/**
 * リンク集ページ用CSS
 * Template: pages/page-link.php
 * Link Library プラグイン対応
 */

/* ===========================================
   Mobile First Base Styles
   =========================================== */

/* リンク集ページ専用スタイル */
.un_link {
    background-color: var(--color-white);
    padding-inline: 8px;
    padding-block: 40px;
}

.un_link .ly_normalSec {
    border-radius: 12px;
    background-color: #fff9ef;
    padding-inline: 16px;
    padding-block: 40px;
}

.bl_link_content {
    max-width: 880px;
    margin-inline: auto;
}

/* ===========================================
   Link Library カテゴリー見出し
   =========================================== */

.bl_link_content .linkcatname,
.bl_link_content h2.linkcatname,
.bl_link_content h2 {
    font-size: 18px;
    font-weight: 700;
    color: var(--color-text);
    margin-top: 24px;
    margin-bottom: 8px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--color-primary);
}

.bl_link_content .linkcatname:first-child,
.bl_link_content h2.linkcatname:first-child,
.bl_link_content h2:first-child {
    margin-top: 0;
}

/* ===========================================
   Link Library リンクリスト
   =========================================== */

.bl_link_content .linklist,
.bl_link_content ul.linklist,
.bl_link_content ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* リンクアイテム */
.bl_link_content .linklist li,
.bl_link_content ul li {
    border-bottom: 1px solid var(--color-border);
}

.bl_link_content .linklist li:last-child,
.bl_link_content ul li:last-child {
    border-bottom: none;
}

/* リンク */
.bl_link_content .linklist a,
.bl_link_content ul a,
.bl_link_content a {
    color: var(--color-text);
    text-decoration: none;
    display: block;
    padding: 12px 8px;
    transition: color var(--transition-fast), background-color var(--transition-fast);
}

.bl_link_content .linklist a:hover,
.bl_link_content ul a:hover,
.bl_link_content a:hover {
    color: var(--color-primary);
    background-color: var(--color-cream);
}

/* リンク前のドット */
.bl_link_content .linklist a::before,
.bl_link_content ul a::before {
    content: '・';
    color: var(--color-primary);
    margin-right: 4px;
}

/* リンク説明文 */
.bl_link_content .linklist .linklistdescription,
.bl_link_content .linklist .link_description {
    display: block;
    font-size: var(--font-sm);
    color: var(--color-gray);
    padding: 0 8px 12px;
    padding-left: calc(1em + 8px);
    line-height: 1.5;
}

/* ===========================================
   Link Library テーブル形式の場合
   =========================================== */

.bl_link_content table {
    width: 100%;
    border-collapse: collapse;
}

.bl_link_content table td {
    padding: 12px 8px;
    border-bottom: 1px solid var(--color-border);
    vertical-align: top;
}

.bl_link_content table tr:last-child td {
    border-bottom: none;
}

.bl_link_content table a {
    color: var(--color-text);
    text-decoration: none;
    transition: color var(--transition-fast);
}

.bl_link_content table a:hover {
    color: var(--color-primary);
}

/* ===========================================
   Tablet (768px ~)
   =========================================== */

@media screen and (min-width: 768px) {
    .un_link {
        padding-inline: 40px;
        padding-block: 60px;
    }

    .un_link .ly_normalSec {
        padding-inline: 40px;
        padding-block: 60px;
    }

    .bl_link_content .linkcatname,
    .bl_link_content h2.linkcatname,
    .bl_link_content h2 {
        font-size: 20px;
        margin-top: 32px;
    }

    .bl_link_content .linklist a,
    .bl_link_content ul a {
        padding: 16px 12px;
    }
}

/* ===========================================
   Desktop (1024px ~)
   =========================================== */

@media screen and (min-width: 1024px) {
    .un_link {
        padding-block: 80px;
    }

    .un_link .ly_normalSec {
        padding-block: 80px 120px;
        max-width: 1224px;
        margin-inline: auto;
        border-radius: 48px;
    }
}
