@charset "UTF-8";

/* ---- Shared hero + CTA for benefit/training/questions ---- */
.mv-simple { background: var(--stone); text-align: center; padding: 56px 32px 48px; }
.mv-simple_en { font-size: .78rem; letter-spacing: .14em; color: var(--green-800); font-weight: 700; text-transform: uppercase; margin: 0; }
.mv-simple_ttl { font-size: 1.6rem; margin: .6rem 0 0; }

.simple-cta {
	display: block; width: fit-content; margin: 40px auto 64px; padding: .9rem 2.4rem;
	background: var(--green-600); color: #fff; text-align: center;
	font-size: .95rem; font-weight: 700; border-radius: 100px;
}
.simple-cta:hover { background: var(--green-800); }

.is-emphasis { color: var(--green-800); font-weight: 700; }

/* ---- Welfare (benefit) ---- */
.welfare { max-width: 1080px; margin: 0 auto; padding: 48px 32px 0; }
.welfare_intro { text-align: center; color: var(--ink-soft); font-size: .9rem; margin: 0 0 2.4rem; }
.welfare_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.welfare_item { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 1.4rem 1.5rem; }
.welfare_item_heading { display: flex; align-items: center; gap: .8rem; margin-bottom: .8rem; }
.welfare_item_icon { width: 32px; height: 32px; flex-shrink: 0; }
.welfare_item_heading h2 { font-size: .95rem; margin: 0; line-height: 1.5; }
.welfare_item_text { font-size: .82rem; color: var(--ink-soft); margin: 0; line-height: 1.8; }

@media (max-width: 900px) { .welfare_grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .welfare_grid { grid-template-columns: 1fr; } }

/* ---- Training ---- */
.training { max-width: 1000px; margin: 0 auto; padding: 48px 32px 0; }
.training_intro { text-align: center; color: var(--ink-soft); font-size: .9rem; margin: 0 0 2.8rem; line-height: 1.9; }
.training_item { display: flex; gap: 2.4rem; align-items: center; padding: 2rem 0; border-top: 1px solid var(--line); }
.training_item:first-of-type { border-top: none; }
.training_item.is-reverse { flex-direction: row-reverse; }
.training_item_text { flex: 1; min-width: 0; }
.training_item_text h2 { font-size: 1.1rem; margin: 0 0 1rem; color: var(--green-800); }
.training_item_text p { font-size: .86rem; color: var(--ink-soft); margin: 0; line-height: 1.9; }
.training_item_pic { flex: 0 0 320px; }
.training_item_pic img { width: 100%; border-radius: 10px; }

@media (max-width: 767px) {
	.training_item, .training_item.is-reverse { flex-direction: column; }
	.training_item_pic { flex: none; width: 100%; }
}

/* ---- FAQ (questions) ---- */
.faq { max-width: 800px; margin: 0 auto; padding: 48px 32px 0; }
.faq_intro { text-align: center; color: var(--ink-soft); font-size: .9rem; margin: 0 0 2.4rem; }
.faq_item { border-top: 1px solid var(--line); padding: 1.6rem 0; }
.faq_item:first-child { border-top: none; }
.faq_item_q, .faq_item_a { display: flex; gap: 1rem; align-items: flex-start; }
.faq_item_q { margin-bottom: 1rem; }
.faq_item_q p { font-weight: 700; font-size: .95rem; margin: 0; }
.faq_item_a p { font-size: .86rem; color: var(--ink-soft); margin: 0; line-height: 1.85; }
.faq_item_mark {
	flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	font-weight: 700; font-size: .85rem;
}
.faq_item_q .faq_item_mark { background: var(--green-600); color: #fff; }
.faq_item_a .faq_item_mark { background: var(--stone); color: var(--green-800); }
