@charset "utf-8";

/* タイトル部分 */
#portal_headmini {
	display: block;
	text-align: center;
	line-height: 1;
}

#portal_headmini img {
	display: block;
	margin: 0 auto;
	max-width: 100%;
	height: auto;
	aspect-ratio: 1900 / 89;
}
@media screen and (max-width:767px) {
	#portal_headmini img {
		aspect-ratio: 480 / 107;
	}
}

#column_head {
	border-top: 3px solid #001c6d;
	border-bottom: 3px solid #001c6d;
	background: #001c6d;
}

#column_head img {
	display: block;
	line-height: 1.0;
	margin: 0 auto;
	max-width: 100%;
	height: auto;
	aspect-ratio: 1900 / 89;
}
@media screen and (max-width:767px) {
	#column_head img {
		aspect-ratio: 480 / 107;
	}
}

#column_single_info .categories a,
#column_single_info .tags a {
	display: block;
	width: fit-content;
	box-sizing: border-box;
	border: 1px solid #001c6d;
	line-height: 1;
	padding: 0.3em 0.5em;
}

#column_single_info .categories a,
#column_single_info .categories a:visited {
	background: #001c6d;
	color: #fff;
}

#column_single_info .tags a,
#column_single_info .tags a:visited {
	background: #fff;
	color: #001c6d;
}

#column_single_tit {
	display: grid;
	grid-template-columns: 30% 1fr;
	grid-template-rows: auto 1fr;
	grid-gap: 0 20px;
	color: #001c6d;
	margin-bottom: 0.5em;
}

#column_single_thumb {
	display: block;
	grid-row: 1 / 3;
	grid-column: 1;
}

#column_single_thumb img {
	display: block;
}

#column_single_tit h1 {
	display: block;
	grid-row: 1;
	grid-column: 2;
	font-size: 2.4rem;
	border-bottom: 3px solid #001c6d;
	line-height: 1.4;
	padding-bottom: 0.3em;
}

#column_single_info {
	display: flex;
	flex-flow: column wrap;
	gap: 5px 0;
	justify-content: flex-end;
	grid-row: 2;
	grid-column: 2;
	box-sizing: border-box;
	padding-top: 10px;
}

#column_single_info .categories,
#column_single_info .tags,
#column_single_info .times {
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-end;
	font-size: 1.4rem;
	gap: 8px;
}

.affi_caution {
	color: #7d83cb;
	margin: 1em 0;
	text-align: center;
}

/*本文*/
#column_content p {
	margin: 0.8em 0;
}

/*見出し*/
#column_content h2,
.columntit01 {
	display: block;
	width: calc(100% - 5px);
	background: #001c6d;
	color: #fff;
	box-shadow: 5px 6px 0 -1px #a9ccff;
	font-size: 2.4rem;
	box-sizing: border-box;
	padding: 0.7em;
	margin: 2em 0 1em;
}

#column_content h3,
.columntit02 {
	display: block;
	width: calc(100% - 5px);
	box-sizing: border-box;
	background: #efefef;
	color: #001c6d;
	font-size: 2.0rem;
	padding: 0.3em 1em;
	margin: 2em 0 1em;
	border-top: 2px solid #a9ccff;
	border-bottom: 2px solid #a9ccff;
}

#column_content h4,
.columntit03 {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 0.5em 1em 0.3em;
	color: #001c6d;
	border-bottom: dashed 2px #001c6d;
	border-top: dashed 2px #001c6d;
	margin: 1em 0 0.5em;
	font-size: 1.8rem;
}

#column_content h5,
.columntit04 {
	font-size: 1.8rem;
	font-weight: bold;
	margin: 35px 0 20px 10px;
	position: relative;
	z-index: 5;
}

#column_content h5:before,
.columntit04:before {
	content: "";
	width: 30px;
	height: 30px;
	border-radius: 100%;
	background: #e7eff7;
	display: block;
	position: absolute;
	z-index: -1;
	top: -5px;
	left: -10px;
}

/*テーブル、装飾*/
.column_table {
	width: 100%;
	height: auto;
	border-collapse: collapse;
	border: 2px solid #01bec1;
}

.column_table thead {
	background: #01bec1;
	color: #ffffff;
	font-weight: bold;
	padding: 5px 10px;
}

.column_table td {
	border: 2px solid #01bec1;
	padding: 5px 10px;
	box-sizing: border-box;
}

.column_table_title {
	background: #001c6d;
	width: calc(100% - 100px);
	color: #fff;
	font-size: 1.8rem;
	box-sizing: border-box;
	padding: 5px 10px;
	;
	z-index: 500;
	position: relative;
	margin: 30px 0 0 0;
}

.column_table_title:after {
	content: "";
	border-bottom: 40px solid #001c6d;
	border-right: 33px solid transparent;
	position: absolute;
	top: 0;
	right: -33px;
}

.column_date_table_container {
	width: 100%;
	box-sizing: border-box;
	margin: 0 0 30px 0;
	padding: 10px;
	overflow-x: scroll;
	white-space: nowrap;
}

.column_date_table_title {
	width: 100%;
	position: relative;
}

.column_date_table_title:before {
	content: "";
	display: block;
	width: 100%;
	height: 5px;
	background: linear-gradient(90deg, rgba(243, 168, 71, 1) 0%, rgba(243, 168, 71, 1) 25%, rgba(25, 149, 223, 1) 25%, rgba(25, 149, 223, 1) 50%, rgba(191, 0, 0, 1) 50%, rgba(191, 0, 0, 1) 75%, rgba(108, 220, 165, 1) 75%);
}

.column_date_table_title:after {
	content: "→";
	border-radius: 50px;
	width: 50px;
	text-align: center;
	line-height: 50px;
	color: #fff;
	display: block;
	position: absolute;
	top: 40%;
	right: 0;
	background: #0088e8;
}

.column_date_table_title h2 {
	background: none;
	color: #001c6d;
	display: block;
	width: calc(100% - 70px);
}

.column_date_table_title h2:before {
	content: none;
}

.column_date_table_container table {
	table-layout: fixed !important;
	border: 1px solid #efefef;
	border-collapse: collapse;
}

.column_date_table_container th {
	width: 75px !important;
	background: #efefef;
	color: #666;
	text-align: center;
	font-size: 1.4rem;
}

.column_date_table_container th,
.column_date_table_container td {
	box-sizing: border-box;
	padding: 5px 10px;
	border: 1px solid #efefef;
}

.column_date_table_container td {
	width: 200px !important;
}

.column_date_table_container tr:nth-child(1) {
	border-bottom: 2px solid #666;
}

.column_date {
	width: 100%;
	box-sizing: border-box;
	border: 3px solid #001c6d;
	border-collapse: collapse;
	table-layout: fix;
	margin: 0 0 30px 0;
}

.column_date th,
.column_date td {
	box-sizing: border-box;
	padding: 5px 10px;
	border: 2px solid #001c6d;
}

.column_date thead {
	background: #ced9fc;
	color: #001c6d;
}

.column_data_table_2 {
	width: 100%;
	box-sizing: border-box;
	border-collapse: collapse;
	border: 2px solid #0088e8;
}

.column_data_table_2 td,
.column_data_table_2 th {
	box-sizing: border-box;
	padding: 5px 10px 2px 10px;
	border: 1px solid #0088e8;
}

.column_data_table_2 th {
	width: 150px;
	background: #82cbff;
}

.column_data_table_2 tr:nth-child(even) td {
	background: #eee;
}

.column_jirei_table {
	width: 100%;
	box-sizing: border-box;
	border-collapse: collapse;
	background: url("/images/card_a_bg.png") no-repeat center right;
	margin-bottom: 20px;
}

.column_jirei_table td {
	box-sizing: border-box;
	padding: 3px 10px;
	border: 1px solid #002dae;
}

.column_jirei_table p {
	margin: 0;
}

.cjt_th {
	text-align-last: justify;
	width: 90px;
}

.column_date_table_container .afbox_amazon a,
.column_date_table_container .afbox_rakuten a,
.column_date_table_container .afbox_yahoo a {
	margin-top: 5px;
	text-align: center;
	padding-top: 4px;
}

.column_summary {
	width: 100%;
	box-sizing: border-box;
	border: 3px solid #001d6a;
	border-radius: 5px;
	position: relative;
	overflow: hidden;
	margin: 45px 0;
	padding: 55px 0 10px;
	font-size: 1.8rem;
}

.column_summary:before,
.column_summary:after {
	display: block;
	width: calc(12em + 10px);
	position: absolute;
	top: -1px !important;
	color: #fff;
	font-weight: bold;
	box-sizing: border-box;
	padding: 5px 1em;
	clip-path: polygon(0 0, 100% 0%, 90% 100%, 0% 100%);
	height: calc(1em + 22px);
}

.column_summary:before {
	content: "このコラムのポイント";
	left: 0;
	z-index: 10;
	background: #001d6a;
}

.column_summary:after {
	content: "";
	background: #ced9fc;
	z-index: 5;
	left: 10px;
}

.column_summary ul {
	margin: 0 auto;
	width: 90%;
}

.column_summary li {
	color: #001d6a;
	font-weight: bold;
	padding: 0 0 15px 0;
}

.column_summary li:before {
	content: url("/images/list_check03.png");
	display: inline-block;
	margin-right: 3px;
	line-height: 1.0;
	width: 19px;
	vertical-align: middle;
}

.column_summary small {
	display: block;
	font-size: 1.4rem;
	font-weight: normal;
	color: #334881;
	box-sizing: border-box;
	padding-left: 22px;
}

.column_summary li a {
	color: #0046ff;
}

.column_summary li a:after {
	content: "▲";
	display: inline-block;
	transform: rotate(90deg);
	width: 1.3em;
	height: 1.3em;
	line-height: 1.0;
	margin-left: 3px;
	background: #0046ff;
	color: #fff;
	font-size: 80%;
	border-radius: 50%;
	vertical-align: middle;
	padding-top: 3px;
	box-sizing: border-box;
	text-align: center;
}

.column_popup {
	padding-bottom: 100px;
	background: #fff;
}

.column_yoko2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 1em;
}

.column_yoko3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 1em;
}

.post_imglink {
	display: flex;
	margin: 2em 0;
}

.post_imglink_img {
	width: 30%;
	box-sizing: border-box;
	border: 2px solid #0088e8;
	padding:0 5px;
}

.post_imglink_img a {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.post_imglink_img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.post_imglink_text {
	width: 70%;
}

.post_imglink_text>p {
	box-sizing: border-box;
	padding: 0 1.5em;
}

.post_imglink_title {
	font-size: 1.2em;
	font-weight: bold;
	background: #0088e8;
	color: #fff;
	border-radius: 0 1em 1em 0;
	box-sizing: border-box;
	padding: 1em 1.5em;
}

#column_content p.post_imglink_more {
	display: block;
	background: #cae9fd;
	font-weight: bold;
	margin-left: auto;
	border-radius: 1em;
	padding: 0.5em 1em;
	width: fit-content;
}

.post_imglink_more a,
.post_imglink_more a:visited {
	color: #0088e8;
}

.post_imglink_more:hover {
	background: #ff6a00;
	color: #fff;
}

.index_list {
	margin: 1em 0;
}

.index_list li {
	padding: 0.5em 0;
	border-bottom: 1px dashed #0088e8;
}

.index_list a {
	display: flex;
	align-items: center;
	gap: 5px 1em;
	font-weight: bold;
}

.index_list span {
	display: block;
	width: fit-content;
	box-sizing: border-box;
	padding: 0.3em 0.5em;
	background: #0088e8;
	border-radius: 0.5em;
	color: #fff;
}

.index_list a::after {
	content: "→";
	font-size: 1.2em;
	font-weight: bold;
	animation: chon 5s 0s ease-in infinite;
}

@keyframes chon {
	0% {
		transform: translateX(0);
	}

	5% {
		transform: translateX(10px);
	}

	10% {
		transform: translateX(0);
	}

	15% {
		transform: translateX(10px);
	}

	20% {
		transform: translateX(0);
	}

	25% {
		transform: translateX(10px);
	}

	30% {
		transform: translateX(0);
	}
}


/*link card*/
.columcard a {
	display: flex;
	flex-flow: row wrap;
	border-radius: 5px;
	background: #efefef;
	width: 100%;
	margin: 20px auto;
	align-content: start;
	overflow: hidden;
	position: relative;
}

.columcard a::before {
	content: "合わせて読みたい";
	display: block;
	width: fit-content;
	position: absolute;
	top: 0;
	right: 0;
	background: #83a3ff;
	color: #fff;
	font-weight: bold;
	box-sizing: border-box;
	padding: 5px 10px 3px;
	border-radius: 0 0 0 5px;
}

.ccard_img {
	flex: 0 0 30%;
	width: 30%;
	overflow: hidden;
}

.ccard_img img {
	display: block;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	object-position: top center;
}

.ccard_txt {
	flex: 0 0 70%;
	width: 100%;
	box-sizing: border-box;
	padding: 15px 20px;
}

.ccard_txt::before {
	content: "関連コラム";
	display: block;
	background: #ccc;
	border-radius: 5px;
	padding: 7px 9px 5px;
	margin-bottom: 8px;
	line-height: 1.0;
	color: #333;
	width: fit-content;
}

.ccard_txt .title {
	font-size: 1.8rem;
	font-weight: bold;
}

.ccard_txt .more {
	font-size: 1.4rem;
}

.ccard_txt .more::before {
	content: "▲";
	display: inline-block;
	transform: rotate(90deg);
	margin-right: 5px;
}

.simple_card a {
	width: 100%;
	margin: 20px auto;
	background: #efefef;
	border-radius: 5px;
	display: flex;
	flex-flow: row wrap;
	align-content: center;
	align-items: center;
	box-sizing: border-box;
	padding: 10px 15px;
	gap: 15px;
	position: relative;
}

.scard_icon {
	display: block;
	flex: 0 0 70px;
	position: relative;
	z-index: 10;
	line-height: 1.0;
}

.scard_title {
	display: block;
	flex: 0 0 auto;
	width: calc(100% - 100px);
	font-size: 1.8rem;
	font-weight: bold;
	position: relative;
	z-index: 10;
}

.scard_title::before {
	content: "関連記事";
	display: inline-block;
	line-height: 1.0;
	background: #89aadc;
	padding: 5px 8px 3px 3px;
	margin-right: 7px;
	border-radius: 0 10px 10px 0;
	color: #fff;
	font-size: 1.4rem;
	font-weight: normal;
}

.scard_title small {
	display: inline-block;
	font-size: 1.4rem;
	color: #666;
	margin: 5px;
	font-weight: normal;
}

.simple_card a::after {
	content: "Click!";
	display: block;
	position: absolute;
	z-index: 5;
	width: fit-content;
	color: #89aadc;
	font-weight: bold;
	bottom: 10px;
	right: 10px;
	line-height: 1.0;
}

.zukan_card a {
	display: flex;
	flex-flow: row wrap;
	width: 100%;
	margin: 20px auto;
	border-radius: 5px;
	overflow: hidden;
	background: url("/images/zukancard_bg.png") no-repeat bottom right #efefef;
}

.zcard_img {
	flex: 0 0 30%;
	width: 30%;
	overflow: hidden;
}

.zcard_img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: bottom center;
}

.zcard_text {
	flex: 0 0 70%;
	width: 70%;
	box-sizing: border-box;
	padding: 15px 20px;
	background-color: rgba(239, 239, 239, 0.3);
}

.zcard_text .title {
	font-size: 1.8rem;
	font-weight: bold;
	color: #333;
}

.zcard_text .title strong {
	font-size: 2.4rem;
}

.zcard_text .title strong::before {
	content: "「";
	color: #0ba29a;
	margin-left: -0.5em;
}

.zcard_text .title strong::after {
	content: "」";
	color: #0ba29a;
}

.zcard_text small {
	font-size: 1.4rem;
	color: #666;
	margin: 5px;
	font-weight: normal;
}

.zcard_text .more {
	color: #fff;
	background: #6dd593;
	display: block;
	width: fit-content;
	box-sizing: border-box;
	padding: 5px 10px 3px;
	border-radius: 5px;
	margin: 0 5px;
}

.zcard_text .more::before {
	content: "▲";
	display: inline-block;
	transform: rotate(90deg);
	margin-right: 5px;
}



/*cvbtn*/
.col_cvbtn {
	display: block;
	box-sizing: border-box;
	padding: 30px 0;
	width: 100%;
}

.col_cvbtn a {
	display: block;
	width: fit-content;
	margin: 0 auto;
	font-weight: bold;
}

.col_cvbtn a:hover {
	transform: translate(2px, 2px);
}

.col_cv_catch {
	display: block;
	text-align: center;
	color: #ff6a00;
}

.col_cv_tit {
	display: block;
	width: fit-content;
	max-width: 100%;
	box-sizing: border-box;
	padding: 0.5em 1.5em;
	border-radius: 50px;
	position: relative;
	background: url("/images/column/col_cvbtn_img.png") no-repeat #ff6a00;
	background-position: 10% 90%;
	color: #fff;
	font-size: 120%;
	margin: 5px auto 0;
}

.col_cv_tit::before {
	content: "＞";
	display: block;
	position: absolute;
	right: 10px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	font-size: 1.2rem;
	z-index: 5;
	color: #fff;
	line-height: 1.0;
	width: 1em;
	height: 1em;
}

.col_cv_tit::after {
	content: "詳しくはこちら";
	display: block;
	text-align: right;
	font-size: 1.6rem;
	position: relative;
	z-index: 5;
	color: #fffc00;
}

.col_cvbtn_inq {
	display: block;
	box-sizing: border-box;
	padding: 30px 0;
	width: 100%;
}

.col_cvbtn_inq a {
	display: block;
	width: fit-content;
	margin: 0 auto;
	font-weight: bold;
}

.col_cvbtn_inq a:hover {
	transform: translate(2px, 2px);
}

.col_cv_inq_tit {
	display: block;
	width: fit-content;
	max-width: 100%;
	box-sizing: border-box;
	padding: 0.5em 2.5em;
	border-radius: 50px;
	position: relative;
	background: url("/images/column/col_cvbtn_img.png") no-repeat #ff6a00;
	background-position: 6% 73%;
	background-size: 15%;
	color: #fff;
	font-size: 120%;
}

.col_cv_inq_tit::before {
	content: "＞";
	display: block;
	position: absolute;
	right: 10px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	font-size: 1.2rem;
	z-index: 5;
	color: #fff;
	line-height: 1.0;
	width: 1em;
	height: 1em;
}

.col_cv_inq_tit::after {
	content: "のお問い合わせはこちら";
	display: block;
	text-align: right;
	font-size: 1.6rem;
	position: relative;
	z-index: 5;
	color: #fff;
}

/*affili Rinker*/
.afbox_charm {
	display: none;
}


.valtabebox {
	display: flex;
	flex-flow: row wrap;
	box-sizing: border-box;
	margin: 20px 0;
	border: 2px solid #83a3ff;
	border-radius: 10px;
	overflow: hidden;
}

.valtabebox:hover {
	background-color: #f3fdff;
}

.valtabebox p {
	margin-bottom: 0.5em !important;
}

.valtabebox_img {
	flex: 0 0 35%;
	text-align: center;
	overflow: hidden;
	max-height: 35vh;
}

.valtabebox_img img {
	object-fit: cover;
	object-position: center;
	display: block;
	width: 100%;
	height: 100% !important;
}

.valtabebox_info {
	flex: 0 0 65%;
	box-sizing: border-box;
	padding: 17px 20px 0;
	background: url("/images/column/restaurant_card_bg.png?4") no-repeat 97% 5%;
	color: #666;
}

.valtabebox_tit {
	font-size: 150%;
	line-height: 1.3;
	font-weight: bold;
}

.valtabebox_btn a {
	display: block;
	width: fit-content;
	max-width: 100%;
	color: #fff;
	font-weight: bold;
	background: #ff9000;
	box-sizing: border-box;
	padding: 5px 25px;
	letter-spacing: 2px;
	margin: 10px 0 20px;
}

.valtabebox_btn a::after {
	content: "→";
	margin: 0 0 0 5px;
	vertical-align: middle;
	font-size: 150%;
}

.valtabebox_btn a:visited {
	color: #fff;
}

.valtabebox_btn a:hover {
	background: #fe5a00;
}

.valtabebox_quote {
	font-size: 80%;
	color: #aaa;
	display: block;
}

.valtabebox_quote a::before {
	content: "画像：";
}

.valtabebox_quote a,
.valtabebox_quote a:visited {
	color: #aaa;
}

.valtabebox_tit img,
.valtabebox_btn img {
	width: 0 !important;
	height: 1px;
	display: inline !important;
	margin: 0 !important;
}

/*Rinkerにカラーミーリンク追加*/
.rinker_colormelink {
	width: 100%;
	flex: 0 0 100%;
	padding-bottom: 0.3em;
}

.rinker_colormelink a {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	font-weight: bold;
}

.rinker_colorme_catch {
	display: block;
	width: 148px;
	text-align: center;
	color: #5f5f5f;
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 100% 3px;
	animation: undermarker 1.5s infinite;
}

@keyframes undermarker {
	0% {
		color: #5f5f5f;
		background-image: linear-gradient(120deg, transparent 0%, transparent 100%);
		background-size: 100% 3px;
		background-position: 0 100%;
		background-repeat: no-repeat;
	}

	50% {
		color: #ff6a00;
		background-image: linear-gradient(120deg, #FFC107 0%, #FFC107 100%);
		background-size: 100% 3px;
		background-position: 0 100%;
		background-repeat: no-repeat;
	}

	100% {
		color: #5f5f5f;
		background-image: linear-gradient(120deg, transparent 0%, transparent 100%);
		background-size: 100% 3px;
		background-position: 0 100%;
		background-repeat: no-repeat;
	}
}

.rinker_colorme_catch::after {
	content: "→";
}

.rinker_colorme_btn {
	display: block;
	width: calc(100% - 148px);
	background: #5f5f5f;
	color: #fff;
	box-sizing: border-box;
	padding: 0.5em 1em;
	border-radius: 5px;
	box-shadow: 3px 3px 0 #FFC107;
	text-align: center;
}

.rinker_colorme_btn:hover {
	transform: translate(2px, 2px);
	box-shadow: -2px -2px 0 #FFC107;
}

.afi_comparison_table .rinker_colorme_catch {
	margin-top: 0.8em;
}

.afi_comparison_table .rinker_colorme_catch::after {
	content: "↓";
}

.afi_comparison_table .rinker_colorme_btn {
	width: 100%;
	font-size: 1.4rem;
}

/*ユーザー詳細*/
.column_author_head {
	width: 100%;
	box-sizing: border-box;
	padding: 20px 20px 5px 20px;
	border: 1px solid #666;
	margin-bottom: 30px;
}

.column_author_head .fl_l {
	width: 150px;
	box-sizing: border-box;
	padding: 0 20px;
}

.column_author_head .fl_l a {
	display: block;
	border-radius: 100px;
	overflow: hidden;
}

.column_author_head .fl_r {
	width: calc(100% - 170px);
}

.column_author_head_name {
	color: #001c6d;
	font-size: 2.0rem;
	font-weight: bold;
}

.column_author_head p {
	color: #666;
	margin: 0;
}

.column_author_head .sns {
	display: flex;
	flex-flow: row wrap;
}

.column_author_head .sns a {
	display: block;
	flex: 0 0 auto;
	margin: 10px 15px 10px 0;
}

.column_author_head .sns img {
	width: 40px;
	height: 40px;
}

/*シングル用ページ送り*/
#column_content_pagenavi {
	width: 100%;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-around;
	padding-top: 15px;
}

#column_content_pagenavi p {
	flex: 1 0 30%;
	text-align: center;
}

#column_prev,
#column_next,
#column_new {
	position: relative;
	background: #ced9fc;
	line-height: 30px;
	padding: 5px 0;
}

#column_prev {
	margin-right: 10px;
}

#column_new {
	margin-left: 10px;
}

#column_prev span {
	display: block;
	position: absolute;
	top: 7px;
	left: 0;
}

#column_next span {
	display: block;
	position: absolute;
	top: 7px;
	right: 0;
}

#column_new span {
	display: block;
	position: absolute;
	top: 3px;
	right: calc(50% - 5em);
}

#column_prev span:before {
	content: "＜";
	border-radius: 3px;
	font-weight: bold;
	font-size: 3.0rem;
	color: #fff;
	display: inline-block;
}

#column_next span:before {
	content: "＞";
	border-radius: 3px;
	font-weight: bold;
	font-size: 3.0rem;
	color: #fff;
	display: inline-block;
}

#column_new span:before {
	content: "＞";
	border-radius: 3px;
	font-weight: bold;
	font-size: 3.0rem;
	color: #fff;
	display: inline-block;
	transform: rotate(-90deg);
}

/*rental column*/
.col_ren_table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	border: 1px solid #0088e8;
	text-align: center;
}

.col_ren_table_head {
	background: #afd7ea;
}

.col_ren_table tbody th,
.col_ren_table tbody td {
	box-sizing: border-box;
	padding: 0.3em;
	border: 1px solid #0088e8;
}

.col_ren_table tbody th {
	background: #e0f2ff;
}

.crt_container {
	display: flex;
	flex-flow: row nowrap;
	overflow-x: auto;
	box-sizing: border-box;
	padding: 10px 0;
	scrollbar-width: thin;
	scrollbar-color: #0088e8 #ccc;
}

.crt_container::-webkit-scrollbar {
	width: 8px;
}

.crt_container::-webkit-scrollbar-track {
	background: #ccc;
	border-radius: 10px;
}

.crt_container::-webkit-scrollbar-thumb {
	background: #afd7ea;
	border-radius: 10px;
}

.col_ren_table.crt_scroll {
	table-layout: auto;
	width: fit-content;
	min-width: 100%;
	white-space: nowrap;
}

/*事例紹介コラム用*/
.jiresho_case__head {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0 1em;
	background: #fff;
	border-radius: 1em;
	border: navy 3px solid;
	color: navy;
	font-weight: bold;
	box-sizing: border-box;
	padding: 0 1em;
	margin: 2em 0 1em;
	align-items: center;
}

.jiresho_case__no {
	color: #0088e8;
}

.jiresho_case__media a {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: center;
}

.jiresho_case__media {
	display: flex;
	justify-content: center;
	background: linear-gradient(56deg, #a9ccff, #d7e8ff, #a9dfff);
	border-radius: 1em;
	overflow: hidden;
}

.jiresho_case__meta {
	border-radius: 1em;
	width: 100%;
	box-sizing: border-box;
	padding: .3em 1em;
	margin: 1em 0;
	border: 2px solid #acceff;
}

.jiresho_case__table {
	border-collapse: separate;
	border-spacing: 10px 5px;
	width: 740px;
	margin: 0 auto;
	max-width: 100%;
}

.jiresho_case__table th {
	box-sizing: border-box;
	padding: 0 0.5em;
	width: 5.5em;
	background: #83a3ff;
	color: #fff;
	text-align-last: justify;
}

.jiresho_case__table td {
	box-sizing: border-box;
}

.jiresho_case__body {
	padding: 0.2em 0 0;
}

.jiresho_case__subitem {
	width: 100%;
	position: relative;
	margin: 1em 0 2em;
	overflow: hidden;
}

.jiresho_case__subitem img,
.jiresho_case__subitem video {
	display: block;
	position: relative;
	z-index: 1;
	margin: 0 auto;
}

.jiresho_case__subitem img {
	border-radius: 1em;
	width: fit-content;
	max-width: 100%;
	height: auto;
}
.jiresho_case__subitem video{
	width:100%;
	height:auto;
	aspect-ratio: 1 / 0.6;
}

.jiresho_case__subitem figcaption,
.jiresho_case__subitem .jiresho_case__note {
	position: absolute;
	background: #fff;
	width: fit-content;
	box-sizing: border-box;
	padding: 0.3em 1em;
	border-radius: 1em;
	z-index: 2;
}

.jiresho_case__subitem figcaption {
	bottom: 0.5em;
	left: 0;
	right: 0;
	margin: 0 auto;

}

.jiresho_case__subitem .jiresho_case__note {
	top: 0.5em;
	left: 0.5em;
}

.jiresho_case__cta {
	display: flex;
	width: fit-content;
	background: navy;
	color: #fff;
	font-weight: bold;
	margin: 0 0 2em auto;
	padding: 1em 2em;
	border-radius: 2em;
	align-items: center;
	gap: 0 0.7em;
	max-width: 100%;
}

.jiresho_case__cta:visited {
	color: #fff;
}

.jiresho_case__cta::after {
	content: "＞";
	font-weight: bold;
	font-size: 0.8em;
}

.jiresho_case__cta:hover {
	background: linear-gradient(56deg, #a9ccff, #d7e8ff, #a9dfff);
	color: navy;
}

.column_fix_menu{
    width:200px;
    height:auto;
	max-height:85vh;
    float:left;
    box-sizing: border-box;
    border:#0088e8 1px solid;
    overflow-y: auto;
    overflow-x: hidden;
    padding:10px;
    font-size:0.85em;
    border-radius:1em 0 0 1em;
    scrollbar-width: thin;
    scrollbar-color: #0088e8 #fff;
}
.column_fix_menu_btn{display:none;}
.column_fix_menu_tit{
    font-weight:bold;
    text-align: center;
    color:#0088e8;
}
.column_fix_menu summary{
    cursor: pointer;
    text-align: center;
}
.column_fix_menu summary::marker,
:is(::-webkit-details-marker){
    color:#0088e8;
}
.column_fix_menu ol{
    list-style:none;
    margin:0.5em 0;
    padding:0;
}
.jiresho_menubar{
    display:flex;
    width:100%;
    align-items: center;
    color:#0088e8;
    border-bottom:1px dotted #0088e8;
}
.jiresho_menubar:visited{color:#0088e8;}
.jiresho_menubar:hover{
    background:#cae9fd;
    border-radius:0.5em;
}
.jiresho_menubar span{
    display: block;
    width:2em;
    text-align: center;
}
.jiresho_menubar small{
    display: block;
    width:calc(100% - 2em);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.column_fix_menu_wrap{
    position:relative;
  }


/*pro oshi best index*/
#best_index {
	position: fixed;
	top: 10vh;
	left: calc(50% + 522px + 20px);
	width: 200px;
	height: auto;
	overflow-y: auto;
	background: #001c6d;
	border-radius: 10px;
	padding-bottom: 0.8em;
	opacity: 0;
	visibility: hidden;
	z-index: 500;
	scrollbar-color: #ced9fc #fff;
	scrollbar-width: thin;
	overscroll-behavior: contain;
}

#best_index ol {
	display: block;
	list-style: none;
	margin-bottom: 0.5em;
}

#best_index nav.hidenav ol {
	display: none;
}

#best_index li {
	padding: 0.5em 0;
	border-bottom: 1px dotted #fff;
}

#best_index li a {
	width: 100%;
	display: flex;
	flex-flow: row wrap;
	gap: 0 5px;
	align-items: center;
	font-size: 1.4rem;
	box-sizing: border-box;
	padding: 0 0.5em;
	text-align: center;
	color: #fff;
}

#best_index li a:visited {
	color: #fff;
}

#best_index li a:hover {
	background: #ff6a00;
}

#best_index li a>em {
	width: fit-content;
	max-width: 4em;
	box-sizing: border-box;
	padding: 0.3em 0.5em;
	color: #001c6d;
	line-height: 1;
	border-radius: 5px;
	font-weight: bold;
	margin-bottom: 0.3em;
}

#best_index li a>strong {
	display: block;
	width: fit-content;
	text-align: left;
}

#best_index li a:has(.col_best_num00)>strong {
	max-width: 100%;
}

#best_index nav>p {
	width: fit-content;
	max-width: 100%;
	color: #ffeb3b;
	text-align: center;
	margin: 1em auto 0.5em;
	line-height: 1;
	box-sizing: border-box;
	background: transparent;
	padding: 0.3em 1em;
	border-bottom: 2px solid #ffeb3b;
}

.col_best_num01 {
	background: #ffeb3b;
}

.col_best_num02 {
	background: #dce4e9;
}

.col_best_num03 {
	background: #e7b793;
}

.col_best_num00 {
	background: #afdaff;
}

.best_index_btn {
	display: block;
	width: 100%;
	background: transparent;
	text-align: center;
	color: #fff;
	cursor: pointer;
}

#best_index .best_index_btn::before {
	content: "閉じる↑";
}

#best_index:has(.hidenav) .best_index_btn::before {
	content: "開く↓";
}

/*recommend*/
#recommend_list {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
}

.recommend_container_insta {
	padding: 10px 0 20px;
}

#recommend_title_column {
	font-size: 2.4rem;
	width: calc(100% - 5px);
	box-sizing: border-box;
	padding: 10px 15px;
	border: none;
	margin: 50px 33px 30px 0;
	background: #001c6d;
	color: #fff;
	box-shadow: 5px 5px 0 #ced9fc;
}

.recommend_container_column {
	padding: 0;
}

.recommend_column {
	width: 99%;
	display: grid;
	grid-gap: 0 20px;
	margin-bottom: 20px;
	grid-template-columns: 200px 1fr;
}

.recommend_column .thumbnail {
	grid-column: 1;
	grid-row: 1 / 3;
}

.recommend_column .thumbnail a,
.recommend_column .thumbnail a img {
	display: block;
}

.recommend_column .title {
	grid-column: 2;
	grid-row: 1;
	font-size: 2.0rem;
	font-weight: bold;
}

.recommend_column .text {
	grid-column: 2;
	grid-row: 2;
}

.recommend_column .sankaku {
	display: inline-block;
}


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

	/*pro oshi best */
	#best_index {
		width: fit-content;
		max-width: 200px;
		left: inherit;
		right: 0;
		border-radius: 10px 0 0 10px;
		box-shadow: -2px 4px 0 0px #00000055;
		border: 3px solid #fff;
	}

	#best_index nav>p {
		width: 100%;
	}
}
@media screen and (max-width:800px){
	
    .column_fix_menu{
        display:none;
        width:80%;
        float:none;
        position: fixed;
        z-index: 199;
        bottom: 80px;
        left: 0;
        border-radius: 0 1em 1em 0;
        background: #cae9fd;
        height: 201px;
        border-left-color: #cae9fd;
        border-width: 2px;
    }
.column_fix_menu details{
    background: #fff;
    margin-bottom: 7px;
    border-radius: 1em;
    box-shadow: 0px 1px 2px #0088e8;
}
.column_fix_menu ol li:last-child a{
border-bottom:none;
padding-bottom:5px;
}
    .column_fix_menu_btn{
        display:block;
        position:fixed;
        left:10px;
        bottom:10px;
        width:50px;
        height:50px;
        background:#0088e8;
        border-radius:50%;
        z-index:200;
        text-align: center;
        color: #fff;
        font-weight: bold;
		overflow: hidden;
    }
	.column_fix_menu_btn::after{
    pointer-events: none; /* クリック邪魔しない */
  }
	.column_fix_menu_btn[aria-expanded="true"]{
    color: transparent;
    text-shadow: none;
  }
  .column_fix_menu_btn[aria-expanded="true"]::after{
    content: "×";
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 26px;
    line-height: 1;
  }
}
@media screen and (max-width:640px) {
	#column_content a {
		white-space: normal !important;
	}

	#column_content p {
		line-height: 1.8;
	}

	/* タイトル */
	#column_single_tit {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: auto auto 1fr;
		grid-gap: 0 20px;
		color: #001c6d;
		margin-bottom: 0.5em;
	}

	#column_single_thumb {
		grid-row: 2;
		grid-column: 1;
	}

	#column_single_thumb img {
		margin-bottom: 0;
	}

	#column_single_tit h1 {
		grid-row: 1;
		grid-column: 1;
		font-size: 2.0rem;
		border-bottom: 3px solid #001c6d;
		line-height: 1.4;
		padding-bottom: 0.3em;
	}

	#column_single_info {
		display: flex;
		flex-flow: column wrap;
		gap: 3vw 0;
		grid-row: 3;
		grid-column: 1;
		box-sizing: border-box;
		padding: 10px 0;
	}

	#column_single_info .categories,
	#column_single_info .tags,
	#column_single_info .times {
		justify-content: flex-start;
		font-size: 3.6vw;
		gap: 3vw;
	}

	#column_single_info .times {
		justify-content: center;
	}

	/*テーブル、装飾*/
	.column_date_table_title {
		padding-top: 20px;
	}

	.column_date_table_title:after {
		top: 85%;
		right: -15px;
	}

	.column_date_table_title h2 {
		width: 100%;
		font-size: 2.0rem;
		margin: 30px 0 20px 0;
	}

	.column_table_title {
		width: 100%;
	}

	.column_table_title:after {
		content: none;
	}

	.column_date thead {
		display: none;
	}

	.column_date th {
		background: #ced9fc;
		color: #001c6d;
	}

	.column_date td:before {
		content: attr(data-label);
		display: inline-block;
		margin: 0 10px 0 0;
		color: #4d56b8;
	}

	.column_date th,
	.column_date td {
		display: block;
		width: 100% !important;
	}

	.column_date th br {
		display: none;
	}

	.post_imglink {
		flex-flow: row wrap;
	}

	.post_imglink_img {
		width: 100%;
	}

	.post_imglink_text {
		width: 100%;
	}

	.post_imglink_title {
		background: transparent;
		color: #0088e8;
		padding: 0.5em 0 0;
		border-radius: 0;
		border-bottom: 2px dashed #0088e8;
		width: fit-content;
		max-width: 100%;
		margin: 0 auto;
	}

	.post_imglink_text>p {
		padding: 0.5em 0;
	}

	.index_list span {
		background: #92cff9;
		width: 7em;
		flex: 0 0 auto;
		font-size: 1.4rem;
		color: inherit;
	}

	.column_yoko2,
	.column_yoko3 {
		grid-template-columns: 1fr;
		grid-gap: 8px 0;
	}

	.wrap_2column .column_yoko2 img,
	.wrap_2column .column_yoko3 img {
		margin: 0;
	}

	/*card*/
	.ccard_img {
		flex: 0 0 100%;
		width: 100%;
		max-height: 25vh;
	}

	.ccard_txt {
		flex: 0 0 100%;
		width: 100%;
	}

	.zcard_img {
		flex: 0 0 100%;
		width: 100%;
		max-height: 27vh;
	}

	.zcard_text {
		flex: 0 0 100%;
		width: 100%;
		background-color: rgba(239, 239, 239, 0.5);
	}

	.zcard_text .more {
		background: #0ba29a;
	}

	.zcard_text .title {
		margin-bottom: 7px;
	}

	.zcard_text small {
		margin: 0;
	}


	/*ユーザー詳細*/
	#column_author {
		width: 100%;
		box-sizing: border-box;
		padding: 5px 15px;
		white-space: normal;
		word-break: break-all;
	}

	/*シングル用ページ送り*/
	#column_content_pagenavi {
		width: 100%;
		box-sizing: border-box;
		padding: 5px 15px;
		margin-top: 20px;
	}

	/*affili Rinker*/
	.valtabebox {
		margin: 15px 0;
	}

	.valtabebox_img {
		flex: 0 0 100%;
		width: 100%;
	}

	.valtabebox_info {
		flex: 0 0 100%;
		width: 100%;
		color: #999;
	}

	.valtabebox_tit {
		font-size: 120%;
	}

	.valtabebox_btn a {
		margin: 15px auto 20px;
		width: 100%;
		padding: 0 15px;
		font-size: 120%;
		text-align: center;
	}

	.valtabebox_quote a,
	.valtabebox_quote a:visited {
		color: #c1c1c1;
	}

	/*事例紹介コラム用*/
	.wrap_2column .jiresho_case img {
		margin-bottom: 0 !important;
	}

	.jiresho_case__meta {
		padding: 0.3em 0.5em;
	}

	.jiresho_case__cta {
		margin: 0 auto 3em;
	}

	/*pro oshi best */
	#best_index {
		top: inherit !important;
		bottom: 80px !important;
		max-width: 250px;
		background: linear-gradient(to right, #001c6d 85%, #ced9fc 86%);
	}

	#best_index:has(.hidenav) .best_index_btn::before {
		content: "menu";
		display: block;
		padding: 0.5em 0 0;
		width: 55px;
		color: #ffeb3b;
		font-weight: bold;
	}

	#best_index:has(.hidenav) nav>p {
		display: none;
	}

	#best_index nav {
		padding-right: 30px;
	}

	#best_index li {
		padding: 0.8em 0;
	}

	#best_index li a {
		width: fit-content;
	}

	/*recommend */
	#recommend_title_column {
		font-size: 2.0rem;
	}

	.recommend_column {
		grid-template-columns: 30% 1fr;
		grid-gap: 0 10px;
	}

	.recommend_column .thumbnail {
		grid-column: 1;
	}

	.recommend_column .thumbnail a img {
		margin: 0;
	}

	.recommend_column .title {
		grid-column: 2;
		font-size: 1.6rem;
		font-weight: bold;
	}

	.recommend_column .text {
		display: none;
	}

}

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

	/*シングル用ページ送り*/
	#column_content_pagenavi p {
		flex: 0 0 100%;
		margin: 0 0 10px 0;
	}

	/*ユーザー詳細*/
	.column_author_head .fl_l {
		width: 100%;
		float: none;
	}

	.column_author_head .fl_l a {
		max-width: 200px;
		height: auto;
		margin: 0 auto;
		border-radius: 200px;
	}

	.column_author_head .fl_l a>img {
		margin-bottom: 0;
	}

	.column_author_head .fl_r {
		width: 100%;
		float: none;
	}

	.column_author_head_name {
		padding: 20px 0 10px 0;
	}

	.column_author_head .sns img {
		width: 35px;
		height: 35px;
	}

	/*テーブル、装飾*/
	.column_data_table_2 td,
	.column_data_table_2 th {
		width: 100%;
		display: block;
	}

	/*card*/
	.simple_card a {
		gap: 10px;
		padding: 5px 10px;
	}

	.scard_icon {
		flex: 0 0 40px;
		text-align: center;
	}

	.scard_icon img {
		margin-bottom: 5px;
	}

	.scard_icon::after {
		content: "関連記事";
		letter-spacing: 1px;
		font-size: 1.4rem;
		color: #666;
	}

	.scard_title {
		width: calc(100% - 50px);
	}

	.scard_title small {
		margin: 5px 0 5px 5px;
	}

	.scard_title::before {
		content: none;
	}

	.scard_title small {
		display: none;
	}
}