/** mukai add start */
/* ----------------------------------------------------------------------------
 * #l-wrapper 
 * ------------------------------------------------------------------------- */
body,
#l-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  position: relative;
  padding-bottom: 0px;
}

#nav-wrapper .btn-dropdown{
position: relative;
display: none;
width: 44px;
height:44px;
/*float: right;*/
white-space: nowrap;
font-size:10px;
cursor: pointer;
text-align: center;
margin-top:-3px;
}
#nav-wrapper .btn-dropdown .icon-menu {
display: block;
position: absolute;
top: 8px;
left: 14px;
width: 30px;
height: 33px;
background-image: url("../images/common_icon_menu.png");
background-repeat: no-repeat;
background-size: 100% auto;

}
 
/* ----------------------------------------------------------------------------
 * #strnav-wrapper ナビメニューCSS
 * ------------------------------------------------------------------------- */
#nav-wrapper{
padding-top:0px;
overflow:hidden;
float:left;
}
#nav-wrapper.hide{
display: block!important;
}
#nav-box{
/*position:fixed;*/
top:116px;
/*width: calc(30.99999vw - 20px);*/
max-width: 294px;
z-index: 10000;
display: block;
height: calc(100% - 106px);
overflow-x: hidden;
}
#nav-box1{
/*position:fixed;*/
top:116px;
/*width: calc(30.99999vw - 20px);*/
max-width: 294px;
z-index: 10000;
display: block;
/*height: calc(100% - 106px);*/
/*overflow-x: hidden;*/
}
#nav-box2{
/*position:fixed;*/
top:116px;
width: calc(30.99999vw - 20px);
max-width: 294px;
z-index: 10000;
display: block;
/*height: calc(100% - 106px);*/
overflow-x: hidden;
}
#nav-box3{
/*position:fixed;*/
top:116px;
width: calc(30.99999vw - 20px);
max-width: 294px;
z-index: 10000;
display: block;
/*height: calc(100% - 106px);*/
overflow-x: hidden;
}
#nav-inner{
height:100%;
width: 100%;
padding-right: 20px;
-webkit-overflow-scrolling: touch;
overflow-scrolling: touch;
/*overflow-y: scroll;*/
transform: translateZ(0);
}
#nav-inner1{
/*min-height: 100%;*/
/*width: 30.99999vw;*/
padding-right: 20px;
-webkit-overflow-scrolling: touch;
/*overflow-scrolling: touch;*/
/*overflow-y: scroll;*/
transform: translateZ(0);
}
#nav-inner2{
/*min-height: 100%;*/
/*width: 30.99999vw;*/
padding-right: 20px;
-webkit-overflow-scrolling: touch;
/*overflow-scrolling: touch;*/
/*overflow-y: scroll;*/
transform: translateZ(0);
}
#nav-inner3{
/*min-height: 100%;*/
/*width: 30.99999vw;*/
padding-right: 20px;
-webkit-overflow-scrolling: touch;
/*overflow-scrolling: touch;*/
/*overflow-y: scroll;*/
transform: translateZ(0);
}

#nav-iframe{
max-width: 294px;
}
#nav-iframe2{
max-width: 294px;
}
#nav-iframe3{
max-width: 294px;
}


#knowledgeMain{
display: none;
padding-top:10px;
width: calc(66.577vw - 20px);
max-width:750.750px;
min-height: 500px;
float: right;
}

#home #knowledgeMain{
padding-top:40px;
width:1020px;
min-height: 500px;
max-width:none;
float:none;
}

#knowledgeMain.hide{
display: block!important;
}
.carousel-slider .slick-slide{
padding:0 10px 10px;
}
.pc-screen-1 .image{
float: left;
width: 50%;
}
.pc-screen-2 .image{
float: left;
padding-left: 22px;
}
.pc-screen-2 .desc{
float: right;
padding-left: 22px;
}
.smp-screen-1 .image{
float: left;
width: 33.33333333%;
}
/** mukai add end */
@media print, screen and (min-width: 580px)
.site-inner {
    padding-left: 16px;
    padding-right: 16px;
    max-width: 1012px;
}
.site-inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 10px;
}
.site-inner3 {
    padding-left: 16px;
    padding-right: 16px;
    max-width: 1012px;
}
.site-inner3 {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 10px;
}
.site-inner:after, .site-inner:before {
    content: " ";
    display: table;
}
.site-inner3:after, .site-inner3:before {
    content: " ";
    display: table;
}
.site-inner2 {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 10px;
  text-align: center;
}
/* ----------------------------------------------------------------------------
 * #str-footer2 ナレッジのフッタ
 * ------------------------------------------------------------------------- */
#str-footer2 {
    margin: 60px 0 0;
    overflow: hidden;
    display: block;
    width: 100%;
    margin-top: auto;
    /*position: absolute;*/
    position: relative;
    bottom: 0;

}

#str-footer2 .site-inner2 {
  position: relative;
  max-width: 1012px;
  margin: 0 auto;
}

#str-footer2 .site-inner2 .page-previous {
  font-size: .75rem;
  position: absolute;
  top: 50%;
  left: 4.16em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

#str-footer2 .site-inner2 .page-previous a {
  text-decoration: none;
  color: #333;
  position: relative;
  display: block;
}

#str-footer2 .site-inner2 .page-previous a::before {
  position: absolute;
  top: 50%;
  left: -2.16em;
  width: 1.16em;
  height: 1.16em;
  margin-top: -.167em;
  content: "";
  transition: .3s left ease;
  -webkit-transform: rotate(-45deg) translateY(-50%);
          transform: rotate(-45deg) translateY(-50%);
  border-top: 2px solid #4a4a4a;
  border-left: 2px solid #4a4a4a;
}

#str-footer2 .site-inner2 .page-previous a:hover::before,
#str-footer2 .site-inner2 .page-previous a:focus::before {
  left: -2.5em;
}

#str-footer2 .page-top {
  font-size: .75rem;
  text-align: center;
  padding: 20px 0 18px;
  border-top: 1px solid #b6b6b6;
}

#str-footer2 .page-top a {
  text-decoration: none;
  color: #4a4a4a;
  position: relative;
  display: inline-block;
  padding-left: 12px;
}

#str-footer2 .page-top a::before,
#str-footer2 .page-top a::after {
  position: absolute;
  content: "";
}

#str-footer2 .page-top a::after {
  top: .0625rem;
  left: -1.125rem;
  width: 1.125rem;
  height: .125rem;
  border-top: .0625rem solid #4a4a4a;
}

#str-footer2 .page-top a::before {
  position: absolute;
  top: 46%;
  left: -.9375rem;
  width: .75rem;
  height: .75rem;
  content: "";
  transition: .3s top ease;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  border-top: .125rem solid #4a4a4a;
  border-left: .125rem solid #4a4a4a;
}

#str-footer2 .page-top a:hover::before,
#str-footer2 .page-top a:focus::before {
  top: .3125rem;
}

#str-footer2 .area-banner {
  background-color: #e8e8e8;
   padding: 1px 12px 12px 1px;
}

#str-footer2 .area-banner .site-inner2 > *:first-child {
  margin: 0 auto;
}

#str-footer2 .area-footer {
  text-align: right;
}

#str-footer2 .area-footer .txt-footer-name {
  font-size: .75rem;
  color: #fff;
  margin: 0;
  padding: 24px 0;
}
/* ----------------------------------------------------------------------------
 * #str-footer　共通フッタ
 * ------------------------------------------------------------------------- */
body.color-blue #str-footer2 .area-footer {
  background-color: #157eb5;
}