.akarui-hiroba{
    --blue:#0875c9;
    --dark:#18334d;
    --text:#29465e;
    --border:#dce8f1;
    width:100%;
    max-width:1200px;
    margin:0 auto;
    padding:28px 0 80px;
}
.akarui-hiroba *{box-sizing:border-box}

.akarui-hiroba__tabs{
    display:flex;
    flex-wrap:wrap;
    margin:0 0 24px;
    border:1px solid var(--border);
    border-radius:6px;
    overflow:hidden;
}
.akarui-hiroba__tabs button{
    flex:1 1 180px;
    min-height:50px;
    padding:10px 12px;
    border:0;
    border-right:1px solid var(--border);
    background:#fff;
    color:var(--text);
    font-size:13px;
    font-weight:700;
    cursor:pointer;
}
.akarui-hiroba__tabs button.is-active,
.akarui-hiroba__tabs button:hover{color:#fff;background:var(--blue)}

.akarui-hiroba__toolbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-bottom:22px;
}
.akarui-hiroba__search{display:block;width:100%;max-width:440px}
.akarui-hiroba__search input{
    width:100%;min-height:44px;padding:10px 14px;
    border:1px solid var(--border);border-radius:5px;font-size:13px;
}
.akarui-hiroba__count{margin:0;font-size:12px;color:#728596}

.akarui-hiroba__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px 24px;
    align-items:stretch;
}
.akarui-hiroba-card{
    display:flex;flex-direction:column;height:100%;overflow:hidden;
    border:1px solid var(--border);border-radius:8px;background:#fff;
    box-shadow:0 5px 18px rgba(15,63,100,.05);
}
.akarui-hiroba-card[hidden]{display:none!important}
.akarui-hiroba-card__visual-link{display:block;text-decoration:none!important}
.akarui-hiroba-card__visual{
    display:flex;align-items:center;justify-content:center;
    height:390px;padding:22px;background:#f7fafc;overflow:hidden;
}
.akarui-hiroba-card__visual img{
    display:block;width:auto;max-width:100%;height:100%;max-height:346px;
    margin:0 auto;object-fit:contain;
}
.akarui-hiroba-card__placeholder{
    display:flex;align-items:center;justify-content:center;
    width:210px;height:300px;border:1px solid #cbdde8;background:#fff;
    color:#71889a;font-weight:700;
}
.akarui-hiroba-card__body{
    display:flex;flex-direction:column;flex:1;padding:22px 24px 24px;
}
.akarui-hiroba-card__meta{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}
.akarui-hiroba-card__meta span{
    padding:3px 8px;border-radius:3px;background:#eef6fb;
    color:#527089;font-size:10px;font-weight:600;
}
.akarui-hiroba-card h2{
    margin:0 0 14px!important;padding:0 0 11px!important;
    border:0!important;border-bottom:1px solid #e3e9ee!important;
    background:transparent!important;font-size:19px!important;line-height:1.45!important;
}
.akarui-hiroba-card h2 a{color:var(--dark)!important;text-decoration:none!important}
.akarui-hiroba-card__contents{
    color:var(--text)!important;font-size:13px!important;line-height:1.9!important;
}
.akarui-hiroba-card__actions{margin-top:auto;padding-top:20px}
.akarui-hiroba-card__actions a{
    display:flex;align-items:center;justify-content:center;
    width:100%;min-height:44px;border:1px solid var(--blue);border-radius:4px;
    color:#fff!important;background:var(--blue);font-size:13px;font-weight:700;
    text-decoration:none!important;
}

.akarui-hiroba__empty[hidden]{display:none!important}

/* single */
.akarui-library-single{max-width:1040px;margin:0 auto 50px}
.akarui-library-single__main{
    display:grid;grid-template-columns:320px minmax(0,1fr);
    gap:44px;align-items:start;margin-bottom:70px;
}
.akarui-library-single__cover img{
    display:block;width:100%;height:auto;object-fit:contain;
}
.akarui-library-single__meta{display:flex;gap:8px;margin-bottom:12px}
.akarui-library-single__meta span{
    padding:4px 9px;border-radius:3px;background:#eef6fb;color:#527089;font-size:11px;font-weight:700;
}
.akarui-library-single__body h2{
    margin:0 0 18px!important;padding:0 0 12px!important;border:0!important;
    border-bottom:1px solid #e3e9ee!important;background:transparent!important;
    color:var(--dark)!important;font-size:28px!important;
}
.akarui-library-single__contents{color:var(--text);font-size:14px;line-height:1.95}
.akarui-library-single__pdf{margin-top:24px}
.akarui-library-single__pdf a{
    display:inline-flex;align-items:center;justify-content:center;min-width:240px;min-height:46px;
    padding:10px 18px;border:1px solid var(--blue);border-radius:4px;
    color:#fff!important;background:var(--blue);font-size:13px;font-weight:700;text-decoration:none!important;
}
.akarui-library-single-nav{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;
    margin-top:36px;
}
.akarui-library-single-nav__card{
    display:grid;grid-template-columns:115px minmax(0,1fr);
    grid-template-rows:auto 1fr;gap:6px 16px;align-items:center;
    padding:18px;border:1px solid var(--border);border-radius:8px;
    background:#fff;text-decoration:none!important;
}
.akarui-library-single-nav__visual{
    grid-column:1;grid-row:1/3;display:flex;align-items:center;justify-content:center;
    width:115px;height:140px;background:#f7fafc;overflow:hidden;
}
.akarui-library-single-nav__thumb{display:block;width:auto;max-width:100%;height:100%;object-fit:contain}
.akarui-library-single-nav__placeholder{
    display:flex;align-items:center;justify-content:center;width:90px;height:120px;
    border:1px solid #ccdce7;background:#fff;color:#71889a;font-size:12px;font-weight:700;
}
.akarui-library-single-nav__label{color:var(--blue);font-size:12px;font-weight:700;align-self:end}
.akarui-library-single-nav__title{color:var(--dark);font-size:16px;font-weight:700;line-height:1.5;align-self:start}
.akarui-library-single__back{display:flex;justify-content:center;margin-top:30px}
.akarui-library-single__back a{
    display:inline-flex;align-items:center;justify-content:center;min-width:220px;min-height:46px;
    padding:10px 18px;border:1px solid var(--blue);border-radius:4px;
    color:var(--blue)!important;background:#fff;font-size:13px;font-weight:700;text-decoration:none!important;
}

@media(max-width:767px){
    .akarui-hiroba__tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
    .akarui-hiroba__toolbar{display:block}
    .akarui-hiroba__count{margin-top:8px}
    .akarui-hiroba__grid{grid-template-columns:1fr;gap:20px}
    .akarui-hiroba-card__visual{height:340px}
    .akarui-library-single__main{display:block}
    .akarui-library-single__cover{max-width:280px;margin:0 auto 26px}
    .akarui-library-single-nav{grid-template-columns:1fr}
}


/* Lightning標準の前後記事ナビは使わない */
body.single-akarui_hiroba .vk_posts.next-prev,
body.single-akarui_hiroba .next-prev,
body.single-akarui_hiroba .postNextPrev {
    display: none !important;
}


/* =========================================================
   私たちの広場 v1.6.1
   タブは3等分で枠内いっぱいに表示
========================================================= */

.akarui-hiroba__tabs {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
    overflow: hidden !important;
}

.akarui-hiroba__tabs button {
    width: 100% !important;
    min-width: 0 !important;
    white-space: nowrap !important;
}

/* スマホは2列、さらに狭い画面は1列 */
@media (max-width: 767px) {

    .akarui-hiroba__tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

}

@media (max-width: 420px) {

    .akarui-hiroba__tabs {
        grid-template-columns: 1fr !important;
    }

}

.akarui-hiroba__tabs--bottom {
    margin-top: 34px !important;
    margin-bottom: 0 !important;
}


/* =========================================================
   私たちの広場 v1.6.2
   説明文 + Votersへの継承案内
========================================================= */

.akarui-hiroba-intro {
    margin: 0 0 30px;
}

.akarui-hiroba-intro__text {
    margin: 0;
    color: #29465e;
    font-size: 15px;
    line-height: 2;
}

.akarui-hiroba-intro__note {
    margin: 8px 0 0;
    color: #6b7f8f;
    font-size: 13px;
    line-height: 1.8;
}

.akarui-hiroba-intro__succession {
    margin: 18px 0 0;
    color: #29465e;
    font-size: 14px;
    line-height: 1.9;
}

.akarui-hiroba-intro__succession a {
    color: #0875c9 !important;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.akarui-hiroba-intro__succession a:hover {
    text-decoration-thickness: 2px;
}

@media (max-width: 767px) {

    .akarui-hiroba-intro {
        margin-bottom: 24px;
    }

    .akarui-hiroba-intro__text {
        font-size: 14px;
        line-height: 1.9;
    }

    .akarui-hiroba-intro__note {
        font-size: 12px;
    }

    .akarui-hiroba-intro__succession {
        font-size: 13px;
    }
}
