@charset "utf-8";
@import url("reset.css");
/*
 * base CSS
 * ---------------------------------------------
 * レスポンシブ等、共通レイアウトに関わるCSS
 */
/* link */
a {
  color: #333;
  text-decoration: underline;
}
a:visited {
  color: #333;
  text-decoration: underline;
}
a:hover, a:focus, a:active {
  color: #333;
  text-decoration: none;
}

.txtLeft{text-align:left;}
.txtRight{text-align:right;}
.txtCenter{text-align:center;}

.imgRight{float:right;padding-left:2em;}
.imgLeft{float:left;padding-right:2em;}
.size-full{width:100%;height:auto;}

.img600{width:600px;height:auto;margin:2em auto 2em auto;}
.img300{width:300px;height:auto;margin:2em auto 2em auto;}
.img100{width:100px;height:auto;margin:2em auto 2em auto;}

.mb10{margin-bottom:10px;display: block;}
.mb20{margin-bottom:20px;display: block;}
.mb30{margin-bottom:30px;display: block;}
.mb40{margin-bottom:40px;display: block;}
.mb50{margin-bottom:50px;display: block;}



.pt10{padding-top:10px;display: block;}
.pt20{padding-top:20px;display: block;}
.pt30{padding-top:30px;display: block;}
.pt40{padding-top:40px;display: block;}
.pt50{padding-top:50px;display: block;}
.pt150{padding-top:150px;display: block;}

.clear_both{clear:both;}

.txtLarge{font-size:120%;}
.txtSmall{font-size:80%;}
.txtBold{font-weight:900;}

.noto{font-family: 'Noto Serif JP', serif;}
.noto_s{font-family: 'Noto Sans JP', sans-serif;}
.carme{font-family: 'Carme', sans-serif;}
.raleway{font-family: 'Raleway', sans-serif;}
.hind{font-family: 'Hind Vadodara', sans-serif;}

.f_left{float:left;}
.f_right{float:right;}

/* clear, clearfix */
.clearfix {
  *zoom: 1;
}

.clearfix:before,
.clearfix:after {
  display: table;
  line-height: 0;
  content: "";
}

.clearfix:after {
  clear: both;
}

/* row */
.row {
  width: 100%;
  *zoom: 1;
}

.row:before,
.row:after {
  display: table;
  line-height: 0;
  content: "";
}

.row:after {
  clear: both;
}

.row .col {
  display: block;
  float: left;
  width: 100%;
  min-height: 1px;
  margin-left: 2.7624309392265194%;
  *margin-left: 2.709239449864817%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.row .col:first-child {
  margin-left: 0;
}

.row2 .col {
  width: 48.61878453038674%;
  *width: 48.56559304102504%;
}

.row3 .col {
  width: 31.491712707182323%;
  *width: 31.43852121782062%;
}

.typ {
  opacity: 0;
  }
.typ span {
  opacity: 0;
  }

/* layout */
html {
  overflow-y: scroll;
  scroll-padding-top: 80px; /* 固定ヘッダの高さ分 */
  overflow-x: hidden;
}

body {
overflow-x: hidden;
  color: #333333;
  font-family: 'Noto Serif JP', serif;
  scroll-padding-top: 80px; /* 固定ヘッダの高さ分 */
}
h1,h2,h3,h4,h5,p{  
line-height:1.8em;
letter-spacing:0.1em;
  }


section{clear:both;}
.sp{display:none;}
.pc{display:block;}

/* header */
#header{width:100%;position: fixed;background-color:rgba(255,255,255,0.95);z-index:9999999999;}
#h_inner{max-width:1000px;width:100%;margin:0px auto 0px auto;position: relative;text-align:center;}
#header h1 img{width:120px; height:auto;margin:20px auto 0px auto;}
#header h1{display:inline-block;letter-spacing: 0px;}




	
#header.is-animation {
padding:0px 0px 10px 0px;
}
#header.is-animation h1 img{width:70px; height:auto;margin:0px auto 0px auto;}





/* menu-nav */
#mnav {
  display: none;
	padding-top:10px;

}

nav#mnav{}
nav#mnav li a{text-decoration:none;}
nav#mnav li{line-height:1.em;padding:1em;border-bottom:solid 1px #ccc;}






.btn{position:fixed;z-index:9999999999999;top:150px;right:-2px;}
.btn li{margin-bottom:10px;}
.btn img{width:40px;height:auto;}




/* menu_btn */


/* ハンバーガーメニューの表示位置*/
#menu_btn{position: absolute;top:0px;right:0px;}

/* マウスオーバーでまるい背景を表示 */
#panel-btn{
  display: inline-block;
  position: relative;
  width: 60px;
  height: 60px;
  margin: 0px 0px 0px 0px;
  border-radius: 50%;

}
a#panel-btn:hover {
  background: #fafafa;
}


/* 横棒中央の１本を表示表示 */
#panel-btn-icon{
  display: block;
  position: absolute;
  top: 45%;
  left: 50%;
  width: 25px;
  height: 3px;
  margin: 0px 0px 0px -12.5px;
  background: #333333;
  transition: 0.2s;
}

/* 横棒上下の2本を表示表示 */
#panel-btn-icon:before, #panel-btn-icon:after{
  display: block;
  content: "";
  position: absolute;
  width: 25px;
  height: 3px;
  background: #333333;
  transition: 0.3s;
}
#panel-btn-icon:before{
  margin-top: -8px;
}
#panel-btn-icon:after{
  margin-top:8px;
}

/* menuの文字を表示 */
#menu_btn a{text-decoration: none;}
a #panel-menu{
text-align:center;
font-size:11px;
margin-top:42px;
display:block;
}

/* クリックしたら横棒中央の１本を透明に */
#panel-btn #panel-btn-icon.close{
  background: transparent;
}

/* クリックしたら上下の２本の棒をクロスに変形 */
#panel-btn #panel-btn-icon.close:before{
margin-top: 0px;
transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
}
#panel-btn #panel-btn-icon.close:after{
margin-top: 0px;
transform: rotate(-135deg);
-webkit-transform: rotate(-135deg);
}






/* bread */
#bread{float:right;font-size:0.8em;padding:1em 0px 1em 0px;}
#bread li{display:inline-block;padding:0px 0px 0px 1em;}
#bread li a{padding:0px 1em 0px 1em;}
#bread li:after{content:">";}
#bread li:last-child:after{content:"";}
#bread:after{clear:both;}




/* top page */
#toppage_message{max-width:1000px;margin:0px auto 0px auto;text-align:center;padding:200px 0px 40px 0px;}
#toppage_message h1{font-size:1.6em;letter-spacing:0.2em;border-bottom:solid 1px #ccc;margin-bottom:2em;padding-bottom:0.6em;}
#toppage_message p{font-size:1.1em;letter-spacing:0.1em;margin-bottom:0.6em;}

/* mainvisual */
#mainvisual{max-width:1000px;margin:0px auto 70px auto;text-align:center;padding:30px 0px 50px 0px;}
#mainvisual figure img{max-width:170px;height:auto;}
#mainvisual figure{display:block;margin-bottom:20px;}
#mainvisual .mv_txt01{padding:10px;margin-bottom:10px;}


#mainvisual .mv02 div{
    background-image: url("../images/mv02.png");
    background-repeat: no-repeat;
    background-size: cover;
    height:225px;
    margin-top:30px;
    position:relative;
}

#mainvisual .mv02 .mv_txt01{
display:block;padding:10px;
position:absolute;
top:50%;
width:100%;
margin-top:-40px;
background-color: rgba(255,255,255,0.95)}


#mainvisual .mv_txt02{
    padding: 10px;
    position:relative;
    margin-bottom:20px;
}

#mainvisual .mv01 .mv_txt02{background-color: rgba(0,145,188,0.15);}
#mainvisual .mv03 .mv_txt02{
    background-color: rgba(243,184,0,0.15);
}

#mainvisual .mv_txt02:after{
  content: "";
  position: absolute;
  right: 0;
  bottom: -10px;
  left: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-width: 10px 7px 0 7px;
}
#mainvisual .mv01 .mv_txt02:after{  border-color: rgba(0,145,188,0.15) transparent transparent transparent;}
#mainvisual .mv03 .mv_txt02:after{  border-color: rgba(243,184,0,0.15) transparent transparent transparent;}

#mainvisual p.mv_txt03{
    border-top:solid 1px #cccccc;
    border-bottom:solid 1px #cccccc;
    border-right:solid 1px #cccccc;
    display:block;
    text-align:left;  
    position:relative;
    display:block;
    width:100%;
    height:58px;
    text-align:center;
    box-sizing: border-box;
}
#mainvisual p.mv_txt03 a{text-decoration:none;position:relative;}

#mainvisual p.mv_txt03 a{padding:15px 10px 15px 10px;display:block;}
#mainvisual .mv01 p.mv_txt03{border-left:solid 5px rgba(0,145,188,1);}
#mainvisual .mv03 p.mv_txt03{border-left:solid 5px #F3B800;}


#mainvisual .mv_txt03 span{color:rgba(0,145,188,1);padding-right:1em;font-family: 'Noto Sans JP', sans-serif;text-decoration:none;}


#mainvisual .mv_txt03:before {
  content: '';
  width: 18px;
  height: 18px;
  border-radius: 50%;
  position: absolute;
  bottom:-11px;
  left: 50%;
  margin-left:-9px;
  margin-top: -9px;
}


#mainvisual .mv01 .mv_txt03:before {  background: rgba(0,145,188,1);}
#mainvisual .mv03 .mv_txt03:before {  background: #F3B800;}

#mainvisual .mv_txt03:after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  bottom:-5px;
  left: 50%;
  margin-left:-4px;
  transform: rotate(135deg);

}

/* news */
#news{max-width:860px;width:80%;margin:0px auto 0px auto;padding:25px;border:solid 1px #ccc;position:relative;margin-bottom:70px;background-color:#fff;z-index:9;}
#news h1 a{background-color:#707070;display:inline-block;color:#fff;font-size:0.8em;padding:0.5em 1em 0.5em 1em;position:absolute;top:-20px;left:0px;font-family: 'Noto Sans JP', sans-serif;font-weight:100;text-decoration:none;}
#news li{clear:both;}
#news li time{margin-right:2em;font-size:0.8em;}
#news li p{}


/*back01 */
.back01{
    padding-bottom:100px;
    position: relative;
  background-color:#eaeaea;
}

.service .back01,.family .back01{
    padding-bottom:0px;
    margin-bottom:50px;
}

.back01::after{
  content:"";
  position: absolute;
  top: -100px;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  
  /*ここで三角形のサイズを決める。必ず幅100vwにして、ブラウザサイズいっぱいにしてください。*/
  border-width:0px 0 100px 100vw ;
 
  /*transparentで余分な線を消す*/
  border-color: transparent  transparent #eaeaea transparent;
  

}


.service .back01::before,.family .back01::before{
  content:"";
  position: absolute;
  bottom: -100px;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  
  /*ここで三角形のサイズを決める。必ず幅100vwにして、ブラウザサイズいっぱいにしてください。*/
  border-width:0px 0 100px 100vw ;
 
  /*transparentで余分な線を消す*/
  border-color: transparent  transparent  transparent #eaeaea;

}

/* case study */

#service{max-width:1000px;margin:0px auto 100px auto;position:relative;}
h1.h1_01{border-bottom:solid 1px #ccc;display:inline-block;padding:20px 3em 15px 3em;text-align:center;font-size:1.5em;font-weight:normal;line-height:1.4em;letter-spacing:0.2em;margin:0px auto 30px auto;}
h1.h1_01 span{display:block;font-size:0.5em;font-family: 'Noto Sans JP', sans-serif;font-weight:100;text-transform:uppercase;}

#service ul{}
#service ul li{width:23%; 
margin:0px 2.3% 0px 0px;
display:inline-block;float:left;}
#service ul li a {
border-left:solid 5px #0091BC;
background-color:#fff;
text-decoration:none;
display:block;
margin-bottom:10;
}
#service ul li:last-child{ 
margin:0px 0px 0px 0px;}



#service ul li a span{display:block;padding:10px 20px 10px 20px;font-size:0.9em;font-family: 'Noto Sans JP', sans-serif;font-weight:100;color: #0091BC;letter-spacing:0.2em;}
#service ul li a span.readmore{display:inline-block;padding:5px 5px 5px 20px;font-size:0.6em;color: #fff;background-color:#0091BC;float:right;margin-top:-10px;position:relative;}
#service ul li a span.readmore:after {
  content: '';
  width: 4px;
  height: 4px;
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  bottom:7px;
  left: 7px;
  transform: rotate(45deg);

}

#service ul li a p{padding:0px 20px 20px 20px;}


/* family */
#family{max-width:1000px;margin:0px auto 100px auto;position:relative;}
#family ul {text-align:center;}
#family ul li{width:45%; 
text-align:left;
margin:0px 2.5% 0px 0px;
display:inline-block;position:relative;}
#family ul li a.family_a {
border-left:solid 5px #F3B800;
background-color:#fff;
text-decoration:none;
display:block;

}

#family ul li a.readmore_a {
position:absolute;
bottom:0px;
right:0px;
}

#family ul li:last-child{margin-right:0px;}
#family ul li img{width:30%;height:auto;float:left;}

#family ul li span.readmore{display:inline-block;padding:5px 5px 5px 20px;font-size:0.6em;color: #fff;background-color:#F3B800;float:right;margin-top:-10px;position:relative;letter-spacing:0.2em;font-family: 'Noto Sans JP', sans-serif;font-weight:100;}
#family ul li span.readmore:after {
  content: '';
  width: 4px;
  height: 4px;
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  bottom:7px;
  left: 7px;
  transform: rotate(45deg);

}

#family ul li a p{padding:10px 10px 0px 10px;overflow:hidden;}
#family ul li a p.txtRight{padding:0px 10px 10px 10px;}

/* page contents */
.page_contents{margin-bottom:100px;}
.page_contents header{margin-bottom:0px;}
.page_contents header p{font-size:1.1em;}
.page_contents_inner{max-width:1000px;margin:0px auto 0px auto;}
.service .page_img{
    height: 230px;
    width: 100%;
    overflow: hidden;
    margin-bottom: 50px;
    position: relative;
    background-image: url(../images/service.jpg);
    background-attachment: fixed;
    background-size: cover;
    background-position: center center;
}

.page_contents p{margin-bottom:1em;}
.page_contents p.mb10{margin-bottom:10px;display: block;}
.page_contents p.mb20{margin-bottom:20px;display: block;}
.page_contents p.mb30{margin-bottom:30px;display: block;}
.page_contents p.mb40{margin-bottom:40px;display: block;}
.page_contents p.mb50{margin-bottom:50px;display: block;}
.page_contents .table_form{max-width:900px;margin:0px auto 0px auto;margin-bottom:2em;line-height:1.8em;}
.page_contents .table_form th{padding:1em 1em 1em 1em;text-align:left;white-space: nowrap;}
.page_contents .table_form td{padding:1em 1em 1em 1em;}
.page_contents .table_form .wpcf7-list-item{display:block;clear:both;}

.mr01{margin-right:1em;}
.required{display:inline-block;color:#fff;background-color:#009FC6;border-radius:20px;font-size:0.8em;padding:0px 1em 0px 1em;letter-spacing:0.2em;margin-left:1em;}

.send_btn,.wpcf7-submit,wpcf7-form-control{border:none;color:#fff;background-color:#009FC6;border-radius:20px;padding:0.5em 5em 0.5em 5em;letter-spacing:0.2em;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
a.back_btn{border:none;color:#fff;background-color:#009FC6;border-radius:20px;padding:0.5em 5em 0.5em 5em;letter-spacing:0.2em;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
          text-decoration:none;
          margin:50px 0px 50px 0px;
}


.case .page_img{
    height: 80px;
    width: 100%;
    overflow: hidden;
    margin-bottom: 0px;
    position: relative;
    background-image: url(../images/case.png);
    background-size: 900px auto;
    background-position: bottom center;
    background-repeat: repeat-x;
}
.case .page_contents  h2 {font-size:1.4em;font-weight:normal;letter-spacing:0.2em;border-bottom:solid 3px #0091BC;padding-bottom:0.5em;margin-bottom:2em;padding-top:100px;}
.case .page_contents h2 span{
    font-size: 1.6em;
    color: rgba(0,145,188,0.30);
    font-family: 'Noto Sans JP', sans-serif;
    display: block;
    margin-bottom: 0.5em;
}


.case .page_contents h3{border-bottom:solid 1px #707070;display:inline-block;font-size:1.1em;padding:2em 3em 0.5em 1em;line-height:1.8em;font-weight:normal;letter-spacing:0.2em;margin-bottom:2em;position:relative;}
.case .page_contents h3:before{
  content: "";
  position: absolute;
  bottom: -7px;
  left: 60px;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-width: 7px 5px 0 5px;
  border-color: #707070 transparent transparent transparent;
}
.case .page_contents h3:after{
  content: "";
  position: absolute;
  bottom: -6px;
  left:60px;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-width: 7px 5px 0 5px;
  border-color: #fff transparent transparent transparent;
}

.page_contents ul.ul_case{line-height:1.8em;margin-bottom:2em;margin-left:4em;}
.page_contents ul.ul_case li{margin-bottom:1em;position:relative;padding-left:1em;}
.page_contents ul.ul_case li:before{
  content: "";
  position: absolute;
  top: 0.8em;
  left: -1em;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-width: 5px 5px 0 5px;
  border-color: rgba(0,145,188,1) transparent transparent transparent;
    transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
}




.family .page_contents h3{border-bottom:solid 1px #707070;display:inline-block;font-size:1.1em;padding:2em 3em 0.5em 1em;line-height:1.8em;font-weight:normal;letter-spacing:0.2em;margin-bottom:2em;position:relative;clear:both;}
.family .page_contents h3:before{
  content: "";
  position: absolute;
  bottom: -7px;
  left: 60px;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-width: 7px 5px 0 5px;
  border-color: #707070 transparent transparent transparent;
}
.family .page_contents h3:after{
  content: "";
  position: absolute;
  bottom: -6px;
  left:60px;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-width: 7px 5px 0 5px;
  border-color: #fff transparent transparent transparent;
}



.company .page_img{
    height: 230px;
    width: 100%;
    overflow: hidden;
    margin-bottom: 50px;
    position: relative;
    background-image: url(../images/company.png);
    background-attachment: fixed;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}

.table01 {margin:0px auto 2em auto;line-height:1.6em;border-bottom:solid 1px #707070;border-right:solid 1px #707070;width:90%;}
.table01 th{text-align:left;padding:0.9em 1em 0.7em 1em;border-top:solid 1px #707070;border-left:solid 1px #707070;background-color: rgba(112,112,112,0.10);white-space: nowrap;}
.table01 td{padding:0.9em 1em 0.7em 1em;border-top:solid 1px #707070;border-left:solid 1px #707070;}


.company h2{text-align:center;line-height:1.8em;margin-bottom:2em;padding-top:3em;font-size:1.5em;font-weight:normal;border-bottom:solid 1px #ccc;display:inline-block;padding-bottom:0.5em;text-align:center;display}


.box01{border:solid 3px #707070;padding:3em 3em 2em 3em;margin-bottom:2em;}


.family h2{line-height:1.8em;margin-bottom:2em;padding-top:3em;font-size:1.5em;font-weight:normal;border-bottom:solid 1px #ccc;display:inline-block;padding-bottom:0.5em;}

.family .page_img{
    height: 230px;
    width: 100%;
    overflow: hidden;
    margin-bottom: 50px;
    position: relative;
    background-image: url(../images/family.jpg);
    background-attachment: fixed;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}


.news_list figure img{width:150px;height:auto;}
.news_list figure{float:left;margin-right:3em;}
.news_list li{clear:both;margin-bottom:2em;}
.news h2 time{font-size:90%;display:block;}


/* footer  */

#footer{font-size:0.8em;clear:both;background-color:#707070;padding:50px 0px 50px 0px;margin-top:-130px;color:#fff;z-index:999;position:relative;}
.news #footer,.family #footer,.service #footer,.case #footer{margin-top:0px;}


#f_inner{max-width:1000px; margin:0px auto 0px auto;}

.f_link{text-align:center;margin-bottom:2em;}
.f_link li{display:inline-block;border-right:solid 1px #fff;padding:0px 2em 0px 2em;}
.f_link li:last-child{border:none;}
#footer #copyright{text-align:center;font-size:0.9em;line-height:1.4em;}
.f_link li a{color:#fff;text-decoration:none;}
/* pagetop */
p#pagetop{
	position: fixed;
	bottom: 20px;
	right: 20px;
	font-size: 10px;
}
* html p#pagetop{
	text-align:right;
	margin-right:20px;
	margin-bottom:20px;
}


/*
 * tablet and smartphone START
 * ---------------------------------------------
 */
@media only screen and (max-width: 1000px) {
  /* layout */

.sp{display:block;}
.pc{display:none;}

}
/*
 * tablet and smartphone END
 * ---------------------------------------------
 */
/*
 * tablet START
 * ---------------------------------------------
 */
@media only screen and (min-width:800px) and (max-width: 1000px) {
  /* #header-nav-sp */
  
body {
  font: 15px/1 ;
}

* html body {font-size: small;}
*:first-child+html body {font-size: small;}
head~/* */body {font-size: small;}
html:not(:target) body {font-size: 12px;}


#toppage_message{margin:0px 15px 0px 15px;}
#mainvisual{margin:0px 15px 0px 15px;}
#service{margin:0px 15px 0px 15px;}

#f_inner{max-width:1000px; margin:0px 10px 0px 10px;}


#mainvisual .mv02 div{

    height:205px;

}

}
/*
 * tablet END
 * ---------------------------------------------
 */
/*
 * smart phone START
 * ---------------------------------------------
 */
@media only screen and (max-width: 800px) {

body {
  font: 15px/1 ;
}

* html body {font-size: small;}
*:first-child+html body {font-size: small;}
head~/* */body {font-size: small;}
html:not(:target) body {font-size: 12px;}

  .row .col {
    float: none;
    margin-left: 0;
  }

  .row2 .col {
    width: auto;
  }

  .row3 .col {
    width: auto;
  }

	
/* header */
#header {background-color:rgba(255,255,255,0.95);width:100%;
position: fixed;z-index:99999;padding:10px 0px 10px 0px;top:0px;left:0px;}
#h_inner{position: relative;}
#header h1 img{width:70px; height:auto;}
#header h1{text-align:center;letter-spacing: 0px;}

	
#header.is-animation {
padding:10px 0px 10px 0px;
}
#header.is-animation h1 img{width:50px; height:auto;}

#menu_btn{position: absolute;top:0px;right:10px;}
#header.is-animation #menu_btn{position: absolute;top:-10px;right:10px;}


#toppage_message{margin:70px 15px 0px 15px;text-align:center;padding:50px 0px 40px 0px;}
#toppage_message h1{font-size:1.4em;letter-spacing:0.2em;border-bottom:solid 1px #ccc;margin-bottom:2em;padding-bottom:0.6em;}
#toppage_message p{font-size:1em;letter-spacing:0.1em;margin-bottom:0.6em;}

#mainvisual{margin:0px auto 0px auto;max-width:280px;}
#mainvisual li{margin-bottom:80px;}
#mainvisual li figure img{width:100px;}
/* menu-nav */
#mnav {
  display: none;
	padding-top:30px;
}

#mnav div{width:46%;margin-right:3%;margin-left:3%;display:block;border-top:dotted 1px #333;vertical-align: top;padding-top:0.5em;}
	#mnav div:nth-child(1){float:left;}
	#mnav div:nth-child(2){float:right;}
	#mnav div:nth-child(3){float:left;clear:both;}
	#mnav div:nth-child(4){float:left;}
	#mnav div:nth-child(5){float:left;}
#mnav div h3{font-weight:normal;margin-bottom:1em;font-size:1.3em;font-family: 'Noto Serif JP', serif;padding-top:15px;}
#mnav div ul{margin:0px 0px 1em 1em;line-height:1.4em;font-size:1em;}
#mnav div ul li a{margin:0px 0px 0.8em 0px;line-height:1.6em;display:inline-block;text-decoration:none;font-family: 'Noto Serif JP', serif;}
#mnav div ul li:before{content:"L";margin:0px 0.5em 0px 0px;font-size:10px;vertical-align: top;}	
	
	

	
/* mainvisual */

#mainvisual .mv02 div{
    height:100px;
    margin-top:20px;
    position:relative;
}

#mainvisual .mv02 .mv_txt01{
margin-top:-30px;
}
#service {width:90%;margin:0ox auto 0px auto;}
#service ul li{width:48%; 
margin:0px 4% 10px 0px;
display:inline-block;float:left;}
#service ul li a {
border-left:solid 5px #0091BC;
background-color:#fff;
text-decoration:none;
display:block;
}
#service ul li:last-child{margin-right:0px;}
#service ul li:nth-child(even){margin-right:0px;}
	
/* contents */
#contents{margin:0px 10px 0px 10px;}
.page_contents header{margin:0px 15px 0px 15px;}
.page_contents .page_contents_inner{margin:0px 15px 0px 15px;}
.pt150{padding-top:90px;display: block;}
/* footer  */


.company .page_img,.service .page_img,.family .page_img{
    height: 120px;
    width: 100%;
    overflow: hidden;
    margin-bottom: 30px;
    position: relative;
    background-attachment:inherit;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.img600{max-width:600px;width:70%;height:auto;margin:2em auto 2em auto;}
.img300{width:200px;height:auto;margin:2em auto 2em auto;}
.img100{width:60px;height:auto;margin:2em auto 2em auto;}


.case .page_contents  h2 {font-size:1.2em;padding-top:60px;}
.case .page_contents h2 span{
    font-size: 1.2em;
}

.required{display:inline-block;color:#fff;background-color:#009FC6;border-radius:20px;font-size:0.8em;padding:0px 1em 0px 1em;letter-spacing:0.2em;margin-left:0px;}


.btn{position:fixed;z-index:9999999999999;top:auto;bottom:20px;right:-2px;}



/*back01 */
.back01{
    padding-bottom:100px;
    position: relative;
  background-color:#eaeaea;
}

.service .back01,.family .back01{
    padding-bottom:0px;
    margin-bottom:50px;
}

.back01::after{
  content:"";
  position: absolute;
  top: -50px;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  
  /*ここで三角形のサイズを決める。必ず幅100vwにして、ブラウザサイズいっぱいにしてください。*/
  border-width:0px 0 50px 100vw ;
 
  /*transparentで余分な線を消す*/
  border-color: transparent  transparent #eaeaea transparent;
  

}


.service .back01::before,.family .back01::before{
  content:"";
  position: absolute;
  bottom: -50px;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  
  /*ここで三角形のサイズを決める。必ず幅100vwにして、ブラウザサイズいっぱいにしてください。*/
  border-width:0px 0 50px 100vw ;
 
  /*transparentで余分な線を消す*/
  border-color: transparent  transparent  transparent #eaeaea;

}
#family ul {text-align:center;width:90%;max-width:400px;margin:0px auto 0px auto; }
#family ul li{width:100%; 
text-align:left;
margin:0px 0px 10px 0px;
display:block;position:relative;
float:none;
max-width:400px;
clear:both;
}

}

