@charset "UTF-8";
/* 明朝体（Google Fonts）はfunctions.phpの eg_head_fonts で読み込む */

/*!
Theme Name: Cocoon Child
Template:   cocoon-master
Version:    1.1.0
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

html { scroll-behavior: smooth; }

* { box-sizing: border-box; }
address { font-style:normal; }
.article h2 { margin-left:0 !important;margin-right:0 !important; }

body { font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "メイリオ", "Yu Gothic", sans-serif !important;
font-feature-settings:"palt";letter-spacing:1px; }

.content { margin-top:0 !important; }
div,p,th,td { font-weight:500; }

/*固定ページでシェア・フォローボタンをまとめて非表示*/
.page .sns-share,
.page .sns-follow {
    display: none;
}
/*全固定ページの投稿日・更新日を消す*/
.page .date-tags,
.page .author-info {
    display: none;
}
/*子要素高さ100％に対応*/
html,body { height:100%; }

/*コンテンツ内の余白削除*/
.entry-content>* {
	margin-top:0;
	margin-bottom:0;
}

em { font-style:normal;font-weight:500; }
img { vertical-align:bottom; }
sup { font-size:12px; }
@media screen and (max-width:640px){
	sup { font-size:11px; }
}

.entry-content { margin: 0 auto;max-width: 1366px;padding:0; }

/* Cocoon本体の.wrapが1256px固定で縮まないため、100%＋max-width 1366pxに上書き */
.wrap { width: 100%; max-width: 1366px; margin: 0 auto; }

.search-menu-button.menu-button { display:none; }

.header-container, .main, .sidebar { background-color:#e9e9e7; }
 #navi { background-color: transparent; }

#main section {  }

h1,h2,h3,h4,h5,h6,
.article h1,.article h2,.article h3,.article h4,.article h5 {
	background-color:transparent;
	margin:0;
	padding:0 0 20px 0;
	border:none !important;
}

/* Cocoon標準の見出し（施工実績の記事・一覧カード等）も明朝体・500に揃える */
.article :is(h1, h2, h3, h4):not([class^="eg-"]),
.entry-card-title {
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif !important;
	font-weight: 500;
}

/* 見出しの約物（「」・。、等）を半角幅に詰める */
h1, h2, h3, h4, h5 {
	font-feature-settings: "halt";
}
/* ゴシック体の見出しはbodyと同じpalt（haltと重ねると詰まりすぎる） */
h3[class*="__bar"],
h2.eg-faq__title,
h2.eg-turf-color-features__title,
h3.eg-works-archive__foot-title,
h1.logo {
	font-feature-settings: "palt";
}

/* ===== 独自コンポーネント（class="eg-～"）のh2・ul・liデフォルト ===== */
h2[class^="eg-"],
ul[class^="eg-"] {
	margin-top: 20px !important;
}
li[class^="eg-"] {
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif !important;
}

/* ===== 画面幅で出し分けるbr ===== */
@media screen and (max-width: 1023px) {
	br.eg-br-pc {
		display: none;
	}
}

@media screen and (max-width: 699px) {
	br.eg-br-pc-tablet {
		display: none;
	}
}

br.eg-br-tablet {
	display: none;
}
@media screen and (max-width: 736px) {
	br.eg-br-tablet {
		display: inline;
	}
}

/* 言葉のかたまりの途中で改行させない（収まらないときは、かたまりの切れ目で改行される） */
.eg-nowrap {
	white-space: nowrap;
}

br.eg-br-sp {
	display: none;
}
@media screen and (max-width: 768px) {
	br.eg-br-sp {
		display: inline;
	}
}

/* スマホ：セクション境目の区切り線デフォルト（-heroで終わるclassは除外） */
@media screen and (max-width: 768px) {
	.main section[class^="eg-"]:not([class$="-hero"]) {
		border-top: 2px solid #b3b3b3;
	}
}


/************************************
** header
************************************/

#header-container {
	position:absolute;top:0;left: 0;right: 0;z-index:99999;
	background-color:transparent;
	/* 画面幅いっぱいに被さるため、透明部分がクリックを奪わないようnoneにする */
	pointer-events: none;
}
#header-container .header-container-in {
	pointer-events: auto;
}
/* category-navは#header-containerの外（通常のフロー）に置く */
.header-container-in.hlt-top-menu .logo-header img {
	position: relative;
	top: 5px;
	left: 8px;
}



/************************************
** ロゴ
************************************/

.header-container-in { position:relative;padding:0 18px; }
.header-container-in.hlt-top-menu .logo-header { max-height:110px; }
.header-container-in.hlt-top-menu .logo-header .site-name { margin:10px 0 0 0;padding:0; }
.header-container-in.hlt-top-menu .logo-header img { max-height: 110px; }

/* ヘッダーは背景色を持たせず、背景写真の上に透過で乗せる（白背景バーは無い） */

/* .header-container-inの高さ */
:root {
	--eg-header-h: 141px;
}

.eg-top-hero-photo {
	position: relative;
	width: 100%;
	max-width: 1366px;
	margin: 0 auto 30px;
	aspect-ratio: 1366 / 768;
	background-color: #111;
	background-image: url("/2026/wp-content/uploads/2026/08/bg_home.webp");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	overflow: hidden;
}

.eg-top-hero-photo__catch {
	position: absolute;
	left: 49.4%;
	top: calc(18% + 30px);
	width: 48%;
	box-sizing: border-box;
	padding: 2.8vw 3vw;
	background-color: rgba(0, 0, 0, 0.40);
}
h1.eg-top-hero-photo__heading {
	margin: 0;
	padding: 0;
}
span.eg-top-hero-photo__title {
	display: block;
	margin: 0 0 clamp(14px, 1.8vw, 24px);
	padding: 0;
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif !important;
	font-weight: 500;
	font-size: clamp(22px, 3.2vw, 42px);
	line-height: 1.60;
	letter-spacing: 3px;
	color: #fff;
	text-shadow: 0 1px 3px rgba(0, 0, 0, .45);
}
span.eg-top-hero-photo__lead {
	display: block;
	margin: 0;
	font-feature-settings: "palt";
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
	font-weight: 400;
	font-size: clamp(15px, 1.8vw, 24px);
	line-height: 1.8;
	color: #fff;
	text-shadow: 0 1px 3px rgba(0, 0, 0, .45);
}

.eg-top-hero-photo__scroll {
	position: absolute;
	left: 50%;
	top: calc(75% + 10px);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	animation: eg-top-hero-photo-scroll 2.6s ease-in-out infinite;
}
.eg-top-hero-photo__scroll-label {
	line-height: 1;
	font-size: 13px;
	letter-spacing: 0.15em;
	color: #fff;
	text-shadow: 0 1px 3px rgba(0, 0, 0, .45);
}
.eg-top-hero-photo__scroll-line {
	display: block;
	width: 1px;
	height: 40px;
	background-color: rgba(255, 255, 255, .85);
}
@keyframes eg-top-hero-photo-scroll {
	0%, 100% { transform: translate(-50%, 0); opacity: .85; }
	50% { transform: translate(-50%, 8px); opacity: .4; }
}

@media screen and (min-width: 1023.02px) and (max-width: 1366px) {
	.eg-top-hero-photo__scroll {
		gap: 0.5vw;
	}
	.eg-top-hero-photo__scroll-label {
		font-size: 1vw;
	}
	.eg-top-hero-photo__scroll-line {
		height: 2.6vw;
	}
}

.eg-top-hero-photo__banner {
	position: absolute;
	display: block;
	width: 29.3%;
	height: auto;
}
.eg-top-hero-photo__banner--01 {
	left: calc(18.9% - 20px);
	top: calc(85.4% - 4px);
}
.eg-top-hero-photo__banner--02 {
	left: calc(52% + 20px);
	top: calc(85.2% - 4px);
}

/* background-size:coverは中央基準で切り取るため、%換算だと背景とズレる */
@media screen and (max-width: 1023.02px) {
	.eg-top-hero-photo {
		aspect-ratio: 1366 / 680;
		margin-top: -50px;
	}
	.eg-top-hero-photo__catch {
		top: calc(6% + 44px);
		background-color: rgba(0, 0, 0, 0.45);
	}
	.eg-top-hero-photo__scroll {
		display: none;
	}
	.eg-top-hero-photo__banner--01,
	.eg-top-hero-photo__banner--02 {
		top: calc(85% - 20px);
	}
}

@media screen and (min-width: 768.02px) and (max-width: 960px) {
	.eg-top-hero-photo__catch {
		top: calc(6% + 64px);
	}
}

@media screen and (max-width: 768px) {
	.eg-top-hero-photo {
		aspect-ratio: 800 / 1620;
		background-image: url("/2026/wp-content/uploads/2026/09/bg_homeSP.webp");
	}
	.eg-top-hero-photo__catch {
		left: 8%;
		top: 10%;
		width: 85%;
		padding: 26px 25px 34px 32px;
	}
	span.eg-top-hero-photo__title {
		font-size: clamp(33px, calc(6vw - 1px), 47px);
	}
	span.eg-top-hero-photo__lead br {
		display: none;
	}
	span.eg-top-hero-photo__lead {
		padding-top: 5px;
		font-size: 20px;
		text-align: left;
	}
	.eg-top-hero-photo__scroll {
		display: flex;
		top: max(51%, calc(10% + 345px));
		gap: 6px;
	}
	.eg-top-hero-photo__scroll-label {
		color: #111;
		text-shadow: none;
	}
	.eg-top-hero-photo__scroll-line {
		height: 30px;
		background-color: #111;
	}
	.eg-top-hero-photo__banner {
		width: 80%;
	}
	.eg-top-hero-photo__banner--01 {
		left: 20%;
		top: 62%;
	}
	.eg-top-hero-photo__banner--02 {
		left: 0;
		top: 84.4%;
	}
}

@media screen and (max-width: 640px) {
	span.eg-top-hero-photo__title {
		text-align: center;
	}
}

@media screen and (max-width: 480px) {
	.eg-top-hero-photo__catch {
		top: calc(10% - 2px);
		background-color: rgba(0, 0, 0, 0.50);
	}
	.eg-top-hero-photo__scroll {
		top: max(51%, calc(10% + 333px));
	}
	.eg-top-hero-photo__banner {
		opacity: 0.9;
	}
}

@media screen and (max-width: 390px) {
	span.eg-top-hero-photo__title {
		font-size: clamp(29px, calc(6vw - 1px), 47px);
		line-height: 1.5;
	}
	span.eg-top-hero-photo__lead {
		font-size: 18px;
		line-height: 1.7;
	}
	.eg-top-hero-photo__scroll {
		top: calc(10% + 311px);
	}
	.eg-top-hero-photo__banner {
		width: 86%;
	}
	.eg-top-hero-photo__banner--01 {
		left: 14%;
	}
}

@media screen and (max-width: 360px) {
	.eg-top-hero-photo__catch {
		left: 10%;
		top: calc(10% + 8px);
		width: 80%;
		padding: 20px 20px 22px 30px;
	}
	span.eg-top-hero-photo__title {
		font-size: clamp(27px, calc(6vw - 1px), 47px);
	}
	.eg-top-hero-photo__scroll {
		top: calc(10% + 301px);
	}
	.eg-top-hero-photo__banner {
		width: 90%;
	}
	.eg-top-hero-photo__banner--01 {
		left: 10%;
	}
}

/* #header-containerはabsoluteのため、#content側で余白を確保する */
@media screen and (min-width: 1023.02px) {
	.article-header.entry-header {
		padding-top: 0;
	}
}
/* PC用メディアクエリはmin-width:1024pxではなく1023.02pxを使う */
@media screen and (min-width: 1023.02px) {
	body:not(.has-category-nav):not(.front-top-page) #content {
		padding-top: calc(var(--eg-header-h) + 40px);
	}
}

/* pages_common.cssの#category-navに勝つため!important */
@media screen and (min-width: 1023.02px) {
	#category-nav {
		margin-top: calc(var(--eg-header-h) - 2px) !important;
	}
}
@media screen and (min-width: 1023.02px) {
	.has-category-nav .article-header.entry-header {
		padding-top: 0;
	}
}


/************************************
** ヘッダーメニュー（headMenu）：PC版レイアウト
************************************/
/* .navi・#navi・ul.menu-headerをdisplay:contentsにし、<li>を.header-container-inのflex子にする */
@media screen and (min-width: 1023.02px) {
	.header-container-in {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		row-gap: 0px;
	}
	/* メニューはロゴの右（左余白148px）からCTAボタンの右端（右余白20px）までに均等配置 */
	.header-container-in .navi {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: space-between;
		box-sizing: border-box;
		padding: 0 20px 0 148px;
		flex-basis: 100%;
		order: 3;
		position: relative;
		top: -30px;
	}
	.header-container-in .navi-in,
	.header-container-in .menu-header {
		display: contents;
	}

	/* Cocoon本体が<li>にheight:60px相当を付与するため<li>側も明示的に上書きする */
	.header-container-in .menu-header li:not(.menu-item-home) {
		height: auto;
	}

	.header-container-in .header {
		order: 0;
		margin: 0;
	}

	.header-container-in .header-cta-line {
		order: 1;
		margin-left: auto;
	}
	.header-container-in .header-cta-form { order: 2; }
	.menu-header .menu-sns-icon { order: 3; }

	.menu-header .menu-item-home {
		display: none;
	}

	.header-container-in .menu-header li:not(.menu-item-home):not(.menu-sns-icon) {
		order: 5;
	}
	/* Cocoon本体が<a>をdisplay:flex＋height:60px相当にしているため上書きする */
	.header-container-in .menu-header a {
		display: flex;
		align-items: center;
		height: auto;
		color: #fff;
		font-weight: normal;
		padding: 6px 0;
		white-space: nowrap;
		text-shadow: 0 1px 3px rgba(0, 0, 0, .45);
	}

	.header-container-in .menu-header li:not(.menu-item-home):not(.menu-sns-icon) a:hover {
		background-color: #044e38;
		border-radius: 1px;
		color: #fff;
	}

	/* ヘッダー内のLINE／フォームは透明背景＋白枠＋白文字 */
	.header-container-in .header-cta-btn {
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		top: -20px;
		height: 38px;
		padding: 0 20px;
		border: 1px solid rgba(255, 255, 255, .85);
		border-radius: 3px;
		background-color: transparent;
		color: #fff;
		font-size: 14px;
		font-weight: normal;
		white-space: nowrap;
		text-decoration: none;
		text-shadow: 0 1px 3px rgba(0, 0, 0, .45);
		transition: background-color .25s, border-color .25s;
	}
	.header-container-in .header-cta-btn:hover {
		background-color: rgba(255, 255, 255, .18);
		border-color: #fff;
	}
	.header-container-in .header-cta-line::before {
		content: "\f3c0";
		font-family: "Font Awesome 5 Brands";
		font-weight: 400;
		font-size: 20px;
		margin-right: 8px;
	}
	.header-container-in .header-cta-form::before {
		content: "\f0e0";
		font-family: "Font Awesome 5 Free";
		font-weight: 400;
		font-size: 19px;
		margin-right: 8px;
	}

	.menu-header .menu-sns-icon a {
		width: 34px;
		height: 34px;
		padding: 0;
		border-radius: 50%;
		background-color: transparent;
		border: 1px solid rgba(255, 255, 255, .85);
		color: #fff;
		justify-content: center;
		font-size: 13px;
		transition: background-color .25s, border-color .25s;
	}
	.menu-header .menu-sns-icon a:hover {
		background-color: rgba(255, 255, 255, .18);
		border-color: #fff;
	}
	.menu-header .menu-sns-icon a .caption-wrap {
		font-size: 0;
	}
	.menu-header .menu-sns-icon a::before {
		content: "\f16d";
		font-family: "Font Awesome 5 Brands";
		font-weight: 400;
		font-size: 15px;
	}
}

@media screen and (min-width: 1023.02px) and (max-width: 1279px) {
	.header-container-in {
		column-gap: 1px;
		padding: 4px 8px;
	}
	.header-container-in .navi {
		column-gap: 0;
	}
	.header-container-in .menu-header li:not(.menu-item-home):not(.menu-sns-icon) a {
		font-size: 13px;
		letter-spacing: 0;
	}
	.header-container-in #navi .navi-in > ul > li > a {
		padding: 0 0.35em;
	}
	.header-container-in .header-cta-btn {
		height: 34px;
		padding: 0 14px;
		font-size: 12px;
	}
	.header-container-in .header-cta-form {
		margin-left: 19px;
		margin-right: 20px;
	}
}

@media screen and (min-width: 1179.02px) and (max-width: 1279px) {
	.header-container-in .menu-header li:not(.menu-item-home):not(.menu-sns-icon) a {
		font-size: 14px;
		letter-spacing: 1px;
	}
}

@media screen and (min-width: 1279.02px) {
	.header-container-in {
		column-gap: 4px;
		padding: 4px 18px;
	}
	.header-container-in .navi {
		column-gap: 0;
	}
	.header-container-in .header-cta-form {
		margin-left: 16px;
		margin-right: 20px;
	}
}

@media screen and (min-width: 1279.02px) and (max-width: 1365px) {
	.header-container-in .menu-header li:not(.menu-item-home):not(.menu-sns-icon) a {
		font-size: 15px;
		letter-spacing: 1px;
	}
	.header-container-in #navi .navi-in > ul > li > a {
		padding: 0 0.35em;
	}
}

@media screen and (min-width: 1365.02px) {
	.header-container-in .menu-header li:not(.menu-item-home):not(.menu-sns-icon) a {
		font-size: 16px;
	}
	.header-container-in #navi .navi-in > ul > li > a {
		padding: 0 0.35em;
	}
}


/************************************
** 画面右端の固定CTA（.eg-float-cta）
************************************/
/* 塗りつぶし＋アイコン（LINE=緑#348040／フォーム=ネイビー#345C99） */
.eg-float-cta {
	position: fixed;
	top: calc(50% - 90px);
	right: 0;
	transform: translateY(-50%);
	z-index: 9990;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.eg-float-cta-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100px;
	min-height: 124px;
	padding: 12px 6px;
	border-radius: 4px 0 0 4px;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.45;
	text-align: center;
	text-decoration: none;
	transition: filter .25s;
	animation: eg-float-cta-drop .8s cubic-bezier(.22, 1, .36, 1) .3s both;
}
.eg-float-cta-form {
	animation-delay: .45s;
}
@keyframes eg-float-cta-drop {
	from {
		opacity: 0;
		transform: translateY(-60px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
.eg-float-cta-btn:hover {
	color: #fff;
	text-decoration: none;
	filter: brightness(1.12);
}

.eg-float-cta-btn::before {
	display: block;
	margin-bottom: 8px;
	font-size: 32px;
	line-height: 1;
}

.eg-float-cta-line {
	background-color: #348040;
}
.eg-float-cta-line::before {
	content: "\f3c0";
	font-family: "Font Awesome 5 Brands";
	font-weight: 400;
	font-size: 44px;
}

.eg-float-cta-form {
	background-color: #345C99;
	font-size: 15px;
}
.eg-float-cta-form::before {
	content: "\f0e0";
	font-family: "Font Awesome 5 Free";
	font-weight: 400;
}

@media screen and (max-width: 1023px) {
	.eg-float-cta {
		display: none;
	}
}

@media screen and (max-width: 1023px) {
	.header-cta-btn {
		display: none;
	}

	/************************************
		** モバイル用ヘッダーバー（.mobile-header-menu-buttons）
		************************************/
	.mobile-header-menu-buttons {
		background-color: rgba(0, 0, 0, .4);
		border: none;
		box-shadow: none;
	}
	body.front-top-page .mobile-header-menu-buttons {
		background-color: rgba(0, 0, 0, .6);
	}

	.mobile-header-menu-buttons .navi-menu-button .menu-icon,
	.mobile-header-menu-buttons .navi-menu-button .menu-caption,
	.mobile-header-menu-buttons .navi-menu-button label {
		color: #fff;
	}

	.mobile-header-menu-buttons .logo-menu-button > a.menu-button-in {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
		gap: 10px;
		height: 50px;
	}
	.mobile-header-menu-buttons .logo-menu-button > a.menu-button-in::after {
		content: "株式会社アーカイヴズ";
		color: #fff;
		font-size: 15px;
		font-weight: bold;
		white-space: nowrap;
		text-shadow: 0 1px 3px rgba(0, 0, 0, .45);
	}
}


/************************************
** ヘッダーモバイルメニュー：モバイルスライドインメニュー（ハンバーガー）内
************************************/
/* スマホ用メニューはheadMenuMobile（.menu-drawer） */
.menu-drawer .menu-line-btn a,
.menu-drawer .menu-form-btn a,
.menu-drawer .menu-sns-icon a {
	background-color: rgba(255, 255, 255, .12);
	font-weight: bold;
}
.menu-drawer .menu-sns-icon {
	margin-bottom: 10px;
}



/************************************
** menu-mobile タブレットで非表示
************************************/

@media screen and (min-width:779px) {
	.mobile-header-menu-buttons .m-salesMn, .mobile-header-menu-buttons .m-worksMn { display:none; }
}

/************************************
** menu-mobile ハンバーガーメニューを右に
************************************/

@media screen and (max-width:1023px){
	.mobile-header-menu-buttons { flex-direction:row-reverse; }
	.mobile-header-menu-buttons li.navi-menu-button {  }
	.mobile-header-menu-buttons li.logo-menu-button {  }
	.navi-menu-content {
		left: auto;
		right: 0;
		transform: translateX(105%);
	}
}

.logo-menu-button.menu-button .site-logo-image { padding: 4px 15px 4px 15px; }


/************************************
** mobileSideMenu
************************************/

#navi-menu-content { background-color: #111; }
.menu-close-button { font-size:1.8em;color:#e6e6e6; }
.menu-content .menu-drawer { padding: 1em 1em 150px 1em; }
.menu-drawer { background-color:#111;margin-top:1px; }
.menu-drawer li { border-top:1px solid rgba(255,255,255,.14); }
.menu-drawer li:first-child { border:0; }
.menu-drawer li li:first-child { border-top:1px solid rgba(255,255,255,.14); }
.menu-drawer a { color:#e6e6e6;border-radius:3px;padding:14px 8px; }
.menu-drawer a:hover { color:#fff;background-color:rgba(255,255,255,.10); }
.menu-drawer .sub-menu { margin:0; }

.menu-drawer .fa { margin-right:0.5em; }
.menu-drawer .noLink .fa { margin-left:0.4em;margin-right:0; }
.menu-drawer .sub-menu .fa { margin-right:0.5em;margin-left:0; }

.menu-drawer a { transition: .5s;border-radius:3px;opacity:1.0; }
.menu-drawer .noLink a { color:#e6e6e6;background-color:#111;transition:none;opacity:1.0; }
.menu-drawer .noLink .sub-menu a { transition: .5s;border-radius:3px;opacity:1.0; }
.menu-drawer .noLink .sub-menu a:hover { color:#fff;background-color:rgba(255,255,255,.10);border-radius:3px; }

.menu-drawer a i { margin-right:4px; }

/* ===== クリックで開閉するメニュー項目（.eg-menu-toggle） ===== */
li.eg-menu-toggle {
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "メイリオ", "Yu Gothic", sans-serif !important;
}
li.eg-menu-toggle > a {
	cursor: pointer;
}
li.eg-menu-toggle > a::after {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-left: 6px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform .25s;
	vertical-align: 2px;
}
li.eg-menu-toggle.is-menu-open > a::after {
	transform: rotate(-135deg);
}
.menu-drawer .sub-menu .sub-menu {
	display: none;
}
.menu-drawer .sub-menu .sub-menu.is-open {
	display: block;
}

/************************************
** モバイルフッターボタン
************************************/

.mobile-menu-buttons .menu-caption { font-size:11px; }

#menu-mobilefootmenu li:nth-child(1) {
	width:22%;
	white-space: nowrap;
	background-color:#d1e6ce;
}
#menu-mobilefootmenu li:nth-child(2) {
	width:28%;
	white-space: nowrap;
	background-color:#8ee8c9;
}
#menu-mobilefootmenu li:nth-child(2) .menu-caption {
	font-size:12px;
	line-height:1.3;
}
#menu-mobilefootmenu li:nth-child(3) {
	width:28%;
	white-space: nowrap;
	background-color:#FFDC73;
}

#menu-mobilefootmenu li:nth-child(4) {
	width:22%;
	white-space: nowrap;
	background-color:#d1e6ce;
}

@media screen and (max-width:320px){
	.mobile-menu-buttons .menu-caption { font-size:10px; }
}

/* フッターモバイルボタン（LINE／フォーム）を画面右端固定CTAと同じ体裁に揃える */
@media screen and (max-width: 1023px) {
	.mobile-footer-menu-buttons {
		background-color: transparent;
		border: none;
	}
	.mobile-footer-menu-buttons > li {
		flex: 1 1 50%;
	}
	.mobile-footer-menu-buttons > li:nth-child(1) {
		background-color: #348040;
	}
	.mobile-footer-menu-buttons > li:nth-child(2) {
		background-color: #345C99;
	}
	/* 3つ目：ページ先頭へ戻る「↑」。左2つの文字が折り返さないよう幅48px固定 */
	.mobile-footer-menu-buttons > li:nth-child(3) {
		flex: 0 0 48px;
		background-color: #000;
	}
	.mobile-footer-menu-buttons > li:nth-child(3) .menu-icon {
		display: none;
	}
	.mobile-footer-menu-buttons > li:nth-child(3) .menu-caption {
		font-size: 22px;
		line-height: 1;
	}
	.mobile-footer-menu-buttons > li > a.menu-button-in {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 2px;
		height: 100%;
		color: #fff;
		font-weight: bold;
	}
	.mobile-footer-menu-buttons .menu-icon {
		font-size: 22px;
		line-height: 1;
	}
	.mobile-footer-menu-buttons .menu-caption {
		font-size: 12px;
		line-height: 1.2;
	}
	.mobile-footer-menu-buttons > li:nth-child(1) .menu-icon .fas::before {
		content: "\f3c0";
		font-family: "Font Awesome 5 Brands";
		font-weight: 400;
	}
	.mobile-footer-menu-buttons > li:nth-child(2) .menu-icon .fas::before {
		content: "\f0e0";
		font-family: "Font Awesome 5 Free";
		font-weight: 400;
	}
}

/************************************
** パンくずリスト
************************************/

@media screen and (max-width:640px){
	#breadcrumb { margin:0; }
}
@media screen and (max-width:414px){
	#breadcrumb { font-size:11px; }
}

/************************************
** リンク
************************************/

a.goLink { display:inline-block;border:2px solid #333;text-decoration: none;color:#000;
	width:48%;max-width:420px;margin:10px 12px;padding:0;font-size:22px;line-height:60px; }

a.goLink_s { display:inline-block;border:2px solid #333;text-decoration: none;color:#000;
	width:36%;max-width:350px;margin:10px 12px;padding:0;font-size:18px;line-height:50px; }

.golfBox .contactInfoBox { margin-top:30px; }
.golfBox a.goLink { border:2px solid #fff;color:#fff; }

a.tellink { font-family: 'Oswald', sans-serif;line-height:50px;font-size:20px;padding:0;
	position:relative;top:2px;letter-spacing:1px; }

a.goLink:hover { color:#508D57;border:2px solid #508D57;background-color:#DCEAC8;transition: .2s; }
a.goLink_s:hover { color:#508D57;border:2px solid #508D57;background-color:#DCEAC8;transition: .2s; }

@media screen and (max-width:834px){
	a.tellink { font-size:18px; }
}

@media screen and (max-width:640px){
	a.goLink { width:90%;font-size:18px;line-height:50px;margin:10px auto; }
	a.goLink_s { width:70%;font-size:16px;line-height:40px;margin:10px auto; }
}

@media screen and (max-width:600px){
	a.goLink { width:90%;font-size:18px;line-height:50px;margin:10px auto; }
	a.goLink_s { width:70%;font-size:16px;line-height:40px;margin:10px auto; }
}

@media screen and (max-width:1023px){
.header-in { display:none; }
}

/* =====================
   サイト全体の日本語フォント
   ===================== */

body,
button,
input,
select,
textarea {
	font-family:
		"Hiragino Kaku Gothic ProN",
		"Hiragino Sans",
		"Yu Gothic",
		"YuGothic",
		"Meiryo",
		sans-serif;
}

.entry-content p,
.entry-content li,
.entry-content dd,
.entry-content td {
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.02em;
}

.entry-content li {
	font-weight: 600;
}

/* =====================
   無料相談
   ===================== */

.eg-consult {
  background: var(--eg-gray-bg, #e6e6e6);
  padding: 76px 24px;
}
.eg-consult__inner {
  max-width: var(--eg-max, 1280px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 440px) 1fr;
  gap: 56px;
  align-items: stretch;
}
.eg-consult__photo {
  margin: 0;
  display: flex;
}
.eg-consult__photo img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 540px;
  object-fit: cover;
}
.eg-consult__title {
  margin: 0;
  color: var(--eg-green-deep, #004e37);
  font-weight: 500;
  font-size: clamp(22px, 2.6vw, 30px);
}
.eg-consult__lead {
  margin: 20px 0 0;
  line-height: 2;
  font-size: 15px;
  color: var(--eg-ink, #333333);
}
.eg-consult__qa {
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.eg-consult__qa li {
  background: #f2f1ec;
  padding: 12px 16px;
  font-size: 14px;
  color: var(--eg-ink, #333333);
  letter-spacing: 0.03em;
}
.eg-consult__note {
  margin: 20px 0 0;
  font-size: 14px;
  color: var(--eg-ink-sub, #5a5a5a);
}

@media (max-width: 900px) {
  .eg-consult {
    padding: 56px 20px;
  }
  .eg-consult__inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .eg-consult__photo img {
    max-height: 300px;
  }
}

/* =====================
   施工実績（[works_archive]）
   ===================== */

.eg-works-archive__top,
.eg-works-archive__body {
	margin-left: -30px;
	margin-right: -30px;
	padding-left: 30px;
	padding-right: 30px;
}

.eg-works-archive__inner {
	max-width: 1100px;
	margin: 0 auto;
}

/* 右端の固定CTA（幅100px＋余白20px）と重ならないよう、左右均等に幅を狭める */
@media screen and (min-width: 1023.02px) {
	.eg-works-archive__inner {
		max-width: min(1100px, calc(100% - 180px));
	}
}

.eg-works-archive__top {
	background: var(--eg-gray-bg, #e6e6e6);
	padding-top: 0;
	padding-bottom: 115px;
}

h2.eg-works-archive__title {
	margin: 0 0 40px;
	padding: 0;
	text-align: center;
	color: var(--eg-green-deep, #004e37);
	font-weight: 500;
	font-size: clamp(28px, 3vw, 36px);
}

.eg-works-archive__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
}

h3.eg-works-archive__subtitle {
	margin: 0;
	padding: 0;
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif !important;
	font-size: 32px !important;
	font-weight: 500;
	line-height: 1.3;
	color: #000;
}

.eg-works-archive__tabs {
	display: flex;
	flex-wrap: wrap;
}

a.eg-works-archive__tab {
	font-size: 15px;
	line-height: 1;
	color: var(--eg-ink, #333333);
	text-decoration: none;
	padding: 0 12px;
	border-right: 1px solid #ccc;
}
.eg-works-archive__tabs a.eg-works-archive__tab:last-child {
	border-right: none;
}
.eg-works-archive__tab-label {
	display: inline-block;
	padding-bottom: 6px;
	border-bottom: 2px solid transparent;
}
a.eg-works-archive__tab.is-current {
	color: var(--eg-green-deep, #004e37);
	font-weight: 700;
}
a.eg-works-archive__tab.is-current .eg-works-archive__tab-label {
	border-bottom-color: var(--eg-green-deep, #004e37);
}

.eg-works-archive__body {
	background-color: #1e4a3b;
	padding-top: 24px;
	padding-bottom: 56px;
	/* 次のセクションとの境目に小数pxの隙間線が出るのを防ぐ */
	margin-bottom: -1px;
}

/* 同じ緑背景が続くため、スマホのセクション区切り線を消す */
.main .eg-works-archive ~ section.eg-faq {
	border-top: none !important;
}

/* 直前が本文のときは上に余白を足す（リンクボタンの後はボタン側の余白で足りる） */
@media screen and (min-width: 768.02px) {
	.main section.eg-works-archive:not(.eg-page-links + section) {
		padding-top: 60px;
	}
}

.eg-works-archive__panel {
	margin-top: -107px;
}

/* eg-見出し・リストの汎用margin-topを打ち消す */
ul.eg-works-archive__list {
	margin: 0 !important;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

ul.eg-works-archive__list li.eg-works-archive__item {
	margin: 0;
}

li.eg-works-archive__item a {
	display: block;
	color: #fff;
	text-decoration: none;
}

.eg-works-archive__thumb {
	display: block;
}
.eg-works-archive__thumb img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
}

p.eg-works-archive__meta,
p.eg-works-archive__item-title {
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "メイリオ", "Yu Gothic", sans-serif !important;
}

p.eg-works-archive__meta {
	margin: 12px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 8px;
	font-size: 13px;
}
.eg-works-archive__cat {
	background: rgba(255, 255, 255, 0.15);
	padding: 0 8px;
	border-radius: 2px;
	white-space: nowrap;
}
.eg-works-archive__date {
	color: rgba(255, 255, 255, 0.85);
	white-space: nowrap;
}

p.eg-works-archive__item-title {
	margin: 8px 0 0;
	padding: 0;
	font-size: 16px;
	line-height: 1.6;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

p.eg-works-archive__empty {
	margin: 0 !important;
	padding: 24px 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 240px;
	background: #f8f8f8;
	border-radius: 2px;
	text-align: center;
	color: var(--eg-ink, #333333);
	font-size: 16px;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "メイリオ", "Yu Gothic", sans-serif !important;
}

.eg-works-archive__foot {
	margin-top: 80px;
}

h3.eg-works-archive__foot-title {
	margin: 0 0 28px;
	padding: 0;
	color: #fff;
	font-size: 20px;
}

.eg-works-archive__links {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border: 1px solid var(--eg-gold, #b8935a);
}

a.eg-works-archive__link {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	text-decoration: none;
	padding: 17px 12px 15px;
	color: #fff;
	font-size: 18px;
	line-height: 1.5;
	border-right: 1px solid var(--eg-gold, #b8935a);
}
.eg-works-archive__links a.eg-works-archive__link:last-child {
	border-right: none;
}
a.eg-works-archive__link::before {
	content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='%23b8935a' stroke-width='1.5'/%3E%3Cpath d='M10.3 7.8L14.6 12L10.3 16.2' fill='none' stroke='%23b8935a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	display: block;
	flex-shrink: 0;
	position: relative;
	top: -1px;
	width: 20px;
	height: 20px;
	line-height: 0;
	margin-right: 10px;
}

@media screen and (max-width: 1279px) {
	.eg-works-archive__links {
		grid-template-columns: repeat(2, 1fr);
	}
	a.eg-works-archive__link {
		border-bottom: 1px solid var(--eg-gold, #b8935a);
	}
	.eg-works-archive__links a.eg-works-archive__link:nth-child(2n) {
		border-right: none;
	}
	.eg-works-archive__links a.eg-works-archive__link:nth-last-child(-n+2) {
		border-bottom: none;
	}
}

@media screen and (min-width: 768.02px) and (max-width: 1023px) {
	.eg-works-archive__top {
		padding-top: 20px;
	}
	.eg-works-archive__panel {
		margin-top: -115px;
	}
	.eg-works-archive__foot {
		margin-top: 56px;
	}
}

@media screen and (max-width: 835px) {
	.eg-works-archive__top,
	.eg-works-archive__body {
		margin-left: -16px;
		margin-right: -16px;
		padding-left: 16px;
		padding-right: 16px;
	}
}

@media screen and (max-width: 768px) {
	.eg-works-archive__top {
		padding-top: 40px;
		padding-bottom: 24px;
	}
	.eg-works-archive__panel {
		margin-top: 0;
	}
	h2.eg-works-archive__title {
		margin-bottom: 24px;
	}
	.eg-works-archive__head {
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
	}
	.eg-works-archive__tabs {
		width: 100%;
		overflow-x: auto;
		white-space: nowrap;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}
	.eg-works-archive__tabs::-webkit-scrollbar {
		display: none;
	}
	/* タップ範囲を高さ48px確保（見た目の位置は負マージンで据え置き） */
	.eg-works-archive__tabs {
		padding: 13px 0 12px;
		margin: -13px 0 -12px;
	}
	a.eg-works-archive__tab {
		flex: 0 0 auto;
		position: relative;
	}
	a.eg-works-archive__tab::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: -13px;
		bottom: -12px;
	}
	.eg-works-archive__tabs a.eg-works-archive__tab:first-child {
		padding-left: 1px;
	}
	.eg-works-archive__body {
		padding-top: 28px;
		padding-bottom: 40px;
	}
	ul.eg-works-archive__list {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}
	p.eg-works-archive__item-title {
		font-size: 15px;
	}
	.eg-works-archive__foot {
		margin-top: 54px;
	}
	h3.eg-works-archive__subtitle {
		font-size: 22px !important;
	}
	p.eg-works-archive__empty {
		min-height: 120px;
	}
	h3.eg-works-archive__foot-title {
		font-size: 18px;
	}
	.eg-works-archive__links {
		grid-template-columns: 1fr;
	}
	.eg-works-archive__links a.eg-works-archive__link {
		border-right: none;
	}
	.eg-works-archive__links a.eg-works-archive__link:nth-last-child(2) {
		border-bottom: 1px solid var(--eg-gold, #b8935a);
	}
}

@media screen and (max-width: 480px) {
	h3.eg-works-archive__foot-title,
	.eg-works-archive__links a.eg-works-archive__link {
		font-size: 16px;
	}
}

/* スマホは3列×2段を均等幅・中央寄せにし、点線で区切る（1マス全体をタップ範囲にする） */
@media screen and (max-width: 480px) {
	.eg-works-archive__tabs {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		width: 100%;
		margin: 0;
		padding: 0;
	}
	.eg-works-archive__tabs a.eg-works-archive__tab:nth-child(n) {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 12px 4px;
		border-right: none;
		text-align: center;
	}
	.eg-works-archive__tabs .eg-works-archive__tab-label {
		padding-top: 8px;
	}
	.eg-works-archive__tabs a.eg-works-archive__tab:not(:nth-child(3n))::before {
		content: "";
		position: absolute;
		top: 6px;
		bottom: 6px;
		right: 0;
		border-right: 2px dotted #b3b3b3;
	}
	/* 横の区切り（1段目の下）。縦線との交点は空ける */
	.eg-works-archive__tabs a.eg-works-archive__tab::after {
		top: auto;
		bottom: 0;
		left: 6px;
		right: 6px;
	}
	.eg-works-archive__tabs a.eg-works-archive__tab:nth-child(-n+3)::after {
		border-bottom: 2px dotted #b3b3b3;
	}
}

/* PC・タブレットはタブ同士と文字の間を少し広げる */
@media screen and (min-width: 480.02px) {
	a.eg-works-archive__tab {
		padding: 0 16px;
		letter-spacing: 0.1em;
	}
}

/* ===== 共通フッター全体：Cocoon本体の余白打ち消し ===== */
#footer {
	margin-top: 0;
	padding-top: 0;
}

/* ===== foot_01（LINE無料相談・お問い合わせ） ===== */
.eg-foot01 {
	background-color: #dcdcdc;
	padding: 60px 20px;
}
.eg-foot01__inner {
	display: flex;
	gap: 40px;
	max-width: 1000px;
	margin: 0 auto;
}
.eg-foot01__block {
	box-sizing: border-box;
	flex: 1 1 0;
	min-width: 0;
	padding: 17px 20px 45px;
	text-align: center;
	color: #fff;
	border-radius: 6px;
}
.eg-foot01__block--line {
	padding-top: 25px;
	background-color: #348040;
}
.eg-foot01__block--form {
	padding-top: 33px;
	background-color: #345c99;
}

p.eg-foot01__title {
	margin: 0;
	padding: 0;
	color: #fff;
	font-size: 28px;
	font-weight: 400;
	line-height: 1;
}
p.eg-foot01__title--en {
	font-size: 40px;
	font-weight: 700;
	text-indent: 0.12em;
}

p.eg-foot01__sub {
	margin: 18px 0 0;
	padding: 0;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
}
.eg-foot01__block--line p.eg-foot01__sub {
	margin-top: 10px;
	font-size: 22px;
}
.eg-foot01__sep {
	margin: 0 0.5em;
	font-weight: 400;
}
.eg-foot01__sub-item {
	white-space: nowrap;
}

a.eg-foot01__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	box-sizing: border-box;
	width: 100%;
	max-width: 380px;
	min-height: 60px;
	margin: 22px auto 0;
	padding: 8px 16px;
	background-color: #fff;
	border-radius: 6px;
	text-decoration: none;
	transition: opacity 0.2s;
}
.eg-foot01__block--line a.eg-foot01__btn {
	margin-top: 22px;
}
a.eg-foot01__btn:hover {
	opacity: 0.8;
	text-decoration: none;
}
.eg-foot01__btn-text {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
}
.eg-foot01__block--line .eg-foot01__btn-text {
	color: #348040;
}
.eg-foot01__block--form .eg-foot01__btn-text {
	color: #345c99;
}

.eg-foot01__icon {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.eg-foot01__icon--line { background-image: url("/2026/wp-content/uploads/2026/09/foot-01-icon-line.webp"); }
.eg-foot01__icon--mail { background-image: url("/2026/wp-content/uploads/2026/09/foot-01-icon-mail.webp"); }

/* ---- 769〜899px ---- */
@media screen and (min-width: 768.02px) and (max-width: 899px) {
	.eg-foot01__inner {
		gap: 20px;
	}
	.eg-foot01__block {
		padding-right: 12px;
		padding-left: 12px;
	}
	p.eg-foot01__sub {
		font-size: 16px;
	}
	.eg-foot01__block--line p.eg-foot01__sub {
		font-size: 20px;
	}
	.eg-foot01__sep {
		margin: 0 0.4em;
	}
	.eg-foot01__sub-item,
	.eg-foot01__btn-text {
		white-space: nowrap;
	}
	a.eg-foot01__btn {
		gap: 12px;
		padding: 8px 12px;
	}
	.eg-foot01__btn-text {
		font-size: 20px;
	}
	.eg-foot01__icon {
		width: 32px;
		height: 32px;
	}
}

/* ---- 768px以下 ---- */
@media screen and (max-width: 768px) {
	.eg-foot01 {
		padding: 40px 46px;
	}
	.eg-foot01__inner {
		flex-direction: column;
		gap: 20px;
	}
	.eg-foot01__block {
		padding: 22px 16px 28px;
	}
	.eg-foot01__block--form {
		padding-top: 24px;
	}
	p.eg-foot01__title {
		font-size: 26px;
	}
	p.eg-foot01__title--en {
		font-size: 32px;
	}
	p.eg-foot01__sub {
		margin-top: 14px;
		font-size: 15px;
	}
	.eg-foot01__block--line p.eg-foot01__sub {
		margin-top: 10px;
		font-size: 19px;
	}
	a.eg-foot01__btn {
		gap: 14px;
		min-height: 56px;
		margin-top: 20px;
	}
	.eg-foot01__block--line a.eg-foot01__btn {
		margin-top: 22px;
	}
	.eg-foot01__btn-text {
		font-size: 20px;
	}
	.eg-foot01__icon {
		width: 34px;
		height: 34px;
	}
}

/* ---- 540px以下 ---- */
@media screen and (max-width: 540px) {
	p.eg-foot01__title {
		font-size: 23px;
	}
	p.eg-foot01__title--en {
		font-size: 28px;
	}
	p.eg-foot01__sub {
		font-size: 14px;
		letter-spacing: 0;
	}
	.eg-foot01__block--line p.eg-foot01__sub {
		font-size: 17px;
	}
	a.eg-foot01__btn {
		gap: 12px;
		min-height: 52px;
	}
	.eg-foot01__btn-text {
		font-size: 17px;
	}
	.eg-foot01__icon {
		width: 30px;
		height: 30px;
	}
	.eg-foot01__sep {
		margin: 0 0.2em;
	}
}

/* ---- 360px以下 ---- */
@media screen and (max-width: 360px) {
	.eg-foot01 {
		padding: 20px 12px;
	}
	.eg-foot01__block {
		padding: 20px 12px 24px;
	}
	p.eg-foot01__title {
		font-size: 21px;
	}
	p.eg-foot01__title--en {
		font-size: 26px;
	}
	.eg-foot01__btn-text {
		font-size: 15px;
	}
	a.eg-foot01__btn {
		gap: 10px;
		padding: 8px 10px;
	}
	.eg-foot01__icon {
		width: 26px;
		height: 26px;
	}
}


/* ===== foot_02（SNSセクション） ===== */
.eg-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.eg-foot02 {
	background-color: #234011;
	background-image: url("/2026/wp-content/uploads/2026/09/foot-02-bg-grass-top.webp");
	background-repeat: no-repeat;
	background-position: right top;
	background-size: 854px 142px;
	scroll-margin-top: 20px;
}

.eg-foot02__inner {
	box-sizing: border-box;
	max-width: 1016px;
	margin: 0 auto;
	padding: 50px 20px 68px;
}

p.eg-foot02__heading {
	margin: 0 0 32px;
	padding: 0;
	color: #f2f2f2;
	font-size: 24px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.1em;
}

.eg-foot02__cols {
	display: flex;
	gap: 64px;
}

.eg-foot02__col {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	flex: 1 1 456px;
	min-width: 0;
}

.eg-foot02__icon {
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	margin-top: 4px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.eg-foot02__icon--instagram { background-image: url("/2026/wp-content/uploads/2026/09/foot-02-icon-instagram.webp"); }
.eg-foot02__icon--facebook  { background-image: url("/2026/wp-content/uploads/2026/09/foot-02-icon-facebook.webp"); }

.eg-foot02__list {
	display: flex;
	flex-direction: column;
	gap: 14px;
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}
.eg-foot02__item {
	margin: 0;
	padding: 0;
	list-style: none;
}

a.eg-foot02__link {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	min-height: 40px;
	padding: 5px 20px 5px 40px;
	background-color: rgba(0, 55, 0, 0.8);
	color: #f2f2f2;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "メイリオ", "Yu Gothic", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0.075em;
	text-decoration: none;
	transition: background-color 0.2s, opacity 0.2s;
}
a.eg-foot02__link:hover,
a.eg-foot02__link:focus {
	background-color: rgba(0, 75, 0, 0.8);
	color: #f2f2f2;
	text-decoration: none;
}

.eg-foot02__account {
	flex: 0 0 auto;
	width: 192px;
	letter-spacing: 0.1em;
}
.eg-foot02__sep {
	flex: 0 0 auto;
	margin-right: 4px;
}
.eg-foot02__category,
.eg-foot02__company {
	min-width: 0;
}
.eg-foot02__company-sub {
	display: inline-block;
}

/* ---- 1023px以下 ---- */
@media screen and (max-width: 1023px) {
	.eg-foot02__inner {
		padding: 44px 20px 56px;
	}
	.eg-foot02__cols {
		flex-direction: column;
		gap: 28px;
	}
	.eg-foot02__col {
		flex: 0 1 auto;
		width: 100%;
		max-width: 600px;
		margin: 0 auto;
	}
}

/* ---- 768px以下 ---- */
@media screen and (max-width: 768px) {
	.eg-foot02 {
		background-size: 600px 100px;
		scroll-margin-top: 70px;
	}
	.eg-foot02__inner {
		padding: 36px 16px 44px;
	}
	p.eg-foot02__heading {
		margin-bottom: 24px;
		font-size: 18px;
	}
	.eg-foot02__cols {
		gap: 24px;
	}
	.eg-foot02__col {
		gap: 12px;
	}
	.eg-foot02__icon {
		width: 28px;
		height: 28px;
		margin-top: 6px;
	}
	.eg-foot02__list {
		gap: 10px;
	}
	a.eg-foot02__link {
		padding: 8px 14px 8px 20px;
		font-size: 15px;
	}
	.eg-foot02__account {
		width: 150px;
	}
}

/* ---- 540px以下 ---- */
@media screen and (max-width: 540px) {
	.eg-foot02 {
		background-size: 300px 50px;
	}
	.eg-foot02__inner {
		padding: 32px 16px 40px;
	}
	a.eg-foot02__link {
		padding: 8px 12px 8px 14px;
		font-size: 14px;
	}
	.eg-foot02__account {
		width: auto;
	}
	.eg-foot02__sep {
		margin: 0 6px 0 8px;
	}
}

/* ---- 360px以下 ---- */
@media screen and (max-width: 360px) {
	.eg-foot02 {
		background-size: 240px 40px;
	}
	.eg-foot02__inner {
		padding: 28px 12px 36px;
	}
	.eg-foot02__col {
		gap: 8px;
	}
	.eg-foot02__icon {
		width: 24px;
		height: 24px;
		margin-top: 8px;
	}
	a.eg-foot02__link {
		padding: 8px 10px 8px 12px;
		line-height: 1.5;
	}
	.eg-foot02__sep {
		margin: 0 4px 0 6px;
	}
}

/* ===== foot_03（対応エリア・会社情報） ===== */
.eg-foot03 {
	background-color: #333;
	padding: 22px 20px 9px;
	color: #e6e6e6;
}
.eg-foot03__inner {
	display: flex;
	justify-content: space-between;
	gap: 40px;
	max-width: 1102px;
	margin: 0 auto;
}

/* ---- 左：対応エリア ---- */
.eg-foot03__area {
	flex: 0 0 auto;
	padding-top: 16px;
}
p.eg-foot03__area-title {
	box-sizing: border-box;
	width: 270px;
	margin: 0;
	padding: 0 0 5px 8px;
	border-bottom: 1px solid #808080;
	color: #e6e6e6;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
}
p.eg-foot03__area-text {
	margin: 18px 0 0;
	padding: 0 0 0 8px;
	color: #e6e6e6;
	font-size: 16px;
	font-weight: 400;
	line-height: 2.0;
}

/* ---- 右：ロゴ＋会社情報 ---- */
.eg-foot03__company {
	flex: 0 0 auto;
	padding: 10px 0 0 8px;
}
p.eg-foot03__logo {
	margin: 0;
	padding: 0;
	line-height: 0;
}
.eg-foot03__logo img {
	width: 246px;
	height: auto;
}
p.eg-foot03__address {
	margin: 28px 0 0;
	padding: 0;
	color: #e6e6e6;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.75;
}
p.eg-foot03__copyright {
	margin: 34px 0 0;
	padding: 0;
	color: #e6e6e6;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.5;
}

/* ---- 768px以下 ---- */
@media screen and (max-width: 768px) {
	.eg-foot03 {
		padding: 28px 16px 24px;
	}
	.eg-foot03__inner {
		flex-direction: column;
		gap: 28px;
	}
	.eg-foot03__area {
		padding-top: 0;
	}
	p.eg-foot03__area-title {
		width: 100%;
		max-width: 270px;
	}
	p.eg-foot03__area-text {
		margin-top: 14px;
	}
	.eg-foot03__logo img {
		width: 220px;
	}
	p.eg-foot03__address {
		margin-top: 22px;
	}
	p.eg-foot03__copyright {
		margin-top: 24px;
	}
}

/* ---- 540px以下 ---- */
@media screen and (max-width: 540px) {
	.eg-foot03 {
		padding: 24px 16px 22px;
	}
	.eg-foot03__inner {
		gap: 24px;
	}
	.eg-foot03__logo img {
		width: 200px;
	}
	p.eg-foot03__address {
		line-height: 1.7;
	}
	p.eg-foot03__copyright {
		font-size: 14px;
	}
}

/* ---- 360px以下 ---- */
@media screen and (max-width: 360px) {
	.eg-foot03 {
		padding: 22px 12px 20px;
	}
	p.eg-foot03__area-title,
	p.eg-foot03__area-text,
	p.eg-foot03__address {
		font-size: 15px;
	}
	.eg-foot03__logo img {
		width: 180px;
	}
}

/* =====================
   施工事例一覧（カテゴリアーカイブ）
   ===================== */

/* 施工事例の一覧・詳細は上の余白を詰め、サイドバーも同じだけ上げて高さを揃える */
body.archive .main,
body.single .main {
	padding-top: 0;
}
body:is(.archive, .single) #sidebar {
	padding-top: 0;
}
body:is(.archive, .single) #sidebar .widget:first-child .widget-sidebar-title {
	margin-top: 0;
}

/* 見出しを右サイドバーの「新着 施工事例一覧」と同じ高さに揃える */
body.archive #main > .archive-title {
	display: flex;
	align-items: center;
	min-height: 58px;
	margin: 0 0 16px;
	padding: 0;
}

/* サイドバーを少し内側に寄せ、メイン欄は残り幅いっぱいに広げる */
@media screen and (min-width: 1023.02px) {
	body:is(.archive, .single) .content-in {
		padding-right: 60px;
	}
	body:is(.archive, .single) .main {
		flex: 1 1 0;
		width: auto;
		min-width: 0;
	}
	body:is(.archive, .single) .sidebar {
		flex: 0 0 auto;
	}
}

/* 見出し前のフォルダアイコン（記事0件のページは.faで出力される）は出さない */
body.archive .archive-title > .fa {
	display: none;
}

/* 記事0件のときはCocoonの「NOT FOUND」を隠して文言を差し替える */
body.archive .posts-not-found {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 200px;
	margin: 0 0 56px;
	padding: 24px 16px;
	background-color: #fff;
	text-align: center;
}
body.archive .posts-not-found > * {
	display: none;
}
body.archive .posts-not-found::before {
	content: "記事の登録がまだありません。";
	color: var(--eg-ink, #333333);
	font-size: 16px;
	line-height: 1.6;
}

/* Cocoonのmasonry（JSで絶対配置）をやめてグリッドにする */
body.archive #list.list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px 24px;
	height: auto !important;
	margin-bottom: 56px;
}
body.archive #list .entry-card-wrap {
	position: static !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0;
	background-color: #fff;
	color: var(--eg-ink, #333333);
}
body.archive #list .entry-card-wrap:hover {
	background-color: #fff;
}
/* マウスを乗せたら中身だけ透かす（カードごと透かすと後ろの芝生が見えるため） */
body.archive #list .entry-card {
	height: 100%;
	transition: opacity 0.2s;
}
body.archive #list .entry-card-wrap:hover .entry-card {
	opacity: 0.8;
}
body.archive #list .entry-card-thumb {
	margin: 0;
	width: 100%;
}
body.archive #list .entry-card-thumb-image {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
}
/* 画像上の「施工事例」ラベルは一覧名と重複するため出さない */
body.archive #list .entry-card-thumb .cat-label,
body.archive #list .entry-card-snippet,
body.archive #list .entry-card-info .fa-clock {
	display: none;
}
body.archive #list .entry-card-content {
	display: flex;
	flex-direction: column;
	padding: 16px 16px 20px;
}
body.archive #list .entry-card-title {
	order: 2;
	margin: 8px 0 0;
	padding: 0;
	font-size: 18px;
	line-height: 1.6;
	color: #111;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
body.archive #list .entry-card-meta {
	order: 1;
	margin: 0;
	padding: 0;
	text-align: left;
}
body.archive #list .entry-card-info {
	justify-content: flex-start;
	color: var(--eg-green-deep, #004e37);
}
body.archive #list .entry-card-info > .post-date {
	margin: 0;
	padding: 0;
	font-size: 16px;
	line-height: 1.4;
}

/* 日付の下にカテゴリを枠線のタグ風に（リンクのボタンと見分けるため背景色は付けない） */
body.archive #list .entry-card-meta {
	display: flex;
	flex-direction: column;
}
body.archive #list .entry-card-categorys {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 8px 0 0;
}
body.archive #list .entry-card-categorys .entry-category {
	margin: 0;
	padding: 2px 7px;
	font-size: 16px;
	line-height: 1.4;
	border: 1px solid #ccc;
	background-color: transparent;
	color: var(--eg-ink, #333333);
	border-radius: 2px;
}
body.archive #list .entry-card-categorys .entry-category:not(.cat-label-9, .cat-label-44, .cat-label-43, .cat-label-25, .cat-label-41, .cat-label-42) {
	display: none;
}

/* ページ送り */
body.archive .pagination-next {
	margin-bottom: 32px;
	text-align: center;
}
body.archive a.pagination-next-link {
	display: inline-block;
	width: 100%;
	max-width: 400px;
	padding: 14px 16px;
	border: 1px solid var(--eg-green-deep, #004e37);
	background-color: #fff;
	color: var(--eg-green-deep, #004e37);
	font-size: 16px;
	text-decoration: none;
}
body.archive a.pagination-next-link:hover {
	background-color: var(--eg-green-deep, #004e37);
	color: #fff;
}
body.archive .pagination {
	margin-bottom: 40px;
	gap: 8px;
}
body.archive .pagination .page-numbers {
	width: 48px;
	height: 48px;
	margin: 0;
	border: 1px solid #ccc;
	border-radius: 0;
	background-color: #fff;
	color: var(--eg-ink, #333333);
	font-size: 16px;
}
body.archive .pagination .page-numbers.current,
body.archive .pagination a.page-numbers:hover {
	border-color: var(--eg-green-deep, #004e37);
	background-color: var(--eg-green-deep, #004e37);
	color: #fff;
}
body.archive .pagination .page-numbers.dots {
	border: none;
	background-color: transparent;
}

/* サイドバー「施工事例カテゴリ」（ウィジェット）。表示中のカテゴリは緑 */
ul.eg-side-cats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin: 0 !important;
	padding: 0;
	list-style: none;
}
#sidebar ul.eg-side-cats li {
	margin: 0;
	padding: 0;
}
ul.eg-side-cats a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 6px 8px;
	border: 1px solid #ccc;
	background-color: #fff;
	color: #000;
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0;
	height: 100%;
	text-align: center;
	text-decoration: none;
	transition: background-color 0.2s, color 0.2s;
}
ul.eg-side-cats a:hover,
body.category-golf ul.eg-side-cats a[href$="/golf/"],
body.category-artificial-turf ul.eg-side-cats a[href$="/artificial-turf/"],
body.category-tf ul.eg-side-cats a[href$="/tf/"],
body.category-exterior ul.eg-side-cats a[href$="/exterior/"],
body.category-corporate ul.eg-side-cats a[href$="/corporate/"],
body.category-residential ul.eg-side-cats a[href$="/residential/"] {
	border-color: var(--eg-green-deep, #004e37);
	background-color: var(--eg-green-deep, #004e37);
	color: #fff;
}

/* 施工事例の検索（サイドバーのウィジェット＋検索結果ページ先頭の検索ボックス） */
form.eg-side-search,
body.archive #main form.search-box {
	display: flex;
	position: static;
	margin: 0;
}
body.archive #main form.search-box {
	max-width: 560px;
	margin-bottom: 32px;
}
:is(form.eg-side-search, body.archive #main form.search-box) input[name="s"] {
	flex: 1 1 auto;
	min-width: 0;
	height: 48px;
	margin: 0;
	padding: 0 12px;
	border: 1px solid #ccc;
	border-right: none;
	border-radius: 0;
	background-color: #fff;
	color: var(--eg-ink, #333333);
	font-size: 16px;
	-webkit-appearance: none;
	appearance: none;
}
:is(form.eg-side-search, body.archive #main form.search-box) input[name="s"]:focus {
	border-color: var(--eg-green-deep, #004e37);
	outline: none;
}
:is(form.eg-side-search, body.archive #main form.search-box) button[type="submit"] {
	position: static;
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	background-color: var(--eg-green-deep, #004e37);
	color: #fff;
	font-size: 18px;
	cursor: pointer;
	transition: opacity 0.2s;
}
:is(form.eg-side-search, body.archive #main form.search-box) button[type="submit"]:hover {
	opacity: 0.8;
}
body.search-no-results .posts-not-found::before {
	content: "該当する施工事例が見つかりませんでした。";
}
@media screen and (max-width: 768px) {
	body.archive #main form.search-box {
		max-width: none;
		margin-bottom: 24px;
	}
}

/* 右端の固定CTAは一覧・詳細では80%の大きさにする */
body:is(.archive, .single) .eg-float-cta {
	zoom: 0.8;
}

/* サイドバーの見出しは明朝体 */
#sidebar .widget-sidebar-title {
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif !important;
	font-weight: 500;
}

/* サイドバー「新着 施工事例一覧」のタイトルは明朝体・3行まで */
#sidebar .widget-entry-card-title {
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif !important;
	font-weight: 500;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* PC：一覧のタイトル16px・カテゴリ名14px、サイドバー新着のタイトル15px */
@media screen and (min-width: 1023.02px) {
	body.archive #list .entry-card-title {
		font-size: 16px;
	}
	body.archive #list .entry-card-categorys .entry-category {
		font-size: 14px;
	}
	#sidebar .widget-entry-card-title {
		font-size: 15px;
	}
}

@media screen and (min-width: 1023.02px) and (max-width: 1199px) {
	body.archive #list.list {
		grid-template-columns: repeat(2, 1fr);
	}
	/* サイドバーが狭いのでサムネを小さくしてタイトル幅を確保 */
	#sidebar .widget-entry-card-thumb {
		width: 88px;
	}
	#sidebar .widget-entry-card-thumb img {
		width: 100%;
		height: auto;
	}
	#sidebar .widget-entry-card-content {
		margin-left: 96px;
	}
}

@media screen and (max-width: 1023px) {
	body.archive #main > .archive-title {
		margin-bottom: 24px;
	}
	body.archive #list.list {
		gap: 24px 20px;
	}
}

@media screen and (max-width: 768px) {
	body.archive #list.list {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
		margin-bottom: 40px;
	}
	body.archive #list .entry-card-content {
		padding: 12px 12px 16px;
	}
	body.archive #list .entry-card-title {
		font-size: 16px;
	}
	body.archive #list .entry-card-info > .post-date {
		font-size: 15px;
	}
	body.archive #list .entry-card-categorys,
	body.archive #list .entry-card-categorys .entry-category {
		font-size: 15px;
	}
}

/* 1023px以下はサイドバーの検索・カテゴリを本文の下に出す */
@media screen and (max-width: 1023px) {
	body:is(.archive, .single).no-mobile-sidebar .sidebar:has(ul.eg-side-cats) {
		display: block;
	}
	body:is(.archive, .single) #sidebar .widget:not(:has(ul.eg-side-cats, form.eg-side-search)) {
		display: none;
	}
}
@media screen and (min-width: 540.02px) and (max-width: 1023px) {
	body:is(.archive, .single) ul.eg-side-cats {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media screen and (max-width: 480px) {
	body.archive #main > .archive-title {
		margin-bottom: 6px;
	}
}

/* 2列のカードが狭いため小さくする（最小文字サイズの例外） */
@media screen and (max-width: 480px) {
	body.archive #list .entry-card-categorys,
	body.archive #list .entry-card-categorys .entry-category {
		font-size: 11px;
	}
	body.archive #list .entry-card-title {
		font-size: 13px;
		color: #000;
	}
}
@media screen and (max-width: 390px) {
	body.archive #list .entry-card-info > .post-date {
		font-size: 12px;
	}
}

/* ページ送りは48pxのまま折り返す */
@media screen and (max-width: 540px) {
	body.archive .pagination {
		flex-wrap: wrap;
		justify-content: center;
		row-gap: 8px;
	}
	body.archive .pagination .page-numbers {
		flex: 0 0 48px;
	}
}


/* =====================
   施工事例 詳細（投稿記事）
   ページビルダーの構造は変えずCSSだけで整える
   ===================== */

body.single .article .entry-content {
	background-color: #fff;
	padding: 40px;
}
body.single .entry-content .panel-layout .so-panel {
	margin-bottom: 0;
}

/* 施工日数・人工芝種類：左が緑の見出しセルの表 */
body.single .entry-content .worksInfoBox {
	position: relative;
	border: 1px solid #dccfb8;
	margin-top: -1px;
	background-color: #fbf9f5;
}
/* 行の区切り線を緑の見出しセルより手前に描く（端数の位置で線が消えるため） */
body.single .entry-content .worksInfoBox::after {
	content: "";
	position: absolute;
	top: -1px;
	left: -1px;
	right: -1px;
	border-top: 1px solid #dccfb8;
	pointer-events: none;
}
@media screen and (min-width: 1023.02px) {
	body.single .entry-content .worksInfoBox {
		background-color: #fcfbf8;
	}
}
/* 見出し列を内容の高さまで伸ばす（SiteOriginのflex-start指定を上書き） */
@media screen and (min-width: 768.02px) {
	body.single .entry-content .worksInfoBox {
		align-items: stretch !important;
	}
}
body.single .entry-content .worksInfoBox .panel-grid-cell {
	margin-bottom: 0 !important;
}
body.single .entry-content .worksInfoBox .panel-grid-cell:has(.worksInfoTtl) {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--eg-green-deep, #004e37);
}
body.single .entry-content .worksInfoBox .panel-grid-cell:has(.worksInfoTtl) .so-panel {
	width: 100%;
}
body.single .entry-content .worksInfoTtl p {
	margin: 0;
	padding: 12px;
	color: #fff;
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
	font-weight: 500;
	text-align: center;
}
body.single .entry-content .worksInfo {
	padding: 12px 20px;
}
body.single .entry-content .worksInfo p {
	margin: 0;
	line-height: 1.8;
}

/* Before・After・Work process：写真は2枚ずつ並べ、見出し直後の1枚だけ全幅 */
body.single .entry-content .worksBefore-after {
	margin-top: 56px;
}
body.single .entry-content .worksBefore-after .panel-grid-cell {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	align-items: start;
}
body.single .entry-content .worksBefore-after .so-panel {
	margin: 0 !important;
}
body.single .entry-content .worksBefore-after .so-panel.widget_text,
body.single .entry-content .worksBefore-after .so-panel:has(> .worksBeforeTtl, > .worksAfterTtl) + .widget_media_image {
	grid-column: 1 / -1;
}
body.single .entry-content .worksBefore-after .widget_media_image img {
	display: block;
	width: 100%;
	height: auto;
}
body.single .entry-content .worksBefore-after .so-panel:has(> .worksBeforeTtl, > .worksAfterTtl):not(:first-child) {
	margin-top: 40px !important;
}
body.single .entry-content .worksBefore-after .so-panel.widget_text:not(:has(> .worksBeforeTtl, > .worksAfterTtl)) {
	margin-top: 16px !important;
}
body.single .article .entry-content :is(.worksBeforeTtl, .worksAfterTtl) :is(p, h2) {
	margin: 0;
	padding: 0 0 8px;
	border-bottom: 1px solid var(--eg-green-deep, #004e37) !important;
	color: var(--eg-green-deep, #004e37);
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.3;
}
body.single .entry-content .worksBefore-after .widget_text p {
	margin: 0 0 1em;
	line-height: 1.9;
}
body.single .entry-content .worksBefore-after .widget_text p:last-child {
	margin-bottom: 0;
}
/* 1段落だけのテキスト（「整地・下地転圧」等の工程名）は緑の明朝体 */
body.single .entry-content .worksBefore-after .widget_text:not(:has(p + p, h2, .textwidget h3, hr, .worksBeforeTtl, .worksAfterTtl)) .textwidget > p {
	margin: 0;
	color: var(--eg-green-deep, #004e37);
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.5;
}

/* 記事タイトルと同じ文言のまとめ見出し（見出しタグではない） */
body.single .entry-content .worksBefore-after p.worksSummaryTtl {
	margin: 48px 0 16px;
	color: #111;
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.5;
}

/* 本文の見出し・区切り線 */
body.single .article .entry-content h2 {
	margin: 48px 0 20px;
	padding: 0 0 10px;
	border-bottom: 2px solid var(--eg-green-deep, #004e37) !important;
	color: #111;
	font-size: 26px;
	line-height: 1.5;
}
body.single .article .entry-content h3 {
	margin: 32px 0 16px;
	padding: 2px 0 2px 14px;
	border-left: 4px solid var(--eg-green-deep, #004e37) !important;
	color: #111;
	font-size: 22px;
	line-height: 1.5;
}
body.single .article .entry-content hr {
	margin: 32px 0;
	border: none;
	border-top: 2px dotted #b3b3b3;
}

/* 記事下のカテゴリ（サービス6カテゴリだけ）・前後の記事 */
body.single .article-footer .entry-categories-tags {
	margin: 24px 0 0;
}
body.single .article-footer .entry-categories {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
body.single .article-footer .cat-link {
	margin: 0;
	padding: 3px 10px;
	border-radius: 2px;
	background-color: #fff;
	color: var(--eg-ink, #333333);
	font-size: 16px;
	line-height: 1.4;
}
body.single .article-footer .cat-link:hover {
	background-color: var(--eg-green-deep, #004e37);
	color: #fff;
}
body.single .article-footer .cat-link .cat-icon,
body.single .article-footer .cat-link:not(.cat-link-9, .cat-link-44, .cat-link-43, .cat-link-25, .cat-link-41, .cat-link-42) {
	display: none;
}

/* カテゴリの下にタグ（Cocoon設定ではカテゴリのみ表示のため、CSSで表示に戻す） */
body.single .article-footer .entry-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 8px;
}
body.single .article-footer .tag-link {
	margin: 0;
	padding: 2px 10px;
	border: 1px solid #ccc;
	border-radius: 2px;
	background-color: transparent;
	color: var(--eg-ink, #333333);
	font-size: 16px;
	line-height: 1.4;
}
body.single .article-footer .tag-link::before {
	content: "#";
}
body.single .article-footer .tag-link:hover {
	border-color: var(--eg-green-deep, #004e37);
	background-color: var(--eg-green-deep, #004e37);
	color: #fff;
}
body.single .article-footer .tag-link .tag-icon {
	display: none;
}
body.single .pager-post-navi {
	margin-top: 32px;
}
body.single .pager-post-navi a {
	margin-bottom: 8px;
	padding: 12px 16px;
	border: none;
	background-color: #fff;
	color: #000;
}
body.single .pager-post-navi a:hover {
	background-color: #fff;
	opacity: 0.8;
}
body.single .pager-post-navi :is(.prev-post-title, .next-post-title) {
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
	font-size: 16px;
	line-height: 1.6;
}
body.single .pager-post-navi figure img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

@media screen and (max-width: 768px) {
	body.single .article .entry-content {
		padding: 24px 16px;
	}
	body.single .entry-content .worksInfoTtl p {
		padding: 8px;
	}
	body.single .entry-content .worksInfoBox p {
		font-size: 16px;
	}
	body.single .entry-content .worksBefore-after {
		margin-top: 40px;
	}
	body.single .entry-content .worksBefore-after .panel-grid-cell {
		gap: 8px;
	}
	body.single .article .entry-content :is(.worksBeforeTtl, .worksAfterTtl) :is(p, h2) {
		font-size: 26px;
	}
	body.single .article .entry-content h2 {
		font-size: 22px;
	}
	body.single .article .entry-content h3 {
		font-size: 18px;
	}
}

@media screen and (max-width: 480px) {
	body.single .entry-content .worksInfoTtl p {
		padding: 4px;
	}
	body.single .entry-content .worksInfo {
		padding: 7px 16px;
	}
	body.single .entry-content .worksBefore-after p.worksSummaryTtl {
		margin: 40px 0 16px;
		font-size: 20px;
	}
	body.single .article .entry-content h2 {
		margin: 30px 0 20px;
		font-size: 20px;
	}
}

/* pages_common.cssの見出し共通指定に勝つためh1を付けている */
@media screen and (max-width: 480px) {
	body.single h1.entry-title {
		padding: 20px 0 0 0;
		font-size: 22px;
		line-height: 1.6;
	}
}

/* 本文中の太字 */
.entry-content strong:not([class]),
.entry-content b:not([class]) {
	font-weight: 600;
}
