@import url("global.css");
.introduction {
  position: relative;
  padding-top: 40px;
  min-height: 300px;
  box-sizing: border-box;
  margin-bottom: 150px;
}
.introduction .main {
  width: 50%;
}
.introduction .main p:not([class]) {
  margin-top: 20px;
}
.introduction .catch {
  font-size: clamp(17px, 3vw, 22px);
  font-weight: 500;
  margin-bottom: 40px;
}
.introduction .image {
  position: absolute;
  height: auto;
  aspect-ratio: 3 / 2;
}
.introduction .image.image1 {
  width: 24%;
  left: 54%;
  top: 0;
}
.introduction .image.image2 {
  width: 17%;
  top: 150px;
  left: 80%;
}

.point {
  display: flex;
  gap: 30px;
  margin-bottom: 100px;
}
.point dl {
  flex: 1;
  border: #aeaeae 1px solid;
  border-radius: 3px;
  padding: 1px 25px 25px;
  text-align: center;
}
.point dl dt {
  font-size: 1.2em;
  font-weight: 500;
  width: fit-content;
  margin: -16px auto 15px;
  position: relative;
  z-index: 1;
  background-color: #F1F1EE;
  padding-inline: 20px;
  word-break: keep-all;
}
.point dl dt span {
  display: block;
  position: absolute;
  width: 70px;
  height: 78px;
  top: -80px;
  left: 50%;
  margin-left: -30px;
}
.point dl dd {
  text-align: left;
}

.osusume {
  position: relative;
}
.osusume .image {
  position: absolute;
  width: 480px;
  top: 0;
  bottom: 0;
  right: calc( 50% + 300px );
}
.osusume .text {
  min-height: 320px;
  align-content: center;
  width: 800px;
  margin-left: auto;
}
.osusume .text .title {
  font-size: 1.2em;
  font-weight: 500;
  margin-bottom: 30px;
}
.osusume .text p + p {
  margin-top: 1em;
}
@media (max-width: 1560px) {
  .osusume .image {
    right: auto;
    left: 0;
  }
  .osusume .text {
    max-width: calc(100vw - 480px - 13vw);
  }
}

/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-1 ( 1300px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 1300px) {
  .introduction .image.image1 {
    width: 25%;
  }
  .introduction .image.image2 {
    width: 19%;
    right: 0;
    left: auto;
  }

  .point {
    gap: 2vw;
  }
  .point dl dt {
    padding-inline: 1.5vw;
  }

  .osusume .image {
    max-width: 45%;
  }
  .osusume .text {
    min-width: calc(100vw - 480px - 150px);
    max-width: calc(100vw - 45% - 150px);
  }
}
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-2 ( 959px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 959px) {
  .introduction {
    margin-bottom: 17vw;
  }
  .introduction .image.image1 {
    width: 30%;
  }
  .introduction .image.image2 {
    width: 24%;
    top: 22vw;
  }

  .point {
    gap: 2.5vw;
    margin: 0 -3vw 70px;
  }
  .point dl {
    padding: 1px 2.5vw 25px;
  }
  .point dl dt {
    margin: -12px auto 15px;
    padding-inline: 1.5vw;
    line-height: 1.5;
  }

  .osusume .image {
    max-width: 46%;
  }
  .osusume .text {
    padding-block: 30px;
    min-width: inherit;
    max-width: calc(100vw - 12vw - 52%);
  }
}
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-3 ( 644px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 644px) {
  .introduction {
    padding-top: 0;
    min-height: inherit;
    margin-bottom: 80px;
  }
  .introduction .main {
    width: auto;
  }
  .introduction .main p:not([class]) {
    margin-top: 1em;
  }
  .introduction .catch {
    margin-bottom: 25px;
    text-align: center;
  }
  .introduction .imagebox {
    display: flex;
    gap: 5vw;
    align-items: flex-start;
    margin-top: 30px;
  }
  .introduction .image {
    position: static;
  }
  .introduction .image.image1 {
    width: 50%;
  }
  .introduction .image.image2 {
    margin-top: 10vw;
    width: 40%;
  }

  .point {
    display: block;
    margin: 0;
  }
  .point dl {
    padding: 1px 25px 20px;
    margin-bottom: 52px;
  }
  .point dl dt {
    margin: -11px auto 12px;
    padding-inline: 20px;
  }
  .point dl dt span {
    width: 60px;
    height: 65px;
    top: -65px;
    margin-left: -25px;
  }

  .osusume {
    margin-bottom: 20px;
  }
  .osusume .image {
    position: static;
    width: 80%;
    aspect-ratio: 3 / 2;
    height: auto;
    max-width: none;
    margin-bottom: 30px;
  }
  .osusume .text {
    min-height: inherit;
    align-content: inherit;
    width: auto;
    padding-block: 0;
    max-width: none;
  }
  .osusume .text .title {
    margin-bottom: 20px;
  }
}

/*# sourceMappingURL=landsearch.css.map */
