@charset "utf-8";

/* ------------------------------
 ブログトップ
------------------------------ */
#content_list, .prev_next {
	opacity: 0;
}

.headering h1::after,
.headering p::after {
	width: 210px;
    height: 88px;
    bottom: -126px;
	background: url(../img/illust_blog.png) no-repeat top center / cover;
}
/* 記事リンク */
.prev_next {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 40px;
	padding-top: 40px;
	border-top: solid 1px #f2f2f2;
}
.prev_next .next {
	text-align: right;
}
.prev_next .prev a,
.prev_next .next a {
	color: #0f8970;
	font-weight: bold;
}
.prev_next .prev a::before,
.prev_next .next a::after {
	content: "";
	display: inline-block;
	width: 17px;
	height: 17px;
	margin-bottom: 4px;
	background: url(../img/icon_link.svg) no-repeat center / cover;
	vertical-align: middle;
}
.prev_next .prev a::before {
	margin-right: 10px;
	transform: scale(-1, 1);
}
.prev_next .next a::after {
	margin-left: 10px;
}
/* サイドコンテンツ */
.calendarBlock {
    background-color: #f8f5f0;
}
.calendarBlock > p {
	margin-bottom: 20px;
}
.calendar_box {
	min-height: 350px;
    padding: 0 15px;
}
.calendar_box .calendar-head {
	display: flex;
	flex-wrap: wrap;
	position: relative;
	margin-bottom: 10px;
}
.calendar_box .calendar-head > * {
	vertical-align: middle;
}
.calendar_box .calendar-head h4 {
	position: relative;
	width: 100%;
	font-weight: 500;
	color: #282828;
	text-align: center;
}
.calendar_box .calendar-head h4 span {
	font-size: 4.3rem;
	color: #282828;
}
.calendar_box .calendar-head h4 small {
    position: absolute;
    right: 65px;
	top: 50%;
    transform: translateY(-50%);
	font-size: 1.4rem;
}
.calendar_box .calendar-head button {
	position:absolute;
	display: block;
	width: 15px;
	height: 8px;
	top: 45%;
    transform: translateY(-50%);
	z-index: 99;
}
#btn_calendar_prev {
	background: url(../img/icon_arrow_prev.svg) no-repeat;
	left: 15px;
}
#btn_calendar_next {
	background: url(../img/icon_arrow_next.svg) no-repeat;
	right: 15px;
}
#btn_calendar_prev:not(.disabled):hover,
#btn_calendar_next:not(.disabled):hover {
	opacity: 0.7;
}
.calendar_box .calendar-head button,
.calendar_box .calendar-head button:hover {
	text-align: center;
	text-decoration: none !important;
	background: none;
	cursor: pointer;
}
.calendar_box .calendar-head button#btn_calendar_next.disabled {
	cursor: auto;
	background: url(../img/icon_arrow_next_g.svg) no-repeat;
}
.calendar_box .calendar-list {
	display: flex;
	flex-wrap: wrap;
}
.calendar_box .calendar-list li {
	text-align: center;
	width: 14.285%;
	height: 40.85px;
	line-height: 1.8;
}
.calendar_box .calendar-week {
	display: flex;
	flex-wrap: wrap;
}
.calendar_box .calendar-week li {
	width: 14.285%;
	font-weight: bold;
	text-align: center;
}
.calendar_box .calendar-list li.day0,
.calendar_box .calendar-week li.day0 {
	color: #f17361;
}
.calendar_box .calendar-list li.day6,
.calendar_box .calendar-week li.day6 {
	color: #2f87c9;
}
.calendar_box .calendar-list li:first-child.day1 {
	margin-left: 14.285%;
}
.calendar_box .calendar-list li:first-child.day2 {
	margin-left: 28.57%;
}
.calendar_box .calendar-list li:first-child.day3 {
	margin-left: 42.855%;
}
.calendar_box .calendar-list li:first-child.day4 {
	margin-left: 57.14%;
}
.calendar_box .calendar-list li:first-child.day5 {
	margin-left: 71.425%;
}
.calendar_box .calendar-list li:first-child.day6 {
	margin-left: 85.71%;
}
.calendar_box .calendar-list li > * {
	display: block;
	width: 35px;
	height: 35px;
	font-size: 1.6rem;
	padding: 2px;
	margin: 0 auto;
}
.calendar_box .calendar-list li a {
	text-decoration: none !important;
	position: relative;
	border-radius: 50%;
	color: #000;
	border: solid 2px #f17361;
	transition: 0.1s all;
}
.calendar_box .calendar-list li a:hover,
.calendar_box .calendar-list li.day0 a:hover,
.calendar_box .calendar-list li.day6 a:hover {
	color:#fff;
	background-color:#f17361;
}
.calendar_box .calendar-list li a:hover::before {
	border:none;
}
.calendar_box .calendar-list li.day0 a {
	color:#f17361;
}
.calendar_box .calendar-list li.day6 a {
	color:#2f87c9;
}
.sideContents > div:not(.archive) ul {
    background-color: #f8f5f0;
}
/* 記事名検索 */
.searchBox {
	display: flex;
	justify-content: space-between;
	background-color: #f8f5f0;
	padding: 20px;
}
.searchBox input[type="text"] {
	width: calc(100% - 73px);
	padding: 0 10px;
	border: 1px solid #e6ebeb;
	vertical-align: middle;
}
.searchBox input::placeholder {
	color: #999;
}
.searchBox button {
	width: 68px;
	padding: 0 10px;
	border-radius: 4px;
	border: solid 2px #fcd848;
	background-color: #fcd848;
	color: #333;
	line-height: 30px;
	font-weight: bold;
	vertical-align: middle;
	transition: .3s ease-in-out;
	cursor: pointer;
}
/* ------------------------------
 ブログトップ（PC）
------------------------------ */
@media print, screen and (min-width: 768px) {
	.headering.noImg {
		margin-bottom: 90px;
	}
	/* 記事リンク */
	.prev_next .prev,
	.prev_next .next {
		width: calc(calc(100% - 260px) /2);
	}
	.prev_next .btn {
		width: 260px;
	}
	/* サイドコンテンツ */
	#next-prev-button button:hover {
		opacity: 0.7;
	}
	/* 記事名検索 */
	.searchBox button:hover {
		opacity: 1;
		border-color: #0f8970;
		background-color: #fff;
		color: #0f8970;
	}
}
/* ------------------------------
 ブログトップ（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.headering h1::after,
	.headering p::after {
		width: 105px;
		height: 44px;
		bottom: -63px;
	}
	.contentsTop, .contents {
		padding-bottom: 0;
	}
	.contentsTop > .inBlock,
	.contents > .inBlock {
		margin-left: 0;
		margin-right: 0;
	}
	.contentsTop > .inBlock > .mainContents,
	.contents > .inBlock > .mainContents {
		width: auto;
		margin-left: 5%;
		margin-right: 5%;
	}
	/* 記事リンク */
	.prev_next {
		margin-top: 25px;
		padding-top: 30px;
	}
	.prev_next .prev,
	.prev_next .next {
		width: calc(calc(100% - 137px) /2);
	}
	.prev_next .btn {
		width: 125px;
		margin-left: 12px;
	}
	.prev_next a {
		font-size: 1.4rem;
		font-feature-settings: "palt";
	}
	.prev_next .prev a::before {
		margin-right: 5px;
	}
	.prev_next .next a::after {
		margin-left: 5px;
	}
	.prev_next .btn a {
		min-width: 125px;
		min-height: 30px;
		padding: 5px 5px 5px 0;
		font-size: 1.4rem;
	}
	.prev_next .btn a::after {
		right: 10px
	}
	/* サイドコンテンツ */
	.calendarBlock .ym {
		top: 17px;
	}
	#next-prev-button {
		margin-bottom: 35px;
	}
	.calendar table tr th, .calendar table tr td {
		padding: 2px 0;
	}
	.calendar table tr td.today::before {
		width: 30px;
		height: 30px;
	}
	#next-prev-button {
		margin-bottom: 35px;
	}
	/* 記事名検索 */
	.searchBox input[type="text"] {
		font-size: medium;
	}
}

/* ------------------------------
 ブログ詳細
------------------------------ */
/* -- 見出し -- */
/* h2 */
.contents h2 {
	font-size: 2.4rem;
	padding-left: 20px;
	margin-bottom: 20px;
	padding-top: 0;
}
.contents h2::before {
	width: 2px;
	height: 28px;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	background-color: #0f8970;
}
/* h3 */
.contents h3 {
	font-size: 2.1rem;
	color: #0f8970;
	padding-left: 0;
}
.contents h3::before {
	content: none;
}
.contents .headering.noImg::before,
.contents .headering.noImg::after {
	content: none;
}
.contents h1:not(.headering h1) {
	position: relative;
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 2.8rem;
	line-height: 1.4;
	font-weight: bold;
	margin-bottom: 30px;
}
.contents h1:not(.headering h1)::before {
	top: -25px;
	left: 0;
	background: rgb(15,137,112);
	background: linear-gradient(90deg, rgba(15,137,112,1) 33.3333%, rgba(241,115,97,1) 33.3333%, rgba(241,115,97,1) 66.6666%, rgba(252,185,76,1) 66.6666%);
}
.date {
	line-height: 1;
	margin-bottom: 40px;
}
/* ------------------------------
 ブログ詳細（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	/* -- 見出し -- */
	/* h2 */
	.contents h2 {
		font-size: 2.1rem;
	}
	/* h3 */
	.contents h3 {
		font-size: 1.8rem;
		margin-bottom: 10px;
	}
	.contents .headering.noImg {
		margin-bottom: 60px;
	}
	.cms_block:not(.wide) {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.contents h1:not(.headering h1) {
		font-size: 2.4rem;
		text-align: left;
		padding: 0;
		margin-bottom: 20px;
	}
	.contents h1:not(.headering h1)::before {
		top: -20px;
		transform: translateX(0);
	}
}