@charset "utf-8";

/* =Reset default browser CSS.
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img {border: 0;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
html{ font-size: 62.5% } /*初期値16pxの62.5%でルートが10px*/
body{
	line-height: 1.5;
	font-size:90%;
	font-family: 'Noto Sans JP', sans-serif;
	color:#000;
 -webkit-text-size-adjust: 100%;
 background:#fff;
	display: flex;
    flex-flow: column;
    min-height: 100vh;
}



/*全てをクリア*/
.clear {clear: both;} 

/* new clearfix */
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
	}
* html .clearfix             { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */


/* リンク設定
------------------------------------------------------------*/
a,a:visited{
margin:0;
padding:0;
text-decoration:none;
outline:0;
vertical-align:baseline;
background:transparent;
 color: #0062b0; transition: all 0.5s ease 0s;
  cursor: pointer;}

a:hover, a:active{
-webkit-transition:opacity 1s;-moz-transition:opacity 1s;-o-transition:opacity 1s;
outline: none;
color:#e53e3e;}

 a:hover img{opacity:.7; }

/**** Clearfix ****/



/* レイアウト
------------------------------------------------------------*/
.inner{
margin:0 auto;
max-width:1100px; width:95%;
}
.inner2{margin:0 auto;max-width:900px; width:95%;}

#wrapper{margin:0 auto 0px; font-size: 16px;font-size: 1.6rem;  background: #fff; 
padding:0 0 0px; overflow: hidden; 
	display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.googlefont{ font-family: 'M PLUS Rounded 1c', sans-serif;
font-family: 'Lato', sans-serif; }


/* ヘッダー
----------------------------------*/
#navi {margin:0 auto;
  position: fixed;
  top: 0;
  left: 0;
  height: 95px;
  width: 100%; 
  transition: all .4s;
  z-index: 100;  background:rgba(25,35,80,0.5);
}
 
header.smaller #navi   {
   background: #192350; height: 70px; 
}

#navi input {
  display: none;
}
#navi h1,
#navi p {
  float: left;
/*  height: 130px; */
  line-height: 100px;
  transition: all .4s;
  font-size: 24px;
  font-weight: bold; color: #fff; 
}
#navi h1 a,
#navi p a{ color: #fff; 
}
@media screen and (min-width:990px) {
#navi h1,
#navi p {font-size: 24px;font-size: 2.4rem;  }}
@media screen and (max-width:989px) {#navi h1,
#navi p {font-size: 15px;font-size: 1.5rem;}}
#navi h1 img,
#navi p img {
  vertical-align: middle;
  margin-top: -8px;
  transition: all .4s;
  width:94px;
  padding-right: 6px;height: auto;
}
header.smaller #navi h1,
header.smaller #navi p   { line-height: 80px;}
header.smaller #navi h1 img,
header.smaller #navi p img   { width:64px; height: auto;}
#navi h1 a:hover img,
#navi p a:hover img { opacity: 1;}
#navi .menu {
  float: right; padding: 0px 0 0 0;
  transition: all .4s;   }
header.smaller #navi .menu { margin-top: -20px;}
#navi .menu .menu-parent {
  float: left;
/*  margin: 0px 30px 0px 0px; */
  padding: 0px 0px 0px 20px;
  height: 150px;
  line-height:110px;
  font-size: 16px;
  font-weight: bold;
  transition: all .4s;
  white-space: nowrap;
}


#navi .menu .menu-parent:last-child {
  margin-right: 0px;
  transition: all .4s;
}

#menu-navibtn {
  display: none;
  cursor: pointer;
  cursor: hand;
}

#openmenu {  font-size: 10px; color:#fff;
}
#openmenu b {  position: absolute; bottom:2px;  left:4px;
  font-weight: normal; font-size: 10px; color:#fff; display: block;
}

#navi .menu .menu-parent a:hover::before,#company #navi .menu .company a::before,#business #navi .menu .business a::before,#req #navi .menu .recruit a::before,#greeting #navi .menu .greeting a::before{ 
font-family: "Font Awesome 5 Free";
  font-weight: 900;  font-size:16px;
  content: "\f0d7"; 
 color:#fff;
  display: inline-block;
  position: absolute;
  top: -20px;
 left: 45%;
  width: 0;
  height: 0;
  margin:0;
  padding:0;
  /*文字の装飾は省略*/
}
  

  


@media screen and (max-width: 895px) {
  #menu-navibtn {
    display: none;
  }
  #navi {
    height: 60px;
  }
  #navi h1,
  #navi p {
    float: none;
/*    height: 60px; */
    line-height: 60px;
    font-size: 16px;
  }
  #navi h1 img,
  #navi p img {
    margin-top: -6px;
  width:64px;
  }
  #navi .menu {
    display: none; 
  }
  #navi .menu .menu-parent {
    height: auto;
    width: 95%;
    line-height: 60px;
    background: white; margin: 0 auto; 
    padding: 0px 20px 0px 20px;
    border-bottom: 1px solid #999; overflow: hidden;
  }
  
	#navi .menu .menu-parent i {
    padding: 0px 20px;
  }
  #navi ul {
    float: none;
  }
  /* メニューを移動させないため */
  #menu-navibtn:checked ~ #navi {
    position: fixed;
    overflow-y: scroll;
    overflow-x: hidden;
    height: 100%;
  }
}

/* 固定メニュー */
@media screen and (min-width: 895px) {
  #navi.fixed {
    height: 60px;
    box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);
  }
  #navi.fixed h1,
  #navi.fixed p {
    font-size: 18px;
    height: 60px;
    line-height: 60px;
  }
  #navi.fixed h1 img,
  #navi.fixed p img {
    margin-top: -7px;
    width: 34px;
    height: auto;
    padding-right: 6px;
  }
  #navi.fixed .menu .menu-parent {
    height: 60px; background: #ddd; 
    line-height: 60px;
    font-size: 15px; 
  }
  #navi.fixed .menu-parent .menu-child,
  #navi.fixed .menu-parent:hover .menu-child {
    top: 60px;
  }
a.ib{ color: #fff; font-weight:normal; border-bottom: 1px solid #fff; padding: 0 1em ; margin: 0 0; }
.menu .menu-parent{ padding: 0!important; margin: 0 !important;   }
	
}
/* ドロップダウンメニュー */
.menu-parent {
  position: relative;
}
.menu-parent .menu-child {
  visibility: hidden;
  opacity: 0;
  z-index: 1;
  position: absolute;
  top: 100px;
  left: 35%;
  margin-left: -80px;
  width: 200px;
  background: #fff;
  box-sizing: border-box;
  padding: 4px 20px;
  border: 1px solid #000;
}
@media screen and (min-width: 895px) {
  .menu-parent:first-child .menu-child,
  .menu-parent:nth-child(2) .menu-child {
    width: 310px;
    margin-left: -130px;
  }
  .menu-parent:hover .menu-child {
    top: 95px;
    visibility: visible;
    transition: all .8s;
    opacity: 1;
  }
}
@media screen and (max-width: 895px) {
  #navi .menu-parent .menu-child {
    transition: all 0s;
  }
  .menu-parent .menu-child {
    border-left: 1px solid #FFF;
    border-right: 1px solid #FFF;
    border-bottom: 1px solid #FFF;
  }
}
@media screen and (max-width: 895px) {
  #menu-navibtn:checked ~ * .menu {
    display: block;
    opacity: 1;
  }
  #menu-navibtn:checked ~ * .menu-parent {
    max-height: inherit;
    overflow-y: visible;
  }
  #menu-navibtn:checked ~ * .menu-child {
    max-height: 0;
    overflow-y: hidden;
    visibility: hidden;
  }
  .menu ul {
    margin: 0;
    padding: 0;
    background :#f4f4f4;
    list-style: none;
  }
  .menu-parent .menu-child {
    position: relative;
    opacity: 1;
    padding: 0 20px;
    visibility: visible;
    top: 0;
    margin-left: auto;
    left: auto;
    width: auto;
  }
  .menu-child li {
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  /* クリックされた時 */
  #navi input[type="checkbox"]:checked ~ .menu-child {
    max-height: inherit;
    overflow-y: visible;
    visibility: visible;
    opacity: 1;
  }
  .angletoggle:before {
    content: "\f107";
  }
  #navi input[type="checkbox"]:checked ~ * .angletoggle:before {
    content: "\f106";
  }
}
#navi .menu-child li {
  line-height: 30px;
  font-size: 14px;
  border-bottom: 1px solid #ddd;
}
#navi .menu-child .menu-child-top {
  position: relative;
}
/* △部分 */
#navi .menu-child .menu-child-top::before,
#navi .menu-child .menu-child-top::after {
  border-left: solid 10px transparent;
  border-right: solid 10px transparent;
  border-bottom: solid 12px #fff;
  top: -15px;
  content: "";
  display: block;
  height: 0;
  left: 47%;
  position: absolute;
  width: 0;
}
@media screen and (max-width: 895px) {
  #navi .menu-child .menu-child-top::before,
  #navi .menu-child .menu-child-top::after {
    border: none;
  }
}
#navi .menu-child .menu-child-top::before {
  border-bottom: solid 12px #000;
  margin-top: -1px;
}
#navi .menu-child li:last-child {
  border: none;
}
#navi .menu-child li img {
  width: auto;
  height: 32px;
  vertical-align: middle;
  float: left;
  margin-right: 10px;
}
#navi .menu-child li i {
  margin-right: 3px;
}
#navi .menu-child li a {
  display: block;
  padding: 10px 0px;cursor: pointer;
}
#navi ul > li .pd {
  display: none;cursor: pointer;
}
#navi ul > li.parent > a {
  color: #333;
}
#navi ul > li.parent > a:hover {
  color: #F63;
}
@media screen and (max-width: 895px) {
  #navi ul {
    float: none;
  }
  #navi ul > li .pd {
    display: inline-block;
    width: 100%;
  }
}

/* ハンバーガー */
#navi #navibtn {
  display: none;
  cursor: pointer;
  cursor: hand;
}
@media screen and (max-width: 895px) {
  #navi #navibtn {
    display: block;
    position:  fixed;  right:30px; 
     margin: 10px 0 10px; text-align: right;
    z-index: 1000;
  }
  #navi #navibtn span {
    display: block;
    width: 50px;
    height: 50px;
    background-color:#192350;
  }
  #navibtn span span {
    display: block;
    overflow: hidden;
    width: 1px;
    height: 1px;
  }
  #navibtn span span::before,
  #navibtn span span::after,
  #navibtn span::after {
    position: absolute;
    left:12px;
    content:"";
    width: 25px;
    height: 3px;
    background-color: #FFF;
    transition: .2s;
  }
  /* 上の棒 */
  #navibtn span span::before {
    top:10px;
  }
  #menu-navibtn:checked ~ #navi label#navibtn span span::before {
    top:18px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg); 
  }
  /* 下の棒 */
  #navibtn span::after {
    bottom:20px;
  }
  #menu-navibtn:checked ~ #navi label#navibtn > span::after {
    bottom:28px;
    transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
  }
  /* 中の棒 */
  #navibtn span span::after {
    top:18px;
  }
  #menu-navibtn:checked ~ #navi label#navibtn span span::after {
    display: none;
  }
}@media screen and (max-width:400px) { #navi #navibtn {right:10px;  }}



/* フッター
----------------------------------*/

#footer{ overflow: hidden;text-align: center; font-size:14px; font-size:1.4rem;   font-weight: normal; background: #fff;margin-top: auto; }
#footer nav{background:#e5dcd1; padding: 5px 0; text-align: center; }
#footer nav li { display: inline-block; vertical-align: middle; border-right: 1px solid #000; padding:0 1em;  }
#footer nav li:last-child { border: none;  }
#footer nav li a { display: inline-block;  padding: 0 1em;   
  position: relative;
  text-decoration: none; color: #000;
}
#footer nav li a::after {
  position: absolute;
  bottom: -6px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #e53e3e;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
}
#footer nav li a:hover{ color: #e53e3e;}
#footer nav li a:hover::after {
  bottom: -2px;
  opacity: 1;
  visibility: visible;
}

#footer dl{  display:  inline-block; vertical-align: top;width: calc( 100% / 2 - 20px ); max-width: 400px; padding:30px 10px; text-align: center;}
#footer dl.footercontact dt{ font-size:22px; font-size:2.2rem; }
#footer dl.footercontact dt span {font-family: 'Lato', sans-serif; font-size:18px; font-size:1.8rem; }
#footer dl.footercontact dt span:before,
#footer dl.footercontact dt span:after {content: " - ";}
#footer dl.footercontact dd {font-family: 'Lato', sans-serif; font-size:26px; font-size:2.6rem; padding: 0px 0; }
#footer dl.footercontact dd b,#footer dl.footercontact dd img {display:  inline-block;  vertical-align: middle; margin: 0.2em; }
#footer dl.footercontact dd img { width:20px; height: auto; }
#footer dl.footerabout{  text-align: left;}
#footer dl.footerabout dt,#footer dl.footerabout dd{display:  inline-block;  vertical-align: top; margin: 0.2em; }
#footer dl.footerabout img { width:60px; height: auto; }
#footer dl.footerabout dd {  font-size:14px; font-size:1.4rem; }
#footer dl.footerabout dd b {  display: block; font-size:18px; font-size:1.8rem; }
#footer a.privacy {  display: block; font-size:12px; font-size:1.2rem;  margin: 0.3em 0; text-align: center;  }
#footer a.privacy:before{ 
font-family: "Font Awesome 5 Free";
  font-weight: 900;  font-size:16px;
  content: "\f105";  margin:0 0.2em 0 0;
}

#footer iframe{width:100%;}

#page-top1{
  display: block;
  position: fixed;
  z-index: 9999;
  bottom: -0px;
  right: 40px;
  width: 50px;
  height:50px;
  text-align: center;
  text-decoration: none; 
  transition: .5s; font-size: 16px; font-size: 1.6rem; 
	vertical-align:middle;background: #192350;  border-radius:50%;  }
a#page-top1 {  color: #fff !important;}
#page-top1 span {display: block; margin:10px auto 0;  font-size: 20px; font-size: 2.0rem; }

.alignleft{ float:left;}
.alignright{ float:right;}
.center{ text-align:center;}
p.address{ font-size: 12px; font-size: 1.2rem; font-weight: normal; background: #fff; padding: 10px; text-align: center; }





/* サブページ
----------------------------------*/
#contents{ margin: 100px auto 0;}
.sub #wrapper{min-height: 100vh;
background-attachment: fixed;
 background-size: cover;
background-position: 50% 0;}

/*common*/
.sub #contents{ margin: 150px auto 0; width:90%; max-width: 900px;}
.sub #contents h2{  color: #fff; font-size: 30px; }
.sub #contents h2 span{ font-size: 20px; font-size: 2.0rem; margin-left: 1em;}
.sub .content{ background:rgba(255,255,255,0.8); padding: 0px 40px 30px; margin: 20px auto;}
.sub .content article{  padding:60px 0; clear: both; }

/*企業概要*/
.company #wrapper{  background-image:url("../img/company/back.jpg") ;}
.company #contents h3{ font-size: 22px; float: left; border-bottom:5px solid #0062b0; width:120px; clear: both;}
.company #contents h3.s{ font-size: 20px;}
.company   #contents  dl{ margin: 0 0 30px 160px;}
.company  #contents p.date{  text-align: right; margin: 1em 0 0;}
.company  #contents  dl dt,.company  #contents  dl dd{ display:  inline-block; vertical-align: top; }
.company  #contents  dl dt{ width: calc( 25% - 20px );padding: 15px 0 15px 20px;}
.company  #contents  dl dd{  width: calc( 75% - 20px );padding: 15px 10px;}
.company  #contents  dl dt:nth-last-of-type(even),.company  #contents  dl dd:nth-last-of-type(even){  background: #fff;}
.company  #contents  dl dd span{ display:  inline-block;width:8em; text-align: right;}
.company  #contents  dl dd li:before{ content:"■"; margin-right: 0.1em;}
.company article img{ width:100%; height: auto; margin:60px auto 0; display: block; max-width: 600px; }
.company article div.iso,.company article div.kankyo {background: #fff; padding: 15px 25px; margin-left: 160px; margin-bottom: 50px;}
.company article div.iso p {margin: 0px !important;}
.company article .iso  img{ width:100%; height: auto; margin: 30px auto 0 ; display: block; max-width: 300px;}
.company article   img.iso{ width:100%; height: auto; margin: 30px auto 0 ; display: block; max-width: 300px;}
.company  #contents p.sign{  text-align: right;}
.company article div.kankyo p{ margin: 1em 0 2em!important;}
.company article div.kankyo p span{ display: block; margin: 1em 0 0 1em;}
.company article div.kankyo h4 {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 7px 10px;
  width: 100%;
  font-size: 18px;
  background: #FFF;
  border: solid 2px #0062b0;
  box-sizing: border-box;
}

.company article div.kankyo h4:before {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 10%;
  margin-left: -15px;
  border: 10px solid transparent;
  border-top: 10px solid #FFF;
  z-index: 2;
}

.company article div.kankyo h4:after {
  content: "";
  position: absolute;
  bottom: -25px;
  left: 10%;
  margin-left: -17px;
  border: 12px solid transparent;
  border-top: 12px solid #0062b0;
  z-index: 1;
}
.company article div.kankyo ol{ margin: 1em 0!important;
	/*要素の連番（カウンタ）の値をリセットする*/
	counter-reset: li;
}
.company article div.kankyo ol li{
	position: relative;
	padding-left: 30px;
	margin: 0 0 10px;
	/*デフォルトのスタイルを非表示にする*/
	list-style: none;
}
.company article div.kankyo ol li:before{
	position: absolute;
	top: 0;
	left: 0;
	font-weight: bold;
	color: #0062b0;
	/*要素の連番（カウンタ）の値を進める*/
	counter-increment: li;
	/*自動連番を付ける関数*/
	content: counter(li)'.';
}


/*ごあいさつ*/
.greeting #wrapper{  background-image:url("../img/greeting/back.jpg") ;}
.greeting #contents p{ margin: 0 0 1em 0; }
.greeting #contents b{ display: block;  margin: 1em 0 1em 1.5em;font-size: 16px;font-size: 1.6rem; line-height: 1.8; background: #fff; padding: 1em; width:90%; max-width:25em ; }

.greeting #contents p:last-child{font-size: 16px;font-size: 1.6rem;  margin: 2em 0 0; }

/*ごあいさつ*/
.privacy #wrapper{  background-image:url("../img/greeting/back.jpg") ;}
.privacy #contents p{ margin: 0 0 1em 0; }
.privacy #contents dl dt{ margin:1em 0 0 1em; font-weight:bold; }
.privacy #contents dl dt:before{ 
font-family: "Font Awesome 5 Free";
  font-weight: 900;  font-size:16px;
  content: "\f0c8";  margin:0 0.5em 0 -1em;
}
  
.privacy #contents dl dd{ margin:0.3em 0 2em 1.2em; }
.privacy #contents dl dd li{  margin:0 0em 0 1em;
}
.privacy #contents dl dd li:before{ 
font-family: "Font Awesome 5 Free";
  font-weight: 900;  font-size:16px;
  content: "\f00c";  margin:0 0.5em 0 -1em;
}
.privacy #contents .shomei{ margin: 0 0 0 auto; width:20em;}
.privacy #contents .shomei h3{ font-weight:bold;}
.privacy #contents .shomei p{ font-size: 14px;}
/*事業内容*/
.business #wrapper{  background-image:url("../img/business/back.jpg") ;}
.business #contents h3{ font-size: 22px; 
display: flex;
align-items: center;
}
.business #contents h3:after {
border-top: 1px solid #0062b0;
content: "";
flex-grow: 1;
}
.business #contents h3:after {
margin-left: 1rem;
}
.business #contents .list  { margin: 1em 0 1em 75px ;}
.business #contents .list li{margin: 0.5em 1em ;}
.business #contents .list li::before{ 
font-family: "Font Awesome 5 Free";
  font-weight: 900; 
  content: "\f00c";  margin: 0 0.2em 0 -1em
}
 .business #contents h4  { margin: 1em 0 0;font-size: 18px; } 
.business #contents dl  { margin: 1em 0 3em 75px ;}
.business #contents dl dt,.business #contents dl dd{ display:inline-block; vertical-align: middle; margin: 0 0 10px; padding: 10px; border-bottom: 1px solid #0062b0; }
.business #contents dl dt { width: calc(20% - 20px); background: #0062b0; color:#fff;}
.business #contents dl dd { width: calc(80% - 20px);}

.business #contents .photo li{  display:  inline-block; vertical-align: top; width: calc( 100% / 3 - 10px ); margin: 3px 5px; text-align: center;}
.business #contents .photo li:first-child,.business #contents .photo li:last-child{  display:block; vertical-align: top; width: calc( 100% - 10px );}
.business #contents .photo li img{  width:100%; height: auto; }

div.chuijiko p{ display: block; margin:0 0 0.5em 1.2em}
div.chuijiko p:before{ content:"※"; margin:0 0.2em 0 -1em}


/*採用情報*/
#req #wrapper{  background-image:url("../img/req/back.jpg") ;}
#req  #contents .suvnav {  text-align: right; color: #fff; margin: -1.8em 0 0 0; }
#req  #contents .suvnav li { display:inline-block; vertical-align: middle; text-align: center; margin: 0 0.5em; border-raight:1px solid #fff; }
#req  #contents .suvnav li:last-child {  border:none; margin: 0 0 0 0.5em; }
#contents .suvnav li a { display: inline-block;  padding: 0;   
  position: relative;
  text-decoration: none; color: #fff;
}
#contents .suvnav li a::after {
  position: absolute;
  bottom: -6px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #fff;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
}
#contents .suvnav li a:hover{ color: #fff;}
#contents .suvnav li a:hover::after,.staff #contents .suvnav li.staff  a::after,.about #contents .suvnav li.about  a::after{ 
  bottom: -2px;
  opacity: 1;
  visibility: visible;
}
.staff .content article{  padding:30px 0; clear: both; }
.staff #contents  article h3{width: calc( 75% );  font-size:20px;font-size:2.0rem; font-weight: bold; border-bottom: 1px solid  #192350; padding: 10px 0; align-items: flex-end; font-family:  'M PLUS Rounded 1c', sans-serif; }
.staff #contents h4{width: calc( 25%  - 11px );font-size:18px;font-size:1.8rem;padding: 10px 0; text-align: center;align-items: flex-end; position:relative;}
.staff #contents  article span{width:100%; border-top: 1px solid  #192350;border-left: 1px solid  #192350; padding: 5px 0  10px; text-align: center; display: block;position:absolute; bottom: 0; }
hgroup{ margin: 0 0 1em;
display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;}
.staff #contents  article  dl { margin:30px auto; width:90%;}
.staff #contents  article  dl dt{border-left:3px solid #0062b0; padding-left: 6px;}

.staff #contents  article  dl dd {
 margin: 0.5em 0 1em auto; width:90%;
 display: block; 
     position: relative;
     padding:0 0 0 50px;
}
.staff #contents  article  dl dd::after {
     position: absolute;
     top: 0.75em;
     left:0;
     transform:translateY(-50%);
     content: '';
     width: 40px;
     height:1px;
     background-color: #0062b0;
}
#req  #contents .chuijiko{ margin: 20px auto; width:90%;}
.about .content article{  padding:30px 0; }
/* メインメニュー iPadサイズ以下から
------------------------------------------------------------*/
@media only screen and (max-width: 1000px){.business #contents dl dt { width: calc(30% - 20px); background: #0062b0; color:#fff;}
.business #contents dl dd { width: calc(70% - 20px);}

} 
@media only screen and (max-width:860px){.sub #contents{ margin: 80px auto 0; width:90%; max-width: 900px;}
	#footer dl{  display:  inline-block; vertical-align: top;width: calc( 100% / 2 - 50px );}
	.staff #contents  article h3{width: calc( 65% );}
.staff #contents h4{width: calc( 35%  - 11px );}
.company article  img.iso{  margin: 0px auto 15px; float: none;}
.company  #contents p.sign{  text-align: right;}
	
}

@media only screen and (max-width:800px){.menu-btn{ display: none;}
.business #contents .list,.business #contents dl   { margin: 1em auto 1em ; width:95%;}

.sub .content article{  padding:30px 0; clear: both; }
.company #contents h3{float: none; border-bottom:5px solid #0062b0; width:120px;}
.company #contents h3.s {  width:300px; font-size:22px;}
.company #contents h3.s br{ display: none;}
	
.company  #contents p{ margin: 20px 0;}
.company   #contents  dl{margin: 0px 0 30px;}
#footer dl{  display:block; width: 90%; max-width: 400px; padding:10px 10px; margin:  0 auto}
.staff #contents  article h3{font-size:18px;font-size:1.8rem;}
.staff #contents h4{font-size:16px;font-size:1.6rem;}
}
@media only screen and (max-width:766px){ 
.company article div.iso,.company article div.kankyo { margin:20px 0 ;}
.company article .iso  img{ width:100%; height: auto; margin: 30px auto 0 ; display: block; max-width: 300px;}

}

@media only screen and (max-width: 680px){ 
#footer nav li { width: calc( 100% / 2 - 20px); padding:1em 0; margin: 0; border-right: 1px dotted #999;border-bottom: 1px dotted #999; }
#footer nav li:nth-child(even) { border: none;  border-bottom: 1px dotted #999; }
#footer nav li a { display: inline-block;  padding: 1em 0.5em; }
#footer nav li a::after { bottom: -4px;}
#footer nav li a:hover::after {bottom: -1px;}
.company article  img.iso{  margin: 15px auto; width:80%; }
}

@media only screen and (max-width: 600px){
.sub #contents h2{ font-size: 26px; font-size: 2.6rem;}
.sub #contents h2 span{ font-size: 18px;  font-size: 1.8rem; margin-left: 1em;}
.business #contents h3{ font-size:18px; font-size: 1.8rem;}
 .business #contents h4  {font-size:16px; font-size: 1.6rem;}
.business #contents dl dt { font-size:14px;font-size:1.4rem;}
#wrapper{margin:0 auto 0px; font-size: 1.4em;  background: #fff; 
padding:0 0 0px; overflow: hidden; 
}
	#page-top1{right: 5px; }
.sub .content{ background:rgba(255,255,255,0.9); padding: 10px; margin: 20px auto;}
.company  #contents  dl dt,.company  #contents  dl dd{ display:block; width: calc( 100% - 10px) ; }
.company  #contents  dl dt{ padding: 10px 0 5px 10px; width: calc( 100% - 10px) ;font-size:14px; font-size:1.4rem; }
.company  #contents  dl dd{ padding: 0px 0 10px 20px; width: calc( 100% - 20px) ; }
.business #contents dl dt,.business #contents dl dd{ display:block; }
.business #contents dl dt { width: calc(100% - 20px); }
.business #contents dl dd { width: calc(100% - 20px); padding: 0 10px 10px;}
.greeting #contents b{font-size: 14px;font-size: 1.4rem; margin: 1em auto 1em }
.greeting #contents p:last-child{font-size: 14px;font-size: 1.4rem; }


	
.staff #contents  article h3{width: calc( 100% - 10px );  border: none; border-bottom: 1px solid  #192350; font-size:16px;font-size:1.6rem;}
.staff #contents h4{width: calc( 100% - 10px ); padding: 0 ;font-size:14px;font-size:1.4rem; }
.staff #contents  hgroup{ margin: 0 auto ; width: 95%;
display: -webkit-block;
    display: block;
   }
	.staff #contents  article span{width:100%; border: none;  text-align: right;position:static;}
	.staff #contents  article  dl { margin:0px auto 15px; width:90%; }
	#req  #contents .suvnav { margin:0.2em 0 0 0; }
.staff #contents  article  dl dd {  padding:0 0 0 30px;}
.staff #contents  article  dl dd::after { width: 20px;}

}

@media only screen and (max-width: 500px){
}


/* 幅400px以下から ヘッダー等微調節
------------------------------------------------------------*/
@media only screen and (max-width: 400px){ 

}