@charset "utf-8";

/*記事がないとき*/
.no_column { width:100%; text-align:center; }

/*タグページ用*/
.h1_column_tag { margin-bottom:30px; line-height:1.5; }

.column_date { margin:10px 0; display:flex; flex-direction:column; }
@media (min-width: 768px){
    .column_date { flex-direction:row; gap:20px; }
}

.column_top { width:100%; margin:0 0 30px 0; display:block; }
.column_hr { width:100%; margin:50px 0; background:none; border:none; border-bottom:1px solid #999; }
@media (min-width: 768px){
    .column_hr { margin:70px 0; }
}

.column_menu{ display:none; background-color: white;border: 1px solid #529535;padding: 20px;margin-bottom: 40px;}
.column_menu_title{color: #529535; font-weight: bold;font-size: 24px;margin-bottom: 20px;}
.column_menu_contents{border-bottom:1px solid #529535;margin-bottom: 30px;padding-bottom: 10px;display: flex;
flex-direction: column;}
.column_menu_contents:last-child{border-bottom: none;margin-bottom: 0px;padding-bottom: 0px;}
.column_menu_contents a{display: flex;flex-direction: row;align-items: center;margin-bottom: 10px;}
.column_menu_contents a:hover{opacity: 0.8;}
.column_menu_contents .symbol{width: 27px;}
a.toc_h2 { padding-top:10px; display:flex; align-items:first baseline; border-top:1px solid #ccc; }
a.toc_h2:first-child { padding-top:0; border:none; }
a.toc_h2::before { content:''; width:12px; height:12px; margin-right:5px; background:#529535; border-radius:50%; }
a.toc_h2 span { width:calc(100% - 20px); }
a.toc_h3 { padding-left:15px; display:flex; align-items:first baseline; }
a.toc_h3::before { content:'└'; margin-right:5px; }
a.toc_h4 { padding-left:25px; display:flex; align-items:first baseline; }
a.toc_h4::before { content:'└'; margin-right:5px; }
@media (min-width:1024px) {
    .column_wrap{display: flex;flex-direction: row;gap: 40px;align-items: flex-start;}
    .column_menu{ display:block; width: 350px;}
}

.column_contents { line-height:1.5; }
.column_contents img { max-width:100%; }
@media (min-width:1024px) {
    .column_contents { width: 840px;}
}

.tag { margin-top:30px; display:flex; flex-wrap:wrap; gap:20px; }
.tag a { display:block; }


/* =========================== 本文  =========================== */
.column_content a { color:#39f; text-decoration:underline; }
.column_content a:hover { text-decoration:none; }
.column_content table { width:100%; margin:1em 0; border-collapse:collapse; }
.column_content th,.column_content td { padding:8px; border:1px solid #999; background:#fff; }
.column_content th { background:#eee; }
.column_content blockquote { margin:30px 0; padding:0 20px; border-left:4px solid #999; color:#666; font-style:italic; }
.column_content ul,.column_content ol { margin:1em 0; padding-left:2em; }
.column_content ul li,.column_content ol li { margin-bottom:0.5em; list-style:inherit; line-height:1.8; }
.column_content ul { list-style:disc; }
.column_content ol { list-style:decimal; }
.column_content blockquote p { margin:0; }

/* =========================== SNS =========================== */
.column_share{ display:flex; flex-direction:column; gap:20px; margin-top:40px; padding-top:40px; border-top:1px solid #ccc; }
.column_share a{ display:flex; align-items:center; justify-content:center; gap:10px; }
.column_share a img{ width:30px; }
@media (min-width: 768px){
    .column_share{ flex-direction:row; gap:40px; }
}

/* =========================== 詳細ページネーション =========================== */
.column_pager_wrap { display: flex; gap: 20px; justify-content: center; }
.column_pager_wrap .back_link .symbol { display: none; }
.symbol_link .symbol_link_text {font-size: 16px;}

/* =========================== 一覧ページネーション =========================== */
.pagination { margin:30px 0 0 0; display:flex; gap:20px; justify-content:center; }
