@charset "utf-8";

.gjs-dashed .area-txt{
  position: relative;
  right: auto;
  top: auto;
}

.philosophy{
  padding:4rem 0;
  background:#82BF9C;
}

.philosophy-wrap{
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.philosophy-txt{
  width:65%;
}

.philosophy-wrap > img{
  width:30%;
}

.reason{
  margin-top:180px;
}

.reason-wrap{
  display: flex;
  justify-content: space-between;
  align-items:center;
  margin-bottom:5rem;
}

.reason-img{
  width:32%;
  position:relative;
}

.reason-img p{
  background:#fff;
  border-radius:999vh;
  border:1px solid #707070;
  font-size:clamp(1.5rem, 1rem + 1.67vw, 3rem);
  width:21%;
  position:absolute;
  z-index:10;
  right:-10.5%;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  aspect-ratio:1/1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.reason-txt{
  width:62%;
  position:relative;
}

.reason-txt h3{
  font-size:clamp(1.25rem, 1rem + 0.83vw, 2rem);
  margin-bottom:2rem;
}

.reason-txt h3 strong{
  color:#007934;
}

.reason-txt img{
  width: 12%;
  position: absolute;
  right: 0;
  top: -3rem;
}

.area{
  margin-top:260px;
  display: flex;
  justify-content: space-between;
  padding-right:10%;
  position: relative;
}

.area > img{
  width:62%;
}

.area-txt{
  width: 40%;
  position: absolute;
  right: 10%;
  top: 0;
  max-width: 690px;
}

.area-bg{
  max-width: 530px;
  margin: 10rem 0 0 auto;
  width: 85%;
}

.area-box{
  padding:2rem ;
  background:#299055;
  border-radius:10px;
  color:#fff;
  position:relative;
  font-size:clamp(0.875rem, 0.75rem + 0.42vw, 1.25rem);
}

.area-box p:first-of-type{
  font-size:clamp(1.125rem, 1rem + 0.42vw, 1.5rem);
  font-weight:bold;
}

.area-box p:nth-of-type(2){
  margin-top:1rem;
}

.area-box img{
  width:5rem;
  position:absolute;
  top:-2.5rem;
  left:-2.5rem;
}

.area-box:last-child{
  background:#C7E2C2;
  color:#000000;
  margin-top:5rem;
}

.message{
  margin-top:100px;
}

.message .container{
  max-width:1080px;
}

.message-wrap{
  display:flex;
  justify-content: space-between;
  align-items: center;
}

.message-wrap > img{
  width:40%;
  aspect-ratio: 420 / 540;
  object-fit: cover;
}

.message-txt{
  width:55%;
}

.message-txt p:last-child{
  margin-top:3rem;
  text-align:right;
  font-size:clamp(0.875rem, 0.792rem + 0.28vw, 1.125rem);
}

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

.company{
  margin-top:180px;
}

.company .container{
  background:#C7E2C2;
  padding:5rem 5% !important;
  border-radius:20px;
}

.company-list-bg{
  margin-top:5rem;
}

.company-list{
  display: flex;
  border-bottom: 1px solid #707070;
  padding: 1.5rem 0;
  justify-content: space-between;
  align-items: flex-start;
}

.company-list p:first-child{
  width:25%;
  padding:0 1rem;
  text-align:center;
}

.company-list p:last-child{
  width:75%;
}

.message-txt img,
.area-map{
  display:none;
}

@media screen and (max-width: 1600px) {
  .area-bg {
    margin: 5rem 0 0 auto;
    width: 80%;
  }
  .area-box img {
    width: 4rem;
    top: -2rem;
    left: -2rem;
  }
  .area-txt{
    right:5%;
  }
  .area{
    padding-right:5%;
  }
}

@media screen and (max-width: 1279px) {
  .area-box:last-child{
    margin-top: 3rem;
  }
  .area-box {
    padding: 1.5rem;
  }
  .area-box p:first-of-type {
    font-size: 16px;
  }
  .area-box p:nth-of-type(2) {
    margin-top: 0.5rem;
    font-size: 14px;
  }
}

@media screen and (max-width: 1024px) {
  .philosophy-wrap{
    flex-direction: column-reverse;
    gap: 2.5rem;
  }
  .philosophy-wrap > img {
    width: 100%;
    max-width: 450px;
  }
  .philosophy-txt {
    width: 100%;
  }
  .message-txt{
    width: 100%;
  }
  .message-wrap > img,
  .area > img{
    display:none;
  }
  .message-txt img{
    display:block;
    width: 100%;
    aspect-ratio: 420 / 540;
    object-fit: cover;
    margin: 0rem auto 2rem;
    max-width: 350px;
  }
  .area-map{
    display:block;
  }
  .area-txt {
    position: relative;
    right: auto;
    top: auto;
    width: 100%;
    max-width: none;
  }
  .area{
    padding: 0 10%;
    margin-top: 160px;
  }
  .reason-wrap{
    flex-direction: column;
    gap: 2.5rem;
  }
  .reason-img {
    width: 100%;
    max-width: 450px;
  }
  .reason-txt {
    width: 100%;
  }
  .reason-img p{
    right:auto;
    left: -10.5%;
  }
  .company .container{
    width:90%;
  }
  .company-list-bg {
    margin-top: 3rem;
  }

}

@media screen and (max-width: 767px) {
  .reason-img p {
    left: -5%;
    top: 10%;
    width: 16%;
  }
  .reason-txt h3{
    margin-bottom:1rem;
  }
  .reason-txt img {
    width: 3rem;
    top: -1rem;
  }
  .reason-wrap{
    margin-bottom: 3rem;
  }
  .area {
    padding: 0 5%;
    margin-top: 5rem;
  }
  .area-map {
    margin: 2rem auto 0;
  }
  .area-box img {
    width: 3rem;
    top: -1.5rem;
    left: -1rem;
  }
  .area-bg {
    margin: 3rem 0 0 auto;
    width: 98%;
  }
  .area-box {
    padding: 1.5rem 1rem;
  }
  .message ,
  .company,
  .reason{
    margin-top: 5rem;
  }
  .company-list{
    flex-direction: column;
    gap:4px;
    padding: 1rem 0;
  }
  .company-list p:first-child {
    width: 100%;
    padding: 0;
    text-align:left;
  }
  .company-list p:last-child{
    width: 100%;
  }
  .message-txt p:last-child {
    margin-top: 2rem;
  }
  .company .container {
    width: 100%;
    border-radius: 0px;
    padding: 3rem 5% !important;
  }
  .company-list-bg {
    margin-top: 0;
  }
}
