body {
	margin: 0;
	background: #ffffff;
	color: #101010;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 18px;
	line-height: 1.5;
}
a {
	color: #101010;
	text-decoration: none;
}
a:hover {
	opacity: .72;
}
img {
	display: block;
	max-width: 100%;
}

/* "サービス" dropdown in the header nav — hover/focus driven (no JS state) */
.svc-menu {
	position: relative;
}
.svc-dropdown {
	display: none;
	position: absolute;
	top: 100%;
	left: -16px;
	padding-top: 12px;
	z-index: 50;
}
.svc-menu:hover .svc-dropdown,
.svc-menu:focus-within .svc-dropdown {
	display: block;
}

/* image-slot placeholder — shown until a real photo replaces it via the Media Library */
.img-slot {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #eaeaea;
	color: #939393;
	font-size: 13px;
	line-height: 1.6;
	text-align: center;
	padding: 12px;
	box-sizing: border-box;
}
.img-slot img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* blog category grid cards */
.post-card-thumb {
	width: 100%;
	height: 170px;
	object-fit: cover;
	background: #eaeaea;
}

/* single post body (the_content) */
.itsuka-post-content {
	font-size: 16px;
	line-height: 1.8;
}
.itsuka-post-content h2 {
	font-size: 24px;
	font-weight: 900;
	margin: 56px 0 0;
	line-height: 1.5;
}
.itsuka-post-content h3 {
	font-size: 19px;
	font-weight: 700;
	margin: 32px 0 0;
}
.itsuka-post-content p {
	margin: 20px 0 0;
}
.itsuka-post-content a {
	font-weight: 700;
	border-bottom: 2px solid #101010;
	padding-bottom: 1px;
}
.itsuka-post-content img {
	margin: 40px 0 0;
	width: 100%;
	height: auto;
}
.itsuka-post-content blockquote {
	background: #f4f3ef;
	padding: 28px 32px;
	margin: 40px 0 0;
	font-weight: 700;
}
