/* =================================================================
   Biz-Matching System Styles
   Version: 1.0
   ================================================================= */

/* --- デザインの基本設定（ここを各サイトに合わせてカスタマイズする） --- */
:root {
    --form-base-text-color: #333;
    --form-accent-color: #0d8293; /* ボタンや必須マークなど */
    --form-danger-color: #d9534f;
    --form-label-bg-color: #f7f7f7;
    --form-bg-color: #ffffff;
    --form-border-color: #e0e0e0;
    --form-font-family: sans-serif;
    
    /* レイアウト設定 */
    --form-label-width: 200px; /* ラベルの幅 */
    --form-section-padding: 24px;
    --form-row-padding: 16px;
    --form-gap: 16px; /* 項目間の隙間 */
}

/* =================================================================
   Page Layout Styles
   ================================================================= */

.bzmp-page-layout {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin: 30px 0 0;
}

@media screen and (max-width: 768px) {
.bzmp-page-layout {
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-direction: column;
    flex-direction: column;
    gap: 0;
    }
}


/* メインコンテンツエリア */
.bzmp-main-content {
    flex: 2;
    min-width: 0;
}

/* サイドバーエリア */
.bzmp-sidebar {
    flex: 1;
    min-width: 280px;
}

/* [カスタマイズ用] メインとサイドバーを入れ替える */
.bzmp-page-layout.is-reversed {
    flex-direction: row-reverse;
}

/* ページヘッダー（進捗バーなど） */
.bzmp-page-header {
    margin-bottom: 24px;
}

.bzmp-page-description {
    margin-top: 20px;
    padding: 1.5em;
    background-color: var(--form-label-bg-color);
    border-radius: 8px;
    border-left: 5px solid var(--form-accent-color);
}

/* =================================================================
   Form Styles
   ================================================================= */

/* フォーム全体のコンテナ */
.bzmp-form-container {
    font-family: var(--form-font-family);
    color: var(--form-base-text-color);
}

/* 項目グループ */
.bzmp-form-section {
    /*background-color: #fff;*/
    border: 0px solid var(--form-border-color);
    border-radius: 0px;
    margin-bottom: 24px;
    overflow: hidden;
}

.bzmp-form-section-title {
    background-color: #db731d;
    padding: 12px var(--form-section-padding);
    margin: 0;
    font-size: 18px;
    color: #fff;
    text-align: left;
    border-bottom: 1px solid var(--form-border-color);
}

/* 各入力行 */
.bzmp-form-row {
    display: flex;
    padding: 0;
    border-bottom: 1px solid var(--form-border-color);
    gap: var(--form-gap);
    align-items: center;
}

.bzmp-form-section .bzmp-form-row:last-child {
    border-bottom: none;
}
@media (max-width: 768px) {
    .bzmp-form-row {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }
}

/* ラベル（項目名） */
.bzmp-form-label {
    width: var(--form-label-width);
    flex-shrink: 0;
    font-weight: bold;
    background-color: none;
    padding: 30px 10px;
    border-radius: 0px;
    width: 230px;
    line-height: 1.5;
    font-size: 15px;
    box-sizing: border-box;
}

.bzmp-form-label br{
    display: none;
}

.bzmp-form-label .red {
    font-size: 10px;
    color: #fff;
    background: #d9534f;
    border-radius: 20px;
    margin: 0 0 0 20px;
    white-space: nowrap;
}

.bzmp-form-label .normal { 
    font-size: 10px;
    color: #fff;
    background: #777;
    border-radius: 20px;
    margin: 0 0 0 20px;
    padding: 2px 10px;
}

@media (max-width: 768px) {
    .bzmp-form-label {
        width: auto;
    }
}

/* 入力コントロール部分 */
.bzmp-form-control {
    flex-grow: 1;
    display: flex;
    flex-wrap: wrap;
    gap: var(--form-gap);
    align-items: center;
    padding:20px 20px 20px 0;

}

.bzmp-form-control span{
    font-size: 12px;
    writing-mode: horizontal-tb !important;
    width: 70px;
    box-sizing: border-box;
}

.bzmp-form-control.is-horizontal {
    flex-wrap: nowrap;
}
.bzmp-form-control.is-horizontal > * {
    flex-grow: 1;
}

/* フォーム要素の共通スタイル */
.bzmp-form-control input[type="text"],
.bzmp-form-control input[type="date"],
.bzmp-form-control input[type="datetime-local"],
.bzmp-form-control textarea,
.bzmp-form-control select {
    width: 100%;
    padding: 10px;
    border: 1px solid var(--form-border-color);
    border-radius: 4px;
    box-sizing: border-box;
}

.bzmp-form-control .select_wrap {
    flex: 1;
    min-width: 180px;
}

/* 操作ボタンエリア */
.bzmp-form-actions {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 32px;
    padding-top: 32px;
    border-top: 1px solid var(--form-border-color);
}

.bzmp-form-row{
    background: #f4f4f4;
}


.bzmp-form-row:nth-of-type(1),
.bzmp-form-row:nth-of-type(3),
.bzmp-form-row:nth-of-type(5),
.bzmp-form-row:nth-of-type(7){
    background:#f4f4f4;
}

button#bzmp_work_attachment_file_delete_all,
button#bzmp_work_attachment_movie_delete,
button#work_edit_next,
button#work_edit_save,
button#work_delete_edit_save,
button#work_edit_modify,
button#work_edit_cancel,
button#bzmp_apply_attachment_file_delete_all,
button#bzmp_apply_attachment_movie_delete,
button#apply_edit_next,
button#apply_edit_modify,
button#apply_edit_save,
button#apply_delete_edit_save,
button#apply_edit_cancel,
button#apply_confirm_submit,
button#apply_confirm_back {
    border: 1px solid #3390e1;
    border-radius: 25px;
    background: #fff;
    transition: 0.5s;
    /*color: #3390e1;*/
}

button#bzmp_work_attachment_file_delete_all:hover,
button#bzmp_work_attachment_movie_delete:hover,
button#work_edit_next:hover,
button#work_edit_save:hover,
button#work_delete_edit_save:hover,
button#work_edit_modify:hover,
button#work_edit_cancel:hover, 
button#bzmp_apply_attachment_file_delete_all:hover,
button#bzmp_apply_attachment_movie_delete:hover,
button#apply_edit_next:hover,
button#apply_edit_modify:hover,
button#apply_edit_save:hover,
button#apply_delete_edit_save:hover,
button#apply_edit_cancel:hover,
button#apply_confirm_submit:hover,
button#apply_confirm_back:hover {
    background: #3390e1;
    color: #fff;
}


.bzmp-page-header .progressbar {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 15px;
}

.bzmp-page-header .progressbar .item {
    position: relative;
    width: 33%;
    text-align: center;
    position: relative;
    align-items: center;
    justify-content: center;
    padding: 13px 0;
    line-height: 1.5;
    background: #fff;
    color: #999999;
    border-bottom: 5px solid #ccc;
}

.progressbar .item:not(:last-child)::before,
.progressbar .item:not(:last-child)::after {
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: 100%;
    content: '';
    border: 0px solid transparent;
    border-left: 0px solid #f0f0f0;
    margin: auto;
}

.bzmp-page-header .progressbar .item:not(:last-child)::before {
    margin-left: 0px;
    border-left-color: #FFF;
}

/* 会員登録　プログレスバー　active */
.bzmp-page-header .progressbar .item.active {
    z-index: 1;
    background: #fff;
    background-size: 10%;
    color: #3390e1;
    font-weight: bold;
    border-bottom: 5px solid #3390e1;
}

/*.bzmp-page-header .progressbar .item.active:not(:last-child)::after {
    border-left-color: #126E82;
}*/

.bzmp-page-header .progressbar .item.active:not(:last-child)::before {
    border-left: none;
}

@media screen and (max-width: 767px) {
    .bzmp-page-header .progressbar .item {
        font-size: 11px;
        line-height: 1.4;
        padding: 10px 0;
    }

    .bzmp-page-header .progressbar .item:not(:last-child)::before,
    .bzmp-page-header .progressbar .item:not(:last-child)::after {
       display: none;
    }
}

#bzmp_work_attachment_file_list{
    margin: 0;
}

@media screen and (max-width: 1198px) {
.is-horizontal{
    display: block
}
}

@media screen and (max-width: 991px){
.bzmp-form-row {
        display: flex;
        -webkit-flex-direction: column;
        flex-direction: column;
        padding: 0;
        border-bottom: 1px solid var(--form-border-color);
        gap: var(--form-gap);
    }
.bzmp-form-label{
    padding: 15px 10px 0;
}
.bzmp-form-control {
    padding: 0px 20px 20px 20px;

}

}

.sidebar-login:nth-child(-n+2){
    border: 1px solid #3391e1;
    background: #e6eff7;
}

.sidebar-login:nth-of-type(2){
    margin: 30px 0 0;
}

.sidebar h4.sidebar,
.recommended-guides h4.mg-popular-guides-title{
    background: #fff;
    border-bottom: 0px solid #3391e1 !important;
    padding: 5px 15px;
}
.menu-sidebar-container{
    padding: 0 30px 0 0;
}

.sidebar .recommended-guides{
    margin: -15px 0 0;
}

.sidebar .recommended-guide li{
    margin: 0 30px 0 0;
}



/*通知設定枠内*/
body.page-template-page-work_top #notify_email_options_container {
    background: #fff;
}

body.page-template-page-work_top .bzmp_notify_list_item_title_label {
    color: #3391e1;
    padding: 0 0 3px;
    border-bottom: 1px solid #3391e1;
}

body.page-template-page-work_top .bzmp_notify_list_item_status_label {
    color: #3391e1;
    padding: 20px 0 3px;
    border-bottom: 1px solid #3391e1;
}

body.page-template-page-work_top .bzmp-shortcode-content {
    padding: 0 !important;
}

body.page-template-page-work_top #bzmp_work_list {
    padding: 10px;
}

body.page-template-page-work_top #bzmp_work_list div,
body.page-template-page-work_list #bzmp_work_list div,
body.page-template-page-work_view .bzmp_work_view_item div,
body.page-template-page-apply_confirm .bzmp_apply_view_item div,
body.page-template-default #bzmp_work_list div
 {
    margin-bottom: 0;
}

body.page-template-page-work_top .bzmp_work_list_item,
body.page-template-page-work_list .bzmp_work_list_item{
    border: 1px solid #3391e1 !important;
    padding: 0;
}

body.page-template-page-work_top .bzmp_work_list_item .bzmp-form-row{
    background: #fff;
}

body.page-template-page-work_top .bzmp-form-row .bzmp-form-value{
    overflow-wrap: anywhere;
}

body.page-template-page-work_top .bzmp_notify_list .bzmp_notify_list_item .bzmp-form-row{
    background: #fff;
    border-bottom:1px solid #eff8ff;
}

@media screen and (max-width: 991px) {

body.page-template-page-work_top #bzmp_work_list>.bzmp-form-section {
        padding: 16px;
}
body.page-template-page-work_top .bzmp-form-row .bzmp-form-label {
    background: #e6e6e6;
    width: 100%;
    text-align: center;
}

}
@media screen and (max-width: 768px) {
body.page-template-page-work_top .bzmp-form-row .bzmp-form-label{
    padding: 8px 0;
    background: #e6e6e6;
}
/*body.page-template-page-work_top .bzmp-form-row .bzmp-form-control .bzmp-form-value{
    margin: -15px 0 0;
}*/
body.page-template-page-work_top .bzmp-form-row .bzmp-form-control {
    margin: -15px 0 0;
}
}

body.page-work_list #bzmp_work_list>.bzmp-form-section:first-of-type {
    background-color: #e6eef8;
    border: 1px solid #e0e0e0;
    box-shadow: none;
    padding: 16px;
    margin-bottom: 30px;
}

#bzmp_worklist_search_reset,
#bzmp_worklist_search_submit {
    border: 1px solid #3391e1;
    border-radius: 25px;
    background: #fff;
    transition: 0.5s;
    color: #3391e1;
}

#bzmp_worklist_search_reset:hover,
#bzmp_worklist_search_submit:hover {
    background: #3391e1;
    color: #fff;
}

#bzmp_work_list .bzmp_work_list_item .bzmp-form-row:nth-child(even),
#bzmp_work_list .bzmp_work_list_item .bzmp-form-row:nth-child(odd) {
    background-color: #f4f4f4 !important;
    margin: 0;
}

body.page-template-page-work_list h3.bzmp-form-section-title{
    margin: 0 0 20px;
}

body.page-work_list #bzmp_work_list>.bzmp-form-section:first-of-type .bzmp-form-actions {
    background-color: transparent;
    padding-top: 24px;
    margin-top: 16px;
    border-top: 0px solid rgb(224, 224, 224);
}

body.page-work_list #bzmp_work_list>.bzmp-form-section:first-of-type .bzmp-form-label {
    padding-top: 8px;
    padding-bottom: 8px;
    width: 22%;
}

@media screen and (max-width: 991px) {
body.page-work_list #bzmp_work_list>.bzmp-form-section:first-of-type .bzmp-form-label {
    padding-top: 8px;
    padding-bottom: 8px;
    width: 100%;
    text-align: center;
    }
body.page-work_list #bzmp_work_list>.bzmp-form-section:first-of-type .bzmp-form-control {
    padding-top: 0;
    padding-bottom: 8px;
}
#bzmp_work_list .bzmp_work_list_item .bzmp-form-row {
    background-color: #E0F0FC !important;
    margin: 0;
    text-align: center;
    padding: 10px 0;
}

body.page-template-page-work_list .bzmp-form-row .bzmp-form-control {
    padding: 0;
    display: inline-block;
}

body.page-template-page-work_list .bzmp_work_list_item .bzmp-form-row .bzmp-form-label{
    padding-top: 8px;
    padding-bottom: 0 !important;
}
body.page-template-page-work_view .bzmp_work_view_item div {
    text-align: center;
    margin-bottom: 0;
}
/*親テーマに移動。
body.page-template-page-work_view .bzmp_work_view_item div.bzmp_work_view_item_detail_request_value,
body.page-template-page-work_view .bzmp_work_view_item div.bzmp_work_view_item_detail_value{
    text-align: left;
}
*/
body.page-template-page-work_view .bzmp_work_view_item .bzmp-form-control{
    padding-top: 0;
    padding-bottom: 8px;
    display: inline-block;
}
body.page-template-page-work_view .bzmp_work_view_item div[class$="_label"]{
    background: none;
}
}

.work_view_btn .btn {
    display: inline-block;
    height: 50px;
    text-align: center;
    background-color: #3391e1;
    color: #fff;
    border: 1px solid #3391e1;
    font-size: 16px;
    cursor: pointer;
    text-decoration: none;
    outline: none;
    border-radius: 26px;
    margin: 0px 5px;
    padding: 5px 15px;
}

.work_view_btn .btn:hover {
    background-color: #fff;
    color: #3391e1;
    border: 1px solid #3391e1;
}

body.page-template-default .bzmp_work_list_item{
    padding: 0;
}

/* =================================================================
   マイページ
   ================================================================= */
body.um-own-profile .um-cover {
    background: #e6eef8;
    border: 1px solid #3391e1;
}
body.um-own-profile .um-profile.um .um-profile-headericon a {
    color: #3391e1;
}
body.um-own-profile .um-profile-nav {
    background: #e6eef8;
    border: 1px solid #3391e1;
}
body.um-own-profile .um-profile-nav-item a {
    color: #3391e1 !important;
}
body.um-own-profile .um-profile-nav-item a:hover {
    background: #3391e1;
    color: #fff !important;
}
body.um-own-profile .um-profile-nav-item.active a {
    color: #fff !important;
}

}