/* むさし久留米 HPB POP連携 v1.1.1
 * /musashi/ の末尾POPだけ。既存LPや共通フッターのスタイルを変更しない。
 * 親要素の幅が狭くても文章が縦1列に潰れないよう、grid固定幅からflex折返しに変更。
 */
#mkhpb-pop-card {
  box-sizing:border-box; clear:both; position:relative;
  width:calc(100% - 24px); max-width:980px; min-width:0;
  margin:24px auto 30px; padding:clamp(18px,3vw,30px);
  background:#fffefa; color:#141414; border:3px solid #f6c628;
  border-radius:18px; box-shadow:0 12px 26px rgba(0,0,0,.13);
  font-family:inherit; text-align:left; line-height:1.7;
  writing-mode:horizontal-tb;
}
#mkhpb-pop-card, #mkhpb-pop-card * {box-sizing:border-box}
#mkhpb-pop-card .mkhpb-footer-promo__inner {
  display:flex !important; flex-flow:row wrap !important;
  align-items:center; justify-content:space-between;
  gap:clamp(18px,3vw,30px); width:100%; min-width:0;
}
#mkhpb-pop-card .mkhpb-footer-promo__copy {
  flex:1 1 420px; min-width:0; max-width:100%;
  width:auto; writing-mode:horizontal-tb !important;
}
#mkhpb-pop-card .mkhpb-footer-promo__eyebrow {
  margin:0 0 10px;color:#e51a68;font-size:12px;
  font-weight:900;letter-spacing:.12em;white-space:normal;
}
#mkhpb-pop-card h2 {
  display:block !important; width:auto !important; max-width:100%;
  margin:0 0 13px !important; padding:0 !important;
  background:transparent !important; color:#111 !important;
  border:0 !important; box-shadow:none !important;
  font-size:clamp(23px,2.6vw,31px) !important;
  line-height:1.45 !important; font-weight:900 !important;
  letter-spacing:0; text-align:left !important;
  word-break:normal !important; overflow-wrap:normal !important;
  writing-mode:horizontal-tb !important;
}
#mkhpb-pop-card h2::before,#mkhpb-pop-card h2::after {display:none !important;content:none !important}
#mkhpb-pop-card .mkhpb-footer-promo__description {
  margin:0 0 18px;color:#242424;font-size:15px;line-height:1.8;
  word-break:normal;overflow-wrap:break-word;
}
#mkhpb-pop-card .mkhpb-footer-promo__button {
  display:flex; align-items:center; justify-content:center; gap:8px;
  width:100%; min-height:55px; margin:0 0 13px; padding:13px 20px;
  border-radius:12px; border:0 !important;
  background:#ee2463 !important; color:#fff !important;
  font-weight:850 !important; font-size:clamp(14px,2vw,17px);
  line-height:1.4; text-decoration:none !important; text-align:center;
  box-shadow:0 6px 0 #bd134a; transition:transform .2s,box-shadow .2s;
}
#mkhpb-pop-card .mkhpb-footer-promo__button:hover {
  background:#d51654 !important; color:#fff !important;
  transform:translateY(2px); box-shadow:0 4px 0 #a80c41;
}
#mkhpb-pop-card .mkhpb-footer-promo__button:focus-visible,
#mkhpb-pop-card a:focus-visible {outline:3px solid #111;outline-offset:4px}
#mkhpb-pop-card .mkhpb-footer-promo__button span {font-size:24px;line-height:1}
#mkhpb-pop-card .mkhpb-footer-promo__note {margin:5px 0 0;color:#535353;font-size:12px;line-height:1.8}
#mkhpb-pop-card .mkhpb-footer-promo__poster {
  flex:0 1 235px; width:235px; max-width:100%; min-width:0;
  margin-inline:auto; text-align:center;
}
#mkhpb-pop-card .mkhpb-footer-promo__poster>a:first-child {
  display:block; width:100%; max-width:235px; margin:0 auto;
  border:1px solid rgba(0,0,0,.08); border-radius:10px;
  overflow:hidden;line-height:0;box-shadow:0 7px 22px rgba(0,0,0,.13)
}
#mkhpb-pop-card .mkhpb-footer-promo__poster img {
  display:block; width:100% !important; max-width:100% !important;
  height:auto !important; margin:0 !important;
  object-fit:contain !important;
}
#mkhpb-pop-card .mkhpb-footer-promo__download {
  display:inline-block; margin:10px 0 0; padding:2px 5px;
  color:#292929 !important; text-decoration:underline;
  font-size:12px; font-weight:700; line-height:1.5;
}
/* narrow viewports: simple text-then-image, with no cramped horizontal columns */
@media (max-width:700px) {
  #mkhpb-pop-card {width:calc(100% - 18px); padding:20px 15px; margin:18px auto 25px;border-radius:16px}
  #mkhpb-pop-card .mkhpb-footer-promo__inner {display:flex !important;flex-direction:column !important;align-items:stretch;gap:19px}
  #mkhpb-pop-card .mkhpb-footer-promo__copy {flex:0 1 auto; width:100%;order:1}
  #mkhpb-pop-card .mkhpb-footer-promo__poster {flex:0 1 auto;order:2; width:245px;max-width:100%}
  #mkhpb-pop-card .mkhpb-footer-promo__description {font-size:14px}
  #mkhpb-pop-card h2 {font-size:clamp(23px,5.7vw,27px) !important}
}
/* Section is hidden before positioning so it cannot briefly flash at page bottom. */
#mkhpb-pop-card:not([data-mkhpb-positioned="yes"]) {display:none !important}
