
/* Ver.40: restrained institutional / editorial design for official-post references. */
.lp40-slot{max-width:960px;margin:26px 0 0}
.lp40-card{display:grid;grid-template-columns:47% 53%;border:1px solid #deddd7;background:#fffdfa;color:#1d303e;text-decoration:none;overflow:hidden;border-radius:4px;box-shadow:0 13px 34px rgba(22,38,47,.065);transition:transform .22s ease,box-shadow .22s ease}
.lp40-card:hover{transform:translateY(-2px);box-shadow:0 20px 44px rgba(22,38,47,.12)}
.lp40-card:focus-visible{outline:3px solid #ae976d;outline-offset:4px}
.lp40-photo{position:relative;aspect-ratio:4/3;min-height:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;overflow:hidden;color:#7d887e;background:linear-gradient(132deg,#e9e9e5 0%,#e1e4e0 60%,#dbe0db 100%)}
.lp40-photo:before{content:'';position:absolute;inset:17px;border:1px solid rgba(176,166,144,.45);pointer-events:none}
.lp40-photo-crest{width:68px;height:68px;color:#8e9b94;display:block}
.lp40-photo-crest svg{width:100%;height:100%;display:block}
.lp40-photo-message{font:500 15px/1.6 var(--serif,'Yu Mincho',serif);letter-spacing:.07em;color:#65756e}
.lp40-photo-note{font:12px/1.7 var(--sans,sans-serif);color:#87938b}
.lp40-photo-label{position:absolute;bottom:27px;left:32px;font:500 9px/1.5 var(--sans,sans-serif);letter-spacing:.21em;color:#66776e}
.lp40-photo img{width:100%;height:100%;object-fit:contain;display:block}
.lp40-card-body{display:flex;flex-direction:column;min-width:0;align-items:start;padding:34px 38px 31px}
.lp40-kicker{font:600 10px/1.8 var(--sans,sans-serif);letter-spacing:.16em;color:#9c8964}
.lp40-card-title{font:500 clamp(20px,2.7vw,29px)/1.5 var(--serif,'Yu Mincho',serif);letter-spacing:.05em;color:#1c3545;margin:12px 0 11px}
.lp40-card-rule{height:1px;background:#c8b99d;width:43px;margin:2px 0 15px}
.lp40-card-description{font:14px/1.9 var(--sans,sans-serif);color:#65737b;max-width:400px;margin-bottom:26px}
.lp40-button{box-sizing:border-box;min-width:225px;max-width:100%;min-height:70px;display:flex;gap:32px;align-items:center;justify-content:space-between;padding:13px 19px 13px 21px;background:#19384a;color:#f9f7f2;margin-top:auto;transition:background .2s}
.lp40-button small{display:block;color:#d3c6ae;font:500 11px/1.5 var(--sans,sans-serif);letter-spacing:.02em}
.lp40-button strong{display:block;color:#fff;font:600 17px/1.5 var(--sans,sans-serif);margin-top:3px}
.lp40-button-arrow{font:400 25px/1 var(--sans,sans-serif);color:#c6ae86}
.lp40-card:hover .lp40-button{background:#294e61}
.lp40-embed-disclosure{margin-top:16px;font:13px/1.8 var(--sans,sans-serif);color:#526775;max-width:960px}
.lp40-embed-disclosure summary{cursor:pointer;display:inline-flex;align-items:center;gap:9px;letter-spacing:.03em;text-decoration:underline;text-underline-offset:4px}
.lp40-embed-disclosure summary span{font-size:17px;color:#a89473}
.lp40-embed-body{margin-top:14px;background:#faf9f6;border:1px solid #e5e0d6;padding:18px}
.lp40-embed-body p{font-size:12px;line-height:1.8;margin:0 0 15px}
.lp40-embed-body iframe{border:1px solid #e6e6e6;display:block;background:#fff;width:min(100%,490px);height:620px;max-width:100%;margin-bottom:12px}
.lp40-embed-body a{color:#23475b}
@media(max-width:740px){.lp40-card{grid-template-columns:1fr}.lp40-photo{aspect-ratio:4/3}.lp40-card-body{padding:25px 26px 26px}.lp40-card-title{font-size:24px}.lp40-photo-label{bottom:26px}.lp40-button{width:100%;min-height:70px}.lp40-card-description{font-size:13px}.lp40-embed-body iframe{height:590px}}
