@charset "UTF-8";
/* =========================================================
   群馬不用品回収センター リデザイン（2026-11）
   コンセプト：上州の職人仕事。墨（チャコール）× 達磨の朱 × 生成り（絹）
   モチーフ ：富岡製糸場の煉瓦目地の地紋／斜めの帯／朱の角印（スタンプ）／
              大きな数字／ずらした墨の影／高崎だるまの職人キャラクター
   ========================================================= */

:root {
	--ink: #1e2124;
	--ink-2: #2d3236;
	--ink-3: #4a5056;
	--red: #a8321e;
	--red-d: #86240f;
	--red-l: #f6e4dc;
	--kinari: #f5efe3;
	--kinari-2: #ebe2cf;
	--gold: #c8962e;
	--gold-t: #7d5a12;
	--line: #dcd2bf;
	--line-2: #ebe5d8;
	--text: #262626;
	--muted: #5b564d;
	--w: 1160px;
	--pad: max(20px, calc((100% - var(--w)) / 2));
	--brick-d: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='36'%3E%3Cpath d='M0 .5H72M0 18.5H72M.5 0V18M36.5 18V36' fill='none' stroke='%23ffffff' stroke-opacity='.07'/%3E%3C/svg%3E");
	--brick-l: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='36'%3E%3Cpath d='M0 .5H72M0 18.5H72M.5 0V18M36.5 18V36' fill='none' stroke='%231e2124' stroke-opacity='.06'/%3E%3C/svg%3E");
	--font: "M PLUS 1", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

body,
#body_wrap {
	font-family: var(--font);
	color: var(--text);
	background: #fff;
	font-feature-settings: "palt" 1;
}

#body_wrap h1, #body_wrap h2, #body_wrap h3, #body_wrap h4 { font-family: var(--font); }
#body_wrap .post_content h2,
#body_wrap .post_content h3 { font-family: var(--font); }

/* SWELL の上余白・コンテナを打ち消す（トップ・エリア・料金・会社） */
.top #content,
#content { padding-top: 0; }
.home .l-mainContent__inner,
.single .gunma-service-container,
.gunma-service-container.l-article,
.gunma-additional-container { max-width: none !important; padding: 0 !important; margin: 0 !important; width: 100%; }
.gunma-service-container > section,
.gunma-additional-container > section,
.gunma-reasons-hero-container > section { margin: 0; }
.l-mainContent__inner > section { margin-top: 0; }

/* 見出しに残っている Font Awesome（旧デザインの装飾）は使わない */
.gunma-area-title > i,
.gunma-comparison-title > i,
.gunma-flow-title > i,
.gunma-faq-title > i,
.gunma-cases-title > i,
.gunma-company-title > i,
.gunma-survey-title > i,
.gunma-pack-title > i { display: none; }

.sp { display: none; }
@media (max-width: 768px) { .sp { display: inline; } br.sp { display: block; content: ""; } }

/* ---------------------------------------------------------
   共通：セクション・見出し・ボタン
   --------------------------------------------------------- */
.gunma-area-section,
.gunma-achievement-section,
.gunma-problem-section,
.gunma-reasons-section,
.gunma-comparison-section,
.gunma-voice-section,
.gunma-service-intro-section,
.gunma-price-section,
.gunma-cases-section,
.gunma-flow-section,
.gunma-faq-section,
.kr-items-section,
.kr-grid-section,
.gunma-company-section,
.gunma-survey-section {
	padding: 104px var(--pad);
	position: relative;
}

/* 小見出し：朱の斜めタグ */
.gm-eyebrow {
	display: table;
	margin: 0 auto 18px;
	padding: 5px 22px 6px;
	background: var(--red);
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .14em;
	line-height: 1.5;
	transform: skewX(-12deg);
}
.gm-eyebrow::first-line { transform: none; }

/* 大見出し：太字・墨。span は朱の下線帯 */
.gunma-area-title,
.gunma-achievement-title,
.gunma-problem-title,
.gunma-reasons-header h2,
.gunma-comparison-title,
.gunma-voice-title,
.gunma-service-intro-title,
.gunma-price-title,
.gunma-cases-title,
.gunma-flow-title,
.gunma-faq-title,
.gunma-company-title,
.gunma-survey-title {
	margin: 0 auto 48px !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	color: var(--ink) !important;
	font-size: clamp(24px, 3.1vw, 36px) !important;
	font-weight: 900 !important;
	line-height: 1.45 !important;
	letter-spacing: .03em;
	text-align: center;
	text-wrap: balance;
}
.gunma-area-title::before, .gunma-area-title::after,
.gunma-problem-title::before, .gunma-problem-title::after,
.gunma-reasons-header h2::before, .gunma-reasons-header h2::after,
.gunma-comparison-title::before, .gunma-comparison-title::after,
.gunma-voice-title::before, .gunma-voice-title::after,
.gunma-service-intro-title::before, .gunma-service-intro-title::after,
.gunma-price-title::before, .gunma-price-title::after,
.gunma-cases-title::before, .gunma-cases-title::after,
.gunma-flow-title::before, .gunma-flow-title::after,
.gunma-faq-title::before, .gunma-faq-title::after,
.gunma-company-title::before, .gunma-company-title::after { content: none !important; display: none !important; }

.gunma-area-title span,
.gunma-problem-title span,
.gunma-comparison-title span,
.gunma-voice-title span,
.gunma-service-intro-title span,
.gunma-price-title span,
.gunma-cases-title span,
.gunma-flow-title span,
.gunma-faq-title span,
.gunma-company-title span,
.gunma-survey-title span {
	color: var(--red) !important;
	background: linear-gradient(transparent 72%, var(--red-l) 72%, var(--red-l) 96%, transparent 96%);
	padding: 0 .08em;
}

.gunma-area-subtitle,
.gunma-comparison-subtitle,
.gunma-survey-lead {
	max-width: 760px;
	margin: -28px auto 44px !important;
	padding: 0 !important;
	background: none !important;
	color: var(--muted) !important;
	font-size: 15px !important;
	font-weight: 500;
	line-height: 1.95 !important;
	text-align: center;
	border: 0 !important;
}

/* ボタン：墨のずらし影 */
.gm-btn,
.gunma-problem-cta-button,
.gunma-wk-section-cta a,
.wk-more-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 56px;
	padding: 12px 34px !important;
	border: 2px solid var(--ink) !important;
	border-radius: 4px !important;
	background: #fff !important;
	color: var(--ink) !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	letter-spacing: .06em;
	text-decoration: none !important;
	box-shadow: 5px 5px 0 var(--ink) !important;
	transition: transform .15s, box-shadow .15s;
}
.gm-btn:hover,
.gunma-problem-cta-button:hover,
.gunma-wk-section-cta a:hover,
.wk-more-btn:hover { transform: translate(3px, 3px); box-shadow: 2px 2px 0 var(--ink) !important; }
.gunma-problem-cta-button::after,
.gunma-wk-section-cta a::after { content: "\f061"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 13px; }
.gunma-problem-cta-button i { display: none; }
.gm-btn--red { background: var(--red) !important; border-color: var(--red-d) !important; color: #fff !important; box-shadow: 4px 4px 0 var(--ink) !important; }
.gunma-wk-section-cta { text-align: center; margin-top: 48px; grid-column: 1 / -1; }
.center { text-align: center; }

/* ---------------------------------------------------------
   ヘッダー
   --------------------------------------------------------- */
.gm-header { position: sticky; top: 0; z-index: 100; background: #fff; border-bottom: 1px solid var(--line); }
.gm-header__bar { background: var(--ink); color: #fff; }
.gm-header__tagline { margin: 0; padding: 5px var(--pad); font-size: 12px; font-weight: 500; letter-spacing: .06em; line-height: 1.6; }
.gm-header__main { display: flex; align-items: center; gap: 28px; padding: 10px max(20px, calc((100% - 1240px) / 2)); }
.gm-logo { margin: 0; flex: 0 0 auto; font-size: inherit; }
.gm-logo a { display: flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; }
.gm-logo__mark { width: 52px; height: 52px; border-radius: 50%; background: var(--kinari); object-fit: cover; }
.gm-logo__text { display: flex; flex-direction: column; line-height: 1.2; }
.gm-logo__sub { font-size: 11px; font-weight: 700; color: var(--red); letter-spacing: .12em; }
.gm-logo__name { font-size: 21px; font-weight: 900; letter-spacing: .02em; }
.gm-nav { margin-left: auto; }
.gm-nav__list { display: flex; gap: 2px; margin: 0; padding: 0; list-style: none; }
.gm-nav__list a { display: block; padding: 10px 12px; color: var(--ink); font-size: 14px; font-weight: 700; text-decoration: none; border-bottom: 2px solid transparent; }
.gm-nav__list a:hover { border-bottom-color: var(--red); color: var(--red); }
.gm-header__contact { display: flex; align-items: center; gap: 14px; }
.gm-header__tel { display: flex; flex-direction: column; color: var(--ink); text-decoration: none; line-height: 1.2; }
.gm-header__tel-lbl { font-size: 11px; font-weight: 700; color: var(--muted); }
.gm-header__tel-num { font-size: 25px; font-weight: 900; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.gm-header__tel-num i { color: var(--red); font-size: 18px; margin-right: 6px; }
.gm-header__form { min-height: 46px !important; padding: 8px 18px !important; font-size: 14px !important; }
.gm-menu-btn { display: none; }
.gm-drawer[hidden] { display: none !important; }

@media (max-width: 1180px) {
	.gm-nav { display: none; }
	.gm-header__contact { margin-left: auto; }
	.gm-menu-btn { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 6px 4px; background: none; border: 0; color: var(--ink); cursor: pointer; }
	.gm-menu-btn__bars { display: flex; flex-direction: column; gap: 5px; width: 26px; }
	.gm-menu-btn__bars span { height: 3px; background: var(--ink); border-radius: 2px; transition: transform .2s, opacity .2s; }
	.gm-menu-btn[aria-expanded="true"] .gm-menu-btn__bars span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
	.gm-menu-btn[aria-expanded="true"] .gm-menu-btn__bars span:nth-child(2) { opacity: 0; }
	.gm-menu-btn[aria-expanded="true"] .gm-menu-btn__bars span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
	.gm-menu-btn__txt { font-size: 11px; font-weight: 700; }
	.gm-drawer { position: absolute; left: 0; right: 0; top: 100%; background: var(--ink); background-image: var(--brick-d); padding: 12px 24px 28px; max-height: calc(100vh - 100px); overflow-y: auto; }
	.gm-drawer__list { margin: 0; padding: 0; list-style: none; }
	.gm-drawer__list a { display: block; padding: 15px 4px; color: #fff; font-size: 16px; font-weight: 700; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.14); }
	.gm-drawer__list--area { margin-top: 10px; }
	.gm-drawer__list--area a { font-size: 14px; color: #e9dcc3; }
	.gm-drawer__tel { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 22px; padding: 14px; background: var(--red); color: #fff; font-size: 24px; font-weight: 900; text-decoration: none; border-radius: 4px; }
}
@media (max-width: 768px) {
	.gm-header__tagline { font-size: 11px; padding: 4px 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.gm-header__main { gap: 10px; padding: 8px 14px; }
	.gm-logo__mark { width: 40px; height: 40px; }
	.gm-logo__sub { font-size: 10px; }
	.gm-logo__name { font-size: 16px; }
	.gm-header__contact { display: none; }
	.gm-menu-btn { margin-left: auto; }
}

/* ---------------------------------------------------------
   ファーストビュー
   --------------------------------------------------------- */
.gmfv {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	background: var(--ink);
	background-image: var(--brick-d);
	color: #fff;
	overflow: hidden;
	isolation: isolate;
}
.gmfv__photo {
	position: absolute;
	inset: 0 0 0 46%;
	clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%);
	z-index: 0;
}
.gmfv__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 62% 50%; display: block; }
.gmfv__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(30,33,36,.35), rgba(30,33,36,0) 30%); }
.gmfv__web {
	position: absolute; top: 22px; right: -46px; z-index: 2; margin: 0;
	width: 200px; padding: 6px 0; background: var(--gold); color: var(--ink);
	font-size: 18px; font-weight: 900; letter-spacing: .12em; text-align: center; transform: rotate(35deg);
}
.gmfv__stamp {
	position: absolute; right: 7%; bottom: 120px; z-index: 2; margin: 0;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	width: 118px; height: 118px; border: 4px solid #fff; outline: 2px solid #fff; outline-offset: 4px;
	background: var(--red); color: #fff; font-weight: 900; line-height: 1.15; transform: rotate(-8deg);
}
.gmfv__stamp span:first-child { font-size: 30px; letter-spacing: .1em; }
.gmfv__stamp span:last-child { font-size: 17px; }
.gmfv__chara { position: absolute; left: 41%; bottom: 96px; width: 210px; z-index: 3; }
.gmfv__chara img { width: 100%; height: auto; display: block; filter: drop-shadow(0 6px 0 rgba(0,0,0,.25)); }
.gmfv__in { position: relative; z-index: 2; padding: 46px max(20px, calc((100% - 1240px) / 2)) 30px; }
.gmfv__copy { max-width: 560px; }
.gmfv__label {
	display: inline-block; margin: 0 0 14px; padding: 4px 16px 5px; border: 2px solid var(--gold); color: var(--gold);
	font-size: 16px; font-weight: 800; letter-spacing: .1em;
}
.gmfv__catch { margin: 0 0 6px; font-size: 21px; font-weight: 700; letter-spacing: .03em; color: #fff; }
.gmfv__em { color: var(--gold); font-size: 1.35em; font-weight: 900; margin: 0 .06em; }
.gmfv__name { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; }
.gmfv__seal {
	display: grid; place-items: center; flex: 0 0 auto; width: 48px; height: 48px; border: 2px solid #fff; outline: 1px solid #fff; outline-offset: 3px;
	background: var(--red); font-size: 17px; font-weight: 900; writing-mode: vertical-rl; letter-spacing: .05em;
}
.gmfv__ttl { margin: 0; font-size: clamp(28px, 3.3vw, 42px); font-weight: 900; line-height: 1.2; letter-spacing: .02em; color: #fff; }
.gmfv__plan { display: flex; align-items: stretch; margin: 0 0 18px; background: var(--kinari); color: var(--ink); box-shadow: 8px 8px 0 var(--red); }
.gmfv__teigaku { margin: 0; display: flex; align-items: center; gap: 10px; padding: 10px 22px 12px; font-size: 62px; font-weight: 900; line-height: 1; letter-spacing: .04em; border-right: 1px solid var(--line); }
.gmfv__pack { display: inline-block; padding: 6px 10px; background: var(--ink); color: var(--gold); font-size: 22px; letter-spacing: .1em; }
.gmfv__base { margin: 0; display: flex; align-items: baseline; gap: 6px; padding: 10px 22px; }
.gmfv__base-lbl { align-self: center; padding: 4px 10px; border: 2px solid var(--ink); font-size: 15px; font-weight: 800; border-radius: 3px; }
.gmfv__num { font-size: 84px; font-weight: 900; line-height: .9; color: var(--red); font-variant-numeric: tabular-nums; }
.gmfv__yen { font-size: 28px; font-weight: 900; }
.gmfv__ticket {
	position: relative; display: inline-flex; flex-direction: column; margin: 0; padding: 10px 26px 11px 20px;
	border-left: 6px solid var(--gold); background: rgba(255,255,255,.08);
	font-size: 15px; font-weight: 700; line-height: 1.6; color: #fff;
}
.gmfv__ticket strong { color: var(--gold); font-size: 1.25em; font-weight: 900; }
.gmfv__features {
	position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, 1fr);
	margin: 0; padding: 0 max(20px, calc((100% - 1240px) / 2)); list-style: none;
	background: #fff; color: var(--ink); border-top: 4px solid var(--red);
}
.gmfv__features li { display: flex; flex-direction: column; justify-content: center; gap: 2px; padding: 14px 18px; border-left: 1px solid var(--line); }
.gmfv__features li:last-child { border-right: 1px solid var(--line); }
.gmfv__f-lbl { font-size: 13px; font-weight: 800; color: var(--red); letter-spacing: .12em; }
.gmfv__f-val { display: flex; align-items: baseline; gap: 2px; font-size: 16px; font-weight: 800; white-space: nowrap; }
.gmfv__f-val i { align-self: center; margin-right: 8px; color: var(--ink-3); font-size: 18px; }
.gmfv__f-val b { font-size: 28px; font-weight: 900; color: var(--ink); line-height: 1.1; font-variant-numeric: tabular-nums; }
.gmfv__pay { display: none; }

@media (max-width: 1100px) {
	.gmfv__chara { left: 38%; width: 170px; }
	.gmfv__teigaku { font-size: 50px; }
	.gmfv__num { font-size: 68px; }
}
@media (max-width: 768px) {
	.gmfv { display: flex; flex-direction: column; }
	.gmfv__in { order: 1; padding: 22px 16px 0; }
	.gmfv__copy { max-width: none; text-align: center; }
	.gmfv__label { font-size: 13px; margin-bottom: 8px; }
	.gmfv__catch { font-size: 15px; }
	.gmfv__name { justify-content: center; gap: 8px; margin-bottom: 14px; }
	.gmfv__seal { width: 36px; height: 36px; font-size: 13px; }
	.gmfv__ttl { font-size: clamp(22px, 6.6vw, 28px); }
	.gmfv__plan { justify-content: center; margin: 0 6px 14px 0; box-shadow: 6px 6px 0 var(--red); }
	.gmfv__teigaku { font-size: clamp(34px, 11vw, 44px); padding: 8px 12px 10px; gap: 6px; }
	.gmfv__pack { font-size: 15px; padding: 4px 7px; }
	.gmfv__base { padding: 8px 12px; gap: 4px; flex-wrap: wrap; justify-content: center; }
	.gmfv__base-lbl { font-size: 12px; padding: 3px 6px; }
	.gmfv__num { font-size: clamp(48px, 15vw, 60px); }
	.gmfv__yen { font-size: 20px; }
	.gmfv__ticket { display: flex; font-size: 13px; padding: 8px 12px; text-align: left; }
	.gmfv__photo { order: 2; position: relative; inset: auto; height: 210px; margin-top: 16px; clip-path: polygon(0 12%, 100% 0, 100% 100%, 0 100%); }
	.gmfv__photo::after { display: none; }
	.gmfv__web { font-size: 14px; width: 150px; right: -38px; top: 30px; }
	.gmfv__stamp { right: 14px; bottom: 14px; width: 84px; height: 84px; border-width: 3px; }
	.gmfv__stamp span:first-child { font-size: 22px; }
	.gmfv__stamp span:last-child { font-size: 12px; }
	.gmfv__chara { order: 3; position: absolute; left: 10px; top: auto; bottom: 214px; width: 100px; }
	.gmfv__features { order: 4; grid-template-columns: repeat(2, 1fr); padding: 0; border-top-width: 3px; }
	.gmfv__features li { padding: 10px 12px; border-left: 0; border-bottom: 1px solid var(--line); }
	.gmfv__features li:nth-child(odd) { border-right: 1px solid var(--line); }
	.gmfv__features li:last-child { border-right: 0; }
	.gmfv__f-lbl { font-size: 12px; }
	.gmfv__f-val { font-size: 13px; }
	.gmfv__f-val i { font-size: 14px; margin-right: 5px; }
	.gmfv__f-val b { font-size: 20px; }
	.gmfv__pay { order: 5; display: flex; align-items: center; gap: 10px; padding: 10px 16px; background: var(--kinari); color: var(--ink); }
	.gmfv__pay-ttl { margin: 0; flex: 0 0 auto; padding: 4px 8px; background: var(--ink); color: #fff; font-size: 12px; font-weight: 800; }
	.gmfv__pay-body { margin: 0; font-size: 12px; font-weight: 700; line-height: 1.5; }
	.gmfv__pay-body span { display: block; font-weight: 500; color: var(--muted); }
}

/* ---------------------------------------------------------
   申込みパネル（parts/cta.php）
   --------------------------------------------------------- */
.gm-cta {
	padding: 72px var(--pad) !important;
	margin: 0 !important;
	background: var(--kinari-2) !important;
	background-image: var(--brick-l) !important;
}
.gm-cta__panel {
	position: relative;
	display: grid !important;
	grid-template-columns: 220px minmax(0, 1fr);
	align-items: end;
	gap: 24px;
	max-width: none !important;
	padding: 40px 44px 40px 28px !important;
	background: #fff !important;
	border: 2px solid var(--ink);
	border-radius: 0 !important;
	box-shadow: 10px 10px 0 var(--ink) !important;
}
.gm-cta__chara img { display: block; width: 100%; height: auto; margin-bottom: -40px; }
.gm-cta__body { position: relative; }
.gm-cta__stamp {
	position: absolute; right: -12px; top: -66px; margin: 0;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	width: 86px; height: 86px; border: 3px solid var(--red); outline: 1px solid var(--red); outline-offset: 3px;
	background: #fff; color: var(--red); font-size: 18px; font-weight: 900; line-height: 1.15; transform: rotate(10deg);
}
.gm-cta .contact-cta-title {
	margin: 0 0 22px !important; padding: 0 !important; color: var(--ink) !important; background: none !important;
	font-size: clamp(20px, 2.4vw, 28px) !important; font-weight: 900 !important; line-height: 1.5; text-align: left !important;
}
.gm-cta .contact-cta-title::before, .gm-cta .contact-cta-title::after { content: none !important; }
.gm-cta .contact-cta-grid { display: grid !important; grid-template-columns: 1.15fr 1fr; gap: 0 !important; border-top: 1px solid var(--line); max-width: none !important; }
.gm-cta .contact-cta-card { padding: 20px 24px 4px 0 !important; background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; text-align: left !important; }
.gm-cta .contact-cta-card + .contact-cta-card { padding-left: 24px !important; padding-right: 0 !important; border-left: 1px solid var(--line) !important; }
.gm-cta .contact-cta-label { margin: 0 0 8px !important; color: var(--muted) !important; font-size: 14px !important; font-weight: 700 !important; }
.gm-cta .contact-cta-btn { box-sizing: border-box; display: flex !important; align-items: center; gap: 10px; width: 100%; text-decoration: none !important; border-radius: 4px !important; }
.gm-cta .contact-cta-btn-phone {
	padding: 4px 0 !important; background: none !important; color: var(--red) !important; box-shadow: none !important;
	font-size: clamp(30px, 3.4vw, 42px) !important; font-weight: 900 !important; letter-spacing: .02em; font-variant-numeric: tabular-nums; line-height: 1.1;
}
.gm-cta .contact-cta-btn-phone .contact-cta-icon { font-size: .7em; }
.gm-cta .contact-cta-note { margin: 8px 0 0 !important; color: var(--muted) !important; font-size: 13px !important; }
.gm-cta .contact-cta-btn-email {
	justify-content: center; min-height: 62px; padding: 12px 18px !important;
	background: var(--ink) !important; color: #fff !important; border: 0 !important;
	font-size: 17px !important; font-weight: 800 !important; box-shadow: 5px 5px 0 var(--red) !important; transition: transform .15s, box-shadow .15s;
}
.gm-cta .contact-cta-btn-email:hover { transform: translate(3px, 3px); box-shadow: 2px 2px 0 var(--red) !important; }
.gm-cta .contact-cta-arrow { margin-left: auto; font-size: 13px; }

@media (max-width: 860px) {
	.gm-cta { padding: 52px 16px !important; }
	.gm-cta__panel { grid-template-columns: 1fr; padding: 28px 18px 24px !important; box-shadow: 6px 6px 0 var(--ink) !important; }
	.gm-cta__chara { position: absolute; left: 10px; top: -46px; width: 86px; }
	.gm-cta__chara img { margin: 0; }
	.gm-cta__stamp { right: 4px; top: -58px; width: 66px; height: 66px; font-size: 14px; }
	.gm-cta .contact-cta-title { padding-top: 34px !important; font-size: 19px !important; text-align: center !important; }
	.gm-cta .contact-cta-grid { grid-template-columns: 1fr; }
	.gm-cta .contact-cta-card { padding: 16px 0 !important; text-align: center !important; }
	.gm-cta .contact-cta-card + .contact-cta-card { padding: 16px 0 4px !important; border-left: 0 !important; border-top: 1px solid var(--line) !important; }
	.gm-cta .contact-cta-btn-phone { justify-content: center; font-size: 32px !important; }
}

/* ---------------------------------------------------------
   対応エリア
   --------------------------------------------------------- */
.gunma-area-section { background: #fff; }
.gunma-area-wrapper { max-width: none !important; padding: 0 !important; background: none !important; box-shadow: none !important; }
.gunma-area-content {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 470px); gap: 0 48px; align-items: start;
	max-width: none !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important;
}
.gunma-area-content > * { grid-column: 1; }
.gunma-area-content > .gunma-area-map { grid-column: 2; grid-row: 1 / span 6; margin: 0 !important; }
.gunma-area-grid { display: block !important; margin: 0 0 24px !important; padding: 0 !important; background: none !important; border: 0 !important; }
.gunma-area-label {
	display: flex !important; align-items: center; gap: 12px; width: auto !important; margin: 0 0 14px !important; padding: 0 0 12px !important;
	background: none !important; color: var(--ink) !important; border: 0 !important; border-bottom: 2px solid var(--ink) !important;
	font-size: 18px !important; font-weight: 900 !important; text-align: left !important; border-radius: 0 !important;
}
.gunma-area-label::before { content: ""; width: 12px; height: 12px; background: var(--red); transform: rotate(45deg); }
.gunma-area-cities { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 0 !important; padding: 0 !important; }
.gunma-area-cities span {
	display: block; padding: 9px 4px 9px 0 !important; margin: 0 !important; border: 0 !important; border-bottom: 1px solid var(--line-2) !important;
	background: none !important; color: var(--text) !important; font-size: 14px !important; font-weight: 500; border-radius: 0 !important;
}
.gunma-area-cities span::after { content: none !important; }
.gunma-area-cities a { color: var(--red); font-weight: 700; text-decoration: none; border-bottom: 1px solid currentColor; }
.gunma-area-note {
	display: block !important; margin: 0 0 20px !important; padding: 18px 0 0 !important; background: none !important; border: 0 !important; border-top: 1px solid var(--line) !important; border-radius: 0 !important;
	color: var(--muted) !important; font-size: 14px !important; line-height: 1.95 !important;
}
.gunma-area-note i { display: none; }
.gunma-area-map { position: relative; }
.gunma-area-map img { display: block; width: 100%; height: auto; border: 1px solid var(--line); border-radius: 0; }
.gm-map__pin {
	position: absolute; z-index: 1; padding: 3px 10px; background: var(--ink); color: #fff; font-size: 13px; font-weight: 800;
	transform: translate(-50%, -150%); white-space: nowrap; box-shadow: 3px 3px 0 var(--red);
}
.gm-map__pin--takasaki { left: 25%; top: 46%; }
.gm-map__pin--maebashi { left: 53%; top: 48%; }
.gm-map__pin--ota { left: 78%; top: 74%; }
@media (max-width: 860px) {
	.gunma-area-content { grid-template-columns: 1fr; }
	.gunma-area-content > .gunma-area-map { grid-column: 1; grid-row: auto; margin-top: 8px !important; }
	.gunma-area-cities { grid-template-columns: repeat(3, 1fr); }
}

/* ---------------------------------------------------------
   私たちの仕事（実績）：墨の煉瓦地＋斜めの帯
   --------------------------------------------------------- */
.gunma-achievement-section {
	background: var(--ink) !important;
	background-image: var(--brick-d) !important;
	color: #fff;
	clip-path: polygon(0 48px, 100% 0, 100% calc(100% - 48px), 0 100%);
	padding-top: 140px !important; padding-bottom: 140px !important;
}
.gunma-achievement-section .gm-eyebrow { background: var(--gold); color: var(--ink); }
.gunma-achievement-title { color: #fff !important; }
.gunma-achievement-title span { color: var(--gold) !important; background: none !important; }
.gunma-achievement-badges { display: flex !important; justify-content: center; gap: 18px; margin: -18px 0 52px !important; flex-wrap: wrap; }
.gunma-achievement-badge {
	padding: 10px 22px !important; border: 2px solid var(--gold) !important; border-radius: 0 !important; background: none !important;
	color: #fff !important; font-size: 16px !important; font-weight: 800 !important; letter-spacing: .06em; box-shadow: none !important;
}
.gunma-achievement-content { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); align-items: center; gap: 0; max-width: none !important; }
.gunma-achievement-text { position: relative; z-index: 1; margin-right: -64px; padding: 40px 44px !important; background: var(--kinari) !important; color: var(--text); box-shadow: 8px 8px 0 var(--red); }
.gunma-achievement-text h3 { margin: 0 0 18px !important; padding: 0 0 14px !important; border: 0 !important; border-bottom: 1px solid var(--line) !important; background: none !important; color: var(--ink) !important; font-size: 22px !important; font-weight: 900 !important; line-height: 1.5; }
.gunma-achievement-text h3::before, .gunma-achievement-text h3::after { content: none !important; }
.gunma-achievement-text p { margin: 0; font-size: 15px; line-height: 2; }
.gunma-achievement-image img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 11; object-fit: cover; border-radius: 0 !important; filter: saturate(.95); }
@media (max-width: 860px) {
	.gunma-achievement-section { clip-path: polygon(0 24px, 100% 0, 100% calc(100% - 24px), 0 100%); padding-top: 84px !important; padding-bottom: 84px !important; }
	.gunma-achievement-content { grid-template-columns: 1fr; }
	.gunma-achievement-image { order: -1; }
	.gunma-achievement-text { margin: -36px 10px 0 0; padding: 26px 20px !important; box-shadow: 6px 6px 0 var(--red); }
	.gunma-achievement-text h3 { font-size: 19px !important; }
}

/* ---------------------------------------------------------
   お悩み：だるま職人を中央に、左右に吹き出し
   --------------------------------------------------------- */
.gunma-problem-section { background: var(--kinari) !important; background-image: var(--brick-l) !important; }
.gunma-problem-wrapper { max-width: none !important; padding: 0 !important; background: none !important; }
.gunma-problem-title br { display: block; }
.gunma-problem-grid {
	display: grid !important; grid-template-columns: minmax(0, 1fr) 280px minmax(0, 1fr); grid-template-rows: auto auto;
	align-items: center; gap: 28px 30px !important; max-width: none !important;
}
.gunma-problem-chara { grid-column: 2; grid-row: 1 / span 2; text-align: center; }
.gunma-problem-chara img { width: 100%; height: auto; display: block; }
.gunma-problem-item {
	position: relative; display: flex !important; align-items: flex-start; gap: 14px; margin: 0 !important;
	padding: 22px 24px !important; background: #fff !important; border: 2px solid var(--ink) !important; border-radius: 6px !important; box-shadow: none !important;
	font-size: 15px !important; font-weight: 700; line-height: 1.8; color: var(--ink);
}
.gunma-problem-item:nth-child(2) { grid-column: 1; grid-row: 1; }
.gunma-problem-item:nth-child(3) { grid-column: 3; grid-row: 1; }
.gunma-problem-item:nth-child(4) { grid-column: 1; grid-row: 2; }
.gunma-problem-item:nth-child(5) { grid-column: 3; grid-row: 2; }
.gunma-problem-item::after {
	content: ""; position: absolute; top: 50%; width: 16px; height: 16px; background: #fff;
	border: 2px solid var(--ink); border-left: 0; border-bottom: 0; transform: translateY(-50%) rotate(45deg);
}
.gunma-problem-item:nth-child(even)::after { right: -10px; }
.gunma-problem-item:nth-child(odd)::after { left: -10px; transform: translateY(-50%) rotate(-135deg); }
.gunma-problem-item i { flex: 0 0 auto; display: grid; place-items: center; width: 34px; height: 34px; margin: 2px 0 0 !important; background: var(--red) !important; color: #fff !important; font-size: 15px !important; border-radius: 0 !important; }
.gunma-problem-item span { color: var(--ink) !important; }
@media (max-width: 860px) {
	.gunma-problem-grid { grid-template-columns: 1fr; gap: 14px !important; }
	.gunma-problem-chara { grid-column: 1; grid-row: auto; width: 170px; margin: -10px auto 4px; }
	.gunma-problem-item:nth-child(n) { grid-column: 1; grid-row: auto; padding: 16px !important; font-size: 14px !important; }
	.gunma-problem-item::after { display: none; }
	.gunma-problem-title br { display: none; }
}

/* ---------------------------------------------------------
   メインバナー（朱の斜め帯）
   --------------------------------------------------------- */
.gunma-reasons-hero-container { background: none !important; padding: 0 !important; margin: 0 !important; max-width: none !important; }
.gunma-main-banner {
	position: relative; margin: 0 !important; padding: 40px var(--pad) !important;
	background: var(--red) !important; color: #fff; text-align: center;
	clip-path: polygon(0 0, 100% 22px, 100% 100%, 0 calc(100% - 22px));
}
.gunma-main-banner::before, .gunma-main-banner::after { content: none !important; }
.gunma-main-banner-text { margin: 0 !important; color: #fff !important; font-size: clamp(18px, 2.2vw, 25px) !important; font-weight: 900 !important; line-height: 1.6 !important; letter-spacing: .04em; text-wrap: balance; }
.gunma-main-banner-highlight { color: #fff !important; background: none !important; border-bottom: 3px solid var(--gold); padding: 0 .1em; }
h1.gunma-main-banner-text { font-size: clamp(20px, 2.6vw, 30px) !important; }

/* ---------------------------------------------------------
   選ばれる理由：大判写真と文章を交互に
   --------------------------------------------------------- */
.gunma-reasons-section { background: #fff !important; }
.gunma-reasons-wrapper { max-width: none !important; padding: 0 !important; }
.gunma-reasons-header { margin: 0 0 64px !important; text-align: center; padding: 0 !important; background: none !important; }
.gunma-reasons-header h2 { margin-bottom: 14px !important; }
.gunma-reasons-header p { margin: 0 !important; color: var(--muted) !important; font-size: 16px !important; font-weight: 700; }
.gunma-reasons-header p br.sp { display: none; }
.gunma-reasons-grid { display: flex !important; flex-direction: column; gap: 88px !important; counter-reset: none; }
.gunma-reason-item {
	display: grid !important; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); align-items: center; gap: 0;
	background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; overflow: visible !important; padding: 0 !important;
}
.gunma-reason-item:nth-child(even) { grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); }
.gunma-reason-item:nth-child(even) .gunma-reason-image { order: 2; }
.gunma-reason-image { position: relative; overflow: visible !important; height: auto !important; }
.gunma-reason-image img { display: block; width: 100%; height: auto !important; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 0 !important; }
.gunma-reason-number {
	position: absolute !important; top: -46px !important; left: -10px !important; right: auto !important; z-index: 2;
	width: auto !important; height: auto !important; padding: 0 !important; background: none !important; border-radius: 0 !important; box-shadow: none !important;
	color: var(--red) !important; font-size: 88px !important; font-weight: 900 !important; line-height: 1 !important; letter-spacing: -.02em;
	-webkit-text-stroke: 6px #fff; paint-order: stroke fill; font-variant-numeric: tabular-nums;
}
.gunma-reason-item:nth-child(even) .gunma-reason-number { left: auto !important; right: -10px !important; }
.gunma-reason-content { position: relative; z-index: 1; margin-left: -56px; padding: 36px 36px 34px !important; background: #fff; border: 2px solid var(--ink); box-shadow: 8px 8px 0 var(--kinari-2); }
.gunma-reason-item:nth-child(even) .gunma-reason-content { margin-left: 0; margin-right: -56px; }
.gunma-reason-content h3 {
	margin: 0 0 16px !important; padding: 0 0 14px !important; border: 0 !important; border-bottom: 1px solid var(--line) !important; background: none !important;
	color: var(--ink) !important; font-size: 21px !important; font-weight: 900 !important; line-height: 1.55 !important;
}
.gunma-reason-content h3::before, .gunma-reason-content h3::after { content: none !important; }
.gunma-reason-content p { margin: 0 !important; color: var(--text) !important; font-size: 15px !important; line-height: 1.95 !important; }
@media (max-width: 860px) {
	.gunma-reasons-grid { gap: 60px !important; }
	.gunma-reason-item, .gunma-reason-item:nth-child(even) { grid-template-columns: 1fr; }
	.gunma-reason-item:nth-child(even) .gunma-reason-image { order: 0; }
	.gunma-reason-number { top: -30px !important; font-size: 60px !important; -webkit-text-stroke: 5px #fff; }
	.gunma-reason-content, .gunma-reason-item:nth-child(even) .gunma-reason-content { margin: -28px 0 0 14px; padding: 22px 18px !important; box-shadow: 6px 6px 0 var(--kinari-2); }
	.gunma-reason-image img { aspect-ratio: 16 / 9; }
	.gunma-reason-content h3 { font-size: 18px !important; }
}

/* ---------------------------------------------------------
   比較表
   --------------------------------------------------------- */
.gunma-comparison-section { background: var(--kinari) !important; }
.gunma-comparison-wrapper { max-width: none !important; padding: 0 !important; background: none !important; box-shadow: none !important; }
.gunma-comparison-table-container { overflow-x: auto; background: #fff; border: 2px solid var(--ink); box-shadow: 10px 10px 0 var(--ink); }
.gunma-comparison-table { width: 100%; min-width: 760px; border-collapse: collapse !important; margin: 0 !important; background: #fff; }
.gunma-comparison-table th, .gunma-comparison-table td {
	padding: 16px 18px !important; border: 0 !important; border-bottom: 1px solid var(--line-2) !important; background: none !important;
	color: var(--text) !important; font-size: 14px !important; line-height: 1.6; text-align: left !important; vertical-align: middle;
}
.gunma-comparison-table thead th { padding: 18px !important; border-bottom: 2px solid var(--ink) !important; color: var(--muted) !important; font-size: 14px !important; font-weight: 800 !important; }
.gunma-comparison-table thead th.gunma-comparison-header-main { background: var(--red) !important; color: #fff !important; font-size: 16px !important; border-bottom-color: var(--red) !important; }
.gunma-comparison-label { width: 17%; color: var(--ink) !important; font-weight: 800 !important; }
.gunma-comparison-main { background: var(--red-l) !important; width: 30%; }
.gunma-comparison-main strong { color: var(--red-d); font-weight: 900; }
.gunma-comparison-main strong::before { content: "\f00c"; font-family: "Font Awesome 6 Free"; font-weight: 900; margin-right: 8px; color: var(--red); }
.gunma-comparison-table tbody tr:last-child td { border-bottom: 0 !important; }

/* ---------------------------------------------------------
   お客様の声（3列）
   --------------------------------------------------------- */
.gunma-voice-section { background: #fff !important; }
.gunma-voice-wrapper { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; max-width: none !important; padding: 0 !important; background: none !important; }
.gunma-voice-wrapper > .gm-eyebrow, .gunma-voice-wrapper > h2, .gunma-voice-wrapper > .gunma-wk-section-cta { grid-column: 1 / -1; }
.gunma-voice-wrapper > h2 { margin-bottom: 20px !important; }
.gunma-voice-item, .wk-item .gunma-voice-item {
	display: flex !important; flex-direction: column; margin: 0 !important; padding: 0 !important;
	background: #fff !important; border: 2px solid var(--ink) !important; border-radius: 0 !important; box-shadow: 6px 6px 0 var(--kinari-2) !important;
}
.gunma-voice-customer {
	align-self: flex-start; margin: 0 !important; padding: 6px 14px !important; background: var(--ink) !important; color: #fff !important;
	font-size: 13px !important; font-weight: 800 !important; border-radius: 0 !important;
}
.gunma-voice-subtitle {
	margin: 0 !important; padding: 16px 20px 14px !important; border: 0 !important; background: none !important; color: var(--ink) !important;
	font-size: 17px !important; font-weight: 900 !important; line-height: 1.55 !important;
}
.gunma-voice-subtitle::before, .gunma-voice-subtitle::after { content: none !important; }
.gunma-voice-images { display: grid !important; grid-template-columns: 1fr 22px 1fr; align-items: center; gap: 6px; margin: 0 !important; padding: 0 20px !important; }
.gunma-voice-image-box { position: relative; margin: 0 !important; }
.gunma-voice-image-box img { display: block; width: 100%; aspect-ratio: 4 / 3; height: auto !important; object-fit: cover; border-radius: 0 !important; }
.gunma-voice-badge {
	position: absolute !important; left: 0 !important; top: 0 !important; padding: 2px 8px !important; border-radius: 0 !important;
	background: var(--ink) !important; color: #fff !important; font-size: 11px !important; font-weight: 800 !important; letter-spacing: .08em;
}
.gunma-voice-badge-after { background: var(--red) !important; }
.gunma-voice-arrow { text-align: center; color: var(--red) !important; font-size: 16px !important; }
.wk-bubble { display: flex !important; gap: 12px; align-items: flex-start; margin: 0 !important; padding: 18px 20px 22px !important; background: none !important; border: 0 !important; }
.wk-bubble-who { flex: 0 0 56px; display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; }
.wk-bubble-who img { width: 52px !important; height: 52px !important; border-radius: 50% !important; object-fit: cover; background: var(--kinari); border: 1px solid var(--line); }
.wk-bubble-name { font-size: 11px !important; font-weight: 700; color: var(--muted) !important; line-height: 1.4; }
.wk-bubble-say {
	position: relative; flex: 1; min-width: 0; padding: 14px 16px !important; background: var(--kinari) !important; border: 0 !important; border-radius: 4px !important; box-shadow: none !important;
}
.wk-bubble-say::before { content: ""; position: absolute; left: -8px; top: 18px; border: 8px solid transparent; border-left: 0; border-right-color: var(--kinari); }
.wk-bubble-say::after { content: none !important; }
.wk-bubble-say p { margin: 0 !important; font-size: 14px !important; line-height: 1.9 !important; color: var(--text) !important; }
.wk-bubble-say strong, .wk-bubble-say b { color: var(--red-d); background: linear-gradient(transparent 70%, var(--red-l) 70%); }
.wk-bubble--staff .wk-bubble-say { background: #fff !important; border: 1px solid var(--line) !important; }
.wk-bubble--staff .wk-bubble-say::before { left: -9px; border-right-color: var(--line); }
@media (max-width: 1000px) { .gunma-voice-wrapper { grid-template-columns: 1fr 1fr; } }
@media (max-width: 680px) {
	.gunma-voice-wrapper { grid-template-columns: 1fr; gap: 22px; }
	.gunma-voice-subtitle { font-size: 16px !important; padding: 14px 16px 12px !important; }
	.gunma-voice-images { padding: 0 16px !important; }
	.wk-bubble { padding: 14px 16px 18px !important; }
}

/* ---------------------------------------------------------
   サービス内容
   --------------------------------------------------------- */
.gunma-service-intro-section { background: var(--kinari) !important; background-image: var(--brick-l) !important; }
.gunma-service-intro-wrapper { max-width: none !important; padding: 0 !important; background: none !important; }
.gunma-service-intro-hero {
	display: grid !important; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: stretch; gap: 0; margin: 0 0 80px !important;
	padding: 0 !important; background: var(--ink) !important; color: #fff; border-radius: 0 !important; box-shadow: none !important;
}
.gunma-service-intro-hero-image img { display: block; width: 100%; height: 100%; min-height: 300px; object-fit: cover; border-radius: 0 !important; }
.gunma-service-intro-hero-text { padding: 40px 40px !important; align-self: center; }
.gunma-service-intro-hero-text h3 { margin: 0 0 16px !important; padding: 0 !important; border: 0 !important; background: none !important; color: #fff !important; font-size: 23px !important; font-weight: 900 !important; line-height: 1.55 !important; }
.gunma-service-intro-hero-text h3::before, .gunma-service-intro-hero-text h3::after { content: none !important; }
.gunma-service-intro-hero-text p { margin: 0 !important; color: #e9e4da !important; font-size: 15px !important; line-height: 2 !important; }
.gunma-service-highlight { color: #fff !important; background: none !important; border-bottom: 2px solid var(--gold); font-weight: 700; }
.gunma-service-main-title, .gunma-service-other-title, .gunma-pack-title {
	display: flex !important; align-items: center; gap: 16px; margin: 0 0 28px !important; padding: 0 !important; border: 0 !important; background: none !important;
	color: var(--ink) !important; font-size: 22px !important; font-weight: 900 !important; text-align: left !important;
}
.gunma-service-main-title::before, .gunma-service-other-title::before, .gunma-pack-title::before { content: "" !important; display: block !important; flex: 0 0 auto; width: 14px; height: 14px; background: var(--red); transform: rotate(45deg); position: static !important; border: 0 !important; }
.gunma-service-main-title::after, .gunma-service-other-title::after, .gunma-pack-title::after { content: "" !important; display: block !important; flex: 1; height: 1px; background: var(--line); position: static !important; width: auto !important; border: 0 !important; }
/* 主要3サービス：1枚目を大きく、残り2枚を右に縦積み */
.gunma-service-grid { display: grid !important; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); grid-template-rows: auto auto; gap: 24px !important; margin: 0 0 80px !important; }
.gunma-service-card {
	position: relative; display: grid !important; grid-template-columns: minmax(0, 1fr); background: #fff !important; border: 2px solid var(--ink) !important; border-radius: 0 !important; box-shadow: none !important; overflow: hidden;
}
.gunma-service-card:first-child { grid-row: 1 / span 2; }
.gunma-service-card:not(:first-child) { grid-template-columns: 200px minmax(0, 1fr); grid-template-rows: auto 1fr; }
.gunma-service-card-header {
	position: absolute; left: 0; top: 0; z-index: 1; margin: 0 !important; padding: 8px 16px !important; background: var(--red) !important; color: #fff !important;
	font-size: 17px !important; font-weight: 900 !important; border-radius: 0 !important; text-align: left !important;
}
.gunma-service-card:not(:first-child) .gunma-service-card-header { position: static; grid-column: 2; grid-row: 1; align-self: start; justify-self: start; margin: 18px 18px 0 !important; }
.gunma-service-card-image { margin: 0 !important; height: auto !important; }
.gunma-service-card-image img { display: block; width: 100%; height: 100% !important; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 0 !important; }
.gunma-service-card:not(:first-child) .gunma-service-card-image { grid-column: 1; grid-row: 1 / span 2; }
.gunma-service-card:not(:first-child) .gunma-service-card-image img { aspect-ratio: auto; min-height: 100%; }
.gunma-service-card-body { padding: 20px 22px 24px !important; }
.gunma-service-card:not(:first-child) .gunma-service-card-body { grid-column: 2; padding: 12px 18px 18px !important; }
.gunma-service-card-body p { margin: 0 !important; font-size: 14px !important; line-height: 1.9 !important; color: var(--text) !important; }
.gunma-service-card:first-child .gunma-service-card-body p { font-size: 15px !important; }
/* その他のサービス：写真付きの行を2列に */
.gunma-service-other-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 48px !important; border-top: 2px solid var(--ink); }
.gunma-service-other-card {
	display: grid !important; grid-template-columns: 150px minmax(0, 1fr); gap: 20px; align-items: start; margin: 0 !important; padding: 24px 0 !important;
	background: none !important; border: 0 !important; border-bottom: 1px solid var(--line) !important; border-radius: 0 !important; box-shadow: none !important;
}
.gunma-service-other-icon { width: auto !important; height: auto !important; margin: 0 !important; background: none !important; border-radius: 0 !important; }
.gunma-service-other-icon img { display: block; width: 100%; height: auto !important; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0 !important; }
.gunma-service-other-content h4 { margin: 0 0 8px !important; padding: 0 !important; border: 0 !important; background: none !important; color: var(--ink) !important; font-size: 17px !important; font-weight: 900 !important; }
.gunma-service-other-content h4::before, .gunma-service-other-content h4::after { content: none !important; }
.gunma-service-other-content p { margin: 0 !important; font-size: 14px !important; line-height: 1.85 !important; color: var(--text) !important; }
@media (max-width: 900px) {
	.gunma-service-intro-hero { grid-template-columns: 1fr; margin-bottom: 56px !important; }
	.gunma-service-intro-hero-image img { min-height: 0; aspect-ratio: 16 / 9; }
	.gunma-service-intro-hero-text { padding: 26px 20px !important; }
	.gunma-service-intro-hero-text h3 { font-size: 19px !important; }
	.gunma-service-grid { grid-template-columns: 1fr; margin-bottom: 56px !important; }
	.gunma-service-card:first-child { grid-row: auto; }
	.gunma-service-card:not(:first-child) { grid-template-columns: 120px minmax(0, 1fr); }
	.gunma-service-other-grid { grid-template-columns: 1fr; }
	.gunma-service-other-card { grid-template-columns: 110px minmax(0, 1fr); gap: 14px; padding: 18px 0 !important; }
	.gunma-service-main-title, .gunma-service-other-title, .gunma-pack-title { font-size: 19px !important; }
}
@media (max-width: 480px) {
	.gunma-service-card:not(:first-child) { grid-template-columns: 1fr; }
	.gunma-service-card:not(:first-child) .gunma-service-card-image { grid-row: auto; grid-column: 1; }
	.gunma-service-card:not(:first-child) .gunma-service-card-image img { aspect-ratio: 2 / 1; }
	.gunma-service-card:not(:first-child) .gunma-service-card-header { position: absolute; margin: 0 !important; grid-column: auto; }
	.gunma-service-card:not(:first-child) .gunma-service-card-body { grid-column: 1; padding: 16px 18px 18px !important; }
}

/* ---------------------------------------------------------
   料金：チケット型のプラン札
   --------------------------------------------------------- */
.gunma-price-section { background: #fff !important; }
.gunma-price-wrapper { max-width: none !important; padding: 0 !important; background: none !important; }
.gunma-price-intro {
	display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 40px; align-items: center; margin: 0 0 72px !important; padding: 0 !important;
	background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
}
.gunma-price-intro-image img { display: block; width: 100%; height: auto !important; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 0 !important; box-shadow: -10px 10px 0 var(--kinari-2); }
.gunma-price-intro-text h3, .gunma-price-intro-text h2 {
	margin: 0 0 16px !important; padding: 0 0 14px !important; border: 0 !important; border-bottom: 2px solid var(--ink) !important; background: none !important;
	color: var(--ink) !important; font-size: 22px !important; font-weight: 900 !important; line-height: 1.55 !important; text-align: left !important;
}
.gunma-price-intro-text h3::before, .gunma-price-intro-text h2::before, .gunma-price-intro-text h3::after, .gunma-price-intro-text h2::after { content: none !important; }
.gunma-price-intro-text p { margin: 0 !important; font-size: 15px !important; line-height: 2 !important; color: var(--text) !important; }
.gunma-pack-subtitle { margin: -12px 0 32px !important; color: var(--muted) !important; font-size: 15px !important; line-height: 1.9 !important; text-align: left !important; }
.gunma-pack-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 26px !important; margin: 0 0 48px !important; }
.gunma-pack-card {
	position: relative; display: flex !important; flex-direction: column; background: #fff !important; border: 2px solid var(--ink) !important; border-radius: 0 !important;
	box-shadow: none !important; overflow: visible !important;
}
.gunma-pack-header {
	margin: 0 !important; padding: 12px 16px !important; background: var(--ink) !important; color: #fff !important; border-radius: 0 !important;
	font-size: 17px !important; font-weight: 900 !important; text-align: left !important; letter-spacing: .03em;
}
.gunma-pack-image { margin: 0 !important; height: auto !important; }
.gunma-pack-image img { display: block; width: 100%; height: auto !important; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0 !important; }
.gunma-pack-details { position: relative; display: flex; flex-direction: column; flex: 1; padding: 6px 18px 18px !important; background: none !important; }
.gunma-pack-info { display: flex !important; justify-content: space-between; align-items: baseline; gap: 10px; margin: 0 !important; padding: 10px 0 !important; border: 0 !important; border-bottom: 1px solid var(--line-2) !important; background: none !important; }
.gunma-pack-info-label { padding: 0 !important; background: none !important; color: var(--muted) !important; font-size: 13px !important; font-weight: 700 !important; border-radius: 0 !important; }
.gunma-pack-info-value { color: var(--ink) !important; font-size: 15px !important; font-weight: 800 !important; text-align: right; }
.gunma-pack-price {
	position: relative; margin: 18px -18px 14px !important; padding: 16px 18px !important; background: var(--kinari) !important; border: 0 !important;
	border-top: 2px dashed var(--line) !important; border-radius: 0 !important; text-align: left !important;
}
.gunma-pack-price::before, .gunma-pack-price::after { content: ""; position: absolute; top: -12px; width: 20px; height: 20px; border-radius: 50%; background: #fff; border: 2px solid var(--ink); }
.gunma-pack-price::before { left: -12px; border-left-color: transparent; border-bottom-color: transparent; transform: rotate(45deg); }
.gunma-pack-price::after { right: -12px; border-right-color: transparent; border-top-color: transparent; transform: rotate(45deg); }
.gunma-pack-price-label { display: inline-block !important; margin: 0 0 4px !important; padding: 2px 10px !important; background: var(--red) !important; color: #fff !important; font-size: 12px !important; font-weight: 800 !important; border-radius: 0 !important; }
.gunma-pack-price-amount { color: var(--red) !important; font-size: 34px !important; font-weight: 900 !important; line-height: 1.2 !important; font-variant-numeric: tabular-nums; }
.gunma-pack-price-tax { color: var(--muted) !important; font-size: 13px !important; font-weight: 700 !important; }
.gunma-pack-description { margin: auto 0 0 !important; padding: 0 !important; background: none !important; color: var(--text) !important; font-size: 14px !important; line-height: 1.8 !important; border-radius: 0 !important; text-align: left !important; }
@media (max-width: 960px) { .gunma-pack-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) {
	.gunma-price-intro { grid-template-columns: 1fr; gap: 24px; margin-bottom: 52px !important; }
	.gunma-price-intro-image img { box-shadow: -6px 6px 0 var(--kinari-2); margin-left: 6px; width: calc(100% - 6px); }
	.gunma-price-intro-text h3, .gunma-price-intro-text h2 { font-size: 19px !important; }
	.gunma-pack-grid { grid-template-columns: 1fr; gap: 20px !important; }
	.gunma-pack-card { display: grid !important; grid-template-columns: 120px minmax(0, 1fr); }
	.gunma-pack-header { grid-column: 1 / -1; }
	.gunma-pack-image img { height: 100% !important; aspect-ratio: auto; }
	.gunma-pack-details { padding: 4px 14px 14px !important; }
	.gunma-pack-price { margin: 12px -14px 10px !important; padding: 10px 14px !important; }
	.gunma-pack-price::before, .gunma-pack-price::after { display: none; }
	.gunma-pack-price-amount { font-size: 26px !important; }
	.gunma-pack-info-value { font-size: 14px !important; }
}

/* ---------------------------------------------------------
   回収事例
   --------------------------------------------------------- */
.gunma-cases-section { background: var(--kinari) !important; background-image: var(--brick-l) !important; }
.gunma-cases-wrapper { max-width: none !important; padding: 0 !important; background: none !important; }
.gunma-case-item, .wk-item .gunma-case-item {
	margin: 0 0 36px !important; padding: 0 !important; background: #fff !important; border: 2px solid var(--ink) !important; border-radius: 0 !important; box-shadow: 8px 8px 0 var(--ink) !important; overflow: hidden;
}
.gunma-case-header {
	display: flex !important; align-items: center; gap: 14px; margin: 0 !important; padding: 16px 24px !important; background: #fff !important; color: var(--ink) !important;
	border-bottom: 1px solid var(--line) !important; font-size: 18px !important; font-weight: 900 !important; line-height: 1.5; border-radius: 0 !important;
}
.gunma-case-header-label { flex: 0 0 auto; padding: 4px 12px !important; background: var(--red) !important; color: #fff !important; font-size: 13px !important; font-weight: 800 !important; border-radius: 0 !important; margin: 0 !important; }
.gunma-case-content { display: grid !important; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 28px; padding: 24px !important; }
.gunma-case-image { display: grid !important; grid-template-columns: 1fr; gap: 8px; margin: 0 !important; }
.gunma-case-image:has(img + img) { grid-template-columns: 1fr 1fr; }
.gunma-case-image img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0 !important; }
.gunma-case-details { display: flex; flex-direction: column; gap: 12px; }
.gunma-case-customer { margin: 0 !important; padding: 0 0 10px !important; border: 0 !important; border-bottom: 2px solid var(--ink) !important; color: var(--ink) !important; font-size: 16px !important; font-weight: 900 !important; line-height: 1.6; background: none !important; }
.gunma-case-customer-label { display: block; margin-top: 2px; color: var(--muted) !important; font-size: 13px !important; font-weight: 500 !important; background: none !important; padding: 0 !important; }
.gunma-case-info-grid { display: grid !important; grid-template-columns: 1fr 1fr; gap: 0 18px !important; margin: 0 !important; }
.gunma-case-info-box { display: flex !important; justify-content: space-between; align-items: baseline; padding: 9px 0 !important; background: none !important; border: 0 !important; border-bottom: 1px solid var(--line-2) !important; border-radius: 0 !important; }
.gunma-case-info-label { color: var(--muted) !important; font-size: 13px !important; font-weight: 700 !important; }
.gunma-case-info-value { color: var(--ink) !important; font-size: 15px !important; font-weight: 800 !important; font-variant-numeric: tabular-nums; }
.gunma-case-price-box { display: flex !important; justify-content: space-between; align-items: center; margin: 4px 0 !important; padding: 14px 18px !important; background: var(--ink) !important; color: #fff !important; border-radius: 0 !important; text-align: left !important; }
.gunma-case-price-label { color: #e9e4da !important; font-size: 13px !important; font-weight: 700 !important; }
.gunma-case-price-amount { color: var(--gold) !important; font-size: 30px !important; font-weight: 900 !important; font-variant-numeric: tabular-nums; line-height: 1.1; }
.gunma-case-talk { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; padding: 0 8px 8px !important; border-top: 1px solid var(--line-2); }
.gunma-case-note {
	margin: 8px 0 0 !important; padding: 16px 0 0 !important; background: none !important; border: 0 !important; border-top: 1px solid var(--line) !important; border-radius: 0 !important;
	color: var(--muted) !important; font-size: 13px !important; line-height: 1.9 !important;
}
@media (max-width: 860px) {
	.gunma-case-item { box-shadow: 5px 5px 0 var(--ink) !important; }
	.gunma-case-header { padding: 14px 16px !important; font-size: 16px !important; align-items: flex-start; flex-direction: column; gap: 8px; }
	.gunma-case-content { grid-template-columns: 1fr; padding: 16px !important; gap: 18px; }
	.gunma-case-talk { grid-template-columns: 1fr; padding: 0 !important; }
	.gunma-case-price-amount { font-size: 26px !important; }
}

/* ---------------------------------------------------------
   ご利用の流れ：番号を太い線でつなぐ
   --------------------------------------------------------- */
.gunma-flow-section { background: #fff !important; }
.gunma-flow-wrapper, .gunma-flow-container { max-width: none !important; padding: 0 !important; background: none !important; box-shadow: none !important; border: 0 !important; }
.gunma-flow-steps { position: relative; display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 22px !important; }
.gunma-flow-steps::before { content: ""; position: absolute; left: 4%; right: 4%; top: 30px; height: 4px; background: var(--ink); z-index: 0; }
.gunma-flow-step { position: relative; z-index: 1; display: flex !important; flex-direction: column; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; text-align: left !important; }
.gunma-flow-number {
	display: grid !important; place-items: center; width: 62px !important; height: 62px !important; margin: 0 auto 18px !important; border-radius: 0 !important;
	background: var(--red) !important; color: #fff !important; border: 4px solid #fff; outline: 2px solid var(--red);
	font-size: 28px !important; font-weight: 900 !important; transform: rotate(45deg);
}
.gunma-flow-number::first-line { color: #fff; }
.gunma-flow-image { margin: 0 0 14px !important; }
.gunma-flow-image img { display: block; width: 100%; height: auto !important; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0 !important; border: 2px solid var(--ink); }
.gunma-flow-step-title { margin: 0 0 8px !important; padding: 0 !important; border: 0 !important; background: none !important; color: var(--ink) !important; font-size: 17px !important; font-weight: 900 !important; line-height: 1.5 !important; text-align: left !important; }
.gunma-flow-step-title::before, .gunma-flow-step-title::after { content: none !important; }
.gunma-flow-step-description { margin: 0 !important; font-size: 13.5px !important; line-height: 1.85 !important; color: var(--text) !important; text-align: left !important; }
/* 番号の文字だけを正立させる */
.gunma-flow-number { font-size: 0 !important; }
.gunma-flow-step:nth-child(1) .gunma-flow-number::after { content: "1"; }
.gunma-flow-step:nth-child(2) .gunma-flow-number::after { content: "2"; }
.gunma-flow-step:nth-child(3) .gunma-flow-number::after { content: "3"; }
.gunma-flow-step:nth-child(4) .gunma-flow-number::after { content: "4"; }
.gunma-flow-step:nth-child(5) .gunma-flow-number::after { content: "5"; }
.gunma-flow-number::after { display: block; font-size: 26px; font-weight: 900; transform: rotate(-45deg); }
@media (max-width: 960px) {
	.gunma-flow-steps { grid-template-columns: 1fr; gap: 0 !important; }
	.gunma-flow-steps::before { left: 30px; right: auto; top: 30px; bottom: 30px; width: 4px; height: auto; }
	.gunma-flow-step { display: grid !important; grid-template-columns: 62px 120px minmax(0, 1fr); grid-template-rows: auto 1fr; gap: 0 16px; padding-bottom: 30px !important; }
	.gunma-flow-number { grid-column: 1; grid-row: 1 / span 2; margin: 0 !important; width: 50px !important; height: 50px !important; justify-self: center; }
	.gunma-flow-image { grid-column: 2; grid-row: 1 / span 2; margin: 0 !important; }
	.gunma-flow-step-title { grid-column: 3; }
	.gunma-flow-step-description { grid-column: 3; }
	.gunma-flow-number::after { font-size: 22px; }
}
@media (max-width: 520px) {
	.gunma-flow-step { grid-template-columns: 50px minmax(0, 1fr); }
	.gunma-flow-image { grid-column: 2; grid-row: 1; margin-bottom: 12px !important; }
	.gunma-flow-image img { aspect-ratio: 2 / 1; }
	.gunma-flow-step-title, .gunma-flow-step-description { grid-column: 2; }
	.gunma-flow-number { grid-row: 1; align-self: start; }
	.gunma-flow-steps::before { left: 23px; }
}

/* ---------------------------------------------------------
   よくあるご質問
   --------------------------------------------------------- */
.gunma-faq-section { background: var(--kinari) !important; }
.gunma-faq-wrapper { max-width: 960px !important; margin: 0 auto !important; padding: 0 !important; background: none !important; }
.gunma-faq-item { margin: 0 0 16px !important; background: #fff !important; border: 2px solid var(--ink) !important; border-radius: 0 !important; box-shadow: none !important; overflow: hidden; }
.gunma-faq-question {
	position: relative; display: flex !important; align-items: flex-start; gap: 14px; margin: 0 !important; padding: 18px 22px !important; background: #fff !important; border: 0 !important;
	color: var(--ink) !important; font-size: 17px !important; font-weight: 900 !important; line-height: 1.6 !important;
}
.gunma-faq-question-icon { flex: 0 0 auto; display: grid !important; place-items: center; width: 32px; height: 32px; margin: 0 !important; background: var(--red) !important; color: #fff !important; font-size: 0 !important; border-radius: 0 !important; }
.gunma-faq-question-icon::after { content: "Q"; font-size: 17px; font-weight: 900; }
.gunma-faq-answer {
	position: relative; margin: 0 !important; padding: 18px 22px 20px 68px !important; background: none !important; border: 0 !important; border-top: 1px dashed var(--line) !important;
	color: var(--text) !important; font-size: 15px !important; line-height: 1.95 !important;
}
.gunma-faq-answer::before { content: "A"; position: absolute; left: 22px; top: 18px; display: grid; place-items: center; width: 32px; height: 32px; background: var(--ink); color: #fff; font-size: 17px; font-weight: 900; }
@media (max-width: 680px) {
	.gunma-faq-question { font-size: 15px !important; padding: 14px 14px !important; gap: 10px; }
	.gunma-faq-question-icon { width: 28px; height: 28px; }
	.gunma-faq-answer { padding: 14px 14px 16px 52px !important; font-size: 14px !important; }
	.gunma-faq-answer::before { left: 14px; top: 14px; width: 28px; height: 28px; font-size: 15px; }
}
/* コラム一覧（SWELL の post_list） */
.gunma-faq-section .p-postList { max-width: 960px; margin: 0 auto; }
.gunma-faq-section .p-postList__item { background: #fff; border: 1px solid var(--line); }

/* ---------------------------------------------------------
   買取対象品目・買取事例
   --------------------------------------------------------- */
.kr-items-section { background: #fff !important; }
.kr-grid-wrapper { max-width: none !important; padding: 0 !important; margin: 0 !important; background: none !important; }
.kr-items-intro { max-width: 820px; margin: -20px auto 44px !important; }
.kr-items-intro p { margin: 0 !important; color: var(--muted) !important; font-size: 15px !important; line-height: 2 !important; text-align: center; }
.kr-items-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 !important; border-top: 2px solid var(--ink); border-left: 1px solid var(--line); }
.kr-item-box {
	display: grid !important; grid-template-columns: 44px minmax(0, 1fr); grid-template-rows: auto auto; gap: 2px 14px; align-items: center; margin: 0 !important; padding: 22px 18px !important;
	background: #fff !important; border: 0 !important; border-right: 1px solid var(--line) !important; border-bottom: 1px solid var(--line) !important; border-radius: 0 !important; box-shadow: none !important; text-align: left !important;
}
.kr-item-icon { grid-row: 1 / span 2; display: grid !important; place-items: center; width: 44px !important; height: 44px !important; margin: 0 !important; background: var(--kinari) !important; color: var(--red) !important; font-size: 19px !important; border-radius: 0 !important; }
.kr-item-name { color: var(--ink) !important; font-size: 15px !important; font-weight: 900 !important; line-height: 1.4; margin: 0 !important; }
.kr-item-desc { color: var(--muted) !important; font-size: 12px !important; line-height: 1.6 !important; margin: 0 !important; }
.kr-grid-section { background: var(--kinari) !important; }
.kr-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px !important; }
.kr-card { display: flex !important; flex-direction: column; margin: 0 !important; background: #fff !important; border: 2px solid var(--ink) !important; border-radius: 0 !important; box-shadow: none !important; overflow: hidden; }
.kr-image-box { margin: 0 !important; height: auto !important; background: #fff !important; }
.kr-image-box img { display: block; width: 100%; height: auto !important; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0 !important; }
.kr-content { display: flex; flex-direction: column; flex: 1; gap: 8px; padding: 16px 18px 18px !important; }
.kr-area-tag { align-self: flex-start; padding: 2px 10px !important; background: var(--ink) !important; color: #fff !important; font-size: 12px !important; font-weight: 700 !important; border-radius: 0 !important; }
.kr-title { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; color: var(--ink) !important; font-size: 16px !important; font-weight: 900 !important; line-height: 1.5 !important; }
.kr-title::before, .kr-title::after { content: none !important; }
.kr-price-area { display: flex !important; align-items: baseline; justify-content: flex-end; gap: 4px; margin-top: auto !important; padding-top: 10px !important; border-top: 1px solid var(--line-2) !important; }
.kr-price-label { margin-right: auto; color: var(--muted) !important; font-size: 13px !important; font-weight: 700 !important; }
.kr-price { color: var(--red) !important; font-size: 30px !important; font-weight: 900 !important; font-variant-numeric: tabular-nums; line-height: 1.1; }
.kr-yen { color: var(--red) !important; font-size: 15px !important; font-weight: 900 !important; }
@media (max-width: 960px) { .kr-items-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kr-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) {
	.kr-item-box { grid-template-columns: 36px minmax(0, 1fr); padding: 14px 10px !important; gap: 2px 10px; }
	.kr-item-icon { width: 36px !important; height: 36px !important; font-size: 16px !important; }
	.kr-item-name { font-size: 13px !important; }
	.kr-grid { grid-template-columns: 1fr; }
}

/* ---------------------------------------------------------
   運営概要（トップ）
   --------------------------------------------------------- */
.gunma-company-section { background: #fff !important; }
.gunma-company-wrapper { max-width: 960px !important; margin: 0 auto !important; padding: 0 !important; background: none !important; }
.gunma-company-table-container { background: #fff; border: 2px solid var(--ink); box-shadow: 10px 10px 0 var(--kinari-2); border-radius: 0 !important; overflow: hidden; }
.gunma-company-table-header { margin: 0 !important; padding: 14px 24px !important; background: var(--ink) !important; color: #fff !important; font-size: 17px !important; font-weight: 900 !important; text-align: left !important; border-radius: 0 !important; }
.gunma-company-table, .info-table { width: 100%; margin: 0 !important; border-collapse: collapse !important; border: 0 !important; }
.gunma-company-table th, .gunma-company-table td, .info-table th, .info-table td {
	padding: 16px 24px !important; border: 0 !important; border-bottom: 1px solid var(--line-2) !important; background: none !important;
	color: var(--text) !important; font-size: 15px !important; line-height: 1.8; text-align: left !important; vertical-align: top;
}
.gunma-company-table th, .info-table th { width: 28%; color: var(--ink) !important; font-weight: 800 !important; background: var(--kinari) !important; }
.gunma-company-table tr:last-child th, .gunma-company-table tr:last-child td, .info-table tr:last-child th, .info-table tr:last-child td { border-bottom: 0 !important; }
.gunma-company-license { display: flex; flex-direction: column; gap: 6px; }
.gunma-company-license-item { display: flex; align-items: center; gap: 10px; }
.gunma-company-license-item i { color: var(--red) !important; }
.info-table ul { margin: 0; padding-left: 1.2em; }
@media (max-width: 600px) {
	.gunma-company-table th, .gunma-company-table td, .info-table th, .info-table td { display: block; width: 100% !important; padding: 10px 16px !important; font-size: 14px !important; }
	.gunma-company-table th, .info-table th { border-bottom: 0 !important; padding-bottom: 4px !important; }
	.gunma-company-table-container { box-shadow: 6px 6px 0 var(--kinari-2); }
}

/* ---------------------------------------------------------
   アンケート（エリアページ）
   --------------------------------------------------------- */
.gunma-survey-section { background: #fff !important; }
.gunma-survey-wrapper { max-width: none !important; padding: 0 !important; background: none !important; }
.gunma-survey-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px !important; }
.gunma-survey-card { display: flex; flex-direction: column; margin: 0 !important; padding: 22px !important; background: #fff !important; border: 2px solid var(--ink) !important; border-radius: 0 !important; box-shadow: none !important; }
.gunma-survey-full { grid-column: 1 / -1; }
.gunma-survey-question { margin: 0 0 14px !important; padding: 0 0 12px !important; border: 0 !important; border-bottom: 1px solid var(--line) !important; background: none !important; color: var(--ink) !important; font-size: 16px !important; font-weight: 900 !important; line-height: 1.55; }
.gunma-survey-result { margin-top: auto !important; padding: 14px 0 0 !important; background: none !important; border: 0 !important; border-top: 1px solid var(--line-2) !important; color: var(--ink) !important; font-size: 14px !important; font-weight: 700 !important; line-height: 1.8 !important; }
@media (max-width: 900px) { .gunma-survey-grid { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------
   下層ページ：会社概要
   --------------------------------------------------------- */
.company-page-wrapper { max-width: none !important; padding: 0 !important; background: none !important; }
.company-section { padding: 88px var(--pad) !important; margin: 0 !important; background: #fff; }
.company-section:nth-child(even) { background: var(--kinari) !important; }
.company-section-inner { max-width: 960px !important; margin: 0 auto !important; padding: 0 !important; background: none !important; box-shadow: none !important; }
.company-section-title {
	margin: 0 0 40px !important; padding: 0 !important; border: 0 !important; background: none !important; color: var(--ink) !important;
	font-size: clamp(24px, 3vw, 34px) !important; font-weight: 900 !important; line-height: 1.45 !important; text-align: center !important;
}
.company-section-title::before { content: "" !important; display: block !important; width: 14px; height: 14px; margin: 0 auto 16px; background: var(--red); transform: rotate(45deg); position: static !important; }
.company-section-title::after { content: none !important; }
.intro-lead { margin: 0 0 32px !important; padding: 22px 26px !important; background: var(--ink) !important; color: #fff !important; font-size: 18px !important; font-weight: 800 !important; line-height: 1.75 !important; text-align: center; border: 0 !important; border-radius: 0 !important; box-shadow: 8px 8px 0 var(--red); }
.intro-text p { margin: 0 0 1.4em !important; font-size: 15px !important; line-height: 2.05 !important; color: var(--text) !important; }
.company-details-section .info-table { background: #fff; border: 2px solid var(--ink) !important; }
.promise-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px !important; }
.promise-item { margin: 0 !important; padding: 26px 26px 24px !important; background: #fff !important; border: 2px solid var(--ink) !important; border-radius: 0 !important; box-shadow: none !important; }
.promise-header { display: flex !important; align-items: center; gap: 14px; margin: 0 0 12px !important; padding: 0 0 12px !important; border-bottom: 1px solid var(--line) !important; background: none !important; }
.promise-header h3 { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; color: var(--ink) !important; font-size: 18px !important; font-weight: 900 !important; }
.promise-header h3::before, .promise-header h3::after { content: none !important; }
.promise-icon { display: grid !important; place-items: center; flex: 0 0 auto; width: 42px !important; height: 42px !important; background: var(--red) !important; color: #fff !important; font-size: 18px !important; border-radius: 0 !important; }
.promise-item p { margin: 0 !important; font-size: 14.5px !important; line-height: 1.95 !important; color: var(--text) !important; }
@media (max-width: 760px) {
	.company-section { padding: 60px 16px !important; }
	.promise-grid { grid-template-columns: 1fr; }
	.intro-lead { font-size: 16px !important; padding: 18px !important; box-shadow: 6px 6px 0 var(--red); }
	.intro-lead br.sp { display: none; }
}

/* 料金ページ：h1 を大見出しとして扱う */
.page-id-161 .gunma-price-section { padding-top: 88px !important; }

/* ---------------------------------------------------------
   下層ページ：SWELL のタイトル・パンくず
   --------------------------------------------------------- */
.l-topTitleArea, .c-pageTitle { font-family: var(--font); }
.c-pageTitle { color: var(--ink); font-weight: 900; }
.c-pageTitle__inner, .c-pageTitle[data-style="b_bottom"] .c-pageTitle__inner { border-bottom-color: var(--red) !important; }
.p-breadcrumb { background: var(--kinari); }
.p-breadcrumb__item, .p-breadcrumb__text { color: var(--muted); }
.p-breadcrumb__item a { color: var(--ink); }

/* ---------------------------------------------------------
   回収事例・お客様の声の一覧（/works/ /voice/）
   --------------------------------------------------------- */
.page-template-page-works .gunma-main-banner,
.page-template-page-voice .gunma-main-banner { clip-path: none; padding: 52px var(--pad) !important; background: var(--ink) !important; background-image: var(--brick-d) !important; }
.wk-list-page { padding: 64px 0 96px; }
.wk-list-container { max-width: var(--w); margin: 0 auto; padding: 0 20px; }
.wk-list-intro { margin: 0 auto 32px; max-width: 820px; color: var(--muted); font-size: 15px; line-height: 2; text-align: center; }
.wk-filter { margin: 0 0 24px; padding: 20px 22px; background: var(--kinari); border: 0; border-radius: 0; }
.wk-filter-row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px 18px; }
.wk-filter label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 800; color: var(--ink); }
.wk-filter select { min-width: 190px; min-height: 44px; padding: 8px 12px; border: 2px solid var(--ink); border-radius: 0; background: #fff; font-family: var(--font); font-size: 14px; }
.wk-filter-go { min-height: 44px; padding: 8px 26px; background: var(--red); color: #fff; border: 0; border-radius: 0; font-family: var(--font); font-size: 15px; font-weight: 800; cursor: pointer; box-shadow: 4px 4px 0 var(--ink); }
.wk-filter-clear { align-self: center; color: var(--ink); font-size: 14px; font-weight: 700; }
.wk-list-count { margin: 0 0 24px; font-size: 14px; color: var(--muted); }
.wk-list-count strong { color: var(--red); font-size: 22px; font-weight: 900; }
.page-template-page-voice .wk-items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.page-template-page-voice .wk-item { display: flex; }
.page-template-page-voice .wk-item > .gunma-voice-item { flex: 1; }
.wk-item.is-folded { display: none !important; }
.wk-more { text-align: center; margin-top: 44px; }
.wk-pager { display: flex; justify-content: center; align-items: center; gap: 16px; margin-top: 40px; }
.wk-pager a { padding: 8px 18px; border: 2px solid var(--ink); color: var(--ink); font-weight: 800; text-decoration: none; }
.wk-pager-now { font-weight: 800; }
@media (max-width: 1000px) { .page-template-page-voice .wk-items { grid-template-columns: 1fr 1fr; } }
@media (max-width: 680px) {
	.page-template-page-voice .wk-items { grid-template-columns: 1fr; }
	.wk-filter select { min-width: 0; width: 100%; }
	.wk-filter label { flex: 1 1 100%; }
	.wk-list-page { padding: 40px 0 72px; }
}

/* ---------------------------------------------------------
   お問い合わせフォーム（MW WP Form）
   --------------------------------------------------------- */
.contact_wrap, .mw_wp_form { max-width: 880px; margin: 0 auto; }
.contact_wrap table, .mw_wp_form table { width: 100%; border-collapse: collapse; border: 2px solid var(--ink); background: #fff; margin: 0 0 32px; }
.contact_wrap th, .mw_wp_form th {
	width: 30%; padding: 18px 20px; background: var(--kinari); border: 0; border-bottom: 1px solid var(--line);
	color: var(--ink); font-size: 15px; font-weight: 800; text-align: left; vertical-align: top;
}
.contact_wrap td, .mw_wp_form td { padding: 16px 20px; border: 0; border-bottom: 1px solid var(--line-2); background: #fff; }
.hissu, .ninni { display: inline-block; margin-left: 8px; padding: 1px 8px; font-size: 11px; font-weight: 800; color: #fff; vertical-align: 2px; border-radius: 0; }
.hissu { background: var(--red); }
.ninni { background: var(--ink-3); }
.small_text { display: block; margin-top: 6px; color: var(--muted); font-size: 12.5px; line-height: 1.7; }
.mw_wp_form input[type="text"], .mw_wp_form input[type="email"], .mw_wp_form input[type="tel"], .mw_wp_form select, .mw_wp_form textarea {
	box-sizing: border-box; width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid #a9a191; border-radius: 2px; background: #fff;
	font-family: var(--font); font-size: 16px; color: var(--text);
}
.mw_wp_form input:focus, .mw_wp_form select:focus, .mw_wp_form textarea:focus { outline: 2px solid var(--red); outline-offset: 1px; border-color: var(--red); }
.mw_wp_form .mwform-tel-field input, .mw_wp_form .mwform-zip-field input { width: auto; max-width: 7em; display: inline-block; }
.mw_wp_form textarea { min-height: 180px; line-height: 1.8; }
.checkbox_wrap .mwform-checkbox-field { display: inline-flex; align-items: center; margin: 4px 18px 4px 0; font-size: 15px; }
.btn_wrap { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }
.btn_wrap input[type="submit"], .btn_wrap button, .mw_wp_form input[type="submit"] {
	min-width: 280px; min-height: 60px; padding: 12px 32px; background: var(--red); color: #fff; border: 2px solid var(--red-d); border-radius: 4px;
	font-family: var(--font); font-size: 18px; font-weight: 900; letter-spacing: .08em; cursor: pointer; box-shadow: 5px 5px 0 var(--ink); transition: transform .15s, box-shadow .15s;
}
.btn_wrap input[type="submit"]:hover { transform: translate(3px, 3px); box-shadow: 2px 2px 0 var(--ink); }
.btn_wrap input[name="submitBack"], .btn_wrap .back { background: #fff; color: var(--ink); border-color: var(--ink); }
@media (max-width: 680px) {
	.contact_wrap th, .contact_wrap td, .mw_wp_form th, .mw_wp_form td { display: block; width: 100%; box-sizing: border-box; padding: 12px 14px; }
	.contact_wrap th, .mw_wp_form th { border-bottom: 0; padding-bottom: 8px; }
	.btn_wrap { flex-direction: column-reverse; align-items: stretch; }
	.btn_wrap input[type="submit"] { min-width: 0; width: 100%; }
}

/* ---------------------------------------------------------
   エリアページ：パンくず（parts/area-breadcrumb.php）
   --------------------------------------------------------- */
.gunma-area-breadcrumb, .area-breadcrumb { background: var(--kinari); }

/* ---------------------------------------------------------
   フッター
   --------------------------------------------------------- */
#footer.l-footer { margin: 0; background: var(--ink); background-image: var(--brick-d); color: #fff; }
.gm-footer .site-footer { padding: 72px max(20px, calc((100% - 1240px) / 2)) 48px; background: none !important; }
.gm-footer .footer-main { max-width: none !important; padding: 0 !important; }
.gm-footer .footer-grid { display: grid !important; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 40px !important; }
.gm-footer .footer-logo { display: flex !important; align-items: center; gap: 12px; margin: 0 0 18px !important; color: #fff !important; font-size: 22px !important; font-weight: 900 !important; }
.gm-footer .footer-logo img { width: 58px; height: 58px; border-radius: 50%; background: var(--kinari); }
.gm-footer__tel { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 16px; color: var(--gold) !important; font-size: 30px; font-weight: 900; text-decoration: none; font-variant-numeric: tabular-nums; }
.gm-footer__tel i { font-size: 20px; }
.gm-footer .footer-info p { display: flex; gap: 10px; margin: 0 0 6px !important; color: #e3ddd0 !important; font-size: 14px !important; }
.gm-footer .footer-info p i { width: 14px; color: var(--gold) !important; margin-top: 4px; }
.gm-footer .footer-info p:nth-child(2) { display: none; }
.gm-footer .footer-licenses { margin: 16px 0 0 !important; padding: 14px 0 0 !important; border-top: 1px solid rgba(255,255,255,.16); list-style: none; }
.gm-footer .footer-licenses li { margin: 0 0 4px; color: #cfc8b9 !important; font-size: 13px !important; }
.gm-footer .footer-licenses li::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 10px; background: var(--red); transform: rotate(45deg) translateY(-2px); }
.gm-footer .footer-nav-title { margin: 0 0 14px !important; padding: 0 0 10px !important; border-bottom: 2px solid var(--red) !important; color: #fff !important; font-size: 16px !important; font-weight: 900 !important; }
.gm-footer .footer-nav-list { margin: 0 !important; padding: 0 !important; list-style: none; }
.gm-footer .footer-nav-list li { margin: 0 !important; }
.gm-footer .footer-nav-list a { display: block; padding: 8px 0 !important; color: #e3ddd0 !important; font-size: 14px !important; text-decoration: none !important; }
.gm-footer .footer-nav-list a::before { content: none !important; }
.gm-footer .footer-nav-list a:hover { color: var(--gold) !important; }
.gm-footer .l-footer__foot { padding: 18px 20px; background: #15171a; border-top: 1px solid rgba(255,255,255,.08); }
.gm-footer .copyright { margin: 0; color: #b8b1a3; font-size: 12px; text-align: center; }
.gm-footer .l-footer__nav { display: none; }
@media (max-width: 900px) {
	.gm-footer .site-footer { padding: 52px 20px 32px; }
	.gm-footer .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px !important; }
	.gm-footer .footer-company { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
	.gm-footer .footer-grid { grid-template-columns: 1fr; }
	.gm-footer .site-footer { padding-bottom: 96px; }
}

/* 画面下の固定バー（スマホ） */
.gm-fixbar { display: none; }
.fixed-phone-footer { display: none !important; }
@media (max-width: 768px) {
	.gm-fixbar {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: grid; grid-template-columns: 1.45fr 1fr; gap: 0;
		background: #fff; border-top: 2px solid var(--ink); box-shadow: 0 -4px 14px rgba(0,0,0,.12); padding-bottom: env(safe-area-inset-bottom);
	}
	.gm-fixbar a { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 60px; text-decoration: none; }
	.gm-fixbar__tel { background: var(--red); color: #fff; }
	.gm-fixbar__lbl { font-size: 11px; font-weight: 700; line-height: 1.3; }
	.gm-fixbar__num { font-size: 21px; font-weight: 900; line-height: 1.2; font-variant-numeric: tabular-nums; }
	.gm-fixbar__num i { font-size: 15px; margin-right: 5px; }
	.gm-fixbar__form { flex-direction: row !important; gap: 6px; background: var(--ink); color: #fff; font-size: 15px; font-weight: 800; }
	#footer.l-footer { padding-bottom: 60px; }
	/* SWELL の「ページ上部へ」ボタンが固定バーに重ならないようにする */
	.p-fixBtnWrap { bottom: 76px !important; }
}

/* SWELL 標準ヘッダー由来の上余白を詰める */
[data-loaded] .l-header, #header { display: none; }
.-index-off .p-toc, body { scroll-padding-top: 110px; }

/* 共通のスマホ余白 */
@media (max-width: 768px) {
	.gunma-area-section,
	.gunma-problem-section,
	.gunma-reasons-section,
	.gunma-comparison-section,
	.gunma-voice-section,
	.gunma-service-intro-section,
	.gunma-price-section,
	.gunma-cases-section,
	.gunma-flow-section,
	.gunma-faq-section,
	.kr-items-section,
	.kr-grid-section,
	.gunma-company-section,
	.gunma-survey-section { padding: 68px 16px !important; }
	.gunma-area-title, .gunma-problem-title, .gunma-reasons-header h2, .gunma-comparison-title, .gunma-voice-title, .gunma-service-intro-title,
	.gunma-price-title, .gunma-cases-title, .gunma-flow-title, .gunma-faq-title, .gunma-company-title, .gunma-survey-title, .gunma-achievement-title { margin-bottom: 32px !important; font-size: 23px !important; }
	.gunma-area-subtitle, .gunma-comparison-subtitle, .gunma-survey-lead { margin: -14px auto 30px !important; font-size: 14px !important; text-align: left; }
	.gm-eyebrow { font-size: 12px; padding: 4px 16px; margin-bottom: 12px; }
	.gunma-comparison-table-container { box-shadow: 5px 5px 0 var(--ink); }
	.gunma-reasons-header { margin-bottom: 52px !important; }
}

/* ---- 調整（1280px の確認後） ---- */
@media (max-width: 1360px) {
	.gm-nav { display: none; }
	.gm-header__contact { margin-left: auto; }
	.gm-menu-btn { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 6px 4px; background: none; border: 0; color: var(--ink); cursor: pointer; font-family: var(--font); }
	.gm-menu-btn__bars { display: flex; flex-direction: column; gap: 5px; width: 26px; }
	.gm-menu-btn__bars span { height: 3px; background: var(--ink); border-radius: 2px; transition: transform .2s, opacity .2s; }
	.gm-menu-btn[aria-expanded="true"] .gm-menu-btn__bars span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
	.gm-menu-btn[aria-expanded="true"] .gm-menu-btn__bars span:nth-child(2) { opacity: 0; }
	.gm-menu-btn[aria-expanded="true"] .gm-menu-btn__bars span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
	.gm-menu-btn__txt { font-size: 11px; font-weight: 700; }
	.gm-drawer { position: absolute; left: 0; right: 0; top: 100%; background: var(--ink); background-image: var(--brick-d); padding: 12px max(24px, calc((100% - 1240px) / 2)) 28px; max-height: calc(100vh - 100px); overflow-y: auto; }
	.gm-drawer__list { margin: 0; padding: 0; list-style: none; }
	.gm-drawer__list a { display: block; padding: 15px 4px; color: #fff; font-size: 16px; font-weight: 700; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.14); }
	.gm-drawer__list--area { margin-top: 10px; }
	.gm-drawer__list--area a { font-size: 14px; color: #e9dcc3; }
	.gm-drawer__tel { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 22px; padding: 14px; background: var(--red); color: #fff; font-size: 24px; font-weight: 900; text-decoration: none; border-radius: 4px; }
}
.gm-nav__list a, .gm-header__tel-num { white-space: nowrap; }
.gunma-reasons-header .gm-eyebrow { margin: 0 auto 18px !important; color: #fff !important; font-size: 14px !important; font-weight: 800; }
@media (max-width: 768px) { .gunma-reasons-header .gm-eyebrow { font-size: 12px !important; margin-bottom: 12px !important; } }
/* お客様の声カードの吹き出しは縦に積む（3列だと横幅が足りないため） */
.gunma-voice-item .wk-bubble { flex-direction: column; gap: 10px; flex: 1; }
.gunma-voice-item .wk-bubble-who { flex: 0 0 auto; flex-direction: row; gap: 10px; }
.gunma-voice-item .wk-bubble-who img { width: 40px !important; height: 40px !important; }
.gunma-voice-item .wk-bubble-name { font-size: 13px !important; color: var(--ink) !important; font-weight: 800; }
.gunma-voice-item .wk-bubble-say { width: 100%; box-sizing: border-box; }
.gunma-voice-item .wk-bubble-say::before { left: 14px; top: -8px; border: 8px solid transparent; border-top: 0; border-bottom-color: var(--kinari); }
.wk-bubble-who { order: 0; }
.wk-bubble-say { order: 1; }
@media (max-width: 860px) {
	.gunma-case-talk .wk-bubble { flex-direction: column; gap: 10px; }
	.gunma-case-talk .wk-bubble-who { flex: 0 0 auto; flex-direction: row; gap: 10px; }
	.gunma-case-talk .wk-bubble-who img { width: 40px !important; height: 40px !important; }
	.gunma-case-talk .wk-bubble-name { font-size: 13px !important; color: var(--ink) !important; font-weight: 800; }
	.gunma-case-talk .wk-bubble-say { width: 100%; box-sizing: border-box; }
	.gunma-case-talk .wk-bubble-say::before { left: 14px; top: -8px; border: 8px solid transparent; border-top: 0; border-bottom-color: var(--kinari); }
	.gunma-case-talk .wk-bubble--staff .wk-bubble-say::before { border-bottom-color: var(--line); top: -9px; }
}
@media (max-width: 560px) {
	.kr-item-box { grid-template-columns: 1fr; grid-template-rows: auto; gap: 6px; padding: 14px 12px !important; }
	.kr-item-icon { grid-row: auto; width: 32px !important; height: 32px !important; }
	.kr-item-name { font-size: 14px !important; }
}
/* 12px 未満の文字をなくす */
.gm-header__tagline, .gm-logo__sub, .gm-menu-btn__txt, .gm-header__tel-lbl, .gunma-voice-badge, .wk-bubble-name,
.hissu, .ninni, .gm-fixbar__lbl, .p-breadcrumb__text, .p-breadcrumb .__home { font-size: 12px !important; }
.gunma-survey-grid, .gunma-survey-card { min-width: 0; }
.gunma-survey-card .chart-container { max-width: 100%; min-width: 0; }
.p-postList__cat { font-size: 12px !important; }
.gm-scroll-hint { display: none; }
@media (max-width: 800px) { .gm-scroll-hint { display: block; margin: 0 0 10px; color: var(--muted); font-size: 12px; font-weight: 700; text-align: right; } .gm-scroll-hint::after { content: " \2192"; } }
