/* Common Setting */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}
body{
  font-family: 'IBM Plex Sans Condensed', "游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Verdana,sans-serif;
  font-weight: 500;
  color: #555;
}

.maxWidth {
  max-width:1350px;
}

/* グローバルナビ固定分 */
.menu-padding {
  padding-top: 48px;
}

section{
  counter-reset: number;
}

.top-top {
  width:50%;
}

.logo h1{
margin-bottom: -1rem;
}

h2{
  font-size: 1.8rem;
}

a {
  text-decoration: none!important;
  color:#3aabd2;
}
dd {
  font-size: 1rem;
}

p {
  font-size:1.2rem;
}

.container  {
  max-width: 1300px;
}
.container2 {
  max-width: 900px;
  margin: auto;
}

.title-deco1{
  position: relative;
  color: #fff;
  padding:0.3em 0.5em 0.3em 1.8em;
  background-color: #446689;
  font-weight: bold;
  font-size: 1.3em;
}

.title-deco1::after {
  position: absolute;
  top: 50%;
  left:0;
  transform:translateY(-50%);
  content: '';
  width: 25px;
  height:4px;
  background-color:white;
}

.title-deco2{
  position: relative;
  color: #fff;
  padding:0.3em 0.5em 0.3em 1.8em;
  background-color: #727071;
  font-weight: bold;
  font-size: 1.3em;
}

.title-deco2::after {
  position: absolute;
  top: 50%;
  left:0;
  transform:translateY(-50%);
  content: '';
  width: 25px;
  height:4px;
  background-color:white;
}

.title-deco3{
  position: relative;
  color: #fff;
  padding:0.3em 0.5em 0.3em 1.8em;
  background-color: #1d2088;
  font-weight: bold;
  font-size: 1.3em;
}

.title-deco3::after {
  position: absolute;
  top: 50%;
  left:0;
  transform:translateY(-50%);
  content: '';
  width: 25px;
  height:4px;
  background-color:white;
}

.top-img {
  width:50vw;
}
.flex-img {
  display: flex;
}

/* セクションごとの見出し */
.general-title{
  position: relative;
  display: inline-block;
  line-height: 1.1;
  margin: 30px 0 60px 0;
  font-size: 2.5em;
  color: #242424;
}

.general-title small{
  font-size: 0.5em;
  font-weight: bold;
}

.general-title:before {
  content: '';
  position: absolute;
  bottom: -15px;
  display: inline-block;
  width: 100px;
  height: 4px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #39aad2;
  border-radius: 3px;
}

.general-opt1{
  font-size: 2.0em;
  font-weight: bold;
  color: #555;
  margin-bottom: 50px;
}

.general-opt2{
  font-size: 1.7em;
  font-weight: bold;
  color: #555;
  margin-bottom: 50px;
}

.general-opt2:before{
  background-color: rgba(78,56,19,1);
}

.general-opt3{
  font-size: 1.7em;
  font-weight: bold;
  color: #555;
  margin-bottom: 50px;
}

.general-opt3:before{
  background-color: rgba(0,64,152,1);
}

.general-opt4{
  font-size: 1.7em;
  font-weight: bold;
  color: #555;
  margin-bottom: 50px;
}

.general-opt4:before{
  background-color: #446689;
}

.general-opt5{
  font-size: 1.5em;
  font-weight: bold;
  color: #555;
  margin-bottom: 60px;
  margin-top: 5%;
}

.general-opt5:before{
  background-color: #3aabd2;
  width: 70%;
}

.row-opt1 h4{
  font-size: 1.0em;
  font-weight: bold;
  text-align: center;
  margin: 5px 0 10px 0;
}


/* コンテンツのタイトル */
.content-title{
  font-size: 1.4em;
  color: #444;
  font-weight: bold;
  padding-left: .5em;
  border-left: 5px solid #555;
}

.content-opt1{
  border-left: 5px solid rgba(78,56,19,1);
}

.content-opt2{
  border-left: 5px solid rgba(0,64,152,1);
}

.content-opt3{
  border-left: 5px solid #3aabd2;
  
  padding:2% 2% 2% 2%;
  line-height: 1.5;
  letter-spacing: 0.0005em;
}
.content-opt33{
  border-left: 5px solid #3aabd2;
  margin-top: 3%;
  height: 30%;
  padding:2% 2% 2% 3%;
  line-height: 1.5;
  letter-spacing: 0.0005em;
  font-size: 1.2rem;
}
.content-opt34{
  border-left: 5px solid #3aabd2;
  margin-top: 3%;
  height: 20%;
  padding: 2% 2% 2% 3%;
  line-height: 1.5;
  letter-spacing: 0.0005em;
  font-size: 1.5rem;
}
.col-md-7 > p {
  line-height: 1.7;
  font-size:1rem;
  letter-spacing: 0.0005em;
}
.font1 > p{
  line-height: 1.7;
  font-size:1rem;
  letter-spacing: 0.0005em;
  text-align: justify;
}
.col-md-6 > p {
  line-height: 1.7;
  font-size:1rem;
  letter-spacing: 0.0005em;
  
}
.font2 > p {
  font-size: 1rem!important;
  text-align: justify;
}

.line {
  transform: scale(1, 1);
}

/* ページ内説明用タイトル */
.top-title{
  font-size: 1.7em;
  font-weight: bold;
}

.detail-title1{
  font-weight: bold;
  border-top: solid 1px #777;;
  border-bottom: solid 1px #777;
  padding: 9px 0;
  margin-bottom: 15px;
}

.detail-title2{
  font-size: 1.1em;
  font-weight: bold;
  padding: 9px 0;
  margin-bottom: 7px;
}

.attention{
  font-weight: bold;
  color: #ff0000;
}

.attention01{
  font-weight: bold;
  font-size: 1.3em;
}

.attention02, .attention06{
  font-weight: bold;
  color:#ff7c00;
}

.attention03{
  font-weight: bold;
}

.attention04{
  font-weight: bold;
  color:#96acc4;
}

.attention05{
  font-weight: bold;
  color:#8a5d3e;
}

.stress01{
  color: #e70012;
  font-weight: bold;
  font-size: 2.4em;
  margin: 15px 0;
}

.stress02{
  color: #e70012;
  font-weight: bold;
  font-size: 2.0em;
  margin: 15px 0;
}

.stress03{
  color: #444;
  font-weight: bold;
  font-size: 2.0em;
  margin: 25px 0;
  line-height: 1.2;
}

.marker_yellow {
  background: linear-gradient(transparent 60%, #ffff66 60%);
}

.marker_pink {
  background: linear-gradient(transparent 60%, #ef93b6 60%);
}

.menu dl {
    border-bottom: 1px solid #ccc;
    margin: 15px 0;
}

.tex-box1{
  text-align: center;
}

.tex-box2{
  text-align: center;
  padding-top: 30px;
}

.tex-box1 p{
  margin: 1.5rem 0;
}

img {
  width: 100%;
  height: 100%;
}

img.opt1 {
  border-radius: 10px;
}

img.opt2 {
  border-radius: 5px;
}

.img-title1{
  padding: 0 200px;
}

.img-title2{
  padding: 0 280px;
}

.portfolio-item {
  margin-bottom: 20px;
}

.portfolio-item2 {
  margin-bottom: 4px;
}

/* トップページ イントロ設定 */
.intro-back1{
  position: relative;
  
  color:#2b2b2b;
  z-index:20;
}

.intro-back1:after {
  border: 50px solid transparent;
  border-top-color: #1d2088;
  border-bottom-width: 0;
  bottom: -49px;
  content: "";
  display: block;
  left: 50%;
  position: absolute;
  margin-left: -50px; /* 中央寄せに使用*/
}

/* 背景設定 */
.intro-back2, .intro-back3, .bread-back1{
  background: #1e1e1e;
  position: relative;
}

.bread-back1 {
  color:#fff
}
.bread-back1 span{

}
.bread-back1 span:hover {
  color: #3aabd2
}

.intro-back2:after {
  border: 50px solid transparent;
  border-top-color: #f5f5f5;
  border-bottom-width: 0;
  bottom: -49px;
  content: "";
  display: block;
  left: 50%;
  position: absolute;
  margin-left: -50px; /* 中央寄せに使用*/
}

.wrapper{
  padding :60px 0;
}

.wrapper1{
  background: #f7f7f7;
}

.wrapper2{
  background: #f7f7f7;
  padding: 60px 0;
}

.wrapper3{
  background: #f5f5f5;
}

/* 一部固定ページ、投稿ページタイトル設定 */
/* 下層ページ見出し設定 */
.page-intro{
  position:relative;
  overflow: hidden;
}
.tel-text{
  color: #fff;
  text-decoration: none;
}
.page-intro-img{
  z-index: 1;

}

/* 傾斜見出し */
.page-intro:before{
  position: absolute;
  background:rgba(0,64,152,0.6);
  box-shadow: 5px 5px 10px #777; /* 影の色 */
  top: -120%;
  left: 0px;
  width: 420px;
  height: 250%;
  content: '';
  -webkit-transform: rotate(20deg);
  transform: rotate(20deg);
  z-index:2;
}

.intro-opt1:before{
  background:rgba(0,100,0,0.4)!important;
  width: 460px;
}

.intro-opt2:before{
  background:rgba(204,204,204,0.6)!important;
}

.intro-opt3:before{
  background:rgba(119,119,119,0.5)!important;
  width: 460px;
}

.intro-opt4:before{
  background:rgba(68,102,137,0.8)!important;
}

.intro-opt5:before{
  background:rgba(78,56,19,0.7)!important;
}

.intro-opt6:before{
  background:rgba(78,56,19,0.7)!important;
}

.intro-opt7:before{
  content: none;
}


/* 各ページ ヘッダータイトル */
.page-intro .title-posi{
  position:absolute;
  top:25%;
  left:20px;
  z-index: 3;
}

.title-posi .title{
  width: 100%;
  font-size: 1.5em;
  font-weight: bold;
  text-shadow: 2px 2px 7px rgba(0,0,0,0.7);
  color:#fff;
  margin-left: 23%;
  padding:2% 2% 2% 0;
}
.title2 .title-posi{
  width: 100%;
  font-size: 1.5rem;
  font-weight: bold;
  text-shadow: 2px 2px 7px rgba(0,0,0,0.7);
  color:#fff;
  margin-left: 23%;
  padding:2% 2% 2% 0;
}

/* サブタイトル */
.title-posi .sub-title {
  font-size: 3rem;
  font-family: "ibm PLEX SANS CONDENSED";
  font-weight: bold;
  font-style: italic;
  z-index: 3;
  text-shadow: 2px 2px 8px rgba(0,0,0,0.7);
  color:#fff;
  line-height: 1.0;
  margin-top: 80px;
  margin-left: 23%;
}

.page-intro .title-posi2{
  position:absolute;
  width: 100%;
  top:35%;
  left:0;
  text-align: center;
  z-index: 3;
}

.title-posi2 .title{
  font-size: 2.5em;
  font-weight: bold;
  text-shadow: 2px 2px 7px rgba(0,0,0,0.7);
  color:#fff;
}

.title-posi2 .sub-title {
  font-size: 2.0em;
  font-weight: bold;
  z-index: 3;
  text-shadow: 2px 2px 8px rgba(0,0,0,0.7);
  color:#fff;
  line-height: 1.0;
  margin-top: 18px;
}

.drone-top-title01{
  font-weight: bold;
  font-size: 4.5em;
  margin: 20px 0 10px 0;
  line-height: 1.1;
  color: rgba(0,64,152,1);
}

.drone-top-title01 span{
  font-size: 0.6em;
}

.drone-top-title01 span.bo{
  line-height: 1.2;
  font-size: 0.6em;
  display: block;
}

.drone-title01{
  font-weight: bold;
  font-size: 3.5em;
  margin: 20px 0 10px 0;
}

.drone-title01 span{
  font-weight: bold;
  font-size: 0.8em;
  margin: 20px 0 10px 0;
  color: #e70012;
}

.drone-title02 {
  font-weight: bold;
  font-size: 2.5em;
  padding: 15px 10px;
  color: #fff;
  background: #e95412;
}

.drone-title03 {
  font-weight: bold;
  font-size: 1.5em;
  color: #e95412;
}

.drone-title04 {
  font-weight: bold;
  font-size: 2.2em;
}

.drone-title04 span {
  color: #e70010;
}

h3.sub-title1{
  font-weight: bold;
  font-size: 2.2em;
  text-align: center;
}

.font-opt01 {
  font-weight: bold;
  font-size: 1.3em;
}

.font-opt02 {
  font-weight: bold;
  font-size: 2.0em;
}

.font-opt03 {
  font-weight: bold;
  font-size: 2.5em;
}

.font-opt3 {
  color: #2178bd;
  font-weight: bold;
  margin-bottom: 25px;
  font-size: 2.2em;
}

.top-frame {
  border: 5px solid rgba(0,64,152,1);
  border-radius: 15px;
}

ul.top-list{
  padding: 0.5em 0.5em 0.5em 2em;
  display: block;
  margin: 10px auto;
}

ul.top-list li::marker {
  color: #444;
}

ul.top-list li{
  font-size: 1.7em;
  font-weight: bold;
  line-height: 1.9;
}

/* Point Box */
.point-box{
  margin: 10px 0;
  background: #fff;
  padding: 15px 10px;
  min-height: 565px;
}

.point-box p{
  font-size: 1.1em;
  font-weight: bold;
}

.point-list{
  margin: 25px 100px;
}

.point-list h3 {
  font-weight: bold;
  font-size: 2.2em;
  margin-bottom: 10px;
  padding: 5px 0;
  color: #ea5513;
  display: inline-block;
  border-bottom: 3px solid #ea5513;
}

.point-list h3::before {
  counter-increment: number 1;
  content: counter(number) ". ";
  color: #ea5513;
  display: block;
  float: left;
  line-height: 1.0;
  margin-left: 0px;
  margin-right: 12px;
  font-weight: bold;
  font-size: 1.1em;
}

.point-list p{
  font-weight: bold;
  font-size: 1.5em;
  margin-bottom: 25px;
}

.promote01{
  margin-bottom: 20px;
}

.promote01 h3{
  line-height:1.2;
  margin-bottom:0;
  font-weight: bold;
  font-size: 3.5em;
}

.promote01 h4.fsub{
  font-size: 2.5em;
  font-weight: bold;
}

.promote01 p{
  line-height:1.2;
  margin-bottom:0;
  font-weight: bold;
  font-size: 3.5em;
}

.promote02-l{
  width:20%;
  font-size: 3.0em;
  font-weight: bold;
  line-height: 1.0;
}

.promote02-l span{
  color: #e70012;
  line-height: 1.0;
  display: inline-block;
  font-size: 0.6em;
}

.promote02-r{
  width:50%;
  font-size: 6.2em;
  font-weight: bold;
  color: #e70012;
}

.promote03{
  font-weight: bold;
  font-size: 2.2em;
  color: #fff;
  background: #e95412;
  display: inline-block;
  padding: 10px;
}

/* リストの中央表示 */
.ul-align-center{
  display: flex;
  align-items: center;
  flex-direction: column;
}

.d-block01{
  position: relative;
}

.d-tex01{
  position: absolute;
  top: 5%;
  left: 5%;
  font-size: 5.8em;
  font-weight: bold;
  color: #fff;
}

.d-tex02{
  position: absolute;
  bottom: 5%;
  left: 5%;
  font-size: 2.5em;
  font-weight: bold;
  color: #fff;
}

.mt-opt1 {
  display: inline-block;
  background-color: #004ea2;
  padding: 15px 40px;
  color: #fff;
  font-weight: bold;
  text-shadow: 2px 2px 5px #333;
  text-align: center;
}

.main-title1 {
  font-weight: bold;
  font-size: 3.2em;
  line-height: 1.1;
  margin-bottom: 15px;
}

.main-title2 {
  font-weight: bold;
  font-size: 3.2em;
  line-height: 0.9;
  margin-bottom: 15px;
  display: inline-block;
  border-bottom: 4px solid rgba(0,64,152,1);
  padding: 15px;
}

.main-title2 .sub1 {
  font-weight: bold;
  font-size: 0.7em;
  line-height: 1.1;
  margin-bottom: 15px;
}

.sub-tiitle {
  font-weight: bold;
  font-size: 1.2em;
}

.main-title1 span {
  font-size: 0.7em;
}

/* 投稿・固定ページ タイトルデザイン */
.post-title, .page-title{
  position: relative;
  padding: 0.8rem .5rem;
  font-size: 1.5rem;
  margin: 25px 0;
}

.post-title:before,.post-title:after, 
.page-title:before,.page-title:after{
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  content: '';
  background-image: -webkit-gradient(linear, right top, left top, from(#cbcbe3), to(#3aabd2));
  background-image: -webkit-linear-gradient(right, #cbcbe3 0%, #3aabd2 100%);
  background-image: linear-gradient(to left, #cbcbe3 0%, #3aabd2 100%);
}

.post-title-opt01:before,.post-title-opt01:after{
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  content: '';
  background-image: -webkit-gradient(linear, right top, left top, from(#d6c8b1), to(#4e3813));
  background-image: -webkit-linear-gradient(right, #d6c8b1 0%, #4e3813 100%);
  background-image: linear-gradient(to left, #d6c8b1 0%, #4e3813 100%);
}

.post-title:before, .page-title:before {
  top: 0;
}
.post-title:after, .page-title:after{
  bottom: 0;
}

/*エラーページ*/
.errortext > p{
  font-size: 1.2rem!important;
  padding: 2%;
  text-align: center;
}
/*thankyouページ*/
.thankyou-text > p{
  font-size: 1.2rem!important;
  padding: 2%;
  text-align: center;
}

/* 固定ページ タイトルデザイン2 */
.page-title2{
  position: relative;
  padding: 0.8rem .5rem;
  font-size: 1.3rem;
  margin: 25px 0;
}

.page-title2:after{
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  content: '';
  background-image: -webkit-gradient(linear, right top, left top, from(#cbcbe3), to(#3aabd2));
  background-image: -webkit-linear-gradient(right, #cbcbe3 0%, #3aabd2 100%);
  background-image: linear-gradient(to left, #cbcbe3 0%, #3aabd2 100%);
}

.page-title2:after {
  bottom: 0;
}

.tel a{
  font-size: 2.2em;
  color: #3aabd2;
}

.tel a:before{
  font-family: "FontAwesome";
  font-weight: 900;
  content: '\f095';
  font-size: 1.0em;
  width: 25px;
  height: 25px;
  margin: 0 10px 0 10px;
}

/* サイドフッタータイトル */
.aside-title {
  position: relative;
  padding: 0.8rem .5rem;
  font-size: 1.5rem;
  margin: 25px 0;
}

.aside-title:after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  content: '';
  background-image: -webkit-gradient(linear, right top, left top, from(#cbcbe3), to(#1d2088));
  background-image: -webkit-linear-gradient(right, #cbcbe3 0%, #1d2088 100%);
  background-image: linear-gradient(to left, #cbcbe3 0%, #1d2088 100%);
}

.aside-title-opt01:after {
  background-image: -webkit-gradient(linear, right top, left top, from(#d6c8b1), to(#4e3813));
  background-image: -webkit-linear-gradient(right, #d6c8b1 0%, #4e3813 100%);
  background-image: linear-gradient(to left, #d6c8b1 0%, #4e3813 100%);
}

.aside-title:after {
  bottom: 0;
}

.opt-title01{
  font-weight: bold;
}

.opt-title02{
  font-weight: bold;
  color:#ff0000;
}

/* パンくずリスト */
.breadcrumbs{
  font-size: 0.8rem;
  line-height: 1.2;
  justify-content: left;
  padding: 15px 0;
}

span.current-item{
  font-weight: bold;
}

/* モバイル用表示ラッパー */
.nav-wrap{
  display:none;
  height:100%;
  width:100%;
  text-align:center;
}

/* 親要素(子要素に相対位置を設定) */
.parent-cont{
  position:relative;
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { 
  display: block !important; 
}
.sp { 
  display: none !important; 
}

.text-posi{
  text-align: center;
  margin: 7% 0 0 0;
  font-size: 1.5rem;
}

.text-posi > p{
  margin:-4% 0 10% 0 ;
  font-size:1rem;

}
.space > .text-posi p{
  margin:-4% 0 4% 0 ;


}
.text-posi2{
  text-align: center;
}
.text-posi3{
  text-align: center;
  margin: 7% 0 7% 0;
  font-size: 1.3rem;
  line-height: 1.7;
}

/* オーバフロー禁止設定 */
.ban-overflow{
  overflow-x: hidden;
}

/* トップスライド */
.icatch {
  overflow-x: hidden;
  margin: 0;
  padding: 0;
  -webkit-animation: fadein2 2s ease 0s 1 forwards;
  animation: fadein2 2s ease 0s 1 forwards;
  opacity: 0;
  z-index: 1;
}

.icatch2, .icatch3{
  overflow-x: hidden;
  margin: 0;
  padding: 0;
}

ul.icatch li{
  position: relative;
}

ul.icatch li .slide-text{
  position: absolute;
  bottom: 25%;
  left: 7%;
  color:#fff;
  font-weight: bold;
  opacity: 0;
}

ul.icatch li > img{
  filter: brightness(92%);
  -webkit-filter: brightness(92%);
}


/* スライドテキスト設定 */
.slick-active .slide-text {
  animation: FadeAni 1.5s ease 0.8s 1 normal both;

}
@keyframes FadeAni {
  from {
      opacity: 0;
      transform: translateY(20px);
  }
  to {
      opacity: 1;
      transform: translateY(0);
  }
}

@-webkit-keyframes FadeAni {
  from {
      opacity: 0;
      transform: translateY(20px);
  }
  to {
      opacity: 1;
      transform: translateY(0);
  }
}

.contel-top {
  text-align: center;
  background-color: #f7f7f7;
}
.contel {
  width: 50%;
  margin: 8% 0;
  
}
.con-tel {
  position: relative;
}

.contel2 {
  position: absolute;
  right: 1%;
  width: 26%;
  height: 33%;
  top: 47%;
}
.contel3 {
  width: 85%;
  padding: 2% 0% 0 5%; 
}

.cotira {
  position:absolute;
  left:50%;
  width:20%;
  height:auto;
  margin-top: 12%;
}
.nav-tel {
  padding:
}

/* トップスライドテキスト情報 */
.slide-title{
  font-size: 3.6em;
  font-family: "ibm PLEX SANS CONDENSED";
  font-weight: bold;
  font-style: italic;
  line-height: 0.8;
  margin-bottom:40px;
  text-shadow: 1px 1px 2px #555;
}

.slide-title span{
  font-size: 0.7em;
}

.slide-text p{
  font-size: 1.8em;
  text-shadow: 1px 1px 2px #333;
  line-height: 1.2;
}

/* 通常ヘッダー設定 */
.nav-header{
  width:100%;
  min-height:95px;
  z-index: 10;
}

.nav-header .logo{
  font-size: 18px;
  margin: 10px 7px;
}

.nav-button{
  display: none;
}

.nav-list {
  margin:0;
}

.nav-list a{
  color: #000;
  text-decoration: none;
  font-size: 15px;
  color: #448aff;
}

.nav-list li{
  display: inline-block;
  margin: 0 7px;
  z-index: 5;
}

/* 事業メニューボックス */
.menu-box{
  position: relative;
  width: 100%;
  height: auto;
  display: block;
  margin:0;
  overflow:hidden;
}

.border2:after {
  display: block;
  content:'';
  z-index:0;
  border: 2px solid #fff;
  top:50%;
  left:50%;
  position:absolute;
  width:55%;
  height: 55%;
  transform: translate(-50%, -50%);
}

 .img-fluid {
  z-index: -100;
 }
 
 .menu-box a{
  transition: 0.7s;
  display: block;
}
.menu-box a{
  transition: 0.7s;
  display: block;
}
.menu-box a:hover{
  filter: brightness(130%);
  -webkit-filter: brightness(130%);
}

.menu-box img{
  filter: brightness(70%);
  -webkit-filter: brightness(70%);
  transition:1s all;
}

.menu-box img.img-opt1{
  filter: brightness(55%);
  -webkit-filter: brightness(55%);
  transition:1s all;
}

.menu-box img.img-opt2{
  filter: brightness(88%);
  -webkit-filter: brightness(88%);
  transition:1s all;
}

.menu-box a:hover > img{
  transform:scale(1.1,1.1);
}

.menu-box a{
  text-decoration: none;
  color: #fff;
}

/* 事業メニューボックス テキスト */
.menu-box .inner{
  position: absolute;
  bottom: 22%;
  width: 100%;
  z-index: 1000;
}

.inner-opt1{
  bottom: 35%!important;
}

.menu-box .inner-posi{
  bottom: 12%;
}

.menu-box .inner-posi2{
  top: 20%;
}

.inner h3{
  font-family: "ibm PLEX SANS CONDENSED";
  font-size: 2.5em;
  font-weight: bold;
}

.inner h3.large1{
  font-size: 2.5rem;
  line-height: 1.0;
  text-shadow: 2px 2px 7px rgba(0,0,0,0.7);
  margin:0;
  padding-top:8%;
}

.inner p{
  font-weight: bold;
  margin-bottom: 30px;
}

.inner p.baner1{
  font-size: 19px;
  text-shadow: 2px 2px 7px rgba(0,0,0,0.7);
}

.inner .i-button, .inner2 .i-button{
  color: #fff;
  text-align: center;
  font-size: 2em;
  font-weight: bold;
  padding: 0 30px;
  z-index: 1000;
  line-height: 30px;
  width: 220px;
  margin: 30px auto 0;
  display: block;
  text-decoration: underline;
}

.border {
  padding: 200px 300px;
  border: 3px solid #fff;
  position: absolute;
}

.inner .i-btn-opt1{
  font-size: 1.1em;
  padding: 5px 30px;

  line-height: 30px;
  width: 50%;
  margin: 30px auto 0;
  display: block;
}

.menu-box .inner2{
  position: absolute;
  bottom: 25%;
  width: 100%;
  text-shadow: 2px 2px 7px rgba(0,0,0,0.5);
}

.inner2 .frame1{
  display: block;
  padding :0 120px;
}

.inner2 h3{
  font-size: 2.0em;
  font-weight: bold;
  position: relative;
  padding: 1em 0;
}

.inner2 h3:before,
.inner2 h3:after {
  position: absolute;
  content: '';
}

.inner2 h3:after {
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
  border-top: 3px solid #fff;
  border-left: 3px solid #fff;
}

.inner2 h3:before {
  right: 0;
  bottom: 0;
  width: 50px;
  height: 50px;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
}

.inner2 p{
  font-weight: bold;
  font-size: 1.2em;
}

/* 固定ページコンテンツボックス */
.box-1{
  width: 58%;
  margin-right:10px;
}

.box-2{
  width: 42%;
  padding: 6% 0 0 2%;
  background-color: #fff;
}

.box-opt1{
  margin-right:10px;
}

.box-2 h4{
  font-size: 1.6em;
  font-weight: bold;
  color: #444;
  padding-left: .5em;
  border-left: 5px solid #555;/* 線 */
}

.box-2 h4.title-opt1{
  border-left: 5px solid #3aabd2;/* 線 */
  
  height: 20%;
  padding: 4%;
}
.box-2 > P {
  margin: 4% 0 0 0;
  font-size:1rem;
}

/* リンクボタン設定 */
a.link-button {
  width: 70%;
  border: 1px solid #777;
  display: block;
  font-size: 16px;
  font-weight: bold;
  margin: 30px auto;
  padding: 15px 10px;
  position: relative;
  text-align: center;
  color:#777;
  background: #fff;
}

a.link-button2 {
  width: 100%;
  border: 1px solid #777;
  display: block;
  font-size: 16px;
  font-weight: bold;
  margin: 30px auto;
  padding: 10px 10px;
  position: relative;
  text-align: center;
  color:#777;
}

a.link-button3 {
  width: 100%;
  border: 1px solid #777;
  display: block;
  font-size: 16px;
  font-weight: bold;
  margin: 30px auto;
  padding: 10px 10px;
  position: relative;
  text-align: center;
  color:#fff;
  background: #777;
}

a.link-button4 {
  width: 100%;
  border: 1px solid #777;
  display: block;
  font-size: 16px;
  font-weight: bold;
  margin: 30px auto;
  padding: 25px 10px;
  position: relative;
  text-align: center;
  color:#777;
}

.button-area a:hover {
  color: #fff;
  background-color: #888;
}

.button-area2 a:hover,.button-area4 a:hover {
  color: #fff;
  background-color: #777;
}

.button-area3 a:hover {
  color: #777;
  background-color: #fff;
}

.button-area-opt01 a:hover {
  background-color: rgba(78,56,19,1);
}

.button-area a, .button-area2 a, .button-area3 a{
  transition: all 300ms linear;
  text-decoration: none;
}

/* アニメーション設定 */
/* ヘッダータイトルフェードイン設定 */
.set1{
  -webkit-animation: fadein 1.0s ease .5s 1 forwards;
  animation: fadein 1.0s ease .5s 1 forwards;
  opacity: 0;
}

.set2{
  -webkit-animation: fadein 1.0s ease .8s 1 forwards;
  animation: fadein 1.0s ease .8s 1 forwards;
  opacity: 0;
}

.set3{
  -webkit-animation: fadein 1.0s ease 1.1s 1 forwards;
  animation: fadein 1.0s ease 1.1s 1 forwards;
  opacity: 0;
}



.f-set1{
  -webkit-animation: fadein2 1.0s ease .5s 1 forwards;
  animation: fadein2 1.0s ease .5s 1 forwards;
  opacity: 0;
}

.f-set2{
  -webkit-animation: fadein2 1.0s ease .8s 1 forwards;
  animation: fadein2 1.0s ease .8s 1 forwards;
  opacity: 0;
}

.f-set3{
  -webkit-animation: fadein2 1.0s ease 1.1s 1 forwards;
  animation: fadein2 1.0s ease 1.1s 1 forwards;
  opacity: 0;
}

/* アニメーション設定 */
@keyframes fadein {
  from {
    opacity: 0;
    transform: translateY(70px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@-webkit-keyframes fadein {
  from {
    opacity: 0;
    transform: translateY(70px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadein2 {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@-webkit-keyframes fadein2 {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* ナンバーリング */
.general-box {
  counter-reset: number;
}

.general-box h3::before {
  counter-increment: number;
  content: counter(number)". " ;
  padding-right: 5px;
}

.item-img{
  list-style-type:none;
}

.item-img li{
  padding:0;
  float: left;
  text-align: center;
  width: 32%;
  margin-right: 1%;
  margin-bottom: 3px;
}

/* アクセスinfo ナンバーリスト */
ol.number-list {
  counter-reset: my-counter;
  list-style: none;
  padding: 0;
}
 
ol.number-list li {
  margin-bottom: 18px;
  margin-left: 15px;
  padding-left: 30px;
  position: relative;
  font-size: 1.4em;
}

ol.number-list li span{
  font-weight: bold;
  color:#e65b62;
}

ol.number-list li:before {
  content: counter(my-counter);
  counter-increment: my-counter;
  background-color: #566373;
  color: #fff;
  display: block;
  float: left;
  line-height: 35px;
  margin-left: -55px;
  text-align: center;
  height: 35px;
  width: 35px;
  border-radius: 50%;
}

ol.number-list li.opt2:before {
 
  background-color: #e65b62;
}

ol.number-list li.opt3:before {
  background-color: rgba(0,64,152,1);
}

ul.list1{
  color: #286aab;
  border: double 5px #286aab;/*二重線 太さ 色*/
  background: #f1ffff; 
  padding: 0.5em 0.5em 0.5em 2em;
}

ul.list1 li{
  line-height: 1.5;
  padding: 0.5em 0;
}

ul.list2{
  border: solid 2px #ffb03f;
  padding: 0.5em 1em 0.5em 2.5em;
  position: relative;
  border-radius: 10px;
  background: rgba(255,255,255, 0.5);
}

ul.list2 li {
  line-height: 1.5;
  padding: 0.5em 0;
  list-style-type: none!important;/*ポチ消す*/
  font-size:1.1em;
}

ul.list2 li:before {
  font-family: "FontAwesome";
  content: "\f00c";
  position: absolute;
  left : 1em; /*左端からのアイコンまで*/
  color: #ffb03f; /*アイコン色*/
}

ul.list3{
  margin-left: 25px;
}

/* フロー */
.flow {
  margin-top: -5%;
}
ul.flow {
  border: 3px solid rgba(78,56,19,1);
  background: #fff;
}

ul.flow-opt1{
  border: 3px solid #446689;
}

ul.flow-opt2{
  border: 3px solid rgba(0,64,152,1);
}

ul.flow-opt3{
  border: 3px solid #e65b62;
}

ul.flow-opt4{
  border: 3px solid #555;
}

ul.flow-opt5{
  border: 3px solid #777;
}

ul.flow > li {
  padding: 30px;
  list-style-type: none;

}
ul.flow > li:nth-child(n+2) {
  
  list-style-type: none;
  margin-top:-6%;
}

ul.flow-opt1 > li:not(:last-child) {
  border-bottom: 3px solid #446689;
}

ul.flow-opt2 > li:not(:last-child) {
  border-bottom: 3px solid rgba(0,64,152,1);
}

ul.flow-opt4 > li:not(:last-child) {
  border-bottom: 3px solid #555;
}

ul.flow-opt5 > li:not(:last-child) {
  border-bottom: 3px solid #777;
}

ul.flow > li:not(:last-child)::before,
.flow > li:not(:last-child)::after {
  border: solid transparent;
  position: absolute;
  top: 100%;
  left: 17%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

ul.flow > li:not(:last-child)::before {
  border-width: 22px;
  border-top-color: rgba(78,56,19,1);
}

ul.flow-opt1 > li:not(:last-child)::before {
  border-top-color: #446689;
}

ul.flow-opt2 > li:not(:last-child)::before {
  border-top-color: rgba(0,64,152,1);
}

ul.flow-opt3 > li:not(:last-child)::before {
  border-top-color: rgba(0,100,0,1);
}

ul.flow-opt4 > li:not(:last-child)::before {
  border-top-color: #555;
}

ul.flow-opt5 > li:not(:last-child)::before {
  border-top-color: #777;
}

ul.flow > li:not(:last-child)::after {
  border-width: 18px;
  border-top-color: #fff;
}

ul.flow > li dl {
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

ul.flow > li dl dt {
  font-size: 20px;
  font-weight: 600;
  color: rgba(78,56,19,1);
  -ms-flex-preferred-size: 20%;
  flex-basis: 30%;
  margin-right: 30px;
  text-align: center;
  margin-right: 8%;
  padding: 2%;
  margin-left: 5%;
}

ul.flow-opt1 > li dl dt {
  color: #446689;
}

ul.flow-opt2 > li dl dt {
  color: rgba(0,64,152,1);
}

ul.flow-opt3 > li dl dt {
  color: #e65b62;
}

ul.flow-opt4 > li dl dt {
  color: #555;
}

ul.flow-opt5 > li dl dt {
  color: #777;
}

ul.flow > li dl dt .icon {
  font-size: 12px;
  color: #fff;
  background: rgba(78,56,19,1);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6b90db', endColorstr='#66d5e9',GradientType=1 );
  padding: 5px 10px;
  margin-bottom: 10px;
  display: block;
  border-radius: 20px;
  padding-left: 3%;
}

ul.flow-opt1 > li dl dt .icon {
  background: #446689;
}

ul.flow-opt2 > li dl dt .icon {
  background: rgba(0,64,152,1);
}

ul.flow-opt3 > li dl dt .icon {
  background:#e65b62;
  width: 25rem;
}

ul.flow-opt4 > li dl dt .icon {
  background: #555;
}

ul.flow-opt5 > li dl dt .icon {
  background: #777;
}

/* Q&A */
.qa-list dl {
    position: relative;
    margin: 0;
    padding: 28px 80px 28px 30px;
    cursor: pointer;
    border-bottom: 1px solid #000;
}
.qa-list dl:first-child {
    border-top: 1px solid #000;
}
.qa-list dl::before {
    position: absolute;
    top: 35px;
    right: 35px;
    display: block;
    width: 10px;
    height: 10px;
    margin: auto;
    content: '';
    transform: rotate(135deg);
    border-top: 3px solid #000;
    border-right: 3px solid #000;
}
.qa-list .open::before {
    transform: rotate(-45deg);
}
.qa-list dl dt {
    position: relative;
    margin: 0;
    padding: 0 0 0 50px;
    font-weight: bold;
    font-size: 1.0em;
}
.qa-list dl dt::before {
    font-size: 22px;
    line-height: 1;
    position: absolute;
    top: 3px;
    left: 0;
    display: block;
    content: 'Q.';
    color: #3285bf;
}
.qa-list dl dd::before {
    font-size: 22px;
    line-height: 1;
    position: absolute;
    top: 3px;
    left: 2px;
    display: block;
    content: 'A.';
    font-weight: bold;
    color: #ff7c00;
}
.qa-list dl dd {
    position: relative;
    display: none;
    height: auto;
    margin: 20px 0 0;
    padding: 0 0 0 50px;
}
.qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}

/* Card設定 */
.portfolio-item a:hover{
  text-decoration:none;
}

/* 詳細情報テーブル */
table.detail{
  margin:0px 0 50px 0;
  background:#fff;
  width:100%;
  border: 1px solid #dedede;
}

table.detail th{
  padding:10px 10px;
  background:#f4f4f4;
  width:25%;
  border-bottom: 1px solid #dedede;
}

table.detail tr:last-child th{
  border-bottom: 1px solid #dedede;
}

table.detail td{
  padding:5px 10px;
  border: 1px solid #dedede;
}

/* 取引先 */
table.profile{
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  margin:10px 0 30px 0;
  background:#fff;
  width:100%;
}

table.profile tr{
  border-bottom: 1px solid #ddd;
}

table.profile tr:first-child{
  border-top: 1px solid #ddd;
}

table.profile th{
  padding:15px;
  width: 28%;
}

table.profile td{
  padding:10px;
  width: 72%;
}

table.price {
  margin:10px 0 10px 0;
  background:#fff;
  width:100%;
  border: 1px solid #83B8CC;
}

table.price th {
  padding:12px 10px;
  width:18%;
  border-bottom: 1px solid #83B8CC;
  border-left: 1px solid #fff;
  background: #f5f5f5;
}

table.price th.mean {
  width:10%;
}

table.price td.mean {
  width:10%;
  font-weight:bold;
}

table.price tr:first-child th {
  border-left: 1px solid #83B8CC;
}

table.price td {
  padding:10px;
  border: 1px solid #83B8CC;
}

table.price caption {
  padding-top: .75rem;
  padding-bottom: .75rem;
  color: #111;
  text-align: left;
  caption-side: top;
  font-size: 1.1em;
}

/* 産廃関連価格表 */
table.price2 {
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  margin:10px 0 10px 0;
  background:#fff;
  width:100%;
  border: 1px solid #83B8CC;
}

table.price2 tbody tr:nth-of-type(2n+1) {
  background-color: rgba(0, 0, 0, 0.03);
}

table.price2 th {
  padding:12px 10px;
  border-bottom: 1px solid #83B8CC;
  border-left: 1px solid #fff;
  background: #f5f5f5;
}

table.price2 th.product {
  width:25%;
}

table.price2 th.standard {
  width:45%;
}

table.price2 th.quantity, table.price2 th.price{
  width:15%;
}

table.price2 tr:first-child th {
  border-left: 1px solid #83B8CC;
}

table.price2 td {
  padding:10px;
  border: 1px solid #83B8CC;
}

table.price2 caption {
  padding-top: .75rem;
  padding-bottom: .75rem;
  color: #111;
  text-align: left;
  caption-side: top;
  font-size: 1.1em;
}

table.price3 {
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  margin:10px 0 10px 0;
  background:#fff;
  width:100%;
  border: 1px solid #83B8CC;
}

table.price3 th {
  padding:12px 10px;
  border-bottom: 1px solid #83B8CC;
  border-left: 1px solid #fff;
  background: #f5f5f5;
}

table.price3 th.price {
  width:20%;
}

table.price3 th.kanagawa, table.price3 th.tokyo{
  width:40%;
}

table.price3 tr:first-child th {
  border-left: 1px solid #83B8CC;
}

table.price3 td {
  padding:10px;
  border: 1px solid #83B8CC;
}

table.price3 caption {
  padding-top: .75rem;
  padding-bottom: .75rem;
  color: #111;
  text-align: left;
  caption-side: top;
  font-size: 1.1em;
}

table.price4 {
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  margin:10px 0 10px 0;
  background:#fff;
  width:100%;
  border: 1px solid #83B8CC;
}

table.price4 th {
  padding:12px 10px;
  border-bottom: 1px solid #83B8CC;
  border-left: 1px solid #83B8CC;
  background: #f5f5f5;
  width: 30%;
}

table.price4 td{
  padding:10px;
  border: 1px solid #83B8CC;
}

table.price4 td.detail{
  width: 40%;
}

table.price4 caption {
  padding-top: .75rem;
  padding-bottom: .75rem;
  color: #111;
  text-align: left;
  caption-side: top;
  font-size: 1.1em;
}

.row-image{
  margin: 0 5px;
  width: 25%;
}

.row-image2{
  margin: 0 5px;
  width: 33%;
}

/* トピックス */
.topic-box{
  width:33%;
  margin: 15px 10px;
  border: 1px solid #777;
  background: rgba(255,255,255,.5);
}

.topic-box a{
  display: block;
  width: 100%;
  height: 100%;
}

.topic-img{
  padding: 10px;
}

.topic-cont{
  padding: 10px;
  color:#333;
}

.topic-box a:hover{
  text-decoration: none;
}

.topic-box .example-cat {
  text-align: center;
  border: 1px solid #777;
  padding: 5px 0;
  font-size: 17px;
  margin: 5px 10px 10px;
  color:#777;
}

.topic-cont h4{
  font-size: 1.0em;
  text-align: center;
  font-weight: bold;
}

.topic-cont > .news-date{
  width: 100%;
  text-align: center;
  border: 1px solid rgba(0,0,0,.1);
  border-radius: 5px;
  font-size: 1.0em;
}

/*トップ新着情報・お知らせ設定*/
ul.info, ul{
  margin:0;
  padding:0;
}

ul.info a{
  text-decoration: none;
}

ul.info li{
  margin: 10px 0;
  border-bottom: 1px solid #888;
  position: relative;
  padding: 10px 10px 10px 0em;
  color:#333;
}

.news-date{
  width: 100px;
}
.news-cat{
  width: 100px;
}

.news-cat span{
  background: #96a9b3;
  width: 130px;
  display: block;
  text-align:center;
  color:#fff;
}

.news-subject{
  width:100%;
  text-decoration: none;
}

.news-list{
  width:100%;
  text-decoration: none;
  position: relative;
  padding: 10px 35px 10px 2em;
  color:#333;
  font-weight: bold;
}

.link a:hover{
  text-decoration: none;
}

.news-list:after{
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  margin-top: -0.4em;
  right: 10px;
  width: 0.8em;
  height: 0.8em;
  border-top: #566373 2px solid;
  border-right: #566373 2px solid;
  transform: rotate(45deg);
}

/* 新着情報ページ設定 */
.info-list li{
  background: rgba(255,255,255,.5);
  border: 1px solid rgba(0,0,0,.1);
  padding: 15px;
  margin-top: 15px;
  margin-bottom: 18px;
}

.info-list2 li{
  background: rgba(255,255,255,.5);
  border: 1px solid rgba(0,0,0,.1);
  padding: 15px;
  margin-top: 15px;
  margin-bottom: 18px;
}

.info-list a{
  text-decoration: none!important;
  color: #333;
}

.info-l{
  width: 30%;
  margin-right:10px;
}

.info-r{
  width: 70%;
  margin-left:10px;
}

.info-r h4{
  font-size: 1.1em;
  color: #286aab;
}

.news-date2{
  width: 100px;
  border: 1px solid;
  text-align:center;
}

.news-cat2{
  width: 120px;
  margin-left: 10px;
}

.news-cat2 span{
  background: #96a9b3;
  border: 1px solid #96a9b3;
  display: block;
  text-align:center;
}

.news-cat2 span a{
  color:#fff;
}

.aside-info-list{
  list-style-type: none;
  margin:0;
  padding:0;
}

.aside-info-list li{
  padding: 5px 0 5px 10px;
  border-bottom: 1px dashed #888;
  font-size: 1.1em;
}

.aside-info-list li > a{
  width: 100%;
  color: #286aab;
}

/* 新着情報個別ページ共通設定 */
.post-content{
  margin: 15px 0 30px 0;
}

/* ペイジャー設定 */
.pager{
  text-align:center;
  margin: 15px 0 20px 0;
}

a.page-numbers,
.pager .current{
  background: #fff;
  border:solid 1px #3aabd2;
  border-radius:50%;
  padding:7px 7px;
  margin:0 2px;
  width: 40px;
  height: 40px;
  display: inline-block;
}

.pager .current{
  background: #3aabd2;
  color:rgba(255,255,255,1);
  font-weight:bold;
}

.pager-opt01 .current{
  background: #4e3813;
}

.pager-opt01 > a.page-numbers{
  border:solid 1px #4e3813;
}

.pager2{
  text-align:center;
  margin: 15px 0 20px 0;
}

.pager2 > a.page-numbers,
.pager2 > .current{
  background: #fff;
  border:solid 1px #6b493d;
  border-radius:50%;
  padding:7px 7px;
  margin:0 2px;
  width: 40px;
  height: 40px;
  display: inline-block;
}

.pager2 .current{
  background: #6b493d;
  color:rgba(255,255,255,1);
  font-weight:bold;
}


/*　施工事例セッティング　*/
.example-box1{
  padding: 10px;
  margin-bottom: 25px;
  border: 1px solid #ccc;
}

.example-box1 h4{
  font-size: 1.1em;
  margin: 10px;
  min-height: 50px;
}

.example-box1 h4.opt-01{
  font-weight: bold;
}

.example-box1 a{
  color: #777;
}

.example-box1 a:hover{
  text-decoration: none;
}

.example-box1 .example-cat {
  text-align: center;
  border: 1px solid #ccc;
  padding: 5px 0;
  font-size: 17px;
  margin: 0 0 5px 0;
}

.example-cat2 {
  text-align: center;
  border: 1px solid #ccc;
  padding: 5px 10px;
  font-size: 17px;
  margin: 0 0 5px 0;
}

.example-cat2 a{
  color: #777;
  font-weight: bold;
}

.example-cat2 a:hover{
  text-decoration: none;
}

/*　施工事例詳細データ　*/

.img-box{
  position: relative;
}

.af-ico{
  position: absolute;
  top: -10px;
  right: -15px;
}

.bf-ico{
  position: absolute;
  top: -10px;
  left: -12px;
}

.detail-info{
  margin: 10px 0;
}

.post-detail{
  margin: 7px 0px;
  border-bottom: 1px solid #bbb;
}

/* アクセス */
.transport{
  margin-top: 30px;
  margin-bottom: 80px;
}

.transport img{
  margin-bottom: 20px;
}

.g-map{
  margin-bottom: 15px;
}

/* プライバシーポリシー */
dl.policy dt{
  font-size: 1.2em;
  margin-bottom: 5px;
}

dl.policy dd{
  margin-bottom: 25px;
}

/* サイトマップ */
.sitemap h4 {
  border-bottom: 1px solid #1d2088;
  margin: 20px 0 0 0;
  padding: 5px 10px;
  font-weight: bold;
}

.sitemap h4 a{
  color: #1d2088;
  display: block;
}

.sitemap ul.parent{
  margin: 0px 0 30px 22px;
  padding: 0.5em 0.5em 0.5em 0.5em;
}

.sitemap ul.parent li{
  line-height: 1.2;
  padding: 0.5em 0;
  text-indent: -1em;
  margin-left: 0.8em;
  margin-right: 10px;
  list-style-type: none;
  display: block;
  font-size: 1.1em;
}

.sitemap ul.parent > li a{
  line-height: 1.0;
  padding: 0.5em 0 0.5em 1.0em;
  color: #1d2088;
  display: inline-block;
  width: 100%;
}

.sitemap ul.parent li:before {
  display: inline-block;
  font-family: "FontAwesome";
  font-weight: 900;
  content: '\f054';
  color: #1d2088;
  font-size: 1.1em;
  margin: 0;
}

.space {
  margin: 6% 0 10% 0;
}
.space2 {
  margin-top:15%
}
.space4 {
  padding: 2% 0 0 0;
}
.space5 {
  padding: 2% 0 0 0;
}

.space7 {
  padding-bottom: 2%;
}
/* フッターコンタクトバナー  */
#contact {
  margin: 10% 0;
}
#policy {
  margin: 10% 0;
  margin: auto;
}
.contact-innner{
  width: 60%;
  margin: 0 auto;
  padding: 45px 60px;
  background-color: rgba(255, 255, 255, 0.8);
}

.contact-innner p{
  font-size: 1.2em;
  font-weight: bold;
  line-height: 1.2;
}

.inner-tel{
  width: 55%;
  font-size: 2.9em;
  font-weight: bold;
  line-height: 0.5;
}

.inner-tel a{
  color: #1d2088;
  text-decoration: none;
}

.tel-opt01 a{
  color: rgba(78,56,19,1)!important;
  text-decoration: none;
}

.inner-tel a::before {
  font-family: "FontAwesome";
  font-weight: 900;
  content: '\f095';
  font-size: 1.0em;
  color: #1d2088;
  width: 25px;
  height: 25px;
  margin-right: 10px;
}

.tel-opt01 a::before {
  color: rgba(78,56,19,1);
}

.inner-tel span{
  font-size: 16px;
}

.inner-form{
  width: 50%;
  color: #fff;
  background: #1d2088;
  display: flex;
  justify-content: center;
  align-items: center;
}

.form-opt01{
  background: rgba(78,56,19,1);
}

.inner-form a{
  display: block;
  width: 100%;
  padding: 5px;
  text-align: center;
  color:#fff;
  font-size: 1.4em;
  font-weight: bold;
  text-decoration: none;
}

.inner-form a::before {
  font-family: "FontAwesome";
  font-weight: 900;
  content: '\f003';
  font-size: 1.2em;
  color: #fff;
  width: 25px;
  height: 25px;
  margin: 0 10px 0 10px;
}

/* フッターメニュー */
.b-nav, .b-info{
  padding: 18px 0;
  color: #fff;
}

.b-menu {
  text-indent: -1em;
  margin-right: 20px;
}

.b-menu:last-child {
  margin-right: 12%;
}

.b-menu a{
  color: #fff;
  padding-left: 40px;

}
.b-menu a:hover {
  text-decoration: underline!important;
}
.b-address{
  width: 60%;
  padding-left:10%;
}

.b-address p{
  margin-bottom: 0.0rem;
  font-size:1em;
}

.b-logo{
  width: 40%;
}

.b-address span{
  font-size:15px;
}

/* フッター設定 */
footer{
  background: #f5f5f5;
}

.footer-img {
  width:55%;
  height:90%;
  margin-right:10%;
}

/* ラッパー調整 */
.b-wrapper{
  background: #3babd3;
}

/** フッターバナーエリア  **/
.py-5 {
    background-color: #1e1e1e;
    color: #fff;
    padding: 2%!important;
 }

 .b-credit {
    font-size:1rem;
 }

 .b-box {
  display: flex;
  justify-content: space-around; 
  flex-wrap: wrap;
}

.b-baner{
  width: 240px;
  margin: 5px 10px;
}

.b-baner2{
  width: 400px;
  margin: 5px 10px;
}

/* slick slider設定 */
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 0px;
}

/* マージン設定 */
/*.tmgn{
  margin-top: 20px;
}*/

.tmgn1{
  margin-top: 35px;
}

.tmgn2{
  margin-top: 50px;
}

.tmgn3{
  margin-top: 100px;
}

.tbmgn{
  margin-top: 100px;
  margin-bottom: 80px;
}

.tbmgn1{
  margin-top: 50px;
  margin-bottom: 50px;
}

.tbmgn2{
  margin-top: 25px;
  margin-bottom: 25px;
}

.tbmgn3{
  margin-top: 35px;
  margin-bottom: 35px;
}

.bmgn{
  margin-bottom: 10px;
}

.bmgn1{
  margin-bottom: 20px;
}

.bmgn2{
  margin-bottom: 30px!important;
}

.bmgn3{
  margin-bottom: 40px!important;
}

.bmgn4{
  margin-bottom: 50px!important;
}

.bmgn5{
  margin-bottom: 70px!important;
}

.bmgn6{
  margin-bottom: 80px!important;
}

/* 上下パディング設定 */
.tbpdg{
  padding-top: 10px;
  padding-bottom: 10px;
}

.tbpdg1{
  padding-top: 15px;
  padding-bottom: 15px;
}

.tbpdg2{
  padding-top: 25px;
  padding-bottom: 25px;
}

/*.tbpdg3{
  padding-top: 40px;

}*/

.tbpdg4{
  padding-top: 70px;
  padding-bottom: 70px;
}

.spdg1{
  padding: 0 10px;
}

/* ガター幅調整 */
.gutter > [class*='col-'] {
  padding-right: 2px;
  padding-left: 2px;
}

.gutter {
  margin-left: -2px;
  margin-right: -2px;
}

.gutter0 > [class*='col-'] {
  padding-right: 0px;
  padding-left: 0px;
}

.gutter0 {
  margin-left: -0px;
  margin-right: -0px;
}

.gutter1 > [class*='col-'] {
  padding-right: 5px;
  padding-left: 5px;
}

.gutter1 {
  margin-left: -5px;
  margin-right: -5px;
}

.gutter2 > [class*='col-'] {
  padding-right: 7px;
  padding-left: 7px;
}

.gutter2 {
  margin-left: -7px;
  margin-right: -7px;
}

/* data-delighter アニメーションスタイル設定 */
.delighter.slide-l {
  -webkit-transition: all 1.0s ease-out .0s;
  transition: all 1.0s ease-out .0s;
  -webkit-transform: translateX(-40px);
          transform: translateX(-40px);
  opacity: 0;
  visibility: hidden;
}
 
/* スタート時のスタイル */
.delighter.slide-l.started {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1;
  visibility: visible; 
}

.topintro, .topintro2, .topintro3, .parts{
  overflow: hidden;
}

.delighter.service .part1 {
  -webkit-transition: all 1.0s ease-out;
  transition: all 1.0s ease-out;
  -webkit-transform: translateY(120px);
          transform: translateY(120px);
  visibility: hidden;
  opacity: 0; }

.delighter.service .part2 {
  -webkit-transition: all 1.0s ease-out .4s;
  transition: all 1.0s ease-out .4s;
  -webkit-transform: translateY(120px);
          transform: translateY(120px);
  visibility: hidden;
  opacity: 0; }


.delighter.topintro .part1 {
  -webkit-transition: all 1.0s ease-out;
  transition: all 1.0s ease-out;
  -webkit-transform: translateY(80px);
          transform: translateY(80px);
  visibility: hidden;
  opacity: 0; }

.delighter.topintro .part2 {
  -webkit-transition: all 1.0s ease-out .4s;
  transition: all 1.0s ease-out .4s;
  -webkit-transform: translateX(-120px);
          transform: translateX(-120px);
  visibility: hidden;
  opacity: 0; }

.delighter.topintro .part3 {
  -webkit-transition: all 1.0s ease-out .7s;
  transition: all 1.0s ease-out .7s;
  -webkit-transform: translateX(120px);
          transform: translateX(120px);
  visibility: hidden;
  opacity: 0; }

.delighter.topintro .parts4 {
  -webkit-transition: all 1.0s ease-out 1.0s;
  transition: all 1.0s ease-out 1.0s;
  -webkit-transform: translateY(120px);
          transform: translateY(120px);
  visibility: hidden;
  opacity: 0; }

.delighter.topintro2 .part1 {
  -webkit-transition: all 1.0s ease-out;
  transition: all 1.0s ease-out;
  -webkit-transform: translateX(-120px);
          transform: translateX(-120px);
  visibility: hidden;
  opacity: 0; }

.delighter.topintro2 .part2 {
  -webkit-transition: all 1.0s ease-out .4s;
  transition: all 1.0s ease-out .4s;
  -webkit-transform: translateX(120px);
          transform: translateX(120px);
  visibility: hidden;
  opacity: 0; }

.delighter.topintro2 .part3 {
  -webkit-transition: all 1.0s ease-out .7s;
  transition: all 1.0s ease-out .7s;
  -webkit-transform: translateX(-120px);
          transform: translateX(-120px);
  visibility: hidden;
  opacity: 0; }

.delighter.topintro2 .part4 {
  -webkit-transition: all 1.0s ease-out 1.0s;
  transition: all 1.0s ease-out 1.0s;
  -webkit-transform: translateX(120px);
          transform: translateX(120px);
  visibility: hidden;
  opacity: 0; }

.delighter.topintro2 .part5 {
  -webkit-transition: all 1.0s ease-out 1.3s;
  transition: all 1.0s ease-out 1.3s;
  -webkit-transform: translateY(80px);
          transform: translateY(80px);
  visibility: hidden;
  opacity: 0; }


.delighter.topintro3 .part1 {
  -webkit-transition: all 1.0s ease-out;
  transition: all 1.0s ease-out;
  -webkit-transform: translateX(-120px);
          transform: translateX(-120px);
  visibility: hidden;
  opacity: 0; }

.delighter.topintro3 .part2 {
  -webkit-transition: all 1.0s ease-out .4s;
  transition: all 1.0s ease-out .4s;
  -webkit-transform: translateY(80px);
          transform: translateY(80px);
  visibility: hidden;
  opacity: 0; }

.delighter.topintro3 .part3 {
  -webkit-transition: all 1.0s ease-out .7s;
  transition: all 1.0s ease-out .7s;
  -webkit-transform: translateX(120px);
          transform: translateX(120px);
  visibility: hidden;
  opacity: 0; }

.delighter.topintro3 .part4 {
  -webkit-transition: all 1.0s ease-out 1.0s;
  transition: all 1.0s ease-out 1.0s;
  -webkit-transform: translateY(80px);
          transform: translateY(80px);
  visibility: hidden;
  opacity: 0; }

.delighter.topintro.started .part1, .delighter.topintro.started .part2, .delighter.topintro.started .part3, .delighter.topintro.started .part4,
 .delighter.service.started .part1, .delighter.service.started .part2, .delighter.service.started .part3,
 .delighter.topintro2.started .part1, .delighter.topintro2.started .part2, .delighter.topintro2.started .part3, .delighter.topintro2.started .part4,
 .delighter.topintro2.started .part5, .delighter.topintro3.started .part1, .delighter.topintro3.started .part2, .delighter.topintro3.started .part3, .delighter.topintro3.started .part4{
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  visibility: visible; }

.delighter.parts .parts1 {
  -webkit-transition: all 1.0s ease-out;
  transition: all 1.0s ease-out;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  visibility: hidden;
  overflow-y: hidden;
  opacity: 0;
  margin-top:2%; }

.delighter.parts .parts2 {
  -webkit-transition: all 1.0s ease-out .5s;
  transition: all 1.0s ease-out .5s;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  visibility: hidden;
  opacity: 0; }
.delighter.parts .parts3 {
  -webkit-transition: all 1.0s ease-out .9s;
  transition: all 1.0s ease-out .9s;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  visibility: hidden;
  opacity: 0; }
.delighter.parts .parts4 {
  -webkit-transition: all 1.0s ease-out 1.3s;
  transition: all 1.0s ease-out 1.3s;
  -webkit-transform: translateY(70px);
          transform: translateY(70px);
  visibility: hidden;
  opacity: 0; }
.delighter.parts .parts5 {
  -webkit-transition: all 1.0s ease-out 1.7s;
  transition: all 1.0s ease-out 1.7s;
  -webkit-transform: translateY(70px);
          transform: translateY(70px);
  visibility: hidden;
  opacity: 0; }
.delighter.parts .parts6 {
  -webkit-transition: all 1.0s ease-out 2.1s;
  transition: all 1.0s ease-out 2.1s;
  -webkit-transform: translateY(70px);
          transform: translateY(70px);
  visibility: hidden;
  opacity: 0; }
.delighter.parts .parts7 {
  -webkit-transition: all 1.0s ease-out 2.5s;
  transition: all 1.0s ease-out 2.5s;
  -webkit-transform: translateY(70px);
          transform: translateY(70px);
  visibility: hidden;
  opacity: 0; }

.delighter.parts.started .parts1, .delighter.parts.started .parts2, .delighter.parts.started .parts3, .delighter.parts.started .parts4, 
.delighter.parts.started .parts5, .delighter.parts.started .parts6, .delighter.parts.started .parts7{
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  visibility: visible; }


.delighter.fade {
  -webkit-transition: all 1.8s 1.8;
  transition: all 1.8s ease-out;
  opacity: 0; }

  .delighter.fade.started {
  opacity: 1;
  background-color: #f7f7f7;
  /*margin: 4% auto;*/

}
.col-md-12 > p {
  font-size: 1.0rem;
  font-weight: bold;

}

/* コンタクトフォーム設定 */
span.wpcf7-list-item{
  font-weight: bold;
  margin: 0 0 0 0 !important;
}

.table-striped tbody tr:nth-of-type(2n+1) {
  background-color: rgba(0, 0, 0, 0.04);
}

.table-contactform7{
  overflow: hidden;
  table-layout: fixed;
  margin-bottom:20px;
}

.required-contactform7{
  padding: 5px;
  background: #3aabd2;
  color: #fff;
  border-radius: 0px;
  margin-right: 3px;
  margin-left: 3px;
}

.unrequired-contactform7{
  padding: 5px;
  background: #BDBDBD;
  color: #fff;
  border-radius: 0px;
  margin-right: 3px;
}

.table-contactform7 th{
  font-weight:bold;
  margin:20px;
  width: 25%;
}

.table-contactform7 td{
  padding-right: 20px;
}

.table-contactform7 input,
.table-contactform7 textarea,
.table-contactform7 select{
  max-width: 100% !important;
  margin: 10px 10px 10px 5px;
  padding:5px;
}

#num{
  width: 50%;
}

.numm1 {
  width: 22%;
}

.address-100 input{
 width: 100% !important;
  margin: 5px 10px 10px 5px;
}

.message-100 textarea{
  width: 100%;
  padding: 5px 15px 10px 5px;
}


.send-button{
  margin-bottom: 50px;
  font-weight: bold;
}

.btn-success ,.btn-success:hover {
  color: #fff;
  background-color: #777;
  border-color: #777;
}

.btn-success.focus, .btn-success:focus {
  box-shadow: none;
}

.btn-lg, .btn-group-lg > .btn {
  padding: 0.5rem 7rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0;
  font-weight: bold;
}

/* Top Return Button */
.pagetop {
  position: fixed;
  bottom: 55px;
  right: -80px;
  z-index: 501;
}

.pagetop a {
  display: block;
  position: relative;
  width: 70px;
  height: 70px;
  background-color: #616161;
  border-radius: 70px;
  text-align: center;
  color: #fff;
  font-size: 35px;
  text-decoration: none;
  line-height: 70px;
  opacity: 0.8;
  overflow: hidden;
  outline: none;
}

.pagetop a::before{
  font-family: "FontAwesome";
  font-weight: 900;
  content: '\f106';
  font-size: 45px;
  color: #fff;
  position: absolute;
  width: 35px;
  height: 35px;
  top: 0;
  bottom: 55px;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

.pagetop a::after{
  content: 'PAGE TOP';
  font-size: 11px;
  font-weight: bold;
  color: #fff;
  position: absolute;
  top: 10px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

/* テーブル設定 */
caption {
  padding-top: .75rem;
  padding-bottom: .75rem;
  color: #6c757d;
  text-align: left;
  caption-side: top;
}

/* 選考フロー */

.flow dl{
  border-bottom: 1px dotted #777;
}
.flow dd {
  text-align: center;
}

@media screen and (min-width: 992px){

  /* PC表示時テキスト位置 */
  .text-pcmob{
    text-align: center;
  }

  /* 通常グローバルメニュー */
  .nav-header{
    position: relative;
    margin:0;
    padding:0;
  }

  .nav-header .logo{
    font-size: 30px;
    margin: 0;
    color: #5C4138;
  }

  .nav-header .logo img{
    width: 21%;
    margin: 2% 0 2% 5%;
    display: inline-block;
  }

  .nav-header .nav-tel{
    position: absolute;
    top:0;
    right:2%;
    font-size: 2.7rem;
    font-weight: bold;
    width: 420px;
    z-index:100;
    text-align:right;
  }

  .nav-header .nav-tel a{
    text-decoration: none;
    color: #3babd3;
    display: block;
    margin: 20px;
  }

  .nav-header .nav-tel a:before{
    font-family: "FontAwesome";
    font-weight: 900;
    content: '\f095';
    font-size: 1.0em;
    color: #3babd3;
    width: 25px;
    height: 25px;
    margin: 0 10px 0 10px;
  }

  .nav-header .contact{
    position: absolute;
    top:30%;
    right:3%;
    font-size:2rem;
    font-weight:bold;
    padding: 0x 0 20px 0;
    background: #3babd3;
    height:auto;
    z-index:101;
    align-items: center;

  }

  .nav-header .recruit{
    position: absolute;
    top:80%;
    right:2%;
    font-size:18px;
    font-weight:bold;
    padding: 1px 0;
    background: #3babd3;
    width: 160px;
    z-index:101;
  }

  .nav-header .contact a,.nav-header .recruit a{
    text-decoration: none;
    color: #fff;
    display: block;
    text-align: center;
  }

  .nav-list li > a:hover::after {
    transform: scale(1, 1);
  }

  .nav-list li > a span{
    font-size:15px;
  }

  .nav-wrap{
    display: block !important;
    position: relative;
  }

  .nav-wrap .nav-logo{
    position: absolute;
    top: 15%;
    left: 1%;
    opacity: 0;
    width: 160px;
    height: 100%;
    z-index: 10;
  }

  ul.nav-list{
    width:100%;
    padding: 10px 0;
    box-shadow: 3px 3px 5px rgba(8,8,8,0.2);
    position: relative;
    z-index: 5;
  }

  ul.nav-list li{
    text-align: center;
    position: relative;
    line-height: 1.3;
  }

  ul.nav-list > li:hover {
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
  }

  ul.nav-list li a{
    display: block;
  }

  ul.nav-list > li.current {
    position: relative;
    display: inline-block;
    text-decoration: none;
    padding:2px 5px;
    color:#333;
  }

  ul.nav-list > li.current a{
    color:#333;
  }

  ul.nav-list > li.current a::after {
    position: absolute;
    bottom:5px;
    left: 0;
    content: '';
    width: 100%;
    height: 3px;
    background:#3aabd2;
    transform: scale(1, 1);
    transform-origin: right top;
  }

  ul.nav-list > li > a {
    position: relative;
    display: inline-block;
    text-decoration: none;
    padding: 15px 35px;
    line-height:0.9;
    font-size:15px;
    font-weight: bold;
    color:#7a8999;
  }

  ul.nav-list li > a::after {
    position: absolute;
    bottom: 5px;
    left: 0;
    content: '';
    width: 100%;
    height: 3px;
    background: #3aabd2;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .4s;
  }

  .nav-list li > a:hover::after {
    transform: scale(1, 1);
  }

  /*aの背景色を指定*/
  ul.nav-list li a:hover , ul.nav-list li.menu__single:hover a {/*親階層*/
    color: #333;
  }

  ul.nav-list li.menu__single .mob-menu{
    display: none;
  }

  ul.nav-list > li.dropdown{
    margin-right: 25px;
  }

  ul.nav-list > li.dropdown span{
    font-size: 15px;
  }

  ul.nav-list > li.dropdown span::before {
    position: absolute;
    bottom: 13px;
    right: -12px;
    content: "\f107";
    font-size:1.3em;
    font-family: FontAwesome;
  }

  ul.nav-list > li.menu__single:hover a::after {
    position: absolute;
    bottom: 5px;
    left: 0;
    content: '';
    width: 100%;
    height: 3px;
    transform: scale(1, 1);
    transform-origin: left top;
  }

  .nav-list li.menu__single .menu__second-level {
    top: 25px;
    position: absolute;
    min-width: 100px;
    background: #fff;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    opacity: 0;
    visibility: hidden;
    margin: 0;
    box-shadow: 10px 10px 10px rgba(0,0,0,0.4);
    color: #333;
  }

  .nav-list li.menu__single .menu__second-level li{
    text-align: left;
    color: #333;
    padding: 1px 0;
  }

  .nav-list li.menu__single .menu__second-level li a{
    text-align: left;
    color: #333;
  }

  ul.nav-list li.menu__single:hover ul.menu__second-level{
    top: 47px;
    visibility: visible;
    opacity: 1.0;
  }
  
  ul.nav-list li.menu__single:hover ul.menu__second-level a{
    font-weight:normal;
    color: #555;
  }

  ul.nav-list li.menu__single:hover ul.menu__second-level a:hover{
    color: #333;
    font-weight: bold;
  }

  
  ul.nav-list li.menu__single:hover > ul.menu__second-level li a::after {
    content: none;
  }

  /* current配下のセカンドレベルのafter要素を無効 */
  ul.nav-list li.current > ul.menu__second-level li a::after {
    content: none;
  }

  /* 配下メニュー設定 通常メニュー、固定メニュー共通 */
  ul.menu__second-level li{
    width:100%;
    margin:0;
  }

  ul.menu__second-level li:not(:last-child) {
    border-bottom: 1px solid #3aabd2;
  }

  ul.menu__second-level > li > a{
    display: block;
    clear: both;
    padding: 15px 28px;
    white-space: nowrap;
    font-size:14px;
  }

  ul.menu__second-level > li.m-opt1{
    padding-bottom: 15px;
  }

  ul.menu__second-level > li.m-opt1 > a{
    display: block;
    clear: both;
    padding: 10px 25px;
    white-space: nowrap;
  }

  .contact-box {
    width: 100%;
    background: url(../img/footer-back1.jpg);
    background-attachment: scroll;
    background-size: auto;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-attachment: fixed;
    z-index: 3;
    padding: 50px 0;
  }
}

@media screen and (min-width: 993px){

  .top-intro {
    font-size: 3.0em;
    line-height: 0.9;
    margin-top: 13px;
    margin-bottom: 13px;
    font-weight: bold;
  }

  .top-intro span{
    font-size: 0.5em;
  }

  .ja-intro{
    font-size: 1.5em;
    font-weight: bold;
    margin-bottom: 25px;
  }
}

@media screen and (max-width: 992px) {

  .pc { 
    display: none !important; 
  }
  .sp { 
    display: block !important; 
  }

  /*/* グローバルナビ固定分 */
  .menu-padding {
    padding-top: 73px;
  }

  h2 {
    font-size: 1.5rem;
  }

  .nav-wrap .nav-logo{
    display: none;
  }

  .top-intro {
    font-size: 1.8em;
  }

  .ja-intro{
    font-size: 1.08em;
    font-weight: bold;
    margin-bottom: 20px;
  }

  h2 {
    font-size: 1.1rem;
  }

  h2 span {
    font-size: 1.1rem;
  }

  ul.icatch li .slide-text{
  width: 100%;
  top:40%;
  left:0;
  text-align: center;
  }
  
  /* スライドテキスト設定 */
  .slide-title{
    font-size: 2.9em;
  }

  .slide-title span{
    font-size: 0.8em;
  }
  
  .slide-text p{
    font-size: 1.3em;
  }

  /* サブタイトル */
  .sub-title {
    font-size: 1.3rem;
  }

  /* オプションタイトル */
  .opt-title02{
    font-size: 1.2rem;
    text-align: center;
  }

  /* モバイルテキスト位置 */
  .text-posi, .text-posi2{
    text-align: center;
    line-height: 1.7;
  }

  /* メニューリスト */
  .nav-list{
    height: 100%;
    position: relative;
    overflow-x: hidden;
    overflow-y: auto;
    padding:0;
    margin-top:25px;
  }

  /* トップページメニュー */
  .menu-box .inner {
    bottom: 40%!important;
  }


  .inner h3 {
    font-size: 3em;
  }

  /* コンテンツボックス */
  .inner-box01-l{
    width:100%;
    margin:0;
  }
  
  .inner-box01-r{
    width:100%;
    margin:0;
  }

  .inner-box01-r img{
    padding: 0 25px;
  }

  .inner-box03-l{
    width:100%;
    margin:0;
    margin-bottom: 20px;
  }
  
  .inner-box03-r{
    width:100%;
    margin:0;
  }

  .item-img li{
    padding:0;
    float: left;
    text-align: center;
    width: 48%;
    margin-right: 1%;
    margin-bottom: 3px;
  }
  .top-img {

    width:100vw;
  }
  /* トップページ 事業情報アニメーション設定 */
  .service{
    overflow-x: hidden;
    overflow-y: hidden;
    margin-bottom: 50px;
  }

  /* トピックス */

  .tex-box2{
    padding-top: 10px;
  }


  .topic-box{
    width:100%;
    margin:15px 0;
  }

  /* 新着情報・お知らせ */
  ul.info{
    margin:0;
    padding:0;
  }

  ul.info li{
  padding: 10px 0px 10px 0px;
  }

  ul.info li:after{
    right: 0px;
  }

  .news-subject{
    margin-top: 5px;
  }

  .news-list:after{
    right: 0px;
  }

  /* 新着情報ページ設定 */
  h2.post-title, h2.main-title{
    font-size: 1.1em;
  }

  .aside-title, .aside-title2 {
    font-size: 1.2rem;
  }

  .info-r h4{
    font-size: 1.0em;
    color: #286aab;
  }

  p.detail2{
    font-size: 0.9em;
  }

  /* マージン設定 */
  .tmgn2{
    margin-top: 70px;
  }

  /* 代表ご挨拶 */
  .message p.p-name{
  margin-right: 15px;
    font-size: 1.1em;
  }

  /* リスト画像用設定 */
  .pic{
    margin-right:0px;
  }

  /* 固定ページコンテンツボックス */
  .box-1{
    width: 100%;
  }
  
  .box-2{
    width: 100%;
    margin-left:0px;
    padding: 10px 5px;
  }

  .box-opt1{
    margin-right:0;
  }


  /* Top Return Button */
  .pagetop {
    position: fixed;
    bottom: 15px;
    right: -80px;
    z-index: 501;
  }

  .pagetop a {
    display: block;
    position: relative;
    width: 50px;
    height: 50px;
    background-color: #566373;
    border-radius: 50px;
    text-align: center;
    color: #fff;
    font-size: 30px;
    text-decoration: none;
    line-height: 50px;
    opacity: 0.8;
    overflow: hidden;
    outline: none;
  }
  
  .pagetop a::before{
    font-family: "FontAwesome";
    font-weight: 900;
    content: '\f106';
    font-size: 30px;
    color: #fff;
    position: absolute;
    width: 25px;
    height: 25px;
    top: 0;
    bottom: 40px;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
  }
  
  .pagetop a::after{
    content: 'PAGE TOP';
    font-size: 8px;
    color: #fff;
    position: absolute;
    top: 7px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
  }

  /* トップページ イントロ設定 */
  .intro-back1{
    position: relative;
    width: 100%;
    background: #1d2088;
    background-size: auto;
    z-index:3;
  }

  .b-baner{
    width: 46%;
    margin: 5px 5px;
  }
}

/****************************************************************************************************************************************/
@media screen and (max-width: 992px) {

  /* モバイル時 ヘッダーメニュー固定のためヘッダー分の余白指定 */

  img {
  width:100%;
  height: 60vh;
  }

  p{
    font-size: 0.92rem;
  }
  .font2 > p {
    font-size: 0.92rem;
  }

  /* メニューボタン押下時に背景を固定 */
  body.fix2{
    position: fixed;
    width: 100%;
  }

  body.fix2 .nav-wrap{
    display:block;
    color:#fff;
    position:fixed;
    top:0;
    overflow-y:scroll;
    -webkit-overflow-scrolling:touch;
  }

  .logo h1 {
    margin-bottom: 0rem;
  }

  .intro h1{
    font-size: 22px;
  }

  h3{
    font-size: 1.4rem;
  }

  h3.main-title{
    font-size: 1.1rem;
  }

  h3.title01{
    font-size: 1.5em;
  }
  
  h3.title01 span{
    font-size: 0.8em;
  }

  h4{
    font-size: 1.3em;
  }
  .top-slide-img{
    height: 90vh;
  }
  .top-slide-img img{
    height: 100vh;
    object-fit: cover;
  }

  .inner .i-button, .inner2 .i-button{
    font-size: 1.2em;
  }

  .topimg {
    height: 100%;
  }
  .contel {
    display: none;
  }
  .contel4 {
  width: 80%;
  height: auto;
  margin: 8% auto 0;
  }

  .contel-top {
  padding: 2% 0 10%;
  }

  .intro-opt1:before {
  display: none;
  }

  .text-posi > p{
  text-align: justify;
  }

  .cotira {
    left: 25%;
    width: 50%;
    margin-top: -15%;
  }

  .flex-img {
    display: block;
  } 

  .col-md-12 > p {
    font-size: 1rem;
    text-align: justify;
  }

  .parts1 .parts2 .parts3 {
    display: none;
  }

  .spdg1{
    padding: 0!important;
  } 

  .title-posi .sub-title {
  margin-top: 20%;
  margin-left: 0%;
  }

.container {
  max-width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

.menu-box .menu-box img .parts1 .parts2 .parts3{
  transition: unset!important;
  transform: none!important;
}
.menu-box img{
  transition: unset!important;
  transform: none!important;
}

.menu-box img.img-opt1{
  transition: unset!important;
  transform: none!important;
}

.menu-box img.img-opt2{
  transition: unset!important;
  transform: none!important;
}

.b-address p:last-child {
  margin-bottom:3%;
}

.general-title{
    font-size: 2.0em;
}

.general-opt1, .general-opt2, .general-opt3, .general-opt4, .general-opt5{
  font-size: 1.4em;
  margin-bottom: 50px;
}

.content-title {
  margin-top: 10px;
  font-size: 1.1em;
}

.title-deco1 {
  font-size: 1.2em;
}

.detail-title1, .detail-title2{
  margin-top: 15px;
}

.box-2 {
  background-color: #fff;
}
  
.box-2 h4 {
  font-size: 1.1em;
}

.content-opt34{
    border-left: 5px solid #3aabd2;
    margin-top: 3%;
    height: 20%;
    padding: 3% 2% 2% 3%;
    line-height: 1.5;
    letter-spacing: 0.0005em;
    font-size: 1.3rem;
}

.img-title1, .img-title2{
  padding: 0;
}

.info-box1 {
  padding-left: 20px;
}

.info-box1 h4 {
  margin-bottom: 20px;
  width: 97%;
}

.reco-box2 h4 {
  font-size: 1.2em;
}

h4.aside-title, h4.aside-title2{
  margin: 15px 0 10px 0;
}

.info02-l {
    width: 32%;
    margin-right: 10px;
}
  
.info02-r {
    width: 68%;
    margin-left: 10px;
}

.info02-r h4 {
  font-size: 0.8em;
}

.news-date2{
  font-size: 0.8em;
}

.tex-box1{
  text-align: left;
}

.service{
  overflow-x: hidden;
  overflow-y: hidden;
  margin-bottom: 20px;
}

.top-title{
  font-size: 1.1em;
  font-weight: bold;
}

.attention01{
  font-weight: bold;
  font-size: 1.0em;
}

.attention02{
  font-size: 1.0em;
}

.attention03 {
  font-size: 1.2em;
}

.attention04 {
  font-size: 1.1em;
}

.attention06{
  font-size: 0.9em;
}

.stress01 {
  font-weight: bold;
  font-size: 1.7em;
  margin: 15px 0;
  line-height: 1.1;
}

.stress02 {
  font-weight: bold;
  font-size: 1.4em;
  margin: 15px 0;
  line-height: 1.2;
}

.stress03 {
  font-weight: bold;
  font-size: 1.4em;
  margin: 25px 0;
  line-height: 1.2;
}

.page-intro:before{
  content: none;
}

.page-intro .title-posi{
  width: 100%;
  top:25%;
  left:0;
  text-align: center;
}

.b-menu {
  text-indent: -1em;
  margin-left: 9%;
  margin-right: 20px;
}

.b-menu:before {
  font-family: "FontAwesome";
  font-weight: 900;
  content: '\f054';
  color: #fff;
  font-size: 1.3em;
  margin: 0 5px 0 10px;
}

.b-menu a {
  padding-left: 0px;
}

.contel2  {
  display: none;
}

.border2:after {
  top: 40%;
  width: 60%;
  height: 60%;
}

.menu-box a:hover > img {
  transform: none;
}

.sanpai-img {
  width: 100%;
  height:400px;
}

.content-opt33 {
  padding: 6% 2% 3% 3%;
}

.footer-img {
  margin-left:19%;
  width:45%;
}

.d-md-flex {
  display: block!important;
}

.font-weight-bold {
  font-size: 1.5rem;
  font-weight: bold;
}

ul.flow-opt3 > li dl dt .icon {
  background:#e65b62;
  width: 120%;
  margin-left: -10%;
}

.step {
  text-align: center;
  margin: auto;
}

/* サブタイトル */
.page-intro .title{
  font-size: 1.8em;
}

/* サブタイトル */
.page-intro .sub-title {
  font-size: 2.3em;
}

.page-intro .title-posi2 .title{
  font-size: 2.3rem;
  margin-left:0;
}

.title-posi .title{
  margin-left: 0%;
}
  
ul.icatch2 li > img {
  filter: brightness(88%);
  -webkit-filter: brightness(88%);
  object-fit: cover;
}

/* スマホサイズ時は途中から出現するヘッダーは非表示 */
.fix-header{
  display: none;
}

/* モバイルサイズ固定ヘッダー */
.nav-header{
  display: flex;
  justify-content: space-between; 
}

/* 通常ヘッダーモバイル時固定 */
.nav-header{
  position: fixed;
  width: 100%;
  z-index: 30;
  top:0px;
  left:0px;
  background: #fff;
  min-height: 62px;
}

.nav-header .logo{
  width: 100%;
  margin: 4px;
}

.nav-header .logo img{
  width: 100px;
  display: inline-block;
}

.nav-header .nav-tel, .nav-header .contact, .nav-header .recruit{
  display: none;
}

.nav-tel {
  margin-top:15%;
}

.nav-wrap{
    background-color: rgba(255, 255, 255, 0.9);
    width: 100%;
    display:none;
    z-index: 50;
}

.nav-list{
    height: 100%;
    position: relative;
    overflow-x: hidden;
    overflow-y: auto;
    padding:0;
    margin-top:25px;
}

.nav-list li {
  display: block;
  border-bottom: 1px solid #3aabd2;
}

.nav-list li:last-child{
  margin-bottom:15px;
}

ul.nav-list li.list-tel{
  background: #c24263;
  padding-top: 10px; 
}

.nav-list li a {
  color: #1d2088;
  font-size: 17px;
  font-weight:bold;
  display: block;
  padding: 15px;
}

ul.nav-list li.list-tel a {
  color: #fff;
}

.nav-list li > ul.menu__second-level li:first-child{
  margin: 5px 15px;
  border-top: 1px dotted #566373;
  width: 97%;
}

.nav-list li > ul.menu__second-level li{
  margin: 5px 15px;
  border-bottom: 1px dotted #566373;
}

.nav-list li > ul.menu__second-level li:last-child{
  border-bottom: 0px;
}

.nav-list li > ul.menu__second-level li a{
  font-size: 0.9em;
  font-weight: normal;
  padding: 15px;
}

  .nav-button{
    position:fixed;
    top:5px;
    right:20px;
    z-index:99;
    cursor: pointer;
  }

  /*メニュー トグルボタン*/
  .nav-button,
  .nav-button span{
    display: inline-block;
    transition: all 0.4s;
    box-sizing: border-box;
  }

  .nav-button{
    width: 40px;
    height: 40px;
    line-height: 0.8;
    right: 3%;
  }

  .nav-button span{

    right: 500;
    width: 105%;
    height: 3px;
    background-color: #919191;
    border-radius: 3px;
  }

  .nav-button span.tex{
    position: absolute;
    left: 0;
    width: 100%;
    background: none;
    color: #1d2088;
  }

  /* 通常メニューボタン */
  .nav-button span:nth-of-type(1){
    top: 0;
  }

  .nav-button span:nth-of-type(2){
    top: 10px;
  }

  .nav-button span:nth-of-type(3){
    bottom: 17px;
  }

  .nav-button span:nth-of-type(4){
    bottom: 8px;
  }

  .nav-button.active span:nth-of-type(1){
    -webkit-transform: translateY(10px) rotate(-45deg);
    transform: translateY(12px) rotate(-45deg);
  }

  .nav-button.active span:nth-of-type(2){
    opacity: 0;
  }

  .nav-button.active span:nth-of-type(3){
    -webkit-transform: translateY(-10px) rotate(45deg);
    transform: translateY(-14px) rotate(45deg);
  }

  header{
    margin-top: 19px;
  }

  table.profile th, table.info th{
    width:100%;
    display: block;
  }

  table.profile td, table.info td{
    width:100%;
    display: block;
    border-top: none;
  }

  .scroll table.price{
    width:100%;
  }

  .scroll{
  overflow: auto; /*tableをスクロールさせる*/
  white-space: nowrap; /*tableのセル内にある文字の折り返しを禁止*/
  }

  .scroll::-webkit-scrollbar{ /*tableにスクロールバーを追加*/
   height: 5px;
  }

  .scroll::-webkit-scrollbar-track{ /*tableにスクロールバーを追加*/
   background: #F1F1F1;
  }

  .scroll::-webkit-scrollbar-thumb { /*tableにスクロールバーを追加*/
   background: #BCBCBC;
  }

  .drone-top-title01 {
    font-weight: bold;
    font-size: 3.2em;
    margin: 20px 0 10px 0;
    line-height: 1.1;
  }

  .drone-title01 {
    font-size: 1.9em;
    margin: 20px 0 10px 0;
  }

  .drone-title01 span{
    font-size: 0.8em;
    margin: 20px 0 10px 0;
  }

  .drone-title02 {
    font-weight: bold;
    font-size: 1.7em;
    padding: 10px 10px;
    color: #fff;
    text-align: center;
  }

  .drone-title04 {
    font-weight: bold;
    font-size: 1.7em;
  }

  ul.top-list {
    padding: 0.5em 0.5em 0.5em 2em;
    display: block;
    margin: 10px 10px;
  }

  ul.top-list li {
    font-size: 1.2em;
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: 15px;
  }

  .d-tex01{
    position: absolute;
    top: 0%;
    left: 5%;
    font-size: 4.5em;
    font-weight: bold;
  }
  
  .d-tex02{
    position: absolute;
    bottom: 5%;
    left: 5%;
    font-size: 1.8em;
    font-weight: bold;
  }

  .point-list {
    margin: 15px 0px;
  }

  .point-list h3 {
    font-weight: bold;
    font-size: 1.1em;
    margin-bottom: 10px;
    padding: 5px 0;
    color: #ea5513;
    display: block;
    border-bottom: 3px solid #ea5513;
  }

  .point-list h3::before {
    counter-increment: number 1;
    content: counter(number) ". ";
    color: #ea5513;
    display: block;
    float: left;
    line-height: 1.0;
    margin-left: 0px;
    margin-right: 12px;
    font-weight: bold;
    font-size: 1.3em;
  }

  .point-list p {
    font-weight: bold;
    font-size: 1.1em;
    margin-bottom: 25px;
  }

  .font-opt3 {
    font-size: 1.4em;
  }

  .promote01{
    margin-bottom: 20px;
  }

  .promote01 h3 {
    line-height:1.2;
    margin-bottom:0;
    font-weight: bold;
    font-size: 2.1em;
  }
  
  .promote01 h4.fsub{
    font-size: 1.8em;
  }

  .promote01 p{
    line-height:1.2;
    margin-bottom:0;
    font-weight: bold;
    font-size: 2.0em;
  }

  .promote02-l{
    width:25%;
    font-size: 1.5em;
    font-weight: bold;
    line-height: 1.0;
  }
  
  .promote02-l span{
    color: #e70012;
    line-height: 1.0;
    display: inline-block;
    font-size: 0.6em;
  }
  
  .promote02-r{
    width:75%;
    font-size: 2.9em;
  }

  .promote03 {
    font-weight: bold;
    font-size: 1.6em;
    color: #fff;
    background: #e95412;
    display: block;
    padding: 10px;
    line-height: 1.2;
  }

  .main-title1 {
    text-align: center;
    color: #fff;
    font-weight: bold;
    font-size: 1.4em;
    line-height: 1.3;
  }

  .main-title1 span {
    font-size: 0.8em;
  }

  .main-title2 {
    font-size: 1.8em;
    line-height: 1.1;
    margin-bottom: 15px;
  }
  
  .main-title2 .sub1 {
    font-weight: bold;
    font-size: 0.7em;
    line-height: 1.1;
    margin-bottom: 15px;
  }

  .mt-opt1 {
    display: block;
    background-color: #004ea2;
    padding: 15px 10px;
    color: #fff;
    font-size: 1.0em;
  }

  .sub-tiitle {
    font-weight: bold;
    font-size: 1.1em;
  }

/*　施工事例詳細データ　*/
  .af-ico{
    position: absolute;
    top: -10px;
    right: -5px;
  }
  
  .bf-ico{
    position: absolute;
    top: -10px;
    left: -5px;
  }

  a.link-button-opt01 {
    width: 100%;
  }

  /* contact form7 */
  span.wpcf7-list-item{
    display: block;
    width: 100%;
  }

  .table-contactform7{
    display:block;
  }
  .table-contactform7 tbody,
  .table-contactform7 tr{
    display: block;
    width: 100%;
  }
  .table-contactform7 th{
  width:100%;
  display:block;
  margin: 0 auto;
  border-bottom: 1px solid #dee2e6;
  }
  .table-contactform7 td{
    display: list-item;
    list-style-type:none;
    width: 100%;
    border-top: none !important;
  }

  ul.list2{
    margin-top:15px;
  }

  ul.list2 li {
    line-height: 1.5;
    padding: 0.5em 0;
    list-style-type: none!important;/*ポチ消す*/
    font-size: 0.9em;
  }
  
  ul.list2 li:before {
    font-family: "FontAwesome";
    content: "\f00c";
    position: absolute;
    left : 1em; /*左端からのアイコンまで*/
    color: #ffb03f; /*アイコン色*/
  }

  .fixedback1{
    height:200px;
    background-position: left top;
    background-attachment: scroll !important;
    -webkit-background-size: 100% auto;
    -moz-background-size: 100% auto;
    -o-background-size: 100% auto;
    background-size: 100% auto;
  }

  /* Q&Aリスト */
  .qa-list dl {
      position: relative;
      padding: 15px 40px 15px 10px;
  }
  .qa-list dl::before {
      top: 20px;
      right: 20px;
      width: 10px;
      height: 10px;
  }
  .qa-list dl dt {
      padding: 0 0 0 30px;
      font-size: 14px;
  }
  .qa-list dl dt::before {
      font-size: 14px;
      top: 3px;
      left: 5px;
      content: 'Q.';
  }
  .qa-list dl dd::before {
      font-size: 14px;
      top: 5px;
      left: 5px;
      content: 'A.';
  }
  .qa-list dl dd {
      margin: 10px 0 0;
      padding: 0 0 0 30px;
      font-size: 14px;
  }
  .qa-list dl dd p {
      margin: 30px 0 0;
  }
  .qa-list dl dd p:first-child{
      margin-top: 0;
  }

/* フロー */

  .flow > li dl dt {
    -ms-flex-preferred-size: 30%;
    flex-basis: 30%;
  }

  .flow > li dl dt {
    font-size: 14px;
    font-weight: 600;
    
  }

  /* フッター情報 */
  .contact-box {
    background: url(../img/footer-back1s.jpg);
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 100% auto;
    z-index: 3;
    padding: 40px 10px;
  }

  .contact-innner {
    width: 100%;
    margin: 0 auto;
    padding: 25px 10px;
    background-color: rgba(255, 255, 255, 0.7);
  }

  .contact-innner p{
    font-size: 1.1em;
    font-weight: bold;
  }
  
  .inner-tel{
    width: 100%;
    font-size: 2.2em;
    font-weight: bold;
    line-height: 0.5;
    margin-bottom: 15px;
    text-align: center;
  }

  .inner-tel a{
    color: #1d2088;
    text-decoration: none;
  }

  .inner-tel a::before {
    font-family: "FontAwesome";
    font-weight: 900;
    content: '\f095';
    font-size: 1.0em;
    color: #1d2088;
    width: 25px;
    height: 25px;
    margin-right: 10px;
  }

  .tel-opt01 a::before {
    color: rgba(78,56,19,1);
  }

  .inner-tel span{
    font-size: 16px;
  }
  
  .inner-form{
    width: 100%;
    color: #fff;
    background: #1d2088;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .form-opt01{
    background: rgba(78,56,19,1);
  }

  .inner-form a{
    display: block;
    width: 100%;
    padding: 5px;
    text-align: center;
    color:#fff;
    font-size: 1.2em;
    font-weight: bold;
    text-decoration: none;
  }
  
  .inner-form a::before {
    font-family: "FontAwesome";
    font-weight: 900;
    content: '\f003';
    font-size: 1.2em;
    color: #fff;
    width: 25px;
    height: 25px;
    margin: 0 10px 0 10px;
  }

  .b-info{
    text-align: center;
    margin-right: 9%;
  }

  .b-address{
    margin:0;
    width: 100%;
  }

  .b-logo{
    margin:0;
    width: 100%;
  }

    /* サイドフッター新着情報一覧 */
  .aside-info-list{
    list-style-type: none;
    margin:0 0 30px 0;
    padding:0;
  }

  .exp-box2 .center-block{
    margin: 0 auto;
    width: 100%;
  }

  /* メニューボックス設定 */
  .menu-box .inner2 {
    position: absolute;
    top: 22%;
    width: 100%;
    text-shadow: 2px 2px 7px rgba(0,0,0,0.5);
  }

  .inner2 h3{
    font-size: 1.2em;
    margin-bottom: 15px;
    font-weight: bold;
  }
  
  .inner2 p{
    font-weight: bold;
    font-size: 1.0em;
  }

  .inner2 .i-button {
    font-size: 1.0em !important;
    font-weight: bold;
    padding: 0 20px;
    border: 3px solid #fff !important;
    line-height: 30px !important;
    width: 220px !important;
    margin: 30px auto 0 !important;
    display: block;
  }
  
  .inner2 .frame1 {
    display: block;
    padding: 0 35px;
  }

  /* メニューボックス */
  .menu-box .inner{
    bottom: 27%!important;
  }
  .menu-box .inner-posi{
    top: 10%;
  }

  .menu-box .inner-posi2{
    top: 20%;
  }

  .inner h3.large1{
    font-size: 2em;
    line-height: 1.1;
  }

  .inner p.baner1{
    font-size: 13px;
  }

  .inner .i-btn-opt1{
    width: 70%;
    font-size: 1.5rem;
  }

  /* プライバシーポリシー */
  dl.policy dt{
    font-size: 0.9em;
  }
  
  dl.policy dd{
    font-size: 0.8rem;
  }

  ul.flow > li:not(:last-child)::before,
  .flow > li:not(:last-child)::after {
    left: 50%;
  }

  ul.flow > li dl {
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: block;
  }

  ul.flow > li dl dt {
    margin-left: 18%;
    margin-right: 18%;
    font-weight: bold;
    font-size: 18px;
  }


  ol.number-list {
    counter-reset: my-counter;
    list-style: none;
    padding: 0;
    margin-left: 0px;
  }

  ol.number-list li {
    margin-bottom: 18px;
    font-size: 1.0em;
  }
  
  ol.number-list li:before {
    line-height: 28px;
    margin-left: -40px;
    text-align: center;
    height: 28px;
    width: 28px;
  }

  /* サイトマップ */
  .sitemap ul.parent li{
    margin-left: 0.3em;
    font-size: 1.0em;
  }

  .sitemap ul.parent > li a{
    line-height: 1.0;
    padding: 0.5em 0 0.5em 1.0em;
    color: #1d2088;
    display: inline-block;
    width: 100%;
  }

  .sitemap ul.parent li:before {
    font-size: 1.0em;
  }
  .nav-list li > ul.menu__second-level li:first-child{
    border-top: 1px solid #3aabd2;
    margin: 0px;
    padding: 0px;
    width: 100%;
  }
  .nav-list li > ul.menu__second-level li a{
    font-size: 17px;
    font-weight: bold;
    display: block;
    padding: 15px;
    color: #1d2088;
    font-size: 17px;
    font-weight: bold;
}


}

@media screen and (max-width: 770px) {
    
.inner h3.large1 {
    font-size: 1.5em;
    line-height: 1.1;
}

.inner .i-btn-opt1 {
  width: 70%;
  font-size: 1.2rem;
}
}


@media screen and (max-width: 660px) {
  .inner h3 {
    font-size: 2.0rem;
  }
}

@media screen and (max-width: 580px) {
    
  .inner h3.large1 {
      font-size: 1.2em;
      line-height: 1.1;
      padding: 6%;
  }

  .inner .i-btn-opt1 {
    width: 70%;
    font-size: 1.0rem;
  }

  .title-posi .title{
    font-size: 1.5rem;
  }

  .slide-title{
    font-size: 1.9rem;
  }

  .slide-text p {
    font-size: 1rem;
  }
  .border2:after{
    top: 40%;
    width: 68%;
    height: 40%;
  }
  .bmgn{
    margin-bottom: 5px;
  }
  .nav-list li > ul.menu__second-level li:first-child{
    border-top: 1px solid #3aabd2;
    margin: 0px;
    padding: 0px;
    width: 100%;
  }
  .nav-list li > ul.menu__second-level li a{
    font-size: 17px;
    font-weight: bold;
    display: block;
    padding: 15px;
    color: #1d2088;
    font-size: 17px;
    font-weight: bold;
}

}


@media screen and (max-width: 500px) {

.inner h3 {
  font-size: 1.6em;
}
.menu-box .inner{
  bottom: 20%!important;
 }

.col-md-12 > p {
  font-size:0.6em;
}

.text-posi > p {
  font-size:0.5em;
}

.top-title {
  font-size: 1.0em;
  font-weight: bold;
}
}
  