@charset "UTF-8";
/**
*
* 記事ページ
* 
* 注意
* flex-basisはie11でバグがあるため不使用推奨
* メインカラム、左ナビ、右ナビの順番はorderで変更
**/


/**
* .column_left_wrap
* /info/ページ 左ナビ
**/

.column-date {
	width: 100%;
	font-size: 0.9rem;
	padding: 0 1rem 1rem 0;
	text-align: right;
}

.column-date span {
	padding: 0 0 0 10px;
}

.column-date li {
	display: inline-block;
}

.column-date li a {
	color: #41AAF5;
}

.column_left_wrap {
	width: 20rem;
	order: 0;
}

@media (max-width: 959px) {
	.column_left_wrap {
		width: 20rem;
		order: 0;
	}
}

@media (max-width: 767px) {
	.column_left_wrap {
		width: 100%;
		order: 5;
	}

	.column-date span {
		display: block;
		margin: 5px 0 0 0;
	}

	.column-date li {
		display: inline-block;
	}
}


/**
* .column_right_wrap
* /info/ページ 右ナビ
**/
.column_right_wrap {
	width: 20rem;
	order: 5;
}

@media (max-width: 959px) {
	.column_right_wrap {
		width: 20rem;
		order: 5;
	}
}

@media (max-width: 767px) {
	.column_right_wrap {
		width: 100%;
		order: 3;
	}
}

.column_right_wrap>a>img {
	margin: 0 0 1rem;
}


/**
* .column_right_wrap_sub
* /info/ページ 右ナビサブ
**/
.column_right_wrap_sub>a>img {
	margin: 0 0 1rem;
}

@media (max-width: 767px) {
	.column_right_wrap_sub {
		width: 100%;
		display: block;
		margin: 0 0 1rem;
	}
}


/**
* .column_center_wrap
* /info/ページ メインカラム
**/
#main.column_center_wrap,
.column_center_wrap {
	width: calc(100% - (20rem + 4rem));
	/* = 横幅 - 右ナビ幅 - 合計余白 */
	/* 2025年5月13日に左カラム削除に伴い20remを削除 */
	order: 1;
	overflow: visible;
}

@media (max-width: 959px) {

	#main.column_center_wrap,
	.column_center_wrap {
		width: calc(100% - (20rem + 4rem));
		/* = 横幅 - 右ナビ幅 - 合計余白 */
		/* 2025年5月13日に左カラム削除に伴い20remを削除 */
		order: 1;
	}
}

@media (max-width: 767px) {

	#main.column_center_wrap,
	.column_center_wrap {
		width: 100%;
		order: 0;
	}
}


/**
* .column_center_head
* /info/ページ メインカラム タイトル
**/
.column_center_head {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-content: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	margin: 0 0 1rem;
	padding: 0 1rem;
}

.column_center_head .title02 {
	color: #333;
	font-size: 1.75rem;
	font-weight: 700;
	font-feature-settings: 'palt';
	line-height: 3.25rem;
	text-align: left;
	margin: 0;
	font-family: sans-serif;
}

.column_center_wrap .title03 {
	font-size: 1.25rem;
	font-weight: 700;
	margin: 0.25rem 0 1rem;
}

.column_center_wrap .title03 span {
	color: #f99599;
}

@media (max-width: 767px) {
	.column_center_head {
		margin: 0 0 10px;
		padding: 0 10px;
	}

	.column_center_head .title02 {
		font-size: 1.45rem;
		line-height: 2.65rem;
		margin: 20px 0 10px;
	}

	.column_center_head .title02::before {
		width: 1em;
		height: 0.1666em;
		margin-left: -0.75rem;
		margin-right: 0.5em;
	}

	.column_center_wrap .title03 {
		font-size: 1.125rem;
		text-align: center;
		margin: 0.5rem 0 0.75rem;
	}
}


/**
* .column_sns_wrap
* /info/ページ SNSボタンを配置する際に使用
**/
.column_sns_wrap {
	display: none;
	width: 9rem;
}

.column_sns_wrap .ninja_onebutton {}

@media (max-width: 767px) {
	.column_sns_wrap {
		display: none;
	}

	.column_sns_wrap .ninja_onebutton {}
}


/**
* .column_list_wrap
* /info/ページ 記事一覧
**/
.column_list_wrap {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	border-radius: 5px;
	box-shadow: 0 0 0.25rem 0 rgba(0, 0, 0, 0.13);
	background-color: #fff;
	padding: 1rem;
	margin: 0 0 1rem;
}

.column_wrap {
	display: block;
	border-bottom: 1px solid #f1f1f1;
	width: 100%;
	margin: 0 0 1rem;
	padding: 0 0 1rem;
}

.column_wrap:last-child {
	border-bottom: none;
	margin: 0;
	padding: 0;
}

.column_wrap>div {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-content: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
}

.column_wrap .column_img {
	/*width: 20%;*/
	width: 250px;
	height: 150px;
	position: relative;
}

.column_wrap .column_img::before {
	content: '';
	display: block;
	padding: 100% 0 0;
	position: relative;
	z-index: 1;
}

.column_wrap .column_img img {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: contain;
	font-family: 'object-fit: cover;';
}

.column_wrap .column_text {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-content: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
	width: 100%;
	padding: 0 0 0 1rem;
}

.column_wrap .column_text .column_title {
	font-size: 1.2rem;
	font-weight: 700;
	font-feature-settings: 'palt';
	line-height: 1.5rem;
	width: 100%;
	order: 2;
}

.column_wrap .column_text .column_category {
	display: block;
	font-size: 0.625rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.2ex;
	color: #f99599;
	width: 100%;
	margin: 0.5rem 0 0;
	order: 10;
}

.column_wrap .column_text .column_date {
	display: block;
	font-size: 0.625rem;
	font-weight: bold;
	font-family: Arial, Helvetica, "sans-serif";
	line-height: 1;
	letter-spacing: 0.2ex;
	width: 100%;
	margin: 0 0 0.25rem;
	order: 1;
}

.column_wrap .column_text .column_main {
	color: rgba(0, 0, 0, 0.56);
	font-size: 0.75rem;
	font-feature-settings: 'palt';
	line-height: 1.25rem;
	margin-top: 0.25rem;
	order: 5;
}

.column_wrap .column_text .column_main br {
	display: none;
}

@media (max-width: 767px) {
	.column_wrap .column_text .column_main {
		display: none;
	}
}


/**
* .column_side_wrap
* /info/ページ サイド共通パーツ
**/
.column_side_wrap {
	border-radius: 6px;
	box-shadow: 0 2px 0.25rem rgba(0, 0, 0, 0.08);
	background: #fff;
	margin-bottom: 1rem;
}

.column_side_title {
	border-radius: inherit;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	background: #006900;
	color: #fff;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1rem;
	letter-spacing: 0.02ex;
	text-align: center;
	padding: 0.875rem 0.5rem;
	margin: 0;
}

@media (max-width: 767px) {
	.column_side_wrap {
		padding: 0.875rem;
		margin: 0 -1rem;
		overflow: hidden;
	}

	.column_side_title {
		font-size: 0.875rem;
		line-height: 1rem;
	}
}


/**
* .ranking_parts
* /info/ページ ランキングのラッパー
**/
.ranking_parts {
	counter-reset: ranking-number;
}

@media (max-width: 767px) {
	.ranking_parts {}
}


/**
* .ranking_column
* /info/ページ ランキング
* 
* 注意
* 動的出力のためテンプレートに存在しない
**/
.ranking_column {
	display: block;
	padding: 1rem;
	border-bottom: solid 1px #e1e1e1;
}

.ranking_column>div {
	position: relative;
}

.ranking_column_img {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	-webkit-align-content: flex-end;
	-ms-flex-line-pack: end;
	align-content: flex-end;
	-webkit-align-items: flex-end;
	-ms-flex-align: end;
	align-items: flex-end;
	position: absolute;
	right: 0;
	bottom: 0;
}

.ranking_column_img>img {
	border-radius: 50%;
	width: 3rem;
	height: 3rem;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	position: relative;
	z-index: 1;
}

.ranking_column_img>img+img {
	display: none;
}

/* ランキングフラッグ（デフォルト不使用） */
/* ランクアイコン */
.ranking_column_img::before {
	counter-increment: ranking-number;
	content: counter(ranking-number);
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-align-content: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	border-radius: 50%;
	/*background: linear-gradient(to bottom right, #ef948f 0%, #b76866 100%);*/
	background: #ef948f;
	color: #fff;
	font-size: 1rem;
	font-style: italic;
	font-weight: bold;
	font-family: Arial, Helvetica, "sans-serif";
	text-shadow: 0 0 12px rgba(255, 255, 255, 0.5);
	width: 2.25rem;
	height: 2.25rem;
	padding: 0 0.125rem 0 0;
	position: relative;
	z-index: 5;
	transform: translate(12.5%, 0);
}

/* ランク1 */
.ranking_column:nth-child(1) .ranking_column_img::before {
	background: linear-gradient(to bottom right, #c1a814 0%, #a0870a 100%);
	color: #fff;
}

/* ランク2 */
.ranking_column:nth-child(2) .ranking_column_img::before {
	background: linear-gradient(to bottom right, #adaca6 0%, #8e8c80 100%);
	color: #fff;
}

/* ランク3 */
.ranking_column:nth-child(3) .ranking_column_img::before {
	background: linear-gradient(to bottom right, #aa771d 0%, #8c5e14 100%);
	color: #fff;
}

.ranking_column_TITLE {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-align-content: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
}

.ranking_column_TITLE>img {
	display: none;
}

/* ランキングフラッグ（デフォルト不使用） */

.ranking_column_TITLE>p {
	font-size: 0.9125rem;
	font-weight: 500;
	font-feature-settings: 'palt';
	line-height: 1.5rem;
}

.ranking_column_TITLE>p+p {
	color: rgba(0, 0, 0, 0.56);
	font-size: 0.75rem;
	font-weight: 500;
	font-feature-settings: 'palt';
	line-height: 1.25rem;
	padding: 0 6rem 0 0;
	margin-top: 0.25rem;
}


/* バナー */
.column_side_banner {
	text-align: center;
}

*+.column_side_banner {
	margin-top: 1rem;
	margin-bottom: 1rem;
}

.column_side_banner a {
	display: block;
}

.column_side_banner *+a {
	margin-top: 1rem;
}

.column_side_banner img {
	max-width: none;
	width: 100%;
	height: auto;
}

@media (max-width: 767px) {
	.column_side_banner {
		margin: 0.5rem 0;
		text-align: center;
	}
}

/* カテゴリ */
.category_parts {
	padding: 0;
}

.category_parts>li {
	padding: 0;
	margin: 0;
}

.category_parts>li+li {
	border-top: solid 1px #e1e1e1;
}

.category_parts>li>a {
	display: block;
	color: #666;
	font-size: 0.625rem;
	line-height: 0.75rem;
	padding: 0.5rem;
}

.category_parts>li a>span {
	display: inline-block;
	border-radius: 2rem;
	border: solid 1px #f4f4f4;
	background: #f4f4f4;
	color: #000;
	font-size: 0.8125rem;
	line-height: 0.75rem;
	padding: 0.25rem 0.5rem;
}

.category_parts>li a>span:first-child {
	border: solid 1px #6fc3fe;
	background: #fff;
	color: #6fc3fe;
	font-size: 0.625rem;
	font-weight: 500;
	line-height: 0.75rem;
}

.category_parts>li a>*+span {
	margin-left: 0.25rem;
}

.category_parts>li a>span:only-child {
	background: #6fc3fe;
	color: #fff;
	font-size: 0.8125rem;
	font-weight: bold;
	line-height: 0.75rem;
}

@media (max-width: 767px) {
	.category_parts>li>a {
		font-size: 0.5rem;
		line-height: 0.75rem;
		padding: 0.25rem;
	}

	.category_parts>li a>span {
		font-size: 0.625rem;
		line-height: 0.75rem;
		padding: 0.25rem 0.5rem;
	}

	.category_parts>li a>span:first-child {
		font-size: 0.5rem;
		line-height: 0.75rem;
	}

	.category_parts>li a>*+span {
		margin-left: 0.25rem;
	}

	.category_parts>li a>span:only-child {
		font-size: 0.625rem;
		line-height: 0.75rem;
	}
}


/**
* .column_detail_wrap
* /info/[ID]/ページ 詳細ページ 共通ラッパー
**/
.column_detail_wrap {
	border-radius: 5px;
	box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.1);
	background-color: #fff;
	padding: 0.75rem 1.25rem 1.25rem;
	margin: 0 0 1.75rem;
}

.new_column_wrap {
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.new_column_wrap li.new_column_child {
	width: 30%;
	margin: 0 0 30px 0;
}

.new_column_wrap li.new_column_child div.new_column_img {
	margin: 0 0 5px 0;
}

@media (max-width: 767px) {
	.column_detail_wrap {
		border-radius: 0;
		padding: 0.5rem 1rem 1rem;
		margin: 0 -1rem 0.5rem;
	}

	.new_column_wrap {
		width: 100%;
		display: block;
	}

	.new_column_wrap li.new_column_child {
		width: 95%;
		margin: 0 auto;
	}

	.new_column_wrap li.new_column_child a {
		width: 100%;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin: 0 0 10px 0;
		padding: 0 0 10px 0;
		border-bottom: 1px dotted #ccc;
	}

	.new_column_wrap li.new_column_child div.new_column_img {
		width: 20%;
	}

	.new_column_wrap li.new_column_child div.new_column_TITLE {
		width: 75%;
	}
}


/**
* .column_detail_head
* /info/[ID]/ページ 詳細ページ記事メイン画像、日付など
**/
.column_detail_head {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-content: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	margin: 0 0 2rem;
}

.column_detail_head>.cate {
	font-size: 0.75rem;
	line-height: 1rem;
	color: #f99599;
}

.column_detail_head>time {
	font-size: 0.75rem;
	line-height: 1rem;
}

.column_detail_head>figure {
	width: 100%;
	position: relative;
	z-index: 1;
}

.column_detail_head>*+figure {
	margin-top: 0.5rem;
}

.column_detail_head>figure::before {
	content: '';
	display: block;
	padding: 55.55% 0 0;
	position: relative;
	z-index: 1;
}

.column_detail_head>figure>img {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: contain;
	font-family: 'object-fit: cover;';
}

@media (max-width: 767px) {
	.column_detail_head {
		padding: 0.5rem 0 0;
		margin: 0 -1rem 1rem;
	}

	.column_detail_head>.cate,
	.column_detail_head>time {
		display: block;
		font-size: 0.625rem;
		padding: 0 1rem;
	}
}


/**
* .column_detail_head
* /info/[ID]/ページ 詳細ページ 記事本文
* 
* 注意
* 動的出力のHTMLにより編集できないためセレクタの階層構造の厳密な違いに注意
* 本文テキストは基本的にpタグなどに内包されない状態なので隣接セレクタ等がうまく動作しない
* よってmarginなどは、隣接（自身の次要素）のmargin-topではなく、自身にmargin-topを記述する
**/

.menu-container {
	padding: 20px;
	border: 1px solid #e1e1e1;
	font-weight: 300;
	line-height: 2;
}

#menu-container .group-title {
	font-size: 18px;
	margin-bottom: 5px;
	position: relative;
	padding: 5px 10px;
	text-align: center;
	background: #f2f5f6;
	cursor: pointer;
}

#menu-container .group-title::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 15px;
	width: 8px;
	height: 8px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	-webkit-transform: translateY(-50%) rotate(-45deg);
	transform: translateY(-50%) rotate(-45deg);
	transition: .4s;
}

#menu-container .group-title.active::before {
	-webkit-transform: translateY(-50%) rotate(135deg);
	transform: translateY(-50%) rotate(135deg);
}

.menu-container ol a:hover {
	text-decoration: underline;
}

.menu-container>ol {
	margin: 0 0 5px 0;
	font-weight: bold;
}

.menu-container>ol>ol {
	margin: 0 0 10px 15px;
	font-weight: normal;
}

.menu-container>ol>ol>ol {
	margin: 0 0 0 30px;
	font-weight: normal;
}

.menu-container a {
	color: #41AAF5;
}

.con_supervision {
	background: #f2f2f2;
	padding: 20px;
	border-radius: 5px;
	margin-bottom: 1.75rem;
}

.con_supervision .flex_box {
	display: flex;
	align-items: center;
}

.con_supervision .sup_info {
	font-weight: bold;
	margin-left: 20px;
}

.con_supervision .sup_img {
	width: 20%;
	height: 20%;
	overflow: hidden;
	border-radius: 50%;
}

.con_supervision .sup_img img {
	object-fit: contain;
	object-position: center;
}

.con_supervision .sup_cat {
	color: #006900;
	font-size: 12px;
}

.con_supervision .sup_name {
	font-size: 20px;
}

.con_supervision .sup_post {
	font-size: 13px;
	color: #7E7E7E;
}

.con_supervision .sup_text {
	margin-top: 10px;
	font-size: 13px;
}

.column_detail_main {
	font-size: 1.05rem;
	font-weight: 500;
	line-height: 2rem;
	letter-spacing: 0.1ex;
}

@media (max-width: 767px) {
	.column_detail_main {
		line-height: 1.75rem;
	}

	.con_supervision .flex_box {
		display: block;
	}

	.con_supervision .sup_img {
		margin: 0 auto;
		width: 50%;
		height: 50%;
	}

	.con_supervision .sup_info {
		margin-left: inherit;
	}
}

.column_detail_main h1,
.column_detail_main h2,
.column_detail_main h3,
.column_detail_main h4,
.column_detail_main h5,
.column_detail_main h6 {
	font-feature-settings: 'palt';
	margin: 2rem 0;
}

.column_detail_main h5,
.column_detail_main h6 {
	margin: 1rem 0;
}

@media (max-width: 767px) {

	.column_detail_main h1,
	.column_detail_main h2,
	.column_detail_main h3,
	.column_detail_main h4,
	.column_detail_main h5,
	.column_detail_main h6 {
		margin: 1rem 0;
	}

	.column_detail_main h5,
	.column_detail_main h6 {
		margin: 0.5rem 0;
	}
}

.column_detail_main h1 {
	border-top: solid 1px #e1e1e1;
	font-size: 1.5rem;
	font-weight: 700;
	padding: 1.5rem 0 0;
	position: relative;
}

.column_detail_main h1::before {
	content: '';
	display: block;
	border-top: solid 4px #006900;
	position: absolute;
	left: 0;
	top: -1px;
	z-index: 1;
	width: 6em;
}

@media (max-width: 767px) {
	.column_detail_main h1 {
		font-size: 1.125rem;
		padding: 0.75rem 0 0;
	}

	.column_detail_main h1::before {
		border-top: solid 3px #006900;
		width: 6em;
	}
}

section.intro {
	width: 95%;
	margin: 0 auto 80px;
	background-color: #D3ECDB;
	color: #006900;
	padding: 10px 20px;
}

section.normalcol {
	width: 100%;
	margin: 0 auto 60px;
	/* border: 1px solid #; */
	/* background-color: #; */
	/* color: #; */
}

section.auther-box {
	width: 100%;
	margin: 0 auto 80px;
	background-color: #efefef;
	padding: 25px 25px 10px;
}


section.counselor-box-wrap {
	width: 100%;
	margin: 100px auto 80px;
}

section.counselor-smallbox-wrap {
	width: 100%;
	margin: 30px auto 40px;
}

section.counselor-box {
	width: 100%;
	margin: 0 auto 0;
	background-color: #fff;
	padding: 25px 25px 25px;
	border: 1px solid #006900;
	border-radius: 4px;
}

section.intro p strong {
	font-weight: bold;
	color: #f6ab00;
}

section.normalcol p strong {
	font-weight: bold;
	color: #006900;
}

section.auther-box h4 {
	font-weight: bold;
	color: #333;
	padding: 0;
	font-size: 12px;
	letter-spacing: 3px;
	line-height: 1.9;
	margin: 0 0 10px 0;
}

section.auther-box h4 strong {
	font-weight: bold;
	padding-right: 15px;
	font-size: 18px;
}

section.auther-box h4 strong.katagaki {
	color: #006900;
}


section.counselor-box-wrap h2 {
	font-size: 18px;
	border: none;
	margin: 0 0 20px 0;
	padding: 0 0 0 10px;
	border-left: 4px solid #006900;
}

section.counselor-box-wrap h2::before {
	border: none;
}

section.counselor-smallbox-wrap h3 {
	font-size: 18px;
	border: none;
	margin: 0 0 10px 0;
	padding: 0 0 0 0;
	background: none;
	color: #006900;
}

section.counselor-box div.counselor-character {
	display: flex;
}

section.counselor-box div.counselor-character-contents {
	width: calc(100% - 130px);
}

section.counselor-box h4 {
	font-weight: bold;
	color: #333;
	padding: 0 0 10px 0;
	font-size: 12px;
	letter-spacing: 0px;
	line-height: 1.9;
	margin: 0 0 10px 0;
	border: none;
	border-bottom: 1px solid #ccc;
}

section.counselor-box p {
	margin: 0;
}

section.counselor-box figure {
	width: 100px;
	margin: 0 30px 0 0;
}

section.counselor-box h4 strong {
	font-weight: bold;
	padding-right: 15px;
	font-size: 18px;
}

section.counselor-box h4 strong.katagaki {
	color: #006900;
}

@media (max-width: 767px) {

	section.counselor-box {
		padding: 10px 10px 10px;
	}

	section.counselor-box div.counselor-character-contents {
		width: calc(100% - 90px);
	}

	section.counselor-box figure {
		width: 70px;
		margin: 0 20px 0 0;
	}

}


.column_detail_main div.messagebox-counselor {
	width: 100%;
	display: flex;
	justify-content: space-between;
	margin: 60px auto 30px;
}

.column_detail_main div.messagebox-counselor figure {
	width: 90px;
	margin: 0 10px 0 0;
	padding: 0;
}

.column_detail_main div.messagebox-counselor p.messagebox-comment {
	position: relative;
	width: calc(100% - 130px);
	font-size: 1.05rem;
	background: #fff0d9;
	border-radius: 7px;
	padding: 20px;
	margin-top: 10px;
}

.column_detail_main div.messagebox-counselor p.messagebox-comment::before {
	content: "";
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	top: 50%;
	left: inherit;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	border-top: 0 solid transparent;
	left: -20px;
	border-right: 20px solid #fff0d9;
	border-bottom: 20px solid transparent;
}

@media (max-width: 767px) {

	.column_detail_main div.messagebox-counselor {
		margin: 50px auto 20px;
	}

	.column_detail_main div.messagebox-counselor figure {
		width: 70px;
		margin: 0 10px 0 0;
		padding: 0;
	}

	.column_detail_main div.messagebox-counselor p.messagebox-comment {
		position: relative;
		width: calc(100% - 100px);
		font-size: 1.05rem;
		background: #fff0d9;
		border-radius: 7px;
		padding: 15px;
		margin-top: 0px;
	}

	.column_detail_main div.messagebox-counselor p.messagebox-comment::before {
		content: "";
		position: absolute;
		display: block;
		width: 0;
		height: 0;
		top: 50%;
		left: inherit;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		border-top: 0 solid transparent;
		left: -20px;
		border-right: 20px solid #fff0d9;
		border-bottom: 20px solid transparent;
	}

}


figure.columnimg {
	width: 90%;
	margin: 0 auto 20px;
}

.column_detail_main h1.title02 {
	font-family: sans-serif;
}

.column_detail_main h2 {
	border-bottom: solid 4px #e1e1e1;
	font-size: 2.0rem;
	font-weight: 700;
	padding: 0 0 15px;
	position: relative;
	color: #006900;
	letter-spacing: 1px;
	margin: 100px auto 30px;
	line-height: 1.8;
}

.column_detail_main h2::before {
	content: '';
	display: block;
	border-bottom: solid 4px #006900;
	position: absolute;
	left: 0;
	bottom: -4px;
	z-index: 1;
	width: 6em;
}

@media (max-width: 767px) {
	.column_detail_main h2 {
		font-size: 1.3rem;
		padding: 0 0 0.8rem;
		line-height: 1.6;
		margin: 70px auto 30px;
	}
}

.column_detail_main h3 {
	font-size: 1.4rem;
	padding: 0.6rem 1.2rem 0.6rem 1.2rem;
	letter-spacing: 1px;
	color: #fff;
	background: #006900;
	position: relative;
	border-radius: 6px;
	margin: 70px auto 20px;
}

@media (max-width: 767px) {
	.column_detail_main h3 {
		font-size: 1.15rem;
		padding: 0.6rem 0.8rem 0.6rem 0.8rem;
		margin: 45px 0 15px 0;
	}
}

.column_detail_main p.read-time {
    text-align: center;
    font-size: 16px;
    color: #333333;
    background-color: #fff0d9;
    padding: 8px 16px;
    border-radius: 4px;
    display: inline-block;
    margin: 50px auto 0;
    max-width: 90%;
    display: block;  
}

.column_detail_main h4 {
	font-size: 1.15rem;
	color: #006900;
	margin: 40px 0 15px 0;
	border-left: solid 4px #006900;
	padding: 0 0 0 0.9rem;
	line-height: 1.4;
}

.column_detail_main table h4 {
	font-size: 1.0rem;
	color: #006900;
	margin: 0 0 0 0;
	border-left: none;
	padding: 0 0 0 0;
	line-height: 1.4;
}

.column_detail_main h5 {
	font-size: 1.125rem;
}

.column_detail_main h6 {
	font-size: inherit;
}

.column_detail_main dl dt {
	font-weight: bold;
	margin-left: 20px;
	margin-bottom: 10px;
	color: #e66900;
}

.column_detail_main dl dd {
	margin-bottom: 25px;
	margin-left: 35px;
}


.recommend-column-facility-wrap {
	margin-top: 60px;
}
.recommend-column-facility-wrap figure img {
	width: 100%;
}
.column_detail_main dl.recommend-column-facility-details {
	padding: 30px;
	background-color: #f9f3ed;
}
.column_detail_main dl.recommend-column-facility-details dt {
	font-weight: bold;
	margin-left: 0;
	margin-bottom: 0px;
	color: #006900;
}
.column_detail_main dl.recommend-column-facility-details dd {
	margin-bottom: 20px;
	margin-left: 0;
}
.column_detail_main dl.recommend-column-facility-details dd span {
	display: inline-block;
	padding: 5px 7px;
	background-color: #fff;
	border-radius: 3px;
	margin: 0 10px 10px 0;
	line-height: 1.0;
}


/* 親要素（コンテナ）の設定 */
.recommend-column-facility-links {
  display: flex;
  flex-direction: column; /* スマホ表示：上下縦並び */
  gap: 12px;              /* ボタン同士の間隔 */
  width: 100%;
  max-width: 600px;       /* 全体の最大幅（適宜変更してください） */
  margin: 20px auto;       /* 上下余白と中央寄せ */
  box-sizing: border-box;
}

/* ボタン（aタグ）の共通スタイル */
.column_detail_main .recommend-column-facility-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #00a29a; /* 指定の背景色 */
  color: #ffffff;             /* 指定の文字色 */
  text-decoration: none;      /* 下線を消す */
  font-weight: bold;
  font-size: 16px;
  padding: 14px 20px;         /* ボタンの内側余白 */
  border-radius: 8px;         /* 角丸デザイン（丸みを強めたい場合は値を大きく） */
  text-align: center;
  box-sizing: border-box;
  transition: opacity 0.3s ease, background-color 0.3s ease;
}

/* ホバー時の効果（マウスをのせたとき） */
.recommend-column-facility-links a:hover {
  opacity: 0.85;
}

/* PC表示用の設定（画面幅 768px 以上） */
@media (min-width: 768px) {
  .recommend-column-facility-links {
    flex-direction: row;     /* PC表示：左右横並び */
  }

  .recommend-column-facility-links a {
    flex: 1;                 /* 2つのボタンを均等な幅にする */
  }
}

.column_detail_main p.linktext {
	margin: 40px auto 40px;
}

.column_detail_main p.linktext a {
	background: url(../images/bloglinkicon.png);
	background-size: 20px;
	background-repeat: no-repeat;
	background-position-y: 6px;
	font-weight: bold;
	padding: 5px 0 5px 28px;
}

.column_detail_main p.linktext2 {
	width: 460px;
	background: #ff7800;
	font-weight: bold;
	margin: 0 auto;
	padding: 20px 30px 20px 30px;
	text-align: center;
	border-radius: 6px;
	margin: 40px auto 40px;
}

.column_detail_main p.linktext2 a {
	background: url(../images/bloglinkicon_wht.png);
	background-size: 24px;
	background-repeat: no-repeat;
	background-position-y: 6px;
	font-weight: bold;
	padding: 5px 0 5px 32px;
	color: #fff;
	text-decoration: none;
	font-size: 18px;
}

@media (max-width: 767px) {
	.column_detail_main h4 {
		font-size: 1.1rem;
	}

	.column_detail_main h5 {
		font-size: 1rem;
	}

	.column_detail_main h6 {
		font-size: inherit;
	}

	.column_detail_main p.linktext {
		margin: 25px auto 10px;
	}

	.column_detail_main p.linktext2 {
		width: 95%;
		background: #ff7800;
		font-weight: bold;
		margin: 25px auto 10px;
		padding: 20px 10px 20px 10px;
		text-align: center;
		border-radius: 6px;
	}

	.column_detail_main p.linktext2 a {
		background: url(../images/bloglinkicon_wht.png);
		background-size: 24px;
		background-repeat: no-repeat;
		background-position-y: 6px;
		font-weight: bold;
		padding: 7px 0 7px 30px;
		color: #fff;
		text-decoration: none;
		font-size: 1.0rem;
	}

	.column_detail_main p {
		font-size: 1.0rem;
		margin: 0 0 1.5rem;
		line-height: 1.8;
	}
}

.column_detail_main p {
	margin: 20px 0 30px;
	line-height: 2.2;
}

.column_detail_main p strong {
	font-weight: 800;
	background: transparent linear-gradient(transparent 73%, #ffd6a9 0);
	paddng-bottom: 1px;
}

.column_detail_main td strong {
	font-weight: 800;
	background: transparent linear-gradient(transparent 73%, #ffd6a9 0);
	paddng-bottom: 1px;
}

.column_detail_main b {}

.column_detail_main i {
	font-style: italic;
}

.column_detail_main s {
	text-decoration: line-through;
}

.column_detail_main u {
	text-decoration: underline;
}

.column_detail_main mark {}

.column_detail_main a {
	color: #41AAF5;
	text-decoration: underline;
}

.column_detail_main>hr {
	border-top: solid 1px;
	border-right: none;
	border-bottom: none;
	border-left: none;
	color: #e1e1e1;
	margin: 2rem 0;
}

.column_detail_main table {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	font-size: inherit;
	margin: 30px auto 30px;
	line-height: 1.9;
}

.column_detail_main table tr {}

.column_detail_main table tr>th,
.column_detail_main table tr>td {
	border: 1px solid #e1e1e1;
	vertical-align: middle;
	padding: 1rem;
}

.column_detail_main table tr>th {
	background-color: #fcf1e0;
	vertical-align: middle;
	text-align: left;
}

.column_detail_main table tr>th:first-child {}

.column_detail_main table tr>th:only-child {}

.column_detail_main table tr>td {
	vertical-align: middle;
}

@media (max-width: 767px) {
	.column_detail_main table {
		font-feature-settings: 'palt';
		line-height: 2.0;
		margin: 20px 0 20px;
	}

	.column_detail_main table tr>th,
	.column_detail_main table tr>td {
		padding: 0.75rem;
	}
}

.column_detail_main ul {
	margin: 35px 0 35px;
}

.column_detail_main table ul {
	margin: 10px 0 0;
}

.column_detail_main ul>li {
	font-size: inherit;
	line-height: 1.7;
	position: relative;
	padding: 0 0 0 1.5em;
	margin-bottom: 10px;
}


.column_detail_main ul>li h4 {
	color: #e66900;
	font-size: 1.0rem;
	border-left: none;
}

.column_detail_main ul>li::before {
	content: '';
	width: 1em;
	height: 1em;
	border-radius: 50%;
	background: #e66900;
	position: absolute;
	left: 0;
	top: 0.75em;
	z-index: 1;
	transform: translate(0, -50%) scale(0.5);
}

.column_detail_main ul>li+li {
	margin-top: 0.5rem;
}

.column_detail_main ol {
	margin: 35px 0 35px;
	counter-reset: ol-number;
}

.column_detail_main ol>li {
	font-size: inherit;
	line-height: 1.7;
	position: relative;
	padding: 0 0 0 1.5em;
	margin-bottom: 10px;
}

.column_detail_main ol>li+li {
	margin-top: 0.5rem;
}

.column_detail_main ol>li {
	font-size: inherit;
	line-height: 1.5;
	position: relative;
	padding: 0 0 0 1.5em;
}

.column_detail_main ol>li h4 {
	color: #e66900;
	font-size: 1.0rem;
	border-left: none;
}

.column_detail_main ol>li::before {
	counter-increment: ol-number;
	content: counter(ol-number)'.';
	color: #e66900;
	font-weight: 700;
	position: absolute;
	left: 0;
	top: 0.75em;
	z-index: 1;
	transform: translate(0, -50%);
}

@media (max-width: 767px) {

	.column_detail_main ul {
		margin: 20px 0 35px;
	}

	.column_detail_main ul>li {
		font-size: inherit;
		line-height: 1.7;
		position: relative;
		padding: 0 0 0 1.5em;
		margin-bottom: 15px;
	}

	.column_detail_main ol {
		margin: 20px 0 35px;
		counter-reset: ol-number;
	}

	.column_detail_main ol>li {
		font-size: inherit;
		line-height: 1.7;
		position: relative;
		padding: 0 0 0 1.5em;
		margin-bottom: 15px;
	}

}

/* 特殊な構造の部分 */
.column_detail_main>div {}

.column_detail_main>div>a {}

.column_detail_main .image {
	margin: 1rem 0;
}

.column_detail_main .image>img {
	max-width: none;
	width: 100%;
	height: auto;
}

@media (max-width: 767px) {
	.column_detail_main .image {
		margin: 1rem -1rem;
	}
}

.column_detail_main>div>h4 {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.8;
	margin: 0 0 1.0rem;
}

.column_detail_main>div>p {
	line-height: 1.8;
}


/**
* .similar_column
* /info/[ID]/ページ 詳細ページ 関連記事
**/
.similar_column {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 100%;
}

.similar_column+.similar_column {
	border-top: solid 1px #e1e1e1;
	margin-top: 1rem;
	padding-top: 1rem;
}

.similar_column>div {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: flex-start;
}

/* 画像 */
.similar_column_img {
	width: 25%;
	margin: 0;
	position: relative;
}

.similar_column_img::before {
	content: '';
	display: block;
	padding: 75% 0 0;
	position: relative;
	z-index: 1;
}

.similar_column_img img {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 5;
	max-width: none;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}

/* テキスト */
.similar_column_img+*,
.similar_column_img~.similar_column_detail {
	width: calc(75% - 1rem);
}

.similar_column_img+*>p,
.similar_column_title>p {
	color: inherit;
	font-size: 0.8125rem;
	font-weight: bold;
	font-feature-settings: 'palt';
	line-height: 1.4375rem;
}

.similar_column_img+*>p:first-of-type+p,
.similar_column_title>p:first-of-type+p {
	color: rgba(0, 0, 0, 0.56);
	font-size: 0.625rem;
	font-weight: 500;
	font-feature-settings: 'palt';
	line-height: 1.375rem;
	margin-top: 0.125rem;
}

.similar_column_title p:last-child {
	display: none;
}

.similar_column_detail p {
	font-size: 0.75rem;
	display: none;
}

@media (max-width: 767px) {

	/* 画像 */
	.similar_column_img {
		width: 25%;
		transform: translate(0, 6.66%);
	}

	/* テキスト */
	.similar_column_img+*,
	.similar_column_img~.similar_column_detail {
		width: calc(75% - 1rem);
	}
}

.column_map_wrap .area_wrap_sp {
	display: none;
}

.column_map_wrap {
	border-radius: 5px;
	box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.1);
	background-color: #fff;
	padding: 0.75rem 1.25rem 1.25rem;
	margin: 0 0 1.75rem;
}

.column_map_wrap .area_wrap img {
	width: 350px;
	max-width: 350px;
}


.column_map_wrap h2 {
	font-size: 28px;
	font-weight: bold;
	margin: 0 0 10px 0;
}

.column_map_wrap .content-container {
	padding: 0;
}

@media only screen and (max-width: 1545px) {

	.column_map_wrap .area_wrap_sp {
		display: block;
		text-align: center;
	}

	.column_map_wrap .area_wrap_pc {
		display: none;
	}

	.column_map_wrap .mapsearch_area {
		flex-direction: column;
		margin: 30px 0 0 0;
	}

	.column_map_wrap .area_wrap img {
		width: 100%;
		margin: 0 0 20px 0;
	}

	.column_map_wrap .map_link_wrap ul {
		margin-bottom: 0;
	}

	.column_map_wrap .map_link_wrap {
		width: 100%;
	}
}

@media screen and (max-width: 767px) {
	.column_map_wrap {
		margin: 0 -1rem 0.5rem;
	}

	.column_map_wrap h2 {
		font-size: 18px;
	}

	.column_map_wrap p {
		font-size: 13px;
	}

	.column_map_wrap li a {
		padding: 5px 15px;
	}

	.column_map_wrap .map_link_wrap li:first-child a {
		background: #fff;
		color: #006900;
		font-size: 14px;
	}

	.column_map_wrap .map_link_wrap li:first-child a::after {
		border-top: 1px solid #006900;
		border-right: 1px solid #006900;
	}

	.column_map_wrap .ttl_type01_wrap {
		margin-bottom: 10px;
	}
}

/**
* .new_column
* /info/ページ 新着記事
* 
* 注意
* 動的出力のためテンプレートに存在しない
**/
.ranking_parts .new_column {
	display: flex;
	gap: 15px;
	padding: 1rem;
	border-bottom: solid 1px #e1e1e1;
}

.ranking_parts .new_column .new_column_TITLE {
	flex: 1;
}

.ranking_parts .new_column .new_column_TITLE .ttl_txt {
	font-size: 0.9125rem;
	font-weight: 500;
	font-feature-settings: 'palt';
	line-height: 1.5rem;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.ranking_parts .new_column .new_column_TITLE .dtl_txt {
	color: rgba(0, 0, 0, 0.56);
	font-size: 0.75rem;
	font-weight: 500;
	font-feature-settings: 'palt';
	line-height: 1.25rem;
	margin-top: 0.25rem;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.ranking_parts .new_column .new_column_img {
	width: 85px;
}

.ranking_parts .new_column .new_column_img img {
	object-fit: cover;
	width: 100%;
	height: 85px;
	object-position: center;
}

/*20250709 S&E追加*/
.cvArea {
	margin: 20px 0px;
	padding: 5px;
	background: #ffde59;
}

.cvArea .index {
	margin: 0px 0px 5px 0px;
	padding: 0px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}

.cvArea .index br {
	display: none;
}

.cvArea .index:before {
	content: "";
	width: 2px;
	height: 18px;
	background: #000000;
	transform: skewX(30deg);
	margin-right: 10px;
}

.cvArea .index:after {
	content: "";
	width: 2px;
	height: 18px;
	background: #000;
	transform: skewX(-30deg);
	margin-left: 10px;
}

.cvArea .btnArea {
	margin: 0px;
	padding: 10px 5px;
	background: #FFF;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

.cvArea .btnArea a {
	margin: 0px 20px;
}

@media screen and (max-width: 767px) {
	.cvArea .index {
		font-size: 16px;
	}

	.cvArea .index br {
		display: block;
	}

	.cvArea .index:before,
	.cvArea .index:after {
		display: none;
	}

	.cvArea .btnArea {
		padding: 5px;
	}

	.cvArea .btnArea a {
		margin: 5px;
	}
}

/* カテゴリ親子階層表示用 */
.breadcrumb__item--parent {
	font-weight: bold;
	margin-top: 5px;
}

.breadcrumb__item--child {
	margin-left: 10px;
	padding-bottom: 5px;
}

.catebutton--child {
	font-size: 0.85em;
	color: #666;
}

.category_parts>li.breadcrumb__item--child {
	border-top: none;
	padding-top: 0;
}

.category_parts>li.breadcrumb__item--child>a {
	padding-top: 0;
	padding-bottom: 5px;
}

/* --- 子カテゴリ（インデント表示）のスタイル調整 --- */

/* リストアイテムの調整 */
.category_parts>li.breadcrumb__item--child {
	border-top: none;
	border-bottom: none;
	/* 区切り線は削除 */
	margin: 0;
	padding: 1px 0 1px 10px;
	/* 上下の隙間を最小限に */
}

/* 親カテゴリの直後にある子カテゴリ（最初の子）は、親に近づける */
.category_parts>li.breadcrumb__item--parent+li.breadcrumb__item--child {
	margin-top: -5px;
	/* 親の余白を詰める */
}

/* 子カテゴリのリンク（白抜きボタン風） */
.category_parts>li.breadcrumb__item--child>a {
	display: inline-block;
	/* コンテンツ幅に合わせる */
	padding: 2px 12px 2px 22px;
	/* ボタン内の余白も少しスリムに */
	position: relative;
	font-size: 0.75rem;
	color: #555;
	/* 文字色は読みやすいグレー */
	border: 1px solid #6fc3fe;
	/* 薄い水色の枠線 */
	border-radius: 20px;
	/* 角丸 */
	background-color: #fff;
	/* 塗りつぶし無し（白） */
	transition: all 0.2s;
}

/* common.jsによって強制的に付与されるspanのスタイルをリセット */
.category_parts>li.breadcrumb__item--child a span,
.category_parts>li.breadcrumb__item--child a span:first-child,
.category_parts>li.breadcrumb__item--child a span:only-child {
	display: inline;
	background: transparent;
	border: none;
	border-radius: 0;
	color: inherit;
	font-weight: normal;
	padding: 0;
}

/* アイコン（>）を枠線と同じ水色で表示 */
.category_parts>li.breadcrumb__item--child>a::before {
	content: '';
	display: block;
	width: 4px;
	/* 小さめ */
	height: 4px;
	/* 小さめ */
	border-top: 1px solid #6fc3fe;
	border-right: 1px solid #6fc3fe;
	transform: translateY(-50%) rotate(45deg);
	position: absolute;
	left: 10px;
	/* 位置微調整 */
	top: 50%;
}

/* ホバー時の挙動 */
.category_parts>li.breadcrumb__item--child>a:hover {
	background-color: #6fc3fe;
	/* ホバー時は塗りつぶす */
	color: #fff;
	/* 文字色を白に */
	text-decoration: none;
}

.category_parts>li.breadcrumb__item--child>a:hover::before {
	border-color: #fff;
	/* アイコンも白に */
}

/** コラム用CTA **/

.columncat-wrap {
  border-top: 5px solid #ffde59;
  border-left: 5px solid #ffde59;
  border-right: 5px solid #ffde59;
  background-color: #fffae8;
  width: 100%;
  box-sizing: border-box;
  padding-top: 20px;
}
.columncat-wrap .columncta-lead {
  margin: 0px;
  padding: 0px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 1px;
}
.columncat-wrap .columncta-lead::before {
  content: "";
  width: 2px;
  height: 28px;
  background: #000000;
  transform: skewX(30deg);
  margin-right: 10px;
  margin-top: 10px;
}
.columncat-wrap .columncta-lead::after {
  content: "";
  width: 2px;
  height: 28px;
  background: #000;
  transform: skewX(-30deg);
  margin-left: 10px;
  margin-top: 10px;
 }
.columncat-wrap .columncta-lead br {
  display: none;
}
.columncat-wrap .columncta-btns {
  margin: 0 auto 5px;
  padding: 10px 5px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0 20px;
}
.columncat-wrap .columncta-btns a {
  display: block;
}
.columncat-wrap .columncta-btns a:hover {
  opacity: 0.8;
}
.columncat-wrap .columncta-btns a img {
  height: 4rem;
}
.columncat-wrap .columncta-copy {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  background-color: #ffde59;
  padding: 10px 0;
  letter-spacing: 1px;
}
.columncat-wrap .columncta-copy br {
  display: none;
}
.columncat-wrap figure.cta-logo {
	margin: 0 auto 15px;
	text-align: center;
	width: 50%;
}
.columncat-wrap figure.cta-logo img {
	text-align: bottom;
	width: 100%;
}
.columncat-wrap figure.cta-allstars {
	margin: 0 auto 0;
	text-align: center;
	width: 95%;
}
.columncat-wrap figure.cta-allstars img {
	text-align: bottom;
	width: 100%;
}

@media screen and (max-width: 767px) {

.columncat-wrap .columncta-btns a img {
  height: 2.6rem;
}
.columncat-wrap .columncta-btns {
  gap: 0 10px;
}
.columncat-wrap .columncta-lead br,
.columncat-wrap .columncta-copy br {
	display: block;
}
.columncat-wrap .columncta-lead,
.columncat-wrap .columncta-copy {
	line-height: 1.3;
}
.columncat-wrap figure.cta-logo {
	margin: 0 auto 15px;
	width: 70%;
}

}

/** 新コラムCTA：ボタンを画像内に完全に重ねる **/

.column_detail_main .column-article-cta {
  width: 100%;
  margin: 45px 0;
  box-sizing: border-box;
  position: relative;
}

.column_detail_main .column-article-cta__visual {
  display: block;
  width: 100%;
  margin: 0;
}

.column_detail_main .column-article-cta__visual img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  margin: 0;
}

/* ボタンを画像の中に absolute で配置 */
.column_detail_main .column-article-cta .columncta-btns {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 10px;

  width: calc(100% - 30px);
  margin: 0;
  padding: 0;
  box-sizing: border-box;

  position: absolute;
  left: 50%;
  bottom: 15px;
  transform: translateX(-50%);
  z-index: 10;
}

.column_detail_main .column-article-cta .columncta-btns a {
  display: block;
  width: calc(50% - 5px);
  margin: 0;
  padding: 0;
  text-decoration: none;
}

.column_detail_main .column-article-cta .columncta-btns a img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  margin: 0;
}

.column_detail_main .column-article-cta .columncta-btns a:hover {
  opacity: 0.8;
}

@media screen and (max-width: 767px) {

  .column_detail_main .column-article-cta {
    margin: 35px 0;
  }

  .column_detail_main .column-article-cta .columncta-btns {
    width: calc(100% - 16px);
    gap: 6px;
    bottom: 15px;
  }

  .column_detail_main .column-article-cta .columncta-btns a {
    width: calc(50% - 3px);
  }
}