@charset "utf-8";


.about-top{
  margin:7.5rem 0 10rem;
}

.about-top .container{
  width:80%;
  max-width:1535px;
}

.service-item-img{
  width:50%;
}

.service-item-txt{
  width:45%;
  font-size:clamp(0.875rem, 0.833rem + 0.14vw, 1rem);
}

.service-item-txt h2{
  font-size:clamp(1.5rem, 1.333rem + 0.56vw, 2rem);
  margin-bottom:2rem;
  line-height:calc(60/32);
}

.service-item-txt h2 strong{
  color:#1AAF14;
}

.feature{
  margin:10rem 0;
  padding:5rem 0;
  position:relative;
}

.feature::before{
  content:"";
  position:absolute;
  width:2.5%;
  height:100%;
  background:#358D38;
  left:0;
  top:0;
}

.feature::after{
  content:"";
  position:absolute;
  width:2.5%;
  height:100%;
  background:#84EA89;
  right:0;
  top:0;
}

.feature-label{
  position:absolute;
  width: 13%;
  left: 0;
  top: 0;
  z-index: -1;
}

.feature .container{
  max-width:1152px;
  width:70%;
}

.feature-item{
  display:flex;
  border:1px solid #B9B9B9;
  margin-bottom:2.5rem;
  gap:0.5rem;
}

.feature-item > img{
  width:20%;
  aspect-ratio:1/1;
  object-fit:cover;
}

.feature-txt{
  width:calc(80% - 0.5rem);
  padding:2.5rem;
}

.feature-title{
  margin-bottom:1.5rem;
  display:flex;
  gap:1rem;
  align-items:center;
}

.feature-title .accent{
  width:30px;
  height:30px;
  border-radius:999vh;
  color:#fff;
  background:#1AAF14;
  font-size:clamp(0.75rem, 0.583rem + 0.56vw, 1.25rem);
  font-weight:900;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.feature-title h3{
  font-size:clamp(0.875rem, 0.75rem + 0.42vw, 1.25rem);
}

.feature-title h3 strong{
  color:#1AAF14;
}

.about-slide{
  position:relative;
  margin-bottom:10rem;
}

.about-slide .swiper-wrapper {
  transition-timing-function: linear;
}

.about-slide-txt{
  right:15%;
  position:absolute;
  top:5%;
  z-index: 10;
}

.about-slide-txt h2{
  font-size:clamp(0.875rem, 0.5rem + 1.25vw, 2rem);
  color:#fff;
  background:#1AAF14;
  width:fit-content;
  padding: .3em;
  margin:2rem 0 0 auto;
}

.second img{
  width: 65%;
  margin:3rem auto 0;
}

.fourth img{
  width: 45%;
  margin:3rem auto 0;
}

.message{
  padding:5rem 0;
  background:url(https://meisan-clean.co.jp/system_panel/uploads/images/20260602113103150049.png) no-repeat center/cover;
}

.message .lower-title{
  padding-bottom:2rem;
  border-bottom:1px solid #C9C9C9;
}

.message .container{
  padding:4rem 5% 7.5rem !important;
  background:#FFFFFF;
}

.message-wrap{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 90%;
  margin: 0 auto 4rem;
}

.message-txt{
  width:50%;
}

.message-txt p{
  line-height:2;
}

.message-txt h3{
  margin-bottom:1.5rem;
  font-size:clamp(1.125rem, 1rem + 0.42vw, 1.5rem);
  line-height:2;
}

.message-txt h3 strong{
  color:#1AAF14;
}

.message-img{
  width:43%;
  font-weight:900;
}

.message-img img + p{
  color:#1AAF14;
  margin:8px 0 0;
  font-size:14px;
}

.message-img img + p + p{
  font-size:clamp(1.125rem, 1rem + 0.42vw, 1.5rem);
}

.message-banner{
  padding:3.5rem 5% 4rem;
  text-align:center;
  color:#fff;
  line-height:2;
  background:url(https://meisan-clean.co.jp/system_panel/uploads/images/20260602115443396897.png) no-repeat center/cover;
}

.message-banner h3{
  font-size:clamp(1.125rem, 1rem + 0.42vw, 1.5rem);
  margin-bottom:2rem;
  line-height:2;
}

.message-banner p{
  line-height:2;
}

.company{
  padding:7.5rem 0;
  background-image: linear-gradient(#1c211e, #1d221f 84% 100%);
}

.company .container{
  padding:5rem 5% !important;
  background:#FFFFFF;
  width:80%;
  max-width:1535px;
}

.company .lower-title{
  padding-bottom:2rem;
  border-bottom:1px solid #C9C9C9;
}

.company-list{
  display:flex;
  gap:2.5rem;
  margin-bottom:2.5rem;
}

.company-list p{
  padding-bottom:10px;
  font-size:clamp(0.75rem, 0.625rem + 0.42vw, 1.125rem);
}

.company-list p:first-child{
  width:190px;
  border-bottom:2px solid #1AAF14;
  color:#1AAF14;
  font-weight:900;
}

.company-list p:last-child{
  width:calc(100% - 2.5rem - 190px);
  border-bottom:2px solid #D8D8D8;
}

.company + .cta{
  margin-top:0;
}

@media screen and (max-width: 1279px) {
  .feature .container{
    width: 80%;
  }
  .message .container{
    width: 90%;
  }
}

@media screen and (max-width: 1024px) {
  .company-list p:first-child {
    width: 120px;
  }
  .company-list p:last-child {
    width: calc(100% - 2.5rem - 120px);
  }
  .service-item-wrap{
    flex-direction: column;
    gap: 2.5rem;
  }
  .service-item-txt,
  .service-item-img{
    width: 100%;
  }
  .service-item-txt h2{
    margin-bottom: 1rem;
  }
  .about-top {
    margin: 5rem 0 5rem;
  }
  .feature {
    margin: 5rem 0;
  }
  .feature-item{
    flex-direction: column;
    align-items: center;
    padding: 2.5rem 0 0;
  }
  .feature-item > img {
    width: 50%;
  }
  .feature-txt {
    width: 100%;
  }
  .feature .container {
    width: 70%;
  }
  .feature-title {
    margin-bottom: 1rem;
  }
  .message-wrap{
    flex-direction: column-reverse;
    align-items: center;
    gap: 1.5rem;
  }
  .message-txt {
    width: 100%;
  }
  .message-img {
    width: 50%;
  }
}


@media screen and (max-width: 767px) {
  .about-top .container{
    width:90%;
  }
  .service-item-wrap{
    gap: 2rem;
  }
  .about-top {
    margin: 3rem 0 5rem;
  }
  .feature{
    padding: 0rem 0 1.5rem;
  }
  .feature-item{
    padding:0;
    gap: 0;
  }
  .feature-item > img {
    width: 100%;
    aspect-ratio: 262 / 160;
  }
  .feature-txt{
    padding: 1rem 1rem 1.5rem;
  }
  .feature-title .accent {
    width: 20px;
    height: 20px;
  }
  .feature-title{
    gap: 0.5rem;
  }
  .feature-title h3{
    width:calc(100% - 20px - 0.5rem);
  }
  .about-slide-txt h2{
    font-size: 14px;
    margin: 1.5rem 0 0 auto;
  }
  .about-slide-txt {
    right: 5%;
    position: absolute;
    top: 20%;
  }
  .about-slide{
    margin-bottom: 5rem;
  }
  .message {
    padding: 2rem 0;
  }
  .message .container {
    padding: 2rem 5% 1.5rem !important;
  }
  .message-img {
    width: 80%;
  }
  .message-wrap{
    width:100%;
  }
  .message-txt h3{
    font-size: 17px;
  }
  .message-wrap{
    margin: 0 auto 3rem;
  }
  .message-banner {
    padding: 3rem 3% 3rem;
  }
  .message-banner h3{
    margin-bottom: 1rem;
  }
  .company {
    padding: 2.5rem 0;
  }
  .company .container {
    padding: 2.5rem 5% !important;
    width: 90%;
  }
  .company-list p:first-child {
    width: 80px;
    border-width: 1px;
  }
  .company-list p:last-child {
    width: calc(100% - 1rem - 80px);
    border-width: 1px;
  }
  .company-list{
    gap: 1rem;
    margin-bottom: 1rem;
  }
}