:root :where(.is-layout-constrained) > :first-child {
	margin-block-start: var(--theme-content-spacing);
}

.hero-section[data-type=type-1] {
	text-align: left !important;
}

div#toc_container {
	margin: 2em auto;
}

.ct-title-label {
	display: none;
}

h2.wp-block-heading {
	background: var(--theme-border-color);
	padding: 10px 10px 10px 20px;
	border-left: 7px solid var(--primary-color);
}

h2.wp-block-heading span {
	display: block;
}

.column-summary h3 {
	margin-block-start: 0 !important;
}
.column-text h3 {
	color: var(--column-h3-color);
}

.column-box {
	margin-top: 2em;
}

.column-text ul {
/*	list-style-type: none;*/
	padding-left: 2em !important;
}

.column-text ul,
.column-text ol {
	margin-bottom: 1.5em !important;
}
.column-text li {
	margin-top: 0.5em;
}

.column-text dl dt {
/*
	display: inline-block;
	background: linear-gradient(to bottom, transparent 90%, var(--accent-color) 10%, var(--accent-color) 0);
	padding-bottom: 3px;
*/
	font-size: 14pt;
	margin-block-end: 0.5em;
}
.column-text dl dd {
	padding-bottom: 3em !important;
}
.column-text dl dd:last-child {
	padding-bottom: 0 !important;
}


.point {
	padding: 20px 30px 20px 20px;
	background: var(--section-bg-color);
	display: inline-block;
	border-radius: 12px;
}
.point strong {
	display: block;
	margin-block-start: 0 !important;
	margin-block-end: 0;
}
.point ul {
	list-style-type: circle;
	padding-left: 2em !important;
	display: inline-block;
}
.point ul li {

}

.quotation {
	border-left: 3px solid #ddd;
	padding: 1em;
}
.quotation p {
	margin: 0;
	padding: 0 !important;
	margin-block-start: 0 !important;
}


/* コンテンツを横並び（左：メイン、右：サイドバー）にする */
.ct-container {
  display: flex;
  flex-wrap: wrap; /* スマホでは折り返す */
  gap: 2rem;
  align-items: flex-start;
}

[data-vertical-spacing*=bottom] {
	padding-bottom: var(--theme-content-vertical-spacing) !important;
}

/* メインコンテンツ（左側） */
.ct-container section {
  flex: 1 1 65%;
  min-width: 300px;
}

/* サイドバー（右側） */
.ct-container aside {
  flex: 0 0 30%;
  min-width: 250px;
  background: #f8f8f8;
  padding: 1.5rem;
  border-radius: 8px;
  box-shadow: 0 0 5px rgba(0,0,0,0.05);
}

/* サイドバーのタイトル */
.widget-title {
  font-size: 1.2rem;
  margin-bottom: 0.5rem;
  border-bottom: 2px solid #ccc;
  padding-bottom: 0.3rem;
}

/* カテゴリリスト装飾 */
.widget_categories ul {
	list-style: none;
	padding-left: 0;
	border-bottom: 1px solid #fff;
}

.widget_categories li {
	padding: 1em 0;
	line-height: 1;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #ccc;
}

.widget_categories li:first-child {
	border-top: none;
}

.widget_categories a {
	text-decoration: none;
	color: #333;
}

.widget_categories a:hover {
	color: #0073aa;
	text-decoration: underline;
}

.column-summary {
	padding: 30px;
	border-radius: 8px;
	background: var(--section-bg-color);
	border: 1px solid var(--primary-color);
	margin-block-start: 4em !important;
	margin-block-end: 4em !important;
}

.column-summary ul.wp-block-list {
	padding-left: 1.5em !important;
}

/* スマホ対応（縦並び） */
@media screen and (max-width: 768px) {
  .ct-container {
    flex-direction: column;
  }

  .ct-container section,
  .ct-container aside {
    flex: 1 1 100%;
    width: 100%;
  }
}




/*------------------
コラム一覧用
------------------*/
.hidden {
	display: none;
}

.column-list {
	list-style-type: none;
}

.column-list li {
	margin-bottom: 1em;
	padding: 25px;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 2px 6px #ddd;
}

.column-list li a {
	display: flex;
	gap: 15px;
	width: 100%;
	color: var(--index-color);
}
.column-list li a .thumbnail {
	width: 25%;
}
.column-list li a .thumbnail img {
	width: 100%;
	border-radius: 6px;
}
.column-list li a .summary {
	width: 75%;
}
.column-list li a h3 {
	font-size: 20pt;
	color: var(--primary-color);
	margin-block-end: 10px !important;
	line-height: 1.2;

}

.column-list li a .summary span {
	display: inline-block;
	color: var(--accent-color);
	line-height: 1;
	padding: 6px;
	font-size: 10pt;
	border: 1px solid var(--accent-color);
	margin-bottom: 5px;
}

.column-list li a p {
	margin: 0 !important;
	padding: 0 !important;
}

.column_notfound {
	border: 1px solid #ddd;
	padding: 30px 0;
	text-align: center;
}


.column-item {
	opacity: 1;
	transform: translateY(0);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.column-item.hidden {
	display: none; /* 初期は非表示 */
}

.column-item.fade-in {
	display: block;
	opacity: 0;
	transform: translateY(20px);
}

.column-item.fade-in.show {
	opacity: 1;
	transform: translateY(0);
}

button#load-more-btn {
	display: block;
	width: 200px;
	padding: 15px;
	box-sizing: border-box;
	margin: 40px auto 0;
	border-radius: 6px;
	background: var(--primary-color);
	color: #fff;
	cursor: pointer;
}

button#load-more-btn:hover {
	opacity: 0.8;
}
