.ship-modal[hidden]{display:none!important}.ship-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease}.ship-modal.is-open{opacity:1;visibility:visible}.ship-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.68);backdrop-filter:blur(2px)}.ship-modal__dialog{position:relative;z-index:1;width:min(92vw,620px);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.25);transform:translateY(14px) scale(.98);transition:transform .22s ease}.ship-modal.is-open .ship-modal__dialog{transform:none}.ship-modal__content{padding:32px}.ship-modal__content img{display:block;max-width:100%;height:auto}.ship-modal__image{width:100%;border-radius:12px}.ship-modal__close{position:absolute;top:10px;right:10px;z-index:2;width:40px;height:40px;border:0;border-radius:50%;background:rgba(15,23,42,.76);color:#fff;font-size:28px;line-height:1;cursor:pointer}.ship-modal__close:focus-visible,.ship-modal-trigger:focus-visible{outline:3px solid #0ea5e9;outline-offset:3px}.ship-modal--bottom{align-items:flex-end}.ship-modal--bottom .ship-modal__dialog{width:min(100vw,980px);border-radius:18px 18px 0 0}.ship-modal--bottom .ship-modal__content{padding:0}.ship-modal--side{align-items:flex-end;justify-content:flex-end;padding:24px}.ship-modal--side .ship-modal__dialog{width:min(92vw,420px);max-height:calc(100vh - 48px)}.ship-modal--fullscreen .ship-modal__dialog{width:100vw;max-width:none;height:100vh;max-height:none;border-radius:0}.ship-modal--fullscreen .ship-modal__content{padding:clamp(24px,6vw,80px);height:100%;box-sizing:border-box}.ship-modal-trigger{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border:0;border-radius:999px;background:#0f766e;color:#fff;font-weight:700;cursor:pointer}.ship-modal-open{overflow:hidden}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ship-modal.ship-modal--sp .ship-modal__dialog{width:calc(100vw - 24px);max-height:88vh;border-radius:14px}
.ship-modal.ship-modal--sp .ship-modal__content{padding:22px}
.ship-modal.ship-modal--sp.ship-modal--side{padding:12px}
.ship-modal.ship-modal--sp.ship-modal--side .ship-modal__dialog{width:calc(100vw - 24px)}

.ship-modal-trigger--floating{position:fixed;right:20px;bottom:20px;z-index:99990;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.ship-modal__hybrid{display:flex;gap:24px;align-items:center}.ship-modal__hybrid--top{display:block}.ship-modal__hybrid--top .ship-modal__hybrid-media{margin-bottom:20px}.ship-modal__hybrid--left .ship-modal__hybrid-media,.ship-modal__hybrid--right .ship-modal__hybrid-media{flex:0 0 42%}.ship-modal__hybrid--right{flex-direction:row-reverse}.ship-modal__hybrid-media img{width:100%;height:auto}.ship-modal__hybrid-html{flex:1;min-width:0}.ship-modal__pages{padding:0}.ship-modal__page[hidden]{display:none!important}.ship-modal__page-media img{width:100%;height:auto}.ship-modal__page-html{padding:22px 0 4px}.ship-modal__pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid #e5e7eb}.ship-modal__pager-arrow,.ship-modal__pager-dot{border:0;cursor:pointer}.ship-modal__pager-arrow{padding:8px 12px;border-radius:6px;background:#f1f5f9;color:#0f172a}.ship-modal__pager-arrow:disabled{opacity:.4;cursor:not-allowed}.ship-modal__pager-dots{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.ship-modal__pager-dot{width:30px;height:30px;border-radius:50%;background:#e2e8f0;color:#334155}.ship-modal__pager-dot.is-active,.ship-modal__pager-dot[aria-current="true"]{background:#0f766e;color:#fff}
.ship-modal.ship-modal--sp .ship-modal__hybrid{display:block}
.ship-modal.ship-modal--sp .ship-modal__hybrid-media{margin-bottom:18px}
.ship-modal.ship-modal--sp .ship-modal__pager{gap:6px}
.ship-modal.ship-modal--sp .ship-modal__pager-arrow{font-size:12px;padding:7px 8px}

.ship-modal__content,.ship-modal__hybrid-html,.ship-modal__page-html{font-size:1.6rem;line-height:1.8;letter-spacing:.03em;color:#334155;overflow-wrap:anywhere}.ship-modal__content>:first-child,.ship-modal__hybrid-html>:first-child,.ship-modal__page-html>:first-child{margin-top:0}.ship-modal__content>:last-child,.ship-modal__hybrid-html>:last-child,.ship-modal__page-html>:last-child{margin-bottom:0}.ship-modal__content h1,.ship-modal__content h2,.ship-modal__content h3,.ship-modal__content h4,.ship-modal__content h5,.ship-modal__content h6,.ship-modal__hybrid-html h1,.ship-modal__hybrid-html h2,.ship-modal__hybrid-html h3,.ship-modal__hybrid-html h4,.ship-modal__hybrid-html h5,.ship-modal__hybrid-html h6,.ship-modal__page-html h1,.ship-modal__page-html h2,.ship-modal__page-html h3,.ship-modal__page-html h4,.ship-modal__page-html h5,.ship-modal__page-html h6{margin:1.6em 0 .55em;color:#0f172a;line-height:1.45;font-weight:700;letter-spacing:.02em}.ship-modal__content h1,.ship-modal__hybrid-html h1,.ship-modal__page-html h1{font-size:2.6rem}.ship-modal__content h2,.ship-modal__hybrid-html h2,.ship-modal__page-html h2{padding-bottom:.35em;border-bottom:2px solid #0f766e;font-size:2.2rem}.ship-modal__content h3,.ship-modal__hybrid-html h3,.ship-modal__page-html h3{font-size:1.9rem}.ship-modal__content h4,.ship-modal__hybrid-html h4,.ship-modal__page-html h4{font-size:1.7rem}.ship-modal__content p,.ship-modal__hybrid-html p,.ship-modal__page-html p{margin:0 0 1em}.ship-modal__content a:not(.ship-modal__link),.ship-modal__hybrid-html a,.ship-modal__page-html a{color:#0f766e;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.ship-modal__content a:not(.ship-modal__link):hover,.ship-modal__hybrid-html a:hover,.ship-modal__page-html a:hover{color:#115e59}.ship-modal__content ul,.ship-modal__content ol,.ship-modal__hybrid-html ul,.ship-modal__hybrid-html ol,.ship-modal__page-html ul,.ship-modal__page-html ol{margin:0 0 1.2em;padding-left:1.6em}.ship-modal__content ul,.ship-modal__hybrid-html ul,.ship-modal__page-html ul{list-style:disc}.ship-modal__content ol,.ship-modal__hybrid-html ol,.ship-modal__page-html ol{list-style:decimal}.ship-modal__content li,.ship-modal__hybrid-html li,.ship-modal__page-html li{margin:.35em 0;padding-left:.15em}.ship-modal__content strong,.ship-modal__hybrid-html strong,.ship-modal__page-html strong{color:#0f172a;font-weight:700}.ship-modal__content blockquote,.ship-modal__hybrid-html blockquote,.ship-modal__page-html blockquote{margin:1.2em 0;padding:14px 18px;border-left:4px solid #0f766e;background:#f0fdfa;color:#475569}.ship-modal__content hr,.ship-modal__hybrid-html hr,.ship-modal__page-html hr{margin:1.6em 0;border:0;border-top:1px solid #e2e8f0}.ship-modal__content table,.ship-modal__hybrid-html table,.ship-modal__page-html table{width:100%;margin:1.2em 0;border-collapse:collapse;font-size:.95em}.ship-modal__content th,.ship-modal__content td,.ship-modal__hybrid-html th,.ship-modal__hybrid-html td,.ship-modal__page-html th,.ship-modal__page-html td{padding:10px 12px;border:1px solid #cbd5e1;text-align:left;vertical-align:top}.ship-modal__content th,.ship-modal__hybrid-html th,.ship-modal__page-html th{background:#f1f5f9;color:#0f172a;font-weight:700}.ship-modal__content pre,.ship-modal__hybrid-html pre,.ship-modal__page-html pre{max-width:100%;padding:14px;overflow:auto;background:#0f172a;color:#e2e8f0;border-radius:8px;font-size:.9em;line-height:1.6}.ship-modal__content code,.ship-modal__hybrid-html code,.ship-modal__page-html code{padding:.12em .35em;background:#f1f5f9;border-radius:4px;color:#be123c;font-size:.9em}.ship-modal__content pre code,.ship-modal__hybrid-html pre code,.ship-modal__page-html pre code{padding:0;background:none;color:inherit}.ship-modal__content figure,.ship-modal__hybrid-html figure,.ship-modal__page-html figure{margin:1.2em 0}.ship-modal__content figcaption,.ship-modal__hybrid-html figcaption,.ship-modal__page-html figcaption{margin-top:.45em;color:#64748b;font-size:.85em;text-align:center}.ship-modal__content .ship-modal__link{display:block;text-decoration:none}.ship-modal__content .ship-modal__link:hover{opacity:.9}.ship-modal__content .wp-block-button__link,.ship-modal__content a.button,.ship-modal__content button:not(.ship-modal__close),.ship-modal__hybrid-html .wp-block-button__link,.ship-modal__page-html .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 22px;border:0;border-radius:999px;background:#0f766e;color:#fff;text-decoration:none;font-weight:700;line-height:1.4;cursor:pointer}.ship-modal__content .wp-block-button__link:hover,.ship-modal__content a.button:hover,.ship-modal__content button:not(.ship-modal__close):hover,.ship-modal__hybrid-html .wp-block-button__link:hover,.ship-modal__page-html .wp-block-button__link:hover{background:#115e59;color:#fff}.ship-modal__content input,.ship-modal__content select,.ship-modal__content textarea,.ship-modal__hybrid-html input,.ship-modal__hybrid-html select,.ship-modal__hybrid-html textarea,.ship-modal__page-html input,.ship-modal__page-html select,.ship-modal__page-html textarea{max-width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:6px;box-sizing:border-box}.ship-modal__content img,.ship-modal__hybrid-html img,.ship-modal__page-html img{height:auto}.ship-modal__content .aligncenter,.ship-modal__hybrid-html .aligncenter,.ship-modal__page-html .aligncenter{margin-right:auto;margin-left:auto}
.ship-modal.ship-modal--sp .ship-modal__content,.ship-modal.ship-modal--sp .ship-modal__hybrid-html,.ship-modal.ship-modal--sp .ship-modal__page-html{font-size:1.5rem;line-height:1.75}
.ship-modal.ship-modal--sp .ship-modal__content h1,.ship-modal.ship-modal--sp .ship-modal__hybrid-html h1,.ship-modal.ship-modal--sp .ship-modal__page-html h1{font-size:2.2rem}
.ship-modal.ship-modal--sp .ship-modal__content h2,.ship-modal.ship-modal--sp .ship-modal__hybrid-html h2,.ship-modal.ship-modal--sp .ship-modal__page-html h2{font-size:1.9rem}
.ship-modal.ship-modal--sp .ship-modal__content h3,.ship-modal.ship-modal--sp .ship-modal__hybrid-html h3,.ship-modal.ship-modal--sp .ship-modal__page-html h3{font-size:1.7rem}
.ship-modal.ship-modal--sp .ship-modal__content th,.ship-modal.ship-modal--sp .ship-modal__content td,.ship-modal.ship-modal--sp .ship-modal__hybrid-html th,.ship-modal.ship-modal--sp .ship-modal__hybrid-html td,.ship-modal.ship-modal--sp .ship-modal__page-html th,.ship-modal.ship-modal--sp .ship-modal__page-html td{padding:8px;font-size:.92em}

.ship-modal__dialog,.ship-modal__content,.ship-modal__image,.ship-modal__close,.ship-modal__button,.ship-modal__pager-arrow,.ship-modal__pager-dot{border-radius:0!important}.ship-modal__dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.ship-modal__content{padding:20px}.ship-modal__content--flush{padding:0}.ship-modal__content--flush .ship-modal__image{display:block;width:100%;height:auto}.ship-modal__content--pager{padding:0}.ship-modal__content--pager .ship-modal__page-html{padding:20px}.ship-modal__hybrid--top .ship-modal__hybrid-media{margin:-20px -20px 20px}.ship-modal__buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.ship-modal__button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;background:#0f766e;color:#fff;text-decoration:none;font-weight:700;line-height:1.35;white-space:normal;overflow-wrap:anywhere}.ship-modal__button--secondary{background:#e2e8f0;color:#0f172a}.ship-modal__button:hover{background:#115e59;color:#fff}.ship-modal__button--secondary:hover{background:#cbd5e1;color:#0f172a}
.ship-modal.ship-modal--sp .ship-modal__content--pager .ship-modal__page-html{padding:18px 20px}
.ship-modal.ship-modal--sp .ship-modal__buttons{display:grid;grid-template-columns:1fr}
.ship-modal.ship-modal--sp .ship-modal__button{width:100%;box-sizing:border-box}
.ship-modal.ship-modal--sp .ship-modal__hybrid--top .ship-modal__hybrid-media{margin:-20px -20px 18px}
.ship-modal.ship-modal--sp .ship-modal__hybrid--left,.ship-modal.ship-modal--sp .ship-modal__hybrid--right{display:block}
.ship-modal.ship-modal--sp .ship-modal__hybrid--left .ship-modal__hybrid-media,.ship-modal.ship-modal--sp .ship-modal__hybrid--right .ship-modal__hybrid-media{margin-bottom:18px}

.ship-modal:not(.ship-modal--sp):not(.ship-modal--side):not(.ship-modal--fullscreen) .ship-modal__dialog{max-height:calc(100dvh - 32px)}

.ship-modal__button,.ship-modal__content .wp-block-button__link,.ship-modal__content a.button,.ship-modal__content button:not(.ship-modal__close){border-radius:0!important}
.ship-modal__backdrop{background:rgba(15,23,42,.45);backdrop-filter:none}
.ship-modal__dialog{width:min(calc(100vw - 24px),var(--ship-modal-max-width,620px));border-radius:var(--ship-modal-radius,0px)!important}.ship-modal__content{padding:var(--ship-modal-padding,20px)}.ship-modal__content--flush,.ship-modal__content--pager{padding:0}.ship-modal--bottom .ship-modal__dialog{width:min(calc(100vw - 24px),var(--ship-modal-max-width,980px));border-radius:var(--ship-modal-radius,0px)!important}.ship-modal--side .ship-modal__dialog{width:min(calc(100vw - 24px),var(--ship-modal-max-width,420px))}.ship-modal--fullscreen .ship-modal__dialog{width:100vw;max-width:none;border-radius:0!important}.ship-modal--fullscreen .ship-modal__content{padding:var(--ship-modal-padding,24px)}.ship-modal__close{border-radius:var(--ship-modal-radius,0px)!important}.ship-modal__hybrid--top .ship-modal__hybrid-media{margin:calc(var(--ship-modal-padding,20px) * -1) calc(var(--ship-modal-padding,20px) * -1) var(--ship-modal-padding,20px)}.ship-modal__content--pager .ship-modal__page-html{padding:var(--ship-modal-padding,20px)}
.ship-modal__dialog{overflow:visible}
.ship-modal__content{max-height:calc(100dvh - 24px);overflow-y:auto;box-sizing:border-box}
.ship-modal__close{top:-18px;right:-18px}
.ship-modal--fullscreen .ship-modal__close{top:12px;right:12px}
.ship-modal--fullscreen .ship-modal__content{max-height:100%;overflow-y:auto}

.ship-modal.ship-modal--sp .ship-modal__content{max-height:calc(100dvh - 24px)}
.ship-modal.ship-modal--sp .ship-modal__close{top:-14px;right:-14px}
.ship-modal.ship-modal--sp.ship-modal--fullscreen .ship-modal__close{top:8px;right:8px}

.ship-modal-trigger{background:var(--ship-modal-trigger-bg,#0f766e);color:var(--ship-modal-trigger-color,#fff)}
.ship-modal-trigger--floating-left{left:20px;right:auto}
.ship-modal-trigger--floating-center{left:50%;right:auto;transform:translateX(-50%)}
.ship-modal-trigger--inline-left{display:flex;margin-right:auto}
.ship-modal__button,.ship-modal__close{border-radius:999px!important}
.ship-modal-trigger--inline-center{display:flex;margin-right:auto;margin-left:auto}
.ship-modal-trigger--inline-right{display:flex;margin-left:auto}
.ship-modal-trigger[hidden]{display:none!important}

/* 画像は元サイズを上限にし、コンテナが広い場合だけ中央に置く。 */
.ship-modal__content .ship-modal__image,
.ship-modal__hybrid-media img,
.ship-modal__page-media img{
  display:block;
  width:auto!important;
  max-width:100%!important;
  height:auto;
  margin-right:auto;
  margin-left:auto;
}
.ship-modal__content picture{display:block;text-align:center}
.ship-modal__content picture .ship-modal__image{margin-right:auto;margin-left:auto}
.ship-modal__hybrid-media,
.ship-modal__page-media{
  text-align:center;
}

/* 画像の角丸はコンテンツ内だけをクリップし、ダイアログ外の閉じるボタンは残す。 */
.ship-modal__content{
  overflow:hidden auto;
  border-radius:var(--ship-modal-radius,0px);
}

/* 管理画面で設定したテーマカラーを各パーツへ反映する。 */
.ship-modal__dialog{background:var(--ship-modal-surface,#fff)!important}
.ship-modal__content,.ship-modal__hybrid-html,.ship-modal__page-html{color:var(--ship-modal-text,#334155)!important}
.ship-modal__content h1,.ship-modal__content h2,.ship-modal__content h3,.ship-modal__content h4,.ship-modal__content h5,.ship-modal__content h6,.ship-modal__hybrid-html h1,.ship-modal__hybrid-html h2,.ship-modal__hybrid-html h3,.ship-modal__hybrid-html h4,.ship-modal__hybrid-html h5,.ship-modal__hybrid-html h6,.ship-modal__page-html h1,.ship-modal__page-html h2,.ship-modal__page-html h3,.ship-modal__page-html h4,.ship-modal__page-html h5,.ship-modal__page-html h6{color:var(--ship-modal-text,#334155)!important}
.ship-modal__content h2,.ship-modal__hybrid-html h2,.ship-modal__page-html h2{border-color:var(--ship-modal-accent,#0f766e)!important}
.ship-modal__content a:not(.ship-modal__link),.ship-modal__hybrid-html a,.ship-modal__page-html a{color:var(--ship-modal-accent,#0f766e)!important}
.ship-modal__content strong,.ship-modal__hybrid-html strong,.ship-modal__page-html strong{color:var(--ship-modal-text,#334155)!important}
.ship-modal__content figcaption,.ship-modal__hybrid-html figcaption,.ship-modal__page-html figcaption{color:var(--ship-modal-text,#334155)!important}
.ship-modal__content th,.ship-modal__hybrid-html th,.ship-modal__page-html th{background:var(--ship-modal-secondary,#e2e8f0)!important;color:var(--ship-modal-text,#334155)!important}
.ship-modal__content th,.ship-modal__content td,.ship-modal__hybrid-html th,.ship-modal__hybrid-html td,.ship-modal__page-html th,.ship-modal__page-html td{border-color:var(--ship-modal-border,#e2e8f0)!important}
.ship-modal__backdrop{background:var(--ship-modal-overlay,rgba(15,23,42,.45))!important}
.ship-modal__close{background:var(--ship-modal-close-bg,#0f172a)!important;color:var(--ship-modal-close-text,#fff)!important}
.ship-modal__button--primary,.ship-modal__content .wp-block-button__link,.ship-modal__content a.button,.ship-modal__content button:not(.ship-modal__close){background:var(--ship-modal-accent,#0f766e)!important;color:var(--ship-modal-surface,#fff)!important}
.ship-modal__button--secondary{background:var(--ship-modal-secondary,#e2e8f0)!important;color:var(--ship-modal-text,#334155)!important}
.ship-modal__pager{border-color:var(--ship-modal-border,#e2e8f0)!important}
.ship-modal__pager-arrow,.ship-modal__pager-dot{background:var(--ship-modal-secondary,#e2e8f0)!important;color:var(--ship-modal-text,#334155)!important}
.ship-modal__pager-dot.is-active,.ship-modal__pager-dot[aria-current="true"]{background:var(--ship-modal-accent,#0f766e)!important;color:var(--ship-modal-surface,#fff)!important}
.ship-modal__content--pager-image-only .ship-modal__pager{margin-top:0;padding-top:0;border-top:0}

/* リンク色の指定よりボタン配色を優先し、背景と文字が同色にならないようにする。 */
.ship-modal .ship-modal__button.ship-modal__button--primary{background:var(--ship-modal-accent,#0f766e)!important;color:var(--ship-modal-surface,#fff)!important}
.ship-modal .ship-modal__button.ship-modal__button--secondary{background:var(--ship-modal-secondary,#f1f5f9)!important;color:var(--ship-modal-text,#334155)!important}
.ship-modal .ship-modal__pager .ship-modal__pager-arrow,
.ship-modal .ship-modal__pager .ship-modal__pager-dot{background:var(--ship-modal-secondary,#f1f5f9)!important;color:var(--ship-modal-text,#334155)!important}
.ship-modal .ship-modal__pager .ship-modal__pager-dot.is-active,
.ship-modal .ship-modal__pager .ship-modal__pager-dot[aria-current="true"]{background:var(--ship-modal-accent,#0f766e)!important;color:var(--ship-modal-surface,#fff)!important}
.ship-modal .ship-modal__pager .ship-modal__pager-dot{box-sizing:border-box;width:10px;height:10px;min-width:10px;min-height:10px!important;padding:0;border-radius:50%;font-size:0;line-height:1;overflow:hidden;flex:0 0 10px}
.ship-modal .ship-modal__pager{margin-top:16px;padding-top:0;border-top:0}
.ship-modal .ship-modal__content--pager-image-only .ship-modal__pager{margin-top:0}
.ship-modal .ship-modal__pager .ship-modal__pager-arrow{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px!important;min-height:36px!important;padding:0!important;font-size:0;line-height:1}
.ship-modal .ship-modal__pager .ship-modal__pager-arrow::before{content:'';display:block;box-sizing:border-box;width:9px;height:9px;border-top:2px solid currentColor;border-right:2px solid currentColor;font-size:0;line-height:0}
.ship-modal .ship-modal__pager .ship-modal__pager-arrow[data-ship-modal-page-prev]::before{transform:rotate(-135deg)}
.ship-modal .ship-modal__pager .ship-modal__pager-arrow[data-ship-modal-page-next]::before{transform:rotate(45deg)}
.ship-modal .ship-modal__buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
.ship-modal .ship-modal__button{text-decoration:none!important;width:100%;box-sizing:border-box}
.ship-modal .ship-modal__buttons--count-1 .ship-modal__button{grid-column:1;width:100%}
.ship-modal .ship-modal__buttons--count-3 .ship-modal__button:nth-child(3){grid-column:1 / -1}

/* モーダルの実幅が狭い場合は、端末幅に関係なく1カラムへ切り替える。 */
.ship-modal__dialog{container-type:inline-size;container-name:ship-modal-dialog}
@container ship-modal-dialog (max-width:380px){
  .ship-modal .ship-modal__buttons{grid-template-columns:1fr}
  .ship-modal .ship-modal__buttons--count-1 .ship-modal__button,
  .ship-modal .ship-modal__buttons--count-3 .ship-modal__button:nth-child(3){grid-column:1;width:100%}
}

/* 本文色は画像＋HTMLを含む全フレームで同じテーマカラーを使う。 */
.ship-modal .ship-modal__content p,
.ship-modal .ship-modal__content li,
.ship-modal .ship-modal__content td,
.ship-modal .ship-modal__content th,
.ship-modal .ship-modal__content h1,
.ship-modal .ship-modal__content h2,
.ship-modal .ship-modal__content h3,
.ship-modal .ship-modal__content h4,
.ship-modal .ship-modal__content h5,
.ship-modal .ship-modal__content h6,
.ship-modal .ship-modal__content strong,
.ship-modal .ship-modal__content figcaption,
.ship-modal .ship-modal__hybrid-html p,
.ship-modal .ship-modal__hybrid-html li,
.ship-modal .ship-modal__hybrid-html td,
.ship-modal .ship-modal__hybrid-html th,
.ship-modal .ship-modal__hybrid-html h1,
.ship-modal .ship-modal__hybrid-html h2,
.ship-modal .ship-modal__hybrid-html h3,
.ship-modal .ship-modal__hybrid-html h4,
.ship-modal .ship-modal__hybrid-html h5,
.ship-modal .ship-modal__hybrid-html h6,
.ship-modal .ship-modal__hybrid-html strong,
.ship-modal .ship-modal__hybrid-html figcaption,
.ship-modal .ship-modal__page-html p,
.ship-modal .ship-modal__page-html li,
.ship-modal .ship-modal__page-html td,
.ship-modal .ship-modal__page-html th,
.ship-modal .ship-modal__page-html h1,
.ship-modal .ship-modal__page-html h2,
.ship-modal .ship-modal__page-html h3,
.ship-modal .ship-modal__page-html h4,
.ship-modal .ship-modal__page-html h5,
.ship-modal .ship-modal__page-html h6,
.ship-modal .ship-modal__page-html strong,
.ship-modal .ship-modal__page-html figcaption{color:var(--ship-modal-text,#334155)!important}


.ship-modal.ship-modal--sp .ship-modal__pager{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;gap:8px;align-items:center;overflow:hidden}
.ship-modal.ship-modal--sp .ship-modal__pager-dots{min-width:0;flex-wrap:nowrap;overflow-x:auto;justify-content:center;gap:5px;padding:4px 0;scrollbar-width:none}
.ship-modal.ship-modal--sp .ship-modal__pager-dots::-webkit-scrollbar{display:none}
.ship-modal.ship-modal--sp .ship-modal__pager-dot{flex:0 0 9px;width:9px;height:9px;padding:0;border-radius:50%;font-size:0}


/* ダイアログと内部スクロール領域の上限を揃え、余分なスクロールを防ぐ。 */
.ship-modal__content{
  max-height:calc(100dvh - 32px);
  overscroll-behavior:contain;
  clip-path:inset(0 round var(--ship-modal-radius,0px));
}
.ship-modal__dialog{overscroll-behavior:contain}
.ship-modal--side .ship-modal__content{max-height:calc(100dvh - 48px)}

.ship-modal.ship-modal--sp .ship-modal__content{max-height:88dvh}
.ship-modal.ship-modal--sp.ship-modal--side .ship-modal__content{max-height:calc(100dvh - 48px)}
.ship-modal.ship-modal--sp .ship-modal__close{top:-10px;right:-10px;width:32px;height:32px;font-size:22px}
.ship-modal.ship-modal--sp .ship-modal__pager-arrow{box-sizing:border-box;min-width:36px!important;min-height:36px!important;width:36px!important;height:36px!important;aspect-ratio:1;padding:0!important}
.ship-modal.ship-modal--sp .ship-modal__pager-dot{font-size:0}


/* ページャーのページ見出しにも通常見出しと同じ下線装飾を付ける。 */
.ship-modal__page-html h3{padding-bottom:.35em;border-bottom:2px solid var(--ship-modal-accent,#0f766e);border-color:var(--ship-modal-accent,#0f766e)!important}

/* 下部バナーも通常は内側の余白を維持し、画像のみ・ページャーだけ全面表示にする。 */
.ship-modal--bottom{padding:24px}
.ship-modal--bottom .ship-modal__content{padding:var(--ship-modal-padding,20px)}
.ship-modal--bottom .ship-modal__content--flush,
.ship-modal--bottom .ship-modal__content--pager{padding:0}

.ship-modal.ship-modal--sp.ship-modal--bottom{padding:12px}


/* テーマ側のhtmlフォントサイズに左右されない読みやすい基準値。 */
.ship-modal__content,.ship-modal__hybrid-html,.ship-modal__page-html{font-size:16px}
.ship-modal__content h1,.ship-modal__hybrid-html h1,.ship-modal__page-html h1{font-size:26px}
.ship-modal__content h2,.ship-modal__hybrid-html h2,.ship-modal__page-html h2{font-size:22px}
.ship-modal__content h3,.ship-modal__hybrid-html h3,.ship-modal__page-html h3{font-size:19px}
.ship-modal__content h4,.ship-modal__hybrid-html h4,.ship-modal__page-html h4{font-size:17px}

/* ドットの見た目は小さく保ち、実際の操作領域だけを広げる。 */
.ship-modal .ship-modal__pager .ship-modal__pager-dot,
.ship-modal .ship-modal__pager .ship-modal__pager-dot.is-active,
.ship-modal .ship-modal__pager .ship-modal__pager-dot[aria-current="true"]{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:28px;
  height:28px;
  min-width:28px;
  min-height:28px!important;
  padding:0;
  overflow:visible;
  flex:0 0 28px;
  background:transparent!important;
}
.ship-modal .ship-modal__pager .ship-modal__pager-dot::before{
  content:'';
  display:block;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--ship-modal-secondary,#f1f5f9);
}
.ship-modal .ship-modal__pager .ship-modal__pager-dot.is-active::before,
.ship-modal .ship-modal__pager .ship-modal__pager-dot[aria-current="true"]::before{background:var(--ship-modal-accent,#0f766e)}
.ship-modal__close:focus-visible,.ship-modal__button:focus-visible,.ship-modal__pager-arrow:focus-visible,.ship-modal__pager-dot:focus-visible,.ship-modal__link:focus-visible{outline:3px solid #0ea5e9;outline-offset:3px}

/* container query非対応ブラウザでも同じ実幅付近で1カラムにする。 */
@media (max-width:404px){
  .ship-modal .ship-modal__buttons{grid-template-columns:1fr}
  .ship-modal .ship-modal__buttons--count-1 .ship-modal__button,
  .ship-modal .ship-modal__buttons--count-3 .ship-modal__button:nth-child(3){grid-column:1;width:100%}
}

.ship-modal.ship-modal--sp .ship-modal__content,.ship-modal.ship-modal--sp .ship-modal__hybrid-html,.ship-modal.ship-modal--sp .ship-modal__page-html{font-size:15px}
.ship-modal.ship-modal--sp .ship-modal__content h1,.ship-modal.ship-modal--sp .ship-modal__hybrid-html h1,.ship-modal.ship-modal--sp .ship-modal__page-html h1{font-size:22px}
.ship-modal.ship-modal--sp .ship-modal__content h2,.ship-modal.ship-modal--sp .ship-modal__hybrid-html h2,.ship-modal.ship-modal--sp .ship-modal__page-html h2{font-size:19px}
.ship-modal.ship-modal--sp .ship-modal__content h3,.ship-modal.ship-modal--sp .ship-modal__hybrid-html h3,.ship-modal.ship-modal--sp .ship-modal__page-html h3{font-size:17px}

@media (prefers-reduced-motion:reduce){
  .ship-modal,.ship-modal__dialog{transition:none}
}

/* 右下ポップアップの画面端余白は、選択した端末幅ごとに調整する。 */
.ship-modal--side{padding:var(--ship-modal-side-margin-pc-y,24px) var(--ship-modal-side-margin-pc-x,24px)}
.ship-modal.ship-modal--non-blocking{pointer-events:none}
.ship-modal--non-blocking .ship-modal__dialog{pointer-events:auto}
.ship-modal--side .ship-modal__dialog{width:min(calc(100vw - var(--ship-modal-side-margin-pc-x,24px) - var(--ship-modal-side-margin-pc-x,24px)),var(--ship-modal-max-width,420px));max-height:calc(100dvh - var(--ship-modal-side-margin-pc-y,24px) - var(--ship-modal-side-margin-pc-y,24px))}
.ship-modal--side .ship-modal__content{max-height:calc(100dvh - var(--ship-modal-side-margin-pc-y,24px) - var(--ship-modal-side-margin-pc-y,24px))}
.ship-modal.ship-modal--tb.ship-modal--side{padding:var(--ship-modal-side-margin-tb-y,24px) var(--ship-modal-side-margin-tb-x,24px)}
.ship-modal.ship-modal--tb.ship-modal--side .ship-modal__dialog{width:min(calc(100vw - var(--ship-modal-side-margin-tb-x,24px) - var(--ship-modal-side-margin-tb-x,24px)),var(--ship-modal-max-width,420px));max-height:calc(100dvh - var(--ship-modal-side-margin-tb-y,24px) - var(--ship-modal-side-margin-tb-y,24px))}
.ship-modal.ship-modal--tb.ship-modal--side .ship-modal__content{max-height:calc(100dvh - var(--ship-modal-side-margin-tb-y,24px) - var(--ship-modal-side-margin-tb-y,24px))}

.ship-modal.ship-modal--sp.ship-modal--side{padding:var(--ship-modal-side-margin-sp-y,12px) var(--ship-modal-side-margin-sp-x,12px)}
.ship-modal.ship-modal--sp.ship-modal--side .ship-modal__dialog{width:min(calc(100vw - var(--ship-modal-side-margin-sp-x,12px) - var(--ship-modal-side-margin-sp-x,12px)),var(--ship-modal-max-width,420px));max-height:calc(100dvh - var(--ship-modal-side-margin-sp-y,12px) - var(--ship-modal-side-margin-sp-y,12px))}
.ship-modal.ship-modal--sp.ship-modal--side .ship-modal__content{max-height:calc(100dvh - var(--ship-modal-side-margin-sp-y,12px) - var(--ship-modal-side-margin-sp-y,12px))}


.ship-modal.ship-modal--sp .ship-modal__dialog{width:min(calc(100vw - 24px),var(--ship-modal-max-width-sp,var(--ship-modal-max-width,620px)))}
.ship-modal.ship-modal--sp.ship-modal--bottom .ship-modal__dialog{width:min(calc(100vw - 24px),var(--ship-modal-max-width-sp,var(--ship-modal-max-width,980px)))}
.ship-modal.ship-modal--sp.ship-modal--side .ship-modal__dialog{width:min(calc(100vw - var(--ship-modal-side-margin-sp-x,12px) - var(--ship-modal-side-margin-sp-x,12px)),var(--ship-modal-max-width-sp,var(--ship-modal-max-width,420px)))}
.ship-modal.ship-modal--sp .ship-modal__content:not(.ship-modal__content--flush):not(.ship-modal__content--pager){padding:var(--ship-modal-padding,20px)}
.ship-modal.ship-modal--sp .ship-modal__content--flush,.ship-modal.ship-modal--sp .ship-modal__content--pager{padding:0}
.ship-modal.ship-modal--sp .ship-modal__content--pager .ship-modal__page-html{padding:var(--ship-modal-padding,20px)}
.ship-modal.ship-modal--sp .ship-modal__hybrid--top .ship-modal__hybrid-media{margin:calc(var(--ship-modal-padding,20px) * -1) calc(var(--ship-modal-padding,20px) * -1) var(--ship-modal-padding,20px)}

.ship-modal.ship-modal--sp .ship-modal__close{top:-12px;right:-12px;width:28px;height:28px;font-size:20px}
.ship-modal.ship-modal--sp.ship-modal--side .ship-modal__close{top:max(-13px,calc(4px - var(--ship-modal-side-margin-sp-y,12px)));right:max(-13px,calc(4px - var(--ship-modal-side-margin-sp-x,12px)))}
