.elementor-18 .elementor-element.elementor-element-7e486af3{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:stretch;--overflow:hidden;--overlay-opacity:0.22;--margin-top:-100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:80px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-18 .elementor-element.elementor-element-7e486af3:not(.elementor-motion-effects-element-type-background), .elementor-18 .elementor-element.elementor-element-7e486af3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-c1b4cc1 );}.elementor-18 .elementor-element.elementor-element-7e486af3::before, .elementor-18 .elementor-element.elementor-element-7e486af3 > .elementor-background-video-container::before, .elementor-18 .elementor-element.elementor-element-7e486af3 > .e-con-inner > .elementor-background-video-container::before, .elementor-18 .elementor-element.elementor-element-7e486af3 > .elementor-background-slideshow::before, .elementor-18 .elementor-element.elementor-element-7e486af3 > .e-con-inner > .elementor-background-slideshow::before, .elementor-18 .elementor-element.elementor-element-7e486af3 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-18 .elementor-element.elementor-element-1711f6d8{--display:flex;}.elementor-18 .elementor-element.elementor-element-1711f6d8.e-con{--align-self:center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-18 .elementor-element.elementor-element-219d7d76{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;top:0px;z-index:0;text-align:center;}.elementor-18 .elementor-element.elementor-element-219d7d76.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-18 .elementor-element.elementor-element-219d7d76 .elementor-heading-title{font-family:"Zen Old Mincho", Sans-serif;font-size:300px;font-weight:300;color:#7288AE0D;}.elementor-18 .elementor-element.elementor-element-4c742552{--spacer-size:69px;}.elementor-18 .elementor-element.elementor-element-2a2e955{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:10px 10px 10px 10px;}.elementor-18 .elementor-element.elementor-element-2a2e955 .heading .heading-title{font-family:"Zen Old Mincho", Sans-serif;font-size:95px;font-weight:600;color:var( --e-global-color-7a720f0 );}.elementor-18 .elementor-element.elementor-element-2a2e955 .heading .heading-sub-title{font-family:"Zen Old Mincho", Sans-serif;font-size:25px;font-weight:400;color:var( --e-global-color-7a720f0 );}.elementor-18 .elementor-element.elementor-element-9103538{--display:flex;}.elementor-18 .elementor-element.elementor-element-eafc217 .pt-plus-timeline-list .elementor-repeater-item-f32025a.timeline-item-wrap{margin-top:30px;}.elementor-18 .elementor-element.elementor-element-eafc217 .pt-plus-timeline-list .elementor-repeater-item-8970444.timeline-item-wrap{margin-top:30px;}.elementor-18 .elementor-element.elementor-element-eafc217 .pt-plus-timeline-list .elementor-repeater-item-0c476bb.timeline-item-wrap{margin-top:30px;}.elementor-18 .elementor-element.elementor-element-eafc217 .pt-plus-timeline-list .elementor-repeater-item-41451ad.timeline-item-wrap{margin-top:30px;}.elementor-18 .elementor-element.elementor-element-eafc217 .pt-plus-timeline-list .elementor-repeater-item-9545ae0.timeline-item-wrap{margin-top:60px;}.elementor-18 .elementor-element.elementor-element-eafc217 .pt-plus-timeline-list .elementor-repeater-item-bca5359.timeline-item-wrap{margin-top:60px;}.elementor-18 .elementor-element.elementor-element-eafc217 .pt-plus-timeline-list .elementor-repeater-item-6613ea6.timeline-item-wrap{margin-top:60px;}.elementor-18 .elementor-element.elementor-element-eafc217 .pt-plus-timeline-list .timeline-item-wrap .timeline-text-tooltip{color:var( --e-global-color-7a720f0 );}.elementor-18 .elementor-element.elementor-element-eafc217 .pt-plus-timeline-list .timeline-item-wrap:hover .timeline-text-tooltip{color:#3351a6;}.elementor-18 .elementor-element.elementor-element-eafc217 .pt-plus-timeline-list .timeline-item-wrap .timeline-pin-icon i.point-icon-inner{font-size:30px;}.elementor-18 .elementor-element.elementor-element-eafc217 .pt-plus-timeline-list .timeline-item-wrap .timeline-pin-icon svg{width:30px;height:30px;}.elementor-18 .elementor-element.elementor-element-eafc217 .pt-plus-timeline-list .timeline-item-wrap .timeline-pin-icon img.point-icon-inner{max-width:30px;}.elementor-18 .elementor-element.elementor-element-eafc217 .pt-plus-timeline-list .timeline-item-wrap .point-icon .timeline-tooltip-wrap{color:#313131;background:#FFFFFF;border-color:#FFFFFF;}.elementor-18 .elementor-element.elementor-element-eafc217 .pt-plus-timeline-list .timeline-item-wrap .point-icon .timeline-tooltip-wrap svg{fill:#313131;}.elementor-18 .elementor-element.elementor-element-eafc217 .pt-plus-timeline-list .timeline-item-wrap:hover .point-icon .timeline-tooltip-wrap{color:var( --e-global-color-4d3f6bc );background:#FFFFFF;border-color:#FFFFFF;}.elementor-18 .elementor-element.elementor-element-eafc217 .pt-plus-timeline-list .timeline-item-wrap:hover .point-icon .timeline-tooltip-wrap svg{fill:var( --e-global-color-4d3f6bc );}.elementor-18 .elementor-element.elementor-element-eafc217 .pt-plus-timeline-list .timeline-item-wrap .timeline-item-heading{font-family:"Zen Old Mincho", Sans-serif;font-size:28px;color:var( --e-global-color-7a720f0 );}.elementor-18 .elementor-element.elementor-element-eafc217 .pt-plus-timeline-list .timeline-item-wrap:hover .timeline-item-heading{color:#3351a6;}.elementor-18 .elementor-element.elementor-element-eafc217 .timeline-style-1 .timeline-item-wrap:hover .timeline-item .timeline-tl-before{border-color:var( --e-global-color-astglobalcolor1 );}.elementor-18 .elementor-element.elementor-element-eafc217 .timeline-style-2 .timeline-item-wrap:hover .border-bottom hr{border-top-color:var( --e-global-color-astglobalcolor1 );}.elementor-18 .elementor-element.elementor-element-eafc217 .pt-plus-timeline-list .timeline-item-wrap .timeline-item-description{font-family:"Zen Old Mincho", Sans-serif;font-size:17px;line-height:28px;}.elementor-18 .elementor-element.elementor-element-eafc217 .pt-plus-timeline-list .timeline-item-wrap .timeline-item-description,.elementor-18 .elementor-element.elementor-element-eafc217 .pt-plus-timeline-list .timeline-item-wrap .timeline-item-description p{color:var( --e-global-color-7a720f0 );-webkit-transition:var( --e-global-color-7a720f0 );-moz-transition:var( --e-global-color-7a720f0 );-o-transition:var( --e-global-color-7a720f0 );-ms-transition:var( --e-global-color-7a720f0 );transition:var( --e-global-color-7a720f0 );}.elementor-18 .elementor-element.elementor-element-eafc217 .pt-plus-timeline-list .timeline-item-wrap:hover .timeline-item-description,.elementor-18 .elementor-element.elementor-element-eafc217 .pt-plus-timeline-list .timeline-item-wrap:hover .timeline-item-description p{color:var( --e-global-color-7a720f0 );}.elementor-18 .elementor-element.elementor-element-eafc217 .pt_plus_button .button-link-wrap{padding:10px 20px 10px 20px;}.elementor-18 .elementor-element.elementor-element-eafc217 .pt_plus_button{margin-top:15px;}.elementor-18 .elementor-element.elementor-element-eafc217 .pt_plus_button.button-style-8 .button-link-wrap{border-style:solid;border-width:1px 1px 1px 1px;border-color:#313131;border-radius:3px 3px 3px 3px;}.elementor-18 .elementor-element.elementor-element-eafc217 .pt_plus_button.button-style-8 .button-link-wrap:hover{border-color:#313131;}.elementor-18 .elementor-element.elementor-element-eafc217 .pt-plus-timeline-list .timeline-beginning-icon{font-size:20px;}.elementor-18 .elementor-element.elementor-element-eafc217 .pt-plus-timeline-list .timeline-beginning-icon svg{width:20px;height:20px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-18 .elementor-element.elementor-element-7e486af3{--content-width:1140px;}.elementor-18 .elementor-element.elementor-element-1711f6d8{--width:150%;}}/* Start custom CSS for tp-timeline, class: .elementor-element-eafc217 *//* =========================
   Tomorlt Representative Timeline
   対象：elementor-element-eafc217 のみ
   Brush up version
========================= */


/* =========================
   0. 調整用：基本設定
========================= */

.elementor-element-eafc217 {
  /* 基本色 */
  --tomorlt-navy: #060739;
  --tomorlt-white: #ffffff;

  /* メンバー導入カード背景：少し落ち着いたブルー */
  --tomorlt-member-blue: #253A8A;

  /* 縦の点線 */
  --timeline-line-width: 1px;
  --timeline-line-dot: 2px;
  --timeline-line-gap: 34px;

  /* 1個目：ネイビーカード */
  --card-navy-padding-top: 82px;
  --card-navy-padding-right: 92px;
  --card-navy-padding-bottom: 82px;
  --card-navy-padding-left: 92px;
  --card-navy-min-height: 520px;

  /* 1個目：名前 */
  --representative-name-size-min: 28px;
  --representative-name-size-fluid: 2.15vw;
  --representative-name-size-max: 42px;

  /* 1個目：本文 */
  --representative-body-size-min: 16px;
  --representative-body-size-fluid: 1.18vw;
  --representative-body-size-max: 19px;
  --representative-body-line-height: 2.08;

  /* メンバー導入カード */
  --member-intro-padding-top: 72px;
  --member-intro-padding-right: 86px;
  --member-intro-padding-bottom: 70px;
  --member-intro-padding-left: 86px;
  --member-intro-min-height: 320px;

  /* 2個目以降：画像ありレイアウト */
  --timeline-image-width: 38%;
  --timeline-image-max-width: 370px;
  --timeline-column-gap: 58px;

  /* 画像なし本文幅 */
  --timeline-no-image-text-max-width: 900px;

  /* 2個目以降：英字ラベル */
  --timeline-label-size: 12px;
  --timeline-label-letter-spacing: 0.24em;
  --timeline-label-margin-bottom: 30px;

  /* 空ポイント用の小さいドット */
  --empty-point-size: 8px;
}


/* =========================
   1. 縦のメモリ線
========================= */

.elementor-element-eafc217 .timeline-track,
.elementor-element-eafc217 .timeline-track-draw {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  width: var(--timeline-line-width) !important;
  background: repeating-linear-gradient(
    to bottom,
    rgba(6,7,57,0.46) 0 var(--timeline-line-dot),
    transparent var(--timeline-line-dot) var(--timeline-line-gap)
  ) !important;
  border: none !important;
  box-shadow: none !important;
}


/* =========================
   2. Pin Title・日付・デモ装飾の整理
========================= */

.elementor-element-eafc217 .timeline-text-tooltip::before,
.elementor-element-eafc217 .timeline-text-tooltip::after,
.elementor-element-eafc217 .timeline-text-tooltip *::before,
.elementor-element-eafc217 .timeline-text-tooltip *::after {
  content: "" !important;
  display: none !important;
}

.elementor-element-eafc217 .timeline-text-tooltip,
.elementor-element-eafc217 .timeline-tooltip-wrap .timeline-text-tooltip,
.elementor-element-eafc217 .timeline-tooltip-wrap .timeline-text-tooltip *,
.elementor-element-eafc217 .timeline-year,
.elementor-element-eafc217 .timeline-date {
  display: none !important;
}

.elementor-element-eafc217 .point-icon,
.elementor-element-eafc217 .point-icon.style-1,
.elementor-element-eafc217 .timeline-tooltip-wrap,
.elementor-element-eafc217 .timeline-point-icon {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.elementor-element-eafc217 .point-icon::before,
.elementor-element-eafc217 .point-icon::after,
.elementor-element-eafc217 .timeline-tooltip-wrap::before,
.elementor-element-eafc217 .timeline-tooltip-wrap::after,
.elementor-element-eafc217 .timeline-point-icon::before,
.elementor-element-eafc217 .timeline-point-icon::after {
  content: "" !important;
  display: none !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}


/* =========================
   3. 空のポイントに小さいドットを表示
========================= */

.elementor-element-eafc217 .elementor-repeater-item-f32025a .timeline-point-icon,
.elementor-element-eafc217 .elementor-repeater-item-41451ad .timeline-point-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.elementor-element-eafc217 .elementor-repeater-item-f32025a .timeline-point-icon::before,
.elementor-element-eafc217 .elementor-repeater-item-41451ad .timeline-point-icon::before {
  content: "";
  display: block !important;
  width: var(--empty-point-size);
  height: var(--empty-point-size);
  border-radius: 50%;
  background: var(--tomorlt-navy);
  box-shadow: 0 0 0 8px rgba(6,7,57,0.05);
}


/* =========================
   4. 1個目：代表紹介ネイビーカード
========================= */

.elementor-element-eafc217 .elementor-repeater-item-f32025a .timeline-item-content {
  display: block !important;
  background:
    radial-gradient(circle at 78% 44%, rgba(45,76,173,0.22), transparent 34%),
    linear-gradient(135deg, #050521 0%, #080946 52%, #0b0c55 100%) !important;
  color: var(--tomorlt-white) !important;
  padding:
    var(--card-navy-padding-top)
    var(--card-navy-padding-right)
    var(--card-navy-padding-bottom)
    var(--card-navy-padding-left) !important;
  border-radius: 0 !important;
  text-align: left !important;
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  min-height: var(--card-navy-min-height) !important;
  box-shadow: 0 26px 70px rgba(6,7,57,0.12) !important;
}

/* 1個目の画像エリアは使わない */
.elementor-element-eafc217 .elementor-repeater-item-f32025a .timeline-content-image {
  display: none !important;
}

/* 背景のTOMORLT透かし */
.elementor-element-eafc217 .elementor-repeater-item-f32025a .timeline-item-content::after {
  content: "TOMORLT";
  position: absolute;
  top: 118px;
  right: -18px;
  left: auto;
  z-index: 1;
  font-family: "Times New Roman", "Zen Old Mincho", serif;
  font-size: clamp(96px, 9vw, 178px);
  line-height: 0.9;
  letter-spacing: 0.055em;
  color: rgba(255,255,255,0.04);
  white-space: nowrap;
  pointer-events: none;
}

/* 1個目：上の英字ラベル */
.elementor-element-eafc217 .elementor-repeater-item-f32025a .timeline-item-content::before {
  content: "REPRESENTATIVE";
  display: block !important;
  position: relative !important;
  z-index: 3 !important;
  color: rgba(255,255,255,0.74) !important;
  font-family: "Times New Roman", "Zen Old Mincho", "Noto Serif JP", serif !important;
  font-size: 12px !important;
  line-height: 1 !important;
  letter-spacing: 0.32em !important;
  margin-bottom: 46px !important;
}

/* 1個目：既存見出しを消してCSSで名前を出す */
.elementor-element-eafc217 .elementor-repeater-item-f32025a .timeline-item-heading {
  display: block !important;
  position: relative !important;
  z-index: 3 !important;
  margin: 0 0 34px !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
}

.elementor-element-eafc217 .elementor-repeater-item-f32025a .timeline-item-heading::before {
  content: "田邉輝恭／Tomorlt代表";
  display: block !important;
  color: var(--tomorlt-white) !important;
  font-family: "Zen Old Mincho", "Noto Serif JP", serif !important;
  font-weight: 400 !important;
  font-size: clamp(
    var(--representative-name-size-min),
    var(--representative-name-size-fluid),
    var(--representative-name-size-max)
  ) !important;
  line-height: 1.34 !important;
  letter-spacing: 0.055em !important;
}

/* 1個目：名前下の線 */
.elementor-element-eafc217 .elementor-repeater-item-f32025a .timeline-item-heading::after {
  content: "";
  display: block !important;
  width: 82px;
  height: 1px;
  background: rgba(255,255,255,0.54);
  margin-top: 30px;
}

/* 1個目：既存本文を消してCSSで本文を出す */
.elementor-element-eafc217 .elementor-repeater-item-f32025a .timeline-item-description {
  display: block !important;
  position: relative !important;
  z-index: 3 !important;
  max-width: 760px !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

.elementor-element-eafc217 .elementor-repeater-item-f32025a .timeline-item-description p {
  display: none !important;
}

.elementor-element-eafc217 .elementor-repeater-item-f32025a .timeline-item-description::before {
  content:
    "Tomorlt代表。\A"
    "専門性を持つ人が、その力を最大限に発揮できる環境づくりを\A"
    "事業の核とする。\A"
    "\A"
    "学生時代、不慮の事故で首の骨を折り、\A"
    "若くして他界した親友がいる。\A"
    "\A"
    "その死を一つの契機として、\A"
    "自らの生き方を見つめ直し、\A"
    "製鉄所勤務を経て独立の道を選んだ。";

  white-space: pre-line !important;
  display: block !important;
  color: rgba(255,255,255,0.9) !important;
  font-family: "Zen Old Mincho", "Noto Serif JP", serif !important;
  font-size: clamp(
    var(--representative-body-size-min),
    var(--representative-body-size-fluid),
    var(--representative-body-size-max)
  ) !important;
  line-height: var(--representative-body-line-height) !important;
  letter-spacing: 0.058em !important;
  font-weight: 400 !important;
}


/* =========================
   5. メンバー紹介導入カード
========================= */

.elementor-element-eafc217 .elementor-repeater-item-41451ad .timeline-item-content {
  display: block !important;
  background:
    radial-gradient(circle at 82% 52%, rgba(255,255,255,0.13), transparent 35%),
    linear-gradient(135deg, #253A8A 0%, #5E7FB7 100%) !important;
  color: var(--tomorlt-white) !important;
  padding:
    var(--member-intro-padding-top)
    var(--member-intro-padding-right)
    var(--member-intro-padding-bottom)
    var(--member-intro-padding-left) !important;
  border-radius: 0 !important;
  text-align: left !important;
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  min-height: var(--member-intro-min-height) !important;
  box-shadow: 0 22px 60px rgba(37,58,138,0.13) !important;
}

/* メンバー導入カードの画像は使わない */
.elementor-element-eafc217 .elementor-repeater-item-41451ad .timeline-content-image {
  display: none !important;
}

/* 背景のTEAM透かし */
.elementor-element-eafc217 .elementor-repeater-item-41451ad .timeline-item-content::after {
  content: "TEAM";
  position: absolute;
  top: 64px;
  right: 58px;
  left: auto;
  z-index: 1;
  font-family: "Times New Roman", "Zen Old Mincho", serif;
  font-size: clamp(105px, 9.2vw, 178px);
  line-height: 0.9;
  letter-spacing: 0.07em;
  color: rgba(255,255,255,0.09);
  white-space: nowrap;
  pointer-events: none;
}

/* メンバー導入カード：英字ラベル */
.elementor-element-eafc217 .elementor-repeater-item-41451ad .timeline-item-content::before {
  content: "OUR TEAM";
  display: block !important;
  position: relative !important;
  z-index: 3 !important;
  color: rgba(255,255,255,0.82) !important;
  font-family: "Times New Roman", "Zen Old Mincho", "Noto Serif JP", serif !important;
  font-size: 12px !important;
  line-height: 1 !important;
  letter-spacing: 0.3em !important;
  margin-bottom: 38px !important;
}

/* メンバー導入カード：既存見出しを消してCSSで見出しを出す */
.elementor-element-eafc217 .elementor-repeater-item-41451ad .timeline-item-heading {
  display: block !important;
  position: relative !important;
  z-index: 3 !important;
  margin: 0 0 30px !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
}

.elementor-element-eafc217 .elementor-repeater-item-41451ad .timeline-item-heading::before {
  content: "Tomorltを支えるメンバー";
  display: block !important;
  color: var(--tomorlt-white) !important;
  font-family: "Zen Old Mincho", "Noto Serif JP", serif !important;
  font-weight: 400 !important;
  font-size: clamp(26px, 2vw, 36px) !important;
  line-height: 1.45 !important;
  letter-spacing: 0.055em !important;
}

/* メンバー導入カード：見出し下の線 */
.elementor-element-eafc217 .elementor-repeater-item-41451ad .timeline-item-heading::after {
  content: "";
  display: block !important;
  width: 72px;
  height: 1px;
  background: rgba(255,255,255,0.52);
  margin-top: 26px;
}

/* メンバー導入カード：既存本文を消してCSSで本文を出す */
.elementor-element-eafc217 .elementor-repeater-item-41451ad .timeline-item-description {
  display: block !important;
  position: relative !important;
  z-index: 3 !important;
  max-width: 760px !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

.elementor-element-eafc217 .elementor-repeater-item-41451ad .timeline-item-description p {
  display: none !important;
}

.elementor-element-eafc217 .elementor-repeater-item-41451ad .timeline-item-description::before {
  content:
    "それぞれの専門性を活かしながら、\A"
    "Tomorltの理念をともに支えるメンバーをご紹介します。";

  white-space: pre-line !important;
  display: block !important;
  color: rgba(255,255,255,0.9) !important;
  font-family: "Zen Old Mincho", "Noto Serif JP", serif !important;
  font-size: clamp(16px, 1.16vw, 18px) !important;
  line-height: 2.02 !important;
  letter-spacing: 0.06em !important;
  font-weight: 400 !important;
}


/* =========================
   6. 2個目以降：共通レイアウト
========================= */

.elementor-element-eafc217 .elementor-repeater-item-0c476bb .timeline-item-content,
.elementor-element-eafc217 .elementor-repeater-item-8970444 .timeline-item-content,
.elementor-element-eafc217 .elementor-repeater-item-9545ae0 .timeline-item-content,
.elementor-element-eafc217 .elementor-repeater-item-bca5359 .timeline-item-content,
.elementor-element-eafc217 .elementor-repeater-item-6613ea6 .timeline-item-content {
  position: relative !important;
  text-align: left !important;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

/* 2個目：画像あり / 画像左・文字右 */
.elementor-element-eafc217 .elementor-repeater-item-0c476bb .timeline-item-content {
  display: grid !important;
  grid-template-columns: var(--timeline-image-width) minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto !important;
  column-gap: var(--timeline-column-gap) !important;
  row-gap: 0 !important;
  align-items: start !important;
}

/* 3個目：画像なし / 1カラム */
.elementor-element-eafc217 .elementor-repeater-item-8970444 .timeline-item-content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto !important;
}

/* 4個目：MEMBER / 画像あり / 画像左・文字右 */
.elementor-element-eafc217 .elementor-repeater-item-9545ae0 .timeline-item-content {
  display: grid !important;
  grid-template-columns: var(--timeline-image-width) minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto !important;
  column-gap: var(--timeline-column-gap) !important;
  row-gap: 0 !important;
  align-items: start !important;
}

/* 5個目：MEMBER / 画像あり / 画像右・文字左 */
.elementor-element-eafc217 .elementor-repeater-item-bca5359 .timeline-item-content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) var(--timeline-image-width) !important;
  grid-template-rows: auto auto auto !important;
  column-gap: var(--timeline-column-gap) !important;
  row-gap: 0 !important;
  align-items: start !important;
}

/* 6個目：MEMBER / 画像あり / 画像左・文字右 */
.elementor-element-eafc217 .elementor-repeater-item-6613ea6 .timeline-item-content {
  display: grid !important;
  grid-template-columns: var(--timeline-image-width) minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto !important;
  column-gap: var(--timeline-column-gap) !important;
  row-gap: 0 !important;
  align-items: start !important;
}


/* =========================
   7. 画像エリア
========================= */

/* 1個目・3個目・メンバー導入カードは画像を使わない */
.elementor-element-eafc217 .elementor-repeater-item-f32025a .timeline-content-image,
.elementor-element-eafc217 .elementor-repeater-item-8970444 .timeline-content-image,
.elementor-element-eafc217 .elementor-repeater-item-41451ad .timeline-content-image {
  display: none !important;
}

/* 画像ありアイテム共通 */
.elementor-element-eafc217 .elementor-repeater-item-0c476bb .timeline-content-image,
.elementor-element-eafc217 .elementor-repeater-item-9545ae0 .timeline-content-image,
.elementor-element-eafc217 .elementor-repeater-item-bca5359 .timeline-content-image,
.elementor-element-eafc217 .elementor-repeater-item-6613ea6 .timeline-content-image {
  display: block !important;
  width: 100% !important;
  max-width: var(--timeline-image-max-width) !important;
  position: relative !important;
  overflow: hidden !important;
  grid-row: 1 / span 3 !important;
  box-shadow: 0 18px 50px rgba(6,7,57,0.11) !important;
}

/* 画像本体 */
.elementor-element-eafc217 .timeline-content-image img {
  width: 100% !important;
  max-width: var(--timeline-image-max-width) !important;
  height: auto !important;
  object-fit: cover !important;
  display: block !important;
}


/* =========================
   7-2. 画像差し替え
========================= */

/* 2個目：CAREERに代表写真を入れる */
.elementor-element-eafc217 .elementor-repeater-item-0c476bb .timeline-content-image {
  background-image: url('https://clinic-test.yashindesign.com/wp-content/uploads/2026/06/ceo-1.jpg') !important;
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  aspect-ratio: 4 / 5 !important;
  min-height: 420px !important;
}

/* 2個目にElementor側の画像が残っている場合はCSS背景を優先 */
.elementor-element-eafc217 .elementor-repeater-item-0c476bb .timeline-content-image img {
  opacity: 0 !important;
}


/* 4個目：MEMBERに仮画像を入れる */
.elementor-element-eafc217 .elementor-repeater-item-9545ae0 .timeline-content-image {
  background-image: url('https://clinic-test.yashindesign.com/wp-content/uploads/2026/06/image.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  aspect-ratio: 4 / 5 !important;
  min-height: 420px !important;
}

/* 4個目にElementor側の画像が残っている場合はCSS背景を優先 */
.elementor-element-eafc217 .elementor-repeater-item-9545ae0 .timeline-content-image img {
  opacity: 0 !important;
}


/* 5・6個目：画像が未設定の時もグレー四角に見えないようにする */
.elementor-element-eafc217 .elementor-repeater-item-bca5359 .timeline-content-image,
.elementor-element-eafc217 .elementor-repeater-item-6613ea6 .timeline-content-image {
  background:
    linear-gradient(135deg, rgba(6,7,57,0.08), rgba(37,58,138,0.14)),
    #D8DEE9 !important;
  aspect-ratio: 4 / 5 !important;
  min-height: 420px !important;
}

.elementor-element-eafc217 .elementor-repeater-item-bca5359 .timeline-content-image::after,
.elementor-element-eafc217 .elementor-repeater-item-6613ea6 .timeline-content-image::after {
  content: "MEMBER";
  position: absolute;
  right: 22px;
  bottom: 20px;
  font-family: "Times New Roman", "Zen Old Mincho", serif;
  font-size: 26px;
  letter-spacing: 0.16em;
  color: rgba(6,7,57,0.12);
}


/* =========================
   8. 2個目以降：左右配置
========================= */

/* 2個目：画像左 / 文字右 */
.elementor-element-eafc217 .elementor-repeater-item-0c476bb .timeline-content-image {
  grid-column: 1 !important;
}

.elementor-element-eafc217 .elementor-repeater-item-0c476bb .timeline-item-content::before,
.elementor-element-eafc217 .elementor-repeater-item-0c476bb .timeline-item-heading,
.elementor-element-eafc217 .elementor-repeater-item-0c476bb .timeline-item-description {
  grid-column: 2 !important;
}

/* 3個目：画像なし */
.elementor-element-eafc217 .elementor-repeater-item-8970444 .timeline-item-content::before,
.elementor-element-eafc217 .elementor-repeater-item-8970444 .timeline-item-heading,
.elementor-element-eafc217 .elementor-repeater-item-8970444 .timeline-item-description {
  grid-column: 1 !important;
}

/* 4個目：画像左 / 文字右 */
.elementor-element-eafc217 .elementor-repeater-item-9545ae0 .timeline-content-image {
  grid-column: 1 !important;
}

.elementor-element-eafc217 .elementor-repeater-item-9545ae0 .timeline-item-content::before,
.elementor-element-eafc217 .elementor-repeater-item-9545ae0 .timeline-item-heading,
.elementor-element-eafc217 .elementor-repeater-item-9545ae0 .timeline-item-description {
  grid-column: 2 !important;
}

/* 5個目：画像右 / 文字左 */
.elementor-element-eafc217 .elementor-repeater-item-bca5359 .timeline-content-image {
  grid-column: 2 !important;
}

.elementor-element-eafc217 .elementor-repeater-item-bca5359 .timeline-item-content::before,
.elementor-element-eafc217 .elementor-repeater-item-bca5359 .timeline-item-heading,
.elementor-element-eafc217 .elementor-repeater-item-bca5359 .timeline-item-description {
  grid-column: 1 !important;
}

/* 6個目：画像左 / 文字右 */
.elementor-element-eafc217 .elementor-repeater-item-6613ea6 .timeline-content-image {
  grid-column: 1 !important;
}

.elementor-element-eafc217 .elementor-repeater-item-6613ea6 .timeline-item-content::before,
.elementor-element-eafc217 .elementor-repeater-item-6613ea6 .timeline-item-heading,
.elementor-element-eafc217 .elementor-repeater-item-6613ea6 .timeline-item-description {
  grid-column: 2 !important;
}


/* =========================
   9. 2個目以降：英字ラベル
========================= */

.elementor-element-eafc217 .elementor-repeater-item-0c476bb .timeline-item-content::before,
.elementor-element-eafc217 .elementor-repeater-item-8970444 .timeline-item-content::before,
.elementor-element-eafc217 .elementor-repeater-item-9545ae0 .timeline-item-content::before,
.elementor-element-eafc217 .elementor-repeater-item-bca5359 .timeline-item-content::before,
.elementor-element-eafc217 .elementor-repeater-item-6613ea6 .timeline-item-content::before {
  display: block !important;
  position: relative !important;
  grid-row: 1 !important;
  font-family: "Times New Roman", "Zen Old Mincho", serif;
  font-size: var(--timeline-label-size);
  line-height: 1;
  letter-spacing: var(--timeline-label-letter-spacing);
  color: rgba(6,7,57,0.62);
  margin: 0 0 var(--timeline-label-margin-bottom) !important;
}

/* 2個目ラベル */
.elementor-element-eafc217 .elementor-repeater-item-0c476bb .timeline-item-content::before {
  content: "CAREER";
}

/* 3個目ラベル */
.elementor-element-eafc217 .elementor-repeater-item-8970444 .timeline-item-content::before {
  content: "PHILOSOPHY";
}

/* 4個目以降ラベル：メンバー紹介 */
.elementor-element-eafc217 .elementor-repeater-item-9545ae0 .timeline-item-content::before,
.elementor-element-eafc217 .elementor-repeater-item-bca5359 .timeline-item-content::before,
.elementor-element-eafc217 .elementor-repeater-item-6613ea6 .timeline-item-content::before {
  content: "MEMBER";
}


/* =========================
   10. 2個目以降：見出し・本文の配置だけ指定
========================= */

/* 見出しの配置のみ */
.elementor-element-eafc217 .elementor-repeater-item-0c476bb .timeline-item-heading,
.elementor-element-eafc217 .elementor-repeater-item-8970444 .timeline-item-heading,
.elementor-element-eafc217 .elementor-repeater-item-9545ae0 .timeline-item-heading,
.elementor-element-eafc217 .elementor-repeater-item-bca5359 .timeline-item-heading,
.elementor-element-eafc217 .elementor-repeater-item-6613ea6 .timeline-item-heading {
  grid-row: 2 !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

/* 見出し下に細い線を追加 */
.elementor-element-eafc217 .elementor-repeater-item-0c476bb .timeline-item-heading::after,
.elementor-element-eafc217 .elementor-repeater-item-8970444 .timeline-item-heading::after,
.elementor-element-eafc217 .elementor-repeater-item-9545ae0 .timeline-item-heading::after,
.elementor-element-eafc217 .elementor-repeater-item-bca5359 .timeline-item-heading::after,
.elementor-element-eafc217 .elementor-repeater-item-6613ea6 .timeline-item-heading::after {
  content: "";
  display: block;
  width: 52px;
  height: 1px;
  background: rgba(6,7,57,0.34);
  margin-top: 22px;
  margin-bottom: 28px;
}

/* 本文エリアの配置のみ */
.elementor-element-eafc217 .elementor-repeater-item-0c476bb .timeline-item-description,
.elementor-element-eafc217 .elementor-repeater-item-8970444 .timeline-item-description,
.elementor-element-eafc217 .elementor-repeater-item-9545ae0 .timeline-item-description,
.elementor-element-eafc217 .elementor-repeater-item-bca5359 .timeline-item-description,
.elementor-element-eafc217 .elementor-repeater-item-6613ea6 .timeline-item-description {
  grid-row: 3 !important;
  display: block !important;
  width: 100% !important;
  max-width: 740px !important;
  min-width: 0 !important;
}

/* 画像なしのときは本文幅を広めに */
.elementor-element-eafc217 .elementor-repeater-item-8970444 .timeline-item-description {
  max-width: var(--timeline-no-image-text-max-width) !important;
}

/* PHILOSOPHYだけ少し余白を取る */
.elementor-element-eafc217 .elementor-repeater-item-8970444 .timeline-item-content {
  padding: 8px 0 12px !important;
}


/* =========================
   11. スマホ調整
========================= */

@media (max-width: 767px) {

  .elementor-element-eafc217 {
    --timeline-column-gap: 0px;
    --timeline-image-max-width: 100%;
  }

  /* 1個目：ネイビーカード */
  .elementor-element-eafc217 .elementor-repeater-item-f32025a .timeline-item-content {
    padding: 54px 28px 50px !important;
    min-height: auto !important;
    background:
      radial-gradient(circle at 75% 36%, rgba(45,76,173,0.20), transparent 40%),
      var(--tomorlt-navy) !important;
  }

  .elementor-element-eafc217 .elementor-repeater-item-f32025a .timeline-item-content::before {
    font-size: 11px !important;
    letter-spacing: 0.22em !important;
    margin-bottom: 38px !important;
  }

  .elementor-element-eafc217 .elementor-repeater-item-f32025a .timeline-item-content::after {
    top: 72px;
    left: 22px;
    right: auto;
    font-size: 72px;
    letter-spacing: 0.04em;
  }

  .elementor-element-eafc217 .elementor-repeater-item-f32025a .timeline-item-heading {
    margin-bottom: 28px !important;
  }

  .elementor-element-eafc217 .elementor-repeater-item-f32025a .timeline-item-heading::before {
    font-size: 30px !important;
    line-height: 1.38 !important;
    letter-spacing: 0.05em !important;
  }

  .elementor-element-eafc217 .elementor-repeater-item-f32025a .timeline-item-heading::after {
    width: 54px;
    margin-top: 24px;
  }

  .elementor-element-eafc217 .elementor-repeater-item-f32025a .timeline-item-description::before {
    font-size: 15px !important;
    line-height: 2 !important;
    letter-spacing: 0.04em !important;
  }

  /* メンバー導入カード */
  .elementor-element-eafc217 .elementor-repeater-item-41451ad .timeline-item-content {
    padding: 50px 28px 48px !important;
    min-height: auto !important;
  }

  .elementor-element-eafc217 .elementor-repeater-item-41451ad .timeline-item-content::before {
    font-size: 11px !important;
    letter-spacing: 0.22em !important;
    margin-bottom: 34px !important;
  }

  .elementor-element-eafc217 .elementor-repeater-item-41451ad .timeline-item-content::after {
    top: 60px;
    right: auto;
    left: 22px;
    font-size: 86px;
    letter-spacing: 0.05em;
  }

  .elementor-element-eafc217 .elementor-repeater-item-41451ad .timeline-item-heading {
    margin-bottom: 26px !important;
  }

  .elementor-element-eafc217 .elementor-repeater-item-41451ad .timeline-item-heading::before {
    font-size: 27px !important;
    line-height: 1.45 !important;
  }

  .elementor-element-eafc217 .elementor-repeater-item-41451ad .timeline-item-heading::after {
    width: 54px;
    margin-top: 24px;
  }

  .elementor-element-eafc217 .elementor-repeater-item-41451ad .timeline-item-description::before {
    font-size: 15px !important;
    line-height: 2 !important;
    letter-spacing: 0.04em !important;
  }

  /* 2個目以降：スマホは1カラム */
  .elementor-element-eafc217 .elementor-repeater-item-0c476bb .timeline-item-content,
  .elementor-element-eafc217 .elementor-repeater-item-8970444 .timeline-item-content,
  .elementor-element-eafc217 .elementor-repeater-item-9545ae0 .timeline-item-content,
  .elementor-element-eafc217 .elementor-repeater-item-bca5359 .timeline-item-content,
  .elementor-element-eafc217 .elementor-repeater-item-6613ea6 .timeline-item-content {
    display: flex !important;
    flex-direction: column !important;
    gap: 22px !important;
  }

  .elementor-element-eafc217 .timeline-content-image,
  .elementor-element-eafc217 .timeline-item-heading,
  .elementor-element-eafc217 .timeline-item-description {
    order: initial !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .elementor-element-eafc217 .timeline-content-image img {
    max-width: 100% !important;
  }

  .elementor-element-eafc217 .elementor-repeater-item-0c476bb .timeline-content-image,
  .elementor-element-eafc217 .elementor-repeater-item-9545ae0 .timeline-content-image,
  .elementor-element-eafc217 .elementor-repeater-item-bca5359 .timeline-content-image,
  .elementor-element-eafc217 .elementor-repeater-item-6613ea6 .timeline-content-image {
    min-height: 320px !important;
    aspect-ratio: 4 / 5 !important;
  }

  /* スマホ：縦線 */
  .elementor-element-eafc217 .timeline-track,
  .elementor-element-eafc217 .timeline-track-draw {
    background: repeating-linear-gradient(
      to bottom,
      rgba(6,7,57,0.46) 0 var(--timeline-line-dot),
      transparent var(--timeline-line-dot) 28px
    ) !important;
  }

  /* スマホ：英字ラベル */
  .elementor-element-eafc217 .elementor-repeater-item-0c476bb .timeline-item-content::before,
  .elementor-element-eafc217 .elementor-repeater-item-8970444 .timeline-item-content::before,
  .elementor-element-eafc217 .elementor-repeater-item-9545ae0 .timeline-item-content::before,
  .elementor-element-eafc217 .elementor-repeater-item-bca5359 .timeline-item-content::before,
  .elementor-element-eafc217 .elementor-repeater-item-6613ea6 .timeline-item-content::before {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    margin: 0 0 -6px !important;
  }

  .elementor-element-eafc217 .elementor-repeater-item-0c476bb .timeline-item-heading::after,
  .elementor-element-eafc217 .elementor-repeater-item-8970444 .timeline-item-heading::after,
  .elementor-element-eafc217 .elementor-repeater-item-9545ae0 .timeline-item-heading::after,
  .elementor-element-eafc217 .elementor-repeater-item-bca5359 .timeline-item-heading::after,
  .elementor-element-eafc217 .elementor-repeater-item-6613ea6 .timeline-item-heading::after {
    margin-top: 18px;
    margin-bottom: 22px;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9103538 */.elementor-18 .elementor-element.elementor-element-9103538 {
  position: relative;
  background:
    radial-gradient(circle at 88% 8%, rgba(114,136,174,0.12), transparent 28%),
    radial-gradient(circle at 12% 58%, rgba(6,7,57,0.035), transparent 30%),
    linear-gradient(180deg, #F7F8FA 0%, #FFFFFF 42%, #F6F7FA 100%) !important;
  padding-top: 96px;
  padding-bottom: 120px;
}

.elementor-18 .elementor-element.elementor-element-9103538::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: rgba(6,7,57,0.08);
}/* End custom CSS */