@charset "UTF-8";
.application-page { padding-bottom: 8rem; font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", "Yu Gothic Medium", Meiryo, sans-serif; font-feature-settings: "palt" 1; }
.application-page__main { padding-top: 1rem; }
.application-page h1, .application-page h2, .application-page h3, .application-page button, .application-page input, .application-page select, .application-page textarea { font-family: inherit; }
.application-primary { margin-top: 3rem; }
.application-primary__card { margin-top: 2rem; padding: 38px 30px; text-align: center; }
.application-primary__title { margin: 0 0 .75rem; font-size: clamp(1.4rem, 4vw, 2rem); font-weight: 700; }
.application-primary__description { margin: 0; color: #555; font-size: .9rem; line-height: 1.8; }
.application-primary__button { min-height: 68px; margin: 1.5rem auto 0; font-family: inherit; }
.application-alternative { width: min(100% - 32px, 1120px); margin: 5rem auto 0; }
.application-alternative__heading { text-align: center; }
.application-alternative__eyebrow { margin-bottom: .5rem; color: #00ADA9; font-size: .75rem; font-weight: 700; letter-spacing: .12em; }
.application-alternative h2 { margin-bottom: .75rem; font-size: clamp(1.4rem, 4vw, 2rem); font-weight: 700; }
.application-alternative__options { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 24px; margin-top: 2rem; }
.application-option { overflow: hidden; background: white; border: 1px solid #dce7e5; border-radius: 18px; box-shadow: 0 10px 28px rgba(43, 154, 152, .1); }
.application-option summary { display: flex; min-height: 225px; padding: 30px; flex-direction: column; align-items: center; text-align: center; cursor: pointer; list-style: none; }
.application-option summary::-webkit-details-marker { display: none; }
.application-option__type { color: #00ADA9; font-size: 1.5rem; font-weight: 700; }
.application-option__description { margin: 1rem 0; color: #555; font-size: .9rem; line-height: 1.8; }
.application-option__action { display: inline-flex; min-height: 46px; margin-top: auto; padding: 10px 22px; align-items: center; color: white; background: #00ADA9; border-radius: 999px; font-size: .875rem; font-weight: 700; }
.application-option[open] .application-option__action::after { content: " −"; }
.application-option:not([open]) .application-option__action::after { content: " ＋"; }
.application-option__content { border-top: 1px solid #e2eeeb; }
.application-option__content--request { padding: clamp(40px, 6vw, 72px) clamp(28px, 7vw, 84px); background: linear-gradient(180deg, #f4faf8 0%, #fff 100%); }
.application-option__form.lp-form { width: 100%; max-width: 780px; margin: 0 auto; padding: clamp(32px, 5vw, 52px); border: 1px solid #e5efed; box-shadow: 0 14px 34px rgba(43, 154, 152, .1); }
.application-option__content--booking { height: 860px; padding: 20px 0 0; overflow: auto; }
.application-option__content--booking .jicoo-widget { width: 100%; height: 840px !important; }
.application-option__content--booking iframe { width: 100% !important; max-width: 100%; height: 100% !important; border: 0; }
.application-option__privacy { margin-top: 1rem; color: #666; font-size: .75rem; text-align: center; }
@media (max-width: 428px) {
  .application-page { padding-bottom: 5rem; }
  .application-alternative { width: calc(100% - 24px); margin-top: 3.5rem; }
  .application-primary { margin-top: 2.5rem; }
  .application-primary__card { padding: 28px 18px; }
  .application-option summary { min-height: 205px; padding: 24px 18px; }
  .application-option__content--request { padding: 28px 14px 36px; }
  .application-option__form.lp-form { padding: 28px 20px 32px; border-radius: 14px; }
  .application-option__content--booking { height: 920px; padding-inline: 0; }
  .application-option__content--booking .jicoo-widget { height: 900px !important; }
}
