@charset "UTF-8";
/*color*/
/* guideline */
/*font-family*/
/*text-shadow*/
/*box-shadow*/
/*media query break point*/
/*gHeader用*/
/*gHeader用*/
/* media query */
/* ------------------------------------------------------------
    LAYOUT
------------------------------------------------------------ */
/* ------------------------------------------------------------
    MV
------------------------------------------------------------ */
.s-mv {
  height: calc(100vh - 70px);
  position: relative;
  overflow: hidden;
}
@media only screen and (min-width: 769px) {
  .s-mv {
    height: 100vh;
  }
}
.s-mv-img {
  position: absolute;
  width: 100%;
  height: calc(100% + 400px);
  left: 0;
  top: 0;
  opacity: 0;
}
.s-mv-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 100%;
     object-position: 50% 100%;
}
@media only screen and (min-width: 769px) {
  .s-mv-img {
    height: calc(100% + 700px);
  }
}
.s-mv-catch {
  position: absolute;
  width: 100%;
  left: 0;
  top: calc(80px + 10%);
  z-index: 2;
  opacity: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (min-width: 1000px) {
  .s-mv-catch {
    width: 50%;
    height: 100%;
    top: 0;
  }
}
.s-mv-catch__txt {
  -webkit-writing-mode: vertical-rl;
          writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  white-space: nowrap;
  letter-spacing: 0.2em;
  /* -webkit-text-orientation: upright;
  text-orientation: upright; */
  -ms-text-combine-horizontal: all; /* for IE Edge */
  line-height: 2.5;
}
.s-mv-catch__txt .yoko {
  display: inline-block;
  -webkit-writing-mode: lr-tb;
          writing-mode: lr-tb;
  -ms-writing-mode: lr-tb;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
.s-mv-catch__txt .yoko.first {
  line-height: 1;
}
.s-mv-catch__txt {
  font-size: clamp(2.4rem, 1.8057142857rem + 1.5238095238vw, 4rem);
  letter-spacing: 0.4em;
  line-height: 1.8;
  text-shadow: 0px 0px 2px #fff, 0px 0px 4px #fff, 0px 0px 8px #fff, 0px 0px 16px #fff, 0px 0px 32px #fff, 0px 0px 48px #fff;
}
.s-mv-cap {
  position: absolute;
  left: 12px;
  bottom: 12px;
  z-index: 1;
  opacity: 0;
}
.s-mv::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 160px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(242, 242, 242, 0)), to(#f2f2f2));
  background: linear-gradient(180deg, rgba(242, 242, 242, 0) 0%, #f2f2f2 100%);
  left: 0;
  bottom: 0;
}

/* ------------------------------------------------------------
    CTA
------------------------------------------------------------ */
.s-cta {
  margin-top: clamp(40px, 25.1428571429px + 3.8095238095vw, 80px);
}
.s-cta__txt-main {
  font-size: clamp(2rem, 1.5542857143rem + 1.1428571429vw, 3.2rem);
  line-height: 1.5;
  text-align: center;
}
.s-cta__txt-main .size-l {
  font-size: 125%;
}
.s-cta__txt-sub {
  font-size: clamp(1.4rem, 1.2514285714rem + 0.380952381vw, 1.8rem);
  line-height: 1.6;
  text-align: center;
  margin-top: clamp(16px, 13.0285714286px + 0.7619047619vw, 24px);
}
.s-cta__link .c-btn--box--L {
  margin: clamp(24px, 15.0857142857px + 2.2857142857vw, 48px) auto 0;
}

/* ------------------------------------------------------------
    ACCESS
------------------------------------------------------------ */
.s-access {
  margin-top: clamp(64px, 43.2px + 5.3333333333vw, 120px);
}
.s-access__inner {
  width: 90%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(48px, 36.1142857143px + 3.0476190476vw, 80px);
}
.s-access {
  /* heading */
}
.s-access__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(20px, 12.5714285714px + 1.9047619048vw, 40px);
}
.s-access__head-line {
  width: 1px;
  height: clamp(48px, 39.0857142857px + 2.2857142857vw, 72px);
  background-color: #2D2519;
  opacity: 0.24;
}
.s-access__head-en {
  font-size: clamp(2.8rem, 2.3542857143rem + 1.1428571429vw, 4rem);
  font-family: "TsukuAOldMinPr6N-L", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
  letter-spacing: 0.04em;
  line-height: 1;
  color: #2D2519;
  opacity: 0.24;
}
.s-access {
  /* body layout */
}
.s-access__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(48px, 42.0571428571px + 1.5238095238vw, 64px);
  width: 100%;
}
@media only screen and (min-width: 1000px) {
  .s-access__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: clamp(24px, 18.0571428571px + 1.5238095238vw, 40px);
  }
}
.s-access {
  /* left: transit info */
}
.s-access__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-access__info {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: min(384px, 40%);
  }
}
.s-access {
  /* lead block */
}
.s-access__lead {
  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;
}
.s-access__lead-sub {
  font-family: "TsukuAOldMinPr6N-M", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
  font-size: clamp(1.3rem, 1.2628571429rem + 0.0952380952vw, 1.4rem);
  letter-spacing: 0.04em;
  color: #2D2519;
}
.s-access__lead-main {
  font-family: "TsukuAOldMinPr6N-M", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
  font-size: clamp(2.6rem, 2.2285714286rem + 0.9523809524vw, 3.6rem);
  letter-spacing: 0.04em;
  line-height: 1.2;
  color: #2D2519;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}
.s-access__lead-num {
  font-size: clamp(4rem, 3.2571428571rem + 1.9047619048vw, 6rem);
  line-height: 0;
}
.s-access__lead-note {
  font-family: "TsukuAOldMinPr6N-M", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
  font-size: clamp(1rem, 0.9628571429rem + 0.0952380952vw, 1.1rem);
  letter-spacing: 0.04em;
  line-height: 1.4;
  color: #2D2519;
}
.s-access {
  /* table block */
}
.s-access__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-access__table-ttl {
  font-family: "TsukuAOldMinPr6N-M", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
  font-size: clamp(1.3rem, 1.2628571429rem + 0.0952380952vw, 1.4rem);
  letter-spacing: 0.04em;
  color: #2D2519;
  padding-bottom: clamp(3px, 2.6285714286px + 0.0952380952vw, 4px);
  border-bottom: 1px solid #2D2519;
}
.s-access__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  list-style: none;
  padding: 0;
  margin: 0;
}
.s-access__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: clamp(4px, 3.2571428571px + 0.1904761905vw, 6px);
  padding-bottom: clamp(12px, 10.5142857143px + 0.380952381vw, 16px);
  border-bottom: 1px solid rgba(45, 37, 25, 0.16);
}
.s-access__item:not(:last-child) {
  margin-bottom: clamp(12px, 10.5142857143px + 0.380952381vw, 16px);
}
.s-access__item-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.s-access__item-dot {
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #b59a5b;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.s-access__item-line {
  font-size: clamp(1.2rem, 1.2rem + 0vw, 1.2rem);
  letter-spacing: 0.04em;
  color: #2D2519;
}
.s-access__item-dest {
  letter-spacing: 0.04em;
  color: #2D2519;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  line-height: 1;
}
.s-access__item-dest .s {
  font-size: clamp(2rem, 1.8514285714rem + 0.380952381vw, 2.4rem);
}
.s-access__item-dest .u {
  font-size: clamp(1.6rem, 1.4514285714rem + 0.380952381vw, 2rem);
}
.s-access__item-dest .n {
  font-size: clamp(2rem, 1.8514285714rem + 0.380952381vw, 2.4rem);
}
.s-access__item-note {
  font-size: clamp(1rem, 0.9628571429rem + 0.0952380952vw, 1.1rem);
  letter-spacing: 0.04em;
  line-height: 1.4;
  color: #505050;
}
.s-access {
  /* right: route map */
}
.s-access__map {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.s-access__map svg {
  width: 100%;
  height: auto;
  display: block;
}
.s-access__map svg text {
  font-family: "TsukuAOldMinPr6N-M", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}
.s-access__map svg #circle-01,
.s-access__map svg #circle-01-b {
  -webkit-transform-origin: 277.396px 298.508px;
          transform-origin: 277.396px 298.508px;
  -webkit-animation: s-access-ring-pulse 3s ease-out infinite;
          animation: s-access-ring-pulse 3s ease-out infinite;
  vector-effect: non-scaling-stroke;
  stroke-width: 1px;
}
.s-access__map svg #circle-01-b {
  -webkit-animation-delay: -1.5s;
          animation-delay: -1.5s;
}

@-webkit-keyframes s-access-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-access-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;
  }
}
/* ------------------------------------------------------------
    CONCEPT
------------------------------------------------------------ */
.s-concept {
  margin-top: clamp(40px, 31.0857142857px + 2.2857142857vw, 64px);
  padding: clamp(200px, 125.7142857143px + 19.0476190476vw, 400px) 0 clamp(48px, 30.1714285714px + 4.5714285714vw, 96px);
  position: relative;
}
.s-concept__bg {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  opacity: 0;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 140px 1fr;
  grid-template-rows: 140px 1fr;
}
@media only screen and (min-width: 769px) {
  .s-concept__bg {
    -ms-grid-rows: 280px 1fr;
    grid-template-rows: 280px 1fr;
  }
}
.s-concept__bg__top {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(45, 37, 25, 0)), to(#2D2519));
  background: linear-gradient(180deg, rgba(45, 37, 25, 0) 0%, #2D2519 100%);
}
.s-concept__bg__base {
  background-color: #2D2519;
}
.s-concept__catch {
  position: relative;
  z-index: 1;
}
.s-concept__catch__txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.s-concept__catch__txt__01, .s-concept__catch__txt__02 {
  -webkit-writing-mode: vertical-rl;
          writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  white-space: nowrap;
  letter-spacing: 0.2em;
  /* -webkit-text-orientation: upright;
  text-orientation: upright; */
  -ms-text-combine-horizontal: all; /* for IE Edge */
  line-height: 2.5;
}
.s-concept__catch__txt__01 .yoko, .s-concept__catch__txt__02 .yoko {
  display: inline-block;
  -webkit-writing-mode: lr-tb;
          writing-mode: lr-tb;
  -ms-writing-mode: lr-tb;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
.s-concept__catch__txt__01 .yoko.first, .s-concept__catch__txt__02 .yoko.first {
  line-height: 1;
}
.s-concept__catch__txt__01, .s-concept__catch__txt__02 {
  color: #fff;
  letter-spacing: 0.4em;
  line-height: 1.8;
}
.s-concept__catch__txt__01 {
  font-size: clamp(1.4rem, 1.1771428571rem + 0.5714285714vw, 2rem);
}
.s-concept__catch__txt__02 {
  font-size: clamp(2.6rem, 2.08rem + 1.3333333333vw, 4rem);
}
.s-concept__img {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  width: 90%;
  max-width: 1126px;
  margin-inline: auto;
  margin-top: 40px;
}
@media only screen and (min-width: 769px) {
  .s-concept__img {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 24px;
    margin-top: 144px;
  }
}
.s-concept__img__01 {
  width: 90%;
}
@media only screen and (min-width: 769px) {
  .s-concept__img__01 {
    width: 64%;
  }
}
.s-concept__img__02 {
  width: 90%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  margin-left: 10%;
}
@media only screen and (min-width: 769px) {
  .s-concept__img__02 {
    width: 34%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 12px;
    margin-left: 0;
    margin-top: -18%;
  }
}
/*# sourceMappingURL=top.css.map */