@charset "UTF-8";
/**
 * スポキャリ 会員マイページ（myuser）・企業ページ（com）・企業管理画面（mycom）
 * レスポンシブ スタイルシート
 */

/* ==========================================================================
   全共通：モダンマイページ・企業ナビゲーション（PC標準スタイル）
   ========================================================================== */
.member-side-nav {
    width: 180px;
    float: right;
    background: #ffffff;
    border: 1px solid #cccccc;
    border-radius: 0;
    overflow: hidden;
    box-shadow: none;
    margin-bottom: 20px;
}

.member-nav-header {
    background: #105ea1;
    color: #ffffff;
    font-weight: bold;
    font-size: 14px;
    padding: 10px 12px;
    text-align: center;
    letter-spacing: 0.05em;
}

.com-nav .com-nav-header {
    background: #1e293b;
}

.member-nav-grid {
    display: flex;
    flex-direction: column;
}

.member-nav-item {
    display: flex;
    align-items: center;
    padding: 11px 12px;
    border-bottom: 1px solid #f4f4f4;
    text-decoration: none !important;
    color: #334155 !important;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
    transition: background-color 0.2s, color 0.2s;
}

.member-nav-item:hover {
    background-color: #f0f7ff;
    color: #105ea1 !important;
}

.member-nav-item .nav-icon {
    font-size: 15px;
    margin-right: 8px;
    flex-shrink: 0;
}

.member-nav-item .nav-text {
    flex-grow: 1;
}

.member-nav-item.nav-logout {
    border-bottom: none;
    color: #dc2626 !important;
    background-color: #fffaf0;
}

.member-nav-item.nav-logout:hover {
    background-color: #fee2e2;
}

/* ==========================================================================
   タブレット・小型PC対応（980px以下）
   ========================================================================== */
@media screen and (max-width: 980px) {
    #wrapper {
        width: 100% !important;
        min-width: 100% !important;
        box-sizing: border-box !important;
    }
    #content {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 0 15px !important;
    }
    #mainContent,
    #leftContent {
        width: 100% !important;
        float: none !important;
        box-sizing: border-box !important;
    }
    #rightContent {
        width: 100% !important;
        float: none !important;
        margin-top: 20px !important;
        box-sizing: border-box !important;
    }
}

/* ==========================================================================
   スマートフォン対応（768px以下）
   ========================================================================== */
@media screen and (max-width: 768px) {
    /* 1. 基本レイアウト */
    body {
        -webkit-text-size-adjust: 100%;
        font-size: 14px !important;
        line-height: 1.6 !important;
    }

    #wrapper {
        width: 100% !important;
        min-width: 100% !important;
        overflow-x: hidden !important;
    }

    #content {
        width: 100% !important;
        padding: 0 12px 30px 12px !important;
        box-sizing: border-box !important;
    }

    #contentHeader {
        display: none !important;
    }

    #leftContent,
    #mainContent {
        width: 100% !important;
        float: none !important;
        padding: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    /* 2. マイページ・企業管理のナビゲーション（スマホボタングリッド） */
    .member-side-nav {
        width: 100% !important;
        float: none !important;
        margin: 30px 0 15px 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }

    .member-nav-header {
        border-radius: 2px !important;
        margin-bottom: 10px !important;
        padding: 9px 12px !important;
        font-size: 14px !important;
        text-align: center !important;
    }

    .member-nav-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
    }

    .member-nav-item {
        background: #ffffff !important;
        border: 1px solid #cccccc !important;
        border-radius: 2px !important;
        padding: 12px 10px !important;
        box-shadow: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        font-size: 13px !important;
        line-height: 1.3 !important;
        min-height: 50px !important;
        box-sizing: border-box !important;
    }

    .member-nav-item .nav-icon {
        font-size: 16px !important;
        margin-right: 6px !important;
    }

    .member-nav-item .nav-text {
        font-size: 12.5px !important;
    }

    /* 3. フォーム用テーブルの1カラム化 */
    .formTable,
    .passFm,
    .c_passTable,
    #leftContent table:not(.formTable2):not(.kouka_tb):not(.recruitInfoTable):not(.gyoumuTable),
    #mainContent table:not(.formTable2):not(.kouka_tb):not(.recruitInfoTable):not(.gyoumuTable) {
        width: 100% !important;
        display: block !important;
        border: 1px solid #cccccc !important;
        border-radius: 2px !important;
        background: #ffffff !important;
        box-shadow: none !important;
        overflow: hidden !important;
        margin: 15px 0 20px 0 !important;
        box-sizing: border-box !important;
    }

    .formTable tbody,
    .passFm tbody,
    .c_passTable tbody,
    #leftContent table:not(.formTable2) tbody,
    #mainContent table:not(.formTable2) tbody {
        display: block !important;
        width: 100% !important;
    }

    .formTable tr,
    .passFm tr,
    .c_passTable tr,
    #leftContent table:not(.formTable2) tr,
    #mainContent table:not(.formTable2) tr {
        display: block !important;
        width: 100% !important;
        border-bottom: 1px solid #f4f4f4 !important;
        padding: 10px 12px !important;
        box-sizing: border-box !important;
    }

    .formTable tr:last-child,
    .passFm tr:last-child,
    .c_passTable tr:last-child {
        border-bottom: none !important;
    }

    .formTable th,
    .passFm th,
    .c_passTable th,
    #leftContent table:not(.formTable2) th,
    #mainContent table:not(.formTable2) th {
        display: block !important;
        width: 100% !important;
        text-align: left !important;
        font-weight: bold !important;
        font-size: 14px !important;
        color: #1e293b !important;
        background: #f8f8f8 !important;
        padding: 6px 10px !important;
        border: none !important;
        border-radius: 2px !important;
        margin-bottom: 8px !important;
        box-sizing: border-box !important;
    }

    .formTable td,
    .passFm td,
    .c_passTable td,
    #leftContent table:not(.formTable2) td,
    #mainContent table:not(.formTable2) td {
        display: block !important;
        width: 100% !important;
        text-align: left !important;
        padding: 4px 0 !important;
        border: none !important;
        font-size: 14px !important;
        line-height: 1.6 !important;
        box-sizing: border-box !important;
    }

    /* 4. データ一覧テーブルの横スクロール対応 */
    .formTable2,
    .kouka_tb,
    .recruitInfoTable,
    .gyoumuTable {
        display: block !important;
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        border: 1px solid #cccccc !important;
        border-radius: 2px !important;
        margin: 15px 0 20px 0 !important;
        background: #ffffff !important;
        box-sizing: border-box !important;
    }

    .formTable2 th,
    .kouka_tb th,
    .recruitInfoTable th,
    .gyoumuTable th {
        background: #f4f4f4 !important;
        color: #334155 !important;
        font-size: 13px !important;
        padding: 8px 10px !important;
        white-space: nowrap !important;
        text-align: center !important;
        border-bottom: 1px solid #cccccc !important;
    }

    .formTable2 td,
    .kouka_tb td,
    .recruitInfoTable td,
    .gyoumuTable td {
        padding: 8px 10px !important;
        font-size: 13px !important;
        border-bottom: 1px solid #cccccc !important;
        vertical-align: middle !important;
    }

    /* 5. フォーム入力パーツのスマホ最適化 */
    input[type="text"],
    input[type="password"],
    input[type="email"],
    input[type="tel"] {
        width: 100% !important;
        max-width: 100% !important;
        height: 42px !important;
        padding: 0 10px !important;
        font-size: 16px !important; /* iOSズーム防止 */
        border: 1px solid #cccccc !important;
        border-radius: 2px !important;
        box-sizing: border-box !important;
        background: #ffffff !important;
        margin-bottom: 6px !important;
    }

    /* 郵便番号や日付など短い入力欄 */
    input[size="3"],
    input[size="4"],
    input[name*="zip"],
    input[name*="tel1"],
    input[name*="tel2"],
    input[name*="tel3"] {
        width: auto !important;
        min-width: 60px !important;
        display: inline-block !important;
    }

    select {
        width: 100% !important;
        max-width: 100% !important;
        height: 42px !important;
        font-size: 16px !important;
        border: 1px solid #cccccc !important;
        border-radius: 2px !important;
        background: #ffffff !important;
        padding: 0 10px !important;
        box-sizing: border-box !important;
        margin-bottom: 6px !important;
    }

    textarea {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 120px !important;
        font-size: 16px !important;
        border: 1px solid #cccccc !important;
        border-radius: 2px !important;
        padding: 10px !important;
        box-sizing: border-box !important;
        background: #ffffff !important;
        line-height: 1.5 !important;
    }

    /* 送信・実行ボタン */
    input[type="submit"],
    input[type="image"],
    button[type="submit"],
    .btnSubmit {
        display: block !important;
        width: 100% !important;
        max-width: 320px !important;
        height: auto !important;
        margin: 15px auto !important;
        cursor: pointer !important;
    }

    /* 6. マイページ固有のリンクリスト */
    .linkList {
        padding: 0 !important;
        margin: 15px 0 5px 0 !important;
        list-style: none !important;
    }

    .linkList li {
        margin-bottom: 4px !important;
    }

    .linkList li a {
        display: inline-block !important;
        font-size: 16px !important;
        font-weight: bold !important;
        color: #105ea1 !important;
        padding: 4px 0 !important;
    }

    /* 7. 企業向けページ */
    .planTable,
    .priceTable {
        display: block !important;
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    /* 8. ページネーション */
    .pageNavi,
    .page,
    .pager {
        width: 100% !important;
        text-align: center !important;
        padding: 10px 0 !important;
        font-size: 14px !important;
    }
}


/* ==========================================================================
   企業側ページ（com/, mycom/）の company.css 固定幅リセット・スマホ最適化
   ========================================================================== */
@media screen and (max-width: 768px) {
    /* 1. 企業ヘッダー（.companyHead） */
    #wrapper #content #leftContent .companyHead,
    .companyHead {
        width: 100% !important;
        margin: 0 0 15px 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 10px !important;
    }

    .companyHead .left,
    .companyHead .right,
    #wrapper #content #leftContent .companyHead .left,
    #wrapper #content #leftContent .companyHead .right {
        float: none !important;
        width: 100% !important;
        text-align: center !important;
        margin: 0 !important;
    }

    .companyHead img {
        max-width: 100% !important;
        height: auto !important;
    }

    /* 2. 企業タブメニュー（#companyMenu） */
    #wrapper #content #leftContent #companyMenu,
    #companyMenu {
        width: 100% !important;
        height: auto !important;
        background: none !important;
        margin: 0 0 20px 0 !important;
        padding: 0 !important;
    }

    #wrapper #content #leftContent #companyMenu ul,
    #companyMenu ul {
        width: 100% !important;
        height: auto !important;
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 6px !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    #wrapper #content #leftContent #companyMenu ul li,
    #companyMenu ul li {
        width: 100% !important;
        height: auto !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: none !important;
    }

    #wrapper #content #leftContent #companyMenu ul li a,
    #companyMenu ul li a {
        width: 100% !important;
        height: auto !important;
        display: block !important;
    }

    #companyMenu ul li img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
        border-radius: 2px !important;
    }

    /* 3. 企業ログインフォーム・登録フォーム（.registerForm） */
    .registerForm,
    #wrapper #content #leftContent .registerForm {
        width: 100% !important;
        background: none !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 0 20px 0 !important;
        box-sizing: border-box !important;
    }

    .registerFmFooter,
    #wrapper #content #leftContent .registerFmFooter {
        display: none !important;
    }

    /* 見出し画像（loginFmHead.gif等） */
    h3 img,
    #leftContent h3 img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
        border-radius: 2px 2px 0 0 !important;
    }

    /* ログインテーブル（.registerForm table）のカード型化 */
    .registerForm table {
        width: 100% !important;
        display: block !important;
        border: 1px solid #cccccc !important;
        border-radius: 0 0 2px 2px !important;
        background: #ffffff !important;
        padding: 14px 12px !important;
        box-sizing: border-box !important;
        margin-bottom: 15px !important;
    }

    .registerForm table tbody,
    .registerForm table tr {
        display: block !important;
        width: 100% !important;
    }

    .registerForm table tr {
        margin-bottom: 12px !important;
        border: none !important;
        padding: 0 !important;
    }

    .registerForm table th {
        display: block !important;
        width: 100% !important;
        text-align: left !important;
        font-weight: bold !important;
        color: #1e293b !important;
        margin-bottom: 6px !important;
        padding: 0 !important;
        border: none !important;
        background: none !important;
    }

    .registerForm table td {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
        border: none !important;
    }

    /* ログイン入力欄 */
    .registerForm input.w320,
    .registerForm input[type="text"],
    .registerForm input[type="password"] {
        width: 100% !important;
        max-width: 100% !important;
        height: 44px !important;
        font-size: 16px !important;
        padding: 0 12px !important;
        border: 1px solid #cccccc !important;
        border-radius: 2px !important;
        box-sizing: border-box !important;
    }

    /* 次回から自動ログイン */
    .registerForm p.auto {
        text-align: center !important;
        margin: 10px 0 !important;
        font-size: 14px !important;
    }

    /* 企業ログインボタン */
    input.btn[type="image"],
    input[src*="c_loginBtn"] {
        width: 100% !important;
        max-width: 280px !important;
        height: auto !important;
        margin: 15px auto !important;
        display: block !important;
    }

    /* 4. 企業向けコンテンツ（#c_flow, #c_plan等） */
    #c_flow, #c_plan,
    #wrapper #content #leftContent #c_flow,
    #wrapper #content #leftContent #c_plan {
        width: 100% !important;
        max-width: 100% !important;
        background: none !important;
        box-sizing: border-box !important;
    }

    #c_flow img, #c_plan img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
    }
}

/* ==========================================================================
   ユーザーマイページ: ダッシュボードカードUI
   ========================================================================== */
.user-dashboard-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
    gap: 14px !important;
    margin: 20px 0 30px 0 !important;
}

.dashboard-card {
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    border: 1px solid #cccccc !important;
    border-top: 3px solid #105ea1 !important;
    padding: 16px !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease !important;
}

.dashboard-card:hover {
    border-color: #105ea1 !important;
    background: #f8fbff !important;
}

.dashboard-card.card-highlight {
    border-top-color: #ea580c !important;
}

.dashboard-card.card-muted {
    border-top-color: #888888 !important;
}

.dashboard-card .card-head {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 8px !important;
}

.dashboard-card .card-icon {
    font-size: 20px !important;
}

.dashboard-card .card-title {
    font-size: 15px !important;
    font-weight: bold !important;
    color: #222222 !important;
    margin: 0 !important;
}

.dashboard-card .card-desc {
    font-size: 12.5px !important;
    line-height: 1.5 !important;
    color: #555555 !important;
    margin: 0 0 12px 0 !important;
    flex-grow: 1 !important;
}

.dashboard-card .card-link-text {
    font-size: 12px !important;
    font-weight: bold !important;
    color: #105ea1 !important;
    text-align: right !important;
}

.dashboard-card.card-highlight .card-link-text {
    color: #ea580c !important;
}

/* ==========================================================================
   企業マイページ: 採用処理ボタン ＆ 新規求人作成CTA
   ========================================================================== */
.com-popup-btn-wrap {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    padding: 6px 0 !important;
}

.btn-com-popup {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 16px !important;
    background: #ffffff !important;
    border: 1px solid #105ea1 !important;
    color: #105ea1 !important;
    font-size: 13px !important;
    font-weight: bold !important;
    text-decoration: none !important;
    border-radius: 2px !important;
    transition: all 0.2s ease !important;
}

.btn-com-popup:hover {
    background: #105ea1 !important;
    color: #ffffff !important;
}

/* 新規求人作成CTAバナーカード */
.com-create-job-cta {
    width: 100% !important;
    margin: 18px 0 24px 0 !important;
}

.btn-create-job,
a.btn-create-job,
a.btn-create-job:link,
a.btn-create-job:visited {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    background: #105ea1 !important;
    color: #ffffff !important;
    padding: 14px 18px !important;
    text-decoration: none !important;
    border-radius: 2px !important;
    box-sizing: border-box !important;
    transition: background 0.2s ease !important;
}

.btn-create-job:hover,
a.btn-create-job:hover {
    background: #0d4a80 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

.btn-create-job .cta-plus {
    font-size: 24px !important;
    margin-right: 14px !important;
    display: flex !important;
    align-items: center !important;
}

.btn-create-job .cta-text {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    text-align: left !important;
}

.btn-create-job .cta-text strong {
    font-size: 17px !important;
    line-height: 1.3 !important;
}

.btn-create-job .cta-text small {
    font-size: 12px !important;
    opacity: 0.9 !important;
    margin-top: 3px !important;
}

.btn-create-job .cta-arrow {
    font-size: 26px !important;
    line-height: 1 !important;
    margin-left: 10px !important;
}


/* ==========================================================================
   プレグラ風・四角2px・フラットボタンスタイル（影ゼロ・モーションゼロ）
   ========================================================================== */
.btn-primary-flat,
input[type="submit"].btn-primary-flat,
button[type="submit"].btn-primary-flat {
    background: #f97316 !important;
    border: 1px solid #ea580c !important;
    color: #ffffff !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    padding: 10px 28px !important;
    border-radius: 2px !important;
    cursor: pointer !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    text-align: center !important;
    transition: none !important;
    transform: none !important;
    line-height: 1.4 !important;
    max-width: 360px !important;
    margin: 15px auto !important;
    box-sizing: border-box !important;
}
.btn-primary-flat:hover,
input[type="submit"].btn-primary-flat:hover,
button[type="submit"].btn-primary-flat:hover {
    background: #ea580c !important;
    border-color: #c2410c !important;
    transform: none !important;
    box-shadow: none !important;
}

/* 汎用submitボタン（クラスなしの場合もフラット化） */
#leftContent input[type="submit"]:not(.btn-cancel),
#mainContent input[type="submit"]:not(.btn-cancel),
.formTable input[type="submit"],
.formTable2 input[type="submit"] {
    background: #f97316 !important;
    border: 1px solid #ea580c !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    padding: 10px 24px !important;
    border-radius: 2px !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition: none !important;
    transform: none !important;
    line-height: 1.4 !important;
    box-sizing: border-box !important;
}
#leftContent input[type="submit"]:hover,
#mainContent input[type="submit"]:hover {
    background: #ea580c !important;
    border-color: #c2410c !important;
    transform: none !important;
    box-shadow: none !important;
}

/* テーブル（formTable, formTable2）の枠線・背景のフラット化 */
.formTable,
.formTable2 {
    border: 1px solid #cbd5e1 !important;
    border-radius: 2px !important;
    box-shadow: none !important;
    border-collapse: separate !important;
    width: 100% !important;
    margin-bottom: 20px !important;
}
.formTable th,
.formTable2 th {
    background: #f8fafc !important;
    color: #0f172a !important;
    font-weight: 700 !important;
    border-bottom: 1px solid #cbd5e1 !important;
    border-right: 1px solid #cbd5e1 !important;
    padding: 10px 14px !important;
}
.formTable td,
.formTable2 td {
    background: #ffffff !important;
    color: #334155 !important;
    border-bottom: 1px solid #cbd5e1 !important;
    border-right: 1px solid #cbd5e1 !important;
    padding: 10px 14px !important;
}


/* ==========================================================================
   マイページ・企業管理 徹底美装化 (2026-11)
   ========================================================================== */
.btn-back-nav,
a.btn-back-nav {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: #ffffff !important;
    color: #334155 !important;
    border: 1px solid #cbd5e1 !important;
    padding: 9px 18px !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
}

.btn-back-nav:hover,
a.btn-back-nav:hover {
    background: #f8fafc !important;
    border-color: #94a3b8 !important;
    color: #0f172a !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08) !important;
    transform: translateY(-1px) !important;
    text-decoration: none !important;
}

.btn-back-nav::before,
a.btn-back-nav::before {
    content: "‹" !important;
    display: inline-block !important;
    font-size: 20px !important;
    line-height: 1 !important;
    font-weight: bold !important;
    color: #64748b !important;
    margin-right: 2px !important;
}


/* ==========================================================================
   Section 36: 企業向け申し込み・料金ページ（com/）横幅最適化 & フォームモダン化 (2026-11)
   ========================================================================== */

/* 企業コンテンツ全体の横幅を親コンテナ（leftContent）100%に適合 */
#wrapper #content #leftContent #companyMenu,
#companyMenu,
#wrapper #content #leftContent .info_price,
.info_price,
#wrapper #content #leftContent .registerStep,
.registerStep {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* PC版 3つのタブ（#companyMenu）のフルワイド均等割り */
#wrapper #content #leftContent #companyMenu ul,
#companyMenu ul {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    gap: 8px !important;
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

#wrapper #content #leftContent #companyMenu ul li,
#companyMenu ul li {
    flex: 1 1 0 !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

#wrapper #content #leftContent #companyMenu ul li a,
#companyMenu ul li a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 48px !important;
    padding: 0 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-radius: 4px 4px 0 0 !important;
    box-sizing: border-box !important;
}

/* 料金プランテーブル（PC版）のフルワイド化 & 見栄え統一 */
#wrapper #content #leftContent .info_price table,
.info_price table {
    width: 100% !important;
    max-width: 100% !important;
    border-collapse: collapse !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    margin-bottom: 20px !important;
}

#wrapper #content #leftContent .info_price table tr,
.info_price table tr {
    border-bottom: 1px solid #f1f5f9 !important;
}

#wrapper #content #leftContent .info_price table tr:last-child,
.info_price table tr:last-child {
    border-bottom: none !important;
}

#wrapper #content #leftContent .info_price table tr th,
.info_price table tr th {
    width: 130px !important;
    background: #f8fafc !important;
    color: #1e293b !important;
    padding: 16px 20px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-right: 1px solid #e2e8f0 !important;
    vertical-align: middle !important;
    text-align: left !important;
}

#wrapper #content #leftContent .info_price table tr td,
.info_price table tr td {
    padding: 16px 20px !important;
    font-size: 15px !important;
    color: #334155 !important;
    vertical-align: middle !important;
}

#wrapper #content #leftContent .info_price table tr td.w_250,
.info_price table tr td.w_250 {
    width: auto !important;
    font-weight: 600 !important;
}

#wrapper #content #leftContent .info_price table tr td:nth-child(3),
.info_price table tr td:nth-child(3) {
    width: 24px !important;
    text-align: center !important;
    color: #94a3b8 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

#wrapper #content #leftContent .info_price table tr td.yen,
.info_price table tr td.yen {
    width: 180px !important;
    text-align: right !important;
}

#wrapper #content #leftContent .info_price table tr td.yen .red,
.info_price table tr td.yen .red {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #ea580c !important;
}

/* 企業お申し込みフォーム（.registerStep）PC版モダンUI */
#wrapper #content #leftContent .registerStep,
.registerStep {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 30px !important;
}

#wrapper #content #leftContent .registerStep .form-section-heading,
.registerStep .form-section-heading {
    width: 100% !important;
    max-width: 100% !important;
    background: #105ea1 !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    padding: 14px 20px !important;
    border-radius: 4px 4px 0 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

#wrapper #content #leftContent .registerStep form,
#wrapper #content #leftContent form .registerStep,
.registerStep form,
form .registerStep {
    box-sizing: border-box !important;
}

#wrapper #content #leftContent .registerStep,
.registerStep {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-top: none !important;
    border-radius: 0 0 6px 6px !important;
    padding: 24px 28px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
}

#wrapper #content #leftContent .registerStep table,
.registerStep table {
    width: 100% !important;
    max-width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    margin: 0 0 24px 0 !important;
}

#wrapper #content #leftContent .registerStep table tr,
.registerStep table tr {
    border-bottom: 1px solid #e2e8f0 !important;
}

#wrapper #content #leftContent .registerStep table th,
.registerStep table th {
    width: 180px !important;
    min-width: 180px !important;
    background: #f8fafc !important;
    color: #1e293b !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    padding: 16px 18px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    vertical-align: top !important;
    text-align: left !important;
    box-sizing: border-box !important;
}

/* 項目名と必須バッジのfloat解除とクリーン化 */
#wrapper #content #leftContent .registerStep table th p.left,
.registerStep table th p.left {
    float: none !important;
    width: auto !important;
    display: inline-block !important;
    margin: 0 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    vertical-align: middle !important;
}

#wrapper #content #leftContent .registerStep table th em,
.registerStep table th em {
    float: none !important;
    width: auto !important;
    display: inline-block !important;
    background: #ef4444 !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 2px 6px !important;
    border-radius: 3px !important;
    vertical-align: middle !important;
    margin-left: 8px !important;
    line-height: 1.2 !important;
    font-style: normal !important;
}

#wrapper #content #leftContent .registerStep table th em img,
#wrapper #content #leftContent .registerStep table th em img.right,
.registerStep table th em img,
.registerStep table th em img.right {
    display: none !important;
}

#wrapper #content #leftContent .registerStep table th em::after,
.registerStep table th em::after {
    content: "必須" !important;
}

#wrapper #content #leftContent .registerStep table td,
.registerStep table td {
    padding: 16px 20px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    background: #ffffff !important;
    vertical-align: top !important;
    box-sizing: border-box !important;
}

/* 入力欄モダン化 */
#wrapper #content #leftContent .registerStep input[type="text"],
#wrapper #content #leftContent .registerStep input[type="password"],
#wrapper #content #leftContent .registerStep select,
#wrapper #content #leftContent .registerStep textarea,
.registerStep input[type="text"],
.registerStep input[type="password"],
.registerStep select,
.registerStep textarea {
    height: 42px !important;
    padding: 0 12px !important;
    font-size: 15px !important;
    color: #1e293b !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}

#wrapper #content #leftContent .registerStep textarea,
.registerStep textarea {
    height: auto !important;
    padding: 10px 12px !important;
    width: 100% !important;
    max-width: 500px !important;
}

#wrapper #content #leftContent .registerStep input[type="text"]:focus,
#wrapper #content #leftContent .registerStep input[type="password"]:focus,
#wrapper #content #leftContent .registerStep select:focus,
#wrapper #content #leftContent .registerStep textarea:focus,
.registerStep input[type="text"]:focus,
.registerStep input[type="password"]:focus,
.registerStep select:focus,
.registerStep textarea:focus {
    border-color: #105ea1 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(16, 94, 161, 0.15) !important;
}

#wrapper #content #leftContent .registerStep input.w250,
.registerStep input.w250 {
    width: 100% !important;
    max-width: 440px !important;
}

#wrapper #content #leftContent .registerStep input.w120,
.registerStep input.w120 {
    width: 220px !important;
    max-width: 100% !important;
}

#wrapper #content #leftContent .registerStep input.w40,
.registerStep input.w40 {
    width: 90px !important;
    display: inline-block !important;
}

#wrapper #content #leftContent .registerStep select,
.registerStep select {
    min-width: 180px !important;
    cursor: pointer !important;
}

/* 郵便番号入力欄（PC版: 『』-『』のスマート横並び） */
#wrapper #content #leftContent .registerStep .zip-row,
.registerStep .zip-row {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    width: 100% !important;
}

#wrapper #content #leftContent .registerStep .zip-wrap,
.registerStep .zip-wrap {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    white-space: nowrap !important;
}

#wrapper #content #leftContent .registerStep input[name="zip1"],
#wrapper #content #leftContent .registerStep input[name="pay_zip1"],
#wrapper #content #leftContent .registerStep input[name="hq_zip1"],
.registerStep input[name="zip1"],
.registerStep input[name="pay_zip1"],
.registerStep input[name="hq_zip1"] {
    display: inline-block !important;
    width: 80px !important;
    min-width: 70px !important;
    max-width: 90px !important;
    height: 42px !important;
    padding: 0 4px !important;
    font-size: 16px !important;
    text-align: center !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
}

#wrapper #content #leftContent .registerStep input[name="zip2"],
#wrapper #content #leftContent .registerStep input[name="pay_zip2"],
#wrapper #content #leftContent .registerStep input[name="hq_zip2"],
.registerStep input[name="zip2"],
.registerStep input[name="pay_zip2"],
.registerStep input[name="hq_zip2"] {
    display: inline-block !important;
    width: 95px !important;
    min-width: 85px !important;
    max-width: 110px !important;
    height: 42px !important;
    padding: 0 4px !important;
    font-size: 16px !important;
    text-align: center !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
}

#wrapper #content #leftContent .registerStep .zip-note,
.registerStep .zip-note {
    font-size: 12px !important;
    color: #e11d48 !important;
    margin-left: 6px !important;
}

/* 補足テキスト */
#wrapper #content #leftContent .registerStep td > p,
#wrapper #content #leftContent .registerStep td p,
.registerStep td > p,
.registerStep td p {
    font-size: 13px !important;
    color: #64748b !important;
    margin: 6px 0 0 0 !important;
    line-height: 1.5 !important;
}

#wrapper #content #leftContent .registerStep td p.error,
.registerStep td p.error {
    color: #e11d48 !important;
    font-weight: 600 !important;
}

#wrapper #content #leftContent .registerStep td p.red2,
.registerStep td p.red2 {
    color: #e11d48 !important;
    font-size: 12px !important;
}

/* dl/dt/dd （所在地・請求先住所） */
#wrapper #content #leftContent .registerStep dl,
.registerStep dl {
    display: flex !important;
    align-items: center !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
}

#wrapper #content #leftContent .registerStep dl:last-child,
.registerStep dl:last-child {
    margin-bottom: 0 !important;
}

#wrapper #content #leftContent .registerStep dt,
.registerStep dt {
    width: 90px !important;
    min-width: 90px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #475569 !important;
    margin: 0 !important;
    padding: 0 !important;
}

#wrapper #content #leftContent .registerStep dd,
.registerStep dd {
    flex: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 所在地と同じチェックボックス */
#wrapper #content #leftContent .registerStep input[type="checkbox"],
.registerStep input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    vertical-align: middle !important;
    cursor: pointer !important;
}

#wrapper #content #leftContent .registerStep label[for="check01"],
.registerStep label[for="check01"] {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    vertical-align: middle !important;
    cursor: pointer !important;
    margin-left: 6px !important;
}

/* ==========================================================================
   全ボタン共通: シンプル・フラット化（影なし・動きなし・単色オレンジ）
   ========================================================================== */
#wrapper #content #leftContent .form-submit-row,
.form-submit-row {
    text-align: center !important;
    margin: 32px 0 16px 0 !important;
}

#wrapper #content #leftContent .btn-pc-submit-orange,
#wrapper #content #leftContent .form-submit-row button,
#wrapper #content #leftContent .form-submit-row input[type="submit"],
#wrapper #content #leftContent .registerStep .btn-pc-submit-orange,
#wrapper #content #leftContent .registerForm button[type="submit"],
#wrapper #content #leftContent button[type="submit"].btn-pc-submit-orange,
.btn-pc-submit-orange,
.registerStep .btn-pc-submit-orange,
.form-submit-row .btn-pc-submit-orange,
button.btn-pc-submit-orange {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 320px !important;
    max-width: 100% !important;
    height: 48px !important;
    padding: 0 24px !important;
    background: #ea580c !important; /* 単色フラットオレンジ（グラデーションなし） */
    color: #ffffff !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: 4px !important;
    box-shadow: none !important; /* 影完全排除 */
    transform: none !important; /* 動き完全排除 */
    cursor: pointer !important;
    transition: background 0.15s ease, opacity 0.15s ease !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

#wrapper #content #leftContent .btn-pc-submit-orange:hover,
#wrapper #content #leftContent .form-submit-row button:hover,
#wrapper #content #leftContent .form-submit-row input[type="submit"]:hover,
#wrapper #content #leftContent .registerStep .btn-pc-submit-orange:hover,
#wrapper #content #leftContent .registerForm button[type="submit"]:hover,
#wrapper #content #leftContent button[type="submit"].btn-pc-submit-orange:hover,
.btn-pc-submit-orange:hover,
.registerStep .btn-pc-submit-orange:hover,
.form-submit-row .btn-pc-submit-orange:hover,
button.btn-pc-submit-orange:hover {
    background: #c2410c !important; /* ホバー時は少し濃いオレンジへ */
    color: #ffffff !important;
    box-shadow: none !important; /* ホバー時も影なし */
    transform: none !important; /* ホバー時も移動なし */
    opacity: 0.95 !important;
}

#wrapper #content #leftContent .btn-pc-submit-orange:active,
#wrapper #content #leftContent .form-submit-row button:active,
#wrapper #content #leftContent .form-submit-row input[type="submit"]:active,
.btn-pc-submit-orange:active,
button.btn-pc-submit-orange:active {
    background: #9a3412 !important;
    box-shadow: none !important;
    transform: none !important;
}

/* 【スマホ版（768px以下）】企業ページ調整 */
@media screen and (max-width: 768px) {
    /* 料金表（.info_price）の崩れ完全解消 */
    #wrapper #content #leftContent .info_price,
    .info_price {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 24px 0 !important;
        padding: 0 !important;
    }

    #wrapper #content #leftContent .info_price h3,
    .info_price h3 {
        font-size: 15px !important;
        padding: 10px 14px !important;
        margin: 20px 0 10px 0 !important;
    }

    #wrapper #content #leftContent .info_price table,
    .info_price table {
        width: 100% !important;
        max-width: 100% !important;
        border-collapse: collapse !important;
        border: 1px solid #cbd5e1 !important;
        border-radius: 4px !important;
        overflow: hidden !important;
        background: #ffffff !important;
        margin-bottom: 16px !important;
        display: block !important;
    }

    #wrapper #content #leftContent .info_price table tbody,
    .info_price table tbody {
        display: block !important;
        width: 100% !important;
    }

    #wrapper #content #leftContent .info_price table tr,
    .info_price table tr {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 12px 14px !important;
        border-bottom: 1px solid #e2e8f0 !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }

    #wrapper #content #leftContent .info_price table tr:last-child,
    .info_price table tr:last-child {
        border-bottom: none !important;
    }

    #wrapper #content #leftContent .info_price table tr th,
    .info_price table tr th {
        display: inline-block !important;
        width: auto !important;
        background: #e0f2fe !important;
        color: #0369a1 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        padding: 3px 8px !important;
        border-radius: 3px !important;
        border: none !important;
        margin: 0 8px 0 0 !important;
        line-height: 1.2 !important;
    }

    #wrapper #content #leftContent .info_price table tr td.w_250,
    .info_price table tr td.w_250 {
        display: inline-block !important;
        width: auto !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #1e293b !important;
        padding: 0 !important;
        border: none !important;
        flex: 1 !important;
    }

    /* コロン（：）はスマホでは非表示 */
    #wrapper #content #leftContent .info_price table tr td:nth-child(3),
    .info_price table tr td:nth-child(3) {
        display: none !important;
    }

    #wrapper #content #leftContent .info_price table tr td.yen,
    .info_price table tr td.yen {
        display: block !important;
        width: 100% !important;
        text-align: right !important;
        margin-top: 6px !important;
        padding: 0 !important;
        border: none !important;
        font-size: 13px !important;
        color: #475569 !important;
    }

    #wrapper #content #leftContent .info_price table tr td.yen .red,
    .info_price table tr td.yen .red {
        display: inline-block !important;
        color: #ea580c !important;
        font-size: 20px !important;
        font-weight: 800 !important;
    }

    /* 企業お申し込みフォーム（.registerStep）スマホ版 */
    #wrapper #content #leftContent .registerStep,
    .registerStep {
        width: 100% !important;
        max-width: 100% !important;
    }

    #wrapper #content #leftContent .registerStep .form-section-heading,
    .registerStep .form-section-heading {
        font-size: 15px !important;
        padding: 12px 14px !important;
        border-radius: 4px 4px 0 0 !important;
    }

    #wrapper #content #leftContent .registerStep form,
    #wrapper #content #leftContent form .registerStep,
    .registerStep form,
    form .registerStep {
        padding: 16px 14px 20px 14px !important;
    }

    #wrapper #content #leftContent .registerStep table,
    #wrapper #content #leftContent .registerStep table tbody,
    #wrapper #content #leftContent .registerStep table tr,
    #wrapper #content #leftContent .registerStep table th,
    #wrapper #content #leftContent .registerStep table td,
    .registerStep table,
    .registerStep table tbody,
    .registerStep table tr,
    .registerStep table th,
    .registerStep table td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        border: none !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    #wrapper #content #leftContent .registerStep table tr,
    .registerStep table tr {
        margin-bottom: 18px !important;
        padding-bottom: 14px !important;
        border-bottom: 1px solid #f1f5f9 !important;
    }

    #wrapper #content #leftContent .registerStep table tr:last-child,
    .registerStep table tr:last-child {
        border-bottom: none !important;
        margin-bottom: 10px !important;
    }

    #wrapper #content #leftContent .registerStep table th,
    .registerStep table th {
        background: transparent !important;
        border-left: 3px solid #105ea1 !important;
        padding: 0 0 0 8px !important;
        margin-bottom: 8px !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        color: #0f172a !important;
        text-align: left !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    #wrapper #content #leftContent .registerStep table td,
    .registerStep table td {
        background: transparent !important;
    }

    #wrapper #content #leftContent .registerStep input[type="text"],
    #wrapper #content #leftContent .registerStep input[type="password"],
    #wrapper #content #leftContent .registerStep select,
    #wrapper #content #leftContent .registerStep textarea,
    .registerStep input[type="text"],
    .registerStep input[type="password"],
    .registerStep select,
    .registerStep textarea {
        width: 100% !important;
        max-width: 100% !important;
        height: 44px !important;
        font-size: 16px !important;
    }

    #wrapper #content #leftContent .registerStep textarea,
    .registerStep textarea {
        height: 100px !important;
    }

    #wrapper #content #leftContent .registerStep dl,
    .registerStep dl {
        display: block !important;
        margin-bottom: 10px !important;
    }

    #wrapper #content #leftContent .registerStep dt,
    .registerStep dt {
        width: 100% !important;
        margin-bottom: 4px !important;
        font-size: 13px !important;
        color: #475569 !important;
    }

    #wrapper #content #leftContent .registerStep dd,
    .registerStep dd {
        width: 100% !important;
    }

    /* スマホ版でも郵便番号の100%化を確実に打ち消し『』-『』横並びを絶対キープ */
    #wrapper #content #leftContent .registerStep .zip-row,
    .registerStep .zip-row {
        display: flex !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        width: 100% !important;
    }

    #wrapper #content #leftContent .registerStep .zip-wrap,
    .registerStep .zip-wrap {
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        white-space: nowrap !important;
        width: auto !important;
    }

    #wrapper #content #leftContent .registerStep input[name="zip1"],
    #wrapper #content #leftContent .registerStep input[name="pay_zip1"],
    #wrapper #content #leftContent .registerStep input[name="hq_zip1"],
    #wrapper #content #leftContent .registerStep input[name="zip2"],
    #wrapper #content #leftContent .registerStep input[name="pay_zip2"],
    #wrapper #content #leftContent .registerStep input[name="hq_zip2"],
    #wrapper #content #leftContent .registerStep input.w28,
    .registerStep input[name="zip1"],
    .registerStep input[name="pay_zip1"],
    .registerStep input[name="hq_zip1"],
    .registerStep input[name="zip2"],
    .registerStep input[name="pay_zip2"],
    .registerStep input[name="hq_zip2"],
    .registerStep input.w28 {
        display: inline-block !important;
        vertical-align: middle !important;
        height: 44px !important;
        text-align: center !important;
        font-size: 16px !important;
    }

    #wrapper #content #leftContent .registerStep input[name="zip1"],
    #wrapper #content #leftContent .registerStep input[name="pay_zip1"],
    #wrapper #content #leftContent .registerStep input[name="hq_zip1"],
    .registerStep input[name="zip1"],
    .registerStep input[name="pay_zip1"],
    .registerStep input[name="hq_zip1"] {
        width: 80px !important;
        min-width: 70px !important;
        max-width: 90px !important;
    }

    #wrapper #content #leftContent .registerStep input[name="zip2"],
    #wrapper #content #leftContent .registerStep input[name="pay_zip2"],
    #wrapper #content #leftContent .registerStep input[name="hq_zip2"],
    .registerStep input[name="zip2"],
    .registerStep input[name="pay_zip2"],
    .registerStep input[name="hq_zip2"] {
        width: 95px !important;
        min-width: 85px !important;
        max-width: 110px !important;
    }

    /* 送信ボタンの全幅100%化 & 完全フラット・影なし・動きなし */
    #wrapper #content #leftContent .btn-pc-submit-orange,
    #wrapper #content #leftContent .form-submit-row button,
    #wrapper #content #leftContent .registerStep .btn-pc-submit-orange,
    .btn-pc-submit-orange,
    .registerStep .btn-pc-submit-orange {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        height: 48px !important;
        box-shadow: none !important;
        transform: none !important;
    }
}
