@charset "UTF-8";
/* ==========================================================================
   ジャンル別ページ・国×ジャンルページ（2026年版）
   問い合わせ獲得を主目的にしたLP型。country2026.css（.c26）の部品の上に重ねる。スコープ：.g26
   国別ページ（回遊型・暗い写真ヒーロー）と見分けがつくよう、明るい地・フォームの見本・追従CTAを軸にする
   ========================================================================== */

.g26 { --g26-shadow: 0 18px 48px rgba(35, 24, 21, .12); }
.g26 h1 { overflow-wrap: anywhere; }

/* --------------------------------------------------------------------------
   主CTA（大きな臙脂のボタン）と電話
   -------------------------------------------------------------------------- */
.c26 a.g26-cta-main {
	display: inline-flex; flex-direction: column; align-items: center; justify-content: center;
	min-width: 320px; min-height: 72px; padding: 10px 56px 12px; position: relative;
	border-radius: 999px; background: var(--c26-main); color: #fff;
	font-size: 19px; font-weight: 700; line-height: 1.35; letter-spacing: .04em;
	box-shadow: 0 10px 24px rgba(155, 70, 51, .32); transition: transform .2s, background-color .2s, box-shadow .2s;
}
.c26 a.g26-cta-main::after {
	content: ""; position: absolute; right: 26px; top: 50%; width: 9px; height: 9px; margin-top: -5px;
	border-top: 2px solid #fff; border-right: 2px solid #fff; transform: rotate(45deg);
}
.c26 a.g26-cta-main:hover { background: var(--c26-main-dark); color: #fff; text-decoration: none; transform: translateY(-2px); box-shadow: 0 14px 28px rgba(155, 70, 51, .36); }
.g26-cta-main__sub { display: block; font-size: 12px; font-weight: 500; letter-spacing: .08em; opacity: .9; margin-bottom: 2px; }
.c26 a.g26-cta-main--sm { min-width: 0; min-height: 56px; padding: 0 48px 0 32px; font-size: 16px; box-shadow: 0 8px 18px rgba(155, 70, 51, .26); }
.c26 a.g26-cta-main--sm::after { right: 22px; }
.c26 a.g26-cta-tel { display: inline-flex; flex-direction: column; justify-content: center; color: var(--c26-ink); line-height: 1.3; }
.c26 a.g26-cta-tel:hover { text-decoration: none; color: var(--c26-main); }
.g26-cta-tel span { font-size: 12px; color: var(--c26-note); }
.g26-cta-tel strong { font-size: 26px; letter-spacing: .02em; }
.c26 a.g26-cta-tel--light, .c26 a.g26-cta-tel--light span { color: rgba(255, 255, 255, .85); }
.c26 a.g26-cta-tel--light strong { color: #fff; }
.g26-cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 32px; }
.g26-cta-row--center { justify-content: center; margin-top: 40px; }

/* --------------------------------------------------------------------------
   ファーストビュー（明るい地＋フォームの見本カード）
   -------------------------------------------------------------------------- */
.g26-lphero { position: relative; overflow: hidden; background: var(--c26-white); padding: 56px 0 72px; border-bottom: 1px solid var(--c26-line); }
.g26-lphero::before {
	content: ""; position: absolute; top: 0; bottom: 0; right: 0; width: 46%;
	background: var(--c26-kinari); clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%);
}
.g26-lphero::after {
	content: ""; position: absolute; right: -120px; bottom: -160px; width: 420px; height: 420px; border-radius: 50%;
	background: repeating-radial-gradient(circle, rgba(155, 70, 51, .10) 0 1px, transparent 1px 22px);
}
.g26-lphero > .c26-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 420px; gap: 56px; align-items: center; }
.g26-lphero__main { min-width: 0; }
.g26-lphero__tag {
	display: inline-flex; align-items: center; gap: 10px; margin-bottom: 18px; padding: 6px 14px;
	border-left: 4px solid var(--c26-main); background: var(--c26-main-pale);
	font-size: 14px; font-weight: 700; color: var(--c26-main-dark);
}
.g26-lphero__tag img { width: 30px; height: 20px; object-fit: cover; border-radius: 3px; border: 1px solid var(--c26-line); }
.g26-lphero__ttl { font-size: 42px; line-height: 1.4; font-weight: 700; color: var(--c26-ink); letter-spacing: .02em; margin-bottom: 18px; }
.g26-lphero__genre { color: var(--c26-ink); }
.g26-lphero__ttl em { font-style: normal; background: linear-gradient(transparent 62%, rgba(170, 207, 83, .55) 62%); padding: 0 .04em; }
.g26-lphero__lead { font-size: 16px; margin-bottom: 22px; max-width: 600px; }
.g26-checks { display: grid; gap: 10px; margin-bottom: 30px; }
.g26-checks li { position: relative; padding-left: 34px; font-size: 14px; line-height: 1.6; color: var(--c26-text); }
.g26-checks li::before {
	content: ""; position: absolute; left: 0; top: 1px; width: 22px; height: 22px; border-radius: 50%; background: var(--c26-main);
}
.g26-checks li::after {
	content: ""; position: absolute; left: 7px; top: 6px; width: 8px; height: 5px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(-45deg);
}
.g26-checks strong { display: inline-block; margin-right: 10px; font-size: 16px; color: var(--c26-ink); }

/* フォームの見本カード */
.g26-formcard { background: var(--c26-white); border-radius: 16px; box-shadow: var(--g26-shadow); overflow: hidden; border-top: 6px solid var(--c26-main); min-width: 0; }
.g26-formcard__photo { position: relative; height: 120px; overflow: hidden; }
.g26-formcard__photo img { width: 100%; height: 100%; object-fit: cover; }
.g26-formcard__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(35, 24, 21, 0) 30%, rgba(35, 24, 21, .55)); }
.g26-formcard__loc { position: absolute; left: 16px; bottom: 10px; z-index: 1; font-family: var(--c26-num); font-size: 11px; font-weight: 600; letter-spacing: .2em; color: #fff; }
.g26-formcard__body { padding: 24px 24px 22px; }
.g26-formcard__eyebrow { font-size: 13px; font-weight: 700; color: var(--c26-main); margin-bottom: 8px; }
.g26-formcard__q { display: flex; align-items: baseline; gap: 10px; font-size: 17px; font-weight: 700; color: var(--c26-ink); line-height: 1.5; margin-bottom: 14px; }
.g26-formcard__q .num { flex: 0 0 auto; color: var(--c26-main); font-size: 20px; }
.g26-formcard__q small { display: block; font-size: 12px; font-weight: 500; color: var(--c26-note); }
.g26-formcard__opts { display: grid; gap: 8px; margin-bottom: 16px; }
.c26 .g26-formcard__opts a {
	display: flex; align-items: center; gap: 12px; padding: 11px 14px; border: 1px solid var(--c26-line); border-radius: 8px;
	font-size: 14px; line-height: 1.5; color: var(--c26-ink); background: #fff;
}
.c26 .g26-formcard__opts a:hover { border-color: var(--c26-main); background: var(--c26-main-pale); text-decoration: none; }
.g26-formcard__opts .box { flex: 0 0 auto; width: 18px; height: 18px; border: 2px solid var(--c26-line); border-radius: 4px; background: #fff; }
.g26-formcard__opts .t { min-width: 0; }
.c26 .g26-formcard__opts .is-hit a { border: 2px solid var(--c26-main); background: var(--c26-main-pale); padding: 10px 13px; }
.g26-formcard__opts .is-hit .box { border-color: var(--c26-main); background: var(--c26-main); position: relative; }
.g26-formcard__opts .is-hit .box::after { content: ""; position: absolute; left: 4px; top: 1px; width: 5px; height: 9px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(45deg); }
.g26-formcard__hint { display: block; font-size: 11px; font-weight: 700; color: var(--c26-main); margin-top: 2px; }
.c26 a.g26-formcard__go {
	display: flex; align-items: center; justify-content: center; min-height: 52px; border-radius: 8px;
	background: var(--c26-main); color: #fff; font-size: 16px; font-weight: 700;
}
.c26 a.g26-formcard__go:hover { background: var(--c26-main-dark); text-decoration: none; }
.g26-formcard__note { margin-top: 10px; font-size: 11px; line-height: 1.6; color: var(--c26-note); }

/* --------------------------------------------------------------------------
   追従CTA（PCは上部の帯、SPは画面下のボタン）
   -------------------------------------------------------------------------- */
.g26-sticky {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 9000;
	background: rgba(255, 255, 255, .97); border-top: 1px solid var(--c26-line); box-shadow: 0 -6px 20px rgba(35, 24, 21, .08);
	transform: translateY(110%); transition: transform .3s;
}
.g26-sticky.is-show { transform: none; }
.g26-sticky .c26-inner { display: flex; align-items: center; gap: 24px; min-height: 72px; padding-right: 96px; }
.g26-sticky__txt { flex: 1 1 auto; font-size: 14px; font-weight: 700; color: var(--c26-ink); }
.c26 a.g26-sticky__tel { font-size: 18px; color: var(--c26-ink); }
.c26 a.g26-sticky__btn { display: inline-flex; align-items: center; min-height: 44px; padding: 0 28px; border-radius: 999px; background: var(--c26-main); color: #fff; font-weight: 700; font-size: 15px; }
.c26 a.g26-sticky__btn:hover { background: var(--c26-main-dark); text-decoration: none; }
.g26-spbar { display: none; }

/* --------------------------------------------------------------------------
   こんなときは無料相談が早道です／比較
   -------------------------------------------------------------------------- */
.g26-when__grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 56px; align-items: center; margin-bottom: 48px; }
.g26-when__list { display: grid; gap: 12px; }
.g26-when__list li {
	position: relative; padding: 16px 18px 16px 52px; background: var(--c26-kinari); border-radius: 10px;
	font-size: 15px; font-weight: 500; color: var(--c26-ink); line-height: 1.6;
}
.g26-when__list li::before {
	content: ""; position: absolute; left: 18px; top: 50%; width: 20px; height: 20px; margin-top: -10px; border-radius: 4px; border: 2px solid var(--c26-main); background: #fff;
}
.g26-when__list li::after {
	content: ""; position: absolute; left: 24px; top: 50%; width: 6px; height: 11px; margin-top: -8px; border-right: 2px solid var(--c26-main); border-bottom: 2px solid var(--c26-main); transform: rotate(45deg);
}
.g26-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 1px solid var(--c26-line); border-radius: 16px; overflow: hidden; }
.g26-compare__col { padding: 32px; background: #fff; display: flex; flex-direction: column; }
.g26-compare__col.is-main { background: var(--c26-main-pale); position: relative; }
.g26-compare__ttl { font-size: 18px; font-weight: 700; color: var(--c26-ink); padding-bottom: 14px; margin-bottom: 8px; border-bottom: 2px solid var(--c26-ink); }
.g26-compare__col.is-main .g26-compare__ttl { color: var(--c26-main-dark); border-bottom-color: var(--c26-main); }
.g26-compare dl { margin-bottom: 22px; flex: 1 1 auto; }
.g26-compare dl div { display: grid; grid-template-columns: 104px 1fr; gap: 12px; padding: 12px 0; border-bottom: 1px dashed var(--c26-line); font-size: 14px; }
.g26-compare dt { color: var(--c26-note); font-weight: 700; }
.g26-compare dd { color: var(--c26-ink); }
.g26-compare__col .g26-cta-main { align-self: flex-start; }

/* --------------------------------------------------------------------------
   支援企業カード
   -------------------------------------------------------------------------- */
.g26-co-list { display: grid; gap: 16px; }
.g26-co {
	display: grid; grid-template-columns: 140px 1fr auto; gap: 28px; align-items: start;
	background: var(--c26-white); border: 1px solid var(--c26-line); border-radius: var(--c26-radius); padding: 28px;
}
.g26-co__logo { display: flex; align-items: center; justify-content: center; width: 140px; height: 140px; border: 1px solid var(--c26-line); border-radius: 10px; background: #fff; overflow: hidden; }
.g26-co__logo img { max-width: 84%; max-height: 84%; object-fit: contain; }
.g26-co__body { min-width: 0; }
.g26-co__name { font-size: 20px; line-height: 1.5; margin-bottom: 8px; }
.c26 .g26-co__name a { color: var(--c26-ink); }
.c26 .g26-co__name a:hover { color: var(--c26-main); }
.g26-co__intro { font-size: 15px; color: var(--c26-text); margin-bottom: 12px; text-wrap: pretty; }
.g26-co__meta { display: flex; flex-wrap: wrap; gap: 6px 24px; font-size: 13px; }
.g26-co__meta div { display: flex; gap: 8px; align-items: baseline; }
.g26-co__meta dt { color: var(--c26-note); }
.g26-co__meta dd { color: var(--c26-ink); font-weight: 500; }
.g26-co__meta .num { font-size: 16px; }
.g26-co__more-n { margin-left: 8px; color: var(--c26-note); font-weight: 400; }
.g26-co__more { margin-top: 12px; border-top: 1px dashed var(--c26-line); padding-top: 10px; }
.g26-co__more summary { cursor: pointer; font-size: 13px; font-weight: 700; color: var(--c26-main); }
.g26-co__more p { margin-top: 8px; font-size: 14px; line-height: 1.85; }
.g26-co__cta { align-self: center; }
.g26-co__cta .c26-btn { min-height: 48px; padding: 0 24px; font-size: 15px; white-space: nowrap; }
.c26 a.g26-btn--ink { background: var(--c26-white); color: var(--c26-ink); border: 1px solid var(--c26-ink); }
.c26 a.g26-btn--ink:hover { background: var(--c26-ink); color: #fff; text-decoration: none; }
.g26-co-note { margin-top: 16px; font-size: 12px; color: var(--c26-note); }
.g26-midcta {
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
	padding: 26px 32px; border-radius: var(--c26-radius); background: var(--c26-ink); color: rgba(255, 255, 255, .88);
}
.g26-midcta__ttl { font-size: 19px; font-weight: 700; color: #fff; margin-bottom: 4px; }
.g26-midcta p { font-size: 14px; }
.g26-empty { background: var(--c26-white); border: 1px solid var(--c26-line); border-radius: var(--c26-radius); padding: 40px; text-align: center; }
.g26-empty__ttl { font-size: 18px; font-weight: 700; color: var(--c26-ink); margin-bottom: 8px; }
.g26-empty p { margin-bottom: 20px; }

/* --------------------------------------------------------------------------
   相談の流れ
   -------------------------------------------------------------------------- */
.g26-flow { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; position: relative; }
.g26-flow li { position: relative; padding: 0 28px 0 0; }
.g26-flow li::before { content: ""; position: absolute; left: 56px; right: 0; top: 27px; height: 2px; background: var(--c26-main-pale); }
.g26-flow li:last-child::before { display: none; }
.g26-flow .num {
	position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center;
	width: 56px; height: 56px; border-radius: 50%; background: var(--c26-main); color: #fff; font-size: 18px; margin-bottom: 18px;
}
.g26-flow h3 { font-size: 18px; color: var(--c26-ink); margin-bottom: 8px; }
.g26-flow p { font-size: 14px; line-height: 1.85; }

/* --------------------------------------------------------------------------
   締めのCTA（墨のボックス）
   -------------------------------------------------------------------------- */
.g26-final { padding: 72px 0; background: var(--c26-white); }
.g26-more { padding-bottom: 120px; }
.g26-final__box {
	display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: center;
	padding: 48px 56px; border-radius: 20px; background: var(--c26-ink); color: rgba(255, 255, 255, .88);
	position: relative; overflow: hidden;
}
.g26-final__box::after {
	content: ""; position: absolute; right: -80px; top: -120px; width: 360px; height: 360px; border-radius: 50%;
	background: repeating-radial-gradient(circle, rgba(255, 255, 255, .06) 0 1px, transparent 1px 24px);
}
.g26-final__box > * { position: relative; z-index: 1; }
.g26-final__eyebrow { display: inline-block; font-size: 13px; font-weight: 700; color: #fff; padding: 2px 10px; border-left: 3px solid var(--c26-main); margin-bottom: 12px; background: rgba(255, 255, 255, .08); }
.g26-final h2 { font-size: 28px; line-height: 1.5; color: #fff; margin-bottom: 10px; }
.g26-final__cta { display: grid; gap: 18px; justify-items: center; }

/* --------------------------------------------------------------------------
   ほかの条件で探す（回遊用はコンパクトに）
   -------------------------------------------------------------------------- */
.g26-more { padding: 48px 0 56px; background: var(--c26-kinari); border-top: 1px solid var(--c26-line); }
.g26-more__ttl { font-size: 16px; font-weight: 700; color: var(--c26-ink); margin-bottom: 20px; }
.g26-more__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.g26-more h3 { font-size: 13px; font-weight: 700; color: var(--c26-note); margin: 0 0 10px; }
.g26-more h3 ~ h3 { margin-top: 22px; }
.g26-minichips { display: flex; flex-wrap: wrap; gap: 6px; }
.c26 .g26-minichips a { display: inline-block; padding: 4px 10px; border: 1px solid var(--c26-line); border-radius: 4px; background: #fff; font-size: 12px; color: var(--c26-text); }
.c26 .g26-minichips a:hover { border-color: var(--c26-main); color: var(--c26-main); text-decoration: none; }
.g26-minilinks li { font-size: 13px; line-height: 1.6; padding: 5px 0; border-bottom: 1px dashed var(--c26-line); }
.c26 .g26-minilinks a { color: var(--c26-text); }
.g26-more__all { margin-top: 18px; font-size: 13px; display: flex; flex-wrap: wrap; gap: 8px 24px; }
.g26-credit { margin-top: 24px; font-size: 10px; color: var(--c26-note); }
.c26 .g26-credit a { color: var(--c26-note); text-decoration: underline; }

.g26 .c26-faq { max-width: none; }

/* ==========================================================================
   レスポンシブ
   ========================================================================== */
@media screen and (max-width: 900px) {
	.g26-lphero > .c26-inner { grid-template-columns: 1fr; gap: 36px; }
	.g26-lphero::before { display: none; }
	.g26-when__grid, .g26-compare, .g26-more__grid { grid-template-columns: 1fr; }
	.g26-co { grid-template-columns: 96px 1fr; }
	.g26-co__logo { width: 96px; height: 96px; }
	.g26-co__cta { grid-column: 1 / -1; }
	.g26-flow { grid-template-columns: 1fr; gap: 24px; }
	.g26-flow li { padding: 0 0 0 76px; min-height: 56px; }
	.g26-flow li::before { left: 27px; right: auto; top: 56px; bottom: -24px; width: 2px; height: auto; }
	.g26-flow .num { position: absolute; left: 0; top: 0; }
	.g26-final__box { grid-template-columns: 1fr; padding: 36px 28px; }
	.g26-midcta { flex-direction: column; align-items: flex-start; }
}
@media screen and (max-width: 640px) {
	.g26-lphero { padding: 28px 0 40px; }
	.g26-lphero::after { display: none; }
	.g26-lphero__tag { font-size: 12px; }
	.g26-lphero__ttl { font-size: clamp(23px, 6.6vw, 28px); }
	.g26-lphero__lead { font-size: 14px; }
	.g26-checks strong { display: block; font-size: 15px; margin: 0; }
	.g26-cta-row { flex-direction: column; align-items: stretch; gap: 14px; }
	.c26 a.g26-cta-main { min-width: 0; width: 100%; font-size: 17px; padding: 10px 48px 12px; }
	.c26 a.g26-cta-tel { align-items: center; }
	.g26-cta-tel strong { font-size: 22px; }
	.g26-formcard__body { padding: 20px 16px 18px; }
	.g26-formcard__q { font-size: 15px; }
	.g26-sticky { display: none; }
	.g26-spbar {
		display: flex; gap: 8px; position: fixed; left: 10px; right: 78px; bottom: 12px; z-index: 9000;
		transform: translateY(140%); transition: transform .3s;
	}
	.g26-spbar.is-show { transform: none; }
	.c26 a.g26-spbar__btn {
		flex: 1 1 auto; display: flex; align-items: center; justify-content: center; min-height: 56px; border-radius: 999px;
		background: var(--c26-main); color: #fff; font-size: 15px; font-weight: 700; box-shadow: 0 8px 20px rgba(35, 24, 21, .28);
	}
	.c26 a.g26-spbar__tel {
		flex: 0 0 56px; display: flex; align-items: center; justify-content: center; height: 56px; border-radius: 50%;
		background: #fff; color: var(--c26-main); border: 2px solid var(--c26-main); font-size: 12px; box-shadow: 0 8px 20px rgba(35, 24, 21, .18);
	}
	.c26 a.g26-spbar__btn:hover, .c26 a.g26-spbar__tel:hover { text-decoration: none; }
	.g26-when__list li { font-size: 14px; }
	.g26-compare__col { padding: 24px 18px; }
	.g26-compare dl div { grid-template-columns: 1fr; gap: 2px; }
	.g26-co { grid-template-columns: 64px 1fr; gap: 16px; padding: 20px 16px; }
	.g26-co__logo { width: 64px; height: 64px; }
	.g26-co__name { font-size: 17px; }
	.g26-co__meta { display: grid; gap: 8px; }
	.g26-co__meta div { display: block; }
	.g26-co__meta dt { font-size: 12px; margin-bottom: 2px; }
	.g26-co__more-n { display: block; margin-left: 0; }
	.g26-co__cta .c26-btn { width: 100%; }
	.g26-midcta { padding: 22px 18px; }
	.g26-midcta .g26-cta-main { width: 100%; }
	.g26-final { padding: 48px 0 96px; }
	.g26-final h2 { font-size: 22px; }
	.g26-final__cta { justify-items: stretch; }
	.g26-more { padding-bottom: 96px; }
}

/* 改行は文節単位（1文字だけの折り返しを防ぐ） */
.g26 :where(.g26-checks li, .g26-formcard__opts .t, .g26-when__list li, .g26-compare dd, .g26-lphero__tag, .g26-lphero__lead, .g26-co__name, .g26-co__intro, .g26-flow p, .g26-midcta p, .g26-final p, .c26-lead) { word-break: auto-phrase; }
.g26-lphero__band { display: none; }
@media screen and (max-width: 640px) {
	.g26-lphero__band { display: block; position: relative; height: 112px; margin: 0 -16px 20px; overflow: hidden; }
	.g26-lphero__band img { width: 100%; height: 100%; object-fit: cover; object-position: center 55%; }
	.g26-lphero__band::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(35, 24, 21, 0) 40%, rgba(35, 24, 21, .5)); }
	.g26-lphero__band span { position: absolute; left: 16px; bottom: 8px; z-index: 1; font-family: var(--c26-num); font-size: 10px; font-weight: 600; letter-spacing: .2em; color: #fff; }
	.g26-formcard__photo { display: none; }
	.g26--lp { padding-bottom: 0; }
}

@media screen and (max-width: 640px) {
	.g26-more { padding-bottom: 110px; }
	.g26-co__name { word-break: auto-phrase; font-size: 16px; }
}

/* ==========================================================================
   事例・自社写真（2026-10 追加）
   ========================================================================== */
.g26-formcard__photo--own { height: 150px; }
.g26-formcard__photo--own img { object-position: center 35%; }
.g26-formcard__photo--own .g26-formcard__loc { font-family: var(--c26-font); letter-spacing: .04em; font-size: 12px; font-weight: 500; }

.g26-when__photo { margin-top: 28px; }
.g26-when__photo img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 14px; }
.g26-when__photo figcaption { margin-top: 10px; font-size: 12px; line-height: 1.7; color: var(--c26-note); }
.g26-when__grid { align-items: start; }

.g26-cases { background: var(--c26-ink); color: rgba(255, 255, 255, .86); }
.g26-cases .c26-eyebrow { color: rgba(255, 255, 255, .6); }
.g26-cases .c26-h2 { color: #fff; }
.g26-cases .c26-lead { color: rgba(255, 255, 255, .8); }
.g26-cases__grid { display: grid; grid-template-columns: 1.35fr 1fr; grid-template-rows: auto auto; gap: 20px; }
.c26 a.g26-case {
	display: grid; grid-template-columns: 180px 1fr; background: #fff; border-radius: 14px; overflow: hidden; color: var(--c26-ink);
	transition: transform .2s, box-shadow .2s;
}
.c26 a.g26-case:hover { text-decoration: none; transform: translateY(-3px); box-shadow: 0 16px 36px rgba(0, 0, 0, .3); }
.g26-case--main { grid-row: 1 / 3; grid-template-columns: 1fr !important; grid-template-rows: auto 1fr; }
.g26-case__img { margin: 0; background: var(--c26-kinari); min-height: 100%; }
.g26-case__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.g26-case--main .g26-case__img { aspect-ratio: 16 / 9; min-height: 0; }
.g26-case__body { padding: 20px 22px 22px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.g26-case--main .g26-case__body { padding: 26px 30px 28px; }
.g26-case__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.g26-case__tags span { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: var(--c26-kinari); color: var(--c26-text); }
.g26-case__tags .is-genre { background: var(--c26-main-pale); color: var(--c26-main-dark); }
.g26-case__ttl { font-size: 16px; line-height: 1.6; color: var(--c26-ink); word-break: auto-phrase; }
.g26-case--main .g26-case__ttl { font-size: 21px; line-height: 1.55; }
.g26-case__lead { font-size: 14px; line-height: 1.85; color: var(--c26-text); word-break: auto-phrase; }
.g26-case__corp { font-size: 12px; color: var(--c26-note); }
.g26-case__more { margin-top: auto; font-size: 13px; font-weight: 700; color: var(--c26-main); }
.g26-case__more::after { content: ""; display: inline-block; width: 6px; height: 6px; margin-left: 8px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); vertical-align: 2px; }
.g26-cases__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 36px; padding-top: 28px; border-top: 1px solid rgba(255, 255, 255, .16); }
.g26-cases__cta p { flex: 1 1 320px; font-size: 15px; color: #fff; font-weight: 500; word-break: auto-phrase; }
.c26 .g26-cases__cta .c26-textlink { color: rgba(255, 255, 255, .85); }

.g26-flow-photos { margin-bottom: 40px; }
.g26-flow-photos img { width: 100%; height: 280px; object-fit: cover; object-position: center 40%; border-radius: 16px; display: block; }

@media screen and (max-width: 900px) {
	.g26-cases__grid { grid-template-columns: 1fr; }
	.g26-case--main { grid-row: auto; }
}
@media screen and (max-width: 640px) {
	.c26 a.g26-case { grid-template-columns: 110px 1fr; }
	.g26-case__body { padding: 14px 14px 16px; }
	.g26-case__ttl { font-size: 14px; }
	.g26-case--main .g26-case__body { padding: 20px 18px 22px; }
	.g26-case--main .g26-case__ttl { font-size: 18px; }
	.g26-cases__cta .g26-cta-main { width: 100%; }
	.g26-flow-photos img { height: 180px; border-radius: 12px; }
}

.c26 a.g26-case.is-noimg { grid-template-columns: 1fr; }
.g26-case:not(.g26-case--main) .g26-case__img { background: #fff; border-right: 1px solid var(--c26-line); }

/* 事例カードは3枚同じ形（16:9の画像を上に） */
.g26-cases__grid { grid-template-columns: repeat(3, 1fr); grid-template-rows: none; }
.c26 a.g26-case { grid-template-columns: 1fr; grid-template-rows: auto 1fr; }
.g26-case .g26-case__img { aspect-ratio: 16 / 9; min-height: 0; border-right: 0 !important; background: var(--c26-kinari); }
.g26-case__ttl { font-size: 17px; }
.g26-case__lead { font-size: 13px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.g26-co__name { line-break: strict; word-break: normal; }
.g26-co__intro { word-break: normal; }
@media screen and (max-width: 900px) { .g26-cases__grid { grid-template-columns: 1fr; } }
@media screen and (max-width: 640px) { .c26 a.g26-case { grid-template-columns: 1fr; } .g26-case__ttl { font-size: 16px; } }

.g26-co__name { word-break: keep-all; overflow-wrap: anywhere; }
.g26-when__cta { margin-top: 24px; padding: 22px 24px; border-radius: 12px; border: 1px dashed var(--c26-main); display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; }
.g26-when__cta p { flex: 1 1 220px; font-size: 15px; font-weight: 700; color: var(--c26-ink); word-break: auto-phrase; }
.g26-co-note--top { margin-top: 10px; }
.g26-co-rest { margin-top: 16px; }
.g26-co-rest > summary {
	list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: center; min-height: 52px;
	border: 1px solid var(--c26-ink); border-radius: 999px; background: #fff; font-weight: 700; color: var(--c26-ink); max-width: 360px; margin: 0 auto;
}
.g26-co-rest > summary::-webkit-details-marker { display: none; }
.g26-co-rest[open] > summary { display: none; }
@media screen and (max-width: 640px) { .g26-when__cta .g26-cta-main { width: 100%; } }

/* ==========================================================================
   白書データ・社員写真（2026-10 追加）
   ========================================================================== */
.g26-formcard__photo--own { height: 160px; }
.g26-formcard__photo--own img { object-position: center 30%; }
.g26-when__photo img { aspect-ratio: 613 / 453; }
.g26-flow-photos img { object-position: center 30%; }

.g26-data { padding: 72px 0; background: var(--c26-kinari); border-bottom: 1px solid var(--c26-line); }
.g26-data__head { display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: end; margin-bottom: 32px; }
.c26 a.g26-data__book {
	display: grid; grid-template-columns: 64px 1fr; grid-template-rows: auto auto; column-gap: 14px; align-items: center;
	padding: 14px 20px 14px 14px; border-radius: 12px; background: #fff; border: 1px solid var(--c26-line); color: var(--c26-ink); max-width: 320px;
}
.c26 a.g26-data__book::before {
	content: ""; grid-row: 1 / 3; width: 64px; height: 84px; border-radius: 4px;
	background: linear-gradient(160deg, var(--c26-main) 0 55%, var(--c26-main-dark) 55%); box-shadow: 4px 4px 0 var(--c26-line);
}
.c26 a.g26-data__book:hover { border-color: var(--c26-main); text-decoration: none; }
.g26-data__book-ttl { font-size: 15px; font-weight: 700; line-height: 1.4; }
.g26-data__book-txt { font-size: 12px; color: var(--c26-main); font-weight: 700; }
.g26-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.g26-stat { background: #fff; border-radius: 14px; padding: 24px 22px; border-top: 4px solid var(--c26-main); min-width: 0; }
.g26-stat__label { font-size: 13px; font-weight: 700; color: var(--c26-note); margin-bottom: 10px; word-break: auto-phrase; }
.g26-stat__value { font-size: 18px; font-weight: 700; color: var(--c26-ink); line-height: 1.3; }
.g26-stat__value .num { font-size: 44px; color: var(--c26-main); margin-right: 2px; }
.g26-stat__note { margin-top: 6px; font-size: 12px; color: var(--c26-note); word-break: auto-phrase; }
.g26-stat__list li { display: flex; align-items: baseline; gap: 10px; padding: 6px 0; border-bottom: 1px dashed var(--c26-line); font-size: 15px; font-weight: 700; color: var(--c26-ink); line-height: 1.5; word-break: auto-phrase; }
.g26-stat__list li:last-child { border-bottom: 0; }
.g26-stat__list .num { flex: 0 0 auto; font-size: 13px; color: var(--c26-main); }
.g26-data__src { margin-top: 18px; font-size: 11px; line-height: 1.7; color: var(--c26-note); }

.g26-final__tel { display: flex; align-items: center; gap: 14px; }
.g26-final__tel img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; object-position: center 20%; border: 3px solid rgba(255, 255, 255, .25); }
.g26-final__tel p { font-size: 14px; color: #fff; font-weight: 500; }

@media screen and (max-width: 900px) {
	.g26-stats { grid-template-columns: 1fr 1fr; }
	.g26-data__head { grid-template-columns: 1fr; }
}
@media screen and (max-width: 640px) {
	.g26-data { padding: 48px 0; }
	.g26-stats { gap: 10px; }
	.g26-stat { padding: 18px 14px; }
	.g26-stat__value .num { font-size: 34px; }
	.g26-stat__list li { font-size: 13px; }
}

.g26-nw { white-space: nowrap; }
.g26-flow-photos img { object-position: 70% 15%; }

/* 相談の流れ：写真（元の比率）＋手順を縦に */
.g26-flow-wrap { display: grid; grid-template-columns: 420px 1fr; gap: 48px; align-items: center; }
.g26-flow-photo { margin: 0; }
.g26-flow-photo img { width: 100%; height: auto; border-radius: 16px; display: block; }
.g26-flow-photo figcaption { margin-top: 10px; font-size: 12px; color: var(--c26-note); }
.g26-flow--v { grid-template-columns: 1fr; gap: 26px; }
.g26-flow--v li { padding: 0 0 0 76px; min-height: 56px; }
.g26-flow--v li::before { left: 27px; right: auto; top: 56px; bottom: -26px; width: 2px; height: auto; }
.g26-flow--v .num { position: absolute; left: 0; top: 0; margin: 0; }
@media screen and (max-width: 900px) { .g26-flow-wrap { grid-template-columns: 1fr; gap: 28px; } }

/* ==========================================================================
   2026-10-22 追加：費用の幅・説明（CMS）・よくいただくご相談・依頼したときの流れ・選び方
   ========================================================================== */
.c26 .sp-only { display: none; }
.g26-data__more { margin-top: 10px; font-size: 13px; }

/* 費用の幅（CMSで下限・上限が入っているときだけ） */
.g26-range { margin-top: 16px; padding: 22px 26px; background: #fff; border-radius: 14px; }
.g26-range__ttl { font-size: 13px; font-weight: 700; color: var(--c26-note); margin-bottom: 14px; }
.g26-range__bar { position: relative; height: 10px; border-radius: 99px; background: var(--c26-main-pale); }
.g26-range__fill { position: absolute; inset: 0; border-radius: 99px; background: linear-gradient(90deg, var(--c26-main-pale), var(--c26-main)); }
.g26-range__avg { position: absolute; top: 50%; width: 18px; height: 18px; margin: -9px 0 0 -9px; border-radius: 50%; background: #fff; border: 4px solid var(--c26-ink); }
.g26-range__nums { display: flex; justify-content: space-between; gap: 12px; margin-top: 10px; font-size: 13px; color: var(--c26-text); }
.g26-range__nums .num { font-size: 18px; font-weight: 700; color: var(--c26-ink); }
.g26-range__nums .is-avg .num { color: var(--c26-main); }
.g26-range__src { margin-top: 8px; font-size: 11px; color: var(--c26-note); }

/* 説明（CMS） */
.g26-intro__box { max-width: 860px; margin: 0 auto; padding: 40px 48px; border-radius: 16px; border: 1px solid var(--c26-line); border-left: 6px solid var(--c26-main); }
.g26-intro__box .c26-h2 { margin-bottom: 18px; }
.g26-intro__box p + p { margin-top: 1em; }

/* よくいただくご相談（ジャンルごと） */
.g26-needs__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.c26 .g26-needs__grid a {
	position: relative; display: flex; flex-direction: column; gap: 6px; height: 100%;
	padding: 22px 48px 22px 22px; border-radius: 14px; background: #fff; border: 1px solid var(--c26-line); color: var(--c26-ink);
	transition: border-color .2s, box-shadow .2s;
}
.c26 .g26-needs__grid a::after {
	content: ""; position: absolute; right: 20px; top: 50%; width: 9px; height: 9px; margin-top: -5px;
	border-top: 2px solid var(--c26-main); border-right: 2px solid var(--c26-main); transform: rotate(45deg);
}
.c26 .g26-needs__grid a:hover { border-color: var(--c26-main); box-shadow: 0 6px 18px rgba(35, 24, 21, .06); text-decoration: none; }
.g26-needs__ttl { font-size: 16px; font-weight: 700; line-height: 1.5; word-break: auto-phrase; }
.g26-needs__sub { font-size: 12px; color: var(--c26-note); line-height: 1.6; word-break: auto-phrase; }

/* 依頼すると何をしてもらえるか */
.g26-work__list { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; counter-reset: none; }
.g26-work__list li { position: relative; padding: 0 18px 0 0; }
.g26-work__list li::before { content: ""; position: absolute; left: 56px; right: 0; top: 27px; height: 2px; background: var(--c26-line); }
.g26-work__list li:last-child::before { display: none; }
.g26-work__list .num {
	position: relative; z-index: 1; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%;
	background: var(--c26-main); color: #fff; font-size: 18px; font-weight: 700; margin-bottom: 16px;
}
.g26-work__list h3 { font-size: 17px; color: var(--c26-ink); line-height: 1.5; margin-bottom: 8px; word-break: auto-phrase; }
.g26-work__list p { font-size: 14px; line-height: 1.75; word-break: auto-phrase; }
.g26-work__out { margin-top: 12px; padding-top: 10px; border-top: 1px dashed var(--c26-line); font-weight: 700; color: var(--c26-ink); font-size: 13px !important; }
.g26-work__out span { display: inline-block; margin-right: 8px; padding: 1px 8px; border-radius: 4px; background: var(--c26-main-pale); color: var(--c26-main); font-size: 11px; }

/* 依頼先の選び方 */
.g26-pick__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.g26-pick__list li { display: grid; grid-template-columns: 40px 1fr; gap: 14px; padding: 24px 22px; border-radius: 14px; background: #fff; }
.g26-pick__list .num { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 2px solid var(--c26-main); color: var(--c26-main); font-weight: 700; }
.g26-pick__list h3 { font-size: 16px; color: var(--c26-ink); line-height: 1.5; margin-bottom: 6px; word-break: auto-phrase; }
.g26-pick__list p { font-size: 14px; line-height: 1.75; word-break: auto-phrase; }
.g26-pick__list li.is-cta { background: var(--c26-ink); }
.g26-pick__list li.is-cta .num { border-color: #fff; color: #fff; }
.g26-pick__list li.is-cta h3, .g26-pick__list li.is-cta p { color: #fff; }
.c26 .g26-pick__list li.is-cta .c26-textlink { margin-top: 10px; color: #fff; font-size: 14px; }

@media screen and (max-width: 900px) {
	.g26-needs__grid, .g26-pick__list { grid-template-columns: 1fr 1fr; }
	.g26-work__list { grid-template-columns: 1fr; gap: 22px; }
	.g26-work__list li { padding: 0 0 0 76px; min-height: 56px; }
	.g26-work__list li::before { left: 27px; right: auto; top: 56px; bottom: -22px; width: 2px; height: auto; }
	.g26-work__list .num { position: absolute; left: 0; top: 0; margin: 0; }
}
@media screen and (max-width: 640px) {
	.c26 .sp-only { display: inline; }
	.g26-needs__grid, .g26-pick__list { grid-template-columns: 1fr; gap: 10px; }
	.c26 .g26-needs__grid a { padding: 16px 44px 16px 16px; }
	.g26-needs__ttl { font-size: 15px; }
	.g26-intro__box { padding: 26px 20px; }
	.g26-pick__list li { padding: 18px 16px; }
	.g26-range { padding: 18px 16px; }
}
