/* =========================================================
   ロマン時間（2026-10 Figma「ロマン時間」セクション）
   入口（/roman/）・カテゴリ一覧・施設詳細・横断一覧と、右端・画面下の追従ボタン。
   SP が基準、768px・1200px で上書き。
   ========================================================= */

/* --- ページ全体・上部の夕景 ------------------------------ */

/* 夕景は本文の後ろに敷く（入口は紹介文・タイルまで写真の上に重なる） */
.orwa-roman {
  position: relative;
  isolation: isolate;
  overflow-x: clip;
}

.orwa-roman-hero {
  text-align: center;
}

.orwa-roman-hero__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
}

/* 写真の下端は白く抜けているので、地の色へなじませる */
.orwa-roman-hero__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 80%, var(--orwa-c-bg));
}

.orwa-roman-hero__bg-img {
  display: block;
  width: 100%;
}

.orwa-roman-hero__title {
  margin: 0;
  padding-top: 5.5rem;
}

.orwa-roman-hero--large .orwa-roman-hero__title {
  padding-top: 10.375rem;
}

/* 下に文字のすき間を作らない */
.orwa-roman-hero__link {
  display: inline-block;
  vertical-align: top;
}

.orwa-roman-hero__logo {
  display: block;
  width: 15.625rem;
  max-width: 100%;
  margin-inline: auto;
}

.orwa-roman-hero--large .orwa-roman-hero__logo {
  width: 21.875rem;
}

/* 一覧・詳細は夕景の途中からクリーム色の地（SP は写真を上に 85px ずらしてある） */
.orwa-roman-hero:not(.orwa-roman-hero--large) .orwa-roman-hero__bg {
  top: -5.3125rem;
}

/* --- 本文の地 -------------------------------------------- */

.orwa-roman__body {
  padding-inline: 0.625rem;
}

.orwa-roman__body--top {
  padding-top: 7.5rem;
}

.orwa-roman__body--lower {
  margin-top: 1.5rem;
  padding-top: 2.5rem;
  background: var(--orwa-c-bg);
}

.orwa-roman__empty {
  margin: 2.5rem 0 0;
  text-align: center;
}

/* --- 入口：紹介文 ---------------------------------------- */

.orwa-roman-lead {
  max-width: 66.9375rem;
  margin-inline: auto;
  padding-inline: 0.625rem;
  font-family: var(--orwa-ff-serif);
  font-weight: var(--orwa-fw-medium);
  text-align: center;
}

.orwa-roman-lead__catch {
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.89;
}

.orwa-roman-lead__text {
  margin: 1.25rem 0 0;
  font-size: 0.875rem;
  line-height: 2;
}

/* --- 入口：カテゴリのタイル ------------------------------ */

.orwa-roman__tiles {
  margin-top: 2.5rem;
}

.orwa-roman-tiles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 11.25rem));
  justify-content: center;
  gap: 1.25rem 0.625rem;
  margin-bottom: 0;
  padding: 0;
  list-style: none;
}

/* 写真の下端に青い帯を重ね、帯の上に名前を出す */
.orwa-roman-tile {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 180 / 182;
  border: 2px solid var(--orwa-c-white);
  border-radius: 0.625rem;
  background: var(--orwa-c-sea);
  color: var(--orwa-c-white);
  text-decoration: none;
}

.orwa-roman-tile::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  aspect-ratio: 180 / 61;
  background: linear-gradient(to top, var(--orwa-c-sea) 55%, rgb(56 165 222 / 0));
}

/* 枠いっぱいに広げて切り抜く（中身のない画像のため height を使う） */
.orwa-roman-tile__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: scale 0.4s;
}

.orwa-roman-tile__title {
  position: absolute;
  right: 0.5rem;
  bottom: 0.625rem;
  left: 0.5rem;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  min-height: 1.75rem;
  font-family: var(--orwa-ff-serif);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.17;
}

.orwa-roman-tile__title::after,
.orwa-roman-card__title::after {
  content: "";
  flex-shrink: 0;
  width: 0.25rem;
  aspect-ratio: 7 / 12;
  background: currentColor;
  mask: url(../img/common/icon-chevron.svg) center / contain no-repeat;
}

.orwa-roman-tile:hover .orwa-roman-tile__image,
.orwa-roman-card:hover .orwa-roman-card__image {
  scale: 1.05;
}

/* --- 一覧：見出し ---------------------------------------- */

.orwa-roman-heading {
  max-width: 50rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
  text-align: center;
}

.orwa-roman-heading__title {
  margin: 0;
  padding-bottom: 1.25rem;
  border-bottom: 2px solid var(--orwa-c-link);
  color: var(--orwa-c-link);
  font-family: var(--orwa-ff-serif);
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.27;
}

.orwa-roman-heading__lead {
  margin-top: 1.25rem;
  line-height: 2;
}

.orwa-roman-heading__lead > * {
  margin: 0;
}

.orwa-roman-heading__lead > * + * {
  margin-top: 1em;
}

/* --- 一覧：施設のカード ---------------------------------- */

.orwa-roman__cards {
  margin-top: 2.5rem;
}

.orwa-roman-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 11.25rem));
  justify-content: center;
  gap: 1.25rem 0.625rem;
  margin-bottom: 0;
  padding: 0;
  list-style: none;
}

.orwa-roman-cards__item {
  display: flex;
}

.orwa-roman-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow: hidden;
  border: 2px solid var(--orwa-c-white);
  border-radius: 0.625rem;
  color: var(--orwa-c-navy);
  text-decoration: none;
}

.orwa-roman-card__media {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 180 / 161;
  background: var(--orwa-c-line-light);
}

.orwa-roman-card__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: scale 0.4s;
}

/* 行の中で一番長い名前に高さをそろえ、名前は上下中央 */
.orwa-roman-card__title {
  display: flex;
  flex-grow: 1;
  align-items: center;
  gap: 0.3125rem;
  justify-content: space-between;
  padding: 0.4375rem 0.625rem;
  background: var(--orwa-c-beige);
  font-family: var(--orwa-ff-serif);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.33;
}

/* --- ページ送り（お知らせと同じ形） ---------------------- */

.orwa-roman__pager {
  margin-top: 2.5rem;
}

.orwa-roman-pager__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.orwa-roman-pager__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  border-radius: 0.5rem;
  color: var(--orwa-c-navy);
  font-family: var(--orwa-ff-en);
  font-size: 1rem;
  line-height: 1;
  text-decoration: none;
}

.orwa-roman-pager__link.is-current {
  background: var(--orwa-c-blue);
  color: var(--orwa-c-white);
}

.orwa-roman-pager__link--dots {
  padding-inline: 1rem;
  font-weight: 700;
  line-height: 1.4;
}

.orwa-roman-pager__link--prev,
.orwa-roman-pager__link--next {
  font-family: var(--orwa-ff-sans);
  line-height: 1.2;
}

.orwa-roman-pager__link--prev::before,
.orwa-roman-pager__link--next::after {
  content: "";
  width: 0.5rem;
  aspect-ratio: 7 / 12;
  background: currentColor;
  mask: url(../img/common/icon-chevron.svg) center / contain no-repeat;
}

.orwa-roman-pager__link--prev::before {
  rotate: 180deg;
}

.orwa-roman-pager__link.is-disabled {
  color: var(--orwa-c-gray);
  opacity: 0.5;
}

a.orwa-roman-pager__link:hover {
  color: var(--orwa-c-blue);
}

/* --- 詳細：施設名・スライダー ---------------------------- */

.orwa-roman-detail {
  padding-inline: 0;
}

.orwa-roman-detail__title {
  margin: 0;
  padding-inline: 1.25rem;
  font-family: var(--orwa-ff-serif);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.45;
  text-align: center;
}

.orwa-roman-detail__slider {
  margin-top: 1.875rem;
}

/* 中央の 1 枚の左右に前後の写真を少しのぞかせる。位置は roman.js が --offset で指定 */
.orwa-roman-slider {
  --slide-w: calc(100% - 3.75rem);
  --slide-gap: 1.3125rem;
}

.orwa-roman-slider__viewport {
  position: relative;
}

.orwa-roman-slider__track {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.orwa-roman-slider__slide {
  --offset: 0;
  grid-area: 1 / 1;
  justify-self: center;
  width: var(--slide-w);
  aspect-ratio: 1060 / 620;
  overflow: hidden;
  transform: translateX(calc(var(--offset) * (100% + var(--slide-gap))));
  transition: transform 0.5s ease;
}

/* JS が動くまでは 1 枚目だけ見せる */
.orwa-roman-slider:not(.is-ready) .orwa-roman-slider__slide:not(.is-current) {
  visibility: hidden;
}

/* 反対側へ回り込む写真は動きを見せない */
.orwa-roman-slider__slide.is-jump {
  transition: none;
}

.orwa-roman-slider__media {
  display: block;
  width: 100%;
  aspect-ratio: 1060 / 620;
  object-fit: cover;
  background: var(--orwa-c-navy);
}

.orwa-roman-slider__arrow {
  position: absolute;
  top: 50%;
  display: grid;
  place-items: center;
  width: 2.75rem;
  aspect-ratio: 1;
  padding: 0;
  border: 0;
  background: none;
  color: var(--orwa-c-navy);
  cursor: pointer;
  translate: -50% -50%;
}

.orwa-roman-slider__arrow::before {
  content: "";
  width: 0.5625rem;
  aspect-ratio: 7 / 12;
  background: currentColor;
  mask: url(../img/common/icon-chevron.svg) center / contain no-repeat;
}

.orwa-roman-slider__arrow--prev {
  left: calc((100% - var(--slide-w)) / 2 - var(--slide-gap) / 2);
}

.orwa-roman-slider__arrow--prev::before {
  rotate: 180deg;
}

.orwa-roman-slider__arrow--next {
  left: calc((100% + var(--slide-w)) / 2 + var(--slide-gap) / 2);
}

.orwa-roman-slider__thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3125rem;
  width: calc(var(--slide-w) - 0.625rem);
  margin: 0.625rem auto 0;
  padding: 0;
  list-style: none;
}

.orwa-roman-slider__thumb {
  position: relative;
  display: block;
  width: 3.75rem;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  opacity: 0.5;
  transition: opacity 0.3s;
}

.orwa-roman-slider__thumb[aria-current="true"] {
  opacity: 1;
}

.orwa-roman-slider__thumb[aria-current="true"]::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid var(--orwa-c-gray);
}

.orwa-roman-slider__thumb-media {
  display: block;
  width: 100%;
  aspect-ratio: 80 / 47;
  object-fit: cover;
}

/* --- 詳細：本文・施設情報 -------------------------------- */

.orwa-roman-detail__sections {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  max-width: var(--orwa-w-page);
  margin: 2.5rem auto 0;
  padding-inline: 0.75rem;
}

.orwa-roman-detail__content {
  line-height: 2;
}

.orwa-roman-detail__content > * {
  margin: 0;
}

.orwa-roman-detail__content > * + * {
  margin-top: 1em;
}

.orwa-roman-detail__info {
  margin-top: 2.5rem;
}

.orwa-roman-detail__intro > :first-child {
  margin-top: 0;
}

/* 行の下に 3px の線（項目名の下だけ色付き） */
.orwa-roman-info {
  margin-bottom: 0;
  padding: 1.5625rem 0.625rem;
  background: var(--orwa-c-white);
}

.orwa-roman-info__row {
  display: flex;
  padding-bottom: 1.25rem;
  background:
    linear-gradient(var(--orwa-c-table-head), var(--orwa-c-table-head)) left bottom / 6.875rem 3px no-repeat,
    linear-gradient(var(--orwa-c-line), var(--orwa-c-line)) left bottom / 100% 3px no-repeat;
}

.orwa-roman-info__row + .orwa-roman-info__row {
  margin-top: 1.25rem;
}

.orwa-roman-info__term {
  flex-shrink: 0;
  width: 6.875rem;
  padding-inline: 0.625rem;
  color: var(--orwa-c-table-head);
  font-weight: var(--orwa-fw-medium);
  line-height: 1.45;
}

.orwa-roman-info__desc {
  min-width: 0;
  margin: 0;
  padding-left: 0.625rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.orwa-roman-info__link {
  color: inherit;
}

.orwa-roman-info__link:hover {
  color: var(--orwa-c-blue);
}

/* --- 詳細：記念日サービス・ウェディングプラン ------------ */

.orwa-roman-box {
  padding: 2.5rem 0.625rem;
  background: var(--orwa-c-white);
}

.orwa-roman-box__list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
}

.orwa-roman-box--plans .orwa-roman-box__list {
  gap: 2.5rem;
  margin-top: 2.5rem;
}

/* 見出しの下に灰の線（先頭だけ青）。お知らせ詳細の h3 と同じ形 */
.orwa-roman-subheading {
  margin: 0;
  padding-bottom: 0.8125rem;
  background:
    linear-gradient(var(--orwa-c-blue), var(--orwa-c-blue)) left bottom / 1.4375rem 3px no-repeat,
    linear-gradient(var(--orwa-c-line-light), var(--orwa-c-line-light)) left bottom / 100% 3px no-repeat;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.44;
}

.orwa-roman-services__item {
  padding: 1.5625rem 0.9375rem;
  background: var(--orwa-c-beige);
}

.orwa-roman-services__text {
  margin: 1.25rem 0 0;
  line-height: 2;
}

.orwa-roman-services__title + .orwa-roman-services__text {
  margin-top: 1.25rem;
}

.orwa-roman-services__text:first-child {
  margin-top: 0;
}

.orwa-roman-plans__body {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-top: 1.25rem;
}

.orwa-roman-plans__image {
  display: block;
  width: 100%;
  aspect-ratio: 340 / 212;
  object-fit: cover;
}

/* 項目名（青）と値（白）の行を交互に積む。罫線は 1px を重ねる */
.orwa-roman-plans__table {
  margin: 0;
}

.orwa-roman-plans__term,
.orwa-roman-plans__desc {
  padding: 0.9375rem 1.25rem;
  border: 1px solid var(--orwa-c-line);
}

.orwa-roman-plans__term + .orwa-roman-plans__desc,
.orwa-roman-plans__desc + .orwa-roman-plans__term {
  margin-top: -1px;
}

.orwa-roman-plans__term {
  background: var(--orwa-c-table-head);
  color: var(--orwa-c-white);
  line-height: 1.1;
}

.orwa-roman-plans__desc {
  margin: 0;
  background: var(--orwa-c-white);
  line-height: 2;
  overflow-wrap: anywhere;
}

/* --- 追従ボタン：コンシェルジュに相談（右端） ------------ */

.orwa-roman-concierge {
  position: fixed;
  top: 16.0625rem;
  right: 0;
  z-index: 90;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  width: 2.8125rem;
  padding-block: 1rem;
  background: linear-gradient(var(--orwa-c-gold-light), var(--orwa-c-gold));
  color: var(--orwa-c-white);
  text-decoration: none;
  transition: opacity 0.3s;
}

.orwa-roman-concierge:hover {
  opacity: 0.85;
}

.orwa-roman-concierge__icon {
  display: block;
  width: 0.9375rem;
}

.orwa-roman-concierge__text {
  font-size: 0.875rem;
  font-weight: var(--orwa-fw-medium);
  line-height: 1;
  writing-mode: vertical-rl;
}

/* --- 追従ボタン：イベント（画面下・最大 3 件） ------------ */

.orwa-roman-has-events {
  padding-bottom: 4.3125rem;
}

.orwa-roman-events {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 90;
}

.orwa-roman-events__list {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}

.orwa-roman-events__item {
  flex: 1;
  min-width: 0;
  background: var(--orwa-c-blue);
}

.orwa-roman-events__item:nth-child(2) {
  background: var(--orwa-c-gold);
}

.orwa-roman-events__item:nth-child(3) {
  background: var(--orwa-c-teal);
}

.orwa-roman-events__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.3125rem;
  padding: 0.375rem 0.9375rem;
  color: var(--orwa-c-white);
  text-decoration: none;
  transition: opacity 0.3s;
}

.orwa-roman-events__link:hover {
  opacity: 0.85;
}

.orwa-roman-events__link::after {
  content: "";
  flex-shrink: 0;
  width: 0.4375rem;
  aspect-ratio: 7 / 12;
  background: currentColor;
  mask: url(../img/common/icon-chevron.svg) center / contain no-repeat;
}

.orwa-roman-events__body {
  min-width: 0;
}

.orwa-roman-events__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 0.375rem;
}

.orwa-roman-events__name {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.45;
}

/* SP は名称・日付・場所だけ */
.orwa-roman-events__catch {
  display: none;
}

.orwa-roman-events__meta {
  display: flex;
  flex-direction: column;
  margin-top: 0.125rem;
  font-size: 0.6875rem;
  font-weight: var(--orwa-fw-medium);
  line-height: 1.45;
}

@media (prefers-reduced-motion: reduce) {
  .orwa-roman-slider__slide,
  .orwa-roman-tile__image,
  .orwa-roman-card__image {
    transition: none;
  }
}

/* =========================================================
   768px〜
   ========================================================= */

@media (min-width: 768px) {
  .orwa-roman-hero__title {
    padding-top: 7.5rem;
  }

  .orwa-roman-hero--large .orwa-roman-hero__title {
    padding-top: 9.75rem;
  }

  .orwa-roman-hero__logo {
    width: 21.875rem;
  }

  .orwa-roman-hero--large .orwa-roman-hero__logo {
    width: 46.25rem;
  }

  .orwa-roman-hero:not(.orwa-roman-hero--large) .orwa-roman-hero__bg {
    top: 0;
  }

  .orwa-roman__body {
    padding-inline: 1.25rem;
  }

  .orwa-roman__body--top {
    padding-top: 16.875rem;
  }

  /* PC は左右に薄いモンステラ柄 */
  .orwa-roman__body--lower {
    margin-top: 1.625rem;
    padding-top: 3.75rem;
    background: url(../img/common/bg-monstera.svg) center top / 100% auto repeat-y, var(--orwa-c-bg);
  }

  .orwa-roman-lead__catch {
    font-size: 1.5rem;
    line-height: 1.45;
  }

  .orwa-roman-lead__text {
    margin-top: 1.875rem;
    font-family: var(--orwa-ff-serif);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.75;
  }

  .orwa-roman__tiles {
    margin-top: 3.75rem;
  }

  /* 最後の段は中央に寄せる（8 件なら 3・3・2） */
  .orwa-roman-tiles {
    display: flex;
    flex-wrap: wrap;
    gap: 2.5rem;
    max-width: 76.25rem;
    margin-inline: auto;
  }

  .orwa-roman-tiles__item {
    width: calc((100% - 5rem) / 3);
  }

  .orwa-roman-tile {
    aspect-ratio: 380 / 300;
  }

  .orwa-roman-tile::after {
    aspect-ratio: 380 / 109;
  }

  .orwa-roman-tile__image {
    height: 86.67%;
  }

  .orwa-roman-tile__title {
    bottom: 1.125rem;
    gap: 1.875rem;
    min-height: 0;
    font-size: 1.25rem;
    line-height: 1.4;
  }

  .orwa-roman-tile__title::after {
    width: 0.5rem;
  }

  .orwa-roman-heading__title {
    padding-bottom: 1.875rem;
    font-size: 1.875rem;
    line-height: 1.4;
  }

  .orwa-roman-heading__lead {
    margin-top: 1.875rem;
    line-height: 1.75;
  }

  .orwa-roman__cards {
    margin-top: 3.875rem;
  }

  .orwa-roman-cards {
    grid-template-columns: repeat(3, minmax(0, 23.75rem));
    gap: 2.5rem;
  }

  .orwa-roman-card__media {
    aspect-ratio: 380 / 340;
  }

  .orwa-roman-card__title {
    gap: 1.875rem;
    padding: 1.125rem 1.25rem;
    background: var(--orwa-c-cream);
    font-size: 1rem;
    line-height: 1.375;
  }

  .orwa-roman-card__title::after {
    width: 0.4375rem;
  }

  .orwa-roman-pager__link--dots {
    padding-inline: 1rem;
  }

  .orwa-roman-detail {
    padding: 3.125rem 0 0;
  }

  .orwa-roman-detail__title {
    font-size: 2rem;
  }

  .orwa-roman-detail__slider {
    margin-top: 2.5rem;
  }

  /* 1440px で 1060px。狭い画面は左右 80px ずつのぞかせる */
  .orwa-roman-slider {
    --slide-w: min(66.25rem, max(100% - 23.75rem, 100% - 10rem));
    --slide-gap: 3.75rem;
  }

  .orwa-roman-slider__arrow::before {
    width: 1.25rem;
  }

  .orwa-roman-slider__thumbs {
    gap: 0.625rem;
    width: var(--slide-w);
  }

  .orwa-roman-slider__thumb {
    width: 5rem;
  }

  /* 左右の余白は地（.orwa-roman__body）の 20px だけにする */
  .orwa-roman-detail__sections {
    gap: 3.75rem;
    margin-top: 3.75rem;
    padding-inline: 0;
  }

  .orwa-roman-detail__content {
    line-height: 1.75;
  }

  .orwa-roman-info {
    padding: 2.5rem;
  }

  .orwa-roman-info__row {
    align-items: center;
    padding-bottom: 1.5rem;
    background-size: 15.625rem 3px, 100% 3px;
  }

  .orwa-roman-info__row + .orwa-roman-info__row {
    margin-top: 1.5rem;
  }

  .orwa-roman-info__term {
    width: 15.625rem;
    padding-inline: 1.875rem;
  }

  .orwa-roman-info__desc {
    padding-inline: 1.875rem;
    line-height: 1.75;
  }

  .orwa-roman-box {
    padding: 2.5rem;
  }

  .orwa-roman-subheading {
    padding-bottom: 0.625rem;
    background-size: 4.4375rem 3px, 100% 3px;
    font-size: 1.125rem;
  }

  .orwa-roman-services__item {
    padding: 1.875rem 2.5rem;
  }

  .orwa-roman-services__text {
    line-height: 1.75;
  }

  .orwa-roman-plans__body {
    flex-direction: row;
    align-items: flex-start;
  }

  .orwa-roman-plans__image {
    flex-shrink: 0;
    width: 21.25rem;
  }

  .orwa-roman-plans__table {
    flex-grow: 1;
    min-width: 0;
  }

  .orwa-roman-plans__term {
    padding: 0.875rem 0.75rem 0.875rem 1.25rem;
  }

  .orwa-roman-plans__desc {
    padding: 1.25rem;
    line-height: 1.45;
  }

  .orwa-roman-concierge {
    top: 22.3125rem;
    width: 4rem;
    padding-block: 1.375rem;
  }

  .orwa-roman-concierge__icon {
    width: 1.375rem;
  }

  .orwa-roman-concierge__text {
    font-size: 1rem;
    line-height: 1.125;
    letter-spacing: 0.125rem;
  }

  .orwa-roman-has-events {
    padding-bottom: 5rem;
  }

  .orwa-roman-events__link {
    justify-content: flex-start;
    gap: 3.75rem;
    padding: 0.875rem 1.25rem 0.8125rem 3.75rem;
  }

  .orwa-roman-events__link::after {
    width: 0.5625rem;
  }

  .orwa-roman-events__name {
    font-size: 1.25rem;
  }

  .orwa-roman-events__catch {
    display: inline;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.45;
  }

  .orwa-roman-events__meta {
    flex-direction: row;
    gap: 1em;
    margin-top: 0.25rem;
    font-size: 0.875rem;
  }
}
