@charset "UTF-8";

:root {
  --font-en: "Cinzel", serif;
  --color-navy: #3e4c59;
  --color-wh: #fff;
}
.font-cinzel {
  font-family: var(--font-en);
}
.is-navy {
  color: var(--color-navy);
}

.img-wrapper .caption.is-out {
  bottom: -10px;
}

.mv {
  position: relative;
}
.mv-txt-wrap {
  position: absolute;
  top: 50%;
  left: 5%;
  transform: translateY(-50%);
}
.mv-heading {
  color: var(--color-wh);
  margin-bottom: clamp(8px, 1.2vw, 12px);
  padding-bottom: clamp(6px, 1vw, 10px);
  width: fit-content;
  position: relative;
  font-family: var(--font-en);
  font-size: clamp(3.2rem, 8vw, 8.8rem);
  font-weight: 400;
  letter-spacing: clamp(.3rem, .6vw, .6rem);

  &::after {
    content: "";
    width: calc(100% + calc(160 / 1680 * 100vw));
    height: 1px;
    background: var(--color-wh);
    position: absolute;
    bottom: 0;
    left: 0;
  }
}
.mv-txt {
  color: var(--color-wh);
  font-size: clamp(1.3rem, 2.2vw, 2.2rem);
}
@media screen and (max-width: 767px) {
  .mv {
    aspect-ratio: 750 / 650;
    figure {
      height: 100%;
      img {
        height: inherit;
        object-fit: cover;
      }
    }
  }
}

.secondary-heading {
  margin-bottom: clamp(2em, 4vw, 4em);
  font-size: clamp(2.2rem, 3.4vw, 3.4rem);
}
.secondary-heading .num-large {
  font-size: 200%;
  line-height: 1;
}
.secondary-heading .fz_s {
  font-size: clamp(1.6rem, 2.4vw, 2.4rem);
}

.lead {
  margin-bottom: clamp(4em, 8vw, 8em);
}

.fz12 {
  font-size: clamp(1rem, 1.2vw, 1.2rem);
}
.fz14 {
  font-size: clamp(1.2rem, 1.4vw, 1.4rem);
}
.fz16 {
  font-size: clamp(1.3rem, 1.6vw, 1.6rem);
}

.train-access,
.car-access {
  background: url(../images/access/bg01.webp) no-repeat center;
  background-size: cover;
}
.car-access {
  padding-bottom: 110px;
}

.rosen {
  margin: 40px auto;
  max-width: 1000px;
}
@media screen and (max-width: 767px) {
  .rosen {
    margin: 40px -24px;
  }
}

.inuyama-title {
  font-size: clamp(1.6rem, 2.4vw, 2.4rem);
  margin-bottom: clamp(1em, 2vw, 2em);
  margin-top: 100px;
}
.inuyama-list {
  justify-content: space-between;
}
.inuyama-list li {
  width: calc(384% / 12);
}
.inuyama-list li .secondary-heading {
  margin: 30px auto;
}
.inuyama-list li p {
  line-height: 1.5;
}
.inuyama-list-small {
  justify-content: space-around;
  margin: 10px auto;
  max-width: 1135px;
}
.inuyama-list-small li {
  width: calc(360% / 11.35);
}
.inuyama-list-small li .secondary-heading {
  border-bottom: 1px solid #707070;
  font-size: clamp(1.6rem, 2.4vw, 2.4rem);
  margin: 0 auto 10px;
  padding-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .inuyama-title {
    margin-top: 30px;
  }
  .inuyama-list li {
    margin-bottom: 30px;
    width: 100%;
  }
  .inuyama-list li .secondary-heading {
    margin: 10px auto;
  }
}

.sky {
  align-items: center;
  background: var(--color-wh);
  border: 1px solid var(--color-navy);
  justify-content: space-between;
  margin: 80px auto 0;
  padding: 40px;
  width: 100%;
  max-width: 1000px;
}
.sky-img {
  width: calc(435% / 9.18);
}
.sky-text {
  width: calc(435% / 9.18);
}
.sky-text-title {
  font-size: clamp(1.6rem, 2.4vw, 2.4rem);
  line-height: 1.5;
}
.sky-text .secondary-heading {
  font-size: clamp(1.8rem, 3vw, 3rem);
  line-height: 1.5;
  margin: 30px auto 10px;
}
.sky-text .secondary-heading .num-large {
  font-size: 120%;
}
@media screen and (max-width: 767px) {
  .sky {
    margin: 40px auto 0;
    padding: 20px;
  }
  .sky-img,
  .sky-text {
    width: 100%;
  }
  .sky-text-title {
    margin-top: 10px;
  }
  .sky-text .secondary-heading {
    margin: 10px auto;
  }
}

.bus-access {
  background: url(../images/access/bg02.webp) no-repeat center;
  background-size: cover;
}

.title-wrapper {
  align-items: center;
  justify-content: space-between;
  margin-bottom: 50px;
}
.title-wrapper-text {
  width: calc(440% / 12);
}
.title-wrapper-text-en {
  font-size: clamp(1.6rem, 2.4vw, 2.4rem);
}
.bus-access .title-wrapper-text-en {
  color: #553030;
}
.car-access .title-wrapper-text-en {
  color: #2E0A17;
}
.title-wrapper-text-ja {
  font-size: clamp(2rem, 3.6vw, 3.6rem);
  line-height: 1.5;
  margin: 20px auto;
}
.title-wrapper-text .lead,
.title-wrapper-text .secondary-heading {
  margin: 20px auto 0;
}
.title-wrapper-img {
  width: calc(644% / 12);
}
@media screen and (max-width: 767px) {
  .title-wrapper {
    margin-bottom: 30px;
  }
  .title-wrapper-text {
    margin-bottom: 20px;
  }
  .title-wrapper-text,
  .title-wrapper-img {
    width: 100%;
  }
}

.highway {
  margin: 0 auto;
  max-width: 1000px;
}

.highway-list {
  justify-content: space-around;
  padding: 0 35px;
  margin: 100px auto;
}
.highway-list li:not(:first-child) {
  border-left: 1px solid #707070;
  padding-left: 7%;
}
.highway-list .secondary-heading {
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .highway-list {
    padding: 0 20px;
    margin: 20px auto;
  }
  .highway-list li {
    width: 100%;
  }
  .highway-list li:not(:first-child) {
    border-left: none;
    border-top: 1px solid #707070;
    margin-top: 10px;
    padding-left: 0;
    padding-top: 10px;
  }
  .highway-list .secondary-heading {
    margin: 0 auto;
  }
}

.car-slide {
  position: relative;
}
.car-slide .secondary-heading {
  font-size: clamp(1.3rem, 2.2vw, 2.2rem);
}
.slick-slide {
  height: auto;
}
.slide-content {
  margin: 0 auto;
  max-width: 100%;
}
.slick-img {
  margin: 0 20px;
  max-width: 580px;
}
.slick-img figure {
  height: 338px;
  margin-bottom: 20px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .slick-img {
    margin: 0 5px 20px;
    max-width: 300px;
  }
  .slick-img figure {
    height: auto;
    margin-bottom: 10px;
  }
}

.arrow_box {
  align-items: center;
  bottom: -20px;
  display: flex;
  justify-content: space-between;
  left: 0;
  margin: 0 auto;
  position: absolute;
  right: 0;
  max-width: 210px;
}
.prev-arrow,
.next-arrow {
  cursor: pointer;
  display: block;
  height: 53px;
  position:relative;
  transition: all .3s ease;
  width: 37px;
}
.prev-arrow:hover,
.next-arrow:hover {
  opacity: .7;
}
.prev-arrow {
  background: url(../images/access/btn_prev.webp) no-repeat center;
  background-size: cover;
}
.next-arrow {
  background: url(../images/access/btn_next.webp) no-repeat center;
  background-size: cover;
}

.slide-dots {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  padding: 0;
  text-align: center;
  max-width: 88px;
}
.slide-dots li button {
  position: relative;
  text-indent: -9999px;
}
.slide-dots li button::before {
  background: #CBC9C7;
  border-radius: 50%;
  content: "";
  cursor: pointer;
  height: 10px;
  left: -5px;
  margin: auto;
  position: absolute;
  top: 0;
  width: 10px;
}
.slide-dots li.slick-active button::before {
  background: #553030;
}
button {
  background: none;
  border: none;
  outline: none;
}