/* ==================================================
   エロぽよアンテナ
   全体幅1200px・中央揃え（HTML構造に合わせた修正版）

   実際のHTMLは body > #wrapper > #page_contents。
   幅を制限している可能性がある #page_contents を明示的に広げる。
================================================== */

/* ページ全体 */
html {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #202020 !important;
    overflow-x: hidden;
    box-sizing: border-box;
}

body {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #202020 !important;
    overflow-x: hidden;
    box-sizing: border-box;
}

body *,
body *::before,
body *::after {
    box-sizing: border-box;
}

/* 最外側のラッパー */
body > #wrapper,
#wrapper {
    display: block !important;
    width: 100% !important;
    max-width: 1200px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    float: none !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    box-sizing: border-box !important;
}

/* 重要：実際のHTMLにある #page_contents の固定幅を解除 */
#page_contents {
    display: block !important;
    width: 100% !important;
    max-width: 1200px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    float: none !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    box-sizing: border-box !important;
}

/* ほかの主要なコンテナ */
#wrap,
#container,
#page,
#layout,
#contents,
#content,
#main,
#mainContent,
#main_content,
#thread_list,
#footer,
.site,
.site-container,
.site-wrap,
.page-wrapper,
.container,
.wrapper {
    width: 100% !important;
    max-width: 1200px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* ヘッダー */
header,
#header,
#headerArea,
#header_area,
.site-header,
.header,
.header-inner,
.header_inner,
.poyo-header,
.poyo-header-inner {
    width: 100% !important;
    max-width: 1200px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* メイン記事・一覧 */
#thread_list,
.poyo-main-grid,
.poyo-pickup-grid,
.poyo-rss-grid,
.BbsRanks {
    width: 100% !important;
    max-width: 1200px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* HTML内のテーブルを親コンテナ幅に合わせる */
#page_contents > table,
#page_contents table {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* ヘッダーやセクションの画像 */
img,
video,
iframe {
    max-width: 100%;
}

/* PC・タブレット：最大1200px */
@media screen and (min-width: 601px) {
    #wrapper,
    #page_contents {
        width: 100% !important;
        max-width: 1200px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* スマートフォン：画面幅に合わせる */
@media screen and (max-width: 600px) {
    #wrapper,
    #page_contents,
    #wrap,
    #container,
    #page,
    #layout,
    #contents,
    #content,
    #main,
    #mainContent,
    #main_content,
    #thread_list,
    #footer,
    .site,
    .site-container,
    .site-wrap,
    .page-wrapper,
    .container,
    .wrapper,
    header,
    #header,
    #headerArea,
    #header_area,
    .site-header,
    .header,
    .header-inner,
    .header_inner,
    .poyo-header,
    .poyo-header-inner,
    .poyo-main-grid,
    .poyo-pickup-grid,
    .poyo-rss-grid,
    .BbsRanks {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* ==========================================
   * エロぽよアンテナ *
   ラブリー × キラキラ × ネオン
========================================== */

/* タイトルバー */
.site-header {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    box-sizing: border-box;

    width: 100%;
    padding: 18px 16px 16px;
    margin: 12px 0 22px;

    border: 2px solid transparent;
    border-radius: 16px;

    background:
        linear-gradient(
            120deg,
            #35062f 0%,
            #19091f 42%,
            #101329 70%,
            #06343b 100%
        ) padding-box,
        linear-gradient(
            120deg,
            #ff4bc9,
            #c17aff,
            #6df7ff,
            #fff0a0,
            #ff4bc9
        ) border-box;

    box-shadow:
        0 0 8px rgba(255, 65, 208, .65),
        0 0 22px rgba(191, 75, 255, .3),
        0 0 32px rgba(0, 225, 255, .2),
        inset 0 0 28px rgba(255, 65, 208, .1);

    animation: headerGlow 4s ease-in-out infinite alternate;
}


/* 背景を横切るキラキラの光 */
.site-header::before {
    content: "";
    position: absolute;
    z-index: 0;

    top: -70%;
    left: -40%;

    width: 28%;
    height: 240%;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, .2),
        rgba(255, 115, 230, .2),
        rgba(110, 245, 255, .18),
        transparent
    );

    transform: rotate(24deg);
    animation: lightSweep 6s ease-in-out infinite;

    pointer-events: none;
}


/* 下側の虹色ネオンライン */
.site-header::after {
    content: "";
    position: absolute;
    z-index: 3;

    bottom: 0;
    left: 0;

    width: 100%;
    height: 4px;

    background: linear-gradient(
        90deg,
        #ff35c8,
        #ff83cf,
        #fff09a,
        #65ffff,
        #b66aff,
        #ff35c8
    );

    background-size: 250% 100%;

    box-shadow:
        0 0 8px #ff35c8,
        0 0 15px #ac68ff;

    animation: rainbowLine 4s linear infinite;

    pointer-events: none;
}


/* ヘッダー内部の基本配置 */
.site-header > * {
    position: relative;
    z-index: 1;
}


/* ==========================================
   上部の小さな文字
========================================== */

.site-kicker {
    margin: 0 auto 7px;

    color: #f4d6ff;

    font-size: 10px;
    font-weight: 900;
    letter-spacing: .28em;

    text-align: center;

    text-shadow:
        0 0 5px #fff,
        0 0 12px #c16aff;
}

.site-kicker span {
    display: inline-block;

    margin: 0 6px;

    color: #ff90df;
    font-size: 15px;

    text-shadow:
        0 0 5px #fff,
        0 0 12px #ff40c8;

    animation: smallHeart 1.5s ease-in-out infinite;
}


/* ==========================================
   左右の浮かぶハート
========================================== */

.site-header .site-floating-hearts {
    position: absolute;
    z-index: 1;

    color: #ff8ddc;

    font-size: 27px;
    line-height: 1;

    opacity: .9;

    text-shadow:
        0 0 5px #fff,
        0 0 10px #ff3ec9,
        0 0 20px #ff3ec9;

    pointer-events: none;

    animation: floatingHeart 3s ease-in-out infinite;
}

.site-header .heart-left {
    top: 42%;
    left: 4%;
    transform: rotate(-12deg);
}

.site-header .heart-right {
    top: 35%;
    right: 4%;

    color: #80faff;

    text-shadow:
        0 0 5px #fff,
        0 0 10px #00eaff,
        0 0 20px #7860ff;

    animation-delay: .8s;
}


/* ==========================================
   メインタイトル
========================================== */

.site-title {
    display: flex;
    flex-wrap: wrap;

    align-items: center;
    justify-content: center;

    gap: 5px;

    width: fit-content;
    max-width: 100%;

    margin: 0 auto 16px;
    padding: 8px 0;

    font-family:
        "Hiragino Kaku Gothic ProN",
        "Yu Gothic",
        Meiryo,
        sans-serif;

    font-size: clamp(24px, 3.5vw, 39px);
    font-weight: 900;
    letter-spacing: .025em;
    line-height: 1.5;

    text-align: center;
}


/* タイトルの両端のハート */
.title-heart {
    display: inline-block;

    color: #ffb5e8;
    -webkit-text-fill-color: #ffb5e8;

    font-size: .76em;

    filter:
        drop-shadow(0 0 3px #fff)
        drop-shadow(0 0 8px #ff35ca);

    animation: titleHeartBeat 1.8s ease-in-out infinite;
}

.title-heart-right {
    color: #91faff;
    -webkit-text-fill-color: #91faff;

    filter:
        drop-shadow(0 0 3px #fff)
        drop-shadow(0 0 9px #00eaff);

    animation-delay: .5s;
}


/* ==========================================
   エロぽよ：ぷるぷるピンク
========================================== */

.site-title-cute {
    position: relative;
    display: inline-block;

    padding: 0 7px 0 2px;

    background: linear-gradient(
        180deg,
        #fffbdc 0%,
        #ffd4f3 16%,
        #ff9be4 34%,
        #ff52cb 57%,
        #ff139e 78%,
        #e90087 100%
    );

    -webkit-background-clip: text;
    background-clip: text;

    color: transparent;
    -webkit-text-fill-color: transparent;

    -webkit-text-stroke: .45px rgba(255, 235, 253, .9);

    filter:
        drop-shadow(0 0 3px #fff)
        drop-shadow(0 0 7px #ff55d2)
        drop-shadow(0 0 16px #ff00b7)
        drop-shadow(0 0 27px rgba(255, 0, 183, .5));

    transform-origin: center bottom;

    animation: candyBounce 2.2s ease-in-out infinite;
}


/* エロぽよの上の小さなハート */
.cute-heart {
    position: absolute;

    top: -.35em;
    right: -.15em;

    color: #fff082;
    -webkit-text-fill-color: #fff082;
    -webkit-text-stroke: 0;

    font-size: .4em;
    line-height: 1;

    filter:
        drop-shadow(0 0 3px #fff)
        drop-shadow(0 0 8px #ff42cd);

    animation: heartFloat 1.5s ease-in-out infinite;
}


/* ==========================================
   アンテナ：水色 × ラベンダー
========================================== */

.site-title-rest {
    display: inline-block;

    background: linear-gradient(
        180deg,
        #ffffff 0%,
        #d9ffff 20%,
        #8bfaff 43%,
        #a9b8ff 66%,
        #eccaff 84%,
        #ffffff 100%
    );

    -webkit-background-clip: text;
    background-clip: text;

    color: transparent;
    -webkit-text-fill-color: transparent;

    -webkit-text-stroke: .35px rgba(235, 255, 255, .9);

    filter:
        drop-shadow(0 0 3px #fff)
        drop-shadow(0 0 8px #43eaff)
        drop-shadow(0 0 17px #8173ff)
        drop-shadow(0 0 26px rgba(219, 75, 255, .45));

    animation: antennaGlow 3s ease-in-out infinite alternate;
}


/* ==========================================
   サブタイトルの枠
========================================== */

.site-subtitle {
    display: flex;
    flex-wrap: wrap;

    justify-content: center;
    align-items: center;

    gap: 8px;

    width: fit-content;
    max-width: 100%;

    box-sizing: border-box;

    margin: 0 auto;
    padding: 8px 15px;

    border: 1px solid rgba(255, 125, 224, .9);
    border-radius: 999px;

    background: linear-gradient(
        100deg,
        rgba(255, 55, 201, .17),
        rgba(160, 80, 255, .16),
        rgba(0, 225, 255, .1)
    );

    color: #fff5ff;

    font-size: 12px;
    font-weight: 900;
    letter-spacing: .06em;

    text-align: center;

    text-shadow:
        0 0 5px #fff,
        0 0 10px #ff46ce;

    box-shadow:
        0 0 9px rgba(255, 45, 202, .5),
        0 0 18px rgba(171, 73, 255, .2),
        inset 0 0 12px rgba(255, 85, 215, .1);
}


/* サブタイトル両側のハート */
.subtitle-heart {
    display: inline-block;

    color: #ff9cde;

    font-size: 15px;

    text-shadow:
        0 0 4px #fff,
        0 0 9px #ff40c9;

    animation: smallHeart 1.5s ease-in-out infinite;
}

.subtitle-heart:last-child {
    color: #a5faff;

    text-shadow:
        0 0 4px #fff,
        0 0 9px #20eaff;

    animation-delay: .5s;
}


/* ==========================================
   下側のハート飾り
========================================== */

.site-decoration {
    margin-top: 10px;

    color: #ffb3e8;

    font-size: 12px;
    letter-spacing: .22em;

    text-align: center;

    text-shadow:
        0 0 5px #fff,
        0 0 10px #ff4bcf,
        0 0 18px #ad53ff;

    animation: decorationGlow 2.5s ease-in-out infinite alternate;
}


/* ==========================================
   アニメーション
========================================== */

/* 枠がピンクと水色に光る */
@keyframes headerGlow {
    0% {
        box-shadow:
            0 0 8px rgba(255, 55, 205, .6),
            0 0 20px rgba(180, 75, 255, .25),
            inset 0 0 22px rgba(255, 50, 200, .08);
    }

    100% {
        box-shadow:
            0 0 11px rgba(90, 245, 255, .7),
            0 0 28px rgba(100, 160, 255, .3),
            inset 0 0 25px rgba(0, 235, 255, .09);
    }
}


/* 横切る光 */
@keyframes lightSweep {
    0%, 15% {
        left: -40%;
    }

    70%, 100% {
        left: 125%;
    }
}


/* 虹色ライン */
@keyframes rainbowLine {
    from {
        background-position: 0% 50%;
    }

    to {
        background-position: 250% 50%;
    }
}


/* エロぽよがぷるん */
@keyframes candyBounce {
    0%, 100% {
        transform: scale(1) rotate(-.5deg);
    }

    50% {
        transform: scale(1.05) rotate(.5deg);
    }
}


/* ハートがふわふわ */
@keyframes heartFloat {
    0%, 100% {
        transform: translateY(0) scale(1);
    }

    50% {
        transform: translateY(-5px) scale(1.2);
    }
}


/* 左右のハートが動く */
@keyframes floatingHeart {
    0%, 100% {
        margin-top: 0;
        opacity: .7;
    }

    50% {
        margin-top: -8px;
        opacity: 1;
    }
}


/* タイトル両端のハート */
@keyframes titleHeartBeat {
    0%, 100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.18);
    }
}


/* 上下の小さなハート */
@keyframes smallHeart {
    0%, 100% {
        transform: scale(1);
        opacity: .8;
    }

    50% {
        transform: scale(1.2);
        opacity: 1;
    }
}


/* アンテナが虹色に光る */
@keyframes antennaGlow {
    from {
        filter:
            drop-shadow(0 0 3px #fff)
            drop-shadow(0 0 8px #43eaff)
            drop-shadow(0 0 15px #8173ff);
    }

    to {
        filter:
            drop-shadow(0 0 4px #fff)
            drop-shadow(0 0 10px #c779ff)
            drop-shadow(0 0 20px #ff51d9);
    }
}


/* 下側の装飾もきらきら */
@keyframes decorationGlow {
    from {
        opacity: .65;
    }

    to {
        opacity: 1;
    }
}


/* ==========================================
   スマホ対応
========================================== */

@media (max-width: 600px) {

    .site-header {
        padding: 15px 7px 13px;
        margin: 10px 0 16px;

        border-radius: 12px;
    }

    .site-kicker {
        font-size: 9px;
        letter-spacing: .18em;
    }

    .site-title {
        gap: 3px;

        font-size: clamp(19px, 5vw, 27px);
        letter-spacing: 0;

        margin-bottom: 13px;
    }

    .site-title-cute {
        padding-right: 6px;
    }

    .site-header .site-floating-hearts {
        font-size: 18px;
        opacity: .55;
    }

    .site-header .heart-left {
        left: 2%;
    }

    .site-header .heart-right {
        right: 2%;
    }

    .site-subtitle {
        gap: 5px;

        padding: 7px 10px;

        font-size: 10px;
        letter-spacing: .015em;
    }

    .subtitle-heart {
        font-size: 12px;
    }

    .site-decoration {
        font-size: 10px;
        letter-spacing: .12em;
    }
}


/* 動きを控えたい環境への配慮 */
@media (prefers-reduced-motion: reduce) {

    .site-header,
    .site-header::before,
    .site-header::after,
    .site-kicker span,
    .site-floating-hearts,
    .title-heart,
    .site-title-cute,
    .cute-heart,
    .site-title-rest,
    .subtitle-heart,
    .site-decoration {
        animation: none !important;
    }
}



/* ==========================================
   * ぽよっと話題の宝箱 *
   ラブリーネオンのセクションタイトル
========================================== */

.poyo-section-bar {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    box-sizing: border-box;

    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;

    gap: 10px 16px;

    width: 100%;
    margin: 12px 0 14px;
    padding: 13px 16px 15px;

    border: 1px solid #a64dce;
    border-radius: 9px;

    background:
        radial-gradient(
            ellipse at 0% 50%,
            rgba(255, 39, 194, .19),
            transparent 50%
        ),
        radial-gradient(
            ellipse at 100% 50%,
            rgba(0, 220, 255, .13),
            transparent 45%
        ),
        linear-gradient(
            110deg,
            #20091f,
            #0c0b19 55%,
            #071d2a
        );

    box-shadow:
        0 0 7px rgba(255, 54, 206, .45),
        0 0 17px rgba(148, 66, 255, .16),
        inset 0 0 15px rgba(255, 70, 205, .05);
}


/* 上側の淡い光 */
.poyo-section-bar::before {
    content: "";
    position: absolute;
    z-index: -1;

    top: 0;
    left: -40%;

    width: 30%;
    height: 100%;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, .09),
        rgba(255, 120, 230, .16),
        transparent
    );

    transform: skewX(-25deg);
    animation: poyoSectionShine 6s ease-in-out infinite;

    pointer-events: none;
}


/* 下部のレインボーライン */
.poyo-section-bar::after {
    content: "";
    position: absolute;

    bottom: 0;
    left: 0;

    width: 100%;
    height: 3px;

    background: linear-gradient(
        90deg,
        #ff35c9,
        #ff96dc,
        #ffe77b,
        #59f4ff,
        #b875ff,
        #ff35c9
    );

    background-size: 250% 100%;

    box-shadow: 0 0 8px rgba(255, 48, 210, .65);

    animation: poyoSectionRainbow 5s linear infinite;

    pointer-events: none;
}


/* 左側のタイトルグループ */
.poyo-section-main {
    display: flex;
    align-items: center;

    gap: 10px;

    min-width: 0;
    max-width: 100%;
}


/* 左端のハートアイコン */
.poyo-section-icon {
    display: flex;
    flex: 0 0 40px;

    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;

    box-sizing: border-box;

    border: 1px solid rgba(255, 129, 226, .85);
    border-radius: 11px;

    background: linear-gradient(
        145deg,
        #ff43cb,
        #9c48ff
    );

    color: #fff;
    font-size: 25px;
    line-height: 1;

    text-shadow:
        0 0 4px #fff,
        0 0 10px #ff6bdb;

    box-shadow:
        0 0 8px rgba(255, 48, 210, .55),
        inset 0 0 8px rgba(255, 255, 255, .18);

    animation: poyoSectionHeart 2s ease-in-out infinite;
}


/* タイトルと小見出し */
.poyo-section-text {
    display: flex;
    flex-direction: column;

    gap: 3px;
    min-width: 0;
}


/* 英字のミニラベル */
.poyo-section-kicker {
    display: block;

    color: #79efff;

    font-size: 9px;
    font-weight: 900;
    letter-spacing: .2em;
    line-height: 1.4;

    text-shadow:
        0 0 5px rgba(0, 238, 255, .65);
}


/* メイン見出し */
.poyo-section-title {
    margin: 0;
    padding: 0;

    font-size: clamp(17px, 2.2vw, 23px);
    font-weight: 900;
    letter-spacing: .04em;
    line-height: 1.4;

    overflow-wrap: anywhere;

    background: linear-gradient(
        90deg,
        #fff3fb,
        #ff91de 45%,
        #d9baff 75%,
        #a1f7ff
    );

    -webkit-background-clip: text;
    background-clip: text;

    color: transparent;
    -webkit-text-fill-color: transparent;

    filter:
        drop-shadow(0 0 3px rgba(255, 255, 255, .6))
        drop-shadow(0 0 8px rgba(255, 62, 207, .45));
}


/* 右側のハート */
.poyo-section-heart {
    display: inline-block;

    margin-left: 2px;

    color: #ff8edb;
    font-size: 25px;
    line-height: 1;

    text-shadow:
        0 0 4px #fff,
        0 0 10px #ff37c7,
        0 0 18px #ad50ff;

    animation: poyoSectionHeart 1.8s ease-in-out infinite;
}


/* 右側のひとこと */
.poyo-section-note {
    display: inline-block;

    margin-left: auto;

    padding: 6px 10px;

    border: 1px solid rgba(115, 227, 255, .4);
    border-radius: 20px;

    background: rgba(103, 220, 255, .06);

    color: #e9d9ff;

    font-size: 10px;
    font-weight: bold;
    letter-spacing: .02em;
    line-height: 1.5;

    text-shadow: 0 0 6px rgba(182, 116, 255, .5);
}


/* ==========================================
   アニメーション
========================================== */

/* ふわっと光が横切る */
@keyframes poyoSectionShine {
    0%, 15% {
        left: -40%;
    }

    65%, 100% {
        left: 125%;
    }
}


/* 下線の色が流れる */
@keyframes poyoSectionRainbow {
    from {
        background-position: 0% 50%;
    }

    to {
        background-position: 250% 50%;
    }
}


/* ハートがぽよんと動く */
@keyframes poyoSectionHeart {
    0%, 100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.1);
    }
}


/* ==========================================
   スマホ対応
========================================== */

@media (max-width: 600px) {

    .poyo-section-bar {
        gap: 8px;

        margin: 10px 0 12px;
        padding: 11px 9px 13px;

        border-radius: 8px;
    }

    .poyo-section-main {
        gap: 8px;
    }

    .poyo-section-icon {
        flex-basis: 34px;

        width: 34px;
        height: 34px;

        border-radius: 9px;

        font-size: 21px;
    }

    .poyo-section-kicker {
        font-size: 8px;
        letter-spacing: .12em;
    }

    .poyo-section-title {
        font-size: clamp(16px, 4.5vw, 21px);
        letter-spacing: .015em;
    }

    .poyo-section-heart {
        font-size: 19px;
    }

    .poyo-section-note {
        width: 100%;
        box-sizing: border-box;

        margin-left: 0;
        padding: 5px 8px;

        font-size: 10px;
        text-align: center;
    }
}


/* 動きを抑える設定への配慮 */
@media (prefers-reduced-motion: reduce) {

    .poyo-section-bar::before,
    .poyo-section-bar::after,
    .poyo-section-icon,
    .poyo-section-heart {
        animation: none !important;
    }
}






/* ==========================================
   * ぽよっと注目ニュース *
   コンパクト文字・1行表示版
========================================== */

.poyo-side-heading {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    box-sizing: border-box;

    display: flex;
    align-items: center;
    gap: 8px;

    width: 100%;
    min-width: 0;

    margin: 18px 0 12px;
    padding: 10px 9px 13px;

    border: 1px solid #a956d8;
    border-radius: 9px;

    background:
        radial-gradient(
            ellipse at 0% 50%,
            rgba(255, 44, 201, .24),
            transparent 58%
        ),
        radial-gradient(
            ellipse at 100% 50%,
            rgba(0, 232, 255, .15),
            transparent 55%
        ),
        linear-gradient(
            120deg,
            #260924,
            #100b20 56%,
            #08242e
        );

    box-shadow:
        0 0 7px rgba(255, 49, 206, .42),
        0 0 16px rgba(150, 77, 255, .18),
        inset 0 0 14px rgba(255, 70, 210, .07);
}


/* 背景を横切る光 */
.poyo-side-heading::before {
    content: "";
    position: absolute;
    z-index: -1;

    top: -50%;
    left: -45%;

    width: 32%;
    height: 200%;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, .15),
        rgba(109, 244, 255, .18),
        transparent
    );

    transform: rotate(22deg);
    animation: poyoSideShine 6s ease-in-out infinite;

    pointer-events: none;
}


/* 下部のレインボーライン */
.poyo-side-heading::after {
    content: "";
    position: absolute;
    z-index: 2;

    left: 0;
    bottom: 0;

    width: 100%;
    height: 3px;

    background: linear-gradient(
        90deg,
        #ff35c9,
        #ff9ddd,
        #ffe86e,
        #5df6ff,
        #b46cff,
        #ff35c9
    );

    background-size: 250% 100%;

    box-shadow: 0 0 8px rgba(255, 48, 210, .65);

    animation: poyoSideRainbow 4s linear infinite;

    pointer-events: none;
}


/* 左のハートアイコン */
.poyo-side-icon {
    display: flex;
    flex: 0 0 32px;

    align-items: center;
    justify-content: center;

    width: 32px;
    height: 32px;

    box-sizing: border-box;

    border: 1px solid rgba(255, 190, 245, .8);
    border-radius: 9px;

    background: linear-gradient(
        135deg,
        #ff55d3,
        #bb48ff 65%,
        #7557ff
    );

    color: #ffffff;
    font-size: 21px;
    line-height: 1;

    text-shadow:
        0 0 4px #ffffff,
        0 0 10px #ff43ce;

    box-shadow:
        0 0 8px rgba(255, 56, 207, .55),
        inset 0 0 8px rgba(255, 255, 255, .16);

    animation: poyoSideHeart 2s ease-in-out infinite;
}


/* タイトルと英字ラベル */
.poyo-side-copy {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;

    justify-content: center;

    gap: 3px;
    min-width: 0;
}


/* 小さな英字 */
.poyo-side-kicker {
    display: block;

    color: #7cf6ff;

    font-size: 8px;
    font-weight: 900;
    letter-spacing: .09em;
    line-height: 1.4;

    white-space: nowrap;

    text-shadow:
        0 0 5px #19dfff,
        0 0 10px rgba(0, 220, 255, .4);
}


/* メインタイトル：1行に固定 */
.poyo-side-title {
    display: block;

    width: 100%;
    min-width: 0;

    margin: 0;
    padding: 0;

    font-size: clamp(12px, 1.2vw, 16px);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.4;

    /* 改行させない */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

    background: linear-gradient(
        90deg,
        #fff4fc,
        #ff9cde 40%,
        #d0a5ff 75%,
        #8cf7ff
    );

    -webkit-background-clip: text;
    background-clip: text;

    color: transparent;
    -webkit-text-fill-color: transparent;

    filter:
        drop-shadow(0 0 3px rgba(255, 255, 255, .6))
        drop-shadow(0 0 8px rgba(255, 57, 205, .4));
}


/* 右側のHOTバッジ */
.poyo-side-hot {
    display: inline-block;
    flex: 0 0 auto;

    padding: 3px 5px;

    border: 1px solid rgba(255, 197, 247, .8);
    border-radius: 5px;

    background: linear-gradient(
        135deg,
        #ff46b9,
        #ba35ff
    );

    color: #ffffff;

    font-size: 8px;
    font-weight: 900;
    letter-spacing: .02em;
    line-height: 1.2;

    white-space: nowrap;

    text-shadow: 0 0 5px rgba(255, 255, 255, .6);

    box-shadow:
        0 0 7px rgba(255, 44, 199, .5),
        inset 0 0 5px rgba(255, 255, 255, .12);
}


/* ==========================================
   アニメーション
========================================== */

@keyframes poyoSideShine {
    0%, 15% {
        left: -45%;
    }

    70%, 100% {
        left: 125%;
    }
}


@keyframes poyoSideRainbow {
    from {
        background-position: 0% 50%;
    }

    to {
        background-position: 250% 50%;
    }
}


@keyframes poyoSideHeart {
    0%, 100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.1);
    }
}


/* ==========================================
   スマホ対応
========================================== */

@media (max-width: 600px) {

    .poyo-side-heading {
        gap: 6px;

        margin: 12px 0 10px;
        padding: 9px 7px 12px;

        border-radius: 7px;
    }

    .poyo-side-icon {
        flex-basis: 28px;

        width: 28px;
        height: 28px;

        border-radius: 7px;
        font-size: 19px;
    }

    .poyo-side-copy {
        gap: 2px;
    }

    .poyo-side-kicker {
        font-size: 7px;
        letter-spacing: .06em;
    }

    .poyo-side-title {
        font-size: 12px;
        letter-spacing: 0;
        line-height: 1.35;
    }

    .poyo-side-hot {
        padding: 3px 4px;
        font-size: 7px;
    }
}


/* さらに狭いスマホ */
@media (max-width: 360px) {

    .poyo-side-heading {
        gap: 5px;
        padding-right: 6px;
        padding-left: 6px;
    }

    .poyo-side-icon {
        flex-basis: 25px;

        width: 25px;
        height: 25px;

        font-size: 17px;
    }

    .poyo-side-kicker {
        font-size: 6px;
        letter-spacing: .03em;
    }

    .poyo-side-title {
        font-size: 11px;
    }

    .poyo-side-hot {
        padding: 3px;
        font-size: 7px;
    }
}


/* 動きを抑える設定への配慮 */
@media (prefers-reduced-motion: reduce) {

    .poyo-side-heading::before,
    .poyo-side-heading::after,
    .poyo-side-icon {
        animation: none !important;
    }
}








/* ==========================================
   * ぽよっとピックアップ *
   エロぽよアンテナ共通ネオンデザイン
========================================== */

.poyo-pickup-heading {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    box-sizing: border-box;

    display: flex;
    align-items: center;
    gap: 11px;

    width: 100%;
    margin: 0 0 12px;
    padding: 11px 13px;

    border: 1px solid #a94bd5;
    border-radius: 9px;

    background:
        radial-gradient(
            ellipse at 0% 50%,
            rgba(255, 51, 201, .20),
            transparent 55%
        ),
        radial-gradient(
            ellipse at 100% 50%,
            rgba(0, 225, 255, .13),
            transparent 50%
        ),
        linear-gradient(
            110deg,
            #290a2b,
            #151022 55%,
            #082632
        );

    box-shadow:
        0 0 7px rgba(255, 55, 205, .28),
        0 0 15px rgba(169, 75, 213, .13),
        inset 0 0 12px rgba(255, 70, 210, .04);
}


/* 光が横切る装飾 */
.poyo-pickup-heading::before {
    content: "";
    position: absolute;
    z-index: -1;

    top: -50%;
    left: -35%;

    width: 25%;
    height: 200%;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, .12),
        rgba(255, 120, 230, .17),
        transparent
    );

    transform: rotate(22deg);

    animation: poyoPickupShine 6s ease-in-out infinite;

    pointer-events: none;
}


/* 下側の虹色ライン */
.poyo-pickup-heading::after {
    content: "";
    position: absolute;
    z-index: 2;

    bottom: 0;
    left: 0;

    width: 100%;
    height: 2px;

    background: linear-gradient(
        90deg,
        #ff35c9,
        #ff9ddd,
        #ffe86e,
        #5df6ff,
        #b46cff,
        #ff35c9
    );

    background-size: 250% 100%;

    animation: poyoPickupRainbow 5s linear infinite;

    pointer-events: none;
}


/* 左側のハートアイコン */
.poyo-pickup-icon {
    display: flex;
    flex: 0 0 36px;

    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;

    box-sizing: border-box;

    border: 1px solid rgba(255, 190, 245, .8);
    border-radius: 10px;

    background: linear-gradient(
        135deg,
        #ff49ce,
        #bd48ff 65%,
        #7758ff
    );

    color: #ffffff;
    font-size: 24px;
    line-height: 1;

    text-shadow:
        0 0 4px #ffffff,
        0 0 10px #ff43ce;

    box-shadow:
        0 0 8px rgba(255, 56, 207, .45),
        inset 0 0 8px rgba(255, 255, 255, .15);

    animation: poyoPickupHeart 2s ease-in-out infinite;
}


/* 見出しの文字エリア */
.poyo-pickup-copy {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;

    justify-content: center;
    gap: 3px;

    min-width: 0;
}


/* 英字ラベル */
.poyo-pickup-kicker {
    display: block;

    color: #7cf6ff;

    font-family: Arial, sans-serif;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .17em;
    line-height: 1.4;

    text-shadow:
        0 0 5px rgba(0, 220, 255, .6);
}


/* メインの見出し */
.poyo-pickup-title {
    margin: 0;
    padding: 0;

    font-size: clamp(17px, 2.2vw, 23px);
    font-weight: 900;
    letter-spacing: .035em;
    line-height: 1.4;

    overflow-wrap: anywhere;

    background: linear-gradient(
        90deg,
        #fff4fc,
        #ff9cde 42%,
        #d0a5ff 75%,
        #8cf7ff
    );

    -webkit-background-clip: text;
    background-clip: text;

    color: transparent;
    -webkit-text-fill-color: transparent;

    filter:
        drop-shadow(0 0 3px rgba(255, 255, 255, .35))
        drop-shadow(0 0 7px rgba(255, 57, 205, .35));
}


/* 右端のキラキラ */
.poyo-pickup-decoration {
    display: inline-block;
    flex: 0 0 auto;

    padding: 0 4px;

    color: #ffe77d;
    font-size: 25px;
    line-height: 1;

    text-shadow:
        0 0 5px #ffffff,
        0 0 10px #ff59d6,
        0 0 16px #a66cff;

    animation: poyoPickupTwinkle 1.8s ease-in-out infinite;
}


/* ==========================================
   アニメーション
========================================== */

@keyframes poyoPickupShine {
    0%, 15% {
        left: -35%;
    }

    65%, 100% {
        left: 125%;
    }
}


@keyframes poyoPickupRainbow {
    from {
        background-position: 0% 50%;
    }

    to {
        background-position: 250% 50%;
    }
}


@keyframes poyoPickupHeart {
    0%, 100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.1);
    }
}


@keyframes poyoPickupTwinkle {
    0%, 100% {
        transform: scale(1) rotate(0deg);
        opacity: .75;
    }

    50% {
        transform: scale(1.16) rotate(8deg);
        opacity: 1;
    }
}


/* ==========================================
   スマホ対応
========================================== */

@media (max-width: 600px) {
    .poyo-pickup-heading {
        gap: 8px;
        margin-bottom: 10px;
        padding: 10px 9px;
        border-radius: 7px;
    }

    .poyo-pickup-icon {
        flex-basis: 31px;
        width: 31px;
        height: 31px;
        border-radius: 8px;
        font-size: 21px;
    }

    .poyo-pickup-kicker {
        font-size: 8px;
        letter-spacing: .10em;
    }

    .poyo-pickup-title {
        font-size: clamp(16px, 4.5vw, 21px);
        letter-spacing: .015em;
    }

    .poyo-pickup-decoration {
        font-size: 20px;
    }
}


/* 動きを抑える設定への配慮 */
@media (prefers-reduced-motion: reduce) {
    .poyo-pickup-heading::before,
    .poyo-pickup-heading::after,
    .poyo-pickup-icon,
    .poyo-pickup-decoration {
        animation: none !important;
    }
}






/* ==========================================
   * エロぽよアンテナ・ページ下部 *
   センタリング × ピンク・紫・水色ネオン
========================================== */

/* 水平区切り線 */
hr {
    box-sizing: border-box;
    height: 1px;
    border: 0 !important;

    background: linear-gradient(
        90deg,
        transparent,
        #ff55d3,
        #a66cff,
        #61efff,
        transparent
    ) !important;

    box-shadow: 0 0 6px rgba(190, 80, 255, .25);
}


/* ==========================================
   お問い合わせ
========================================== */

#thread_list .top_bbs {
    box-sizing: border-box;
    width: 100%;

    margin: 12px 0;
    padding: 12px;

    border: 1px solid rgba(255, 106, 222, .45);
    border-radius: 8px;

    background: linear-gradient(
        110deg,
        #290b29,
        #161025 55%,
        #082632
    );

    text-align: center;

    box-shadow:
        0 0 8px rgba(255, 48, 204, .13),
        inset 0 0 12px rgba(170, 74, 255, .06);
}

#thread_list .top_bbs a {
    display: inline-block;

    color: #ffb9e9 !important;
    font-weight: 700;
    text-decoration: none !important;

    text-shadow: 0 0 5px rgba(255, 63, 208, .5);
}

#thread_list .top_bbs a:hover {
    color: #ffffff !important;
    text-shadow:
        0 0 5px #ff4bd3,
        0 0 12px #d45cff;
}


/* ==========================================
   前のページ・次のページを非表示
========================================== */

.pageview {
    display: none !important;
}


/* ==========================================
   管理人へ連絡・管理ログインなど
========================================== */

.under {
    box-sizing: border-box;
    width: 100%;

    margin: 12px 0;
    padding: 13px;

    border: 1px solid rgba(153, 104, 222, .4);
    border-radius: 9px;

    background: linear-gradient(
        130deg,
        #1c0d24,
        #11101d 55%,
        #0a242e
    );

    text-align: center;

    box-shadow:
        0 0 10px rgba(175, 75, 255, .1),
        inset 0 0 12px rgba(255, 60, 205, .04);
}

.under ul {
    display: flex;
    flex-wrap: wrap;

    align-items: center;
    justify-content: center;

    gap: 8px;

    width: 100%;
    box-sizing: border-box;

    margin: 0;
    padding: 0;

    list-style: none;
}

.under li {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin: 0;
    padding: 0;
}

.under a.underMenu {
    display: inline-flex;

    align-items: center;
    justify-content: center;
    gap: 7px;

    box-sizing: border-box;

    padding: 8px 12px;

    border: 1px solid rgba(0, 220, 255, .32);
    border-radius: 7px;

    background: linear-gradient(
        110deg,
        rgba(255, 50, 205, .10),
        rgba(137, 65, 255, .12),
        rgba(0, 220, 255, .08)
    );

    color: #b9f7ff !important;
    font-size: 12px;
    font-weight: 700;

    text-align: center;
    text-decoration: none !important;

    transition:
        border-color .2s ease,
        color .2s ease,
        box-shadow .2s ease;
}

.under a.underMenu i {
    color: #ff91df;
    text-shadow: 0 0 5px rgba(255, 65, 210, .45);
}

.under a.underMenu:hover {
    border-color: #ff72dc;
    color: #ffffff !important;

    box-shadow:
        0 0 8px rgba(255, 65, 210, .24),
        0 0 12px rgba(0, 220, 255, .12);
}


/* ==========================================
   スレッドナビ・ランキング
   横幅いっぱい＋中央配置
========================================== */

.BbsRanks {
    display: flex !important;

    flex-wrap: wrap;
    align-items: center;
    justify-content: center;

    gap: 10px;

    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box;

    margin: 12px 0 0 !important;
    padding: 16px 10px;

    border: 1px solid rgba(174, 101, 240, .4);
    border-radius: 9px 9px 0 0;

    background: linear-gradient(
        120deg,
        #250a29,
        #121021 55%,
        #072632
    );

    text-align: center;

    box-shadow:
        0 0 10px rgba(160, 70, 255, .1),
        inset 0 0 12px rgba(255, 71, 210, .04);
}

.BbsRanks span {
    display: inline-flex !important;

    align-items: center;
    justify-content: center;

    margin: 0 !important;
    padding: 0;
}

.BbsRanks a {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    box-sizing: border-box;

    padding: 8px 15px;

    border: 1px solid rgba(255, 123, 226, .5);
    border-radius: 999px;

    background: linear-gradient(
        110deg,
        rgba(255, 51, 201, .12),
        rgba(151, 70, 255, .16),
        rgba(0, 227, 255, .09)
    );

    color: #f2dcff !important;

    font-size: 12px;
    font-weight: 700;
    text-align: center;

    text-decoration: none !important;

    box-shadow: 0 0 6px rgba(200, 90, 255, .08);

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        color .2s ease;
}

.BbsRanks a:hover {
    border-color: #65f5ff;
    color: #ffffff !important;

    box-shadow:
        0 0 8px rgba(255, 62, 209, .25),
        0 0 14px rgba(70, 235, 255, .18);
}


/* ==========================================
   最下部のDoodle
========================================== */

#footer {
    position: relative;

    box-sizing: border-box;
    width: 100%;

    margin: 0;
    padding: 25px 12px 30px;

    border-top: 2px solid transparent;

    border-image: linear-gradient(
        90deg,
        #ff38cb,
        #b56aff,
        #62f5ff,
        #ff38cb
    ) 1;

    background: linear-gradient(
        125deg,
        #16091e,
        #0b101e 55%,
        #06252f
    );

    color: #e7d9f7;
    text-align: center;

    box-shadow:
        0 -5px 18px rgba(155, 65, 255, .12),
        inset 0 8px 18px rgba(255, 50, 200, .035);
}

#footer .Copyright {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;
    margin: 0;
    padding: 0;

    list-style: none;
}

#footer .Copyright li {
    margin: 0;
    padding: 0;
    text-align: center;
}

#footer .bbs-home {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 70px;
    padding: 7px 18px;

    border: 1px solid rgba(197, 139, 255, .6);
    border-radius: 999px;

    background: linear-gradient(
        110deg,
        rgba(255, 53, 203, .13),
        rgba(136, 78, 255, .17),
        rgba(0, 222, 255, .1)
    );

    color: #f3deff !important;

    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;

    text-decoration: none !important;

    box-shadow: 0 0 8px rgba(178, 81, 255, .15);
}

#footer .bbs-home:hover {
    border-color: #ff83de;

    box-shadow:
        0 0 9px rgba(255, 65, 210, .35),
        0 0 15px rgba(0, 220, 255, .14);
}


/* ==========================================
   スマホ対応
========================================== */

@media (max-width: 600px) {
    #thread_list .top_bbs {
        padding: 10px 6px;
    }

    .under {
        padding: 10px 8px;
    }

    .under ul {
        gap: 6px;
    }

    .under a.underMenu {
        padding: 7px 9px;
        font-size: 11px;
    }

    .BbsRanks {
        gap: 7px;
        padding: 13px 7px;
    }

    .BbsRanks a {
        padding: 7px 10px;
        font-size: 11px;
    }

    #footer {
        padding: 22px 8px 25px;
    }
}


/* 動きを抑える設定への配慮 */
@media (prefers-reduced-motion: reduce) {
    .under *,
    .BbsRanks *,
    #footer * {
        transition: none !important;
    }
}






/* ==========================================
   ぽよっとリンク一覧
   ピンク・紫・水色ネオン
========================================== */

.poyo-link-heading {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    box-sizing: border-box;

    display: flex;
    align-items: center;
    gap: 8px;

    width: 100%;
    min-width: 0;
    margin: 18px 0 12px;
    padding: 10px 9px 13px;

    border: 1px solid #a956d8;
    border-radius: 9px;

    background:
        radial-gradient(
            ellipse at 0% 50%,
            rgba(255, 44, 201, .24),
            transparent 58%
        ),
        radial-gradient(
            ellipse at 100% 50%,
            rgba(0, 232, 255, .15),
            transparent 55%
        ),
        linear-gradient(
            120deg,
            #260924,
            #100b20 56%,
            #08242e
        );

    box-shadow:
        0 0 7px rgba(255, 49, 206, .42),
        0 0 16px rgba(150, 77, 255, .18),
        inset 0 0 14px rgba(255, 70, 210, .07);
}

/* 背景の光 */
.poyo-link-heading::before {
    content: "";
    position: absolute;
    z-index: -1;

    top: -50%;
    left: -45%;
    width: 32%;
    height: 200%;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, .15),
        rgba(109, 244, 255, .18),
        transparent
    );

    transform: rotate(22deg);
    animation: poyoLinkShine 6s ease-in-out infinite;
    pointer-events: none;
}

/* 下側の虹色ライン */
.poyo-link-heading::after {
    content: "";
    position: absolute;
    z-index: 2;

    left: 0;
    bottom: 0;
    width: 100%;
    height: 3px;

    background: linear-gradient(
        90deg,
        #ff35c9,
        #ff9ddd,
        #ffe86e,
        #5df6ff,
        #b46cff,
        #ff35c9
    );

    background-size: 250% 100%;
    animation: poyoLinkRainbow 4s linear infinite;
    pointer-events: none;
}

/* 左のハートアイコン */
.poyo-link-icon {
    display: flex;
    flex: 0 0 32px;
    align-items: center;
    justify-content: center;

    width: 32px;
    height: 32px;

    border: 1px solid rgba(255, 190, 245, .8);
    border-radius: 9px;

    background: linear-gradient(
        135deg,
        #ff55d3,
        #bb48ff 65%,
        #7557ff
    );

    color: #fff;
    font-size: 21px;
    line-height: 1;

    text-shadow:
        0 0 4px #fff,
        0 0 10px #ff43ce;

    box-shadow:
        0 0 8px rgba(255, 56, 207, .55),
        inset 0 0 8px rgba(255, 255, 255, .16);

    animation: poyoLinkHeart 2s ease-in-out infinite;
}

/* タイトル文字 */
.poyo-link-copy {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
    min-width: 0;
}

/* 英字ラベル */
.poyo-link-kicker {
    display: block;
    color: #7cf6ff;
    font-family: Arial, sans-serif;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .12em;
    line-height: 1.4;
    text-shadow: 0 0 5px #19dfff;
}

/* メインタイトル */
.poyo-link-title {
    display: block;
    margin: 0;
    padding: 0;

    color: #f6d8ff;
    font-size: 16px;
    font-weight: 900;
    letter-spacing: .02em;
    line-height: 1.4;

    text-shadow:
        0 0 4px rgba(255, 255, 255, .6),
        0 0 9px rgba(255, 57, 205, .65);
}

/* 右端のHOTバッジ */
.poyo-link-hot {
    flex: 0 0 auto;
    padding: 3px 5px;

    border: 1px solid rgba(255, 197, 247, .8);
    border-radius: 5px;

    background: linear-gradient(
        135deg,
        #ff46b9,
        #ba35ff
    );

    color: #fff;
    font-size: 8px;
    font-weight: 900;
    line-height: 1.2;

    box-shadow: 0 0 7px rgba(255, 44, 199, .5);
}

/* アニメーション */
@keyframes poyoLinkShine {
    0%, 15% { left: -45%; }
    70%, 100% { left: 125%; }
}

@keyframes poyoLinkRainbow {
    from { background-position: 0% 50%; }
    to { background-position: 250% 50%; }
}

@keyframes poyoLinkHeart {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

/* スマホ */
@media screen and (max-width: 600px) {
    .poyo-link-heading {
        gap: 6px;
        margin: 12px 0 10px;
        padding: 9px 7px 12px;
    }

    .poyo-link-icon {
        flex-basis: 28px;
        width: 28px;
        height: 28px;
        font-size: 19px;
    }

    .poyo-link-title {
        font-size: 14px;
    }
}

/* 動きを抑える設定への配慮 */
@media (prefers-reduced-motion: reduce) {
    .poyo-link-heading::before,
    .poyo-link-heading::after,
    .poyo-link-icon {
        animation: none !important;
    }
}






/* ==========================================
   エロぽよアンテナ・ネオンリンク一覧
========================================== */

.poyo-link-items {
    width: 100%;
    margin: 10px 0 20px;
}

.poyo-link-items ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;

    width: 100%;
    margin: 0;
    padding: 0;

    list-style: none;
}

.poyo-link-items li {
    min-width: 0;
    margin: 0;
    padding: 0;
}

.poyo-link-items li a {
    position: relative;

    display: flex;
    align-items: center;
    gap: 7px;

    min-width: 0;
    min-height: 43px;
    padding: 9px 10px;

    border: 1px solid rgba(174, 94, 225, .65);
    border-radius: 8px;

    background:
        linear-gradient(
            110deg,
            rgba(255, 49, 199, .12),
            rgba(130, 66, 220, .12),
            rgba(0, 220, 255, .08)
        ),
        #11121e;

    color: #baf7ff !important;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;

    text-decoration: none !important;
    overflow-wrap: anywhere;

    box-shadow:
        0 0 6px rgba(210, 70, 255, .12),
        inset 0 0 8px rgba(255, 70, 210, .04);

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

/* 左側のハート */
.poyo-link-items li a::before {
    content: "";
    flex: 0 0 auto;

    color: #ff83dc;
    font-size: 12px;

    text-shadow:
        0 0 4px #ff45ce,
        0 0 8px rgba(255, 69, 206, .5);
}

/* 右側の矢印 */
.poyo-link-items li a::after {
    content: "*";
    flex: 0 0 auto;

    margin-left: auto;

    color: #8df6ff;
    font-size: 18px;
    line-height: 1;
}

/* マウスを乗せたとき */
.poyo-link-items li a:hover {
    border-color: #ff76de;

    background:
        linear-gradient(
            110deg,
            rgba(255, 49, 199, .23),
            rgba(130, 66, 220, .20),
            rgba(0, 220, 255, .13)
        ),
        #151323;

    color: #ffffff !important;

    box-shadow:
        0 0 8px rgba(255, 65, 210, .35),
        0 0 14px rgba(0, 220, 255, .13);
}

/* スマホ */
@media screen and (max-width: 600px) {
    .poyo-link-items ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    .poyo-link-items li a {
        min-height: 44px;
        padding: 9px 7px;
        gap: 5px;
        font-size: 12px;
    }
}

/* 小さいスマホ */
@media screen and (max-width: 360px) {
    .poyo-link-items ul {
        gap: 5px;
    }

    .poyo-link-items li a {
        padding: 8px 5px;
        font-size: 11px;
    }
}

/* リンク一覧：PC・スマホともに2列 */
.poyo-link-items ul {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}


/* SINCE 2020 - 2026 ネオン装飾 */
.poyo-since {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 7px;

    width: 100%;
    margin: 15px auto;
    padding: 8px 5px;

    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .12em;
    text-align: center;
}

.poyo-since-deco {
    color: #ff75dc;
    font-size: 17px;
    text-shadow:
        0 0 5px #fff,
        0 0 12px #ff35c9;
}

.poyo-since-star {
    color: #9af8ff;
    font-size: 16px;
    text-shadow:
        0 0 5px #fff,
        0 0 10px #00eaff;
}

.poyo-since-text {
    color: #ffd6f5;
    text-shadow:
        0 0 4px #fff,
        0 0 9px #ff42ca,
        0 0 16px #bf49ff;
}

.poyo-since-year {
    color: #a4faff;
    text-shadow:
        0 0 4px #fff,
        0 0 10px #00eaff,
        0 0 16px #7770ff;
}

.poyo-since-line {
    color: #d9aaff;
    text-shadow: 0 0 8px #bb66ff;
}

@media screen and (max-width: 360px) {
    .poyo-since {
        gap: 5px;
        font-size: 11px;
        letter-spacing: .08em;
    }
}


/* ==========================================
   SINCE 2020 - 2026 ネオンフレーム
========================================== */

.poyo-since {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 7px;

    width: fit-content;
    max-width: calc(100% - 16px);
    box-sizing: border-box;

    margin: 18px auto;
    padding: 15px 20px;

    border: 1px solid transparent;
    border-radius: 14px;

    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(255, 90, 215, .18),
            transparent 35%
        ),
        radial-gradient(
            circle at 90% 80%,
            rgba(60, 225, 255, .16),
            transparent 38%
        ),
        linear-gradient(
            120deg,
            #260c2b,
            #100e23 55%,
            #082631
        ) padding-box,
        linear-gradient(
            110deg,
            #ff42c8,
            #b66bff,
            #67f5ff,
            #ffe895,
            #ff42c8
        ) border-box;

    box-shadow:
        0 0 8px rgba(255, 61, 209, .4),
        0 0 20px rgba(173, 80, 255, .22),
        0 0 28px rgba(0, 220, 255, .1),
        inset 0 0 15px rgba(255, 72, 210, .08);
}

/* 枠の内側を横切る光 */
.poyo-since::before {
    content: "";
    position: absolute;
    z-index: 0;

    top: -60%;
    left: -45%;
    width: 30%;
    height: 220%;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, .2),
        rgba(112, 239, 255, .16),
        transparent
    );

    transform: rotate(22deg);
    animation: poyoSinceShine 6s ease-in-out infinite;
    pointer-events: none;
}

/* 下側の虹色ライン */
.poyo-since::after {
    content: "";
    position: absolute;
    z-index: 2;

    left: 0;
    bottom: 0;
    width: 100%;
    height: 3px;

    background: linear-gradient(
        90deg,
        #ff35c9,
        #ff9ddd,
        #ffe86e,
        #5df6ff,
        #b46cff,
        #ff35c9
    );

    background-size: 250% 100%;
    animation: poyoSinceRainbow 5s linear infinite;
    pointer-events: none;
}

/* 文字と飾りを光の上に表示 */
.poyo-since > span {
    position: relative;
    z-index: 1;
}

/* 星の装飾 */
.poyo-since-deco {
    color: #ff75dc;
    font-size: 18px;
    text-shadow:
        0 0 5px #fff,
        0 0 12px #ff35c9;
}

.poyo-since-star {
    color: #9af8ff;
    font-size: 16px;
    text-shadow:
        0 0 5px #fff,
        0 0 10px #00eaff;
}

/* 文字のネオン */
.poyo-since-text {
    color: #ffd6f5;
    text-shadow:
        0 0 4px #fff,
        0 0 9px #ff42ca,
        0 0 16px #bf49ff;
}

.poyo-since-year {
    color: #a4faff;
    text-shadow:
        0 0 4px #fff,
        0 0 10px #00eaff,
        0 0 16px #7770ff;
}

.poyo-since-line {
    color: #d9aaff;
    text-shadow: 0 0 8px #bb66ff;
}

/* 光のアニメーション */
@keyframes poyoSinceShine {
    0%, 15% {
        left: -45%;
    }

    70%, 100% {
        left: 125%;
    }
}

@keyframes poyoSinceRainbow {
    from {
        background-position: 0% 50%;
    }

    to {
        background-position: 250% 50%;
    }
}

/* スマートフォン */
@media screen and (max-width: 600px) {
    .poyo-since {
        gap: 5px;
        padding: 12px 10px;
        margin: 14px auto;
        border-radius: 11px;
        font-size: 11px;
        letter-spacing: .06em;
    }

    .poyo-since-deco {
        font-size: 15px;
    }

    .poyo-since-star {
        font-size: 13px;
    }
}

/* 動きを抑えたい環境への配慮 */
@media (prefers-reduced-motion: reduce) {
    .poyo-since::before,
    .poyo-since::after {
        animation: none !important;
    }
}

/* SINCE 2020 - 2026 の枠を横幅いっぱいにする */
.poyo-since {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    border-radius: 0 !important;
}

/* Copyrightを1段下に配置 */
.poyo-since .poyo-copyright {
    flex: 0 0 100%;
    width: 100%;
    box-sizing: border-box;

    margin-top: 8px;
    text-align: center;

    font-size: 11px;
    line-height: 1.6;
    letter-spacing: .03em;

    color: #d9c9ed;
    text-shadow:
        0 0 4px rgba(255, 255, 255, .35),
        0 0 8px rgba(190, 90, 255, .4);
}