body.seo-page { color: #222; background: #fff; font-family: "Noto Sans JP", "Yu Gothic", "Microsoft YaHei", sans-serif; }
.seo-header { padding: 18px 5%; border-bottom: 1px solid #eee; display: flex; align-items: center; justify-content: space-between; }
.seo-header img { width: 105px; }
.seo-header nav a { margin-left: 20px; color: #333; text-decoration: none; }
.seo-hero { padding: 95px 5%; color: #fff; text-align: center; background: linear-gradient(rgba(20,0,30,.55), rgba(20,0,30,.55)), url(../picture/stage_makeup.jpg) center 42%/cover; }
.seo-hero h1 { font-size: 3rem; line-height: 1.45; margin: 0; }
.seo-hero p { font-size: 1.25rem; margin-top: 18px; }
.seo-main { max-width: 1040px; margin: 0 auto; padding: 65px 5%; }
.seo-section { margin-top: 65px; }
.seo-section:first-child { margin-top: 0; }
.seo-section h2 { font-size: 2rem; text-align: center; margin-bottom: 28px; }
.seo-section h3 { font-size: 1.35rem; margin-bottom: 12px; }
.seo-section p, .seo-section li { font-size: 1.05rem; line-height: 2; }
.seo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.seo-card { padding: 26px; background: #f8f5f8; border-top: 3px solid #d76c8c; }
.seo-profile { display: grid; grid-template-columns: 320px 1fr; gap: 38px; align-items: center; }
.seo-profile img { width: 100%; }
.seo-cta { padding: 40px; text-align: center; background: #30172f; color: #fff; }
.seo-cta a { display: inline-block; margin-top: 18px; padding: 14px 32px; background: #fff; color: #30172f; text-decoration: none; font-weight: bold; }
.seo-lang { text-align: center; margin-top: 45px; }
.seo-footer { padding: 35px 5%; text-align: center; background: #f4f4f4; line-height: 1.8; }
.service-lead { max-width: 820px; margin: 0 auto; }
.price-list { max-width: 760px; margin: 0 auto; border-top: 1px solid #ddd; }
.price-row { display: flex; justify-content: space-between; align-items: center; gap: 25px; padding: 22px 18px; border-bottom: 1px solid #ddd; }
.price-row strong { font-size: 1.2rem; }
.price-row .price { color: #b83f68; font-size: 1.4rem; font-weight: bold; white-space: nowrap; }
.travel-fee { max-width: 760px; margin: 28px auto 0; padding: 25px 30px; background: #f8f5f8; }
.travel-fee h3 { margin-top: 0; }
.travel-fee ul { margin-bottom: 0; }
.service-photo { width: 100%; max-height: 560px; object-fit: cover; object-position: center 58%; }
@media only screen and (max-width: 767px) {
  .seo-header { display: block; text-align: center; }
  .seo-header nav { margin-top: 15px; }
  .seo-header nav a { margin: 0 7px; font-size: .9rem; }
  .seo-hero { padding: 65px 6%; }
  .seo-hero h1 { font-size: 2rem; }
  .seo-grid, .seo-profile { grid-template-columns: 1fr; }
  .seo-profile img { max-width: 360px; margin: auto; }
  .price-row { align-items: flex-start; padding: 18px 10px; }
  .price-row strong { font-size: 1rem; }
  .price-row .price { font-size: 1.15rem; }
  .travel-fee { padding: 20px; }
}
