@charset "UTF-8";
/* PROPOSE DIAMOND — SP (max-width:767px) */
@media (max-width: 767px) {
  body { font-size: 14px; }
  .pc-only { display: none !important; }

  .site-header { height: 60px; padding: 0 16px; }
  .site-header__logo img { height: 34px; }
  .site-header__nav { gap: 14px; }
  .site-header__nav a:not(.btn-contact) { display: none; }
  .site-header__nav .btn-contact { padding: 7px 14px; font-size: 12px; letter-spacing: .14em; }

  .hero { height: 100svh; min-height: 560px; max-height: 900px; }
  .hero__bg img { object-position: 76% center; }
  .hero__logo { width: 200px; }
  .hero__title { font-size: 21px; margin-top: 32px; letter-spacing: .24em; }
  .hero__rule { margin-top: 24px; margin-bottom: 20px; }
  .hero__sub { font-size: 14px; letter-spacing: .3em; }

  .section { padding: 88px 0; }
  .inner, .inner--narrow { width: calc(100% - 40px); }
  .sec-head { margin-bottom: 44px; }
  .sec-head__en { font-size: 28px; letter-spacing: .24em; }
  .sec-head__ja { font-size: 14px; margin-top: 10px; }
  .sec-head__ja::after { margin-top: 16px; }

  .catch__voice { font-size: 19px; }
  .catch__ring { width: 60px; margin-top: 36px; }
  .catch__question { font-size: 15px; margin-top: 28px; letter-spacing: .08em; }
  .worries { margin-top: 28px; padding: 12px 24px; }
  .worries li { font-size: 15px; padding: 22px 0; letter-spacing: .1em; }
  .catch__answer { margin-top: 44px; }
  .catch__answer p { font-size: 14px; }
  .catch__answer p + p { margin-top: 10px; }
  .catch__answer .plan { font-size: 17px; }

  .concept { padding: 100px 0; }
  .concept__copy { font-size: 16px; letter-spacing: .2em; }
  .concept__copy em { font-size: 22px; margin-top: 12px; letter-spacing: .3em; }
  .concept__text { font-size: 14px; margin-top: 40px; line-height: 2.3; letter-spacing: .06em; }

  .flow__list { gap: 56px; }
  .flow__item:not(:last-child)::after {
    content: ""; position: absolute; left: 50%; bottom: -36px; width: 12px; height: 12px; margin-left: -6px;
    border-right: 1px solid var(--gold); border-bottom: 1px solid var(--gold); transform: rotate(45deg);
  }
  .flow__img { width: 200px; margin-top: 12px; }
  .flow__title { font-size: 16px; margin-top: 22px; }
  .flow__text { font-size: 13px; margin-top: 8px; }
  .flow__human { width: 240px; margin-top: 56px; }

  .feature { gap: 32px; }
  .feature__photo img { max-height: 340px; width: auto; }
  .feature--three .feature__photo + .feature__body + .feature__photo { display: none; }
  .feature__title { font-size: 19px; }
  .feature__title::after { height: 28px; margin: 16px auto; }
  .feature__text { font-size: 14px; line-height: 2.2; }
  .feature + .feature { margin-top: 88px; }

  .shop__lead { font-size: 14px; margin-bottom: 32px; }
  .shop-tabs {
    flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; gap: 8px;
    margin: 0 -20px 32px; padding: 0 20px 6px; scrollbar-width: none;
  }
  .shop-tabs::-webkit-scrollbar { display: none; }
  .shop-tabs button { flex: none; padding: 8px 16px; font-size: 13px; }
  .shop-list { gap: 20px; }
  .shop-card__body { padding: 18px 20px 22px; }
  .shop-card__name { font-size: 16px; margin-top: 6px; }
  .shop-card__addr { font-size: 13px; margin-top: 8px; }
  .shop-card__btn { margin-top: 16px; padding: 14px 0; }

  .form-wrap { padding: 36px 20px; margin: 0 -4px; }
  .form-note { font-size: 13px; margin-bottom: 28px; }
  .form-row { padding: 20px 0; }
  .form-row__label { font-size: 14px; margin-bottom: 10px; }
  .form-row__field .w-s { max-width: 100%; }
  .form-actions { margin-top: 36px; flex-direction: column-reverse; align-items: stretch; }
  .btn { padding: 20px 0; font-size: 15px; width: 100%; }

  .confirm-table th, .confirm-table td { display: block; width: 100%; }
  .confirm-table th { padding: 18px 0 4px; font-size: 13px; }
  .confirm-table td { border-top: 0; padding: 0 0 18px; font-size: 15px; }
  .confirm-table tr:last-child th { border-bottom: 0; }
  .thanks-box__no { font-size: 24px; margin: 12px 0 24px; }
  .thanks-box p { font-size: 13px; text-align: left; }

  .page-head { padding: 120px 0 72px; }
  .statement__img { margin-top: -40px; position: relative; }
  .statement__text { margin-top: 56px; font-size: 14px; line-height: 2.3; }
  .statement__text br.pc { display: none; }
  .notes { margin-top: 56px; font-size: 12px; }

  .site-footer { padding: 64px 0 0; }
  .site-footer__logo { width: 200px; }
  .site-footer__tm { margin-top: 18px; font-size: 12px; }
  .site-footer__link { margin-top: 28px; padding: 12px 24px; font-size: 13px; }
  .site-footer address { margin-top: 28px; font-size: 12px; }
  .site-footer__copy { margin-top: 48px; padding: 20px 0; font-size: 10px; }
}
