/* =========================================
   Mobile Override PACK v1.3 (recommended)
   Last updated: 2025-10-07
   Purpose:
     - 768px以下での横スクロール抑止
     - 画像/ウィジェットのはみ出し抑制
     - JSスライダーとの競合最小化
   How to use:
     - このブロックを overrides.css の末尾に配置
     - 必要に応じて “OPTIONAL” の節を有効化
   ========================================= */

:root {
    --bp-mobile: 768px;
    --mobile-pad: clamp(12px, 4vw, 20px);
    --header-offset: 64px;
    /* Stickyを使う場合は適宜調整 */
}

:root {
    --emoji: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";
    /* 日本語優先の汎用サンセリフ */
    --sans-ja: system-ui, -apple-system, "Hiragino Sans", "Hiragino Kaku Gothic ProN",
        "Yu Gothic UI", "Yu Gothic", Meiryo, "Noto Sans JP",
        "Helvetica Neue", Arial, sans-serif, var(--emoji);
    /* 欧文だけならこちら（自動で --sans-ja にフォールバック） */
    --sans-latin: system-ui, -apple-system, "Segoe UI", Roboto,
        "Helvetica Neue", Arial, sans-serif, var(--emoji);
    /* 明朝系（長文記事など） */
    --serif-ja: "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho",
        "Noto Serif JP", serif, var(--emoji);
    /* 等幅（コード表示など） */
    --mono: ui-monospace, SFMono-Regular, Menlo, Consolas,
        "Roboto Mono", "Source Code Pro", monospace;
}

html {
    font-size: 100%;
}

/* 16px基準 */

body {
    font-family: "Helvetica Neue",
            Arial,
            "Hiragino Kaku Gothic ProN",
            "Hiragino Sans",
            Meiryo,
            sans-serif;
    font-weight: 400;
    /* Windowsでは本文を500にすると見やすいことも */
    line-height: 1.7;
    letter-spacing: .02em;
    /* 和文は控えめ */
    font-kerning: normal;
    font-variant-east-asian: proportional-width;
    /* 約物のプロポーショナル詰め */
    font-optical-sizing: auto;
    /* 可変フォント対応時の視認性を自動調整 */
    font-synthesis: none;
    /* 疑似ボールド/疑似イタリックを禁止 */
    -webkit-text-size-adjust: 100%;
    color:#666;
}

/* 欧文ブロックだけ微調整（ハイフネーション等） */
:lang(en) {
    font-family: var(--sans-latin), var(--sans-ja);
    hyphens: auto;
    letter-spacing: normal;
}

/* 長文を明朝で読み物トーンにしたい場合 */
.article {
    font-family: var(--serif-ja);
}

h1,
h2,
h3 {
    line-height: 1.3;
    font-weight: 700;
}

code,
pre {
    font-family: var(--mono);
    font-size: .9em;
}

/* 日本語の禁則を強めたい場合（対応ブラウザで有効） */
:lang(ja) {
    line-break: strict;
}

/* === Base insurance (全端末) ========================= */
html,
body {
    max-width: 100%;
    overflow-x: hidden;
    /* 古い端末向けの保険（clip非対応のため） */
        background-color: #f2f3f2;
}

}

img,
video,
iframe,
object,
embed,
canvas,
svg {
    max-width: 100%;
    height: auto;
}

/* 長文/URLによるはみ出し抑制 */
*:where(p, li, dd, dt, blockquote, .entry-content, .post, .page) {
    overflow-wrap: anywhere;
    word-break: break-word;
}

pre,
code,
kbd,
samp {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

/* 横スクしないテーブル */
table {
    max-width: 100%;
    overflow-x: auto;
}

/* （任意）基本のフォントサイズ */
html {
    font-size: 16px;
}

/* ユーティリティの可変フォントサイズ */
.fs-16 {
    font-size: clamp(14px, 3.5vw, 16px);
}

.fs-18 {
    font-size: clamp(16px, 3.8vw, 18px);
}

.fs-20 {
    font-size: clamp(17px, 4.2vw, 20px);
}

.fs-24 {
    font-size: clamp(16px, 2.2vw + 12px, 24px);
}

/* バナーの比率ユーティリティ */
.bnr--wide {
    aspect-ratio: 36 / 5;
    overflow: hidden;
}

.bnr--wide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* ====== 共通ユーティリティ ====== */
*,
*::before,
*::after {
    box-sizing: border-box;
}

:root {
    --gap-1: .75rem;
    --gap-2: 1rem;
    --gap-3: 1.5rem;
    --radius: .5rem;
    --bd: #ddd;
}

img,
video {
    max-width: 100%;
    height: auto;
}

ul,
ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

a,
button {
    text-decoration: none;
}

[hidden] {
    display: none !important;
}

/* 長い地名・語がはみ出す対策 */
.fMenu a,
.sidebar-banners *,
.contact-cards *,
.series-links * {
    overflow-wrap: anywhere;
}

/* アンカー飛び時の見出し被り回避（固定ヘッダー分を調整） */
[id] {
    scroll-margin-top: 80px;
}

/* ヘッダー高に合わせて調整 */

/* ====== fMenu：内部ジャンプ4種 ====== */
.fMenu {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--gap-radius);
    margin-block: var(--gap-2);
}

.select_button_cst.inq-btn {
    display: block;
    /* a, button どちらでもOK */
    width: 100%;
    box-sizing: border-box;
    padding: 14px 16px;
    text-align: center;
    line-height: 1.6;
    height: auto;
    /* 固定heightを無効化 */
    white-space: normal;
    /* ← 改行を許可 */
    word-break: break-word;
    /* 長い単語（社名英字等）も折返し */
    overflow-wrap: anywhere;
    /* 連続英数にも対応 */
}

.bigbutton_box_cst {
    height: auto;
    color:#fff;
}

/* 親に固定高さがあれば解除 */
.inq-btn__name {
    font-weight: 700;
}

/* 任意：表示行数を抑えたい場合（対応ブラウザで3行まで） */
@supports (-webkit-line-clamp: 3) {
    .select_button_cst.inq-btn {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
    }
}

@media (min-width: 768px) {
    .fMenu {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.fMenu a {
    display: grid;
    place-items: center;
    padding: .75rem .5rem;
    text-align: center;
    border-radius: var(--radius);
    background: transparent;
    line-height: 1.3;
}

/* ====== サイドバナー：基本2列、ニュースだけ1列 ====== */
.sidebar-banners {
    display: grid;
    grid-template-columns: 1fr;
    /* SP: 1列 */
    gap: var(--gap-2);
}

@media (min-width: 640px) {
    .sidebar-banners {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* 「間に1列を挟みたいブロック」だけこのクラスを付ける */
.sidebar-banners .is-full {
    grid-column: 1 / -1;
}

/* ====== figure群：常に1列 ====== */
.figure-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--gap-1);
}




/* ====== お問い合わせ4種：2列 ====== */
.contact-cards {
    display: grid;
    gap: var(--gap-2);
    grid-template-columns: 1fr;
    /* SP: 1列 */
}

@media (min-width: 640px) {
    .contact-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ====== シリーズサイトリンク：2列 ====== */
.series-links {
    display: grid;
    gap: var(--gap-2);
    grid-template-columns: 1fr;
    /* SP: 1列 */
}

@media (min-width: 640px) {
    .series-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ====== フッター：小さめ＆中央寄せ ====== */
.site-footer {
    margin-top:0;
    font-size: .875rem;
    /* 12〜14px帯でお好みで */
    text-align: center;
    line-height: 1.7;
    background:#449079;
    color:#fff;
    padding:12px 6px;
}

.site-footer a {
    color:#fff;
}

.site-footer .footer-inner {
    display: grid;
    justify-items: center;
    gap: .5rem;
}

/* ====== 既存の“横はみ出し”の緊急回避（必要なものだけ残す） ====== */
/* スライダー・大きい画像などを幅100%に */
.slider,
.slider li,
.slider img {
    width: 100% !important;
}

.slider {
   /* overflow: hidden; */
}

/* 固定幅の内部要素がグリッドで突っ張るのを防ぐ */
.fMenu>*,
.sidebar-banners>*,
.contact-cards>*,
.series-links>* {
    min-width: 0;
    /* ← minmax(0,1fr) とセットでオーバーフロー抑止 */
}

/* モバイル専用の改行 */
.br--sp {
    display: none;
}

/* まず非表示 */
@media (max-width: 48em) {

    /* 48em ≒ 768px 相当 */
    .br--sp {
        display: inline;
    }

    /* モバイル幅でだけ表示 */
}

/* ついでにPC専用の改行も用意しておくと便利 */
.br--pc {
    display: inline;
}

@media (max-width: 48em) {
    .br--pc {
        display: none;
    }
}






/* === Mobile <= 768px ================================= */
@media (max-width: 768px) {

    /* --- 器と主要ラッパ（横スクの温床つぶし） --- */
    #body_inner,
    #wrapper,
    #contents,
    #main,
    .content {
        min-width: 0 !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 0 auto;
        box-sizing: border-box;
        overflow-x: clip;
        /* hidden より副作用が小さい */
    }

    #contents {
        padding: 0 var(--mobile-pad);
    }

    .entry-content,
    .site-content,
    main,
    .content {
        width: auto !important;
        max-width: 100% !important;
        box-sizing: border-box;
        padding-left: var(--mobile-pad);
        padding-right: var(--mobile-pad);
        overflow-x: clip;
    }

    /* --- メイン/サイドは縦積み --- */
    #main,
    #sidebar,
    .Lcon,
    .Lcon>.LconL,
    .Lcon>.LconR,
    .Lcon>.left,
    .Lcon>.right,
    .col2,
    .col2>.left,
    .col2>.right,
    .leftCol,
    .rightCol {
        float: none !important;
        clear: both !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    /* --- ヘッダー：まずは固定を無効化（安全策） --- */
    header,
    .site-header,
    #header,
    header[role="banner"] {
        position: static !important;
        inset: auto !important;
        transform: none !important;
        width: 100% !important;
        height:auto;
    }

    body {
        padding-top: 0 !important;
    }

/* ここから251008 */

.updated {
    font-size:12px;
}
#main {
    width: 100%;
    margin: 0;
    box-sizing:border-box;
}

.logo_bar_cst {
    width: 100%;
    height: auto;
    background-color: #449079;
    overflow: hidden;
    box-sizing:border-box;
    padding: 10px;
}

.genre_title_cst {
    display: inline-block;
    position: relative;
    top: 10px;
    left: 2%;
    width: 100%;
    height: auto;
    font-size: 18px !important;
    /*	padding:0 30px; */
    border: 1px solid #999;
    background-color: #449079;
    z-index: 999;
}


.genre_title_cst:before {
    position: absolute;
    content: "";
    top: -0px;
    display: inline-block;
    border-width: 20px 4px;
    border-style: solid;
}

.genre_title_cst:before {
    left: -9px;
    border-color: transparent #052 #052 transparent;
    z-index: -1;
}

.genre_title_cst h1,
.genre_title_cst h2 {
    color: #fff;
    font-weight: normal;
     line-height: 1.5;
 
}

.secTtl {
    max-width: 99%;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    padding: 6px 6px 3px;
}

.secTtl::before {
    content: url(https://sonwosinai-akiyafurukatsuyou.com/wp-content/themes/akiya_bee/images/ico_title_AKIYA.svg);
    display: inline-block;
    width: 40px;
    height: 40px;
    vertical-align: middle;
    margin-right: 6px;
}

.info_block_cst {
    overflow: hidden;
    width: 840px;
    margin-bottom: 0px;
    padding: 20px 10px 10px 10px;
    background-color: #fff;
    border: 1px solid #449079;
}

.info_box_cst {
    width: 158px;
    height: 160px;
    margin: 0 10px 0 0;
    position: relative;
        border: 1px solid #eee;
            padding: 2px;
    

}

.info_box_cstN {
    width: 158px;
    height: 160px;
    border:1px solid #eee;
    padding:2px;

}

.info_block_cst>.cards-grid--menu {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 12px;
}

/* 既存の固定幅やマージンがあればリセット */
.info_block_cst>.cards-grid--menu>.info_box_cstN {
    width: auto;
    margin: 0;
}

/* メニュー用カードグリッドの画像調整 */
.cards-grid--menu .info_box_imgN img {
    width: 100% !important;
    height: auto !important;
    display: block;
}

.info_box_info p {
    font-size: 12px;
    font-weight:bold;
    line-height: 1.2;
    margin:3% 0 0;
    text-align: center;
}

/* 2) 子の固定幅を外す（ここが重要） */
.info_block_cst>.info_box_cstN {
    width: auto !important;
    margin: 0;
    /* 古いテーマの余白ズレ対策（不要なら削除OK） */
}

/* 3) 内部の体裁（画像は比率固定で整列、テキスト中央寄せ） */
.info_block_cst>.info_box_cstN>a.hover {
    display: block;
}

.info_block_cst .info_box_imgN {
    width: 100%;
    aspect-ratio: 158 / 99;
    /* 画像元サイズに合わせて比率固定 */
    overflow: hidden;
}

.info_block_cst .info_box_imgN img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* トリミングして均一に見せたい場合 */
    display: block;
}

/* BOX MAP */
.areaTitle {
    font-size: 13px;
    text-align: center;
    padding: 4px 0;
    border-bottom: 1px dotted #555;
    margin-bottom: 4px;
}

#area01 {
    background: #D4EED7;
    padding:4px;
}

#area02 {
    background: #FEF7D7;
    padding: 4px;
}

#area03 {
    background: #CCF4FF;
    padding: 4px;
}

#area04 {
    background: #d5edf9;
    padding: 4px;
}

#area05 {
    background: #d7dbea;
    padding: 4px;
}

#area06 {
    background: #ffecf6;
    padding: 4px;
}

#area07 {
    background: #eaf4d6;
    padding: 4px;
}

#area08 {
    background: #fbddcf;
    padding: 4px;
}

#area09 {
    background: #f7f9cf;
    padding: 4px;
}

#area10 {
    background: #fceacc;
    padding: 4px;
}


.box_map li {
    display: block;
    height: 42px;
    width: 80px;

    text-align: center;
    background:#449079;
    border-radius:8px;
}

.osB {
    margin-top:20px;
}




    /* --- ヘッダー内の横並びを折り返し --- */
    .header_inner {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 1.5rem;
        width: 100% !important;
        max-width: 100% !important;
    }

    .logo_img_cst,
    .logo_nav_cst,
    #searchform {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
    }
#telInq {
    text-align: center;
    margin:0 auto;
}

.company_details_table_cst {
    width: 100%;
}

.company_details_table_cst th {
    border: solid #aaa 1px;
    width: 15%;
    text-align: center;
    padding: 5px;
    font-size:9px;
}

.company_details_table_cst td {
    border: solid #aaa 1px;
    width: 85%;
    padding: 1% 2%;
    font-size:12px;
}

    .logo_img_cst img {
        width: 100% !important;
        height: auto !important;
    }

    /* --- 記事/カード系 --- */
    .gyosya_list,
    .post {
        width: 100%;
        float: none;
    }

    .compay_loop_block {
        display: block;
        margin-bottom:6px;
        color:#333;

    }

    .compay_loop_block>* {
        min-width: 0;
    }

    .compay_loop_block .company_image img {
        max-width: 40vw;
        height: auto;
    }

    .compay_loop_block .thecontent {
        flex: 1 1 auto;
        min-width: 0;
        margin-top:6px;
        font-size:9px;
    }

    /* --- バナー/汎用ボックス --- */
    .banner_cst,
    .bnr,
    .info_block_cst,
    .box_pref,
    #pref_dd {
        max-width: 100% !important;
        overflow: clip;
        box-sizing: border-box;
    }

    .banner_cst :is(img, picture, svg),
    .bnr img {
        max-width: 100% !important;
        height: auto !important;
        display: block;
    }

    /* --- bxSlider / その他スライダーの幅リセット --- */
    .bx-wrapper {
        max-width: 100% !important;
    }

    .bx-wrapper .bx-viewport {
        width: 100% !important;
        /* プラグインのpx幅をリセット */
        overflow: hidden !important;
        /* トラックのはみ出し抑制 */
        box-sizing: border-box;
    }

    .bx-wrapper img {
        max-width: 100%;
        height: auto;
        display: block;
    }

    ul.slider {
        width: 100% !important;
        position: relative;
        overflow: hidden;
        /* 画像の微妙なはみ出し揺れ対策 */
    }

    ul.slider>li {
        width: 100% !important;
        /* 例：1024px の inline-style を打ち消し */
        left: 0 !important;
        float: none !important;
        position: relative;
        /* ライブラリ依存で absolute が必要な場合有、ここでは触らない */
    }

    ul.slider img {
        width: 100% !important;
        height: auto !important;
        display: block;
    }

    /* --- 2カラム（info_box系）→ 縦積み --- */
    .info_box_imgL,
    .info_box_cct,
    .info_box_cct2 {
        display: block;
        width: auto !important;
        max-width: 100% !important;
        clear: both !important;
        box-sizing: border-box;
        overflow: clip;
        font-size:13px;
        margin: 15px auto;
    }

.info_box_cct2 {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px 12px;
        text-align: center;;
}

    .info_box_imgL .img,
    .info_box_imgL .image,
    .info_box_imgL .thumb,
    .info_box_imgL .text,
    .info_box_cct .text {
        float: none !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .info_box_imgL img {
        width: 100% !important;
        height: auto !important;
        display: block;
    }

    /* --- サブナビ（折り返し＋省略） --- */
    #nav2 {
        display: flex;
        flex-wrap: wrap;
        /* nowrap解除 */
        gap: 8px 10px;
        padding: 0;
        margin: 0;
        list-style: none;
        max-width: 100%;
        white-space: normal !important;
    }

    #nav2>li {
        list-style: none;
        min-width: 0;
        max-width: 100%;
        flex: 0 1 calc(50% - 10px);
        /* 2列（必要なら33.33%で3列に） */
    }

    #nav2 a {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    /* --- 画像角のバッジ --- */
    .ak-badge-anchor {
        position: relative;
    }

    .ak-badge-anchor .ak-badge {
        right: 0 !important;
        top: 0 !important;
        transform: none !important;
        max-width: calc(100% - 6px);
    }

    /* --- フォーム/CTA --- */
    .akcs-form {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px 12px;
        margin: 10px 0;
    }

    #main .akcs-form {
        max-width: 100%;
    }

    .akcs-actions {
        justify-content: center;
    }

    /* --- ページネーション中央寄せ --- */
    .nav-below,
    .akcs-pagination {
        text-align: center;
    }

    /* --- グリッド要素のはみ出し保険（flex項目にmin-width:0） --- */
    .entry-content :is(.row, .grid, [class*="row"], [class*="grid"], .cards)>* {
        min-width: 0 !important;
    }

    /* （必要なら有効化）フレームワークの負マージン対策
  .entry-content .row{ margin-left: 0 !important; margin-right: 0 !important; }
  */

    /* --- iframe一般 --- */
    iframe {
        width: 100% !important;
        max-width: 100% !important;
        display: block;
    }

    /* --- reCAPTCHA v3 バッジ --- */
    .grecaptcha-badge {
        right: 8px !important;
        bottom: 8px !important;
        transform: scale(0.9);
        transform-origin: right bottom;
        z-index: 2147483000;
    }

    /* --- 外部ウィジェット --- */
    .ue-sidebar-container {
        right: 0 !important;
        max-width: 100% !important;
        overflow: clip;
    }

    /* --- ニュースティッカー --- */
    #ticker.newsticker {
        position: static !important;
        left: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        transform: none !important;
        overflow: hidden !important;
        white-space: nowrap;
    }

    #ticker.newsticker>li {
        display: inline-block;
    }

/* Active Filters chips */
/* 共通（PCでもSPでも使う） */
.akcs-actives {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.akcs-chip {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--c-border, #ddd);
    border-radius: 9999px;
    background: #449079;
    color: #ffffff;
    font-size: 12px;
    line-height: 1;
    padding: 6px 12px;
    /* PC既定 */
    min-height: 32px;
    /* PC既定 */
    touch-action: manipulation;
}

.akcs-actives__title {
    font-size: 11px;
    color: #333;
    margin-right: .25rem;
}



.akcs-chip__x {
    text-decoration: none;
    border: 0;
    background: transparent;
    cursor: pointer;
    font-weight: 700;
    line-height: 1;
    color: #cccccc;
}

.akcs-chip__x:hover {
    color: #ffffff;
}

.akcs-active-clear {
    margin-left: .25rem;
    font-size: 12px;
    color: #446e63;
    text-decoration: underline;
}

.akcs:focus-visible {
    outline: 2px solid var(--c-focus, #2684ff);
    outline-offset: 2px;
}

.akcs__label {
    white-space: nowrap;
}

.akcs__remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    /* PC既定 */
    margin-left: 6px;
    border-radius: 50%;
}


    /* --- デバッグ用オーバーレイ（必要時のみ） ---
  html::after{
    content: "MQ:768 OK";
    position: fixed;
    bottom: 4px; left: 4px;
    z-index: 999999;
    background: rgba(0,0,0,.6);
    color: #fff;
    font: 10px/1.4 system-ui;
    padding: 2px 4px;
    border-radius: 3px;
    pointer-events: none;
  }
  ---------------------------------------------------- */
}

/* === OPTIONAL: ヘッダーをstickyに戻したい場合 =======
@media (max-width: 768px){
  .site-header, #header, header[role="banner"]{
    position: sticky !important;
    top: 0;
    z-index: 1000;
  }
  :target{ scroll-margin-top: var(--header-offset); }
}
==================================================== */

/* ====== SPホットフィックス（まずは“効かせて外す”） ====== */
@media (max-width: 768px) {

    /* 1) ヘッダーのはみ出しを止める */
    .header_inner {
        min-width: 0 !important;
        width: 100%;
    }

    .logo_img_cst img {
        max-width: 100%;
        height: auto;
        display: block;
    }

    /* 2) 情報ティッカーを隠す（不要なら） */
    .info_top {
        display: none;
    }

    /* 3) ビルボード：スライダーを丸ごと隠してヒーロー化 */
    #billboard .slider {
        display: none !important;
    }

    /* 好みのSP用画像に差し替え */
    #billboard {
        background: url("../../../mu-plugins/ak-assets/img/mv01.jpg") center/cover no-repeat !important;
        /* 高さは画像比率に合わせて調整。aspect-ratioが使えれば下でもOK */
        height: clamp(240px, 40vw, 380px);
        /* aspect-ratio: 16 / 9; min-height: 180px; */
    }

    /* 4) 画像のはみ出しを一括で抑止 */
    img,
    video,
    svg {
        max-width: 100%;
        height: auto;
    }

    /* 5) コンテンツ幅の固定やフロートを解除 */
    #contents,
    #main {
        width: auto !important;
        max-width: 100%;
        float: none;
    }

    /* 6) 地域リスト（カテゴリ）を“map背景なしのリスト表示”に */
    .box_map {
        background: none !important;
    }

    .box_map ul,
    .box_map ol {
        position: static !important;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 4px;
    }

    .box_map li {
        position: static !important;
        margin: 0;
    }

    .box_map li a {
        display: block;
        padding: .6em .8em;
        border: 1px solid #449079;
        border-radius: .4em;
        font-size: clamp(12px, 3.2vw, 14px);
        text-decoration: none;
        color:#fff;
    }

    /* 7) 都道府県リンクの並び（#nav2）をカードグリッドに */
    .box_pref #nav2 {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .box_pref #nav2>li {
        list-style: none;
    }

    .box_pref #nav2 a {
        display: block;
        padding: .6em .8em;
        border: 1px solid #ddd;
        border-radius: .4em;
        font-size: clamp(12px, 3.2vw, 14px);
    }

    /* 8) サイドバー：バナー多すぎ問題 → “必要分だけ表示”
     対象のウィジェットに「banner-list」クラスを1つ付与しておくと、
     5個目以降を隠せます（HTMLに手を入れられないなら後述JSでトグルも可）。 */
    .banner-list a:nth-of-type(n+5) {
        display: none !important;
    }

    /* 9) 最後の逃げ（根本対策後に残る微小な横スクロールを封じる）
     根本原因は上で潰せているはず。どうしても残るときだけ使う。 */
    html,
    body {
        overflow-x: hidden;
    }
}

/* ====== 個別追加 ====== */
@media (max-width: 768px) {

    
        .logo_nav_cst {
            text-align: center;
            margin: 0 auto!important;
        }

                #billboard {
                    min-width:0;
                    margin:10px auto;
                    position:static;
                    max-width:100%;
                    min-width:0;
                }
                
header.header_front_page_cst {
    height:auto;
}



.info_box_cct {
    height:60px;
}

.info_box_cct img {
    position:static;
}

#akiya-wizard .nT {
    font: size 18px !important;;
    box-sizing: border-box;;
}




.box_pref {
    display:none;
}

.syokusyu_box_cst .select_button_cst {
    font-size:16px;
}

.bigbutton_box_cst .select_button_cst {
    font-size:16px;
    color:#fff;
}

/* 共通 */
.pref-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: 1fr;
}


.pref-group h3 {
    margin: 0 0 .4em;
    font-size: 14px;
}

.pref-list {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    list-style: none;
    padding: 0;
    margin: 0;
}

.pref-list a {
    display: block;
    padding: .5em .7em;
    border: 1px solid #e6e6e6;
    border-radius: 4px;
    text-decoration: none;
}

.syokushu_box_cst {
    width: 168px;
    margin: 4px 0;
}


.select_button_cst {
    display: block;
    margin: auto;
    width: 90%;
    height: 46px;
    text-align: center;
    text-decoration: none;
    line-height: 46px;
    outline: none;
    position: relative;
    border-radius: 4px;
    color: #fff;
    -webkit-transition: none;
    transition: none;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
    font-size: 20px;
}

.select_button_cst:hover {
    text-decoration: none;
}

.select_button_cst:active {
    top: 3px;
    box-shadow: none;
}

.syokushu_box_cst .select_button_cst {
    font-size: 18px;
    background-color: #1abc9c;
    box-shadow: 0 3px 0 #0e8c73;
}

.syokushu_box_cst .select_button_cst:hover {
    background-color: #31c8aa;
    box-shadow: 0 3px 0 #23a188;
}

.bigbutton_box_cst {
    margin-bottom: 40px;
}

.bigbutton_box_cst .select_button_cst {
    background-color: #1abc9c;
    box-shadow: 0 3px 0 #0e8c73;
}

.bigbutton_box_cst .select_button_cst:hover {
    background-color: #31c8aa;
    box-shadow: 0 3px 0 #23a188;
}

.googlemap_cst {
    text-align: center;
    margin: auto;
    padding: 5%;
}

.widget-area {
margin: 20px 0;
}


.widget-area ul {
    margin: 0px;
    padding: 0px;
    list-style: none;
}

.widget-area h3 {
    line-height: 1.5em;
}

.widget-container2 {
    border: 1px solid #449079;
    padding: 5%;
    margin-bottom: 20px;
    background-color: #fff;
    color:#666;
}

.widget-container2 h3 {
    border-left: 4px solid orange;
    border-bottom: 1px solid #449079;
    padding-left: 10px;
    margin-bottom: 10px;
}

.widget-container2 li {
    padding-left: 10px;
    list-style: disc;
    list-style-position: inside;
    line-height: 1.4em;
    margin-bottom: 1em;
}

.widget-container2 li .post-date {
    font-size: 80%;
    color: #999;
}

/* SP（767px以下など） */
@media (max-width: 767px) {
    .chips {
        flex-wrap: nowrap;
        /* 一列に */
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
        padding-inline: max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right));
    }

    .chip {
        font-size: clamp(12px, 3.6vw, 14px);
        padding: 10px 14px;
        /* 高さUPでタップしやすく */
        min-height: 40px;
        /* 目安：36–44px */
    }

    .chip__label {
        max-width: 16ch;
        /* 長文は省略 */
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .chip__remove {
        width: 24px;
        height: 24px;
        /* 触りやすく */
        margin-left: 4px;
    }
}





}


@media (min-width: 560px) {
    .pref-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 840px) {
    .pref-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}



/* スマホ～タブレットで地図配置を捨ててリスト表示へ */
@media (max-width: 1024px) {
    .box_map.Lcon #pref_dd {
        padding: 8px;
        overflow: hidden;
    }

    .box_map.Lcon #nav2 {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        /* 2列スタート */
        gap: 8px 10px;
    }

    /* 既存の位置指定・サイズ指定を“なかったこと”にする */
    .box_map.Lcon #nav2 li {
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        float: none !important;
        transform: none !important;
        width: auto !important;
        margin: 0 !important;
    }

    .box_map.Lcon #nav2 a {
        display: block;
        padding: .5em .7em;
        border: 1px solid #e6e6e6;
        border-radius: 4px;
        text-decoration: none;
        line-height: 1.3;
        word-break: keep-all;
        /* 日本語の不自然な改行を抑止 */
    }
}

/* 画面幅に応じて列数だけ増やす（任意） */
@media (min-width: 480px) and (max-width: 1024px) {
    .box_map.Lcon #nav2 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 680px) and (max-width: 1024px) {
    .box_map.Lcon #nav2 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    
}

/* =====================================================
   Mobile Override PACK v1.3 → hotfix v1.3.1
   最小差分：壊れ修正＋到達不能/はみ出し解消＋冗長整理
   ===================================================== */

/* 1) .br--sp を素直に（内側の入れ子を外して可読性UP） */
.br--sp {
    display: none;
}

@media (max-width: 768px) {
    .br--sp {
        display: inline;
    }
}

/* 2) #akiya-wizard のタイポ修正（効いていなかった） */
@media (max-width: 768px) {
    #akiya-wizard .nT {
        font-size: 18px !important;
        box-sizing: border-box;
    }
}

/* 3) 表記ゆれフォロー（本来は syokushu_ に統一推奨） */
.syokushu_box_cst .select_button_cst {
    font-size: 16px;
    color:#fff;
}

/* 互換：もし HTML に syokusyu_ が残っていても適用できるよう併記 */
.syokusyu_box_cst .select_button_cst {
    font-size: 16px;
}

/* 4) ジャンルタイトルのはみ出し（left+width:100% を回避） */
@media (max-width: 768px) {
    .genre_title_cst {
        left: auto;
        margin-left: 2%;
        width: 96%;
        overflow: clip;
        /* ::before の三角がはみ出す場合の保険 */
    }
}

/* 5) info ボックスの固定寸法を緩和（SP 時のみ） */
@media (max-width: 768px) {
    .info_block_cst {
        width: auto !important;
    }
        .info_block_cst a {
            color:#666;}

    .info_box_cst,
    .info_box_cstN {
        width: auto !important;
        height: auto !important;
    }

    .info_box_cct {
        height: auto;
    }

    /* 60px 固定を撤回して溢れ防止 */
}

/* 6) テーブルは内側スクロールへ（横スク抑止の実効性UP） */
@media (max-width: 768px) {
    table {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    th,
    td {
        word-break: break-word;
    }
}

/* 7) 到達不能 MQ を整理：840px は max-768 の外で */
@media (min-width: 560px) and (max-width: 768px) {
    .pref-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 840px) {
    .pref-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* 8) #billboard の二重宣言を統合（SP 版を一本化） */
@media (max-width: 768px) {
    #billboard {
        position: static;
        margin: 10px auto;
        max-width: 100%;
        min-width: 0;
        background: url("../../../mu-plugins/ak-assets/img/mv01.jpg") center/cover no-repeat !important;
        height: clamp(240px, 40vw, 380px);
    }
}

/* 9) 補足：メニュー用画像ボックスの挙動を安定 */
@media (max-width: 768px) {
    .info_block_cst .info_box_imgN {
        aspect-ratio: 158 / 99;
        overflow: hidden;
    }

    .info_box_info p {
        line-height: 1.4;
    }

    /* 文字詰まり軽減 */
}

/* 10) 16px 基準を明示（上流の 100% と二重だが最終値を確定） */
html {
    font-size: 16px;
}

/* --- NOTE -------------------------------------------
  - 空の @media (max-width: 768px) { } ブロックは削除推奨
  - .syokusyu_ は .syokushu_ に統一できるなら上の互換指定は不要
  - .genre_title_cst::before がどうしてもはみ出す場合は
      .genre_title_cst::before { left: 0; transform: translateX(-9px); }
    のようにトランスフォーム側で調整すると描画が安定します
----------------------------------------------------- */

/* 横スクロールの緊急ガード */
html,
body {
    overflow-x: hidden;
}

/* モバイル時の固定幅リセット */
@media (max-width: 768px) {

    /* 画像は親幅にフィット */
    img {
        max-width: 100% !important;
        height: auto !important;
    }

    /* ヘッダーの固定幅解除 */
    .header_inner {
        min-width: 0 !important;
        width: 100% !important;
    }

    /* ロゴ・ナビ・検索のはみ出し抑止 */
    .logo_img_cst,
    .logo_nav_cst,
    #searchform {
        max-width: 100% !important;
    }

    .logo_img_cst img {
        width: 100% !important;
        height: auto !important;
    }

    /* ヒーロー/スライダーの固定幅対策 */
    ul.slider {
        width: 100% !important;
        overflow: hidden;
    }

    ul.slider li {
        width: 100% !important;
        left: 0 !important;
    }

    ul.slider img {
        width: 100% !important;
        height: auto !important;
    }

    /* 横長バナー類を100%化 */
    .info_box_imgL,
    .info_box_cct,
    .info_box_cct2,
    .app {
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box;
    }

    .info_box_imgL img,
    .info_box_cct img,
    .info_box_cct2 img {
        width: 100% !important;
        height: auto !important;
    }

    /* 地域検索ボックスの幅超過を解消 */
    .box_pref,
    #pref_dd {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    /* WebTicker が版面を広げないように */
    .tickercontainer,
    .webticker,
    #webticker {
        width: 100% !important;
        overflow: hidden !important;
    }
}

/* ===== Mobile grid utilities ===== */
@media (max-width: 767.98px) {

    /* 列数と隙間を変数で切替（1↔2 など） */
    .sp-grid {
        display: grid !important;
        grid-template-columns: repeat(var(--sp-cols, 2), minmax(0, 1fr));
        gap: var(--sp-gap, 12px);
    }

    /* 旧来のfloatや固定幅の影響を打ち消し */
    .sp-grid>* {
        float: none !important;
        width: auto !important;
    }

        .sp-gridLB {
            display: grid !important;
            grid-template-columns: repeat(var(--sp-cols, 2), minmax(0, 1fr));
            gap: var(--sp-gap, 12px);
            margin-top:20px;
            padding:4px;
        }
    
        /* 旧来のfloatや固定幅の影響を打ち消し */
        .sp-gridLB>* {
            float: none !important;
            width: auto !important;
        }

                .sp-gridFM {
                    display: grid !important;
                    grid-template-columns: repeat(var(--sp-cols, 8), minmax(0, 1fr));
                    gap: var(--sp-gap, 6px);
                    margin-top: 20px;
                    padding: 4px;
                    font-size:11px;
                }
        
                /* 旧来のfloatや固定幅の影響を打ち消し */
                .sp-gridFM>* {
                    float: none !important;
                    width: auto !important;
                }
                                .box_mapF {
                                    background: #dedede;
                                    text-align:center;
                                    margin: 0 auto 0;
                                    padding:0;
                                }

    .spNon {
        display:none;
    }
        .camp {
            float: right !important;
            width: 20px !important;
            margin-right: 20px !important;
        }

/* ===== グリッド中でのブレーク用ユーティリティ ===== */
/* 親が grid（例：.sp-grid）であることを想定。 */
.sp-grid>.grid-break {
    /* グリッド全幅に広げて1要素として表示 */
    grid-column: 1 / -1;
}

/* ① グリッドの中で1列レイアウト＋中央寄せ */
.sp-grid>.grid-1col {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    /* 中身を中央揃え */
}

/* ② グリッド解除っぽくブロック化して中央寄せ */
.sp-grid>.grid-off {
    display: block;
    text-align: center;
}

/* ===== ページネーション共通装飾 ===== */
.nav-below {
    margin: 2rem 0;
}

/* PageNavi（div.wp-pagenavi）／paginate_links（ul.page-numbers）両対応 */
.nav-below .wp-pagenavi,
.nav-below .page-numbers {
    display: inline-flex;
    /* インラインなので親の中央寄せの影響を受ける */
    gap: .5rem;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    /* ul.page-numbers の場合に効く */
    padding-left: 0;
    /* ul 初期スタイル対策 */
    list-style: none;
}

.nav-below .wp-pagenavi a,
.nav-below .wp-pagenavi span,
.nav-below a.page-numbers,
.nav-below span.page-numbers {
    padding: .5rem .75rem;
    border: 1px solid var(--akcs-border, #d9d9d9);
    border-radius: .375rem;
    text-decoration: none;
    line-height: 1.2;
}

.nav-below .wp-pagenavi .current,
.nav-below .current {
    background: var(--akcs-bg-muted, #f5f5f5);
    pointer-events: none;
}

/* ===== 空き家買取記事リンク（任意で少しだけ強調） ===== */
.akiya-cta {
    margin-top: 2rem;
}

.akiya-cta .akiya-cta__link a {
    display: inline-flex;
    gap: .5em;
    align-items: center;
    padding: .75rem 1rem;
    border: 1px solid var(--akcs-border, #d9d9d9);
    border-radius: .5rem;
    text-decoration: none;
}

.akiya-cta .akiya-cta__link a:hover {
    border-color: var(--akcs-accent, #0097a7);
}
    

    /* 汎用のオーバーフロー対策（画像・メディア） */
    img,
    svg,
    video {
        max-width: 100%;
        height: auto;
    }

    /* 代表的な“横幅px固定”要素をモバイルで解放（必要に応じて追加） */
    .header_inner,
    .logo_img_cst,
    .logo_nav_cst,
    #contents,
    #main,
    .contentsbox,
    .slider,
    .slider li,
    .info_block_cst,
    .info_box_cct,
    .info_box_cct2 {
        width: auto !important;
        max-width: 100% !important;
    }

    /* スライダー画像のはみ出し抑制 */
    .slider {
        overflow: hidden;
    }

    .slider img {
        width: 100%;
        height: auto;
    }
}

/* サイドバナー（モバイル） */
@media (max-width: 767.98px) {
    #side {
    margin-top:20px;
    }
    #side .sp-grid {
        --sp-cols: 2;
        --sp-gap: 10px;
        align-items: stretch;
    }

        #side .sp-grid1 {
            text-align: center;
        }
                #side .sp-grid1 img {
                    display:inline;
                }
                                figure.sp-grid1 {
                                    margin-top:20px;

                                }
    /* バナーを“カード化”して行内で高さを揃えやすくする */
    #side .banner {
        display: flex;
        flex-direction: column;
        height: 100%;
        text-align: center;
    }

    .side-banners .banner img {
        width: 100%;
        /* 高さを揃えたい場合は擬似的に比率固定 */
        aspect-ratio: 3 / 1;
        /* 画像比率に合わせて調整 */
        object-fit: cover;
    }

    /* 1列に落とすとき（センタリング） */
    .side-banners.is-1col {
        --sp-cols: 1;
    }

    .side-banners.is-1col>* {
        margin-inline: auto;
        max-width: 420px;
    }
}

@media (max-width: 767.98px) {
    footer .footer-text {
        font-size: .92rem;
        line-height: 1.75;
    }

    footer .footer-text p {
        margin: 0 0 .85em;
    }

    footer .footer-text a {
        overflow-wrap: anywhere;
        /* 長いURL対策 */
        text-underline-offset: .2em;
    }

    /* 強調がはみ出しの原因になっていた箇所のケア */
    strong {
        word-break: break-word;
    }
}


@media (max-width: 767.98px) {
    .vendors-grid.sp-grid {
        --sp-cols: 2;
        --sp-gap: 12px;
    }

    .vendor-card {
        display: flex;
        flex-direction: column;
        height: 100%;
        border: 1px solid #eee;
        border-radius: 8px;
        overflow: hidden;
        background: #fff;
    }

        .vendor-card .post{
            border:1px solid #eee;
        }

    .vendor-card__thumb {
        aspect-ratio: 4 / 3;
        background: #f6f6f6;
    }

    .vendor-card__thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        margin:-bottm:6px;
    }

    .vendor-card__body {
        flex: 1;
        display: flex;
        flex-direction: column;
        padding: 10px;
    }

    .vendor-card__title {
        font-size: 11px;
        line-height: 1.45;
        margin: 0 0 .4em;
    }

        .vendor-card__addr {
            margin-top: auto;
            font-size: .7rem;
            color: #666;
            font-weight:bold;
        }

    .vendor-card__meta {
        margin-top: auto;
        font-size: 10px;
        color: #666;
        font-weight:bold;
        margin-bottom:10px;
    }

        /* サイト内更新 */
        time {
            width: 100%;
            max-width: 1140px;
            height: auto;
            display: block;
            text-align: right;
            margin: 0 auto;
        }
    
        
}

/* Scoped mobile grid helpers (SPだけ) */
@media (max-width: 768px) {
    .sp-container {
        /* 見た目は変えない。フック用途 */
    }

    /* 2列グリッド（カード一覧） */
    .sp-grid.sp-grid--vendor {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    /* グリッドから“除外/単列化”したいエリア */
    .sp-paper {
        display: block;
        margin-top: 10px;
    }

    .sp-paper>* {
        max-width: 100%;
    }

    /* vendor-card をセル扱いに（既存 .post を再利用） */
    .sp-grid--vendor>.post {
        width: auto !important;
        margin: 0 !important;
        float: none !important;
    }
}

/* PCは非影響（sp-前置き＋メディアクエリで完全スコープ） */

/* 251009 個別系 */
@media (max-width: 768px) {

.since {
    font-size:12px;
    text-align: right;
}

.mapInfo,.mapInfo ul li {
    font-size: 11px;
}

.single-akiya_news .blog_info h2 {
    font-size:14px;
}



/* 21個別用 */

.fsP48 {
    font-size: 32px;
}

.fsP42 {
    font-size: 30px;
}

.fsP36 {
    font-size: 24px;
}

.fsP32 {
    font-size: 22px;
}

.fsP30 {
    font-size: 21px;
}

.fsP28 {
    font-size: 20px;
}

.fsP24 {
    font-size: 18px;
}

.fsP20 {
    font-size: 16px;
}

.fsP18 {
    font-size: 14px;
}

.fsP16 {
    font-size: 12px;
}

.fsP14 {
    font-size: 10px;
}

.fs60 {
    font-size: 28px;
}

.fs48 {
    font-size: 22px;
}

.fs36 {
    font-size: 20px;
}

.fs32 {
    font-size: 18px;
}

.fs30 {
    font-size: 17px;
}

.fs28 {
    font-size: 16px;
}

.fs24 {
    font-size: 15px;
}

.fs22 {
    font-size: 14px;
}

.fs20 {
    font-size: 13px;
}

.fs18 {
    font-size: 12px;
}

.fs17 {
    font-size: 11px;
}

.fs16 {
    font-size: 11px;
}

.fs14 {
    font-size: 10px;
}

/* 24大嶋Mobile */
.fsO60 {
    font-size: 28px;
}

.fsO48 {
    font-size: 22px;
}

.fsO36 {
    font-size: 20px;
}

.fsO32 {
    font-size: 18px;
}

.fsO30 {
    font-size: 17px;
}

.fsO28 {
    font-size: 14px;
}

.fsO24 {
    font-size: 14px;
}

.fsO22 {
    font-size: 14px;
}

.fsO20 {
    font-size: 12px;
}

.fsO18 {
    font-size: 11px;
}

.fsO17 {
    font-size: 11px;
}

.fsO16 {
    font-size: 10px;
}

.fsO14 {
    font-size: 10px;
}

.fsoS {
    width: 100%;
    border: 4px solid #245a38;
    padding: 1.5em 1em;
    margin: 0 auto;
    box-sizing: border-box;
}

/* 240821 osm */
.fs20-09 {
    font-size: 9px !important;
}

.fs16-10 {
    font-size: 10px !important;
}

.fs20-11 {
    font-size: 11px !important;
}

.fs18-10 {
    font-size: 10px !important;
}

.fs16-09 {
    font-size: 9px !important;
}

.fs24-13 {
    font-size: 13px !important;
}

.fs28-14 {
    font-size: 14px !important;
}

.h2_art {
    font-size:12px;
    text-align: center;
    margin:20px auto;
}

#senyou_button {
    margin-top:20px;
}

/* BUkken */
.box_art {
    margin-bottom: 10px;
    font-size:9px;
}

.tArt {
    width: 100%;
    border-collapse: collapse;
}

.tArt th {
    border: 1px solid #ccc;
    padding: 4px;
    font-size: 11px;
    text-align: center;
}

.tArt td {
    border: 1px solid #ccc;
    vertical-align: middle;
    line-height: 1.2em;
    padding: 4px;
    text-align: center;
    width:auto;
    font-size:8px;
}

.img_art {
    width: 160px;
}

.tArt img {
    width: 100%;
}

.price_article {
    width: 90px;
}

.madori_art {
    width: 100px;
}

.price_art {
    font-size: 16px;
    font-weight: bold;
    color: #DC0E11;
}

.tra_art {
    width: 280px;
}

.h2_art {
    font-size: 18px;
    text-align: center;
}

.copy a {
    text-decoration: none;
    color: #fff;
}
/* ====== To PageTop：中央配置 ====== */
.to-pagetop,
.a-home {
    display: grid;
    place-items: center;
    margin: 2rem 0;
}

.to-pagetop a {
    display: inline-block;
    padding: .75rem 1rem;
    border-radius: 9999px;
    background: #f5f5f5;
}

.a-home a {
    display: inline-block;
    padding: .75rem 1rem;
    border-radius: 9999px;
    background: #f5f5f5;
}

/* 201509 */
#list_akiyakanrishi {
    border-collapse: collapse;
    font-size:9px;
}

#list_akiyakanrishi th,
#list_akiyakanrishi td {
    border: 1px solid #ddd;
    padding: 6px;
    text-align: center;
    vertical-align: middle;
    line-height: 1.4em;
}
}

@media (max-width: 768px) {
    #side .sb-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        list-style: none;
        padding: 0;
        margin: 0;
    }

    #side .sb-grid .banner img {
        width: 100%;
        height: auto;
    }

    #side details.sb-acc {
        margin-top: 8px;
    }

    #side details.sb-acc>summary.sb-acc__sum {
        list-style: none;
        padding: .6em .8em;
        border: 1px solid #ddd;
        border-radius: 6px;
        text-align: center;
        cursor: pointer;
        user-select: none;
        background: #fff;
    }

    #side details.sb-acc>summary::-webkit-details-marker {
        display: none;
    }

    /* ← ここが“足りていない”と中身が見えません */
    #side details.sb-acc>.sb-acc__content {
        display: none;
    }

    #side details.sb-acc[open]>.sb-acc__content {
        display: block;
    }

    /* 1列で見せたい固定パート（お使いの場合） */
    .cbox-inline img {
        max-width: 100%;
        height: auto;
    }

    .cbox-inline {
        margin: .75rem 0;
    }
}

@media (min-width: 769px) {
    #side details.sb-acc {
        display: block;
    }

    #side details.sb-acc>summary.sb-acc__sum {
        display: none;
    }

    #side details.sb-acc>.sb-acc__content {
        display: block;
    }

    /* 念のため */
}

@media (max-width: 768px) {
.mBNone {
    display: none;
}

.mBBlock {
    display: block;
    border:2px solid #ccc;  
    box-sizing:border-box;
}

}
@media (min-width: 769px) {
    .mBNone {
        display: block;
    }

    .mBBlock {
        display: none;
    }

}

/* === PC幅は常に展開・トグル非表示 === */
@media (min-width: 769px) {

    /* パネルは常に表示（JSが display:none を書いた場合にも勝つように !important を付与） */
    .akcs-collapsible .akcs-c-panel {
        display: block !important;
        height: auto !important;
        overflow: visible !important;
    }

    /* 折りたたみ用ボタンはPCでは非表示 */
    .akcs-collapsible .akcs-c-toggle {
        display: none !important;
    }
}