/*
Theme Name: yStandard Child
Template: ystandard
Version: 1.0.0
*/

/**
 * サイト全体の基本設定
 */
body {
	font-size: 16px;
	position: relative;
}

/**
 * サイト全体の背景画像
 */
body::before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url(image/bg-img.png);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0.5;
	z-index: -1;
	pointer-events: none;
}



/**
 * TOPページのみPC表示時にグローバルナビを非表示にする
 * タブレット・スマホでは表示（ハンバーガーメニュー）
 * その他のページでは全デバイスで表示
 */
@media screen and (min-width: 1024px) {
	/* TOPページのみグローバルナビを非表示 */
	.home .site-header__nav,
	.home .global-nav,
	.home .header-nav,
	.home .y-header__nav {
		display: none !important;
	}
}

/**
 * 不定形に画像をカットするユーティリティクラス
 */

/* 基本の不定形クラス */
.organic-shape {
	position: relative;
	overflow: hidden;
	border-radius: 63% 37% 54% 46% / 55% 48% 52% 45%;
}

.organic-shape img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* アニメーション付き（形状が変化） */
.organic-shape--animated {
	animation: organicMorph 20s ease-in-out infinite;
}

@keyframes organicMorph {
	0%, 100% {
		border-radius: 63% 37% 54% 46% / 55% 48% 52% 45%;
	}
	25% {
		border-radius: 38% 62% 48% 52% / 63% 45% 55% 37%;
	}
	50% {
		border-radius: 52% 48% 60% 40% / 46% 59% 41% 54%;
	}
	75% {
		border-radius: 45% 55% 39% 61% / 52% 38% 62% 48%;
	}
}

/* バリエーション: パターン1 */
.organic-shape--pattern1 {
	border-radius: 38% 62% 48% 52% / 63% 45% 55% 37%;
}

/* バリエーション: パターン2 */
.organic-shape--pattern2 {
	border-radius: 52% 48% 60% 40% / 46% 59% 41% 54%;
}

/* バリエーション: パターン3 */
.organic-shape--pattern3 {
	border-radius: 45% 55% 39% 61% / 52% 38% 62% 48%;
}

/* バリエーション: パターン4（丸みが強い） */
.organic-shape--pattern4 {
	border-radius: 70% 30% 50% 50% / 60% 40% 60% 40%;
}

/* バリエーション: パターン5（横長） */
.organic-shape--pattern5 {
	border-radius: 40% 60% 65% 35% / 50% 50% 50% 50%;
}

/* サイズバリエーション */
.organic-shape--small {
	width: 200px;
	height: 200px;
}

.organic-shape--medium {
	width: 400px;
	height: 400px;
}

.organic-shape--large {
	width: 600px;
	height: 600px;
}

.organic-shape--xlarge {
	width: 800px;
	height: 800px;
}

/* レスポンシブ対応 */
.organic-shape--responsive {
	width: min(50vw, 400px);
	height: min(50vw, 400px);
}

/* 円形に近い不定形 */
.organic-shape--circle {
	border-radius: 48% 52% 50% 50% / 52% 48% 52% 48%;
}

/* 縦長の不定形 */
.organic-shape--vertical {
	border-radius: 50% 50% 40% 60% / 60% 40% 55% 45%;
	height: 150%;
}

/* 横長の不定形 */
.organic-shape--horizontal {
	border-radius: 40% 60% 50% 50% / 50% 50% 65% 35%;
	width: 150%;
	height: auto;
	aspect-ratio: 3 / 2;
}

/**
 * 汎用ユーティリティクラス
 */

/* マージン系 */
.mx-auto {
	margin-left: auto;
	margin-right: auto;
}

.ml-auto {
	margin-left: auto;
}

.mr-auto {
	margin-right: auto;
}

.mt-0 {
	margin-top: 0;
}

.mb-0 {
	margin-bottom: 0;
}

.my-0 {
	margin-top: 0;
	margin-bottom: 0;
}

.mt-10 {
	margin-top: 10px;
}

.mt-20 {
	margin-top: 20px;
}

.mt-30 {
	margin-top: 30px;
}

.mt-40 {
	margin-top: 40px;
}

.mb-10 {
	margin-bottom: 10px;
}

.mb-20 {
	margin-bottom: 20px;
}

.mb-30 {
	margin-bottom: 30px;
}

.mb-40 {
	margin-bottom: 40px;
}

/* ボーダー系 */
.border-top {
	border-top: 1px solid #7a7a76;
}

.border-bottom {
	border-bottom: 1px solid #7a7a76;
}

.border-left {
	border-left: 1px solid #7a7a76;
}

.border-right {
	border-right: 1px solid #7a7a76;
}

.border-all {
	border: 1px solid #7a7a76;
}

/* ボーダー太さバリエーション */
.border-2 {
	border-width: 2px;
}

.border-3 {
	border-width: 3px;
}

/* ボーダー色バリエーション */
.border-light {
	border-color: #eee;
}

.border-dark {
	border-color: #3e3d35;
}

/* パディング系 */
.p-0 {
	padding: 0;
}

.p-10 {
	padding: 10px;
}

.p-20 {
	padding: 20px;
}

.p-30 {
	padding: 30px;
}

.p-40 {
	padding: 40px;
}

.px-10 {
	padding-left: 10px;
	padding-right: 10px;
}

.px-20 {
	padding-left: 20px;
	padding-right: 20px;
}

.py-10 {
	padding-top: 10px;
	padding-bottom: 10px;
}

.py-20 {
	padding-top: 20px;
	padding-bottom: 20px;
}

/* テキスト配置 */
.text-center {
	text-align: center;
}

.text-left {
	text-align: left;
}

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

/* 表示・非表示 */
.d-none {
	display: none;
}

.d-block {
	display: block;
}

.d-flex {
	display: flex;
}

/* Flexbox関連 */
.flex-center {
	display: flex;
	justify-content: center;
	align-items: center;
}

.flex-between {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.flex-column {
	flex-direction: column;
}

/* 幅・高さ */
.w-100 {
	width: 100%;
}

.w-auto {
	width: auto;
}

.h-100 {
	height: 100%;
}

.h-auto {
	height: auto;
}

/* 最大幅 */
.max-w-800 {
	max-width: 800px;
}

.max-w-1000 {
	max-width: 1000px;
}

.max-w-1200 {
	max-width: 1200px;
}

/* レスポンシブ表示切り替え */
@media screen and (max-width: 768px) {
	.d-none-sp {
		display: none;
	}
}

@media screen and (min-width: 769px) {
	.d-none-pc {
		display: none;
	}
}

/* レスポンシブ表示順序反転（Flexbox必須） */
.flex-reverse-sp {
	display: flex;
}

@media screen and (max-width: 768px) {
	.flex-reverse-sp {
		flex-direction: column-reverse;
	}
}

.flex-reverse-tablet {
	display: flex;
}

@media screen and (max-width: 1024px) {
	.flex-reverse-tablet,
	.flex-reverse-tablet > .ystdb-columns {
		flex-direction: column-reverse;
	}
}

/* 横並びの場合の反転 */
.flex-reverse-row-sp {
	display: flex;
}

@media screen and (max-width: 768px) {
	.flex-reverse-row-sp,
	.flex-reverse-row-sp > .ystdb-columns {
		flex-direction: row-reverse;
	}
}

.flex-reverse-row-tablet {
	display: flex;
}

@media screen and (max-width: 1024px) {
	.flex-reverse-row-tablet,
	.flex-reverse-row-tablet > .ystdb-columns {
		flex-direction: row-reverse;
	}
}

/**
 * 地図埋め込み用レスポンシブ対応
 */
.yone-map {
	position: relative;
	width: 100%;
	padding-bottom: 56.25%; /* 16:9のアスペクト比 */
	height: 0;
	overflow: hidden;
}

.yone-map iframe,
.yone-map object,
.yone-map embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* タブレット表示 */
@media screen and (max-width: 1024px) {
	.yone-map {
		padding-bottom: 60%; /* タブレットでは少し縦長に */
	}
}

/* スマホ表示 */
@media screen and (max-width: 768px) {
	.yone-map {
		padding-bottom: 75%; /* スマホではさらに縦長に（4:3に近い） */
	}
}

/**
 * アーカイブページ用スタイル
 */

/* yStandardデフォルトのアーカイブヘッダーを非表示（KVで代替） */
.post-type-archive-works .archive__header,
.post-type-archive-works .archive__dscr,
.post-type-archive-voices .archive__header,
.post-type-archive-voices .archive__dscr,
.post-type-archive-faq .archive__header,
.post-type-archive-faq .archive__dscr,
.blog .archive__header,
.blog .archive__dscr {
	display: none;
}

/* アーカイブヘッダー */
.archive-header {
	text-align: center;
	margin-bottom: 60px;
}

/* 縦書きタイトル（PC表示のみ） */
@media screen and (min-width: 1024px) {
	.archive-title--vertical {
		writing-mode: vertical-rl;
		text-orientation: upright;
		margin: 0 auto 40px;
		display: inline-block;
		font-size: 32px;
		font-weight: 700;
		letter-spacing: 0.1em;
		padding: 20px 0;
		color: #3e3d35;
	}
}

/* タブレット・スマホでは横書き */
@media screen and (max-width: 1023px) {
	.archive-title--vertical {
		font-size: 28px;
		font-weight: 700;
		margin: 0 0 20px 0;
		color: #3e3d35;
	}
}

.archive-lead {
	font-size: 16px;
	line-height: 1.8;
	color: #666;
	margin: 0;
}

/* 準備中メッセージ */
.no-posts {
	text-align: center;
	padding: 60px 20px;
	font-size: 16px;
	color: #666;
}

/**
 * 施工事例アーカイブ用スタイル
 */
.yonekou-service-archive {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	padding: 40px 0;
}

.yonekou-service-archive__grid {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.yonekou-service-archive-item__container {
	display: flex;
	gap: 30px;
	border-bottom: 1px solid #e0e0e0;
	padding-bottom: 40px;
}

/* 1件のみの場合はボーダーを非表示 */
.yonekou-service-archive-item:only-child .yonekou-service-archive-item__container {
	border-bottom: none;
	padding-bottom: 0;
}

/* 最後のアイテムはボーダーを非表示 */
.yonekou-service-archive-item:last-child .yonekou-service-archive-item__container {
	border-bottom: none;
	padding-bottom: 0;
}

.yonekou-service-archive-item__image {
	flex-shrink: 0;
	width: 300px;
	aspect-ratio: 16 / 9;
	border-radius: 8px;
	overflow: hidden;
	background: #f0f0f0;
}

.yonekou-service-archive-item__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.yonekou-service-archive-item__image--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
}

.yonekou-service-archive-item__no-image {
	color: #999;
	font-size: 14px;
}

.yonekou-service-archive-item__content {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.entry-content .yonekou-service-archive-item__title,
.yonekou-service-archive-item__title {
	font-size: 22px;
	font-weight: 700;
	margin: 0;
	line-height: 1.5;
	color: #3e3d35;
}

.yonekou-service-archive-item__text {
	font-size: 15px;
	line-height: 1.8;
	color: #666;
	flex: 1;
}

.yonekou-service-archive-item__content .yonekou-btn-outline {
	align-self: flex-end;
	padding: 0.5em 1.5em;
}

/**
 * FAQアーカイブ用スタイル
 */
.yonekou-faq-archive {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}

.yonekou-faq-category-section {
	margin-bottom: 60px;
}

.yonekou-faq-category-section:last-child {
	margin-bottom: 0;
}

.entry-content .yonekou-faq-category-title,
.yonekou-faq-category-title {
	font-size: 24px;
	font-weight: 700;
	margin: 0 0 30px 0;
	padding-bottom: 15px;
	border-bottom: 2px solid #0e8faa;
	color: #3e3d35;
}

.yonekou-faq-list--archive {
	gap: 40px;
}

.yonekou-faq-empty {
	text-align: center;
	padding: 40px 20px;
	font-size: 15px;
	color: #999;
}

/**
 * お客様の声アーカイブ用スタイル
 */
.yonekou-customer-voices--archive {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}

.yonekou-customer-voice__title {
	margin: 0 0 .25em;
}

.yonekou-customer-voice__customer {
	font-size: inherit;
	margin: 0;
}

/* レスポンシブ対応 */
@media screen and (max-width: 1024px) {
	.archive-header {
		margin-bottom: 40px;
	}

	.archive-lead {
		font-size: 15px;
	}

	.yonekou-service-archive__grid {
		gap: 30px;
	}

	.yonekou-service-archive-item__container {
		gap: 20px;
		padding-bottom: 30px;
	}

	.yonekou-service-archive-item__image {
		width: 250px;
	}

	.yonekou-service-archive-item__title {
		font-size: 20px;
	}

	.yonekou-service-archive-item__text {
		font-size: 14px;
	}

	.yonekou-faq-category-section {
		margin-bottom: 50px;
	}

	.yonekou-faq-category-title {
		font-size: 22px;
		margin-bottom: 25px;
	}

	.yonekou-faq-list--archive {
		gap: 30px;
	}
}

@media screen and (max-width: 768px) {
	.archive-header {
		margin-bottom: 30px;
	}

	.archive-title--vertical {
		font-size: 24px;
	}

	.archive-lead {
		font-size: 14px;
	}

	.yonekou-service-archive__grid {
		gap: 25px;
	}

	.yonekou-service-archive-item__container {
		flex-direction: column;
		gap: 15px;
		padding-bottom: 25px;
	}

	.yonekou-service-archive-item__image {
		width: 100%;
	}

	.yonekou-service-archive-item__content {
		gap: 12px;
	}

	.yonekou-service-archive-item__title {
		font-size: 18px;
	}

	.yonekou-service-archive-item__text {
		font-size: 14px;
	}

	.yonekou-faq-category-section {
		margin-bottom: 40px;
	}

	.yonekou-faq-category-title {
		font-size: 20px;
		margin-bottom: 20px;
		padding-bottom: 12px;
	}

	.yonekou-faq-list--archive {
		gap: 25px;
	}
}

/**
 * サブフッタースタイル調整
 */
/* PC表示: 画像とコンテンツに適切な間隔を設定 */
@media screen and (min-width: 1025px) {
	.footer-sub__content .ystdb-columns {
		gap: 40px;
	}
}

/**
 * ページKVセクション
 * 左にテキスト、右に不定形画像の2カラムレイアウト
 */
.page-kv {
	position: relative;
	width: 100%;
	margin-bottom: 80px;
}

.page-kv__container {
	width: 75%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-direction: row-reverse;
}

/* コンテンツエリア */
.page-kv__content {
	width: 35.5%;
}

/* タイトル */
.page-kv__title {
	font-size: 36px;
	font-weight: 700;
	margin: 0;
	color: #3e3d35;
	letter-spacing: 0.1em;
}

/* リード文 */
.page-kv__description {
	font-size: 20px;
	line-height: 1.8;
	margin: 30px 0 0 0;
}

/* 画像エリア（右側） */
.page-kv__image-wrapper {
	flex-shrink: 0;
	width: 80%;
	max-width: 500px;
}

.page-kv__image {
	width: 100%;
	aspect-ratio: 1 / 1;
}

.page-kv__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}


.page-kv:not(.page-kv--has-image) .page-kv__content {
	text-align: center;
	max-width: 800px;
}

/* タブレット表示 */
@media screen and (max-width: 1024px) {

	.page-kv__container {
		width: 86.4vw;
        max-width: 100%;
		flex-direction: column;
	}

	.page-kv__content {
		width: 100%;
		margin-top: -8vw;
	}

	.page-kv__title {
		font-size: 30px;
	}

	.page-kv__description {
		margin-top: 20px;
	}

	.page-kv__image-wrapper {
		width: 56.4%;
		margin-right: -4vw;
	}
}

/* スマホ表示 */
@media screen and (max-width: 768px) {
	.page-kv {
		margin-bottom: 40px;
	}

	.page-kv__container {
		padding: 0;
		flex-direction: column;
	}

	.page-kv__content {
		width: 100%;
		margin-top: 0;
	}

	.page-kv__title {
		font-size: 24px;
		letter-spacing: 0.05em;
	}

	.page-kv__description {
		font-size: 14px;
		margin-top: 15px;
	}

	.page-kv__image-wrapper {
		width: 56.4vw;
		max-width: 300px;
		margin-right: -4vw;
	}
}

/**
 * お知らせアーカイブスタイル
 */
.yonekou-news-archive {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	padding-bottom: 80px;
}

.yonekou-news-archive__list {
	display: flex;
	flex-direction: column;
}

.yonekou-news-archive-item {
	border-bottom: 1px solid #e0e0e0;
}

/* 1件のみの場合はボーダーを非表示 */
.yonekou-news-archive-item:only-child {
	border-bottom: none;
}

/* 最後のアイテムはボーダーを非表示 */
.yonekou-news-archive-item:last-child {
	border-bottom: none;
}

.yonekou-news-archive-item__link {
	display: block;
	padding: 20px 10px;
	text-decoration: none;
	color: inherit;
	transition: background-color 0.3s ease;
}

.yonekou-news-archive-item__link:hover {
	background-color: #f9f9f6;
}

.yonekou-news-archive-item__meta {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-bottom: 8px;
}

.yonekou-news-archive-item__date {
	font-size: 14px;
	color: #999;
}

.yonekou-news-archive-item__category {
	display: inline-block;
	font-size: 12px;
	color: #fff;
	background-color: #7a7a76;
	padding: 2px 12px;
	border-radius: 3px;
}

.yonekou-news-archive-item__title {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
	color: #3e3d35;
	margin: 0;
}

/* カテゴリ別セクション */
.yonekou-news-category-section {
	margin-top: 60px;
}

.yonekou-news-category-section:first-child {
	margin-top: 0;
}

.entry-content .yonekou-news-category-title,
.yonekou-news-category-title {
	font-size: 24px;
	font-weight: 700;
	margin: 0 0 30px 0;
	padding-bottom: 15px;
	border-bottom: 2px solid #0e8faa;
	color: #3e3d35;
}

/* スマホ表示 */
@media screen and (max-width: 768px) {
	.yonekou-news-category-section {
		margin-top: 40px;
	}

	.yonekou-news-category-title {
		font-size: 20px;
		margin-bottom: 20px;
		padding-bottom: 12px;
	}

	.yonekou-news-archive-item__link {
		padding: 15px 5px;
	}

	.yonekou-news-archive-item__meta {
		gap: 10px;
		margin-bottom: 6px;
	}

	.yonekou-news-archive-item__date {
		font-size: 13px;
	}

	.yonekou-news-archive-item__category {
		font-size: 11px;
		padding: 2px 10px;
	}

	.yonekou-news-archive-item__title {
		font-size: 15px;
	}
}

/**
 * オリジナルアウトラインボタン
 */
.yonekou-btn-outline {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 0.5em 1.5em;
	border: 1px solid currentColor;
	border-radius: 100px;
	background: transparent;
	color: inherit;
	text-decoration: none;
	font-size: 15px;
	line-height: 1.5;
	transition: box-shadow 0.3s ease, background-color 0.3s ease;
	cursor: pointer;
}

.yonekou-btn-outline:hover {
	box-shadow: var(--ystd-button-box-shadow);
	text-decoration: none;
	color: inherit;
}

.yonekou-btn-outline__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1em;
	height: 1em;
}

.yonekou-btn-outline__icon svg {
	width: 100%;
	height: 100%;
}

/**
 * サービス詳細ページのFAQセクション
 */
.service-faq-section {
	border-top: 1px solid #e0e0e0;
}

.service-faq-section__title {
	font-size: 28px;
	font-weight: 700;
	margin: 0 0 40px 0;
	color: #3e3d35;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.service-faq-section {
		margin-top: 50px;
		padding-top: 40px;
	}

	.service-faq-section__title {
		font-size: 24px;
		margin-bottom: 30px;
	}
}

/**
 * ページネーション
 */
.pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 40px;
	padding: 20px 0;
}

.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	color: #333;
	background-color: #fff;
	border: 1px solid #ddd;
	border-radius: 4px;
	transition: all 0.3s ease;
}

.pagination .page-numbers:hover {
	color: #0e8faa;
	border-color: #0e8faa;
	background-color: #f8f8f8;
}

.pagination .page-numbers.current {
	color: #fff;
	background-color: #0e8faa;
	border-color: #0e8faa;
}

.pagination .page-numbers.dots {
	border: none;
	background: transparent;
	min-width: auto;
	padding: 0 4px;
}

.pagination .page-numbers.prev,
.pagination .page-numbers.next {
	padding: 0 16px;
}

/* カテゴリ別ページネーション */
.pagination--category {
	margin-top: 20px;
	padding: 10px 0;
}

.pagination--category .page-numbers {
	min-width: 36px;
	height: 36px;
	font-size: 13px;
}

@media screen and (max-width: 768px) {
	.pagination {
		gap: 6px;
		margin-top: 30px;
	}

	.pagination .page-numbers {
		min-width: 36px;
		height: 36px;
		padding: 0 10px;
		font-size: 13px;
	}

	.pagination .page-numbers.prev,
	.pagination .page-numbers.next {
		padding: 0 12px;
	}
}

/**
 * 一覧へ戻るボタン
 */
.back-to-list {
	display: flex;
	justify-content: flex-end;
	margin-top: 60px;
	padding-top: 40px;
	border-top: 1px solid #e0e0e0;
}

.back-to-list__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0.5em 1.5em;
	border: 1px solid currentColor;
	border-radius: 100px;
	background: transparent;
	color: inherit;
	text-decoration: none;
	font-size: 15px;
	line-height: 1.5;
	transition: box-shadow 0.3s ease, background-color 0.3s ease;
}

.back-to-list__link:hover {
	box-shadow: var(--ystd-button-box-shadow);
	text-decoration: none;
	color: inherit;
}

.back-to-list__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1em;
	height: 1em;
}

.back-to-list__icon svg {
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 768px) {
	.back-to-list {
		margin-top: 40px;
		padding-top: 30px;
	}
}

/**
 * ヘッダーロゴ レスポンシブ対応
 * PC: 180px / タブレット・SP: デフォルト
 */

/* ロゴにtransitionを追加（滑らかなサイズ変化） */
.site-header .custom-logo {
	transition: width 0.3s ease;
}

/* PC (1024px以上) */
@media screen and (min-width: 1024px) {
	/* ヘッダーとその親要素のoverflowをvisibleに */
	.site-header,
	.site-header .container,
	.site-header .site-header__content {
		overflow: visible;
	}

	.site-header {
		position: relative;
	}

	/* ロゴエリアをabsoluteで配置（上端から配置） */
	.site-header .site-branding {
		position: absolute;
		left: 20px;
		top: 0;
		z-index: 10;
	}

	/* ロゴ画像を大きく */
	.site-header .site-title {
		margin: 0;
	}

	.site-header .site-title a,
	.site-header .custom-logo-link {
		display: flex;
		align-items: center;
		gap: 12px;
	}

	.site-header .custom-logo {
		width: 100px;
		height: auto;
		max-height: none;
	}
}

/**
 * TOPページKV内テキストにtext-stroke追加
 */
.home .yonekou-kv-section__content {
	-webkit-text-stroke: 2px #fff;
	text-stroke: 2px #fff;
	paint-order: stroke fill;
}

/**
 * TOPページKVのグローバルナビにtext-shadow追加
 */
.home .yonekou-kv-section__menu {
	text-shadow: 0 0 8px rgba(255, 255, 255, 0.8),
	             0 0 16px rgba(255, 255, 255, 0.6),
	             0 0 24px rgba(255, 255, 255, 0.4);
}

/* ドロワーメニュー（ハンバーガーメニュー）はtext-strokeを無効化 */
.drawer-menu,
.drawer-menu__content {
	-webkit-text-stroke: 0;
	text-stroke: 0;
}

/**
 * メインコンテンツ・KV・各種要素の背景色を削除
 */
.site-main,
.content__wrap,
.entry-content,
.page-kv,
.yonekou-kv-section,
.yonekou-service-card,
.yonekou-case-carousel__slider,
.site-header,
.wp-block-button__link,
.ystdb-button__link {
	background-color: transparent !important;
}

/**
 * サブフッター・フッターの背景色を透過30%に設定
 */
.footer-sub {
	background-color: rgba(228, 229, 226, 0.3) !important;
}

.footer-main,
.site-footer {
	background-color: rgba(228, 229, 226, 0.3) !important;
}
