@charset "UTF-8";
/* 共通 */
:root{
  --font-color: #333;
  --main_color: #FF652F;
  --company_color: #1A9B4C;
  --sub_gray: #646F8D;
  --white: #fff;
}
body{
  color: var(--font-color);
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.6;
  font-size: calc(20rem/16);
}
a{
  color: var(--font-color);
}
address{
  font-style: normal;
}
.telno{
  color: #fff !important;
  text-decoration: none;
}
.inner{
  max-width: 1080px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.mybr{
  display: inline-block;
}
/* キービジュアル */
.key-visual{
  position: relative;
}
.key-visual-text{
  color: var(--white);
  background-color: var(--main_color);
  width: calc(593/1440*100%);
  text-align: center;
  position: absolute;
  left: 10%;
  top: 50%;
  translate: 0 -50%;
}
.key-visual-text h1{
  background-color: var(--white);
  width: 80%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 8% auto 0;
  padding: 10%;

}
.key-visual-text h1 img{
  width: 90%;
}
.key-visual-text h2{
  font-size: calc(24/1440*100vw);
  padding: 20px 0;
}
.key-visual-text p{
  font-weight: bold;
  font-size: calc(30/1440*100vw);
  letter-spacing: -0.1;
  margin-bottom: 8%;
}
@media screen and (max-width:768px){
  .key-visual-text{
    width: 80%;
  }
  .key-visual-img{
    width: 100vw;
    height: 80vh;
    object-fit: cover;
  }
  .key-visual-text h2{
    font-size: clamp(calc(24rem/16),(30/768*100vw),calc(30rem/16));;
    padding: 20px 0;
  }
  .key-visual-text p{
    font-size: calc(30/768*100vw);
  }
}
/*  firefly-about */
.firefly-about-wrap{
  width: 85%;
  margin-left: auto;
  display: grid;
  gap: 50px;
  grid-template-columns: 5fr 7fr;
  padding: 10% 0;
}
.firefly-title{
  font-size: clamp(calc(20rem/16),(30/1440*100vw),calc(30rem/16));
  margin-bottom: 20px;
}

@media screen and (max-width:768px){
  .firefly-about-wrap{
    grid-template-columns: 1fr;
    gap: 40px;
    width: 100%;
  }
  .firefly-about-text{
    width: 86%;
    margin-inline: auto;
  }
  .firefly-title{
    font-size: clamp(calc(20rem/16),(30/768*100vw),calc(30rem/16));
  }
}
/* video */
.firefly-about-video{
  background-image: linear-gradient(90deg, #E6E9EE 0%, #C1C1C1 100%);
  display: grid;
  place-content: center;
  padding: calc(185/1440*100vw) 0;
}
.firefly-about-video iframe{
  display: block;
  aspect-ratio: 560/315;
  width: calc(967/1440*100vw);
}
@media screen and (max-width:768px){
  .firefly-about-video iframe{
    width: 100vw;
  }
}
/* features */
.firefly-features{
  padding-top: 100px;
}
.firefly-features h3{
  text-align: center;
  margin-bottom: 80px;
}
.firefly-text li{
  background-image: url(../images/list-icon.svg);
  background-repeat: no-repeat;
  background-position: left 6px;
  background-size: 20px;
  padding: 0 0 8px 25px;
}
.firefly-features-cont{
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.firefly-features-cont1 .firefly-features-img{
  background-color: var(--main_color);
  display: grid;
  place-content: center;
}
.firefly-features-cont1 .firefly-features-text{
  padding: 0 8%;
}
.firefly-features-cont1 img{
  max-width: 245px;
  translate: 0 -22%;
}
@media screen and (max-width:520px) {
  .firefly-features h3{
    font-size: calc(32rem/16);
  }
  .firefly-features h4{
    font-size: calc(28rem/16);
  }
  .firefly-text li{
    font-size: calc(20rem/16);
  }
  .firefly-features-cont1{
    display: block;
  }
  .firefly-features-cont1 .firefly-features-img{
    display: contents;
  }
  .firefly-features-cont1{
    padding: 10% 0;
    background-color: var(--main_color);
    position: relative;
  }
  .firefly-features-cont1 img{
    position: absolute;
    right: 20px;
    top: 0;
    width: 100px;
  }
}
.firefly-features-cont2{
  background-color: var(--main_color);
  grid-template-columns: 1.3fr 1fr;
  width: 85%;
  margin: 200px 0;
}
.firefly-features-cont2 .firefly-features-img{
  position: relative;
}
.firefly-features-cont2 .firefly-features-img img{
  width: calc(282/1440*100vw);
  max-width: 282px;
  min-width: 160px;
  position: absolute;
}
.qs1{
  left: 0;
  top: -20%;
}
.qs2{
  right: 0;
  bottom:-20%;
}
.firefly-features-cont2 .firefly-features-text{
  padding: 10% 10%;
}
@media screen and (max-width:960px) {
  .qs1{
    left: 0;
    top: 5%;
  }
  .qs2{
    right: 0;
    bottom:5%;
  }
}
@media screen and (max-width:768px) {
  .firefly-features-cont2{
    background-color: var(--white);
    grid-template-columns: 1fr;
    width: 100%;
    margin: 60px 0;
  }
  .firefly-features-cont2 .firefly-features-text{
    padding: 10% 10% 5%;
  }
  .firefly-features-cont2 .firefly-features-img{
    background-color: var(--main_color);
    height: 200px;
  }
  .qs1{
    left: 18%;
    top: -12%;
  }
  .qs2{
    right: 18%;
    bottom:-12%;
  }
}
.firefly-features-cont3{
  width: 80%;
  margin-left: auto;
  background-color: var(--main_color);
  grid-template-columns: 1fr 2fr;
  padding: 5% 0;
  margin-bottom: 150px;
}
.firefly-features-cont3 .firefly-features-img{
  position: relative;
}
.firefly-features-cont3 .firefly-features-img,
.firefly-features-cont3 .firefly-features-text{
  translate: -50px 0;
}
.firefly-features-cont3 .firefly-features-img img{
  position: absolute;
  width: 80%;
}
@media screen and (min-width:1365px){
.firefly-features-cont3 .firefly-features-img img{
    translate: 0 -25%;
  }
}
@media screen and (max-width:768px) {
  .firefly-features-cont3{
    grid-template-columns: 1fr;
    width: 100%;
    margin: 160px 0 120px;
    padding: 10% 0;
  }
  .firefly-features-cont3 .firefly-features-img,
  .firefly-features-cont3 .firefly-features-text{
    translate: 0 0;
  }
  .firefly-features-cont3 .firefly-features-text{
    width: 80%;
    margin-inline: auto;
  }
  .firefly-features-cont3 .firefly-features-img{
    height: 120px;
  }
  .firefly-features-cont3 .firefly-features-img img{
    width: 250px;
    left: 50%;
    translate: -50% -50%;
  }
}
/* contact */
.firefly-contact{
  display: grid;
  place-content: center;
  padding: 100px 0;
}
.contact{
  background-color: var(--company_color);
  color: var(--white) !important;
  max-width: 1080px;
  width: calc(1080/1440*100vw);
  border-radius: 40px;
  text-align: center;
  padding: 30px;
}
.contact .ff-logo{
  width: 400px;
}
.contact .ryo-logo{
  width: 245px;
}
.contact .firefly-contact-tel{
  font-size: calc(64rem/16);
  font-weight: bold;
}
@media screen and (max-width:768px){
  .contact{
    width: calc(700/768*100vw);
  }
  .contact .firefly-contact-tel{
    font-size: calc(70/768*100vw);
  }
  .contact .ff-logo{
    width: 85%;
  }
  .contact .ryo-logo{
    width: 60%;
  }
}
/* footer */
.firefly-foot-fireflyLogo{
  display: grid;
  place-content: center;
  background-color: var(--sub_gray);
  padding: 50px 0;
}
.firefly-foot-fireflyLogo img{
  width: 200px;
}
.firefly-foot-ryohshin{
  background-color: var(--company_color);
  color: var(--white) !important;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 20px 0;
}
@media screen and (max-width:768px){
  .firefly-foot-ryohshin{
    flex-direction: column;
    text-align: center;
  }
}

/* JS */
body{
  opacity: 0;
  transition: 1s ease-in-out;
}
body.app{
  opacity: 1;
}
.firefly-about{
  opacity: 0;
  translate: 0 200px;
  transition: 1s ease-out;
}
.firefly-about.is-active{
  opacity: 1;
  translate: 0 0;
}
.firefly-features-cont{
  opacity: 0;
  translate: 0 200px;
  transition: 1s ease-out;

}
.firefly-features-cont.is-active{
  opacity: 1;
  translate: 0 0;
}