@charset "UTF-8";
/**
 * スポキャリ 申込・応募画面（detail-form.html, detail-form-2.html, detail-form-confirm.html）専用レスポンシブスタイルシート
 * PC表示のレイアウトを維持しつつ、タブレット・スマホ表示（768px以下）を使いやすく快適に最適化します。
 */

@media screen and (max-width: 980px) {
    #content {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 0 15px !important;
    }
    #mainContent,
    #leftContent {
        width: 100% !important;
        float: none !important;
    }
}

@media screen and (max-width: 768px) {
    /* 1. 全体レイアウト解除 */
    #content {
        width: 100% !important;
        padding: 0 12px 40px 12px !important;
        box-sizing: border-box !important;
    }

    #contentHeader {
        display: none !important;
    }

    #mainContent {
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #mainContent > h2 img {
        max-width: 180px !important;
        height: auto !important;
        margin-bottom: 10px !important;
    }

    #mainContent > h3.mb10 img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
        margin-bottom: 12px !important;
    }

    /* お知らせ・メッセージボックス */
    .messageBox {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 10px 12px !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
        background: #eff6ff !important;
        border: 1px solid #bfdbfe !important;
        border-radius: 8px !important;
        margin-bottom: 12px !important;
        color: #1e40af !important;
    }

    .errorBox,
    .error {
        color: #ef4444 !important;
        font-size: 13px !important;
        margin: 6px 0 !important;
        font-weight: 600 !important;
    }

    /* 2. 求人情報サマリーカード (.bookmarkEntry) */
    .bookmarkEntry {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        background: #ffffff !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 12px !important;
        padding: 14px !important;
        box-sizing: border-box !important;
        margin-bottom: 20px !important;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
    }

    .bookmarkEntryHead {
        width: 100% !important;
        margin-bottom: 8px !important;
    }

    .bookmarkEntryHead h3 {
        font-size: 16px !important;
        line-height: 1.4 !important;
        color: #0f172a !important;
        font-weight: bold !important;
        margin: 0 !important;
    }

    .bookmarkEntryHead h3 span {
        display: block !important;
        font-size: 12px !important;
        color: #64748b !important;
        font-weight: normal !important;
        margin-top: 2px !important;
    }

    .schoolTit {
        text-indent: 0 !important;
        margin: 0 0 8px 0 !important;
        font-size: 13px !important;
        color: #475569 !important;
        font-weight: 600 !important;
    }

    #wrapper #content #mainContent .bookmarkEntry h4,
    .bookmarkEntry h4 {
        background: none !important;
        text-indent: 0 !important;
        font-size: 15px !important;
        line-height: 1.5 !important;
        color: #2563eb !important;
        margin: 0 0 10px 0 !important;
    }

    #wrapper #content #mainContent .bookmarkEntry h4 a,
    .bookmarkEntry h4 a {
        color: #2563eb !important;
        text-decoration: none !important;
        font-weight: bold !important;
    }

    .bookmarkEntry table {
        width: 100% !important;
        display: block !important;
        border-collapse: collapse !important;
        margin: 0 0 12px 0 !important;
        background: transparent !important;
    }

    .bookmarkEntry table tbody {
        display: block !important;
        width: 100% !important;
    }

    .bookmarkEntry table tr {
        display: flex !important;
        flex-direction: column !important;
        padding: 6px 0 !important;
        border-bottom: 1px solid #f1f5f9 !important;
    }

    .bookmarkEntry table th {
        width: 100% !important;
        font-size: 11px !important;
        font-weight: bold !important;
        color: #64748b !important;
        padding: 0 !important;
        text-align: left !important;
        background: transparent !important;
    }

    .bookmarkEntry table td {
        width: 100% !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
        color: #1e293b !important;
        padding: 2px 0 0 0 !important;
        box-sizing: border-box !important;
    }

    .bookmarkEntry .right {
        width: 100% !important;
        float: none !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 10px !important;
        margin-top: 10px !important;
        padding-top: 10px !important;
        border-top: 1px solid #e2e8f0 !important;
    }

    .bookmarkEntry .right img[src*="get_image"] {
        width: 100% !important;
        max-width: 100% !important;
        max-height: 180px !important;
        object-fit: cover !important;
        border-radius: 8px !important;
    }

    .bookmarkEntry .right a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 320px !important;
        height: 44px !important;
        background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
        color: #ffffff !important;
        font-size: 14px !important;
        font-weight: bold !important;
        text-decoration: none !important;
        border-radius: 8px !important;
        box-shadow: 0 2px 8px rgba(37, 99, 235, 0.3) !important;
        box-sizing: border-box !important;
    }

    .bookmarkEntry .right a::after {
        content: "👉 求人情報の詳細を見る" !important;
    }

    .bookmarkEntry .right a img {
        display: none !important;
    }

    .bookmarkEntryFooter {
        display: none !important;
    }

    /* 3. 応募フォームテーブル (.recruitInfoTable) のスマホカード化 */
    #wrapper #content #mainContent .recruitInfoTable,
    .recruitInfoTable {
        width: 100% !important;
        display: block !important;
        border-collapse: collapse !important;
        margin: 0 0 16px 0 !important;
        background: #ffffff !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 12px !important;
        overflow: hidden !important;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03) !important;
    }

    .recruitInfoTable tbody {
        display: block !important;
        width: 100% !important;
    }

    .recruitInfoTable tr {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        border-bottom: 1px solid #f1f5f9 !important;
        box-sizing: border-box !important;
    }

    .recruitInfoTable tr:last-child {
        border-bottom: none !important;
    }

    /* セクション見出し (th.top) */
    .recruitInfoTable th.top {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 12px 14px !important;
        background: linear-gradient(135deg, #1e3a8a, #2563eb) !important;
        color: #ffffff !important;
        font-size: 15px !important;
        font-weight: bold !important;
        text-align: left !important;
        border: none !important;
    }

    .recruitInfoTable th.top a {
        color: #ffffff !important;
        text-decoration: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    .recruitInfoTable th.top a::after {
        content: "▼" !important;
        font-size: 12px !important;
    }

    /* 項目名 (th.w130 等) */
    .recruitInfoTable th:not(.top) {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 10px 14px 4px 14px !important;
        background: transparent !important;
        border: none !important;
        font-size: 13px !important;
        font-weight: bold !important;
        color: #1e293b !important;
    }

    .recruitInfoTable th p.left {
        float: none !important;
        margin: 0 !important;
        font-size: 13px !important;
        font-weight: bold !important;
        color: #1e293b !important;
    }

    .recruitInfoTable th em {
        float: none !important;
        margin: 0 !important;
    }

    .recruitInfoTable th em img {
        vertical-align: middle !important;
    }

    /* 入力セル (td) */
    .recruitInfoTable td {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 4px 14px 14px 14px !important;
        border: none !important;
        font-size: 14px !important;
        line-height: 1.6 !important;
        color: #334155 !important;
    }

    /* 4. 入力フォーム要素のモダン最適化（iOSズーム防止 16px） */
    .recruitInfoTable input[type="text"],
    .recruitInfoTable input[type="password"],
    .recruitInfoTable input:not([type]),
    .recruitInfoTable textarea {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding: 10px 12px !important;
        font-size: 16px !important;
        border: 1px solid #cbd5e1 !important;
        border-radius: 8px !important;
        background: #f8fafc !important;
        color: #1e293b !important;
        margin-top: 4px !important;
        margin-bottom: 6px !important;
        transition: border-color 0.2s, box-shadow 0.2s !important;
    }

    .recruitInfoTable input[type="text"]:focus,
    .recruitInfoTable input[type="password"]:focus,
    .recruitInfoTable textarea:focus {
        border-color: #2563eb !important;
        background: #ffffff !important;
        outline: none !important;
        box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
    }

    .recruitInfoTable textarea {
        min-height: 120px !important;
        line-height: 1.5 !important;
    }

    .recruitInfoTable select {
        padding: 8px 10px !important;
        font-size: 15px !important;
        border: 1px solid #cbd5e1 !important;
        border-radius: 6px !important;
        background: #ffffff !important;
        color: #1e293b !important;
        margin: 4px 2px !important;
        box-sizing: border-box !important;
        min-height: 40px !important;
    }

    /* ラジオボタン・チェックボックスのタップ領域拡大 */
    .recruitInfoTable input[type="radio"],
    .recruitInfoTable input[type="checkbox"] {
        transform: scale(1.2) !important;
        margin-right: 6px !important;
        vertical-align: middle !important;
    }

    .recruitInfoTable label {
        display: inline-flex !important;
        align-items: center !important;
        padding: 6px 10px !important;
        font-size: 14px !important;
        cursor: pointer !important;
    }

    /* 保有資格リスト */
    .recruitInfoTable td.top ul {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }

    .recruitInfoTable td.top ul li.cb3 {
        width: 100% !important;
        float: none !important;
        padding: 6px 8px !important;
        box-sizing: border-box !important;
        background: #f8fafc !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 6px !important;
    }

    /* 利用規約ボックス */
    .recruitInfoTable .kiyaku {
        width: 100% !important;
        max-height: 180px !important;
        overflow-y: scroll !important;
        padding: 10px !important;
        box-sizing: border-box !important;
        background: #f8fafc !important;
        border: 1px solid #cbd5e1 !important;
        border-radius: 8px !important;
        font-size: 12px !important;
        line-height: 1.6 !important;
        color: #475569 !important;
    }

    /* 注釈テキスト */
    .recruitInfoTable .red,
    .recruitInfoTable .yellow,
    .recruitInfoTable em.red,
    .recruitInfoTable em.yellow {
        display: block !important;
        font-size: 12px !important;
        color: #e11d48 !important;
        margin: 2px 0 6px 0 !important;
        font-style: normal !important;
    }

    /* 5. 送信・確認・戻るボタンのモダン最適化 */
    center {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        align-items: center !important;
        margin: 25px 0 30px 0 !important;
        width: 100% !important;
    }

    center input[type="submit"] {
        width: 100% !important;
        max-width: 340px !important;
        height: 50px !important;
        background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
        color: #ffffff !important;
        font-size: 16px !important;
        font-weight: bold !important;
        border: none !important;
        border-radius: 25px !important;
        box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3) !important;
        cursor: pointer !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        letter-spacing: 0.5px !important;
        transition: all 0.2s ease !important;
    }

    center input[type="submit"]:active {
        transform: scale(0.98) !important;
        box-shadow: 0 2px 6px rgba(37, 99, 235, 0.4) !important;
    }

    center input[type="button"] {
        width: 100% !important;
        max-width: 340px !important;
        height: 46px !important;
        background: #f1f5f9 !important;
        color: #475569 !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        border: 1px solid #cbd5e1 !important;
        border-radius: 23px !important;
        cursor: pointer !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* 6. 完了画面 (.linkList) のスマホ最適化 */
    .linkList {
        list-style: none !important;
        padding: 0 !important;
        margin: 20px 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
    }

    .linkList li a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        height: 48px !important;
        background: #2563eb !important;
        color: #ffffff !important;
        font-size: 14px !important;
        font-weight: bold !important;
        text-decoration: none !important;
        border-radius: 8px !important;
        box-shadow: 0 2px 6px rgba(37, 99, 235, 0.25) !important;
    }

    /* ==========================================================================
       7. 会員ログイン・登録・パスワード再送画面 (#leftContent, .registerForm)
       ========================================================================== */
    #leftContent {
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #leftContent > h2 img {
        max-width: 180px !important;
        height: auto !important;
        margin-bottom: 12px !important;
    }

    #leftContent > img.mb10 {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
        margin-bottom: 12px !important;
    }

    #leftContent > h3 img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
    }

    /* .registerForm 全体のカード化（青枠9px固定幅の解除） */
    #wrapper #content #leftContent .registerForm,
    .registerForm {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding: 16px 14px 20px 14px !important;
        background: #ffffff !important;
        border: 1px solid #e2e8f0 !important;
        border-top: none !important;
        border-radius: 0 0 12px 12px !important;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
        margin: 0 0 24px 0 !important;
        text-align: left !important;
        overflow: visible !important;
    }

    .registerFmFooter {
        display: none !important;
    }

    /* フォームテーブルの1カラム化 */
    #wrapper #content #leftContent .registerForm table,
    .registerForm table {
        width: 100% !important;
        display: block !important;
        border-top: none !important;
        margin: 0 0 16px 0 !important;
    }

    .registerForm table tbody {
        display: block !important;
        width: 100% !important;
    }

    .registerForm table tr {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        padding: 10px 0 !important;
        border-bottom: 1px solid #f1f5f9 !important;
        box-sizing: border-box !important;
    }

    .registerForm table tr:last-child {
        border-bottom: none !important;
    }

    #wrapper #content #leftContent .registerForm table tr th,
    .registerForm table tr th {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 0 0 6px 0 !important;
        font-size: 14px !important;
        font-weight: bold !important;
        color: #1e293b !important;
        border: none !important;
        background: transparent !important;
        text-align: left !important;
    }

    #wrapper #content #leftContent .registerForm table tr td,
    .registerForm table tr td {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 0 !important;
        border: none !important;
        font-size: 14px !important;
        line-height: 1.6 !important;
        color: #334155 !important;
        text-align: left !important;
    }

    /* 入力テキストボックス */
    #wrapper #content #leftContent .registerForm table tr td .w210,
    #wrapper #content #leftContent .registerForm table tr td .w320,
    .registerForm input[type="text"],
    .registerForm input[type="password"] {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 44px !important;
        height: 44px !important;
        line-height: normal !important;
        box-sizing: border-box !important;
        padding: 10px 12px !important;
        font-size: 16px !important; /* iOSズーム防止 */
        border: 1px solid #cbd5e1 !important;
        border-radius: 8px !important;
        background: #f8fafc !important;
        color: #1e293b !important;
        margin: 4px 0 6px 0 !important;
        display: block !important;
        transition: border-color 0.2s, box-shadow 0.2s !important;
    }

    .registerForm input[type="text"]:focus,
    .registerForm input[type="password"]:focus {
        border-color: #2563eb !important;
        background: #ffffff !important;
        outline: none !important;
        box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
    }

    /* 自動ログインチェックボックス */
    #wrapper #content #leftContent .registerForm .auto,
    .registerForm .auto {
        margin: 12px 0 16px 0 !important;
        text-indent: 0 !important;
        font-size: 13px !important;
        display: flex !important;
        align-items: center !important;
    }

    .registerForm .auto label {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        font-size: 14px !important;
        color: #334155 !important;
        cursor: pointer !important;
    }

    .registerForm .auto input[type="checkbox"] {
        transform: scale(1.3) !important;
        margin: 0 !important;
    }

    /* 注釈・説明テキスト */
    #wrapper #content #leftContent .registerForm table tr td span,
    #wrapper #content #leftContent .registerForm table tr td em,
    .registerForm table tr td span,
    .registerForm table tr td em {
        display: block !important;
        font-size: 12px !important;
        line-height: 1.5 !important;
        margin: 2px 0 4px 0 !important;
        font-style: normal !important;
    }

    .registerForm table tr td em.red,
    .registerForm table tr td .red {
        color: #e11d48 !important;
    }

    .registerForm table tr td em.yellow {
        color: #d97706 !important;
    }

    /* 利用規約枠 */
    #wrapper #content #leftContent .registerForm table tr td .kiyaku,
    .registerForm .kiyaku {
        width: 100% !important;
        height: auto !important;
        max-height: 180px !important;
        padding: 10px 12px !important;
        box-sizing: border-box !important;
        background: #f8fafc !important;
        border: 1px solid #cbd5e1 !important;
        border-radius: 8px !important;
        font-size: 12px !important;
        line-height: 1.6 !important;
        color: #475569 !important;
        overflow-y: scroll !important;
    }

    #wrapper #content #leftContent .registerForm table tr td .kiyaku p,
    .registerForm .kiyaku p {
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        font-size: 12px !important;
    }

    /* 送信画像ボタン（ログイン・登録・再送） */
    #wrapper #content #leftContent .registerForm input.btn,
    .registerForm input.btn {
        width: 100% !important;
        max-width: 320px !important;
        height: auto !important;
        display: block !important;
        margin: 16px auto 8px auto !important;
        cursor: pointer !important;
        transition: transform 0.15s ease !important;
    }

    .registerForm input.btn:active {
        transform: scale(0.98) !important;
    }

    /* ==========================================================================
       8. 検討中フォルダ (bookmark.html) スマホ最適化
       ========================================================================== */
    #mainContent > p.entry {
        font-size: 13px !important;
        line-height: 1.5 !important;
        color: #475569 !important;
        margin-bottom: 12px !important;
    }

    #mainContent > .box {
        width: 100% !important;
        margin-bottom: 12px !important;
    }

    #mainContent > .box .ar.txt10 {
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        text-align: left !important;
        margin: 0 !important;
    }

    #mainContent > .box .ar.txt10 a {
        display: inline-flex !important;
        align-items: center !important;
        padding: 6px 10px !important;
        background: #f1f5f9 !important;
        border: 1px solid #cbd5e1 !important;
        border-radius: 6px !important;
        font-size: 12px !important;
        color: #334155 !important;
        text-decoration: none !important;
        font-weight: 600 !important;
    }

    #mainContent > .box .ar.txt10 input.delBtn {
        max-width: 110px !important;
        height: auto !important;
        cursor: pointer !important;
        vertical-align: middle !important;
        margin: 0 !important;
    }

    .bookmarkEntryHead {
        display: flex !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
        gap: 10px !important;
        width: 100% !important;
        margin-bottom: 8px !important;
    }

    .bookmarkEntryHead input.check {
        transform: scale(1.4) !important;
        margin: 2px 4px 0 0 !important;
        cursor: pointer !important;
    }

    .bookmarkEntryHead h3 {
        flex: 1 !important;
        margin: 0 !important;
    }

    .bookmarkEntry .yoyaku_tel_box {
        width: 100% !important;
        box-sizing: border-box !important;
        margin: 8px 0 !important;
    }

    /* ==========================================================================
       9. お問い合わせ画面 (contact.html, contact-confirm.html, contact-thankyou.html)
       ========================================================================== */
    #leftContent > img[src*="contact"] {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
        margin-bottom: 15px !important;
    }

    #wrapper #content #leftContent .formTable,
    .formTable {
        width: 100% !important;
        display: block !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 12px !important;
        background: #ffffff !important;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
        overflow: hidden !important;
        margin: 15px 0 20px 0 !important;
    }

    .formTable tbody {
        display: block !important;
        width: 100% !important;
    }

    .formTable tr {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        padding: 12px 14px !important;
        border-bottom: 1px solid #f1f5f9 !important;
        box-sizing: border-box !important;
    }

    .formTable tr:last-child {
        border-bottom: none !important;
    }

    #wrapper #content #leftContent .formTable tr th,
    .formTable tr th {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 0 0 6px 0 !important;
        font-size: 14px !important;
        font-weight: bold !important;
        color: #1e293b !important;
        border: none !important;
        background: transparent !important;
        text-align: left !important;
    }

    #wrapper #content #leftContent .formTable tr td,
    .formTable tr td {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 0 !important;
        border: none !important;
        font-size: 14px !important;
        line-height: 1.6 !important;
        color: #334155 !important;
        text-align: left !important;
    }

    /* 入力・選択要素 */
    .formTable input[type="text"],
    .formTable select,
    .formTable textarea {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding: 10px 12px !important;
        font-size: 16px !important; /* iOSズーム防止 */
        border: 1px solid #cbd5e1 !important;
        border-radius: 8px !important;
        background: #f8fafc !important;
        color: #1e293b !important;
        margin: 4px 0 6px 0 !important;
        display: block !important;
        transition: border-color 0.2s, box-shadow 0.2s !important;
    }

    .formTable input[type="text"]:focus,
    .formTable select:focus,
    .formTable textarea:focus {
        border-color: #2563eb !important;
        background: #ffffff !important;
        outline: none !important;
        box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
    }

    .formTable select {
        min-height: 44px !important;
        background: #ffffff !important;
    }

    .formTable textarea {
        min-height: 140px !important;
        line-height: 1.5 !important;
    }

    .smallTxt {
        font-size: 12px !important;
        line-height: 1.6 !important;
        color: #475569 !important;
        background: #f1f5f9 !important;
        padding: 10px 12px !important;
        border-radius: 8px !important;
        margin-top: 8px !important;
    }

    /* ==========================================================================
       10. お祝い金案内画面 (iwaikin00000.html)
       ========================================================================== */
    #leftContent > img[src*="iwaikin_topimg"] {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
        border-radius: 8px !important;
        margin-bottom: 15px !important;
    }

    .iwaikin_box {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
    }

    .iwaikin_box .iwaikin_step1,
    .iwaikin_box .iwaikin_step2,
    .iwaikin_box .iwaikin_step3,
    .iwaikin_box .iwaikin_step4 {
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
        height: auto !important;
        min-height: auto !important;
        box-sizing: border-box !important;
        padding: 68px 14px 16px 14px !important;
        background-color: #ffffff !important;
        background-position: 14px 14px !important;
        background-size: 44px auto !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 12px !important;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
        font-size: 14px !important;
        line-height: 1.6 !important;
        color: #334155 !important;
    }

    .iwaikin_box center img {
        max-width: 160px !important;
        height: auto !important;
        margin-bottom: 8px !important;
    }

    /* ==========================================================================
       11. ヘルプ・会社概要・サイトマップ・地図・規約 (help, company, sitemap, map, etc.)
       ========================================================================== */
    #leftContent a img[src*="help_01"],
    #leftContent a img[src*="help_02"] {
        display: block !important;
        width: 100% !important;
        max-width: 320px !important;
        height: auto !important;
        margin: 0 auto 15px auto !important;
        border-radius: 8px !important;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06) !important;
    }

    /* ヘルプ検索ボックス */
    .qaSearchBox {
        width: 100% !important;
        box-sizing: border-box !important;
        margin: 15px 0 20px 0 !important;
    }

    .qaSearchBox form {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
    }

    .qaSearchBox input.text {
        flex: 1 !important;
        min-height: 44px !important;
        height: 44px !important;
        font-size: 16px !important;
        padding: 10px 12px !important;
        box-sizing: border-box !important;
        border: 1px solid #cbd5e1 !important;
        border-radius: 8px !important;
        background: #f8fafc !important;
        margin: 0 !important;
    }

    .qaSearchBox input.btn {
        max-width: 120px !important;
        height: auto !important;
        cursor: pointer !important;
        margin: 0 !important;
    }

    /* ヘルプ・サイトマップリスト (.linkList2) */
    .linkList2 {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 0 20px 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
    }

    .linkList2 > li {
        font-size: 15px !important;
        font-weight: bold !important;
        color: #1e3a8a !important;
        background: #f8fafc !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 10px !important;
        padding: 14px !important;
        box-sizing: border-box !important;
    }

    .linkList2 > li ul {
        list-style: none !important;
        padding: 0 !important;
        margin: 10px 0 0 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }

    .linkList2 > li ul li a {
        display: flex !important;
        align-items: center !important;
        padding: 10px 12px !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        color: #1e293b !important;
        background: #ffffff !important;
        border: 1px solid #cbd5e1 !important;
        border-radius: 6px !important;
        text-decoration: none !important;
        transition: all 0.15s ease !important;
    }

    .linkList2 > li ul li a:active {
        background: #f1f5f9 !important;
        border-color: #2563eb !important;
        color: #2563eb !important;
    }

    /* 会社概要説明ボックス */
    .com_desc {
        background: #ffffff !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 10px !important;
        padding: 14px !important;
        margin-bottom: 15px !important;
        box-sizing: border-box !important;
    }

    .com_desc .title {
        font-size: 15px !important;
        font-weight: bold !important;
        color: #1e3a8a !important;
        margin-bottom: 8px !important;
    }

    /* 地図 (#map) */
    #map {
        width: 100% !important;
        max-width: 100% !important;
        height: 350px !important;
        box-sizing: border-box !important;
        border-radius: 8px !important;
        margin: 15px 0 !important;
    }

    /* 規約等の本文段落 */
    #leftContent p {
        font-size: 14px !important;
        line-height: 1.7 !important;
        color: #334155 !important;
        word-break: break-word !important;
    }
}
