@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&family=Zen+Old+Mincho&display=swap");
@import url("https://cdn.jsdelivr.net/npm/yakuhanjp@4.1.1/dist/css/yakuhanmp.css");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@200..900&family=Noto+Serif+SC:wght@200..900&family=Noto+Serif+TC:wght@200..900&family=Noto+Serif+Thai:wght@100..900&display=swap");
/*==================================================================================================
	トップページ
==================================================================================================*/
article.home .kv {
  width: 100vw;
  height: 100vh;
  position: relative;
  overflow: hidden;
  /* video { // Videoタグの場合
  	position: absolute;
  	top: 50%;
  	left: 50%;
  	transform: translate(-50%, -50%);
  	width: auto;
  	height: 100vh;
  	aspect-ratio: 16 / 9;
  	object-fit: cover;
  } */
  /* .video { // Youtubeの場合
  	width: 100vw;
  	height: 100vh;
  	overflow: hidden;
  	iframe {
  		position: absolute;
  		top: 50%;
  		left: 50%;
  		transform: translate(-50%, -50%);
  		width: 177.77vw;
  		height: 100vh;
  		min-width: 177.78vh;
  		min-height: 56.25vw;
  		pointer-events: none;
  		@media (min-aspect-ratio: 16/9) {
  			width: 100vw;
  			height: auto;
  			// min-height: 100%;
  		}
  		@media (max-aspect-ratio: 16/9) {
  			width: auto;
  			height: 100vh;
  			// min-width: 100%;
  		}
  	}
  } */
}
@media screen and (max-width: 767px) {
  article.home .kv {
    height: 90vh;
  }
}
article.home .kv .main-slides {
  position: relative;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  margin-bottom: 0 !important;
}
article.home .kv .main-slides img {
  width: 100%;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
}
@-webkit-keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}
article.home .kv .main-slides .add-animation {
  -webkit-animation: zoomUp 10s linear 0s normal both;
          animation: zoomUp 10s linear 0s normal both;
}
article.home .kv .infobar {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100vw;
  padding: 1em 2vw;
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5em 2em;
}
@media screen and (max-width: 767px) {
  article.home .kv .infobar {
    flex-direction: column;
  }
}
article.home .kv .date {
  font-family: "Crimson Text", serif;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 0.65em;
  line-height: 1;
  color: #444;
  text-transform: lowercase;
}
@media screen and (max-width: 767px) {
  article.home .kv .date {
    position: absolute;
    top: -8rem;
    left: 1em;
    filter: brightness(10);
  }
}
article.home .kv .date .weather img {
  max-width: 4.6rem;
}
article.home .kv .date time {
  font-size: 4.3rem;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  article.home .kv .date time {
    font-size: 8rem;
  }
}
article.home .kv .date time span {
  font-size: 52%;
  margin-left: 0.24em;
}
article.home .kv .operation {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 66.875%;
}
@media screen and (max-width: 767px) {
  article.home .kv .operation {
    width: 100%;
  }
}
article.home .kv .operation dt {
  padding: 0.65em 1em;
  background: #005d97;
  color: #fff;
  line-height: 1;
  white-space: nowrap;
  letter-spacing: 0.022em;
  font-size: clamp(1.2rem, 1.7vw, 1.4rem);
}
article.home .kv .operation dd {
  overflow: hidden;
  position: relative;
  width: 100%;
}
article.home .kv .operation dd p {
  display: inline-block;
  white-space: nowrap;
  position: absolute;
  left: 100%;
  line-height: 1.1;
  will-change: transform;
}
@-webkit-keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
article.home .kv .livecam a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.6em;
  line-height: 1;
  white-space: nowrap;
  color: #fff;
  background: url("../img/common/bg-btn.png") no-repeat center/cover #005d97;
  padding: 1.25em 1.5em;
  border-radius: 100vh;
}
article.home .kv .livecam a::before {
  content: "";
  display: block;
  width: 1.6rem;
  height: 1.4rem;
  background: url("../img/common/icon-cam.svg") no-repeat left center/contain;
}
article.home .aoterrace {
  background: url("../img/home/aoterrace-bg.jpg") no-repeat top center/cover;
  padding: 30rem 20px 18rem;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  article.home .aoterrace {
    padding: 8rem 20px;
    background-image: url("../img/home/aoterrace-bg_sp.jpg");
  }
}
article.home .aoterrace .inner {
  max-width: 660px;
  margin: 0 auto;
}
article.home .aoterrace h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(4.2rem, 4vw, 8rem);
}
article.home .aoterrace h3 {
  font-size: clamp(2.4rem, 4vw, 3.2rem);
  margin-top: 8rem;
  padding-bottom: 1.4rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.85);
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  article.home .aoterrace h3 {
    margin-top: 4rem;
  }
}
article.home .aoterrace p {
  letter-spacing: 0.166em;
  margin-top: 6rem;
}
@media screen and (max-width: 767px) {
  article.home .aoterrace p {
    margin-top: 3rem;
  }
}
article.home .aoterrace p img {
  width: auto;
}
@media screen and (max-width: 767px) {
  article.home .aoterrace p img {
    max-width: 186px;
  }
}
article.home .aoterrace .btn {
  margin-top: 4rem;
}
article.home .gallery-slides .item {
  width: 100%;
  aspect-ratio: 480/460;
}
article.home .gallery-slides .item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
article.home .area {
  background: url("../img/common/bg-grey.png") repeat top left/350px;
  padding: 6rem 20px;
}
article.home .area ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem;
  max-width: 1140px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  article.home .area ul {
    gap: 1rem;
  }
}
article.home .area li {
  width: calc(50% - 1rem);
}
article.home .area a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 2rem;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  article.home .area a {
    border-radius: 1rem;
  }
}
article.home .area a::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #888;
  mix-blend-mode: multiply;
  z-index: 1;
}
article.home .area a:hover .bg img {
  transform: scale(1.025);
  transition: all 0.5s ease;
}
article.home .area a:hover p::after {
  background: #fff;
  color: #333;
  transform: scale(1.18);
  transition: all 0.5s ease;
}
article.home .area p {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  line-height: 1.56;
  position: relative;
  z-index: 2;
}
article.home .area p::after {
  content: "MORE";
  font-family: "Cormorant Garamond", serif;
  font-size: 1.4rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 8rem;
  height: auto;
  aspect-ratio: 1/1;
  border: 1px solid #fff;
  border-radius: 100vh;
  margin-top: 5rem;
  transition: all 1s ease;
}
@media screen and (max-width: 767px) {
  article.home .area p::after {
    width: 4.6rem;
    font-size: 0.8rem;
    margin-top: 1rem;
  }
}
article.home .area p .en {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.7rem, 4vw, 3.6rem);
}
@media screen and (max-width: 767px) {
  article.home .area p .jp {
    font-size: 0.9rem;
  }
}
article.home .area .bg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
}
article.home .area .bg img {
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 1s ease;
}
article.home .plan {
  padding: 6rem 0;
  background: url("../img/home/plan-bg.png") no-repeat top left/contain;
  text-align: center;
}
article.home .plan h2 {
  display: flex;
  justify-content: center;
  flex-direction: column;
  text-align: center;
}
article.home .plan h2 .en {
  background: linear-gradient(90deg, rgb(0, 93, 151) 0%, rgb(255, 190, 170) 80%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(4.6rem, 7vw, 11.6rem);
  font-weight: 600;
  letter-spacing: normal;
}
article.home .plan h2 .jp {
  font-size: clamp(2rem, 4vw, 3.2rem);
}
article.home .plan ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  padding: 0 4px;
  gap: 4px;
  margin-top: 8rem;
}
@media screen and (max-width: 767px) {
  article.home .plan ul {
    padding: 0;
    margin-top: 4rem;
  }
}
article.home .plan li {
  width: calc(50% - 2px);
  overflow: hidden;
  background: url("../img/common/arrow-rw.svg") no-repeat right 1em bottom 1em/auto;
}
@media screen and (max-width: 767px) {
  article.home .plan li {
    width: 100%;
  }
}
article.home .plan li a {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  position: relative;
  padding: 7rem 20px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  article.home .plan li a {
    padding: 5rem;
  }
}
article.home .plan li a:hover {
  opacity: 1;
}
article.home .plan li a:hover .bg {
  transform: scale(1);
  transition: all 0.5s ease;
  filter: saturate(2) contrast(0.8);
}
article.home .plan li a span {
  font-family: "Crimson Text", serif;
  font-size: clamp(0.9rem, 4vw, 1.6rem);
}
article.home .plan li a p {
  font-size: clamp(1.4rem, 4vw, 2.4rem);
  line-height: 1.65;
}
article.home .plan li .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  transform: scale(1.08);
  transition: all 1s ease;
}
article.home .plan li .bg::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #888;
  mix-blend-mode: multiply;
}
article.home .plan li .bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
article.home .plan .btn {
  margin-top: 3rem;
}
article.home .links {
  background: url("../img/common/bg-gblue.png") no-repeat center/cover;
  padding: 6rem 20px;
}
article.home .links ul {
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 3rem 5rem;
}
@media screen and (max-width: 767px) {
  article.home .links ul {
    gap: 1rem 0;
  }
}
article.home .links li {
  width: calc(50% - 2.5rem);
}
@media screen and (max-width: 767px) {
  article.home .links li {
    width: 100%;
  }
}
article.home .links a {
  width: 100%;
  border: 1px solid #fff;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  color: #fff;
  background: url("../img/common/icon-blank.svg") no-repeat right 20px bottom 20px;
  padding: 4rem 3rem;
  font-size: clamp(1.6rem, 4vw, 2rem);
  line-height: 1.5;
  transform: scale(1);
  position: relative;
}
@media screen and (max-width: 767px) {
  article.home .links a {
    align-items: center;
  }
}
article.home .links a:hover {
  transform: scale(0.98);
}
article.home .links a span {
  font-family: "Crimson Text", serif;
  font-size: 86%;
}
article.home section.news {
  padding: 10rem 20px;
}
article.home section.news .inner {
  max-width: 1500px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 4rem 5rem;
}
@media screen and (max-width: 767px) {
  article.home section.news .inner {
    flex-direction: column;
  }
}
article.home section.news h2 {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}
article.home section.news h2 .en {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.6rem, 4vw, 5.3rem);
}
article.home section.news h2 .jp {
  font-size: clamp(1.2rem, 4vw, 2rem);
}
article.home section.news .btn {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  article.home section.news .btn {
    margin-right: auto;
    margin-left: auto;
    margin-top: 0;
  }
}
article.home section.news ul {
  width: 100%;
  max-width: 1060px;
  border-bottom: 1px solid #ccc;
}
article.home section.news li {
  border-top: 1px solid #ccc;
}
article.home section.news li a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1.6em;
  padding: 2em 4em 2em 1em;
  background: url("../img/common/arrow-rg.svg") no-repeat right 1em center;
}
@media screen and (max-width: 767px) {
  article.home section.news li a {
    flex-wrap: wrap;
    gap: 1em 0.6em;
    padding-left: 0;
  }
}
article.home section.news li a:hover {
  background-color: rgba(220, 220, 220, 0.2);
  background-position: right center;
}
article.home section.news li time {
  font-family: "Crimson Text", serif;
}
@media screen and (max-width: 767px) {
  article.home section.news li time {
    font-size: 1rem;
  }
}
article.home section.news li .cate {
  font-size: 1.2rem;
  line-height: 1;
  white-space: nowrap;
  padding: 0.6em;
  border: 1px solid #005d97;
  color: #005d97;
  width: 7em;
  letter-spacing: normal;
  text-align: center;
}
@media screen and (max-width: 767px) {
  article.home section.news li .cate {
    font-size: 0.8rem;
  }
}
article.home section.news li .cate.important {
  filter: hue-rotate(140deg);
}
article.home section.news li .cate.store {
  filter: hue-rotate(250deg);
}
article.home section.news li .cate.event {
  filter: hue-rotate(210deg) saturate(15);
}
article.home section.news li .cate.topics {
  filter: hue-rotate(60deg);
}
article.home section.news li p {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 8;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  article.home section.news li p {
    flex: auto;
    white-space: wrap;
    text-overflow: initial;
    width: 100%;
    line-height: 1.75;
  }
}
article.home .instagram {
  margin-top: 20rem;
  padding: 0 20px 6rem;
  background: url("../img/common/bg-grey.png") repeat top left/350px;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 767px) {
  article.home .instagram {
    margin-top: 6rem;
  }
}
article.home .instagram::before {
  content: "";
  display: block;
  width: 100vw;
  height: 7.14vw;
  background: url("../img/home/instagram-bg.png") no-repeat top center/contain;
  position: absolute;
  top: -7.14vw;
  left: 0;
}
article.home .instagram .inner {
  max-width: 1650px;
  margin: -5rem auto 0;
}
article.home .instagram h3 {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(3.2rem, 4vw, 5.3rem);
  letter-spacing: normal;
  line-height: 1.2;
}
article.home .instagram h3::before {
  content: "Follow Us!";
  display: block;
  font-size: clamp(1.8rem, 4vw, 2.8rem);
}
article.home .instagram .feed {
  margin-top: 2rem;
}

/*==================================================================================================
	山頂エリア
	山麓エリア
==================================================================================================*/
article.parkguide .content,
article.mountain_top .content,
article.base .content,
article.ao-terrace .content,
article.skygarden .content,
article.ropeway .content,
article.gourmet .content {
  padding-left: 0;
  padding-right: 0;
}
article.parkguide .ttl__main,
article.mountain_top .ttl__main,
article.base .ttl__main,
article.ao-terrace .ttl__main,
article.skygarden .ttl__main,
article.ropeway .ttl__main,
article.gourmet .ttl__main {
  position: relative;
  background: url("../img/home/plan-bg.png") no-repeat left top/70vw;
  position: relative;
}
article.parkguide .ttl__main .txt,
article.mountain_top .ttl__main .txt,
article.base .ttl__main .txt,
article.ao-terrace .ttl__main .txt,
article.skygarden .ttl__main .txt,
article.ropeway .ttl__main .txt,
article.gourmet .ttl__main .txt {
  position: absolute;
  left: 6vw;
  top: 10%;
}
@media screen and (max-width: 767px) {
  article.parkguide .ttl__main .txt,
article.mountain_top .ttl__main .txt,
article.base .ttl__main .txt,
article.ao-terrace .ttl__main .txt,
article.skygarden .ttl__main .txt,
article.ropeway .ttl__main .txt,
article.gourmet .ttl__main .txt {
    left: 3vw;
    top: 0;
  }
}
article.parkguide .ttl__main h2,
article.mountain_top .ttl__main h2,
article.base .ttl__main h2,
article.ao-terrace .ttl__main h2,
article.skygarden .ttl__main h2,
article.ropeway .ttl__main h2,
article.gourmet .ttl__main h2 {
  font-size: clamp(3.2rem, 4vw, 4.8rem);
  letter-spacing: 0.085em;
  color: #000;
  position: relative;
  z-index: 2;
}
article.parkguide .ttl__main .en,
article.mountain_top .ttl__main .en,
article.base .ttl__main .en,
article.ao-terrace .ttl__main .en,
article.skygarden .ttl__main .en,
article.ropeway .ttl__main .en,
article.gourmet .ttl__main .en {
  margin-top: 5vw;
  font-size: clamp(1.1rem, 1.7vw, 1.6rem);
  line-height: 1.4;
  opacity: 0.5;
  position: relative;
  z-index: 1;
}
article.parkguide .ttl__main figure,
article.mountain_top .ttl__main figure,
article.base .ttl__main figure,
article.ao-terrace .ttl__main figure,
article.skygarden .ttl__main figure,
article.ropeway .ttl__main figure,
article.gourmet .ttl__main figure {
  width: 100vw;
  padding-left: 26vw;
  margin-left: auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  article.parkguide .ttl__main figure,
article.mountain_top .ttl__main figure,
article.base .ttl__main figure,
article.ao-terrace .ttl__main figure,
article.skygarden .ttl__main figure,
article.ropeway .ttl__main figure,
article.gourmet .ttl__main figure {
    padding-left: 20vw;
    padding-top: 18vw;
    height: 50vh;
  }
}
article.parkguide .ttl__main figure::before,
article.mountain_top .ttl__main figure::before,
article.base .ttl__main figure::before,
article.ao-terrace .ttl__main figure::before,
article.skygarden .ttl__main figure::before,
article.ropeway .ttl__main figure::before,
article.gourmet .ttl__main figure::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 26vw;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.66) 0%, rgba(255, 255, 255, 0) 40%);
}
@media screen and (max-width: 767px) {
  article.parkguide .ttl__main figure::before,
article.mountain_top .ttl__main figure::before,
article.base .ttl__main figure::before,
article.ao-terrace .ttl__main figure::before,
article.skygarden .ttl__main figure::before,
article.ropeway .ttl__main figure::before,
article.gourmet .ttl__main figure::before {
    left: 20vw;
  }
}
article.parkguide .ttl__main figure img,
article.mountain_top .ttl__main figure img,
article.base .ttl__main figure img,
article.ao-terrace .ttl__main figure img,
article.skygarden .ttl__main figure img,
article.ropeway .ttl__main figure img,
article.gourmet .ttl__main figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
article.parkguide .lead,
article.mountain_top .lead,
article.base .lead,
article.ao-terrace .lead,
article.skygarden .lead,
article.ropeway .lead,
article.gourmet .lead {
  text-align: center;
  padding: 4rem 4vw;
}
article.parkguide #map-svg [id^=btn-],
article.mountain_top #map-svg [id^=btn-],
article.base #map-svg [id^=btn-],
article.ao-terrace #map-svg [id^=btn-],
article.skygarden #map-svg [id^=btn-],
article.ropeway #map-svg [id^=btn-],
article.gourmet #map-svg [id^=btn-] {
  cursor: pointer;
  transition: all 0.5s ease;
}
article.parkguide #map-svg [id^=btn-]:hover,
article.mountain_top #map-svg [id^=btn-]:hover,
article.base #map-svg [id^=btn-]:hover,
article.ao-terrace #map-svg [id^=btn-]:hover,
article.skygarden #map-svg [id^=btn-]:hover,
article.ropeway #map-svg [id^=btn-]:hover,
article.gourmet #map-svg [id^=btn-]:hover {
  opacity: 0.75;
}
article.parkguide .areamap,
article.mountain_top .areamap,
article.base .areamap,
article.ao-terrace .areamap,
article.skygarden .areamap,
article.ropeway .areamap,
article.gourmet .areamap {
  position: relative;
  overflow-x: scroll;
  overflow-y: hidden;
  margin-bottom: 8rem;
}
article.parkguide .areamap .pin,
article.mountain_top .areamap .pin,
article.base .areamap .pin,
article.ao-terrace .areamap .pin,
article.skygarden .areamap .pin,
article.ropeway .areamap .pin,
article.gourmet .areamap .pin {
  position: absolute;
  top: 0;
  left: 0;
  min-height: 42vh;
}
article.parkguide .areamap .pin svg,
article.mountain_top .areamap .pin svg,
article.base .areamap .pin svg,
article.ao-terrace .areamap .pin svg,
article.skygarden .areamap .pin svg,
article.ropeway .areamap .pin svg,
article.gourmet .areamap .pin svg {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
article.parkguide .areamap .bg,
article.mountain_top .areamap .bg,
article.base .areamap .bg,
article.ao-terrace .areamap .bg,
article.skygarden .areamap .bg,
article.ropeway .areamap .bg,
article.gourmet .areamap .bg {
  min-height: 42vh;
}
article.parkguide .areamap .bg img,
article.mountain_top .areamap .bg img,
article.base .areamap .bg img,
article.ao-terrace .areamap .bg img,
article.skygarden .areamap .bg img,
article.ropeway .areamap .bg img,
article.gourmet .areamap .bg img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
article.parkguide .areamap.top .pin, article.parkguide .areamap.top .bg,
article.mountain_top .areamap.top .pin,
article.mountain_top .areamap.top .bg,
article.base .areamap.top .pin,
article.base .areamap.top .bg,
article.ao-terrace .areamap.top .pin,
article.ao-terrace .areamap.top .bg,
article.skygarden .areamap.top .pin,
article.skygarden .areamap.top .bg,
article.ropeway .areamap.top .pin,
article.ropeway .areamap.top .bg,
article.gourmet .areamap.top .pin,
article.gourmet .areamap.top .bg {
  aspect-ratio: 1920/600;
}
article.parkguide .areamap.sky .pin, article.parkguide .areamap.sky .bg, article.parkguide .areamap.ao .pin, article.parkguide .areamap.ao .bg,
article.mountain_top .areamap.sky .pin,
article.mountain_top .areamap.sky .bg,
article.mountain_top .areamap.ao .pin,
article.mountain_top .areamap.ao .bg,
article.base .areamap.sky .pin,
article.base .areamap.sky .bg,
article.base .areamap.ao .pin,
article.base .areamap.ao .bg,
article.ao-terrace .areamap.sky .pin,
article.ao-terrace .areamap.sky .bg,
article.ao-terrace .areamap.ao .pin,
article.ao-terrace .areamap.ao .bg,
article.skygarden .areamap.sky .pin,
article.skygarden .areamap.sky .bg,
article.skygarden .areamap.ao .pin,
article.skygarden .areamap.ao .bg,
article.ropeway .areamap.sky .pin,
article.ropeway .areamap.sky .bg,
article.ropeway .areamap.ao .pin,
article.ropeway .areamap.ao .bg,
article.gourmet .areamap.sky .pin,
article.gourmet .areamap.sky .bg,
article.gourmet .areamap.ao .pin,
article.gourmet .areamap.ao .bg {
  aspect-ratio: 1920/790;
}
article.parkguide .anchor,
article.mountain_top .anchor,
article.base .anchor,
article.ao-terrace .anchor,
article.skygarden .anchor,
article.ropeway .anchor,
article.gourmet .anchor {
  display: flex;
  justify-content: center;
  gap: 1.6rem 4rem;
  padding: 0 4vw;
}
@media screen and (max-width: 767px) {
  article.parkguide .anchor,
article.mountain_top .anchor,
article.base .anchor,
article.ao-terrace .anchor,
article.skygarden .anchor,
article.ropeway .anchor,
article.gourmet .anchor {
    flex-direction: column;
  }
}
article.parkguide .anchor li,
article.mountain_top .anchor li,
article.base .anchor li,
article.ao-terrace .anchor li,
article.skygarden .anchor li,
article.ropeway .anchor li,
article.gourmet .anchor li {
  width: 100%;
  max-width: 368px;
}
@media screen and (max-width: 767px) {
  article.parkguide .anchor li,
article.mountain_top .anchor li,
article.base .anchor li,
article.ao-terrace .anchor li,
article.skygarden .anchor li,
article.ropeway .anchor li,
article.gourmet .anchor li {
    margin: 0 auto;
  }
}
article.parkguide .anchor a,
article.mountain_top .anchor a,
article.base .anchor a,
article.ao-terrace .anchor a,
article.skygarden .anchor a,
article.ropeway .anchor a,
article.gourmet .anchor a {
  display: block;
  width: 100%;
  padding: 2rem;
  border: 1px solid rgba(0, 0, 0, 0.4);
  font-size: clamp(1.3rem, 1.7vw, 1.6rem);
  text-align: center;
  background: url("../img/common/chev-db.svg") no-repeat right 1.6rem center/1rem;
  line-height: 1.75;
}
article.parkguide .anchor a small,
article.mountain_top .anchor a small,
article.base .anchor a small,
article.ao-terrace .anchor a small,
article.skygarden .anchor a small,
article.ropeway .anchor a small,
article.gourmet .anchor a small {
  display: block;
  font-size: 60%;
}
article.parkguide .area-cnt,
article.mountain_top .area-cnt,
article.base .area-cnt,
article.ao-terrace .area-cnt,
article.skygarden .area-cnt,
article.ropeway .area-cnt,
article.gourmet .area-cnt {
  margin-top: 8rem;
}
article.parkguide .area-cnt .ttl__sub,
article.mountain_top .area-cnt .ttl__sub,
article.base .area-cnt .ttl__sub,
article.ao-terrace .area-cnt .ttl__sub,
article.skygarden .area-cnt .ttl__sub,
article.ropeway .area-cnt .ttl__sub,
article.gourmet .area-cnt .ttl__sub {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0;
}
@media screen and (max-width: 767px) {
  article.parkguide .area-cnt .ttl__sub,
article.mountain_top .area-cnt .ttl__sub,
article.base .area-cnt .ttl__sub,
article.ao-terrace .area-cnt .ttl__sub,
article.skygarden .area-cnt .ttl__sub,
article.ropeway .area-cnt .ttl__sub,
article.gourmet .area-cnt .ttl__sub {
    flex-direction: column !important;
  }
  article.parkguide .area-cnt .ttl__sub > *,
article.mountain_top .area-cnt .ttl__sub > *,
article.base .area-cnt .ttl__sub > *,
article.ao-terrace .area-cnt .ttl__sub > *,
article.skygarden .area-cnt .ttl__sub > *,
article.ropeway .area-cnt .ttl__sub > *,
article.gourmet .area-cnt .ttl__sub > * {
    flex: auto !important;
  }
}
article.parkguide .area-cnt .ttl__sub.reverse,
article.mountain_top .area-cnt .ttl__sub.reverse,
article.base .area-cnt .ttl__sub.reverse,
article.ao-terrace .area-cnt .ttl__sub.reverse,
article.skygarden .area-cnt .ttl__sub.reverse,
article.ropeway .area-cnt .ttl__sub.reverse,
article.gourmet .area-cnt .ttl__sub.reverse {
  flex-direction: row-reverse;
}
article.parkguide .area-cnt .ttl__sub.reverse figure,
article.mountain_top .area-cnt .ttl__sub.reverse figure,
article.base .area-cnt .ttl__sub.reverse figure,
article.ao-terrace .area-cnt .ttl__sub.reverse figure,
article.skygarden .area-cnt .ttl__sub.reverse figure,
article.ropeway .area-cnt .ttl__sub.reverse figure,
article.gourmet .area-cnt .ttl__sub.reverse figure {
  padding-left: 0;
  padding-right: 4%;
}
@media screen and (max-width: 767px) {
  article.parkguide .area-cnt .ttl__sub.reverse figure,
article.mountain_top .area-cnt .ttl__sub.reverse figure,
article.base .area-cnt .ttl__sub.reverse figure,
article.ao-terrace .area-cnt .ttl__sub.reverse figure,
article.skygarden .area-cnt .ttl__sub.reverse figure,
article.ropeway .area-cnt .ttl__sub.reverse figure,
article.gourmet .area-cnt .ttl__sub.reverse figure {
    padding-right: 10vw;
  }
}
article.parkguide .area-cnt .ttl__sub.reverse figcaption,
article.mountain_top .area-cnt .ttl__sub.reverse figcaption,
article.base .area-cnt .ttl__sub.reverse figcaption,
article.ao-terrace .area-cnt .ttl__sub.reverse figcaption,
article.skygarden .area-cnt .ttl__sub.reverse figcaption,
article.ropeway .area-cnt .ttl__sub.reverse figcaption,
article.gourmet .area-cnt .ttl__sub.reverse figcaption {
  left: 94.3%;
  right: auto;
}
@media screen and (max-width: 767px) {
  article.parkguide .area-cnt .ttl__sub.reverse figcaption,
article.mountain_top .area-cnt .ttl__sub.reverse figcaption,
article.base .area-cnt .ttl__sub.reverse figcaption,
article.ao-terrace .area-cnt .ttl__sub.reverse figcaption,
article.skygarden .area-cnt .ttl__sub.reverse figcaption,
article.ropeway .area-cnt .ttl__sub.reverse figcaption,
article.gourmet .area-cnt .ttl__sub.reverse figcaption {
    left: 90vw;
  }
}
article.parkguide .area-cnt .ttl__sub .txt,
article.mountain_top .area-cnt .ttl__sub .txt,
article.base .area-cnt .ttl__sub .txt,
article.ao-terrace .area-cnt .ttl__sub .txt,
article.skygarden .area-cnt .ttl__sub .txt,
article.ropeway .area-cnt .ttl__sub .txt,
article.gourmet .area-cnt .ttl__sub .txt {
  flex: 2.6;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6rem 0;
  padding: 4rem 3vw;
}
@media screen and (max-width: 767px) {
  article.parkguide .area-cnt .ttl__sub .txt,
article.mountain_top .area-cnt .ttl__sub .txt,
article.base .area-cnt .ttl__sub .txt,
article.ao-terrace .area-cnt .ttl__sub .txt,
article.skygarden .area-cnt .ttl__sub .txt,
article.ropeway .area-cnt .ttl__sub .txt,
article.gourmet .area-cnt .ttl__sub .txt {
    text-align: center;
    width: 100%;
    gap: 2rem 0;
  }
}
article.parkguide .area-cnt .ttl__sub h3,
article.mountain_top .area-cnt .ttl__sub h3,
article.base .area-cnt .ttl__sub h3,
article.ao-terrace .area-cnt .ttl__sub h3,
article.skygarden .area-cnt .ttl__sub h3,
article.ropeway .area-cnt .ttl__sub h3,
article.gourmet .area-cnt .ttl__sub h3 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  font-size: clamp(2.6rem, 4vw, 3.4rem);
  text-align: center;
  position: relative;
}
article.parkguide .area-cnt .ttl__sub h3 small,
article.mountain_top .area-cnt .ttl__sub h3 small,
article.base .area-cnt .ttl__sub h3 small,
article.ao-terrace .area-cnt .ttl__sub h3 small,
article.skygarden .area-cnt .ttl__sub h3 small,
article.ropeway .area-cnt .ttl__sub h3 small,
article.gourmet .area-cnt .ttl__sub h3 small {
  font-size: 50%;
}
article.parkguide .area-cnt .ttl__sub p.vertical,
article.mountain_top .area-cnt .ttl__sub p.vertical,
article.base .area-cnt .ttl__sub p.vertical,
article.ao-terrace .area-cnt .ttl__sub p.vertical,
article.skygarden .area-cnt .ttl__sub p.vertical,
article.ropeway .area-cnt .ttl__sub p.vertical,
article.gourmet .area-cnt .ttl__sub p.vertical {
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: clamp(1.4rem, 1.7vw, 2rem);
}
@media screen and (max-width: 767px) {
  article.parkguide .area-cnt .ttl__sub p.vertical,
article.mountain_top .area-cnt .ttl__sub p.vertical,
article.base .area-cnt .ttl__sub p.vertical,
article.ao-terrace .area-cnt .ttl__sub p.vertical,
article.skygarden .area-cnt .ttl__sub p.vertical,
article.ropeway .area-cnt .ttl__sub p.vertical,
article.gourmet .area-cnt .ttl__sub p.vertical {
    writing-mode: horizontal-tb;
  }
}
article.parkguide .area-cnt .ttl__sub figure,
article.mountain_top .area-cnt .ttl__sub figure,
article.base .area-cnt .ttl__sub figure,
article.ao-terrace .area-cnt .ttl__sub figure,
article.skygarden .area-cnt .ttl__sub figure,
article.ropeway .area-cnt .ttl__sub figure,
article.gourmet .area-cnt .ttl__sub figure {
  flex: 7.4;
  overflow: hidden;
  position: relative;
  padding-left: 4%;
}
@media screen and (max-width: 767px) {
  article.parkguide .area-cnt .ttl__sub figure,
article.mountain_top .area-cnt .ttl__sub figure,
article.base .area-cnt .ttl__sub figure,
article.ao-terrace .area-cnt .ttl__sub figure,
article.skygarden .area-cnt .ttl__sub figure,
article.ropeway .area-cnt .ttl__sub figure,
article.gourmet .area-cnt .ttl__sub figure {
    width: 100vw;
    height: 40vh;
    padding-right: 10vw;
    padding-left: 0;
  }
}
article.parkguide .area-cnt .ttl__sub figure img,
article.mountain_top .area-cnt .ttl__sub figure img,
article.base .area-cnt .ttl__sub figure img,
article.ao-terrace .area-cnt .ttl__sub figure img,
article.skygarden .area-cnt .ttl__sub figure img,
article.ropeway .area-cnt .ttl__sub figure img,
article.gourmet .area-cnt .ttl__sub figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
article.parkguide .area-cnt .ttl__sub figcaption,
article.mountain_top .area-cnt .ttl__sub figcaption,
article.base .area-cnt .ttl__sub figcaption,
article.ao-terrace .area-cnt .ttl__sub figcaption,
article.skygarden .area-cnt .ttl__sub figcaption,
article.ropeway .area-cnt .ttl__sub figcaption,
article.gourmet .area-cnt .ttl__sub figcaption {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(5rem, 4vw, 8.5rem);
  color: #ccc;
  line-height: 0.65;
  writing-mode: vertical-rl;
  white-space: nowrap;
  position: absolute;
  top: 0;
  right: 94.3%;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  article.parkguide .area-cnt .ttl__sub figcaption,
article.mountain_top .area-cnt .ttl__sub figcaption,
article.base .area-cnt .ttl__sub figcaption,
article.ao-terrace .area-cnt .ttl__sub figcaption,
article.skygarden .area-cnt .ttl__sub figcaption,
article.ropeway .area-cnt .ttl__sub figcaption,
article.gourmet .area-cnt .ttl__sub figcaption {
    left: 90vw;
    right: auto;
  }
}
article.parkguide .area-cnt .description,
article.mountain_top .area-cnt .description,
article.base .area-cnt .description,
article.ao-terrace .area-cnt .description,
article.skygarden .area-cnt .description,
article.ropeway .area-cnt .description,
article.gourmet .area-cnt .description {
  max-width: 1100px;
  margin: 3rem auto 0;
  padding: 0 4vw;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3rem 5rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  article.parkguide .area-cnt .description,
article.mountain_top .area-cnt .description,
article.base .area-cnt .description,
article.ao-terrace .area-cnt .description,
article.skygarden .area-cnt .description,
article.ropeway .area-cnt .description,
article.gourmet .area-cnt .description {
    flex-direction: column-reverse !important;
    padding: 0 4vw;
  }
}
article.parkguide .area-cnt .description.reverse,
article.mountain_top .area-cnt .description.reverse,
article.base .area-cnt .description.reverse,
article.ao-terrace .area-cnt .description.reverse,
article.skygarden .area-cnt .description.reverse,
article.ropeway .area-cnt .description.reverse,
article.gourmet .area-cnt .description.reverse {
  flex-direction: row-reverse;
}
article.parkguide .area-cnt .description .txt,
article.mountain_top .area-cnt .description .txt,
article.base .area-cnt .description .txt,
article.ao-terrace .area-cnt .description .txt,
article.skygarden .area-cnt .description .txt,
article.ropeway .area-cnt .description .txt,
article.gourmet .area-cnt .description .txt {
  flex: 6.5;
  text-align: center;
}
article.parkguide .area-cnt .description .txt > *:not(:first-child),
article.mountain_top .area-cnt .description .txt > *:not(:first-child),
article.base .area-cnt .description .txt > *:not(:first-child),
article.ao-terrace .area-cnt .description .txt > *:not(:first-child),
article.skygarden .area-cnt .description .txt > *:not(:first-child),
article.ropeway .area-cnt .description .txt > *:not(:first-child),
article.gourmet .area-cnt .description .txt > *:not(:first-child) {
  margin-top: 2.6rem;
}
article.parkguide .area-cnt .description .txt p,
article.mountain_top .area-cnt .description .txt p,
article.base .area-cnt .description .txt p,
article.ao-terrace .area-cnt .description .txt p,
article.skygarden .area-cnt .description .txt p,
article.ropeway .area-cnt .description .txt p,
article.gourmet .area-cnt .description .txt p {
  text-align: justify;
}
article.parkguide .area-cnt .description figure,
article.mountain_top .area-cnt .description figure,
article.base .area-cnt .description figure,
article.ao-terrace .area-cnt .description figure,
article.skygarden .area-cnt .description figure,
article.ropeway .area-cnt .description figure,
article.gourmet .area-cnt .description figure {
  flex: 3.5;
}
@media screen and (max-width: 767px) {
  article.parkguide .area-cnt .description figure,
article.mountain_top .area-cnt .description figure,
article.base .area-cnt .description figure,
article.ao-terrace .area-cnt .description figure,
article.skygarden .area-cnt .description figure,
article.ropeway .area-cnt .description figure,
article.gourmet .area-cnt .description figure {
    width: 50vw;
    margin: 0 auto;
  }
}
article.parkguide .area-cnt .area-spot,
article.mountain_top .area-cnt .area-spot,
article.base .area-cnt .area-spot,
article.ao-terrace .area-cnt .area-spot,
article.skygarden .area-cnt .area-spot,
article.ropeway .area-cnt .area-spot,
article.gourmet .area-cnt .area-spot {
  margin-top: 6rem;
  text-align: center;
}
article.parkguide .area-cnt .area-spot > *:not(:first-child),
article.mountain_top .area-cnt .area-spot > *:not(:first-child),
article.base .area-cnt .area-spot > *:not(:first-child),
article.ao-terrace .area-cnt .area-spot > *:not(:first-child),
article.skygarden .area-cnt .area-spot > *:not(:first-child),
article.ropeway .area-cnt .area-spot > *:not(:first-child),
article.gourmet .area-cnt .area-spot > *:not(:first-child) {
  margin-top: 2.6rem;
}
@media screen and (max-width: 767px) {
  article.parkguide .area-cnt .area-spot figure,
article.mountain_top .area-cnt .area-spot figure,
article.base .area-cnt .area-spot figure,
article.ao-terrace .area-cnt .area-spot figure,
article.skygarden .area-cnt .area-spot figure,
article.ropeway .area-cnt .area-spot figure,
article.gourmet .area-cnt .area-spot figure {
    aspect-ratio: 375/265;
  }
}
article.parkguide .area-cnt .area-spot figure img,
article.mountain_top .area-cnt .area-spot figure img,
article.base .area-cnt .area-spot figure img,
article.ao-terrace .area-cnt .area-spot figure img,
article.skygarden .area-cnt .area-spot figure img,
article.ropeway .area-cnt .area-spot figure img,
article.gourmet .area-cnt .area-spot figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
article.parkguide .area-cnt .area-spot h4,
article.mountain_top .area-cnt .area-spot h4,
article.base .area-cnt .area-spot h4,
article.ao-terrace .area-cnt .area-spot h4,
article.skygarden .area-cnt .area-spot h4,
article.ropeway .area-cnt .area-spot h4,
article.gourmet .area-cnt .area-spot h4 {
  font-size: clamp(2.4rem, 4vw, 3rem);
}
article.parkguide .area-cnt .area-spot h4 .en,
article.mountain_top .area-cnt .area-spot h4 .en,
article.base .area-cnt .area-spot h4 .en,
article.ao-terrace .area-cnt .area-spot h4 .en,
article.skygarden .area-cnt .area-spot h4 .en,
article.ropeway .area-cnt .area-spot h4 .en,
article.gourmet .area-cnt .area-spot h4 .en {
  display: block;
  font-family: "Cormorant Garamond", serif;
  font-size: 52%;
}
@media screen and (max-width: 767px) {
  article.parkguide .area-cnt .area-spot p,
article.mountain_top .area-cnt .area-spot p,
article.base .area-cnt .area-spot p,
article.ao-terrace .area-cnt .area-spot p,
article.skygarden .area-cnt .area-spot p,
article.ropeway .area-cnt .area-spot p,
article.gourmet .area-cnt .area-spot p {
    text-align: justify;
    padding: 0 4vw;
  }
}
article.parkguide .grey,
article.mountain_top .grey,
article.base .grey,
article.ao-terrace .grey,
article.skygarden .grey,
article.ropeway .grey,
article.gourmet .grey {
  background: url("../img/common/bg-grey.png") repeat top left/350px;
  padding: 8rem 4vw;
  margin-top: 6rem;
}
article.parkguide .grey h4,
article.mountain_top .grey h4,
article.base .grey h4,
article.ao-terrace .grey h4,
article.skygarden .grey h4,
article.ropeway .grey h4,
article.gourmet .grey h4 {
  margin-bottom: 5rem;
  font-size: clamp(2.4rem, 4vw, 3rem);
  text-align: center;
}
article.parkguide .grey h4 .en,
article.mountain_top .grey h4 .en,
article.base .grey h4 .en,
article.ao-terrace .grey h4 .en,
article.skygarden .grey h4 .en,
article.ropeway .grey h4 .en,
article.gourmet .grey h4 .en {
  display: block;
  font-family: "Cormorant Garamond", serif;
  font-size: 52%;
}
article.parkguide .grey .inner,
article.mountain_top .grey .inner,
article.base .grey .inner,
article.ao-terrace .grey .inner,
article.skygarden .grey .inner,
article.ropeway .grey .inner,
article.gourmet .grey .inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 5rem;
}
article.parkguide .grey .item,
article.mountain_top .grey .item,
article.base .grey .item,
article.ao-terrace .grey .item,
article.skygarden .grey .item,
article.ropeway .grey .item,
article.gourmet .grey .item {
  text-align: center;
}
article.parkguide .grey .item figure,
article.mountain_top .grey .item figure,
article.base .grey .item figure,
article.ao-terrace .grey .item figure,
article.skygarden .grey .item figure,
article.ropeway .grey .item figure,
article.gourmet .grey .item figure {
  overflow: hidden;
  border-radius: 2rem;
}
article.parkguide .grey .item figure img,
article.mountain_top .grey .item figure img,
article.base .grey .item figure img,
article.ao-terrace .grey .item figure img,
article.skygarden .grey .item figure img,
article.ropeway .grey .item figure img,
article.gourmet .grey .item figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
article.parkguide .grey .item h5,
article.mountain_top .grey .item h5,
article.base .grey .item h5,
article.ao-terrace .grey .item h5,
article.skygarden .grey .item h5,
article.ropeway .grey .item h5,
article.gourmet .grey .item h5 {
  margin-top: 3rem;
  font-size: clamp(1.6rem, 4vw, 2.3rem);
}
@media screen and (max-width: 767px) {
  article.parkguide .grey .item h5,
article.mountain_top .grey .item h5,
article.base .grey .item h5,
article.ao-terrace .grey .item h5,
article.skygarden .grey .item h5,
article.ropeway .grey .item h5,
article.gourmet .grey .item h5 {
    margin-top: 1.8rem;
  }
}
article.parkguide .grey .item p,
article.mountain_top .grey .item p,
article.base .grey .item p,
article.ao-terrace .grey .item p,
article.skygarden .grey .item p,
article.ropeway .grey .item p,
article.gourmet .grey .item p {
  font-size: clamp(1.2rem, 1.7vw, 1.6rem);
  text-align: justify;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  article.parkguide .grey .item p,
article.mountain_top .grey .item p,
article.base .grey .item p,
article.ao-terrace .grey .item p,
article.skygarden .grey .item p,
article.ropeway .grey .item p,
article.gourmet .grey .item p {
    line-height: 1.65;
    margin-top: 1.4rem;
  }
}
article.parkguide .grey .item .btn,
article.mountain_top .grey .item .btn,
article.base .grey .item .btn,
article.ao-terrace .grey .item .btn,
article.skygarden .grey .item .btn,
article.ropeway .grey .item .btn,
article.gourmet .grey .item .btn {
  margin-top: 2.6rem;
}
@media screen and (max-width: 767px) {
  article.parkguide .grey .item .btn,
article.mountain_top .grey .item .btn,
article.base .grey .item .btn,
article.ao-terrace .grey .item .btn,
article.skygarden .grey .item .btn,
article.ropeway .grey .item .btn,
article.gourmet .grey .item .btn {
    margin-top: 1.6rem;
  }
}
article.parkguide .grey.col .inner .item,
article.mountain_top .grey.col .inner .item,
article.base .grey.col .inner .item,
article.ao-terrace .grey.col .inner .item,
article.skygarden .grey.col .inner .item,
article.ropeway .grey.col .inner .item,
article.gourmet .grey.col .inner .item {
  width: calc(50% - 2.5rem);
}
@media screen and (max-width: 767px) {
  article.parkguide .grey.col .inner .item,
article.mountain_top .grey.col .inner .item,
article.base .grey.col .inner .item,
article.ao-terrace .grey.col .inner .item,
article.skygarden .grey.col .inner .item,
article.ropeway .grey.col .inner .item,
article.gourmet .grey.col .inner .item {
    width: 100%;
  }
}
article.parkguide .grey.col1 .inner,
article.mountain_top .grey.col1 .inner,
article.base .grey.col1 .inner,
article.ao-terrace .grey.col1 .inner,
article.skygarden .grey.col1 .inner,
article.ropeway .grey.col1 .inner,
article.gourmet .grey.col1 .inner {
  justify-content: center;
}
article.parkguide .grey.col1 .inner .item,
article.mountain_top .grey.col1 .inner .item,
article.base .grey.col1 .inner .item,
article.ao-terrace .grey.col1 .inner .item,
article.skygarden .grey.col1 .inner .item,
article.ropeway .grey.col1 .inner .item,
article.gourmet .grey.col1 .inner .item {
  width: calc(50% - 2.5rem);
}
@media screen and (max-width: 767px) {
  article.parkguide .grey.col1 .inner .item,
article.mountain_top .grey.col1 .inner .item,
article.base .grey.col1 .inner .item,
article.ao-terrace .grey.col1 .inner .item,
article.skygarden .grey.col1 .inner .item,
article.ropeway .grey.col1 .inner .item,
article.gourmet .grey.col1 .inner .item {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  article.parkguide .grey.col3 .inner,
article.mountain_top .grey.col3 .inner,
article.base .grey.col3 .inner,
article.ao-terrace .grey.col3 .inner,
article.skygarden .grey.col3 .inner,
article.ropeway .grey.col3 .inner,
article.gourmet .grey.col3 .inner {
    gap: 2rem 1.6rem;
  }
}
article.parkguide .grey.col3 .inner .item,
article.mountain_top .grey.col3 .inner .item,
article.base .grey.col3 .inner .item,
article.ao-terrace .grey.col3 .inner .item,
article.skygarden .grey.col3 .inner .item,
article.ropeway .grey.col3 .inner .item,
article.gourmet .grey.col3 .inner .item {
  width: calc(33.3333333333% - 3.34rem);
}
@media screen and (max-width: 767px) {
  article.parkguide .grey.col3 .inner .item,
article.mountain_top .grey.col3 .inner .item,
article.base .grey.col3 .inner .item,
article.ao-terrace .grey.col3 .inner .item,
article.skygarden .grey.col3 .inner .item,
article.ropeway .grey.col3 .inner .item,
article.gourmet .grey.col3 .inner .item {
    width: calc(50% - 0.8rem);
  }
}
article.parkguide .grey.col3 .inner .item figure,
article.mountain_top .grey.col3 .inner .item figure,
article.base .grey.col3 .inner .item figure,
article.ao-terrace .grey.col3 .inner .item figure,
article.skygarden .grey.col3 .inner .item figure,
article.ropeway .grey.col3 .inner .item figure,
article.gourmet .grey.col3 .inner .item figure {
  aspect-ratio: 426/320;
  border-radius: 1rem;
}
article.parkguide .recommend,
article.mountain_top .recommend,
article.base .recommend,
article.ao-terrace .recommend,
article.skygarden .recommend,
article.ropeway .recommend,
article.gourmet .recommend {
  padding: 6rem 4vw;
}
article.parkguide .recommend h3,
article.mountain_top .recommend h3,
article.base .recommend h3,
article.ao-terrace .recommend h3,
article.skygarden .recommend h3,
article.ropeway .recommend h3,
article.gourmet .recommend h3 {
  padding-bottom: 5rem;
  text-align: center;
  line-height: 1;
  overflow: hidden;
}
article.parkguide .recommend h3 .en,
article.mountain_top .recommend h3 .en,
article.base .recommend h3 .en,
article.ao-terrace .recommend h3 .en,
article.skygarden .recommend h3 .en,
article.ropeway .recommend h3 .en,
article.gourmet .recommend h3 .en {
  display: block;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(5rem, 7vw, 11.3rem);
  color: #f0f3f8;
  letter-spacing: normal;
  white-space: nowrap;
}
article.parkguide .recommend h3 .jp,
article.mountain_top .recommend h3 .jp,
article.base .recommend h3 .jp,
article.ao-terrace .recommend h3 .jp,
article.skygarden .recommend h3 .jp,
article.ropeway .recommend h3 .jp,
article.gourmet .recommend h3 .jp {
  display: block;
  margin-top: -3rem;
  font-size: clamp(1.8rem, 4vw, 2.6rem);
}
@media screen and (max-width: 767px) {
  article.parkguide .recommend h3 .jp,
article.mountain_top .recommend h3 .jp,
article.base .recommend h3 .jp,
article.ao-terrace .recommend h3 .jp,
article.skygarden .recommend h3 .jp,
article.ropeway .recommend h3 .jp,
article.gourmet .recommend h3 .jp {
    margin-top: -1rem;
  }
}
article.parkguide .recommend .spot,
article.mountain_top .recommend .spot,
article.base .recommend .spot,
article.ao-terrace .recommend .spot,
article.skygarden .recommend .spot,
article.ropeway .recommend .spot,
article.gourmet .recommend .spot {
  max-width: 1100px;
  margin: 4rem auto 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2.4rem 7rem;
}
@media screen and (max-width: 767px) {
  article.parkguide .recommend .spot,
article.mountain_top .recommend .spot,
article.base .recommend .spot,
article.ao-terrace .recommend .spot,
article.skygarden .recommend .spot,
article.ropeway .recommend .spot,
article.gourmet .recommend .spot {
    flex-direction: column !important;
  }
  article.parkguide .recommend .spot > *,
article.mountain_top .recommend .spot > *,
article.base .recommend .spot > *,
article.ao-terrace .recommend .spot > *,
article.skygarden .recommend .spot > *,
article.ropeway .recommend .spot > *,
article.gourmet .recommend .spot > * {
    width: 100% !important;
  }
}
article.parkguide .recommend .spot:nth-of-type(even),
article.mountain_top .recommend .spot:nth-of-type(even),
article.base .recommend .spot:nth-of-type(even),
article.ao-terrace .recommend .spot:nth-of-type(even),
article.skygarden .recommend .spot:nth-of-type(even),
article.ropeway .recommend .spot:nth-of-type(even),
article.gourmet .recommend .spot:nth-of-type(even) {
  flex-direction: row-reverse;
}
article.parkguide .recommend .spot:nth-of-type(1) .txt::after,
article.mountain_top .recommend .spot:nth-of-type(1) .txt::after,
article.base .recommend .spot:nth-of-type(1) .txt::after,
article.ao-terrace .recommend .spot:nth-of-type(1) .txt::after,
article.skygarden .recommend .spot:nth-of-type(1) .txt::after,
article.ropeway .recommend .spot:nth-of-type(1) .txt::after,
article.gourmet .recommend .spot:nth-of-type(1) .txt::after {
  content: "01";
}
article.parkguide .recommend .spot:nth-of-type(2) .txt::after,
article.mountain_top .recommend .spot:nth-of-type(2) .txt::after,
article.base .recommend .spot:nth-of-type(2) .txt::after,
article.ao-terrace .recommend .spot:nth-of-type(2) .txt::after,
article.skygarden .recommend .spot:nth-of-type(2) .txt::after,
article.ropeway .recommend .spot:nth-of-type(2) .txt::after,
article.gourmet .recommend .spot:nth-of-type(2) .txt::after {
  content: "02";
}
article.parkguide .recommend .spot:nth-of-type(3) .txt::after,
article.mountain_top .recommend .spot:nth-of-type(3) .txt::after,
article.base .recommend .spot:nth-of-type(3) .txt::after,
article.ao-terrace .recommend .spot:nth-of-type(3) .txt::after,
article.skygarden .recommend .spot:nth-of-type(3) .txt::after,
article.ropeway .recommend .spot:nth-of-type(3) .txt::after,
article.gourmet .recommend .spot:nth-of-type(3) .txt::after {
  content: "03";
}
article.parkguide .recommend .spot:nth-of-type(4) .txt::after,
article.mountain_top .recommend .spot:nth-of-type(4) .txt::after,
article.base .recommend .spot:nth-of-type(4) .txt::after,
article.ao-terrace .recommend .spot:nth-of-type(4) .txt::after,
article.skygarden .recommend .spot:nth-of-type(4) .txt::after,
article.ropeway .recommend .spot:nth-of-type(4) .txt::after,
article.gourmet .recommend .spot:nth-of-type(4) .txt::after {
  content: "04";
}
article.parkguide .recommend .spot:nth-of-type(5) .txt::after,
article.mountain_top .recommend .spot:nth-of-type(5) .txt::after,
article.base .recommend .spot:nth-of-type(5) .txt::after,
article.ao-terrace .recommend .spot:nth-of-type(5) .txt::after,
article.skygarden .recommend .spot:nth-of-type(5) .txt::after,
article.ropeway .recommend .spot:nth-of-type(5) .txt::after,
article.gourmet .recommend .spot:nth-of-type(5) .txt::after {
  content: "05";
}
article.parkguide .recommend .spot figure,
article.mountain_top .recommend .spot figure,
article.base .recommend .spot figure,
article.ao-terrace .recommend .spot figure,
article.skygarden .recommend .spot figure,
article.ropeway .recommend .spot figure,
article.gourmet .recommend .spot figure {
  width: 49.2957746479%;
  overflow: hidden;
  border-radius: 2rem;
  aspect-ratio: 700/525;
}
article.parkguide .recommend .spot figure img,
article.mountain_top .recommend .spot figure img,
article.base .recommend .spot figure img,
article.ao-terrace .recommend .spot figure img,
article.skygarden .recommend .spot figure img,
article.ropeway .recommend .spot figure img,
article.gourmet .recommend .spot figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
article.parkguide .recommend .spot .txt,
article.mountain_top .recommend .spot .txt,
article.base .recommend .spot .txt,
article.ao-terrace .recommend .spot .txt,
article.skygarden .recommend .spot .txt,
article.ropeway .recommend .spot .txt,
article.gourmet .recommend .spot .txt {
  width: 42.2535211268%;
  position: relative;
}
article.parkguide .recommend .spot .txt::after,
article.mountain_top .recommend .spot .txt::after,
article.base .recommend .spot .txt::after,
article.ao-terrace .recommend .spot .txt::after,
article.skygarden .recommend .spot .txt::after,
article.ropeway .recommend .spot .txt::after,
article.gourmet .recommend .spot .txt::after {
  position: absolute;
  right: 0;
  top: 0;
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-size: clamp(12rem, 13vw, 20rem);
  color: #f0f3f8;
  line-height: 0;
  z-index: -1;
}
article.parkguide .recommend .spot .txt h4,
article.mountain_top .recommend .spot .txt h4,
article.base .recommend .spot .txt h4,
article.ao-terrace .recommend .spot .txt h4,
article.skygarden .recommend .spot .txt h4,
article.ropeway .recommend .spot .txt h4,
article.gourmet .recommend .spot .txt h4 {
  font-size: clamp(1.8rem, 4vw, 2.8rem);
}
@media screen and (max-width: 767px) {
  article.parkguide .recommend .spot .txt h4,
article.mountain_top .recommend .spot .txt h4,
article.base .recommend .spot .txt h4,
article.ao-terrace .recommend .spot .txt h4,
article.skygarden .recommend .spot .txt h4,
article.ropeway .recommend .spot .txt h4,
article.gourmet .recommend .spot .txt h4 {
    text-align: center;
  }
}
article.parkguide .recommend .spot .txt h4 span,
article.mountain_top .recommend .spot .txt h4 span,
article.base .recommend .spot .txt h4 span,
article.ao-terrace .recommend .spot .txt h4 span,
article.skygarden .recommend .spot .txt h4 span,
article.ropeway .recommend .spot .txt h4 span,
article.gourmet .recommend .spot .txt h4 span {
  font-family: "Cormorant Garamond", serif;
  display: block;
  font-size: 55%;
  color: #005d97;
}
article.parkguide .recommend .spot .txt p,
article.mountain_top .recommend .spot .txt p,
article.base .recommend .spot .txt p,
article.ao-terrace .recommend .spot .txt p,
article.skygarden .recommend .spot .txt p,
article.ropeway .recommend .spot .txt p,
article.gourmet .recommend .spot .txt p {
  margin-top: 3rem;
}
article.parkguide .recommend .spot .txt .btn,
article.mountain_top .recommend .spot .txt .btn,
article.base .recommend .spot .txt .btn,
article.ao-terrace .recommend .spot .txt .btn,
article.skygarden .recommend .spot .txt .btn,
article.ropeway .recommend .spot .txt .btn,
article.gourmet .recommend .spot .txt .btn {
  margin-top: 3rem;
}
article.parkguide .highlights,
article.mountain_top .highlights,
article.base .highlights,
article.ao-terrace .highlights,
article.skygarden .highlights,
article.ropeway .highlights,
article.gourmet .highlights {
  padding: 6rem 4vw;
}
article.parkguide .highlights h3,
article.mountain_top .highlights h3,
article.base .highlights h3,
article.ao-terrace .highlights h3,
article.skygarden .highlights h3,
article.ropeway .highlights h3,
article.gourmet .highlights h3 {
  padding-bottom: 5rem;
  text-align: center;
  line-height: 1;
  overflow: hidden;
}
article.parkguide .highlights h3 .en,
article.mountain_top .highlights h3 .en,
article.base .highlights h3 .en,
article.ao-terrace .highlights h3 .en,
article.skygarden .highlights h3 .en,
article.ropeway .highlights h3 .en,
article.gourmet .highlights h3 .en {
  display: block;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(5rem, 7vw, 11.3rem);
  color: #f0f3f8;
  letter-spacing: normal;
  white-space: nowrap;
}
article.parkguide .highlights h3 .jp,
article.mountain_top .highlights h3 .jp,
article.base .highlights h3 .jp,
article.ao-terrace .highlights h3 .jp,
article.skygarden .highlights h3 .jp,
article.ropeway .highlights h3 .jp,
article.gourmet .highlights h3 .jp {
  display: block;
  margin-top: -3rem;
  font-size: clamp(1.8rem, 4vw, 2.6rem);
}
@media screen and (max-width: 767px) {
  article.parkguide .highlights h3 .jp,
article.mountain_top .highlights h3 .jp,
article.base .highlights h3 .jp,
article.ao-terrace .highlights h3 .jp,
article.skygarden .highlights h3 .jp,
article.ropeway .highlights h3 .jp,
article.gourmet .highlights h3 .jp {
    margin-top: -1rem;
  }
}
article.parkguide .highlights h3 + p,
article.mountain_top .highlights h3 + p,
article.base .highlights h3 + p,
article.ao-terrace .highlights h3 + p,
article.skygarden .highlights h3 + p,
article.ropeway .highlights h3 + p,
article.gourmet .highlights h3 + p {
  text-align: center;
}
@media screen and (max-width: 767px) {
  article.parkguide .highlights h3 + p,
article.mountain_top .highlights h3 + p,
article.base .highlights h3 + p,
article.ao-terrace .highlights h3 + p,
article.skygarden .highlights h3 + p,
article.ropeway .highlights h3 + p,
article.gourmet .highlights h3 + p {
    text-align: justify;
  }
}
article.parkguide .highlights .spot,
article.mountain_top .highlights .spot,
article.base .highlights .spot,
article.ao-terrace .highlights .spot,
article.skygarden .highlights .spot,
article.ropeway .highlights .spot,
article.gourmet .highlights .spot {
  max-width: 1100px;
  margin: 4rem auto 0;
  display: flex;
  justify-content: space-between;
  gap: 2.4rem 0;
}
@media screen and (max-width: 767px) {
  article.parkguide .highlights .spot,
article.mountain_top .highlights .spot,
article.base .highlights .spot,
article.ao-terrace .highlights .spot,
article.skygarden .highlights .spot,
article.ropeway .highlights .spot,
article.gourmet .highlights .spot {
    flex-direction: column !important;
  }
  article.parkguide .highlights .spot > *,
article.mountain_top .highlights .spot > *,
article.base .highlights .spot > *,
article.ao-terrace .highlights .spot > *,
article.skygarden .highlights .spot > *,
article.ropeway .highlights .spot > *,
article.gourmet .highlights .spot > * {
    width: 100% !important;
  }
}
article.parkguide .highlights .spot:nth-of-type(even),
article.mountain_top .highlights .spot:nth-of-type(even),
article.base .highlights .spot:nth-of-type(even),
article.ao-terrace .highlights .spot:nth-of-type(even),
article.skygarden .highlights .spot:nth-of-type(even),
article.ropeway .highlights .spot:nth-of-type(even),
article.gourmet .highlights .spot:nth-of-type(even) {
  flex-direction: row-reverse;
}
article.parkguide .highlights .spot:nth-of-type(even) .txt,
article.mountain_top .highlights .spot:nth-of-type(even) .txt,
article.base .highlights .spot:nth-of-type(even) .txt,
article.ao-terrace .highlights .spot:nth-of-type(even) .txt,
article.skygarden .highlights .spot:nth-of-type(even) .txt,
article.ropeway .highlights .spot:nth-of-type(even) .txt,
article.gourmet .highlights .spot:nth-of-type(even) .txt {
  padding: 0 4vw 0 1vw;
}
article.parkguide .highlights .spot:nth-of-type(even) .txt .en,
article.mountain_top .highlights .spot:nth-of-type(even) .txt .en,
article.base .highlights .spot:nth-of-type(even) .txt .en,
article.ao-terrace .highlights .spot:nth-of-type(even) .txt .en,
article.skygarden .highlights .spot:nth-of-type(even) .txt .en,
article.ropeway .highlights .spot:nth-of-type(even) .txt .en,
article.gourmet .highlights .spot:nth-of-type(even) .txt .en {
  right: auto;
  left: 0;
}
@media screen and (max-width: 767px) {
  article.parkguide .highlights .spot:nth-of-type(even) .txt .en,
article.mountain_top .highlights .spot:nth-of-type(even) .txt .en,
article.base .highlights .spot:nth-of-type(even) .txt .en,
article.ao-terrace .highlights .spot:nth-of-type(even) .txt .en,
article.skygarden .highlights .spot:nth-of-type(even) .txt .en,
article.ropeway .highlights .spot:nth-of-type(even) .txt .en,
article.gourmet .highlights .spot:nth-of-type(even) .txt .en {
    right: 0;
    left: auto;
  }
}
article.parkguide .highlights .spot figure,
article.mountain_top .highlights .spot figure,
article.base .highlights .spot figure,
article.ao-terrace .highlights .spot figure,
article.skygarden .highlights .spot figure,
article.ropeway .highlights .spot figure,
article.gourmet .highlights .spot figure {
  width: 62.676056338%;
}
article.parkguide .highlights .spot .txt,
article.mountain_top .highlights .spot .txt,
article.base .highlights .spot .txt,
article.ao-terrace .highlights .spot .txt,
article.skygarden .highlights .spot .txt,
article.ropeway .highlights .spot .txt,
article.gourmet .highlights .spot .txt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  flex: 1;
  padding: 0 1vw 0 4vw;
  position: relative;
}
article.parkguide .highlights .spot .txt h4,
article.mountain_top .highlights .spot .txt h4,
article.base .highlights .spot .txt h4,
article.ao-terrace .highlights .spot .txt h4,
article.skygarden .highlights .spot .txt h4,
article.ropeway .highlights .spot .txt h4,
article.gourmet .highlights .spot .txt h4 {
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  padding-bottom: 2rem;
  line-height: 2.3;
}
article.parkguide .highlights .spot .txt h4 span,
article.mountain_top .highlights .spot .txt h4 span,
article.base .highlights .spot .txt h4 span,
article.ao-terrace .highlights .spot .txt h4 span,
article.skygarden .highlights .spot .txt h4 span,
article.ropeway .highlights .spot .txt h4 span,
article.gourmet .highlights .spot .txt h4 span {
  display: inline;
  background-image: repeating-linear-gradient(to right, #ccc 0px, #ccc 2px, transparent 2px, transparent 12px);
  background-position: 0 100%;
  background-repeat: repeat-x;
  background-size: auto 1px;
  padding-bottom: 10px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
article.parkguide .highlights .spot .txt .en,
article.mountain_top .highlights .spot .txt .en,
article.base .highlights .spot .txt .en,
article.ao-terrace .highlights .spot .txt .en,
article.skygarden .highlights .spot .txt .en,
article.ropeway .highlights .spot .txt .en,
article.gourmet .highlights .spot .txt .en {
  position: absolute;
  right: 0;
  top: 0;
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-size: clamp(4rem, 5vw, 7rem);
  color: #f0f3f8;
  line-height: 1;
  z-index: -1;
}

/*==================================================================================================
	伊豆パノラマパークとは
	グルメ＆ショップ
==================================================================================================*/
article.parkguide h2,
article.gourmet h2 {
  margin-bottom: 4rem;
  font-size: clamp(2rem, 4vw, 2.8rem);
  text-align: center;
}
article.parkguide h2::before,
article.gourmet h2::before {
  content: "";
  display: block;
  width: 1px;
  height: 96px;
  background: rgba(0, 0, 0, 0.4);
  margin: 0 auto 1.6rem;
}
article.parkguide .gallery-slides .item,
article.gourmet .gallery-slides .item {
  width: 100%;
  aspect-ratio: 480/560;
}
article.parkguide .gallery-slides .item img,
article.gourmet .gallery-slides .item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
article.parkguide .area-cnt,
article.gourmet .area-cnt {
  text-align: center;
}
article.parkguide .ttl__sub p.vertical,
article.gourmet .ttl__sub p.vertical {
  text-align: left;
}
@media screen and (max-width: 767px) {
  article.parkguide .ttl__sub p.vertical,
article.gourmet .ttl__sub p.vertical {
    text-align: center;
  }
}
article.parkguide .ttl__sub + p,
article.gourmet .ttl__sub + p {
  max-width: 1100px;
  padding: 0 4vw;
  margin: 4rem auto 0;
  text-align: justify;
}
article.parkguide .spot,
article.gourmet .spot {
  max-width: 1100px;
  padding: 0 4vw;
  margin: 4rem auto 0;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  article.parkguide .spot,
article.gourmet .spot {
    gap: 1.8rem;
  }
}
article.parkguide .spot li,
article.gourmet .spot li {
  width: calc(25% - 2.25rem);
}
@media screen and (max-width: 767px) {
  article.parkguide .spot li,
article.gourmet .spot li {
    width: calc(33.3333333333% - 1.2rem);
  }
}
article.parkguide .spot span,
article.gourmet .spot span {
  display: block;
  aspect-ratio: 5/4;
  border-radius: 1rem;
  overflow: hidden;
}
article.parkguide .spot span img,
article.gourmet .spot span img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
article.parkguide .spot figcaption,
article.gourmet .spot figcaption {
  padding-top: 1rem;
  font-size: 85%;
  line-height: 1.45;
}
article.parkguide .btn,
article.gourmet .btn {
  margin-top: 4rem;
}

/*==================================================================================================
	ロープウェイ
==================================================================================================*/
article.ropeway .points {
  padding: 6rem 4vw;
}
article.ropeway .points h3 {
  padding-bottom: 5rem;
  text-align: center;
  line-height: 1;
  overflow: hidden;
}
article.ropeway .points h3 .en {
  display: block;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(5rem, 7vw, 11.3rem);
  color: #f0f3f8;
  letter-spacing: normal;
  white-space: nowrap;
}
article.ropeway .points h3 .jp {
  display: block;
  margin-top: -3rem;
  font-size: clamp(1.8rem, 4vw, 2.6rem);
}
@media screen and (max-width: 767px) {
  article.ropeway .points h3 .jp {
    margin-top: -1rem;
  }
}
article.ropeway .points h3 + p {
  text-align: center;
}
@media screen and (max-width: 767px) {
  article.ropeway .points h3 + p {
    text-align: justify;
  }
}
article.ropeway .points .spot {
  max-width: 1100px;
  margin: 7rem auto 0;
  display: flex;
  justify-content: space-between;
  gap: 2.4rem 0;
}
@media screen and (max-width: 767px) {
  article.ropeway .points .spot {
    flex-direction: column !important;
  }
  article.ropeway .points .spot > * {
    width: 100% !important;
  }
}
article.ropeway .points .spot:nth-of-type(even) {
  flex-direction: row-reverse;
}
article.ropeway .points .spot:nth-of-type(even) .txt {
  padding: 0 4vw 0 1vw;
}
article.ropeway .points .spot:nth-of-type(even) .txt::after {
  right: auto;
  left: 0;
}
@media screen and (max-width: 767px) {
  article.ropeway .points .spot:nth-of-type(even) .txt::after {
    right: 0;
    left: auto;
  }
}
article.ropeway .points .spot:nth-of-type(1) .txt::after {
  content: "01";
}
article.ropeway .points .spot:nth-of-type(2) .txt::after {
  content: "02";
}
article.ropeway .points .spot:nth-of-type(3) .txt::after {
  content: "03";
}
article.ropeway .points .spot:nth-of-type(4) .txt::after {
  content: "04";
}
article.ropeway .points .spot:nth-of-type(5) .txt::after {
  content: "05";
}
article.ropeway .points .spot figure {
  width: 62.676056338%;
  position: relative;
}
article.ropeway .points .spot figure img.float {
  position: absolute;
  right: -5vw;
  bottom: -3vw;
  width: 16vw;
}
@media screen and (max-width: 767px) {
  article.ropeway .points .spot figure img.float {
    right: 4vw;
    bottom: -12vw;
    width: 33vw;
  }
}
article.ropeway .points .spot .txt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  flex: 1;
  padding: 0 1vw 0 4vw;
  position: relative;
}
article.ropeway .points .spot .txt::after {
  position: absolute;
  right: 0;
  top: 0;
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-size: clamp(12rem, 13vw, 20rem);
  color: #f0f3f8;
  line-height: 0;
  z-index: -1;
}
article.ropeway .points .spot .txt h4 {
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  padding-bottom: 2rem;
  line-height: 2.3;
}
article.ropeway .points .spot .txt h4 span {
  display: inline;
  background-image: repeating-linear-gradient(to right, #ccc 0px, #ccc 2px, transparent 2px, transparent 12px);
  background-position: 0 100%;
  background-repeat: repeat-x;
  background-size: auto 1px;
  padding-bottom: 10px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
article.ropeway .grey h4 {
  margin-bottom: 5rem;
  text-align: center;
}
article.ropeway .grey h4 .en {
  font-size: clamp(2.4rem, 4vw, 6rem);
  font-family: "Cormorant Garamond", serif;
}
article.ropeway .grey h4 .jp {
  display: block;
  font-family: YakuHanMP, "Crimson Text", "Zen Old Mincho", serif;
  font-size: 52%;
}
article.ropeway .grey h5 {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 2rem;
  font-size: 112%;
  text-align: center;
}
article.ropeway .grey table {
  width: 100%;
  max-width: 1100px;
  border-bottom: 1px solid #ccc;
  margin: 0 auto 4rem;
  line-height: 1.87;
}
article.ropeway .grey table tr {
  border-top: 1px solid #ccc;
}
article.ropeway .grey table th {
  background: rgba(204, 204, 204, 0.2);
  padding: 1.6rem;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  article.ropeway .grey table th {
    padding: 1rem;
    text-align: left;
  }
}
article.ropeway .grey table td {
  padding: 1.6rem;
}
@media screen and (max-width: 767px) {
  article.ropeway .grey table td {
    padding: 1rem;
  }
}
article.ropeway .grey table dl {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 0 1em;
}
@media screen and (max-width: 767px) {
  article.ropeway .grey table dl {
    flex-direction: column;
  }
  article.ropeway .grey table dl > * {
    width: 100% !important;
  }
}
article.ropeway .grey table dl dt {
  width: 10em;
}
@media screen and (max-width: 767px) {
  article.ropeway .grey table dl dt {
    font-size: 85%;
    color: #005d97;
  }
}
article.ropeway .grey table dl dd {
  width: calc(100% - 11em);
}
article.ropeway .grey table small {
  font-size: 75%;
}
article.ropeway .grey ul.caution {
  max-width: 1110px;
  margin: 0 auto 4rem;
  font-size: 70%;
  padding-left: 1em;
}
article.ropeway .grey ul.caution li {
  text-indent: -1em;
  line-height: 1.9;
  list-style: none;
  margin: 0;
}
article.ropeway .grey ul.caution li::before {
  content: "※";
}
article.ropeway .grey ul.caution a {
  color: #005d97;
  text-decoration: underline;
}
article.ropeway .grey ul.caution a:hover {
  text-align: none;
}
@media screen and (max-width: 767px) {
  article.ropeway .grey .item {
    width: 100% !important;
  }
}
article.ropeway .grey .item figure {
  aspect-ratio: initial !important;
}
article.ropeway .grey .item figure img {
  width: auto;
  height: auto;
  -o-object-fit: none;
     object-fit: none;
}
article.ropeway .grey .item h5 {
  font-size: clamp(1.6rem, 4vw, 1.8rem);
}
article.ropeway .grey .item h5::after {
  content: "";
  display: block;
  margin: 2rem auto 0;
  width: 68px;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.4);
}
article.ropeway .grey .item p {
  font-size: 85%;
  line-height: 2;
}
article.ropeway .grey .item p a {
  color: #005d97;
  text-decoration: underline;
}
article.ropeway .grey .item p a:hover {
  text-decoration: none;
}

/*==================================================================================================
	店舗ページ
==================================================================================================*/
article.shop .content {
  padding-left: 0;
  padding-right: 0;
}
article.shop .ttl__main {
  position: relative;
  background: url("../img/home/plan-bg.png") no-repeat left top/70vw;
  position: relative;
}
article.shop .ttl__main .txt {
  position: absolute;
  left: 6vw;
  top: 10%;
}
@media screen and (max-width: 767px) {
  article.shop .ttl__main .txt {
    left: 3vw;
    top: 0;
  }
}
article.shop .ttl__main h2 {
  font-size: clamp(3.2rem, 4vw, 4.8rem);
  letter-spacing: 0.085em;
  color: #000;
  position: relative;
  z-index: 2;
}
article.shop .ttl__main .en {
  margin-top: 5vw;
  font-size: clamp(1.1rem, 1.7vw, 1.6rem);
  line-height: 1.4;
  opacity: 0.5;
  position: relative;
  z-index: 1;
}
article.shop .ttl__main figure {
  width: 100vw;
  padding-left: 26vw;
  margin-left: auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  article.shop .ttl__main figure {
    padding-left: 20vw;
    padding-top: 18vw;
    height: 50vh;
  }
}
article.shop .ttl__main figure::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 26vw;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.66) 0%, rgba(255, 255, 255, 0) 40%);
}
@media screen and (max-width: 767px) {
  article.shop .ttl__main figure::before {
    left: 20vw;
  }
}
article.shop .ttl__main figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
article.shop .shop-info {
  max-width: 1100px;
  margin: 6rem auto 0;
  padding: 0 4vw;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 3rem 7rem;
}
@media screen and (max-width: 767px) {
  article.shop .shop-info {
    flex-direction: column;
  }
  article.shop .shop-info > * {
    width: 100% !important;
  }
}
article.shop .shop-info .lcnt {
  width: 70.4225352113%;
}
article.shop .shop-info .lcnt .txt {
  margin-top: 4rem;
}
article.shop .shop-info .slides .item {
  aspect-ratio: 1000/667;
  background: #000;
}
article.shop .shop-info .slides .item img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
article.shop .shop-info .slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1.9rem;
  height: 4rem;
  text-indent: -9999px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  article.shop .shop-info .slick-arrow {
    height: 2rem;
  }
}
article.shop .shop-info .slick-arrow.slick-prev {
  background: url("../img/common/slides-prev.svg") no-repeat center/contain;
  left: 2rem;
}
@media screen and (max-width: 767px) {
  article.shop .shop-info .slick-arrow.slick-prev {
    left: 1rem;
  }
}
article.shop .shop-info .slick-arrow.slick-next {
  background: url("../img/common/slides-next.svg") no-repeat center/contain;
  right: 2rem;
}
@media screen and (max-width: 767px) {
  article.shop .shop-info .slick-arrow.slick-next {
    right: 1rem;
  }
}
article.shop .shop-info .slides-nav {
  display: flex;
  justify-content: center;
  gap: 1.4rem;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  article.shop .shop-info .slides-nav {
    gap: 0.6rem;
    margin-top: 0.6rem;
  }
}
article.shop .shop-info .slides-nav .item {
  max-width: 86px;
  aspect-ratio: 120/80;
  cursor: pointer;
  transition: all 0.5s ease;
}
@media screen and (max-width: 767px) {
  article.shop .shop-info .slides-nav .item {
    max-width: 75px;
  }
}
article.shop .shop-info .slides-nav .item:hover, article.shop .shop-info .slides-nav .item.active {
  opacity: 0.6;
}
article.shop .shop-info .slides-nav .item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
article.shop .shop-info .rcnt {
  width: 24.6478873239%;
}
article.shop .shop-info .rcnt dl {
  border-top: 1px solid #ccc;
}
article.shop .shop-info .rcnt dt {
  color: #005d97;
  font-size: 75%;
  padding-top: 1.5rem;
}
article.shop .shop-info .rcnt dd {
  padding-bottom: 2rem;
  border-bottom: 1px solid #ccc;
  line-height: 1.65;
}
article.shop .shop-info .rcnt dd a {
  text-decoration: underline;
  color: #005d97;
}
article.shop .shop-info .rcnt dd a:hover {
  text-decoration: none;
}
article.shop .shop-menu {
  margin: 8rem auto 0;
  padding: 6rem 4vw 0;
  border-top: 1px solid rgba(0, 0, 0, 0.4);
  max-width: 1100px;
}
article.shop .shop-menu h3 {
  margin-bottom: 5rem;
  font-size: clamp(2.4rem, 4vw, 3rem);
  text-align: center;
}
article.shop .shop-menu h3 .en {
  display: block;
  font-family: "Cormorant Garamond", serif;
  font-size: 52%;
}
article.shop .shop-menu .btn-list {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 1.5rem 3rem;
}
@media screen and (max-width: 767px) {
  article.shop .shop-menu .btn-list {
    flex-direction: column;
  }
}
article.shop .shop-menu .btn-list li {
  width: calc(50% - 1.5rem);
  background: url("../img/common/chev-rw.svg") no-repeat right 1.6rem center/1rem;
}
@media screen and (max-width: 767px) {
  article.shop .shop-menu .btn-list li {
    width: 100%;
  }
}
article.shop .shop-menu .btn-list a {
  display: block;
  padding: 4rem 3rem 4rem 1rem;
  color: #fff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  text-align: center;
  border-radius: 1rem;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  article.shop .shop-menu .btn-list a {
    padding: 2.4rem 3rem 2.4rem 1rem;
    text-align: left;
  }
}
article.shop .shop-menu .btn-list a::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #aaa;
  mix-blend-mode: multiply;
  z-index: 0;
}
article.shop .shop-menu .btn-list a span {
  position: relative;
  z-index: 1;
}
article.shop .shop-menu .menu-list {
  margin-top: 4rem;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 4rem;
}
@media screen and (max-width: 767px) {
  article.shop .shop-menu .menu-list {
    gap: 1.8rem;
  }
}
article.shop .shop-menu .menu-list li {
  width: calc(33.3333333333% - 2.67rem);
}
@media screen and (max-width: 767px) {
  article.shop .shop-menu .menu-list li {
    width: calc(50% - 0.9rem);
  }
}
article.shop .shop-menu .menu-list a {
  display: block;
  overflow: hidden;
  aspect-ratio: 210/297;
  border: 1px solid #ccc;
}
article.shop .shop-menu .menu-list a:hover {
  opacity: 1;
}
article.shop .shop-menu .menu-list a:hover img {
  transform: scale(1.05);
}
article.shop .shop-menu .menu-list a img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 0.5s ease;
}
article.shop .shop-menu .menu-list figure {
  aspect-ratio: 450/300;
}
article.shop .shop-menu .menu-list figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
article.shop .shop-menu .menu-list h5 {
  padding: 2rem 0 1rem;
  text-align: center;
}
article.shop .shop-menu .menu-list p {
  font-size: 76%;
  line-height: 1.85;
}

/*==================================================================================================
	おすすめの過ごし方
==================================================================================================*/
article.plan .content {
  padding-left: 0;
  padding-right: 0;
}
article.plan .plan-list {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  padding: 0 4px;
  gap: 4px;
  margin-top: 18rem;
}
@media screen and (max-width: 767px) {
  article.plan .plan-list {
    padding: 0;
    margin-top: 4rem;
  }
}
article.plan .plan-list li {
  width: calc(50% - 2px);
  overflow: hidden;
  background: url("../img/common/arrow-rw.svg") no-repeat right 1em bottom 1em/auto;
}
@media screen and (max-width: 767px) {
  article.plan .plan-list li {
    width: 100%;
  }
}
article.plan .plan-list li a {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  position: relative;
  padding: 7rem 20px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  article.plan .plan-list li a {
    padding: 5rem;
  }
}
article.plan .plan-list li a:hover {
  opacity: 1;
}
article.plan .plan-list li a:hover .bg {
  transform: scale(1);
  transition: all 0.5s ease;
  filter: saturate(2) contrast(0.8);
}
article.plan .plan-list li a span {
  font-family: "Crimson Text", serif;
  font-size: clamp(0.9rem, 4vw, 1.6rem);
}
article.plan .plan-list li a p {
  font-size: clamp(1.4rem, 4vw, 2.4rem);
  line-height: 1.65;
  text-align: center;
}
article.plan .plan-list li .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  transform: scale(1.08);
  transition: all 1s ease;
}
article.plan .plan-list li .bg::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #888;
  mix-blend-mode: multiply;
}
article.plan .plan-list li .bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
article.plan .single .plan-ttl {
  max-width: 96vw;
  margin: 0 auto 5rem;
  padding: 4vw;
  overflow: hidden;
  border-radius: clamp(1rem, 1.7vw, 2rem);
  position: relative;
}
@media screen and (max-width: 767px) {
  article.plan .single .plan-ttl {
    max-width: none;
    padding-top: 60%;
    border-radius: 0px;
  }
}
article.plan .single .plan-ttl::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/plan/ttl-bg.png) no-repeat center/cover;
}
article.plan .single .plan-ttl .num {
  font-size: 85%;
  position: relative;
  z-index: 3;
  mix-blend-mode: multiply;
}
article.plan .single .plan-ttl .num::before {
  content: "#";
}
article.plan .single .plan-ttl h2 {
  font-size: clamp(2.6rem, 4vw, 3.6rem);
  position: relative;
  z-index: 3;
  mix-blend-mode: multiply;
}
article.plan .single .plan-ttl .en {
  margin-top: 3rem;
  font-size: clamp(1.1rem, 1.7vw, 1.4rem);
  font-family: "Cormorant Garamond", serif;
  position: relative;
  z-index: 3;
  mix-blend-mode: multiply;
}
article.plan .single .plan-ttl .bg {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 60%;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  article.plan .single .plan-ttl .bg {
    top: 0;
    left: 0;
    width: 100%;
    height: 50%;
    transform: none;
  }
}
article.plan .single .plan-ttl .bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 40%);
  mask-image: linear-gradient(to right, transparent 0%, black 40%);
}
@media screen and (max-width: 767px) {
  article.plan .single .plan-ttl .bg img {
    -webkit-mask-image: linear-gradient(to top, transparent 0%, black 40%);
    mask-image: linear-gradient(to top, transparent 0%, black 40%);
  }
}
article.plan .single .lead {
  text-align: center;
  padding: 0 4vw;
}
@media screen and (max-width: 767px) {
  article.plan .single .lead {
    text-align: justify;
  }
}
article.plan .single .timeline {
  max-width: 1462px;
  margin: 10rem auto 0;
  padding: 0 4vw;
}
article.plan .single .timeline section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
article.plan .single .timeline section:not(:first-child) {
  margin-top: 22rem;
}
@media screen and (max-width: 767px) {
  article.plan .single .timeline section:not(:first-child) {
    margin-top: 8rem;
  }
}
@media screen and (max-width: 767px) {
  article.plan .single .timeline section {
    flex-direction: column !important;
    margin-top: 7rem;
  }
}
article.plan .single .timeline time {
  position: absolute;
  top: -0.4em;
  left: 0;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(11rem, 12vw, 20rem);
  font-style: italic;
  font-weight: 600;
  color: #333;
  line-height: 0.5;
  z-index: 3;
  mix-blend-mode: hard-light;
}
article.plan .single .timeline .imgs {
  width: 57.7291381669%;
  position: relative;
}
@media screen and (max-width: 767px) {
  article.plan .single .timeline .imgs {
    width: 100%;
  }
}
article.plan .single .timeline .imgs .main {
  overflow: hidden;
  border-radius: clamp(1rem, 1.7vw, 2rem);
  box-shadow: 3rem 3rem 0px 0px rgba(0, 93, 151, 0.08);
}
@media screen and (max-width: 767px) {
  article.plan .single .timeline .imgs .main {
    border-radius: 0px;
  }
}
article.plan .single .timeline .imgs .sub {
  overflow: hidden;
  border-radius: clamp(1rem, 1.7vw, 2rem);
  position: absolute;
}
article.plan .single .timeline .imgs .sub__1 {
  left: -5vw;
  bottom: -8vw;
  width: 46%;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  article.plan .single .timeline .imgs .sub__1 {
    right: 5vw;
    left: auto;
    bottom: -23vw;
    width: 55%;
  }
}
article.plan .single .timeline .imgs .sub__2 {
  left: 15vw;
  bottom: -13vw;
  width: 24%;
  aspect-ratio: 1/1;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  article.plan .single .timeline .imgs .sub__2 {
    left: 6vw;
    bottom: -34vw;
    width: 30%;
  }
}
article.plan .single .timeline .imgs .sub__2 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
article.plan .single .timeline .txt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  flex: 1;
  padding: 0 1vw 0 4vw;
  position: relative;
}
@media screen and (max-width: 767px) {
  article.plan .single .timeline .txt.sub1 {
    padding-top: 26vw;
  }
}
@media screen and (max-width: 767px) {
  article.plan .single .timeline .txt.sub2 {
    padding-top: 38vw;
  }
}
@media screen and (max-width: 767px) {
  article.plan .single .timeline .txt {
    padding-top: 5rem;
    padding-left: 4vw;
    padding-right: 4vw;
  }
}
article.plan .single .timeline .txt h3 {
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  padding-bottom: 2rem;
  line-height: 2.3;
}
article.plan .single .timeline .txt h3 span {
  display: inline;
  background-image: repeating-linear-gradient(to right, #ccc 0px, #ccc 2px, transparent 2px, transparent 12px);
  background-position: 0 100%;
  background-repeat: repeat-x;
  background-size: auto 1px;
  padding-bottom: 10px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
article.plan .single .timeline .txt > a {
  display: block;
  padding: 1em 4rem;
  background: #ffc000;
  border-radius: 100vh;
  margin-top: 4rem;
}
article.plan .single .timeline section:nth-child(even) {
  flex-direction: row-reverse;
}
article.plan .single .timeline section:nth-child(even) time {
  left: auto;
  right: 0;
}
article.plan .single .timeline section:nth-child(even) .imgs .main {
  box-shadow: -3rem 3rem 0px 0px rgba(0, 93, 151, 0.08);
}
article.plan .single .timeline section:nth-child(even) .imgs .sub__1 {
  left: auto;
  right: -4vw;
  bottom: -8vw;
}
@media screen and (max-width: 767px) {
  article.plan .single .timeline section:nth-child(even) .imgs .sub__1 {
    right: 5vw;
    bottom: -23vw;
  }
}
article.plan .single .timeline section:nth-child(even) .imgs .sub__2 {
  left: auto;
  right: 19.5vw;
  bottom: -12.5vw;
}
@media screen and (max-width: 767px) {
  article.plan .single .timeline section:nth-child(even) .imgs .sub__2 {
    left: 6vw;
    bottom: -34vw;
    right: auto;
  }
}
article.plan .single .facilities {
  max-width: 1100px;
  margin: 20rem auto 0;
  padding: 3vw;
  border: 1px dashed rgba(0, 0, 0, 0.4);
}
article.plan .single .facilities h4 {
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  text-align: center;
}
article.plan .single .facilities ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 5rem;
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  article.plan .single .facilities ul {
    gap: 2rem 1.6rem;
  }
}
article.plan .single .facilities li {
  width: calc(33.3333333333% - 3.34rem);
}
@media screen and (max-width: 767px) {
  article.plan .single .facilities li {
    width: calc(50% - 0.8rem);
  }
}
article.plan .single .facilities li a,
article.plan .single .facilities li span {
  display: block;
  overflow: hidden;
  border-radius: clamp(0.6rem, 1.7vw, 1rem);
}
article.plan .single .facilities li a img,
article.plan .single .facilities li span img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
article.plan .single .facilities li .name {
  margin-top: 1.6rem;
  text-align: center;
  line-height: 1.35;
}
@media screen and (max-width: 767px) {
  article.plan .single .facilities li .name {
    margin-top: 1rem;
  }
}
article.plan .single .facilities li p:not([class]) {
  font-size: 75%;
  text-align: justify;
  margin-top: 0.6rem;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  article.plan .single .facilities li p:not([class]) {
    line-height: 1.65;
  }
}

/*==================================================================================================
	お知らせ
==================================================================================================*/
article.news .wrap {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2.6rem 10rem;
}
@media screen and (max-width: 767px) {
  article.news .wrap {
    flex-direction: column;
  }
}
article.news .list {
  width: 100%;
}
article.news .list ul {
  border-bottom: 1px solid #ccc;
  padding: 0;
  margin: 0;
}
article.news .list li {
  border-top: 1px solid #ccc;
  list-style: none;
  margin-top: 0;
}
article.news .list li a {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.6rem;
  padding: 2em 4em 2em 1em;
  background: url("../img/common/arrow-rg.svg") no-repeat right 1em center;
}
@media screen and (max-width: 767px) {
  article.news .list li a {
    flex-wrap: wrap;
    gap: 1em 0.6em;
    padding-left: 0;
  }
}
article.news .list li a:hover {
  background-color: rgba(220, 220, 220, 0.2);
  background-position: right center;
}
article.news .list li time {
  font-family: "Crimson Text", serif;
}
@media screen and (max-width: 767px) {
  article.news .list li time {
    font-size: 1rem;
  }
}
article.news .list li .cate {
  font-size: 1.2rem;
  line-height: 1;
  white-space: nowrap;
  padding: 0.6em;
  border: 1px solid #005d97;
  color: #005d97;
  width: 7em;
  letter-spacing: normal;
  text-align: center;
}
@media screen and (max-width: 767px) {
  article.news .list li .cate {
    font-size: 0.8rem;
  }
}
article.news .list li .cate.important {
  filter: hue-rotate(140deg);
}
article.news .list li .cate.store {
  filter: hue-rotate(250deg);
}
article.news .list li .cate.event {
  filter: hue-rotate(210deg) saturate(15);
}
article.news .list li .cate.topics {
  filter: hue-rotate(60deg);
}
article.news .list li p {
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 0;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  article.news .list li p {
    white-space: wrap;
    text-overflow: initial;
    width: 100%;
    line-height: 1.75;
  }
}
article.news aside h2 {
  font-family: "Cormorant Garamond", serif;
  font-weight: 300;
  background: none;
  padding: 0;
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.6rem);
}
article.news aside ul li::marker {
  font-size: 1rem;
}
article.news aside ul li.active {
  opacity: 0.5;
}
article.news .single-ttl {
  text-align: center;
  padding: 8vw 10px 4rem;
  margin-bottom: 6rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.4);
}
article.news .single-ttl time {
  font-size: clamp(1.3rem, 1.7vw, 2rem);
}
article.news .single-ttl h1 {
  font-size: clamp(2.3rem, 4vw, 3.2rem);
  margin-bottom: 1rem;
}
article.news .single-ttl .cate {
  font-size: 1.2rem;
  line-height: 1;
  white-space: nowrap;
  padding: 0.6rem 2rem;
  border: 1px solid #005d97;
  color: #005d97;
  width: 7em;
  letter-spacing: normal;
  text-align: center;
}
@media screen and (max-width: 767px) {
  article.news .single-ttl .cate {
    font-size: 0.8rem;
  }
}
article.news .single-ttl .cate.important {
  filter: hue-rotate(140deg);
}
article.news .single-ttl .cate.store {
  filter: hue-rotate(250deg);
}
article.news .single-ttl .cate.event {
  filter: hue-rotate(210deg) saturate(15);
}
article.news .single-ttl .cate.topics {
  filter: hue-rotate(60deg);
}
article.news .single > *:not(:first-child) {
  margin-top: 5rem;
}
article.news .single img.alignnone,
article.news .single img.aligncenter,
article.news .single img.alignright,
article.news .single img.alignleft {
  width: auto;
}
article.news .single img.aligncenter {
  display: block;
  margin-right: auto;
  margin-left: auto;
}
article.news .single img.alignright {
  float: right;
  margin-bottom: 20px;
  margin-left: 20px;
}
article.news .single img.alignleft {
  float: left;
  margin-right: 20px;
  margin-bottom: 20px;
}
article.news .single .img_txt,
article.news .single .txt_img {
  display: flex;
  justify-content: center;
  gap: 2em 4em;
}
@media screen and (max-width: 767px) {
  article.news .single .img_txt,
article.news .single .txt_img {
    flex-direction: column;
  }
}
article.news .single .img_txt > *,
article.news .single .txt_img > * {
  width: calc(50% - 2em);
}
@media screen and (max-width: 767px) {
  article.news .single .img_txt > *,
article.news .single .txt_img > * {
    width: 100%;
  }
}
article.news .single .img_txt p:first-child,
article.news .single .txt_img p:first-child {
  margin-top: 0;
}
article.news .single .img_col {
  display: flex;
  justify-content: flex-start;
  gap: 2em;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  article.news .single .img_col {
    gap: 0.6em;
  }
}
article.news .single .img_col figure {
  flex-grow: 1;
  width: 33.3333333333%;
}
article.news .single figcaption {
  font-size: 90%;
  text-align: center;
  line-height: 1.65;
  margin-top: 1.2rem;
}
article.news .single hr {
  margin: 5rem auto 0;
}
article.news .single .btn {
  display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
article.news .single .btn::after {
  display: none;
}
article.news .single .btn a {
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding: 1em 2.6em;
  min-width: 260px;
  color: #000;
  filter: invert(1);
}
article.news .single .btn a::before {
  display: none !important;
}
article.news .single .btn a::after {
  background: url("../img/common/chev-rw.svg") no-repeat right center;
  width: 0.5rem;
  height: 0.9rem;
  filter: invert(1);
}

/*==================================================================================================
	ライブカメラ
==================================================================================================*/
article.livecam .info {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 3rem 0 2.6rem;
}
@media screen and (max-width: 767px) {
  article.livecam .info {
    flex-wrap: wrap;
  }
}
article.livecam time {
  font-family: "Crimson Text", serif;
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  margin-left: 1.4rem;
  line-height: 1;
  color: #444;
  text-transform: lowercase;
  font-size: 4.3rem;
}
article.livecam time span {
  font-size: 52%;
  margin-left: 0.24em;
}
article.livecam p {
  margin-left: 2.5rem;
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  article.livecam p {
    margin-left: 0;
    margin-top: 1.5rem;
  }
}

/*==================================================================================================
	営業時間・料金
==================================================================================================*/
article.hours_fare .content .info {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.5rem 4vw;
  margin: 5rem 0;
  padding-bottom: 5rem;
  border-bottom: 1px solid #08141a;
}
@media screen and (max-width: 767px) {
  article.hours_fare .content .info {
    flex-direction: column;
    align-items: center;
  }
}
article.hours_fare .content .date {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  flex: 2;
}
@media screen and (max-width: 767px) {
  article.hours_fare .content .date {
    flex: auto;
  }
}
article.hours_fare .content .date time {
  font-family: "Crimson Text", serif;
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  margin-left: 1.4rem;
  line-height: 1;
  color: #444;
  text-transform: lowercase;
  font-size: 4.3rem;
}
article.hours_fare .content .date time span {
  font-size: 52%;
  margin-left: 0.24em;
}
article.hours_fare .content .date p {
  font-size: 1.3rem;
  color: #fff;
  background: #005d97;
  line-height: 1;
  padding: 1.2rem 2rem;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  article.hours_fare .content .date p {
    width: 100%;
    text-align: center;
  }
}
article.hours_fare .content .operation {
  flex: 8;
}
@media screen and (max-width: 767px) {
  article.hours_fare .content .operation {
    flex: auto;
  }
}
article.hours_fare .content .operation p {
  margin-top: 0;
}
article.hours_fare .content .tabs {
  margin-top: 5rem;
}
article.hours_fare .content .tabs input[type=radio] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
article.hours_fare .content .tabs .tab-btn {
  display: flex;
  justify-content: center;
  gap: 2rem;
  padding: 0;
}
@media screen and (max-width: 767px) {
  article.hours_fare .content .tabs .tab-btn {
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 1rem;
  }
}
article.hours_fare .content .tabs .tab-btn li {
  width: 100%;
  max-width: 150px;
  margin: 0;
  list-style: none;
}
@media screen and (max-width: 767px) {
  article.hours_fare .content .tabs .tab-btn li {
    width: calc(50% - 0.5rem);
    max-width: none;
  }
}
article.hours_fare .content .tabs .tab-btn label {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2rem 1.6rem;
  font-size: clamp(1.2rem, 1.7vw, 1.4rem);
  line-height: 1.3;
  text-align: center;
  padding: 2.6rem 1rem 1rem;
  border: 1px solid #005d97;
  border-radius: 1rem;
  height: 100%;
  color: #005d97;
  cursor: pointer;
  transition: all 0.5s ease;
  filter: saturate(0);
}
@media screen and (max-width: 767px) {
  article.hours_fare .content .tabs .tab-btn label {
    flex-direction: row;
    padding: 1rem;
    text-align: left;
  }
}
article.hours_fare .content .tabs .tab-btn label:hover {
  filter: saturate(1);
}
article.hours_fare .content .tabs .tab-btn label::before {
  content: "";
  display: block;
  width: 4.2rem;
  height: 4.2rem;
  background: url("../img/hours_fare/icon01.svg") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  article.hours_fare .content .tabs .tab-btn label::before {
    width: 2.2rem;
    height: 2.2rem;
  }
}
article.hours_fare .content .tabs .tab-btn label::after {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.4rem;
  background: url("../img/common/chev-db.svg") no-repeat center bottom/contain;
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  article.hours_fare .content .tabs .tab-btn label::after {
    margin-top: 0;
    margin-left: auto;
    background-position: right center;
  }
}
article.hours_fare .content .tabs .tab-btn li:nth-child(2) label::before {
  background-image: url("../img/hours_fare/icon02.svg");
}
article.hours_fare .content .tabs .tab-btn li:nth-child(3) label::before {
  background-image: url("../img/hours_fare/icon03.svg");
}
article.hours_fare .content .tabs .tab-btn li:nth-child(4) label::before {
  background-image: url("../img/hours_fare/icon04.svg");
}
article.hours_fare .content .tabs #tab1:checked ~ .tab-btn li label[for=tab1],
article.hours_fare .content .tabs #tab2:checked ~ .tab-btn li label[for=tab2],
article.hours_fare .content .tabs #tab3:checked ~ .tab-btn li label[for=tab3],
article.hours_fare .content .tabs #tab4:checked ~ .tab-btn li label[for=tab4] {
  filter: saturate(1);
}
article.hours_fare .content .tabs .item {
  display: none;
}
article.hours_fare .content .tabs #tab1:checked ~ .items .item1,
article.hours_fare .content .tabs #tab2:checked ~ .items .item2,
article.hours_fare .content .tabs #tab3:checked ~ .items .item3,
article.hours_fare .content .tabs #tab4:checked ~ .items .item4 {
  display: block;
}
article.hours_fare .content .tabs .wrap {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 2.6rem 4vw;
  padding-top: 4rem;
}
@media screen and (max-width: 767px) {
  article.hours_fare .content .tabs .wrap {
    flex-direction: column-reverse;
  }
}
article.hours_fare .content .tabs .wrap > * {
  width: calc(50% - 1vw);
}
@media screen and (max-width: 767px) {
  article.hours_fare .content .tabs .wrap > * {
    width: 100%;
  }
}
article.hours_fare .content .tabs .wrap .txt table {
  margin-top: 0;
}
article.hours_fare .content ul.caution {
  margin-top: 2.6rem;
  font-size: 75%;
  padding-left: 1em;
}
article.hours_fare .content ul.caution li {
  text-indent: -1em;
  line-height: 1.9;
  list-style: none;
  margin: 0;
}
article.hours_fare .content ul.caution li::before {
  content: "※";
}
article.hours_fare .content ul.caution a {
  color: #005d97;
  text-decoration: underline;
}
article.hours_fare .content ul.caution a:hover {
  text-align: none;
}
@media screen and (max-width: 767px) {
  article.hours_fare .content > table th {
    display: block;
  }
}
article.hours_fare .content > table th span {
  padding: 0.6rem 1rem;
  margin-right: 1rem;
  background: #005d97;
  color: #fff;
  font-size: 75%;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  article.hours_fare .content > table td {
    display: block;
  }
}
article.hours_fare .content > table .wrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 5rem;
}
@media screen and (max-width: 767px) {
  article.hours_fare .content > table .wrap {
    justify-content: space-between;
    gap: 0 2rem;
  }
}
article.hours_fare .content > table dt {
  color: #005d97;
  font-size: 75%;
}
@media screen and (max-width: 767px) {
  article.hours_fare .content > table dt {
    text-align: center;
  }
}
article.hours_fare .content > table dd {
  line-height: 1;
}
@media screen and (max-width: 767px) {
  article.hours_fare .content > table dd {
    text-align: center;
  }
}
article.hours_fare .content > table dd strong {
  font-size: 180%;
  font-weight: 300;
}
article.hours_fare .content .btn__yellow {
  display: flex;
  margin-top: 3rem;
}

/*==================================================================================================
	交通アクセス
==================================================================================================*/
article.access iframe {
  width: 100%;
}
@media screen and (max-width: 767px) {
  article.access iframe {
    height: 40vh;
  }
}
article.access .tabs {
  margin-top: 5rem;
}
article.access .tabs input[type=radio] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
article.access .tabs .tab-btn {
  display: flex;
  justify-content: center;
  gap: 2rem;
  padding: 0;
}
@media screen and (max-width: 767px) {
  article.access .tabs .tab-btn {
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 1rem;
  }
}
article.access .tabs .tab-btn li {
  width: 100%;
  max-width: 150px;
  margin: 0;
  list-style: none;
}
@media screen and (max-width: 767px) {
  article.access .tabs .tab-btn li {
    width: calc(50% - 0.5rem);
    max-width: none;
  }
}
article.access .tabs .tab-btn label {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2rem 1.6rem;
  font-size: clamp(1.2rem, 1.7vw, 1.4rem);
  line-height: 1.3;
  text-align: center;
  padding: 2.6rem 1rem 1rem;
  border: 1px solid #005d97;
  border-radius: 1rem;
  height: 100%;
  color: #005d97;
  cursor: pointer;
  transition: all 0.5s ease;
  filter: saturate(0);
}
@media screen and (max-width: 767px) {
  article.access .tabs .tab-btn label {
    flex-direction: row;
    padding: 1rem;
    text-align: left;
  }
}
article.access .tabs .tab-btn label:hover {
  filter: saturate(1);
}
article.access .tabs .tab-btn label::after {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.4rem;
  background: url("../img/common/chev-db.svg") no-repeat center bottom/contain;
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  article.access .tabs .tab-btn label::after {
    margin-top: 0;
    margin-left: auto;
    background-position: right center;
  }
}
article.access .tabs #tab1:checked ~ .tab-btn li label[for=tab1],
article.access .tabs #tab2:checked ~ .tab-btn li label[for=tab2],
article.access .tabs #tab3:checked ~ .tab-btn li label[for=tab3],
article.access .tabs #tab4:checked ~ .tab-btn li label[for=tab4],
article.access .tabs #tab5:checked ~ .tab-btn li label[for=tab5] {
  filter: saturate(1);
}
article.access .tabs .item {
  display: none;
  padding-top: 3rem;
}
article.access .tabs #tab1:checked ~ .items .item1,
article.access .tabs #tab2:checked ~ .items .item2,
article.access .tabs #tab3:checked ~ .items .item3,
article.access .tabs #tab4:checked ~ .items .item4,
article.access .tabs #tab5:checked ~ .items .item5 {
  display: block;
}
article.access picture.route {
  display: block;
  margin-top: 4rem;
}

/*==================================================================================================
	団体予約のお客様へ
==================================================================================================*/
article.travel .pdf-list {
  padding: 0;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 3rem 4rem;
}
@media screen and (max-width: 767px) {
  article.travel .pdf-list {
    gap: 2rem;
  }
}
article.travel .pdf-list li {
  list-style: none;
  margin: 0;
  width: calc(33.3333333333% - 2.67rem);
}
@media screen and (max-width: 767px) {
  article.travel .pdf-list li {
    width: calc(50% - 1rem);
  }
}
article.travel .pdf-list a {
  display: block;
  width: 100%;
  aspect-ratio: 210/297;
  border: 1px solid #ccc;
}
article.travel .pdf-list a img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
article.travel .pdf-list p {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem 1rem;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  article.travel .pdf-list p {
    flex-direction: column;
    align-items: flex-start;
    margin-top: 1rem;
  }
}
article.travel .pdf-list p::after {
  content: "PDF";
  display: block;
  background: #005d97;
  color: #fff;
  line-height: 1;
  padding: 0.6rem 1.6rem;
  font-size: 80%;
}
article.travel .wrap {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 1rem 4rem;
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  article.travel .wrap {
    flex-direction: column;
  }
  article.travel .wrap > * {
    flex: auto !important;
  }
}
article.travel .wrap figure {
  flex: 6;
}
article.travel .lang-list {
  padding: 0;
  margin-top: 0;
  width: 100%;
  flex: 4;
}
article.travel .lang-list li {
  list-style: none;
}
@media screen and (max-width: 767px) {
  article.travel .lang-list li {
    margin-top: 1.4rem;
  }
}
article.travel .lang-list a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  border: 1px solid #ccc;
  line-height: 1;
  padding: 1.8rem 2rem;
  border-radius: 10px;
}
article.travel .lang-list a::after {
  content: "PDF";
  display: block;
  background: #005d97;
  color: #fff;
  line-height: 1;
  padding: 0.6rem 1.6rem;
  margin-left: auto;
  font-size: 80%;
}

/*==================================================================================================
	よくあるご質問
==================================================================================================*/
article.faq h3 + details {
  margin-top: 4rem;
}
article.faq details {
  margin-top: 2rem;
  background: #f5f5f5;
  padding: 1.6rem;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  article.faq details {
    padding: 1.6rem 1rem;
  }
}
article.faq details summary {
  display: block;
  font-size: clamp(1.6rem, 1.7vw, 1.8rem);
  font-weight: 600;
  list-style: none;
  text-indent: -1.9em;
  padding: 0 3.4rem;
  line-height: 1.65;
  position: relative;
  transition: all 0.5s ease;
}
article.faq details summary::before {
  content: "Q.";
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2rem, 1.7vw, 2.8rem);
  line-height: 1;
  font-weight: 300;
  margin-right: 0.6rem;
}
article.faq details summary span {
  display: block;
  width: 14px;
  height: 1px;
  background: #000;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  article.faq details summary span {
    right: 0;
  }
}
article.faq details summary span::after {
  content: "";
  display: block;
  width: 14px;
  height: 1px;
  background: #000;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
  transition: all 0.5s ease;
}
@media screen and (max-width: 767px) {
  article.faq details summary span::after {
    right: 0;
  }
}
article.faq details p {
  color: #444;
  margin-top: 1.4rem;
  text-indent: -2.05em;
  padding: 0 3.4rem;
}
article.faq details p::before {
  content: "A.";
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2rem, 1.7vw, 2.8rem);
  line-height: 1;
  font-weight: 300;
  margin-right: 0.6rem;
}
article.faq details[open] summary span::after {
  transform: translateY(-50%) rotate(0deg);
}

/*==================================================================================================
	会社案内
==================================================================================================*/
article.company th {
  text-align: center;
}

/*==================================================================================================
	お問い合わせ
==================================================================================================*/
article.contact .content {
  max-width: 860px;
}
@media screen and (max-width: 767px) {
  article.contact form table {
    display: block;
  }
  article.contact form table tr, article.contact form table th, article.contact form table td {
    display: block;
    padding: 1rem !important;
  }
}
article.contact form table th {
  background: none;
  padding: 3rem 1.6rem;
}
article.contact form table th::after {
  content: "任意";
  line-height: 1;
  padding: 0.3rem 0.6rem;
  background: #777;
  color: #fff;
  font-size: 65%;
  margin-left: 0.6rem;
  vertical-align: 0.25em;
}
article.contact form table th.required::after {
  content: "必須";
  background: #e3001f;
}
article.contact form table td {
  padding: 3rem 1.6rem;
}
article.contact form input[type=text],
article.contact form input[type=tel],
article.contact form input[type=email] {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  width: 100%;
  border: 0px;
  background: #f5f5f5;
  line-height: 1;
  padding: 1.6rem 1rem;
  border-radius: 3px;
}
article.contact form textarea {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  width: 100%;
  border: 0px;
  background: #f5f5f5;
  padding: 1.6rem 1rem;
  border-radius: 3px;
}
article.contact form p.caution {
  font-size: 80%;
  margin-top: 1rem;
}
article.contact form span.wpcf7-not-valid-tip {
  background: #ffedf0;
  font-size: 80%;
  line-height: 1;
  padding: 1rem;
}
article.contact form input[type=submit] {
  display: block;
  width: 100%;
  max-width: 360px;
  padding: 2.6rem 2rem;
  margin: 4rem auto 0;
  text-align: center;
  background: #333;
  border: 1px solid #333;
  color: #fff;
  line-height: 1;
  cursor: pointer;
  transition: all 0.5s ease;
}
article.contact form input[type=submit]:hover {
  background: transparent;
  color: #333;
}

/*==================================================================================================
	Wordpress用 scss
==================================================================================================*/
.wp-block-group__inner-container {
  width: 100%;
  margin: 0 auto;
}
.wp-block-group__inner-container > * {
  margin-top: 2em;
}
.wp-block-group__inner-container > *:first-child {
  margin-top: 0 !important;
}

.wp-block-list {
  padding-left: 1em;
}
.wp-block-list li:not(:first-child) {
  margin-top: 0.6em;
}

ul.wp-block-list {
  list-style: disc;
}

ol.wp-block-list {
  list-style: decimal;
}

.wp-pagenavi {
  margin: 40px auto;
  font-size: 12px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #333;
}
.wp-pagenavi a {
  color: #333;
}
.wp-pagenavi span.current,
.wp-pagenavi a.page,
.wp-pagenavi span.pages {
  margin: 0 10px 0 0;
  border: solid 1px #333;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  box-sizing: border-box;
  justify-content: center;
  display: flex;
  align-items: center;
  transition: 0.3s;
}
.wp-pagenavi span.current {
  background: #005d97;
  color: #fff;
}
.wp-pagenavi span.pages {
  border: 0px;
}
.wp-pagenavi a.page {
  background: none;
}
.wp-pagenavi a.page:hover {
  color: #005d97;
  color: #fff;
}
.wp-pagenavi .first,
.wp-pagenavi .extend {
  margin-right: 10px;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  display: none;
}

.post-nav {
  margin-top: 4em;
}
.post-nav h2 {
  display: none;
}
.post-nav .nav-links {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
.post-nav .nav-links > div {
  display: inline;
  border-bottom: 1px solid #005d97;
  flex: 0.35;
  font-size: 1.4rem;
}
.post-nav .nav-links > div a {
  display: flex;
  flex-direction: column;
  padding: 0.6em;
}
.post-nav .nav-links > div a::before {
  font-family: YakuHanMP, "Crimson Text", "Zen Old Mincho", serif;
  color: #005d97;
  font-size: 1.2rem;
}
.post-nav .nav-previous {
  margin-right: auto;
}
.post-nav .nav-previous a {
  padding-left: 0;
  align-items: flex-start;
}
.post-nav .nav-previous a::before {
  content: "前の記事";
  background: url("../img/common/arrow-g-l.svg") no-repeat left center;
  padding-left: 1.6em;
}
.post-nav .nav-next {
  margin-left: auto;
}
.post-nav .nav-next a {
  padding-left: 0;
  align-items: flex-end;
}
.post-nav .nav-next a::before {
  content: "次の記事";
  background: url("../img/common/arrow-g-r.svg") no-repeat right center;
  padding-right: 1.6em;
}
/*# sourceMappingURL=page.css.map */