/* =============================================================
   HEART CREATION MEDIA  —  main.css の上に重ねる追加スタイル
   変数（--bk / --wh / --line / --en / --ja …）は main.css のものを使う
   ============================================================= */

/* ---- 一覧 ---- */
.media-lead{
	max-width:760px;margin:0 auto;text-align:center;
	color:var(--gray);font-size:clamp(13px,1.5vw,15px);line-height:2.1;
}
.media-filter{
	display:flex;flex-wrap:wrap;gap:8px;justify-content:center;
	margin:clamp(28px,4vw,44px) auto 0;
}
.media-filter__btn{
	appearance:none;background:transparent;cursor:pointer;
	border:1px solid var(--line);border-radius:999px;
	color:var(--gray);font-family:var(--en2);font-size:11px;letter-spacing:.14em;
	padding:9px 16px;transition:.25s;
}
.media-filter__btn:hover{color:var(--wh);border-color:var(--line-3)}
.media-filter__btn.is-on{background:var(--wh);color:var(--bk);border-color:var(--wh)}

.media-list{
	display:grid;gap:clamp(18px,2.4vw,28px);
	grid-template-columns:repeat(auto-fill,minmax(310px,1fr));
	margin-top:clamp(32px,4vw,52px);
}
.media-card{
	position:relative;display:flex;flex-direction:column;
	background:var(--bk-2);border:1px solid var(--line-2);
	overflow:hidden;transition:.35s;
}
.media-card:hover{border-color:var(--line-3);transform:translateY(-3px)}
.media-card__thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--bk-3)}
.media-card__thumb img{width:100%;height:100%;object-fit:cover;transition:.6s}
.media-card:hover .media-card__thumb img{transform:scale(1.04)}
.media-card__no{
	position:absolute;left:0;top:0;z-index:2;
	background:var(--bk);color:var(--wh);
	font-family:var(--en);font-size:11px;letter-spacing:.16em;
	padding:6px 12px;
}
.media-card__body{padding:clamp(18px,2vw,24px);display:flex;flex-direction:column;gap:10px;flex:1}
.media-card__meta{display:flex;gap:12px;align-items:center;font-family:var(--en2);font-size:11px;letter-spacing:.1em;color:var(--gray-2)}
.media-card__cat{color:var(--wh);border:1px solid var(--line);padding:3px 9px;border-radius:999px}
.media-card__title{font-size:clamp(16px,1.9vw,19px);line-height:1.65;font-weight:700;color:var(--wh)}
.media-card__excerpt{font-size:13px;line-height:2;color:var(--gray);flex:1}
.media-card__more{font-family:var(--en2);font-size:11px;letter-spacing:.14em;color:var(--wh)}
.media-card a.media-card__link{position:absolute;inset:0;z-index:3}

/* ---- 記事本文 ---- */
.article{padding-block:clamp(48px,6vw,88px)}
.article__inner{max-width:820px;margin:0 auto}
.article__meta{display:flex;gap:14px;align-items:center;font-family:var(--en2);font-size:11px;letter-spacing:.12em;color:var(--gray-2);margin-bottom:18px}
.article__cat{color:var(--wh);border:1px solid var(--line);padding:4px 10px;border-radius:999px}
.article__body{color:#dcdcd8;font-size:clamp(14px,1.7vw,16px);line-height:2.35;letter-spacing:.02em}
.article__body > * + *{margin-top:1.6em}
.article__body h2{
	font-size:clamp(19px,2.6vw,26px);line-height:1.6;color:var(--wh);font-weight:900;
	margin-top:2.6em;padding-top:1.6em;border-top:1px solid var(--line-2);letter-spacing:.01em;
}
.article__body h3{font-size:clamp(16px,2vw,19px);color:var(--wh);font-weight:700;margin-top:2.2em;line-height:1.7}
.article__body strong{color:var(--wh);font-weight:700}
.article__body em{font-style:normal;color:var(--wh);border-bottom:1px solid var(--line-3);padding-bottom:2px}
.article__body blockquote{
	border-left:2px solid var(--wh);padding:2px 0 2px 22px;color:var(--wh);
	font-size:clamp(16px,2.2vw,21px);line-height:2;font-weight:700;
}
.article__body ul,.article__body ol{padding-left:1.4em}
.article__body li + li{margin-top:.7em}
.article__body hr{border:0;border-top:1px solid var(--line-2);margin:3em 0}
.article__body .lead{font-size:clamp(16px,2.2vw,20px);line-height:2.1;color:var(--wh);font-weight:700}
.article__body .center{text-align:center}
.article__body figure figcaption{margin-top:10px;font-size:12px;color:var(--gray-2);text-align:center}
.article__body img{max-width:100%;height:auto;display:block}

/* ---- 漫画ビューア ---- */
.manga{margin-top:2.4em}
.manga__spreads{display:flex;flex-direction:column;gap:14px}
.manga__pages{display:none;flex-direction:column;gap:12px}
.manga figure{margin:0;background:#fff;border:1px solid var(--line-2)}
.manga img{width:100%;height:auto;display:block;cursor:zoom-in}
.manga__note{margin-top:14px;font-size:12px;color:var(--gray-2);text-align:center}
@media (max-width:767px){
	.manga__spreads{display:none}
	.manga__pages{display:flex}
}
/* 拡大表示 */
.zoomer{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:12px}
.zoomer.is-open{display:flex}
.zoomer img{max-width:100%;max-height:100%;object-fit:contain;cursor:zoom-out}
.zoomer__close{position:absolute;top:14px;right:16px;background:none;border:0;color:#fff;font-size:26px;line-height:1;cursor:pointer}

/* ---- 記事下 ---- */
.article-foot{max-width:820px;margin:clamp(44px,6vw,72px) auto 0;border-top:1px solid var(--line-2);padding-top:clamp(28px,4vw,40px)}
.article-share{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.article-share__label{font-family:var(--en2);font-size:11px;letter-spacing:.14em;color:var(--gray-2);margin-right:4px}
.article-share a{border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:12px;color:var(--gray);transition:.25s}
.article-share a:hover{color:var(--wh);border-color:var(--line-3)}
.article-nav{display:flex;justify-content:space-between;gap:16px;margin-top:clamp(26px,3vw,36px);flex-wrap:wrap}
.article-nav a{font-size:13px;color:var(--gray);line-height:1.8;max-width:46%}
.article-nav a:hover{color:var(--wh)}
.article-nav span{display:block;font-family:var(--en2);font-size:10px;letter-spacing:.14em;color:var(--gray-2);margin-bottom:6px}

/* ---- シェア ---- */
.share{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.share__label{font-family:var(--en2);font-size:11px;letter-spacing:.14em;color:var(--gray-2);margin-right:4px}
.share__btn{
	appearance:none;cursor:pointer;background:transparent;
	border:1px solid var(--line);border-radius:999px;padding:8px 16px;
	font-family:var(--ja);font-size:12px;color:var(--gray);transition:.25s;line-height:1;
}
.share__btn:hover{color:var(--bk);background:var(--wh);border-color:var(--wh)}

/* ---- いいね ＋ コメント ---- */
.reaction{
	margin-top:clamp(40px,5vw,64px);padding-top:clamp(32px,4vw,48px);
	border-top:1px solid var(--line-2);
}
.reaction__lead{font-size:13px;line-height:2;color:var(--gray);text-align:center}
.reaction__row{
	display:flex;align-items:center;justify-content:center;gap:clamp(16px,3vw,32px);
	flex-wrap:wrap;margin-top:22px;
}
.like{
	appearance:none;cursor:pointer;display:inline-flex;align-items:center;gap:10px;
	background:transparent;border:1px solid var(--line-3);border-radius:999px;
	padding:13px 26px;color:var(--wh);font-family:var(--ja);font-size:14px;font-weight:700;
	transition:.3s;
}
.like:hover{border-color:var(--wh);transform:translateY(-2px)}
.like__heart{font-size:17px;color:var(--gray-2);transition:.3s;line-height:1}
.like.is-on{background:var(--wh);color:var(--bk);border-color:var(--wh);cursor:default}
.like.is-on .like__heart{color:#e0454f}
.like__count{font-family:var(--en2);font-size:13px;letter-spacing:.06em;opacity:.75;min-width:1.4em;text-align:left}
@keyframes hc-pop{0%{transform:scale(1)}35%{transform:scale(1.28)}100%{transform:scale(1)}}
.like.is-pop .like__heart{animation:hc-pop .55s ease}

.comments{margin-top:clamp(38px,5vw,60px)}
.comments__head{font-size:clamp(17px,2.2vw,21px);font-weight:900;color:var(--wh);text-align:center;line-height:1.7}
.comments__lead{margin-top:12px;font-size:13px;line-height:2;color:var(--gray);text-align:center}

.cform{margin-top:26px;background:var(--bk-2);border:1px solid var(--line-2);padding:clamp(18px,2.6vw,30px)}
.cform__selects{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.cform__sel,.cform__field{display:block}
.cform__sel span,.cform__field span{
	display:block;font-size:11px;letter-spacing:.1em;color:var(--gray-2);margin-bottom:7px;
}
.cform__field{margin-top:16px}
.cform select,.cform input[type=text],.cform textarea{
	width:100%;background:var(--bk-3);border:1px solid var(--line);color:var(--wh);
	font-family:var(--ja);font-size:14px;line-height:1.7;padding:11px 13px;border-radius:4px;
	appearance:none;transition:.2s;
}
.cform select{background-image:linear-gradient(45deg,transparent 50%,var(--gray) 50%),linear-gradient(135deg,var(--gray) 50%,transparent 50%);
	background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}
.cform select:focus,.cform input:focus,.cform textarea:focus{outline:none;border-color:var(--wh)}
.cform textarea{resize:vertical;min-height:118px}
.cform__hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0}
.cform__foot{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:20px}
.cform__submit{padding:13px 34px}
.cform__note{font-size:11px;line-height:1.9;color:var(--gray-2)}
.cform__msg{margin-top:12px;font-size:13px;color:var(--gray);min-height:1.2em}
.cform__msg.is-ok{color:#7fd6a0}
.cform__msg.is-ng{color:#e08a8a}

.comment-list{list-style:none;padding:0;margin:clamp(26px,3vw,38px) 0 0;display:flex;flex-direction:column;gap:14px}
.comment{background:var(--bk-2);border:1px solid var(--line-2);padding:clamp(16px,2vw,22px)}
.comment__meta{display:flex;gap:9px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--gray-2);margin-bottom:9px}
.comment__meta strong{color:var(--wh);font-size:13px}
.comment__tag{border:1px solid var(--line);border-radius:999px;padding:2px 9px;font-size:11px}
.comment__body{font-size:14px;line-height:2.1;color:#dcdcd8}

/* =============================================================
   記事内の演出ブロック
   ============================================================= */
/* JS（IntersectionObserver）が使えるときだけ隠す。使えなければ最初から見える */
html.rv [data-rv]{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
html.rv [data-rv].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){[data-rv]{opacity:1;transform:none;transition:none}}

/* シーン見出し */
.a-scene{
	margin-top:clamp(64px,9vw,124px)!important;padding-top:clamp(26px,3vw,38px);
	border-top:1px solid var(--line);position:relative;
}
.a-scene__take{
	position:absolute;top:-9px;left:0;background:var(--bk);padding-right:14px;
	font-family:var(--en);font-size:11px;letter-spacing:.2em;color:var(--gray-2);
}
.a-scene__en{
	display:block;font-family:var(--en2);font-size:11px;letter-spacing:.26em;
	text-transform:uppercase;color:var(--gray);margin-bottom:14px;
}
.a-scene__ja{
	font-size:clamp(24px,4.6vw,44px)!important;line-height:1.42;font-weight:900;color:var(--wh);
	letter-spacing:.01em;margin:0!important;padding:0!important;border:0!important;
}

/* 特大のキメ文 */
.a-statement{
	margin-top:clamp(38px,5vw,64px)!important;
	font-size:clamp(22px,4.4vw,46px);line-height:1.55;font-weight:900;color:var(--wh);
	letter-spacing:.005em;text-align:center;
	padding:clamp(24px,3vw,40px) 0;position:relative;
}
.a-statement::before,.a-statement::after{
	content:"";position:absolute;left:50%;transform:translateX(-50%);
	width:38px;height:1px;background:var(--line-3);
}
.a-statement::before{top:0}
.a-statement::after{bottom:0}

/* 問いかけ */
.a-quote{
	margin-top:clamp(30px,4vw,48px)!important;
	display:flex;flex-direction:column;gap:14px;
	border-left:2px solid var(--wh);padding:6px 0 6px clamp(18px,2.6vw,30px);
}
.a-quote span{
	font-size:clamp(18px,3vw,30px);line-height:1.65;font-weight:700;color:var(--wh);
}

/* 「正解」リスト */
.a-items{list-style:none;padding:0!important;margin-top:clamp(24px,3vw,38px)!important}
.a-items li{
	display:flex;align-items:baseline;gap:16px;
	padding:15px 0;border-bottom:1px solid var(--line-2);margin:0!important;
}
.a-items li i{font-family:var(--en);font-style:normal;font-size:12px;letter-spacing:.14em;color:var(--gray-2);min-width:2.2em}
.a-items li span{font-size:clamp(15px,2vw,18px);color:#dcdcd8;font-weight:500}

/* 「〜なら、〜すればいい」 */
.a-pairs{margin-top:clamp(26px,3vw,42px)!important;display:flex;flex-direction:column;gap:clamp(14px,2vw,22px)}
.a-pair{
	background:var(--bk-2);border:1px solid var(--line-2);
	padding:clamp(18px,2.4vw,28px);display:flex;flex-direction:column;gap:8px;transition:.4s;
}
.a-pair:hover{border-color:var(--line-3);background:var(--bk-3)}
.a-pair__if{font-size:clamp(13px,1.7vw,15px);color:var(--gray)}
.a-pair__then{font-size:clamp(18px,3vw,28px);font-weight:900;color:var(--wh);line-height:1.5}

/* 5つの領域 */
.a-keys{
	margin-top:clamp(26px,3vw,42px)!important;
	display:grid;gap:1px;background:var(--line-2);border:1px solid var(--line-2);
	grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
}
.a-key{background:var(--bk);padding:clamp(20px,2.4vw,28px) clamp(14px,1.8vw,20px);display:flex;flex-direction:column;gap:9px;transition:.4s}
.a-key:hover{background:var(--bk-3)}
.a-key__no{font-family:var(--en);font-size:11px;letter-spacing:.16em;color:var(--gray-2)}
.a-key__en{font-family:var(--en);font-size:clamp(18px,2.4vw,25px);letter-spacing:.02em;color:var(--wh);line-height:1.1}
.a-key__ja{font-size:12.5px;line-height:1.9;color:var(--gray)}

/* タグ */
.a-tags{margin-top:clamp(22px,2.6vw,34px)!important;display:flex;flex-wrap:wrap;gap:10px}
.a-tag{
	border:1px solid var(--line);border-radius:999px;padding:9px 18px;
	font-size:13px;color:var(--wh);background:var(--bk-2);
}

/* 打ち消しの3行 */
.a-deny{margin-top:clamp(24px,3vw,38px)!important;display:flex;flex-direction:column;gap:6px}
.a-deny__line{
	font-size:clamp(16px,2.4vw,22px);line-height:1.75;color:var(--gray);font-weight:500;
	position:relative;padding-left:26px;
}
.a-deny__line::before{content:"";position:absolute;left:0;top:.72em;width:14px;height:1px;background:var(--gray-2)}


/* 作品タイトル */
.a-title{
	margin-top:clamp(30px,4vw,50px)!important;text-align:center;
	padding:clamp(28px,4vw,48px) clamp(18px,3vw,36px);
	border:1px solid var(--line);background:var(--bk-2);
}
.a-title__label{display:block;font-family:var(--en2);font-size:11px;letter-spacing:.26em;color:var(--gray);margin-bottom:16px}
.a-title__main{
	display:block;font-size:clamp(26px,5.4vw,54px);line-height:1.35;font-weight:900;color:var(--wh);letter-spacing:.01em;
}

/* 署名 */
.a-sign{
	margin-top:clamp(44px,6vw,76px)!important;display:flex;flex-direction:column;gap:5px;align-items:flex-end;
	padding-top:clamp(22px,3vw,32px);border-top:1px solid var(--line-2);
}
.a-sign span{font-size:13px;color:var(--gray);letter-spacing:.04em}
.a-sign span:last-child{color:var(--wh);font-size:16px;font-weight:700;letter-spacing:.1em}

/* リードを少し強く */
.article__body .lead{
	font-size:clamp(17px,2.6vw,23px);line-height:1.95;color:var(--wh);font-weight:700;letter-spacing:.01em;
}
/* 漫画セクションを引き立てる */
.manga{
	margin-top:clamp(30px,4vw,48px)!important;padding:clamp(16px,2.4vw,30px);
	background:var(--bk-2);border:1px solid var(--line-2);
}

/* ---- 記事内の漫画を目立たせる ---- */
.manga{
	margin-top:clamp(30px,4vw,52px)!important;
	background:var(--bk-2);border:1px solid var(--line);
	padding:0!important;overflow:hidden;
}
@media (min-width:1100px){
	/* 本文より少し広く出して、作品として見せる */
	.manga{margin-left:calc((820px - min(1120px, 92vw)) / 2);margin-right:calc((820px - min(1120px, 92vw)) / 2)}
}
.manga__bar{
	display:flex;align-items:center;gap:14px;flex-wrap:wrap;
	padding:14px clamp(14px,2vw,22px);border-bottom:1px solid var(--line-2);background:var(--bk-3);
}
.manga__label{font-family:var(--en);font-size:11px;letter-spacing:.24em;color:var(--gray-2)}
.manga__ttl{font-size:clamp(14px,1.9vw,17px);font-weight:900;color:var(--wh);letter-spacing:.02em;flex:1}
.manga__count{font-family:var(--en2);font-size:11px;letter-spacing:.14em;color:var(--gray)}
.manga__spreads,.manga__pages{padding:clamp(12px,1.8vw,20px)}
.manga__foot{
	display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
	padding:12px clamp(14px,2vw,22px);border-top:1px solid var(--line-2);background:var(--bk-3);
}
.manga__note{font-size:11.5px;color:var(--gray-2);margin:0!important}
.manga__credit{font-family:var(--en2);font-size:10px;letter-spacing:.16em;color:var(--gray-2)}
.manga figure{border:0;background:transparent}
.manga img{border:1px solid var(--line-2)}

/* 小さな注釈 */
.a-note{
	margin-top:-6px!important;text-align:center;
	font-size:12px;line-height:1.9;color:var(--gray-2);letter-spacing:.02em;
}

/* スマホ：漫画の余白を詰める */
@media (max-width:767px){
	.manga{margin-left:calc(var(--pad) * -1);margin-right:calc(var(--pad) * -1);border-left:0;border-right:0}
	.manga__spreads,.manga__pages{padding:0}
	.manga__pages{gap:6px}
	.manga img{border:0}
	.manga__bar,.manga__foot{padding-left:var(--pad);padding-right:var(--pad)}
}

/* ---- 漫画ビューア（スワイプ） ---- */
.viewer{
	position:fixed;inset:0;z-index:9999;background:rgba(4,5,6,.97);
	display:none;flex-direction:column;
}
.viewer.is-open{display:flex}
.viewer__stage{flex:1;overflow:hidden;position:relative;display:flex;align-items:center}
.viewer__track{display:flex;height:100%;will-change:transform}
.viewer__cell{
	flex:0 0 100%;height:100%;display:flex;align-items:center;justify-content:center;
	padding:clamp(10px,2.4vw,44px);box-sizing:border-box;
}
.viewer__cell img{max-width:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.viewer__close{
	position:absolute;top:10px;right:12px;z-index:3;
	width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.1);
	color:#fff;font-size:24px;line-height:1;cursor:pointer;transition:.25s;
}
.viewer__close:hover{background:rgba(255,255,255,.22)}
.viewer__nav{
	position:absolute;top:50%;transform:translateY(-50%);z-index:3;
	width:52px;height:78px;border:0;background:rgba(255,255,255,.07);cursor:pointer;transition:.25s;
}
.viewer__nav:hover{background:rgba(255,255,255,.18)}
.viewer__nav:disabled{opacity:.18;cursor:default}
.viewer__nav--prev{left:0;border-radius:0 6px 6px 0}
.viewer__nav--next{right:0;border-radius:6px 0 0 6px}
.viewer__nav i{display:block;width:13px;height:13px;border-top:2px solid #fff;border-right:2px solid #fff;margin:0 auto}
.viewer__nav--next i{transform:rotate(45deg);margin-left:16px}
.viewer__nav--prev i{transform:rotate(-135deg);margin-left:22px}
.viewer__bar{
	display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;
	padding:12px 16px calc(12px + env(safe-area-inset-bottom));
	border-top:1px solid rgba(255,255,255,.1);
}
.viewer__count{font-family:var(--en2);font-size:12px;letter-spacing:.14em;color:#f2f2f0}
.viewer__hint{font-size:11px;color:rgba(255,255,255,.45)}
@media (max-width:767px){
	.viewer__nav{display:none}
	.viewer__hint{display:none}
}
.viewer.is-open ~ .sp-bar{display:none}
body:has(.viewer.is-open) .sp-bar,
body:has(.viewer.is-open) .hc-chat,
body:has(.viewer.is-open) [class*="chat"]{display:none!important}
.viewer__hint--sp{display:none}
@media (max-width:767px){
	.viewer__hint{display:inline}
	.viewer__hint--pc{display:none}
	.viewer__hint--sp{display:inline}
}
.comments__count{
	margin-top:clamp(30px,3.6vw,44px);font-family:var(--en2);font-size:11px;letter-spacing:.2em;
	color:var(--gray-2);text-align:center;
}
.comment__meta strong::before{content:"— ";color:var(--gray-2)}

/* =============================================================
   書体と太さを統一する
   ============================================================= */
/* 日本語が入る要素は、英数字も含めて必ず同じ書体で組む */
.article__body,
.article__body p,
.a-statement, .a-scene__ja, .a-quote span, .a-items li span,
.a-pair__if, .a-pair__then, .a-key__ja, .a-tag, .a-title__main,
.a-deny__line, .a-note, .a-sign span,
.media-lead, .media-card__title, .media-card__excerpt,
.comments__head, .comments__lead, .comment__body, .comment__meta strong,
.comment__tag, .reaction__lead, .like__text, .share__btn,
.cform label span, .cform select, .cform input, .cform textarea,
.cform__note, .cform__msg, .manga__ttl, .manga__note{
	font-family: var(--ja) !important;
	font-feature-settings: "palt" 1;      /* 英数と和字のアキを詰める */
}
/* 英字だけのラベルは、サイト本体と同じ表示用書体のまま */
.a-scene__en, .a-scene__take, .a-key__en, .a-key__no, .a-items li i,
.manga__label, .manga__count, .manga__credit, .share__label,
.article__meta, .media-card__meta, .media-card__more, .comments__count,
.article-nav span, .viewer__count{
	font-feature-settings: normal;
}

/* 太さの段階を3つに固定：見出し900／強調700／本文400 */
.article__body .a-statement,
.article__body .a-scene__ja,
.article__body .a-pair__then,
.article__body .a-title__main{ font-weight:900 }
.article__body .a-quote span,
.article__body strong,
.comment__meta strong,
.like__text{ font-weight:700 }
.article__body > p:not([class]),
.article__body .a-items li span,
.article__body .a-deny__line,
.article__body .a-key__ja,
.article__body .a-tag,
.article__body .a-note{ font-weight:400 }

.article__body .lead{ font-weight:700 }

/* 長いキメ文は、指定した行数のまま収まるところまで小さくする */
.a-statement--long{ font-size:clamp(19px,3.4vw,33px) }
.a-statement--xlong{ font-size:clamp(17px,2.9vw,27px); line-height:1.6 }

/* 注釈をキメ文から少し離す */
.a-note{ margin-top:clamp(18px,2.4vw,30px)!important }

/* いいね：押したら赤く */
.like.is-on{
	background:#e0454f;border-color:#e0454f;color:#fff;
	box-shadow:0 0 0 0 rgba(224,69,79,.55);
}
.like.is-on .like__heart{ color:#fff }
.like.is-on .like__count{ color:#fff;opacity:.9 }
@keyframes hc-ring{
	0%{box-shadow:0 0 0 0 rgba(224,69,79,.55)}
	100%{box-shadow:0 0 0 18px rgba(224,69,79,0)}
}
.like.is-pop{ animation:hc-ring .7s ease-out }

/* 打ち消しの3行は、3行とも同じ濃さ・同じ太さにする */
.article__body .a-deny__line,
.article__body .a-deny__line:last-child{
	color:var(--gray)!important;
	font-weight:400!important;
}

/* いいね：押したら赤（他の指定に負けないよう強制） */
button.like.is-on{
	background-color:#e0454f !important;
	border-color:#e0454f !important;
	color:#fff !important;
}
button.like.is-on .like__heart,
button.like.is-on .like__text,
button.like.is-on .like__count{ color:#fff !important }

/* 表示されない事故を防ぐ：出現演出は必ず最後に「見える」で終わらせる */
[data-rv].is-in{ opacity:1 !important; transform:none !important }
.manga, .manga *{ opacity:1 }

/* 作品タイトルをもっと大きく */
.a-title{ padding:clamp(34px,5vw,60px) clamp(18px,3vw,36px) }
.a-title__main{ font-size:clamp(32px,7.4vw,72px)!important; line-height:1.28; letter-spacing:.02em }
.a-title__label{ font-size:12px; letter-spacing:.3em }

/* スマホ：縦長のコマも画面に収める */
@media (max-width:767px){
	.manga__pages img{
		max-height:76vh; width:auto; max-width:100%;
		margin-left:auto; margin-right:auto;
	}
	.manga__pages figure{ display:flex; justify-content:center }
}

/* 全画面ビューア：はみ出さないようにする（flexの高さ計算） */
.viewer__stage{ min-height:0; height:100% }
.viewer__track{ min-height:0 }
.viewer__cell{ min-height:0; min-width:0 }
.viewer__cell img{ max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain }
@media (max-width:767px){ .viewer__cell{ padding:6px } }

/* コマは全て画面に収まる比率になったので、高さ制限は外す（未読込時に潰れるため） */
@media (max-width:767px){
	.manga__pages img{ max-height:none !important; width:100% !important; height:auto !important }
	.manga__pages figure{ display:block }
}

/* 記事内の1枚絵 */
.article__body > p > img{
	width:100%;height:auto;display:block;
	border:1px solid var(--line-2);margin-top:clamp(24px,3vw,40px);
}
.article__body > p:has(> img){ margin-top:0 }
.article__body > p > img[src*="-rei"]{
	max-width:min(460px,86%);margin-left:auto;margin-right:auto;
}

/* 曲 */
.song{margin-top:clamp(30px,4vw,48px);background:var(--bk-2);border:1px solid var(--line);overflow:hidden}
.song__bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px clamp(14px,2vw,22px);border-bottom:1px solid var(--line-2);background:var(--bk-3)}
.song__label{font-family:var(--en);font-size:11px;letter-spacing:.24em;color:var(--gray-2)}
.song__ttl{font-size:clamp(14px,1.9vw,17px);font-weight:900;color:var(--wh);flex:1}
.song__credit{font-family:var(--en2);font-size:10px;letter-spacing:.16em;color:var(--gray-2)}
.song__player{width:100%;display:block;padding:clamp(14px,2vw,20px);box-sizing:border-box}
.song__lyrics{margin:0!important;padding:0 clamp(16px,2.4vw,28px) clamp(18px,2.6vw,28px);font-size:14px;line-height:2.1;color:var(--gray);text-align:center}
.song__lyrics strong{color:var(--wh)}
.song__note{margin:0!important;padding:0 clamp(16px,2.4vw,28px) 6px;font-size:11.5px;color:var(--gray-2);text-align:center}
.song__more{border-top:1px solid var(--line-2)}
.song__more summary{cursor:pointer;list-style:none;padding:14px;text-align:center;font-size:12px;letter-spacing:.14em;color:var(--gray)}
.song__more summary::-webkit-details-marker{display:none}
.song__more summary:hover{color:var(--wh)}
.song__more[open] summary{color:var(--wh)}
.song__lyrics{padding:6px clamp(16px,2.4vw,28px) clamp(20px,3vw,32px);text-align:center}
.song__lyrics p{margin:0 0 1.4em!important;font-size:14px;line-height:2.1;color:var(--gray)}
.song__lyrics strong{color:var(--wh);font-weight:700}
.song__sec{display:block;margin:2em 0 .9em;font-family:var(--en2);font-size:10px;letter-spacing:.24em;color:var(--gray-2)}
/* 歌詞はサビのみ */
.song__lyrics{padding:4px clamp(16px,2.4vw,28px) clamp(20px,3vw,30px);text-align:center;font-size:14px;line-height:2.1;color:var(--gray)}
.song__lyrics strong{color:var(--wh);font-weight:700}

/* ---- 本文中の単独リンク（サービスへの導線）---- */
.article__body p > a:only-child{
	display:inline-flex;align-items:center;gap:14px;
	margin:10px 0;padding:16px 28px;
	border:1px solid var(--line);border-radius:999px;
	font-size:15px;font-weight:700;color:var(--wh);
	transition:border-color .25s,background .25s;
}
.article__body p > a:only-child::after{content:"→";color:var(--gray-2);font-size:13px}
.article__body p > a:only-child:hover{border-color:var(--wh);background:rgba(255,255,255,.06)}
.article__body p > a:only-child:hover::after{color:var(--wh)}

/* ---- ::title を押せるようにしたとき ---- */
.a-title__sub{display:block;margin-top:12px;font-size:clamp(13px,2.4vw,17px);letter-spacing:.1em;color:var(--gray)}
a.a-title--link{display:block;text-decoration:none;transition:border-color .25s,background .25s}
a.a-title--link:hover,a.a-title--link:active{border-color:var(--wh);background:rgba(255,255,255,.05)}
.a-title__go{
	display:inline-flex;align-items:center;gap:12px;
	margin-top:clamp(22px,3vw,30px);padding:14px 26px;
	border:1px solid var(--line-3);border-radius:999px;
	font-family:var(--en2);font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--wh);
}
.a-title__go::after{content:"→";color:var(--gray-2);font-size:12px}
a.a-title--link:hover .a-title__go{border-color:var(--wh)}
a.a-title--link:hover .a-title__go::after{color:var(--wh)}

/* ---- 4本目（LINEスタンプ）だけ、大きな一文をひとまわり大きく ---- */
/* body のクラスで記事を見分ける。他の3本には影響しない。 */
.post-stamp .a-statement{ font-size:clamp(30px,6.4vw,68px) }
.post-stamp .a-statement--long{ font-size:clamp(23px,4.0vw,40px) }
.post-stamp .a-statement--xlong{ font-size:clamp(20px,3.4vw,32px); line-height:1.6 }
.post-stamp .a-scene__ja{ font-size:clamp(19px,2.5vw,24px) }
