/* LP追加分のスタイル（build.py が生成。直接編集しない） */
/* ===== ここから LP 追加分（既存サイトの CSS は上の <link> をそのまま利用） ===== */
.lpLead { text-align: center; font-size: 3.73vw; line-height: 1.8; margin: -8px 0 24px; }
.lpLead strong { color: var(--color-main); font-weight: 700; }
.lpNote { text-align: center; font-size: 3.2vw; color: #777; margin-top: 20px; }
@media screen and (min-width: 768px) {
  .lpLead { font-size: 16px; margin: -34px 0 40px; }
  .lpNote { font-size: 13px; }
}
@media screen and (min-width: 900px) {
  .lpLead { position: relative; z-index: 2; }
  .lpNote { position: relative; z-index: 2; margin-top: 4px; }
}

/* センター選択パネル（PC：地図の上に開く） */
.lpPanelBackdrop { position: absolute; top: -130px; right: 0; bottom: 0; left: 0; background: rgba(255, 255, 255, .78); z-index: 3; }
.lpPanel { position: absolute; top: 0; left: 50%; transform: translateX(-50%); z-index: 4; width: 100%; max-width: 860px; padding: 28px 32px 32px; background: #fff; border: 2px solid var(--color-main); box-shadow: 0 6px 24px rgba(0, 0, 0, .14); }
.lpPanel[hidden], .lpPanelBackdrop[hidden] { display: none; }
.lpPanel_title { font-size: 22px; font-weight: 700; line-height: 1.4; text-align: center; padding: 0 48px; }
.lpPanel_job { margin-top: 6px; font-size: 15px; font-weight: 700; text-align: center; color: var(--color-main); }
.lpPanel_close { position: absolute; top: 14px; right: 14px; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: var(--color-main); cursor: pointer; transition: opacity .3s; }
.lpPanel_close:hover { opacity: .8; }
.lpPanel_close::before, .lpPanel_close::after { content: ""; position: absolute; top: 50%; left: 50%; width: 20px; height: 4px; margin: -2px 0 0 -10px; border-radius: 2px; background: #fff; transform: rotate(45deg); }
.lpPanel_close::after { transform: rotate(-45deg); }

/* センターカード（PC・スマホ共通） */
.lpCenterList { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 22px; }
.lpCenter { display: flex; flex-direction: column; gap: 12px; padding: 16px; border-radius: 8px; background: #eee; text-align: left; }
.lpCenter_name { font-size: 18px; font-weight: 700; line-height: 1.4; }
.lpCenter_info { display: grid; gap: 4px; font-size: 13px; line-height: 1.6; }
.lpCenter_info > div { display: grid; grid-template-columns: 76px 1fr; gap: 4px; }
.lpCenter_info dt, .lpCenter_info dd { padding: 5px 10px; background: #fff; }
.lpCenter_info dt { display: flex; align-items: center; justify-content: center; padding: 5px 4px; font-weight: 700; }
.lpCenter_btn { display: block; margin-top: auto; padding: 13px 8px; background: var(--color-main); color: #fff; font-size: 16px; font-weight: 700; line-height: 1.2; text-align: center; transition: opacity .3s; }
.lpCenter_btn:hover { opacity: .8; }

/* スマホ：都道府県の行（センター複数＝開閉／募集なし＝グレー） */
.lpPrefToggle { width: 100%; background: transparent; border: 0; border-bottom: 1px solid var(--color-main); color: inherit; font: inherit; text-align: left; cursor: pointer; }
.lpPrefToggle::after { background: url("../icons/ico_plus.svg") center center no-repeat; }
.lpPrefToggle.active::after { background: url("../icons/ico_minus.svg") center center no-repeat; }
.lpPrefDisabled { color: #aaa; }
.lpCenters { overflow: hidden; height: 0; transition: .5s; }
.lpCenters_job { padding: 4vw 5.33vw 0 3.2vw; font-size: 3.47vw; font-weight: 700; color: var(--color-main); }
.lpCenters .lpCenterList { grid-template-columns: 1fr; gap: 3.2vw; margin: 0; padding: 3.2vw 5.33vw 5.33vw 3.2vw; border-bottom: 1px solid var(--color-main); }
.lpCenters .lpCenter { gap: 3.2vw; padding: 4vw; }
.lpCenters .lpCenter_name { font-size: 4.27vw; }
.lpCenters .lpCenter_info { font-size: 3.47vw; }
.lpCenters .lpCenter_info > div { grid-template-columns: 19vw 1fr; }
.lpCenters .lpCenter_btn { padding: 3.73vw 2vw; font-size: 4vw; }
@media screen and (min-width: 768px) {
  .lpCenters_job { padding: 20px 40px 0 24px; font-size: 14px; }
  .lpCenters .lpCenterList { grid-template-columns: 1fr 1fr; gap: 16px; padding: 14px 40px 28px 24px; }
  .lpCenters .lpCenter { gap: 12px; padding: 16px; }
  .lpCenters .lpCenter_name { font-size: 18px; }
  .lpCenters .lpCenter_info { font-size: 13px; }
  .lpCenters .lpCenter_info > div { grid-template-columns: 76px 1fr; }
  .lpCenters .lpCenter_btn { padding: 13px 8px; font-size: 16px; }
}

/* 日本地図の背景（CSS変数に頼らず直接指定） */
.pcAreaPictureNational_bg { background-image: url("../images/japan.png"); }
