/* =================================================================
   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: #ff6b6b;
    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);
}

.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;
}

.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;
}

.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: rgba(108, 204, 121, 0.2);
}

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
{
    border: 1px solid #0d8293;
    border-radius: 25px;
    background: #fff;
    transition: 0.5s;
    color: #0d8293;
}

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{
    background: #0d8293;
    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: #0d8293;
    font-weight: bold;
    border-bottom: 5px solid #0d8293;
}

/*.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 #1f6e8b;
}

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

.sidebar h4.sidebar,
.recommended-guides h4.mg-popular-guides-title{
    background: rgba(108, 204, 121, 0.2);
    border-bottom: 4px solid #1f6e8b !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;
}

.page_title{
    margin: 0;
    padding: 10px 0;
    max-width: 100%;
    background: url(images/img-title-bg.png) no-repeat;
    background-size: cover;
    background-position: center center;
    /*border-top: 2px solid #1f6e8b;
    border-bottom: 2px solid #1f6e8b;*/
}

.page_title h2{
    border-bottom: none !important;
    font-size: 30px;
    color: #000;
    margin: 1px 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: #1f6e8b;
    padding: 0 0 3px;
    border-bottom: 1px solid #1f6e8b;
}

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

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 {
    margin-bottom: 0;
}

body.page-template-page-work_top .bzmp_work_list_item{
    border: 1px solid #1f6e8b !important;
}

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-form-row .bzmp-form-label::before{
    display: inline-block;
        margin: 0 8px 0 0;
        width: 12px;
        height: 12px;
        content: '';
        border-radius: 100%;
        background: #1f6e8b;
}*/


@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;
}
}