@charset 'UTF-8';


body {
 min-width: 100%;
 font-size: 85%;
 box-sizing: border-box;
}

body,
#wrapper {/*footerをページ下部にするための処理*/
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

header{
  position:relative;
  top: 0px; 
  margin: 0;
  padding: 0; 
}

ul li{
  margin: 0px;
  padding-left: 0;
  list-style: none;
}
.item1 { order: 2; }
.item2 { order: 3; }
.item3 { order: 1; }
#wrapper {
 top: 60px;/*←headerの高さ*/
 padding-bottom: 60px;/*←footerの高さ*/
}

footer {
  margin-top: auto;/*footerをページ下部にするための処理*/
}

#global-nav_pc{
  display: none !important;
}

.sp {
	display: inline !important; 
}
.pc {
	display: none !important;
}

.container {

}

#global-nav_pc {
  display: none !important;
}

#intlo {
  padding: 30px 20px; 
}

.slider_top{

}

.intlo_container{
	padding: 0 10px; 
}

.intlo_container h2{
  text-align: left;
  display: block ; 
}

.intlo_container p{
	text-align: left;
	font-size: 1em;
}

.page-title_inner p{
  text-align: left;
  font-size: 1em;
}


/*ハンバーガーメニュー*/

.header_sp {
  display: flex !important;
  width: 100%;
  position: fixed;
  justify-content: space-between;
  align-items: center;

  padding: 0 16px;
  background: #fff;
  z-index: 99;
  box-shadow: 0px 5px 10px -3px rgba(10,10,10,0.1), -10px -10px 10px 0px rgba(10,10,10,0.02);

  min-width: 0; /*はみ出し防止*/
  flex-direction: row;
  overflow-wrap: break-word;
  box-sizing: border-box;
}

.header_sp img{
 width: 60%;
}


/*------------------------------
  ここから下ハンバーガーメニュー
  に関するCSS
  ------------------------------*/
  
  .drawrer{
  }

  /* チェックボックスは非表示に */
  .drawer-hidden {
    display: none;
  }

  /* ハンバーガーアイコンの設置スペース */
  .drawer-open {
    display: flex;
    height: 60px;
    width: 60px;
    /*padding-left: 8px;*/
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 98;/* 重なり順を一番下に */
    cursor: pointer;
  }

  /* ハンバーガーメニューのアイコン */

  .drawer-open label {
    display: inline-block;
    z-index: 99;
    position: fixed;
  }

  .bar {
    position: absolute;
    display: block;
    background-color: #333;
    width: 26px;
    height: 3px;
    border-radius: 5px;

    transition: background-color .3s ease-in, transform .3s ease-in, width .3s ease-in;
  }

  input[type="checkbox"] {
    display: none;
  }

  input[type="checkbox"]:checked ~ .content {
    transform: translateX(20%);
  }

  input[type="checkbox"]:checked ~ label .bar {
    background-color: #fff;
  }

  input[type="checkbox"]:checked ~ label .top {
    -webkit-transform: translateY(8px) rotateZ(45deg);
    -moz-transform: translateY(8px) rotateZ(45deg);
    -ms-transform: translateY(8px) rotateZ(45deg);
    -o-transform: translateY(8px) rotateZ(45deg);
    transform: translateY(8px) rotateZ(45deg);
  }

  input[type="checkbox"]:checked ~ label .bottom {
    -webkit-transform: translateY(-8px) rotateZ(-45deg);
    -moz-transform: translateY(-8px) rotateZ(-45deg);
    -ms-transform: translateY(-8px) rotateZ(-45deg);
    -o-transform: translateY(-8px) rotateZ(-45deg);
    transform: translateY(-8px) rotateZ(-45deg);
  }

  input[type="checkbox"]:checked ~ label .middle {
    width: 0;
  }

  .middle {
    margin: 0 auto;
  }

  /* 三本線のうち一番上の棒の位置調整 */
  .top {
    top: 21px;
  }

  /* 三本線のうち一番下の棒の位置調整 */
  .bottom {
    bottom: 20px;
  }


  /* メニューのデザイン*/
  .drawer-content {
    width: 80%;/* ここの割合を小さくすると閉じる部分の領域が広がる */
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;/* メニューを画面外へ */
    z-index: 100;/* 重なり順を一番上に */
    background: rgba(255,255,255,0.8);
    opacity:   ;
    transition: .5s;
  }

  /* アイコンがクリックされたらメニューを表示 */
  #drawer-check:checked ~ .drawer-content {
    left: 0;/* メニューを画面内へ */
  }

  /* メニューを閉じるための要素のデザイン*/
  .drawer-close {
    width: 100%;
    height: 100%;

    background: linear-gradient(to right, rgba(74,160,222,1) 0%, rgba(97,142,232,1) 80%);
    opacity: ;
    position: fixed;
    top: 0;
    left: 100%;/* 閉じるための要素を画面外へ */
    z-index: 3;/* 重なり順をメニューより下に*/
    transition: .5s;
  }


  #drawer-check:checked ~ .drawer-close {
    left: 0;/* 閉じるための要素を画面内へ */
  }

  .drawer-content ul{
    padding-left: 0;

    position: relative;
    text-align: center;
  }

  .drawer-content li{
    text-indent: 15%;
    display: block;
    position: relative;
    list-style: none;
    height: 50px;
    line-height: 50px;
    padding: 0; 
    text-align: left;
    list-style: none;
    border-top: 1px solid #afafaf;
  }

  .drawer-content li:first-child {
    border-top: 0px ;
  }

  ul.drawer-item  {
    display: block;
    left:0em;
    padding: 0 ;
  }

  ul.drawer-item  > li a{
    /*width:80%; */
    position: relative;
    display: block;
    font-size: 1em;
    padding: 0 16px;
    color: #707070;
	text-decoration: none;
  }

.nolink {
      color: #707070;
      padding: 0 16px;
 }

.parent {
  text-indent: 20%!important;
 }

  ul.drawer-item  > li a:hover{
    color: #fff;
  }

  .drawer-item  > li a:hover:before {
    position: absolute;
    content: '';
    width: 100%;
    height: 50px;
    left: 0;
    opacity: 100%;
    background:#67c5ff;
    z-index: -1;
  }

  .drawer-item   > li a:active:before {
    -webkit-transform: translateY(1px);
    transform: translateY(1px);
  }
/*------------------------------
ハンバーガーメニュー
ここまで
------------------------------*/


.service_container {
  margin-bottom: 30px;
}

.service_item a{
  width: 48%;
}


@media (max-width: 586px) {

  .service_item a{
    width:100%;
  }
  .service_item_inner {
   width: 100%;
   height:80%;
   margin: 0 0 3% 0;
 }
 .service_item_p1 p{
  margin: 0 ;
  font-size:2.7vmin;
}
.service_h {
  font-size: 4.7vmin;
}

}

.container h3{
  text-align: center;
  width: 100%;

}

.upbringing {
  max-width:80%;
}

.container dl{
  flex-direction: column;
  text-align: center;

}
.container dt {
  flex: 0 0 100%;


}
.container dd{
  flex: 0 0 100%;
  margin-left: 0;

}

.container_company {
  width: 100%;
  box-sizing: border-box;
}

.container_company dl{
  padding: 24px 0px 19px;
}

.page-title_inner h2{
  margin: 0 auto;
}

.container_service h3{
  width: 100%;
  text-align: center;
}

.container_service dl {
  justify-content: flex-start;
  -webkit-justify-content: flex-start;
  text-align: left;
  box-sizing: border-box;
}
.container_service dt {
  flex: 0 0 40%;
}
.container_service dd{
  flex: 0 0 100%;
  padding: 0;
  text-align: left;
}

.pb dt {
  flex: 0 0 40%;

}

.pb dd{
  flex: 0 0 100%;
  padding: 0;
  text-align: left;

}
.pb dt img{
  width: 100%;

}

.pb_installation {
    flex-flow: row wrap;
    justify-content: center;
    gap: 2%;
}

.pb_installation img{
  width: calc((100% /2) - 1%);

  margin-bottom: 1em;

}

.histoly  dl{
  flex-direction: row;  
  box-sizing: border-box;
  text-align: left;
}
.histoly dt{
  flex: 0 0 20% !important;
  margin-left: 0.5em;
}
.histoly dd{
  flex: 0 0 70% !important;
  margin-left: 1em;
}

#page-title{


}

.pt_company {
  height: auto !important;
}

.pt_policy {

}

.pt_privacy {

}

.pt_contact {

}

.page-title_inner {
  text-align: center;
  max-width: 860px;
  margin: 0 auto;
}


#page-title_sv1 {
  background-size: contain;
  background-repeat: no-repeat;
  background-position:0 60px;
  min-width: 100%;
  height: 143px;
  padding: 0 !important;

}


.page-title_sv1 {
  width: 50%;
  height: 0;
  text-align: left;
  margin: 0 ;
  padding: 0;
}


.service_copy {
  margin: 30px 0 ;
}


.sv1_box{
  height: 143px;
  width: auto;
  padding: 0 20px;
}

.sv1 h2{
  margin-top: 0.8em;
}
.sv2 {
  font-size: 1em ;

}
#service_link {
  margin-top: 0;
    padding: 25px 0 40px;

}
#service_link h3{
  width: 75%;
  height: auto;
  line-height: 28px;
}


.service_link_container{
  padding: 40px 4px 0;
    flex-direction: row;
    flex-wrap: wrap;
}

.service_link_item_t {
  position: relative;
  font-size: 1.1em;
  width: calc( (100%/3) - 4%);/*ボタン横3つ*/
  box-sizing: border-box;
  margin: 1%;
}

.service_link_item a:hover {
  transition: none;
  -webkit-transition: none;
  -moz-transition: none;
}

.service_link_item a:hover:after {
  transition: none;
  -webkit-transition: none;
  -moz-transition: none;
}

.service_link_item a:active{
  color: #67c5ff; 

}

.service_link_item:active a::after {
  animation: none;
  -webkit-animation: none;
  -moz-animation: none;
}

.fotter_put{
 display: none !important;
 /* height: 60px;*/
}
.container_policy p{
  line-height: ;
  margin: 3px 0 2em 0 ;
}
.container_policy ul{
  padding: 0 ;
}

.container_policy dl{
  width: 100%;
  padding: 0 10px;
  box-sizing: border-box;
}

.container_policy dt {
  text-align: center;
  width: 100%;
  box-sizing: border-box;
}

.container_policy dd{
  width: 100%;
  padding: 0;
  text-align: left;
}

.container_policy h5{
  text-align: center;
  padding: 0 ;
}


.container_policy ul,.container_policy ol{
  padding: 0 10px ;
}

.container_policy li{
  padding: 0 0 0 0;
}

.container_contact dt{
  text-align: left;
}

.container_policy ul > h5{
  text-align: left;
}

ul.ls-encircled {
  padding: 0 0 0 1em;
  padding-right: 1em;
}

.contact_box {
  box-sizing: border-box;
  width: 100%;
}

.container_contact{
  padding-bottom: -60px;
}

.op_banner{
  padding: 30px 0;
  display:block;
}

.ft_inner {
  height: 60px; /* ヘッダーと同じにしないと下に隙間ができます*/
}

.privacy_box {
  width: 100%;
  display: initial;
    text-align: center;
}
.privacy_box img {
/* max-width:25vw;*/
    width:100px;

}