@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ（えちごの・ルートの玄関）
    Version: 1.1.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* 色は /web/（小さなお店のWeb顧問）と同じ：紺 #1F3A5F・金 #C9A227・生成り #FAF8F3 */
:root {
	--er-navy: #1f3a5f;
	--er-gold: #c9a227;
	--er-paper: #faf8f3;
	--er-card: #ffffff;
	--er-ink: #22262c;
	--er-sub: #5b6573;
	--er-line: #e2ddd0;
}

.home .post_content > * + * { margin-top: 0; }
.home .post_content { display: flex; flex-direction: column; gap: 2.5rem; }

.er-hero { padding-block: 1.5rem 0.25rem; max-width: 40em; }
.er-kicker {
	margin: 0 0 0.9rem; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.12em; color: var(--er-navy);
	display: inline-block; padding-bottom: 0.3rem; border-bottom: 2px solid var(--er-gold);
}
.post_content h2.er-hero__title {
	margin: 0 0 1rem; padding: 0; border: 0; background: none; color: var(--er-navy);
	font-size: clamp(1.7rem, 5vw, 2.5rem); line-height: 1.4; letter-spacing: 0.03em; text-wrap: balance;
}
.post_content h2.er-hero__title::before,
.post_content h2.er-hero__title::after { content: none; }
.er-hero__lead { margin: 0; line-height: 1.95; color: var(--er-ink); }

.er-services { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); gap: 1.25rem; }
.er-service {
	display: flex; flex-direction: column; gap: 0.7rem; min-width: 0;
	padding: 1.5rem 1.4rem 1.4rem; background: var(--er-card);
	border: 1px solid var(--er-line); border-top: 4px solid var(--er-navy); border-radius: 8px;
}
.er-service p { margin: 0; }
.er-service__price {
	order: 2; color: var(--er-navy); font-weight: 700; font-size: 1.6rem; line-height: 1.2;
	font-variant-numeric: tabular-nums; letter-spacing: 0.02em;
}
.er-service__price span { font-size: 0.85rem; font-weight: 500; color: var(--er-sub); margin: 0 0.15em; }
.post_content h3.er-service__name {
	order: 1; margin: 0; padding: 0; border: 0; background: none; font-size: 1.35rem; letter-spacing: 0.04em;
}
.post_content h3.er-service__name::before,
.post_content h3.er-service__name::after { content: none; }
.er-service__name a { color: var(--er-navy); text-decoration: none; }
.er-service__name a:hover { text-decoration: underline; }
.er-service__desc { order: 3; line-height: 1.85; color: var(--er-ink); }
.er-service__go { order: 4; margin-top: auto; padding-top: 0.4rem; }
.er-service__go a { color: var(--er-navy); font-weight: 700; }
.er-service__go a::after { content: " →"; }

.er-cta {
	display: flex; flex-direction: column; align-items: center; gap: 1rem; text-align: center;
	padding: 1.75rem 1.25rem; border-radius: 8px; background: var(--er-navy); color: #fff;
}
.er-cta p { margin: 0; }
.er-cta__note { line-height: 1.8; max-width: 34em; }
.er-cta__buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.75rem; }
.er-btn {
	display: inline-block; padding: 0.8rem 1.4rem; border-radius: 6px; font-weight: 700; text-decoration: none;
	border: 1px solid rgba(255, 255, 255, 0.6); color: #fff;
}
.er-btn--main { background: var(--er-gold); border-color: var(--er-gold); color: var(--er-navy); }
.er-btn:hover { opacity: 0.85; }
.er-cta a.er-btn { color: #fff; }
.er-cta a.er-btn--main { color: var(--er-navy); }

.er-foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem 1.5rem; font-size: 0.9rem; color: var(--er-sub); }
.er-foot p { margin: 0; }
.er-foot a { color: var(--er-navy); }

.er-table th { white-space: nowrap; width: 9em; }

/* /web/ と同じ金のボタン（ふつうのボタンブロックを使ったとき） */
.wp-block-button__link { background-color: var(--er-gold) !important; color: var(--er-navy) !important; font-weight: 700; border-radius: 6px; }
.wp-block-button__link:hover { opacity: 0.85; }
