@charset "utf-8";

strong{
  font-weight:bold;
}

.greeting{
  margin-bottom:5rem;
}

.greeting-wrap{
  display:flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 2.5rem;
}

.greeting-wrap img{
  width:20%;
}

.greeting-text{
  width:75%;
}

.greeting-name{
  border-left:14px solid #243374;
  padding-left:1rem;
  color:#243374;
  font-weight:bold;
  margin-bottom:1.5rem;
}

.greeting-name p:last-child{
  font-size:clamp(1.25rem, 0.977rem + 0.91vw, 2rem);
  color:#000000;
}

.greeting-text h3{
  font-size:clamp(1rem, 0.909rem + 0.3vw, 1.25rem);
  margin-bottom:1rem;
}

.philosophy{
  padding:3rem 5% 5rem;
  background:#FAFAFA;
}

.philosophy-wrap{
  display:flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: 5rem auto;
  max-width: 1345px;
}

.philosophy-left{
  width:45%;
}

.philosophy-left h3{
  font-size: clamp(1rem, 0.818rem + 0.61vw, 1.5rem);
  padding: 4px 20px;
  background: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  font-weight: bold;
  width: fit-content;
}

.philosophy-left h3:first-of-type{
  margin:2.5rem 0 20px 5%;
}

.philosophy-left h3:last-of-type{
  margin:0 0 0 10%;
}


.philosophy-right{
  width:50%;
}

.text-box{
  display:flex;
  justify-content: space-between;
}

.text-box:first-child{
  margin-bottom:7.5rem;
}

.text-box div{
  color:#243374;
  font-size:clamp(1rem, 0.909rem + 0.3vw, 1.25rem);
  font-weight:bold;
  width:140px;
  position:relative;
  padding-left:2rem;
}

.text-box div::before{
  content:"";
  position:absolute;
  width:20px;
  height:160px;
  background:#243374;
  left:0;
  top:0;
}

.text-box div p{
  border-bottom:3px solid;
  width:fit-content;
  margin-bottom:1rem;
}

.text-box div h4{
  font-size:clamp(1.25rem, 0.977rem + 0.91vw, 2rem)
}

.text-box > p{
  width:calc(100% - 160px);
}

.about-btn{
  display:flex;
  justify-content: center;
  align-items:center;
  gap:5rem;
  margin: 5rem auto 0;
  max-width: 960px;
}

.about-btn .border-btn{
  display:flex;
  align-items:center;
  gap:1rem;
  padding: 20px 28px;
  font-weight:bold;
  font-size:clamp(1rem, 0.955rem + 0.15vw, 1.125rem);
}

.about-btn .border-btn img{
  width:calc(50% - 1rem);
}

.about-btn .border-btn p{
  width:50%;
  line-height: 1.5;
}

.about-cta-btn{
  display:flex;
  align-items:center;
  justify-content: space-between;
  max-width:960px;
  margin:0 auto 20px;
  width:80%;
}

.about-cta-btn img{
  width:31%;
}

.about-cta-btn + p{
  font-size:clamp(1.125rem, 0.989rem + 0.45vw, 1.5rem);
  font-weight:bold;
}

.top-cta{
  width: 80%;
  margin: 5rem auto 10rem;
}

.top-cta h2{
  margin: 8px 0 2.5rem;
}
.top-cta-btn{
  margin-top:0;
}

@media screen and (max-width: 1600px) {
  .philosophy-left {
    width: 40%;
  }
  .philosophy-right {
    width: 55%;
  }
}

@media screen and (max-width: 1110px) {
  .about-cta-btn{
    width: 100%;
  }
  .philosophy {
    padding: 3rem 10% 5rem;
  }
  .philosophy-wrap,
  .greeting-wrap,
  .about-btn{
    flex-direction: column;
    gap: 2.5rem;
    align-items: center;
  }
  .philosophy-left {
    width: 90%;
  }
  .philosophy-right,
  .greeting-text{
    width: 100%;
  }
  .greeting-wrap img {
    width: 40%;
  }
  .about-btn a{
    width:70%;
  }
  .top-cta {
    width: 90%;
  }
}

@media screen and (max-width: 767px) {
  .greeting-wrap img {
    width: 70%;
  }
  .philosophy-wrap{
    margin:0 auto;
  }
  .philosophy-left,
  .text-box > p{
    width: 100%;
  }
  .text-box div::before {
    width: 10px;
    height: 100%;
  }
  .text-box div {
    width: 100%;
    padding-left: 1.5rem;
  }
  .text-box {
    flex-direction: column;
    gap: 1rem;
  }
  .text-box:first-child {
    margin-bottom: 2.5rem;
  }
  .about-btn{
    margin: 3rem auto 0;
  }
  .about-btn .border-btn{
    width: 100%;
    padding: 20px 18px;
    font-size: 14px;
  }
  .about-cta-btn{
    display:none;
  }
  .top-cta {
    margin: 3rem auto 5rem;
  }
  .philosophy {
    padding: 3rem 5% 5rem;
  }
}