@charset "UTF-8";
/*
Theme Name: ACTIVE CARSHOP
Description: Content Specific Styles (Sections, Posts, Pages)
Version: 1.7.9
*/

/* ==========================================================================
	1. アクセスマップ (Access Map Section)
========================================================================== */
#access {
	padding: 0;
	width: 100%;
	overflow: hidden;
	background: transparent;
}
.access-container {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}
.access-info,
.access-map {
	width: 50%;
	height: 450px;
	box-sizing: border-box;
	position: relative;
}
.access-info {
	display: flex;
	overflow: hidden;
	position: relative;
	color: #FFF;
	align-items: center;
	justify-content: center;
}
.access-info-bg {
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	background-image: url('assets/images/footer-access-info.jpg');
	background-position: center;
	background-size: cover;
	filter: brightness(0.2);
}
.webp .access-info-bg {
	background-image: url('assets/images/footer-access-info.webp');
}
.access-content {
	padding: 2rem;
	position: relative;
	z-index: 2;
	text-align: center;
}
.access-block {
	margin-bottom: 2rem;
}
.access-block:last-child {
	margin-bottom: 0;
}
.access-block h3 {
	margin-bottom: 0.5rem;
	font-family: var(--font-en);
	font-size: 1.4rem;
	color: var(--color-primary);
	letter-spacing: 0.1em;
}
.access-block p,
.access-block address {
	margin-bottom: 0;
	font-size: 1rem;
	font-style: normal;
	line-height: 1.6;
}
.access-phone {
	font-size: 1.8rem !important;
	font-weight: 700;
	line-height: 1 !important;
}
.access-map iframe {
	width: 100%;
	height: 100%;
	display: block;
}

/* ==========================================================================
	2. 下層ページ共通 (Header, Sidebar, Layout)
========================================================================== */
.sub-page-header {
	margin-bottom: .5rem;
	padding-top: var(--header-h);
	width: 100%;
	height: 450px;
	display: grid;
	position: relative;
	color: rgba(255, 255, 255, 0.4);
	background-color: var(--color-secondary);
	background-image: url('assets/images/header/default-header.jpg');
	background-position: right center;
	background-size: cover;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr;
	align-items: end;
}
.webp .sub-page-header {
	background-image: url('assets/images/header/default-header.webp');
}
body.category-activeblog .sub-page-header,
body.single-post .sub-page-header {
	background-image: url('assets/images/header/header-post.jpg');
	background-position: left center;
}
.webp body.category-activeblog .sub-page-header,
.webp body.single-post .sub-page-header {
	background-image: url('assets/images/header/header-post.webp');
	background-position: left center;
}
body.post-type-archive-topics .sub-page-header,
body.single-topics .sub-page-header {
	background-image: url('assets/images/header/header-topics.jpg');
	background-position: left center;
}
.webp body.post-type-archive-topics .sub-page-header,
.webp body.single-topics .sub-page-header {
	background-image: url('assets/images/header/header-topics.jpg');
	background-position: left center;
}
/*body.tax-classification .sub-page-header,
body.single-works .sub-page-header {
	background-image: url('assets/images/header/header-works.jpg') !important;
	background-position: right center;
}
.webp body.tax-classification .sub-page-header,
.webp body.single-works .sub-page-header {
	background-image: url('assets/images/header/header-works.webp') !important;
	background-position: right center;
}*/
.sub-page-header::before {
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	content: '';
	background: rgba(0, 0, 0, 0.7);
}
.sub-page-header .en-title,
.sub-page-header .jp-sub {
	margin: 0;
	position: relative;
	z-index: 2;
	text-align: left;
	grid-column: 1 / 2;
	grid-row: 1 / 2;
	justify-self: start;
}
.sub-page-header .en-title {
	margin-bottom: 0 !important;
	padding-left: 15px;
	font-size: clamp(2.8rem, 12vw, 12rem);
	line-height: 1;
	color: var(--color-primary);
	pointer-events: none;
	opacity: 0.5 !important;
}
.sub-page-header .jp-sub {
	margin-bottom: 35px !important;
	margin-left: 30px;
	z-index: 3;
	font-size: clamp(0.95rem, 1.5vw, 1.1rem);
	color: var(--color-white);
	letter-spacing: 0.1em;
}
.page-layout {
	display: flex;
	gap: 40px;
	align-items: flex-start;
}
.sidebar {
	width: 25%;
	flex-shrink: 0;
}
.main-content {
	width: calc(75% - 40px);
	flex-grow: 1;
}
.sidebar-block {
	margin-bottom: 2.5rem;
}
.sidebar-title {
	margin-bottom: 1rem;
	padding-bottom: 10px;
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--color-dark);
	border-bottom: 2px solid var(--color-primary);
}
.term-list,
.category-list,
.new-post {
	margin: 0;
	padding: 0;
	list-style: none;
}
.term-list li,
.category-list li,
.new-post li {
	margin-bottom: 0.5rem;
	border-bottom: 1px dashed #DDD;
}
li.child-category {
	padding-left: 1em;
}
.term-list li:last-child,
.category-list li:last-child,
.new-post li:last-child {
	border-bottom: none;
}
.term-list a,
.category-list a,
.new-post a {
	padding: 0.5rem 0;
	display: block;
	font-size: 0.95rem;
	color: var(--color-dark);
	text-decoration: none;
	transition: color 0.3s;
}
.term-list a:hover,
.category-list a:hover,
.new-post a:hover {
	color: var(--color-primary);
}
.term-list a::before,
.category-list a::before,
.new-post a::before {
	margin-right: 8px;
	width: 6px;
	height: 10px;
	display: inline-block;
	content: '';
	vertical-align: baseline;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%23BF0008' d='M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.pc-only {
	display: block;
}
.sp-only {
	display: none;
}
.sidebar-select {
	padding: 12px 15px;
	width: 100%;
	cursor: pointer;
	font-size: 1rem;
	color: var(--color-dark);
	border: 1px solid #DDD;
	border-radius: 4px;
	outline: none;
	background-color: #F9F9F9;
	background-image: url('data:image/svg+xml;charset=UTF-8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"%3E%3Cpath fill="%23252525" d="M10.293 3.293L6 7.586 1.707 3.293A1 1 0 00.293 4.707l5 5a1 1 0 001.414 0l5-5a1 1 0 10-1.414-1.414z"/%3E%3C/svg%3E');
	background-repeat: no-repeat;
	background-position: right 15px center;
	background-size: 12px;
	appearance: none;
	-webkit-appearance: none;
}
@media screen and (min-width: 901px) {
	.sidebar-title {
		height: 36px;
		display: flex;
		line-height: 1;
		align-items: flex-end;
	}
	.works-list-header {
		height: 36px;
		line-height: 1;
		align-items: flex-end;
	}
}

/* ==========================================================================
	3. ニュース・ブログ アーカイブ一覧 (Archive List)
========================================================================== */
.archive-list .news-item {
	padding: 25px 0;
	display: flex;
	border-bottom: 1px solid #DDD;
	align-items: flex-start;
	gap: 30px;
}
.archive-list .news-item:first-child {
	border-top: 1px solid #DDD;
}
.archive-list .news-thumb {
	width: 200px; /* サムネイルを大きめに設定 */
	flex-shrink: 0;
}
.archive-list .news-thumb a {
	display: block;
}
.archive-list .news-thumb img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 4px;
	transition: opacity 0.3s;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.archive-list .news-thumb a:hover img {
	opacity: 0.8;
}
.archive-list .news-text {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}
.archive-list .news-meta {
	margin-bottom: 12px;
	display: block;
}
.archive-list .news-date {
	margin-bottom: 8px;
	display: block;
	font-family: var(--font-en), var(--font-jp);
	font-size: 1rem;
	font-weight: 700;
	color: var(--color-gray);
	letter-spacing: 0.05em;
}
.archive-list .news-cat {
	padding: 4px 16px;
	display: inline-block;
	font-size: 0.75rem;
	color: #FFF !important;
	text-decoration: none;
	border-radius: 50px;
	background-color: var(--color-info);
	transition: background-color 0.3s;
}
.archive-list .news-cat:hover {
	background-color: var(--color-primary);
}
.archive-list .news-title {
	margin: 0 !important;
	font-size: 1.15rem;
	font-weight: 400;
	line-height: 1.5;
}
.archive-list .news-title a {
	color: var(--color-dark);
	text-decoration: none;
	transition: color 0.3s;
}
.archive-list .news-title a:hover {
	color: var(--color-link);
}

@media screen and (max-width: 900px) {
	.archive-list .news-item {
		padding: 20px 0;
		flex-direction: column;
		gap: 15px;
	}
	.archive-list .news-thumb {
		width: 100%;
	}
}

/* ==========================================================================
	4. 実績一覧・詳細 (Works List & Gallery)
========================================================================== */
.works-list {
	margin-top: 0;
}
.works-list-header {
	padding: 0 0 10px 0;
	display: grid;
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--color-dark);
	border-bottom: 2px solid var(--color-primary);
	grid-template-columns: 180px minmax(0, 1.5fr) minmax(0, 1.2fr) minmax(0, 2.3fr);
	gap: 20px;
}
.works-list-link {
	padding: 20px 0;
	display: grid;
	color: var(--color-dark);
	border-bottom: 1px solid #DDD;
	transition: background-color 0.3s;
	grid-template-columns: 180px minmax(0, 1.5fr) minmax(0, 1.2fr) minmax(0, 2.3fr);
	gap: 20px;
	align-items: center;
}
.works-list-link:hover {
	background-color: #F9F9F9;
}
.works-list-thumb {
	width: 100%;
}
.works-list-thumb img {
	width: 100%;
	display: block;
	border-radius: 4px;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.works-list-label {
	display: none;
}
.works-list-model .works-list-text {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.4;
}
.works-list-desc .works-list-text {
	font-size: 0.85rem;
	line-height: 1.5;
}
.works-terms-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}
.works-list-service .term-badge {
	margin-bottom: 0.25rem;
	padding: 4px 12px;
	display: inline-block;
	font-size: 0.8rem;
	font-weight: 400;
	color: #FFF !important;
	white-space: normal;
	text-decoration: none;
	border-radius: 50px;
	background: var(--color-info);
	transition: background 0.3s;
}
.works-list-service a.term-badge:hover {
	background: var(--color-primary);
}
.entry-header {
	margin-bottom: 2rem !important;
	text-align: left !important;
}
.entry-header .entry-title {
	margin-bottom: 0;
	padding: 1rem 5rem 1rem 1.5rem;
	display: block;
	font-size: clamp(1.6rem, 5vw, 1.8rem);
	color: #FFF;
	text-align: left;
	letter-spacing: 0.05em;
	border-radius: 4px;
	background-color: var(--color-secondary);
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1099.4 178.07'%3E%3Cg transform='scale(-1, 1) translate(-1099.4, 0)'%3E%3Cpath fill='%23FFFFFFBF' d='M947.83,102.87c-69.14-11.19-138.22-11.57-208.03-7.78C652.1,40.41,557.39,10.88,453.52,12.1c-40.28-.03-79.24,4.54-118.94,11.37-60.52,10.41-119.48,24.11-178.89,40.01l-96.11,9.91c-4.96.51-9.16,1.08-14.15.41l108.91-12.52c44.48-13.47,88.2-25.3,133.27-35.91C346.3,11.56,406.06.2,466.56.09c104.67-1.97,197.81,27.62,287.86,79.03,46.58.04,91.97,2.24,137.95,8.31,36.61,4.83,71.69,11.96,107.49,20.19,33.73,8.93,68.8,18.83,96.15,41.13l-.27,1.55c-37.99-30-101.28-39.26-147.92-47.42Z'/%3E%3Cpath fill='%23FFFFFFBF' d='M616.45,62.82c25.52,4.31,69.2,15.07,85.62,36.82l-12.51-.28c-3.44-.08-6.93,1.8-7.92,5.66l25.15,3.74-40.45,1.2c-73.53,2.17-199.1-4.99-273.14-14.39-36.78-4.67-71.8-12.73-107.32-26.73l34.82-14.47c56.94-23.67,141.22-41.88,203.02-32.04-2.3,1.69-5.36.1-8.32,0-65.61-2.04-135.49,20.04-194.37,49.4,30.92,5.63,60.09,8.92,90.56,11.22l125.99,9.49,132.36,11.39c-14.35-11.71-56.15-9.55-60.39-24.7-1.8-6.44,1.57-11.67,6.9-16.31Z'/%3E%3Cpath fill='%23FFFFFFBF' d='M896.7,113.69c-49.79,3.76-97.93,7.6-146.71,15.9l-74.4,12.84c-94.94,16.74-188.02,11.85-283.28-.86-50.38-8.89-99.88-18.16-149.03-31.2l154.79,20.43c48.66,4.2,96.46,6.64,145.39,6.59,41.29.03,81.11-2.72,121.82-8.41l66.72-9.32c54.81-7.65,109.8-9.98,164.7-5.98Z'/%3E%3Cpath fill='%23FFFFFFBF' d='M988.68,155.34c-46.23-17.16-106.57-11.3-143.3,22.74,31.28-46.16,91.28-63.67,141.07-35.85,15.53,8.68,28.68,20.09,38.87,35.4-10.92-9.35-22.26-16.86-36.64-22.29Z'/%3E%3Cpath fill='%23FFFFFFBF' d='M94.95,112.55c-15.91,9.03-66.54,9.41-86.01,3.54l50.98-10.42c-20.71-3.93-39.68-5.81-59.92-11.88,21.96-4.4,73.63-5.48,93.51,2.29,3.04,1.19,5.57,5.04,5.83,7.74.3,3.01-1.48,7.08-4.39,8.74Z'/%3E%3Cpath fill='%23FFFFFFBF' d='M282.58,174.12c-41.81-38.63-122.4-38.28-163.18.83,28.37-42.02,82.64-58.39,128.03-32.9,14.2,7.97,26.13,18.57,35.15,32.07Z'/%3E%3Cpath fill='%23FFFFFFBF' d='M1087.34,155.13c4.76,3.25,14.96,12.4,11.28,17.99-.88,1.35-3.85,2.3-6.11,2.77-8.5-.93-15.22-4.78-21.85-10.06-16.05-17.86-36.19-29.35-58.61-38.74,27.61,3.08,52.81,13.29,75.29,28.03Z'/%3E%3C/g%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1.5rem center;
	background-size: 3.5em auto;
}
.works-terms {
	margin-top: 1rem;
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	justify-content: flex-start;
}
.works-term-badge {
	padding: 6px 16px;
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 400;
	color: #FFF !important;
	text-decoration: none;
	border-radius: 50px;
	background: var(--color-info);
	transition: background 0.3s;
}
a.works-term-badge:hover {
	background: var(--color-primary);
}

/* ==========================================================================
	5. ブロックエディタ要素 (Block Editor Elements)
========================================================================== */
.entry-content .wp-block-image img {
	border-radius: 6px;
}
.wp-block-gallery {
	margin-bottom: 1.5rem;
}
.wp-block-gallery.has-nested-images figure.wp-block-image {
	flex-grow: 0;
}
.wp-block-gallery.has-nested-images figure.wp-block-image img {
	border-radius: 6px;
	aspect-ratio: 4 / 3;
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	padding: .5rem .2rem .5rem;
}
.wp-element-caption {
	font-size: .8rem !important;
	line-height: 1.3;
	color: #505050;
}
.entry-content.entry-post .wp-block-image + p {
	margin-top: 1rem !important;
}
.entry-content.entry-post .wp-block-image + .wp-block-image {
	margin-top: 1rem !important;
}
.entry-content .wp-block-column img {
	width: 100%;
	height: auto;
}
.entry-content.entry-post .wp-block-columns {
	margin-bottom: 1rem;
}
.entry-content.entry-post img,
.entry-content.entry-post .wp-block-image img,
.entry-content.entry-post .wp-block-column img,
.entry-content.entry-post .wp-block-heading img {
	width: auto !important;
	height: auto;
}
.wp-block-image.img-pic img {
	width: auto !important;
	height: auto;
}
/* ==========================================================================
	実績ギャラリーのスタイル（絶対に崩れない固定版）
========================================================================== */
.works-photogallery {
	margin: 2rem 0 3rem;
	padding: 2rem;
	border: 1px solid #E9ECEF;
	border-radius: 8px;
	background: #F8F9FA;
}
.works-photogallery .main-image {
	margin-bottom: 1rem;
	border-radius: 6px;
	box-shadow: 0 5px 20px rgba(0,0,0,0.1);
}
.works-photogallery .main-image img {
	width: 100% !important;
	height: auto !important;
	display: block;
	border-radius: 6px;
}
.works-photogallery > p.mb-1 {
	margin: 0 0 1.5rem !important;
	text-align: center;
}
.works-photogallery > p.mb-1 small {
	padding: 6px 20px;
	display: inline-block;
	color: var(--color-gray);
	border: 1px solid #DDD;
	border-radius: 50px;
	background: #FFF;
	box-shadow: 0 2px 5px rgba(0,0,0,0.02);
}
.works-photogallery .sub-image {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 15px;
	align-items: start;
}
.works-photogallery .thumbnail-wrap {
	width: 100%;
	display: block;
}
.works-photogallery .thumbnail {
	width: 100%;
	overflow: hidden;
	position: relative;
	cursor: pointer;
	border: 2px solid transparent;
	border-radius: 4px;
	opacity: 0.7;
	transition: all 0.3s ease;
	aspect-ratio: 4 / 3;
}
.works-photogallery .thumbnail:hover,
.works-photogallery .thumbnail.is-active {
	border-color: var(--color-primary);
	box-shadow: 0 4px 10px rgba(0,0,0,0.15);
	opacity: 1;
	transform: translateY(-2px);
}
.works-photogallery .thumbnail img {
	width: 100% !important;
	height: 100% !important;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
}
.works-photogallery .thumbnail.no-image {
	display: flex;
	cursor: default;
	border: 2px dashed #CED4DA;
	background-color: #E9ECEF;
	opacity: 0.6;
	align-items: center;
	justify-content: center;
}
.works-photogallery .thumbnail.no-image:hover {
	border-color: #CED4DA;
	box-shadow: none;
	transform: none;
}
.works-photogallery .thumbnail.no-image span {
	font-size: 0.85rem;
	font-weight: 700;
	color: #ADB5BD;
	letter-spacing: 0.05em;
}
.works-photogallery .thumbnail-caption {
	margin: 0.5rem 0 0 !important;
	height: 3em !important;
	display: -webkit-box;
	overflow: hidden;
	font-size: 0.75rem;
	line-height: 1.5;
	color: var(--color-dark);
	text-align: left;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.entry-content.entry-post .works-photogallery .main-image img {
	width: 100% !important;
	height: auto !important;
	border-radius: 6px;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.entry-content.entry-post .works-photogallery .thumbnail img {
	width: 100% !important;
	height: 100% !important;
}
/* スマホ表示の時はダミー枠を非表示にする */
@media screen and (max-width: 900px) {
	.works-photogallery {
		padding: 1rem;
	}
	.works-photogallery > p.mb-1 small {
		padding: 6px 10px;
		display: block;
	}
	.works-photogallery .empty-thumb {
		display: none !important;
	}
	.works-photogallery .thumbnail-caption {
		height: auto !important;
	}
	.works-photogallery .thumbnail-caption:empty {
		display: none !important;
		margin: 0 !important;
	}
}
/* ==========================================================================
	6. サービス・固定ページ (Service / Custom Sections)
========================================================================== */
.service-page-intro {
	margin-bottom: 4rem;
	padding: 3rem 2rem;
	text-align: center;
	border-radius: 6px;
	background: #F9F9F9;
}
.service-page-intro p {
	font-size: 1.05rem;
	line-height: 1.8;
}
.service-page-block {
	margin-bottom: 5rem !important;
}
@media screen and (min-width: 901px) {
	.service-page-block.reverse .wp-block-column:first-child {
		order: 2;
	}
	.service-page-block.reverse .wp-block-column:last-child {
		order: 1;
	}
}
.service-page-block h3 {
	margin-bottom: 20px;
	padding-bottom: 10px;
	font-size: 1.8rem;
	color: var(--color-dark);
	border-bottom: 2px solid var(--color-primary);
}
.service-page-block .catch {
	margin-bottom: 15px;
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--color-primary);
}
.service-page-block ul.service-list {
	margin-bottom: 20px;
	padding-left: 0;
	list-style: none;
}
.service-page-block ul.service-list li {
	margin-bottom: 8px;
	padding-left: 1.5rem;
	position: relative;
}
.service-page-block ul.service-list li::before {
	width: 6px;
	height: 10px;
	position: absolute;
	top: 8px;
	left: 0;
	content: '';
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%23BF0008' d='M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.service-page-block .wp-block-image img {
	border-radius: 6px;
	box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}
.page-main-content {
	padding: 0;
}
.entry-content {
	margin: 0;
}
.entry-content::before {
	margin-bottom: -70vh;
	width: 100vw;
	height: 70vh;
	display: block;
	position: -webkit-sticky;
	position: sticky;
	z-index: 9000;
	top: 15vh;
	left: calc(50% - 50vw);
	content: '';
	pointer-events: none;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 101.1 437.5'%3E%3Cstyle%3E.cls-1%7Bfill:%23202020;%7D%3C/style%3E%3Cpath class='cls-1' d='M33.15,32.38l-23.39-10.26.05,10.96H1.93V0h7.88v9.85l91.28,42.37v13.38L9.81,107.78v11.15H1.93v-36.98h7.88l.03,12.55,23.31-10.98v-51.14ZM88.79,57.61l-47.16-21.49v43.49l47.16-22Z'/%3E%3Cpath class='cls-1' d='M51.74,180.65c4.76-6.44,7.14-13.51,7.14-21.18,0-8.67-2.43-15.67-7.3-21-4.87-5.33-10.89-7.99-18.04-7.99s-12.9,2.62-17.82,7.89c-4.92,5.27-7.38,12.17-7.38,20.72,0,4.84.75,9.17,2.23,13.01,1.08,2.72,3.17,6.44,6.24,11.14l-6.24,6.32c-3.57-4.71-6.22-9.45-7.96-14.21-1.73-4.77-2.6-10.25-2.6-16.45,0-11.65,3.16-21.28,9.46-28.89,6.31-7.62,14.18-11.43,23.62-11.43s17.45,4,24.06,11.99c6.6,7.99,9.91,17.87,9.91,29.64,0,10.29-2.85,19.26-8.56,26.95l-6.76-6.5Z'/%3E%3Cpath class='cls-1' d='M82.96,217.64h-18.73v23.22l-7.14-5.76v-17.47H16.33c-2.27,0-4.08.55-5.41,1.67-1.33,1.12-2,2.97-2,5.58,0,2.1.3,3.89.89,5.38.6,1.49,1.59,3.35,2.98,5.58l-6.25,5.01c-1.78-2.72-3.25-5.82-4.38-9.29-1.14-3.47-1.71-6.81-1.71-10.03,0-5.7,1.36-9.63,4.08-11.8,2.71-2.17,6.44-3.25,11.19-3.25h41.36v-13.2l7.14,5.95v7.25h18.73v11.15Z'/%3E%3Cpolygon class='cls-1' points='9.08 247.74 9.08 258.89 55.9 258.89 52.63 247.74 60.06 247.74 66.6 270.04 9.08 270.04 9.08 281.19 1.93 281.19 1.93 247.74 9.08 247.74'/%3E%3Cpath class='cls-1' d='M67.06,297.1l-53.31,29.29,43.24,23.98c-.22-.87-.38-1.67-.49-2.41-.1-.74-.16-1.66-.16-2.78,0-2.1.48-5.24,1.44-9.44.95-4.2,1.42-7.48,1.42-9.82s-.29-4.51-.9-6.48c-.6-1.97-1.56-4.39-2.85-7.22h7.88c1.09,1.98,1.99,4.19,2.69,6.6.71,2.42,1.07,4.74,1.07,6.97,0,1.74-.73,6.25-2.17,13.57-.67,3.34-.99,6.12-.99,8.36,0,3.96,1.05,8,3.16,12.08l-3.16,5.39L1.93,330.81v-9.67l54.41-30.1-3.26-8.55,6.86-3.71,7.12,18.32Z'/%3E%3Cpath class='cls-1' d='M12.34,437.5c-3.96-4.57-7.01-9.64-9.15-15.2-2.12-5.56-3.2-11.61-3.2-18.17,0-11.61,3.27-21.06,9.81-28.36,6.55-7.29,14.52-10.93,23.93-10.93,8.92,0,16.58,3.62,22.97,10.87,6.39,7.25,9.59,16.38,9.59,27.41,0,9.16-2.28,16.78-6.84,22.86-4.26,5.7-10.11,9.53-17.54,11.52l-14.12-60.03c-5.85,1.37-10.59,4.37-14.2,9.01-3.62,4.64-5.43,10.56-5.43,17.75,0,5.45,1,10.53,2.98,15.23,1.58,3.96,4.16,8.18,7.72,12.64l-6.54,5.4ZM47.17,423.55c3.85-2.23,6.69-5,8.52-8.28,1.83-3.29,2.74-7.59,2.74-12.92,0-7.8-2.12-14-6.37-18.58-4.25-4.59-9.54-6.88-15.86-6.88l10.98,46.66Z'/%3E%3Cpath class='cls-1' d='M93.02,262.6c0,2.73-.93,5.02-2.79,6.88-1.86,1.87-4.15,2.78-6.87,2.78s-4.83-.92-6.69-2.78c-1.86-1.86-2.79-4.15-2.79-6.88s.93-4.83,2.79-6.69c1.86-1.85,4.09-2.78,6.69-2.78s4.85.9,6.77,2.7c1.93,1.79,2.88,4.06,2.88,6.78Z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 2vw center;
	background-size: auto 100%;
	opacity: 0.05;
	mix-blend-mode: hard-light;
}
@media screen and (max-width: 900px) {
	.entry-content::before {
		margin-bottom: -50vh;
		height: 50vh;
		top: 20vh;
	}
}
.entry-content section {
	padding: 5rem 0;
}
.entry-content section:last-child {
	margin-bottom: 0 !important;
	padding-bottom: 5rem !important;
}
.entry-content section:nth-child(odd) {
	background-color: var(--color-white);
}
.entry-content section:nth-child(even) {
	background-color: #D7DDE0;
}
/* 共通：コンテナ枠を無視して全幅に広げる（ブロックスタイルのis-style-も追加） */
.active-sec-gray, .is-style-active-sec-gray, .active-sec-dark, .is-style-active-sec-dark, .active-sec-diagonal, .is-style-active-sec-diagonal, .active-sec-diagonal-reverse, .is-style-active-sec-diagonal-reverse, .active-sec-pattern, .is-style-active-sec-pattern {
	margin-top: 5rem;
	margin-right: calc(50% - 50vw) !important;
	margin-bottom: 5rem;
	margin-left: calc(50% - 50vw) !important;
	padding-top: 8rem;
	padding-right: calc(50vw - 50%);
	padding-bottom: 8rem;
	padding-left: calc(50vw - 50%);
	max-width: 100vw;
}
.active-sec-gray, .is-style-active-sec-gray {
	background-color: #F9F9F9 !important;
}
.active-sec-dark, .is-style-active-sec-dark {
	color: #FFF;
	background-color: #D7DDE0 !important;
}
.active-sec-dark h2, .active-sec-dark h3, .active-sec-dark h4, .is-style-active-sec-dark h2, .is-style-active-sec-dark h3, .is-style-active-sec-dark h4 {
	color: #FFF;
}
/* 斜めセクション：カットされる分(4vw)を考慮して上下余白を大幅に拡大 */
.active-sec-diagonal, .is-style-active-sec-diagonal, .active-sec-diagonal-reverse, .is-style-active-sec-diagonal-reverse {
	padding-top: calc(8rem + 4vw) !important;
	padding-bottom: calc(8rem + 4vw) !important;
	position: relative;
	z-index: 1;
}
.active-sec-diagonal, .is-style-active-sec-diagonal {
	background-color: #D7DDE0!important;
	clip-path: polygon(0 4vw, 100% 0, 100% calc(100% - 4vw), 0 100%);
}
.active-sec-diagonal-reverse, .is-style-active-sec-diagonal-reverse {
	background-color: #D7DDE0 !important;
	clip-path: polygon(0 0, 100% 4vw, 100% 100%, 0 calc(100% - 4vw));
}
.active-sec-pattern, .is-style-active-sec-pattern {
	background-color: #FFF !important;
	background-image: radial-gradient(#E5E5E5 2px, transparent 2px);
	background-size: 24px 24px;
}
/* 最後のセクションが斜めだった場合、下部を平らにする処理 */
.entry-content section.active-sec-diagonal:last-child, .entry-content section.is-style-active-sec-diagonal:last-child {
	padding-bottom: 5rem !important;
	clip-path: polygon(0 4vw, 100% 0, 100% 100%, 0 100%);
}
.entry-content section.active-sec-diagonal-reverse:last-child, .entry-content section.is-style-active-sec-diagonal-reverse:last-child {
	padding-bottom: 5rem !important;
	clip-path: polygon(0 0, 100% 4vw, 100% 100%, 0 100%);
}
.common-cta {
	margin-top: 0;
	padding: 6rem 0;
	border-top: 1px solid #EEE;
	background-color: #F9F9F9;
}
.common-cta p {
	font-size: 1rem;
	line-height: 1.8;
}

/* ==========================================================================
	詳細(Details)ブロックを使ったFAQスタイル
========================================================================== */
.wp-block-details.faq-item {
	margin-bottom: 20px;
	padding: 20px;
	border: 1px solid #DDD;
	border-radius: 6px;
	background: #F9F9F9;
}
.wp-block-details.faq-item summary {
	padding-left: 2.5rem;
	position: relative;
	list-style: none;
	cursor: pointer;
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--color-quaternary) !important;
}
.wp-block-details.faq-item summary::-webkit-details-marker {
	display: none;
}
.wp-block-details.faq-item summary::before {
	position: absolute;
	top: 0;
	left: 0;
	content: 'Q';
	font-family: var(--font-en);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	color: var(--color-quaternary);
}
.wp-block-details.faq-item summary::after {
	width: 14px;
	height: 14px;
	position: absolute;
	top: 5px;
	right: 0;
	content: '';
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23274169' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.wp-block-details.faq-item[open] summary::after {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23274169' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E");
}
.wp-block-details.faq-item p {
	margin-top: 15px !important;
	margin-bottom: 0 !important;
	padding-top: 15px;
	padding-left: 2.5rem;
	position: relative;
	font-size: 0.95rem;
	border-top: 1px dashed #CCC;
}
.wp-block-details.faq-item p::before {
	position: absolute;
	top: 15px;
	left: 0;
	content: 'A';
	font-family: var(--font-en);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	color: var(--color-gray);
}
@media screen and (min-width: 901px) {
	.style-overlap {
		align-items: center;
	}
	.style-overlap:not(.reverse) .wp-block-column:last-child {
		margin-left: -5%;
		padding: 3rem;
		z-index: 2;
		border-radius: 6px;
		background: rgba(255, 255, 255, 0.9);
		box-shadow: 0 10px 30px rgba(0,0,0,0.08);
		backdrop-filter: blur(10px);
	}
	.style-overlap.reverse .wp-block-column:first-child {
		margin-right: -5%;
		padding: 3rem;
		z-index: 2;
		border-radius: 6px;
		background: rgba(255, 255, 255, 0.9);
		box-shadow: 0 10px 30px rgba(0,0,0,0.08);
		backdrop-filter: blur(10px);
	}
}
/* ==========================================================================
	画像ブロック：横から表示アニメーション (GSAP用)
========================================================================== */
.wp-block-image.is-style-active-reveal-img {
	display: block;
	visibility: hidden;
	overflow: hidden;
}
.wp-block-image.is-style-active-reveal-img img {
	width: 100%;
	height: 100%;
	transform-origin: left;
	object-fit: cover;
}

/* ==========================================================================
	7. ブログ・投稿記事内の見出しスタイル (Entry Content Headings)
========================================================================== */
.entry-post h2 {
	margin-top: 2rem !important;
	margin-bottom: 1.2rem !important;
	font-size: clamp(1.4rem, 4vw, 1.55rem);
	font-weight: 700;
	color: var(--color-dark);
}
.entry-post h3 {
	margin-top: 2.5rem !important;
	margin-bottom: 1.2rem !important;
	font-size: clamp(1.2rem, 3.5vw, 1.35rem);
	font-weight: 700;
	color: var(--color-dark);
}
.entry-post h4 {
	margin-top: 2rem !important;
	margin-bottom: 1rem !important;
	font-size: clamp(1.1rem, 3vw, 1.2rem);
	font-weight: 700;
	color: var(--color-dark);
}
.entry-post h5 {
	margin-top: 2rem !important;
	margin-bottom: 1rem !important;
	font-size: 1.05rem;
	font-weight: 700;
}
.entry-post h6 {
	margin-top: 2rem !important;
	margin-bottom: 1rem !important;
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--color-gray);
}
/* 記事内で最初に登場するH2・H3の上の余白を消す */
.entry-post > h2:first-of-type,
.entry-post > h3:first-of-type {
	margin-top: 0 !important;
}
.entry-post > *:first-child {
	margin-top: 0 !important;
}

/* ==========================================================================
	8. ページネーション・前後記事 (Pagination & Navigation)
========================================================================== */
.pager {
	margin-top: 3rem;
	margin-bottom: 2rem;
	font-size: .8rem;
	text-align: center;
}
.pager ul.page-numbers {
	margin: 0;
	padding: 0;
	display: inline-flex;
	list-style: none;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}
.pager ul.page-numbers li {
	margin: 0;
}
.pager a.page-numbers,
.pager span.page-numbers {
	padding: 0 10px;
	min-width: 40px;
	height: 40px;
	display: flex;
	font-weight: 400;
	color: var(--color-dark);
	text-decoration: none;
	border: 1px solid #DDD;
	border-radius: 4px;
	background: #FFF;
	transition: all 0.3s;
	align-items: center;
	justify-content: center;
}
.pager a.page-numbers:hover {
	color: var(--color-white);
	border-color: var(--color-dark);
	background: var(--color-dark);
}
.pager span.page-numbers.current {
	color: #FFF;
	border-color: var(--color-dark);
	background: var(--color-dark);
}
.post-navigation {
	margin-top: 4rem;
	margin-bottom: 2.5rem;
	padding-top: 2rem;
	border-top: 1px solid #DDD;
}
.post-navigation .nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
}
.post-navigation a {
	padding: 10px 20px;
	display: inline-block;
	font-size: 0.8rem;
	font-weight: 400;
	color: var(--color-dark);
	text-decoration: none;
	border: 1px solid #DDD;
	border-radius: 4px;
	background: #FFF;
	transition: all 0.3s;
}
.post-navigation a:hover {
	color: #FFF;
	border-color: var(--color-dark);
	background: var(--color-dark);
}

/* ==========================================================================
	9. ページ内リンク ナビゲーション (Page Navigation)
========================================================================== */
.page-nav-wrapper {
	margin-bottom: .5rem;
}
.page-nav-list {
	margin: 0;
	padding: 0;
	display: flex;
	list-style: none;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px;
}
.page-nav-list li {
	margin: 0 !important;
	padding: 0 !important;
}
.page-nav-list li::before {
	display: none !important;
}
.page-nav-list a {
	padding: .55rem 1rem;
	display: inline-flex;
	font-size: 0.95rem;
	font-weight: 400;
	color: var(--color-white) !important;
	text-decoration: none;
	border: 1px solid var(--color-secondary);
	border-radius: 6px;
	background: var(--color-secondary);
	transition: all 0.3s ease;
	align-items: center;
	justify-content: center;
}
.page-nav-list a::after {
	margin-left: 10px;
	width: 12px;
	height: 12px;
	display: inline-block;
	content: '';
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: transform 0.3s;
}
.page-nav-list a:hover {
	color: #FFF !important;
	border-color: var(--color-primary);
	background: var(--color-primary);
}
.page-nav-list a:hover::after {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
}
:target {
	scroll-margin-top: calc(var(--header-h) + 30px);
}
@media screen and (max-width: 900px) {
	.page-nav-wrapper {
		margin-bottom: 2rem;
	}
	.page-nav-list {
		gap: 10px;
	}
	.page-nav-list li {
		width: 100%; /* スマホでは押しやすいように縦積み100% */
	}
	.page-nav-list a {
		padding: 12px 20px;
		width: 100%;
		font-size: 0.9rem;
	}
}

/* ==========================================================================
	10. GLightbox
========================================================================== */
.gslide-media {
	margin: auto !important;
	padding: 5px !important;
	max-width: 90vw !important;
	border-radius: 6px !important;
	background: #FFF !important;
}
.gslide-image img,
.gslide-image img.dragging {
	border-radius: 4px !important;
}
.gbtn {
	width: 50px !important;
	height: 50px !important;
	border-radius: 50% !important;
	background-color: var(--color-secondary) !important;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
	opacity: 1 !important;
	transition: all 0.3s ease !important;
}
.gbtn svg {
	width: 24px !important;
	height: 24px !important;
	fill: var(--color-dark) !important;
}
.gbtn:hover {
	background-color: var(--color-primary) !important;
}
.gbtn:hover svg {
	fill: #FFF !important;
}
@media screen and (min-width: 901px) {
	.gslide-media {
		max-width: 70vw !important;
	}
	.gprev {
		left: calc(15vw - 25px) !important;
	}
	.gnext {
		right: calc(15vw - 25px) !important;
	}
}

/* ==========================================================================
	11. Privacy & Form
========================================================================== */
/* -- Snow Monkey -- */
.smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__number {
	background-color: var(--color-quaternary);
}
.smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__text {
	font-size: .9rem;
	color: var(--color-quaternary);
}
.smf-progress-tracker__item__number {
	background-color: var(--color-gray);
}
.smf-progress-tracker__item__text {
	font-size: .9rem;
	color: var(--color-gray);
}
.smf-item__label__text {
	position: relative;
}
.smf-item__label__text::after {
	width:  40px;
	height: 22px;
	display: grid;
	position: absolute;
	top: 50%;
	right: -50px;
	content: '必須';
	font-size: .8rem;
	color:  var(--color-white);
	border-radius: 4px;
	background:  var(--color-primary);
	transform: translateY(-50%);
	place-items: center;
}
.smf-action .smf-button-control__control {
	margin: 0;
	padding: 1em 1.5em;
	width: auto;
	min-width: 35%;
	display: inline-block;
	position: relative;
	font-size: 1.2em;
	line-height: 1.5;
	color: #fff;
	text-decoration: none;
	letter-spacing: 1px;
	border: none;
	border-radius: 80px;
	background-color: var(--color-primary);
	background-image: none;
	transition: box-shadow 0.25s;
}
.smf-action .smf-button-control__control:hover {
	border-color: inherit!important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .1), 0 12px 24px -12px rgba(0, 0, 0, .2);
}
textarea {
	font-family: var(--font-jp);
}
.privacy {
	margin: 2rem auto 1rem !important;
	padding: 1rem;
	height: 400px;
	overflow: auto;
	font-size: .85rem;
	color: var(--color-dark);
	text-align: left;
	border: 1px solid rgba(0, 0, 0, 0.1);
	background-color: var(--color-white);
}
.privacy h6 {
	margin: 0 0 .2rem !important;
	font-size: .95rem !important;
	font-weight: 700 !important;
}
.privacy p {
	margin: 0 0 .7rem !important;
}

/* ==========================================================================
	404 Not Found Page
========================================================================== */
.error-404-section {
	padding: 0;
	width: 100%;
	height: 100vh;
	display: flex;
	position: relative;
	color: #FFF;
	text-align: center;
	background-color: var(--color-secondary);
	background-image: url('assets/images/background/404-bg.png');
	background-position: center;
	background-size: cover;
	align-items: center;
	justify-content: center;
}
.error-404-section::before {
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	content: '';
	background: rgba(0, 0, 0, 0.5);
}
.error-404-section .container {
	position: relative;
	z-index: 2;
}
.error-404-section .error-title {
	margin-bottom: 0.5rem;
	font-size: clamp(5rem, 20vw, 6rem);
	line-height: 1;
	color: #FFF;
}
.error-404-section .error-desc {
	font-family: var(--font-en);
	font-size: clamp(1.5rem, 5vw, 2.2rem);
	color: #FFF;
	letter-spacing: 0.1em;
}

/* ==========================================================================
	12. レスポンシブ (Responsive)
========================================================================== */
@media screen and (max-width: 900px) {
	.container {
		padding: 0 10px;
	}
	.access-info,
	.access-map {
		width: 100%;
		height: auto;
		min-height: 400px;
	}
	.access-map {
		height: 350px;
	}
	.sub-page-header {
		height: 380px;
		background-image: url('assets/images/header/default-header_sp.jpg');
	}
	.webp .sub-page-header {
		height: 380px;
		background-image: url('assets/images/header/default-header_sp.webp');
	}
	body.category-activeblog .sub-page-header,
	body.single-post .sub-page-header {
		background-image: url('assets/images/header/header-post_sp.jpg');
		background-position: left center;
	}
	.webp body.category-activeblog .sub-page-header,
	.webp body.single-post .sub-page-header {
		background-image: url('assets/images/header/header-post_sp.webp');
		background-position: left center;
	}
	body.post-type-archive-topics .sub-page-header,
	body.single-topics .sub-page-header {
		background-image: url('assets/images/header/header-topics_sp.jpg');
		background-position: left center;
	}
	.webp body.post-type-archive-topics .sub-page-header,
	.webp body.single-topics .sub-page-header {
		background-image: url('assets/images/header/header-topics_sp.webp');
		background-position: left center;
	}
	/*body.tax-classification .sub-page-header,
	body.single-works .sub-page-header {
		background-image: url('assets/images/header/header-works_sp.jpg') !important;
		background-position: right center;
	}
	.webp body.tax-classification .sub-page-header,
	.webp body.single-works .sub-page-header {
		background-image: url('assets/images/header/header-works_sp.webp') !important;
		background-position: right center;
	}*/
	.sub-page-header .en-title {
		margin-bottom: 0 !important;
		font-size: 2.8rem;
	}
	.sub-page-header .jp-sub {
		margin-bottom: 45px !important;
		margin-left: 15px;
		padding-left: 0;
	}
	.page-layout {
		flex-direction: column;
	}
	.entry-content {
		word-wrap: break-word !important;
		overflow-wrap: break-word !important;
	}
	.entry-content img,
	.entry-content figure,
	.entry-content iframe,
	.entry-content video {
		max-width: 100% !important;
		height: auto !important;
	}
	.entry-content table {
		max-width: 100% !important;
		display: block !important;
		overflow-x: auto !important;
		white-space: nowrap !important;
	}
	.entry-content::before {
		margin-left: 0 !important;
		width: 100% !important;
		left: 0 !important;
		background-position: center !important;
	}
	.sidebar,
	.main-content {
		width: 100%;
		min-width: 0;
		max-width: 100%;
	}
	.pc-only {
		display: none !important;
	}
	.sp-only {
		display: block !important;
	}
	.sidebar-block {
		margin-bottom: 1rem;
	}
	.works-list-header {
		display: none;
	}
	.works-list {
		border-top: 1px solid #DDD;
	}
	.works-list-link {
		grid-template-columns: 140px 1fr;
		gap: 15px 20px;
		align-items: start;
	}
	.works-list-thumb {
		grid-column: 1 / 2;
		grid-row: 1 / 4;
	}
	.works-list-label {
		display: none;
	}
	.works-list-model {
		grid-column: 2 / 3;
		grid-row: 1 / 2;
	}
	.works-list-model .works-list-text {
		font-size: 1.05rem;
	}
	.works-list-service {
		grid-column: 2 / 3;
		grid-row: 2 / 3;
	}
	.works-list-desc {
		margin-top: 10px;
		grid-column: 1 / 3;
		grid-row: 4 / 5;
	}
	.works-list-desc .works-list-text {
		font-size: 0.9rem;
	}
	.works-photogallery .sub-image {
		grid-template-columns: repeat(3, 1fr);
		gap: 10px;
	}
	.entry-header .entry-title {
		padding: 1rem 3rem 1rem 1rem !important;
		background-size: 2.5em auto !important;
	}
	.entry-header .entry-title {
		padding: 1rem 3rem 1rem 1rem !important;
		background-size: 2.5em auto !important;
	}
	.breadcrumbs {
		word-break: break-all;
		flex-wrap: wrap;
	}
}

/* ==========================================================================
	13. タブレットサイズ（1000px以下）での記事内レイアウト調整
========================================================================== */
@media screen and (max-width: 1000px) {
	/* 記事内のカラム（2カラム等）を強制的に1カラム（縦積み）にする */
	.main-content .wp-block-columns {
		flex-direction: column !important;
		flex-wrap: wrap !important;
	}
	.main-content .wp-block-column {
		margin-left: 0 !important;
		width: 100% !important;
		flex-basis: 100% !important;
	}
}
