@font-face{font-family:"Entrance Chalk S";src:url("../fonts/chalk-s/Chalk-S-JP-subset.woff2") format("woff2");font-display:swap;font-style:normal;font-weight:400}
.blackboard-v2{box-sizing:border-box;position:relative;left:50%;width:90vw!important;max-width:1720px!important;margin:35px 0 45px -45vw!important;padding:16px;border:13px solid #65401f;background:linear-gradient(90deg,#805631,#593619 45%,#76502b);box-shadow:inset 0 0 0 3px #b88754,0 18px 28px #0006;color:#fffbed;font-family:"Entrance Chalk S",sans-serif!important}
.blackboard-v2:after{content:"";position:absolute;left:5%;right:5%;bottom:-18px;height:13px;border:2px solid #4a2b16;background:#8b6138;box-shadow:0 5px 6px #0007}.blackboard-v2,.blackboard-v2 *{box-sizing:border-box}.blackboard-v2 button,.blackboard-v2 input{font:inherit}.blackboard-v2 h3,.blackboard-v2 h4,.blackboard-v2 h5,.blackboard-v2 b,.blackboard-v2 strong{color:#fffdf0;font-family:inherit;text-shadow:1px 1px #ffffff55,2px 3px 2px #071d18}
.blackboard-v2__surface{position:relative;display:grid;grid-template-columns:minmax(500px,.9fr) minmax(700px,1.35fr);grid-template-areas:"left right";gap:32px;min-height:720px;padding:32px;overflow:hidden;background:radial-gradient(ellipse at 22% 18%,#285647 0,#173f35 47%,#0f3028 100%);box-shadow:inset 0 0 45px #061d17,inset 0 0 0 2px #ffffff12}.blackboard-v2__surface:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.12;background:repeating-linear-gradient(-4deg,transparent 0 42px,#d9e5dc14 43px 44px)}
.blackboard-v2__right{grid-area:right;min-width:0;display:grid;grid-template-columns:minmax(150px,1fr) 105px 150px 92px 150px;grid-template-rows:auto auto;grid-template-areas:"visitors event quote status title" "visitors event quote status meta";gap:14px;align-items:start;padding:4px 10px 22px 0;border-bottom:2px solid #fff8}.blackboard-v2__right>h3{grid-area:title;margin:0;writing-mode:vertical-rl;text-orientation:upright;justify-self:end;font-size:48px;line-height:1.08;letter-spacing:.04em;white-space:nowrap}.blackboard-v2__meta{grid-area:meta;display:grid;grid-template-rows:auto auto;gap:5px;justify-items:end;font-size:18px}.blackboard-v2__meta>*{writing-mode:horizontal-tb;text-orientation:mixed;white-space:nowrap}.blackboard-v2__status{grid-area:status;display:flex;flex-direction:row-reverse;gap:8px;align-items:flex-start}.blackboard-v2__status>b{writing-mode:vertical-rl;text-orientation:upright;font-size:17px}.blackboard-v2__magnet{display:block;padding:14px 8px;writing-mode:vertical-rl;text-orientation:upright;border:2px solid #ddd;border-radius:6px;background:#d5c230;color:#171717!important;font-family:sans-serif!important;font-size:27px;font-weight:900!important;text-shadow:none!important;box-shadow:inset 0 2px 5px #fff9,3px 5px 7px #0008;transform:rotate(1deg)}.blackboard-v2__magnet.is-closed{background:#a84a42;color:#fff!important}
.blackboard-v2__quote{grid-area:quote;position:relative;display:grid;grid-template-columns:58px 1fr;gap:7px;min-height:230px;padding:10px;border:2px dashed #fff7}.blackboard-v2__quote>b,.blackboard-v2__quote>blockquote{writing-mode:vertical-rl;text-orientation:upright}.blackboard-v2__quote>b{grid-column:2;font-size:19px}.blackboard-v2__quote>blockquote{grid-column:1;grid-row:1;min-height:155px;margin:0;font-size:15px;line-height:1.7}.blackboard-v2__quote>div,.blackboard-v2__quote>form{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:5px}.blackboard-v2__quote input{min-width:0;width:100%;padding:6px;border:1px solid #fff;background:#fff;color:#173d32}.blackboard-v2__quote button{padding:6px;border:1px solid #fff;background:#f7f2df;color:#173d32}.blackboard-v2__toast{position:absolute;inset:auto 4px 4px;padding:7px;background:#ffe274;color:#173d32;font:800 12px sans-serif;opacity:0;transform:translateY(8px);transition:.25s;pointer-events:none}.blackboard-v2__toast.is-show{opacity:1;transform:none}
.blackboard-v2__today-event,.blackboard-v2__visitors{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:10px;align-items:flex-start;min-width:0}.blackboard-v2__today-event{grid-area:event}.blackboard-v2__visitors{grid-area:visitors}.blackboard-v2__today-event>b,.blackboard-v2__visitors>b{writing-mode:vertical-rl;text-orientation:upright;font-size:18px}.blackboard-v2__today-event>span{display:flex;flex-direction:row-reverse;gap:8px}.blackboard-v2__today-event i{display:block;writing-mode:vertical-rl;text-orientation:upright;font-style:normal;word-break:keep-all}.blackboard-v2__visitors>strong{writing-mode:vertical-rl;white-space:nowrap;font-size:25px;color:#ffe274}.blackboard-v2__visitors>span{writing-mode:vertical-rl;text-orientation:upright;line-height:2;word-break:keep-all;overflow-wrap:normal}.blackboard-v2__visitors small{font-size:10px}
.blackboard-v2__left{grid-area:left;min-width:0;display:grid;grid-template-rows:auto auto;align-content:start;gap:18px}.blackboard-v2__upper{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(230px,.75fr);gap:16px}.blackboard-v2 h4{display:inline-block;width:max-content;max-width:100%;margin:0 0 10px;padding:6px 11px;border:2px solid #ddd;border-radius:5px;background:#e2d9b9;color:#173d32!important;font-family:sans-serif!important;font-size:clamp(18px,1.45vw,25px);font-weight:900;text-shadow:none;box-shadow:inset 0 2px 4px #fff8,3px 4px 6px #0007;transform:rotate(-.5deg)}.blackboard-v2 h4 small{display:inline;font-size:.55em;color:inherit}.blackboard-v2__next{min-width:0;display:grid;grid-template-columns:1fr;gap:5px}.blackboard-v2__next>h4,.blackboard-v2__next>p,.blackboard-v2__next article{grid-column:1}.blackboard-v2__next article{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;gap:7px;padding:7px;border-top:1px dashed #fff7;background:#0002}.blackboard-v2__next h5{margin:0;font-size:14px;color:#ffe274;white-space:nowrap}
.blackboard-v2 .visit-plans{margin:0;padding:2px;border:0;background:transparent}.blackboard-v2 .visit-plans>strong{font-size:12px;color:#ffe274}.blackboard-v2 .visit-plans p,.blackboard-v2 .visit-plans li{font-size:10px}.blackboard-v2 .visit-plans ul{display:flex;flex-wrap:wrap;gap:3px 10px;margin:3px 0;padding-left:17px}.blackboard-v2 .visit-plans form{display:flex;align-items:center;flex-wrap:wrap;gap:3px}.blackboard-v2 .visit-plans input{width:62px;height:27px;padding:2px;font-size:10px}.blackboard-v2 .visit-plans button,.blackboard-v2 .visit-plans a{padding:4px 5px;border:1px solid #fff;background:#f7f2df;color:#173d32;font:900 9px/1.2 sans-serif}.blackboard-v2 .visit-plans__notice{color:#ffe274}
.blackboard-v2__weekdays,.blackboard-v2__calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.blackboard-v2__weekdays{text-align:center;border-bottom:1px solid #fff7}.blackboard-v2__calendar>span{position:relative;display:grid;place-items:center;aspect-ratio:1;font-size:14px}.blackboard-v2__calendar>span>b{display:grid;place-items:center;width:2em;height:2em}.blackboard-v2__calendar .is-open>b{border:2px solid #ffe274;border-radius:50%}.blackboard-v2__calendar .is-short>b{border:2px solid #8dd6ee}.blackboard-v2__calendar .is-closed:after,.blackboard-v2__calendar .is-expedition:after{position:absolute;right:1px;bottom:-2px;font:900 1.25em/1 sans-serif;text-shadow:none}.blackboard-v2__calendar .is-closed:after{content:"×";color:#ef7771}.blackboard-v2__calendar .is-expedition:after{content:"▽";color:#c899ef}.blackboard-v2__calendar .is-off{opacity:.32}.blackboard-v2__legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;font-size:10px}.blackboard-v2__legend i{display:inline-grid;place-items:center;width:15px;height:15px;font:900 14px/1 sans-serif}.blackboard-v2__legend .is-open:before{content:"○";color:#ffe274}.blackboard-v2__legend .is-closed:before{content:"×";color:#ef7771}.blackboard-v2__legend .is-short:before{content:"□";color:#8dd6ee}.blackboard-v2__legend .is-expedition:before{content:"▽";color:#c899ef}
.blackboard-v2__events{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:16px;border-top:2px solid #fff8}.blackboard-v2__events section+section{padding-left:20px;border-left:2px dashed #fff7}.blackboard-v2__events p{display:grid;grid-template-columns:minmax(105px,auto) 1fr;gap:6px;padding:4px 0;font-size:12px}.blackboard-v2__events time{color:#ffe274}.blackboard-v2__events p span{grid-column:2}
@media(max-width:1250px){.blackboard-v2__surface{grid-template-columns:1fr;grid-template-areas:"right" "left";min-height:0}.blackboard-v2__right{grid-template-columns:minmax(145px,1fr) 105px 150px 92px 150px}.blackboard-v2__upper{grid-template-columns:1fr 280px}}
@media(max-width:700px){.blackboard-v2{width:100vw!important;margin-left:-50vw!important;padding:7px;border-width:7px}.blackboard-v2__surface{display:block;padding:16px 12px}.blackboard-v2__right{display:grid;grid-template-columns:minmax(88px,1fr) auto auto auto;grid-template-areas:"quote status meta title" "event event visitors visitors";gap:14px 8px;padding:4px 0 18px}.blackboard-v2__right>h3{font-size:29px}.blackboard-v2__meta{font-size:14px}.blackboard-v2__status>b{font-size:14px}.blackboard-v2__magnet{font-size:21px;padding:10px 6px}.blackboard-v2__quote{grid-template-columns:48px 1fr;min-height:150px;padding:7px}.blackboard-v2__quote>b{font-size:16px}.blackboard-v2__quote>blockquote{min-height:100px;font-size:13px}.blackboard-v2__today-event,.blackboard-v2__visitors{min-height:125px;padding-top:12px;border-top:1px dashed #fff7}.blackboard-v2__left{margin-top:18px}.blackboard-v2__upper,.blackboard-v2__events{grid-template-columns:1fr}.blackboard-v2__schedule{grid-row:1}.blackboard-v2__next{grid-row:2}.blackboard-v2__next article{grid-template-columns:1fr}.blackboard-v2__events section+section{padding:12px 0 0;border-left:0;border-top:1px dashed #fff7}.blackboard-v2 .visit-plans form{align-items:flex-end}.blackboard-v2 h4{font-size:19px}}

/* 日付と日直：営業情報黒板の直下へ、縦書き2列で配置。 */
.blackboard-v2__meta{display:flex;flex-direction:row-reverse;align-items:flex-start;justify-content:flex-start;gap:10px;justify-self:end}
.blackboard-v2__meta>*{writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap}
.blackboard-v2__tcy{display:inline-block;text-combine-upright:all;-webkit-text-combine:horizontal}

/* マグネットシートは角丸にせず、黒字の角ゴシックで固定。 */
.blackboard-v2__magnet,.blackboard-v2 h4{border-radius:0!important;color:#171717!important;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif!important;font-style:normal!important;text-shadow:none!important}

/* 黒板はページ中央基準。 */
.blackboard-v2{left:auto!important;margin-left:calc(50% - 45vw)!important;margin-right:calc(50% - 45vw)!important}

/* 大見出しを疑似太字にせず、チョークS本来の輪郭で表示。 */
.blackboard-v2__right>h3{font-weight:400!important}

/* マグネットシートは全て同じ単色。光沢グラデーションなし。 */
.blackboard-v2__magnet,.blackboard-v2__magnet.is-open,.blackboard-v2__magnet.is-closed,.blackboard-v2 h4{background:#e6d7a6!important;background-image:none!important;border-color:#242424!important;box-shadow:3px 4px 0 #1118!important}
@media(max-width:700px){.blackboard-v2{margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important}}

/* マグネット配色：通常は白、営業中は黄、おやすみは赤。 */
.blackboard-v2 h4{background:#fff!important;color:#000!important}
.blackboard-v2__magnet.is-open{background:#f2d21f!important;color:#000!important}
.blackboard-v2__magnet.is-closed{background:#d9433f!important;color:#000!important}

/* 親枠の余白に影響されず、黒板自身を表示領域の中央へ置く。 */
.blackboard-v2{left:50%!important;transform:translateX(-50%)!important;margin-left:0!important;margin-right:0!important;font-size:19px!important}

/* 黒板文字を全体的に一段階拡大。 */
.blackboard-v2__right>h3{font-size:54px!important}
.blackboard-v2__meta{font-size:21px!important}
.blackboard-v2__status>b{font-size:20px!important}
.blackboard-v2__magnet{font-size:30px!important}
.blackboard-v2__quote>b{font-size:21px!important}
.blackboard-v2__quote>blockquote{font-size:17px!important}
.blackboard-v2__today-event>b,.blackboard-v2__visitors>b{font-size:21px!important}
.blackboard-v2__today-event i,.blackboard-v2__visitors>span{font-size:17px!important}
.blackboard-v2__visitors>strong{font-size:28px!important}
.blackboard-v2 h4{font-size:27px!important}
.blackboard-v2__next h5{font-size:16px!important}
.blackboard-v2 .visit-plans>strong{font-size:14px!important}
.blackboard-v2 .visit-plans p,.blackboard-v2 .visit-plans li{font-size:12px!important}
.blackboard-v2__weekdays,.blackboard-v2__calendar{font-size:16px!important}
.blackboard-v2__events p{font-size:14px!important}
@media(max-width:700px){.blackboard-v2{left:50%!important;transform:translateX(-50%)!important;margin-inline:0!important;font-size:16px!important}.blackboard-v2__right>h3{font-size:34px!important}.blackboard-v2__meta{font-size:16px!important}.blackboard-v2 h4{font-size:22px!important}}

/* 日付・日直：PC/スマホ共通で大きく、縦2列の間隔を詰める。 */
.blackboard-v2__meta{gap:3px!important;font-size:25px!important;line-height:1.05!important}
.blackboard-v2__meta>*{line-height:1.05!important}
.blackboard-v2__era{font-size:.62em!important;letter-spacing:-.06em}

/* スマホでは営業情報黒板の直下に日付・日直を置く。 */
@media(max-width:700px){
	.blackboard-v2__right{grid-template-columns:minmax(88px,1fr) auto auto 74px!important;grid-template-rows:auto auto auto!important;grid-template-areas:"quote status . title" "quote status . meta" "event event visitors visitors"!important}
	.blackboard-v2__meta{font-size:21px!important;gap:2px!important;justify-self:end!important}
}

/* PC：日付から日直までを同じ縦1列に連結。 */
@media(min-width:701px){
	.blackboard-v2__meta{display:block!important;writing-mode:vertical-rl;text-orientation:upright;font-size:30px!important;line-height:1!important}
	.blackboard-v2__meta>*{display:inline!important;writing-mode:inherit!important;text-orientation:inherit!important;line-height:inherit!important}
	.blackboard-v2__meta time:after{content:"　"}
}

/* v7.8.0: label-only calendar status, scheduled reveal and trip status. */
.blackboard-v2__magnet.is-trip{
	background:#bda2df!important;
	color:#171717!important;
}
.blackboard-v2__calendar-day.has-secret:not(.has-release)>b{
	animation:entrance-secret-wait .78s steps(2,end) infinite;
	transform-origin:50% 82%;
}
.blackboard-v2__day-detail .is-secret{
	display:block;
	margin:.35em 0;
	color:#f3e7b7;
	font-style:normal;
	white-space:nowrap;
}
@keyframes entrance-secret-wait{
	0%,100%{transform:rotate(-2deg) translateX(-1px)}
	50%{transform:rotate(2deg) translateX(1px)}
}
@media(prefers-reduced-motion:reduce){
	.blackboard-v2__calendar-day.has-secret>b{animation:none!important}
}

/* PC：右端の基準線と情報の上下関係を整理。 */
@media(min-width:701px){
	.blackboard-v2{font-size:30px!important}
	.blackboard-v2__right{grid-template-columns:minmax(150px,1fr) 120px minmax(210px,240px) 150px!important;grid-template-rows:auto auto!important;grid-template-areas:"visitors event status title" "visitors event quote meta"!important;column-gap:18px!important;row-gap:12px!important}
	.blackboard-v2__right>h3,.blackboard-v2__meta{justify-self:center!important;width:max-content!important}
	.blackboard-v2__status{justify-self:end!important;width:100%!important}
	.blackboard-v2__quote{width:100%!important;min-height:210px!important}
}
.blackboard-v2__magnet.is-closed{color:#fff!important}

/* PCの通常文字は実表示30pxを基準にする。補助文と入力欄のみ小さくする。 */
@media(min-width:701px){
	.blackboard-v2__meta,.blackboard-v2__status>b,.blackboard-v2__quote>b,.blackboard-v2__quote>blockquote,.blackboard-v2__today-event>b,.blackboard-v2__today-event i,.blackboard-v2__visitors>b,.blackboard-v2__visitors>span,.blackboard-v2__visitors>strong{font-size:30px!important}
	.blackboard-v2 h4{font-size:34px!important}
	.blackboard-v2__next h5,.blackboard-v2__weekdays,.blackboard-v2__calendar,.blackboard-v2__events p{font-size:24px!important}
	.blackboard-v2 .visit-plans>strong{font-size:20px!important}
	.blackboard-v2 .visit-plans p,.blackboard-v2 .visit-plans li{font-size:17px!important}
}

/* スマホ：タイトル直下へ日付・日直を確実に固定。 */
@media(max-width:700px){
	.blackboard-v2__right>h3{grid-area:title!important;align-self:start!important;justify-self:end!important}
	.blackboard-v2__meta{grid-area:meta!important;align-self:start!important;justify-self:end!important;display:flex!important;flex-direction:row-reverse!important;gap:2px!important;font-size:22px!important;line-height:1!important}
	.blackboard-v2__meta>*{writing-mode:vertical-rl!important;text-orientation:upright!important;line-height:1!important}
}

/* おやすみマグネットだけ一回り大きくする。 */
.blackboard-v2__magnet.is-closed{font-size:33px!important;padding:18px 10px!important}

/* 黒板内は疑似太字を使わず、チョークS本来の標準ウェイトに統一。 */
.blackboard-v2,.blackboard-v2 *{font-weight:400!important}

/* 営業中／おやすみは同寸。 */
.blackboard-v2__magnet,.blackboard-v2__magnet.is-open,.blackboard-v2__magnet.is-closed{font-size:33px!important;padding:18px 10px!important}

/* PC黒板：画面内に少し余白を残して固定。 */
@media(min-width:701px){
	.blackboard-v2{width:94vw!important;height:calc(100svh - 64px)!important;max-width:none!important;max-height:none!important;margin-top:24px!important;margin-bottom:40px!important;padding:12px!important}
	.blackboard-v2__surface{width:100%!important;height:100%!important;min-height:0!important;padding:clamp(20px,2vw,32px)!important;overflow:auto!important}
	.blackboard-v2 h4{white-space:nowrap!important}
}

/* 中央配置：親コンテンツ幅ではなく、黒板自身の中央をページ中央へ合わせる。 */
.blackboard-v2{left:auto!important;margin-left:50%!important;margin-right:0!important;transform:translateX(-50%)!important}

/* 黒板内スクロールは使わない。 */
.blackboard-v2__surface{overflow:hidden!important}

/* PC：日付・日直は2行目の下端に揃える。 */
@media(min-width:701px){.blackboard-v2__meta{align-self:end!important;justify-self:center!important}.blackboard-v2__right>h3{align-self:start!important}}

/* 日直名から出る、縦書きの吹き出し。 */
.blackboard-v2__quote{overflow:visible!important;border:0!important}
.blackboard-v2__quote>b{position:relative;z-index:2;white-space:nowrap}
.blackboard-v2__quote>blockquote{position:relative;border:2px solid #f7f2df!important;border-radius:18px!important;padding:12px 9px!important;background:#f7f2df!important;color:#173d32!important;text-shadow:none!important}
.blackboard-v2__quote>blockquote:after{content:"";position:absolute;right:-11px;top:22px;border-width:8px 0 8px 12px;border-style:solid;border-color:transparent transparent transparent #f7f2df}

/* 営業状態以外の白マグネットは従来の約80%。 */
.blackboard-v2 h4{font-size:27px!important;padding:5px 9px!important}

/* スマホも営業状況の直下へ日直の吹き出しを置く。 */
@media(max-width:700px){
	.blackboard-v2{margin-left:50%!important;margin-right:0!important}
	.blackboard-v2__right{grid-template-columns:minmax(100px,1fr) minmax(105px,135px) 74px!important;grid-template-rows:auto auto auto auto!important;grid-template-areas:". status title" ". quote meta" "event event event" "visitors visitors visitors"!important}
	.blackboard-v2__quote{grid-area:quote!important;min-height:150px!important}
}

/* 実画面検証による修正：内部の固定最小幅を撤去し、横はみ出しを止める。 */
@media(min-width:701px){
	.blackboard-v2__surface{grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr)!important}
	.blackboard-v2__right{grid-template-columns:minmax(0,1fr) 100px minmax(170px,190px) 45px 60px!important;grid-template-rows:auto minmax(180px,1fr)!important;grid-template-areas:"visitors event status meta title" "visitors event quote meta title"!important;min-width:0!important;max-width:100%!important;overflow:hidden!important}
	.blackboard-v2__right>h3{grid-area:title!important;align-self:end!important;justify-self:center!important;width:auto!important}
	.blackboard-v2__meta{grid-area:meta!important;align-self:end!important;justify-self:center!important;width:auto!important}
	.blackboard-v2__status{grid-area:status!important;align-self:start!important;justify-self:end!important}
	.blackboard-v2__quote{grid-area:quote!important;align-self:start!important;width:100%!important;height:auto!important;min-height:180px!important}
}

/* 吹き出しは塗りなし、チョーク線だけ。日直名は上の日付欄だけに表示。 */
.blackboard-v2__quote{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto auto!important}
.blackboard-v2__quote>b{display:none!important}
.blackboard-v2__quote>blockquote{grid-column:1!important;grid-row:1!important;min-height:120px!important;margin:0!important;padding:12px 9px!important;background:transparent!important;color:#fffdf0!important;border:2px solid #f7f2df!important;border-radius:16px!important;text-shadow:1px 1px #ffffff55,2px 3px 2px #071d18!important}
.blackboard-v2__quote>blockquote:after{right:-12px!important;top:22px!important;border-width:8px 0 8px 12px!important;border-color:transparent transparent transparent #f7f2df!important}
.blackboard-v2__quote>blockquote:before{content:"";position:absolute;right:-8px;top:24px;z-index:1;border-width:6px 0 6px 9px;border-style:solid;border-color:transparent transparent transparent #173f35}
.blackboard-v2__quote>div{grid-column:1!important;grid-row:2!important}.blackboard-v2__quote>form{grid-column:1!important;grid-row:3!important}

/* スマホも同じ並び：タイトル→日付・日直、営業状況→吹き出し。 */
@media(max-width:700px){
	.blackboard-v2__surface{width:100%!important;max-width:100%!important;overflow:hidden!important}
	.blackboard-v2__right{grid-template-columns:minmax(0,1fr) minmax(105px,135px) 74px!important;grid-template-areas:". status title" ". quote meta" "event event event" "visitors visitors visitors"!important;max-width:100%!important;overflow:hidden!important}
	.blackboard-v2__quote{min-width:0!important;width:100%!important}
}

/* ページ全体を横へ広げる装飾をクリップし、画面中央をずらさない。 */
html,body{overflow-x:clip}

/* PCの日直コメントは小さくし、縦方向へ伸びすぎないよう折り返す。 */
@media(min-width:701px){
	.blackboard-v2__quote{min-height:0!important;height:auto!important}
	.blackboard-v2__quote>blockquote{box-sizing:border-box!important;width:100%!important;height:230px!important;min-height:0!important;max-height:230px!important;font-size:16px!important;line-height:1.45!important;word-break:normal!important;overflow-wrap:anywhere!important}
}

/* 本日の内容は見出しから2文字分下げる。 */
.blackboard-v2__today-event>span,.blackboard-v2__visitors>strong,.blackboard-v2__visitors>span{padding-top:2em!important}
.blackboard-v2__visitors>b{white-space:nowrap!important}
.blackboard-v2__visitors>b small{display:inline!important;font-size:20px!important}
.blackboard-v2__visitors>span{font-size:26px!important}

/* 吹き出しを黒板下端近くまで伸ばし、いいね操作を内部へ収める。 */
.blackboard-v2__quote>blockquote{position:relative!important;display:block!important;overflow:hidden!important}
.blackboard-v2__quote-text{display:block;writing-mode:vertical-rl;text-orientation:upright;height:100%;padding-bottom:54px}
.blackboard-v2__quote-like{position:absolute;left:10px;right:10px;bottom:9px;display:flex!important;align-items:center;justify-content:center;gap:8px;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif!important;font-size:14px!important;writing-mode:horizontal-tb!important}
.blackboard-v2__quote-like form{margin:0}.blackboard-v2__quote-like button{padding:4px 8px!important;font-size:13px!important}
@media(min-width:701px){
	.blackboard-v2__surface{grid-template-rows:minmax(0,1fr)!important}
	.blackboard-v2__right{height:100%!important;grid-template-rows:auto minmax(0,1fr)!important}
	.blackboard-v2__quote{height:100%!important;min-height:0!important}
	.blackboard-v2__quote>blockquote{height:calc(100% - 8px)!important;min-height:0!important;max-height:none!important}
}
@media(max-width:700px){.blackboard-v2__quote>blockquote{height:260px!important;min-height:260px!important;max-height:260px!important}}

/* スマホのマグネット寸法：営業状態を少し縮小、その他はその約80%。 */
@media(max-width:700px){
	.blackboard-v2__magnet,.blackboard-v2__magnet.is-open,.blackboard-v2__magnet.is-closed{font-size:28px!important;padding:13px 8px!important}
	.blackboard-v2 h4{font-size:22px!important;padding:4px 7px!important}
}

/* タイトルは上揃え。PC右側下部の白線は撤去。 */
.blackboard-v2__right>h3{align-self:start!important}
@media(min-width:701px){.blackboard-v2__right{border-bottom:0!important}}

/* 吹き出しを下端近くまで固定し、日直名側へ向く線のくちばしを復活。 */
.blackboard-v2__quote,.blackboard-v2__quote>blockquote{overflow:visible!important}
.blackboard-v2__quote>blockquote:after{top:auto!important;bottom:64px!important;right:-12px!important;display:block!important}
.blackboard-v2__quote>blockquote:before{top:auto!important;bottom:66px!important;right:-8px!important;display:block!important}
@media(min-width:701px){.blackboard-v2__quote{align-self:stretch!important;height:100%!important}.blackboard-v2__quote>blockquote{height:100%!important}}
@media(max-width:700px){.blackboard-v2__quote>blockquote:after{bottom:46px!important}.blackboard-v2__quote>blockquote:before{bottom:48px!important}}

/* 注釈とPC/スマホの文字比率。スマホはPCのおおむね80%。 */
@media(min-width:701px){.blackboard-v2__visitors>b small{font-size:16px!important}}
@media(max-width:700px){
	.blackboard-v2{font-size:24px!important}
	.blackboard-v2__right>h3{font-size:43px!important}
	.blackboard-v2__meta,.blackboard-v2__status>b,.blackboard-v2__quote>b,.blackboard-v2__today-event>b,.blackboard-v2__today-event i,.blackboard-v2__visitors>b,.blackboard-v2__visitors>strong{font-size:24px!important}
	.blackboard-v2__visitors>span{font-size:21px!important}
	.blackboard-v2__visitors>b small{font-size:13px!important}
	.blackboard-v2__quote>blockquote{font-size:13px!important}
	.blackboard-v2__next h5,.blackboard-v2__weekdays,.blackboard-v2__calendar,.blackboard-v2__events p{font-size:19px!important}
}

/* 白マグネットはさらに80%へ縮小。 */
.blackboard-v2 h4{font-size:22px!important;padding:4px 7px!important}
@media(max-width:700px){.blackboard-v2 h4{font-size:18px!important;padding:3px 6px!important}}

/* 吹き出しは下揃えラインまで固定し、文字領域のみ14pt〜24ptで可変。 */
.blackboard-v2__quote{box-sizing:border-box!important;align-self:stretch!important;height:100%!important;min-height:0!important}
.blackboard-v2__quote>blockquote{box-sizing:border-box!important;height:100%!important;min-height:0!important;max-height:none!important}
.blackboard-v2__quote-text{position:relative;box-sizing:border-box;width:100%;max-width:100%;height:calc(100% - 48px)!important;max-height:calc(100% - 48px)!important;padding:0!important;overflow:hidden!important;font-size:24pt;line-height:1.3}
.blackboard-v2__quote-text:after{content:attr(data-full-quote);position:absolute;z-index:20;inset:0;display:none;box-sizing:border-box;width:100%;height:100%;padding:8px;background:#173f35;color:#fffdf0;writing-mode:vertical-rl;text-orientation:upright;font-size:14pt;line-height:1.4;white-space:normal;overflow:auto}
@media(hover:hover){.blackboard-v2__quote-text:hover:after,.blackboard-v2__quote-text:focus:after{display:block}}
.blackboard-v2__quote-text.is-full-visible:after{display:block}
.blackboard-v2__quote-like{left:10px!important;right:auto!important;bottom:9px!important;justify-content:flex-start!important}

/* スマホ上段：本日のイベントを営業状態の左、本日の来店を右詰め。 */
@media(max-width:700px){
	.blackboard-v2__right{grid-template-columns:minmax(0,1fr) minmax(105px,135px) 74px!important;grid-template-rows:auto auto auto!important;grid-template-areas:"event status title" "event quote meta" "visitors visitors visitors"!important}
	.blackboard-v2__today-event{grid-area:event!important;align-self:start!important;justify-self:end!important}
	.blackboard-v2__visitors{grid-area:visitors!important;justify-self:end!important;margin-left:auto!important}
	.blackboard-v2__quote{height:260px!important;min-height:260px!important}
	.blackboard-v2__quote>blockquote:after{bottom:auto!important;top:78px!important}
	.blackboard-v2__quote>blockquote:before{bottom:auto!important;top:80px!important}
}

/* 白マグネットは所属ブロックの中央へ。 */
.blackboard-v2 h4{display:block!important;width:max-content!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important}

/* 日直の吹き出し：外枠は通常方向、本文だけ縦書き。 */
.blackboard-v2__quote{display:flex!important;flex-direction:column!important}
.blackboard-v2__quote>blockquote{display:block!important;flex:1 1 auto!important;box-sizing:border-box!important;width:100%!important;height:auto!important;min-height:0!important;writing-mode:horizontal-tb!important}
.blackboard-v2__quote-text{font-size:16px!important;line-height:1.55!important}
.blackboard-v2__quote-text:after{font-size:16px!important}

/* 吹き出しを枠内へ固定。縦書き本文は高さで折り返す。 */
.blackboard-v2__quote{position:relative!important;display:block!important}
.blackboard-v2__quote>blockquote{position:absolute!important;inset:10px!important;display:block!important;width:auto!important;height:auto!important;margin:0!important;writing-mode:horizontal-tb!important}
.blackboard-v2__quote:has(>form)>blockquote{bottom:64px!important}
.blackboard-v2__quote>form{position:absolute!important;z-index:5;left:10px!important;right:10px!important;bottom:8px!important}
.blackboard-v2__quote-text{position:absolute!important;inset:12px 9px 52px!important;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;white-space:normal!important;word-break:break-all!important;overflow-wrap:anywhere!important}

/* 本日のイベント・来店者名：収まらない時だけ全文レイヤーを表示。 */
.blackboard-v2__today-event,.blackboard-v2__visitors{height:100%;min-height:0;overflow:hidden}
.blackboard-v2__expandable{position:relative!important;align-self:stretch;max-width:100%;height:100%;min-height:0;max-height:100%;overflow:hidden!important}
.blackboard-v2__expandable.has-overflow{cursor:zoom-in}
.blackboard-v2__expandable.has-overflow:after{content:attr(data-full-text);position:absolute;z-index:30;inset:0;display:none;box-sizing:border-box;padding:5px;background:#173f35;color:#fffdf0;border:1px solid #f7f2df;writing-mode:vertical-rl;text-orientation:upright;white-space:pre-line;word-break:normal;overflow:auto;font-size:15px;line-height:1.7;box-shadow:3px 4px 0 #0008}
@media(hover:hover){.blackboard-v2__expandable.has-overflow:hover:after,.blackboard-v2__expandable.has-overflow:focus:after{display:block}}
.blackboard-v2__expandable.has-overflow.is-full-visible:after{display:block}

/* 営業予定日は「日時＋出没予告申請」だけを通常表示。 */
.blackboard-v2__next article.blackboard-v2__opening{position:relative;grid-template-columns:minmax(0,1fr) auto;align-items:center;overflow:visible}
.blackboard-v2__opening h5{min-width:0}
.blackboard-v2__opening-trigger{display:flex!important;align-items:baseline;flex-wrap:wrap;gap:2px;padding:0!important;border:0!important;background:transparent!important;color:#fff!important;font:inherit!important;text-align:left;box-shadow:none!important;cursor:pointer}
.blackboard-v2__opening-trigger>span{color:#fff!important}
.blackboard-v2__opening-trigger>em{color:#fff;font-style:normal}
.blackboard-v2__opening-trigger>em.is-saturday{color:#8dd6ee!important}
.blackboard-v2__opening-trigger>em.is-sunday{color:#ef7771!important}
.blackboard-v2__opening-trigger>em.is-holiday{color:#f06445!important}
.blackboard-v2__opening-trigger>small{display:block;flex-basis:100%;color:#fffdf0;font-size:.82em}
.blackboard-v2__opening-times>i{display:block;color:inherit;font:inherit;font-style:normal;white-space:nowrap}
.blackboard-v2 .visit-plans{position:relative!important;padding:0!important}
.blackboard-v2 .visit-plans__apply{white-space:nowrap;font-size:10px!important}
.blackboard-v2 .visit-plans__popover{position:absolute;z-index:60;top:calc(100% + 7px);right:0;display:none;width:min(340px,82vw);padding:12px;border:2px solid #f7f2df;background:#173f35;color:#fffdf0;box-shadow:6px 7px 0 #0009}
@media(hover:hover){.blackboard-v2__opening:hover .visit-plans__popover,.blackboard-v2__opening:focus-within .visit-plans__popover{display:block}}
.blackboard-v2__opening.is-expanded .visit-plans__popover{display:block}
.blackboard-v2 .visit-plans__popover>strong{display:block;margin-bottom:6px;font-size:14px!important}
.blackboard-v2 .visit-plans__popover ul{display:block;margin:5px 0 10px;padding-left:18px}
.blackboard-v2 .visit-plans__popover li{display:flex;justify-content:space-between;gap:14px;margin:4px 0;font-size:12px!important}
.blackboard-v2 .visit-plans__popover p{font-size:12px!important}

/* PC：本日のご来店と、それより左側を少し右へ寄せる。 */
@media(min-width:701px){.blackboard-v2__visitors,.blackboard-v2__left{transform:translateX(18px)}}

@media(max-width:700px){
	.blackboard-v2__quote-text{inset:12px 8px 52px!important;font-size:16px!important;line-height:1.5!important}
	.blackboard-v2__next article.blackboard-v2__opening{grid-template-columns:minmax(0,1fr) auto!important}
	.blackboard-v2 .visit-plans__popover{position:absolute;z-index:9999;top:calc(100% + 7px);right:0;bottom:auto;left:auto;width:min(340px,calc(100vw - 40px));max-height:68svh;overflow:auto}
}

/* 今回の位置・高さ調整。 */
@media(min-width:701px){
	.blackboard-v2__left{transform:translateX(18px)!important}
	.blackboard-v2__visitors{transform:translateX(42px)!important}
	.blackboard-v2__meta{align-self:end!important}
	.blackboard-v2__quote{grid-row:2!important;align-self:stretch!important;height:auto!important;min-height:0!important}
	.blackboard-v2__quote>blockquote{inset:10px!important}
	.blackboard-v2__next article.blackboard-v2__opening{grid-template-columns:minmax(0,1fr) auto!important}
	.blackboard-v2 .visit-plans{justify-self:end!important}
}
@media(max-width:700px){
	.blackboard-v2__visitors{height:150px!important;min-height:150px!important;max-height:150px!important}
}

/* カレンダーの記号と凡例を、PC・スマホとも読みやすくする。 */
.blackboard-v2__weekdays,.blackboard-v2__calendar{font-size:18px!important}
.blackboard-v2__legend{gap:7px!important;font-size:14px!important;line-height:1.4!important}
.blackboard-v2__legend i{width:19px!important;height:19px!important;font-size:18px!important}
@media(max-width:700px){
	.blackboard-v2__weekdays,.blackboard-v2__calendar{font-size:18px!important}
	.blackboard-v2__legend{font-size:14px!important}
}

/* WordPressの自動段落が作る見えない3行目を除去し、PC下端を揃える。 */
.blackboard-v2__right>p:empty{display:none!important}
.blackboard-v2__quote>blockquote>p,.blackboard-v2__quote>p{display:contents!important}
@media(min-width:701px){
	.blackboard-v2__right{grid-template-rows:270px minmax(0,1fr)!important}
	.blackboard-v2__meta{align-self:end!important;margin-bottom:0!important}
	.blackboard-v2__quote{align-self:stretch!important;height:auto!important;margin-bottom:0!important}
}

/* 月送り付き営業カレンダー。 */
.blackboard-v2__calendar-nav{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:6px;margin-bottom:5px}
.blackboard-v2__calendar-nav>p{display:contents!important}
.blackboard-v2__calendar-nav h4{margin:0 auto!important}
.blackboard-v2__calendar-nav>button,.blackboard-v2__calendar-nav>p>button{display:grid;place-items:center;width:32px;height:32px;padding:0!important;border:1px solid #fff!important;background:transparent!important;color:#fff!important;font:400 23px/1 "Entrance Chalk S",sans-serif!important;cursor:pointer}
.blackboard-v2__calendar-nav>button:disabled,.blackboard-v2__calendar-nav>p>button:disabled{opacity:.25;cursor:default}
.blackboard-v2__calendar-month[hidden]{display:none!important}
.blackboard-v2__calendar>br{display:none!important}
.blackboard-v2__calendar-month>h5{margin:0 0 4px;color:#fffdf0!important;font-size:14px!important;font-weight:400!important;text-align:center}
.blackboard-v2__calendar>button.blackboard-v2__calendar-day{position:relative;display:grid;place-items:center;aspect-ratio:1;min-width:0;padding:0!important;border:0!important;background:transparent!important;color:#fff!important;font:400 16px/1 "Entrance Chalk S",sans-serif!important;cursor:pointer;opacity:1!important;overflow:visible}
.blackboard-v2__calendar-day>b{position:relative;z-index:2;display:grid!important;place-items:center;width:2em!important;height:2em!important;border:0!important;border-radius:0!important;color:#fff!important;font-weight:400!important}
.blackboard-v2__calendar-day:before{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-51%);font:400 2.05em/1 sans-serif;text-shadow:none;opacity:.95}
.blackboard-v2__calendar-day.is-open:before{content:"○";color:#ffe274}
.blackboard-v2__calendar-day.is-closed:before{content:"×";color:#ef7771}
.blackboard-v2__calendar-day.is-off:before{content:none!important}
.blackboard-v2__calendar-day.is-off>b{color:#7f918a!important}
.blackboard-v2__calendar-day.is-short:before{content:"□";color:#8dd6ee}
.blackboard-v2__calendar-day.is-expedition:before{content:"▽";color:#c899ef}
.blackboard-v2__calendar-day:after{content:none!important}
.blackboard-v2__day-detail{position:absolute;z-index:90;left:50%;top:calc(100% + 5px);display:none;width:min(230px,76vw);padding:9px;transform:translateX(-50%);border:1px solid #f7f2df;background:#173f35;color:#fffdf0;text-align:left;white-space:normal;box-shadow:4px 5px 0 #0009}
.blackboard-v2__day-detail>*{display:block;margin:2px 0;color:inherit!important;font-style:normal;font-size:13px!important;line-height:1.45;text-shadow:none!important}
@media(hover:hover){.blackboard-v2__calendar-day:hover .blackboard-v2__day-detail,.blackboard-v2__calendar-day:focus .blackboard-v2__day-detail{display:block}}
.blackboard-v2__calendar-day.is-expanded .blackboard-v2__day-detail{display:block}
.blackboard-v2__calendar>button:nth-child(7n+1) .blackboard-v2__day-detail{left:0;transform:none}
.blackboard-v2__calendar>button:nth-child(7n) .blackboard-v2__day-detail{right:0;left:auto;transform:none}

/* 凡例は一列固定。 */
.blackboard-v2__legend{display:flex!important;flex-wrap:nowrap!important;justify-content:center!important;align-items:center;gap:5px!important;margin-top:5px;font-size:12px!important;line-height:1.2!important;white-space:nowrap}
.blackboard-v2__legend>span{display:inline-flex;align-items:center;gap:1px;white-space:nowrap}
.blackboard-v2__legend i{width:15px!important;height:15px!important;font-size:14px!important}

/* 日時の右側に、2行の出没予告申請ボタンを固定。 */
.blackboard-v2__next article.blackboard-v2__opening{grid-template-columns:minmax(0,1fr) 54px!important}
.blackboard-v2__opening h5{grid-column:1!important;grid-row:1!important;align-self:center!important}
.blackboard-v2__opening-trigger{font-size:15px!important;line-height:1.25!important}
.blackboard-v2__opening-trigger>small{font-size:12px!important;line-height:1.25!important}
.blackboard-v2 .visit-plans{grid-column:2!important;grid-row:1!important;align-self:center!important;justify-self:end!important}
.blackboard-v2 .visit-plans>br{display:none!important}
.blackboard-v2 .visit-plans__apply{display:flex!important;flex-direction:column;align-items:center;justify-content:center;width:52px;min-height:42px;padding:4px 3px!important;white-space:normal!important;font-size:10px!important;line-height:1.15!important}
.blackboard-v2__opening-trigger{position:relative}
.blackboard-v2__opening-trigger:after{content:attr(data-visit-summary);position:absolute;z-index:70;left:0;top:calc(100% + 5px);display:none;width:min(260px,75vw);padding:8px;border:1px solid #f7f2df;background:#173f35;color:#fffdf0;font:400 12px/1.5 "Entrance Chalk S",sans-serif;white-space:pre-line;box-shadow:4px 5px 0 #0009}
@media(hover:hover){.blackboard-v2__opening-trigger:hover:after,.blackboard-v2__opening-trigger:focus:after{display:block}}
.blackboard-v2__opening-trigger.is-summary-visible:after{display:block}

/* 申請画面はdialogの最前面へ出し、黒板枠では切らない。 */
.blackboard-v2 .visit-plans__popover:not([open]){display:none!important}
.blackboard-v2 .visit-plans__popover[open]{position:fixed!important;z-index:2147483000!important;inset:50% auto auto 50%!important;display:block!important;width:min(440px,calc(100vw - 24px))!important;max-height:min(78svh,680px)!important;margin:0!important;padding:22px 16px 16px!important;transform:translate(-50%,-50%)!important;overflow:auto!important;border:3px solid #f7f2df!important;background:#173f35!important;color:#fffdf0!important;box-shadow:0 18px 60px #000d!important}
.blackboard-v2 .visit-plans__popover::backdrop{background:#07120fbb;backdrop-filter:blur(2px)}
.blackboard-v2 .visit-plans__close{position:absolute;right:7px;top:6px;display:grid!important;place-items:center;width:26px;height:26px;padding:0!important;border:1px solid #fff!important;background:transparent!important;color:#fff!important;font:700 18px/1 sans-serif!important}

/* スマホの本日のご来店は見出しも含めて折り返し、切れを防ぐ。 */
@media(max-width:700px){
	.blackboard-v2__right{overflow:visible!important}
	.blackboard-v2__visitors{width:100%!important;height:170px!important;min-height:170px!important;max-height:170px!important;overflow:visible!important}
	.blackboard-v2__visitors>b{display:flex!important;flex:0 0 auto;flex-direction:row-reverse!important;gap:4px;height:100%!important;max-height:100%!important;writing-mode:horizontal-tb!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important}
	.blackboard-v2__visitors>b>span,.blackboard-v2__visitors>b>small{display:block!important;writing-mode:vertical-rl!important;text-orientation:upright!important;white-space:nowrap!important}
	.blackboard-v2__visitors>strong,.blackboard-v2__visitors>span{height:100%!important;max-height:100%!important;padding-top:0!important;overflow:visible!important}
	.blackboard-v2__legend{gap:3px!important;font-size:11px!important}
	.blackboard-v2__legend i{width:14px!important;height:14px!important;font-size:13px!important}
}

/* PC：左側へカレンダー幅を戻し、日直本文を吹き出しと同じ下端へ揃える。 */
@media(min-width:701px){
	.blackboard-v2__surface{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)!important}
	.blackboard-v2__upper{grid-template-columns:minmax(200px,.9fr) minmax(260px,1.1fr)!important}
	.blackboard-v2__meta{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;height:100%!important}
}

/* 2026-08-10: 営業日カレンダーを蛍光マーカー表示へ変更。 */
.blackboard-v2__schedule{
	box-sizing:border-box!important;
	padding:0!important;
	border:0!important;
	overflow:visible!important;
}
.blackboard-v2__calendar-months{
	box-sizing:border-box!important;
	width:100%!important;
	padding:8px 10px 0!important;
	border:1px solid rgba(247,242,223,.78)!important;
	border-bottom:0!important;
}
.blackboard-v2__calendar-day:before{
	content:""!important;
	position:absolute!important;
	z-index:1!important;
	left:50%!important;
	top:61%!important;
	width:1.5em!important;
	height:.62em!important;
	transform:translate(-50%,-50%) rotate(-3deg)!important;
	border-radius:0!important;
	background:transparent!important;
	box-shadow:none!important;
	clip-path:polygon(2% 18%,100% 0,96% 82%,0 100%)!important;
	font:inherit!important;
	opacity:.72!important;
}
.blackboard-v2__calendar-day:nth-of-type(3n):before{transform:translate(-50%,-50%) rotate(2deg)!important}
.blackboard-v2__calendar-day.is-open:before{background:#ffe04f!important}
.blackboard-v2__calendar-day.is-closed:before{background:#ef615e!important}
.blackboard-v2__calendar-day.is-short:before{background:#63d1ef!important}
.blackboard-v2__calendar-day.is-expedition:before{background:#b86de2!important}
.blackboard-v2__calendar-day.is-off:before{display:none!important}
.blackboard-v2__calendar-day>b{color:#fff!important;text-shadow:1px 1px 1px #071d18!important}
.blackboard-v2__calendar-day.is-off>b{color:#7f918a!important;text-shadow:none!important}
.blackboard-v2__calendar-day:before{display:none!important}
.blackboard-v2__calendar-markers{
	position:absolute!important;
	z-index:1!important;
	left:50%!important;
	top:61%!important;
	display:flex!important;
	flex-direction:column!important;
	gap:1px!important;
	width:1.5em!important;
	transform:translate(-50%,-50%) rotate(-2deg)!important;
	pointer-events:none!important;
}
.blackboard-v2__calendar-markers>i{
	display:block!important;
	width:100%!important;
	height:.29em!important;
	clip-path:polygon(2% 18%,100% 0,96% 82%,0 100%)!important;
	opacity:.76!important;
}
.blackboard-v2__calendar-markers>i:only-child{height:.62em!important}
.blackboard-v2__calendar-markers>.is-open{background:#ffe04f!important}
.blackboard-v2__calendar-markers>.is-closed{background:#ef615e!important}
.blackboard-v2__calendar-markers>.is-short{background:#63d1ef!important}
.blackboard-v2__calendar-markers>.is-expedition{background:#b86de2!important}
.blackboard-v2__calendar-markers>.is-store-event{background:#55c878!important}
.blackboard-v2__legend i{position:relative!important}
.blackboard-v2__legend i:before{
	content:""!important;
	display:block!important;
	width:13px!important;
	height:5px!important;
	transform:rotate(-3deg)!important;
	border-radius:0!important;
	clip-path:polygon(2% 18%,100% 0,96% 82%,0 100%)!important;
}
.blackboard-v2__legend i.is-open:before{background:#ffe04f!important}
.blackboard-v2__legend i.is-closed:before{background:#ef615e!important}
.blackboard-v2__legend i.is-short:before{background:#63d1ef!important}
.blackboard-v2__legend i.is-expedition:before{background:#b86de2!important}
.blackboard-v2__legend i.is-store-event:before{background:#55c878!important}
.blackboard-v2__legend{gap:3px!important;font-size:10px!important}
.blackboard-v2__schedule>.blackboard-v2__legend{
	box-sizing:border-box!important;
	width:100%!important;
	margin-top:0!important;
	padding:4px 8px 8px!important;
	border:1px solid rgba(247,242,223,.78)!important;
	border-top:0!important;
}

/* 日付・日直の実文字と吹き出しを、PCでは同じ下端へ固定する。 */
@media(min-width:701px){
	.blackboard-v2__upper{grid-template-columns:minmax(180px,.72fr) minmax(280px,1.28fr)!important}
	.blackboard-v2__next{align-content:start!important;grid-auto-rows:max-content!important}
	.blackboard-v2__next>h4{display:flex!important;align-items:center!important;height:40px!important;margin-bottom:5px!important;padding:0 6px!important;font-size:16px!important;line-height:1!important;white-space:nowrap!important}
	.blackboard-v2__next article.blackboard-v2__opening{box-sizing:border-box!important;width:100%!important;height:61px!important;min-height:61px!important;max-height:61px!important;padding:4px 5px!important}
	.blackboard-v2__right{padding-bottom:0!important}
	.blackboard-v2__meta{
		position:relative!important;
		display:block!important;
		align-self:stretch!important;
		justify-self:stretch!important;
		width:100%!important;
		height:100%!important;
		writing-mode:horizontal-tb!important;
	}
	.blackboard-v2__meta-inner{
		position:absolute!important;
		right:50%!important;
		bottom:0!important;
		display:block!important;
		width:1em!important;
		transform:translateX(50%)!important;
		writing-mode:vertical-rl!important;
		text-orientation:upright!important;
		white-space:nowrap!important;
		line-height:1!important;
	}
	.blackboard-v2__meta-inner>time,
	.blackboard-v2__meta-inner>span{
		display:inline!important;
		writing-mode:inherit!important;
		text-orientation:inherit!important;
		white-space:nowrap!important;
		line-height:1!important;
	}
	.blackboard-v2__quote{
		position:relative!important;
		display:block!important;
		align-self:stretch!important;
		height:100%!important;
		margin:0!important;
		padding:0!important;
		overflow:visible!important;
	}
	.blackboard-v2__quote>blockquote{
		position:absolute!important;
		inset:0!important;
		width:100%!important;
		height:100%!important;
		margin:0!important;
	}
	.blackboard-v2__quote:has(>form)>blockquote{inset:0 0 64px!important;height:auto!important}
}
@media(max-width:700px){
	.blackboard-v2__meta-inner{display:contents!important}
	.blackboard-v2__meta-inner>time,.blackboard-v2__meta-inner>span{writing-mode:vertical-rl!important;text-orientation:upright!important;white-space:nowrap!important}
}

/* 2026-08-11: カレンダーを縦80%へ圧縮し、営業予定を同じ高さ内に収める。 */
.blackboard-v2__calendar{grid-auto-rows:29px!important}
.blackboard-v2__calendar>span,
.blackboard-v2__calendar>button.blackboard-v2__calendar-day{
	height:29px!important;
	min-height:29px!important;
	max-height:29px!important;
	aspect-ratio:auto!important;
}
.blackboard-v2__next article[hidden]{display:none!important}

/* 次回営業4件の種別色。日付だけを出張＝紫、店内イベント＝緑にする。 */
.blackboard-v2__opening.is-expedition .blackboard-v2__opening-trigger>span{color:#d69cff!important}
.blackboard-v2__opening.is-store-event .blackboard-v2__opening-trigger>span{color:#6fe39a!important}

/* 縦書きの時分は2桁を横一組で表示する。 */
.blackboard-v2__today-event .blackboard-v2__event-time{display:block;margin-top:.45em}
.blackboard-v2__today-event .blackboard-v2__event-name{display:block;white-space:nowrap!important}
.blackboard-v2__today-event .blackboard-v2__expandable>i{white-space:nowrap!important}
.blackboard-v2__today-event-full{
	position:absolute!important;
	z-index:35!important;
	inset:0!important;
	display:none!important;
	box-sizing:border-box!important;
	padding:5px!important;
	background:#173f35!important;
	border:1px solid #f7f2df!important;
	writing-mode:horizontal-tb!important;
	box-shadow:3px 4px 0 #0008!important;
}
.blackboard-v2__today-event-full>i{display:block!important;float:right;margin-left:8px!important}
.blackboard-v2__today-event .blackboard-v2__expandable:after{content:none!important;display:none!important}
.blackboard-v2__today-event .blackboard-v2__event-time .blackboard-v2__tcy,
.blackboard-v2__today-event-full .blackboard-v2__tcy,
.blackboard-v2 .blackboard-v2__day-detail .blackboard-v2__tcy{
	display:inline!important;
	text-combine-upright:all!important;
	-webkit-text-combine:horizontal!important;
}
@media(hover:hover){
	.blackboard-v2__today-event .blackboard-v2__expandable.has-overflow:hover .blackboard-v2__today-event-full,
	.blackboard-v2__today-event .blackboard-v2__expandable.has-overflow:focus .blackboard-v2__today-event-full,
	.blackboard-v2__today-event .blackboard-v2__expandable.is-multiple:hover .blackboard-v2__today-event-full,
	.blackboard-v2__today-event .blackboard-v2__expandable.is-multiple:focus .blackboard-v2__today-event-full{display:block!important}
}
.blackboard-v2__today-event .blackboard-v2__expandable.is-full-visible .blackboard-v2__today-event-full{display:block!important}

/* カレンダーの日付軸をセル中央へ固定。 */
.blackboard-v2__calendar-day>b{
	position:absolute!important;
	left:50%!important;
	top:50%!important;
	transform:translate(-50%,-50%)!important;
	text-align:center!important;
}

/* イベント予定は2件だけ常設し、残り1か月分をホバー／タップで表示。 */
.blackboard-v2__event-list{position:relative;min-width:0}
.blackboard-v2__event-popover{
	position:absolute;
	z-index:120;
	left:0;
	bottom:calc(100% + 8px);
	display:none;
	box-sizing:border-box;
	width:min(430px,82vw);
	max-height:58vh;
	overflow:auto;
	padding:12px;
	border:1px solid rgba(247,242,223,.9);
	background:#173f35;
	color:#fffdf0;
	box-shadow:5px 6px 0 rgba(0,0,0,.65);
}
.blackboard-v2__events .blackboard-v2__event-list:last-child .blackboard-v2__event-popover{right:0;left:auto}
.blackboard-v2__event-popover>strong{display:block;margin-bottom:7px;color:#ffe274;font-size:14px}
@media(hover:hover){
	.blackboard-v2__event-list.has-more:hover .blackboard-v2__event-popover,
	.blackboard-v2__event-list.has-more:focus-within .blackboard-v2__event-popover{display:block}
}
.blackboard-v2__event-list.has-more.is-expanded .blackboard-v2__event-popover{display:block}
@media(max-width:700px){
	.blackboard-v2__calendar{grid-auto-rows:27px!important}
	.blackboard-v2__calendar>span,
	.blackboard-v2__calendar>button.blackboard-v2__calendar-day{height:27px!important;min-height:27px!important;max-height:27px!important}
	.blackboard-v2__event-popover{position:fixed;right:12px!important;bottom:12px;left:12px!important;width:auto;max-height:72svh}
	/* どの曜日をタップしても、詳細を必ず画面中央に収める。 */
	.blackboard-v2__calendar-day .blackboard-v2__day-detail,
	.blackboard-v2__calendar>button:nth-child(7n+1) .blackboard-v2__day-detail,
	.blackboard-v2__calendar>button:nth-child(7n) .blackboard-v2__day-detail{
		position:fixed!important;
		z-index:2147482000!important;
		top:50%!important;
		right:12px!important;
		bottom:auto!important;
		left:12px!important;
		box-sizing:border-box!important;
		width:auto!important;
		max-height:72svh!important;
		transform:translateY(-50%)!important;
		overflow:auto!important;
	}
	/* 来店欄は元幅の140%。余分は左へ伸ばし、右端を揃える。 */
	.blackboard-v2__visitors{
		justify-self:end!important;
		width:140%!important;
		max-width:none!important;
		margin-right:0!important;
		margin-left:auto!important;
		transform:none!important;
	}
	.blackboard-v2__legend{gap:2px!important;font-size:9px!important}
}

/* 非公開来店者のαは、縦書き内でも一般的な正立方向で表示する。 */
.blackboard-v2__visitor-alpha{
	display:inline-block!important;
	writing-mode:horizontal-tb!important;
	text-orientation:mixed!important;
	transform:none!important;
}

/* 営業中マグネットへ、水色の休憩中マグネットを重ね貼りする。 */
.blackboard-v2__status-stack{
	position:relative!important;
	display:block!important;
	flex:0 0 auto!important;
}
.blackboard-v2__break-magnet{
	position:absolute!important;
	z-index:4!important;
	top:7px!important;
	right:-6px!important;
	display:block!important;
	padding:10px 6px!important;
	border:2px solid #dff8ff!important;
	border-radius:0!important;
	background:#77d7f2!important;
	color:#101010!important;
	font:400 23px/1.05 "Noto Sans JP","Yu Gothic",sans-serif!important;
	writing-mode:vertical-rl!important;
	text-orientation:upright!important;
	box-shadow:3px 4px 0 #0008!important;
	transform:rotate(-2deg)!important;
}
.blackboard-v2__break-magnet[hidden]{display:none!important}

/* 店舗・出張イベント予定は「月日　時間／イベント名」の2段表示。 */
.blackboard-v2__events .blackboard-v2__event-row{
	display:block!important;
	padding:5px 0!important;
}
.blackboard-v2__event-when{
	display:flex!important;
	align-items:baseline!important;
	gap:.8em!important;
	grid-column:auto!important;
	white-space:nowrap!important;
}
.blackboard-v2__event-when>time,
.blackboard-v2__event-when>span{
	display:inline!important;
	grid-column:auto!important;
	font-size:inherit!important;
	line-height:inherit!important;
}
.blackboard-v2__event-row>b{
	display:block!important;
	margin-top:2px!important;
	font-size:inherit!important;
	line-height:inherit!important;
}

/* PCは3種類の予定文字を17pxへ統一。旧イベント文字24pxより小さく、旧営業予定15pxより少し大きい。 */
@media(min-width:701px){
	.blackboard-v2__opening-trigger,
	.blackboard-v2__opening-trigger>small,
	.blackboard-v2__events .blackboard-v2__event-row,
	.blackboard-v2__events .blackboard-v2__event-row time,
	.blackboard-v2__events .blackboard-v2__event-row span,
	.blackboard-v2__events .blackboard-v2__event-row b{
		font-size:17px!important;
		line-height:1.3!important;
	}

	/* 日直文字列と吹き出しの実際の下端を、同じグリッド下端へ固定する。 */
	.blackboard-v2__right{align-items:stretch!important}
	.blackboard-v2__meta-inner{bottom:0!important}
	.blackboard-v2__quote{
		grid-row:2!important;
		align-self:end!important;
		height:100%!important;
		min-height:0!important;
		margin:0!important;
	}
	.blackboard-v2__quote>blockquote{
		top:auto!important;
		right:0!important;
		bottom:0!important;
		left:0!important;
		height:100%!important;
		margin:0!important;
	}
}

@media(max-width:700px){
	.blackboard-v2__break-magnet{font-size:18px!important;padding:8px 5px!important}
}

/* 2026-08-15 v5.7.4: WordPressの自動空段落が作る見えない行を除去。 */
.blackboard-v2__surface>p:empty,
.blackboard-v2__left>p:empty{display:none!important}

/* PC：カレンダーを少し右へ移し、次回営業予定欄を広げる。 */
@media(min-width:701px){
	.blackboard-v2__upper{
		grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;
	}
	.blackboard-v2__left,
	.blackboard-v2__right{
		align-self:stretch!important;
		height:100%!important;
	}
}

/* スマホ：次回営業予定とイベント予定の文字を同じ19pxへ統一。 */
@media(max-width:700px){
	.blackboard-v2__opening-trigger,
	.blackboard-v2__opening-trigger>small,
	.blackboard-v2__events .blackboard-v2__event-row,
	.blackboard-v2__events .blackboard-v2__event-row time,
	.blackboard-v2__events .blackboard-v2__event-row span,
	.blackboard-v2__events .blackboard-v2__event-row b{
		font-size:19px!important;
		line-height:1.3!important;
	}

	/* 来店欄は右端へ寄せ、横ではなく縦だけ従来170pxの140%にする。 */
	.blackboard-v2__visitors{
		justify-self:end!important;
		justify-content:flex-start!important;
		width:auto!important;
		max-width:100%!important;
		height:238px!important;
		min-height:238px!important;
		max-height:238px!important;
		margin-right:0!important;
		margin-left:auto!important;
		transform:none!important;
	}
}


/* 2026-08-18 v5.8.2: v5.7.4 visual baseline + requested calendar/event refinements only. */

/* 本日のご来店：縦書きでも「0名」等の数字を90度倒さない。 */
.blackboard-v2__visitors>strong{
	text-orientation:upright!important;
}

/* 出張／店舗イベント予定：左右を完全に等幅。 */
.blackboard-v2__events{
	grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
}
.blackboard-v2__event-list{
	min-width:0!important;
	width:100%!important;
}
.blackboard-v2__events .blackboard-v2__event-list>h4{
	display:flex!important;
	align-items:baseline!important;
	justify-content:space-between!important;
	gap:10px!important;
	box-sizing:border-box!important;
	width:100%!important;
	max-width:none!important;
}
.blackboard-v2__event-note{
	margin-left:auto!important;
	color:#ff1818!important;
	font-size:.43em!important;
	line-height:1.15!important;
	white-space:nowrap!important;
	text-align:right!important;
	text-shadow:none!important;
}

/* カレンダー：6週分を常に確保。4/5週の月は上詰めで下側を空ける。 */
.blackboard-v2__calendar{
	grid-template-rows:repeat(6,32px)!important;
	grid-auto-rows:32px!important;
	align-content:start!important;
}
.blackboard-v2__calendar>span,
.blackboard-v2__calendar>button.blackboard-v2__calendar-day{
	height:32px!important;
	min-height:32px!important;
	max-height:32px!important;
	aspect-ratio:auto!important;
}

/* 上記カレンダー縦長を4分割した寸法を、次回店舗営業日の1枠に使う。 */
@media(min-width:701px){
	.blackboard-v2__next article.blackboard-v2__opening{
		height:50px!important;
		min-height:50px!important;
		max-height:50px!important;
	}
}

/* 営業状態は数字そのものの色で表現。 */
.blackboard-v2__calendar-day>b{
	font-weight:400!important;
}
.blackboard-v2__calendar-day.is-open>b{
	color:#fffdf0!important;
	font-weight:900!important;
}
.blackboard-v2__calendar-day.is-short>b{
	color:#ffe04f!important;
	font-weight:900!important;
}
.blackboard-v2__calendar-day.is-closed>b{
	color:#ef615e!important;
	font-weight:900!important;
}
.blackboard-v2__calendar-day.is-off>b{
	color:#7f918a!important;
	font-weight:400!important;
	text-shadow:none!important;
}

/* 旧「▽」等の記号は完全撤去。 */
.blackboard-v2__calendar .is-expedition:after,
.blackboard-v2__calendar-day.is-expedition:after{
	content:none!important;
	display:none!important;
}

/* 5.7.4の蛍光マーカー形状を維持し、イベントだけ青／紫で重ねる。 */
.blackboard-v2__calendar-markers{
	position:absolute!important;
	z-index:1!important;
	left:50%!important;
	top:61%!important;
	display:flex!important;
	flex-direction:column!important;
	gap:1px!important;
	width:1.5em!important;
	transform:translate(-50%,-50%) rotate(-2deg)!important;
	pointer-events:none!important;
}
.blackboard-v2__calendar-markers>i{
	display:none!important;
	width:100%!important;
	height:.29em!important;
	clip-path:polygon(2% 18%,100% 0,96% 82%,0 100%)!important;
	opacity:.76!important;
}
.blackboard-v2__calendar-markers>.is-store-event,
.blackboard-v2__calendar-markers>.is-expedition{
	display:block!important;
}
.blackboard-v2__calendar-markers>i:only-child{
	height:.62em!important;
}
.blackboard-v2__calendar-markers>.is-store-event{background:#55bfe8!important}
.blackboard-v2__calendar-markers>.is-expedition{background:#b86de2!important}

/* 今日＝太い白アンダーバー。 */
.blackboard-v2__calendar-day.is-today:after{
	content:""!important;
	position:absolute!important;
	z-index:4!important;
	left:50%!important;
	bottom:4px!important;
	display:block!important;
	width:1.45em!important;
	height:5px!important;
	transform:translateX(-50%) rotate(-1deg)!important;
	background:#fffdf0!important;
	clip-path:polygon(0 20%,100% 0,96% 88%,3% 100%)!important;
}

/* 凡例：下揃え・左に少し余白、必ず2段。5.7.4のマーカー形状は維持。 */
.blackboard-v2__schedule{
	display:flex!important;
	flex-direction:column!important;
}
.blackboard-v2__calendar-months{
	flex:0 0 auto!important;
}
.blackboard-v2__schedule>.blackboard-v2__legend{
	display:flex!important;
	flex-direction:column!important;
	align-items:flex-start!important;
	justify-content:flex-end!important;
	gap:2px!important;
	box-sizing:border-box!important;
	width:100%!important;
	margin-top:auto!important;
	padding:4px 8px 8px 18px!important;
	white-space:normal!important;
}
.blackboard-v2__legend-row{
	display:flex!important;
	align-items:center!important;
	justify-content:flex-start!important;
	gap:8px!important;
	width:100%!important;
	white-space:nowrap!important;
}
.blackboard-v2__legend-row>span{
	display:inline-flex!important;
	align-items:center!important;
	gap:2px!important;
	white-space:nowrap!important;
}
.blackboard-v2__legend-row i{
	position:relative!important;
	display:inline-block!important;
	width:16px!important;
	height:8px!important;
	flex:0 0 16px!important;
}
.blackboard-v2__legend-row i:before{
	content:""!important;
	position:absolute!important;
	left:0!important;
	top:50%!important;
	display:block!important;
	width:16px!important;
	height:5px!important;
	transform:translateY(-50%) rotate(-3deg)!important;
	clip-path:polygon(2% 18%,100% 0,96% 82%,0 100%)!important;
}
.blackboard-v2__legend-row i.is-open:before{background:#fffdf0!important}
.blackboard-v2__legend-row i.is-closed:before{background:#ef615e!important}
.blackboard-v2__legend-row i.is-short:before{background:#ffe04f!important}
.blackboard-v2__legend-row i.is-store-event:before{background:#55bfe8!important}
.blackboard-v2__legend-row i.is-expedition:before{background:#b86de2!important}

@media(max-width:700px){
	.blackboard-v2__calendar{
		grid-template-rows:repeat(6,30px)!important;
		grid-auto-rows:30px!important;
	}
	.blackboard-v2__calendar>span,
	.blackboard-v2__calendar>button.blackboard-v2__calendar-day{
		height:30px!important;
		min-height:30px!important;
		max-height:30px!important;
	}
	.blackboard-v2__events .blackboard-v2__event-list>h4{
		width:100%!important;
	}
	.blackboard-v2__event-note{
		font-size:.48em!important;
	}
	.blackboard-v2__schedule>.blackboard-v2__legend{
		padding-left:12px!important;
	}
	.blackboard-v2__legend-row{
		gap:5px!important;
	}
}
\n\n/* 2026-08-18 v5.8.3: targeted layout corrections from annotated review. */

/* PC: both event magnets use the exact same available width; divider lives in the gap. */
@media(min-width:701px){
  .blackboard-v2__events{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    column-gap:20px!important;
  }
  .blackboard-v2__events section+section{
    padding-left:0!important;
    border-left:0!important;
    position:relative!important;
  }
  .blackboard-v2__events section+section:before{
    content:"";
    position:absolute;
    left:-10px;
    top:0;
    bottom:0;
    border-left:2px dashed #fff7;
  }
  .blackboard-v2__events .blackboard-v2__event-list>h4{
    width:100%!important;
    max-width:none!important;
  }

  /* The four opening slots fill the same vertical working height as the calendar area. */
  .blackboard-v2__upper{align-items:stretch!important}
  .blackboard-v2__next{
    height:100%!important;
    grid-template-rows:auto repeat(4,minmax(0,1fr))!important;
    align-content:stretch!important;
  }
  .blackboard-v2__next article.blackboard-v2__opening{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    align-self:stretch!important;
  }
}

/* The red note is a second line inside the expedition magnet. */
.blackboard-v2__events .blackboard-v2__event-list>h4{
  flex-wrap:wrap!important;
  align-content:center!important;
}
.blackboard-v2__event-note{
  flex:0 0 100%!important;
  width:100%!important;
  margin:2px 0 0!important;
  font-size:.40em!important;
  line-height:1!important;
  color:#ff0000!important;
  text-align:right!important;
  white-space:nowrap!important;
}

/* Event highlighter: retain the 5.7.4 fluorescent shape, just make it broader/taller. */
.blackboard-v2__calendar-markers{
  width:1.78em!important;
  top:61%!important;
}
.blackboard-v2__calendar-markers>i{
  height:.36em!important;
}
.blackboard-v2__calendar-markers>i:only-child{
  height:.74em!important;
}

/* Today is always a thick white chalk underline above marker layers. */
.blackboard-v2__calendar-day.is-today:after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:6!important;
  left:50%!important;
  bottom:2px!important;
  width:1.65em!important;
  height:5px!important;
  transform:translateX(-50%) rotate(-1deg)!important;
  background:#fffdf0!important;
  clip-path:polygon(0 22%,100% 0,97% 86%,2% 100%)!important;
}

/* Legend stays at the bottom of the fixed calendar box with a small left inset. */
.blackboard-v2__schedule{position:relative!important}
.blackboard-v2__calendar-months{
  min-height:338px!important;
  padding-bottom:48px!important;
}
.blackboard-v2__schedule>.blackboard-v2__legend{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  margin:0!important;
  padding:4px 8px 8px 18px!important;
  border:0!important;
  background:transparent!important;
}

/* Mobile: event panels stack and each gets the full row width. */
@media(max-width:700px){
  .blackboard-v2__events{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
  }
  .blackboard-v2__event-list,
  .blackboard-v2__events .blackboard-v2__event-list>h4{
    width:100%!important;
    max-width:none!important;
  }
  .blackboard-v2__events section+section{
    width:100%!important;
    padding:12px 0 0!important;
    border-left:0!important;
    border-top:1px dashed #fff7!important;
  }
  .blackboard-v2__event-note{font-size:.46em!important}
  .blackboard-v2__calendar-months{
    min-height:326px!important;
    padding-bottom:48px!important;
  }
  .blackboard-v2__schedule>.blackboard-v2__legend{
    padding-left:12px!important;
  }
}


/* =========================================================
   v5.8.5 骨組み修正 — 実DOMクラスだけを対象
   見た目基準: event 2枠 / calendar bottom / 4 opening slots
   ========================================================= */

/* --- 左上：営業予定とカレンダーは同じ固定高。 --- */
@media (min-width:701px){
  .blackboard-v2__upper{
    align-items:stretch!important;
  }
  .blackboard-v2__next,
  .blackboard-v2__schedule{
    height:410px!important;
    min-height:410px!important;
    max-height:410px!important;
  }

  /* カレンダー高から見出し分だけ除き、残りを4枠へ均等配分。 */
  .blackboard-v2__next{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:48px repeat(4,minmax(0,1fr))!important;
    gap:0!important;
    align-content:stretch!important;
    overflow:hidden!important;
  }
  .blackboard-v2__next>h4{
    align-self:start!important;
    height:40px!important;
    margin:0!important;
  }
  .blackboard-v2__next article.blackboard-v2__opening{
    box-sizing:border-box!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    align-self:stretch!important;
    overflow:visible!important;
  }

  /* カレンダーは「ナビ / 6週固定領域 / 2段凡例」の骨組み。 */
  .blackboard-v2__schedule{
    display:grid!important;
    grid-template-rows:48px minmax(0,1fr) auto!important;
    align-content:stretch!important;
    overflow:visible!important;
  }
  .blackboard-v2__calendar-nav{
    align-self:start!important;
    margin:0!important;
  }
  .blackboard-v2__calendar-months{
    position:relative!important;
    box-sizing:border-box!important;
    min-height:0!important;
    height:auto!important;
    padding:8px 10px 0!important;
    border:1px solid rgba(247,242,223,.78)!important;
    border-bottom:0!important;
    overflow:visible!important;
  }
  .blackboard-v2__schedule>.blackboard-v2__legend{
    position:static!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    align-self:end!important;
    box-sizing:border-box!important;
    width:100%!important;
    margin:0!important;
    padding:4px 8px 7px 16px!important;
    border:1px solid rgba(247,242,223,.78)!important;
    border-top:0!important;
    background:transparent!important;
  }
}

/* --- イベント2枠：スクショ上で左右が同じに見える位置へ補正。 --- */
@media (min-width:701px){
  .blackboard-v2__events{
    display:grid!important;
    grid-template-columns:minmax(0,48%) minmax(0,52%)!important;
    column-gap:0!important;
  }
  .blackboard-v2__events>.blackboard-v2__event-list:first-child{
    padding-right:14px!important;
  }
  .blackboard-v2__events>.blackboard-v2__event-list+ .blackboard-v2__event-list{
    position:relative!important;
    padding-left:14px!important;
    border-left:0!important;
  }
  .blackboard-v2__events>.blackboard-v2__event-list+ .blackboard-v2__event-list:before{
    content:""!important;
    position:absolute!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    border-left:2px dashed #fff7!important;
  }
}

/* マグネットは文字幅。注意書きは2行目で「出張イベント予定」の右端に揃える。 */
.blackboard-v2__events .blackboard-v2__event-list>h4{
  display:inline-grid!important;
  grid-template-columns:auto!important;
  justify-items:stretch!important;
  width:max-content!important;
  max-width:100%!important;
  padding:6px 11px!important;
  gap:2px!important;
}
.blackboard-v2__events .blackboard-v2__event-list>h4>span{
  display:block!important;
  white-space:nowrap!important;
}
.blackboard-v2__event-note{
  display:block!important;
  width:100%!important;
  margin:0!important;
  color:#ff0000!important;
  font-size:13px!important;
  line-height:1.15!important;
  text-align:right!important;
  white-space:nowrap!important;
  text-shadow:none!important;
}

/* イベントマーカーは5.7.4形状を維持して、もう一声だけ縦横を伸ばす。 */
.blackboard-v2__calendar-markers{
  width:2.05em!important;
}
.blackboard-v2__calendar-markers>i{
  height:.41em!important;
}
.blackboard-v2__calendar-markers>i:only-child{
  height:.84em!important;
}

/* 今日：白太アンダーバーを必ず前面に。 */
.blackboard-v2__calendar-day.is-today:after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:8!important;
  left:50%!important;
  bottom:1px!important;
  width:1.75em!important;
  height:6px!important;
  transform:translateX(-50%) rotate(-1deg)!important;
  background:#fffdf0!important;
  clip-path:polygon(0 20%,100% 0,97% 88%,2% 100%)!important;
}

/* スマホ：イベントは1枠ずつ全幅。注意書きは読みやすい14px。 */
@media (max-width:700px){
  .blackboard-v2__events{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    gap:16px!important;
  }
  .blackboard-v2__events>.blackboard-v2__event-list{
    width:100%!important;
    min-width:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .blackboard-v2__events>.blackboard-v2__event-list+ .blackboard-v2__event-list{
    padding-top:12px!important;
    border-top:1px dashed #fff7!important;
    border-left:0!important;
  }
  .blackboard-v2__events .blackboard-v2__event-list>h4{
    width:max-content!important;
    max-width:100%!important;
  }
  .blackboard-v2__event-note{
    font-size:14px!important;
  }
}


/* =========================================================
   v5.8.8 — SAFE RESTORE
   Base: v5.8.5 known-good skeleton.
   Only shorten the fixed upper skeleton slightly.
   Do NOT alter the existing opening-card DOM/layout.
   ========================================================= */
@media (min-width:701px){
  .blackboard-v2__next,
  .blackboard-v2__schedule{
    height:392px!important;
    min-height:392px!important;
    max-height:392px!important;
  }
}


/* =========================================================
   v5.8.9 — HEIGHT ONLY
   v5.8.8の完成状態を維持し、PC上段の固定縦幅だけ約90%へ圧縮。
   ========================================================= */
@media (min-width:701px){
  .blackboard-v2__next,
  .blackboard-v2__schedule{
    height:355px!important;
    min-height:355px!important;
    max-height:355px!important;
  }
}


/* =========================================================
   v5.9.0 — calendar spacing / colour consistency only
   Base: v5.8.9. Do not change the established skeleton.
   ========================================================= */

/* Headings: slightly smaller to free vertical room. */
.blackboard-v2__calendar-nav h4{
  font-size:90%!important;
}
.blackboard-v2__events .blackboard-v2__event-list>h4>span{
  font-size:90%!important;
}

/* Legend: a little lower and right-aligned, while keeping two rows. */
.blackboard-v2__schedule>.blackboard-v2__legend{
  align-items:flex-end!important;
  padding-top:7px!important;
  padding-right:12px!important;
  padding-bottom:3px!important;
  padding-left:8px!important;
}
.blackboard-v2__legend-row{
  justify-content:flex-end!important;
}

/* Keep the lower calendar frame visible. */
.blackboard-v2__schedule>.blackboard-v2__legend{
  border-bottom:1px solid rgba(247,242,223,.78)!important;
}
.blackboard-v2__calendar-months{
  border-bottom:0!important;
}

/* Upcoming store-opening date colours:
   short has priority; otherwise a day that also has a store event is blue. */
.blackboard-v2__opening.is-short-opening .blackboard-v2__opening-trigger>span{
  color:#ffe04f!important;
}
.blackboard-v2__opening.is-store-event:not(.is-short-opening) .blackboard-v2__opening-trigger>span{
  color:#55bfe8!important;
}

/* Event-list dates follow event colour. */
.blackboard-v2__event-list.is-store-event-panel .blackboard-v2__event-when>time{
  color:#55bfe8!important;
}
.blackboard-v2__event-list.is-expedition-panel .blackboard-v2__event-when>time{
  color:#b86de2!important;
}


/* =========================================================
   v5.9.1 — CALENDAR RULES
   全表示をカレンダーの「営業状態＝文字色 / イベント＝マーカー」に統一。
   ========================================================= */

/* 「営業日カレンダー」を実際に小さくし、カレンダー上枠を隠さない。 */
.blackboard-v2__calendar-nav h4{
  font-size:18px!important;
  line-height:1!important;
  padding:4px 8px!important;
}
@media(max-width:700px){
  .blackboard-v2__calendar-nav h4{
    font-size:17px!important;
    padding:3px 7px!important;
  }
}

/* 下段2見出しも少しだけ小さく。 */
.blackboard-v2__events .blackboard-v2__event-list>h4>span{
  font-size:84%!important;
}

/* ===== 次回以降の営業予定日 =====
   営業状態は文字色：通常=白 / 時短=黄 / 臨時休業=赤。
   店舗イベントが重なる日は青マーカーを別レイヤーで表示。 */
.blackboard-v2__opening .blackboard-v2__opening-trigger>span{
  position:relative!important;
  z-index:1!important;
  color:#fffdf0!important;
}
.blackboard-v2__opening.is-short-opening .blackboard-v2__opening-trigger>span{
  color:#ffe04f!important;
}
.blackboard-v2__opening.is-store-event .blackboard-v2__opening-trigger>span:before{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  left:50%!important;
  top:58%!important;
  width:108%!important;
  height:.58em!important;
  transform:translate(-50%,-50%) rotate(-3deg)!important;
  background:#55bfe8!important;
  opacity:.78!important;
  clip-path:polygon(2% 18%,100% 0,96% 82%,0 100%)!important;
}

/* 5.9.0で入れた「店舗イベントなら日付文字そのものを青」は無効化。 */
.blackboard-v2__opening.is-store-event:not(.is-short-opening) .blackboard-v2__opening-trigger>span{
  color:#fffdf0!important;
}

/* ===== 店舗イベント予定 / 出張イベント予定 =====
   日付文字はカレンダー準拠、イベント種別はマーカーで表す。 */
.blackboard-v2__event-when>time{
  position:relative!important;
  z-index:1!important;
  color:#fffdf0!important;
}
.blackboard-v2__event-row.is-status-short .blackboard-v2__event-when>time{
  color:#ffe04f!important;
}
.blackboard-v2__event-row.is-status-closed .blackboard-v2__event-when>time{
  color:#ef615e!important;
}
.blackboard-v2__event-row.is-status-off .blackboard-v2__event-when>time{
  color:#fffdf0!important;
}

/* 店舗イベント＝青マーカー */
.blackboard-v2__event-list.is-store-event-panel .blackboard-v2__event-when>time:before{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  left:50%!important;
  top:58%!important;
  width:104%!important;
  height:.58em!important;
  transform:translate(-50%,-50%) rotate(-3deg)!important;
  background:#55bfe8!important;
  opacity:.78!important;
  clip-path:polygon(2% 18%,100% 0,96% 82%,0 100%)!important;
}

/* 出張イベント＝紫マーカー */
.blackboard-v2__event-list.is-expedition-panel .blackboard-v2__event-when>time:before{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  left:50%!important;
  top:58%!important;
  width:104%!important;
  height:.58em!important;
  transform:translate(-50%,-50%) rotate(-3deg)!important;
  background:#b86de2!important;
  opacity:.78!important;
  clip-path:polygon(2% 18%,100% 0,96% 82%,0 100%)!important;
}

/* 5.9.0のイベント種別による日付文字色を上書き。 */
.blackboard-v2__event-list.is-store-event-panel .blackboard-v2__event-when>time,
.blackboard-v2__event-list.is-expedition-panel .blackboard-v2__event-when>time{
  color:#fffdf0!important;
}
.blackboard-v2__event-list.is-store-event-panel .blackboard-v2__event-row.is-status-short .blackboard-v2__event-when>time,
.blackboard-v2__event-list.is-expedition-panel .blackboard-v2__event-row.is-status-short .blackboard-v2__event-when>time{
  color:#ffe04f!important;
}
.blackboard-v2__event-list.is-store-event-panel .blackboard-v2__event-row.is-status-closed .blackboard-v2__event-when>time,
.blackboard-v2__event-list.is-expedition-panel .blackboard-v2__event-row.is-status-closed .blackboard-v2__event-when>time{
  color:#ef615e!important;
}


/* =========================================================
   v5.9.2 — LEFT MAGNET TYPOGRAPHY ONLY
   左側4見出しの「タイトル文字」と余白だけ統一。
   ※「店舗はおやすみです。」の注記サイズは対象外。
   ========================================================= */

/* 共通：タイトル文字 18px / line-height 1 / 左右10px・上下6px */
.blackboard-v2__next>h4,
.blackboard-v2__calendar-nav h4,
.blackboard-v2__event-list>h4{
  box-sizing:border-box!important;
}

.blackboard-v2__next>h4{
  height:auto!important;
  min-height:0!important;
  padding:6px 10px!important;
  font-size:18px!important;
  line-height:1!important;
}

.blackboard-v2__calendar-nav h4{
  padding:6px 10px!important;
  font-size:18px!important;
  line-height:1!important;
}

.blackboard-v2__event-list>h4{
  padding:6px 10px!important;
  gap:2px!important;
}
.blackboard-v2__event-list>h4>span{
  font-size:18px!important;
  line-height:1!important;
}

/* スマホも4見出しのタイトル文字は同じ基準。注記は既存設定を維持。 */
@media(max-width:700px){
  .blackboard-v2__next>h4,
  .blackboard-v2__calendar-nav h4{
    padding:6px 10px!important;
    font-size:18px!important;
    line-height:1!important;
  }
  .blackboard-v2__event-list>h4{
    padding:6px 10px!important;
  }
  .blackboard-v2__event-list>h4>span{
    font-size:18px!important;
    line-height:1!important;
  }
}


/* =========================================================
   v5.9.3 — MAGNET CENTERING ONLY
   PC/スマホ共通：左側4見出しマグネットを各領域の中央へ。
   5.9.2の文字サイズ・余白は維持。
   ========================================================= */

.blackboard-v2__next>h4{
  justify-self:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

.blackboard-v2__calendar-nav h4{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

.blackboard-v2__event-list>h4{
  align-self:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
.blackboard-v2__event-list>h4>span{
  text-align:center!important;
}

@media(max-width:700px){
  .blackboard-v2__next>h4,
  .blackboard-v2__calendar-nav h4,
  .blackboard-v2__event-list>h4{
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
}


/* =========================================================
   v5.9.4 — MOBILE MAGNET UNIFORMITY ONLY
   スマホの4見出しを「見た目」で同サイズ・同余白・中央配置に固定。
   注記「※店舗はおやすみです。」は対象外。
   ========================================================= */
@media(max-width:700px){

  /* 4枚とも外形の基準を統一 */
  .blackboard-v2__next>h4,
  .blackboard-v2__calendar-nav h4,
  .blackboard-v2__event-list>h4{
    box-sizing:border-box!important;
    width:max-content!important;
    max-width:calc(100% - 20px)!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:6px 10px!important;
    line-height:1!important;
    text-align:center!important;
    transform:none!important;
  }

  /* h4直書きの2枚 */
  .blackboard-v2__next>h4,
  .blackboard-v2__calendar-nav h4{
    font-size:18px!important;
    font-weight:900!important;
  }

  /* span内に文字があるイベント2枚 */
  .blackboard-v2__event-list>h4>span{
    display:block!important;
    margin:0!important;
    padding:0!important;
    font-size:18px!important;
    font-weight:900!important;
    line-height:1!important;
    text-align:center!important;
    transform:none!important;
  }

  /* 見出し内の注記は既存サイズを維持し、タイトル統一の対象にしない */
  .blackboard-v2__event-list>h4>small{
    flex-basis:100%!important;
  }
}


/* =========================================================
   v5.9.5 — MOBILE MAGNET FINAL OVERRIDE
   実際に競合していた高優先度セレクタを上書き。
   スマホ4見出し：同サイズ / 同余白 / 中央配置。
   ※店舗はおやすみです。はサイズ統一対象外。
   ========================================================= */
@media(max-width:700px){

  /* 次回営業・カレンダー */
  .blackboard-v2 .blackboard-v2__next>h4,
  .blackboard-v2 .blackboard-v2__calendar-nav h4{
    display:block!important;
    box-sizing:border-box!important;
    width:max-content!important;
    max-width:calc(100% - 20px)!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0 auto 5px!important;
    padding:6px 10px!important;
    font-family:sans-serif!important;
    font-size:18px!important;
    font-weight:900!important;
    line-height:1!important;
    text-align:center!important;
    white-space:nowrap!important;
    transform:none!important;
  }

  /* 出張・店舗イベント：
     過去の width:100% !important より高い優先度で上書き */
  .blackboard-v2 .blackboard-v2__events .blackboard-v2__event-list>h4{
    display:grid!important;
    grid-template-columns:max-content!important;
    justify-content:center!important;
    justify-items:center!important;
    box-sizing:border-box!important;
    width:max-content!important;
    max-width:calc(100% - 20px)!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0 auto 5px!important;
    padding:6px 10px!important;
    gap:2px!important;
    font-family:sans-serif!important;
    font-size:18px!important;
    font-weight:900!important;
    line-height:1!important;
    text-align:center!important;
    transform:none!important;
  }

  .blackboard-v2 .blackboard-v2__events .blackboard-v2__event-list>h4>span{
    display:block!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    font-family:sans-serif!important;
    font-size:18px!important;
    font-weight:900!important;
    line-height:1!important;
    text-align:center!important;
    white-space:nowrap!important;
    transform:none!important;
  }

  /* 注記は別扱い。既存の赤・サイズを維持しつつ見出し内2段目へ。 */
  .blackboard-v2 .blackboard-v2__events .blackboard-v2__event-list>h4>small{
    display:block!important;
    width:100%!important;
    margin:2px 0 0!important;
    padding:0!important;
    text-align:right!important;
    transform:none!important;
  }
}


/* v5.9.6 — event detail/application + precise event magnet centering */
.blackboard-v2__events{align-items:start!important}
.blackboard-v2__event-list>h4{
  justify-self:center!important;
  align-self:start!important;
  width:max-content!important;
  max-width:calc(100% - 20px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.blackboard-v2__event-row{
  width:100%; border:0; background:transparent; color:inherit; font:inherit; text-align:inherit; cursor:pointer;
}
.blackboard-v2__day-detail small.is-location{opacity:.9}
.blackboard-v2__event-dialog{
  max-width:min(520px,calc(100vw - 28px)); width:100%; border:3px solid #f7f2df; border-radius:6px;
  background:#173f35; color:#fffdf0; padding:26px; box-shadow:0 18px 60px #0009;
}
.blackboard-v2__event-dialog::backdrop{background:#0009}
.blackboard-v2__event-dialog h3{margin:8px 0}
.blackboard-v2__dialog-close{position:absolute;right:8px;top:7px;border:0;background:transparent;color:#fff;font-size:25px;cursor:pointer}
.entrance-event-apply{display:grid;gap:8px;margin-top:18px;padding-top:14px;border-top:1px dashed #fff8}
.entrance-event-apply label{display:grid;gap:3px;font-size:13px}
.entrance-event-apply input{padding:8px;border:1px solid #fff8;background:#fff;color:#222}
.entrance-event-apply button{padding:9px 12px;font-weight:900;cursor:pointer}
.entrance-event-apply__gate,.entrance-event-apply__done{margin-top:15px;padding:10px;border:1px dashed #fff8}


/* Compact event application form. */
.entrance-event-apply{display:grid!important;gap:6px!important;margin-top:9px!important;padding-top:9px!important}
.entrance-event-apply__comment{gap:3px!important;margin:0!important}
.entrance-event-apply__comment span{font-size:11px;opacity:.65;margin-left:4px}
.entrance-event-apply textarea{box-sizing:border-box;width:100%;min-height:50px;resize:vertical;padding:6px 8px;border:1px solid #fff8;background:#fff;color:#222;font:inherit}
.entrance-event-apply button{margin:0!important;padding:8px 12px!important;font-weight:900}
.entrance-event-apply__gate,.entrance-event-apply__done{margin-top:8px!important;padding:8px 10px!important}


/* Guest reservation choices. */
.entrance-event-apply__guest-actions{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px;padding-top:9px;border-top:1px dashed #fff8;
}
.entrance-event-apply__guest-actions a{
  display:flex;align-items:center;justify-content:center;min-height:38px;padding:7px 9px;
  border:1px solid #f7f2df;background:#f7f2df;color:#173f35;text-decoration:none;
  font-weight:900;text-align:center;line-height:1.12;
}
@media(max-width:520px){.entrance-event-apply__guest-actions{grid-template-columns:1fr}}


.blackboard-v2__event-dialog .entrance-event-apply{gap:5px!important;margin-top:8px!important;padding-top:8px!important}
.blackboard-v2__event-dialog .entrance-event-apply textarea{min-height:46px!important}
.blackboard-v2__event-dialog .entrance-event-apply__guest-actions{gap:7px!important;margin-top:8px!important;padding-top:8px!important}


/* =========================================================
   v5.9.11 — calendar detail: true normal-line-break spacing
   ========================================================= */

/* When visible, make the detail a zero-gap vertical stack. */
@media(hover:hover){
  .blackboard-v2__calendar-day:hover .blackboard-v2__day-detail,
  .blackboard-v2__calendar-day:focus .blackboard-v2__day-detail{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
  }
}
.blackboard-v2__calendar-day.is-expanded .blackboard-v2__day-detail{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
}

/* Event reservation CTA should be obvious, compact, and usable. */
.blackboard-v2__event-dialog .entrance-event-apply__guest-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  margin:8px 0 0!important;
  padding:8px 0 0!important;
  border-top:1px dashed #ffffff70!important;
}
.blackboard-v2__event-dialog .entrance-event-apply__guest-actions a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:8px 10px!important;
  background:#fff7df!important;
  color:#173f35!important;
  border:2px solid #fff7df!important;
  text-decoration:none!important;
  font-weight:900!important;
  text-align:center!important;
}
.blackboard-v2__event-dialog .entrance-event-apply{
  display:grid!important;
  gap:5px!important;
  margin:8px 0 0!important;
  padding:8px 0 0!important;
  border-top:1px dashed #ffffff70!important;
}
.blackboard-v2__event-dialog .entrance-event-apply__comment{
  margin:0!important;
}
.blackboard-v2__event-dialog .entrance-event-apply textarea{
  min-height:46px!important;
  margin:2px 0 0!important;
}
.blackboard-v2__event-dialog .entrance-event-apply button{
  margin:0!important;
  padding:8px 12px!important;
}
@media(max-width:520px){
  .blackboard-v2__event-dialog .entrance-event-apply__guest-actions{
    grid-template-columns:1fr!important;
  }
}

.blackboard-v2__event-reservation{
  margin-top:8px;
  padding-top:8px;
  border-top:1px dashed #ffffff70;
}
.blackboard-v2__event-reservation>strong{
  display:block;
  margin:0 0 4px;
  color:#fffdf0;
}
.blackboard-v2__event-reservation .entrance-event-apply,
.blackboard-v2__event-reservation .entrance-event-apply__guest-actions{
  border-top:0!important;
  padding-top:0!important;
  margin-top:4px!important;
}


/* Reservation immediately follows the event information. */
.blackboard-v2__event-reservation{
  margin-top:7px!important;
  padding-top:7px!important;
}
.blackboard-v2__event-reservation > strong{
  display:block!important;
  margin:0 0 4px!important;
  padding:0!important;
  line-height:1.12!important;
}
.blackboard-v2__event-reservation .entrance-event-apply,
.blackboard-v2__event-reservation .entrance-event-apply__guest-actions,
.blackboard-v2__event-reservation .entrance-event-apply__gate,
.blackboard-v2__event-reservation .entrance-event-apply__done{
  margin-top:4px!important;
}

/* Logged-out: two explicit reservation paths. */
.blackboard-v2__event-reservation .entrance-event-apply__guest-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  padding:0!important;
  border-top:0!important;
}
.blackboard-v2__event-reservation .entrance-event-apply__guest-actions a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:8px 10px!important;
  background:#fff7df!important;
  color:#173f35!important;
  border:2px solid #fff7df!important;
  text-decoration:none!important;
  font-weight:900!important;
  text-align:center!important;
  line-height:1.15!important;
}

/* Paid member: comment + reserve button, compact. */
.blackboard-v2__event-reservation .entrance-event-apply{
  display:grid!important;
  gap:6px!important;
  padding:0!important;
  border-top:0!important;
}
.blackboard-v2__event-reservation .entrance-event-apply__comment{
  display:grid!important;
  gap:3px!important;
  margin:0!important;
}
.blackboard-v2__event-reservation .entrance-event-apply textarea{
  box-sizing:border-box!important;
  width:100%!important;
  min-height:52px!important;
  margin:0!important;
  padding:7px 8px!important;
}
.blackboard-v2__event-reservation .entrance-event-apply button{
  margin:0!important;
  padding:9px 12px!important;
  font-weight:900!important;
}

@media(max-width:520px){
  .blackboard-v2__event-reservation .entrance-event-apply__guest-actions{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   v5.9.13 — ACTUAL EVENT DIALOG FIX
   Isolate event lines from dialog/global layout so spacing cannot expand.
   ========================================================= */
.blackboard-v2__event-dialog{
  display:block!important;
  height:auto!important;
  min-height:0!important;
  max-height:88vh!important;
  overflow:auto!important;
  padding:20px 22px!important;
}

.blackboard-v2__event-dialog-lines{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:0!important;
  margin:0!important;
  padding:0!important;
}

.blackboard-v2__event-dialog-lines > strong,
.blackboard-v2__event-dialog-lines > em,
.blackboard-v2__event-dialog-lines > h3,
.blackboard-v2__event-dialog-lines > p{
  display:block!important;
  margin:0!important;
  padding:0!important;
  min-height:0!important;
  line-height:1.12!important;
}

.blackboard-v2__event-dialog-lines > strong{margin-bottom:3px!important}
.blackboard-v2__event-dialog-lines > em{margin-bottom:3px!important}
.blackboard-v2__event-dialog-lines > h3{margin-bottom:2px!important}
.blackboard-v2__event-dialog-lines > p{margin-bottom:0!important}

.blackboard-v2__event-reservation{
  margin:8px 0 0!important;
  padding:8px 0 0!important;
  border-top:1px dashed #ffffff70!important;
}
.blackboard-v2__event-reservation > strong{
  display:block!important;
  margin:0 0 5px!important;
  padding:0!important;
  line-height:1.12!important;
}


/* Event preview rows are now links, but keep the existing blackboard appearance. */
.blackboard-v2 a.blackboard-v2__event-row{
  display:block;
  color:inherit;
  text-decoration:none;
}


/* =========================================================
   v5.9.15 — ACTUAL calendar detail + legacy × removal
   Detail is one text-flow with <br>, so spacing is ordinary
   line-break spacing regardless of older flex/grid rules.
   ========================================================= */
.blackboard-v2 .blackboard-v2__day-detail{
  padding:8px 10px!important;
}
.blackboard-v2 .blackboard-v2__day-detail-lines{
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-size:13px!important;
  line-height:1.16!important;
  text-align:left!important;
  white-space:normal!important;
}
.blackboard-v2 .blackboard-v2__day-detail-lines>strong,
.blackboard-v2 .blackboard-v2__day-detail-lines>em,
.blackboard-v2 .blackboard-v2__day-detail-lines>small{
  display:inline!important;
  margin:0!important;
  padding:0!important;
  line-height:inherit!important;
  min-height:0!important;
}
.blackboard-v2 .blackboard-v2__day-detail-lines>em{
  font-style:normal!important;
}
.blackboard-v2 .blackboard-v2__day-detail-lines>em.is-open{color:#fffdf0!important}
.blackboard-v2 .blackboard-v2__day-detail-lines>em.is-short{color:#ffe04f!important}
.blackboard-v2 .blackboard-v2__day-detail-lines>em.is-closed{color:#ef615e!important}
.blackboard-v2 .blackboard-v2__day-detail-lines>em.is-store-event{color:#55bfe8!important}
.blackboard-v2 .blackboard-v2__day-detail-lines>em.is-expedition{color:#b86de2!important}
.blackboard-v2 .blackboard-v2__day-detail-lines>small.is-event-name{font-weight:900!important}
.blackboard-v2 .blackboard-v2__day-detail .blackboard-v2__tcy,
.blackboard-v2 .blackboard-v2__event-dialog .blackboard-v2__tcy{
  display:inline-block!important;
  text-combine-upright:all!important;
  -webkit-text-combine:horizontal!important;
  white-space:nowrap!important;
}

/* Old closed-day × existed as :after in the original stylesheet. Kill both pseudo-elements. */
.blackboard-v2 .blackboard-v2__calendar .blackboard-v2__calendar-day.is-closed::after,
.blackboard-v2 .blackboard-v2__calendar .blackboard-v2__calendar-day.is-closed:after,
.blackboard-v2 .blackboard-v2__calendar .blackboard-v2__calendar-day.is-closed::before,
.blackboard-v2 .blackboard-v2__calendar .blackboard-v2__calendar-day.is-closed:before{
  content:none!important;
  display:none!important;
}

/* v5.9.17 — detail × removal and one event-colour system across the board. */
.blackboard-v2{
  --blackboard-store-event:#8fdcf2;
  --blackboard-expedition:#d5a6f2;
}
.blackboard-v2 .blackboard-v2__day-detail-lines>em.is-closed::after,
.blackboard-v2 .blackboard-v2__day-detail-lines>em.is-closed:after{
  content:none!important;
  display:none!important;
}
.blackboard-v2 .blackboard-v2__legend-row.is-status>span{
  gap:0!important;
}
.blackboard-v2 .blackboard-v2__legend-row.is-status>span.is-status-open{color:#fffdf0!important}
.blackboard-v2 .blackboard-v2__legend-row.is-status>span.is-status-closed{color:#ef615e!important}
.blackboard-v2 .blackboard-v2__legend-row.is-status>span.is-status-short{color:#ffe04f!important}

.blackboard-v2 .blackboard-v2__calendar-markers>.is-store-event,
.blackboard-v2 .blackboard-v2__legend-row.is-event i.is-store-event:before,
.blackboard-v2 .blackboard-v2__opening.is-store-event .blackboard-v2__opening-trigger>span:before,
.blackboard-v2 .blackboard-v2__event-list.is-store-event-panel .blackboard-v2__event-when>time:before{
  background:var(--blackboard-store-event)!important;
}
.blackboard-v2 .blackboard-v2__calendar-markers>.is-expedition,
.blackboard-v2 .blackboard-v2__legend-row.is-event i.is-expedition:before,
.blackboard-v2 .blackboard-v2__event-list.is-expedition-panel .blackboard-v2__event-when>time:before{
  background:var(--blackboard-expedition)!important;
}
.blackboard-v2 .blackboard-v2__day-detail em.is-store-event,
.blackboard-v2 .blackboard-v2__day-detail-lines>em.is-store-event,
.blackboard-v2 .blackboard-v2__event-dialog em.is-store-event{
  color:var(--blackboard-store-event)!important;
}
.blackboard-v2 .blackboard-v2__day-detail em.is-expedition,
.blackboard-v2 .blackboard-v2__day-detail-lines>em.is-expedition,
.blackboard-v2 .blackboard-v2__event-dialog em.is-expedition{
  color:var(--blackboard-expedition)!important;
}

/* v7.4.0 ポケカ発売日：営業状態や凡例とは分離し、日付だけをハザード速度で点滅。 */
.blackboard-v2 .blackboard-v2__calendar-day.has-release>b{
  color:#ff91bd!important;
  text-shadow:0 0 5px rgba(255,91,157,.92),1px 1px 1px #071d18!important;
  animation:entrance-release-hazard 1.05s steps(1,end) infinite!important;
}
.blackboard-v2 .blackboard-v2__day-detail-lines>em.is-release{
  color:#ff91bd!important;
}
@keyframes entrance-release-hazard{
  0%,49%{color:#ff91bd;text-shadow:0 0 6px rgba(255,91,157,.96),1px 1px 1px #071d18}
  50%,100%{color:#d9568d;text-shadow:1px 1px 1px #071d18;opacity:.72}
}
@media(prefers-reduced-motion:reduce){
  .blackboard-v2 .blackboard-v2__calendar-day.has-release>b{animation:none!important}
}

/* v7.4.2: 実スマホでは親の横スワイプより黒板内の操作を優先する。 */
.blackboard-v2__calendar-nav button,
.blackboard-v2 .visit-plans button,
.blackboard-v2 .visit-plans input,
.blackboard-v2 .visit-plans select,
.blackboard-v2 .visit-plans label,
.blackboard-v2 .visit-plans__popover{
  touch-action:manipulation;
}
.blackboard-v2 .blackboard-v2__events .blackboard-v2__event-list>h4{
  display:grid!important;
  width:max-content!important;
  max-width:calc(100% - 20px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  justify-items:center!important;
}
@media (min-width:701px){
  .blackboard-v2 .blackboard-v2__events>.blackboard-v2__event-list:first-child>h4{
    position:relative!important;
    left:7px!important;
  }
  .blackboard-v2 .blackboard-v2__events>.blackboard-v2__event-list+ .blackboard-v2__event-list>h4{
    position:relative!important;
    left:-7px!important;
  }
}
.blackboard-v2 .blackboard-v2__next article:last-of-type .blackboard-v2__opening-trigger::after,
.blackboard-v2 .blackboard-v2__next article:last-of-type .blackboard-v2__opening-trigger:after{
  top:auto!important;
  bottom:calc(100% + 5px)!important;
}

/* v6.6.5 current-store status */
.blackboard-v2__magnet.is-planned,
.blackboard-v2__magnet.is-ended{
	background:#171717!important;
	color:#fff!important;
	border-color:#eee!important;
}

/* v6.6.6 — 管理画面から貼る「早仕舞い」マグネット。 */
.blackboard-v2__early-close-magnet{
	position:absolute!important;
	z-index:5!important;
	top:9px!important;
	left:-7px!important;
	display:block!important;
	padding:11px 7px!important;
	border:2px solid #7e1717!important;
	border-radius:0!important;
	background:#e54842!important;
	color:#111!important;
	font:400 23px/1.05 "Noto Sans JP","Yu Gothic",sans-serif!important;
	writing-mode:vertical-rl!important;
	text-orientation:upright!important;
	box-shadow:3px 4px 0 #0008!important;
	transform:rotate(-5deg)!important;
}
.blackboard-v2__early-close-magnet[hidden]{display:none!important}

/* v6.6.8 — 本日イベントは極小化せず、縦方向に折り返して読ませる。 */
.blackboard-v2__today-event,
.blackboard-v2__right{overflow:visible!important}
.blackboard-v2__today-event .blackboard-v2__expandable>i{
  max-width:100%!important;
  white-space:normal!important;
  word-break:break-all!important;
  overflow-wrap:anywhere!important;
}
.blackboard-v2__today-event .blackboard-v2__expandable>i>.blackboard-v2__event-name{
  white-space:normal!important;
  word-break:break-all!important;
  overflow-wrap:anywhere!important;
  line-height:1.08!important;
}
/* 一覧では名称を優先。時間は読みやすい詳細カードへ移す。 */
.blackboard-v2__today-event .blackboard-v2__expandable>i>.blackboard-v2__event-time{display:none!important}
.blackboard-v2__today-event .blackboard-v2__expandable.has-overflow:hover,
.blackboard-v2__today-event .blackboard-v2__expandable.has-overflow:focus,
.blackboard-v2__today-event .blackboard-v2__expandable.is-full-visible{overflow:visible!important}
.blackboard-v2__today-event-full{
  inset:0 calc(100% + 10px) auto auto!important;
  width:min(380px,60vw)!important;
  height:auto!important;
  min-height:0!important;
  max-height:220px!important;
  padding:12px 14px!important;
  overflow:auto!important;
  border:2px solid #f7f2df!important;
  background:#173f35!important;
  color:#fffdf0!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  box-shadow:5px 6px 0 #0009!important;
}
.blackboard-v2__today-event-full>i{
  display:flex!important;
  float:none!important;
  align-items:baseline!important;
  gap:.65em!important;
  margin:0!important;
  padding:4px 0!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  white-space:normal!important;
  word-break:normal!important;
}
.blackboard-v2__today-event-full>i+ i{border-top:1px dashed #fff7!important}
.blackboard-v2__today-event-full .blackboard-v2__event-name{
  display:inline!important;
  flex:1 1 auto!important;
  font-size:16px!important;
  line-height:1.45!important;
  white-space:normal!important;
  word-break:normal!important;
}
.blackboard-v2__today-event-full .blackboard-v2__event-time{
  display:inline!important;
  flex:0 0 auto!important;
  margin:0!important;
  font-size:14px!important;
  line-height:1.45!important;
  white-space:nowrap!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
}
.blackboard-v2__today-event-full .blackboard-v2__tcy{
  display:inline!important;
  text-combine-upright:none!important;
  -webkit-text-combine:horizontal!important;
}
@media(max-width:700px){
  .blackboard-v2__today-event-full{
    position:fixed!important;
    inset:50% auto auto 50%!important;
    width:min(320px,calc(100vw - 32px))!important;
    transform:translate(-50%,-50%)!important;
  }
}

/* v7.5.0 PC：来店者欄をイベント側へ寄せ、両ブロック間の空きを詰める。 */
@media(min-width:701px){
  .blackboard-v2__right{
    column-gap:6px!important;
  }
  .blackboard-v2__visitors{
    justify-content:flex-start!important;
    transform:none!important;
  }
}

/* v7.7.1 PC配分：黒板の左右を正確に二等分し、各半面を使い切る。 */
@media(min-width:701px){
	.blackboard-v2__surface{
		grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
		grid-template-areas:"left right"!important;
		column-gap:28px!important;
	}
	.blackboard-v2__left{
		transform:none!important;
		width:100%!important;
		min-width:0!important;
	}
	.blackboard-v2__upper{
		grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;
		column-gap:18px!important;
	}
	.blackboard-v2__events{
		grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
		column-gap:0!important;
	}
	.blackboard-v2__events>.blackboard-v2__event-list:first-child{
		padding-right:14px!important;
	}
	.blackboard-v2__events>.blackboard-v2__event-list+ .blackboard-v2__event-list{
		padding-left:14px!important;
	}
	.blackboard-v2__right{
		grid-template-columns:minmax(185px,1fr) 118px minmax(185px,205px) 68px 78px!important;
		grid-template-rows:270px minmax(0,1fr)!important;
		grid-template-areas:"visitors event status meta title" "visitors event quote meta title"!important;
		column-gap:9px!important;
		row-gap:10px!important;
		width:100%!important;
		min-width:0!important;
		padding-right:0!important;
	}
	.blackboard-v2__visitors{
		/* row-reverse の flex-end は左寄せになる。左右端の中間へ正しく寄せる。 */
		justify-content:center!important;
		transform:none!important;
		min-width:0!important;
	}
	.blackboard-v2__today-event{
		min-width:0!important;
	}
}
