@charset "UTF-8";
/* いしのなかにいる */
.sp_none {
  display: inherit;
}
@media only screen and (max-width: 959px) {
  .sp_none {
    display: none;
  }
}

.pc_none {
  display: none;
}
@media only screen and (max-width: 959px) {
  .pc_none {
    display: inherit;
  }
}

/* 定例会ページ固有の最小スタイル。
   見出し・リード・カード・回遊ナビは common.scss の共通部品
   （.svc-lead / .title_dotline / .title_kagikakko / .columned+.boxed /
   .service_nav_cards）をそのまま使い、ここでは余白と箇条書きだけ整える。 */
.main_body {
  margin-bottom: 60px;
}

/* 緑地エリア（.content_section）のフェーズは白い角丸カードで見せる。
   背景の緑はカード間の余白に覗かせる想定（movie / web-development-operation と統一）。
   ※ .main_white 内の .mtg_phase はプレーン表示のままにしたいので、
     セレクタを .content_section 配下に限定する。 */
.content_section .mtg_phase {
  background: #ffffff;
  border-radius: 16px;
  padding: 48px 56px;
  margin-top: 40px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.05);
}
@media only screen and (max-width: 959px) {
  .content_section .mtg_phase {
    padding: 34px 38px;
  }
}
@media only screen and (max-width: 767px) {
  .content_section .mtg_phase {
    padding: 24px 20px;
    margin-top: 28px;
    border-radius: 12px;
  }
}
.content_section .mtg_phase > *:first-child {
  margin-top: 0;
}
.content_section .mtg_phase > *:last-child {
  margin-bottom: 0;
}

/* 導入リードに続く補足段落 */
.mtg_intro {
  line-height: 1.95;
  margin: 0 0 1.4em;
}

/* フェーズ（前 / 中 / 後） */
.mtg_phase {
  margin-top: 90px;
  line-height: 1.9;
}
@media only screen and (max-width: 767px) {
  .mtg_phase {
    margin-top: 60px;
  }
}
.mtg_phase > p {
  margin: 0 0 1.2em;
}

.mtg_lead {
  font-size: 16px;
  color: #44520f;
}
@media only screen and (max-width: 767px) {
  .mtg_lead {
    font-size: 15px;
  }
}

/* 事前レポート2種（.columned + .boxed を緑系トーンに） */
.mtg_reports {
  gap: 24px;
  margin: 1.8em 0 1.4em;
}
.mtg_reports .boxed {
  box-sizing: border-box;
  background: #f3f8e8;
  border: 2px solid #cbe39a;
  padding: 28px 32px;
}
@media only screen and (max-width: 767px) {
  .mtg_reports .boxed {
    padding: 20px 22px;
  }
}
.mtg_reports ._ttl {
  font-size: 19px;
  font-weight: 800;
  color: #2f3d0d;
  margin: 0 0 0.6em;
}
@media only screen and (max-width: 767px) {
  .mtg_reports ._ttl {
    font-size: 17px;
  }
}
.mtg_reports .boxed p:last-child {
  margin: 0;
  line-height: 1.85;
}
@media only screen and (max-width: 767px) {
  .mtg_reports .boxed + .boxed {
    margin-top: 16px;
  }
}

/* 箇条書き（緑リングのドット。movie ページの list と統一） */
.mtg_list {
  list-style: none;
  margin: 1.2em 0;
  padding: 0;
}
.mtg_list li {
  position: relative;
  padding-left: 1.5em;
  line-height: 1.85;
  margin: 0.55em 0;
}
.mtg_list li::before {
  content: "";
  position: absolute;
  left: 0.15em;
  top: 0.55em;
  width: 0.7em;
  height: 0.7em;
  border-radius: 50%;
  border: 3px solid #a7da30;
  box-sizing: border-box;
}

/* まとめ */
.mtg_closing {
  margin-top: 90px;
  line-height: 1.9;
}
@media only screen and (max-width: 767px) {
  .mtg_closing {
    margin-top: 60px;
  }
}
.mtg_closing > p {
  margin: 0 0 1.2em;
}

.mtg_worry {
  margin: 1.8em 0;
  background: #ffffff;
  border: 1px solid #e6e6e6;
}
.mtg_worry ._ttl {
  font-size: 18px;
  font-weight: 800;
  color: #2f3d0d;
  margin: 0 0 0.4em;
}
@media only screen and (max-width: 767px) {
  .mtg_worry ._ttl {
    font-size: 16px;
  }
}
.mtg_worry .mtg_list {
  margin: 0.6em 0 0;
}

.mtg_related {
  margin-top: 90px;
}
@media only screen and (max-width: 767px) {
  .mtg_related {
    margin-top: 60px;
  }
}

/* 後半は白帯(.main_white)。先頭セクションは帯の余白に任せて上マージンを消す */
.main_white > section:first-child {
  margin-top: 0;
}

/* 冒頭オーバービュー（テキスト＋病院写真の2カラム） */
.mtg_overview {
  display: flex;
  gap: 44px;
  align-items: center;
  margin: 1.8em 0 0;
}
@media only screen and (max-width: 959px) {
  .mtg_overview {
    gap: 28px;
  }
}
@media only screen and (max-width: 767px) {
  .mtg_overview {
    flex-direction: column;
    gap: 20px;
  }
}
.mtg_overview ._text {
  flex: 1 1 auto;
  min-width: 0;
  line-height: 1.95;
}
.mtg_overview ._text p {
  margin: 0 0 1.2em;
}
.mtg_overview ._text > *:last-child {
  margin-bottom: 0;
}
.mtg_overview ._fig {
  flex: 0 0 40%;
  margin: 0;
}
@media only screen and (max-width: 767px) {
  .mtg_overview ._fig {
    flex-basis: auto;
    width: 100%;
  }
}
.mtg_overview ._fig img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  display: block;
}

/* 本文中の画像＋テキスト2カラム（._rev で左右反転） */
.mtg_figrow {
  display: flex;
  gap: 36px;
  align-items: center;
  margin: 1.2em 0 0;
}
@media only screen and (max-width: 959px) {
  .mtg_figrow {
    gap: 24px;
  }
}
@media only screen and (max-width: 767px) {
  .mtg_figrow {
    flex-direction: column;
    gap: 16px;
  }
}
.mtg_figrow._rev {
  flex-direction: row-reverse;
}
@media only screen and (max-width: 767px) {
  .mtg_figrow._rev {
    flex-direction: column;
  }
}
.mtg_figrow ._text {
  flex: 1 1 auto;
  min-width: 0;
}
.mtg_figrow ._text p {
  margin: 0;
  line-height: 1.95;
}
.mtg_figrow ._fig {
  flex: 0 0 40%;
  margin: 0;
}
@media only screen and (max-width: 767px) {
  .mtg_figrow ._fig {
    flex-basis: auto;
    width: 100%;
  }
}
.mtg_figrow ._fig picture {
  display: block;
  border-radius: 12px;
  overflow: hidden;
}
.mtg_figrow ._fig img {
  width: 100%;
  height: auto;
  display: block;
}
.mtg_figrow ._fig._doc picture {
  border: 1px solid #e4e3d8;
  background: #fff;
  box-shadow: 0 12px 26px rgba(60, 70, 20, 0.08);
}
.mtg_figrow ._fig figcaption {
  font-size: 13px;
  color: #5a5a5a;
  line-height: 1.6;
  margin-top: 8px;
  text-align: center;
}

/* ===== 定例会ページの画像レイアウト =====
   .mtg_cols : 列ごとに縦積み（列幅は ._col / ._wide で調整）
   .mtg_grid : 均等グリッド（._c2 / ._c3）
   .mtg_one  : 単独・中央寄せ
   外観は is-doc（資料スクショ＝白い紙枠）／ is-photo（写真＝角丸＋影）で切替 */
.mtg_cols figure, .mtg_grid figure, .mtg_one figure {
  margin: 0;
  min-width: 0;
}
.mtg_cols picture, .mtg_grid picture, .mtg_one picture {
  display: block;
  border-radius: 12px;
  overflow: hidden;
}
.mtg_cols img, .mtg_grid img, .mtg_one img {
  display: block;
  width: 100%;
  height: auto;
}
.mtg_cols figcaption, .mtg_grid figcaption, .mtg_one figcaption {
  margin-top: 9px;
  font-size: 13px;
  line-height: 1.55;
  text-align: center;
  color: #5a5a5a;
}
.mtg_cols.is-doc picture, .mtg_grid.is-doc picture, .mtg_one.is-doc picture {
  border: 1px solid #e4e3d8;
  background: #fff;
  box-shadow: 0 12px 26px rgba(60, 70, 20, 0.08);
}
.mtg_cols.is-doc figcaption, .mtg_grid.is-doc figcaption, .mtg_one.is-doc figcaption {
  color: #5d6440;
}
.mtg_cols.is-photo picture, .mtg_grid.is-photo picture, .mtg_one.is-photo picture {
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.12);
}

.mtg_cols {
  display: flex;
  align-items: flex-start;
  gap: 22px;
  margin: 1.7em 0 1.5em;
  /* 横長2枚積みの列。左右の縦長列と高さが揃うよう広げる */
}
@media only screen and (max-width: 767px) {
  .mtg_cols {
    flex-direction: column;
    gap: 16px;
  }
}
.mtg_cols ._col {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 22px;
}
@media only screen and (max-width: 767px) {
  .mtg_cols ._col {
    width: 100%;
    gap: 16px;
  }
}
.mtg_cols ._col._wide {
  flex-grow: 1.386;
}

.mtg_grid {
  display: grid;
  gap: 20px;
  margin: 1.6em 0;
}
.mtg_grid._c2 {
  grid-template-columns: repeat(2, 1fr);
}
.mtg_grid._c3 {
  grid-template-columns: repeat(3, 1fr);
}
@media only screen and (max-width: 767px) {
  .mtg_grid {
    gap: 14px;
  }
  .mtg_grid._c2, .mtg_grid._c3 {
    grid-template-columns: 1fr;
  }
}

.mtg_grid._wide img {
  aspect-ratio: 16/9;
  object-fit: cover;
}

@media only screen and (min-width: 768px) {
  .mtg_cols.is-doc {
    display: grid;
    grid-template-columns: 1fr 1fr 1.38fr;
    align-items: start;
  }
  .mtg_cols.is-doc ._col {
    display: contents;
  }
  .mtg_cols.is-doc ._col:nth-child(1) figure:nth-child(1) {
    grid-area: 1/1;
  }
  .mtg_cols.is-doc ._col:nth-child(1) figure:nth-child(2) {
    grid-area: 1/2;
  }
  .mtg_cols.is-doc ._col:nth-child(2) figure {
    grid-area: 2/1/3/3;
  }
  .mtg_cols.is-doc ._col:nth-child(3) figure {
    grid-area: 1/3/3/4;
  }
}
.svc-lead,
.mtg_list li {
  word-break: normal;
  text-wrap: pretty;
}

.svc-lead .svc-lead-catch,
.mtg_lead {
  word-break: auto-phrase;
  text-wrap: pretty;
}

.mtg_phase p,
.mtg_closing p,
.mtg_overview p,
.mtg_reports p,
._nav_desc {
  text-wrap: pretty;
}

.anchor_list {
  width: auto;
}

.main_white {
  padding-bottom: 220px;
}

/* ===== レスポンシブ ===== */
@media only screen and (max-width: 767px) {
  .main_body {
    margin-bottom: 30px;
  }
  .main_white {
    padding-bottom: 210px;
  }
  .anchor_list ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 12px;
  }
  .anchor_list li {
    margin: 0;
  }
  .anchor_list li a {
    font-size: 16px;
  }
}

/*# sourceMappingURL=meeting.css.map */
