@charset "UTF-8";

/* :root:root:root:root:root:root .custom-form {} */

:root:root:root:root:root:root .custom-form .smf-item__label {
    display: block;
    font-size: 16px;
    font-weight: 700;
    margin-top: 20px;
    line-height: 1.4;
    margin-bottom: 5px;
}

/* 必須 */
.smf-item__label__text {
    display: flex;
}

.smf-item:has([data-validations~="required"]) .smf-item__label__text::after,
.privacy_box .smf-checkboxes-control__control[data-validations~="required"] .smf-checkbox-control__label::after,
.form_must .smf-item__label__text::after ,
.mwform-checkbox-field-text::after{
    display: grid;
    place-items: center;
    width: 40px;
    height: 23px;
    border-radius: 4px;
    content: "※";
    font-size: 12px;
    font-weight: 400;
    color: #ff0000;
}

/*  */
.cp-contact {
    display: flex;
    background-color: #f4f4f4;
    justify-content: center;
    align-items: stretch;
    height: 100%;
    max-width: 1370px;
    padding-left: 0;
    padding-right: var(--wrapper_padding);
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

/*  */
.main-form {
    width: 100%;
    max-width: 970px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin-right: 0;
}

.main-form .main-form_inner {
    padding: 50px 0 50px 50px;
}

/*  */

.main-form h1 {
    font-size: 26px;
    margin-bottom: 20px;
    border-bottom: 1px solid #ccc;
    padding-bottom: 40px;
}

.main-form p {
    font-size: 16px;
}

.main-form p.info {
    color: #f00;
}

.form-group {
    margin-top: 20px;
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    font-weight: bold;
    margin-bottom: 8px;
}

.required {
    color: red;
}

select,
textarea {
    width: 100%;
    padding: 10px;
    font-size: 16px;
    box-sizing: border-box;
    border: 1px solid #ccc;
    background-color: #fff;
}

.smf-action .smf-button-control {
    text-align: center;
    padding: 20px 0;
    display: block;
}

.smf-action .smf-button-control .smf-button-control__control {
    appearance: none;
    border: none;
    display: block;
    /* background: #6482A2 !important; */
    background: #5d82b4  !important;
    color: white;
    font-size: 20px;
    font-weight: 700;
    cursor: pointer;
    padding: 15px;
    margin: auto;
    border-radius: 6px;
    min-width: 320px;
    min-height: 80px;
    line-height: 1;
}

.smf-action .smf-button-control .smf-button-control__control::after {
    content: "";
    display: inline-block;
    background-image: url(/wp/wp-content/themes/custom-theme/assets/image/icon_arrow_w.svg);
    width: 30px;
    aspect-ratio: 1 / .4;
    background-position: center bottom;
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 10px;
}

/* 20250609 追加 */

.smf-form .smf-text-control__control {
    background: #fff;
    height: auto;
    font-family: inherit !important;
    font-size: inherit;
    color: inherit;
    line-height: 1.25;
    border-radius: 0;
    border: solid 1px #eee;
    padding: .6rem .75rem;
}

.smf-complete-content {
    text-align: center;
    padding: 30px 10px;
    display: block;
}

/* / 20250609 追加 */

@media screen and (max-width: 767px) {
    .cp-contact {
        flex-direction: column;
        padding-right: 0;
    }

    .main-form .main-form_inner {
        padding: 30px;
    }
}

/* 20250612 追加 */
.privacy_box>div {
    text-align: center;
    display: flex;
    padding: 60px 10px;
    justify-content: center;
    gap: 20px;
    flex-direction: column;
    align-items: center;
}

.privacy_box>div a {
    color: rgba(13, 100, 175, 1);
}

/* / 20250612 追加 */
/* 20250613 追加 */
.mb60 {
    margin-bottom: 60px;
}

.privacy_box .smf-checkboxes-control__control[data-validations~="required"] .smf-checkbox-control__label {
    display: flex;
    align-items: center;
    font-weight: 700;
}

.custom-form input {
    width: calc(100% - var(--wrapper_padding)*1.4);
}

:root:root:root:root:root:root:root .cp-contact {
    padding-right: 50px !important;
}

/* ボタン */
:root:root:root:root:root:root [data-designpart=form-normal] .form-submit input[type="submit"],
:root:root:root:root:root:root [data-designpart=form-normal] .form-submit+button {
    -webkit-appearance: none !important;
    appearance: none !important;
}

@media screen and (max-width:767px) {
    .mb60 {
        margin-bottom: 30px;
    }

    :root:root:root:root:root:root:root .cp-contact {
        padding-right: var(--wrapper_padding) !important;
    }

    .main-form .main-form_inner {
        padding: 0 !important;
    }
    .post-recruit .main-form .main-form_inner,
    .post-etc .main-form .main-form_inner {
        padding-top: 60px !important;
    }

    /* ボタン */
    .component.form .form-submit .popup-link {
        margin-top: 0 !important;
    }

    /* =========== /max-width:767px =========== */
}

/* / 20250613 追加 */

/* 20250630 追加 */
:root:root:root .page-template-page_contact-temp .smf-action {
    text-align: center;
    padding: initial;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    align-items: center;
}

:root:root:root .page-template-page_contact-temp .smf-action .smf-button-control {
    display: inline-block;
    padding: initial;
    margin-left: 0;
}

@media screen and (max-width:767px) {
    :root:root:root .page-template-page_contact-temp .smf-action .smf-button-control {
        padding-bottom: 40px;
    }
}

/* / 20250630 追加 */

/* 20250702 追加 */
:root:root:root:root:root:root button[data-action="back"] {
    background-color: #969696 !important;
}

:root:root:root:root:root:root button[data-action="back"]::before {
    content: "";
    display: inline-block;
    background-image: url(/wp/wp-content/themes/custom-theme/assets/image/icon_arrow_w.svg);
    width: 30px;
    aspect-ratio: 1 / .4;
    background-position: center bottom;
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 10px;
    transform: scaleX(-1);
}

:root:root:root:root:root:root button[data-action="back"]::after {
    display: none !important;
}
/* 20250808 追加 */
/* form[data-screen="input"] .smf-actions.confirm button{display: block !important;}
form[data-screen="input"] .smf-actions.complete button{display: none !important;}

form[data-screen="confirm"] .smf-actions.confirm button{display: none !important;}
form[data-screen="confirm"] .smf-actions.complete button{display: block !important;} */
form .smf-actions.confirm,
form .smf-actions.complete{display: none;}
/* 250812 MW WP FORM対応 */
form input[type=text]{background: #fff;}
form textarea{
    outline: none !important;
    border: 1px solid #ccc;
    resize: none;
}

.smf-form .smf-file-control>label {display: flex;width: 100%;}
.form_file::file-selector-button {
    background-color: var(--_lighter-color-gray);
    background-image: linear-gradient(180deg, #fff, var(--_lighter-color-gray));
    border-radius: var(--_global--border-radius);
    color: var(--_color-text);
    cursor: pointer;
    display: inline-block;
    padding: var(--_padding-2) var(--_padding-1);
    text-decoration: none;
    --_border-radius: var(--_global--border-radius);
    --_border-color: var(--_form-control-border-color);
    border: 1px solid var(--_border-color);
    border-radius: var(--_border-radius);
    outline: 0;
    --_transition-duration: var(--_global--transition-duration);
    --_transition-function-timing: var(--_global--transition-function-timing);
    --_transition-delay: var(--_global--transition-delay);
    transition: border var(--_transition-duration) var(--_transition-function-timing) var(--_transition-delay);
  margin-right 1em;
}


.form_privacy[type="checkbox"] {
    appearance: none;
    background-color: var(--_color-white);
    border-radius: 3px;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .035);
    cursor: pointer;
    display: inline-block;
    flex: 0 0 auto;
    height: 16px;
    margin: calc(var(--_half-leading) * 1em) 0 0;
    position: relative;
    width: 16px;
    --_border-radius: var(--_global--border-radius);
    --_border-color: var(--_form-control-border-color);
    border: 1px solid var(--_border-color);
    border-radius: var(--_border-radius);
    outline: 0;
    --_transition-duration: var(--_global--transition-duration);
    --_transition-function-timing: var(--_global--transition-function-timing);
    --_transition-delay: var(--_global--transition-delay);
    transition: border var(--_transition-duration) var(--_transition-function-timing) var(--_transition-delay);
  
}
.form_privacy[type="checkbox"]:checked {
    background-color: #3a87fd;
    border-color: #3a87fd;
}
.form_privacy[type="checkbox"]:checked:before {
    content: "";
    display: block;
    position: absolute;
    visibility: visible;
}
.form_privacy[type="checkbox"]:before {
    border-color: var(--_color-white);
    border-style: solid;
    border-width: 0 2px 2px 0;
    height: 8px;
    left: calc(50% - 3px);
    margin: 0 !important;
    top: calc(50% - 5px);
    transform: rotate(45deg);
    visibility: hidden;
    width: 6px;
}





.mwform-checkbox-field label {
    align-items: flex-start;
    display: inline-flex;
    gap: var(--_s-2);
  
  
}
.mwform-checkbox-field-text {font-weight: 700;display: flex;width: 200px;}


.smf-action,
.form_action {
  text-align: center;
spadding: initial;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    align-items: center;
}

.button_send {
    background-color: var(--_lighter-color-gray);
    background-image: linear-gradient(180deg, #fff, var(--_lighter-color-gray));
    border-radius: var(--_global--border-radius);
    color: var(--_color-text);
    cursor: pointer;
    display: inline-block;
    padding: var(--_padding-2) var(--_padding-1);
    text-decoration: none;
    --_border-radius: var(--_global--border-radius);
    --_border-color: var(--_form-control-border-color);
    border: 1px solid var(--_border-color);
    border-radius: var(--_border-radius);
    outline: 0;
    --_transition-duration: var(--_global--transition-duration);
    --_transition-function-timing: var(--_global--transition-function-timing);
    --_transition-delay: var(--_global--transition-delay);
    transition: border var(--_transition-duration) var(--_transition-function-timing) var(--_transition-delay);
    appearance: none;
    border: none;
    display: inline-block;
    width: auto!important;
    background: #5d82b4 !important;
    color: white;
    font-size: 20px;
    font-weight: 700;
    cursor: pointer;
    padding: 0!important;
    margin: auto;
    border-radius: 6px;
    min-width: 320px;
    min-height: 80px;
    line-height: 1;
    position: relative;
    z-index: 0;
}
.button_send input{
    text-align: center;
    width: 100%;
    height: 100%;
    font-size: 20px;
    line-height: 80px;
}
.button_send::after {
    position: absolute;
    z-index: 0;
    inset: -100% 65%;
    margin: auto;
    content: "";
    display: inline-block;
    background-image: url(/wp/wp-content/themes/custom-theme/assets/image/icon_arrow_w.svg);
    width: 30px;
    aspect-ratio: 1 / .4;
    background-position: center bottom;
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 10px;
}
.button_send.button_back {background-color: #969696 !important;}
.button_send.button_back::after {display: none;}
.button_send.button_back::before {
    position: absolute;
    z-index: 0;
    inset: -100% 57% -100% -100%;
    margin: auto;
    content: "";
    display: inline-block;
    background-image: url(/wp/wp-content/themes/custom-theme/assets/image/icon_arrow_w.svg);
    width: 30px;
    aspect-ratio: 1 / .4;
    background-position: center bottom;
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 10px;
    transform: scaleX(-1);
}
.button_back,
.confirm_cont {display: none;}
.custom-form:has(.mw_wp_form_confirm) .entry_cont {display: none;}
.custom-form:has(.mw_wp_form_confirm) .confirm_cont,
.custom-form:has(.mw_wp_form_confirm) .button_back {display: block;}

.mw_wp_form .form_title{
    font-weight: 700;
    margin-bottom: 5px;
}
.mw_wp_form form .form_title:not(:first-of-type){margin-top: 20px;}



/* 必須 */
.mw_wp_form .form_title.form_must::after{
    display: inline-block;
    text-align: center;
    width: 40px;
    height: 23px;
    border-radius: 4px;
    content: "※";
    font-size: 12px;
    font-weight: 400;
    color: #ff0000;
}
/* ラジオ */
.mw_wp_form .mwform-radio-field label{
    align-items: flex-start;
    display: inline-flex;
    gap: var(--_s-2);
}
.mw_wp_form input[type=radio]{
    appearance: none;
    background-color: var(--_color-white);
    border-radius: 100%;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .035);
    cursor: pointer;
    display: inline-block;
    flex: 0 0 auto;
    height: 16px;
    margin: calc(var(--_half-leading) * 1em) 0 0;
    position: relative;
    width: 16px;
}
.mw_wp_form input[type=radio]::before{
    background-color: var(--_color-white);
    border-radius: 100%;
    height: 6px;
    left: calc(50% - 3px);
    margin: 0 !important;
    overflow: hidden;
    top: calc(50% - 3px);
    visibility: hidden;
    width: 6px;
}
.mw_wp_form input[type=radio]:checked{
    background-color: #3a87fd;
    border-color: #3a87fd;
}
.mw_wp_form input[type=radio]:checked::before{
    content: "";
    display: block;
    position: absolute;
    visibility: visible;
}
/* テキスト */
.mw_wp_form input[type=text],
.mw_wp_form input[type=url],
.mw_wp_form input[type=email]{
    background: #fff;
    height: auto;
    font-family: inherit !important;
    font-size: inherit;
    color: inherit;
    line-height: 1.25;
    border-radius: 0;
    border: solid 1px #eee;
    padding: .6rem .75rem;
}
/* テキストエリア */
.mw_wp_form textarea{
    background-color: var(--_color-white);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .035);
    display: block;
    max-width: 100%;
    padding: .75rem 1rem;
    width: 100%;
    --_border-radius: var(--_global--border-radius);
    --_border-color: var(--_form-control-border-color);
    border: 1px solid var(--_border-color);
    border-radius: var(--_border-radius);
    outline: 0;
    --_transition-duration: var(--_global--transition-duration);
    --_transition-function-timing: var(--_global--transition-function-timing);
    --_transition-delay: var(--_global--transition-delay);
    transition: border var(--_transition-duration) var(--_transition-function-timing) var(--_transition-delay);
}
.mw_wp_form textarea:focus,
.mw_wp_form textarea:focus-within{
    --_border-color: var(--_form-control-border-color-focus);
}
.mw_wp_form input[type=file]{
    cursor: pointer;
}
.mw_wp_form input::file-selector-button{margin-right: 1em;}
@media screen and (max-width:768px) {
    .mw_wp_form input[type=file]{width: 100%;}
    /* =========== /max-width:px =========== */
}








