@charset "utf-8";

/* ============================================================
   お問い合わせフォーム共通CSS (formmail / check / comp)
   ============================================================ */

/* ----- MV風ページタイトルエリア ----- */
#formmail .page_mv_title {
    font-size: min(2.4rem, 24px);
    font-weight: 500;
    font-family: var(--font-ebGaramond);
    color: var(--color-navy);
    padding: min(10rem, 100px) 20px min(4rem, 40px);
    max-width: 1140px;
    margin: 0 auto;
}

#formmail .page_mv_title span {
    font-size: min(7rem, 70px);
    display: block;
    margin-bottom: min(1rem, 10px);
}

/* ----- パンくず ----- */
#formmail .bread {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 20px min(4rem, 40px);
}

#formmail .bread ul {
    display: flex;
    align-items: center;
    gap: min(1rem, 10px);
    list-style: none;
    margin: 0;
    padding: 0;
}

#formmail .bread ul li {
    font-size: min(1.3rem, 13px);
}

#formmail .bread ul li:empty::before {
    content: "";
    display: inline-block;
    width: min(.5rem, 5px);
    height: min(1rem, 10px);
    background-image: url(../images/icon_arrow_right_gray.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

#formmail .bread ul li a {
    color: var(--color-navy);
}

/* ----- フォームコンテナ ----- */
#formmail .formmail_inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px min(12rem, 120px);
}

/* ----- リード文・住所 ----- */
#formmail .formmail_lead {
    margin-bottom: min(4rem, 40px);
    font-size: min(1.6rem, 16px);
    line-height: 1.8;
}

#formmail .formmail_lead ul {
    list-style: none;
    padding-left: 1.5em;
    margin-bottom: min(2rem, 20px);
}

#formmail .formmail_lead ul li {
    margin-bottom: 0.5em;
    position: relative;
    line-height: 1.4;
}

#formmail .formmail_lead ul li::before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--color-navy);
    position: absolute;
    left: -1.2em;
    top: 0.6em;
}

#formmail .formmail_address {
    border: var(--color-navy) 2px solid;
    border-radius: 8px;
    padding: min(2rem, 20px) min(2.4rem, 24px);
    font-size: min(1.6rem, 16px);
    line-height: 1.8;
    margin-bottom: min(4rem, 40px);
}

#formmail .formmail_address p:first-child {
    margin-bottom: 10px;
}

/* ----- エラー表示 ----- */
#formmail .form_err_all {
    color: #c00;
    font-weight: bold;
    font-size: min(1.8rem, 18px);
    text-align: center;
    margin: min(3rem, 30px) 0;
}

#formmail .err {
    color: #c00;
    font-size: min(1.4rem, 14px);
    display: block;
    margin-bottom: 0.3em;
}

/* ----- テーブル ----- */
#formmail .formmail_table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: min(4rem, 40px);
    font-size: min(1.6rem, 16px);
}

#formmail .formmail_table th,
#formmail .formmail_table td {
    border-bottom: 1px solid #ddd;
    padding: min(1.6rem, 16px) min(2rem, 20px);
    vertical-align: top;
    line-height: 1.8;
    text-align: left;
}

#formmail .formmail_table th {
    width: 35%;
    background-color: var(--bg-lightblue);
    font-weight: 500;
    color: var(--color-main);
}

#formmail .formmail_table .required {
    display: inline-block;
    background: #c00;
    color: #fff;
    font-size: min(1.1rem, 11px);
    padding: 2px 6px;
    border-radius: 3px;
    margin-left: 0.5em;
    vertical-align: middle;
    font-style: normal;
}

/* ----- inputスタイル ----- */
#formmail input[type="text"],
#formmail input[type="email"],
#formmail input[type="tel"] {
    height: 42px;
    padding: 0 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
    font-size: min(1.5rem, 15px);
    color: var(--color-main);
    transition: border-color .3s;
}

#formmail input[type="text"]:focus,
#formmail input[type="email"]:focus,
#formmail input[type="tel"]:focus {
    border-color: var(--color-navy);
    outline: none;
}

#formmail input.inputLg { width: 100%; max-width: 500px; }
#formmail input.inputMd { width: 100%; max-width: 320px; }
#formmail input.inputSm { width: 100%; max-width: 120px; }

#formmail input[type="button"].input_btn {
    height: 36px;
    padding: 0 12px;
    border: 1px solid var(--color-navy);
    border-radius: 4px;
    background: #fff;
    color: var(--color-navy);
    font-size: min(1.3rem, 13px);
    cursor: pointer;
    transition: .3s;
}

#formmail input[type="button"].input_btn:hover {
    background: var(--color-navy);
    color: #fff;
}

/* ----- select ----- */
#formmail select {
    height: 42px;
    padding: 0 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
    font-size: min(1.5rem, 15px);
    color: var(--color-main);
    cursor: pointer;
}

/* ----- textarea ----- */
#formmail textarea.textareaLg {
    width: 100%;
    max-width: 500px;
    min-height: 160px;
    padding: 10px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
    font-size: min(1.5rem, 15px);
    color: var(--color-main);
    line-height: 1.7;
    resize: vertical;
    transition: border-color .3s;
}

#formmail textarea.textareaLg:focus {
    border-color: var(--color-navy);
    outline: none;
}

/* ----- ラジオ・チェックボックス ----- */
#formmail label {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    margin-right: 1.2em;
    margin-bottom: 0.4em;
    cursor: pointer;
    font-size: min(1.5rem, 15px);
}

/* ----- 補足テキスト ----- */
#formmail .textsmall {
    font-size: min(1.2rem, 12px);
    color: #888;
    margin-top: 4px;
}

/* ----- 送信ボタンエリア ----- */
#formmail .formmail_btn p {
    text-align: center;
    margin: min(4rem, 40px) auto min(2rem, 20px);
}

#formmail .formmail_btn p:last-child {
    font-size: min(1.3rem, 13px);
    color: #888;
    margin-top: 1em;
}

#formmail .btn {
    display: inline-block;
    min-width: 240px;
    height: 56px;
    line-height: 56px;
    padding: 0 32px;
    background: var(--color-navy);
    color: #fff;
    border: none;
    border-radius: 99px;
    font-size: min(1.8rem, 18px);
    font-weight: 500;
    cursor: pointer;
    transition: opacity .3s;
    margin: 0 10px;
}

#formmail .btn:hover {
    opacity: 0.7;
}

#formmail .btn.back {
    background: #888;
}

/* ----- プライバシーポリシー ----- */
#formmail .privacy_box {
  max-width: 600px;
  margin: 50px auto 0;
  padding: 15px;
  border: 1px solid #ccc;
}

#formmail .privacy_box h3 {
  margin: 0 0 10px;
  padding: 0;
  padding-bottom: 10px;
  border-bottom: 1px dotted #ccc;
  font-size: 16px;
}

#formmail .privacy_box a {
    color: var(--color-navy);
    text-decoration: underline;
}

#formmail .privacy_box p {
    line-height: 1.4;
}

/* ----- 確認画面タイトル ----- */
#formmail .form_section_title {
    text-align: center;
    font-size: min(2.2rem, 22px);
    font-weight: bold;
    color: var(--color-navy);
    margin: min(4rem, 40px) 0 min(3rem, 30px);
}

/* ----- 完了画面 ----- */
#formmail .comp_box {
    text-align: center;
    padding: min(8rem, 80px) 20px min(12rem, 120px);
}

#formmail .comp_box .comp_title {
    font-size: min(2.4rem, 24px);
    font-weight: bold;
    color: var(--color-navy);
    margin-bottom: min(3rem, 30px);
}

#formmail .comp_box .comp_message {
    font-size: min(1.8rem, 18px);
    line-height: 1.9;
    margin-bottom: min(4rem, 40px);
}

/* ============================================================
   レスポンシブ
   ============================================================ */
@media screen and (max-width: 799px) {
    #formmail .page_mv_title {
        padding: 4rem 20px 2rem;
    }

    #formmail .page_mv_title span {
        font-size: 4rem;
    }

    #formmail .formmail_table th,
    #formmail .formmail_table td {
        display: block;
        width: 100%;
        padding: 1rem 1.5rem;
    }

    #formmail .formmail_table th {
        border-bottom: none;
    }

    #formmail input.inputMd,
    #formmail input.inputLg,
    #formmail textarea.textareaLg {
        max-width: 100%;
        width: 100%;
    }

    #formmail .btn {
        min-width: 180px;
        font-size: 1.6rem;
        margin: 0.5rem;
    }
    .privacyBox {
        width: 94%;
    }
}
