@charset "utf-8";
.about {
  padding-top: clamp(2.5rem, 0.833rem + 3.47vw, 5rem);
}
.about__inner {
  padding-left: clamp(1.25rem, -9.917rem + 23.26vw, 18rem);
}
.about__container {
      display: flex;
    column-gap: 20px;
}
.about__left {
      width: 42%;
    min-width: 400px;
}
.about__title {
      font-size: clamp(1.125rem, 0.696rem + 0.67vw, 1.5rem);
    font-weight: 600;
    line-height: 2;
    text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-color: #2F2020;
    text-underline-offset: clamp(0.375rem, 0.125rem + 0.52vw, 0.75rem);
    letter-spacing: 0.1em;
}
.about__text {
      margin-top: clamp(1.25rem, 0.417rem + 1.74vw, 2.5rem);
    line-height: 1.8;
    font-weight: 400;
}
.about__right {
  width: 58%;
}
.about__img {
      aspect-ratio: 945/345;
    border-radius: 50px 0 0 0;
    object-fit: cover;
}

.strengths {
      margin-top: 80px;
    padding: clamp(4rem, 3.333rem + 1.39vw, 5rem) 0 clamp(5rem, 3.333rem + 3.47vw, 7.5rem);
    background-color: #FFF5D8;
}
.strengths__inner {
  padding: 0 clamp(1.25rem, -5.917rem + 14.93vw, 12rem);
}
.strengths__items {
      margin-top: 80px;
    display: flex;
    flex-direction: column;
    row-gap: 80px;
}
.strengths__item {
      position: relative;
    display: flex;
    margin-left: clamp(0rem, -4rem + 8.33vw, 6rem);
    padding-left: clamp(0rem, -4rem + 8.33vw, 6rem);
    align-items: center;
    column-gap: clamp(1.25rem, -1.25rem + 5.21vw, 5rem);
}
.strengths__item:nth-child(2n) {
      margin-left: 0;
    padding-left: 0;
    flex-direction: row-reverse;
    margin-right: clamp(0rem, -4rem + 8.33vw, 6rem);
    padding-right: clamp(0rem, -4rem + 8.33vw, 6rem);
}
.strengths-item__left {
      width: 52%;
    position: relative;
    z-index: 20;
}
.strengths-item__title {
      font-size: clamp(1.125rem, 0.708rem + 0.87vw, 1.75rem);
    font-weight: 500;
    line-height: 1.5;
}
.strengths-item__text {
      margin-top: clamp(1.25rem, 0.75rem + 1.04vw, 2rem);
    line-height: 1.8;
    font-weight: 400;
}
.strengths-item__right {
      width: 48%;
    position: relative;
    z-index: 20;
}
.strengths-item__img {
      border-radius: 50px 0 0 0;
    aspect-ratio: 614/384;
    object-fit: cover;
    height: auto;
}
.strengths-item__number {
      position: absolute;
    left: 0;
    top: clamp(-3rem, -5rem + 4.17vw, 0rem);
    font-size: clamp(5.625rem, 0.75rem + 10.16vw, 12.938rem);
    color: #fff;
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    z-index: 10;
    line-height: 1;
}
.strengths-item__number--2 {
    left: unset;
    right: 0;
}

.greeting {
      background-color: #fff;
    padding: 80px 0;
}
.greeting__inner {
  padding: 0 clamp(1.25rem, -9.917rem + 23.26vw, 18rem);
}
.greeting__content {
      margin-top: clamp(2.5rem, 1.5rem + 2.08vw, 4rem);
    display: flex;
    column-gap: clamp(1.25rem, -1.25rem + 5.21vw, 5rem);
}
.greeting__left {
  width: 38%;
}
.greeting__img {
      aspect-ratio: 471/399;
    object-fit: cover;
    height: auto;
}
.greeting__right {
  width: 62%;
}
.greeting__title {
      font-size: clamp(1.125rem, 0.875rem + 0.52vw, 1.5rem);
    font-weight: 600;
    line-height: 2;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-color: #2F2020;
    text-underline-offset: clamp(0.5rem, 0.153rem + 0.71vw, 1rem);
    letter-spacing: 0.1em;
}
.greeting__title--sp {
      font-size: 20px;
    font-weight: 600;
    line-height: 2;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-color: #2F2020;
    text-underline-offset: clamp(0.5rem, 0.153rem + 0.71vw, 1rem);
    letter-spacing: 0.1em;
  display: none;
}
.greeting__text {
      margin-top: 32px;
    line-height: 1.8;
    font-weight: 400;
}
.greeting__name {
      margin-top: 64px;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    column-gap: 37px;
}
.greeting-name__sub {
      font-size: 16px;
    font-weight: 500;
}
.greeting-name__main {
      font-size: 32px;
    font-weight: 500;
}

.info {
  padding: clamp(6rem, 5rem + 2.08vw, 7.5rem) 0 clamp(7.5rem, 5.833rem + 3.47vw, 10rem);
}
.info__inner {
  padding: 0 clamp(1.25rem, -9.917rem + 23.26vw, 18rem);
}
.info__top {
      margin-top: clamp(2rem, 0.667rem + 2.78vw, 4rem);
    display: flex;
    column-gap: clamp(1.25rem, -1.25rem + 5.21vw, 5rem);
}
.info-top__left {
  width: 50%;
}
.info__img {
      aspect-ratio: 641/426;
    object-fit: cover;
    height: auto;
}
.info-top__right {
  width: 50%;
}
.info__item {
      display: flex;
    border-bottom: 1px dotted #003657;
}
.info-item__left {
        width: 36%;
    padding: 16px clamp(1rem, -0.143rem + 1.79vw, 2rem);
    background-color: #fff;
    font-weight: 500;
}
.info-item__right {
        width: 64%;
    padding: 16px clamp(1.25rem, -1.893rem + 4.91vw, 4rem);
    font-weight: 400;
  padding-right: 20px;
}
.info-item__right a {
  transition: all 0.5s;
}
.info-item__right a:hover {
  opacity: 0.5;
}

.info__bottom {
      margin-top: clamp(3.5rem, 2.5rem + 2.08vw, 5rem);
    display: flex;
    column-gap: clamp(1.25rem, -1.25rem + 5.21vw, 5rem);
}
.info-bottom__left {
      width: 42%;
    display: flex;
    flex-direction: column;
    row-gap: 32px;
}
.info-bottom__item {
      padding-bottom: clamp(1.25rem, 0.417rem + 1.74vw, 2.5rem);
    border-bottom: 1px dashed #003657;
}
.info-bottom-item__header {
      display: flex;
    column-gap: 17px;
    align-items: center;
}
.info-bottom__icon {
      width: 36px;
    object-fit: contain;
}
.info-bottom__title {
      font-size: 18px;
    font-weight: 600;
}
.info-bottom__text {
      margin-top: clamp(1rem, 0.833rem + 0.35vw, 1.25rem);
    font-weight: 400;
}
.info-bottom__right {
  width: 58%;
}
.google__map iframe {
      width: 100%;
    height: 343px;
    border: none;
}

@media (max-width: 1023px) {
  .info__top {
        flex-direction: column;
    row-gap: 24px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
  }
  .info-top__left,
  .info-top__right {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .about__title {
    font-size: 24px;
  }
  .about__container {
        flex-direction: column;
    row-gap: 40px;
  }
  .about__left {
        min-width: unset;
    width: 100%;
  }
  .about__title--sp {
    padding-right: 20px;
  }
  .about__text {
    padding-right: 20px;
  }
  .about__right {
    width: 100%;
  }
  
  .strengths__container {
        max-width: 600px;
    margin-left: auto;
    margin-right: auto;
  }
  .strengths__item {
        flex-direction: column;
    row-gap: 40px;
  }
  .strengths__item:nth-child(2n) {
    flex-direction: column;
  }
  .strengths-item__left,
  .strengths-item__right {
    width: 100%;
  }
  .strengths-item__title {
    font-size: 24px;
  }
  
  .greeting__content {
        flex-direction: column;
    row-gap: 40px;
        max-width: 500px;
    margin-left: auto;
    margin-right: auto;
  }
  .greeting__left,
  .greeting__right {
    width: 100%;
  }
  
  .info-item__left,
  .info-item__right {
    padding-left: 10px;
    padding-right: 10px;
    font-size: clamp(0.75rem, 0.621rem + 0.53vw, 0.875rem);
  }
  .info__bottom {
        flex-direction: column-reverse;
    row-gap: 20px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
  }
  .info-bottom__left,
  .info-bottom__right {
    width: 100%;
  }
  .google__map iframe {
    height: 273px;
  }
}

@media (max-width: 389px) {
  .about__inner {
    padding-left: 32px;
  }
  .about__text {
    padding-right: 32px;
  }
  .about__title {
    font-size: clamp(1.125rem, -0.614rem + 8.7vw, 1.5rem);
  }
  
  .strengths-item__title {
    font-size: 20px;
  }
  
  .greeting__title {
    display: none;
  }
  .greeting__title--sp {
    font-size: 20px;
  display: block;
}
  .greeting-name__main {
    font-size: 28px;
  }
  .greeting__inner {
        padding-left: 40px;
    padding-right: 40px;
  }
  
  .info-top__left,
  .info-top__right {
    font-size: clamp(0.75rem, 0.17rem + 2.9vw, 0.875rem);
  }
  
  .info-top__right {
        display: flex;
    flex-direction: column;
  }
  .info__item {
    flex-direction: column;
  }
  .info-item__left,
  .info-item__right {
    width: 100%;
    font-size: 14px;
  }
  .info-bottom-item__header {
    column-gap: 10px;
  }
  .info-bottom__icon {
    width: 30px;
  }
}