/* ソフトピアメッセ 企業展 出展報告 */

/* テーマカラー */
:root{
  --bs-primary:#173A5E;
  --bs-link-color:#173A5E;

  --prism-cta:#173A5E;
  --prism-cta-hover:#143150;
  --prism-accent:#6495ED;
  --prism-accent-bg:#EAF2FA;
  --prism-accent2:#B85A12;

  /* ファーストビューの色 */
  --prism-hero-bg:#173A5E;
  --prism-hero-shade:#081626;
  --prism-hero-ray-1:#C4D9F2;
  --prism-hero-ray-2:#FFFFFF;
  --prism-hero-label:#EAF2FA;
  --prism-hero-badge-a-bg:#EAF2FA;
  --prism-hero-badge-a-fg:#173A5E;
  --prism-hero-badge-b-bg:#B85A12;
  --prism-hero-badge-b-fg:#FFFFFF;
}

html,body{ overflow-x:hidden; }
html{ scroll-behavior:smooth; }
.prism-container{ max-width:1180px; }

/* フォーカスリング */
a:focus-visible, button:focus-visible, summary:focus-visible, .prism-btn:focus-visible{
  outline:3px solid var(--prism-cta); outline-offset:2px;
}
.sm-band a:focus-visible{ outline-color:var(--prism-base); }
main a:not(.prism-btn) .nw{ text-decoration:underline; text-underline-offset:2px; }

/* 出展報告の見出し */
.sm-hero{ padding:64px 0 0; background:var(--prism-base); }
.sm-hero__inner{ display:flex; flex-direction:column; }
.sm-hero__inner > *{ order:3; }
.sm-hero__kicker{ order:1; font-weight:700; color:var(--prism-cta); letter-spacing:.08em; margin-bottom:16px; }
.sm-hero__kicker span{ margin:0 8px; color:var(--prism-rule); }
.sm-hero h1{ order:1; font-size:var(--fs-48); margin-bottom:24px; }
.sm-hero__lead{ font-size:var(--fs-18); max-width:43em; }
.sm-hero__meta{ display:flex; flex-wrap:wrap; gap:16px 48px; margin:32px 0 0; padding:24px 0; border-top:1px solid var(--prism-rule); border-bottom:1px solid var(--prism-rule); }
.sm-hero__meta dt{ font-weight:700; color:var(--prism-ink-sub); }
.sm-hero__meta dd{ margin:0; font-weight:700; font-size:var(--fs-18); }
.sm-hero__cta{ display:flex; flex-wrap:wrap; gap:16px; margin-top:32px; }
.sm-hero__photo{ order:2; margin:0 0 24px; }
.sm-hero__photo img{ display:block; width:100%; height:auto; border-radius:12px; }
@media (min-width:992px){
  .sm-hero__photo{ order:4; margin:48px 0 0; }
}
@media (max-width:767.98px){
  .sm-hero{ padding-top:40px; }
  .sm-hero h1{ font-size:var(--fs-32); }
  .sm-hero__lead{ font-size:var(--fs-16); }
  .sm-hero__meta{ flex-direction:column; gap:12px; }
  .sm-hero__cta .prism-btn{ flex:1 1 100%; }
}

/* パンくず */
.sm-crumb{ padding:20px 0 24px; }
.sm-crumb .prism-breadcrumb{ margin:0; }

/* 製品の一覧 */
.sm-index{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr; gap:16px; }
@media (min-width:768px){ .sm-index{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1200px){ .sm-index{ grid-template-columns:repeat(3,1fr); } }
.sm-index li{ background:var(--prism-base); border:1px solid var(--prism-rule); border-left:3px solid var(--prism-cta); border-radius:8px; padding:20px 24px; }
.sm-index a{ display:block; font-weight:700; margin-bottom:4px; }
.sm-index li > span{ display:block; color:var(--prism-ink-sub); }

/* 製品の説明 */
.sm-block + .sm-block{ margin-top:56px; }
.sm-block > h3, .sm-cols h3{ font-size:var(--fs-24); margin-bottom:24px; }
.sm-note{ color:var(--prism-ink-sub); }
.sm-block > .sm-note{ margin-top:16px; }
.sm-cols{ display:grid; grid-template-columns:1fr; gap:24px; }
@media (min-width:992px){ .sm-cols{ grid-template-columns:repeat(2,1fr); gap:40px; } }
.sm-badge{
  display:inline-block; padding:2px 12px; border-radius:999px; background:var(--prism-accent2); color:var(--prism-base);
  font-weight:700; line-height:1.6; margin-bottom:12px;
}
.sm-more{ margin-top:32px; }
.sm-more a{ font-weight:700; }

/* 2製品の並び */
.sm-pair{ display:grid; grid-template-columns:1fr; gap:24px; }
@media (min-width:992px){ .sm-pair{ grid-template-columns:repeat(2,1fr); } }
.sm-card{ background:var(--prism-base); border:1px solid var(--prism-rule); border-radius:12px; padding:32px; }
.sm-card > h3{ font-size:var(--fs-24); margin-bottom:12px; }
.sm-card h4{ font-size:var(--fs-18); font-weight:700; line-height:1.4; margin:24px 0 12px; }
.sm-card .sm-note{ margin-top:12px; }

/* Q&A */
.sm-faq-group + .sm-faq-group{ margin-top:40px; }
.sm-faq-group h3{ margin-bottom:12px; }
.sm-acc{ border-top:1px solid var(--prism-rule); }
.sm-acc:last-child{ border-bottom:1px solid var(--prism-rule); }
.sm-acc > summary{ list-style:none; cursor:pointer; min-height:44px; padding:12px 40px 12px 40px; position:relative; font-weight:700; line-height:1.6; }
.sm-acc > summary::-webkit-details-marker{ display:none; }
.sm-acc > summary::before{
  content:"Q"; position:absolute; left:0; top:12px; width:28px; height:28px; border-radius:50%;
  background:var(--prism-cta); color:var(--prism-base); display:flex; align-items:center; justify-content:center; line-height:1;
}
.sm-acc > summary::after{
  content:"+"; position:absolute; right:4px; top:50%; transform:translateY(-50%);
  width:28px; height:28px; border:1px solid var(--prism-rule); border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:var(--prism-cta); font-weight:700; line-height:1;
}
.sm-acc[open] > summary::after{ content:"−"; }
.sm-acc__body{ padding:4px 0 20px 40px; }

/* 開催概要 */
.prism-table tbody th{ font-weight:700; background:var(--prism-base-alt); white-space:nowrap; width:10em; }
@media (max-width:767.98px){ .prism-table tbody th{ white-space:normal; min-width:7em; } }
.sm-thanks{ margin-top:40px; max-width:43em; }

/* お問い合わせ帯 */
.sm-band{ background:var(--prism-cta); color:var(--prism-base); padding:72px 0; text-align:center; }
.sm-band h2{ color:var(--prism-base); }
.sm-band p{ margin-top:16px; }
.sm-foot-actions{ display:flex; justify-content:center; gap:16px; flex-wrap:wrap; margin-top:32px; }
.sm-foot-actions .prism-btn{ padding:20px 48px; font-size:var(--fs-20); }
.sm-foot-info{ padding:56px 0; }
.sm-related{ margin-bottom:32px; }
.sm-related-label{ font-weight:700; margin-bottom:8px; }
.sm-related ul{ list-style:none; margin:0; padding:0; }
.sm-related li + li{ margin-top:4px; }
.sm-company p{ color:var(--prism-ink-sub); }
.sm-company p + p{ margin-top:4px; }
.sm-company .sm-date{ margin-top:16px; }

@media (max-width:767.98px){
  .sm-card{ padding:24px 20px; }
  .sm-foot-actions .prism-btn{ padding:16px 32px; }
}
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

/* 対象業務・基本情報 */
.sm-target{ margin:-16px 0 40px; padding:12px 20px; background:var(--prism-accent-bg); border-radius:8px; max-width:43em; }
.sm-target strong{ margin-right:16px; color:var(--prism-cta); }
.sm-info{ background:var(--prism-base); }
.sm-info tbody th{ width:9em; }
@media (max-width:575.98px){
  .sm-info th, .sm-info td{ display:block; width:auto; }
  .sm-info tbody th{ width:auto; border-bottom:none; padding-bottom:4px; }
  .sm-info td{ border-top:none; padding-top:4px; }
}

/* 処理の流れ */
.sm-flow{ list-style:none; margin:0; padding:0; counter-reset:flow; display:grid; grid-auto-flow:column; grid-auto-columns:1fr; gap:0; }
.sm-flow li{ counter-increment:flow; position:relative; padding:48px 24px 0 0; }
.sm-flow li::before{
  content:counter(flow, decimal-leading-zero); position:absolute; left:0; top:0; z-index:1;
  width:32px; height:32px; border-radius:50%; background:var(--prism-cta); color:var(--prism-base);
  display:flex; align-items:center; justify-content:center; font-weight:700; line-height:1; font-variant-numeric:tabular-nums;
}
.sm-flow li::after{ content:""; position:absolute; left:40px; right:8px; top:15px; height:2px; background:var(--prism-rule); }
.sm-flow li:last-child::after{ content:none; }
.sm-flow__title{ display:block; font-weight:700; line-height:1.5; }
.sm-flow__text{ display:block; margin-top:8px; color:var(--prism-ink-sub); }
@media (max-width:991.98px){
  .sm-flow{ grid-auto-flow:row; grid-auto-columns:auto; gap:0; }
  .sm-flow li{ padding:4px 0 24px 48px; min-height:56px; }
  .sm-flow li:last-child{ padding-bottom:0; }
  .sm-flow li::after{ left:15px; right:auto; top:40px; bottom:8px; width:2px; height:auto; }
}

/* 項目の一覧 */
.sm-items{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr; column-gap:48px; border-top:1px solid var(--prism-rule); }
@media (min-width:992px){ .sm-items{ grid-template-columns:repeat(2,1fr); } }
.sm-items li{ position:relative; padding:16px 0 16px 20px; border-bottom:1px solid var(--prism-rule); }
.sm-items li::before{ content:""; position:absolute; left:2px; top:28px; width:8px; height:2px; background:var(--prism-cta); }
.sm-items strong{ display:block; margin-bottom:4px; }
@media (min-width:992px){ .sm-items--qa{ grid-template-columns:repeat(3,1fr); } }

/* 製品画面・動画 */
.sm-shot, .sm-video{ margin:32px 0 0; }
.sm-cols .sm-shot{ margin-top:0; }
.sm-shot img{ display:block; width:100%; height:auto; border:1px solid var(--prism-rule); border-radius:8px; }
.sm-video__frame{ position:relative; width:100%; aspect-ratio:16 / 9; border-radius:8px; overflow:hidden; background:var(--prism-ink); }
.sm-video__frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.sm-block > .sm-video{ margin-top:0; max-width:880px; }
.sm-shot figcaption, .sm-video figcaption{ margin-top:12px; color:var(--prism-ink-sub); }
.sm-transcript{ margin-top:24px; max-width:880px; }
.sm-transcript__steps{ margin:0; padding-left:1.4em; }
.sm-transcript__steps li + li{ margin-top:8px; }
.sm-transcript__steps strong{ display:block; }
.sm-transcript > summary{ padding-left:0; }
.sm-transcript > summary::before{ content:none; }
.sm-transcript .sm-acc__body{ padding-left:0; }
.sm-transcript .sm-acc__body > * + *{ margin-top:12px; }
