html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  font-size: 14px;
  color: #333;
  width: 100%; }

body {
  margin: 0;
  width: 100%; }

main {
  display: block;
  width: 100%; }

hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

a {
  background-color: transparent; }

abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

b, strong {
  font-weight: bolder; }

code, kbd, samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

small {
  font-size: 80%; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  font-weight: normal; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em;
  font-size: 70%; }

img {
  border-style: none; }

button, input, optgroup, select, textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

button, input {
  /* 1 */
  overflow: visible; }

button, select {
  /* 1 */
  text-transform: none; }

button, [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

fieldset {
  padding: 0.35em 0.75em 0.625em; }

legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

progress {
  vertical-align: baseline; }

textarea {
  overflow: auto; }

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

details {
  display: block; }

summary {
  display: list-item; }

template {
  display: none; }

[hidden] {
  display: none; }

html, body, main, h1, h2, h3, h4, div, ul, li, dl, dt, dd, table, th, tr, td, nav, p, img {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  line-height: 1.4; }

img {
  flex-shrink: 0; }

.pc {
  display: inherit;
  flex-shrink: 0; }

.sp {
  display: none !important; }

.sp_br {
  display: none; }

#type, #capacity, #speed, #reliability, #for_sp, #for_camera, #for_dr {
  position: relative;
  top: -47px;
  width: 0;
  height: 0; }

@media screen and (max-width: 768px) {
  .pc {
    display: none; }

  .sp {
    display: inherit !important; }

  #type, #capacity, #speed, #reliability, #for_sp, #for_camera, #for_dr {
    position: relative;
    top: -47px; } }
@media screen and (max-width: 414px) {
  .sp_br {
    display: inherit; } }
body {
  z-index: 0; }
  body a:visited {
    color: inherit; }

main {
  width: 100%;
  text-align: center; }

  main p {
      font-size:16px;
    line-height: 1.6; }

  main a img:hover, main a img:active {
    opacity: 0.7;
    transition: 0.2s;
    text-align: center; }


  main section {
    padding: 30px 0; }

    main section div.inn {
      margin: 30px auto;
      width: 1000px;
font-weight: normal;
}

    main section div.inn img{
      width: 100%;
      max-width: 1000px;
}

      main section h2 {
        font-size: 3.0em;
        /*font-weight: bold;*/
        padding: 0 0 20px 0;
        margin: 0; }

      main section div.inn h2 {
        font-size: 3.0em;
        /*font-weight: bold;*/
        padding: 0 0 20px 0;
        margin: 0; }
      main section div.inn h3 {
        font-size: 2.35em;
        /*font-weight: bold;*/
        padding: 0 0 10px 0;
        margin: 0; }

      main section div.inn ul {
        margin: 0 auto;
        text-align: left;
        list-style: none; }



.fs_m{
    font-size: 18px;
}


/*--KV---------------------*/
  main section.kv {
      margin: 0;
      padding: 0;
background-image: url(https://www.green-house.co.jp/special/mobilebattery/img/green-bk.png);
      background-color:#003900;
  background-position: top center;/*表示する位置*/
  background-size: contain;/*背景画像の大きさ*/
  background-repeat: no-repeat;/*画像が繰り返すのを防ぐ*/
  height: 690px;/*要素の高さ*/
      position: relative;
      z-index: -99999;
}


main section.kv h1{
      font-size: 3.357em;
      font-weight: bold;
      padding: 0;
      margin: 0;
    color: #fff;
      text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
        position: absolute;
        z-index: 2;
    width: 752px;
    height: 229px;
  top: 30px;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

main section.kv img.btimg {
    position: absolute;
    animation: floatUpDown 4s ease-in-out infinite;
  top: 30px;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
        z-index: 1;
}
@keyframes floatUpDown {
  0% {
    transform: translateY(0); /* 元の位置 */
  }
  50% {
    transform: translateY(-10px); /* 上に20px移動 */
  }
  100% {
    transform: translateY(0); /* 元の位置に戻る */
  }
}


section.sub_tl{
    background: #175299;
    color: #fff;
    padding: 30px 0;
    margin: 0;
}
section.img_tl{
        background: #fff;
    padding: 60px 0 30px;
    margin: 0;
}
section.kv div.inn,section.img_tl div.inn{
    padding: 0;
    margin: 0 auto;
}

section.sub_tl h1{
      font-size: 3.2em;
      font-weight: bold;
      padding: 0;
      margin: 0;
}


section.ha h2,section.chu h2{
      font-size: 3.2em;
      padding: 30px 0 10px;
      margin: 0;
}
section.ha h2 span{
      font-size: 60%;
      font-weight: normal;
    display: block;
      padding: 0;
      margin: 0;
}
section.ha ul{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    font-size: 18px;
    line-height: 1.4;
}
section.ha ul li{
    width: 45%;
    margin: 0 0 24px;
}
section.ha .inn ul li p{
    font-size: 18px;
    line-height: 1.4;
}



/*-----逆止弁*/

section.non-return{
}

section.non-return .inn ul li{
padding: 20px 0;
        font-size: 18px;
}

section.non-return .inn dl{
    width: 90%;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
}

section.non-return .inn dl dt{
padding: 0 15px;
width: 30%;
}
section.non-return .inn dl dt img{
}
section.non-return .inn dl dd{
        text-align: left;
width: 70%;
    padding: 10px 15px;
}
section.non-return .inn dl dd h3{
padding: 120px 0 16px 0;
    color: #1040a0;
}
section.non-return .inn dl.cha-r dt{
order: 1;
}
section.non-return .inn dl.cha-r dd{
order: 2;
}

section.non-return .inn dl ul.chu-li li{
    padding: 6px 0 6px 14px;
margin: 0;
}
section.non-return .inn dl ul.chu-li li::before{
content: "●";
    font-size: 10px;
    margin: 0 6px 0 0;
    position: relative;
    bottom: 2px;
    color: #cbcbcb;
}

section .inn ul.col_3{
    display: flex;
    justify-content: space-between;
margin: 0 0 30px;
}
section .inn ul.col_3 li{
width: 48%;
    text-align: center;
}

section .inn ul.col_3 li h4{
    font-size: 2.8em;
}

/*-----料理*/

section.chu{
 background: #fcf7ee;
z-index: 1;
}

section.chu .inn ul li{
padding: 20px 0;
        font-size: 18px;
}

section.chu .inn dl{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
}

section.chu .inn dl dt{
width: 45%;
}
section.chu .inn dl dd{
width: 55%;
    padding: 10px 15px;
}

section.chu .inn dl.cha-r dt{
order: 2;
}
section.chu .inn dl.cha-r dd{
order: 1;
}

section.chu .inn dl ul.chu-li li{
    padding: 6px 0 6px 14px;
margin: 0;
}
section.chu .inn dl ul.chu-li li::before{
content: "●";
    font-size: 10px;
    margin: 0 6px 0 0;
    position: relative;
    bottom: 2px;
    color: #cbcbcb;
}




main section.chu div.inn h3{
    margin: 80px 0 20px 0;
    padding: 0 0 8px;
    font-size: 1.7em;
    border-bottom: 1px solid #ececec;
}

section.wh_bk{
 background: #fff;
}



/*----Step---*/
    
section.step .inn ul{
        display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 20px 0;
    margin: 0 auto;
    width: 100%;
}
section.step .inn p{
    font-size: 18px;
}

section.step ul li h3{

    font-size:2.em;
    text-align: center;
} 
section.step ul li {
    width: 46%;
    margin: 0 0 40px;
}
section.step ul li dl{
}

section.step ul li dd{
    text-align: center;
}


/*----安全性---*/
section.safety .inn ul li{
    padding: 0 0 30px;
}


section.safety .inn ul li dl{
    display: flex;
    justify-content: space-between;
}

section.safety .inn ul li dl dt{
    width: 20%;
    padding: 15px;
}
section.safety .inn ul li dl dd{
    padding: 15px 15px 0 15px;
}
section.safety .inn ul li dl dd img{
    max-width: 540px;
}
section.safety .inn ul li dl dd h5{
    font-size: 180%;
    padding: 15px 0 4px;
    margin: 0 0 14px;
    border-bottom: solid 1px #ececec;
}



section.safety .inn ul li dl.pet dt{
   width: 30%;
order: 2;
}
section.safety .inn ul li dl.pet dd{
order: 1;
}
section.safety .inn ul li dl.pet dd img{
max-width: 540px;

}

section.safety .inn ul li dl.pet dd ul.note{
    color: #6c6c6c;
    font-size: 14px;
    margin: 12px 0 0 7px;

}
section.safety .inn ul li dl.pet dd ul.note li{
    padding: 0 0 8px;
    text-indent: -14px;
}


/*----FAQ-------------------------------------*/

main section.faq{
font-size: 16px;
}

main section.faq .inn dl dd ul.shop_link{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 20px 0;
    margin: 0 auto;
    width: 50%;
}

main section.faq .inn .qaLink a{

}


main section.faq .inn dl.faq_qa dt,main section.faq .inn dl.faq_qa{
padding: 0 0 0 5%;
}


main section.faq .inn dl.faq_qa dt,main section.faq .inn dl.faq_qa dd{
font-size: 1.2em;
text-align: left;
    padding: 6px 6px 6px 32px;
text-indent: -46px;
    position: relative;
}
main section.faq .inn dl.faq_qa dt::before,main section.faq .inn dl.faq_qa dd::before{
    display: inline-block;
    padding: 20px 20px;
    height: 36px;
    width: 36px;
content:"";
    background: url("https://www.green-house.co.jp/special/sodadk/img/qa_Q.png")no-repeat top left ;
    background-size: contain;
    position: relative;
    left: -8px;
    bottom:-10px;
}
main section.faq .inn dl.faq_qa dd::before{
    background: url("https://www.green-house.co.jp/special/sodadk/img/qa_A.png")no-repeat top left ;
    background-size: contain;
}


main section.faq .inn dl dd ul.shop_link li{

}

main section.faq .inn dl dd h3{
font-size: 1.5em;
padding: 10px 0 6px 0;
    margin: 20px auto 0;
    background: #e6eff5;
}
main section.faq .inn dl dd ul.shop_link li a,main section.faq .inn .qaLink a{
font-size: 1.3em;
    position: relative;
color: green;
    display: block;
    padding: 4px 10px;
    border: solid 1px #ddd;
    border-radius: 6px;
}

main section.faq .inn dl dd ul.shop_link li a:hover,main section.faq .inn .qaLink a:hover{
color: #fff;
background: green;
    text-decoration: none;
}

main section.faq .inn .qaLink a{
    margin: 30px auto 30px;
}

main section.faq .inn dl dd ul.shopList{
    display: flex;
    justify-content: space-between;
    padding: 10px 0 20px;
    margin: 0 auto 30px;
    width: 100%;
    flex-wrap: wrap;
}
main section.faq .inn dl dd ul.shopList li{
    padding: 8px 4px;
    margin: 0 auto;
    width: 36%;
    font-size: 100%;
}



/*--
main section.faq .inn dl dd ul.shop_link li::before{
 color: #ccc;
    content: "●";
font-size: 14px;
    bottom: 3px;
    right: 3px;
    position: relative;
}--*/

@media screen and (max-width: 768px) {
main section div.inn img{
      width: 100%;
      max-width: 100%;
}
  main section {
    padding: 15px 0; }

    main section div.inn {
      margin: 0 auto;
        padding: 0 8px;
      width: 100%;
}
    
      main section div.inn h2 {
        font-size: 1.75em;
        padding: 14px 0 6px 0;
        margin: 0; }
      main section div.inn h3 {
        font-size: 1.4em;
        padding: 0 0 10px 0;
        margin: 0; }
    
    
    
/*--KV-SP--------------------*/
  main section.kv {
  background-size: cover;
  height: 300px;/*要素の高さ*/
      border: 1px solid #ccc;
}
main section.kv img.btimg {
    width: 120px;
  top: 30px;
  right: 0;
  bottom: 0;
  left: 0;
}
main section.kv h1{
      font-size: 1.7em;
    width: 90%;
  top: 115px;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
    
    
    
section.img_tl{
    padding: 18px 8px 18px;
}
section.img_tl img.sp{
    border-radius: 9px;
}
    

/*----ステップ---*/
section.step .inn ul{
    display: inherit;
    padding: 20px 1%;
}
section.step .inn p{
    font-size: 14px;
    text-align: center;
}
section.step .inn ul li p{
    font-size:14px;
} 
section.step ul li h3{
    font-size: 1.4em;
    text-align: center;
} 
section.step ul li {
    width: 100%;
    margin: 0 0 24px;
    text-align: center;
}
    
/*-----日常で気をつけたいこと*/
section.chu .inn ul li{
padding: 15px 0;
        font-size: 14px;
}

section.chu .inn dl{
    width: 98%;
    display: inherit;
    margin: 0 auto;
}
    section.chu .inn dl.cha-l,section.chu .inn dl.cha-r{
        display: flex;
        flex-direction: column;
    }
    
    section.chu .inn dl.cha-l dt,section.chu .inn dl.cha-r dt{
        order: 2;
    } 
    
    section.chu .inn dl.cha-l dt img,section.chu .inn dl.cha-r dt img{
        width: 80%;
        margin: 8px 10% 0;
    } 
    section.chu .inn dl.cha-l dd,section.chu .inn dl.cha-r dd{
        order: 1;
    }
    
    
section.chu .inn dl dt,section.chu .inn dl dd{
    width: 100%;
    padding: 0;
    margin: 0;
} 
section.chu .inn dl dd{ 
    padding: 10px 0 0;
    }

section.chu .inn dl dd h3{ 
text-align: center;
    margin: 0 auto 6px;
    }
    
main section.chu div.inn h3 {
    font-size: 1.4em;
    text-indent: 24px;
}  
main section.chu div.inn h3::before{
          height: 20px;
          width: 20px;
          left: 0;
          top: 5px;
 }
section.chu .inn dl ul.chu-li li {
    padding: 4px 0 4px 18px;
    text-indent: -16px;
    margin: 0;
}
section .inn ul.col_3 li h4 {
    font-size: 1.4em;
}
main section.faq .inn dl dd ul.shop_link {
    display: inherit;
    padding: 20px 0;
    margin: 0 auto;
    width: 98%;
} 
main section.faq .inn dl dd ul.shop_link li{
    width: 100%;
    text-align: center;
    margin: 0 auto 8px;
} 
    
main section.faq .inn dl dt{
font-size: 14px;
}   
main section.faq .inn dl dd h3 {
    font-size: 1.3em;
}
    main section.faq .inn dl dd ul.shopList {
        display: inherit;
    }
    main section.faq .inn dl dd ul.shopList li{
width: 96%;
        margin: 0 auto;
    }

    main section.faq .inn dl.faq_qa{
        width: 96%;
    }
main section.faq .inn dl.faq_qa dt, main section.faq .inn dl.faq_qa dd {
    font-size: 1em;
    padding: 6px 6px 6px 30px;
    text-indent: -30px;
}
    
main section.faq .inn dl.faq_qa dt::before, main section.faq .inn dl.faq_qa dd::before {
    padding: 12px 12px;
    height: 24px;
    width: 24px;
    left: -6px;
    bottom: -8px;
}  
    
    
    
}/*------sp------/



/*----------スライド関連---------------*/
.side_frame{
   position: relative;
   width:100%;
   height: 810px;
   overflow: hidden;
   margin: 0 auto 30px;
}
@media screen and (max-width: 767px){
    main{    padding: 50px 0 0 0;}
.side_frame{
   width: 100%;
   height: 200px;

}
main section h2 {
    font-size: 1.8em;
    padding: 0 0 20px 0;
    margin: 0;
}
.fs_m{
    font-size: 14px;
    padding: 0 2%;
}
    
    main section p{
        font-size: 14px;
    }
    section.non-return .inn dl{
        width: 98%;
        display: inherit;
    }
section.non-return .inn dl dd h3 {
    padding: 14px 0 8px 0;
    text-align: center;
}
section.non-return .inn dl dd {
    width: 100%;
    padding: 6px 0;
} 
section.non-return .inn dl dt {
    padding: 0 6px;
    width: 100%;
} 
section.non-return .inn dl dt img{
    max-height: 250px;
    width: auto;
}
section.safety .inn ul li dl{
display: inherit;
}

section.safety .inn ul li dl dt{
    width: 30%;
    padding: 15px;
    margin: 0 auto;
}
section.safety .inn ul li dl dd{
    padding: 8px;
}
section.safety .inn ul li dl dd img{ 
    max-width: 100%;
}
section.safety .inn ul li dl dd h5{
    font-size: 140%;
    text-align: center;
    padding: 0;
}
    main section.chu div.inn h3 {
        font-size: 1.4em;
        text-indent: 0;
        padding: 0;
        margin: 0 auto 6px;
    }
    
    
}
.side_frame .side_01,.side_frame .side_02,.side_frame .side_03{
   position: absolute;
   top:0;
   left:0;
   width: 100%;
   height: 100%;
   background-size: cover;
   background-repeat: no-repeat;
}
.side_frame .side_01{
   background-image: url('https://www.green-house.co.jp/special/sodadk/img/kv_01.jpg');
   animation: slide-animation-01 20s infinite;
}
.side_frame .side_02{
   background-image: url('https://www.green-house.co.jp/special/sodadk/img/kv_03.jpg');
   animation: slide-animation-02 20s infinite;
}
.side_frame .side_03{
   background-image: url('https://www.green-house.co.jp/special/sodadk/img/kv_02.jpg');

   animation: slide-animation-03 20s infinite;
}
@keyframes slide-animation-01 {
    0% {opacity: 1; transform: scale(1.0);}
  30% {opacity: 1;}
  40% {opacity: 0; transform: scale(1.12);}
90% {opacity: 0;}
100% {opacity: 1; transform: scale(1.0);}
}
@keyframes slide-animation-02 {
    0% {opacity: 0; transform: scale(1.09);}
  30% {opacity: 0; transform: scale(1.09);}
  40% {opacity: 1;}
  60% {opacity: 1;}
  70% {opacity: 0; transform: scale(1.0);}
100% {opacity: 0;}
}
@keyframes slide-animation-03 {
    0% {opacity: 0;}
  60% {opacity: 0;  transform: scale(1.0);}
  70% {opacity: 1;}
  90% {opacity: 1;}
100% {opacity: 0; transform: scale(1.1);}
}

.side_frame .side_01 h2{
   font-size: 3vw;
   color: #fff;
   position: absolute;
    text-align: left;
   top: 50%;
   left: 60%;
   transform: translate(-50% , -50%);
}
.side_frame .side_02 h2{
   font-size: 3vw;
   color: #fff;

   position: absolute;
    text-align: left;
   top: 50%;
   left: 65%;
   transform: translate(-50% , -50%);
}

.side_frame .side_03 h2{
   font-size: 3vw;
   color: #1040a0;
   position: absolute;
    text-align: left;
   top: 50%;
   left: 65%;
   transform: translate(-50% , -50%);
}


.slide-container {
  width: 100%;
  display: flex;
  align-items: center;
  height: 340px;
  overflow: hidden;
  flex-direction: row;
margin: 0 0 20px;
}
.slide-wrapper {
  display: flex;
  flex-direction: row;
  animation: slide-flow 60s infinite linear 1s both;
}

.slide_02 {
background: #edf6f7;
}

.slide_02 .slide-wrapper {
  animation: slide-flow 77s infinite linear 1s both;
}

.slide{
  width: 300px;
  object-fit: cover;
position: relative;
}
.slide p{
position: absolute;
    font-size: 18px;
    font-weight: normal;
    color: #fff;
    width: 60%;
    left: 20%;
    right: 20%;
    bottom:10%;
padding: 7px 10px;
    background: rgba(75, 71, 60, 0.4) ;
}

@keyframes slide-flow {
     0% {transform: translateY(0);}
 100% {transform: translateX(-100%);}
}
@media screen and (max-width: 767px){
    .slide-container {
  height: 200px;
}
.slide{
  width: 180px;
}
.slide p{
    font-size: 10px;
    padding: 4px;
}
.side_frame .side_01 h2,.side_frame .side_02 h2,.side_frame .side_03 h2{
   font-size: 3.4vw;
}
}



/*--バブル---*/
.bubbles {
  position: relative;
  width: 100%;
    
  height: 100%;
  background: rgba(255, 255, 255, 0); /* 背景色（海中など） */
  overflow: hidden;
z-index: 2;
}

.bubbles span {
  position: absolute;
  bottom: -50px;
  display: block;
  width: calc(var(--i) * 1px + 2px); /* 泡のサイズをランダムに調整 */
  height: calc(var(--i) * 1px + 2px);
  background: rgba(229, 237, 244, 0.4);
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.4);
  animation: floatBubble 14s linear infinite;
  animation-duration: calc(20s / var(--i) * 2); /* 速度をばらつかせる */
  left: calc(var(--i) * 4%); /* 横位置をばらつかせる */
  animation-delay: calc(var(--i) * -0.5s); /* タイミングをずらす */
    z-index: 3;
}
.bubbles .bu_inn{
    height: 0;
    display: flex;
    justify-content: space-between;
}
.bubbles .bu_inn li{
    position: relative;
}

@keyframes floatBubble {
  0% {
    transform: translateY(0) scale(0.7);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    transform: translateY(-100vh) scale(1.2);
    opacity: 0;
  }
}
