/* フォーム共通：種別セレクト・必須マーク・同意（プライバシーポリシー） */

/* お問い合わせ種別 */
.contact-form select{
    width: 100%;
    box-sizing: border-box;
    padding: 0.85rem 1rem;
    border: 1px solid #d7e2ee;
    border-radius: 8px;
    background: #fff;
    font-size: 1rem;
    font-family: inherit;
    color: #33455c;
    line-height: 1.5;
}
.contact-form select:focus{
    outline: none;
    border-color: #0a5fa5;
    box-shadow: 0 0 0 3px rgba(10,95,165,0.12);
}
.contact-form .form-note{
    margin: 0.5rem 0 0;
    font-size: 0.85rem;
    line-height: 1.7;
    color: #6b7d92;
}

/* 必須マーク */
.req-mark{
    display: inline-block;
    margin-left: .5em;
    padding: .05em .55em;
    font-size: .72rem;
    font-weight: 700;
    color: #fff;
    background: #d9670f;
    border-radius: 3px;
    vertical-align: .12em;
    line-height: 1.6;
}

/* 同意：リンク（別ページ）とチェックボックスを分ける */
.form-consent{ margin: 1.25rem 0; text-align: left; }
.form-consent__link{ margin: 0 0 .6rem; font-size: .9rem; line-height: 1.7; }
.form-consent__link a{ color: var(--t-link, #0a5fa5); text-decoration: underline; text-underline-offset: 2px; }
.form-consent__link .ext-note{ font-size: .8rem; color: #5b6b7a; margin-left: .15em; }
.form-consent__link a::after{
    content: "";
    display: inline-block;
    width: .8em; height: .8em;
    margin-left: .3em;
    vertical-align: -.05em;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 01-1 1H5a1 1 0 01-1-1V7a1 1 0 011-1h5'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 01-1 1H5a1 1 0 01-1-1V7a1 1 0 011-1h5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.form-consent__label{
    display: flex !important;
    align-items: flex-start;
    gap: .65rem;
    margin: 0;
    padding: .75rem .95rem;
    border: 1px solid #d7e2ee;
    border-radius: 8px;
    background: #f8fafc;
    font-weight: 400 !important;
    color: inherit !important;
    cursor: pointer;
}
.form-consent__label:hover{ border-color: var(--t-main, #0a5fa5); }
.form-consent__label input[type="checkbox"]{
    width: 1.25rem !important; height: 1.25rem;
    margin: .15rem 0 0; padding: 0; flex-shrink: 0;
    accent-color: var(--t-main, #0a5fa5);
    cursor: pointer;
}
.form-consent__label:has(input:focus-visible){ outline: 3px solid var(--t-main, #0a5fa5); outline-offset: 2px; }
