/*
 * Medibot｜事業会社向け オンライン診療立ち上げ支援
 *
 * 1. 共通スタイル・レスポンシブ
 * 2. ページ固有のスタイル（旧style属性）
 *
 * #medibot-business-lp の配下に限定した指定は、元のインライン指定と
 * 同じ優先関係を保つためのものです。!importantは追加していません。
 */

/* ============================================================
   1. 共通スタイル・レスポンシブ
   ============================================================ */

/* ベース */

body {
  margin: 0;
  font-family: 'Noto Sans JP','Inter',system-ui,-apple-system,'Hiragino Sans',sans-serif;
  color: #313131;
  background: #ffffff;
  -webkit-font-smoothing: antialiased;
  line-height: 1.7;
}

a {
  color: #118cab;
}

a:hover {
  color: #0d6f88;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* 共通レイアウト・見出し・配色 */

.oc {
  width: 100%;
  overflow: hidden;
}

.wrap {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 24px;
}

.sec {
  padding: 96px 0 ;
}
.sec_table01 {
  padding: 96px 0 0 0;
}
.sec_table02 {
  padding:0 0  96px;
}

.sec-alt {
  background: #eaf4f6;
}

.sec-dark {
  background: #156984;
  color: #ffffff;
}

.eyebrow {
  display: inline-block;
  font-family: 'Inter','Noto Sans JP',sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .14em;
  color: #118cab;
  text-transform: uppercase;
  margin: 0 0 12px;
}

.sec-dark .eyebrow {
  color: #9fdcea;
}

.h2 {
  font-size: 34px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .02em;
  margin: 0 0 16px;
}

.h3 {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 8px;
}

.lead {
  font-size: 16px;
  line-height: 1.9;
  color: #515151;
  margin: 0;
}

.sec-dark .lead {
  color: #d9eef3;
}

.center {
  text-align: center;
}

.left {
  text-align: left;
}

.mark {
  color: #118cab;
}

.gold {
  color: #de990f;
}

.num {
  font-family: 'Inter','Noto Sans JP',sans-serif;
  font-weight: 800;
}

.sp{
  display: block;
}

/* グリッド・カード */

.grid {
  display: grid;
  gap: 24px;
}

.g2 {
  grid-template-columns: repeat(2,minmax(0,1fr));
}

.g3 {
  grid-template-columns: repeat(3,minmax(0,1fr));
}

.g4 {
  grid-template-columns: repeat(4,minmax(0,1fr));
}

.g5 {
  grid-template-columns: repeat(5,minmax(0,1fr));
}

.card {
  background: #ffffff;
  border: 1px solid #ddedec;
  border-radius: 16px;
  padding: 28px;
}

.card-soft {
  background: #eaf4f6;
  border-radius: 16px;
  padding: 28px;
}

.ph {
  border: 2px dashed #92bac2;
  background: #eaf4f6;
  color: #156984;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  text-align: center;
  border-radius: 16px;
  font-size: 13px;
  line-height: 1.5;
  padding: 16px;
}

.ph strong {
  font-family: 'Inter','Noto Sans JP',sans-serif;
  font-size: 15px;
  letter-spacing: .06em;
}

/* アイコン・リスト */


.icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #eaf4f6;
  color: #118cab;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.icon svg {
  width: 24px;
  height: 24px;
}

.tag {
  display: inline-block;
  background: #ffffff;
  border: 1px solid #bfd6dc;
  color: #156984;
  border-radius: 999px;
  padding: 4px 16px;
  font-size: 12px;
  font-weight: 500;
  margin: 0 0;
}

.list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.list li {
  position: relative;
  padding-left: 24px;
  margin: 0 0 8px;
  font-size: 14px;
  line-height: 1.7;
  color: #515151;
}

.list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #118cab;
}

.list li::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 14px;
  width: 6px;
  height: 3px;
  border-left: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  transform: rotate(-45deg);
}

.step-n {
  font-family: 'Inter','Noto Sans JP',sans-serif;
  font-weight: 800;
  font-size: 20px;
  letter-spacing: .1em;
  color: #118cab;
  margin: 0;
}

/* ヘッダー・ファーストビュー */

.header {
  position: relative;
  z-index: 2;
  background: #ffffff;
  border-bottom: 1px solid #ddedec;
}

.nav {
  display: flex;
  align-items: center;
  gap: 28px;
  min-height: 76px;
}

.nav-links {
  display: flex;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
  flex: 1 1 auto;
  flex-wrap: wrap;
}

.nav-links a {
  color: #313131;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
}

.nav-links a:hover {
  color: #118cab;
}

.hero {
  background: #eaf4f6;
  position: relative;
  overflow: hidden;
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr);
  gap: 40px;
  align-items: center;
  padding: 72px 0 80px;
}

.hero h1 {
  font-size: 38px;
  line-height: 1.4;
  letter-spacing: .02em;
  margin: 0 0 20px;
  font-weight: 900;
}

.pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #ffffff;
  border: 1px solid #92bac2;
  color: #156984;
  font-size: 13px;
  font-weight: 700;
  border-radius: 999px;
  padding: 6px 14px;
  margin-bottom: 20px;
}

.kpi {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 0;
  border: 1px solid #ddedec;
  border-radius: 20px;
  overflow: hidden;
  background: #ffffff;
}

.kpi > div {
  padding: 28px 24px;
  text-align: center;
  border-left: 1px solid #ddedec;
}

.kpi > div:first-child {
  border-left: 0;
}

.kpi .big {
  font-size: 40px;
  line-height: 1.1;
  color: #118cab;
  margin: 6px 0 4px;
}

.kpi-section .kpi .big .kpi-small{
  font-size: 30px;
}

.kpi small {
  font-size: 13px;
  color: #707070;
}

/* 比較表・収益イメージ */

.cmp {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
}

.cmp .col {
  border-radius: 16px;
  padding: 20px;
  background: #ffffff;
  border: 1px solid #ddedec;
}

.cmp .col.me {
  background: #118cab;
  color: #ffffff;
  border-color: #118cab;
}

/* =============== 
表 table
================== */
.table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 14px;
  min-width: 760px;
}

.table th,
.table td {
  padding: 14px 12px;
  border-bottom: 1px solid #ddedec;
  text-align: center;
  vertical-align: middle;
  line-height: 1.5;
}

.table th {
  background: #eaf4f6;
  font-weight: 700;
  color: #156984;
}

.table td:first-child,
.table th:first-child {
  text-align: left;
  font-weight: 700;
  color: #313131;
  width: 22%;
}

.table .me {
  background: #fff8ea;
  color: #313131;
  font-weight: 700;
}

.table th.me {
  background: #de990f;
  color: #ffffff;
}

.mark-o {
  color: #118cab;
  font-weight: 800;
  font-size: 18px;
}

.mark-t {
  color: #de990f;
  font-weight: 800;
  font-size: 18px;
}

.mark-x {
  color: #b2b2b2;
  font-weight: 800;
  font-size: 18px;
}

.funnel-row {
  display: grid;
  grid-template-columns: 150px minmax(0,1fr) 140px;
  gap: 16px;
  align-items: center;
  margin-bottom: 10px;
}

.funnel-bar {
  height: 40px;
  border-radius: 8px;
  background: #118cab;
  display: flex;
  align-items: center;
  padding: 0 14px;
  color: #ffffff;
  font-weight: 700;
  font-size: 14px;
  white-space: nowrap;
  min-width: max-content;
}

.arrow-h {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #118cab;
}

/* よくある質問 */

details {
  border-bottom: 1px solid #ddedec;
}

details summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 22px 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}

details summary::-webkit-details-marker {
  display: none;
}

details summary .q {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #118cab;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Inter',sans-serif;
  font-weight: 800;
  font-size: 14px;
}

details summary .pm {
  margin-left: auto;
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  color: #118cab;
}

details .a {
  padding: 0 0 24px 48px;
  font-size: 15px;
  line-height: 1.9;
  color: #515151;
}

/* フォーム */

.form {
  background: #ffffff;
  border-radius: 20px;
  padding: 40px;
  max-width: 760px;
  margin: 0 auto;
  color: #313131;
}

.field {
  margin-bottom: 18px;
}

.field label {
  display: block;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 6px;
}

.req {
  display: inline-block;
  background: #d32f2f;
  color: #ffffff;
  font-size: 11px;
  border-radius: 4px;
  padding: 1px 6px;
  margin-left: 8px;
  vertical-align: middle;
  font-weight: 700;
}

.field input,
.field select,
.field textarea {
  width: 100%;
  border: 1px solid #bfd6dc;
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 15px;
  font-family: inherit;
  background: #ffffff;
  color: #313131;
}

.field textarea {
  min-height: 120px;
  resize: vertical;
}

/* フッター・CTA・座組 */

.footer {
  background: #118cab;
  padding: 64px 0 32px;
  font-size: 14px;
}

.footer-grid {
  display: grid;
  grid-template-columns: 260px repeat(3,minmax(0,1fr));
  gap: 32px;
}

.footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer li {
  margin: 0 0 10px;
}

.footer a {
  color: #FFFFFF;
  text-decoration: none;
}

.footer a:hover {
  opacity: 0.5;
}

.legal {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  justify-content: center;
  margin: 48px 0 16px;
  font-size: 12px;
}

.copyright {
  text-align: center;
  font-size: 12px;
  color: #FFFFFF;
}

.cta-band {
  background: #118cab;
  color: #ffffff;
  padding: 80px 0;
}

.cta-band .lead {
  color: #e1f3f7;
}

.hide-sp {
  display: block;
}

.scheme-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) 110px minmax(0,1fr) 110px minmax(0,1fr);
  gap: 0;
  align-items: center;
}

.scheme-arrow {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 0 6px;
  color: #118cab;
}

.lane {
  display: grid;
  grid-template-columns: 120px minmax(0,1fr);
  gap: 12px;
  align-items: stretch;
}
.br-block{
  display: none;
}


/* ============================================================
   2. ページ固有のスタイル（旧style属性）
   同じ指定を使う要素は、共通のクラスにまとめています。
   ============================================================ */

/* ヘッダー */

#medibot-business-lp .header-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

#medibot-business-lp .header-logo {
  width: 52px;
  height: 48px;
  object-fit: contain;
}

#medibot-business-lp .header-copy {
  font-size: 13px;
  color: #156984;
  font-weight: 700;
  line-height: 1.3;
  display: none;
}

#medibot-business-lp .header-actions {
  display: flex;
  gap: 12px;
  flex: 0 0 auto;
}

#medibot-business-lp .header-button {
  min-height: 48px;
  padding: 0 24px;
  font-size: 14px;
}

/* ファーストビュー */

#medibot-business-lp .hero-description {
  margin-bottom: 28px;
}

#medibot-business-lp .hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

#medibot-business-lp .hero-benefits {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 28px;
  font-size: 13px;
  color: #156984;
  font-weight: 700;
}

#medibot-business-lp .feature-photo {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 20px;
  display: block;
}

/* 実績バー */

#medibot-business-lp .kpi-section {
  padding: 0 0 72px;
  margin-top: -40px;
  position: relative;
  z-index: 1;
}


/* 対象企業・共通の本文 */

#medibot-business-lp .target-section {
  padding-top: 0;
}

#medibot-business-lp .section-intro {
  max-width: 800px;
  margin: 0 auto 40px;
}

#medibot-business-lp .target-card {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 22px;
}

#medibot-business-lp .heading-compact {
  font-size: 16px;
}

#medibot-business-lp .copy-small {
  margin: 0;
  font-size: 13px;
  color: #515151;
}

#medibot-business-lp .target-note {
  margin: 24px 0 0;
  font-size: 13px;
  color: #707070;
}

/* 課題・運用体制 */

#medibot-business-lp .problem-grid {
  margin-bottom: 48px;
}

#medibot-business-lp .problem-card {
  display: flex;
  gap: 18px;
  align-items: flex-start;
}

#medibot-business-lp .problem-number {
  color: #118cab;
  font-size: 28px;
  line-height: 1;
}

#medibot-business-lp .copy-body {
  margin: 0;
  font-size: 14px;
  color: #515151;
}

#medibot-business-lp .operation-panel {
  background: #156984;
  color: #ffffff;
  border-radius: 24px;
  padding: 48px 40px;
}

#medibot-business-lp .section-intro-compact {
  max-width: 760px;
  margin: 0 auto 32px;
}

#medibot-business-lp .operation-title {
  font-size: 26px;
  line-height: 1.5;
  margin: 0 0 12px;
}

#medibot-business-lp .operation-highlight {
  color: #f5c400;
}

#medibot-business-lp .copy-on-dark {
  margin: 0;
  font-size: 14px;
  color: #d9eef3;
}

#medibot-business-lp .grid-tight {
  display: grid;
  grid-template-columns: 1fr 1fr; /* 2列にする */
  grid-template-areas:
    "top1 top2"
    "bottom bottom"; /* 下段は2列分を結合して1つにする */
  gap: 12px;
}
.card01 {
  grid-area: top1;
}
.card02 {
  grid-area: top2;
}
.card03 {
  grid-area: bottom; /* 下の要素を2列分に広げる */
}

#medibot-business-lp .operation-card {
  background: rgba(255,255,255,.1);
  border-radius: 14px;
  padding: 20px 16px;
}

#medibot-business-lp .operation-step {
  color: #9fdcea;
  margin: 0 0 6px;
}

#medibot-business-lp .operation-card-title {
  font-weight: 700;
  margin: 0 0 6px;
  font-size: 15px;
}

#medibot-business-lp .operation-card-copy {
  margin: 0;
  font-size: 12px;
  color: #d9eef3;
}

/* 市場背景 */

#medibot-business-lp .feature-grid {
  gap: 56px;
  align-items: center;
}

#medibot-business-lp .market-lead {
  margin-bottom: 24px;
}

#medibot-business-lp .panel-spacious {
  padding: 24px;
}

#medibot-business-lp .market-caption {
  margin: 0 0 20px;
  font-weight: 700;
  font-size: 14px;
  color: #156984;
}

#medibot-business-lp .market-numbers {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
  margin-bottom: 20px;
}

#medibot-business-lp .market-card {
  background: #ffffff;
  border-radius: 14px;
  padding: 20px;
}

#medibot-business-lp .caption-muted {
  margin: 0;
  font-size: 12px;
  color: #707070;
}

#medibot-business-lp .market-value {
  margin: 4px 0 0;
  font-size: 26px;
  color: #118cab;
  line-height: 1.2;
}

#medibot-business-lp .market-unit {
  font-size: 14px;
  color: #515151;
}

#medibot-business-lp .market-note {
  margin: 6px 0 0;
  font-size: 12px;
  color: #515151;
}

#medibot-business-lp .market-growth {
  background: #ffffff;
  border-radius: 14px;
  padding: 20px;
  display: flex;
  align-items: center;
  gap: 20px;
}

#medibot-business-lp .market-growth-value {
  font-size: 40px;
  color: #de990f;
  line-height: 1;
}

#medibot-business-lp .source-note {
  margin: 16px 0 0;
  font-size: 11px;
  color: #707070;
  line-height: 1.6;
}

/* サービス概要 */

#solution{
  background-color:#F5FAFB ;
}

#medibot-business-lp .section-intro-wide {
  max-width: 860px;
  margin: 0 auto 40px;
}

#medibot-business-lp .solution-grid {
  margin-top: 56px;
}

#medibot-business-lp .solution-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#medibot-business-lp .solution-title {
  font-size: 26px;
  margin-bottom: 12px;
}

#medibot-business-lp .lead-spaced {
  margin-bottom: 20px;
}

#medibot-business-lp .tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* 座組・役割分担 */

#medibot-business-lp .scheme-panel {
  background: #eaf4f6;
  border-radius: 24px;
  padding: 30px 24px;
}

#medibot-business-lp .scheme-card-business {
  background: #ffffff;
  border-radius: 16px;
  padding: 24px;
  text-align: center;
  border: 2px solid #118cab;
}

#medibot-business-lp .scheme-label-business {
  margin: 0 0 4px;
  font-size: 12px;
  color: #118cab;
  font-weight: 700;
  letter-spacing: .1em;
}

#medibot-business-lp .scheme-card-title {
  margin: 0 0 8px;
  font-size: 22px;
  font-weight: 900;
}

#medibot-business-lp .scheme-arrow-label {
  font-size: 11px;
  color: #156984;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
}

#medibot-business-lp .scheme-card-service {
  background: #ffffff;
  border-radius: 16px;
  padding: 24px;
  text-align: center;
  border: 2px solid #de990f;
}

#medibot-business-lp .scheme-label-service {
  margin: 0 0 4px;
  font-size: 12px;
  color: #de990f;
  font-weight: 700;
  letter-spacing: .1em;
}

#medibot-business-lp .scheme-card-clinic {
  background: #ffffff;
  border-radius: 16px;
  padding: 24px;
  text-align: center;
  border: 2px solid #156984;
}

#medibot-business-lp .scheme-label-clinic {
  margin: 0 0 4px;
  font-size: 12px;
  color: #156984;
  font-weight: 700;
  letter-spacing: .1em;
}

#medibot-business-lp .scheme-connector {
  display: flex;
  justify-content: center;
  margin: 16px 0 8px;
  color: #118cab;
}

#medibot-business-lp .scheme-platform {
  background: #118cab;
  color: #ffffff;
  border-radius: 16px;
  padding: 24px 28px;
  text-align: center;

}

#medibot-business-lp .scheme-platform-name {
  flex: 0 0 auto;
}

#medibot-business-lp .scheme-platform-label {
  margin: 0 0 2px;
  font-size: 12px;
  color: #c9eaf2;
  font-weight: 700;
  letter-spacing: .1em;
}

#medibot-business-lp .scheme-platform-title {
  margin: 0;
  font-size: 22px;
  font-weight: 900;
}

#medibot-business-lp .scheme-platform-description {
  margin: 0 0 10px;
  font-size: 13px;
  color: #e1f3f7;
}

#medibot-business-lp .scheme-platform-features {
  flex: 1 1 320px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

#medibot-business-lp .scheme-feature-tag {
  /* background: rgba(255,255,255,.14);
  border-radius: 999px;
  padding: 10px 18px; */
  font-size: 13px;
}

#medibot-business-lp .scheme-roles {
  margin-top: 32px;
}

#medibot-business-lp .role-business-title {
  color: #118cab;
}

#medibot-business-lp .role-clinic-title {
  color: #118cab;
}

#medibot-business-lp .role-service-title {
  color: #118cab;
}

/* 支援内容 */

#medibot-business-lp .support-card {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

#medibot-business-lp .support-options {
  margin-top: 28px;
  background: #ffffff;
  border-radius: 16px;
  padding: 20px 28px;
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
  border: 1px solid #ddedec;
}

#medibot-business-lp .support-options-title {
  font-weight: 700;
  color: #156984;
  font-size: 14px;
}

#medibot-business-lp .support-option-tag {
  background: #de990f;
  color: #ffffff;
  border-color: #de990f;
}

/* 活用モデル */

#medibot-business-lp .model-card {
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

#medibot-business-lp .model-photo {
  width: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
  display: block;
}

#medibot-business-lp .model-content {
  padding: 28px;
  flex: 1 1 auto;
}

#medibot-business-lp .model-description {
  margin: 0 0 14px;
  font-size: 14px;
  color: #515151;
}

/* 比較タイムライン・立ち上げステップ */

#medibot-business-lp .timeline-card-standard {
  padding: 32px;
  margin-bottom: 16px;
}

#medibot-business-lp .timeline-heading {
  display: flex;
  align-items: baseline;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

#medibot-business-lp .timeline-label-standard {
  font-size: 14px;
  font-weight: 700;
  color: #707070;
}

#medibot-business-lp .timeline-value-standard {
  font-size: 28px;
  color: #707070;
}

#medibot-business-lp .timeline-caption-standard {
  font-size: 13px;
  color: #707070;
}

#medibot-business-lp .timeline-standard-steps {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

#medibot-business-lp .timeline-standard-step {
  background: #f3f4f5;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 13px;
  color: #515151;
  flex: 1 1 120px;
  text-align: center;
}

#medibot-business-lp .timeline-arrow {
  color: #b2b2b2;
}

#medibot-business-lp .timeline-standard-goal {
  background: #313131;
  color: #ffffff;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 13px;
  flex: 0 0 auto;
  text-align: center;
  font-weight: 700;
}

#medibot-business-lp .timeline-card-medibot {
  padding: 32px;
  border: 2px solid #118cab;
}

#medibot-business-lp .timeline-label-medibot {
  font-size: 14px;
  font-weight: 700;
  color: #118cab;
}

#medibot-business-lp .timeline-value-medibot {
  font-size: 28px;
  color: #118cab;
}

#medibot-business-lp .text-small {
  font-size: 13px;
  color: #515151;
}

#medibot-business-lp .timeline-lane-system {
  background: #118cab;
  color: #ffffff;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 14px;
  padding: 12px;
}

#medibot-business-lp .timeline-services {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding-bottom: 1rem;
  border-bottom: 1px dotted #afafaf;
}

#medibot-business-lp .timeline-highlight-step {
  background: #fff8ea;
  border: 1px solid #f5c400;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 13px;
  flex: 1 1 160px;
  text-align: center;
  font-weight: 700;
}

#medibot-business-lp .timeline-goal {
  background: #de990f;
  color: #ffffff;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 13px;
  flex: 1 1 160px;
  text-align: center;
  font-weight: 700;
}

#medibot-business-lp .timeline-lane-clinic {
  background: #156984;
  color: #ffffff;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 14px;
  padding: 12px;
}

#medibot-business-lp .timeline-step {
  background: #eaf4f6;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 13px;
  flex: 1 1 160px;
  text-align: center;
}

#medibot-business-lp .timeline-lane-business {
  background: #92bac2;
  color: #ffffff;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 14px;
  padding: 12px;
  text-align: center;
}

#medibot-business-lp .timeline-note {
  margin: 16px 0 0;
  font-size: 12px;
  color: #707070;
}

#medibot-business-lp .launch-steps {
  margin-top: 64px;
}

#medibot-business-lp .launch-title {
  font-size: 26px;
  line-height: 1.5;
  margin: 0 0 8px;
}

#medibot-business-lp .launch-lead {
  font-size: 15px;
}

#medibot-business-lp .launch-list {
  margin-bottom: 14px;
}

#medibot-business-lp .launch-duration {
  margin: 0;
  font-size: 12px;
  color: #de990f;
  font-weight: 700;
}

#medibot-business-lp .launch-card-emphasis {
  border-color: #118cab;
  background: #f4fafb;
}

/* 収益イメージ */

#medibot-business-lp .revenue-grid {
  gap: 40px;
  align-items: start;
}

#medibot-business-lp .revenue-funnel-title {
  margin: 0 0 20px;
  font-weight: 700;
  color: #156984;
  font-size: 14px;
}

#medibot-business-lp .funnel-label {
  font-size: 13px;
  font-weight: 700;
}

#medibot-business-lp .funnel-visitors {
  width: 100%;
}

#medibot-business-lp .funnel-estimate {
  font-size: 12px;
  color: #707070;
}

#medibot-business-lp .funnel-line {
  width: 82%;
  background: #1e9fbf;
}

#medibot-business-lp .funnel-reservations {
  width: 66%;
  background: #3ab0cc;
}

#medibot-business-lp .funnel-first-visit {
  width: 56%;
  background: #5cbcc8;
}

#medibot-business-lp .funnel-prescriptions {
  width: 46%;
  background: #7fcad4;
}

#medibot-business-lp .funnel-repeat {
  width: 36%;
  background: #de990f;
}

#medibot-business-lp .revenue-note {
  margin: 12px 0 0;
  font-size: 11px;
  color: #707070;
}

#medibot-business-lp .revenue-result-title {
  margin: 0 0 16px;
  font-weight: 700;
  color: #156984;
  font-size: 14px;
}

#medibot-business-lp .revenue-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid #bfd6dc;
  font-size: 14px;
}

#medibot-business-lp .revenue-value {
  font-size: 18px;
  white-space: nowrap;
}

#medibot-business-lp .revenue-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 20px 0 0;
  font-size: 15px;
  font-weight: 700;
}

#medibot-business-lp .revenue-total-value {
  font-size: 32px;
  color: #118cab;
  white-space: nowrap;
}

#medibot-business-lp .revenue-assumptions {
  margin-top: 16px;
  padding: 22px 24px;
}

#medibot-business-lp .revenue-assumptions-title {
  margin: 0 0 8px;
  font-weight: 700;
  font-size: 14px;
}

#medibot-business-lp .revenue-assumptions-copy {
  margin: 0;
  font-size: 13px;
  color: #515151;
  line-height: 1.8;
}

#medibot-business-lp .revenue-disclaimer {
  margin: 12px 0 0;
  font-size: 11px;
  color: #707070;
  line-height: 1.6;
}

/* 開始後の運用 */
#after-launch{
  background-color:#F5FAFB ;
}

#medibot-business-lp .after-launch-visual {
  width: 100%;
  aspect-ratio: 4/3;
  min-height: 300px;
}

#medibot-business-lp .after-launch-card {
  background: #ffffff;
  border-radius: 12px;
  padding: 16px;
}

#medibot-business-lp .after-launch-step {
  margin: 0 0 4px;
}

#medibot-business-lp .after-launch-card-title {
  margin: 0;
  font-weight: 700;
  font-size: 14px;
}

#medibot-business-lp .after-launch-card-copy {
  margin: 4px 0 0;
  font-size: 12px;
  color: #515151;
}

#medibot-business-lp .after-launch-note {
  margin: 16px 0 0;
  font-size: 13px;
  color: #515151;
}

#medibot-business-lp .source-marker {
  font-size: 11px;
  color: #707070;
}

/* サービス比較表 */

#medibot-business-lp .comparison-scroll {
  overflow-x: auto;
  border: 1px solid #ddedec;
  border-radius: 16px;
}

/* よくある質問 */

#medibot-business-lp .faq-wrap {
  max-width: 900px;
}

#medibot-business-lp .faq-heading {
  margin-bottom: 32px;
}

#medibot-business-lp .faq-panel {
  background: #ffffff;
  border-radius: 20px;
  padding: 8px 32px;
}
#medibot-business-lp .faq-panel details:last-child{
  border-bottom: none;
}

/* 問い合わせ・フォーム */

#medibot-business-lp .contact-intro {
  max-width: 900px;
  margin: 0 auto 0;
}

#medibot-business-lp .contact-eyebrow {
  color: #c9eaf2;
}

#medibot-business-lp .contact-grid {
  gap: 0 20px;
}

#medibot-business-lp .consent-field {
  font-size: 13px;
}

#medibot-business-lp .consent-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 500;
}

#medibot-business-lp .consent-checkbox {
  width: 18px;
  height: 18px;
}

#medibot-business-lp .contact-note {
  font-size: 12px;
  color: #707070;
  margin: 0 0 20px;
}

#medibot-business-lp .contact-submit {
  min-width: 280px;
}

#medibot-business-lp .contact-links {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 32px;
}

#medibot-business-lp .contact-line-link {
  color: #06c755;
}

/* フッター */

#medibot-business-lp .footer-logo {
  width: 64px;
  height: 60px;
  object-fit: contain;
  margin-bottom: 12px;
}

#medibot-business-lp .footer-brand {
  margin: 0 0 6px;
  color: #FFFFFF;
  font-weight: 700;
  font-size: 16px;
}

#medibot-business-lp .footer-description {
  margin: 0;
  font-size: 12px;
  color: #FFFFFF;
  line-height: 1.7;
}

/* ======================
13 Form CTA
========================= */
#contact{
  padding: 80px 0 40px;
}
.form-cta {
  padding: 44px 22px;
  color: #fff;
  background: #118cab;
}
.form-cta h2 {
  font-size: 26px;
  line-height: 1.55;
}
.form-cta p {
  margin-top: 24px;
  font-size: 16px;
  font-weight: 600;
}
.form-cta02 {
  padding: 40px 22px 44px;
  background: #eaf4f6;
}
.section__inner {
  width: min(100%, 860px);
  margin: 0 auto;
}


.main-img-pc{display: block;}
.main-img-sp{display: none;}

.br-600{display: none;}


/* レスポンシブ（960px以下） */

@media (max-width:960px) {
.pill,h1{position: relative;z-index:5 ;}
.main-img-pc{display: none;}
.main-img-sp{
  position: absolute;
  display: block;
  top:70px;
  right:0px;
  width: 30%;
}

  .hero-grid {
    grid-template-columns: minmax(0,1fr);
    padding: 48px 0 56px;
  }

.nav {

    justify-content:space-between
}

  .hero h1 {
    font-size: 32px;
  }

  .h2 {
    font-size: 28px;
  }

  .g3,
  .g4,
  .g5 {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  
  .funnel-row {
    grid-template-columns: 75px minmax(0,1fr) 80px;
  }
  .cmp {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .footer-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .nav-links {
    display: none;
  }

  .sec {
    padding: 64px 0;
  }

.sec_table01 {
  padding: 64px 0 0 0;
}
.sec_table02 {
  padding:0 0 64px;
}

  .scheme-row {
    grid-template-columns: minmax(0,1fr);
  }

  .scheme-arrow {
    padding: 10px 0;
  }

  .scheme-arrow svg {
    transform: rotate(90deg);
  }

  #medibot-business-lp .operation-panel{
    padding: 48px 20px !important;
}
  .br-block{
  display: inline-block;
}
.br-600{display: none;}
}

/* レスポンシブ（600px以下） */

@media (max-width:600px) {
  .g2,
  .g3,
  .g4,
  .g5,
  .cmp,
  .kpi,
  .footer-grid {
    grid-template-columns: minmax(0,1fr);
  }
  .hero-grid {
    grid-template-columns: minmax(0, 1fr);
    padding-top: 20px;
  }

.main-img-pc{display: none;}
.main-img-sp{
  width: 100%;
position: static;
display: block;
}
#medibot-business-lp .main-img-sp .feature-photo {
  aspect-ratio: 6 / 3;
  padding-bottom: 1rem;
}

.pill{
  font-size: 10px;
}
.nav {
    display: flex;
    align-items: center;
    gap: 28px;
    min-height: 60px;
    justify-content:space-between
}

#medibot-business-lp .header-button {
    min-height: 38px;
    padding: 0 24px;
    font-size: 12px;
    justify-content: flex-end;
}

  .kpi > div {
    border-left: 0;
    border-top: 1px solid #ddedec;
  }

  .kpi > div:first-child {
    border-top: 0;
  }

  .hero h1 {
    font-size: 25px;
  }

  .h2 {
    font-size: 22px;
    text-align: left;
  }
 .h3{
    font-size: 18px;
  }

  .lead{
    text-align: left;
  }

  .form {
    padding: 24px;
  }

  .funnel-row {
    grid-template-columns: 110px minmax(0,1fr) 90px;
    gap: 8px;
  }

  .hide-sp {
    display: none;
  }

  .btn {
    width: 100%;
  }

  .lane {
    grid-template-columns: minmax(0,1fr);
  }

  .lane > div:nth-child(odd) {
    padding: 8px;
  }

#medibot-business-lp .grid-tight {
  display: grid;
  grid-template-columns: 1fr; /* 1列にする */
  grid-template-areas:
    "top1"
    "top2"
    "bottom"; /* 下段は2列分を結合して1つにする */
  gap: 12px;
}
.card01 {
  grid-area: top1;
}
.card02 {
  grid-area: top2;
}
.card03 {
  grid-area: bottom; /* 下の要素を2列分に広げる */
}


#medibot-business-lp .copy-on-dark {
  text-align: left;
}
#medibot-business-lp .operation-title {
  font-size: 20px !important;
text-align: left;
}
#medibot-business-lp .operation-panel{
    padding: 48px 20px !important;
}

#medibot-business-lp .scheme-platform{
  padding: 24px 20px;
}
.launch-title{
text-align: left;
}
  br.sp{
  display: none;
}
.br-block{
  display: inline-block;
}
.br-600{display: inline-block;;}

/* =============== 
表 table
================== */
.sec_table02 .wrap{
  padding: 0 10px;
}
.table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 11px;
  min-width: 100%;
}

.table th,
.table td {
  padding: 14px 5px;
  border-bottom: 1px solid #ddedec;
  text-align: center;
  vertical-align: middle;
  line-height: 1.5;
}

.table th {
  background: #eaf4f6;
  font-weight: 700;
  color: #156984;
}

.table td:first-child,
.table th:first-child {
  text-align: center;
  font-weight: 600;
  color: #313131;
  width: 18%;
}

.table .me {
  background: #fff8ea;
  color: #313131;
  font-weight: 700;
  width: 22%;
}

.table th.me {
  background: #de990f;
  color: #ffffff;
  width: 22%;
}

.mark-o {
  color: #118cab;
  font-weight: 800;
  font-size: 14px;
}

.mark-t {
  color: #de990f;
  font-weight: 800;
  font-size: 14px;
}

.mark-x {
  color: #b2b2b2;
  font-weight: 800;
  font-size: 14px;
}

.funnel-row {
  display: grid;
  grid-template-columns: 75px minmax(0,1fr) 80px;
  gap: 16px;
  align-items: center;
  margin-bottom: 10px;
}

.funnel-bar {
  height: 40px;
  border-radius: 8px;
  background: #118cab;
  display: flex;
  align-items: center;
  padding: 0 14px;
  color: #ffffff;
  font-weight: 700;
  font-size: 14px;
  white-space: nowrap;
  min-width: max-content;
}

.arrow-h {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #118cab;
}
/* ===============
よくある質問
=================== */
#medibot-business-lp .faq-panel {
    padding: 8px 16px;
}

}

@media (max-width:405px) {
  #medibot-business-lp div.timeline-standard-steps {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

span.timeline-standard-step{
  flex: 1 1 80%;
}

}
@media screen and (max-width: 500px) {
  .fix-btn-wrapper .pl_fv-cta_btn001_sp {
    font-size: 0.7rem;
  }
  .fix-btn-wrapper .pl_fv-cta_btn001_sp .btn-form span,
  .fix-btn-wrapper .pl_fv-cta_btn001_sp .btn-meetings span {
    vertical-align: middle;
    font-size: 0.8rem;
    margin-left: 3px;
  }
}
/* ========================
btn
=========================== */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 56px;
  padding: 0 32px;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  border: 0;
  cursor: pointer;
  line-height: 1.3;
  white-space: nowrap;
  box-shadow: 0 6px 6px 0 rgba(0, 0, 0, 0.50);
}
.btn.header-button{
  box-shadow: none;
}
.btn.header-button:hover,
.btn.header-button:active{
  background-color: #FFF;
  color: #c5870c;
}

.btn-gold {
  background: #de990f;
  color: #ffffff;
  border: 2px solid #c5870c;
  width: 100%;
}

.btn-teal {
  background: #118cab;
  color: #ffffff;
}

.btn-teal:hover {
  background: #0d6f88;
  color: #ffffff;
}

.btn-white {
  background: #ffffff;
  color: #118cab;
  border: 2px solid #118cab;
}

.btn-ghost {
  background: #ffffff;
  color: #313131;
  border: 1px solid #bfd6dc;
}

.btn-ghost:hover {
  background: #eaf4f6;
  color: #313131;
}

/*ボタンを押したとき*/
.btn-form:active,
.btn-form:hover {
  background-color: #118cab;
  color: #FFF;
  -webkit-transform: translateY(4px);
  transform: translateY(4px); /*下に動く*/
box-shadow: 0 6px 6px 0 rgba(0, 0, 0, 0.50);
}

/*ボタンを押したとき*/
.btn-meetings:active,
.btn-meetings:hover {
  background-color: #FFF;
  color: #c5870c;
  -webkit-transform: translateY(4px);
  transform: translateY(4px); /*下に動く*/
box-shadow: 0 6px 6px 0 rgba(0, 0, 0, 0.50);
}



/* ========================
cta
=========================== */
.btn-on-text{
  font-size: 0.9rem;
  font-weight: 600;
}
.prgn_fv-cta {
  width: 90%;
  margin: 4% auto 0 auto;
}

.pl_fv-cta_btn001_sp {
  margin: 1.5rem auto 0 auto;
  width: 94%;
  padding-bottom: 2rem;
}
.pl_fv-cta_btn001_sp a{
  font-size: 1.2rem;
  font-weight: 600;
}
@media screen and (min-width: 751px) {
  .btn-on-text{
  font-size: 1.2rem;
  font-weight: 500;
}
  .pl_fv-cta_btn001_sp a{
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.1rem;
}
  .pl_fv-cta_btn001_sp {
    margin: 0 auto 0 auto;
    max-width: 900px;
    width: 90%;
    font-size: 1.2rem;
    display: flex;
    gap: 20px;
  }
}
/* ------------------------------------
ボタンの基本スタイル
------------------------------------*/

/* ボタン自体のスタイル */

.shine-button {
	/*display: block;*/		/* 形状は block */
	/* ボタンを光らせるために必要 */
	position: relative;
	/* ボタンの位置を基準にするため relative指定 */
	overflow:hidden;		/* ボタンの外の領域は非表示 */
}


/* ボタン内のリンクのスタイル 
（リンク自体でボタンを作る場合には不要） */

.shine-button a {
	display: block;	/* 形状はblock */
	text-decoration:none;	/* 下線など文字装飾は無し */
}


/* リンク自体でボタンを作る場合の追加のスタイル
（ボックス＋その中にリンクのあるボタンの場合には不要）*/

a.shine-button {
    text-decoration: none;	/* リンクの下線は非表示 */
}


/* ------------------------------------
ボタンの外側にボックス作成
（疑似要素「before」を使う）
------------------------------------*/
.shine-button::before {
	content: "";			/* 文字は表示しないので中身無しを指定 */
    
	position: absolute;	/* ボタンの位置を基準に絶対値指定する */
	display: block;		/* 形式はblock */

	background: linear-gradient(to right,rgba(255,255,255,0), rgba(255,255,255,0.9));
    /* 背景色は透明から白になるグラデーション */
	
	width: 50px;	/* 横幅 */
	height: 50px;	/* 縦幅 */

	top: -60px;	/* ボタン左上を基準に上へ60pxの位置 */
	left: -60px;	/* ボタン左上を基準に左へ60pxの位置 */


	/* アニメーションの動作指定 */
	animation-name:shine-run;	/* アニメーション名の指定 */
	animation-delay:0s;		/* アニメーションの開始時間指定 */
	animation-duration: 3s;	/* アニメーション動作時間の指定 */
	animation-timing-function: ease-in;
	/* アニメーションの動き指定（徐々に早く）*/
	animation-iteration-count: infinite;
	/* アニメーションの無限繰り返しの指定 */
}


/* ------------------------------------
アニメーションのタイミングとボックスの
拡大率、角度、透過率の指定
------------------------------------*/
@keyframes shine-run {
    0% {
        transform: scale(0) rotate(50deg);
        /* アニメ開始時は大きさ0、50度の傾き */
        
        opacity: 0;
        /* アニメ開始時は全透過 */
    }

    40% {
        transform: scale(1) rotate(50deg);
        /* 40%まで進む間に大きさを等倍に。傾きは50度のまま*/
        
        opacity: 1;
        /* 透過しない（しっかり表示される）ように1を設定 */
    }

    100% {
        transform: scale(250) rotate(50deg);
        /* 最後は元の大きさの250倍になるようにする。傾きは50度のまま*/

        opacity: 0;
        /* 全透過になるようにして、徐々に消えるような変化を付ける */
    }
}

/* ========================
fix-btn
=========================== */
.fix-btn-wrapper {
  position: fixed;
  z-index: 999;
  width: 100%;
  max-width: 999px;
  margin: 0 auto;
  bottom: 0;
  padding: 0px 2%;
  transition: opacity 1s ease-in-out;
  left: 50%;
  transform: translateX(-50%);
}

.fix_btn {
  opacity: 0;
  transition: opacity 0.5s ease;
  pointer-events: none;
}

.fix_btn.visible {
  opacity: 1;
  pointer-events: auto;
}

.fix-btn-wrapper .pl_fv-cta_btn001_sp {
  text-align: center;
  display: flex;
  gap: 5px;
  font-size: 0.85rem;
  font-weight: bolder;
  width: 100%;
  margin: 0 auto;
  padding-bottom: 0.5rem;
}
.fix-btn-wrapper .pl_fv-cta_btn001_sp .btn-form {
  width: 98%;
  display: block;
  padding: 1rem 0.3rem;
  text-decoration: none;
  background: #de990f; /*ボタン色*/
  color: #fff;
  border: 1px solid #c5870c;
  box-shadow: 0 6px 6px 0 rgba(0, 0, 0, 0.50);
  border-radius: 0.5rem;
  margin: 0 auto;
}
.fix-btn-wrapper .pl_fv-cta_btn001_sp .btn-form span {
  vertical-align: bottom;
  margin-left: 10px;
}

.fix-btn-wrapper .pl_fv-cta_btn001_sp .btn-meetings {
  width: 98%;
  display: block;
  padding: 1rem 0.3rem;
  text-decoration: none;
  background: #fff; /*ボタン色*/
  color: #118cab;
  border: 1px solid #118cab;
  box-shadow: 0 6px 6px 0 rgba(0, 0, 0, 0.50);
  margin: 0 auto;
  border-radius: 0.5rem;
}
.fix-btn-wrapper .pl_fv-cta_btn001_sp .btn-meetings span {
  vertical-align: bottom;
  margin-left: 5px;
}
  .fix-btn-wrapper .fix_btn .pl_fv-cta_btn001_sp a {
    font-size: 0.85rem !important;
  }
@media screen and (max-width: 500px) {
  .fix-btn-wrapper .pl_fv-cta_btn001_sp {
    font-size: 0.8rem;
  }
  .fix-btn-wrapper .pl_fv-cta_btn001_sp .btn-form span,
  .fix-btn-wrapper .pl_fv-cta_btn001_sp .btn-meetings span {
    vertical-align: middle;
    font-size: 0.8rem;
    margin-left: 3px;
  }
}

/* ========================
Scroll
=========================== */

html {
  scroll-behavior: smooth;
}


