@charset "utf-8";

/* ---------------------------------------------------------
 * Blog
** --------------------------------------------------------- */

/* -------------------- container -------------------- */
.container {
	max-width: 1080px;
	margin-inline: auto;
	padding-top: 170px;
}
h1 {
	font-size: 40px;
	font-weight: bold;
	text-align: center;
}
.container .inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 40px;
	margin-top: 30px;
	margin-bottom: 70px;
	padding-inline: 20px;
}
@media (max-width: 959px) {
}
@media (max-width: 519px) {
	.container {
		padding-top: calc(10000vw / 390);
	}
	.container .inner {
		flex-direction: column;
	}
}


.box {
	border-radius: 10px;
	box-shadow: 0px 0px 10px 0px #002A2933;
}



/* -------------------- main -------------------- */
.main {
	width: 100%;
}
@media (max-width: 959px) {
}
@media (max-width: 519px) {
}



/* -------------------- sidebar -------------------- */
.sidebar {
	flex-shrink: 0;
	width: 220px;
}
.year_list {
	padding: 25px 30px;
}
.year_list li {
	border-left: 1px solid #ccc;
}
.year_list li:not(:first-child) {
	margin-top: 20px;
}
.year_list li a {
	position: relative;
	display: block;
	padding: 5px 20px;
}
.year_list li a::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	display: block;
	width: 14px;
	height: 14px;
	margin-top: auto;
	margin-bottom: auto;
	background-image: url("../img/arr_green_r.png");
	background-size: cover;
}
.tag_list {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 0 10px;
	margin-top: 20px;
	padding: 25px;
}
.tag_list li {
}
.tag_list li a {
	display: block;
	height: 36px;
	padding: 8px 10px 10px 25px;
	border-radius: 50px;
	font-size: 15px;
	display: block;
	background-image: url("../img/icon_hash.svg");
	background-size: 9px 12px;
	background-repeat: no-repeat;
	background-position: left 10px center;
	border: 1px solid transparent;
	line-height: 1;
	transition: all ease 0.3s;
}
.tag_list li a:hover {
	border-color: #0ABAB5;
	background-color: #E9F8F7;
}
@media (max-width: 959px) {
}
@media (max-width: 519px) {
	.sidebar {
		width: 100%;
	}
	.year_list {
		padding: 10px 15px;
	}
	.tag_list {
		padding: 10px 15px;
	}
}




/* ---------------------------------------------------------
 * Blog list
** --------------------------------------------------------- */
.main.box {
	padding: 20px 40px;
}

.list {
}
.list > div {
	border-bottom: 1px solid #ccc;
}
.list a {
	display: flex;
	position: relative;
	padding: 20px 34px 20px 0;
}
.list a::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	display: block;
	width: 14px;
	height: 14px;
	margin-top: auto;
	margin-bottom: auto;
	background-image: url("../img/arr_green_r.png");
	background-size: cover;
}
.list .date {
	flex-shrink: 0;
	width: 90px;
	color: #888;
	font-size: 14px;
	font-weight: bold;
}
.list .ttl {
	width: 100%;
	font-size: 15px;
	font-weight: bold;
}
.pagination {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 20px;
}
.pagination > * {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 42px;
	height: 42px;
	border-radius: 7px;
	color: #0ABAB5;
	font-size: 15px;
	font-weight: bold;
	border: 1px solid #0ABAB5;
	padding-bottom: 2px;
	transition: all ease 0.3s;
}
.pagination .active,
.pagination *:not(.disabled):hover {
	background-color: #0ABAB5;
	color: #fff;
}
.pagination .prev,
.pagination .next {
	padding-bottom: 0;
}
.pagination .prev::before,
.pagination .next::before {
	content: "";
	display: block;
	width: 10px;
	height: 15px;
	background-color: #0ABAB5;
	transition: all ease 0.3s;
}
.pagination .prev::before {
	mask-image: url("../img/arr_s_l.svg");
}
.pagination .next::before {
	mask-image: url("../img/arr_s_r.svg");
}
.pagination .prev.disabled,
.pagination .next.disabled {
	background-color: #ccc;
	border-color: #ccc;
	color: #fff;
}
.pagination .prev:not(.disabled):hover::before,
.pagination .next:not(.disabled):hover::before,
.pagination .prev.disabled::before,
.pagination .next.disabled::before {
	background-color: #fff;
}
@media (max-width: 959px) {
}
@media (max-width: 519px) {
	.main.box {
		padding: 10px 15px;
	}
	.list a {
		padding: 10px 25px 10px 0;
	}
	.pagination > * {
		width: 36px;
		height: 36px;
		/*border-radius: 7px;*/
		/*font-size: 15px;*/
		/*padding-bottom: 2px;*/
	}
}




/* ---------------------------------------------------------
 * Blog Detail
** --------------------------------------------------------- */

.detail {
}
.detail .tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.detail .tags span {
	display: block;
	height: 27px;
	padding: 7px 12px;
	background-color: #00A8A3;
	color: #fff;
	font-size: 13px;
	line-height: 1;
}
.detail h1 {
	margin-top: 15px;
	font-size: 28px;
	font-weight: bold;
	text-align: left;
}
.detail .date {
	margin-top: 10px;
	color: #888;
	font-size: 14px;
	font-weight: bold;
}
.detail .contents {
	margin-top: 25px;
	padding: 20px 40px;
}
.detail .img {
	max-height: 420px;
	text-align: center;
}
.detail .img img {
	max-width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.detail .img span {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 300px;
	max-height: 100%;
	background-color: #ccc;
	border: 1px solid #ccc;
	border-radius: 10px;
	font-size: 20px;
	font-weight: bold;
}
.post_content {
	margin-top: 20px;
}
.post_content > * {
	margin-top: 20px;
}
.post_content h2 {
	position: relative;
	padding: 10px 0;
	margin-bottom: 20px;
	font-size: 20px;
	font-weight: bold;
}
.post_content h2::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background-image: linear-gradient(90deg, #0ABAB5 0%, #0ABAB5 10%, #CCCCCC 11%, #CCCCCC 100%);
}
.post_content h3 {
	position: relative;
	padding-bottom: 10px;
	margin-bottom: 15px;
	font-size: 16px;
	font-weight: bold;
}
.post_content h3::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 40px;
	height: 2px;
	background-color: #0ABAB5;
}
.post_content h4 {
	margin-bottom: 10px;
	font-size: 15px;
	font-weight: bold;
}
.post_content p {
}
.post_content ul {
}
.post_content li {
	margin-top: 10px;
}
.post_content ul > li {
	position: relative;
	padding-left: 18px;
}
.post_content ul > li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 8px;
	display: block;
	width: 8px;
	height: 8px;
	background-color: #0ABAB5;
	border-radius: 10px;
}
.post_content ol {
	margin-left: 23px;
	list-style-type: decimal;
}
.post_content ol > li::marker {
  color: #0ABAB5;
  font-weight: bold;
}
.detail .footer_tags {
	display: flex;
	gap: 14px;
	padding-top: 20px;
	margin-top: 30px;
	border-top: 1px solid #ccc;
}
.detail .footer_tags .subttl {
	flex-shrink: 0;
}
.detail .page_nav {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: calc(6000% / 700);
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid #ccc;
}
.detail .prev_link,
.detail .next_link {
	display: flex;
	align-items: center;
	gap: 10px;
}
.detail .prev_link span,
.detail .next_link span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 42px;
	height: 42px;
	background-color: #0ABAB5;
	border-radius: 7px;
	color: #fff;
	transition: all ease 0.3s;
}
.detail .prev_link span::before,
.detail .next_link span::before {
	content: '';
	display: block;
	width: 10px;
	height: 15px;
	background-color: #fff;
	transition: all ease 0.3s;
}
.detail .prev_link span::before {
	mask-image: url("../img/arr_s_l.svg");
}
.detail .next_link span::before {
	mask-image: url("../img/arr_s_r.svg");
}
.detail .prev_link.disabled span,
.detail .next_link.disabled span {
	background-color: #ccc;
}
@media (max-width: 959px) {
}
@media (max-width: 519px) {
	.detail .contents {
		margin-top: 15px;
		padding: 10px 15px;
	}
	.post_content > * {
		margin-top: 15px;
	}
	.detail .footer_tags {
		padding-top: 10px;
	}
	.detail .page_nav {
		margin-top: 10px;
		padding-top: 10px;
	}
	.detail .prev_link span,
	.detail .next_link span {
		width: 36px;
		height: 36px;
	}
}