
@charset "utf-8";
/***********************************************************************************************************************
* 基本構造
***********************************************************************************************************************/

a{
  color:#001966;
  text-decoration: underline;
}
a,button{cursor: pointer; -webkit-transition: opacity 0.3s ease; transition: opacity 0.3s ease;}
a:hover,button:hover{ opacity: 0.5;}

/*画像幅100%*/
img{ max-width: 100%; height: auto;}
img.wide{ width: 100%; height: auto;}

picture.img-bg{
  position: absolute;
  left:0;
  top:0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

picture.img-bg img{
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*フレックスボックス*/
.flex{ display: -ms-flexbox; display: -webkit-flex; display: flex; }
.flex-wrap{ -webkit-flex-wrap: wrap; flex-wrap: wrap;}
.flex.revs{ -webkit-flex-direction: row-reverse; flex-direction:row-reverse;}
.flex.va-cent{ -webkit-align-items: center; align-items:center;}
.flex.jc-cent{ -webkit-justify-content: center; justify-content: center;}
.flex.jc-right{ -webkit-justify-content: flex-end; justify-content: flex-end;}
.grid{ display: -webkit-flex; display: flex;justify-content: space-between;}

/*画像切り替えなど*/
.sp{ display: none !important; }
.pc{ display:block !important; }

/*ローディング*/
#loader-bg { position: fixed; width: 100%; height: 100%; top: 0px; left: 0px; background: #fff; z-index: 10;}
#loader {display: block;position: absolute;top: 50%;width: 100%;height: 60px;left: 0;-webkit-transform: translate(0, -50%);transform: translate(0, -50%);text-align: center;z-index: 100;}
/*ローダー・サークル*/
.loader1{ width:45px; height:45px; border-radius:50%; border:2px solid rgba(0,0,0,0.2); border-top-color:rgba(0,0,0,0.4); box-sizing:border-box; display: inline-block; animation:loading 0.6s linear infinite; -webkit-animation:loading 0.6s linear infinite;}
  @keyframes loading{ 0%{transform:rotate(0deg)} 100%{transform:rotate(360deg)}}
  @-webkit-keyframes loading{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}

#all-wrap{ position: relative; opacity: 1; overflow: hidden;}
#all-wrap.active{ opacity: 1;}
section-total-produce
/*リサイズ時アニメーション回避*/
body.noduration *,
body .fin{ transition-delay: 0 !important; transition-duration: 0 !important;}

/*背景画像デフォルト設定*/
.bgcover{
  position: absolute;
  left:0;
  top:0;
  width: 100%;
  height: 100%;
  background-size:cover; 
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
}
.bgcover img{
  object-fit: cover;
  width: 100%;
  height: 100%;
}

/*リストマーク*/
.ul>li{ display: table; width: 100%;}
.ul>li>span{ display: table-cell;}
.ul>li>i{ display: table-cell; white-space: nowrap;width: 1px;}

em{
  color:#66AC46;
  font-weight: 900;
}

.ff1{ font-family: 'Arial', sans-serif;}


@media screen and (max-width: 1024px){
  .pc{ display:none !important; }
  .sp{ display: block !important; }
}


/***********************************************************************************************************************
* 基本レイアウト
***********************************************************************************************************************/
body{
  font-size: 1.6rem;
  background: #fff;
  line-height: 1.4;
  color: #333333;
}
@media screen and (max-width:1024px){

  body{
    font-size: 1.4rem;
  }
}

/*header*/
header{
  /*position: fixed;*/
  display: flex;
  width: 100%;
  height: 60px;
  background: #fff;
  z-index: 10;
  align-items: center;
}

header #menu-button {
  display: none;
}

header .logo {
  display: flex;
  width: auto;
  padding-left: 25px;
  margin-right: 3vw;
}

header .logo a{
  width: 178px;
}

header .logo-sdgs {
  display: flex;
  align-items: center;
}

header .logo-sdgs>div{
  width: 247px;
  display: block;
}
header .logo-sdgs>p{
  padding-left: 10px;
  font-size: 1.0rem;
  font-weight: bold;
}

header nav{
  position: absolute;
  right:0;
  top:0;
  padding-right: 25px;
}

header .header-contact{
  display: flex;

}

header .header-contact>li{
  margin-left: 10px;
}

header .header-contact>li>a{
  width: 230px;
  height: 49px;
  display: block;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  color: #fff;
  text-align: center;
  padding-top: 10px;
  font-size: 2rem;
  text-decoration: none;
}
header .header-contact>li>a.tel{
	color: #036844;
	font-weight: 900;
	font-size: 2.6rem;
	text-align: left;
}
header .header-contact>li>a.tel span{
	display: block;
	font-size: 0.95rem;
	font-weight: 300;
	text-align: left;
	margin: 0 0 -0.5em;
}
header .header-contact>li>a.request{
  background: #009898;
  background: linear-gradient(270deg, #00ACAC 0%,#008C8C 100%);

}
header .header-contact>li>a.consult{
  background: #FF8306;
  background: linear-gradient(270deg, #FF9B37 0%,#FF8000 100%);
}


@media screen and (max-width: 1500px){
  header .logo {
    padding-left: 20px;
    margin-right: 20px;
  }
  header .logo-sdgs>p{
    font-size:0.9rem;
  }

  header .header-contact>li>a {
    width: 162px;
    font-size: 1.6rem;
  }
  
	header .header-contact>li>a.tel{
		color: #036844;
		font-weight: 900;
		font-size: 2rem;
		text-align: left;
	}
  
}


@media screen and (max-width: 1270px){
  header .logo-sdgs{
    display: block;
  }
  header .logo-sdgs>div{
    display: block;
    width: 250px;
  }

  header .logo-sdgs>p{
    font-size: 1rem;
    padding-left: 5px;
    margin-top: -3px;
  }
}
@media screen and (max-width: 1024px){

  header{
    width: 100%;
    height: 45px;
  }

  header.block .before{
    display: block;
  }

  header.block.active .before{
    background: rgba(0,0,0,0.8);
  }

  header .logo {
    padding-left: 10px;
    margin-right: 7px;
  }


  header .logo a {
    width: 135px;
  }

  header .logo-sdgs>div{
    display: block;
    width: 159px;
  }

  body header #menu-button {
    position: absolute;
    display: block;
    right: 3px;
    top: -4px;
    width: 60px;
    height: 46px;
    cursor: pointer;
    z-index: 5;
    margin-top: 2px;
    transition: all 0.2s ease;
    z-index: 21;
  }

  body header #menu-button>div{
    width: 28px;
    height: 2px;
    background: #301900;
    position: absolute;
    -webkit-transition: all .5s;
    transition: all .5s;
  }

  body header.on #menu-button>div{
    background: #301900;
  }

  body header.block #menu-button>div {
      background: #301900;
  }

  body header #menu-button>div:nth-child(1){
    top: 35%;
    left: 16px;
    transform: translate(0%,0%);
  }

  body header #menu-button.active {
      top: 0px;
  }

  body header #menu-button.active>div:nth-child(1) {
    top: 50%;
    transform: translate(-5%,-50%) rotate(45deg);
  }

  body header #menu-button>div:nth-child(2){
    top: 50%;
    left: 16px;
  }

  body header #menu-button.active>div:nth-child(2) {
    opacity: 0;
  }

  body header #menu-button>div:nth-child(3){
    top: 65%;
    left: 16px;
    transform: translate(0%,0%);
  }

  body header #menu-button.active>div:nth-child(3) {
    top: 50%;
    transform: translate(-5%,-50%) rotate(-45deg);
  }

  header nav{
    position: absolute;
    display: none;
    opacity: 1;
    top:45px;
    right:0%;
    width: 100%;
    padding:0;
    overflow: auto;
    text-align: left;
    background: #ffffff;
    border-top: none;
    z-index: 20;
    padding: 0;
    transition-timing-function: ease !important;
  }

  header nav .menu{
    display: block;
  }

  header nav .menu a{
    text-decoration: none;
  }

  header .header-contact{
    display: flex;
    margin-top: 10px;
    justify-content: center;
    overflow:hidden;
    padding: 0 10px;
  }
  header .header-contact>li{
    width: 33%;
    margin: 0 1%;
    margin-bottom: 20px;
  }

  header .header-contact>li>a{
    width: 100%;
    height: 39px;
    display: block;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    border-radius: 10px;
    color: #fff;
    font-size: 1.3rem;
  }
	header .header-contact>li>a.tel{
		font-size: 1.6rem;
	}
  

}/**/
.fixbtn{display: none;}
@media screen and (max-width: 540px){

  header .logo-sdgs>p{
    font-size: 1.7vw;
    padding-left: 5px;
    margin-top: -1px;
  }

	.fixbtn{
		display: block;
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		background: #FFF;
		z-index: 200;
	}
	.fixbtn ul>li>a{
	  width: 100%;
	  height: 42px;
	  display: block;
	  border-radius: 5px;
	  color: #fff;
	  text-align: center;
	  padding-top: 10px;
	  font-size: 1.3rem;
	  text-decoration: none;
	}

	.fixbtn ul>li>a.tel{
	  background: #ff3333;
	  background: linear-gradient(180deg, #FF2626 0%,#E60000 100%);
	}
	.fixbtn ul>li>a.request{
	  background: #009898;
	  background: linear-gradient(180deg, #00ACAC 0%,#008C8C 100%);

	}
	.fixbtn ul>li>a.consult{
	  background: #FF8306;
	  background: linear-gradient(180deg, #FF9B37 0%,#FF8000 100%);
	}
	.fixbtn ul{
	    display: flex;
	    margin-top: 10px;
	    justify-content: center;
	    overflow:hidden;
	    padding: 0 10px;
	}
	.fixbtn ul>li{
	    width: 33%;
	    margin: 0 1%;
	    margin-bottom: 20px;
	}



}

footer {
  padding: 30px 0 0; 
}

footer .footer-inner{
  display: flex;
  justify-content: center;
  margin:0 auto;
  align-items: center;
}

footer .footer-inner .logo{
  width: 177px;
}

footer .footer-inner .logo-sdgs{
  display: flex;
  padding-left: 85px;
  align-items: center;
}

footer .footer-inner .logo-sdgs div{
  width: 247px;
}

footer .footer-inner .logo-sdgs p{
  font-size: 1.4rem;
  font-weight: bold;
  padding-left: 1em;
}

footer .copyright{
  color:#666666;
  font-size: 1.1rem;
  text-align: center;
  padding: 20px 0 50px ;
}

@media screen and (max-width:1024px){

  footer .footer-inner {
   display: block;
   text-align: center;
  }
  footer .footer-inner .logo{
    width: 146px;
    margin: 0 auto 5px;
  }

  footer .footer-inner .logo-sdgs{
    display: block;
    padding-left: 0;
  }

  footer .footer-inner .logo-sdgs div{
    width: 166px;
    display: block;
    margin:0 auto;
  }

  footer .footer-inner .logo-sdgs p{
    text-align: center;
    font-size: 1rem;
  }

}



/***********************************************************************************************************************
* パーツ parts
***********************************************************************************************************************/
.message{
	font-weight: normal;
}

.cmn-wrap-l{
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 30px;
}
@media screen and (max-width:1024px){

  .cmn-wrap-l {
    padding: 0 10px;
  }

}

.cmn-button-area{
   /*display: flex;
   justify-content: center;*/
   margin: 35px auto 20px;
   text-align: center;
   width: 740px;
   height: 117px;
}
@media screen and (max-width:1024px){

  .cmn-button-area{ 
    width: 100%;
  }

}

.tel-area{
	text-align: center;
}
.tel-area .cacth.tel{
   margin-bottom: 5px;
}
.tel-area .cacth.tel a {
    text-decoration: none;
    color: #008C8C;
}
.tel-area .cacth.tel strong {
    font-weight: 900;
    font-size: 7rem;
    display: block;
    line-height: 1;
}
.tel-area .message{
	margin: 0 0 0 !important;
	font-size: 2.2rem;
}
@media screen and (max-width:1024px){

	.tel-area .cacth.tel strong {
		font-size: 9vw;
	}
	.tel-area .message{
		font-size: 1.4rem;
	}
}


.cmn-button-area .cmn-button{
  margin: 0 20px;
}

@media screen and (max-width:1024px){

  .cmn-button-area{
     margin-top: 20px;
     height: 67px;
  }

  .cmn-button-area .cmn-button{
    margin: 0;
  }


.cmn-button-area .cmn-button{
  /*max-width: 231px;*/
  width: 100%;

}

}

.cmn-head {
  position: relative;
  height: 180px;
}

.cmn-head img {
    width: 216px;
    margin-top: -5px;
}

.cmn-head span {
  position: absolute;
  display: block;
  width: 100%;
  left: 0;
  top: 0;
  margin: -10px auto 0;
  text-align: center;
}

.cmn-head img{
  width: 216px;
  margin-top: -20px;
}

@media screen and (max-width:1024px){

  .cmn-head {
    position: relative;
    height: 100px;
  }

  .cmn-head span img{
    width: 120px;
    margin-top: -5px;
  }

}

.cmn-heading-l{
  color: #006644;
  font-weight: 900;
  font-size: 5rem;
  text-align: center;
  margin-bottom: 30px;
}

.cmn-heading-m{
  font-size: 3rem;
  text-align: center;
  font-weight: bold;
  margin-bottom: 0.5em;
  text-align: center;
}
.Bld{
  font-weight: 900 !important;
}
.cmn-heading-m em{
  color: #66AC46;
}


@media screen and (max-width:1024px){

  .cmn-heading-l {;
    font-size: 3rem;
  }

  .cmn-heading-m {
    font-size: 4.5vw;
  }

}


 .cmn-picture{
  text-align: center;
  margin-bottom: 30px;
 }
 @media screen and (max-width:1024px){
   .cmn-picture{
    margin-bottom: 20px;
   }

 }

 .cmn-section{
  position:relative;
  padding-top: 65px;
  padding-bottom: 85px;
  background: #F3F3EB;
}
.cmn-section::before{
  content:"";
  position: absolute;
  display: block;
  width: 100%;
  height: 10px;
  top:0;
  left:0;
  background: linear-gradient(90deg, #006644 0%, #68AE46 100%);
}
.cmn-section-block{
  border-radius: 30px;
  background: #fff;
  max-width: 1140px;
  margin: 0 auto;
  padding-top: 0px;
  padding-bottom: 40px;
  box-shadow: 0px 0px 30px -10px rgba(0,0,0,0.3);
}

@media screen and (max-width:1024px){
  .cmn-section-block {
    border-radius: 15px;
  }

}

.cmn-section-block-lead{
  background: linear-gradient(90deg, #006644 0%, #68AE46 100%);
  text-align: center;
  font-size: 5.2rem;
  color: #fff;
  font-weight: 900;
  padding: 15px 0 19px;
  margin-bottom: 30px;
}

.cmn-section-block-lead>span{
  font-size: 4.6rem;
}

@media screen and (max-width:1024px){

  .cmn-section-block-lead {
      font-size: 6.7vw;
      padding: 0.2em 0 0.2em;
      line-height: 1.3;
      margin-bottom: 20px;
  }

  .cmn-section-block-lead>span{
    font-size: 4vw;
    display: inline-block;
  }

}

.cmn-section-inner{
  position: relative;
  max-width: 960px;
  margin: 0 auto;
  padding-bottom: 10px;
}

@media screen and (max-width:1024px){
  .cmn-section-inner{
    padding: 0 15px;
  }

}

.cmn-note{
  color: #FF0000;
  font-size: 1.3rem;
  margin-top: 10px;
}

@media screen and (max-width:1024px){
  .cmn-note {
      font-size: 1.1rem;
      margin-top: 10px;
  }

}




/***********************************************************************************************************************
* animation
***********************************************************************************************************************/
/*delay*/
.dt_3{ transition-delay: 0.3s !important; -webkit-transition-delay: 0.3s !important;}
.dt_5{ transition-delay: 0.5s !important; -webkit-transition-delay: 0.5s !important;}
.dt_6{ transition-delay: 0.6s !important; -webkit-transition-delay: 0.6s !important;}
.dt_7{ transition-delay: 0.7s !important; -webkit-transition-delay: 0.7s !important;}
.dt_8{ transition-delay: 0.8s !important; -webkit-transition-delay: 0.8s !important;}
.dt_9{ transition-delay: 0.9s !important; -webkit-transition-delay: 0.9s !important;}
.dt_10{ transition-delay: 1.0s !important; -webkit-transition-delay: 1.0s !important;}
.dt_12{ transition-delay: 1.2s !important; -webkit-transition-delay: 1.2s !important;}
.dt_15{ transition-delay: 1.5s !important; -webkit-transition-delay: 1.5s !important;}
.dt_18{ transition-delay: 1.8s !important; -webkit-transition-delay: 1.8s !important;}

/*from*/
.init{
    opacity: 0;
    transition-duration: 1.5s;
    -webkit-transition-duration: 1.5s;
    transition-property: opacity transform;
    -webkit-transition-property: opacity transform;
    transition-timing-function: ease, linear;
}

/*to*/
.page-head.animated .init,
.main-visual.animated .init,
.scl.animated .init{
    opacity: 1;
    -webkit-transform: translate(0,0) scale(1,1) rotate(0);
    transform: translate(0,0) scale(1,1) rotate(0);
    transition-property: opacity transform;
    -webkit-transition-property: opacity transform;
    transition-timing-function: ease, linear;
        /*transition-timing-function: ease-in-out;*/
}

/*from*/
.init.move_up{
  opacity:0;
  -webkit-transform: translate(0,7%);
    transform: translate(0%,7%);
    transition-duration: 2.5s;
    -webkit-transition-duration: 2.5s;
    transition-property: opacity transform;
    -webkit-transition-property: opacity transform;
    transition-timing-function: cubic-bezier(0.24, 1.00, 0.33, 1.00);
    -webkit-transition-timing-function:cubic-bezier(0.24, 1.00, 0.33, 1.00);
}

/*to*/
.scl.animated .init.move_up{
  opacity: 1;
  -webkit-transform: translate(0,0) scale(1,1);
  transform: translate(0,0) scale(1,1);
}


/* ふわふわアニメーション */
.fuwafuwa-area{
	position: relative;
}
@keyframes fuwafuwa {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-15px);
  }
}

.btn-fuwafuwa {
  animation: 3s fuwafuwa infinite 2s paused;
}
.animated .fuwafuwa-area .btn-fuwafuwa {
    animation: 3s fuwafuwa infinite 2s running;
}
@media screen and (max-width:1024px){

  .fuwafuwa-area.cmn-button-area {
    height: auto;
    padding-top: 19%;
  }
  @keyframes fuwafuwa {
    0%, 100% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-10px);
    }
  }
}





.mbox {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

@media screen and (max-width:1024px){

}

.org{
	color: #E8AE00;
}


.mrk{background:rgba(0, 0, 0, 0) linear-gradient(transparent 80%, #ffff7f 0%) repeat scroll 0 0;}

/***********************************************************************************************************************
* トップページ
***********************************************************************************************************************/
#container{
  /*margin-top: 60px;*/
}
@media screen and (max-width:1024px){
  #container{
    /*margin-top: 45px;*/
  }

}

#visual{
  position: relative;
  display: flex;
  flex-wrap:wrap;
  width: 100%;
  align-items: center;
  justify-content:center;
  height: calc(80vh - 60px);
}
#visual.second{
  height: auto;
}

#visual .bg{
  position: absolute;
  top:0;
  left:0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

#visual .block{
  position: relative;
  z-index: 2;
}

#visual .block .button {
  position: absolute;
  display: flex;
  bottom: 9%;
  left: 0;
}

.top-main{
  height: calc(100vh - 100px);
  position: relative;
  background-position:center 80%;
}

@media screen and (max-width:1400px){
  #visual .block {
    width: 64.6%;
  }
}

@media screen and (max-width:1024px){
  #visual .bg{
    opacity: 1 !important;
  }

  #visual .block {
    position: static;
    width: 100%;
    height: auto;
    opacity: 1 !important;
  }

  #visual{
    display: block;
    height: auto;
  }

  #visual .block .button {
    position: absolute;
    display: flex;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  #visual .block .button a {
    position: absolute;
    left: 13.4%;
    top: 22%;
    width: 36%;
    padding-top: 36%;
  }

  #visual .block .button a.item02{
    left: 50.2%;
    top: 22%;
  }


  #visual .block .button a.item03{
    left: 13.4%;
    top: 53%;
  }

  #visual .block .button a.item04{
    left: 50.2%;
    top: 53%;
  }
}
.section-adv{
  overflow: hidden;
}

.section-adv{
  position: relative;
  background: linear-gradient(-45deg,#3EA2D2 0%, #99D3EB 100%);
}
.section-adv .bg{
  position: absolute;
  left:0;
  top:0;
  width: 100%;
  height: 100%;
  background-size: cover;
  z-index: 1;

}

.section-adv .block{
  position: relative;
  padding-right: 590px;
  z-index: 2;
  height: 590px;
}

.section-adv .block .box{
  width: 680px;
  padding-left: 84px;
  text-align: center;
  padding-top: 40px;
}

.section-adv .block .title {
  position: absolute;
  left: 84px;
  top: 50px;
  text-align: left;
}

.section-adv .block .box .cacth{
  color: #fff;
  text-align: center;
  padding-top: 120px;
  margin-bottom: 40px;
  line-height: 1.4;
}
.section-adv .block .box .cacth span{
  display: block;
  font-size: 3.6rem;
  font-weight: bold;
}
.section-adv .block .box .cacth strong{
  display: block;
  font-size: 4.6rem;
  font-weight: 900;
}

.section-adv .link {
  max-width: 480px;
  position: absolute;
  margin: 0 auto 0;
  display: block;
  height: 48px;
  border-radius: 5px;
  color: #fff;
  padding: 15px 50px 5px 20px;
  line-height: 1em;
  background-image: url(../img/icon_tab.png);
  background-size: 21px;
  background-position: right 15px center;
  background-repeat: no-repeat;
  text-decoration: none;
  background-color: #216A8D;
  text-align: left;
  left: 169px;
  bottom: 81px;
}

.section-adv .block .figure {
  position: absolute;
  right: 72px;
  bottom: 0;
}


@media screen and (max-width:1200px){
  .section-adv .block .figure {
    position: absolute;
    right: 10px;
    bottom: 0;
    width: 44%;
  }

  .section-adv .block .box .cacth span{
    font-size: 3rem;
  }

  .section-adv .block .box .cacth strong {
    font-size: 4rem;
  }

  .section-adv .block .box {
    padding-left: 0;
  }

  .section-adv .link {
      max-width: 480px;
      left: 123px;
      bottom: 81px;
  }

}


@media screen and (max-width:1024px){

  .section-adv .block {
    position: relative;
    padding-right: 0;
    z-index: 2;
    height: auto;
    padding-top: 25px;
  }

  .section-adv .block .row{
    display: flex;
  }

  .section-adv .block .title {
    position: static;
    left: 0;
    text-align: left;
    padding-top: 50px;
    margin-bottom: 40px;
  }

  .section-adv .block .box {
    width: 100%;
    padding-left: 0px;
    padding-top: 0px;
  }

  .section-adv .block .figure {
    position: static;
    right: 10px;
    bottom: 0;
    width: 52%;
  }

  .section-adv .block .col {
    position: relative;
    width: 48%;
  }


  .section-adv .block .box .cacth {
    margin-bottom: 10px;
    padding-top: 0;
    line-height: 1.4;
  }

  .section-adv .block .box .cacth span {
      font-size: 5vw;
  }
  .section-adv .block .box .cacth strong {
      font-size: 7vw;
  }

  .section-adv .link {
    position: absolute;
    bottom: 10%;
    left: 15%;
    margin: 0 auto;
    width: 60%;
    max-width: 320px;
    padding: 0;
    background: transparent;
    height: auto;
  }
}

/*
セクション：トップ01
*/
.section-top01{
  position: relative;
  padding: 50px 0;
}

.section-top01 .bg{
  position: absolute;
  left:0;
  top:0;
  width: 100%;
  height: 100%;
  background-size: cover;
  z-index: 1;
}

.section-top01 .block{
  position: relative;
  z-index: 2;
  text-align: center;
}
.section-top01 .block .head>span{
  display: block;
  max-width: 500px;
  width: 100%;
  margin:0 auto;
  font-weight: 900;
  font-size: 6rem;
  padding: 15px 0;
  color: #fff;
  background: linear-gradient(90deg, #006644 0%, #68AE46 100%);
  margin-bottom: 10px;
  line-height: 1.2;
}
.section-top01 .block .cacth{
  margin-bottom: 10px;

}

.section-top01 .block .cacth strong{
  font-weight: 900;
  font-size: 5rem;
  display: block;


}
.section-top01 .block .cacth.tel strong{
  font-weight: 900;
  font-size: 9rem;
  display: block;
  line-height: 1;
}
.section-top01 .block .cacth.tel a{
	text-decoration: none;
	color: #008C8C;
}
.section-top01 .block .cacth span{
  display: block;
  font-size: 4.3rem;
}

.section-top01 .block .cacth span em{
  color: #66AC46;
  font-weight: bold;
}
.section-top01 .block .rdus>span{
  display: block;
  margin: 0 auto;
  max-width: 466px;
  padding:15px 20px;
  color: #FFFF99;
  background: #006644;
  font-size: 3.3rem;
  font-weight: 900;
  border-radius: 50px;
  margin-bottom: 20px;
}

.section-top01 .block .message{
  font-size: 2.4rem;
  /*margin-bottom: 20px;*/
}
@media screen and (max-width:1024px){

  .section-top01 {
    padding-top: 0px;
    padding-bottom: 30px;
  }

  .section-top01 .bg{
    display:block;
  }

  .section-top01 .block{
    width: 100%;
    opacity: 1 !important;
    transform: none !important;
  }
  .section-top01 .block .head>span{
    display: inline-block;
    font-size: 9vw;

    max-width: none;
    width: auto;
    padding: 10px 5%;
  }

  .section-top01 .block .cacth strong {
    font-size: 6vw;
    margin-bottom: 5px;
  }
	.section-top01 .block .cacth.tel strong{
	  font-size: 10vw;
	}
  .section-top01 .block .cacth {
    margin-bottom: 10px;
  }

  .section-top01 .block .cacth span {
    font-size: 5.5vw;
    line-height: 1.2;
  }

  .section-top01 .block .rdus{
    text-align: center;
  }
  .section-top01 .block .rdus>span{
    display: inline-block;
    margin: 0 auto;
    width: auto;
    max-width: none;
    padding:0.5em 10%;
    font-size:5vw;
    font-weight: 900;
    margin-bottom: 10px;
  }

  .section-top01 .block .message {
      font-size: 1.4rem;
      text-align: center;
      margin-bottom: 0px;
  }

  .section-top01 .cmn-button-area {
    margin-bottom: 20px;
  }

}

/*
セクション：トップ02
*/

#section-top02{
  position: relative;
  padding-bottom: 63px;
}

#section-top02 .bg{
  position: absolute;
  left:0;
  top:0;
  width: 100%;
  height: 100%;
  background-size: cover;
  z-index: 1;
}

#section-top02 .block{
  position: relative;
  z-index: 2;
}

#section-top02 .head{
  position: relative;
  background: #006644;
  text-align: center;
  padding: 10px 0 20px;
  margin-bottom: 58px;
  z-index: 2;
}

#section-top02 .head::after{
  content:"";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  bottom: -30px;
  left:50%;
  width: 0;
  height: 0;
  margin-left: -20px;
  border-style: solid;
  border-width: 30px 20px 0 20px;
  border-color: #006644 transparent transparent transparent;
}

#section-top02 .head span{
  display: block;
  max-width: 462px;
  margin: 0 auto;
  border-radius: 30px;
  color:#fff;
  background: #68AE46;
  font-size: 2.6rem;
}

#section-top02 .head strong{
  font-size: 4.4rem;
  color: #fff;
}

#section-top02 .block .list{
  max-width: 1040px;
  margin: 0 auto 40px;
}

#section-top02 .block .list>li{
  min-height: 64px;
  background-image: url(../img/list_check.png);
  background-color: #fff;
  background-size: 64px;
  background-position: 10px 10px;
  background-repeat: no-repeat;
  font-size: 3.6rem;
  border-radius: 50px;
  box-shadow: 0px 0px 30px -10px rgba(0,0,0,0.3);
  color: #006644;
  font-weight: bold;
  padding: 15px 90px 18px 90px;
  margin-bottom: 15px;
}

#section-top02 .block .catch{
  max-width: 1140px;
  margin: 0 auto;
  color: #fff;
  font-weight: 900;
  font-size: 5.2rem;
  text-align: center;
  padding: 15px 0;
  background: linear-gradient(90deg, #006644 0%, #68AE46 100%);
}

@media screen and (max-width:1024px){

  #section-top02 {
    position: relative;
    padding-bottom: 25px;
  }

  #section-top02 .block .head span {
    display: inline-block;
  max-width: none;
  padding: 1% 10%;
  font-size: 4vw;
  }

  #section-top02 .block .head strong {
  font-size: 5vw;
  color: #fff;
  margin-top: 3px;
  display: block;
  }

  #section-top02 .head {
    position: relative;
    background: #006644;
    text-align: center;
    padding: 10px 0 10px;
    margin-bottom: 29px;
    z-index: 2;
    }

  #section-top02 .head::after {
    bottom: -20px;
    left: 50%;
    margin-left: -20px;
    border-width: 20px 15px 0 15px;
  }

  #section-top02 .head span {
    display: inline-block;
    max-width: none;
    margin: 0 auto;
    padding: 1% 10%;
    border-radius: 30px;
    color: #fff;
    background: #68AE46;
    font-size: 4vw;
  }

  #section-top02 .head strong{
    display: block;
  }

  #section-top02 .head strong {
    display: block;
    font-size: 6vw;
  }

  #section-top02 .block .catch {
    padding: 0.2em 0;
    font-size: 7vw;
  }

}

.section-merit .title-m{
  font-weight: 4rem;
}
.section-merit .title{
  font-size: 5rem;
  text-align: center;
  margin-bottom: 20px;
  font-weight: 900;
  color: #006644;
}

.section-merit .top-message{
  margin-bottom: 50px;
  font-weight: normal;
}

.section-merit .message{
  margin-bottom: 30px;
  font-weight: normal;
}

.tel-area .message,
.tel-area .top-message{
	font-weight: 700;
}

.section-merit .catch{
  text-align: center;
  margin-bottom: 30px;
}


.section-merit .catch span{
  font-size: 3rem;
  font-weight: bold;
}
.section-merit .catch strong{
  display: block;
  font-weight: 900;
  font-size: 5rem;
  color: #006644;
}
.section-merit .catch em{
  font-size:3rem;
  font-weight: bold;
}
.section-merit .arrow{
  text-align: center;
  padding: 20px 0;
}
.section-top01 .border01,
.section-merit .border01{
  border:6px solid #DDDDDD;
  border-radius: 15px;
  padding:15px 10px;
  background: #FFF;
}
.section-top01 .border01-block,
.section-merit .border01-block{
  overflow-y: auto;
  height: 120px;
  padding:10px 30px ;
  font-size: 1.6rem;
  text-align: left;
}
.section-top01 .border01-block .mark>li,
.section-merit .border01-block .mark>li{
  position: relative;
  padding-left: 1em;
  margin-bottom: 0.5em;
}
.section-top01 .border01-block .mark>li::before,
.section-merit .border01-block .mark>li::before{
    content:"・";
    position: absolute;
    display: block;
    width: 1em;
    height: 1em;
    top:0;
    left:0;
}

.section-top01 .bottom-message01,
.section-merit .bottom-message01,{
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  margin-top: 10px;
}

.section-top01 .bottom-message02,
.section-merit .bottom-message02{
  text-align: center;
  font-size: 4rem;
  font-weight: 900;
}

#section-merit04 .title02{
  margin-bottom: 25px;
  text-align: center;
}

#section-merit03 .message01{
  font-weight: 900;
  font-size: 3.8rem;
  text-align: center;
}

#section-merit03 .message02{
  font-size: 3rem;
    text-align: center;
    margin-bottom: 40px;

}

#section-merit04 .message03{
  font-size: 2.8rem;
  margin-bottom: 10px;
  font-weight: 900;
}
#section-merit04 .message04{
  font-size: 1.6rem;
  text-align: left;
}
#section-merit04 .box01{
  background: #EEEEEE;
  text-align: center;
  padding: 20px;
  margin-bottom: 40px
}

#section-merit03  .picture-title{
  font-size: 4rem;
  font-weight: 900;
  text-align: center;
  margin-bottom: 20px;
}
#section-merit03  .picture-title2{
  font-size: 4rem;
  font-weight: 900;
  text-align: center;
  margin-bottom: 20px;
}

@media screen and (max-width:1024px){
  .section-merit .cmn-section{
    padding: 50px 10px;
  }

  .section-merit .title {
    font-size: 7vw;
    margin-bottom: 10px;
  }

  .section-merit .message {
      margin-bottom: 15px;
      font-size: 1.4rem;
      font-weight: normal;
  }

 .section-merit .arrow{
    padding: 0 0 15px;
  }

  .section-merit .arrow img{
    width: 50px;
  }

  .section-merit .catch {
    margin-bottom: 15px;
  }

  .section-merit .catch span {
    font-size: 4.5vw;
  }

  .section-merit .catch strong {
    font-size: 5vw;
  }

  .section-merit .catch span.span02{
    font-size: 3.2vw;

  }

  .section-top01 .border01,
  .section-merit .border01 {
    border: 5px solid #DDDDDD;
    border-radius: 5px;
    padding: 15px 15px;
    text-align: left;
  }
  .section-top01 .border01-block,
  .section-merit .border01-block {
    overflow-y: auto;
    height: 120px;
    padding: 0px 0px;
    font-size: 1.4rem;
  }
  .section-top01 .border01-block li,
  .section-merit .border01-block li{
  	margin-bottom: 0.5em;
  }
  .section-top01 .bottom-message01,
  .section-merit .bottom-message01{
    font-size: 3.5vw;
    margin-top: 10px;
    margin-bottom: 15px;
  }
  .section-top01 .bottom-message02,
  .section-merit .bottom-message02{
    font-size: 5vw;
    font-weight: 900;
  }

  .section-merit .top-message {
    margin-bottom: 20px;
    font-weight: normal;
  }

  #section-merit03  .picture-title2{
    font-size: 5vw;
    text-align: center;
    margin-bottom: 5px;
  }
  #section-merit03  .picture-title{
    font-size: 6vw;
    text-align: center;
    margin-bottom: 5px;
  }

  #section-merit04 .title02 {
    margin-bottom: 25px;
    text-align: center;
    font-size: 4vw;
  }

  #section-merit04-picture02{
    padding:0 20px;
  }

  #section-merit04-picture03{
    padding:0 30px;
  }
  #section-merit04-picture04{
    padding:0 40px;
  }
  #section-merit03 .message01 {
    font-size: 5vw;
    margin-bottom: 5px;
  }

  #section-merit03 .message02 {
  font-size: 3.5vw;
  margin-bottom: 20px
  }

  #section-merit04 .box01 {
    padding: 5px;
    margin-bottom: 20px;
    text-align: left;
  }

  #section-merit04 .message03 {
    font-size: 4vw;
    margin-bottom: 5px;
  }
  #section-merit04 .message03 em{
    display: inline-block;
  }

  #section-merit04 .message04 {
    font-size: 1.2rem;
    margin-bottom: 0;
  }

  #section-merit04 .cmn-section-block-lead>span {
    font-size: 6vw;
  }
}


#section-care {
  padding-bottom: 80px;
}

#section-care .head{
  position: relative;
  margin-bottom: 20px;
}
#section-care .head .bg{
  position: absolute;
  left:0;
  top:0;
  width: 100%;
  height: 100%;
}

#section-care .head .figure{
  position: absolute;
  right:0;
  bottom:25px;
  z-index: 1;
}

#section-care .head-block{
  position: relative;
  z-index: 2;
  height: 550px;
  max-width: 883px;
  margin: 0 auto;
}

#section-care .head-block p.message{
  position: absolute;
  left:20px;
  top:230px;
  z-index: 3;
}

#section-care .head-block p.message>span{
  display: inline-block;
  width: 500px;
  font-size: 5rem;
  color: #fff;
  padding: 20px 10px;
  text-align: center;
  background: linear-gradient(90deg, #006644 0%, #68AE46 100%);
  line-height: 1.2;
  font-weight: 900;
}

#section-care .head-block .catch{
  font-weight: bold;
  font-size: 3.6rem;
  position: absolute;
  left: 0;
  bottom:0;
  width: 100%;
  text-align: center;
  font-weight: 900;
  z-index: 2;
}

#section-care .block{
  text-align: center;
}

#section-care .block .list{
  display: flex;
  max-width: 1090px;
  width: 100%;
  margin: 0 auto;
  justify-content: space-between;
  flex-wrap:wrap;
}

#section-care .block .list>li{
  width: 48%;
}
#section-care .block .list>li>p{
  font-size: 2.8rem;
  background: #006644;
  color: #FFFF99;
  text-align: center;
  padding: 10px;
  font-weight: bold;
  text-align: center;
}

#section-care .block .list>li>figure{}
#section-care .block .message02{
  font-weight: bold;
  text-align: center;
  font-size: 1.8rem;
  padding:20px 0;
}

@media screen and (max-width:1024px){

  #section-care {
    padding-bottom: 30px;
  }

  #section-care .head-block {
    position: relative;
    z-index: 2;
    height: auto;
    max-width:1024px;
    margin: 0 auto;
}

  #section-care .head .head-block{
    position: absolute;
    left:0;
    top:0;
    width: 100%;
    height: 100%;
  }

  #section-care .head-block .catch {
      font-size: 5vw;
      bottom: 4%;
  }

  #section-care .head-block p.message{
    position: absolute;
    left:0px;
    top:0px;
    z-index: 3;
    width: 100%;
    height: 100%;
  }

  #section-care .head-block p.message>span {
    position: absolute;
    left: 7%;
    top: 34%;
    width: auto;
    padding: 2% 3%;
    max-width: none;
    font-size: 5vw;
  }

    #section-care .block .list{
      width: 73%;
      margin-left: 13.5%;
    }

  #section-care .block .list>li{
    width: 100%;
    margin-bottom: 30px;
  }

  #section-care .block .list>li>p {
    font-size: 3.5vw;
    padding: 2% 1%;
  }

  #section-care .block .message02 {
    font-size: 1.2rem;
    padding: 0 10px;
    text-align: left;
  }

}

#section-total-produce{
  position: relative;
  z-index: 1;
  padding-top: 60px;
  padding-bottom: 40px;
  text-align: center;
}

#section-total-produce .block {
    position: relative;
    z-index: 2;
}

#section-total-produce .title{
  font-size:6rem;
  font-weight:900;
  margin-bottom: 20px;
  color: #006644;
  text-align: center;

}
#section-total-produce .catch{
  font-weight: bold;
  font-size: 3rem;
}
@media screen and (max-width:1024px){

  #section-total-produce {
    padding-top: 30px;
    padding-bottom: 20px;
  }

  #section-total-produce .cmn-heading-m {
    font-size: 3.3vw;
    margin-bottom: 0.8em;
  }

  #section-total-produce .title {
    font-size: 8vw;
    font-weight: 900;
    margin-bottom: 0.2em;
  }

}

#section-case{
  background: #eee;
}

#section-case .head{
  background: #006644;
  padding: 30px 0px 40px;
  font-weight: 900;
  font-size: 5rem;
  color:#fff;
  text-align: center;
}

#section-case .block{
  padding-top:68px;
}

#section-case .list{
  display: flex;
  flex-wrap:wrap;
  justify-content: space-between;
}

#section-case .list>li{
  width: 48%;
  background: #fff;
  margin-bottom: 40px;
}

#section-case .list>li .inner{
  padding: 30px;
}
#section-case .list>li .title{
  padding: 5px 20px;
  border-left:6px solid #006644;
  font-size: 2.4rem;
  margin-bottom: 17px;
}

#section-case .list>li .box {
  display: flex;
  margin-bottom: 20px;
}

#section-case .list>li .image{
  width: 240px;
}

#section-case .list>li .text{
  width:calc(100% - 240px);
  padding-left: 20px;
}

#section-case .list>li .text-head{
  margin-bottom: 10px;
  padding-right: 5px;
  padding-bottom: 10px;
  border-bottom: 1px solid #006644;

}

#section-case .list>li .dear{
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: 3px;
}

#section-case .list>li .name{
  font-size: 1.4rem;
}

#section-case .list>li dl{
  display: flex;
  margin-bottom: 10px;
}

#section-case .list>li dl>dt{
  width: 85px;
  font-weight: bold;
  font-size: 1.4rem;
}

#section-case .list>li dl>dd{
  width: calc(100% - 85px);
  font-size: 1.4rem;
}


#section-case .list>li table tr th{
  background: #EEEEEE;
  border:1px solid #CCCCCC;
  font-size: 1.4rem;
  width: 25%;
  text-align: center;
  padding: 10px;
}
#section-case .list>li table tr th.col2{
  vertical-align: middle;
}

#section-case .list>li table tr td{
  width:50%;
  font-size: 1.4rem;
  border:1px solid #CCCCCC;
  padding: 10px;
  text-align: center;
}

#section-case .list>li .label{
  text-align: center;
  padding: 15px 0 20px;
  background: #006644;
  color: #fff;
}

#section-case .list>li .label span{
  font-size: 2.4rem;
}
#section-case .list>li .label strong{
  font-size: 3.2rem;
}

@media screen and (max-width:1024px){

  #section-case .block {
    padding: 30px 10px 10px;
  }

  #section-case .list>li {
    width: 100%;
    margin-bottom: 20px;
  }
  #section-case .list>li .inner {
      padding: 20px;
  }

  #section-case .list>li .title {
    padding: 5px 15px;
    font-size: 4vw;
    margin-bottom: 17px;
  }

  #section-case .list>li .image {
    width: 40%;
  }
  #section-case .list>li .text {
    width: 60%;
    padding-left: 15px;
  }

  #section-case .list>li .dear {
    font-weight: bold;
    font-size: 3vw;
    margin-bottom: 3px;
  }

  #section-case .list>li .label{
    padding: 2% 0 4%;
  }
  #section-case .list>li .label span {
    font-size: 4vw;
  }

  #section-case .list>li .label strong {
    font-size: 7vw;
  }

}

@media screen and (max-width:425px){

  #section-case .list>li .name{
    font-size: 1rem;
  }

  #section-case .list>li dl>dt{
    width: 50px;
    font-size: 2.2vw;;
  }

  #section-case .list>li dl>dd{
    width: calc(100% - 50px);
    font-size: 1rem;
  }

  #section-case .list>li table tr th,
  #section-case .list>li table tr td {
    font-size: 2.2vw;
    padding-left:0;
    padding-right:0;
  }
}

#section-consult{
  position: relative;
  z-index: 1;
  padding-top: 75px;
  padding-bottom: 80px;
}

#section-consult .block{
  position: relative;
  z-index: 2;
}

#section-consult .title{
  font-weight: 900;
  font-size: 6rem;
  text-align: center;
}

#section-consult .box{
  display: flex;
  justify-content:center;
  align-items: center;
  margin-bottom: 20px;
}

#section-consult .button{
  width: 351px;
  margin-left: 30px;
  text-align: center;
}

#section-consult .button p{
  margin-bottom: 10px;
}

#section-consult .button p span{
  font-size: 2.7rem;
  font-weight: bold;
}

#section-consult .button p em{
  font-size: 3.2rem;
}

#section-consult .message02{
  text-align: center;
  font-size: 2.4rem;
  margin-bottom: 30px;
}

#section-consult .rdus-box{
  max-width: 809px;
  margin: 0 auto;
  border-radius:20px;
  box-shadow: 0px 0px 25px -15px rgba(0,0,0,0.3);
  background: #fff;
  padding: 30px;
}
#section-consult .rdus-box ol{

}

#section-consult .rdus-box ol>li{
  position: relative;
  padding-left:45px;
  margin-bottom: 20px;
  font-size: 1.8rem;
}

#section-consult .rdus-box ol>li:last-child{
  margin-bottom: 0;
}

#section-consult .rdus-box ol>li>i{
  position: absolute;
  height: 32px;
  width: 32px;
  left:0;
  top:-5px;
  line-height: 32px;
  text-align: center;
  font-size: 1.6rem;
  background: #006644;
  text-align: center;
  border-radius: 50%;
  color: #fff;
}
@media screen and (max-width:1024px){

  #section-consult {
    padding: 30px 20px;
  }

  #section-consult .title {
    font-size: 8vw;
  }

  #section-consult .cmn-heading-m {
    font-size: 3.3vw;
  }

  #section-consult .box {
      margin-bottom: 20px;
      display: block;
  }

  #section-consult .box .image{
    text-align: center;
  }

  #section-consult .button{
    text-align: center;
  }

  #section-consult .button p{
    margin-top: 15px;
    margin-bottom: 5px;
  }

  #section-consult .button p span {
    font-size: 6vw;
  }

  #section-consult .button p em {
    font-size: 8vw;
  }

  #section-consult .button {
    width: 100%;
    margin-left: 0;
    text-align: center;
}

  #section-consult .button a{
    max-width: 231px;
    display: block;
    margin: 0 auto;
  }


  #section-consult .rdus-box ol>li{
    font-size: 1.1rem;
    padding-left: 24px;
  }

  #section-consult .rdus-box ol>li>i {
    position: absolute;
    height: 16px;
    width: 16px;
    left: 0;
    top: 0px;
    line-height: 16px;
    font-size: 1.2rem;
  }


  #section-consult .rdus-box {
    border-radius: 10px;
    padding: 15px;
  }

}

@media screen and (max-width:425px){
  #section-consult .message02 {
    font-size: 1.2rem;
    margin-bottom: 15px;
    text-align: left;
  }
}

/**/
#section-support .block{
  position: relative;
  padding-top: 100px;
  padding-bottom: 70px;
}

.cmn-section-head{
  background: #006644;
  padding: 30px 0px 40px;
  font-weight: 900;
  font-size: 5rem;
  color:#fff;
  text-align: center;
}

.cmn-section-head span{
  font-size: 2.2rem;
  text-align: center;
  display: block;
  font-weight: bold;
}

@media screen and (max-width:1024px){

  .cmn-section-head {
    padding: 0.5em 0;
    font-weight: 900;
    font-size: 7vw;
  }


}

#section-support .list>li{
  margin-bottom: 30px;
}

#section-support .list>li .box{
  display: flex;
}

#section-support .list>li .box .image{
  width: 200px;
}

#section-support .list>li .box .text{
  width: calc(100% - 200px);
  padding-top: 15px;
  padding-left: 30px;

}

#section-support .list>li .box .text .title{
  font-size:3.4rem;
  font-weight: 900;
  margin-bottom: 15px;
}

@media screen and (max-width:1024px){

  #section-support .block {
    position: relative;
    padding-top: 30px;
    padding-bottom: 10px;
  }

  #section-support .cmn-section-head span {
    font-size: 4vw;
  }

  #section-support .list>li .box .image{
    width: 25%;
  }

  #section-support .list>li .box .text {
      width: 100%;
      padding-top: 0px;
      padding-left: 15px;
  }

  #section-support .list>li .box .text .title{
    font-size:4vw;
    margin-bottom: 10px;
  }

  #section-support .list>li .box .message{
    font-size:1.2rem;
    margin-bottom: 10px;
  }

}

#section-faq{
  background: #EEEEEE;
}

#section-faq .cmn-section-inner {
  max-width: 980px;
}
#section-faq .block{
  padding: 50px 0;
}

#section-faq .faq-list{
  padding-top: 50px;
  margin-bottom: 40px;
}

#section-faq .faq-list>li{
  background: #EEEEEE;
  margin-bottom: 5px;
}

#section-faq .faq-list>li>.drw-head{
  position: relative;
  padding-right: 50px;
  padding-left: 20px;
  padding-top: 25px;
  padding-bottom: 25px;
  cursor: pointer;
}

#section-faq .faq-list>li>.drw-head::after{
  content:"";
  position: absolute;
  top:46px;
  right:25px;
  width: 14px;
  height: 14px;
  border-right:5px solid #333333;
  border-bottom:5px solid #333333;
  transform: translate(0,-50%) rotate(45deg);
}

#section-faq .faq-list>li>.drw-head.open::after{
  top:50px;
  transform: translate(0,-50%) rotate(-135deg);
}

#section-faq .faq-list>li>.drw-head p{
  position: relative;
  padding-left: 60px;
  font-weight: 900;
    min-height: 50px;
  font-size: 2.4rem;
  color: #66AC46;
  padding-top: 5px;
}

#section-faq .faq-list>li>.drw-head p>i{
  position: absolute;
  left:0;
  top:0px;
  width: 47px;
  height: 47px;
  text-align: center;
  padding-top: 5px;
  font-weight: 900;
  background: #006644;
  color:#fff;
  display: block;
  text-align: center;
  border-radius: 50%;
}

#section-faq .faq-list>li>.drw-body{
  padding-left: 60px;
  padding-right: 60px;
  padding-bottom: 20px;
  display: none;
}


#section-faq .bottom-message01{
  font-weight: 900;
  text-align: center;
  font-size: 5rem;
  margin-bottom: 10px;
}

#section-faq .bottom-message02{
  text-align: center;
  font-size: 3rem;
  margin-bottom: 10px;
}
@media screen and (max-width:1024px){

  #section-faq {
    background: transparent;
  }

  #section-faq  .cmn-section-block {
    border-radius: 30px;
    padding-top: 0px;
    padding-bottom: 30px;
    box-shadow: none;
  }

  #section-faq .block {
    padding: 0;
  }

  #section-faq .faq-list {
    padding-top: 30px;
    margin-bottom: 30px;
  }

  #section-faq .faq-list>li>.drw-head {
    position: relative;
    padding-right: 30px;
    padding-left: 10px;
    padding-top: 10px;
    padding-bottom: 10px;
    cursor: pointer;
}

  #section-faq .faq-list>li>.drw-head p>i {
    position: absolute;
    left: 0;
    top: 1px;
    width: 22px;
    height: 22px;
    font-size: 1.2rem;
    padding-top: 2px;
    padding-right: 1px;
  }

  #section-faq .faq-list>li>.drw-head p {
    position: relative;
    padding-left: 30px;
    padding-right: 30px;
    font-weight: 900;
    min-height: 11px;
    font-size: 1.6rem;
    color: #66AC46;
    padding-top: 0px;
  }

  #section-faq .faq-list>li>.drw-head::after {
      content: "";
      position: absolute;
      top: 20px;
      right: 18px;
      width: 12px;
      height: 12px;
      border-right: 4px solid #333333;
      border-bottom: 4px solid #333333;
      transform: translate(0,-50%) rotate(45deg);
  }

  #section-faq .faq-list>li>.drw-head.open::after {
      top: 25px;
  }

  #section-faq .faq-list>li>.drw-body {
    padding-left: 30px;
    padding-right: 30px;
    padding-bottom: 20px;
    font-size: 1.2rem;
  }

  #section-faq .bottom-message01 {
    font-size: 6vw;
    margin-bottom: 10px;
  }

  #section-faq .bottom-message02 {
    font-size: 4.5vw;
    margin-bottom: 10px;
  }
}

#section-company{
  position: relative;
  padding: 70px 0 ;
}

#section-company .cmn-section-block{
  padding: 50px 77px 80px;
  background: rgba(255,255,255,0.75);
  box-shadow: 0px 0px 30px -10px rgba(0,0,0,0.3);
}

#section-company .title{
  font-size: 3rem;
  font-weight: 900;
  text-align: center;
  margin-bottom: 80px;
}

#section-company .block{
  position: relative;
  z-index: 2;
}
#section-company .row{
  position: relative;
  display: flex;
  justify-content: space-between;
}
#section-company .box{
  width: 45%;
}

#section-company .row::after{
  content:"";
  position: absolute;
  display: block;
  width: 1px;
  height: 100%;
  top:0;
  left:50%;
  background:#ccc;
  z-index: 2;
}

#section-company .box table th{
  width: 113px;
  padding: 1em 0;
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: left;
}

#section-company .box table td{
  padding: 1em 0 1em 1em;
  font-size: 1.4rem;
  line-height: 1.5;
}

.form-box .dot,
#section-company .box .dot{
  margin-bottom: 1em;
}
.form-box .dot>li,
#section-company .box .dot>li{
  position: relative;
  padding-left: 1em;
}
.form-box .dot>li::after,
#section-company .box .dot>li::after{
  content:"・";
  position: absolute;
  display: block;
  width: 1em;
  height: 1em;
  top:0;
  left:0;
}
@media screen and (max-width:1024px){
  #section-company {
    padding: 30px 0;
  }

  #section-company .cmn-section-block {
    padding: 30px;
    background: rgba(255,255,255,0.75);
    box-shadow: 0px 0px 30px -10px rgb(0 0 0 / 30%);
  }

  #section-company .title {
    font-size: 6vw;
    margin-bottom: 20px;
  }

  #section-company .row {
    display: block;
  }

  #section-company .row::after{
    display: none;
  }

  #section-company .row .box{
    display: block;
    width: 100%;
  }

  #section-company .box table th{
      width: 73px;
      padding: 0.8em 0;
      font-size: 1.1rem;
      white-space: nowrap;
    }

    #section-company .box table td{
      padding: 0.8em 0 0.8em 0.8em;
      font-size: 1.1rem;
      line-height: 1.5;
    }

}

/*
コンタクト
*/
/*input*/

::placeholder {
  color: #AAA;
}

.input,
button,
textarea,
select{
  width: 100%;
  border: none;
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
  padding: 0;
  -webkit-border-radius: none;
  border-radius: none;
  border-radius: 0;
  border:none;
  border:0;
  font-family: inherit;
  box-shadow: none;
}

.input.size-s{
  max-width: 162px;
}
.input.size-l{
  max-width: 539px;
}

select::-ms-expand {
  display: none;
}

.input,
textarea,
select{
  width: 100%;
  max-width: 360px;
  background: #fff;
  border:1px solid #CCCCCC;
  height: 50px;
  font-size: 2rem;
  text-indent: 1em;
}

textarea{
  max-width: 539px;
  height: 150px;
  padding: 1em 0;
}

.input:disabled{
  background: transparent;
  border:1px solid transparent;
  padding-left: 0;
  text-indent: 0 !important;
}

/*セレクト*/
.select-label{
    position: relative;
    display: inline-block;
    border:1px solid #666;
    width: 238px;
    color:#000;
}

.select-label>select {
    position: relative;
    display: block;
    width: 100%;
    padding: 0 25px 0 0;
    line-height: 48px;
    height: 50px;
    cursor: pointer;
    white-space: nowrap;
    border: none;
    box-sizing: border-box;
    z-index: 1;
    border:1px solid #BBBBBB ;
}

.select-label::after{
  content:"";
  position: absolute;
  top:23px;
  right:25px;
  width: 14px;
  height: 14px;
  border-right:5px solid #333333;
  border-bottom:5px solid #333333;
  transform: translate(0,-50%) rotate(45deg);
  pointer-events: none;
  z-index: 2;
}

/*チェックボックス*/
.check-group label{
    display: block;
    margin-right: 10px;
    padding:0;
    line-height: 1em;
    cursor: pointer;
}

.check-group input{
  display: none;
}

.check-group span{
  padding-left: 1.8em;
  position:relative;
  padding-top: 5px;
  line-height: 1.3em;
  display: block;
}

/*チェック枠*/
.check-group span::before{
    content: "";
    display: block;
    position: absolute;
    top: 14px;
    left: 0;
    width: 18px;
    height: 18px;
    position: absolute;
    border:2px solid #999 ;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
}


/*チェック*/
.check-group input:checked + span::after{
    content: "";
    display: block;
    position: absolute;
    top: 8px;
    left:5px;
    -webkit-transform:  rotate(-45deg);
    transform:  rotate(-45deg);
    width: 9px;
    height: 5px;
    border-left:3px solid #666;
    border-bottom:3px solid #666;
}


/*ラジオボックス*/

.radio-block{
  margin-top: 12px;
}

.radio-group {
    display: -webkit-flex;
    display: flex;
    margin-bottom: 0;
    align-items: center;
}

.radio-group label{
    width: 200px;
    line-height: 17px;
    white-space: nowrap;
    vertical-align: middle;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    padding-right: 20px;
}

.radio-group input{
    display: none;
}

.radio-group span {
    position: relative;
    padding-left: 1.6em;
    line-height: 1.5em;
    display: block;
    font-size: 2rem;
}

.radio-group span::before{
    content: "";
    display: block;
    position: absolute;
    top: 5px;
    left: 0;
    width: 21px;
    height: 21px;
    position: absolute;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    border:1px solid #666666;
    background: #fff;

}

.radio-group input:checked + span::before{
    background: #AAAAAA;
}

@media screen and (max-width:1024px){
  .input,
  textarea,
  select{
    font-size: 1.6rem;
    text-indent: 0.5em;
  }
  .input.size-s{
    max-width: 210px;
  }
  .radio-block{
    margin-top: 0px;
  }

  .radio-group label{
    width: 130px;
  }

  .radio-group span {
    position: relative;
    padding-top: 5px;
    font-size: 1.6rem;
  }
}
/**/

.contact-block{
  background: #EEEEEE;
  padding: 100px 10px;
}

.contact-block .cmn-section-block{
  padding-top: 86px;
  padding-bottom: 60px;
}
.contact-block .cmn-section-inner{
  max-width: 980px;
  margin: 0 auto;
}

.contact-block .req{
  width: 60px;
  line-height: 29px;
  height: 29px;
  text-align: center;
  font-size: 1.6rem;
  background:#67AD46;
  color:#fff;
  display: block;
}

.contact-block .free{
  width: 60px;
  line-height: 29px;
  height: 29px;
  text-align: center;
  font-size: 1.6rem;
  background:#c7e1bb;
  display: block;
}

.contact-block .contact-head{
  padding: 0 20px 20px;
}
.contact-block .contact-message01{
  display: flex;
  margin-top: 50px;
  margin-bottom: 10px;
}

.contact-block .contact-message01 span {
    display: block;
    padding-top: 5px;
    padding-left: 5px;
}
.contact-block .contact-message02{
  display: flex;
  margin-bottom: 0px;
}

.contact-block .contact-message03{
  margin-top: 45px;
  margin-bottom: 25px;
  text-align: center;
}

.contact-block .submit-button{
  width: 351px;
  line-height: 88px;
  height: 88px;
  text-align: center;
  border-radius: 20px;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  /*background: linear-gradient(270deg, #00ACAC 0%,#008C8C 100%);*/
  background: #FF8000;
}

.contact-block .submit-button-area{
  text-align: center;
}
.error-message{
  position: relative;
  padding-left: 1em;
  color: #f10000;
  margin-top: 5px;
}
.error-message::after{
  content:"※";
  position: absolute;
  display: block;
  text-align: center;
  top:0;
  left:0;
  padding-top: 0px;
  border-radius: 50%;
  color:#f10;
}

@media screen and (max-width:1024px){
  .contact-block {
    padding: 20px 10px;
  }

  .contact-block .contact-message01 {
      display: flex;
      margin-top: 30px;
      margin-bottom: 10px;
  }

  .contact-block .cmn-section-block{
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .contact-block .contact-head {
      padding: 0 0 20px;
  }

  .contact-block .contact-message03 {
    margin-top: 20px;
    margin-bottom: 25px;
  }

  .contact-block .submit-button{
    width: 275px;
    line-height: 50px;
    height: 50px;
    font-size: 2rem;
    border-radius: 10px;
  }

  .contact-block .req {
    width: 50px;
    line-height: 20px;
    height: 20px;
    text-align: center;
    font-size: 1.4rem;
    background: #67AD46;
    color: #fff;
    display: block;
    margin-top: 4px;
  }
}

/*.electric_charge-box01,
.file-box01,
.contact-box02{
  display: none;
}*/

/*
テーブル
*/
.contact-table{}

.contact-table tr{}

.contact-table th{
  width: 370px;
  background: #00A872;
  border-bottom: 5px solid #fff;
  padding: 25px 20px;
  vertical-align: top;
}

.contact-table th .row{
  display: flex;
}
.contact-table th .row>span{
  display: block;
  padding-top: 0px;
  font-size: 2rem;
  color:#fff;
  padding-left: 0.5em;
}

.contact-table td{
  background: #EEEEEE;
  padding: 15px 30px;
  border-bottom: 5px solid #fff;
}


.contact-table .pref-block .box01 .row{
  display: flex;
  align-items: center;
  margin-bottom:15px;
}
.contact-table .pref-block .box01 .item01{
  font-size: 2rem;
  width: 40px;
  text-align: center;
}

.contact-table .pref-block .box01 .item03{
  font-size: 1.3rem;
  padding-left: 1em;
}

.contact-table .pref-block .box02{
  margin-bottom:15px;
}

.contact-table .pref-block .box03{
  margin-bottom:15px;
}

.contact-table .temp-list>li{
  margin-bottom: 20px;
}
.contact-table .temp-list>li p.message{
  font-weight: bold;
  margin-bottom: 10px;
}
.contact-table .temp-list>li p small{
  font-weight: normal;
  font-size: 1.4rem;
}

.contact-table .output{
  padding: 1em 0;
  font-size: 2rem;
}

@media screen and (max-width:1024px){

  .contact-table,
  .contact-table tbody,
  .contact-table tr,
  .contact-table th,
  .contact-table td{
    display: block;
    width: 100%;
  }

  .contact-table th{
    width: 100%;
    border-bottom: 0px solid #fff;
    padding: 1em;
  }

  .contact-table th .row>span {
      display: block;
      padding-top: 2px;
      font-size: 1.6rem;
  }

  .contact-table td{
    padding:1em;
    border-bottom: 0px solid #fff;
  }

  .contact-table .pref-block .box01{
    display: flex;
    align-items: center;
    margin-bottom:15px;
    flex-wrap:wrap;
  }
  .contact-table .pref-block .box01 .item01{
    font-size: 2rem;
    width: 40px;
    text-align: center;
  }

  .contact-table .pref-block .box01 .item03{
    font-size: 1.2rem;
    padding-left: 0em;
    width: 100%;
    margin-top: 5px;
  }

  .contact-table .pref-block .box02{
    margin-bottom:15px;
  }

  .contact-table .pref-block .box03{
    margin-bottom:15px;
  }

  .contact-table .output{
  font-size: 1.4rem;
}


}

/*
送信ボタン
*/

.contact-submit{
  display: flex;
  justify-content: center;
}

.contact-submit>li{
  margin-bottom: 15px;
  text-align: center;
}
.contact-submit>li:last-child{
  margin-bottom: 0;
}

.contact-submit>li form{
  margin: 0px 20px;
}


.contact-submit>li .submit-button.back{
  background: #aaa;
  }

@media screen and (max-width:1024px){
  .contact-submit{
    flex-wrap:wrap;
  }

  .contact-submit>li{
    width: 100%;
    margin-bottom: 0px;
  }

  .contact-submit>li form{
    margin: 0px;
  }

}

/*
確認完了
*/
  .contact-confirm .contact-submit{
    margin-top: 50px;
  }

  .contact-complete{
    padding-top: 50px;

  }
  .contact-complete .title{
    font-size: 2rem;
    text-align: center;
    margin-bottom: 30px;
  }

  .contact-complete .box{
    margin-bottom: 50px;
  }

  .contact-complete .back-home{
    text-align: center;
  }

  .contact-complete .back-home a{
    display: inline-block;
  }


.file-label input{
  position: absolute;
  opacity: 0;
  width: 100%;
  height: 100%;
}

.file-wrap{
  position: relative;
  display: flex;
  align-items: center;
}

.file-label{
  position: relative;
  width: 158px;
  height: 35px;
  line-height: 35px;
  border:1px solid #AAA;
  background: #ddd;
  text-align: center;
  cursor: pointer;
}
.file-wrap p{
  padding-left: 0.5em;
}


/*delay*/
.dt_2{ transition-delay: 0.2s !important; }
.dt_3{ transition-delay: 0.3s !important; }
.dt_4{ transition-delay: 0.4s !important; }
.dt_5{ transition-delay: 0.5s !important; }
.dt_6{ transition-delay: 0.6s !important; }
.dt_7{ transition-delay: 0.7s !important; }
.dt_8{ transition-delay: 0.8s !important; }
.dt_9{ transition-delay: 0.9s !important; }
.dt_10{ transition-delay: 1.0s !important;}
.dt_11{ transition-delay: 1.1s !important;}
.dt_12{ transition-delay: 1.2s !important;}
.dt_13{ transition-delay: 1.3s !important;}
.dt_14{ transition-delay: 1.4s !important;}
.dt_15{ transition-delay: 1.5s !important;}
.dt_16{ transition-delay: 1.6s !important;}
.dt_17{ transition-delay: 1.7s !important;}
.dt_18{ transition-delay: 1.8s !important;}

/*from*/
.init{
    opacity: 0;
    transition-duration: 1.2s;
}

/*to*/
 #main-visual.animated .init,
[data-scl].animated .init{
    opacity: 1;
    transform: translate(0,0) scale(1,1) rotate(0);
    transition-property: opacity transform;
    transition-timing-function:ease;
}

/*from*/
.init.move_up{
  opacity:0;
  transform: translate(0%,30px);
  transition-duration: 1.2s;
  transition-property: opacity transform;
}

/*to*/
.opening.animated .init.move_up,
[data-scl].animated .init.move_up{
  opacity: 1;
  transform: translate(0,0);
}


/*from*/
.init.zoom{
  opacity:0;
    transform: scale(0.8,0.8);
    transition-duration: 0.6s;
    transition-property: opacity transform;
}

/*to*/
.opening.animated .init.zoom,
[data-scl].animated .init.zoom{
  opacity: 1;
  transform: scale(1,1);
}

/*from*/
.init.rotate{
  opacity:0;
    transform: scale(0.9,0.9) rotate(-10deg);
    transition-duration: 1.5s;
    transition-property: opacity transform;
}

/*to*/
.opening.animated .init.zoom,
[data-scl].animated .init.zoom{
  opacity: 1;
  transform: scale(1,1);
}

/*from*/
.init.rotate_x{
  opacity:0;
    transform: scale(1,1) rotateX(90deg);
    transition-duration: 1.5s;
    transition-property: opacity transform;
}

/*to*/
[data-scl].animated .init.rotate_x{
  opacity: 1;
  transform: scale(1,1)  rotateX(0deg);
}

/*from*/
.init.rotate_y{
  opacity:0;
    transform: scale(1,1) rotateY(70deg);
    transition-duration: 1.5s;
    transition-property: opacity transform;
}

/*to*/
[data-scl].animated .init.rotate_y{
  opacity: 1;
  transform: scale(1,1)  rotateY(0deg);
}

/*from*/
.init.zoom2{
  opacity:0;
    transform: scale(0.7,0.7) translate(0 ,0px);
    transition-property: opacity transform;
}

/*to*/
[data-scl].animated .init.zoom2{
  opacity: 1;
      transition-duration: 1s;
  transform: scale(1,1) translate(0 ,0);
}


/*from*/
.init.blur{
  opacity:0;
  transition-duration: 0.8s;
  transform: scale(1,1) translate(0 ,0);
  transition-property: opacity filter transform;
  filter: blur(40px);
}

/*to*/
[data-scl].animated .init.blur{
  opacity: 1;
  transform: scale(1,1) translate(0 ,0);
  filter: blur(0);
  transition-timing-function:ease;
}

[data-scl] .init.mask_left{
  opacity: 1;
}

[data-scl].animated .init.mask_left{
  opacity: 1;
  transform: translate(-120%,0) scale(1,1) ;
}

[data-scl].animated .init.mask_right{
  opacity: 1;
  transform: translate(120%,0) scale(1,1) skewX(2.8deg);
}

[data-scl].animated.business_section_row .init.mask_left{
  opacity: 1;
  transform: translate(-120%,0) scale(1,1) skewX(-10deg) ;
}

[data-scl].animated.business_section_row .init.mask_right{
  opacity: 1;
  transform: translate(120%,0) scale(1,1) skewX(-10deg);
}
