body {
  font-family: Arial, sans-serif;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0;
}

/* 申し込みボタン */
.prosess_item {
  background-color: #15ABFE;
  color: #fff;
  font-size: 20px;
  border-radius: 24px;
  padding: 16px 54px;
  font-family: 'Noto Serif JP', serif;
  text-decoration: none;
  box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.45);
}

.yazirusi {
  display: inline-flex;
  margin-left: 10px;
  width: 100px;
  height: 10px;
  position: relative;
  right: 60px;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  -webkit-transform: skew(45deg);
  transform: skew(45deg);
}

@media screen and (max-width:768px) {
  .prosess_item {
    display: grid;
    justify-content: center;
    text-decoration: underline;
    font-size: 16px;
    padding: 8px 14px;
  }

  .yazirusi {
    display: none;
  }
}

/* spot */

.spot {
  color: #15ABFE;
}


header {
  width: 100%;
}

.header_container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 16px 32px;
}

@media screen and (max-width:768px) {
  .header_container {
    display: block;
    text-align: center;
  }
}

img.header-logo {
  width: 210px;
}

@media screen and (max-width:768px) {
  img.header-logo {
    width: 60%;
  }

  .header-logo-sp {
    display: none;
  }
}

/* top */

#top {
  width: 100%;
  background: linear-gradient(to bottom, #78c6ff, #f8fbfd);
}

.top_container {
  height: 500px;
  position: relative;
}

@media screen and (max-width:768px) {
  .top_container {
    height: 240px;
  }
}

.top_wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 162px;
}

@media screen and (max-width:768px) {
  .top_wrapper {
    margin-top: 42px;
  }
}

.top_text_container {
  z-index: 1;
}

@media screen and (max-width:768px) {
  .top_text_container {
    margin: 0 12px;
  }
}

.top_title {
  font-size: 62px;
  color: #fff;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* 少しだけ影を追加 */
}

@media screen and (max-width:768px) {
  .top_title {
    font-size: 24px;
  }
}

.sp-br {
  display: none;
}

@media screen and (max-width:768px) {
  .sp-br {
    display: inline; /* スマートフォンでは改行を表示 */
  }
}

.top_img {
  position: absolute;
  right: 0;
}

img.top_img_content {
  width: 70%;
  opacity: 0.7;
}

/* merit */

#merit {
  margin: 102px 0;
}

@media screen and (max-width:768px) {
  #merit {
    margin: 12px 0 24px 0;
  }
}

.merit-header {
  text-align: center;
  margin-bottom: 40px;
}

@media screen and (max-width:768px) {
  .merit-header {
    margin-top: 24px;
    margin-bottom: 10px;
  }
}

.merit-header h1 {
  font-size: 32px;
  margin: 0;
  font-weight: bold;
}

@media screen and (max-width:768px) {
  .merit-header h1 {
    font-size: 28px;
  }
}

.benefits {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  text-align: center;
  margin-bottom: 40px;
  gap: 134px;
}

@media screen and (max-width:768px) {
  .benefits {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

.benefit_description {
  font-weight: bold;
  font-size: 32px;
  margin: 0;
}

@media screen and (max-width:768px) {
  .benefit_description {
    font-size: 18px;
  }

  img.merit_img {
    width: 50%;
  }
}

/* description */

#description {
  text-align: center;
  margin-bottom: 104px;
}

.description_title {
  text-align: center;
  font-size: 42px;
  background-color: #15ABFE;
  border-radius: 24px;
  color: #fff;
  padding: 16px 42px;
  width: fit-content;
  margin: 0 auto;
}

.description_img {
  margin-top: 62px;
}

@media screen and (max-width:768px) {
  .description_title {
    font-size: 24px;
    padding: 8px 24px;
  }
}

.description_subtitle {
  font-weight: bold;
  font-size: 32px;
}

@media screen and (max-width:768px) {
  .description_subtitle {
    font-size: 20px;
  }
}

.arrow {
  font-size: 90px;
  margin-bottom: 10px;
}

@media screen and (max-width:768px) {
  .arrow {
    font-size: 40px;
  }
}

#description {
  margin: 0 8px;
}

.description_content {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 82px 0;
}

@media screen and (max-width:768px) {
  .description_content {
    display: block;
    margin: 24px 0;
  }
}

.description_wrapper_title {
  font-size: 32px;
  font-weight: 700;
}

@media screen and (max-width:768px) {
  .description_wrapper_title {
    font-size: 20px;
  }

  .description_wrapper_subtitle {
    font-size: 14px;
  }
}

@media screen and (max-width:768px) {
  img.description_img {
    width: 90%;
    margin-top: 18px;
  }

  img.description_img02 {
    width: 90%;
  }

  img.description_img03 {
    width: 70%;
  }
}

/* step */

#step {
  margin-bottom: 86px;
}

.step-text {
  position: relative;
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 42px;
  background-color: #15ABFE;
  color: #fff;
  width: fit-content;
  margin: 0 auto;
  padding: 12px 44px;
  border-radius: 24px;
}

@media screen and (max-width:768px) {
  .step-text {
    padding: 12px 24px;
    font-size: 20px;
    margin-bottom: 22px;
    margin-top: 42px;
  }
}

.step_number {
  position: relative;
  font-size: 82px;
  color: #F3C63F;
}

@media screen and (max-width:768px) {
  .step_number {
    font-size: 42px;
  }
}

.step-icon {
  position: absolute;
  top: 0px; /* 調整が必要な場合、画像の位置を調整 */
  right: 10px; /* 調整が必要な場合、画像の位置を調整 */
  width: 20px; /* 画像のサイズを調整 */
  height: 20px; /* 画像のサイズを調整 */
}

@media screen and (max-width:768px) {
  .step-icon {
    top: -7px;
    right: -7px;
  }
}

img.step_bar {
  width: 80%;
  display: flex;
  justify-content: center;
  margin: 0 auto;
  margin-top: 54px;
}

@media screen and (max-width:768px) {
  img.step_bar {
    display: none;
  }
}

img.step_bar_sp {
  display: none;
}

@media screen and (max-width:768px) {
  img.step_bar_sp {
    display: block;
    position: relative;
    left: -65px;
  }
}

.step_content {
  display: flex;
  justify-content: center;
  gap: 92px;
}

@media screen and (max-width:768px) {
  .step_content {
    display: grid;
    gap: 0;
  }
}

@media screen and (max-width:768px) {
  .step_bar_content {
    display: grid;
    grid-template-columns: 20px 1fr;
  }
}

@media screen and (max-width:768px) {
  .step_container {
    margin-top: 32px;
    text-align: center;
  }
}

@media screen and (max-width:768px) {
  img.step_img {
    width: 120px;
  }
}

.step_text {
  font-size: 20px;
  margin-bottom: 32px;
}

@media screen and (max-width:768px) {
  .step_text {
    font-size: 16px;
    margin-top: 22px;
    margin-bottom: 12px;
  }
}

.step_goal {
  text-align: center;
  font-size: 32px;
  color: #15ABFE;
}

@media screen and (max-width:768px) {
  .step_goal {
    font-size: 20px;
  }
}

/* kit */

.kit_wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  justify-content: center;
  align-items: center;
  gap: 112px;
  margin-top: 72px;
}

@media screen and (max-width:768px) {
  .kit_wrapper {
    grid-template-columns: 1fr;
    margin: 24px 12px;
    gap: 42px;
  }
}

.kit_content {
  position: relative;
  width: 100%;
  height: auto;
}

img.kit_img {
  max-width: 100%;
  height: 650px;
  object-fit: cover;
  border-radius: 25px;
  box-shadow: 25px 25px 0px 0px #15ABFE;
}

@media screen and (max-width:768px) {
  img.kit_img {
    height: 200px;
  }

  .kit_context {
    margin: 0 12px;
  }
}

.kit_title {
  font-size: 42px;
  font-weight: bold;
}

@media screen and (max-width:768px) {
  .kit_title {
    font-size: 18px;
    top: 30px;
    left: 4px;
  }
}

.kit_subtitle {
  color: #15ABFE;
  margin-bottom: 72px;
}

@media screen and (max-width:768px) {
  .kit_subtitle {
    margin-bottom: 24px;
  }
}

.kit_item {
  position: absolute;
  bottom: -20px;
  right: -40px;
  transform: translate(-50%, -50%);
  background-color: #F6F6F6;
  border-radius: 12px;
  padding: 12px 24px;
  font-size: 32px;
  font-family: 'Noto Serif JP', serif;
}

@media screen and (max-width:768px) {
  .kit_item {
    font-size: 13px;
  }
}

.kit_price {
  position: absolute;
  top: 20px;
  left: 4%;
  font-size: 48px;
  font-weight: bold;
  color: #fff;
}

@media screen and (max-width:768px) {
  .kit_price {
    font-size: 14px;
    right: 0;
  }
}

/* application */

#application {
  margin-top: 142px;
}

@media screen and (max-width:768px) {
  #application {
    margin-top: 52px;
  }
}

.application_container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  place-items: center;
  justify-content: center;
  align-items: center;
  margin-top: 82px;
}

@media screen and (max-width:768px) {
  .application_container {
    grid-template-columns: 1fr;
    text-align: center;
    margin-top: 24px;
  }
}

.application_title {
  font-size: 32px;
  font-weight: bold;
  margin-bottom: 0;
}

@media screen and (max-width:768px) {
  .application_title {
    font-size: 18px;
  }
}

.application_subtitle {
  margin-bottom: 32px;
}

@media screen and (max-width:768px) {
  img.application_img {
    width: 70%;
    margin-top: 34px;
  }
}

/* inspection */

#inspection {
  margin-top: 142px;
}

.inspection_container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  place-items: center;
  justify-content: center;
  align-items: center;
  gap: 42px;
  margin: 82px 0;
}

@media screen and (max-width:768px) {
  .inspection_container {
    grid-template-columns: 1fr;
    margin: 32px 0;
  }

  img.inspection_img {
    width: 70%;
  }

  .inspection_section {
    margin: 0 12px;
  }
}

.inspection_title {
  font-size: 32px;
  font-weight: bold;
}

@media screen and (max-width:768px) {
  .inspection_title {
    font-size: 18px;
  }
}

.inspection_subtitle {
  color: #15ABFE;
}

.inspection_box {
  background-color: #15ABFE;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 24px 0;
  border-radius: 24px;
  padding: 0 34px;
  width: 40%;
  margin: 0 auto;
  margin-bottom: 24px;
}

@media screen and (max-width:768px) {
  .inspection_box {
    width: 80%;
    padding: 0;
    padding-left: 12px;
  }

  img.check_img {
    width: 20px;
  }
}

.inspection_content {
  font-size: 32px;
  color: #fff;
}

@media screen and (max-width:768px) {
  .inspection_content {
    font-size: 14px;
  }
}

.inspection_dis {
  color: #15ABFE;
  text-align: center;
  font-size: 32px;
  font-weight: bold;
  margin-top: 32px;
}

@media screen and (max-width:768px) {
  .inspection_dis {
    font-size: 18px;
  }

  img.inspection_dis_sub_img {
    width: 70%;
  }
}

.inspection_dis_sub {
  color: #333;
  text-align: center;
  font-size: 32px;
  font-weight: bold;
  margin-top: 32px;
}

@media screen and (max-width:768px) {
  .inspection_dis_sub {
    font-size: 14px;
    margin: 12px 6px;
  }
}

/* contacct */

#contact {
  background-color: #f6f6f6;
  width: 100%;
  padding: 72px 0;
}

.contact_wrapper {
  display: flex;
  justify-content: space-around;
  align-items: center;
}

@media screen and (max-width:768px) {
  .contact_wrapper {
    display: block;
  }
}

.contact_content {
  margin: 12px;
}

.contact-container {
  width: 100%;
  max-width: 500px;
  padding: 20px;
  border-radius: 10px;
  text-align: center;
  margin-top: 72px;
}

@media screen and (max-width:768px) {
  .contact-container {
    width: auto;
    margin-top: 24px;
  }
}

.test {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 64px;
}

@media screen and (max-width:768px) {
  .test {
    display: block;
  }
}

.contact_box {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr 1fr;
}

@media screen and (max-width:768px) {
  .contact_box {
    grid-template-columns: 1fr;
  }
}

.contact-title {
  font-size: 32px;
  margin: 0;
  color: #15ABFE;
}

@media screen and (max-width:768px) {
  .contact-title {
    font-size: 18px;
  }
}

.contact_subtitle {
  margin-bottom: 24px;
  color: #979b9e;
  font-weight: bold;
}

@media screen and (max-width:768px) {
  img.contact_img {
    width: 100%;
  }
}

.contact-form {
  display: flex;
  flex-direction: column;
}

.form-group {
  margin-bottom: 20px;
  text-align: left;
}

.form-group label {
  display: block;
  margin-bottom: 5px;
  font-size: 16px;
}

@media screen and (max-width:768px) {
  .form-group label {
    font-size: 13px;
  }
}

.form-group input,
.form-group textarea {
  width: calc(100% - 22px);
  padding: 10px;
  font-size: 16px;
  border: 1px solid #ccc;
  border-radius: 12px;
}

.contact-button {
  padding: 12px 24px;
  font-size: 18px;
  color: #fff;
  background-color: #15ABFE;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  margin-top: 20px;
}

@media screen and (max-width:768px) {
  .contact-button {
    font-size: 13px;
    padding: 6px 12px;
  }
}

/* footer */

footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 5%;
  background-color: #15ABFE;
  box-sizing: border-box;
  width: 100%;
}

@media screen and (max-width: 768px) {
  footer {
    flex-direction: column;
    text-align: center;
    padding: 12px 16px;
  }
}

img.footer-logo {
  width: 200px;
  height: 80px;
}

@media screen and (max-width: 768px) {
  img.footer-logo {
    width: 120px;
    height: 50px;
  }
}

.footer-content {
  display: flex;
  align-items: center;
  gap: 42px;
  flex-wrap: wrap;
}

.footer-menu {
  color: #fff;
  font-size: 13px;
}

.footer-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

@media screen and (max-width: 768px) {
  .footer-content {
    flex-direction: column;
    gap: 10px;
  }

  .footer-wrapper {
    justify-content: center;
  }

  .footer-menu.vertical {
    display: none;
  }
}
