@charset "UTF-8";

/*  .table  */

.table{
  display: table;
  width: 100%;
}

.table .table_tr{
  display: table-row;
}

.table .table_th,
.table .table_td{
  display: table-cell;
  vertical-align:  top;
}

@media all and (max-width: 700px) {
  .table,
  .table .table_tr,
  .table .table_th,
  .table .table_td{
    display: block;
  }
}

/* table.type01 */

.table.type01 .table_th{
  border-top: 2px solid #000000;
  font-weight: 500;
  width: 190px;
  padding: 20px 0 20px;
}

.table.type01 .table_td{
  border-top: 1px solid transparent;
  padding: 0 0 0 30px;
}

.table.type01 .table_td_in{
  border-top: 1px solid #b3b3b3;
  padding: 20px 0 30px 0;
}

.table.type01 .table_tr:last-child .table_th{
  border-bottom: 2px solid #000000;
}

.table.type01 .table_tr:last-child  .table_td_in{
  border-bottom: 1px solid #b3b3b3;
}
  
@media all and (max-width: 700px) {
  .table.type01 .table_th{
   width :auto; 
  }
  .table.type01 .table_td{
    padding: 0;
  }

  .table.type01 .table_tr:last-child .table_th{
    border-bottom: none;
  }
    
}

/* .list */

.list.type01 li{
  padding: 0 0 0 1em;
  text-indent: -1em;
}

.list.type01 li:before{
  content: "・";
}

.list.type02 li{
  position: relative;
  padding: 0 0 0 1.3em;
}

.list.type02 li:before{
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0.385em;
  width :1em;
  height: 1em;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  border-radius: 100%;
  background-color: #000000;
}


/* .main_content_wrap  */

.main_content_wrap{
  padding: 0 20px;
  border-top: 1px solid #000000;
}

.main_content_wrap:first-child{
  border-top: 0;
}

.main_content_wrap .main_content{
  max-width: 1160px;
  margin: 0 auto;
  border-left: 1px solid #000000;
  border-right: 1px solid #000000;
  background-color: #ffffff;
}

@media all and (max-width: 950px) {
  .main_content_wrap{ padding: 0; }
  .main_content_wrap .main_content{ border: none;}
}

/* .page_content_wrap */

.page_content_wrap{
  margin-bottom: 180px;
}

.page_content_wrap:last-child{
  margin-bottom: 0px;
}

.page_content_wrap .page_content{
  margin: 0 0 85px 0;
}

.page_content_wrap .page_content:last-child{
  margin-bottom: 0;
}

@media all and (max-width: 950px) {
  .page_content_wrap{
  }
}

@media all and (max-width: 700px) {
  .page_content_wrap{
    margin-bottom: 40px;
  }
}

/* .page_title */

.page_title{
  position: relative;
  padding: 0 0 75px 0;
  margin: 0 auto 180px auto;
  text-align: center;
  letter-spacing: 0.1em;
  max-width: 750px;
  overflow:  hidden;
}

.page_title:after,
.page_title:before{
  position: absolute;
  bottom: 30px;
  width: 50%;
  height: 1px;
  background-color: #000000;
}

.page_title:before{
  content: "";
  left: -30px;
}

.page_title:after{
  content: "";
  right: -30px;
}

.page_title span{
  display: block;
}

.page_title .text01{
  font-size: 50px;
  font-family: 'Roboto';
  font-weight: 700;
  line-height: 0.8;
  padding: 0 0 18px 0;
}

.page_title .text02{
  font-size: 24px;
  line-height: 1;
   font-family: "Noto Sans Japanese", "sans-serif";
}

.page_title .text03{
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  bottom: 30px;
  margin: 0 0 -30px -30px;
  width: 60px;
  height: 60px;
  z-index: 2;
}



/*  日本語の場合 */

.page_title.type02 .text01{
  font-size: 40px;
  line-height: 1;
  font-weight: 400;
  padding: 0 0 18px 0;
  font-family: "Noto Sans Japanese", "sans-serif";
}

.page_title.type02 .text02{
  font-size: 24px;
  line-height: 0.8;
  font-weight: 700;
  font-family: 'Roboto';
}

@media all and (max-width: 950px) {
  .page_title{ margin: 0 0 160px 0;}
}

@media all and (max-width: 700px) {
  .page_title{ margin: 0 0 150px 0;}
  .page_title .text01{
    font-size: 35px;
  }
  .page_title.type02 .text01{
    font-size: 30px;
  }
}


.page_title.image_type{
  color: #ffffff;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}

/* .box_content_wrap */

.box_content_wrap{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -moz-flex-wrap : wrap;
	-webkit-flex-wrap : wrap;
  -ms-flex-wrap : wrap;
  -o-flex-wrap : wrap;
	flex-wrap : wrap;
  width: 100%;
}

.box_content_wrap .box_content{
  width: 50%;
  border-right: 1px solid #000000;
  padding: 30px 30px 60px 30px;
}

.box_content_wrap .box_content:nth-child(2n){
  border-right: none;
}

@media all and (max-width: 950px) {
  .box_content_wrap{ display: block; }
  .box_content_wrap .box_content{ width: auto; border-right: none; border-bottom: 1px solid #000000; padding: 48px 40px; }
  .box_content_wrap .box_content:last-child{ border-bottom: none; }
}

@media all and (max-width: 700px) {
  .box_content_wrap .box_content{ padding: 48px 20px; }
}

/* .title */

.title.type01{
  font-size: 30px;
  line-height: 0.7;
  font-family: 'Roboto Condensed';
  font-weight: 700;
  border-bottom: 1px solid #000000;
  padding: 40px 0;
  text-align: center;
}

/*  .title.type02 */

.title.type02{
  text-align: center;
  margin: 0 0 50px 0;
}

.title.type02 span{
  display: block;
  position: relative;
}

.title.type02 .text01{
  font-size: 30px;
  font-family: 'Roboto';
  font-weight: 300;
  line-height: 0.8;
  padding: 0 0 10px 0;
}

.title.type02 .text02{
  font-size: 40px;
  font-family: 'Roboto';
  font-weight: 700;
  /*line-height: 0.8;*/
  line-height: 1;
  letter-spacing: 0.1em;
  margin: 0 0 10px 0;
  word-break: normal;
}

.title.type02 .text02:after{
  content: "";
  display: block;
  margin: 10px auto 0 auto;
  background: #000000;
  max-width: 380px;
  height: 1px;
}

.title.type02 .text03{
  font-size: 18px;
  letter-spacing: 0.1em;
  font-weight: 400;
}

@media all and (max-width: 950px) {
  
  .title.type02 .text02{
    font-size: 34px;
  }
  
  .title.type02{
    margin: 0 0 40px 0;
  }
}

@media all and (max-width: 700px) {
  .title.type02 .text02{
   font-size: 27px; 
  }
}


/*  .title.type03 */

.title.type03{
  font-size: 20px;
  font-weight: 500;
  margin: 0 0 1.25em 0;
}

@media all and (max-width: 700px) {
  .title.type03{
    font-size: 16px;
  }
}

/*  .title.type04 */

.title.type04{
  font-size: 25px;
  font-weight: 500;
  margin: 0 0 1.4em 0;
  line-height: 1;
  text-align: center;
}

.title.type04 .text01{
  display: inline-block;
  vertical-align:  bottom;
  padding: 0 0.65em 0.4em 0.65em;
  border-bottom: 2px solid #000000;
}


@media all and (max-width: 700px) {
  .title.type04{
    font-size: 16px;
  }
}


.title.type05{
  font-size: 25px;
  font-weight: 500;
  margin: 0 0 1.4em 0;
  line-height: 1;
  text-align: center;
}

.title.type05 .text01{
  position: relative;
  display: inline-block;
  vertical-align: bottom;
  padding: 0 0 10px 0;
}

.title.type05 .text01:after{
  content: "";
  height: 2px;
  width: 60px;
  background: #000000;
  position: absolute;
  bottom: 0%;
  left: 50%;
  margin: 0 0 0 -30px;
}

.title.type06{
  font-size: 25px;
  font-weight: 400;
  margin: 0 0 1.72em 0;
  text-align: center;
}

.title.type06 .text01{
  position: relative;
  display: inline-block;
  vertical-align: bottom;
  line-height: 1.44;
  padding: 0 0 0.5em 0;
}

.title.type06 .text01:after{
  content: "";
  height: 1px;
  width: 60px;
  background: #000000;
  position: absolute;
  bottom: 0%;
  left: 50%;
  margin: 0 0 0 -30px;
}

/* sp */
@media all and (max-width: 700px) {
  .title.type06{
    font-size: 18px;
  }
}

/* .info_list_wrap */

.info_list_wrap{
  width: 100%;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.info_list_wrap .info_list{
  margin: 0 0 50px 0;
  width: 100%;
}

.info_list_wrap .info_list .info_list_title01{
  font-size: 16px;
  letter-spacing: 0.05em;
  font-weight: 700;
  line-height: 1.78em;
  margin: -0.39em 0 1.48em 0;
}

.info_list_wrap .info_list:last-child{
  margin-bottom: 0;
}

.info_list_wrap .info_list_in{
  display: -webkit-flex;
  display: flex;
  width: 100%;
}

.info_list_wrap .info_list_in .info_list_image{
  min-width: 180px;
  max-width: 180px;
}

.info_list_wrap .info_list_in .info_list_text{
 -webkit-flex-grow: 1;
  flex-grow: 1;
  padding: 0 0 0 25px;
}

.info_list_wrap .info_list_in .info_list_date{
  color: #666666;
  margin: 0 0 0.5em 0;
}

.info_list_cat_head{
	margin: 0 0 10px 0;
}

.info_list_cat{
	display: inline-block;
	min-width: 98px;
	font-size: 12px;
	text-align: center;
	color: #fff;
	line-height: 1;
	padding: 10px 10px;
}

.info_list_cat.yokohama { background:#000066;}
.info_list_cat.fushiko { background:#faa622;}
.info_list_cat.hassamu { background:#c73d97;}

/* pc */
@media all and (min-width: 951px) {
}

/* pad以下 */
@media all and (max-width: 950px) {
  .info_list_wrap .info_list{
   margin: 0 0 45px 0; 
  }
}

/* pad */
@media all and (min-width: 701px ) and (max-width: 950px) {
}

/* sp */
@media all and (max-width: 700px) {
  .info_list_wrap .info_list_in .info_list_image{
    margin: 0 0 15px 0;
  }
  .info_list_wrap .info_list_in{
    display: block;
  }
  .info_list_wrap .info_list_in .info_list_text{
    padding: 0;
  }
  .info_list_wrap .info_list{
    
  }
}

/* .project*/

.project .info_list_wrap .info_list_in .info_list_image{
  min-width: 270px;
  max-width: 270px;
}

.project .info_list_wrap .info_list_in .info_list_text{
  padding: 0 0 0 35px;
}

@media all and (max-width: 950px) {
  .project .info_list_wrap .info_list_in{
    display: block;
  }
  .project .info_list_wrap .info_list_in .info_list_image{
    margin: 0 auto 38px auto;
  }
  .project .info_list_wrap .info_list_in .info_list_text{
    padding: 0 0 0 0;
  }
}

/* .btn_area */

.btn_area{
  margin: 25px 0;
  letter-spacing: -0.4em;
}

.btn_area:first-child{
  margin-top: 0;
}

.btn_area:last-child{
  margin-bottom: 0;
}

.btn_area .btn_wrap{
  position: relative;
  display: inline-block;
  vertical-align: top;
}

.btn_area .btn_wrap .btn{
  display: block;
  width: 100%;
  position: relative;
  text-decoration: none !important;
}

.btn_area .btn_wrap .btn_content{
  display: block;
  text-align:  center;
  letter-spacing: -0.4em;
  height: 100%;
}

.btn_area .btn_wrap .btn_content:after{
  content: "";
  letter-spacing: -0.4em;
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}

.btn_area .btn_wrap .btn_text{
  position: relative;
  display: inline-block;
  vertical-align:  middle;
  letter-spacing: 0.05em;
}

/* .btn_wrap.type_more  */

.btn_area .btn_wrap.type_more .btn_text{
  color: #999999;
  font-size: 12px;
  font-family: 'Roboto';
  line-height: 0.8;
  font-weight: 700;
  padding: 0 27px 0 0;
}

.btn_area .btn_wrap.type_more .btn_text:after{
  content:"";
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  width: 6px;
  height: 6px;
  margin: -3px 0 0 0;
  border-right: 1px solid #999999;
  border-top: 1px solid #999999;
  -moz-transform-origin: 50%;
  -webkit-transform-origin: 50%;
  -o-transform-origin: 50%;
  -ms-transform-origin: 50%;
  transform-origin: 50%;
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* .btn_wrap.type01  */

.btn_area .btn_wrap.type01{
  min-width: 300px;
  font-size :20px;
  line-height: 1;
  margin: 0 38px 0 0;
}

.btn_area .btn_wrap.type01:last-child{ 
  margin-right: 0;
}

.btn_area .btn_wrap.type01 .btn{
  border: 2px solid #000000;
  -webkit-border-radius: 2em;
  -moz-border-radius: 2em;
  border-radius: 2em;
  color: #000000;
}

.btn_area .btn_wrap.type01 .btn:hover{
  background-color: #000000;
  color: #ffffff;
}

.btn_area .btn_wrap.type01 .btn_content{
  padding: 1em 20px;
}


@media all and (max-width: 700px) {
  .btn_area .btn_wrap.type01{
     display: block;
      min-width: 0;
      max-width: 300px;
      margin: 0 auto 20px auto !important;
      font-size: 14px;
  }
  .btn_area .btn_wrap.type01:last-child{
    margin-bottom: 0 !important;
  }
}


/* .btn_wrap.type02  */

.btn_area .btn_wrap.type02{
  min-width: 410px;
  font-size: 40px;
  line-height: 0.8;
}

.btn_area .btn_wrap.type02 .btn{
  padding: 0.275em 0.3em;
  background-color: #ff0000;
  box-shadow:0px 3px 0px 1px #993333;
  -moz-box-shadow:0px 3px 0px 1px #993333;
  -webkit-box-shadow:0px 3px 0px 1px #993333;
}

.btn_area .btn_wrap.type02 .btn_content{
  border: 0.125em solid #ffffff;
  padding: 0.85em 10px;
}

.btn_area .btn_wrap.type02 .btn_text{
  color: #ffffff;
  font-family: 'Roboto';
  line-height: 0.8;
  font-weight: 700;
}

@media all and (max-width: 700px) {
  .btn_area .btn_wrap.type02{
   display: block;
    min-width: 0;
    max-width: 400px;
    margin: 0 auto 20px auto !important;
    font-size: 20px;
  }
  .btn_area .btn_wrap.type02:last-child{
    margin-bottom: 0 !important;
  }
  
}


/* .btn_wrap.type03  */

.btn_area .btn_wrap.type03{
  min-width: 410px;
  font-size: 20px;
  line-height: 1;
}

.btn_area .btn_wrap.type03 .btn{
  padding: 1.75em 20px;
  background-color: #ff0000;
  color: #ffffff;
}


@media all and (max-width: 700px) {
  .btn_area .btn_wrap.type03{
    display: block;
    min-width: 0;
    max-width: 410px;
    margin: 0 auto 20px auto !important;
  }
  .btn_area .btn_wrap.type03:last-child{
    margin-bottom: 0 !important;
  }
  
}

/* .btn_wrap.type04  */

.btn_area .btn_wrap.type04{
  min-width: 410px;
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0.1em;
}

.btn_area.max2 .btn_wrap.type04{
  min-width: 270px;
  margin-right: 30px;
}

.btn_area.max2 .btn_wrap.type04:last-child{
  margin-right: 0;
}

.btn_area .btn_wrap.type04 .btn{
  padding: 0.5em 0.6em;
  background-color: #ff0000;
  color: #ffffff;
}

.btn_area .btn_wrap.type04 .btn_content{
  border: 2px solid #ffffff;
  padding: 1.5em 10px;
}

@media all and (max-width: 700px) {
  .btn_area .btn_wrap.type04{
    display: block;
    min-width: 0;
    max-width: 410px;
    margin: 0 auto 20px auto !important;
  }
  .btn_area .btn_wrap.type04:last-child{
    margin-bottom: 0 !important;
  }
}

.btn_gray01{
  background-color: #666666 !important;
}


/*  .sns_list */

.sns_list{
  line-height: 0;
  letter-spacing: -0.4em;
  text-align: center;
}

.sns_list li{
  letter-spacing: normal;
  display: inline-block;
  vertical-align:  middle;
  margin: 0 20px 0 0;
}

.sns_list li:last-child{
  margin-right: 0;
}

.sns_list li a{
  text-decoration: none !important;
  display: block;
  white-space: nowrap;
  text-indent: 200%;
  overflow:  hidden;
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: top left;
}

.sns_list li.icon_facebook a{
  background-image: url(../img/icon/icon_facebook_white@2x.png);
  width: 7px;
  height: 14px;
}

.sns_list li.icon_twitter a{
  background-image: url(../img/icon/icon_twitter_white@2x.png);
  width: 14px;
  height: 12px;
}

.sns_list li.icon_google a{
  background-image: url(../img/icon/icon_google_white@2x.png);
  width: 18px;
  height: 12px;
}

/* .cms_list_area */

.cms_list_area{
  /*margin: 45px 0;*/
}

.cms_list_area:first-child{
  margin-top: 0;
}

.cms_list_area:last-child{
  margin-bottom: 0;
}

.cms_list_area .cms_list_wrap{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
}

.cms_list_area .cms_list{
  
}

.cms_list_area .cms_list_in{
  height: 100%;
}

.cms_list_area .link_block{
  height: 100%;
}

.cms_list_area .cms_list_content{
  height: 100%;
}

.cms_list_area .image_wrap{
  position: relative;
  margin: 0 0 16px 0;
}

.cms_list_area .image_wrap:last-child{
  margin-bottom: 0;
}

.cms_list_area .image_wrap .img_cover{
  padding: 0 0 66.6% 0;
  background-color: #eeeeee;
}

@media all and (min-width: 701px ) and (max-width: 989px) {

}

@media all and (max-width: 989px) {

}

@media all and (max-width: 700px ){
}


/* pc */
@media all and (min-width: 990px) {

  .cms_list_area.pc_max3 .cms_list_wrap{
    margin: 0 0 -50px 0;
  }

  .cms_list_area.pc_max3 .cms_list{
    width: 30.6%;
    margin: 0 4% 0 0;
  }
  
  .cms_list_area.pc_max3 .cms_list_in{
    padding: 0 0 50px 0;
  }

  .cms_list_area.pc_max3 .cms_list:nth-child(3n){
    margin-right: 0;
  }
  
  .cms_list_area.pc_max2 .cms_list_wrap{
    margin: 0 0 -50px 0;
  }

  .cms_list_area.pc_max2 .cms_list{
    width: 48%;
    margin: 0 4% 0 0;
  }
  
  .cms_list_area.pc_max2 .cms_list_in{
    padding: 0 0 50px 0;
  }

  .cms_list_area.pc_max2 .cms_list:nth-child(2n){
    margin-right: 0;
  }

  .cms_list_area.pc_max1 .cms_list_wrap{
    margin: 0 0 -50px 0;
  }

  .cms_list_area.pc_max1 .cms_list{
    width: 100%;
  }
  
  .cms_list_area.pc_max1 .cms_list_in{
    padding: 0 0 50px 0;
  }
  
}


/* pad */
@media all and (min-width: 701px ) and (max-width: 989px) {

  .cms_list_area.pad_max3 .cms_list_wrap{
    margin: 0 0 -50px 0;
  }

  .cms_list_area.pad_max3 .cms_list{
    width: 30.6%;
    margin: 0 4% 0 0;
  }
  
  .cms_list_area.pad_max3 .cms_list_in{
    padding: 0 0 50px 0;
  }

  .cms_list_area.pad_max3 .cms_list:nth-child(3n){
    margin-right: 0;
  }

  .cms_list_area.pad_max2 .cms_list_wrap{
    margin: 0 0 -50px 0;
  }

  .cms_list_area.pad_max2 .cms_list{
    width: 48%;
    margin: 0 4% 0 0;
  }
  
  .cms_list_area.pad_max2 .cms_list_in{
    padding: 0 0 50px 0;
  }

  .cms_list_area.pad_max2 .cms_list:nth-child(2n){
    margin-right: 0;
  }

  .cms_list_area.pad_max1 .cms_list_wrap{
    margin: 0 0 -50px 0;
  }

  .cms_list_area.pad_max1 .cms_list{
    width: 100%;
  }
  
  .cms_list_area.pad_max1 .cms_list_in{
    padding: 0 0 50px 0;
  }
}


/* sp */
@media all and (max-width: 700px) {

  .cms_list_area.sp_max3 .cms_list_wrap{
    margin: 0 0 -50px 0;
  }

  .cms_list_area.sp_max3 .cms_list{
    width: 30.6%;
    margin: 0 4% 0 0;
  }
  
  .cms_list_area.sp_max3 .cms_list_in{
    padding: 0 0 50px 0;
  }

  .cms_list_area.sp_max3 .cms_list:nth-child(3n){
    margin-right: 0;
  }
  
  .cms_list_area.sp_max2 .cms_list_wrap{
    margin: 0 0 -50px 0;
  }

  .cms_list_area.sp_max2 .cms_list{
    width: 48%;
    margin: 0 4% 0 0;
  }
  
  .cms_list_area.sp_max2 .cms_list_in{
    padding: 0 0 50px 0;
  }

  .cms_list_area.sp_max2 .cms_list:nth-child(2n){
    margin-right: 0;
  }

  .cms_list_area.sp_max1 .cms_list_wrap{
    margin: 0 0 -50px 0;
  }

  .cms_list_area.sp_max1 .cms_list{
    width: 100%;
  }
  
  .cms_list_area.sp_max1 .cms_list_in{
    padding: 0 0 50px 0;
  }
}

/* .greet_content_wrap  */

.greet_content_wrap{
  margin: 0 auto 144px auto;
}

.greet_content_wrap:last-child{
  margin: 0;
}

.greet_content_wrap .greet_content{
  margin: 0 0 40px 0;
}

.greet_content_wrap .greet_content:last-child{
  margin: 0;
}

/* pc */
@media all and (min-width: 951px) {
}

/* pad以下 */
@media all and (max-width: 950px) {
}

/* pad */
@media all and (min-width: 701px ) and (max-width: 950px) {
}

/* sp */
@media all and (max-width: 700px) {
  .greet_content_wrap{
   margin: 0 0 70px 0; 
  }
  .greet_content_wrap .greet_content{
    margin: 0 0 25px 0;
  }
  
}

/* .greet_content_wrap .greet_head */

.greet_content_wrap .greet_head{
  position: relative;
  margin: 0 0 44px 0;
}

.greet_content_wrap .greet_head .greet_img_wrap{
  position: relative;
  z-index: 1;
}

.greet_content_wrap .greet_head .greet_img_text{
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 310px;
  height: 100%;
  background: rgba(0,0,0,0.6);
  padding: 25px 25px 90px 25px;
  color: #ffffff;
}

.greet_content_wrap .greet_head .greet_img_text_in{
  position: relative;
  height: 100%;
}

.greet_content_wrap .greet_head .greet_img_text_content{
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

.greet_content_wrap .greet_head .greet_img_title{
  position: relative;
  text-align: center;
  font-size: 25px;
  padding: 0 0 0.5em 0;
  margin: 0 0 0.8em 0;
  line-height: 1.4;
}

.greet_content_wrap .greet_head .greet_img_title:after{
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  margin: 0 0 0 -20px;
  width: 40px;
  height: 1px;
  background: #ffffff;
}



.greet_content_wrap .greet_head .greet_img_title > *{
  display: block;
}


.greet_content_wrap .greet_head .greet_img_title .text01{
  letter-spacing: 0.05em;
  margin: 0 0 0.7em 0;
  font-size: 13px;
}

.greet_content_wrap .greet_head .greet_img_title .text02{
  letter-spacing: 0.1em;
  margin: 0 0 0.7em 0;
  line-height: 1;
}

.greet_content_wrap .greet_head .greet_img_title *:last-child{
  margin-bottom: 0 !important;
}


/* pc */
@media all and (min-width: 951px) {
}

/* pad以下 */
@media all and (max-width: 950px) {
}

/* pad */
@media all and (min-width: 701px ) and (max-width: 950px) {
}

/* sp */
@media all and (max-width: 700px) {
  
  .greet_content_wrap .greet_head{
    margin: 0 0 30px 0;
  }
  
  .greet_content_wrap .greet_head .greet_img_wrap{
   margin: 0 0 30px 0; 
  }
  
  .greet_content_wrap .greet_head .greet_img_text{
   position: static;
    width: auto;
    padding: 0 0 0 0;
    color: #000000;
    background: none;
  }
  
  .greet_content_wrap .greet_head .greet_img_text_content{
    position: static;
  }
  
  .greet_content_wrap .greet_head .greet_img_title{
    font-size: 20px;
  }
  
}

/*  .greet_content_title  */

.greet_content_wrap .greet_content_title{
  text-align: center;
  line-height: 1;
  font-size: 30px;
  margin: 0 0 2em 0;
}

.greet_content_wrap .greet_content_title .text01{ 
  display: inline-block;
  font-family: 'Roboto';
  padding: 0 0.5em 0.3em 0.5em;
  margin: 0 0 0.66em 0;
  border-bottom: 1px solid #000000;
  font-weight: 300;
}

.greet_content_title .text02{
  display: block;
  font-size: 83.3%;
  font-weight: 400;
}

/* pc */
@media all and (min-width: 951px) {
}

/* pad以下 */
@media all and (max-width: 950px) {
}

/* pad */
@media all and (min-width: 701px ) and (max-width: 950px) {
}

/* sp */
@media all and (max-width: 700px) {
  .greet_content_wrap .greet_content_title{
    font-size: 20px;
    margin-bottom: 1.3em;
  }
}



/* .contact_table_wrap */

.contact_table_wrap{
  margin: 50px 0 30px 0;
}

@media all and (max-width: 700px) {
  .contact_table_wrap{
    margin: 30px 0;
  }
}

.contact_table_wrap .contact_head{
  background-color: #000000;
  color: #ffffff;
  line-height: 1;
  padding: 1.38em 2em;
  text-align: center;
  letter-spacing: 0.05em;
}


.contact_table_wrap .contact_table{
  display: table;
  width: 100%;
  border-top: 1px solid #dbdbdb;
}

.contact_table_wrap .contact_head + .contact_table{
  border-top: 1px solid none;
}

.contact_table_wrap .contact_table_tr{
  display: table-row;
}

.contact_table_wrap .contact_table_th,
.contact_table_wrap .contact_table_td{
  display: table-cell;
  vertical-align:  top;
  padding: 1em 2.6em;
}

.contact_table_wrap .contact_table_th{
  padding: 1.4em 1.2em;
}

.contact_table_wrap .contact_table_td{
  padding: 1.4em 1.84em;
}

.contact_table_wrap .contact_table_th{
  letter-spacing: 0.1em;
  background-color: #f0f0f0;
  font-weight: 700;
  width: 160px;
  border-bottom: 1px solid #dbdbdb;
}

.contact_table_wrap .contact_table_td{
  letter-spacing: 0.1em;
  border-bottom: 1px solid #dbdbdb;
}

/*  .contact_title  */

.contact_title{
  overflow:  hidden;
}

.contact_title .text01{
  display: block;
}

.check .contact_title .text01{
  float: left;
  padding: 0 0 0.8em 0;
}

.check .contact_title:after{
  content: "必須";
  float: right;
  color: #ffffff;
  background-color: #ff0000;
  display: block;
  line-height: 1;
  letter-spacing: 0.1em;
  padding: 0.46em 1em;
  -webkit-border-radius: 1em;
  -moz-border-radius: 1em;
  border-radius: 1em;
}


@media all and (max-width: 700px) {
  .contact_table_wrap .contact_table,
  .contact_table_wrap .contact_table_tr,
  .contact_table_wrap .contact_table_th,
  .contact_table_wrap .contact_table_td{
    display: block;
  }
  
  .contact_table_wrap .contact_table_th{
    width: auto;
    padding: 10px 20px;
  }
  
  .contact_table_wrap .contact_table_td{
   padding: 15px 20px; 
  }
  
  .check .contact_title .text01{
   padding: 0; 
  }
  
}

.contact_parts_zone{
  margin: 0 0 10px 0;
}

.contact_parts_zone.upload_box{
  padding: 0 0 10px 0;
  border-bottom: 1px solid #dbdbdb;
}

.contact_parts_zone.upload_box:last-child{
  border-bottom: none;
}

.contact_parts_wrap{
  display: flex;
  display: -webkit-flex;
  -webkit-align-items: center;
  align-items: center;
}

@media all and (max-width: 700px) {
  .contact_parts_zone.upload_box .contact_parts_wrap{
    display: block;
  }
  
  .contact_parts_zone.upload_box .contact_parts_wrap .contact_text{
    margin: 0 0 5px 0;
  }
}


.contact_parts_zone.upload_box .contact_parts_wrap{
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

.contact_parts_zone:last-child{
  margin-bottom: 0;
}

.contact_parts_zone .contact_parts{
  margin: 0 1em 0 0;
  width: 130px;
}

.contact_parts_zone .contact_parts:last-child{
  margin: 0;
}

.contact_parts_zone .contact_text{
  margin: 0 1em 0 0;
  white-space: nowrap;
}

.contact_parts_zone .contact_text:last-child{
  margin: 0;
}


/*  .name_type  */

.name_type .contact_parts{
  width: 48.5%;
  margin: 0 3% 0 0;
}



.name_type .contact_parts:last-child{
  margin-right: 0;
}

/*  .address_type  */

.address_type .contact_text:first-child{
  min-width: 6em;
}


.address_type .contact_parts_zone:nth-child(3) .contact_parts,
.address_type .contact_parts_zone:nth-child(4) .contact_parts{
  width: auto;
  flex-grow: 1;
  -webkit-flex-grow: 1;
}

/*  .mail_type  */

.mail_type .contact_parts{
  width: auto;
  flex-grow: 1;
  -webkit-flex-grow: 1;
}

/*  .tel_type  */

.tel_type .contact_parts{
  width: auto;
  flex-grow: 1;
  -webkit-flex-grow: 1;
}

/*  .upload_type */

.upload_type .contact_parts{
  width: auto;
  flex-grow: 1;
  -webkit-flex-grow: 1;
}

.upload_type .contact_text{
  min-width: 7em;
}

@media all and (max-width: 700px) {
  .upload_type .contact_parts_wrap{
    display: block;
  }
  
  .upload_type .contact_parts_wrap .contact_text{
    min-width: 0;
    margin: 0 0 0.5em 0;
  }
  
}

/* .contact_list{ */

.contact_list{
  letter-spacing: -0.4em;
  margin: 0 0 -1em 0;
}

.contact_list li{
  display: inline-block;
  vertical-align:  top;
  margin: 0 1.9em 1em 0;
  letter-spacing: -0.4em;
  white-space: nowrap;
}

.contact_list li label > *{
  letter-spacing: 0.05em;
  display: inline-block;
  vertical-align: middle;
}

.contact_list li label input{
  margin: 0;
  width: 1.53em;
  height: 1.53em;
  border: 1px solid #dbdbdb;
}

.contact_list li label > span{
  margin: 0 0 0 0.6em;
}

/*  .contact_privacy  */

.contact_privacy{
  margin: 30px 0 50px 0;
  padding: 0 20px;
}

.contact_privacy .contact_privacy_title{
  font-weight: 700;
  margin: 0 0 1.2em 0;
}

.contact_privacy p{
  margin: 0 0 1.2em 0;
}

@media all and (max-width: 700px) {
  .contact_privacy{ padding: 0; }
}

/*  .border_content  */

.border_content{
  border: 1px solid #000000;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  padding: 35px 33px;
}

/*  .ranking_list_wrap */

.ranking_list_wrap{
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  -webkfit-lex-wrap: wrap;
  margin: 0 0 -40px 0;
}

.ranking_list_wrap {
    counter-reset: section;
}

.ranking_list_wrap .ranking_list{
  position: relative;
  background: #ebebeb;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  padding: 3.85em 1.538em 2.31em 1.538em;
  font-size: 13px;
}

.ranking_list_wrap .ranking_list_title01{
  font-size: 20px;
  line-height: 1.4;
  letter-spacing: 0.1em;
  margin: 0 0 0.8em 0;
  text-align: center;
}

@media all and (max-width: 700px) {
  .ranking_list_wrap .ranking_list_title01{
   font-size: 18px; 
  }
}

.ranking_list_wrap .ranking_list_title01:last-child{
  margin-bottom: 0;
}

.ranking_list_wrap.type01 .ranking_list:before{
  content: counter(number,decimal);
  position: absolute;
  top: -2.3em;
  left: 1em;
  width: 4.615em;
  height: 6.62em;
  padding: 1.4em 0 0 0;
  text-align: center;
  background-image: url(../img/icon/ranking_ribbon@2x.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: top left;
}

.ranking_list_wrap.type02 .ranking_list:before{
  content: counter(number,decimal);
  font-weight: 400;
  font-family: 'Roboto';
  position: absolute;
  top: -1.125em;
  left: 50%;
  font-size: 20px;
  line-height: 2.25;
  width: 2.25em;
  height: 2.25em;
  margin: 0 0 0 -1.125em;
  text-align: center;
  color: #ffffff;
  background: #000000;
  -moz-border-radius: 100%;
  -webkit-border-radius: 100%;
  border-radius: 100%;
}

.ranking_list_wrap .ranking_list {
    counter-increment: number;
}

.ranking_list_wrap .ranking_list .ranking_list_image{
  text-align: center;
  margin: 0 0 20px 0;
}

@media all and (min-width: 951px) {

/*  .ranking_list_wrap.pc_max5  */

.ranking_list_wrap.pc_max5 .ranking_list{
  width: 18.6%;
  margin: 0 1.75% 40px 0;
}

.ranking_list_wrap.pc_max5 .ranking_list:nth-child(5n){
  margin-right: 0;
}

/*  .ranking_list_wrap.pc_max4  */

.ranking_list_wrap.pc_max4 .ranking_list{
  width: 23.25%;
  margin: 0 2.33% 40px 0;
}

.ranking_list_wrap.pc_max4 .ranking_list:nth-child(4n){
  margin-right: 0;
}

/*  .ranking_list_wrap.pc_max3  */

.ranking_list_wrap.pc_max3 .ranking_list{
  width: 30.6%;
  margin: 0 4.1% 40px 0;
}

.ranking_list_wrap.pc_max3 .ranking_list:nth-child(3n){
  margin-right: 0;
}

/*  .ranking_list_wrap.pc_max2  */

.ranking_list_wrap.pc_max2 .ranking_list{
  width: 45.9%;
  margin: 0 8.2% 40px 0;
}

.ranking_list_wrap.pc_max2 .ranking_list:nth-child(3n){
  margin-right: 0;
}
  
/*  .ranking_list_wrap.pc_max1  */
  
.ranking_list_wrap.pc_max1 .ranking_list{
  width: 100%;
  margin: 0 0 40px 0;
}
  
}

/* pad */
@media all and (min-width: 701px ) and (max-width: 950px) {

/*  .ranking_list_wrap.pad_max5  */

.ranking_list_wrap.pad_max5 .ranking_list{
  width: 18.6%;
  margin: 0 1.75% 40px 0;
}

.ranking_list_wrap.pad_max5 .ranking_list:nth-child(5n){
  margin-right: 0;
}

/*  .ranking_list_wrap.pad_max4  */

.ranking_list_wrap.pad_max4 .ranking_list{
  width: 23.25%;
  margin: 0 2.33% 40px 0;
}

.ranking_list_wrap.pad_max4 .ranking_list:nth-child(4n){
  margin-right: 0;
}

/*  .ranking_list_wrap.pad_max3  */

.ranking_list_wrap.pad_max3 .ranking_list{
  width: 30.6%;
  margin: 0 4.1% 40px 0;
}

.ranking_list_wrap.pad_max3 .ranking_list:nth-child(3n){
  margin-right: 0;
}

/*  .ranking_list_wrap.pad_max2  */

.ranking_list_wrap.pad_max2 .ranking_list{
  width: 45.9%;
  margin: 0 8.2% 40px 0;
}

.ranking_list_wrap.pad_max2 .ranking_list:nth-child(3n){
  margin-right: 0;
}
  
/*  .ranking_list_wrap.pad_max1  */
  
.ranking_list_wrap.pad_max1 .ranking_list{
  width: 100%;
  margin: 0 0 40px 0;
}
  
}

@media all and (max-width: 700px) {

/*  .ranking_list_wrap.sp_max5  */

.ranking_list_wrap.sp_max5 .ranking_list{
  width: 18.6%;
  margin: 0 1.75% 40px 0;
}

.ranking_list_wrap.sp_max5 .ranking_list:nth-child(5n){
  margin-right: 0;
}

/*  .ranking_list_wrap.sp_max4  */

.ranking_list_wrap.sp_max4 .ranking_list{
  width: 23.25%;
  margin: 0 2.33% 40px 0;
}

.ranking_list_wrap.sp_max4 .ranking_list:nth-child(4n){
  margin-right: 0;
}

/*  .ranking_list_wrap.sp_max3  */

.ranking_list_wrap.sp_max3 .ranking_list{
  width: 30.6%;
  margin: 0 4.1% 40px 0;
}

.ranking_list_wrap.sp_max3 .ranking_list:nth-child(3n){
  margin-right: 0;
}

/*  .ranking_list_wrap.sp_max2  */

.ranking_list_wrap.sp_max2 .ranking_list{
  width: 45.9%;
  margin: 0 8.2% 40px 0;
}

.ranking_list_wrap.sp_max2 .ranking_list:nth-child(3n){
  margin-right: 0;
}
  
/*  .ranking_list_wrap.sp_max1  */
  
.ranking_list_wrap.sp_max1 .ranking_list{
  width: 100%;
  margin: 0 0 40px 0;
}
  
}

/*  .contact_block_title  */

.contact_block_title{
  text-align: center;
  margin: 0 auto 20px auto;
  max-width: 585px;
}

.contact_block_title .text01{
  display: block;
  font-size: 20px;
  border-bottom: 1px solid #000000;
  padding: 0 0 7px 0;
  margin: 0 0 13px 0;
}

.contact_block_title .text02{
  display: block;
}

/*  .checkerror  */

.checkerror{
  color: #ff0000;
  margin: 0.6em 0 0 0;
}


.contact_content{
  margin: 0 0 35px 0;
  text-align: center;
}
.contact_content .contact_content_in{
  margin: 0 0 24px 0;
}

.contact_content .contact_content_in:last-child{
  margin-bottom: 0;
}

.contact_tel{
  text-align: center;
  margin: 0 0 10px 0;
}

.contact_tel a{
  position: relative;
  display: inline-block;
  font-size: 35px;
  font-family: 'Roboto';
  font-weight: 700;
  letter-spacing: 0.12em;
  white-space: nowrap;
  line-height: 1;
  padding: 0 0 0 1em;
}

.contact_tel a:after{
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.771em;
  height: 0.86em;
  margin: -0.43em 0 0 0;
  background-image: url(../img/icon/icon_tel@2x.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: left top;
}



/* 20171114 */
#company_03_02 {
    margin: 0 0 45px 0;
}
.company03_image_wrapper {
    margin: 30px 0 0 0;
}
.company03_image_title {
    /*border-top: 2px solid #000000;*/
    font-weight: 500;
    /*width: 190px;*/
    padding: 20px 0 20px;
}

/*
.company03_image_wrapper::after {
    content: " ";
    border-bottom: solid 1px gray;
    position: absolute;
    width: 530px;
    top: 0;
    right: 0;
    margin: auto;
    height: 1px;
}*/


.company03_article{
	font-size:13px;
	line-height:23px;
}
.company03_article_inner_title{
	font-size:25px;
	text-align:center;
	margin:45px auto;
}
/* company06 */
.project .info_list_wrap .info_list_in .info_list_image {
	min-width: inherit;
	max-width: inherit;
    width: 100% !important;
}
/*.page_content_wrap.project {
    letter-spacing: -0.4em;
}
.project .page_content:nth-child(even){ 
	margin-right:0 !important;
	margin-left: 1%;
 } */
.ls0{
	letter-spacing:0 !important;
}
.nowrap{
	white-space:nowrap;
}
/* project01 */
.project_h3_style {
    font-size: 24px;
    text-align: center;
	position: relative;
	margin-bottom: 90px;
}
.project_h3_style::after {
    content: "";
    width: 130px;
    border-bottom: solid 1px #000000;
    height: 1px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
	z-index: -1;
}
.project_h3_style span {
    background: #ffffff;
    padding: 0 10px;
    text-align: center;
    margin: 0 auto;
}
.comparison_region {
  text-align: center;
  margin: 0 auto 40px auto;
}

.comparison_region_in{
  display: inline-block;
  background: #000000;
  color: #ffffff;
  font-size: 18px;
  font-weight: 300;
  min-width: 200px;
  padding: 0.5em 2em;
  border-radius: 35px;
}

@media all and (max-width: 700px) {
  .comparison_region_in{
    font-size: 14px;
  }
}

.comparison_area .swiper-container {
    padding: inherit !important;
}

.comparison_colum2 {
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  margin: 0 -40px 0px 0;
}

.comparison_colum2 .comparison{
  width: 50%;
  padding: 0 40px 40px 0;
}

.comparison_colum2 .comparison:first-child:last-child{
  margin: 0 auto;
}

.comparison_title{
	text-align:center;
	font-size:20px;
	font-weight: 200;
	margin-bottom:20px;
  line-height: 1;
}
.comparison_text_in .comparison_text {
    letter-spacing: normal;
	margin-bottom: 42px;
}
.comparison_text_in .comparison_text span{
	font-weight:600;
	display:block;
}
.comparison_area {
    margin-bottom: 110px;
}

.comparison_area:last-child {
  margin-bottom: 0;
}

@media all and (max-width: 700px) {
	.company03_image_title {
      width: auto;
  }
    .company03_image_wrapper::after {
      display:none;
  }
  
  .comparison_colum2 {
   display: block;
    margin: 0 0 30px 0;
  }
  
  .comparison_colum2 .comparison{
    width: auto;
    padding: 0 0 0px 0;
    margin: 0 0 40px 0;
  }
  
  
  .comparison_colum2 .comparison:last-child{
    margin-bottom: 0;
    
  }
  
  
}


.slide_caption{
  position: absolute;
  bottom: -100%;
  -webkit-transition: bottom 0.4s ease 0.5s;
  -moz-transition: bottom 0.4s ease 0.5s;
  -ms-transition: bottom 0.4s ease 0.5s;
  -o-transition: bottom 0.4s ease 0.5s;
  transition: bottom 0.4s ease 0.5s;
  background: rgba(255,255,255,0.74);
  padding: 20px 24px;
  width: 100%;
}


.slide_caption .slide_caption_title{
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 1;
  font-weight: 500;
  font-size: 15px;
  margin: 0 0 1em 0;
}

.slide_caption .slide_caption_title:last-child{
  margin-bottom: 0;
}

.swiper-slide-active .slide_caption{
  position: absolute;
  bottom: 0;
}

.slide_no .slide_caption{
  position: absolute;
  bottom: 0;
}

/* pc */
@media all and (min-width: 951px) {
}

/* pad以下 */
@media all and (max-width: 950px) {
}

/* pad */
@media all and (min-width: 701px ) and (max-width: 950px) {
}

/* sp */
@media all and (max-width: 500px) {
  
  .slide_caption p{
    font-size: 10px;
  }
  .slide_caption{
    padding: 10px 12px;
  }
}
