@charset "UTF-8";
/* ===================================================================
CSS information
 file name  :  original.css
 style info :  original cssの定義
=================================================================== */
/****************************************************************/
/* COMMON */
/****************************************************************/
.va-m {
  display: table-cell;
  vertical-align: middle;
}
.lh_240 {
  line-height: 2.4;
}
/****************************************************************/
/* TOP */
/****************************************************************/

header#header03 {
  border-bottom: 1px solid #DDD;
}
header#header03 .h_menu .h_contact a {
  position: relative;
}
header#header03 .h_menu .h_contact a:before {
  position: absolute;
  top: calc(50% - 8px);
  left: 10px;
}

/* contents */
.works_wrap .col {
  position: relative;  
}

.works_wrap .col:nth-child(1){background:url(../image/area_j_img01.jpg) no-repeat center center / cover;}
.works_wrap .col:nth-child(2){background:url(../image/area_j_img02.jpg) no-repeat center center / cover;}
.works_wrap .col:nth-child(3){background:url(../image/area_j_img03.jpg) no-repeat center center / cover;}
.works_wrap .col:nth-child(4){background:url(../image/top_works_img04.jpg) no-repeat center center / cover;}

.works_wrap .col .txtarea {
  -webkit-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  padding: 0 5%;
  text-align: center;
  width: 100%;
  height: 15vw;
  max-height:230px;
  color: #ffffff;
  background-color: rgba(0, 0, 0, .5);
  display: table;
  top: 0;
  left: 0;
  table-layout: fixed;
}


	

@media only screen and (min-width: 691px)  and (max-width: 1119px) { 
.works_wrap .col .txtarea {
  height: 180px;
}
.works_wrap .col .txtarea .fs140_bold{
	font-size:120%;
}
}
@media only screen and (max-width: 690px){ 
.works_wrap .col .txtarea {
	height:50vw;
}
.works_wrap .col .txtarea .fs140_bold{
}
}
.works_wrap .col .txtarea a {
  color: #FFF;
}
.works_wrap .col.bl-hover .txtarea {
  background-color: rgba(0, 0, 0, .3);
}
.works_wrap .col.bl-hover .txtarea a:hover {
  text-decoration: none;
}
.col_bg_light_blue {
  background-color: #EFF4F5;
  padding: 3% 0;
}
.banner_align {
	display: -webkit-flex;
	display: flex;
	flex-wrap:wrap;
	border: 3px solid #09B3F8;
	width:1120px;
	max-width:94vw;
	margin-left:auto;
	margin-right:auto;
}
.banner_align.inner {
  padding: 0;
}
.banner_align .banner_align_cell {
	width:25%;
  border-left: 3px solid #09B3F8;
}
.banner_align .banner_align_cell:first-child {
  border-left: 0;
}
.banner_align .banner_align_cell a {
  display: table;
  width: 100%;
  height: 60px;
  font-size: 16px;
  padding: 5px 20px 0;
  table-layout: fixed;
}
.banner_align .banner_align_cell a:hover {
  color: #fff;
  background-color: #09B3F8;
  text-decoration: none;
}
.banner_align .banner_align_cell a .fa {
  width: 1.2em;
  font-size: 2em;
}


.banner_align03 {
	display: -webkit-flex;
	display: flex;
	flex-wrap:nowrap;
	border: 3px solid #09B3F8;
	width:1120px;
	max-width:94vw;
	margin-left:auto;
	margin-right:auto;
}
.banner_align03.inner {
  padding: 0;
}

.banner_align03 .banner_align_cell03 {
  width : -webkit-calc(100% / 3) ;
  width:calc(100% / 3);
  border-left: 3px solid #09B3F8;
}
.banner_align03 .banner_align_cell03:first-child {
  border-left: 0;
}
.banner_align03 .banner_align_cell03 a {
  display: table;
  width: 100%;
  height: 60px;
  font-size: 16px;
  padding: 5px 20px 0;
  table-layout: fixed;
}
.banner_align03 .banner_align_cell03 a:hover {
  color: #fff;
  background-color: #09B3F8;
  text-decoration: none;
}
.banner_align03 .banner_align_cell03 a .fa {
  width: 1.2em;
  font-size: 2em;
}


.page_index .col2_ti .rss_box {
  position: relative;
}
.page_index .col2_ti .rss_box .btn_fs_s a {
  position: absolute;
  top: 0;
  right: 0;
}
.ba_icon01 a,.ba_icon02 a,.ba_icon03 a,.ba_icon04 a{
  position: relative;
}

.ba_icon01 a:before {
    content: url(../image/ba_icon_01.png);
    position: relative;
    display: table-cell;
    vertical-align: middle;
    width: 45px;
    top: 3px;
    left: 0;
}
.ba_icon01 a:hover:before{
    content: url(../image/ba_icon_h01.png);
}

.ba_icon02 a:before{
    content: url(../image/ba_icon_02.png);
    position: relative;
    display: table-cell;
    vertical-align: middle;
    width: 45px;
    top: 3px;
    left: 0;
}
.ba_icon02 a:hover:before{
    content: url(../image/ba_icon_h02.png);
}

.ba_icon03 a:before{
    content: url(../image/ba_icon_03.png);
    position: relative;
    display: table-cell;
    vertical-align: middle;
    width: 45px;
    top: 5px;
    left: 0;
}
.ba_icon03 a:hover:before{
    content: url(../image/ba_icon_h03.png);
}
.ba_icon04 a:before{
    content: url(../image/ba_icon_04.png);
    position: relative;
    display: table-cell;
    vertical-align: middle;
    width: 35px;
    top: 4px;
    left: 0;
}
.ba_icon04 a:hover:before{
    content: url(../image/ba_icon_h04.png);
}

.top_banner_in a{
	display:block;
	margin-left:auto;
	margin-right:auto;
	width:100%;
	max-width:400px;
	background:url(../image/banner_compnay.jpg) no-repeat center bottom /cover;
	padding:25px 5%;
	color:#FFF;
	text-align: center;
	font-size:18px;
	font-weight:bold;
	letter-spacing:0.1em;
	transition:0.3s;
}
.top_banner_in a:hover{
	opacity:0.7;
	text-decoration:none;
}

@media only screen and (max-width: 690px) { 
.lh_240 {
  line-height: 2;
}
.ba_icon01 a:before,.ba_icon02 a:before,.ba_icon03 a:before,.ba_icon04 a:before{
  display: none;
}
.banner_align .banner_align_cell a {
    padding: 0 5px;
    text-align: center;
}
.banner_align .banner_align_cell a {
  font-size: 13px;
}
.banner_align{
	display:flex;
	flex:1;
}
.banner_align .banner_align_cell{
	width:50%;
	border:none;
}
.banner_align .banner_align_cell:nth-child(even){
	border-left:1px solid #09B3F8;
}
.banner_align .banner_align_cell:nth-child(n+3){
	border-top:1px solid #09B3F8;
}


.banner_align03 .banner_align_cell03 a {
    padding: 0 5px;
    text-align: center;
}
.banner_align03 .banner_align_cell03 a {
  font-size: 13px;
}
.banner_align03{
	display:flex;
	flex:1;
}
.banner_align03 .banner_align_cell03{
	width:50%;
	border:none;
}
.banner_align03 .banner_align_cell03:nth-child(even){
	border-left:1px solid #09B3F8;
}
.banner_align03 .banner_align_cell03:nth-child(n+3){
	border-left:1px solid #09B3F8;
}


.page_index .col2_ti .rss_box .btn_fs_s a{
	position:static;
}

.media .media_in{
	width:100%;
}
}



/* RENEWAL 20171122 */
.col_vm_area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #f9f9f9; }
  .col_vm_area .col_vm_block {
    width: 50%; }
    .col_vm_area .col_vm_block img {
      width: 100%;
      height: auto;
      display: block; }
  .col_vm_area .col_vm_txt {
    padding: 4%; }
	
.sm_b_area {
  background: url("../image/sub_sample_bg_2000450.jpg") no-repeat scroll center center/cover;
  background-attachment: fixed;
  padding: 56px 0;
  color: #ffffff; }
  
  .sm_b_block {
  background-color: rgba(0, 0, 0, 0.3);
  padding: 4%; }
  	
@media only screen and (max-width: 979px) {
	  .col_vm_area {
    background-color: inherit;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-bottom: 40px; }
    .col_vm_area .col_vm_block {
      width: 100%; }
      .col_vm_area .col_vm_block img {
        width: 80%;
        margin: -24px auto 0; }
    .col_vm_area .col_vm_txt {
      padding: 24px 32px 48px;
      background-color: #f9f9f9; }
}
/* ------------------- */

/****************************************************************/
/* SUB */
/****************************************************************/
    #subnav.sb_col2 > ul > li:last-child a {
      border-bottom: 0;}

    #subnav.sb_col2 ul li a:after {
color: #09B3F8;
      font-weight: bold;
  font-family: FontAwesome;
  content: "\f105";
  text-decoration: none;
  position: absolute;
  display: inline-block;
  top: calc(50% - 10px);
  right: 10px;
}


/****************************************************************/
/* br */
/****************************************************************/
.br_tablet{ display:none;}
.br_sp{ display:none;}
.br_pc{ display:inline-block;}

@media only screen and (min-width:691px) and (max-width:1024px) {
.br_pc{ display:none;}
.br_sp{ display:none;}
.br_tablet{ display:inline-block;}
}

@media only screen and (max-width: 690px) {
.br_pc{ display:none;}
.br_tablet{ display:none;}
.br_sp{ display:inline-block;}
}



/* subleace */
/****************************************************************/

.bg_gray{
	background:#F5F5F5;
	padding:35px 5%;
}
.title_original01{
	font-size:24px;
	margin-bottom:20px;
	letter-spacing:0.08em;
}
.border_blue .col{
	border:2px solid #09b3f8;
	padding:15px;
}
@media only screen and (min-width:691px) and (max-width:1024px) {
.border_blue .col{
	width:49%;
	margin:20px 0 0 2%;
}
.border_blue .col:nth-child(odd){
	margin-left:0;
}
.border_blue .col:nth-child(-n+2){
	margin-top:0;
}
}

.blue{
	color:#09b3f8;
	font-size:13px;
	margin-bottom:10px;
	font-weight:bold;
}
.strength_title{
	display:table;
	width:100%;
	color:#09b3f8;
	font-size:15px;
	margin-bottom:10px;
	font-weight:bold;
	text-align:center;
}
.strength_title .valign_m{
	display:table-cell;
	vertical-align:middle;
}
.btn_big .btn2{
	font-size:0;
}
.btn_big .btn2 a{
	width:50%;
	max-width:400px;
	margin-top:1px;
}
.btn_big .btn2 a:nth-child(1){
	border-right:1px solid #FFF;
}

.btn_big a{
	display:inline-block;
	width:800px;
	max-width:100%;
	padding:30px 10px;
	font-size:22px;
}
@media only screen and (max-width: 690px) {
.btn_big a{
	padding:25px 10px;
	font-size:16px;
}
.btn_big .btn2 a{
	width:100%;
	max-width:800px;
	margin-top:1px;
	border:none !important;
}
}

/* reform */
/****************************************************************/
.reform_message{
	font-size:25px;
	text-align:center;
	letter-spacing:0.08em;
	line-height:2.2;
}
.reform_message strong{
	font-size:36px;
	font-weight:bold;
	letter-spacing:0.05em;
}
.red{
	color:red;
}

@media only screen and (min-width:691px) and (max-width:1024px) {
.reform_message strong{
	font-size:28px;
}
}

@media only screen and (max-width: 690px) {
.reform_message{
	font-size:20px;
}
.equall{
	display:block;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}
.reform_message strong{
	line-height:1.4;
	font-size:25px;
}
}

@media only screen and (max-width: 400px) {
.reform_message{
	font-size:5vw;
}
.reform_message strong{
	font-size:8vw;
}
}

.ba_box{
	display:flex;
	flex-wrap:wrap;
}
.ba_box .col{
	width:calc((100% - 120px) / 2);
	background:#F5F5F5;
}
.ba_box .col:nth-child(2){
	display:inherit;
	width:120px;
	background:#FFF;
	padding:10px;
	justify-content: center;
	align-items: center;
	/*font-size:16px;*/
	color:#329bd2;
	font-weight:bold;
}
.ba_box .col:nth-child(2) strong{
	font-size:24px;
	margin-right:3px;
}
.ba_box_center{
	width:100%;
	padding-top:40px;
	vertical-align:baseline;
	position:relative;
	text-align:center;
}
.ba_box_center:before{
	content:"";
	width:calc(100% - 20px);
	height:20px;
	background:#329bd2;
	position:absolute;
	top:10px;
	left:0;
}
.ba_box_center:after{
	content:"";
	width: 0;
	height: 0;
	border-top: 20px solid transparent;
	border-left: 30px solid #329bd2;
	border-bottom: 20px solid transparent;
	position:absolute;
	right:0;
	top:0;
}
.ba_box .col h5{
	background:#329bd2;
	text-align:center;
	padding:10px 15px;
	color:#FFF;
	font-size:16px;
	letter-spacing:0.2em;
}

.ba_box_in{
	padding:15px;
}
.ba_box .afterBox {
    position: relative;
    overflow: hidden;
}
.ba_box .afterBox img {
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: none;
    width: auto;
    height: 100%;
    -webkit-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}

@media only screen and (max-width: 690px) {
	.ba_box{
		display:block;
	}
	.ba_box .col{
		width:100%;
		background:#F5F5F5;
	}
	.ba_box .col:nth-child(2){
		display:inherit;
		width:100%;
		padding:10px 0;
		text-align:center;
	}
	.ba_box_center{
		display:inline-block;
		width:auto;
		padding:10px 0 25px 40px;
	}
	.ba_box_center:before{
		width:20px;
		height:calc(100% - 20px);
		background:#329bd2;
		position:absolute;
		top:0;
		left:10px;
	}
	.ba_box_center:after{
		content:"";
		width: 0;
		height: 0;
		border-left: 20px solid transparent;
		border-right: 20px solid transparent;
		border-top: 30px solid #329bd2;
		border-bottom:none;
		position:absolute;
		right:auto;
		top:auto;
		left:0;
		bottom:0;
	}
	.ba_box .afterBox {height: 250px; }
	.ba_box .afterBox img {
	    width: auto;
	    height: 250px;
	}

}