@charset "UTF-8";

/* =========================
   アクセス
========================= */
.page-id-938 .l-mainContent__inner>.post_content{
	margin-top: 0;
}
.page-id-938 .access-fv.swell-block-fullWide{
	padding-top: 4em!important;
}
.access-fv .swell-block-fullWide__inner {
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.8),
    0 3px 8px rgba(0, 0, 0, 0.5);
}
.access-fv{
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif;
	  position: relative;
  overflow: hidden;
}

/* 写真ラベル全体 */
.page-id-938 .access-fv-label {
  position: absolute;
  bottom: -80px;
  left: 50%;
  z-index: 3;
  width: 100vw;
  max-width: none !important;
  margin: 0 !important;
  transform: translateX(-50%);
  pointer-events: none;
}

/* WordPress側のコンテンツ幅制限を解除して3列にする */
.page-id-938 .access-fv-label
.wp-block-group__inner-container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0;
}

/* 各ラベル */
.page-id-938 .access-fv-label p {
  margin: 0 !important;
  padding: 0 8px;
  color: #fff;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: clamp(15px, 1.25vw, 21px);
  font-weight: 400;
  line-height: 1.4;
  text-align: center;
  letter-spacing: 0.08em;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.95),
    0 2px 6px rgba(0, 0, 0, 0.8),
    0 4px 12px rgba(0, 0, 0, 0.55);
}
@media (max-width: 767px) {

  /* ラベル全体を中央下部に配置 */
  .page-id-938 .access-fv-label {
    display: block;
    left: 50%;
    width: 100%;
    transform: translateX(-50%);
  }

  /* スマホではグリッドを解除 */
  .page-id-938 .access-fv-label
  .wp-block-group__inner-container {
    display: block;
    width: 100%;
  }

  /* すべて非表示 */
  .page-id-938 .access-fv-label p {
    display: none;
  }

  /* 2つ目のラベルだけ表示 */
  .page-id-938 .access-fv-label p:nth-of-type(2) {
    display: block;
    width: 100%;
    padding: 0 10px;
    font-size: clamp(13px, 4vw, 17px);
    letter-spacing: 0.05em;
    text-align: center;
  }
}

/* 外枠 */
.access-fv-after {
  border: 1px solid color-mix(
    in srgb,
    var(--color_main) 40%,
    transparent
  );
  border-radius: 8px;
  overflow: hidden;
  padding: 10px;
}

/* 各カラム右側の縦線 */
.access-fv-after .swell-block-column {
  position: relative;
}

.access-fv-after .swell-block-column::after {
  content: "";
  position: absolute;
  top: 10%;
  right: -2px;
  width: 1px;
  height: 80%;
  background: var(--color_main);
  opacity: 0.4;
}

/* 最後だけ縦線なし */
.access-fv-after .swell-block-column:last-child::after {
  display: none;
}

.access-fv-after p{
	letter-spacing: 0.01em;
}

.access-subway{
	  border: 1px solid color-mix(
    in srgb,
    var(--color_main) 40%,
    transparent
  );
  border-radius: 8px;
  overflow: hidden;
  padding: 24px 24px 18px;
}

.access-route{
		  border: 1px solid color-mix(
    in srgb,
    var(--color_main) 40%,
    transparent
  );
  border-radius: 8px;
	background: #FEFCF5;
  overflow: hidden;
  padding: 24px 24px 18px;
}

	  .page-id-938 .access-route .is-style-small .swell-block-step__number .__label,
	  .page-id-938 .access-route .is-style-small .swell-block-step__number:after{
			font-size: 1.2rem;
			font-weight: bold;
		}
/* =========================================
建物のご案内
========================================= */
.access-building{
		  border: 1px solid color-mix(
    in srgb,
    var(--color_main) 40%,
    transparent
  );
  border-radius: 8px;
  overflow: hidden;
  padding: 24px 24px 18px;
}

.access-building .swell-block-columns__inner {
  counter-reset: building-step;
}

/* 各カラム */
.access-building .swell-block-column {
  position: relative;
  counter-increment: building-step;
}

/* タイトル */
.access-building .swell-block-column h3 {
  position: relative;
  padding-left: 2.5rem;
}

/* 左のナンバリング丸 */
.access-building .swell-block-column h3::before {
  content: counter(building-step);
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: var(--color_main);
  color: #fff;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1;
}

/* 各カラム右側の矢印 */
.access-building .swell-block-column::after {
  content: "▶";

  position: absolute;
  top: 50%;
  right: -1.4rem;
  transform: translateY(-50%);
  color: var(--color_main);
  font-size: 1.2rem;
  line-height: 1;
}

/* 最後のカラムは矢印なし */
.access-building .swell-block-column:last-child::after {
  display: none;
}

/* accessその他 */
.access-other{
			  border: 1px solid color-mix(
    in srgb,
    var(--color_main) 40%,
    transparent
  );
  border-radius: 8px;
	background: #FEF5E9;
  overflow: hidden;
  padding: 24px 24px 18px;
}

.access-other .swell-block-columns__inner{
	justify-content: space-between;
}


/* ========================================
   スマホ表示
======================================== */

@media (max-width: 767px) {
  .page-id-938 .access-fv-after {
    padding: 6px 4px;
  }

  .page-id-938 .access-fv-after .swell-block-column {
    padding-inline: 3px;
  }

  .page-id-938 .access-fv-after h3 {
    font-size: clamp(11px, 3.4vw, 13px) !important;
    line-height: 1.35;
  }

  .page-id-938 .access-fv-after p {
    font-size: clamp(9px, 2.7vw, 11px);
    line-height: 1.55;
  }

  /* 3列ごとの右端（3・6番目）は縦線なし */
  .page-id-938 .access-fv-after .swell-block-column:nth-child(3n)::after {
    display: none;
  }

  /* 枠内余白を縮め、画像・本文の表示領域を広げる */
  .page-id-938 .access-subway,
  .page-id-938 .access-route,
  .page-id-938 .access-building {
    padding: 18px 10px 14px;
  }
  .page-id-938 .access-other {
    padding: 20px;
  }
	/* 地下鉄でのアクセス：見出し直下の段落 */
.page-id-938 .access-subway .wp-block-group {
  margin-bottom: 10px !important;
}

  .page-id-938 .access-building .swell-block-columns__inner {
    row-gap: 24px;
  }

  .page-id-938 .access-building .swell-block-column::after {
		content: '';
		display: none;
	}
}


