/* coremeo拡張LPと既存ページの案内カード。既存サイトへの影響をクラス内に限定する。 */
.ms-extension-page{margin:0;background:#f8f9fa;color:#2b2d42;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;font-size:16px;line-height:1.8}
.ms-extension-page *, .ms-ext-entry *{box-sizing:border-box}
.ms-extension-page :focus-visible,.ms-ext-entry :focus-visible{outline:3px solid #086d65;outline-offset:5px}
.ms-ext{--ext-accent:#087a70;--ext-ink:#2b2d42;--ext-line:#dce5e5;margin:0 auto;max-width:1180px;padding:0 32px}
.ms-ext a{color:var(--ext-accent);text-underline-offset:.2em}
.ms-ext h1,.ms-ext h2,.ms-ext h3{color:var(--ext-ink);background:none;border:0;padding:0;line-height:1.4;letter-spacing:-.025em}
.ms-ext h1{font-size:clamp(2.15rem,4.6vw,3.9rem);margin:16px 0 24px;font-weight:750}
.ms-ext h2{font-size:clamp(1.65rem,3vw,2.5rem);margin:0 0 24px}
.ms-ext h3{font-size:1.2rem;margin:0 0 12px}
.ms-ext p{margin:0 0 20px;font-size:1rem}
.ms-ext .wp-block-group{margin-top:0;margin-bottom:0}
.ms-ext .ms-ext__nav{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:24px 0;border-bottom:1px solid var(--ext-line)}
.ms-ext__brand{font-size:1.65rem;font-weight:750;text-decoration:none}
.ms-ext__nav nav{display:flex;gap:24px;align-items:center;flex-wrap:wrap;font-size:.9rem}
.ms-ext .ms-ext__hero{padding:64px 0 56px;display:grid;grid-template-columns:1.05fr 1fr;gap:44px;align-items:center}
.ms-ext .ms-ext__eyebrow{color:var(--ext-accent);font-weight:700;letter-spacing:.07em;font-size:.9rem;margin-bottom:10px}
.ms-ext .ms-ext__lead{font-size:1.1rem}
.ms-ext .ms-ext__intro{padding:48px 0 56px;border-bottom:1px solid var(--ext-line)}
.ms-ext__intro h1{max-width:1000px}
.ms-ext__intro .ms-ext__lead{max-width:800px;margin-bottom:28px}
.ms-ext__intro .ms-ext__card h2{font-size:1.2rem;margin:0 0 12px}
.ms-ext .ms-ext__floating-cta{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:9990;max-width:calc(100vw - 32px)}
.ms-ext__floating-cta .wp-block-buttons{margin:0}
.ms-ext__floating-cta .wp-block-button__link{box-shadow:0 6px 24px rgba(0,0,0,.18)}
/* Cookieの選択中はCTAを隠し、選択用ボタンと重ならないようにする。 */
body:has(#ms-cc.show) .ms-ext__floating-cta{visibility:hidden}
.ms-ext .ms-ext__note{font-size:.875rem;color:#515666;margin-top:16px}
.ms-ext .wp-block-buttons,.ms-ext-entry .wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 12px}
.ms-ext .wp-block-button__link,.ms-ext-entry .wp-block-button__link{display:inline-block;min-height:48px;background:#087a70;color:#fff;border:2px solid #087a70;border-radius:8px;padding:12px 22px;text-decoration:none;font-weight:700;font-size:1rem;line-height:1.6;text-align:center}
.ms-ext .wp-block-button__link:hover,.ms-ext-entry .wp-block-button__link:hover{background:#075d56;border-color:#075d56;color:#fff}
.ms-ext .is-style-outline .wp-block-button__link,.ms-ext-entry .is-style-outline .wp-block-button__link{background:transparent;color:#086d65;border-color:#087a70}
.ms-ext figure{margin:0}
.ms-ext img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--ext-line)}
.ms-ext figcaption{font-size:.875rem;line-height:1.6;color:#515666;margin-top:12px}
/* SWELLのキャプション既定色より優先し、小さい説明文でもWCAG AAのコントラストを確保する。 */
.ms-ext figure.wp-block-image figcaption.wp-element-caption{color:#515666!important;opacity:1}
.ms-ext .ms-ext__section{padding:64px 0;border-top:1px solid var(--ext-line);scroll-margin-top:24px}
.ms-ext .ms-ext__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ms-ext .ms-ext__card{padding:28px;background:#fff;border:1px solid var(--ext-line);border-radius:12px}
.ms-ext .ms-ext__card p:last-child{margin-bottom:0}
.ms-ext .ms-ext__callout{margin:24px 0;padding:24px;border-left:4px solid #0f9b8e;background:#eaf5f3;border-radius:0 8px 8px 0}
.ms-ext .wp-block-table{overflow-x:auto;margin:24px 0;max-width:100%;border:1px solid var(--ext-line);border-radius:10px;background:#fff}
.ms-ext table{border-collapse:collapse;min-width:620px;width:100%;font-size:1rem;line-height:1.6}
.ms-ext th,.ms-ext td{border:0;border-bottom:1px solid var(--ext-line);padding:18px 16px;text-align:left;vertical-align:top;background:transparent;color:#2b2d42}
.ms-ext thead th{background:#eaf5f3;font-weight:750}
.ms-ext tbody th{font-weight:600;width:28%}
.ms-ext details{border-bottom:1px solid var(--ext-line);padding:22px 0}
.ms-ext summary{cursor:pointer;font-weight:650;padding-right:12px}
.ms-ext details p{margin:16px 0 0}
.ms-ext .ms-ext__footer{padding:32px 0 140px;border-top:1px solid var(--ext-line);font-size:.875rem}
.ms-ext__footer nav{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.ms-ext .ms-ext__footer p{font-size:.875rem}
.ms-ext__skip{position:absolute;left:16px;top:-200px;background:white;z-index:100000;padding:12px}
.ms-ext__skip:focus{top:16px}
.ms-ext-entry{max-width:1120px;margin:32px auto;padding:28px 32px;background:#eaf5f3;border:1px solid #b8dcd7;border-radius:12px;color:#2b2d42}
.ms-ext-entry h2{font-size:1.5rem;line-height:1.5;color:#2b2d42;background:none;border:0;padding:0;margin:0 0 12px}
.ms-ext-entry p{font-size:1rem;line-height:1.8;margin:0 0 12px}
@media(max-width:780px){.ms-ext{padding:0 20px}.ms-ext .ms-ext__hero{grid-template-columns:1fr;padding:36px 0;gap:28px}.ms-ext .ms-ext__section{padding:40px 0}.ms-ext .ms-ext__grid{grid-template-columns:1fr}.ms-ext .ms-ext__nav{padding:18px 0;gap:12px}.ms-ext__nav nav{gap:14px}.ms-ext-entry{margin:24px 16px;padding:24px}.ms-ext th,.ms-ext td{padding:14px 12px}}
@media(prefers-reduced-motion:reduce){.ms-extension-page *{scroll-behavior:auto!important}}
@media(max-width:780px){.ms-ext .ms-ext__intro{padding:28px 0 36px}.ms-ext .ms-ext__floating-cta{right:16px;bottom:calc(64px + env(safe-area-inset-bottom))}.ms-ext__floating-cta .wp-block-button__link{font-size:.875rem;padding:12px 16px}.ms-ext .ms-ext__footer{padding-bottom:180px}}

/* WordPressが挿入するグループ内ラッパー越しにもグリッド配置を適用する。 */
.ms-ext .wp-block-group__inner-container{display:contents}
