/*
Theme Name: Onishijuki Child
Template: onishijuki
Description: 株式会社大西重機 公式サイト 子テーマ
Author: shino
Version: 1.3.3
Text Domain: onishijuki-child
*/

/* ==========================================================================
   改善1：トップヒーロー — スマホ縦書き最適化（PC非影響）
   ========================================================================== */

@media screen and (max-width: 767px) {
	.site-main--front .hero-section-parallax {
		min-height: calc(100dvh - var(--header-height));
	}

	.site-main--front .hero-section-parallax .container {
		align-items: flex-start;
		justify-content: flex-start;
		min-height: calc(100dvh - var(--header-height));
		padding-top: clamp(0.5rem, 2.5vh, 1rem);
		padding-bottom: clamp(1rem, 4vh, 1.75rem);
	}

	.site-main--front .hero-content {
		width: 100%;
		max-width: min(100%, 22rem);
		margin-inline: auto;
		gap: clamp(0.5rem, 2vw, 0.85rem);
	}

	.site-main--front .hero-catch-col {
		order: 1;
		width: 100%;
	}

	.site-main--front .hero-tagline-col {
		order: 2;
		width: 100%;
		padding-top: 0;
		justify-content: center;
	}

	.site-main--front .hero-catch-copy__line {
		font-size: clamp(1.5625rem, 6.8vw, 2rem);
		line-height: 1.45;
	}

	.site-main--front .hero-tagline {
		flex-wrap: wrap;
		justify-content: center;
		align-content: flex-start;
		/* A2：段落（列）間の余白 */
		gap: clamp(1rem, 4.2vw, 1.35rem);
		max-height: calc(100dvh - var(--header-height) - 9rem);
	}

	.site-main--front .hero-tagline__para,
	.site-main--front .hero-tagline p {
		flex: 0 0 auto;
		max-height: min(58vh, 19.5em);
		font-size: clamp(0.9375rem, 3.75vw, 1.0625rem);
		line-height: 1.65;
		letter-spacing: 0.075em;
	}

	.site-main--front .hero-tagline__para br,
	.site-main--front .hero-tagline p br {
		display: none;
	}
}

/* ==========================================================================
   改善2：サイト全体タイポグラフィ（控えめ調整・ヒーロー除外）
   ========================================================================== */

:root {
	--child-body-size: 1rem;
	--child-body-size-mobile: 1.0625rem;
	--child-small-size: 0.875rem;
	--child-line-height: 1.75;
}

@media screen and (min-width: 768px) {
	html {
		font-size: 100%;
	}

	body {
		font-size: var(--child-body-size);
		line-height: var(--child-line-height);
	}
}

@media screen and (max-width: 767px) {
	html {
		font-size: 106.25%;
	}

	body {
		font-size: var(--child-body-size-mobile);
		line-height: 1.78;
	}
}

small {
	font-size: var(--child-small-size);
}

/* 本文系（0.9375rem 指定が多い箇所を一段階底上げ） */
.service-intro__lead,
.demolition-intro__lead,
.feature-card p,
.cta-contact__lead,
.cta-contact__note,
.crane-recommend p,
.crane-area p,
.crane-safety-block p,
.service-section .section-heading-design__lead,
.recruit-intro__lead,
.recruit-apply-cta__lead,
.recruit-job-card__catch,
.recruit-detail-text,
.recruit-detail-list li,
.faq-item__answer,
.news-card__excerpt,
.subpage-hero__lead,
.page-hero-lead {
	font-size: clamp(1rem, 0.95rem + 0.25vw, 1.0625rem);
	line-height: 1.78;
}

@media screen and (max-width: 767px) {
	.service-intro__lead,
	.demolition-intro__lead,
	.feature-card p,
	.cta-contact__lead,
	.recruit-intro__lead,
	.recruit-apply-cta__lead {
		font-size: clamp(1.0625rem, 1rem + 0.35vw, 1.125rem);
	}
}

/* 補足・ラベル（14px 未満になりやすい箇所） */
.service-breadcrumb,
.service-page-header__en,
.section-heading-design__en,
.job-badge,
.recruit-detail-note,
.recruit-summary-card__pay-label,
.footer-contact dt {
	font-size: max(0.875rem, 14px);
}

/* 見出し（h2 固定 30px を rem 化してわずかに拡大） */
@media screen and (min-width: 768px) {
	h2 {
		font-size: clamp(1.875rem, 1.5rem + 1vw, 2rem);
	}

	h3 {
		font-size: clamp(1.3125rem, 1.15rem + 0.5vw, 1.5625rem);
	}
}

@media screen and (max-width: 767px) {
	h2 {
		font-size: clamp(1.625rem, 1.35rem + 1.5vw, 1.875rem);
	}

	h3 {
		font-size: clamp(1.25rem, 1.1rem + 0.8vw, 1.4375rem);
	}
}

/* ==========================================================================
   改善3：クレーン作業 — 対応内容カードのイラスト非表示
   ========================================================================== */

.site-main--crane .crane-service-card__icon {
	display: none !important;
}

.site-main--crane .crane-service-card {
	display: flex;
	align-items: center;
	min-height: 5.5rem;
	padding: clamp(1.35rem, 3vw, 1.75rem) clamp(1.25rem, 3vw, 2rem);
}

.site-main--crane .crane-service-card h3 {
	width: 100%;
	margin: 0;
}

/* お知らせ・解体コラム Swiper → assets/css/blog-swiper-overrides.css（Swiper CDN 後に読み込み） */

/* ==========================================================================
   採用ページ：応募CTA 電話ボタン（2行・中央寄せ）
   ========================================================================== */

.recruit-apply-cta__buttons {
	justify-content: center;
	align-items: center;
}

.recruit-apply-cta__phone {
	justify-content: center;
	min-width: min(100%, 18.5rem);
	padding-inline: 1.75rem;
	line-height: 1.35;
}

.recruit-apply-cta__phone-body {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.35rem;
}

.recruit-apply-cta__phone-label {
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.4;
}

.recruit-apply-cta__phone-number {
	font-size: clamp(1.0625rem, 1rem + 0.35vw, 1.1875rem);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
	.recruit-apply-cta__buttons {
		flex-direction: column;
		align-items: center;
	}

	.recruit-apply-cta__buttons .btn-design.recruit-apply-cta__phone {
		width: auto;
		max-width: 100%;
	}
}

