.req {
    border-radius: 5px;
    background: #BE110C;
    font-size: 1.5rem;
    color: #fff;
    padding: .1rem 1rem;
    margin-left: .8rem;
}

.form-row {
    border-bottom: 1px dashed var(--main);
    padding: 1rem 3rem;
    display: flex;
    flex-wrap: wrap;
}

.course-group {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 1rem;
    width: 45rem;
}

.chk-item:first-child {
    width: 100%;
}

.course-group .wpcf7-list-item {
    width: 43%;
}

.course-group .wpcf7-list-item.first {
    width: 100%;
}

.title-label {
    flex-basis: 22.5rem;
}

.form-item {
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: auto;
    margin-right: 10px;
}

.radio-btns {
    display: flex;
    align-items: center;
    gap: 4rem;
}

.address-group__postcode,
.address-group__prefecture {
    display: flex;
    flex-direction: column;
    gap: .2rem;
}

.address-groups {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.address-group {
    display: flex;
    gap: 5rem;
}

.address-group__city,
.address-group__district,
.address-group__street {
    display: flex;
    flex-direction: column;
    gap: .4rem;
}

.bt-selects {
    display: flex;
    gap: 1.5rem;
}

.date-group {
    display: flex;
    gap: .6rem;
    align-items: center;
}

.form-center {
    align-items: center;
}

.exp-group {
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.exp-group .error{
	order:2;	
}

.exp-year,
.exp-month {
    display: flex;
    align-items: center;
    gap: .8rem;
}

.form__note {
    margin-top: 5rem;
    width: 100%;
    border: 1px solid var(--main);
    text-align: center;
    padding: 1rem;
}

.form__note-title {
    font-size: 1.5rem;
    margin: 1rem;
}

#update-form__body .form__note p {
    font-size: 1.5rem;
    line-height: 160%;
    margin: 1rem;
}

.privacy-policy__chk {
    display: flex;
    justify-content: center;
    margin: 0 auto;
    margin-top: 3rem;
    gap: .5rem;
    align-items: center;
}

.border-none {
    border-bottom: none;
}

.form-sumbit {
    text-align: center;
    margin: 3rem auto;
    justify-content: center;
}


/* 入力フォーム */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
select {
    border: 1px solid var(--main);
    font-size: 1.9rem;
    border-radius: 5px;
    padding: .8rem 1rem;
    background-color: #FFF;
}

textarea {
    width: 53.4rem;
    height: 20.8rem;
    border-radius: 5px;
    border: 1px solid var(--main);
    padding: 1rem;
    font-size: 1.9rem;
    background-color: #FFF;
}

input[type="text"],
input[type="tel"] {
    width: 25.7rem;
}

input[type="email"] {
    width: 53rem;
}

#post1 {
    width: 7rem;
}

#post2 {
    width: 9.1rem;
}

#pref{
    width: 90%;
}

#month,
#day {
    width: 7rem;
    max-width: 7rem;
}

#city,
#district,
#street {
    width: 40rem;
}

#company,
#industry,
#reg-num {
    width: 53rem;
}

#exp-year {
    width: 9rem;
}

#exp-month {
    width: 7rem;
}

#total{
    text-align: right;
    color: var(--main);
    font-weight: 700;
}

/* ラジオボタンスタイル設定 */
/* ラジオボタン無効化 */
input[type="radio"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #FFF;
}

/* ラジオボタンスタイル */
input[type="radio"] {
    position: relative;
    width: 2.4rem;
    height: 2.4rem;
    border: 1px solid var(--main);
    border-radius: 50%;
    vertical-align: -2px;
    margin-right: .8rem;
}

input[type="radio"]:checked:before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: var(--main);
    content: '';
}

/* チェックボックスの設定 */
input[type="checkbox"] {
    margin-right: 1rem;
    position: relative;
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid var(--main);
    border-radius: 5px;
    vertical-align: -5px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

input[type="checkbox"]:checked {
    background-color: var(--main);
}

input[type="checkbox"]:checked:before {
    position: absolute;
    top: .1rem;
    left: .8rem;
    transform: rotate(45deg);
    width: .8rem;
    height: 1.8rem;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    content: '';
}

span#preference {
    display: flex;
    flex-direction: column;
}

/* 確認画面 */
.contact-confirm {
    max-width: 83.5rem;
    margin: 6rem auto;
    padding: 0 2rem;
}

.update-form-confirm {
    max-width: 83.5rem;
    margin: 6rem auto;
    padding: 0 2rem;
}

.enrollment-form-confirm {
    max-width: 83.5rem;
    margin: 6rem auto;
    padding: 0 2rem;
}

.books-confirm {
    max-width: 83.5rem;
    margin: 6rem auto;
    padding: 0 2rem;
}

.confirm-form {
    max-width: 83.5rem;
    margin: 6rem auto;
}

input.wpcf7-form-control.wpcf7-previous {
    color: var(--main);
    border: none;
    background-color: transparent;
    font-size: 1.8rem;
}

/* 完了画面 */
.enrollment-form-thanks{
    margin: 8rem auto;
    max-width: 100rem;
    padding: 0rem 2rem;
}

.enrollment-form-thanks a{
    color: var(--main);
    text-decoration: underline;
}

.update-form-thanks {
    max-width: 100rem;
    margin: 8rem auto;
    padding: 0 2rem;
}

.update-form-thanks a{
    color: var(--main);
    text-decoration: underline;
}

.books-thanks{
    max-width: 100rem;
    margin: 8rem auto;
    padding: 0 2rem;
}

.books-thanks a{
    color: var(--main);
    text-decoration: underline;
}

.contact-thanks {
    max-width: 100rem;
    margin: 8rem auto;
    padding: 0 2rem;
}

.contact-thanks a{
    color: var(--main);
    text-decoration: underline;
}

.form-row--content {
    border: none;
}

.enroll__form-container #course-field{
      pointer-events: none; 
    cursor: text; 
  width:70%;
  background:#eee;
}

.enroll__form-container{
  margin:2rem 0;
}

.mw_wp_form  #venues{
    display: flex;
    flex-direction: column;
}

.mw_wp_form  #schedule-field,.mw_wp_form  #venue-field,.mw_wp_form  #course-field{
    width:60%;
}

.mw_wp_form_complete{
    text-align:center;
}

.mw_wp_form_complete .form-complete__title{
    display:block;
    text-align:center;
    font-size: 2.55rem;
} 

.address-group__postcode-number{
    display: flex;
    align-items: center;
    gap: .2rem;
    flex-wrap: wrap;
}

.address-group__postcode-number .error{
    order: 2;
    width: 100%;
}


/* 無料相談申し込み ラジオボタン　MWWPフォーム　縦並び */
.enroll__form-container #course{
    width:75%;
}

.contact-page .radio-btns--preference {
    display: block;
    align-items: start;
    gap: 0.5rem;
}

.contact-page .mwform-radio-field {
    display: block;
}

.contact-page .mwform-radio-field label {
    display: flex; 
    align-items: center; 
    gap: 0.8rem;
}

.contact-page  .horizontal-item + .horizontal-item {
    margin-left: 0;
}