.site-main--subsidy { min-width: 1200px; background: #fff; color: #111; }
.subsidy-page__breadcrumb { background: #f5f5f5; font-weight: 500; }
.subsidy-page__breadcrumb a { text-decoration: none; }
.subsidy-hero { padding: 72px 0 78px; background: linear-gradient(135deg, #eff2ff 0%, #f7fbff 55%, #e9f8ec 100%); }
.subsidy-hero__inner { display: grid; width: 1200px; margin: 0 auto; grid-template-columns: 1fr 330px; align-items: center; gap: 82px; }
.subsidy-hero__audience { display: inline-flex; min-width: 104px; height: 36px; padding: 0 25px; align-items: center; justify-content: center; border-radius: 99px; background: var(--gradient-brand); color: #fff; font-weight: 700; }
.subsidy-hero__eyebrow { margin: 21px 0 5px; color: #188f65; font-size: 17px; font-weight: 700; letter-spacing: 1px; }
.subsidy-hero h1 { margin: 0; font-size: 48px; line-height: 1.35; letter-spacing: 2px; }
.subsidy-hero__lead { max-width: 690px; margin: 24px 0 0; font-size: 21px; font-weight: 700; line-height: 1.8; }
.subsidy-hero__highlight { display: flex; min-height: 220px; padding: 35px; flex-direction: column; align-items: center; justify-content: center; border-radius: 26px; background: #fff; box-shadow: 0 16px 46px rgba(39, 75, 67, .12); text-align: center; }
.subsidy-hero__highlight strong { background: var(--gradient-brand); background-clip: text; -webkit-background-clip: text; color: transparent; font-family: Afacad, var(--font-family-ja); font-size: 54px; line-height: 1.15; }
.subsidy-page--corporate .subsidy-hero__highlight strong { font-size: 46px; white-space: nowrap; }
.subsidy-hero__highlight p { margin: 13px 0 0; font-size: 15px; font-weight: 700; line-height: 1.7; }
.subsidy-page__switch { display: grid; width: 520px; margin: -25px auto 0; grid-template-columns: 1fr 1fr; border-radius: 99px; background: #fff; box-shadow: 0 8px 26px rgba(0, 0, 0, .12); overflow: hidden; }
.subsidy-page__switch a { display: flex; height: 54px; align-items: center; justify-content: center; color: #555; font-weight: 700; text-decoration: none; }
.subsidy-page__switch a.is-current { background: var(--gradient-brand); color: #fff; }
.subsidy-page__notice { display: flex; width: 1200px; min-height: 56px; padding: 12px 22px; margin: 45px auto 0; align-items: center; gap: 20px; border: 1px solid #b8d9ab; border-radius: 10px; background: #f3faef; font-size: 14px; }
.subsidy-page__notice strong { white-space: nowrap; }
.subsidy-page__body { display: grid; width: 1200px; margin: 0 auto; grid-template-columns: minmax(0, 859px) 310px; align-items: start; gap: 31px; }
.subsidy-page__content { min-width: 0; padding: 20px 0 110px; }
.subsidy-side-nav { position: sticky; top: var(--ds-course-side-nav-sticky-top, 90px); padding: 26px 29px 24px; margin-top: 105px; background: #effae8; }
.subsidy-side-nav h2 { margin: 0 0 17px; font-size: 16px; line-height: 1.6; }
.subsidy-side-nav a { display: block; margin: 9px 0; color: #777; font-size: 14px; line-height: 1.6; text-decoration: none; }
.subsidy-side-nav a::before { margin-right: 9px; color: #5cb702; content: "○"; }
.subsidy-side-nav a.is-active { color: #111; font-weight: 700; }
.subsidy-side-nav a.is-active::before { content: "●"; }
.subsidy-side-nav a:focus-visible { border-radius: 2px; outline: 2px solid #0099aa; outline-offset: 3px; }
.subsidy-section, .subsidy-official { scroll-margin-top: 110px; }
.subsidy-section { padding: 85px 0; }
.subsidy-section + .subsidy-section { border-top: 1px solid #ddd; }
.subsidy-section__index { margin: 0 0 7px; color: #00a783; font-family: Afacad, sans-serif; font-size: 16px; font-weight: 700; letter-spacing: 3px; }
.subsidy-section h2 { margin: 0; font-size: 34px; line-height: 1.5; letter-spacing: 1.5px; }
.subsidy-section__intro { max-width: 100%; margin: 34px 0 0; font-size: 17px; line-height: 2; }
.subsidy-points { display: grid; margin-top: 48px; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.subsidy-point { min-height: 230px; padding: 29px 28px; border-radius: 16px; background: #f3f5ff; }
.subsidy-page--corporate .subsidy-point { background: #eff9f3; }
.subsidy-point > span { color: #08a784; font-family: Afacad, sans-serif; font-size: 18px; font-weight: 700; }
.subsidy-point h3 { margin: 20px 0 12px; font-size: 21px; }
.subsidy-point p { margin: 0; font-size: 15px; line-height: 1.8; }
.subsidy-benefits { display: grid; margin-top: 45px; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.subsidy-benefits article { min-height: 270px; padding: 30px; border: 1px solid #d9e6d4; border-radius: 18px; background: linear-gradient(145deg, #fff, #f2faee); }
.subsidy-benefits strong { display: block; background: var(--gradient-brand); background-clip: text; -webkit-background-clip: text; color: transparent; font-family: Afacad, sans-serif; font-size: 52px; line-height: 1; }
.subsidy-benefits h3 { margin: 21px 0 10px; font-size: 20px; }
.subsidy-benefits p { margin: 0; font-size: 14px; line-height: 1.8; }
.subsidy-schemes { display: grid; margin-top: 45px; grid-template-columns: 1fr 1fr; gap: 14px; }
.subsidy-schemes article { display: grid; min-height: 132px; padding: 22px 24px; grid-template-columns: 42px 1fr; gap: 14px; border-radius: 14px; background: #eff9f3; }
.subsidy-schemes article > span { color: #00a783; font-family: Afacad, sans-serif; font-size: 18px; font-weight: 700; }
.subsidy-schemes h3 { margin: 0 0 8px; font-size: 17px; }
.subsidy-schemes p { margin: 0; color: #444; font-size: 13px; line-height: 1.7; }
.subsidy-reference { padding: 28px; margin: 40px 0 0; border: 1px solid #ddd; border-radius: 16px; background: #fff; }
.subsidy-reference img { display: block; width: 100%; height: auto; }
.subsidy-reference figcaption { margin-top: 13px; color: #a35b00; font-size: 13px; font-weight: 700; text-align: center; }
.subsidy-section--eligibility ul { display: grid; padding: 0; margin: 38px 0 0; gap: 12px; list-style: none; }
.subsidy-section--eligibility li { position: relative; padding: 19px 24px 19px 54px; border-radius: 10px; background: #f4f6ff; font-size: 15px; line-height: 1.8; }
.subsidy-section--eligibility li::before { position: absolute; top: 22px; left: 24px; width: 18px; height: 18px; border-radius: 50%; background: var(--gradient-brand); color: #fff; content: "✓"; font-size: 12px; font-weight: 700; line-height: 18px; text-align: center; }
.subsidy-programs { margin-top: 45px; border-top: 2px solid #65bd16; }
.subsidy-programs > div { display: grid; min-height: 80px; padding: 19px 24px; grid-template-columns: 1fr 270px; align-items: center; gap: 30px; border-bottom: 1px solid #d9d9d9; }
.subsidy-programs strong { font-size: 16px; }
.subsidy-programs span { color: #555; font-size: 14px; }
.subsidy-programs__detail { padding: 20px 24px; margin: 25px 0 0; border-left: 4px solid #65bd16; background: #f5faef; font-size: 14px; line-height: 1.8; }
.subsidy-section__note { margin: 20px 0 0; color: #666; font-size: 13px; }
.subsidy-flow { display: grid; padding: 0; margin: 48px 0 0; gap: 16px; list-style: none; }
.subsidy-flow li { position: relative; display: grid; min-height: 112px; padding: 23px 30px; grid-template-columns: 135px 1fr; align-items: center; border-radius: 14px; background: #f7f7f7; }
.subsidy-flow li > span { color: #00a784; font-family: Afacad, sans-serif; font-size: 18px; font-weight: 700; letter-spacing: 1px; }
.subsidy-flow h3 { margin: 0 0 6px; font-size: 19px; }
.subsidy-flow p { margin: 0; font-size: 14px; line-height: 1.8; }
.subsidy-faqs { margin-top: 42px; }
.subsidy-faqs details { border-bottom: 1px solid #d5d5d5; }
.subsidy-faqs summary { display: grid; min-height: 78px; grid-template-columns: 42px 1fr; align-items: center; cursor: pointer; font-size: 17px; font-weight: 700; list-style: none; }
.subsidy-faqs summary::-webkit-details-marker { display: none; }
.subsidy-faqs summary span, .subsidy-faqs details > p span { background: var(--gradient-brand); background-clip: text; -webkit-background-clip: text; color: transparent; font-family: Afacad, sans-serif; font-size: 30px; font-weight: 700; }
.subsidy-faqs details > p { display: grid; padding: 24px 28px; margin: 0 0 18px; grid-template-columns: 42px 1fr; border-radius: 12px; background: #f5f5f5; font-size: 15px; line-height: 1.8; }
.subsidy-official { display: flex; padding: 38px 42px; align-items: center; justify-content: space-between; gap: 30px; border-radius: 18px; background: #edf9e8; }
.subsidy-official p { margin: 0 0 5px; color: #188f65; font-size: 13px; font-weight: 700; }
.subsidy-official h2 { margin: 0; font-size: 22px; }
.subsidy-official__links { display: grid; width: 340px; flex: 0 0 auto; gap: 10px; }
.subsidy-official a { display: flex; width: 100%; min-height: 58px; padding: 12px 24px; align-items: center; justify-content: space-between; gap: 18px; border-radius: 8px; background: #000; color: #fff; font-size: 14px; font-weight: 700; line-height: 1.5; text-decoration: none; }
.subsidy-official .ds-css-arrow, .subsidy-cta .ds-css-arrow { --ds-arrow-color: #71d000; }
.subsidy-cta { padding: 70px 60px; margin-top: 70px; border-radius: 28px; background: linear-gradient(135deg, #e9edff, #ecfae6); text-align: center; }
.subsidy-cta > p { margin: 0 0 12px; color: #159667; font-weight: 700; }
.subsidy-cta h2 { margin: 0; font-size: 30px; }
.subsidy-cta > span { display: block; margin-top: 15px; font-size: 15px; }
.subsidy-cta__actions { display: flex; margin-top: 33px; align-items: center; justify-content: center; gap: 15px; }
.subsidy-cta__actions a { display: flex; min-width: 270px; height: 58px; padding: 0 24px; align-items: center; justify-content: center; gap: 28px; border-radius: 8px; background: #000; color: #fff; font-weight: 700; text-decoration: none; }
.subsidy-cta__actions .subsidy-cta__other { border: 1px solid #aeb6a8; background: #fff; color: #222; }

@media (max-width: 767px) {
	.site-main--subsidy { min-width: 0; }
	.subsidy-hero { padding: 45px 20px 62px; }
	.subsidy-hero__inner { width: 100%; grid-template-columns: 1fr; gap: 30px; }
	.subsidy-hero h1 { font-size: 34px; }
	.subsidy-hero__lead { font-size: 17px; }
	.subsidy-hero__highlight { min-height: 160px; padding: 25px; }
	.subsidy-hero__highlight strong { font-size: 44px; }
	.subsidy-page__switch { width: calc(100% - 40px); }
	.subsidy-page__notice { width: calc(100% - 32px); align-items: flex-start; flex-direction: column; gap: 3px; }
	.subsidy-page__notice strong { white-space: normal; }
	.subsidy-page__body { display: block; width: calc(100% - 32px); }
	.subsidy-page__content { width: 100%; padding-bottom: 72px; }
	.subsidy-side-nav { display: none; }
	.subsidy-section { padding: 62px 0; }
	.subsidy-section h2 { font-size: 28px; }
	.subsidy-points { grid-template-columns: 1fr; }
	.subsidy-benefits, .subsidy-schemes { grid-template-columns: 1fr; }
	.subsidy-benefits article { min-height: 0; }
	.subsidy-reference { padding: 10px; }
	.subsidy-programs > div { grid-template-columns: 1fr; gap: 8px; }
	.subsidy-flow li { grid-template-columns: 1fr; gap: 10px; }
	.subsidy-official { align-items: stretch; flex-direction: column; }
	.subsidy-official__links { width: 100%; }
	.subsidy-cta { padding: 50px 20px; }
	.subsidy-cta h2 { font-size: 25px; }
	.subsidy-cta__actions { align-items: stretch; flex-direction: column; }
	.subsidy-cta__actions a { min-width: 0; }
}
