@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, 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: #1c509b; 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; }


/* ヘッダー
----------------------------------*/
#glovalheader{ background: #1c509b;  padding:0px 0 0;}
#glovalheader .submenu{ margin: 0 auto; max-width:1100px; width:95%;  text-align: right;}
#glovalheader .submenu li{  display:  inline-block; font-size:14px; font-size:14.rem; margin: 0 1em}
#glovalheader .submenu li a{   color: #fff;  background-image: linear-gradient(to right, rgba(0,0,0,0) 50%, rgba(79,182,207,1) 50%);
  background-position: 0 0;
  background-size: 200% auto;
  transition: 0.5s;
}
#glovalheader .submenu li a::before{ 
font-family: "Font Awesome 5 Free";
  font-weight: 900;  font-size:16px;
  content: "\f0da"; }
#glovalheader .submenu li a:hover{
  background-position: -100% 0;
  color: #fff;
}

  

#navi {margin:0 auto;
  position: fixed;
  top:35px;
  left: 0;
  height: 50px;
  width: 100%; 
  transition: all .4s;
  z-index: 100;  background:rgba(255,255,255,1);
}
 
header.smaller #navi   {
 height: 40px; top:0px; background:#1c509b;
}

#navi input {
  display: none;
}
#navi h1,
#navi p {
  float: left;
/*  height: 130px; */
  line-height: 50px;
  transition: all .4s;
  font-size: 26px;
  font-weight: bold; color: #178ecb; 
}
#navi h1 a,
#navi p a{ color:#178ecb; }
header.smaller #navi h1 a,
header.smaller #navi p a{ color:#fff; }
#navi h1 a,
#navi p a{font-size: 30px;font-size: 3.0rem;  }
header.smaller #navi h1 a,
header.smaller #navi p a{ font-size: 24px;font-size: 2.4rem;}
#navi img.white{ display: none;}
header.smaller #navi img.white{ display: block !important;}
header.smaller #navi img.normal{display: none;}

@media screen and (max-width:989px) {#navi h1,
#navi p {font-size: 24px;font-size: 2.4rem;}}
#navi h1 img.normal,
#navi p img.normal {
  vertical-align: middle;
  margin-top: -10px;
  transition: all .4s;
  max-width:300px;
  padding-right: 6px;height: auto;
}
header.smaller #navi h1,
header.smaller #navi p   { line-height: 40px; color: #fff;}
header.smaller #navi img.white{ max-width:260px;height: auto;}

#navi .menu { float: right; padding: 0px 0 0 0;  transition: all .4s;   }
header.smaller #navi .menu { margin-top:-10px;}

#navi .menu .menu-parent {
  float: left;
/*  margin: 0px 30px 0px 0px; */
  padding: 0px 0px 0px 20px;
  height: 150px;
  line-height:60px;
  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:#178ecb; 
}
#openmenu b {  position: absolute; bottom:2px;  left:4px;
  font-weight: normal; font-size: 10px;color:#178ecb;  display: block;
}



@media screen and (max-width: 895px) {
  #menu-navibtn {
    display: none;
  }
  #navi {
    height: 60px;
  }
#navi h1,
#navi p {
  float: left;
/*  height: 130px; */
  line-height: 50px;
  transition: all .4s;
  font-size: 26px;
  font-weight: bold; color: #178ecb; 
}header.smaller #navi h1,
header.smaller #navi p   { font-size: 16px;}
  
  #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:#178ecb;  font-weight:normal; border-right:1px solid #178ecb;  padding: 0 1em ; margin: 0 0; 
  position: relative;
  text-decoration: none;
}

a.ib::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 2px; border-radius: 3px;
  -webkit-transform: scaleX(0.2); -ms-transform:scaleX(0);
  transform: scaleX(0.2);
  background-color: #178ecb;
  -webkit-transition: all .3s;
  transition: all .3s;}
	
a.ib:hover::after,.greeting li.greeting a.ib::after,.company li.company  a.ib::after,.business li.business  a.ib::after{
  -webkit-transform: scaleX(.7); 
  -ms-transform: scaleX(.7);
  transform: scaleX(.7);
}	
li:last-child a.ib,header.smaller #navi li:last-child a.ib{ border:none; }
	
.menu .menu-parent{ padding: 0!important; margin: 0 !important;  }
	

header.smaller #navi a.ib{ color:#FFF;border-right:1px solid #fff;}
header.smaller #navi a.ib::after { background-color: #FFF;}
}


/* ドロップダウンメニュー */
.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; color: #fff;
  }
	#navi #navibtn span b{  color: #fff;}
  #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; border-top: 1px solid #178ecb; }
#footer nav{background:#1c509b; padding: 0; text-align: center; color: #fff; margin:-10px 0  0; }
#footer nav li { display: inline-block; vertical-align: middle;  padding:1em 2em;  }
#footer nav li a { display: inline-block;  padding: 0;   
  position: relative;
  text-decoration: none; color: #fff;
}
#footer nav li a::after {
  position: absolute;
  bottom: -6px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #fff;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
}
#footer nav li a:hover{ color: #fff;}
#footer nav li a:hover::after {
  bottom: -2px;
  opacity: 1;
  visibility: visible;
}

#footer dl{  display:  inline-block; vertical-align: top;width: 100%; max-width: 910px; padding:20px 0px; text-align: center;}
#footer dl.footercontact dt{ font-size:36px; font-size:3.6rem; font-weight:bold; font-family: 'Raleway', sans-serif;color: #178ecb; font-style: italic; width:30%;}
#footer dl dt,#footer dl dd{ display:  inline-block; vertical-align: top;}
#footer dl.footercontact dd {width: calc( 70% - 30px ); text-align: left;}
#footer dl.footercontact dd div{ display:  inline-block; vertical-align: top;}
#footer dl.footercontact dd div:last-child{  margin-left:1.5em;}
#footer dl.footercontact dd div b{ font-size:22px; font-size:2.2rem; font-family: 'lato', sans-serif; display: block;}
#footer dl.footercontact dd div a{  color: #000; }
#footer dl.footercontact dd img { width:20px; height: auto; }
#footer dl.footercontact dd div a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  color:#000;
}
#footer dl.footercontact dd div a::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #333;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}
#footer dl.footercontact dd div a:hover::after {
  transform: scale(1, 1);
}
#footer dl.footercontact dd div span{ font-size:18px; font-size:1.8rem;  display: block;}

#footer .map{ margin:0; padding:0; border-top: 2px solid #178ecb; }
#footer iframe{width:100%;  }

#footer a.privacy { float:right; display: block;  font-size: 12px; width:150px;margin: 10px 0 0; }
#footer a.privacy:before{ 
font-family: "Font Awesome 5 Free";
  font-weight:900; 
  content: "\f0da"; }

#footer dl.footerabout{ text-align: left; float: left;  padding: 10px 0;}
#footer dl.footerabout dt {font-size:14px; font-size:1.4rem; font-weight:bold; margin-right: 1em}
#footer dl.footerabout b {   font-weight: normal; margin-left: 1em;}

.access #footer .map{ display: none;}
#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: #1c509b;  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:right; }





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

/*common*/
.sub .contents-header{ height: 200px; }
.sub .contents-header h1{ color: #fff; font-size:34px;  margin: 0px auto; width:90%; max-width: 920px; line-height: 300px;
display: flex;
align-items: center;text-shadow: 0px 0px 10px #3d3d3d;
}
.sub .contents-header h1:after {
border-top: 1px solid;
content: "";
flex-grow: 1;
}
.sub .contents-header h1:after {
margin-left: 1rem;
}
.sub .contents-header h1 span{font-size: 18px;font-size: 1.8rem; margin-left:1em; }
.sub #contents h2{  font-size: 20px;font-size: 2.0rem; margin: 20px 0;  text-align: left;
  line-height: 1.4;/*行高*/}
.sub #contents h2:before, .sub #contents h2:after { 
  font-family: "Font Awesome 5 Free";
  display: inline-block;
  font-size: 1.0em;
  color: #178ecb;
}
.sub #contents h2:before {font-family: "Font Awesome 5 Free";
  font-weight: 900; 
  content:"\f053";/*アイコン種類*/
  padding-right: 0.5em
}
.sub #contents h2:after {font-family: "Font Awesome 5 Free";
  font-weight: 900; 
  content:"\f054";/*アイコン種類*/
  padding-left: 0.5em
}

.sub .content{  padding: 0px 0 30px; margin: 20px auto; max-width:900px; width:90%; }
.sub .content2{  padding: 0px 0 30px; margin: 20px auto;  width:100%; }
.sub .content article{  padding:60px 0 0; clear: both; }
.sub .content img.img{   display: block; margin: 30px auto;  width: auto; max-width: 100%; height: auto;}

/*挨拶*/
.greeting .contents-header{ background:  url("../img/greeting/title.jpg") 50% 50% no-repeat; background-size: cover;  }
.greeting  #contents  h3{ font-size: 22px;font-size: 2.2rem;  margin: 0 0 3em; font-weight: bold; }
.greeting  #contents  h3 b{  margin: 0 0.5em 0 0; border-bottom: 1px solid #999; color: #1c509b; }
.greeting  #contents  p{margin:2em 0; }
.greeting  #contents  p.sign{margin: 1em 0; text-align: right; }
.greeting  #contents  p.sign img,.greeting  #contents  p.sign span{ display:  inline-block; vertical-align: middle;}
.greeting  #contents  p.sign img{ width:45px; height: auto;  margin-right: 0.5em;}

/*企業概要*/
.company .contents-header{ background:  url("../img/company/title.jpg") 50% 50% no-repeat; background-size: cover;  }
.company  #contents  dl{ margin: 0 auto; width:90%; max-width: 800px; }
.company  #contents  dl dt,.company  #contents  dl dd{ display:  inline-block; vertical-align: top; border-bottom: 1px solid #999; }
.company  #contents  dl dt{ width: calc( 30% - 20px );padding: 20px 0 20px 20px;}
.company  #contents  dl dd{  width: calc( 70% - 20px );padding: 20px 10px; background: #fff;}
.company  #contents  dl dd li:before{ content:"・"; margin-right: 0.1em;}
.company  #contents  dl dd ul{margin: 0 0 0.5em 1em;}

/*業務案内*/
.business .contents-header{ background:  url("../img/business/title.jpg") 50% 50% no-repeat; background-size: cover;  }
.business  #contents  p{ font-size: 20px;font-size: 2.0rem; font-weight: bold;  }
.business  #contents  p.last{  margin-bottom:3em; }
.business  #contents ul{ margin: 0 auto; width:90%; max-width: 800px;}
.business  #contents .no01 ul li{  margin: 5px 10px;  display:  inline-block;  width: calc( 100% /2 -  40px); vertical-align: middle;}
.business  #contents .no01 ul li::before{ 
font-family: "Font Awesome 5 Free";
  font-weight: 900;  font-size:16px;
  content: "\f00c";  margin-right:5px;
}

.business  #contents .no03 ul li{  margin: 10px;border-left:5px solid #999; padding-left: 10px;}
.business  #contents  .no02{  text-align: center;}
.business  #contents table{  float: left; border-collapse: collapse;margin: 0 10px;  border: 1px solid #999; text-align: left; width: calc(100% / 2 - 20px);  }
.business  #contents table th,.business  #contents table td{ border-collapse: collapse; width:auto; padding: 15px 30px;  border: 1px solid #999; }
.business  #contents table th{background:#e6f3fa;}
.business  #contents table td{  text-align: center;}

.business  .content ul.img li{  display: inline-block; width: calc( 100% / 3 ); vertical-align: middle; padding: 0;  }
.business  .content ul.img li img{   height:auto; width: 100%;}
.business  .content ul.img{text-align: center !important;  width:100%; padding:60px 0 0;}


/*所在地*/
.access .contents-header{ background:  url("../img/access/title.jpg") 50% 50% no-repeat; background-size: cover;  }
.access .content .map iframe{  width:100%; height: 300px; display: block; margin: 30px auto;}
.access .content dt,.access .content dd{ display: inline-block;  vertical-align: top; margin: 0 20px;}
.access .content dt{ font-size: 20px;font-size: 2.0rem; font-weight: bold; }
.access .content dd b{font-size:18px;font-size: 1.8rem; margin-right: 1em; }


/*採用情報*/
#req .contents-header{ background:  url("../img/req/title.jpg") 50% 50% no-repeat; background-size: cover;  }
#req .suvnav {  text-align: center; background: #1c509b; padding: 8px 0; }
#req .suvnav li{ display:  inline-block; margin:0 ; }
#req .suvnav li a{ color:#fff;  font-weight:normal; border-right:1px solid #fff;  padding: 0 1em 0 ; margin: 0 0; 
  position: relative;
  text-decoration: none;
}
#req .suvnav li a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 2px; border-radius: 3px;
  -webkit-transform: scaleX(0.2); -ms-transform:scaleX(0);
  transform: scaleX(0.2);
  background-color: #fff;
  -webkit-transition: all .3s;
  transition: all .3s;}
#req .suvnav li a:hover::after{
  -webkit-transform: scaleX(.7); 
  -ms-transform: scaleX(.7);
  transform: scaleX(.7);
}	
#req .suvnav li:last-child a{ border:none; }

.staff #wrapper #slide-div { width: 100%; text-align: center; margin: -50px 0 0px; }
.staff #wrapper #slide-div li{ width: calc( 100% / 6 - 10px ); text-align: center; }
.staff #wrapper #slide-div img{ width: 98% ; height: auto; display: block;  }

.staff #contents h2{  font-size: 24px;font-size: 2.4rem; margin: 0px 0 20px;  text-align: center;
  line-height: 1.4;/*行高*/}
.staff .no01 h3{ font-weight:bold;text-align: center;  margin: 0 0 2em;font-size:20px;font-size: 2.0rem;}


.staff #wrapper .no01  p{ margin: 1em; text-align: center;}
.staff #wrapper .no01  b{ display: block; margin:0.5em 0;}
.staff #wrapper .no01 h4{margin: 0 0 1em 1em;color: #1c509b; font-size: 18px;font-size: 1.8rem;}
.staff #wrapper .no01 h4:before{ 
font-family: "Font Awesome 5 Free";
  font-weight: 900;  font-size:16px;
  content: "\f14a";  margin:0 0.5em 0 0;
}
.staff #wrapper .sikakushutoku{background:#e6f3fa; margin:  40px auto; width:90%; padding: 20px; max-width: 600px; text-align: left;}
.staff #wrapper .no01 .sikakushutoku  p{ text-align: left;}
.staff #wrapper .no01  b u {text-decoration: none;
background:linear-gradient(transparent 75%, #ff9393 75%);
font-weight:bold; 
}
.staff .no01 a{  display: block; width:150px; text-align: center; background: #178ecb; font-size:20px;font-size: 2.0rem; color: #fff; transition: all 0.5s ease 0s; margin: 30px auto; padding: 15px; border-radius: 10px;}
.staff .no01 a:hover{ background: #1c509b;border-radius: 0;}
.staff .content{  padding: 0px 0 0px; margin: 20px auto 0; }


/*プライバシ*/
.privacy .contents-header{ background:  url("../img/access/title.jpg") 50% 50% no-repeat; background-size: cover;  }
.privacy .content dt{ font-size:16px;font-size: 1.6rem; margin: 1em auto 0; border-left:5px solid #1c509b; padding: 0 0 0 8px;}
.privacy .content dd ul{  margin: 0.5em;}
.privacy .content dd ul li{  margin: 0.5em;}
.privacy .content dd ul li::before{ 
font-family: "Font Awesome 5 Free";
  font-weight: 900;  font-size:16px;
  content: "\f14a";  margin:0 0.5em 0 0;
}

.privacy .content dd {  margin: 0.5em 0 2em 15px; }
.privacy .content .shomei { margin: 0 0 0 auto; max-width:20em; width:90%;}
.privacy .content .shomei h3 {font-size:18px;font-size: 1.8rem;}

div.chuijiko{ margin:2em 0 0 3em}
div.chuijiko b{ display: block; margin:0 0 0 1.2em; padding: 0; font-weight: normal;}
div.chuijiko b:before{ content:"※"; margin:0 0.2em 0 -1em}


/* メインメニュー iPadサイズ以下から
------------------------------------------------------------*/
@media only screen and (max-width: 1025px){.business  .content ul.img li{  height:200px; }

} 
@media screen and (min-width:895px) {#navi h1 img.normal,
#navi p img.normal {
  vertical-align: middle;
  margin-top: -10px;
  transition: all .4s;
  max-width:300px;
  padding-right: 6px;height: auto;
}header.smaller #navi img.white{ max-width:260px;height: auto;}
}
@media only screen and (max-width:860px){.sub #contents{ margin: 80px auto 0; }
	
#footer nav li { padding:1em ;  }
.business  #contents table th,.business  #contents table td{ padding: 15px ;  }
.staff #wrapper #slide-div li{ width: calc( 100% / 6 - 10px ); text-align: center; }

	
	
}
@media only screen and (max-width:800px){.menu-btn{ display: none;}
.sub .content article{  padding:30px 0; clear: both; }
.business  .content ul.img li{  height:250px; margin: 5px; }
.staff #wrapper #slide-div img{ width: 98% ; height: auto; display: block;  }



}
@media only screen and (max-width:750px){#footer dl.footercontact dt,#footer dl.footercontact dd{  display: block; width:100%; text-align: center;  }
#footer dl.footercontact dd div{ text-align: left;}
.company  #contents  dl{ margin: 20px auto 0; border-top: 1px solid #999;}
.company #contents dl dt,.company #contents dl dd { display: block;  width: calc( 100% - 20px ); padding: 15px 10px 15px;}
.company #contents dl dt{ background:#f0f0f0; border: none;}
.business  #contents table{  float: none;margin: 10px auto 0;  width: 90%;  }
.business  #contents table.second{ margin: -1px auto 0;  width: 90%;  }	.business  #contents table td{width:40px;  }
 #slide-div li{ width: calc( 100% / 4 - 10px ); text-align: center; }
#slide-div li img{ width: 98%; height: auto;}
#navi h1 img.normal,
#navi p img.normal {margin-top: 0;  width:280px;  }
#navi h1 img.white,
  #navi p img.white {
    margin-top: 0;
  width:240px;
  }
}


@media only screen and (max-width: 680px){ 
#footer nav{ text-align: left;}
#footer nav li { width: calc( 100% / 2 - 5px); padding: 1em 0; margin: 0; border-right: 1px dotted #999;border-bottom: 1px dotted #999; text-align: center; }
#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;}
.business  .content ul.img li{  height:auto; margin: 5px; width:90%; max-width: 300px; }
.business  .content ul.img li img{ width:100%; height:auto;  }
.business  #contents .n{  line-height: 1.2; position: absolute; bottom:10%; left:8%;}
.sub .contents-ho01 ul li{  margin: 5px auto;  display:  block;  width:90%; }
}

@media only screen and (max-width: 600px){
.sub #contents h2{ font-size: 22px; font-size: 2.2rem;}
#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;}
#footer dl.footerabout b { display: block;  margin-left: 0em;}
	.sub .content2 #slide-div  li{ width: calc( 100% / 3 - 10px ); text-align: center; }

}

@media only screen and (max-width: 500px){#footer dl.footercontact dd div{ margin: 0 0 10px;}
.sub .contents-header{ position: relative;}
.sub .contents-header h1eader h1 span{  display:none;  }
}



/* 幅400px以下から ヘッダー等微調節
------------------------------------------------------------*/
@media only screen and (max-width: 400px){ 
#navi h1 img,
  #navi p img {
    margin-top: 0;
  width:280px;
  }
	#navi h1 img.white,
  #navi p img.white {
    margin-top: 5px;
  width:200px;
  }
}