/**
 * Block Templates Enabler - デフォルトパターンCSS
 * Version: 1.2.0
 *
 * specificityを低く保ち、テーマ側で上書きしやすい設計。
 * !important は使用していない。
 */

/* =============================================
   囲み枠（.kakomi）
   ============================================= */
.kakomi {
    border: 1px solid #006661;
    padding: 1.5em;
    margin: 1.5em 0;
    border-radius: 4px;
    background: #fff;
}

.kakomi p {
    margin: 0 0 1em;
}

.kakomi p:last-child {
    margin-bottom: 0;
}

.kakomi ul {
    margin: 0;
    padding-left: 1.5em;
}

.kakomi li {
    list-style-type: disc;
    margin-bottom: 0.4em;
}

.kakomi li:last-child {
    margin-bottom: 0;
}

/* タイトルあり囲み */
.kakomi .title {
    display: block;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 0.8em;
    line-height: 1.5;
}

.kakomi .title i {
    margin-right: 0.3em;
}

/* =============================================
   注意書き・情報（.notion）
   ============================================= */
.notion {
    background: #f5f5f5;
    padding: 1.5em;
    margin: 1.5em 0;
    border-left: 4px solid #ccc;
    border-radius: 0 4px 4px 0;
}

.notion p {
    margin: 0 0 1em;
}

.notion p:last-child {
    margin-bottom: 0;
}

/* =============================================
   関連記事リスト（.related_link）
   ============================================= */
.related_link {
    background: #f9f9f9;
    padding: 1.5em;
    margin: 1.5em 0;
    border-radius: 4px;
    border: 1px solid #eee;
}

.related_link .title {
    display: block;
    font-weight: 700;
    margin-bottom: 0.8em;
    line-height: 1.5;
}

.related_link .title i {
    margin-right: 0.3em;
}

.related_link p {
    padding-bottom: 0;
    margin-bottom: 1rem;
}

.related_link p:last-child {
    margin-bottom: 0;
}

.related_link a {
    color: #0073aa;
    text-decoration: none;
}

.related_link a:hover {
    text-decoration: underline;
}

/* =============================================
   関連記事サムネ付き（.related_thumb）
   ============================================= */
.related.related_thumb {
    background: #f9f9f9;
    padding: 1.5em;
    margin: 1.5em 0;
    border-radius: 4px;
    border: 1px solid #eee;
}

.related.related_thumb .related_title {
    display: block;
    font-weight: 700;
    margin-bottom: 0.8em;
    line-height: 1.5;
}

.related.related_thumb .related_title i {
    margin-right: 0.3em;
}

.related.related_thumb ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.related.related_thumb ul li {
    margin-bottom: 1em;
}

.related.related_thumb ul li:last-child {
    margin-bottom: 0;
}

.related.related_thumb ul li a {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: inherit;
    transition: opacity 0.2s;
}

.related.related_thumb ul li a:hover {
    opacity: 0.7;
}

.related.related_thumb .thumbnail {
    flex-shrink: 0;
    margin: 0;
    width: 80px;
    height: 60px;
    overflow: hidden;
    border-radius: 4px;
    background: #eee;
}

.related.related_thumb .thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.related.related_thumb .post_title {
    margin-left: 1em;
    font-size: 0.95em;
    font-weight: 500;
    line-height: 1.4;
}

/* =============================================
   この記事のポイント（.summary）
   ============================================= */
.summary {
    background: #f9f9f9;
    padding: 1.5em;
    margin: 1.5em 0;
    border-radius: 4px;
    border: 1px solid #eee;
}

.summary .title {
    display: block;
    font-weight: 700;
    margin-bottom: 0.8em;
    line-height: 1.5;
}

.summary .title i {
    margin-right: 0.3em;
}

.summary ul {
    margin: 0;
    padding-left: 1.5em;
}

.summary li {
    list-style-type: disc;
    margin-bottom: 0.4em;
}

.summary li:last-child {
    margin-bottom: 0;
}

/* =============================================
   テキストリンク（.txtlink）
   ============================================= */
.txtlink {
    color: #0073aa;
    text-decoration: underline;
    word-break: break-all;
}

.txtlink:hover {
    color: #005177;
}

/* =============================================
   CVボタン（.cvbtn）
   ============================================= */
.cvbtn {
    display: block;
    text-align: center;
    padding: 0.8em 1em;
    margin: 1.5em 0;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 700;
    line-height: 1.5;
    transition: all 0.3s;
}

/* 白ボタン */
.cvbtn_1 {
    background: #fff;
    border: 1px solid #006661;
    color: #006661;
}

.cvbtn_1:hover {
    color: #fff;
    background-color: #006661;
}

/* ネイビーボタン */
.cvbtn_2 {
    background: #006661;
    border: 1px solid #006661;
    color: #fff;
}

.cvbtn_2:hover {
    color: #fff;
    background-color: #006661;
}

/* =============================================
   レスポンシブ
   ============================================= */
@media (max-width: 600px) {
    .kakomi,
    .notion,
    .related_link,
    .related.related_thumb,
    .summary {
        padding: 1em;
        margin: 1.2em 0;
    }

    .cvbtn {
        padding: 0.7em 0.8em;
    }
}
