/*
Theme Name: China Shuukyaku Divi Child
Description: Divi 5.12.1用。チャイナ集客.comのページだけに限定してデザインを適用する子テーマです。
Version: 1.12.7
Requires at least: 6.0
Requires PHP: 7.4
Template: Divi
Text Domain: custom-divi-child
*/

body.cs-page {
	--cs-red: #b4232d;
	--cs-red-dark: #861b23;
	--cs-ink: #121212;
	--cs-muted: #5d6268;
	--cs-line: #d9dde1;
	--cs-paper: #ffffff;
	--cs-soft: #f4f5f6;
	--cs-soft-red: #f8e9ea;
	--cs-radius: 10px;
	--cs-shadow: 0 18px 48px rgba(65, 18, 22, 0.1);
	background: var(--cs-paper);
	color: var(--cs-ink);
	font-family: "Yu Gothic UI", "Hiragino Kaku Gothic ProN", "Noto Sans JP", system-ui, sans-serif;
	font-size: 16px;
	line-height: 1.75;
}

/* The migrated pages carry their own compact site header and footer.
 * Hide only Divi's duplicate chrome on those pages; other WordPress pages
 * remain under normal Divi control. */
body.cs-page #top-header,
body.cs-page #main-header,
body.cs-page #footer-widgets,
body.cs-page #main-footer {
	display: none;
}

/* The legacy contact preview is intentionally not submit-capable.
 * A live WPForms instance is appended by the scoped content filter below. */
body.cs-page form[data-contact-form] {
	display: none;
}

/* Imported prototype-only notices and fields are replaced by the live WPForms instance. */
body.cs-page .draft-notice,
body.cs-page .editing-note {
	display: none;
}

/* The imported contact page included a visual-only preview. */
body.cs-page .wpforms-form-preview {
	display: none !important;
}

body.cs-page .cs-wpforms-live {
	padding: 64px 16px 88px;
	background: var(--cs-soft);
}

body.cs-page .cs-wpforms-live__inner {
	width: min(100%, 760px);
	margin: 0 auto;
}

body.cs-page .cs-wpforms-live__eyebrow {
	margin: 0 0 8px;
	color: var(--cs-red);
	font-weight: 900;
	letter-spacing: 0.08em;
}

body.cs-page .cs-wpforms-live h2 {
	margin: 0;
	font-size: clamp(1.8rem, 3vw, 2.5rem);
	line-height: 1.3;
}

body.cs-page .cs-wpforms-live__lead {
	margin: 14px 0 24px;
	color: var(--cs-muted);
}

body.cs-page .cs-wpforms-live .wpforms-container {
	margin: 0;
}

body.cs-page .cs-wpforms-live .wpforms-field-label {
	font-weight: 800;
}

body.cs-page .cs-wpforms-live input:not([type="checkbox"]),
body.cs-page .cs-wpforms-live textarea {
	min-height: 50px;
	border-color: #747a80;
}

body.cs-page .cs-wpforms-live textarea {
	min-height: 150px;
}

body.cs-page .cs-wpforms-live button[type="submit"] {
	min-height: 50px;
	padding: 11px 20px;
	border: 2px solid var(--cs-red);
	border-radius: var(--cs-radius);
	background: var(--cs-red);
	color: #fff;
	font-weight: 800;
}

body.cs-page .cs-wpforms-live button[type="submit"]:hover,
body.cs-page .cs-wpforms-live button[type="submit"]:focus-visible {
	border-color: var(--cs-red-dark);
	background: var(--cs-red-dark);
}

/* Static prototype content rendered inside Divi Code modules.
 * Divi owns the global header and footer so all routes share one navigation.
 */

.cs-page .et_pb_section.cs-static-section,
.cs-page .et_pb_row.cs-static-row,
.cs-page .et_pb_column.cs-static-column {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	background: transparent;
}

.cs-page .et_pb_column.cs-static-column,
.cs-page .et_pb_code.cs-static-code {
	margin-bottom: 0;
}

.cs-page .cs-section {
	padding-block: 80px;
}

.cs-page .cs-section-soft {
	background: var(--cs-soft);
}

.cs-page .cs-section-red {
	background: var(--cs-soft-red);
}

.cs-page .cs-row-wide.et_pb_row {
	width: min(calc(100% - 32px), 1180px);
	max-width: 1180px;
}

.cs-page .cs-eyebrow {
	margin-bottom: 10px;
	color: var(--cs-red);
	font-size: 1rem;
	font-weight: 900;
	letter-spacing: 0.08em;
}

.cs-page .cs-hero-title h1,
.cs-page h1.cs-hero-title {
	max-width: 15ch;
	margin: 0;
	font-size: clamp(2.25rem, 4.8vw, 4.5rem);
	line-height: 1.08;
	letter-spacing: -0.052em;
}

.cs-page .cs-section-title h2,
.cs-page h2.cs-section-title {
	margin: 0;
	font-size: clamp(1.8rem, 3.3vw, 3rem);
	line-height: 1.22;
	letter-spacing: -0.04em;
}

.cs-page .cs-lead,
.cs-page .cs-lead p {
	max-width: 42rem;
	color: #383b3f;
	font-size: clamp(1rem, 1.8vw, 1.2rem);
}

.cs-page .cs-card {
	padding: 28px;
	border: 1px solid var(--cs-line);
	border-radius: var(--cs-radius);
	background: var(--cs-paper);
}

.cs-page .cs-card-accent {
	border-top: 5px solid var(--cs-red);
}

.cs-page .cs-proof-note,
.cs-page .cs-source-note {
	padding: 18px 20px;
	border-left: 4px solid var(--cs-red);
	background: var(--cs-paper);
}

.cs-page .cs-note,
.cs-page .cs-caption {
	color: var(--cs-muted);
	font-size: 1rem;
	line-height: 1.7;
}

.cs-page .cs-media img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.cs-page .cs-media-portrait img {
	aspect-ratio: 4 / 5;
}

.cs-page .cs-button-primary .et_pb_button,
.cs-page a.cs-button-primary {
	display: inline-flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 11px 20px !important;
	border: 2px solid var(--cs-red) !important;
	border-radius: var(--cs-radius) !important;
	background: var(--cs-red) !important;
	color: #ffffff !important;
	font-size: 1rem !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
}

.cs-page .cs-button-primary .et_pb_button:hover,
.cs-page a.cs-button-primary:hover {
	border-color: var(--cs-red-dark) !important;
	background: var(--cs-red-dark) !important;
}

.cs-page .cs-button-secondary .et_pb_button,
.cs-page a.cs-button-secondary {
	display: inline-flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 11px 20px !important;
	border: 2px solid var(--cs-red) !important;
	border-radius: var(--cs-radius) !important;
	background: #ffffff !important;
	color: var(--cs-red) !important;
	font-size: 1rem !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
}

.cs-page .cs-final-cta {
	padding: 42px;
	border-left: 7px solid var(--cs-red);
	background: var(--cs-soft-red);
}

.cs-page .cs-dark-cta {
	padding: 34px;
	border-radius: var(--cs-radius);
	background: var(--cs-ink);
	color: #ffffff;
}

.cs-page .cs-faq .et_pb_toggle {
	border: 1px solid var(--cs-line);
	border-radius: var(--cs-radius);
	background: var(--cs-paper);
}

.cs-page .cs-noindex-banner {
	padding: 16px 20px;
	border: 2px dashed #9d5d00;
	background: #fff6df;
	color: #573500;
	font-size: 1rem;
}

.cs-page .cs-wpforms .wpforms-container {
	margin: 0;
	padding: 28px;
	border: 1px solid var(--cs-line);
	border-radius: var(--cs-radius);
	background: var(--cs-paper);
	box-shadow: var(--cs-shadow);
}

.cs-page .cs-wpforms .wpforms-field {
	padding-block: 0 20px;
}

.cs-page .cs-wpforms .wpforms-field-label,
.cs-page .cs-wpforms legend.wpforms-field-label {
	margin-bottom: 7px;
	color: var(--cs-ink);
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.6;
}

.cs-page .cs-wpforms .wpforms-required-label {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 2px 7px;
	margin-left: 6px;
	background: var(--cs-soft-red);
	color: var(--cs-red-dark);
	font-size: 1rem;
	font-weight: 800;
	line-height: 1;
}

.cs-page .cs-wpforms input[type="text"],
.cs-page .cs-wpforms input[type="email"],
.cs-page .cs-wpforms input[type="tel"],
.cs-page .cs-wpforms input[type="url"],
.cs-page .cs-wpforms select,
.cs-page .cs-wpforms textarea {
	width: 100%;
	max-width: none;
	min-height: 50px;
	padding: 11px 12px;
	border: 1px solid #7d8288;
	border-radius: 8px;
	background: #ffffff;
	color: var(--cs-ink);
	font: inherit;
}

.cs-page .cs-wpforms textarea {
	min-height: 150px;
	resize: vertical;
}

.cs-page .cs-wpforms input:focus,
.cs-page .cs-wpforms select:focus,
.cs-page .cs-wpforms textarea:focus {
	border-color: var(--cs-red);
	outline: 3px solid rgba(180, 35, 45, 0.25);
	outline-offset: 0;
}

.cs-page .cs-wpforms input[type="checkbox"] {
	width: 22px;
	height: 22px;
	margin-top: 3px;
}

.cs-page .cs-wpforms .wpforms-field-checkbox li label,
.cs-page .cs-wpforms .wpforms-field-gdpr-checkbox label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	min-height: 48px;
	padding-block: 9px;
}

.cs-page .cs-wpforms .wpforms-field-description {
	color: var(--cs-muted);
	font-size: 1rem;
	line-height: 1.7;
}

.cs-page .cs-wpforms .wpforms-submit {
	min-height: 50px;
	padding: 11px 20px;
	border: 2px solid var(--cs-red);
	border-radius: var(--cs-radius);
	background: var(--cs-red);
	color: #ffffff;
	font: inherit;
	font-weight: 800;
	line-height: 1.25;
	cursor: pointer;
}

.cs-page .cs-wpforms .wpforms-submit:hover,
.cs-page .cs-wpforms .wpforms-submit:focus-visible {
	border-color: var(--cs-red-dark);
	background: var(--cs-red-dark);
}

.cs-page .cs-wpforms .wpforms-error,
.cs-page .cs-wpforms em.wpforms-error {
	color: #8b1e1e;
	font-size: 1rem;
}

.cs-page .cs-wpforms .wpforms-confirmation-container-full {
	padding: 18px 20px;
	border-left: 4px solid var(--cs-red);
	background: var(--cs-soft-red);
}

.cs-page :focus-visible {
	outline: 3px solid rgba(180, 35, 45, 0.35);
	outline-offset: 3px;
}

@media (max-width: 900px) {
	.cs-page .cs-section {
		padding-block: 64px;
	}
}

@media (max-width: 600px) {
	.cs-page .cs-section {
		padding-block: 58px;
	}

	.cs-page .cs-row-wide.et_pb_row {
		width: min(calc(100% - 24px), 1180px);
	}

	.cs-page .cs-card,
	.cs-page .cs-final-cta,
	.cs-page .cs-dark-cta,
	.cs-page .cs-wpforms .wpforms-container {
		padding: 24px;
	}

	.cs-page .cs-button-primary,
	.cs-page .cs-button-secondary,
	.cs-page .cs-button-primary .et_pb_button,
	.cs-page .cs-button-secondary .et_pb_button {
		width: 100%;
		text-align: center;
	}

	.cs-page .cs-wpforms .wpforms-submit {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cs-page * {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}
