form .fs-c-inputTable {
    width: 100%;
}
form .fs-c-inputTable tr input {
    padding: 10px;
    border-radius: 5px;
    border: none;
    background-color: #fff;
}
form .fs-c-inputTable tr textarea {
    padding: 10px;
    border-radius: 5px;
    border: 1px solid #bebebe;
    background-color: #fff;
}
form .fs-c-inputTable .fs-c-inputTable__headerCell {
    font-size: 1.6rem;
    font-weight: 400;
    text-align: left;
    padding: 0;
}
form .fs-c-inputTable .fs-c-inputTable__headerCell .fs-c-requiredMark {
    font-size: 1.2rem;
    color: #FF0000;
}
form .fs-c-inputTable .fs-c-inputTable__dataCell {
    padding: 0;
}
.fs-c-inputGroup, .fs-c-inputGroup--inline, .fs-c-inputGroup--vertical {
    border: none;
    border-radius: inherit;
    background: inherit;
    display: block;
    min-height: inherit;
    position: relative;
}
.fs-c-inputGroup > button, .fs-c-inputGroup--inline > button, .fs-c-inputGroup--vertical > button {
    border-left: none;
    border-radius: inherit;
    font-size: 1.2rem;
    padding: 0;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto;
    width: 20px;
    height: 11px;
    background-image: url(https://luminousclub.itembox.design/item/luminous-club/images/icons/eye.svg);
    background-repeat: no-repeat;
    background-size: contain;
}
.fs-c-subSection__title {
    font-size: 2.0rem;
    font-weight: 700;
    margin-bottom: 20px;
}
.fs-c-subSection__message {
    font-size: 1.6rem;
    margin-bottom: 30px;
}

.fs-c-requiredMark {
    display: inline-block;
    overflow: inherit;
    text-indent: inherit;
    width: auto;
    height: auto;
}
.fs-c-requiredMark::before {
    content: none;
}

label[for] {
    cursor: default;
}

/* ラジオボタン commonに移動するかも */
.fs-c-radio__radioMark {
    display: block;
    width: 16px;
    height: 16px;
    margin: 0 6px 0 0;
    position: relative;
    min-width: 16px;
    background: #ffffff;
    border-radius: 50%;
    border: 1px solid #333;
    cursor: pointer;
}
.fs-c-radio__radio:checked:enabled + label > .fs-c-radio__radioMark {
    border-color: #333;
}
.fs-c-radio__radio:checked:enabled + label > .fs-c-radio__radioMark::before {
    background: #333;
    opacity: 1;
    width: 12px;
    height: 12px;
}
/* ラジオボタン commonに移動するかも */

/* チェックボックス commonに移動するかも */
.fs-c-checkbox__checkMark {
    display: block;
    width: 16px;
    height: 16px;
    margin: 0 10px 0 0;
    position: relative;
    min-width: 16px;
    background: #ffffff;
    border-radius: 2px;
    border: 1px solid #333;
    cursor: pointer;
}
.fs-c-checkbox__checkbox:checked + label > .fs-c-checkbox__checkMark {
    background: #fff;
    border-color: #333;
}
.fs-c-checkbox__checkbox:checked + label > .fs-c-checkbox__checkMark::before {
    content: "";
    background: #333;
    opacity: 1;
    width: 12px;
    height: 12px;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    border-radius: 1px;
    font-size: inherit;
}
.fs-c-checkbox__label {
    margin-bottom: 7px;
}
.fs-c-checkbox__labelText {
    font-size: 1.6rem;
}
.fs-c-checkbox__labelText a {
    font-weight: 700;
    border-bottom: 1px solid #333;
}
/* チェックボックス commonに移動するかも */

/* 会員登録ボタン */
.fs-c-button--primary {
    display: block;
    width: 220px;
    height: 55px;
    margin: 20px auto 0;
    color: #fff;
    border: 1px solid #333;
    background-color: #333;
    transition: background-color 0.3s, color 0.3s;
}
.fs-c-button--primary:hover {
    color: #333;
    background-color: #fff;
}
.fs-c-button--primary span {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    width: 100%;
    height: 100%;
    letter-spacing: 0.2em;
}

/* キャンセルボタン */
.fs-c-buttonContainer--pair {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
.fs-c-button--cancel {
    display: block;
    width: 220px;
    height: 55px;
    margin: 20px auto 0;
    border: 1px solid #333;
    background-color: #fff;
    transition: background-color 0.3s, color 0.3s;
}
.fs-c-button--cancel:hover {
    color: #fff;
    background-color: #333;
}
.fs-c-button--cancel span {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
    .fs-c-subSection__title {
        font-size: 1.4rem;
        margin-bottom: 15px;
    }
    .fs-c-subSection__message {
        font-size: 1.2rem;
        margin-bottom: 20px;
    }
    form .fs-c-inputTable tr input {
        font-size: 1.2rem;
        padding: 5px 10px;
    }
    form .fs-c-inputTable .fs-c-inputTable__headerCell {
        font-size: 1.2rem;
    }
    form .fs-c-inputTable .fs-c-inputTable__headerCell .fs-c-requiredMark {
        font-size: 1.0rem;
    }
    .fs-c-dropdownGroup {
        flex-flow: row;
    }
    .fs-c-radioGroup, .fs-c-checkboxGroup {
        flex-flow: row;
    }
    .fs-c-radioGroup > *, .fs-c-checkboxGroup > * {
        flex-basis: auto;
    }
    .fs-c-checkbox__labelText {
        font-size: 1.4rem;
    }

    .fs-c-assist.is-error {
        font-size: 1.2rem;
    }

    .fs-c-button--primary {
        margin: 5px auto 0;
    }
    .fs-c-button--cancel {
        margin: 5px auto 0;
    }
}

#fs-page-error-container {
    max-width: 1160px;
    min-width: auto;
    padding: 0 30px;
    margin: 0 auto;
}
.fs-c-panel--error {
    margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
    #fs-page-error-container {
        padding: 0 20px;
    }
    .fs-c-panel--error {
        margin-bottom: 20px;
    }
}


iframe {
    height: 100%;
}
iframe h1 {
    display: none;
}

/* フォームメーラー */
.form-mailer .form-item {
    display: flex;
    align-items: center;
    border: 1px solid #bebebe;
    margin-bottom: -1px;
}
.form-mailer .form-item--title {
    width: 32%;
    padding: 10px 10px 10px 25px;
    vertical-align: middle;
    margin-bottom: 0;
}
.form-mailer .form-item--title .fs-c-requiredMark {
    font-size: 1.2rem;
    color: #FF0000;
    margin-left: 5px;
}
.form-mailer .form-item--field {
    width: 68%;
    padding: 30px 20px;
    margin-bottom: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.form-mailer .form-item--field input,
.form-mailer .form-item--field textarea {
    padding: 10px;
    border-radius: 5px;
    border: 1px solid #bebebe;
    background-color: #fff;
}
.form-mailer .form-item--field input.--first,
.form-mailer .form-item--field input.--second {
    flex: 1 1 50%;
}
.form-mailer .form-item--field input.--second {
    margin-left: 8px;
}
.form-mailer .form-submit {
    display: block;
    width: 220px;
    height: 55px;
    margin: 20px auto 0;
    color: #fff;
    border: 1px solid #333;
    background-color: #333;
    transition: background-color 0.3s, color 0.3s;
    cursor: pointer;
}
.form-mailer .form-submit:hover {
    color: #333;
    background-color: #fff;
}
.form-mailer .form-submit input {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-weight: 700;
    width: 100%;
    height: 100%;
    letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
    .form-mailer .form-item {
        flex-wrap: wrap;
    }
    .form-mailer .form-item--title {
        width: 100%;
        padding: 5px 10px;
        font-size: 1.2rem;
    }
    .form-mailer .form-item--title .fs-c-requiredMark {
        font-size: 1.0rem;
    }
    .form-mailer .form-item--field {
        width: 100%;
        padding: 15px 20px;
    }
    .form-mailer .form-item--field input,
    .form-mailer .form-item--field textarea {
        font-size: 1.2rem;
        padding: 5px 10px;
    }
}