/*
Theme Name: Pest Cut Theme
Description: 法人向け害虫駆除情報メディア「ペストカット」専用テーマ
Version: 1.3.3
Author: (運営者名)
Text Domain: pest-cut
Requires at least: 6.4
Requires PHP: 7.4
*/

:root {
	--pc-color-main: #15803d;
	--pc-color-main-dark: #14532d;
	--pc-color-sub: #f0fdf4;
	--pc-color-accent: #0369a1;
	--pc-color-accent-dark: #075985;
	--pc-color-text: #14532d;
	--pc-color-body: #25382d;
	--pc-color-border: #bbf7d0;
	--pc-color-white: #ffffff;
	--pc-font-heading: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
	--pc-font-body: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;
	--pc-font-latin: "Roboto", "Segoe UI", sans-serif;
	--pc-radius: 8px;
	--pc-shadow: 0 12px 32px rgba(20, 83, 45, 0.08);
	--pc-container: 1180px;
	--pc-space-1: 0.5rem;
	--pc-space-2: 1rem;
	--pc-space-3: 1.5rem;
	--pc-space-4: 2rem;
	--pc-space-5: 3rem;
	--pc-space-6: 4rem;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	color: var(--pc-color-body);
	background: #fff;
	font-family: var(--pc-font-body);
	font-size: 16px;
	line-height: 1.8;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: var(--pc-color-main);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

a:hover,
a:focus-visible {
	color: var(--pc-color-main-dark);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--pc-color-text);
	font-family: var(--pc-font-heading);
	font-weight: 700;
	line-height: 1.4;
}

.pc-skip-link {
	position: fixed;
	top: 0.5rem;
	left: 0.5rem;
	z-index: 9999;
	padding: 0.75rem 1rem;
	transform: translateY(-150%);
	border-radius: var(--pc-radius);
	background: var(--pc-color-main-dark);
	color: #fff;
}

.pc-skip-link:focus {
	transform: translateY(0);
}

.pc-container {
	width: min(100% - 2rem, var(--pc-container));
	margin-inline: auto;
}

.pc-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.75rem 1.4rem;
	border: 2px solid var(--pc-color-accent);
	border-radius: var(--pc-radius);
	background: var(--pc-color-accent);
	color: #fff;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.pc-button:hover,
.pc-button:focus-visible {
	border-color: var(--pc-color-accent-dark);
	background: var(--pc-color-accent-dark);
	color: #fff;
	transform: translateY(-1px);
}

.pc-section {
	padding-block: var(--pc-space-5);
}

.pc-section--tint {
	background: var(--pc-color-sub);
}

.pc-section-title {
	margin: 0 0 var(--pc-space-4);
	padding-left: 0.8rem;
	border-left: 5px solid var(--pc-color-main);
	font-size: clamp(1.5rem, 4vw, 2rem);
}

.pc-empty {
	padding: 2rem;
	border: 1px dashed var(--pc-color-border);
	border-radius: var(--pc-radius);
	text-align: center;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
