/* ============================================================
   セクション枠：シルク背景（About / Results / Service と統一）
   ※ background-image は HTML 側 inline で指定（テーマURIを使うため）
============================================================ */
.mc-case,
.mc-news,
.mc-journal{
	position:relative;
	background-color:transparent;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
	background-attachment:fixed;
	/* 左右 padding は 0 にして、内部 .head / コンテナの padding (60px) のみで位置を決定。
	   これで SERVICE (#sv-h) と完全に同じ左 60px の見出し位置に揃う */
	padding:clamp(80px,10vw,140px) 0 clamp(40px,5vw,80px);
}
/* タブレット以下では fixed を解除（スクロール時に重くなるため） */
@media(max-width:960px){
	.mc-case,.mc-news,.mc-journal{background-attachment:scroll}
}
.mc-case-head,
.mc-news-head,
.mc-journal-head{
	max-width:none;margin:0 auto;
	padding-bottom:clamp(40px,5vw,60px);
}


/* ============================================================
   見出し（SERVICE = #sv-h の見出しと完全同一）
   style.css の #sv-h 系ルールを ID リストにバインドし直して継承
============================================================ */
#case-h .head,
#news-h .head,
#journal-h .head{
	padding:90px 60px 30px;
	max-width:none;
	margin:0 auto;
	position:relative;z-index:5;
}
#case-h .eb,
#news-h .eb,
#journal-h .eb{
	font-family:'Noto Serif JP',serif;
	font-size:24px;
	letter-spacing:0;
	font-style:italic;
	margin-bottom:14px;
	display:flex;align-items:center;gap:14px;
	opacity:0;
	transform:translateY(10px);
	transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1);
	color:inherit;
}
#case-h.is-in .eb,
#news-h.is-in .eb,
#journal-h.is-in .eb{opacity:1;transform:none}

#case-h .eb::before,
#news-h .eb::before,
#journal-h .eb::before{
	content:'';
	width:0;height:1px;
	background:#b89968;
	transition:width 1s cubic-bezier(.16,1,.3,1) .25s;
}
#case-h.is-in .eb::before,
#news-h.is-in .eb::before,
#journal-h.is-in .eb::before{width:42px}

#case-h h2,
#news-h h2,
#journal-h h2{
	font-family:'Cinzel',serif;
	font-size:clamp(3.6rem,7vw,5.6rem);
	font-weight:400;
	font-style:italic;
	letter-spacing:.04em;
	color:rgba(53,59,75,.2);
	line-height:1;
	overflow:hidden;
	margin:0;
}
#case-h h2 .ch,
#news-h h2 .ch,
#journal-h h2 .ch{
	display:inline-block;
	transform:translateY(115%);
	opacity:0;
	transition:transform 1.3s cubic-bezier(.16,1,.3,1),opacity 1.3s cubic-bezier(.16,1,.3,1);
}
#case-h.is-in h2 .ch,
#news-h.is-in h2 .ch,
#journal-h.is-in h2 .ch{transform:translateY(0);opacity:1}

/* セクション自体の上余白は .head が 90px 持っているので、セクション側はゼロに */
.mc-case,
.mc-news,
.mc-journal{padding-top:0}

/* SP では .head の左右余白を SERVICE と同等に圧縮 */
@media(max-width:720px){
	#case-h .head,
	#news-h .head,
	#journal-h .head{padding:60px 20px 24px}
	#case-h h2,
	#news-h h2,
	#journal-h h2{font-size:clamp(2.8rem,12vw,4rem)}
}


/* ============================================================
   CASE — 中央メイン + 左右見切れスライダー
============================================================ */
.mc-case-slider{
	position:relative;
	max-width:none;margin:0 auto;
	padding-inline:60px;
}
.mc-case-viewport{
	position:relative;
	overflow:hidden;
	padding:6px 0 30px;
	mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
	-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
.mc-case-track{
	display:flex;
	gap:clamp(20px,3vw,40px);
	transition:transform 1s cubic-bezier(.7,0,.25,1);
	will-change:transform;
	cursor:grab;
}
.mc-case-track:active{cursor:grabbing}

/* スライド */
.mc-case-slide{
	flex:0 0 calc(100% * 0.6);
	max-width:820px;
	text-decoration:none;color:inherit;
	display:block;
	transform:scale(.85);
	opacity:.5;
	filter:saturate(.7);
	transition:transform 1s cubic-bezier(.7,0,.25,1),opacity 1s cubic-bezier(.7,0,.25,1),filter 1s ease;
}
.mc-case-slide.is-active{
	transform:scale(1);
	opacity:1;
	filter:saturate(1);
}
.mc-case-slide-media{
	position:relative;margin:0;
	aspect-ratio:4/3;
	overflow:hidden;
	background:#EFE9DD;
}
.mc-case-slide-img,
.mc-case-slide-media img{
	width:100%;height:100%;
	object-fit:cover;display:block;
	transform:scale(1.02);
	transition:transform 1.4s cubic-bezier(.2,.8,.2,1);
}
.mc-case-slide.is-active:hover .mc-case-slide-img,
.mc-case-slide.is-active:hover .mc-case-slide-media img{transform:scale(1.08)}
.mc-case-slide-placeholder{
	display:block;width:100%;height:100%;
	background:linear-gradient(135deg,#EFE9DD 0%,#D8D2C5 100%);
}

/* メタ（画像下） */
.mc-case-slide-meta{
	padding:20px 4px 0;
	display:flex;flex-direction:column;gap:10px;
}
.mc-case-slide-cat{
	display:inline-flex;align-items:center;
	align-self:flex-start;
	height:22px;padding:0 12px;
	font-family:'Noto Serif JP',serif;
	font-size:.72rem;letter-spacing:.2em;
	color:#fff;background:#363B4A;
}
/* タイトル：本文（.body）と同じスケールで揃える */
.mc-case-slide-title{
	font-family:'Shippori Mincho','Noto Serif JP',serif;
	font-weight:500;
	font-size:1rem;
	line-height:1.95;
	color:#363B4A;
	margin:0;
}

/* ナビ */
.mc-case-nav{
	display:flex;align-items:center;justify-content:center;gap:16px;
	margin-top:14px;
}
.mc-case-btn{
	width:44px;height:44px;padding:0;border:0;
	background:transparent;
	color:#363B4A;
	cursor:pointer;
	transition:transform .4s cubic-bezier(.2,.8,.2,1),color .4s ease;
}
.mc-case-btn:hover{transform:scale(1.08);color:#c49955}
.mc-case-btn svg{width:34px;height:34px;display:block}
.mc-case-toggle .mc-case-icon-play{display:none}
.mc-case-toggle.is-paused .mc-case-icon-pause{display:none}
.mc-case-toggle.is-paused .mc-case-icon-play{display:block}

/* foot */
.mc-case-foot{
	max-width:none;margin:clamp(36px,4vw,56px) auto 0;
	display:flex;justify-content:flex-end;
	padding-inline:60px;
}
.mc-case-empty{
	text-align:center;color:rgba(54,59,74,.4);
	font-family:'Noto Serif JP',serif;padding:60px 0;
}


/* ============================================================
   NEWS — シンプルなライン基調リスト
============================================================ */
.mc-news-list{
	list-style:none;margin:0 auto;padding:0 60px;
	max-width:none;
	border-top:1px solid rgba(54,59,74,.12);
}
.mc-news-item{
	border-bottom:1px solid rgba(54,59,74,.12);
}
.mc-news-link{
	display:grid;
	grid-template-columns:120px 130px 1fr 24px;
	gap:28px;align-items:center;
	padding:22px 4px 22px 16px;
	text-decoration:none;color:inherit;
	position:relative;
	transition:padding .5s cubic-bezier(.2,.8,.2,1);
}
.mc-news-link::before{
	content:"";position:absolute;left:0;top:50%;
	width:0;height:1px;background:#c49955;
	transform:translateY(-50%);
	transition:width .6s cubic-bezier(.2,.8,.2,1);
}
.mc-news-link:hover{padding-left:28px}
.mc-news-link:hover::before{width:18px}

.mc-news-date{
	font-family:'Cinzel',serif;
	font-size:.82rem;letter-spacing:.12em;
	color:#363B4A;
}
.mc-news-cat{
	display:inline-flex;align-items:center;justify-content:center;
	height:22px;padding:0 12px;
	font-family:'Noto Serif JP',serif;
	font-size:.72rem;letter-spacing:.18em;
	color:#fff;background:#363B4A;
	width:max-content;
}
.mc-news-cat.is-empty{background:rgba(54,59,74,.55)}
/* タイトル：本文（.body）と同じスケール */
.mc-news-title-item{
	font-family:'Shippori Mincho','Noto Serif JP',serif;
	font-weight:500;
	font-size:1rem;
	line-height:1.95;color:#363B4A;
	overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
	transition:transform .5s cubic-bezier(.2,.8,.2,1);
}
.mc-news-link:hover .mc-news-title-item{transform:translateX(6px)}
.mc-news-arrow{
	font-family:'Cinzel',serif;
	color:rgba(54,59,74,.45);font-size:1.05rem;
	text-align:right;
	transition:transform .5s cubic-bezier(.2,.8,.2,1),color .35s ease;
}
.mc-news-link:hover .mc-news-arrow{transform:translateX(8px);color:#c49955}
.mc-news-empty{
	text-align:center;color:rgba(54,59,74,.5);
	font-family:'Noto Serif JP',serif;padding:60px 0;
}

.mc-news-foot{
	max-width:none;margin:clamp(36px,4vw,56px) auto 0;
	display:flex;justify-content:flex-end;
}


/* ============================================================
   JOURNAL — 3カラム カード
============================================================ */
.mc-journal-grid{
	max-width:none;margin:0 auto;
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:clamp(28px,3.5vw,52px);
	padding-inline:60px;
}
.mc-journal-card{
	display:block;text-decoration:none;color:inherit;
	position:relative;
	transition:transform .6s cubic-bezier(.2,.8,.2,1);
}
.mc-journal-card:hover{transform:translateY(-6px)}
.mc-journal-card-media{
	margin:0;
	aspect-ratio:16/11;
	overflow:hidden;
	background:#EFE9DD;
}
.mc-journal-card-img{
	width:100%;height:100%;
	object-fit:cover;display:block;
	transform:scale(1.02);
	transition:transform 1.2s cubic-bezier(.2,.8,.2,1);
}
.mc-journal-card:hover .mc-journal-card-img{transform:scale(1.08)}
.mc-journal-card-placeholder{
	display:block;width:100%;height:100%;
	background:linear-gradient(135deg,#EFE9DD 0%,#D8D2C5 100%);
}
.mc-journal-card-body{padding:20px 2px 0}
.mc-journal-card-meta{
	display:flex;align-items:center;gap:14px;
	margin-bottom:10px;
}
.mc-journal-card-date{
	font-family:'Cinzel',serif;
	font-size:.82rem;letter-spacing:.14em;
	color:rgba(54,59,74,.6);
}
.mc-journal-card-cat{
	display:inline-flex;align-items:center;
	height:20px;padding:0 10px;
	font-family:'Noto Serif JP',serif;
	font-size:.72rem;letter-spacing:.2em;
	color:#fff;background:#363B4A;
}
/* タイトル：本文（.body）と同じスケール */
.mc-journal-card-title{
	font-family:'Shippori Mincho','Noto Serif JP',serif;
	font-weight:500;
	font-size:1rem;
	line-height:1.95;
	color:#363B4A;
	margin:0;
}
/* 抜粋は HTML 側で .body クラスを付与 → サイズはテーマ標準に追随。
   ここでは行数省略と上余白のみ補正する */
.mc-journal-card-excerpt{
	margin:10px 0 0;
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
	overflow:hidden;
}
.mc-journal-empty{
	text-align:center;color:#363B4A; /* WCAG AA：solid 色でコントラスト確保 */
	font-family:'Noto Serif JP',serif;padding:60px 0;
}

.mc-journal-foot{
	max-width:none;margin:clamp(36px,4vw,56px) auto 0;
	display:flex;justify-content:flex-end;
	padding-inline:60px;
}


/* ============================================================
   レスポンシブ
============================================================ */
@media(max-width:1024px){
	.mc-journal-grid{grid-template-columns:repeat(2,1fr)}
	.mc-journal-grid > .mc-journal-card:nth-child(3){display:none}
}
@media(max-width:960px){
	.mc-case-slide{flex:0 0 calc(100% * 0.72)}
}
@media(max-width:720px){
	.mc-case,.mc-news,.mc-journal{padding-left:20px;padding-right:20px}
	.mc-case-slide{flex:0 0 calc(100% * 0.88)}
	.mc-news-link{
		grid-template-columns:1fr auto;
		grid-template-rows:auto auto;
		gap:8px 14px;padding:18px 4px 18px 12px;
	}
	.mc-news-date{grid-column:1;grid-row:1;font-size:.78rem}
	.mc-news-cat{grid-column:2;grid-row:1;justify-self:end;font-size:.62rem;height:20px;padding:0 8px}
	.mc-news-title-item{grid-column:1/-1;grid-row:2;white-space:normal;font-size:.9rem;line-height:1.75}
	.mc-news-arrow{display:none}
	.mc-journal-grid{grid-template-columns:1fr;gap:36px}
	.mc-journal-grid > .mc-journal-card:nth-child(3){display:block}
}


/* ============================================================
   prefers-reduced-motion
============================================================ */
@media(prefers-reduced-motion:reduce){
	.mc-case-track,
	.mc-case-slide,
	.mc-case-slide-img,
	.mc-journal-card,
	.mc-journal-card-img,
	.mc-news-link,
	.mc-news-arrow{
		transition:none!important;
	}
}


/* ============================================================
   Polish ① — CASE：アクティブ画像の KenBurns + メタ順次フェード
============================================================ */
.mc-case-slide-media{position:relative}
.mc-case-slide-img,
.mc-case-slide-media img{will-change:transform}
.mc-case-slide.is-active .mc-case-slide-img,
.mc-case-slide.is-active .mc-case-slide-media img{
	animation:mc-kenburns 14s ease-in-out infinite alternate;
}
.mc-case-slide.is-active:hover .mc-case-slide-img,
.mc-case-slide.is-active:hover .mc-case-slide-media img{
	animation-play-state:paused;
}
@keyframes mc-kenburns{
	from{transform:scale(1.04) translate(0,0)}
	to  {transform:scale(1.10) translate(-1.5%,1%)}
}
.mc-case-slide-cat,
.mc-case-slide-title{
	opacity:0;
	transform:translateY(14px);
	transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1);
}
.mc-case-slide.is-active .mc-case-slide-cat{opacity:1;transform:none;transition-delay:.15s}
.mc-case-slide.is-active .mc-case-slide-title{opacity:1;transform:none;transition-delay:.28s}


/* ============================================================
   Polish ② — NEWS：行のスタッガー登場 + 全幅ゴールド下線
============================================================ */
.mc-news-item{
	opacity:0;
	transform:translateX(-28px);
	transition:opacity 1s cubic-bezier(.2,.8,.2,1),transform 1s cubic-bezier(.2,.8,.2,1);
	position:relative;
	overflow:hidden;
}
#news-h.is-in .mc-news-item{opacity:1;transform:none}
#news-h.is-in .mc-news-item:nth-child(1){transition-delay:.45s}
#news-h.is-in .mc-news-item:nth-child(2){transition-delay:.55s}
#news-h.is-in .mc-news-item:nth-child(3){transition-delay:.65s}
#news-h.is-in .mc-news-item:nth-child(4){transition-delay:.75s}
#news-h.is-in .mc-news-item:nth-child(5){transition-delay:.85s}

.mc-news-item::after{
	content:'';position:absolute;left:0;bottom:-1px;
	height:1px;width:0;
	background:#b89968;
	transition:width .8s cubic-bezier(.2,.8,.2,1);
	pointer-events:none;
}
.mc-news-item:hover::after{width:100%}


/* ============================================================
   Polish ③ — JOURNAL：カードスタッガー + シャッターリビール
   + 画像 KenBurns + タイトル下線 + 3D tilt（JS）
============================================================ */
.mc-journal-card{
	opacity:0;
	transform:translateY(40px);
	transition:opacity 1.1s cubic-bezier(.2,.8,.2,1),transform 1.1s cubic-bezier(.2,.8,.2,1);
}
#journal-h.is-in .mc-journal-card{opacity:1;transform:none}
#journal-h.is-in .mc-journal-card:nth-child(1){transition-delay:.45s}
#journal-h.is-in .mc-journal-card:nth-child(2){transition-delay:.6s}
#journal-h.is-in .mc-journal-card:nth-child(3){transition-delay:.75s}

.mc-journal-card-media{position:relative;overflow:hidden}
.mc-journal-card-media::before{
	content:'';
	position:absolute;inset:0;
	background:#F5F0E4;
	transform:translateY(0);
	z-index:5;pointer-events:none;
	transition:transform 1.4s cubic-bezier(.7,0,.2,1);
}
#journal-h.is-in .mc-journal-card:nth-child(1) .mc-journal-card-media::before{transition-delay:.65s;transform:translateY(-101%)}
#journal-h.is-in .mc-journal-card:nth-child(2) .mc-journal-card-media::before{transition-delay:.8s;transform:translateY(-101%)}
#journal-h.is-in .mc-journal-card:nth-child(3) .mc-journal-card-media::before{transition-delay:.95s;transform:translateY(-101%)}

.mc-journal-card:hover .mc-journal-card-img{
	animation:mc-journal-kenburns 8s ease-out forwards;
}
@keyframes mc-journal-kenburns{
	0%  {transform:scale(1.05) translate(0,0)}
	100%{transform:scale(1.16) translate(-2%,-1%)}
}

.mc-journal-card-title{
	background-image:linear-gradient(#b89968,#b89968);
	background-size:0% 1px;
	background-repeat:no-repeat;
	background-position:0 100%;
	transition:background-size .8s cubic-bezier(.2,.8,.2,1),color .4s ease;
	padding-bottom:4px;
}
.mc-journal-card:hover .mc-journal-card-title{background-size:100% 1px}


/* ============================================================
   Polish ④ — VIEW MORE マグネティック挙動の準備
   （JS で transform 直入れ。CSS 側は transition だけ用意）
============================================================ */
#case-h .mc-link,
#news-h .mc-link,
#journal-h .mc-link{
	transition:transform .5s cubic-bezier(.2,.8,.2,1);
	will-change:transform;
}


/* ============================================================
   prefers-reduced-motion（Polish 分も含めて停止）
============================================================ */
@media(prefers-reduced-motion:reduce){
	.mc-case-slide.is-active .mc-case-slide-img,
	.mc-case-slide.is-active .mc-case-slide-media img,
	.mc-journal-card:hover .mc-journal-card-img{
		animation:none!important;
	}
	.mc-news-item,
	.mc-journal-card,
	.mc-case-slide-cat,
	.mc-case-slide-title{
		opacity:1!important;transform:none!important;
	}
	.mc-journal-card-media::before{display:none!important}
}


/* ============================================================
   Polish ⑧ — CASE / JOURNAL：スロット風イントロ用の抑止クラス
   - 演出中だけ既存の登場 / KenBurns / shutter を全部止める
   - 終わったら JS が class を外して通常状態に戻す
============================================================ */
/* CASE 演出中：スライドは少し dim、ビーム通過で明るくなる */
#case-h.mc-rouletting .mc-case-slide{
	transform:scale(1)!important;
	opacity:1!important;
	filter:brightness(.55) saturate(.7)!important;
	transition:filter .9s cubic-bezier(.22,.61,.36,1)!important;
}
#case-h.mc-rouletting.mc-cinema-lit .mc-case-slide{
	filter:brightness(1) saturate(1)!important;
}
#case-h.mc-rouletting .mc-case-slide .mc-case-slide-img,
#case-h.mc-rouletting .mc-case-slide .mc-case-slide-media img{
	animation:none!important;
}
#case-h.mc-rouletting .mc-case-slide-cat,
#case-h.mc-rouletting .mc-case-slide-title{
	opacity:0!important;transform:translateY(14px)!important;transition:none!important;
}

/* ── Cinema Beam: ゴールド光線が L→R へ走る ── */
.mc-case-slider{position:relative}
.mc-case-beam{
	position:absolute;top:0;left:-40%;
	width:55%;height:100%;
	background:linear-gradient(90deg,
		transparent 0%,
		transparent 38%,
		rgba(255,255,255,.55) 47%,
		rgba(196,153,85,.85) 50%,
		rgba(255,255,255,.55) 53%,
		transparent 62%,
		transparent 100%
	);
	opacity:0;
	mix-blend-mode:screen;
	pointer-events:none;
	z-index:10;
	filter:blur(1px);
}
#case-h.mc-cinema-go .mc-case-beam{
	animation:mc-case-beam 1.5s cubic-bezier(.7,0,.2,1) forwards;
}
@keyframes mc-case-beam{
	0%  {left:-40%;opacity:0}
	10% {opacity:1}
	85% {opacity:1}
	100%{left:100%;opacity:0}
}

/* （旧 mc-roulette は撤去済み。Editorial Title-First へ移行） */


/* ============================================================
   Polish ⑨ — JOURNAL：Aperture Reveal Entrance（カメラ絞り）
   - 各カードの画像が中央から円形に広がって露出（clip-path: circle）
   - 露出完了瞬間に微かな白フラッシュ
   - カード本体は fade-up で着地（画像 reveal の少し後）
   - 既存の shutter reveal は撤去
============================================================ */

/* 旧 shutter (::before の白オーバーレイ) を完全に退避させて無効化 */
#journal-h .mc-journal-card-media::before{
	transform:translateY(-101%)!important;
	transition:none!important;
}

/* カード初期状態: 下から 36px、フェード前 */
#journal-h .mc-journal-card{
	opacity:0;
	transform:translateY(36px);
	transition:opacity 1s cubic-bezier(.22,.61,.36,1),transform 1s cubic-bezier(.22,.61,.36,1);
}

/* メディア = clip-path で円形に隠す */
.mc-journal-card-media{
	position:relative;
	overflow:hidden;
	clip-path:circle(0% at 50% 50%);
	-webkit-clip-path:circle(0% at 50% 50%);
}

/* 白フラッシュ用オーバーレイ */
.mc-journal-card-flash{
	position:absolute;inset:0;
	background:#ffffff;
	opacity:0;
	pointer-events:none;
	z-index:5;
	mix-blend-mode:screen;
}

/* is-in 発火時のアニメ — 3 カード stagger */
#journal-h.is-in .mc-journal-card{
	opacity:1;
	transform:translateY(0);
}
#journal-h.is-in .mc-journal-card-media{
	animation:mc-journal-iris 1.2s cubic-bezier(.7,0,.2,1) forwards;
}
#journal-h.is-in .mc-journal-card-flash{
	animation:mc-journal-flash 1.4s ease-out forwards;
}

#journal-h.is-in .mc-journal-card:nth-child(1){transition-delay:.95s}
#journal-h.is-in .mc-journal-card:nth-child(2){transition-delay:1.15s}
#journal-h.is-in .mc-journal-card:nth-child(3){transition-delay:1.35s}

#journal-h.is-in .mc-journal-card:nth-child(1) .mc-journal-card-media{animation-delay:.1s}
#journal-h.is-in .mc-journal-card:nth-child(2) .mc-journal-card-media{animation-delay:.30s}
#journal-h.is-in .mc-journal-card:nth-child(3) .mc-journal-card-media{animation-delay:.50s}

#journal-h.is-in .mc-journal-card:nth-child(1) .mc-journal-card-flash{animation-delay:.1s}
#journal-h.is-in .mc-journal-card:nth-child(2) .mc-journal-card-flash{animation-delay:.30s}
#journal-h.is-in .mc-journal-card:nth-child(3) .mc-journal-card-flash{animation-delay:.50s}

/* keyframes */
@keyframes mc-journal-iris{
	0%   {clip-path:circle(0% at 50% 50%);  -webkit-clip-path:circle(0% at 50% 50%)}
	100% {clip-path:circle(85% at 50% 50%); -webkit-clip-path:circle(85% at 50% 50%)}
}
@keyframes mc-journal-flash{
	0%,55%{opacity:0}
	72%   {opacity:.45}
	100%  {opacity:0}
}

/* prefers-reduced-motion */
@media(prefers-reduced-motion:reduce){
	#journal-h .mc-journal-card{opacity:1!important;transform:none!important;transition:none!important}
	.mc-journal-card-media{clip-path:none!important;-webkit-clip-path:none!important;animation:none!important}
	.mc-journal-card-flash{display:none!important}
}


/* ============================================================
   Polish ⑩ — NEWS：Line-Drawn Reveal
   - 紺帯リビールはそのまま温存（1.5s で開きる）
   - リビール完了後、各行に金線が L→R へ伸びる（1.0s）
   - 線が通過した位置で日付 → カテゴリ → タイトル → 矢印が順次フェードイン
   - 行は 200ms ずつ stagger
============================================================ */

/* 既存の slide-in（translateX）を撤回。行は最初から表示し、内部要素を制御する */
#news-h .mc-news-item{
	opacity:1!important;
	transform:none!important;
	transition:none!important;
	overflow:visible !important;
	position:relative;
}

/* 各行内のテキストを初期非表示 */
#news-h .mc-news-date,
#news-h .mc-news-cat,
#news-h .mc-news-title-item,
#news-h .mc-news-arrow{
	opacity:0;
	transition:opacity .55s cubic-bezier(.22,.61,.36,1);
}

/* 行内に描かれる金線（::after の hover 用とは別に span を追加） */
.mc-news-draw{
	position:absolute;
	left:0;bottom:-1px;
	height:1px;width:0;
	background:linear-gradient(90deg,
		rgba(196,153,85,0) 0%,
		rgba(229,201,142,1) 8%,
		rgba(196,153,85,1) 50%,
		rgba(229,201,142,1) 92%,
		rgba(196,153,85,0) 100%
	);
	opacity:0;
	pointer-events:none;
	z-index:3;
	box-shadow:0 0 8px rgba(196,153,85,.5);
}

/* is-in が付いたら、紺帯リビール完了後（~1.5s）から線を引き始める
   行ごとに 200ms 遅延、線の長さアニメは 1.0s */
#news-h.is-in .mc-news-draw{
	animation:mc-news-line-draw 1.0s cubic-bezier(.22,.61,.36,1) forwards;
	animation-delay:calc(1.5s + (var(--i,1) - 1) * .2s);
}
@keyframes mc-news-line-draw{
	0%  {width:0;opacity:0}
	10% {opacity:1}
	100%{width:100%;opacity:.7}
}

/* 線通過と同期したテキストフェードイン
   日付 (left ~0%): line開始 +0.2s
   カテゴリ (left ~15%): line開始 +0.35s
   タイトル (left ~30%): line開始 +0.55s
   矢印 (right ~100%): line開始 +0.95s */
#news-h.is-in .mc-news-date{
	opacity:1;
	transition-delay:calc(1.5s + (var(--i,1) - 1) * .2s + .2s);
}
#news-h.is-in .mc-news-cat{
	opacity:1;
	transition-delay:calc(1.5s + (var(--i,1) - 1) * .2s + .35s);
}
#news-h.is-in .mc-news-title-item{
	opacity:1;
	transition-delay:calc(1.5s + (var(--i,1) - 1) * .2s + .55s);
}
#news-h.is-in .mc-news-arrow{
	opacity:1;
	transition-delay:calc(1.5s + (var(--i,1) - 1) * .2s + .95s);
}

/* --i は li の inline style に PHP 側で 1,2,3... を入れる。
   custom property がない場合のフォールバックで nth-child を補助で当てる */
#news-h.is-in .mc-news-item:nth-child(1){--i:1}
#news-h.is-in .mc-news-item:nth-child(2){--i:2}
#news-h.is-in .mc-news-item:nth-child(3){--i:3}
#news-h.is-in .mc-news-item:nth-child(4){--i:4}
#news-h.is-in .mc-news-item:nth-child(5){--i:5}

/* 既存 hover ::after を維持しつつ、entrance の draw と被らないよう設定 */
.mc-news-item:hover .mc-news-draw{
	opacity:.4;
}

@media(prefers-reduced-motion:reduce){
	#news-h .mc-news-date,
	#news-h .mc-news-cat,
	#news-h .mc-news-title-item,
	#news-h .mc-news-arrow,
	.mc-news-draw{
		opacity:1!important;width:100%!important;animation:none!important;transition:none!important;
	}
}


/* ============================================================
   Polish ⑦ — NEWS：ABOUT US / RESULTS と同じ「紺の帯リビール」
   - clip-path で斜めカットのパラレログラム
   - mask-size で右→左に帯がスライド展開
   - ::after でゴールドの 2px 縦線が同期して走る
============================================================ */
/* セクション自体の左右 padding を解除して、帯をビューポート端まで伸ばす */
#news-h{padding-left:0!important;padding-right:0!important}
#news-h .mc-news-content{
	position:relative;
	padding:0 0 60px;
}
#news-h .mc-news-band{
	position:absolute;inset:0;
	background:#353B4B;
	z-index:1;
	clip-path:polygon(0 14%,100% 0,100% 86%,0 100%);
	-webkit-mask:linear-gradient(90deg,#000,#000) right/0% 100% no-repeat;
	mask:linear-gradient(90deg,#000,#000) right/0% 100% no-repeat;
	transition:-webkit-mask-size .85s cubic-bezier(.76,0,.24,1),mask-size .85s cubic-bezier(.76,0,.24,1);
	will-change:mask-size;
}
#news-h .mc-news-band::after{
	content:'';
	position:absolute;top:0;right:0;
	width:2px;height:100%;
	background:linear-gradient(180deg,transparent 0%,rgba(184,153,104,.85) 50%,transparent 100%);
	opacity:0;
	transition:right .85s cubic-bezier(.76,0,.24,1),opacity .3s ease;
}
#news-h.is-in .mc-news-band{
	-webkit-mask-size:100% 100%;mask-size:100% 100%;
	transition-delay:.65s;
}
#news-h.is-in .mc-news-band::after{
	right:100%;opacity:1;
	transition-delay:.65s,.65s;
}
#news-h .mc-news-body{
	position:relative;z-index:5;
	max-width:none;
	margin:0 auto;
	padding:200px 60px 140px;
}

/* 帯の上：テキストを白系に */
#news-h .mc-news-list{border-top-color:rgba(255,255,255,.18)}
#news-h .mc-news-item{border-bottom-color:rgba(255,255,255,.18)}
#news-h .mc-news-date{color:rgba(255,255,255,.92)}
#news-h .mc-news-cat{
	color:#fff;background:rgba(255,255,255,.1);
	border:1px solid rgba(255,255,255,.22);
}
#news-h .mc-news-cat.is-empty{
	background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.15);
}
#news-h .mc-news-title-item{color:#fff}
#news-h .mc-news-arrow{color:rgba(255,255,255,.55)}
#news-h .mc-news-link:hover .mc-news-arrow{color:#b89968}
#news-h .mc-news-empty{color:rgba(255,255,255,.6)}

/* foot の VIEW MORE 色も帯に合わせて白に */
#news-h .mc-news-foot{margin-top:50px}
#news-h .mc-news-foot .mc-link{
	color:#fff;
	border-bottom-color:rgba(255,255,255,.55);
}
#news-h .mc-news-foot .mc-link:hover{
	color:#b89968;
	border-bottom-color:#b89968;
}

/* 行の出現は帯リビールが終わったタイミングに合わせて再調整 */
#news-h.is-in .mc-news-item:nth-child(1){transition-delay:1.4s}
#news-h.is-in .mc-news-item:nth-child(2){transition-delay:1.5s}
#news-h.is-in .mc-news-item:nth-child(3){transition-delay:1.6s}
#news-h.is-in .mc-news-item:nth-child(4){transition-delay:1.7s}
#news-h.is-in .mc-news-item:nth-child(5){transition-delay:1.8s}

/* SP では帯はそのまま端まで伸ばし、body の内側 padding を圧縮 */
@media(max-width:720px){
	#news-h .mc-news-content{padding:0 0 40px}
	#news-h .mc-news-body{padding:130px 20px 90px;max-width:none}
	#news-h .mc-news-band{clip-path:polygon(0 6%,100% 0,100% 94%,0 100%)}
}

@media(prefers-reduced

/* ============================================================
   見出し位置の最終強制統一 — SERVICE と完全同一の左 60px に揃える
   ※ cascade 順や @media の上書きを潰すため !important で強制
============================================================ */
.mc-case,
.mc-news,
.mc-journal{
	padding-left:0!important;
	padding-right:0!important;
}
#case-h .head,
#news-h .head,
#journal-h .head{
	padding-left:60px!important;
	padding-right:60px!important;
}
.mc-case-slider,
.mc-case-foot,
.mc-journal-grid,
.mc-journal-foot{
	padding-left:60px!important;
	padding-right:60px!important;
	box-sizing:border-box;
}
.mc-news-list{
	padding-left:60px!important;
	padding-right:60px!important;
	box-sizing:border-box;
}
/* SP 時は 20px に圧縮（SERVICE と同じ） */
@media(max-width:720px){
	#case-h .head,
	#news-h .head,
	#journal-h .head,
	.mc-case-slider,
	.mc-case-foot,
	.mc-journal-grid,
	.mc-journal-foot,
	.mc-news-list{
		padding-left:20px!important;
		padding-right:20px!important;
	}
}

/* ============================================================
   FINAL FIX — .head の幅を確実に親いっぱいに広げる
   何らかの理由で .head が 1032px に縮まっている問題を解消
============================================================ */
#case-h .head,
#news-h .head,
#journal-h .head{
	width:100%!important;
	max-width:none!important;
	margin-left:0!important;
	margin-right:0!important;
	box-sizing:border-box!important;
}
/* SERVICE もまったく同じ仕様で確実に揃える */
#sv-h .head{
	width:100%!important;
	max-width:none!important;
	margin-left:0!important;
	margin-right:0!important;
	box-sizing:border-box!important;
	padding-left:60px!important;
	padding-right:60px!important;
}
