:root {
	--base-color: 238, 238, 238;
	--main-color: 150, 125, 75;
	--white: #ffffff;
  --gray: #f0f2f1;
  --ivory-bg: #f9f7f4;
  --primary-color: #00866a;
}

#global .inner.thin {
    max-width: 900px;
}

h1 {
    font-size: 24px;
    color: var(--primary-color);
    margin-bottom: 20px;
    font-weight: 400;
    letter-spacing: 1px;
    line-height: 1.5;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}


/* ヘッダーの中に入るロゴエリアをブログ記事のときはなくす処理 */
header .inner{
  display: none!important;
}

/* ロゴエリア */
.logo-area {
  text-align: center;
  padding: 30px 0;
  background: linear-gradient(to bottom, var(--ivory-bg), var(--white));
}


/* メインビジュアル - PC・スマホ両方オーバーレイデザイン */

/* PC表示用オーバーレイスタイル */
.main-visual-overlay {
  position: relative;
  height: 220px;
  overflow: hidden;
  margin-bottom: 80px;
}

.main-visual-overlay img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 6s ease;
  object-position: 50% 43%;
}

.overlay-content-pc {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 20px;
  text-align: center;
  /* 明るく保ったグラデーション */
  /* background: linear-gradient(to bottom, rgba(255,255,255,0.7), rgba(255,255,255,0.8)); */
  background: linear-gradient(to left, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.8));
  max-width: none !important;
}

.text-container-pc {
  padding: 20px 30px;
  border-radius: 8px;
  max-width: 70%;
}

.overlay-content-pc h2 {
  color: #005d4a;
  font-weight: 600;
  font-size: 28px;
  margin-bottom: 15px;
  font-family: "Cormorant Garamond", serif;
  letter-spacing: 1px;
  line-height: 1.5;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);
}

.overlay-content-pc p {
  color: #2d3b36;
  font-size: 16px;
  line-height: 1.7;
  margin: 0;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
}

/* スマホ表示用のスタイル */
@media (max-width: 768px) {

  /* PCバージョンを非表示 */
  .main-visual-overlay {
    display: none;
  }

  /* モバイル用メインビジュアル */
  .mobile-main-visual {
    display: block;
    margin-bottom: 48px;
  }

  .image-overlay-container {
    position: relative;
    height: 120px;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  }

  .image-overlay-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 3s ease;
  }

  .overlay-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 15px;
    text-align: center;
    /* 明るく保ったグラデーション */
    /* background: linear-gradient(to bottom, rgba(255,255,255,0.7), rgba(255,255,255,0.8)); */
    background: linear-gradient(to left, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.8));
  }

  .text-container-mobile {
    background-color: rgba(255, 255, 255, 0.7);
    padding: 8px 12px;
    border-radius: 6px;
    max-width: 90%;
    backdrop-filter: blur(2px);
  }

  .overlay-content h2 {
    color: #005d4a;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 5px;
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);
  }

  .compact-text {
    color: #2d3b36;
    font-size: 12px;
    margin: 10px 0 0;
    max-width: 100%;
    line-height: 1.5;
    text-align: center;
  }
}

/* タブレット向けの調整 */
@media (min-width: 769px) and (max-width: 1024px) {
  .overlay-content-pc h2 {
    font-size: 24px;
    margin-bottom: 10px;
  }

  .overlay-content-pc p {
    font-size: 14px;
  }

  .text-container-pc {
    max-width: 80%;
    padding: 15px 25px;
  }

  /* モバイル用コンテンツを非表示 */
  .mobile-main-visual {
    display: none;
  }
}

/* PCでモバイル用コンテンツを非表示 */
@media (min-width: 769px) {
  .mobile-main-visual {
    display: none;
  }
}

/* 2分割レイアウト用のレスポンシブ対応 */
@media (max-width: 1024px) {

  .main-visual-split .content {
    padding: 40px 30px;
  }

  .main-visual-split h2 {
    font-size: 32px;
    margin-bottom: 20px;
  }
}

@media (max-width: 768px) {
  .main-visual-split {
    grid-template-columns: 1fr;
    height: auto;
  }

  .main-visual-split .image-container {
    height: 220px;
  }

  .main-visual-split h2 {
    font-size: 18px;
  }
}

@media (max-width: 480px) {
  .main-visual-split .image-container {
    height: 150px;
  }

  .main-visual-split .content {
    padding: 10px;
  }

  .main-visual-split h2 {
    font-size: 18px;
    margin-bottom: 15px;
  }

  .main-visual-split p {
    font-size: 14px;
    margin-bottom: 20px;
  }

  .main-visual-split .btn {
    padding: 10px 25px;
    font-size: 14px;
  }
}

/*-------------------------------------------------------------------------
	blogs
-------------------------------------------------------------------------*/

.blogs {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -16px -32px -16px;
}

.blogs li {
	width: calc(100% / 4 - 32px);
	margin: 0 16px 32px 16px;
}


/*------------------------------------------------------------------------*/
@media screen and (min-width:768px) {

	.blogs.column3 li {
		width: calc(100% / 3 - 32px);
		margin: 0 16px 32px 16px;
	}

}

/*------------------------------------------------------------------------*/

.blogs li a {
	display: block;
	transition: .75s;
}

.blogs li a:hover {
	opacity: .75;
}

.blogs dl {}

.blogs dt {
	margin-bottom: 12px;
	position: relative;
}

.blogs li dt img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	object-position: center center;
}

.blogs dt span {
	height: 18px;
	padding: 0 12px;
	font-size: 11px;
	color: rgba(var(--main-color), 1.0);
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	left: 10px;
	top: 10px;
	border-radius: 10px;
}


.blogs dd {}

.blogs dd time {
	display: block;
	font-size: 12px;
	line-height: 1.75;
	color: #998a67;
	margin-bottom: 4px;
}

.blogs dd time:before {
	content: "-";
	margin-right: 4px;
}

.blogs dd h4 {
	height: 48px;
	font-size: 16px;
	font-weight: normal;
	line-height: 1.5;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	margin-bottom: 0;
}

.blogs dd h4:before {
	display: none;
}

.blogs dd h4:after {
	display: none;
}

.blogs dd p {
	max-height: 42px;
	font-size: 12px;
	margin-top: 6px;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	color: #888;
}



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

	.blogs {
		margin: 0 -8px -24px -8px;
	}

	.blogs li {
		width: calc(50% - 16px);
		margin: 0 8px 24px 8px;
	}

	.blogs li.column1 {
		width: calc(100% - 16px);
	}

	.blogs dl {}

	.blogs dt {
		margin-bottom: 8px;
	}

	.blogs dt span {
		height: 20px;
		padding: 0 8px;
		font-size: 10px;
		bottom: -10px;
	}

	.blogs dd h4 {
		height: auto;
	}

	.blogs li:not(.column1) dd h4 {
		font-size: 13px;
	}

	.blogs li:not(.column1) dd p {
		display: none;
	}


}

/*-------------------------------------------------------------------------
	entry-title
-------------------------------------------------------------------------*/


.entry-title {
	font-size: 16px;
	font-weight: normal;
	letter-spacing: .025em;
	line-height: 1.5;
	text-align: left;
	position: relative;
	border-left: 2px solid rgba(var(--main-color), 1.0);
	padding-left: 16px;
	margin-bottom: 0;
}

.entry-title time {
	display: block;
	font-size: 16px;
	color: #998a67;
	margin-bottom: 8px;
}

.entry-title b {
	font-size: 32px;
	font-family: var(--main-font-family);
	font-weight: var(--main-font-weight);
}


/*------------------------------------------------------------------------*/

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

	.entry-title {
		font-size: 18px;
	}

	.entry-title time {
		font-size: 14px;
		margin-bottom: 4px;
	}

	.entry-title b {
		font-size: 20px;
	}
}

/*-------------------------------------------------------------------------
	entry-body
-------------------------------------------------------------------------*/

.entry-body {}

.entry-body .kv {
	position: relative;
}

.entry-body .kv img {
	width: 100%;
	max-width: 100% !important;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	object-position: center center;
}

.entry-body .kv figcaption {
	height: 32px;
	padding: 0 12px;
	margin-top: 0;
	line-height: 1;
	color: #fff;
	background: rgba(var(--main-color), 1.0);
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	right: -12px;
	top: -16px;
	transform: skewX(-15deg);
}

.entry-body .kv figcaption span {
	font-size: 12px;
	font-style: normal;
	transform: skewX(15deg);
}


.entry-body h4 {
	font-size: 22px;
	font-weight: bold;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	line-height: 1.5;
	margin: 40px 0 32px 0;
	padding-bottom: 16px;
	border-bottom: 1px dotted #998a67;
}

.entry-body h5 {
	font-size: 18px;
	font-weight: bold;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	line-height: 1.5;
	margin: 32px 0 24px 0;
}

.entry-body *+p:not(.button),
.entry-body *+ul {
	margin-top: 24px;
}

.entry-body img {
	width: 100% !important;
	max-width: 720px;
	height: auto !important;
	display: block;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.entry-body img.large {
	max-width: 720px !important;
}

.entry-body img.medium {
	max-width: 640px !important;
}

.entry-body img.small {
	max-width: 480px !important;
}

.entry-body img.full {
	max-width: 1260px !important;
}

.entry-body .pict {
	max-width: 100% !important;
	height: auto !important;
}

.entry-body img[src^="https://common.blogimg.jp/emoji/"] {
	width: 10px !important;
	height: 10px !important;
	vertical-align: middle;
	display: inline-block;
	margin: 0;
	padding: 0;
}

.entry-body figure {
	margin: 0 0 48px 0;
}

.entry-body figure img {
	width: 100%;
}

.entry-body figure figcaption {
	font-size: 12px;
	margin-top: 16px;
}

.entry-body .embed {
	max-width: 542px;
	margin: 48px auto;
}


.entry-body ul.disc {
	margin: 24px 0;
	padding-left: 40px;
	list-style-type: disc;
}

.entry-body ol.decimal {
	margin: 24px 0;
	padding-left: 40px;
	list-style-type: decimal;
}

.entry-body .iframe {
	margin: 48px 0;
	padding: 0;
	position: relative;
	width: 100%;
	padding-top: 56.25%
}

.entry-body .iframe iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

.entry-body a,
.entry-body label {
	text-decoration: underline;
	cursor: pointer;
}

.entry-body a:hover,
.entry-body label:hover {
	text-decoration: none;
}

/*------------------------------------------------------------------------*/

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

	.entry-body {
		margin-bottom: 48px;
	}

	.entry-body .kv figcaption {
		height: 24px;
		padding: 0 12px;
		margin-top: 0;
		right: -8px;
		top: -12px;
	}

	.entry-body .kv figcaption span {
		font-size: 11px;
	}

	.entry-body h4 {
		font-size: 18px;
		margin: 32px 0 24px 0;
		padding-bottom: 8px;
	}

	.entry-body h5 {
		font-size: 16px;
		margin: 24px 0 16px 0;
	}

	.entry-body figure {
		margin: 32px 0;
	}

	.entry-body figure figcaption {
		margin-top: 8px;
	}

	.entry-body .embed {
		margin: 32px 0;
	}


	.entry-body ul.disc {
		padding-left: 24px;
	}

	.entry-body ol.decimal {
		padding-left: 24px;
	}

	.entry-body .iframe {
		margin: 32px 0;
	}

}

/*-------------------------------------------------------------------------
	share
-------------------------------------------------------------------------*/

#share ul {
	display: flex;
	align-items: center;
	justify-content: center;
}

#share li+li {
	margin-left: 12px;
}

#share li a {
	width: 48px;
	height: 48px;
	background: rgba(var(--main-color), 1.0);
	display: flex;
	align-items: center;
	justify-content: center;
}

#share li a img {
	height: 28px;
}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■column2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.column2 {
	display: flex;
	align-items: start;
	justify-content: space-between;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 32px;
	margin-bottom: 110px;
}

.column2 section {
	flex: 1;
	width: auto;
	margin: 0;
}



/*-----------------------------------------------------------------------*/

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

	.column2 {
		display: block;
		padding: 0;
	}


.column2 section .inner {
}
}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■pagination
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/*-------------------------------------------------------------------------
	パジネーション
-------------------------------------------------------------------------*/

#pagination ul {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
}

#pagination li {
	margin: 0 4px;
	font-size: 14px;
}

#pagination li a {
	width: 40px;
	height: 40px;
	background: rgba(var(--base-color), 0.5);
	border-radius: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}

#pagination li a:hover {
	background: rgba(var(--base-color), 0.25);
}

#pagination li .current {
	width: 40px;
	height: 40px;
	background: rgba(var(--main-color), 1.0);
	border-radius: 20px;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}

#pagination .previous a {
	background: rgba(var(--base-color), 1.0);
	font-size: 0;
}

#pagination .previous a:hover {
	background: rgba(var(--base-color), 0.75);
}

#pagination .previous img {
	width: 8px;
	height: 12px;
}

#pagination .next a {
	background: rgba(var(--base-color), 1.0);
	font-size: 0;
}

#pagination .next a:hover {
	background: rgba(var(--base-color), 0.75);
}

#pagination .next img {
	width: 8px;
	height: 12px;
}


/*------------------------------------------------------------------------*/

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

	#pagination {
		margin: 40px 0;
	}

	#pagination li a {
		width: 32px;
		height: 32px;
	}

	#pagination li .current {
		width: 32px;
		height: 32px;
	}
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ widget
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#widget {
	padding-top: 0;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■sidebar
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#sidebar {
	flex: none;
	width: 240px;

	margin-left: 48px;
	position: sticky;
	left: 0;
	top: 32px;
}

#sidebar h6 {
	font-size: 16px;
	font-weight: 400;
	border-left: 1px solid #998a67;
	padding-left: 10px;
	margin-bottom: 16px;
}

#sidebar .button {
	width: 200px;
	max-width: 100%;
	margin: 64px auto 0 auto;
	background: rgba(var(--main-color), 1.0);
}

#sidebar .button a {
	height: 48px;
	font-size: 14px;
	color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}


/*-------------------------------------------------------------------------
	calendar
-------------------------------------------------------------------------*/

#sidebar .calendar {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	box-sizing: border-box;
	font-size: 13px;
	line-height: 1.5;
	background: #fff;
	margin-bottom: 32px;
	text-align: center;
}

#sidebar .calendar tr {
	border-bottom: 1px solid #fff;
}

#sidebar .calendar th {
	background: #f2f0eb;
	border: 1px solid #fff;
	padding: 8px 0;
	box-sizing: border-box;
	vertical-align: middle;
}

#sidebar .calendar td {
	background: #f8f8f5;
	border-left: 1px solid #fff;
	border-right: 1px solid #fff;
	padding: 0;
	box-sizing: border-box;
	vertical-align: middle;
}

#sidebar .calendar td a,
#sidebar .calendar td span {
	display: block;
	padding: 8px;
}

#sidebar .calendar td a {
	text-decoration: underline;
}

#sidebar .calendar td a:hover {
	text-decoration: none;
}

#sidebar .calender_header {
	display: flex;
	justify-content: center;
	margin-bottom: 10px;
}

#sidebar .calender_header h6 {
	border-left: none;
	margin: 0 20px;
	padding-left: 0;
}


/*-------------------------------------------------------------------------
	categories
-------------------------------------------------------------------------*/



#sidebar .categories {
	font-size: 14px;
	display: block;
	margin: 0 0 32px 0;
}

#sidebar .categories li {
	width: auto;
	margin: 0 0 1px 0;
}

#sidebar .categories li:last-child {
	margin-bottom: 0;
}

#sidebar .categories li a {
	display: block;
	padding: 16px;
	background: #f8f8f5;
}

#sidebar .categories li a:hover {
	background: #f2f0eb;
}

#sidebar .categories li.current a {
	background: #f2f0eb;
}

#sidebar .categories li a:before {
	content: "-";
	margin-right: 4px;
}

#sidebar .profile {
	background: #f8f8f5;
	padding: 24px 16px;
}

#sidebar .profile dt {
	text-align: center;
	margin-bottom: 16px;
}

#sidebar .profile dt img {
	width: 100%;
}

#sidebar .profile dd {}

#sidebar .profile dd p {
	font-size: 13px;
	line-height: 1.5;
}

#sidebar .profile dd .button {
	margin-top: 16px;
}

#sidebar .categories.monthly_blog_9 li:nth-last-child(-n+124) {
	display: none;
}

#sidebar .categories.monthly_blog_10 li:nth-last-child(-n+103) {
	display: none;
}

#sidebar .categories.monthly_blog_11 li:nth-last-child(-n+65) {
	display: none;
}

/*-----------------------------------------------------------------------*/

@media screen and (max-width:767px) {
	#sidebar {
		width: 100%;
		margin: 0;
		margin-left: 0;
		position: static;
	}

	#sidebar h6 {
		margin-left: 24px;
	}

	#sidebar .categories {
		margin-bottom: 16px;
	}

	#sidebar .categories li a {
		padding: 16px 24px;
	}

	#sidebar .profile {
		padding: 24px;
		margin-bottom: 0;
	}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ aside
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#aside {
	width: 100%;
	background: rgba(var(--base-color), 0.25);
	background: rgba(var(--base-color), 0.5);
	background: #005f3d;
}

#aside ul {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px 0;
	padding: 32px 0;
}

#aside li {
	flex: 1;
}

#aside li+li {
	margin-left: 24px;
}

#aside li img {
	width: 100%;
}


.article-header {
  padding: 60px 0 30px;
  background: linear-gradient(to bottom, var(--ivory-bg), var(--white));
}

.article-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.article-category-tag {
	font-size: 14px;
  background-color: #967D4B;
  border-radius: 15px;
  color: #fff;
  padding: 5px 25px;
}

.article-category {
  color: #876c3b;
  font-size: 14px;
  text-decoration: none;
}

.article-tag {
  font-size: 14px;
  color: #555;
  text-decoration: none;
}

.article-date {
  font-size: 14px;
  color: #888;
}

.article-title {
  font-size: 32px;
  font-weight: normal;
  line-height: 1.4;
  margin-bottom: 25px;
  text-align: center;
}

.share-buttons {
  display: flex;
  justify-content: center;
  gap: 15px;
}

.share-button {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition: all 0.3s;
  color: #876c3b;
  font-size: 22px;
}

.share-button:hover {
  background-color: #f0f0f0;
  transform: translateY(-2px);
}


.article-navigation .inner {
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px;
  padding: 30px 0;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
}

.prev-article,
.next-article {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  max-width: 45%;
}

.next-article {
  text-align: right;
}

.nav-label {
  font-size: 13px;
  color: #888;
  margin-bottom: 5px;
}

.nav-title {
  font-size: 16px;
  color: #333;
  transition: color 0.3s;
}

.prev-article:hover .nav-title,
.next-article:hover .nav-title {
  color: #006e51;
}

/* コラムに戻るリンク */
.back-to-column {
  text-align: center;
  margin-bottom: 60px;
}

.back-link {
  display: inline-block;
  padding: 12px 25px;
  background-color: #876c3b;
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
  transition: background-color 0.3s;
  margin-top: 50px;
}

.back-link:hover {
  background-color: #6f5930;
}


@media (max-width: 768px) {
  header .inner {
    width: 100%;
    background-color: var(--ivory-bg);
  }

  header.headfix a img {
    height: 32px;
    margin: 20px 0 0 20px;
    padding-bottom: 8px;
  }

  #menu+label:before {
    content: "";
    display: block;
    width: 32px;
    height: 32px;
    background: url(../img/column/header_global_icon_open.svg) no-repeat left top !important;
    background-size: 32px 32px;
    z-index: 2;
    position: fixed;
    right: 16px;
    top: 16px;
  }

}