@charset "utf-8";

/* =========================================================
   Suifeel リース・割賦審査申請フォーム PC
========================================================= */

.f_application_page {
    width: 100%;
    background: #f7fbff;
    color: #1f2f3d;
}

.f_application_page .inner {
    width: min(1080px, 92%);
    margin: 0 auto;
}

/* MV */
.f_application_mv {
    padding: 90px 0 60px;
    background: linear-gradient(135deg, #eaf7ff 0%, #ffffff 55%, #e9f5ff 100%);
    text-align: center;
}

.f_application_mv .page_label {
    margin: 0 0 12px;
    color: #7fcbea;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.f_application_mv h1 {
    margin: 2% auto 3%;
    color: #2F4565;
    font-size: 38px;
    line-height: 1.45;
    font-weight: 700;
}

.f_application_mv .lead {
    max-width: 760px;
    margin: 0 auto;
    color: #44576a;
    font-size: 17px;
    line-height: 1.9;
}

/* Notice */
.f_application_notice {
    padding: 50px 0 0;
}

.notice_box {
    padding: 32px 38px;
    background: #ffffff;
    border: 1px solid #d8ecfa;
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(28, 108, 160, 0.08);
}

.notice_box h2 {
    margin: 0 0 18px;
    color: #2F4565;
    font-size: 24px;
}

.notice_box ul {
    margin: 0;
}

.notice_box li {
    margin: 8px 0;
    font-size: 15px;
    line-height: 1.8;
}

.notice_box strong{
    font-size: 16px;
}

/* Form common */
.f_application_form_section {
    padding: 50px 0 90px;
}

.f_application_form {
    width: 100%;
}

.form_block {
    margin-bottom: 34px;
    padding: 34px 38px;
    background: #ffffff;
    border-radius: 18px;
    border: 1px solid #dfeef8;
    box-shadow: 0 10px 28px rgba(28, 108, 160, 0.07);
}

.form_block h2 {
    margin: 0 0 26px;
    padding-bottom: 14px;
    color: #2F4565;
    font-size: 24px;
    line-height: 1.5;
    border-bottom: 1px solid #dcecf6;
}

.form_row {
    display: grid;
    grid-template-columns: 250px 1fr;
    gap: 22px;
    align-items: center;
    margin-bottom: 18px;
}

.form_row:last-child {
    margin-bottom: 0;
}

.form_row label {
    color: #263f52;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.6;
}

.form_row label.required::after {
    content: "必須";
    display: inline-block;
    margin-left: 10px;
    padding: 2px 8px;
    color: #ffffff;
    background: #e85b5b;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    vertical-align: middle;
}

.form_row input[type="text"],
.form_row input[type="tel"],
.form_row input[type="email"],
.form_row input[type="date"],
.form_row input[type="file"],
.form_row textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 13px 15px;
    border: 1px solid #c9dce8;
    border-radius: 10px;
    background: #ffffff;
    color: #1f2f3d;
    font-size: 15px;
    line-height: 1.6;
}

.form_row textarea {
    resize: vertical;
}

.form_row input:focus,
.form_row textarea:focus {
    outline: none;
    border-color: #1594d2;
    box-shadow: 0 0 0 3px rgba(21, 148, 210, 0.14);
}

.radio_group {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 28px;
}

.radio_group label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
}

.radio_group input {
    width: 18px;
    height: 18px;
}

.note {
    margin: 8px 0 0;
    color: #667887;
    font-size: 13px;
    line-height: 1.6;
}

/* Condition summary */
.condition_summary {
    padding: 22px 26px;
    background: #f0f9ff;
    border-radius: 14px;
    border: 1px solid #cfe9fa;
}

.condition_summary dl,
.confirm_list {
    margin: 0;
}

.condition_summary dl div,
.confirm_list div {
    display: grid;
    grid-template-columns: 220px 1fr;
    border-bottom: 1px solid #d8ecf8;
}

.condition_summary dl div:last-child,
.confirm_list div:last-child {
    border-bottom: none;
}

.condition_summary dt,
.condition_summary dd,
.confirm_list dt,
.confirm_list dd {
    margin: 0;
    padding: 14px 0;
    font-size: 15px;
    line-height: 1.7;
}

.condition_summary dt,
.confirm_list dt {
    color: #385265;
    font-weight: 700;
}

.condition_summary dd,
.confirm_list dd {
    color: #1f2f3d;
}

/* Authorization */
.authorization_box {
    margin-bottom: 22px;
    padding: 24px 26px;
    background: #f0f9ff;
    border: 1px solid #cfe9fa;
    border-radius: 14px;
}

.authorization_box p {
    margin: 0 0 18px;
    color: #385265;
    font-size: 15px;
    line-height: 1.9;
}

.download_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 240px;
    padding: 13px 22px;
    color: #ffffff;
    background: #1594d2;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: 0.2s ease;
}

.download_btn:hover {
    opacity: 0.86;
}

/* Agreement */
.agreement_text {
    margin-bottom: 20px;
    padding: 22px 24px;
    background: #f7fbff;
    border: 1px solid #d8ecfa;
    border-radius: 14px;
}

.agreement_text p {
    margin: 0;
    color: #385265;
    font-size: 14px;
    line-height: 1.9;
}

.agree_check {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #2F4565;
    font-size: 16px;
    font-weight: 700;
}

.agree_check input {
    width: 20px;
    height: 20px;
}

/* Submit */
.form_submit {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 18px;
    margin-top: 34px;
}

.form_submit button,
.form_submit a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 230px;
    min-height: 54px;
    padding: 0 28px;
    border: none;
    border-radius: 999px;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: 0.2s ease;
}

.form_submit button[type="submit"] {
    color: #ffffff;
    background: #1594d2;
}

.form_submit button[type="button"],
.form_submit .back_link,
.form_submit .back_btn {
    color: #1594d2;
    background: #ffffff;
    border: 1px solid #1594d2;
}

.form_submit .home_btn {
    color: #ffffff;
    background: #1594d2;
}

.form_submit button:hover,
.form_submit a:hover {
    opacity: 0.86;
}

/* Error / Complete */
.error_box,
.complete_box {
    padding: 42px 46px;
    background: #ffffff;
    border-radius: 18px;
    border: 1px solid #dfeef8;
    box-shadow: 0 10px 28px rgba(28, 108, 160, 0.07);
}

.error_box h2,
.complete_box h2 {
    margin: 0 0 22px;
    color: #2F4565;
    font-size: 26px;
    line-height: 1.5;
}

.error_box ul {
    margin: 0;
    padding-left: 1.4em;
}

.error_box li {
    margin: 8px 0;
    color: #c64242;
    font-size: 15px;
    line-height: 1.8;
}

.complete_box p {
    margin: 0 0 18px;
    color: #385265;
    font-size: 15px;
    line-height: 1.9;
}

.complete_notes {
    margin-top: 28px;
    padding: 26px 28px;
    background: #f0f9ff;
    border: 1px solid #cfe9fa;
    border-radius: 14px;
}

.complete_notes h3 {
    margin: 0 0 14px;
    color: #2F4565;
    font-size: 20px;
}

.complete_notes ol {
    margin: 0;
    padding-left: 1.5em;
}

.complete_notes li {
    margin: 7px 0;
    color: #385265;
    font-size: 15px;
    line-height: 1.8;
}

/* PC（デフォルト）では表示 */
.pc-br {
  display: inline;
}

/* SPでは非表示 */
@media (max-width: 768px) {
  .pc-br {
    display: none;
  }
}

/* PCでは非表示（＝改行しない） */
.sp-br {
  display: none;
}

/* SPだけ表示（＝改行する） */
@media (max-width: 768px) {
  .sp-br {
    display: inline;
  }
}

