/*
 * セミナー・講演依頼ページ。部品の見た目は子テーマの service-fv.css（サービスページと共通）に任せ、
 * ここでは固定ページで同じ見た目にするための余白調整と、サービスページにない部品だけを足す。
 * 色・字体はサービスページの値に合わせる：navy #0e254d、blue #1e70fa / #1659ca、薄青 #ebf2fa、灰 #f6f6f6、角丸なし。
 */

/* 固定ページの余白・パンくずをサービスページと同じにする（service-layout.css の .single-service と同じ指定） */
.nsseminar-page #breadcrumb.p-breadcrumb{display:none}
.nsseminar-page #content.l-content{margin:0;padding:0;max-width:none;--swl-pad_container:0;--swl-pad_post_content:0}
.nsseminar-page .l-mainContent,.nsseminar-page .l-mainContent__inner,.nsseminar-page .post_content{margin:0;padding:0;max-width:none}
.nsseminar-page .post_content>.p-service{margin:0}
.nsseminar-page .p-service>section{margin:0}
.nsseminar-page .p-service h2,.nsseminar-page .p-service h3{background:none;border:0;box-shadow:none;padding:0;margin:0}
.nsseminar-page .p-service h2::before,.nsseminar-page .p-service h2::after,.nsseminar-page .p-service h3::before,.nsseminar-page .p-service h3::after{content:none;display:none}
.nsseminar-page .p-service ul,.nsseminar-page .p-service ol,.nsseminar-page .p-service dl{margin:0;padding:0;list-style:none}
.nsseminar-page .p-service li{margin:0}
.nsseminar-page .p-service li::before{content:none}
/* サービスページ右側の資料請求パネル用の余白は、このページでは使わない */
.nsseminar{--service-aside-reserve:0px}

.nsseminar .nss-sp{display:none}
@media(max-width:767px){.nsseminar .nss-sp{display:inline}.nsseminar .nss-pc{display:none}}

/* FV右側：問い合わせフォーム（サービスページの資料請求カードと同じ枠） */
.nsseminar .nss-fv-form .p-service-fv__hubspot{min-height:420px}

/* PCではFV（パンくず・見出し・フォーム）を1画面に収める。
   HubSpotフォームはiframe内でページのCSSが効かないため、画面の高さに合わせて枠ごと縮小する。 */
@media (min-width:1024px){
  .nsseminar .p-service-fv__inner{min-height:min(calc(100svh - 72px),960px);grid-template-rows:auto 1fr;row-gap:16px;padding-top:16px;padding-bottom:24px;align-items:center}
  .nsseminar .p-service-fv__main{gap:24px}
  .nsseminar .nss-fv-form .p-service-fv__card-header{padding:12px 20px}
  .nsseminar .nss-fv-form .p-service-fv__card-header-sub{font-size:13px}
  .nsseminar .nss-fv-form .p-service-fv__card-header-title{font-size:20px}
  .nsseminar .nss-fv-form .p-service-fv__card-body{padding:8px 24px 10px}
  .nsseminar .nss-fv-form .p-service-fv__hubspot{min-height:0;zoom:1}
  .nsseminar .nss-fv-form .p-service-fv__card-privacy{margin:0;font-size:12px}
}
/* 倍率 = (画面の高さ − ヘッダー・パンくず・余白・カード見出し 約273px) ÷ フォームの高さ 約817px。各範囲の下限で収まる値にする */
@media (min-width:1024px) and (max-height:1089px){.nsseminar .nss-fv-form .p-service-fv__hubspot{zoom:.89}}
@media (min-width:1024px) and (max-height:999px){.nsseminar .nss-fv-form .p-service-fv__hubspot{zoom:.81}}
@media (min-width:1024px) and (max-height:939px){.nsseminar .nss-fv-form .p-service-fv__hubspot{zoom:.76}}
@media (min-width:1024px) and (max-height:899px){.nsseminar .nss-fv-form .p-service-fv__hubspot{zoom:.71}}
@media (min-width:1024px) and (max-height:859px){
  .nsseminar .nss-fv-form .p-service-fv__hubspot{zoom:.7}
  .nsseminar .nss-fv-form{max-height:calc(100svh - 72px - 72px);display:flex;flex-direction:column}
  .nsseminar .nss-fv-form .p-service-fv__card-body{overflow-y:auto}
}

/* ページ内ナビ：7項目 */
.nsseminar .nss-nav .p-service-nav__item{flex:1 1 0}

/* 概要の表 */
.nsseminar .nss-summary{width:100%;max-width:960px;border-top:2px solid #0e254d}
.nsseminar .nss-summary>div{display:grid;grid-template-columns:150px 1fr;border-bottom:1px solid #d9dfe8}
.nsseminar .nss-summary dt{padding:16px 20px;background:#ebf2fa;color:#0e254d;font-weight:700;font-size:15px}
.nsseminar .nss-summary dd{margin:0;padding:16px 20px;font-size:15px;line-height:1.7;background:#fff}

/* サービスページにない部品の共通枠 */
.nsseminar .nss-section{background:#fff;scroll-margin-top:80px}
.nsseminar .nss-section--gray{background:#f6f6f6}
.nsseminar .nss-inner{display:flex;flex-direction:column;align-items:center;gap:48px;width:100%;max-width:1440px;margin-inline:auto;padding:88px clamp(24px,4.5vw,64px)}
.nsseminar .nss-inner>*{width:100%;max-width:1200px}
.nsseminar .nss-title{display:flex;flex-direction:column;align-items:center;margin:0;letter-spacing:1px;line-height:1.5;text-align:center;color:#1a1a1a}
.nsseminar .nss-title-sub{font-size:var(--service-h2-sub-size,16px);font-weight:700}
.nsseminar .nss-title-main{font-size:var(--service-h2-main-size,37px);font-weight:700}
.nsseminar .nss-lead{margin:-16px 0 0;text-align:center;line-height:1.9}

/* テーマ例：サービス内容の「point」見出しと同じ形 */
.nsseminar .nss-themes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #d9dfe8;border-left:1px solid #d9dfe8}
.nsseminar .nss-theme{padding:32px 28px;border-right:1px solid #d9dfe8;border-bottom:1px solid #d9dfe8;background:#fff}
.nsseminar .nss-theme__head{display:flex;flex-direction:column;gap:2px;margin-bottom:14px;padding-inline-start:10px;border-inline-start:4px solid #1e70fa;color:#1659ca;font-weight:700;line-height:1.5}
.nsseminar .nss-theme__point{margin:0;font:700 14px/1.5 "Figtree",sans-serif}
.nsseminar .nss-theme__title{margin:0!important;font-size:20px;font-weight:700;line-height:1.5;color:#1659ca}
.nsseminar .nss-theme__body{margin:0;font-size:15px;line-height:1.85}

/* 講師紹介：写真の後ろに薄青のブロック（特徴・強みの写真と同じ見せ方） */
.nsseminar .nss-speaker{display:grid!important;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:72px;align-items:center}
.nsseminar .nss-speaker__visual{position:relative;padding:0 32px 32px 0}
.nsseminar .nss-speaker__bg{position:absolute;inset:32px 0 0 32px;background:#ebf2fa}
.nsseminar .nss-speaker__photo{position:relative;display:block;width:100%;aspect-ratio:848/1060;object-fit:cover;object-position:center top;background:#e9ebee}
.nsseminar .nss-speaker__heading{display:flex;flex-direction:column;margin:0!important}
.nsseminar .nss-speaker__label{display:block;margin:0 0 8px;color:#1e70fa;font:700 16px/1.5 "Figtree","Noto Sans JP",sans-serif;letter-spacing:1px}
.nsseminar .nss-speaker__name{display:block;margin:0!important;font-size:40px;font-weight:700;letter-spacing:4px;line-height:1.4;color:#1a1a1a}
.nsseminar .nss-speaker__role{margin:6px 0 24px;font-size:16px;font-weight:700;color:#0e254d}
.nsseminar .nss-speaker__body>p:not([class]){font-size:16px;line-height:1.9}
.nsseminar .nss-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0 24px!important}
.nsseminar .nss-stats li{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 8px;background:#fff;text-align:center}
.nsseminar .nss-stats__label{font-size:14px;font-weight:700;color:#1a1a1a}
.nsseminar .nss-stats strong{font-size:28px;font-weight:700;line-height:1.2;color:#0e254d}
.nsseminar .nss-stats small{display:inline;margin-left:2px;font-size:13px}
.nsseminar .nss-stats li:last-child small{display:block;margin:4px 0 0}
.nsseminar .nss-link{display:inline-flex;gap:8px;align-items:center;color:#0e254d;font-weight:700;font-size:15px;text-decoration:none;border-bottom:1px solid #0e254d;padding-bottom:2px}
.nsseminar .nss-link:hover{opacity:.7}

/* 実績 */
.nsseminar .nss-records{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.nsseminar .nss-record{display:flex;flex-direction:column;padding:32px 28px;background:#fff;border:1px solid #d9dfe8;border-top:4px solid #0e254d}
.nsseminar .nss-record__tag{align-self:flex-start;margin:0 0 14px;padding:4px 12px;background:#ebf2fa;color:#1659ca;font-size:13px;font-weight:700}
.nsseminar .nss-record__title{margin:0 0 12px!important;font-size:19px;font-weight:700;line-height:1.6;color:#1a1a1a}
.nsseminar .nss-record>p:not([class]){margin:0 0 16px;font-size:15px;line-height:1.85}
.nsseminar .nss-record .nss-link{margin-top:auto;align-self:flex-start}
.nsseminar .nss-logos__title{margin:8px 0 -24px;text-align:center;font-size:16px;font-weight:700}
.nsseminar .nss-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.nsseminar .nss-logos li{display:flex;align-items:center;justify-content:center;height:88px;padding:16px 24px;background:#fff;border:1px solid #d9dfe8}
.nsseminar .nss-logos img{max-width:100%;max-height:44px;width:auto;height:auto;object-fit:contain}

/* 講演料の金額 */
.nsseminar .p-service-price__amount{white-space:nowrap}

/* 対応エリア */
.nsseminar .nss-area{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;border-top:2px solid #0e254d}
.nsseminar .nss-area__row{display:grid;grid-template-columns:120px 1fr;border-bottom:1px solid #d9dfe8;background:#fff}
.nsseminar .nss-area dt{padding:16px 18px;background:#0e254d;color:#fff;font-weight:700;font-size:15px}
.nsseminar .nss-area dd{margin:0;padding:16px 18px;font-size:14px;line-height:1.8}

/* 講演のあとに */
.nsseminar .nss-next__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.nsseminar .nss-next__card{display:flex;flex-direction:column;padding:32px 28px;background:#fff;border:1px solid #d9dfe8;color:#1a1a1a;text-decoration:none;transition:border-color .2s,box-shadow .2s}
.nsseminar .nss-next__card:hover{border-color:#0e254d;box-shadow:0 8px 24px rgba(14,37,77,.12)}
.nsseminar .nss-next__tag{margin:0 0 8px;color:#1659ca;font-size:13px;font-weight:700}
.nsseminar .nss-next__card h3{margin:0 0 12px!important;font-size:22px;font-weight:700;color:#0e254d}
.nsseminar .nss-next__card p:not([class]){margin:0 0 20px;font-size:15px;line-height:1.85}
.nsseminar .nss-next__more{margin-top:auto;font-weight:700;color:#d81e18}

/* 依頼欄：お問い合わせ枠の中に、記入項目とボタンを置く */
.nsseminar .nss-request{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:start;width:100%;margin-top:8px;text-align:left}
.nsseminar .nss-request__note{margin:0 0 14px;font-size:15px;line-height:1.8}
.nsseminar .nss-request__form{min-height:520px}
.nsseminar .nss-request__text p{margin:0 0 24px;font-size:16px;line-height:1.9}
.nsseminar .nss-request__btn{display:inline-flex;width:100%;max-width:400px}
.nsseminar .nss-template{margin:0;padding:20px 22px;background:#f6f6f6;border:1px dashed #9aa6b8;color:#1a1a1a;font:15px/2 "Noto Sans JP",sans-serif;white-space:pre-wrap;word-break:break-all;user-select:all}
.nsseminar .nss-copy{margin-top:14px;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 24px;background:#0e254d;color:#fff;border:0;font:700 15px/1.5 "Noto Sans JP",sans-serif;cursor:pointer}
.nsseminar .nss-copy[hidden]{display:none}
.nsseminar .nss-copy:hover{opacity:.85}
.nsseminar .nss-copy:focus-visible,.nsseminar a:focus-visible{outline:3px solid #eaa418;outline-offset:3px}
.nsseminar .nss-copy-status{margin:10px 0 0;min-height:1.5em;font-size:14px;color:#1659ca}
.nsseminar .nss-arrow-navy{color:#0e254d}

@media(max-width:1023px){
  .nsseminar .nss-themes,.nsseminar .nss-records,.nsseminar .nss-next__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nsseminar .nss-speaker{grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:48px}
  .nsseminar .nss-area{grid-template-columns:1fr}
}
@media(max-width:767px){
  .nsseminar .nss-inner{padding:56px 24px;gap:36px}
  .nsseminar .nss-title{align-items:flex-start;text-align:left}
  .nsseminar .nss-lead{text-align:left;margin-top:-12px}
  .nsseminar .nss-themes,.nsseminar .nss-records,.nsseminar .nss-next__grid,.nsseminar .nss-request{grid-template-columns:1fr}
  .nsseminar .nss-theme{padding:24px 20px}
  .nsseminar .nss-speaker{grid-template-columns:1fr;gap:32px}
  .nsseminar .nss-speaker__visual{max-width:320px;margin:0 auto}
  .nsseminar .nss-speaker__name{font-size:32px}
  .nsseminar .nss-stats{gap:8px}
  .nsseminar .nss-stats li{padding:14px 4px}
  .nsseminar .nss-stats strong{font-size:20px}
  .nsseminar .nss-stats__label{font-size:12px}
  .nsseminar .nss-stats small{font-size:11px}
  .nsseminar .nss-logos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nsseminar .nss-logos li{height:72px;padding:12px 16px}
  .nsseminar .nss-summary>div{grid-template-columns:96px 1fr}
  .nsseminar .nss-summary dt,.nsseminar .nss-summary dd{padding:12px 14px;font-size:14px}
  .nsseminar .nss-area__row{grid-template-columns:96px 1fr}
  .nsseminar .nss-area dt,.nsseminar .nss-area dd{padding:12px 14px}
}
.nsseminar .nss-nb{display:inline-block}
.nsseminar .nss-speaker__body>p:not([class]){margin:0 0 14px}
.nsseminar .nss-area__row{grid-template-columns:136px 1fr}
@media(max-width:767px){.nsseminar .nss-area__row{grid-template-columns:104px 1fr}}
/* 見出しの文字数がサービス名より多いので、2行に収まる大きさにする */
.nsseminar .p-service-fv__title{font-size:min(6.4vw,30px);line-height:1.35;white-space:nowrap}
@media(min-width:768px){.nsseminar .p-service-fv__title{font-size:clamp(28px,3.15vw,48px)}}

/* 固定ページでは本文（.post_content）の見出しスタイルが優先されるため、サービスページと同じ大きさに戻す */
.nsseminar-page .post_content .p-service h2{font-size:16px;line-height:1.5;letter-spacing:1px;font-weight:700}
.nsseminar-page .post_content h2.p-service-intro__title,.nsseminar-page .post_content h2.p-service-issue__title,.nsseminar-page .post_content h2.p-service-cta__title{font-size:var(--service-h2-main-size)}
.nsseminar-page .post_content h3.p-service-features__heading{font-size:24px}
.nsseminar-page .post_content h2.nss-title{line-height:1.5}
.nsseminar-page .post_content .nss-speaker__name{font-size:40px;letter-spacing:4px;line-height:1.4}
.nsseminar-page .post_content .nss-speaker__label{font-size:16px;letter-spacing:1px}
.nsseminar-page .post_content .nss-theme__title{font-size:20px}
.nsseminar-page .post_content .nss-record__title{font-size:19px;line-height:1.6}
.nsseminar-page .post_content .nss-next__card h3{font-size:22px}
@media(max-width:767px){
  .nsseminar-page .post_content h3.p-service-features__heading{font-size:18px}
  .nsseminar-page .post_content .nss-speaker__name{font-size:32px}
}

/* 「対象と内容」の見出し（PC・スマホで同じ文字列を1回だけ出す） */
.nsseminar .nss-features-main{display:block;font-size:var(--service-h2-main-size);font-weight:700;line-height:1.5}
