/* ==========================================================
   HASEGAWA KAIGO SERVICE LP — CLEAN FINAL
   重複整理済み / 後勝ち最終値を採用 / 現行構造用
   ========================================================== */

html,
body.hasegawa-lp-page {
	margin: 0 !important;
	padding: 0 !important;
}

body.hasegawa-lp-page {
	background: #fff !important;
}

body.hasegawa-lp-page .hasegawa-lp {
	--hg-page-width: 1024px;
	--hg-content-width: 976px;
	--hg-green: #0a6238;
	--hg-green-dark: #07552f;
	--hg-red: #df514e;
	--hg-care: #73ad35;
	--hg-blue: #159bd3;
	position: relative !important;
	width: 100vw !important;
	max-width: none !important;
	margin: 0 calc(50% - 50vw) !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: #fff !important;
	color: #222 !important;
	font-family: "Yu Gothic",
		"YuGothic",
		"Hiragino Kaku Gothic ProN",
		"Hiragino Sans",
		"Meiryo",
		sans-serif !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.65 !important;
	letter-spacing: .01em !important;
	-webkit-font-smoothing: antialiased;
}

body.hasegawa-lp-page .hasegawa-lp *,
body.hasegawa-lp-page .hasegawa-lp *::before,
body.hasegawa-lp-page .hasegawa-lp *::after {
	box-sizing: border-box !important;
}

body.hasegawa-lp-page .hasegawa-lp h1,
body.hasegawa-lp-page .hasegawa-lp h2,
body.hasegawa-lp-page .hasegawa-lp h3,
body.hasegawa-lp-page .hasegawa-lp h4,
body.hasegawa-lp-page .hasegawa-lp h5,
body.hasegawa-lp-page .hasegawa-lp h6,
body.hasegawa-lp-page .hasegawa-lp p,
body.hasegawa-lp-page .hasegawa-lp dl,
body.hasegawa-lp-page .hasegawa-lp dt,
body.hasegawa-lp-page .hasegawa-lp dd {
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
	text-shadow: none !important;
	color: inherit !important;
	font-family: inherit !important;
	font-style: normal !important;
	text-decoration: none !important;
}

body.hasegawa-lp-page .hasegawa-lp h1::before,
body.hasegawa-lp-page .hasegawa-lp h1::after,
body.hasegawa-lp-page .hasegawa-lp h2::before,
body.hasegawa-lp-page .hasegawa-lp h2::after,
body.hasegawa-lp-page .hasegawa-lp h3::before,
body.hasegawa-lp-page .hasegawa-lp h3::after,
body.hasegawa-lp-page .hasegawa-lp h4::before,
body.hasegawa-lp-page .hasegawa-lp h4::after {
	display: none !important;
	content: none !important;
}

body.hasegawa-lp-page .hasegawa-lp a {
	color: inherit !important;
	text-decoration: none !important;
}

body.hasegawa-lp-page .hasegawa-lp > section {
	position: relative !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

body.hasegawa-lp-page .hasegawa-lp .hg-container {
	position: relative !important;
	width: calc(100% - 48px) !important;
	max-width: var(--hg-content-width) !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

.hg-services {
	padding: 10px 0 8px !important;
	background: #fff !important;
}

.hg-hero {
	height: 344px !important;
	background: linear-gradient(90deg,#fff 0%,#fff 31%,#eff7e9 100%) !important;
}

.hg-hero__bg {
	position: absolute !important;
	inset: 0 !important;
	z-index: 0 !important;
	pointer-events: none !important;
}

.hg-hero__inner {
	position: relative !important;
	width: 100% !important;
	max-width: var(--hg-page-width) !important;
	height: 344px !important;
	margin: 0 auto !important;
}

.hg-hero__copy {
	position: absolute !important;
	z-index: 5 !important;
	top: 20px !important;
	left: 52px !important;
}

.hg-hero__company-name {
	display: flex !important;
	align-items: baseline !important;
	gap: 7px !important;
	color: #111 !important;
}

.hg-hero__company-name span {
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
}

.hg-hero__company-name strong {
	font-size: 23px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: .01em !important;
}

.hg-hero__company p {
	margin-top: 3px !important;
	color: #333 !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	letter-spacing: .03em !important;
}

body.hasegawa-lp-page .hasegawa-lp .hg-hero__title {
	margin-top: 31px !important;
	color: var(--hg-green-dark) !important;
	font-family: "Yu Mincho",
		"YuMincho",
		"Hiragino Mincho ProN",
		"Hiragino Mincho Pro",
		"MS PMincho",
		serif !important;
	font-size: 39px !important;
	font-weight: 500 !important;
	line-height: 1.28 !important;
	letter-spacing: .055em !important;
}

.hg-hero__lead {
	margin-top: 10px !important;
	color: #222 !important;
	font-size: 15px !important;
	line-height: 1.65 !important;
	letter-spacing: .015em !important;
}

.hg-hero__photo {
	position: absolute !important;
	z-index: 1 !important;
	top: 0 !important;
	right: 0 !important;
	width: 55% !important;
	height: 100% !important;
	background: linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(244,249,239,.35) 24%,rgba(232,244,224,.72) 100%) !important;
}

.hg-hero__contact {
	position: absolute !important;
	z-index: 10 !important;
	top: 0 !important;
	right: 0 !important;
	width: 305px !important;
	padding: 10px 18px 11px !important;
	border-radius: 0 0 0 28px !important;
	background: rgba(255,255,255,.96) !important;
	text-align: center !important;
}

.hg-hero__tel {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	color: var(--hg-green-dark) !important;
}

.hg-hero__tel strong {
	font-size: 24px !important;
	font-weight: 500 !important;
	line-height: 1.15 !important;
	letter-spacing: .03em !important;
}

.hg-contact-icon {
	color: var(--hg-green-dark) !important;
	font-size: 16px !important;
	line-height: 1 !important;
}

.hg-hero__contact > p {
	margin-top: 2px !important;
	color: #333 !important;
	font-size: 10px !important;
	line-height: 1.35 !important;
}

.hg-hero__mail {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 7px !important;
	margin-top: 4px !important;
	color: #333 !important;
	font-size: 12px !important;
	line-height: 1.35 !important;
}

.hg-mail-icon {
	color: var(--hg-green-dark) !important;
	font-size: 18px !important;
	line-height: 1 !important;
}

.hg-hero__message {
	position: absolute !important;
	z-index: 6 !important;
	top: 142px !important;
	right: 42px !important;
	color: #fff !important;
	font-family: "Yu Mincho",
		"YuMincho",
		"Hiragino Mincho ProN",
		serif !important;
	font-size: 19px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	letter-spacing: .06em !important;
	transform: rotate(-7deg) !important;
	text-shadow: 0 1px 3px rgba(0,0,0,.16) !important;
}

.hg-contact-icon,
.hg-mail-icon,
.hg-company__icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto !important;
}

.hg-contact-icon svg,
.hg-mail-icon svg,
.hg-company__icon svg {
	display: block !important;
	width: 1em !important;
	height: 1em !important;
	fill: currentColor !important;
}

.hg-hero__photo img,
.hg-service-card__photo img {
	width: 100% !important;
	height: 100% !important;
	display: block !important;
	object-fit: cover !important;
}

.hg-services__heading {
	margin-bottom: 12px !important;
	padding: 15px;
	text-align: center !important;
}

body.hasegawa-lp-page .hasegawa-lp .hg-services__heading h2 {
	color: #151515 !important;
	font-size: 25px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	letter-spacing: 0 !important;
	text-align: center !important;
}

body.hasegawa-lp-page .hasegawa-lp .hg-services__heading h2 strong {
	color: var(--hg-green-dark) !important;
	font-family: "Yu Mincho",
		"YuMincho",
		"Hiragino Mincho ProN",
		serif !important;
	font-size: 43px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
}

.hg-services__heading p {
	margin-top: 2px !important;
	color: #333 !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	letter-spacing: .03em !important;
}

.hg-services__grid {
	display: grid !important;
	grid-template-columns: repeat(3,minmax(0,1fr)) !important;
	gap: 12px !important;
	width: 100% !important;
	align-items: stretch !important;
}

.hg-service-card {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	min-width: 0 !important;
	height: 100% !important;
	overflow: hidden !important;
	border-radius: 11px !important;
}

.hg-service-card--helper {
	background: linear-gradient(180deg,#fff2f1 0%,#fff9f7 100%) !important;
}

.hg-service-card--care {
	background: linear-gradient(180deg,#f2f9ed 0%,#f8fbf4 100%) !important;
}

.hg-service-card--day {
	background: linear-gradient(180deg,#edf8fd 0%,#f5fbff 100%) !important;
}

.hg-service-card__header {
	display: flex !important;
	align-items: center !important;
	gap: 9px !important;
	height: 74px !important;
	min-height: 74px !important;
	padding: 8px 10px !important;
}

.hg-service-card__header > div:last-child {
	min-width: 0 !important;
}

.hg-service-card--helper .hg-service-card__icon {
	background: #ef7e7e !important;
}

.hg-service-card--care .hg-service-card__icon {
	background: #79b63b !important;
}

.hg-service-card--day .hg-service-card__icon {
	background: #39a9d8 !important;
}

.hg-service-card__type {
	display: block !important;
	margin: 0 0 2px !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
}

body.hasegawa-lp-page .hasegawa-lp .hg-service-card--helper .hg-service-card__type {
	color: #e85b5b !important;
}

body.hasegawa-lp-page .hasegawa-lp .hg-service-card--care .hg-service-card__type {
	color: #73ad35 !important;
}

body.hasegawa-lp-page .hasegawa-lp .hg-service-card--day .hg-service-card__type {
	color: #159bd3 !important;
}

body.hasegawa-lp-page .hasegawa-lp .hg-service-card h3 {
	margin: 0 !important;
	color: #111 !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
	white-space: nowrap !important;
}

.hg-service-card__photo {
	flex: none !important;
	display: block !important;
	width: calc(100% - 16px) !important;
	height: 132px !important;
	margin: 0 8px !important;
	padding: 0 !important;
	border-radius: 3px !important;
	background: rgba(255,255,255,.50) !important;
}

.hg-service-card__body {
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
	padding: 9px 9px 11px !important;
}

body.hasegawa-lp-page .hasegawa-lp .hg-service-card h4 {
	display: block !important;
	width: 100% !important;
	min-height: 39px !important;
	margin: 0 0 4px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
	letter-spacing: 0 !important;
	white-space: normal !important;
}

body.hasegawa-lp-page .hasegawa-lp .hg-service-card--helper h4 {
	color: #dc4848 !important;
}

body.hasegawa-lp-page .hasegawa-lp .hg-service-card--care h4 {
	color: #176a37 !important;
}

body.hasegawa-lp-page .hasegawa-lp .hg-service-card--day h4 {
	color: #078bc9 !important;
}

.hg-service-card__description {
	min-height: 76px !important;
	margin: 0 0 6px !important;
	color: #333 !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 1.62 !important;
	letter-spacing: 0 !important;
}

body.hasegawa-lp-page .hasegawa-lp .hg-data-list {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

body.hasegawa-lp-page .hasegawa-lp .hg-service-card .hg-data-list > div {
	display: grid !important;
	grid-template-columns: 79px minmax(0,1fr) !important;
	width: 100% !important;
	min-height: 0 !important;
	margin: 0 0 2px !important;
	padding: 0 !important;
	align-items: stretch !important;
	border: 0 !important;
	background: transparent !important;
}

body.hasegawa-lp-page .hasegawa-lp .hg-service-card .hg-data-list dt {
	display: flex !important;
	align-items: center !important;
	justify-content: center;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 34px !important;
	margin: 0 !important;
	padding: 5px 6px !important;
	border: 0 !important;
	border-radius: 2px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
}

body.hasegawa-lp-page .hasegawa-lp .hg-service-card .hg-data-list dd {
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 34px !important;
	margin: 0 !important;
	padding: 5px 7px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: rgba(255,255,255,.30) !important;
	color: #333 !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	letter-spacing: 0 !important;
	overflow-wrap: anywhere !important;
}

body.hasegawa-lp-page .hasegawa-lp .hg-service-card--helper .hg-data-list dt {
	background: #fde9e7 !important;
	color: #df514e !important;
}

body.hasegawa-lp-page .hasegawa-lp .hg-service-card--care .hg-data-list dt {
	background: #eaf4e2 !important;
	color: #28703a !important;
}

body.hasegawa-lp-page .hasegawa-lp .hg-service-card--day .hg-data-list dt {
	background: #e4f2fa !important;
	color: #087fb9 !important;
}

.hg-service-card__icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 55px !important;
	width: 55px !important;
	min-width: 55px !important;
	max-width: 55px !important;
	height: 55px !important;
	min-height: 55px !important;
	max-height: 55px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border-radius: 50% !important;
	aspect-ratio: 1/1 !important;
	line-height: 1 !important;
}

.hg-service-card__icon svg {
	display: block !important;
	width: 34px !important;
	height: 34px !important;
	fill: #fff !important;
}

.hg-data-list dd br {
	display: block !important;
	content: "" !important;
}

.hg-message {
	position: relative !important;
	display: grid !important;
	grid-template-columns: 32% 68% !important;
	width: 100% !important;
	max-width: var(--hg-page-width) !important;
	min-height: 153px !important;
	margin: 0 auto !important;
	background: linear-gradient(90deg,#f6f1e6 0%,#fff 48%,#f5f8eb 100%) !important;
}

.hg-message::before {
	position: absolute !important;
	z-index: -1 !important;
	inset: 0 auto 0 50% !important;
	width: 100vw !important;
	margin-left: -50vw !important;
	background: linear-gradient(90deg,#f6f1e6 0%,#fff 48%,#f5f8eb 100%) !important;
	content: "" !important;
}

.hg-message__photo {
	width: 100% !important;
	height: 100% !important;
	background: rgba(238,237,225,.45) !important;
}

.hg-message__content {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	padding: 13px 42px 13px 12px !important;
}

.hg-message__label {
	color: #17643a !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	letter-spacing: .03em !important;
}

body.hasegawa-lp-page .hasegawa-lp .hg-message h2 {
	margin-top: 3px !important;
	color: #111 !important;
	font-family: "Yu Mincho",
		"YuMincho",
		"Hiragino Mincho ProN",
		"Hiragino Mincho Pro",
		"MS PMincho",
		serif !important;
	font-size: 27px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	letter-spacing: .015em !important;
}

.hg-message__content > p:last-child {
	margin-top: 5px !important;
	color: #333 !important;
	font-size: 12px !important;
	line-height: 1.6 !important;
}

.hg-message__photo img {
	width: 100% !important;
	height: 200px !important;
	display: block !important;
	object-fit: cover !important;
}

.hg-recruit {
	padding: 8px 0 !important;
	background: #f7faf7 !important;
}

.hg-recruit__banner {
	display: grid !important;
	grid-template-columns: 190px 145px minmax(0,1fr) 250px !important;
	align-items: center !important;
	width: 100% !important;
	min-height: 94px !important;
	overflow: hidden !important;
	border: 1px solid #d8e9d9 !important;
	border-radius: 9px !important;
	background: linear-gradient(90deg,#edf7eb 0%,#f7fbf6 100%) !important;
}

.hg-recruit__photo {
	width: 100% !important;
	height: 94px !important;
	background: rgba(218,237,215,.45) !important;
}

body.hasegawa-lp-page .hasegawa-lp .hg-recruit h2 {
	color: #075f34 !important;
	font-size: 27px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	text-align: center !important;
}

.hg-recruit__copy {
	padding: 0 7px !important;
}

.hg-recruit__copy strong {
	color: #195f37 !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.45 !important;
}

.hg-recruit__copy p {
	margin-top: 3px !important;
	color: #333 !important;
	font-size: 11px !important;
	line-height: 1.5 !important;
}

.hg-recruit__button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	height: 54px !important;
	margin-right: 12px !important;
	border-radius: 8px !important;
	background: linear-gradient(90deg,#438f4e,#28723b) !important;
	box-shadow: 0 3px 7px rgba(26,91,48,.18) !important;
	color: #fff !important;
}

.hg-recruit__button span,
.hg-recruit__button strong {
	color: #fff !important;
}

.hg-recruit__button > span:nth-child(2) {
	font-size: 14px !important;
	font-weight: 700 !important;
}

.hg-recruit__button > strong {
	font-size: 21px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
}

.hg-recruit__photo img {
	width: 100% !important;
	height: 100% !important;
	display: block !important;
	object-fit: cover !important;
}

.hg-recruit__people {
	font-size: 12px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.hg-recruit__people svg {
	display: block !important;
	width: 32px !important;
	height: 32px !important;
	fill: currentColor !important;
}

.hg-company {
	padding: 14px 0 24px !important;
	background: linear-gradient(90deg,#f9fdf9 0%,#f3faf5 100%) !important;
}

.hg-company__grid {
	display: grid !important;
	grid-template-columns: 45% 55% !important;
	gap: 22px !important;
	align-items: start !important;
}

.hg-company__main {
	padding: 4px 8px 0 22px !important;
}

body.hasegawa-lp-page .hasegawa-lp .hg-company__main h2 {
	color: #111 !important;
	font-size: 19px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
}

.hg-company__address {
	margin-top: 4px !important;
	color: #333 !important;
	font-size: 12px !important;
	line-height: 1.55 !important;
}

.hg-company__contacts {
	margin-top: 10px !important;
}

.hg-company__contacts > a,
.hg-company__contacts > p {
	display: flex !important;
	align-items: center !important;
	min-height: 30px !important;
	color: var(--hg-green-dark) !important;
}

.hg-company__contacts strong {
	font-size: 20px !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
	letter-spacing: .02em !important;
}

.hg-company__contacts small {
	margin-left: 7px !important;
	color: #333 !important;
	font-size: 12px !important;
	line-height: 1.3 !important;
}

.hg-company__icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 34px !important;
	color: var(--hg-green-dark) !important;
	font-size: 18px !important;
}

.hg-location p {
	color: #333 !important;
	font-size: 11px !important;
	line-height: 1.5 !important;
}

.hg-company__map {
	width: 100% !important;
	height: 300px !important;
	overflow: hidden !important;
}

.hg-company__map iframe {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	border: 0 !important;
}

@media screen and (min-width: 768px) and (max-width: 1023px) {

	body.hasegawa-lp-page .hasegawa-lp .hg-container {
		width: calc(100% - 32px) !important;
		max-width: none !important;
	}

	.hg-hero__inner {
		width: 100% !important;
		max-width: none !important;
	}

	.hg-hero__copy {
		left: 32px !important;
	}

	.hg-services__grid {
		gap: 8px !important;
	}

	.hg-service-card__header {
		gap: 6px !important;
		padding-left: 7px !important;
		padding-right: 7px !important;
	}

	.hg-service-card__icon {
		flex-basis: 48px !important;
		width: 48px !important;
		min-width: 48px !important;
		max-width: 48px !important;
		height: 48px !important;
		min-height: 48px !important;
		max-height: 48px !important;
	}

	.hg-service-card__type {
		font-size: 11px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-service-card h3 {
		font-size: 15px !important;
	}

	.hg-service-card__photo {
		height: 118px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-service-card .hg-data-list > div {
		grid-template-columns: 70px minmax(0,1fr) !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-service-card .hg-data-list dt {
		font-size: 10px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-service-card .hg-data-list dd {
		font-size: 15px !important;
	}

	.hg-recruit__banner {
		grid-template-columns: 150px 120px minmax(0,1fr) 205px !important;
	}

	.hg-company__main {
		padding-left: 8px !important;
	}

}

@media screen and (max-width: 767px) {

	body.hasegawa-lp-page .hasegawa-lp {
		font-size: 15px !important;
	}

	.hg-services {
		padding: 25px 0 18px !important;
	}

	.hg-hero {
		height: auto !important;
		min-height: 560px !important;
	}

	.hg-hero__inner {
		width: 100% !important;
		max-width: none !important;
		height: auto !important;
		min-height: 560px !important;
	}

	.hg-hero__photo {
		top: auto !important;
		bottom: 0 !important;
		width: 100% !important;
		height: 220px !important;
		opacity: .5 !important;
	}

	.hg-hero__copy {
		top: 24px !important;
		left: 20px !important;
		right: 20px !important;
	}

	.hg-hero__company-name {
		display: block !important;
	}

	.hg-hero__company-name span {
		display: block !important;
		font-size: 14px !important;
	}

	.hg-hero__company-name strong {
		font-size: 22px !important;
	}

	.hg-hero__company p {
		font-size: 13px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-hero__title {
		margin-top: 26px !important;
		font-size: 34px !important;
		line-height: 1.38 !important;
	}

	.hg-hero__lead {
		font-size: 14px !important;
	}

	.hg-hero__contact {
		top: auto !important;
		right: 14px !important;
		bottom: 14px !important;
		width: 285px !important;
		border-radius: 14px !important;
	}

	.hg-hero__tel strong {
		font-size: 23px !important;
	}

	.hg-hero__message {
		display: none !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-services__heading h2 {
		font-size: 23px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-services__heading h2 strong {
		font-size: 39px !important;
	}

	.hg-services__heading p {
		font-size: 13px !important;
	}

	.hg-services__grid {
		grid-template-columns: 1fr !important;
		gap: 18px !important;
	}

	.hg-service-card__header {
		height: auto !important;
		min-height: 86px !important;
		padding: 12px 13px !important;
		gap: 11px !important;
	}

	.hg-service-card__icon {
		flex-basis: 60px !important;
		width: 60px !important;
		min-width: 60px !important;
		max-width: 60px !important;
		height: 60px !important;
		min-height: 60px !important;
		max-height: 60px !important;
	}

	.hg-service-card__type {
		font-size: 14px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-service-card h3 {
		font-size: 20px !important;
		white-space: normal !important;
	}

	.hg-service-card__photo {
		width: calc(100% - 20px) !important;
		height: 250px !important;
		margin: 0 10px !important;
	}

	.hg-service-card__body {
		padding: 14px 13px 16px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-service-card h4 {
		min-height: 0 !important;
		font-size: 17px !important;
	}

	.hg-service-card__description {
		min-height: 0 !important;
		font-size: 14px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-service-card .hg-data-list > div {
		grid-template-columns: 95px minmax(0,1fr) !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-service-card .hg-data-list dt {
		font-size: 13px !important;
		padding: 7px 8px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-service-card .hg-data-list dd {
		font-size: 15px !important;
		padding: 7px 9px !important;
	}

	.hg-message {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		min-height: 0 !important;
	}

	.hg-message__photo {
		height: 170px !important;
	}

	.hg-message__content {
		padding: 27px 20px 30px !important;
	}

	.hg-message__label {
		font-size: 15px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-message h2 {
		font-size: 25px !important;
	}

	.hg-message__content > p:last-child {
		font-size: 14px !important;
	}

	.hg-message__content > p:last-child br {
		display: none !important;
	}

	.hg-recruit {
		padding: 12px 0 !important;
	}

	.hg-recruit__banner {
		display: block !important;
		width: 100% !important;
		padding-bottom: 15px !important;
	}

	.hg-recruit__photo {
		height: 150px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-recruit h2 {
		padding: 16px 15px 5px !important;
		font-size: 30px !important;
	}

	.hg-recruit__copy {
		padding: 5px 20px 17px !important;
		text-align: center !important;
	}

	.hg-recruit__copy strong {
		font-size: 16px !important;
	}

	.hg-recruit__copy p {
		font-size: 14px !important;
	}

	.hg-recruit__button {
		width: calc(100% - 30px) !important;
		height: 58px !important;
		margin: 0 15px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-container,
	.hg-company__grid {
		width: calc(100% - 28px) !important;
		max-width: none !important;
	}

	.hg-company {
		padding-top: 22px !important;
	}

	.hg-company__grid {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
	}

	.hg-company__main {
		padding: 0 !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-company__main h2 {
		font-size: 22px !important;
	}

	.hg-company__address {
		font-size: 14px !important;
	}

	.hg-company__contacts strong {
		font-size: 20px !important;
	}

	.hg-company__contacts small {
		font-size: 12px !important;
	}

	.hg-location p {
		font-size: 14px !important;
	}

}

@media screen and (max-width: 374px) {

	body.hasegawa-lp-page .hasegawa-lp .hg-hero__title {
		font-size: 30px !important;
	}

	.hg-hero__contact {
		right: 5px !important;
		width: calc(100% - 10px) !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-container,
	.hg-company__grid {
		width: calc(100% - 20px) !important;
	}

}

@media screen and (min-width: 1024px) {

	body.hasegawa-lp-page .hasegawa-lp .hg-container {
		width: calc(100% - 84px) !important;
		max-width: 1716px !important;
	}

	.hg-services {
		padding: 16px 0 12px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp {
		--hg-page-width: 1800px;
		--hg-content-width: 1716px;
		font-size: 18px !important;
	}

	.hg-hero {
		height: 605px !important;
	}

	.hg-hero__inner {
		width: 100% !important;
		max-width: 1800px !important;
		height: 605px !important;
	}

	.hg-hero__copy {
		top: 35px !important;
		left: 91px !important;
	}

	.hg-hero__company-name {
		gap: 12px !important;
	}

	.hg-hero__contact {
		width: 536px !important;
		padding: 18px 32px 19px !important;
		border-radius: 0 0 0 49px !important;
	}

	.hg-hero__tel {
		gap: 14px !important;
	}

	.hg-hero__company-name span {
		font-size: 22px !important;
	}

	.hg-hero__company-name strong {
		font-size: 32px !important;
	}

	.hg-hero__company p {
		margin-top: 5px !important;
		font-size: 17px !important;
	}

	.hg-hero__lead {
		margin-top: 14px !important;
		font-size: 20px !important;
	}

	.hg-hero__tel strong {
		font-size: 34px !important;
	}

	.hg-contact-icon {
		font-size: 23px !important;
	}

	.hg-hero__contact > p {
		margin-top: 4px !important;
		font-size: 14px !important;
	}

	.hg-hero__mail {
		gap: 12px !important;
		margin-top: 7px !important;
		font-size: 17px !important;
	}

	.hg-mail-icon {
		font-size: 25px !important;
	}

	.hg-hero__message {
		top: 250px !important;
		right: 74px !important;
		font-size: 27px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-hero {
		width: 100% !important;
		max-width: 1950px !important;
		height: 580px !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-hero__inner {
		width: 100% !important;
		max-width: 1950px !important;
		height: 580px !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-hero__contact {
		width: 500px !important;
		padding: 50px 20px 20px !important;
		border-radius: 0 0 0 49px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-hero__copy {
		top: 50px !important;
		left: 91px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-hero__company-name span {
		font-size: 24px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-hero__company-name strong {
		font-size: 34px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-hero__company p {
		font-size: 19px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-hero__title {
		margin-top: 60px !important;
		font-size: 57px !important;
		line-height: 1.30 !important;
		letter-spacing: .02em !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-hero__lead {
		font-size: 22px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-hero__tel strong {
		font-size: 36px !important;
		color: #07552f !important;
		font-weight: 600 !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-contact-icon {
		font-size: 25px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-hero__contact > p {
		font-size: 16px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-hero__mail {
		font-size: 19px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-mail-icon {
		font-size: 27px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-hero__message {
		color: #fff !important;
		font-weight: normal !important;
		font-size: 29px !important;
	}

	.hg-services__grid {
		gap: 21px !important;
	}

	.hg-services__heading {
		margin-bottom: 18px !important;
	}

	.hg-services__heading p {
		margin-top: 4px !important;
		font-size: 18px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-services__heading h2 {
		font-size: 40px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-services__heading h2 strong {
		font-size: 62px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-services__heading p {
		font-size: 20px !important;
	}

	.hg-service-card__header {
		gap: 14px !important;
		height: 108px !important;
		min-height: 108px !important;
		padding: 12px 16px !important;
	}

	.hg-service-card__icon {
		flex-basis: 78px !important;
		width: 78px !important;
		min-width: 78px !important;
		max-width: 78px !important;
		height: 78px !important;
		min-height: 78px !important;
		max-height: 78px !important;
	}

	.hg-service-card__type {
		margin-bottom: 4px !important;
		font-size: 18px !important;
		line-height: 1.3 !important;
	}

	.hg-service-card__photo {
		width: calc(100% - 28px) !important;
		height: 250px !important;
		margin: 0 14px !important;
		border-radius: 5px !important;
	}

	.hg-service-card__body {
		padding: 13px 14px 15px !important;
	}

	.hg-service-card__description {
		min-height: 0 !important;
		margin-bottom: 10px !important;
		font-size: 15px !important;
		line-height: 1.55 !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-service-card .hg-data-list > div {
		grid-template-columns: 122px minmax(0,1fr) !important;
		margin-bottom: 3px !important;
		height: auto !important;
		min-height: 0 !important;
	}

	.hg-service-card {
		border-radius: 19px !important;
		min-height: 0 !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-service-card__icon span {
		font-size: 34px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-service-card__type {
		font-size: 20px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-service-card h3 {
		font-size: 28px !important;
		line-height: 1.25 !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-service-card h4 {
		min-height: 0 !important;
		margin-bottom: 7px !important;
		font-size: 20px !important;
		line-height: 1.4 !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-service-card__description {
    font-size: 17px !important;
    font-weight: 500 !important;
    margin-bottom: 20px !important;
}

	body.hasegawa-lp-page .hasegawa-lp .hg-service-card .hg-data-list dt {
		min-height: 44px !important;
		padding: 7px 9px !important;
		font-size: 16px !important;
		height: auto !important;
		line-height: 1.35 !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-service-card .hg-data-list dd {
		min-height: 44px !important;
		padding: 7px 9px !important;
		font-size: 17px !important;
		line-height: 1.5 !important;
		height: auto !important;
	}

	.hg-message {
		grid-template-columns: 30% 70% !important;
		max-width: 1800px !important;
		min-height: 205px !important;
	}

	.hg-message__content {
		padding: 18px 30px !important;
	}

	.hg-message__label {
		font-size: 18px !important;
	}

	.hg-message__content > p:last-child {
		margin-top: 6px !important;
		font-size: 16px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-message__label {
		font-size: 20px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-message h2 {
		margin-top: 4px !important;
		font-size: 40px !important;
		line-height: 1.35 !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-message__content > p:last-child {
		font-size: 18px !important;
	}

	.hg-recruit__copy {
		padding: 0 12px !important;
	}

	.hg-recruit {
		padding: 12px 0 !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-recruit .hg-container {
		width: 100% !important;
		max-width: 1800px !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.hg-recruit__banner {
		grid-template-columns: 30% 15% minmax(0,30%) 25% !important;
		min-height: 128px !important;
		border-radius: 16px !important;
	}

	.hg-recruit__photo {
		height: 200px !important;
	}

	.hg-recruit__copy strong {
		font-size: 18px !important;
	}

	.hg-recruit__copy p {
		margin-top: 4px !important;
		font-size: 15px !important;
	}

	.hg-recruit__button {
		gap: 18px !important;
		height: 90px !important;
		margin-right: 21px !important;
		border-radius: 14px !important;
	}

	.hg-recruit__button > span:nth-child(2) {
		font-size: 20px !important;
	}

	.hg-recruit__button > strong {
		font-size: 29px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-recruit h2 {
		font-size: 40px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-recruit__copy strong {
		font-size: 20px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-recruit__copy p {
		font-size: 17px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-recruit__button > span:nth-child(2) {
		font-size: 22px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-recruit__button > strong {
		font-size: 31px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp

	.hg-company__grid {
		grid-template-columns: 45% 55% !important;
		gap: 39px !important;
	}

	.hg-company {
		padding: 20px 0 34px !important;
	}

	.hg-company__main {
		padding: 6px 14px 0 39px !important;
	}

	.hg-company__address {
		margin-top: 5px !important;
		font-size: 16px !important;
	}

	.hg-company__contacts {
		margin-top: 12px !important;
	}

	.hg-company__contacts > a,
	.hg-company__contacts > p {
		min-height: 39px !important;
	}

	.hg-company__contacts strong {
		font-size: 27px !important;
	}

	.hg-company__contacts small {
		margin-left: 10px !important;
		font-size: 13px !important;
	}

	.hg-company__icon {
		width: 48px !important;
		font-size: 25px !important;
	}

	.hg-location p {
		font-size: 15px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-company__main h2 {
		font-size: 28px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-company__address {
		font-size: 18px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-company__contacts strong {
		font-size: 29px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-company__contacts small {
		font-size: 15px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-company__icon {
		font-size: 27px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-location p {
		font-size: 17px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-location__sub {
		font-size: 14px !important;
	}

}

/* =========================================================
   USER DIRECTIVE — HERO / COMPANY ALIGNMENT
   ========================================================= */
@media screen and (min-width: 1024px) {

	/* HERO: use the photo/background across the full hero width */
	body.hasegawa-lp-page .hasegawa-lp .hg-hero__photo {
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		height: 100% !important;
		background: none !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-hero__photo img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center center !important;
	}

	/* Keep the copy readable while retaining the full-width background */
	body.hasegawa-lp-page .hasegawa-lp .hg-hero__photo::after {
		content: "" !important;
		position: absolute !important;
		inset: 0 !important;
		z-index: 2 !important;
		pointer-events: none !important;
		background:linear-gradient(90deg, rgb(255 255 255 / 73%) 0%, rgba(255, 255, 255, .94) 27%, rgb(255 255 255 / 75%) 43%, rgba(255, 255, 255, 0) 58%) !important;
	}

	/* CTA stays in its own solid layer above the hero photo */
	body.hasegawa-lp-page .hasegawa-lp .hg-hero__contact {
		z-index: 20 !important;
		background: #fff !important;
	}

	/* COMPANY: align company details and map at the same top edge */
	body.hasegawa-lp-page .hasegawa-lp .hg-company__grid {
		align-items: center !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-company__main {
		padding-top: 0 !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-company__map {
		margin-top: 0 !important;
	}

	/* COMPANY: increase the left-side typography */
	body.hasegawa-lp-page .hasegawa-lp .hg-company__main h2 {
		font-size: 32px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-company__address {
		font-size: 20px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-company__contacts strong {
		font-size: 32px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-company__contacts small {
		font-size: 16px !important;
	}

	body.hasegawa-lp-page .hasegawa-lp .hg-company__icon {
		font-size: 29px !important;
	}
}

/* USER DIRECTIVE — MESSAGE PHOTO HEIGHT */
.hg-message__photo img {
	width: 100% !important;
	height: 220px !important;
	display: block !important;
	object-fit: cover !important;
}
.hg-message__content {
    position: relative !important;
}

.hg-message__content::after {
    content: "" !important;
    position: absolute !important;
    right: 50px !important;
    bottom: 0 !important;
    width: 300px !important;
    height: 300px !important;
    background: url("../images/hasegawa/message-leaf.png") no-repeat right bottom !important;
    background-size: contain !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

.hg-message__content > * {
    position: relative !important;
    z-index: 1 !important;
}
/* =========================================================
   MOTION EFFECTS
   ========================================================= */

/* 3つの事業カードだけ、読み込み時に下からフワッ */
.hg-services__grid {
    opacity: 0;
    transform: translateY(70px);
    transition:
        opacity .55s ease-out,
        transform .75s cubic-bezier(.22, 1, .36, 1);
}

.hg-services__grid.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* -----------------------------------------
   私たちの想い
   スクロール時：右から ←
   ----------------------------------------- */

.hg-message {
    opacity: 0;
    transform: translateX(70px);
    transition:
        opacity .75s ease,
        transform .75s ease;
}

.hg-message.is-visible {
    opacity: 1;
    transform: translateX(0);
}


/* -----------------------------------------
   採用情報
   スクロール時：左から →
   ----------------------------------------- */

.hg-recruit {
    opacity: 0;
    transform: translateX(-70px);
    transition:
        opacity .75s ease,
        transform .75s ease;
}

.hg-recruit.is-visible {
    opacity: 1;
    transform: translateX(0);
}


/* 動きを減らす設定をしている端末への対応 */
@media (prefers-reduced-motion: reduce) {

    .hg-services,
    .hg-message,
    .hg-recruit {
        opacity: 1;
        transform: none;
        transition: none;
    }

}


/* =========================================================
   MOBILE RESPONSIVE — FIRST ADJUSTMENT
   ========================================================= */
@media screen and (max-width: 767px) {

    /* -----------------------------------------
       全体
       ----------------------------------------- */

    body.hasegawa-lp-page .hasegawa-lp {
        font-size: 14px !important;
        line-height: 1.6 !important;
    }

    body.hasegawa-lp-page .hasegawa-lp .hg-container {
        width: calc(100% - 24px) !important;
        max-width: none !important;
    }


    /* -----------------------------------------
       HERO
       ----------------------------------------- */

    .hg-hero {
        min-height: 500px !important;
    }

    .hg-hero__inner {
        min-height: 500px !important;
    }

    .hg-hero__copy {
        top: 20px !important;
        left: 18px !important;
        right: 18px !important;
    }

    .hg-hero__company-name span {
        font-size: 12px !important;
    }

    .hg-hero__company-name strong {
        font-size: 19px !important;
    }

    .hg-hero__company p {
        margin-top: 2px !important;
        font-size: 11px !important;
    }

    body.hasegawa-lp-page .hasegawa-lp .hg-hero__title {
        margin-top: 22px !important;
        font-size: 26px !important;
        line-height: 1.42 !important;
        letter-spacing: .035em !important;
    }

    .hg-hero__lead {
        margin-top: 8px !important;
        font-size: 12px !important;
        line-height: 1.65 !important;
    }

    .hg-hero__photo {
        height: 210px !important;
    }

    .hg-hero__contact {
        right: 12px !important;
        bottom: 12px !important;
        width: 270px !important;
        padding: 9px 14px 10px !important;
    }

    .hg-hero__tel strong {
        font-size: 21px !important;
    }

    .hg-hero__contact > p {
        font-size: 9px !important;
    }

    .hg-hero__mail {
        font-size: 11px !important;
    }


    /* -----------------------------------------
       3つの事業 — 見出し
       ----------------------------------------- */

    .hg-services {
        padding: 18px 0 14px !important;
    }

    .hg-services__heading {
        margin-bottom: 10px !important;
        padding: 8px 4px 10px !important;
    }

    body.hasegawa-lp-page .hasegawa-lp .hg-services__heading h2 {
        font-size: 18px !important;
        line-height: 1.3 !important;
    }

    body.hasegawa-lp-page .hasegawa-lp .hg-services__heading h2 strong {
        font-size: 34px !important;
    }

    .hg-services__heading p {
        margin-top: 4px !important;
        font-size: 11px !important;
        line-height: 1.5 !important;
    }

    .hg-services__grid {
        gap: 14px !important;
    }


    /* -----------------------------------------
       3つの事業 — カード
       ----------------------------------------- */

    .hg-service-card {
        border-radius: 12px !important;
    }

    .hg-service-card__header {
        min-height: 72px !important;
        padding: 9px 11px !important;
        gap: 9px !important;
    }

    .hg-service-card__icon {
        flex-basis: 50px !important;
        width: 50px !important;
        min-width: 50px !important;
        max-width: 50px !important;
        height: 50px !important;
        min-height: 50px !important;
        max-height: 50px !important;
    }

    .hg-service-card__icon svg {
        width: 29px !important;
        height: 29px !important;
    }

    .hg-service-card__type {
        font-size: 12px !important;
    }

    body.hasegawa-lp-page .hasegawa-lp .hg-service-card h3 {
        font-size: 18px !important;
        line-height: 1.3 !important;
    }

    .hg-service-card__photo {
        width: calc(100% - 18px) !important;
        height: 190px !important;
        margin: 0 9px !important;
    }

    .hg-service-card__body {
        padding: 11px 11px 13px !important;
    }

    body.hasegawa-lp-page .hasegawa-lp .hg-service-card h4 {
        margin-bottom: 5px !important;
        font-size: 15px !important;
        line-height: 1.45 !important;
    }

    body.hasegawa-lp-page .hasegawa-lp .hg-service-card__description {
        margin-bottom: 12px !important;
        font-size: 13px !important;
        font-weight: 400 !important;
        line-height: 1.6 !important;
    }

    body.hasegawa-lp-page .hasegawa-lp .hg-service-card .hg-data-list > div {
        grid-template-columns: 82px minmax(0, 1fr) !important;
        margin-bottom: 2px !important;
    }

    body.hasegawa-lp-page .hasegawa-lp .hg-service-card .hg-data-list dt {
        min-height: 38px !important;
        padding: 6px 7px !important;
        font-size: 11px !important;
        line-height: 1.4 !important;
    }

    body.hasegawa-lp-page .hasegawa-lp .hg-service-card .hg-data-list dd {
        min-height: 38px !important;
        padding: 6px 7px !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
    }


    /* -----------------------------------------
       私たちの想い
       ----------------------------------------- */

    .hg-message {
        min-height: 0 !important;
    }

    .hg-message__photo {
        height: 150px !important;
    }

    .hg-message__photo img {
        width: 100% !important;
        height: 150px !important;
        object-fit: cover !important;
    }

    .hg-message__content {
        padding: 20px 18px 22px !important;
    }

    .hg-message__label {
        font-size: 12px !important;
    }

    body.hasegawa-lp-page .hasegawa-lp .hg-message h2 {
        margin-top: 3px !important;
        font-size: 18px !important;
        line-height: 1.4 !important;
    }

    .hg-message__content > p:last-child {
        margin-top: 7px !important;
        font-size: 13px !important;
        line-height: 1.65 !important;
    }


    /* -----------------------------------------
       採用情報
       ----------------------------------------- */

    .hg-recruit {
        padding: 10px 0 !important;
    }

    .hg-recruit__banner {
        padding-bottom: 12px !important;
        border-radius: 10px !important;
    }

    .hg-recruit__photo {
        height: 140px !important;
    }

    body.hasegawa-lp-page .hasegawa-lp .hg-recruit h2 {
        padding: 12px 14px 3px !important;
        font-size: 24px !important;
    }

    .hg-recruit__copy {
        padding: 4px 16px 13px !important;
    }

    .hg-recruit__copy strong {
        font-size: 14px !important;
    }

    .hg-recruit__copy p {
        margin-top: 3px !important;
        font-size: 12px !important;
    }

    .hg-recruit__button {
        width: calc(100% - 24px) !important;
        height: 52px !important;
        margin: 0 12px !important;
    }

    .hg-recruit__button > span:nth-child(2) {
        font-size: 14px !important;
    }


    /* -----------------------------------------
       会社概要
       ----------------------------------------- */

    .hg-company {
        padding: 18px 0 22px !important;
    }

    .hg-company__grid {
        width: calc(100% - 24px) !important;
        gap: 18px !important;
    }

    .hg-company__main {
        padding: 0 !important;
    }

    body.hasegawa-lp-page .hasegawa-lp .hg-company__main h2 {
        font-size: 20px !important;
        line-height: 1.4 !important;
    }

    .hg-company__address {
        margin-top: 4px !important;
        font-size: 12px !important;
    }

    .hg-company__contacts {
        margin-top: 8px !important;
    }

    .hg-company__contacts > a,
    .hg-company__contacts > p {
        min-height: 28px !important;
    }

    .hg-company__contacts strong {
        font-size: 18px !important;
    }

    .hg-company__contacts small {
        font-size: 12px !important;
    }

    .hg-company__icon {
        width: 30px !important;
        font-size: 16px !important;
    }

    .hg-location p {
        font-size: 12px !important;
    }

    .hg-company__map {
        height: 240px !important;
    }

}

/* =========================================================
   MOBILE HERO — FINAL IMAGE STYLE
   写真 → メインメッセージ → 連絡先
   ========================================================= */
@media screen and (max-width: 767px) {

    /* =========================================
       HERO全体
       ========================================= */

    body.hasegawa-lp-page .hasegawa-lp .hg-hero {
        position: relative !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: #f7fbf3 !important;
    }

    body.hasegawa-lp-page .hasegawa-lp .hg-hero__inner {
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }


    /* =========================================
       ① 写真
       ========================================= */

    body.hasegawa-lp-page .hasegawa-lp .hg-hero__photo {
        position: relative !important;
        z-index: 1 !important;
        order: 1 !important;

        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        width: 100% !important;
        height: 285px !important;

        opacity: 1 !important;
        overflow: hidden !important;
        background: none !important;
    }

    body.hasegawa-lp-page .hasegawa-lp .hg-hero__photo img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;

        /*
         * 人物を少し右寄りに見せる
         * 必要なら後でここだけ微調整
         */
        object-position: center center !important;
    }

    /* PC用グラデーションが残らないようにする */
    body.hasegawa-lp-page .hasegawa-lp .hg-hero__photo::after {
        display: none !important;
        content: none !important;
    }


    /* =========================================
       写真左上：会社名
       ========================================= */

    body.hasegawa-lp-page .hasegawa-lp .hg-hero__copy {
        display: contents !important;
    }

    body.hasegawa-lp-page .hasegawa-lp .hg-hero__company {
        position: absolute !important;
        z-index: 10 !important;

        top: 16px !important;
        left: 18px !important;

        width: auto !important;
        max-width: calc(100% - 36px) !important;

        margin: 0 !important;
        padding: 8px 10px !important;

        border-radius: 4px !important;
        background: rgba(255,255,255,.70) !important;
        backdrop-filter: blur(2px);
        -webkit-backdrop-filter: blur(2px);
    }

    body.hasegawa-lp-page .hasegawa-lp .hg-hero__company-name {
        display: flex !important;
        align-items: baseline !important;
        gap: 5px !important;
        margin: 0 !important;
    }

    body.hasegawa-lp-page .hasegawa-lp .hg-hero__company-name span {
        display: inline !important;
        font-size: 11px !important;
        line-height: 1.3 !important;
    }

    body.hasegawa-lp-page .hasegawa-lp .hg-hero__company-name strong {
        font-size: 18px !important;
        line-height: 1.25 !important;
    }

    body.hasegawa-lp-page .hasegawa-lp .hg-hero__company p {
        margin-top: 2px !important;
        font-size: 9px !important;
        line-height: 1.4 !important;
    }


    /* =========================================
       写真右下：
       「いつも、あなたのそばに。」
       ========================================= */

    body.hasegawa-lp-page .hasegawa-lp .hg-hero__message {
        display: block !important;
        position: absolute !important;
        z-index: 10 !important;

        top: 205px !important;
        right: 17px !important;
        bottom: auto !important;
        left: auto !important;

        margin: 0 !important;

        color: #075f34 !important;

        font-family:
            "Yu Mincho",
            "YuMincho",
            "Hiragino Mincho ProN",
            serif !important;

        font-size: 17px !important;
        font-weight: 600 !important;
        line-height: 1.4 !important;
        letter-spacing: .04em !important;

        transform: rotate(-5deg) !important;

        text-shadow:
            0 1px 3px rgba(255,255,255,.9),
            0 0 8px rgba(255,255,255,.8) !important;
    }


    /* =========================================
       ② メインメッセージ
       ========================================= */

    body.hasegawa-lp-page .hasegawa-lp .hg-hero__title {
        position: relative !important;
        z-index: 5 !important;
        order: 2 !important;
		text-align: center !important;
        width: 100% !important;

        margin: 0 !important;
        padding: 23px 20px 0 !important;

        background: #f7fbf3 !important;

        color: #07552f !important;
        font-size: 26px !important;
        font-weight: 500 !important;
        line-height: 1.45 !important;
        letter-spacing: .025em !important;
    }


    /* =========================================
       メインメッセージ下の説明文
       ========================================= */

    body.hasegawa-lp-page .hasegawa-lp .hg-hero__lead {
        position: relative !important;
        z-index: 5 !important;
        order: 3 !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 10px 20px 21px !important;

        background: #f7fbf3 !important;

        color: #333 !important;
        font-size: 12px !important;
        line-height: 1.7 !important;
        letter-spacing: .015em !important;
    }
	
	body.hasegawa-lp-page .hasegawa-lp .hg-hero__lead br {
    display: none !important;
}


    /* =========================================
       ③ 電話・メール
       ========================================= */

    body.hasegawa-lp-page .hasegawa-lp .hg-hero__contact {
        position: relative !important;
        z-index: 8 !important;
        order: 4 !important;

        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        width: calc(100% - 28px) !important;

        margin: 0 14px 15px !important;
        padding: 11px 14px 12px !important;

        border-radius: 12px !important;
        background: #fff !important;

        box-shadow:
            0 4px 14px rgba(31,83,47,.10) !important;

        text-align: center !important;
    }

    body.hasegawa-lp-page .hasegawa-lp .hg-hero__tel {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 7px !important;
    }

    body.hasegawa-lp-page .hasegawa-lp .hg-hero__tel strong {
        color: #07552f !important;
        font-size: 22px !important;
        font-weight: 600 !important;
        line-height: 1.15 !important;
    }

    body.hasegawa-lp-page .hasegawa-lp .hg-contact-icon {
        font-size: 18px !important;
    }

    body.hasegawa-lp-page .hasegawa-lp .hg-hero__contact > p {
        margin-top: 3px !important;
        font-size: 9px !important;
        line-height: 1.35 !important;
    }

    body.hasegawa-lp-page .hasegawa-lp .hg-hero__mail {
        justify-content: center !important;
        margin-top: 5px !important;
        font-size: 11px !important;
        line-height: 1.35 !important;
    }

    body.hasegawa-lp-page .hasegawa-lp .hg-mail-icon {
        font-size: 16px !important;
    }


    /* =========================================
       私たちの想い
       スマホでは葉っぱ非表示
       ========================================= */

    body.hasegawa-lp-page .hasegawa-lp .hg-message__content::after {
        display: none !important;
        content: none !important;
    }

}