/* 0.2.28から移したお知らせスライダーの表示 */
.updates-section{padding-top:54px;padding-bottom:58px;background:linear-gradient(180deg,#f7fbff 0%,#fff 100%);overflow:hidden}
.updates-head{display:grid;grid-template-columns:1fr minmax(320px,.7fr);gap:54px;align-items:end}
.updates-head>p{margin:0 0 9px;max-width:520px;font-size:14px;line-height:1.9;color:#66748a}
.notice-slider{margin-top:28px;overflow:hidden}
.notice-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:3px 1px 18px;scroll-behavior:smooth}
.notice-track::-webkit-scrollbar{display:none}
.notice-card{flex:0 0 min(360px,78vw);scroll-snap-align:start;min-height:158px;border-radius:24px;padding:21px 22px;background:#fff;box-shadow:0 16px 42px rgba(15,63,116,.08);border:1px solid rgba(11,63,135,.08);position:relative}
.notice-card small{font:900 10px/1 "Zen Kaku Gothic New",sans-serif;color:var(--orange);letter-spacing:.12em}
.notice-card strong{display:block;margin-top:15px;font:900 20px/1.4 "Zen Kaku Gothic New",sans-serif;color:var(--navy)}
.notice-card p{margin:9px 44px 0 0;font-size:12px;line-height:1.7;color:#67758a;max-width:265px}
.notice-card>span{position:absolute;right:22px;bottom:20px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:900}
.notice-dots{display:flex;justify-content:center;gap:7px;margin-top:2px}
.notice-dots i{display:block;width:7px;height:7px;border-radius:50%;background:rgba(11,63,135,.22);transition:.25s}
.notice-dots i.is-active{width:24px;border-radius:999px;background:var(--orange)}
.updates-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:14px;margin-top:24px}
.news-panel,.instagram-panel{border-radius:20px;background:#fff;border:1px solid rgba(11,63,135,.08);box-shadow:0 18px 48px rgba(17,70,124,.07);padding:20px 22px}
.updates-panel-head{display:flex;align-items:baseline;gap:13px;padding-bottom:14px;border-bottom:1px solid rgba(11,63,135,.08)}
.updates-panel-head strong{font:900 13px/1 "Zen Kaku Gothic New",sans-serif;color:var(--navy);letter-spacing:.11em}
.updates-panel-head span{font-size:11px;color:#7c8899}
.instagram-panel>p{font-size:11px;color:#7a8798;margin:10px 0 0}
.updates-head>p,.notice-card p,.stage-intro p,.concept-copy p,.process-head p,.stance-lead,.stance-note,.section-lead,.future-copy p,.profile-head .section-lead,.profile-story p,.profile-note p{text-wrap:pretty;word-break:normal;overflow-wrap:anywhere}
@media(min-width:901px){.updates-head>p{max-width:33em}}
@media(max-width:900px){.updates-head{grid-template-columns:1fr;gap:20px}.updates-grid{grid-template-columns:1fr}}
@media(max-width:700px){.updates-section{padding:42px 16px 46px}.updates-head{display:block}.updates-head .section-title{font-size:29px;line-height:1.28}.updates-head>p{margin-top:10px;font-size:14px;line-height:1.7}.notice-slider{margin-top:22px}.notice-card{flex-basis:78vw;min-height:136px;padding:18px;border-radius:19px}.notice-card strong{font-size:18px}.notice-card p{font-size:13px;line-height:1.6;margin-top:7px}.updates-grid{margin-top:16px;gap:10px}.news-panel,.instagram-panel{padding:16px;border-radius:17px}.instagram-panel p{font-size:10px;margin-top:8px}}
.updates-head>p,.notice-card p,.stage-intro p,.concept-copy p,.process-head p,.stance-lead,.stance-note,.stance-step p,.future .section-lead,.future-copy p,.profile-head .section-lead,.profile-story p,.profile-note p,.news-row span,.stage-desc,.bottom-copy strong,.bottom-copy span{text-wrap:pretty;word-break:normal;overflow-wrap:break-word}
@supports (word-break:auto-phrase){.updates-head>p,.notice-card p,.stage-intro p,.concept-copy p,.process-head p,.stance-lead,.stance-note,.stance-step p,.future .section-lead,.future-copy p,.profile-head .section-lead,.profile-story p,.profile-note p,.news-row span,.stage-desc,.bottom-copy strong,.bottom-copy span{word-break:auto-phrase;overflow-wrap:normal}}
#updates, #stage, #concept, #process, #stance, #future, #profile, #family, #info, #contact, #faq, #document-request{ scroll-margin-top: 120px; }
.updates-contact{ text-align: center; margin-top: 16px; }
.updates-contact p{ margin: 0 auto 16px; max-width: 40em; color: #334861; font-size: 15px; line-height: 1.8; }
.updates-contact a{ display: inline-flex; padding: 12px 20px; border: 1px solid #0b3f87; border-radius: 999px; color: #0b3f87; font-size: 15px; font-weight: 700; text-decoration: none; }
.notice-slider{ width: 100%; max-width: 850px; margin: 28px auto 0; }
.notice-card{ flex: 0 0 100%; min-height: 250px; padding-bottom: 72px; }
.notice-meta{ display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.notice-meta time{ color: #5b6d80; font-size: 12px; font-weight: 700; white-space: nowrap; }
.notice-card strong{ margin-top: 18px; }
.notice-card strong a{ color: inherit; text-decoration: none; }
.notice-card strong a:hover{ text-decoration: underline; }
.notice-card p{ display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; margin-right: 0; color: #334861; font-size: 13px; }
.notice-card.has-image strong, .notice-card.has-image p{ padding-right: 82px; }
.notice-image{ position: absolute; right: 18px; top: 56px; width: 70px; height: 70px; border-radius: 12px; object-fit: cover; }
.notice-card-actions{ position: absolute; left: 22px; right: 22px; bottom: 18px; display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; border-top: 1px solid #e1eaf1; padding-top: 11px; }
.notice-card-actions a{ color: #0b3f87; font-size: 12px; font-weight: 800; text-decoration: none; }
.notice-card-actions a:hover{ text-decoration: underline; }
.notice-card a:focus-visible{ outline: 3px solid #ef7d12; outline-offset: 3px; }
.notice-controls{ display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 5px; }
.notice-nav{ width: 44px; height: 44px; flex: 0 0 44px; display: grid; place-items: center; border: 1px solid #b5cce0; border-radius: 50%; background: #fff; color: #0b3f87; font-size: 20px; font-weight: 700; cursor: pointer; }
.notice-dots{ display: flex; align-items: center; gap: 5px; margin: 0; }
.notice-dot{ width: 32px; height: 44px; display: grid; place-items: center; border: 0; background: transparent; cursor: pointer; }
.notice-dot::after{ content: ""; display: block; width: 8px; height: 8px; border-radius: 999px; background: #a7bdcf; transition: width .2s ease, background-color .2s ease; }
.notice-dot.is-active::after{ width: 22px; background: #e17412; }
.notice-nav:focus-visible, .notice-dot:focus-visible{ outline: 3px solid #ef7d12; outline-offset: 3px; }
.updates-grid.instagram-only{ grid-template-columns: 1fr; }
.instagram-only .instagram-panel p{ color: #334861; font-size: 14px; line-height: 1.75; }
.notice-track:focus-visible, .updates-contact a:focus-visible{ outline: 3px solid #ef7d12; outline-offset: 3px; }
.instagram-panel a{ display: inline-block; margin-top: 14px; color: #0b3f87; font-size: 15px; font-weight: 700; }
@media (max-width: 700px){.notice-slider{ margin-top: 22px; }.notice-card{ flex-basis: 100%; min-height: 228px; padding-bottom: 72px; }.notice-card.has-image strong, .notice-card.has-image p{ padding-right: 64px; }.notice-image{ right: 14px; width: 56px; height: 56px; }.notice-card-actions{ left: 18px; right: 18px; bottom: 16px; }.updates-contact p{ font-size: 14px; }#updates, #stage, #concept, #process, #stance, #future, #profile, #family, #info, #contact, #faq, #document-request{ scroll-margin-top: 84px; }}
@media (prefers-reduced-motion: reduce){.notice-dot::after{ transition: none; }html, .notice-track{ scroll-behavior: auto; }.notice-track{ scroll-snap-type: none; }}
