@charset "UTF-8";
/*color*/
/* guideline */
/*font-family*/
/*text-shadow*/
/*box-shadow*/
/*media query break point*/
/*gHeader用*/
/*gHeader用*/
/* media query */
/* ------------------------------------------------------------
    LAYOUT
------------------------------------------------------------ */
/* ------------------------------------------------------------
    ROSEN
------------------------------------------------------------ */
.s-rosen {
  padding-top: clamp(48px, 36.1142857143px + 3.0476190476vw, 80px);
}
.s-rosen__lead {
  font-size: clamp(1.4rem, 1.2514285714rem + 0.380952381vw, 1.8rem);
  letter-spacing: 0.08em;
  line-height: 1.8;
  text-align: left;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}
@media only screen and (min-width: 769px) {
  .s-rosen__lead {
    text-align: center;
  }
}
.s-rosen__fig {
  position: relative;
  max-width: 800px;
  margin: clamp(32px, 23.0857142857px + 2.2857142857vw, 56px) auto 0;
}
.s-rosen__fig img {
  display: block;
  width: 100%;
  height: auto;
}
.s-rosen {
  /* 現地マーカー（トップページ .s-access__map と同じ見え方） */
}
.s-rosen__pin {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.s-rosen__pin__ring {
  fill: none;
  -webkit-transform-origin: 346.08px 245.7px;
          transform-origin: 346.08px 245.7px;
  -webkit-animation: s-rosen-ring-pulse 3s ease-out infinite;
          animation: s-rosen-ring-pulse 3s ease-out infinite;
  vector-effect: non-scaling-stroke;
  stroke-width: 1px;
}
.s-rosen__pin__ring--b {
  -webkit-animation-delay: -1.5s;
          animation-delay: -1.5s;
}

@-webkit-keyframes s-rosen-ring-pulse {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0;
  }
  15% {
    opacity: 0.64;
  }
  100% {
    -webkit-transform: scale(3);
            transform: scale(3);
    opacity: 0;
  }
}

@keyframes s-rosen-ring-pulse {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0;
  }
  15% {
    opacity: 0.64;
  }
  100% {
    -webkit-transform: scale(3);
            transform: scale(3);
    opacity: 0;
  }
}
/* ------------------------------------------------------------
    TIME
------------------------------------------------------------ */
.s-time {
  padding-top: clamp(56px, 38.1714285714px + 4.5714285714vw, 104px);
}
.s-time__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(32px, 26.0571428571px + 1.5238095238vw, 48px);
}
@media only screen and (min-width: 1000px) {
  .s-time__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: clamp(24px, 15.0857142857px + 2.2857142857vw, 48px);
  }
}
.s-time {
  /* 左：駅徒歩・所要時間 */
}
.s-time__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(24px, 18.0571428571px + 1.5238095238vw, 40px);
}
@media only screen and (min-width: 1000px) {
  .s-time__info {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: min(456px, 38%);
  }
}
.s-time__lead {
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
}
.s-time__lead-sub {
  font-size: clamp(1.2rem, 1.1257142857rem + 0.1904761905vw, 1.4rem);
  letter-spacing: 0.04em;
  line-height: 1;
  padding-left: 5px;
}
.s-time__lead-main {
  font-size: clamp(2.8rem, 2.3542857143rem + 1.1428571429vw, 4rem);
  letter-spacing: 0.04em;
  line-height: 1.2;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  padding-top: clamp(4px, 3.6285714286px + 0.0952380952vw, 5px);
}
.s-time__lead-num {
  font-size: clamp(4.4rem, 3.6571428571rem + 1.9047619048vw, 6.4rem);
  line-height: 0;
}
.s-time__lead-note {
  font-size: clamp(1rem, 0.9628571429rem + 0.0952380952vw, 1.1rem);
  letter-spacing: 0.04em;
  line-height: 1.4;
  color: #605c57;
  text-align: right;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}
.s-time__table {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(12px, 10.5142857143px + 0.380952381vw, 16px);
}
.s-time__table-ttl {
  font-size: clamp(1.2rem, 1.1257142857rem + 0.1904761905vw, 1.4rem);
  letter-spacing: 0.04em;
  line-height: 1.4;
  padding-bottom: clamp(3px, 2.6285714286px + 0.0952380952vw, 4px);
  border-bottom: 1px solid #2D2519;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}
.s-time__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(12px, 10.5142857143px + 0.380952381vw, 16px);
  /* 下段3列（近鉄奈良・新幹線・関西空港） */
}
.s-time__list--sub {
  margin-top: clamp(32px, 23.0857142857px + 2.2857142857vw, 56px);
  /* 上のリストより一段小さく（スマホ・PCとも） */
}
.s-time__list--sub .s-time__item-dest .s,
.s-time__list--sub .s-time__item-dest .n {
  font-size: clamp(1.8rem, 1.6514285714rem + 0.380952381vw, 2.2rem);
}
.s-time__list--sub .s-time__item-dest .u {
  font-size: clamp(1.5rem, 1.3885714286rem + 0.2857142857vw, 1.8rem);
}
.s-time__list--sub {
  /* 上の2カラムに合わせて semiwide(1000px)以上で3列にする */
}
@media only screen and (min-width: 1000px) {
  .s-time__list--sub {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: clamp(24px, 18.0571428571px + 1.5238095238vw, 40px);
  }
  .s-time__list--sub .s-time__item {
    /* 文字量に応じて列幅を配分（Figmaの412/378/330に近づける） */
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    min-width: 0;
  }
}
.s-time__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
  padding-bottom: clamp(12px, 10.5142857143px + 0.380952381vw, 16px);
  border-bottom: 1px solid rgba(45, 37, 25, 0.16);
}
.s-time__item-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
}
.s-time__item-dot {
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background-color: #b59a5b;
}
.s-time__item-dot--karasuma {
  background-color: #659ea5;
}
.s-time__item-dot--tozai {
  background-color: #d0aa79;
}
.s-time__item-dot--hankyu {
  background-color: #bb8489;
}
.s-time__item-dot--jr {
  background-color: #727171;
}
.s-time__item-dot--kintetsu {
  background-color: #ce9860;
}
.s-time__item-line {
  font-size: clamp(1.1rem, 1.0628571429rem + 0.0952380952vw, 1.2rem);
  letter-spacing: 0.04em;
  line-height: 1;
}
.s-time__item-dest {
  letter-spacing: 0.04em;
  line-height: 1.2;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}
.s-time__item-dest .s,
.s-time__item-dest .n {
  font-size: clamp(2.2rem, 1.9771428571rem + 0.5714285714vw, 2.8rem);
}
.s-time__item-dest .u {
  font-size: clamp(1.9rem, 1.7142857143rem + 0.4761904762vw, 2.4rem);
}
.s-time__item-note {
  font-size: clamp(1rem, 0.9628571429rem + 0.0952380952vw, 1.1rem);
  letter-spacing: 0.04em;
  line-height: 1.4;
  color: #605c57;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}
.s-time {
  /* 右：写真 */
}
.s-time__photo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  /* スマホは元画像の比率（696:641）で置き、大きくなりすぎないよう上限を設ける */
  aspect-ratio: 696/641;
  max-height: 500px;
}
@media only screen and (min-width: 1000px) {
  .s-time__photo {
    /* PCは左カラムの高さまで伸ばす（写真はトリミング） */
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
    aspect-ratio: auto;
    max-height: none;
  }
}
.s-time__photo figure {
  overflow: hidden;
}
.s-time__photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.s-time__photo {
  /* 上下の比率はデザイン（378:263）を維持したまま高さを分け合う */
}
.s-time__photo-main {
  -webkit-box-flex: 378;
      -ms-flex: 378 1 0px;
          flex: 378 1 0;
  min-height: 0;
}
.s-time__photo-sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 263;
      -ms-flex: 263 1 0px;
          flex: 263 1 0;
  min-height: 0;
}
.s-time__photo-sub figure {
  width: 50%;
}

/* ------------------------------------------------------------
    AERIAL
------------------------------------------------------------ */
.s-aerial {
  padding-top: clamp(64px, 34.2857142857px + 7.619047619vw, 144px);
}
.s-aerial img {
  display: block;
  width: 100%;
  aspect-ratio: 1536/1320;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (min-width: 769px) {
  .s-aerial img {
    aspect-ratio: 2880/1680;
  }
}
/*# sourceMappingURL=area_access.css.map */