@charset "UTF-8";
/* =======================================================
* /contact/
* CONTACT
* ======================================================= */
/* フォーム初期化 */
form, label, input, textarea, select, fieldset, button {
    /*all: unset;*/ /* すべてのプロパティを初期化 */
    background: none;
    border: none;
    box-sizing: border-box;
    font-size: 100%;
    padding: 0;
    margin: 0;
}

/*select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}*/

.container-inner-cener {
    font-size: clamp(14px, 1.11vw, 16px);
}

.form-top {
    padding-bottom: 80px;
}

label + br + input, textarea {
    width: 100%;
    background: #FFF;
    padding: 10px;
    margin-top: 15px;
}

.form-item {
    padding-bottom: 40px;
}

.radios {
    margin-top: 15px;
}

/* ラジオボタン共通スタイル */
.radios label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    margin-right: 15px;
}

/* ボタンサイズアップ（ベースの大きさを指定） */
.radios input[type="radio"] {
    appearance: none; /* デフォルトの見た目を消す */
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    background: #FFF;
    border: 1px solid #FFF;
    border-radius: 50%;
    position: relative;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

/* チェック時：中央に白い余白を残す */
.radios input[type="radio"]:checked {
    border: #000;
}

/* チェックされたときに黒いリング＋白中心を作る */
.radios input[type="radio"]:checked::after {
    content: "";
    position: absolute;
    top: 4px;                 /* ← 白の余白幅（上下） */
    left: 4px;                /* ← 白の余白幅（左右） */
    width: calc(100% - 8px);  /* 全体から4px×2を引く */
    height: calc(100% - 8px);
    background: #000;   /* 中の黒丸部分 */
    border-radius: 50%;
}
/* フォーカス時の見やすさUP */
.radios input[type="radio"]:focus-visible {
    outline: 1px solid #000;
    outline-offset: 1px;
}

label + br + input {
    height: 65px;
}

textarea {
    resize: vertical;
    min-height: 65px;
}

.error {
    color: #D22929;
    padding-top: 5px;
}

.form-bottom {
    border-top: 1px solid #FFF;
    text-align: center;
    padding-top: 80px;
    margin-top: 40px;
}

.form-bottom a {
    text-decoration: underline;
}

dl {
    margin: 0;
}

dt {
    padding-bottom: 15px;
}

dd {
    padding-bottom: 40px;
    margin: 0;
}

.form-bottom.actions {
    display: flex;
    justify-content: center;
    gap: 15px;
}

.form-bottom p {
    padding-bottom: 40px;
}

.pc-none {
    display: none;
}

/************************************
** max-width: 768px
************************************/
@media screen and (max-width: 768px) {
    .container-inner-center {
        padding: 0;
    }

    .form-item,
    .confirm-list {
        padding: 0 30px 20px;
    }

    .pc-none {
        display: block;
    }

    .form-bottom.actions {
        display: block;
        padding-top: 40px;
        margin-top: 5px;
    }

    .form-bottom p {
        padding-bottom: 20px;
    }

    form button.btn-wht {
        margin-top: 15px;
    }
}