@charset "utf-8";
/* CSS Document */
/*====================
 - 1280px〜：大型PC
 - 960px〜1279px：小型PC
 - 600px〜959px：タブレット
 - 480px〜599px：スマートフォン横
 - 〜479px：スマートフォン縦
====================*/
/*---front-------------------------------------------------------*/
/***** home_common ******/
.home section {
  margin-top: 20rem;
}
@media screen and (max-width:768px) {
  .home section {
    margin-top: 16rem;
  }
}
/*** hero ***/
.hero {
  position: relative;
}
.catch {
  position: absolute;
  top: -2rem;
  left: 2.4rem;
  line-height: 1.3;
  font-weight: 700;
  font-size: clamp(2.8rem, 3.8vw, 5.2rem);
  letter-spacing: .4rem;
  z-index: 2;
}
.catch .primary .large{
  font-size: clamp(4rem, 4.8vw, 7.2rem);
}
.hero .img_wrap{
  padding-top: 4rem;
}
@media screen and (max-width:999px) {
  .hero img{
    width: 100vw;
    height: 60vh;
    object-fit: cover;
  }
  .hero .hero01 img{
    object-position: 32% 50%;
  }
  .hero .hero02 img{
    object-position: 24% 50%;
  }
}
@media screen and (max-width:768px) {
  .catch_line object{
    width: 288px;
  }
}
@media screen and (min-width:1000px) {
  .hero{
    position: relative;
  }
  .hero img{
    border-radius: 4rem 0 0 4rem;
    width: 80vw;
    margin-left: auto;
  }
  .catch {
    top: 68%;
    left: 6%;
  }
}
/*** home_about ***/
.home_about_text::after{
  position: absolute;
  top: 6rem;
  left: 16.3%;
  width: 100%;
  height: 91%;
  content: "";
  background-color: #F6FFF8;
  border-radius: 4rem 0 0 4rem;
  z-index: -1;
}
.home_about_text h2,.home_about_text .text_box{
  z-index: 5;
}
.home_about h2 .black{
  font-size: clamp(2.8rem, 4.6vw, 4.4rem);
  line-height: 1.4;
  font-weight: 700;
}
.home_about_text .inner{
  width: 90%;
  margin: 0 auto;
  max-width: 1200px;
}
.home_about .home_about_right{
  top: auto;
  right: auto;
  width: 70%;
  margin-left: auto;
  z-index: 2;
}
.home_about .home_about_right img{
  border-radius: 4rem 0 0 4rem;
}
.home_about .home_about_left{
  top: auto;
  left: auto;
  width: 66.2%;
  margin: -16.2vw 0 8vw;
  z-index: 3;
}
.home_about .home_about_left img{
  border-radius: 0 4rem 4rem 0;
}
.home_about .btn{
  margin: 6rem auto 0;
}
@media screen and (max-width:768px) {
  .home_about .text_box{
    position: relative;
  }
  .home_about .text_box a.btn{
    display: none;
  }
  .home_about .img_wrap{
    position: relative;
  }
  .home_about .home_about_right{
    margin-top: 6rem;
  }
}
@media screen and (min-width:769px) {
  .home section.home_about {
    margin-top: 40rem;
}
.home_about_text::after{
  height: 84%;
}
  .home_about .img_wrap{
    position: absolute;
  }
  .home_about .home_about_right{
    top: -24%;
    right: 0;
    width: 28%;
    z-index: 2;
  }
  .home_about .home_about_left{
    top: 48%;
    left: auto;
    width: 32.2%;
    margin: -9.2vw 0 8vw;
    z-index: 3;
  }
  .home_about_text .text_box{
    position: relative;
    width: 100%;
    max-width: 615px;
    background-color: #F6FFF8;
    padding: 75px 55px;
    margin: 0 6.6% 0 auto;
    border-radius: 4rem;
  }
  .home_about_text .btn_pc{
    display: none;
  }
  .home_about .btn{
    margin: 6rem 0 0;
  }
}

/*** home_works ***/
.home_works::before {
  content: '';
  position: absolute;
  top: 20%;
  left: 0;
  height: 60vh;
  width: 100%;
  background-image: linear-gradient(0deg, rgba(255, 255, 255, 0.1), rgba(198, 243, 227, 0.5) 50%, rgba(255, 255, 255, 0.1));
}
.home_works .text_area {
  margin-top: 6rem;
}
.home_works .btn {
  margin: 8rem auto;
}
@media screen and (min-width:769px) {
  .home_works .text_area {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (max-width:768px) {
  .home_works .text_area {
    margin-top: 4rem;
  }
  .home_works .btn {
    margin: 4rem auto 0;
  }
}
/*** home_service ***/
.home_service .wrap{
  max-width: 1200px;
}
.home_service::before{
  content: 'KOGA PAINT';
  position: absolute;
  top: -12vh;
  left: 8vw;
  font-size: clamp(6rem, 13.8vw, 14rem);
  font-family: 'Roboto', sans-serif;
  color: #DAF9EE;
  font-weight: 700;
}
.home_service::after{
  content: '';
  position: absolute;
  bottom: 14rem;
  left: 0;
  width: 794px;
  height: 516px;
  background-image: url(../img/home_service_back.jpg);
  background-repeat: no-repeat;
  border-radius: 0 4rem 4rem 0;
  z-index: -1;
}
.service_group{
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.service_group .list_wrap a{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-decoration: none;
  color: #ffffff;
  background-image: linear-gradient(135deg, rgba(130, 211, 217, 1), rgba(91, 201, 116, 1));
  width: 40vw;
  max-width: 280px;
  height: 40vw;
  max-height: 280px;
  z-index: 0;
  cursor: pointer;
  border: 1px solid #fff;
  border-radius: 50%;
  margin-bottom: 4rem;
  text-align: center;
  transition:0.4s;
}
.service_group .list_wrap a::before {
  content:"";
  width:calc(100% - 12px);
  height:calc(100% - 12px);
  position:absolute;
  border: 1px solid #fefefe;
  border-radius: 50%;
  transition:0.4s;
}
.service_group .list_wrap a:hover{
  color: #deff68;
}
.service_group a .list_number{
  font-size: clamp(1.8rem, 3.6vw, 2.2rem);
}
.service_group a .list_title{
  font-size: clamp(1.8rem, 3.6vw, 2.4rem);
  margin: 1.2rem 0 2rem;
}
.service_group a .inner{
  position: relative;
  top: -.8rem;
}
.service_group a .inner::before{
  content: '';
  position: absolute;
  width: 2rem;
  height: 4px;
  border-bottom: 4px dotted #fefefe;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%)
}
.home_service .btn{
  margin-left: auto;
  margin-right: auto;
  margin-top: 6rem;  
}
@media screen and (max-width:768px) {
  .home_service::before{
    top: -8vh;
    left: 0;
  }
  .home_frp,.home_frp a,.home_roof,.home_roof a,.home_maintenance,.home_maintenance a{
    top: 50%;
  }
  .home_service .btn{
    margin-top: 16rem;  
  }
}
@media screen and (max-width:469px) {
  .home_service .btn{
    margin-top: 10rem;  
  }
}
@media screen and (min-width:769px) {
  .service_group{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    max-width: 960px;
    margin-right: 2vw;
  }
  .service_group .list_wrap a{
    width: 26vw;
    height: 26vw;
  }
  .home_roof,.home_reform,.home_maintenance{
    position: relative;
    left: 8vw;
  }
}

/*** home_recruit ***/
.home section.home_recruit {
  margin-top: 24rem;
}
.home_recruit {
  padding: 8rem 0 6rem 0;
}
.home_recruit .wrap {
  width: 95%;
  max-width: calc((100vw - 1200px) /2 + 1200px);
  margin-left: auto;
  margin-right: 0;
}
.home_recruit h2 {
  z-index: 2;
}
.home_recruit h2 .jp {
  font-size: clamp(3.6rem, 4.8vw, 4.8rem);
}
.home_recruit .img_area .img_wrap {
  position: relative;
  height: auto;
}
.home_recruit .img_area .img_right {
  margin-left: 2rem;
}
.home_recruit .img_area .img_right img {
  position: absolute;
  top: -12rem;
  right: 0;
  border-radius: 4rem 0 0 4rem;
}
.home_recruit .img_area .img_left img{
  border-radius: 4rem;
}
.home_recruit .img_area .img_left::after {
  content:''; 
  background-image:url("../img/RECRUIT.svg"); 
  background-size:contain;
  background-repeat: no-repeat; 
  display:inline-block;
  position: absolute;
  bottom: -7.9rem;
  left: 20rem;
  width: 28vw;
  height: 10.8vw;
  z-index: 2;
  mix-blend-mode: screen;
}
.home_recruit .text_area {
  position: relative;
  top: 0;
  left: 0;
  width: 40%;
  z-index: 2;
}
.home_recruit .btn {
  border: #fefefe 2px solid;
  margin-top: 4rem;
}
@media screen and (min-width:1000px) {
  .home_recruit .img_area {
    display: flex;
    position: absolute;
    top: 0;
    right: 0;
    width: 46vw;
  }
  .home_recruit .text_area {
    padding-bottom: 4rem;
    top: 2rem;
  }
}
@media screen and (min-width:1500px) {
  .home_recruit .img_area {
    display: flex;
    position: absolute;
    top: 0;
    right: 0;
    width: 46vw;
  }
  .home_recruit .text_area {
    padding-bottom: 4rem;
    top: 2rem;
  }
}
@media screen and (min-width:1000px) and (max-width:1499px) {
  .home_recruit .img_area .img_right img {
    top: -6rem;
  } 
  .home_recruit .img_area .img_left img {
    position: relative;
    top: 6rem;
  } 
}
@media screen and (max-width:999px) {
  .home_recruit {
    padding-top: 0;
  }
  .home_recruit .text_area {
    width: 80%;
    padding-top: 6rem;
  }
  .home_recruit .img_area {
    display: flex;
  }
  .home_recruit .img_area .img_left::after {
    bottom: -0.2rem;
    left: 10rem;
    width: 48vw;
    height: 10.8vw;
  }
}
@media screen and (max-width:768px) {
  .home section.home_recruit {
    margin-top: 16rem;
  }
  .home_recruit .img_area {
    display: block;
  }
  .home_recruit .text_area {
    width: 95%;
    padding-top: 36vw;
  }
  .home_recruit .img_area .img_wrap img {
    height: clamp(30rem, 68vw, 80rem);
  }
  .home_recruit .img_area .img_right {
    margin-left: 0;
  }
  .home_recruit .img_area .img_right img {
    position: absolute;
    top: -26rem;
    right: 0;
  }
}
@media screen and (max-width:499px) {
  .home_recruit .img_area .img_right img {
    position: absolute;
    top: -20rem;
    right: 0;
  }
}