.pj-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9990;display:none;align-items:flex-start;justify-content:center;overflow-y:auto;padding:40px 16px}
.pj-modal-overlay.is-open{display:flex}
.pj-modal{background:#fff;max-width:1000px;width:100%;position:relative;padding:56px 48px;margin:auto;font-family:'Noto Sans JP',sans-serif;letter-spacing:.08em;color:#000}
@media(max-width:749px){.pj-modal{padding:48px 20px}}
.pj-modal-close{position:absolute;top:14px;right:16px;border:none;background:none;font-size:30px;line-height:1;cursor:pointer;color:#000;padding:8px}

.pj-mv2-row{display:grid;grid-template-columns:44% 1fr;gap:32px;align-items:start;margin-bottom:28px}
.pj-mv2-row:last-child{margin-bottom:0}
.pj-mv2-imgcell{width:100%}
.pj-mv2-row .pj-real-img,.pj-mv2-row .pj-mock-img{width:100%}
@media(max-width:749px){.pj-mv2-row{grid-template-columns:1fr;gap:16px}}

.pj-mock-img{background:linear-gradient(135deg,#ececec 0%,#dcdcdc 100%);display:flex;align-items:center;justify-content:center;color:#909090;font-size:13px;letter-spacing:.25em}
.pj-mock-img--salon{aspect-ratio:16/10}
.pj-mock-img--person{aspect-ratio:1/1}

.pj-modal-name{font-family:'Poppins','Noto Sans JP',sans-serif;font-weight:500;font-size:clamp(22px,3.4vw,30px);letter-spacing:.08em;margin:0 0 10px;line-height:1.3}
.pj-badge{display:inline-block;border:1px solid #000;padding:3px 12px;font-size:11px;letter-spacing:.15em;margin:0 0 20px}
.pj-badge--plain{border-color:#b8b8b8;color:#707070}

.pj-modal-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:20px;font-size:14px;line-height:1.9}
.pj-modal-row svg{flex:none;width:19px;height:19px;margin-top:5px}
.pj-modal-row a.pj-gmap{display:inline-block;color:#000;font-weight:700;text-decoration:underline;text-underline-offset:4px;margin-top:2px}
.pj-modal-row a.pj-tel{color:#000;text-decoration:none}
.pj-station{color:#707070;font-size:13px}

.pj-mv2-owner{margin:0 0 20px;font-size:14px;line-height:1.9;display:flex;gap:12px;align-items:baseline}
.pj-mv2-owner-label{font-weight:700;letter-spacing:.15em;flex:none}
.pj-mv2-owner-name{color:#333}

.pj-modal-links{display:flex;flex-wrap:wrap;gap:22px;margin-top:6px}
.pj-modal-link{display:inline-flex;align-items:center;gap:8px;color:#000;text-decoration:none;font-size:13px;letter-spacing:.1em;font-weight:500}
.pj-modal-link svg{width:22px;height:22px}
.pj-modal-link:hover{opacity:.6}

.pj-mv2-salontext{font-size:14px;line-height:1.9;color:#333;letter-spacing:.05em}
.pj-mv2-salontext .pj-mv2-label{font-weight:700;letter-spacing:.15em;margin:0 0 8px;font-size:13px}
.pj-mv2-salontext .pj-mv2-body{margin:0;white-space:pre-line}
