/* 枠と画像の縦横比を一致させ、写真全体の四隅を丸める。 */
.single-post-content img {
 position: static;
 display: inline-block;
 width: auto;
 max-width: 100%;
 height: auto;
 aspect-ratio: auto;
 object-fit: contain;
 border-radius: 12px;
 margin: 0;
}
.news-featured-image {
 width: 60%;
 margin-inline: auto;
}
.news-featured-image img {
 display: block;
 margin-inline: auto;
}
.single-post-content a.news-image-link {
 border: 0;
 padding: 0;
 cursor: zoom-in;
}
.single-post-content .news-image-link img:hover {
 scale: 1;
}
body.news-image-modal-open {
 overflow: hidden;
}
.news-image-modal {
 border: 0;
 padding: 48px 16px 16px;
 width: fit-content;
 max-width: calc(100vw - 24px);
 max-height: calc(100dvh - 24px);
 box-sizing: border-box;
 background: #fff;
 border-radius: 16px;
 overflow: auto;
}
.news-image-modal::backdrop {
 background: rgb(0 0 0 / 75%);
}
.news-image-modal__image {
 display: block;
 width: auto;
 height: auto;
 max-width: 100%;
 max-height: calc(100dvh - 100px);
 object-fit: contain;
 border-radius: 12px;
 margin: auto;
}
.news-image-modal__close {
 position: absolute;
 top: 4px;
 right: 8px;
 display: grid;
 place-items: center;
 width: 40px;
 height: 40px;
 padding: 0;
 border: 0;
 border-radius: 50%;
 background: #fff;
 color: #222;
 font-size: 32px;
 line-height: 1;
 cursor: pointer;
}
.news-image-modal__close:focus-visible,
.news-image-link:focus-visible {
 outline: 3px solid #1671b7;
 outline-offset: 3px;
}
@media (max-width: 767px) {
 .news-featured-image {
  width: 100%;
 }
}
