/* -------------------------------------------------- */
/* 共通 */
/* -------------------------------------------------- */

.core_form_wrap {
    padding: 10px 5px 20px 5px;
    margin-bottom: 20px;

}

.indent02 {

    text-indent: -1em;
    padding-left: 1em;
}

.core_form_wrap fieldset {
    margin-inline: 2px;
    border-width: 2px;

    padding-block: 0px 0px;
    padding-inline: 0px;

}

.core_form_wrap .main_cut_wrap {
    text-align: center;
    padding: 10px 0px;
}

.core_form_wrap .main_cut_wrap .main_cut {
    max-width: 100%;
    margin: 0px auto;


}

#moving_button_wrap {}

.moving_button {
    width: 80%;
    margin: 20px auto;
    padding: 20px 5px;
    text-align: center;
    display: block;
    background-color: #e4e4e4;
    border-radius: 10px;
    text-decoration: none;


}

.moving_button:hover {

    text-decoration: none;
    opacity: 0.7;

}

.moving_button.to_login {
    background-color: #42a6fd;
}

.core_form_wrap p {
    margin: 0px;

}

.core_form_wrap hr {
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

/* グラデーション */
.core_form_wrap .hr1 {
    height: 1px;
    background: #aaa;
    background-image: -webkit-linear-gradient(left, #e4e4e4, #b1b1b1, #e4e4e4);
    background-image: -moz-linear-gradient(left, #e4e4e4, #b1b1b1, #e4e4e4);
    background-image: -ms-linear-gradient(left, #e4e4e4, #b1b1b1, #e4e4e4);
    background-image: -o-linear-gradient(left, #e4e4e4, #b1b1b1, #e4e4e4);

    margin-top: 10px;
    margin-bottom: 15px;
}


.core_form_wrap {

    margin: 0px auto;
}

.core_form_wrap .form_item {
    padding: 10px;
    border-bottom: 4px solid #ccc;
    border-right: 4px solid #ccc;
    border-left: 3px solid #fff;
    border-top: 3px solid #fff;
    /* border: 1px solid #bbb; */
    margin-bottom: 20px;
    border-radius: 7px;


}


.core_form_wrap .form_item.item_red {
    border-bottom: 4px solid #ccc;
    border-right: 4px solid #ccc;
    background-color: #feefef;
}

.core_form_wrap .font_bold {
    font-weight: bold;

}

.precautions .font_bold {
    font-weight: bold;

}

.core_form_wrap .user_info {
    padding: 15px 15px 25px 15px;
    background-color: #ebedee;
    margin-bottom: 20px;
}

.form_item-item {
    padding: 5px 3px;

}

.form_item-item_caption {
    margin: 10px;
}

.form_item-item_caption .caption_sub_subject {
    display: inline-block;
    padding: 3px 10px;
    font-weight: bold;
    color: #fff;
    background-color: #e99797;
    border-radius: 6px;

}

.form_section {

    margin-bottom: 30px;
}

.color1 {
    color: #af322f;

}

.color2 {
    color: #174ebc;

}

.core_form_wrap .form_item .form_item-item_title,
.core_form_wrap .form_item2 .form_item-item_title {

    font-size: 1.8rem;
    font-weight: bold;
    padding: 10px;
    border-bottom: 1px solid #bbb;
}

.core_form_wrap .item_attention_note {
    padding: 10px;
    margin: 0px 15px;
    font-size: 1.2rem;
    background-color: #fefff0;


}

.core_form_wrap .item_attention {
    padding: 5px;
    margin: 0px 15px;



}

.core_form_wrap .background_color_white {
    background-color: #fff;

}

.core_form_wrap .background_color2 {
    background-color: #fefff0;

}

.core_form_wrap .form_item.item_red .form_item-item_title {
    border-bottom: 1px solid #e99797;
}

.core_form_wrap .form_item2.item_navy .form_item-item_title {
    border-bottom: 1px solid #a6a6c7;
}


/*ボタン*/
.core_form_wrap .button-apply {
    display: inline-block;
    margin: 10px auto;
    padding: 5px 20px;
    background-color: #888;
    color: #fff;
    font-weight: bold;
    border-radius: 12px;
    text-decoration: none;
}

.button_wrap {
    /* background-color: #fff; */
    padding: 15px;
    margin: 10px auto 30px auto;
    /* border-radius: 10px; */
    width: 95%;
    border-bottom: 1px solid #ccc;
    /* box-shadow: 3px 3px 3px #ccc; */
}

.button_wrap:last-child {
    border: none;
    margin-bottom: 10px;
}

.form_item2.item_gray,
.form_item2.item_navy {
    border: 8px solid #fff;
    border-radius: 5px;
    padding: 10px;
    box-shadow: 5px 5px 5px #ccc;
    outline: 1px solid #ccc;
    background-color: #f5f5f5;
    margin-bottom: 20px;
}

.form_item2.item_navy {
    background-color: #f0f0ff;
}

.fieldset_koudoku_trigger {
    padding-bottom: 0px !important;
}



.core_form_wrap .fieldset-core_form {
    width: 100%;
    box-sizing: border-box;
    border: none;
    padding-bottom: 20px;
    color: #555;
}

.core_form_wrap .fieldset_birth_year,
.core_form_wrap .fieldset_birth_month,
.core_form_wrap .fieldset_birth_day,

.core_form_wrap .fieldset_anniversary_newspaper_year,
.core_form_wrap .fieldset_anniversary_newspaper_month,
.core_form_wrap .fieldset_anniversary_newspaper_day {
    display: inline-block;
    width: auto;
}

/*
.core_form_wrap .fieldset_birth_year *,
.core_form_wrap .fieldset_birth_month *,
.core_form_wrap .fieldset_birth_day * {
    display: inline-block;
} */

.core_form_wrap .form_title_wrap h2 {
    font-size: 2rem;
    text-align: center;
}

.core_form_wrap .form_title_wrap h2 img {
    max-width: 100%;
}

.core_form_wrap .form_title_wrap h3 {
    font-size: 1.8rem;
    text-align: center;

}

.form_intro-notice {
    font-size: 1.8rem;
    text-align: center;


}

.core_form_wrap .core_form_item input,
.core_form_wrap .core_form_item select,
.core_form_wrap .core_form_item textarea,
.core_form_wrap .core_form_item label,
.core_form_wrap .core_form_item button {
    padding: 3px;
    color: #555;
}

.core_form_wrap .core_form_item input[type="text"],
.core_form_wrap .core_form_item input[type="date"],
.core_form_wrap .core_form_item input[type="password"],
.core_form_wrap .core_form_item input[type="tel"],
.core_form_wrap .core_form_item input[type="email"],
.core_form_wrap .core_form_item input[type="number"],
.core_form_wrap .core_form_item input[type="file"],
.core_form_wrap .core_form_item input[type="url"],
.core_form_wrap .core_form_item select,
.core_form_wrap .core_form_item textarea {

    outline: 0;
    border: 2px solid #ddd;

}

.core_form_wrap .core_form_item input[type="text"]:focus,
.core_form_wrap .core_form_item input[type="date"]:focus,
.core_form_wrap .core_form_item input[type="password"]:focus,
.core_form_wrap .core_form_item input[type="tel"]:focus,
.core_form_wrap .core_form_item input[type="email"]:focus,
.core_form_wrap .core_form_item input[type="number"]:focus,
.core_form_wrap .core_form_item input[type="file"]:focus,
.core_form_wrap .core_form_item input[type="url"]:focus,
.core_form_wrap .core_form_item select:focus,
.core_form_wrap .core_form_item textarea:focus {
    /* background-color: var(--base-color-blue); */
    border: 2px solid var(--base-color-blue);
}

.core_form_wrap .core_form_item input,
.core_form_wrap .core_form_item textarea,
.core_form_wrap .core_form_item label {
    padding: 3px;
}



.core_form_wrap .fieldset-core_form .core_form_item-form_input-radio {
    display: inline-block;
    margin-right: 15px;
}

.core_form_wrap .fieldset-core_form .form_fieldset_legend_div_wrap {
    display: inline-block;
    width: 100%;
    margin-top: 10px;
    padding: 5px 0px;
}

.form_group_div_wrap {
    padding-left: 15px;
}

.core_form_wrap .fieldset-core_form .form_fieldset_title,
.form_group_title {
    display: inline-block;
    font-weight: bold;
    margin-left: 5px;
    vertical-align: middle;
}

.core_form_wrap .fieldset-core_form .error_msg {
    background-color: #feebe9;
    padding: 5px;
    margin-top: 5px;
    border-radius: 3px;

}

/* 必須 */
.core_form_wrap .fieldset-core_form .form_required {
    display: inline-block;
    margin-right: 5px;
    font-size: 1.2rem;

    padding: 2px 5px;
    border-radius: 5px;
    background-color: #cd5c5c;
    color: #fff;
    vertical-align: middle;
}


/* テキストボックス */
.core_form_wrap .core_form_item .form_input-text {
    border-radius: 8px;
    box-sizing: border-box;
    width: 100%;


}

/* テキストエリア */
.core_form_wrap .core_form_item .form_textarea {
    border-radius: 5px;
    resize: none;
    width: 100%;
    box-sizing: border-box;
}

/* コンボボックス */
.core_form_wrap .core_form_item .form_select {
    border-radius: 5px;
}

.core_form_wrap .attention {
    font-size: 1.2rem;
    margin-top: 5px;
    margin-left: 15px;
}


/* ボタン */

.core_form_wrap .hiroba_button_a {
    text-decoration: none;
    display: inline-block;
    margin-top: 5px;
}



.core_form_wrap .core_form_item-button button,
.core_form_wrap .hiroba_button_a {
    border: 1px solid #ddd;
    background: #ddd;
    background: -webkit-gradient(linear, left top, left bottom, from(#fdfbfb), to(#ebedee));
    background: -webkit-linear-gradient(top, #fdfbfb 0%, #ebedee 100%);
    background: linear-gradient(to bottom, #fdfbfb 0%, #ebedee 100%);
    -webkit-box-shadow: inset 1px 1px 1px #fff;
    box-shadow: inset 1px 1px 1px #fff;
    padding: 10px 40px;
    font-size: 1.8rem;
    font-weight: bold;
    border-radius: 10px;

}

.core_form_wrap .hiroba_button_a {
    text-decoration: none;
}

.core_form_wrap .core_form_item-button button:hover,
.core_form_wrap .hiroba_button_a:hover {
    background: -webkit-gradient(linear, left bottom, left top, from(#fdfbfb), to(#ebedee));
    background: -webkit-linear-gradient(bottom, #fdfbfb 0%, #ebedee 100%);
    background: linear-gradient(to top, #fdfbfb 0%, #ebedee 100%);
}


.core_form_wrap .confirm_item_list {
    /* padding: 20px; */
    /* background-color: #ebedee; */
    box-sizing: border-box;


}

.core_form_wrap .confirm_item_list .form_group-title {

    padding: 15px 10px;
    margin: 5px 0px;
    background-color: #888;
    color: #fff;
}

.core_form_wrap .confirm_item_list .post_label {
    margin-top: 10px;
    display: inline-block;
    width: 50%;
    padding: 10px;
    background-color: #ddd;

    border-bottom: 3px solid #fff;

}

.core_form_wrap .confirm_item_list .post_text {
    width: 100%;
    margin-bottom: 5px;
    display: inline-block;

    background-color: #fff;

    padding: 10px;
    border-bottom: 3px solid #ddd;
}


.core_form_wrap .fieldset_button .core_form_item-button {
    text-align: center;
    margin-top: 20px;
}

.core_form_wrap .form_message {
    width: 80%;
    padding: 20px;
    border-radius: 10px;
    text-align: center;
    margin: 10px auto;
}

.core_form_wrap .form_message_info {
    border: 3px solid #ddd;

}

.core_form_wrap .form_message_error {
    background-color: #feebe9;
}

.core_form_wrap .ssl_siteseal {
    width: 80%;
    text-align: center;
    margin: 10px auto;
}


.core_form_wrap .ssl_siteseal .ssl_siteseal_heading {
    text-align: center;
    padding: 10px;
}

.core_form_wrap .ssl_siteseal .ssl_siteseal_description {
    text-align: left;
    padding: 10px;
}

.core_form_wrap .form_link_top {
    padding-top: 10px;

}

.hiroba-container {

    width: 90%;
    margin: 0px auto;
}

.core_form_wrap .form_weight_bold {
    font-weight: bold;
}

.core_form_wrap .preamble {
    padding: 10px;
    background-color: #ddd;
    border-radius: 10px;
    margin-top: 10px;
}

.precautions {
    border: 15px solid #ddd;
    padding: 10px;
    margin: 10px auto 10px auto;
    width: 95%;
}

.precautions2 {
    border-bottom: 2px solid #ddd;
    padding: 20px;
    margin: 10px auto 10px auto;

}

.precautions2 h3,
.precautions2 h4,
.content_detail2 h3,
.content_detail2 h4 {
    margin: 5px 0px;
}

.content_detail2 {

    padding: 10px 20px;
    margin: 10px auto;
}

.precautions-title {
    display: block;
    text-align: center;
    font-size: 2rem;
}

.hissujikou {
    padding: 20px;

}

.form_info_table_wrap {
    padding: 20px;

}

.hiroba_button {
    margin-top: 20px;
    text-align: center;
}

.form_info_table_wrap .form_info_table-title {
    display: block;
    text-align: center;
    font-size: 2rem;
    margin-bottom: 10px;

}

.hissujikou-title {
    display: block;
    text-align: center;
    font-size: 2rem;
    margin-bottom: 10px;

}

.form_default_tbl {
    width: 100%;
    margin-bottom: 20px;
}

.form_default_tbl th {
    text-align: left;
    padding: 3px 5px;
    border-bottom: 1px solid #ddd;
    background-color: #ddd;
    width: 33%;
}

.form_default_tbl td {
    overflow-wrap: anywhere;
    padding: 3px 5px;

    word-break: break-all;
    border-bottom: 1px solid #ddd;
    width: 66%;
}


.text_align-right {
    text-align: right;

}

.text_align-center {
    text-align: center;

}

.border-none {
    border: none;
}

.before_reception,
.reception_end {

    margin: 20px;
    border: 10px solid #ffc0cb;
    background-color: #fffafa;
    padding: 10px;
}

@media print,
screen and (min-width: 745px) {

    .core_form_wrap {

        width: 95%;
        margin: 0px auto;
    }

    .core_form_wrap .form_title_wrap h2 {
        font-size: 3rem;
    }

    .core_form_wrap .form_title_wrap h3 {
        font-size: 2.4rem;

    }

    #contents_wrap .core_form_wrap {

        width: 70%;
    }

    .form_item_gray,
    .form_item_navy {
        padding: 10px;
    }

    .moving_button {
        width: 60%;
    }

    .button_wrap {

        /* width: 75%; */
    }

    .core_form_wrap .item_attention_note {

        font-size: 1.6rem;

    }

    .core_form_wrap .confirm_item_list .post_label {
        margin-top: 0px;
        width: 26%;
        vertical-align: top;

    }

    .core_form_wrap .confirm_item_list .post_text {

        background-color: #fff;
        width: 72%;

    }

    /* 各フォームのサイズ */
    /* 名前 */

    /* 職業 */
    /* メールアドレス */
    /* 再入力メールアドレス */
    /* 日付 */
    .core_form_wrap .core_form_item .form_input-text-name_input,
    .core_form_wrap .core_form_item .form_input-text-furigana_input,
    .core_form_wrap .core_form_item .form_input-text-occupation_input,
    .core_form_wrap .core_form_item .form_input-text-email_address_input,
    .core_form_wrap .core_form_item .form_input-text-email_address_confirmation_input,
    .core_form_wrap .core_form_item .form_input-text-date_input {
        width: 50%;
    }


    /* 年齢 */
    /* 郵便番号 */
    /* 電話番号 */
    .core_form_wrap .core_form_item .form_input-text-age_input,
    .core_form_wrap .core_form_item .form_input-text-postcode_input,
    .core_form_wrap .core_form_item .form_input-text-phone_number_input {
        width: 25%;
    }


}

/* 購読フォームの完了画面 */
.core_form_credit_card {
    width: 80%;
    margin: 0 auto;
    text-align: center;
}

.core_form_credit_card-link {
    padding: 15px 25px;
    display: inline-block;
    background-color: #006939;
    color: #fff;
    font-weight: bold;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    text-decoration: none;
}
