@charset "UTF-8";
/* CSS Document */
/*共通*/
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: "Zen Maru Gothic", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 2;
  color: #000000;
  background-color: #e1e7d9;
  overflow-x: hidden;
}

a {
  text-decoration: none;
  transition: 0.3s;
}
a:hover {
  opacity: 0.7;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  width: 100%;
}

h1 {
  font-size: 4rem;
}

h2 {
  font-size: 3rem;
}

h3 {
  font-size: 2.4rem;
}

h4 {
  font-size: 2rem;
}

h5 {
  font-size: 1.8rem;
}

h1,
h2,
h3,
h4,
h5 {
  font-weight: bold;
}

.p1em {
  padding: 1em;
}

.inner {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
}

.inner02 {
  max-width: 1400px;
  width: 100%;
  margin: 0 auto;
}

.pcOnly {
  display: block;
}

.spOnly {
  display: none;
}

@media screen and (max-width: 1470px) {
  .inner {
    width: 75%;
    margin: 0 auto;
  }
  .inner02 {
    width: 80%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 1023px) and (orientation: landscape) {
  .inner,
  .inner02 {
    width: 90%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 834px) and (orientation: portrait) {
  .inner,
  .inner02 {
    width: 90%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  h1 {
    font-size: 3rem;
  }
  h2 {
    font-size: 2.4rem;
  }
  h3 {
    font-size: 2rem;
  }
  h4 {
    font-size: 1.8rem;
  }
  h5 {
    font-size: 1.6rem;
  }
  p {
    font-size: 1.4rem;
  }
  .pcOnly {
    display: none;
  }
  .spOnly {
    display: block;
  }
  main {
    position: relative;
    top: -5vh;
  }
  .spL {
    text-align: left;
  }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  main {
    top: -38vh;
  }
}
@media screen and (min-width: 1921px) {
  img {
    width: 110%;
    max-width: none;
  }
  .inner {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
  }
  .inner02 {
    max-width: 1600px;
    width: 100%;
    margin: 0 auto;
  }
}
/*ヘッダー*/
header {
  background-image: url("./spring/images/header.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 2140px;
  position: relative;
}

.logo {
  max-width: 876px;
  width: 100%;
  position: relative;
  top: 38vh;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}

.ticket-fix {
  position: fixed;
  top: 0;
  right: 2%;
  z-index: 100;
}

.sentenceWrap {
  writing-mode: vertical-rl;
  position: relative;
  top: 60vh;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  color: #ffffff;
  font-size: 2.6rem;
  line-height: 3;
  font-weight: 600;
  max-width: 1280px;
  width: 100%;
  min-height: 600px;
}

.sentence {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.bird01 {
  position: absolute;
  top: 5%;
  left: 10%;
}

.bird02 {
  position: absolute;
  top: 20%;
  left: 5%;
}

.human01 {
  position: absolute;
  top: 50%;
  right: 0;
}

.fox {
  position: absolute;
  top: 70%;
  right: 20%;
}

.bg-before {
  position: relative;
  top: -48vh;
  z-index: 2;
}

.bg-before img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

@media screen and (max-width: 1600px) {
  .bg-before {
    top: -48vh;
  }
}
@media screen and (max-width: 1470px) {
  header {
    min-height: 230vh;
  }
  .bird01 {
    left: 14%;
    width: 120px;
  }
  .bird02 {
    width: 100px;
  }
  .human01 {
    top: 40%;
    right: 5%;
  }
  .fox {
    top: 60%;
    width: 150px;
  }
  .bg-before {
    top: -48vh;
  }
  .sentenceWrap {
    top: 50vh;
  }
}
@media screen and (max-width: 1080px) and (orientation: portrait) {
  header {
    min-height: 100vh;
  }
  .logo {
    top: 20vh;
    width: 80%;
  }
  .sentenceWrap {
    top: 26vh;
  }
  .bg-before {
    top: -17vh;
  }
  .bird01 {
    width: 120px;
  }
  .bird02 {
    width: 100px;
  }
  .human01 {
    width: 80px;
  }
  .fox {
    top: 30%;
    width: 150px;
  }
  .sentenceWrap {
    font-size: 2rem;
  }
}
@media screen and (max-width: 1023px) and (orientation: landscape) {
  header {
    min-height: 270vh;
  }
  .logo {
    top: 50vh;
    width: 80%;
  }
  .sentenceWrap {
    top: 70vh;
  }
  .bg-before {
    top: -60vh;
  }
  .bird01 {
    width: 120px;
  }
  .bird02 {
    width: 100px;
  }
  .human01 {
    width: 80px;
  }
  .fox {
    top: 30%;
    width: 150px;
  }
  .sentenceWrap {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .ticket-fix {
    right: 0;
  }
  header {
    min-height: 165vh;
  }
  .logo {
    max-width: 200px;
    top: 28vh;
  }
  .sentence {
    font-size: 1.6rem;
  }
  .sentenceWrap {
    top: 58vh;
  }
  .bird01 {
    top: -25%;
    max-width: 80px;
  }
  .bird02 {
    top: -15%;
    max-width: 86px;
  }
  .fox {
    max-width: 100px;
    right: 15%;
  }
  .bg-before {
    top: -7vh;
    z-index: 1;
  }
  .human01 {
    max-width: 50px;
    top: 45%;
    right: 40%;
    z-index: 3;
  }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  header {
    min-height: 270vh;
  }
}
@media screen and (min-width: 1921px) {
  .logo {
    top: 15vh;
  }
  .sentenceWrap {
    top: 30vh;
  }
}
/*マップ*/
.map {
  position: relative;
  top: -50vh;
}

.mapWrap {
  position: relative;
  width: 100%;
  min-height: 120vh;
  z-index: 3;
}

figure.map {
  position: absolute;
  top: 0;
  left: 0;
  max-width: 890px;
  width: 100%;
}

.donguri {
  position: absolute;
  top: 0;
  left: 70%;
}

.risu {
  position: absolute;
  top: 2%;
  left: 73%;
}

.human02 {
  position: absolute;
  left: 0%;
  top: 33%;
  z-index: 3;
}

.human03 {
  position: absolute;
  top: 60%;
  left: 39%;
  z-index: 4;
}

.mapWrap-sentence {
  position: absolute;
  max-width: 360px;
  width: 100%;
  right: 0%;
  top: 25%;
}

.mapWrap h2 {
  font-size: 2.6rem;
  font-weight: 600;
  color: #007544;
  margin-bottom: 40px;
}

figure.map {
  position: absolute;
  top: 0;
  left: 0;
  max-width: 890px;
  width: 100%;
}

@media screen and (max-width: 1600px) {
  .human03 {
    top: 74%;
    left: 35%;
  }
}
@media screen and (max-width: 1470px) {
  .map {
    top: -55vh;
  }
  figure.map {
    left: 5%;
    max-width: 600px;
  }
  .human02 {
    top: 20%;
  }
  .human03 {
    top: 55%;
    left: 30%;
  }
  .mapWrap-sentence {
    top: 30%;
  }
}
@media screen and (max-width: 1280px) {
  figure.map {
    left: 5%;
    max-width: 500px;
  }
  .human03 {
    top: 44%;
    left: 39%;
  }
}
@media screen and (max-width: 1080px) and (orientation: landscape) {
  figure.map {
    max-width: 400px;
  }
  .human02 {
    max-width: 120px;
  }
  .human03 {
    max-width: 120px;
    top: 30%;
    left: 30%;
  }
}
@media screen and (max-width: 1023px) and (orientation: landscape) {
  .map {
    top: -60vh;
  }
  figure.map {
    max-width: 530px;
  }
  .mapWrap {
    min-height: 100vh;
  }
  figure.map {
    max-width: 300px;
  }
  .human02 {
    top: 18%;
    max-width: 150px;
  }
  .human03 {
    max-width: 120px;
    top: 78%;
  }
  .mapWrap h2 {
    font-size: 2rem;
  }
  .mapWrap-sentence {
    top: 40%;
    max-width: 300px;
  }
}
@media screen and (max-width: 1080px) and (orientation: portrait) {
  .map.inner02 {
    top: -25vh;
  }
  .mapWrap {
    min-height: 55vh;
  }
  figure.map {
    max-width: 400px;
  }
  .human02 {
    top: 25%;
    max-width: 170px;
  }
  .human03 {
    left: 27%;
    top: 38%;
    max-width: 120px;
  }
  .donguri {
    max-width: 50px;
  }
  .risu {
    max-width: 200px;
  }
  .mapWrap h2 {
    font-size: 2rem;
  }
  .mapWrap p {
    font-size: 1.6rem;
  }
  .mapWrap-sentence {
    top: 25%;
    max-width: 350px;
  }
}
@media screen and (max-width: 834px) and (orientation: portrait) {
  figure.map {
    max-width: 370px;
  }
  .human02 {
    top: 23%;
    max-width: 100px;
  }
  .human03 {
    left: 26%;
    top: 53%;
    max-width: 100px;
  }
  .donguri {
    max-width: 30px;
  }
  .risu {
    max-width: 100px;
  }
  .mapWrap-sentence {
    max-width: 300px;
  }
}
@media screen and (max-width: 767px) {
  .map.inner02 {
    top: 0;
  }
  .mapWrap {
    min-height: 140vh;
  }
  .mapWrap h2 {
    margin-bottom: 20px;
  }
  .mapWrap-sentence {
    width: 100%;
    max-width: 100%;
    top: 0;
  }
  figure.map {
    width: 100%;
    max-width: 100%;
    top: 40%;
    left: 0;
  }
  .donguri {
    max-width: 20px;
  }
  .risu {
    max-width: 70px;
  }
  .human02 {
    top: 50%;
    max-width: 90px;
  }
  .human03 {
    top: 70%;
    left: 50%;
    max-width: 90px;
  }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  .mapWrap {
    min-height: 300vh;
  }
  figure.spOnly.map {
    max-width: 600px;
  }
}
@media screen and (min-width: 1921px) {
  .map {
    position: relative;
    top: -70vh;
  }
  .mapWrap {
    min-height: 80vh;
  }
}
/*森林*/
.forest {
  background-image: url("./spring/images/forest.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 2256px;
  position: relative;
  top: -50vh;
  z-index: 3;
  overflow-x: hidden;
}

.bird02-2 {
  position: absolute;
  top: 20%;
  left: 20%;
  transform: scaleX(-1);
}

.human04 {
  position: absolute;
  top: 12%;
  left: 60%;
}

.risu03 {
  position: absolute;
  top: 42%;
  left: 92%;
}

.slider {
  position: absolute;
  top: 25%;
  display: flex;
  width: -moz-max-content;
  width: max-content;
  animation: flow-left 30s linear infinite;
  will-change: transform;
  z-index: 4;
}

@keyframes flow-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.hana-sanpo-linkWrap {
  position: absolute;
  max-width: 456px;
}

.shinryoku-sanpo-linkWrap {
  position: absolute;
  max-width: 480px;
}

.hana-sanpo-linkWrap {
  top: 60%;
  left: 20%;
}

.shinryoku-sanpo-linkWrap {
  top: 60%;
  right: 20%;
}

.link-title {
  width: 100%;
}

.entrance {
  position: absolute;
  width: 200px;
  top: 72%;
  left: 60%;
  transform: translateX(-50%);
}

.entrance-2 {
  left: 40%;
}

.hana-sanpo-map-link,
.shinryoku-sanpo-map-link {
  position: absolute;
  width: 236px;
}

.hana-sanpo-map-link {
  top: 80%;
  left: 14%;
}

.shinryoku-sanpo-map-link {
  top: 80%;
  right: 14%;
}

@media screen and (max-width: 1600px) {
  .hana-sanpo-linkWrap {
    max-width: 400px;
  }
  .shinryoku-sanpo-linkWrap {
    position: absolute;
    max-width: 420px;
  }
}
@media screen and (max-width: 1470px) {
  .forest {
    /*min-height: 350vh;*/
    min-height: 1838px;
    top: -50vh;
    background-image: url("./spring/images/forest-2.webp");
  }
  .slider img {
    height: 500px;
  }
  .bird02-2 {
    top: 23%;
  }
  .hana-sanpo-linkWrap {
    left: 10%;
    max-width: 400px;
  }
  .shinryoku-sanpo-linkWrap {
    right: 10%;
    max-width: 400px;
  }
  .hana-sanpo-map-link {
    top: 85%;
    left: 5%;
  }
  .shinryoku-sanpo-map-link {
    top: 85%;
    right: 5%;
  }
}
@media screen and (max-width: 1023px) and (orientation: landscape) {
  .forest {
    min-height: 300vh;
    /*min-height: 1500px;*/
    top: 0vh;
    background-image: url("./spring/images/forest-tb.webp");
  }
  .slider img {
    height: 300px;
  }
  .human04 {
    max-width: 200px;
  }
  .hana-sanpo-linkWrap {
    max-width: 300px;
    left: 5%;
  }
  .shinryoku-sanpo-linkWrap {
    max-width: 300px;
    right: 5%;
  }
  .entrance {
    max-width: 120px;
  }
  .hana-sanpo-map-link {
    max-width: 150px;
    left: 2%;
  }
  .shinryoku-sanpo-map-link {
    max-width: 150px;
    right: 2%;
  }
}
@media screen and (max-width: 1080px) and (orientation: portrait) {
  .forest {
    min-height: 125vh;
    top: -30vh;
  }
  .slider img {
    height: 350px;
    width: auto;
  }
  .human04 {
    max-width: 200px;
  }
  .hana-sanpo-linkWrap {
    max-width: 350px;
    left: 10%;
  }
  .shinryoku-sanpo-linkWrap {
    max-width: 350px;
    right: 10%;
  }
  .entrance {
    max-width: 150px;
  }
  .hana-sanpo-map-link {
    max-width: 200px;
    top: 85%;
    left: 5%;
  }
  .shinryoku-sanpo-map-link {
    max-width: 200px;
    top: 85%;
    right: 5%;
  }
}
@media screen and (max-width: 834px) and (orientation: portrait) {
  .human04 {
    max-width: 150px;
  }
  .hana-sanpo-linkWrap {
    max-width: 300px;
    left: 5%;
  }
  .shinryoku-sanpo-linkWrap {
    max-width: 300px;
    right: 5%;
  }
  .entrance {
    max-width: 120px;
  }
  .hana-sanpo-map-link {
    max-width: 150px;
    left: 2%;
  }
  .shinryoku-sanpo-map-link {
    max-width: 150px;
    right: 2%;
  }
}
@media screen and (max-width: 767px) {
  .forest {
    background-image: url("./spring/images/forest-sp.webp");
    min-height: 195vh;
    top: -15vh;
  }
  .bird02-2 {
    top: 12%;
    max-width: 70px;
  }
  .human04 {
    top: 7%;
    max-width: 120px;
  }
  .slider {
    top: 15%;
  }
  .slider img {
    height: 200px;
  }
  .hana-sanpo-linkWrap {
    top: 35%;
  }
  .hana-sanpo-map-link {
    top: 53%;
  }
  .shinryoku-sanpo-map-link {
    top: 77%;
    right: 0;
  }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  .forest {
    background-image: url("./spring/images/forest.webp");
    min-height: 218vh;
  }
  .hana-sanpo-linkWrap {
    max-width: 230px;
    top: 45%;
  }
  .shinryoku-sanpo-linkWrap {
    max-width: 230px;
    top: 45%;
  }
  .hana-sanpo-map-link {
    top: 70%;
  }
  .shinryoku-sanpo-map-link {
    top: 70%;
  }
}
@media screen and (min-width: 1921px) {
  .forest {
    min-height: 270vh;
    top: -100vh;
  }
  .hana-sanpo-map-link {
    top: 72%;
    left: 18%;
  }
  .shinryoku-sanpo-map-link {
    top: 72%;
    right: 18%;
  }
}
/*鹿足跡*/
.deerWrap {
  position: relative;
  margin-top: -60vh;
  min-height: 40vh;
  z-index: 3;
}

.deer {
  position: absolute;
  top: 0;
  left: 58%;
}

.footprints {
  position: absolute;
  top: 50%;
  left: 67%;
}

.footprints02 {
  position: absolute;
  top: 70%;
  left: 78%;
}

@media screen and (max-width: 1600px) {
  .deer {
    left: 45%;
  }
  .footprints {
    left: 58%;
  }
  .footprints02 {
    left: 75%;
  }
}
@media screen and (max-width: 1470px) {
  .deer {
    left: 45%;
  }
  .footprints {
    left: 58%;
  }
  .footprints02 {
    left: 75%;
  }
}
@media screen and (max-width: 1023px) and (orientation: landscape) {
  .deerWrap {
    margin-top: 0vh;
  }
  .deer {
    max-width: 150px;
    left: 35%;
  }
  .footprints {
    left: 45%;
  }
  .footprints02 {
    left: 70%;
  }
}
@media screen and (max-width: 1080px) and (orientation: portrait) {
  .deer {
    max-width: 150px;
    left: 35%;
  }
  .deerWrap {
    margin-top: -35vh;
    min-height: 20vh;
  }
  .footprints {
    left: 50%;
  }
  .footprints02 {
    left: 70%;
  }
}
@media screen and (max-width: 767px) {
  .deerWrap {
    margin-top: -25vh;
    min-height: 25vh;
  }
  .deer {
    max-width: 90px;
    left: 35%;
  }
  .footprints {
    max-width: 90px;
    left: 55%;
    top: 50%;
  }
  .footprints02 {
    max-width: 90px;
    left: 75%;
    top: 55%;
  }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  .deerWrap {
    min-height: 50vh;
  }
}
@media screen and (min-width: 1921px) {
  .deerWrap {
    margin-top: -120vh;
  }
  .footprints {
    position: absolute;
    top: 42%;
    left: 65%;
  }
  .footprints02 {
    position: absolute;
    top: 59%;
    left: 74%;
  }
}
/*YouTube*/
.youtube {
  margin-top: 150px;
  position: relative;
  min-height: 110vh;
}

.youtube02 {
  position: relative;
  min-height: 90vh;
  margin-bottom: 100px;
}

.youtube .inner,
.youtube02 .inner {
  min-height: 500px;
}

.human05 {
  position: absolute;
  top: -10%;
  left: 20%;
  z-index: 1;
}

.hana-sanpo-hukidashi {
  position: absolute;
  top: -12%;
  right: 10%;
  z-index: 3;
}

.flower {
  position: absolute;
  bottom: 25%;
  right: 10%;
  z-index: 3;
}

.shinryoku-sanpo-hukidashi {
  position: absolute;
  top: -12%;
  left: 13%;
  z-index: 3;
}

.woodpecker {
  position: absolute;
  left: 14%;
  bottom: 33%;
  z-index: 3;
}

.youtube_player {
  aspect-ratio: 16/9;
  border-radius: 16px;
  max-width: 1060px;
  overflow: hidden;
  position: absolute;
  top: 12%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}

.youtube_player02 {
  left: 55%;
}

@media screen and (max-width: 1600px) {
  .hana-sanpo-hukidashi {
    right: 5%;
  }
  .flower {
    right: 5%;
  }
  .shinryoku-sanpo-hukidashi {
    left: 5%;
  }
  .woodpecker {
    left: 5%;
  }
}
@media screen and (max-width: 1470px) {
  .hana-sanpo-hukidashi {
    right: 1%;
  }
  .shinryoku-sanpo-hukidashi {
    left: 1%;
  }
  .flower {
    right: 2%;
  }
  .woodpecker {
    left: 2%;
  }
  .youtube_player {
    max-width: 834px;
  }
}
@media screen and (max-width: 1023px) and (orientation: landscape) {
  .youtube,
  .youtube02 {
    min-height: 550px;
  }
  .youtube_player {
    width: 85%;
  }
  .human05 {
    left: 15%;
    max-width: 120px;
  }
  .hana-sanpo-hukidashi {
    max-width: 200px;
    right: 1%;
    top: 2%;
  }
  .shinryoku-sanpo-hukidashi {
    max-width: 200px;
    left: 1%;
    top: -6%;
  }
  .flower {
    max-width: 100px;
    bottom: 20%;
  }
  .woodpecker {
    max-width: 100px;
    bottom: 20%;
  }
}
@media screen and (max-width: 1080px) and (orientation: portrait) {
  .youtube {
    margin-top: 200px;
    min-height: 50vh;
  }
  .youtube02 {
    min-height: 50vh;
  }
  .youtube_player {
    max-width: 768px;
    left: 50%;
  }
  .youtube_player02 {
    left: 50%;
  }
  .hana-sanpo-hukidashi {
    right: 0;
  }
  .shinryoku-sanpo-hukidashi {
    left: 0;
  }
}
@media screen and (max-width: 834px) and (orientation: portrait) {
  .youtube {
    min-height: 75vh;
  }
  .youtube02 {
    min-height: 75vh;
  }
}
@media screen and (max-width: 767px) {
  .youtube {
    margin-top: 40px;
  }
  .youtube,
  .youtube02 {
    min-height: 50vh;
    margin-bottom: 0px;
  }
  .youtube .inner,
  .youtube02 .inner {
    min-height: 35vh;
  }
  .youtube_player {
    width: 100%;
  }
  .hana-sanpo-hukidashi {
    left: 5%;
    top: -20%;
  }
  .shinryoku-sanpo-hukidashi {
    left: auto;
    right: 5%;
    top: -20%;
  }
  .human05 {
    left: 10%;
    top: -20%;
    max-width: 60px;
  }
  .flower {
    right: 10%;
    top: -15%;
  }
  .flower03 {
    position: absolute;
    bottom: 10%;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  .youtube,
  .youtube02 {
    min-height: 150vh;
    margin-bottom: 0px;
  }
  .youtube02 {
    min-height: 100vh;
  }
  .youtube_player02 {
    left: 50%;
  }
}
@media screen and (min-width: 1921px) {
  .youtube_player {
    max-width: 1600px;
  }
}
/*チケットバナー*/
.ticket-banner {
  position: relative;
  margin-bottom: 200px;
}

.ticket-banner .inner {
  min-height: 390px;
}

.ticket-bg {
  position: absolute;
  left: 50%;
  transform: translate(-50%);
  max-width: 1072px;
  width: 100%;
  z-index: 3;
}

.ticket01 {
  position: absolute;
  top: 10%;
  left: 34%;
  z-index: 4;
}

.ticket02 {
  position: absolute;
  top: 29%;
  left: 43%;
  z-index: 4;
}

.ticket03 {
  position: absolute;
  top: 18%;
  left: 26%;
  z-index: 4;
}

.ticket03-2 {
  position: absolute;
  top: 81%;
  left: 58%;
  z-index: 4;
  transform: scaleY(-1);
}

.ticket04 {
  position: absolute;
  top: 27%;
  left: 16%;
  z-index: 5;
  max-width: 170px;
  transform: rotate(-10deg);
}

.ticket05 {
  position: absolute;
  top: 45%;
  left: 25%;
  z-index: 4;
  transform: rotate(-10deg);
}

.risu02 {
  position: absolute;
  top: -15%;
  left: 11%;
  z-index: 2;
}

.human06 {
  position: absolute;
  bottom: -33%;
  right: 17%;
  z-index: 5;
}

.detail {
  position: absolute;
  bottom: 10%;
  right: 19%;
  z-index: 4;
}

.ticket-sentence {
  position: absolute;
  top: 10%;
  left: 62%;
  color: #ffffff;
  z-index: 3;
}

.ticket-sentence h3 {
  font-size: 3.6rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-family: "Josefin Sans";
}

.ticket-banner-horizontal {
  display: none;
}

@media screen and (max-width: 1600px) {
  .human06 {
    right: 6%;
  }
}
@media screen and (max-width: 1470px) {
  .ticket-sentence {
    top: 10%;
    left: 65%;
  }
  .risu02 {
    top: -12%;
    left: 3%;
  }
  .ticket01 {
    left: 30%;
    top: 5%;
    max-width: 300px;
  }
  .ticket02 {
    top: 23%;
    left: 39%;
  }
  .ticket03 {
    top: 9%;
    left: 20%;
  }
  .ticket03-2 {
    top: 68%;
    left: 60%;
  }
  .ticket04 {
    top: 20%;
    left: 10%;
  }
  .ticket05 {
    top: 35%;
    left: 20%;
  }
  .human06 {
    right: 0%;
    max-width: 200px;
  }
  .detail {
    bottom: 28%;
    right: 12%;
  }
  .ticket-sentence h3 {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 1280px) {
  .risu02 {
    top: -18%;
    left: 4%;
  }
  .ticket01 {
    left: 30%;
    top: 5%;
    max-width: 300px;
  }
  .ticket02 {
    top: 23%;
    left: 41%;
  }
  .ticket03 {
    top: 9%;
    left: 20%;
  }
  .ticket03-2 {
    top: 62%;
    left: 55%;
  }
  .ticket04 {
    top: 19%;
    left: 7%;
    max-width: 150px;
  }
  .ticket05 {
    top: 35%;
    left: 19%;
    max-width: 360px;
  }
  .human06 {
    right: 0%;
  }
  .detail {
    bottom: 28%;
    right: 12%;
  }
  .ticket-sentence h3 {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 1024px) and (orientation: landscape) {
  .risu02 {
    max-width: 150px;
    top: -17%;
    left: 1%;
  }
  .ticket01 {
    max-width: 300px;
    top: 15;
  }
  .ticket02 {
    max-width: 80px;
    top: 25%;
    left: 43%;
  }
  .ticket-banner .inner {
    min-height: 300px;
  }
  .ticket-sentence {
    top: 10%;
    left: 63%;
  }
  .ticket03 {
    top: 18%;
    left: 16%;
  }
  .ticket03-2 {
    top: 74%;
    left: 52%;
  }
  .ticket04 {
    top: 30%;
    max-width: 120px;
  }
  .ticket05 {
    max-width: 300px;
    top: 45%;
    left: 18%;
  }
  .ticket-sentence h3 {
    font-size: 2rem;
  }
  .ticket-sentence h5 {
    font-size: 1.4rem;
  }
  .human06 {
    max-width: 150px;
    bottom: -32%;
    right: 6%;
  }
  .detail {
    right: 13%;
    bottom: 13%;
  }
}
@media screen and (max-width: 1080px) and (orientation: portrait) {
  .ticket-sentence {
    left: 60%;
  }
  .ticket01 {
    max-width: 260px;
    left: 24%;
  }
  .ticket02 {
    max-width: 90px;
    top: 18%;
    left: 36%;
  }
  .ticket03 {
    left: 15%;
  }
  .ticket03-2 {
    left: 53%;
    top: 53%;
  }
  .ticket04 {
    max-width: 100px;
  }
  .ticket05 {
    top: 30%;
    left: 15%;
    max-width: 300px;
  }
  .detail {
    max-width: 150px;
    bottom: 30%;
    right: 14%;
  }
}
@media screen and (max-width: 834px) and (orientation: portrait) {
  .risu02 {
    max-width: 120px;
    top: -15%;
    left: 1%;
  }
  .ticket01 {
    max-width: 250px;
    top: 1%;
  }
  .ticket02 {
    top: 17%;
    left: 36%;
  }
  .ticket-banner .inner {
    min-height: 300px;
  }
  .ticket-sentence {
    top: 5%;
    left: 60%;
  }
  .ticket03 {
    top: 18%;
    left: 16%;
  }
  .ticket03-2 {
    top: 67%;
    left: 54%;
  }
  .ticket04 {
    top: 30%;
    max-width: 100px;
  }
  .ticket05 {
    max-width: 300px;
    top: 38%;
    left: 16%;
  }
  .ticket-sentence h3 {
    font-size: 2rem;
  }
  .ticket-sentence h5 {
    font-size: 1.4rem;
  }
  .human06 {
    max-width: 150px;
    bottom: -32%;
    right: 6%;
  }
  .detail {
    right: 12%;
    bottom: 24%;
    max-width: 180px;
  }
  .flower {
    max-width: 90px;
    bottom: 20%;
  }
  .woodpecker {
    max-width: 90px;
    bottom: 20%;
  }
  .hana-sanpo-hukidashi {
    max-width: 180px;
  }
  .shinryoku-sanpo-hukidashi {
    max-width: 180px;
  }
}
@media screen and (max-width: 767px) {
  .ticket-banner {
    margin-bottom: 10px;
  }
  .ticket-banner .inner {
    min-height: 640px;
  }
  .ticket-bg img {
    width: 100%;
  }
  .ticket-banner-sp {
    z-index: 3;
    position: absolute;
    top: 23%;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 310px;
  }
  .ticket-sentence {
    top: 5%;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
  }
  .ticket-sentence h3 {
    font-size: 2.4rem;
  }
  p.ticket-sentence02 {
    top: 55%;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    position: absolute;
    color: #e1e7d9;
    z-index: 3;
    text-align: center;
  }
  .detail {
    right: auto;
    left: 50%;
    bottom: 22%;
    transform: translateX(-50%);
  }
  .human06 {
    max-width: 100px;
    position: relative;
    margin: 0 auto;
    top: -5vh;
  }
  .woodpecker {
    bottom: auto;
    z-index: 4;
    top: -10%;
    left: 5%;
    max-width: 90px;
  }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  .ticket-banner .inner {
    display: none;
  }
  .woodpecker {
    display: none;
  }
  .flower03 {
    display: none;
  }
  .human06 {
    display: none;
  }
  .ticket-banner-horizontal {
    display: block;
  }
}
@media screen and (min-width: 1921px) {
  .risu02 {
    top: -8%;
    left: 11%;
  }
}
/*外部リンク*/
.link-banner {
  margin-bottom: 100px;
}

.link-banner .flex {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: center;
}

.link-banner figure {
  max-width: 330px;
  width: 30%;
  margin: 0;
}

@media screen and (max-width: 1080px) and (orientation: landscape) {
  .link-banner {
    width: 85%;
  }
}
@media screen and (max-width: 1080px) and (orientation: portrait) {
  .link-banner {
    width: 85%;
  }
}
@media screen and (max-width: 767px) {
  .link-banner figure {
    width: 45%;
  }
  .link-banner {
    margin-bottom: 20px;
    width: 90%;
  }
  .link-banner .flex {
    gap: 30px;
    justify-content: space-between;
  }
}
/*フッター*/
footer {
  position: relative;
  min-height: 550px;
  overflow-x: clip;
}

.tree-back {
  position: absolute;
  bottom: 1px;
  left: 0;
  z-index: 2;
  width: 100%;
  max-width: 590px;
}

.tree-back02 {
  position: absolute;
  bottom: 1px;
  right: 0;
  z-index: 2;
  transform: scaleX(-1);
}

.logo02 {
  position: absolute;
  top: 0%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
}

.footer-sentence {
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 800px;
  z-index: 3;
}

.bird03 {
  position: absolute;
  top: 0%;
  left: 20%;
  z-index: 3;
}

.footer-bird02 {
  position: absolute;
  top: 28%;
  right: 20%;
  transform: scaleX(-1);
  z-index: 3;
}

.page-top {
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%) translateY(0);
  z-index: 100;
  pointer-events: none;
  transition: all 0.3s ease;
  filter: blur(10px);
}

.page-top.is-show {
  bottom: 20px;
  opacity: 1;
  pointer-events: auto;
  filter: blur(0px);
}

.instagram {
  width: 30px;
}

@media screen and (max-width: 1600px) {
  .footer-sentence {
    max-width: 700px;
    z-index: 3;
  }
}
@media screen and (max-width: 1470px) {
  .tree-back {
    max-width: 380px;
  }
  .tree-back02 {
    max-width: 380px;
  }
  .bird03 {
    left: 10%;
  }
  .footer-bird02 {
    right: 5%;
  }
  .footer-sentence {
    max-width: 700px;
  }
}
@media screen and (max-width: 1024px) and (orientation: landscape) {
  .bird03 {
    left: 5%;
  }
  .footer-bird02 {
    max-width: 80px;
    top: 10%;
    right: 5%;
  }
}
@media screen and (max-width: 1023px) and (orientation: landscape) {
  .tree-back {
    max-width: 300px;
  }
  .tree-back02 {
    max-width: 300px;
  }
  .footer-sentence {
    width: 90%;
  }
  .bird03 {
    left: 2%;
    max-width: 130px;
  }
  .footer-bird02 {
    max-width: 80px;
    top: 10%;
  }
}
@media screen and (max-width: 834px) and (orientation: portrait) {
  .tree-back {
    max-width: 300px;
  }
  .tree-back02 {
    max-width: 300px;
  }
  .footer-sentence {
    width: 90%;
  }
  .bird03 {
    left: 2%;
    max-width: 130px;
  }
  .footer-bird02 {
    max-width: 80px;
    top: 10%;
  }
}
@media screen and (max-width: 767px) {
  footer {
    padding-top: 50px;
    min-height: 98vh;
    overflow-x: hidden;
  }
  .logo02 {
    max-width: 300px;
    width: 100%;
    top: 15%;
  }
  .footter-sentence {
    top: 35%;
  }
  .bird03 {
    left: 50%;
    top: 0%;
    transform: translateX(-50%);
  }
  .addrWrap {
    display: flex;
    justify-content: space-between;
    width: 90%;
    margin: 0 auto;
  }
  .addrWrap h5 {
    font-size: 1.6rem;
  }
  .addrWrap figure {
    max-width: 32px;
  }
  .footer-sentence {
    top: 40%;
  }
  .tree-back,
  .tree-back02 {
    max-width: 150px;
  }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  footer {
    margin-top: -30vh;
    min-height: 180vh;
  }
}
/*walk　花さんぽヘッダー*/
.walk .inner {
  max-width: 1000px;
  width: 100%;
}

.tree-back03 {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.tree-back04 {
  position: absolute;
  top: 0;
  right: 0;
  transform: scaleX(-1);
  z-index: 2;
}

@media screen and (max-width: 1470px) {
  .tree-back03,
  .tree-back04 {
    max-width: 380px;
  }
}
@media screen and (max-width: 1023px) and (orientation: landscape) {
  .tree-back03,
  .tree-back04 {
    max-width: 300px;
  }
}
@media screen and (max-width: 834px) and (orientation: portrait) {
  .tree-back03,
  .tree-back04 {
    max-width: 250px;
  }
}
@media screen and (max-width: 767px) {
  .tree-back03,
  .tree-back04 {
    max-width: 160px;
  }
}
@media screen and (min-width: 1921px) {
  .walk .inner {
    max-width: 1600px;
  }
}
/*walk　花さんぽ　神緑さんぽ共通*/
.kamikawa-sapnpo {
  position: relative;
}

.sanpo-title {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.walk-logo {
  max-width: 256px;
  margin: 0 auto;
}

.garden-logo img {
  max-width: 580px;
  width: 100%;
}

.walkWrap02 {
  position: relative;
  top: -40vh;
}

.walkWrap02-2 {
  position: relative;
  top: -5vh;
}

.walk-logo {
  position: relative;
  text-align: center;
  margin-top: -50px;
}

.walk-logo02 {
  position: relative;
  text-align: center;
  margin-top: 100px;
}

.walk footer {
  background: #ffffff;
}

.slider02 {
  max-width: 1130px;
  width: 100%;
  overflow: hidden;
  margin: 0 auto 100px;
}

.slick-slide img {
  width: 100%;
  display: block;
}

.slick-dotted.slick-slider {
  margin-bottom: 50px;
}

.slick-dots {
  bottom: -50px;
}

.slick-dots li button:before {
  color: #007544;
  font-size: 10px;
  width: 30px;
  height: 30px;
}

.slick-dots li.slick-active button:before {
  color: #007544;
}

.risu04 {
  position: absolute;
  top: 0;
  right: 0;
}

.shinryoku-title {
  position: relative;
  min-height: 35vh;
}

.pointWrap {
  position: relative;
  margin-bottom: 150px;
}

.pointWrap .inner {
  max-width: 1000px;
  width: 100%;
  background: #ffffff;
  border-radius: 30px;
  padding-top: 30px;
  padding-bottom: 70px;
  position: relative;
}

.pointWrap02 .inner {
  padding-top: 0;
  padding-bottom: 0;
  align-items: stretch;
}

.pointsentence {
  width: 40%;
}

.pointphoto {
  width: 45%;
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
  overflow: hidden;
}

.pointphoto img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.pointphoto02 {
  width: 45%;
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  overflow: hidden;
}

.pointphoto02 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.pointphoto03 {
  width: 55%;
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  overflow: hidden;
  display: flex;
}

.pointphoto03 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.pointphoto04 {
  width: 55%;
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
  overflow: hidden;
  display: flex;
}

.pointphoto04 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.tree-back05 {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.tree-back06 {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  transform: scaleX(-1);
}

.pointWrap h3 {
  color: #007544;
  text-align: center;
}

.pointWrap h4 {
  font-size: 2rem;
}

.mikuni-sentence {
  width: 45%;
  padding-right: 70px;
}

.sabou-sentence {
  width: 45%;
  padding-left: 70px;
}

h3.access {
  font-size: 3.6rem;
  font-family: "Josefin Sans";
}

iframe.googlemap {
  aspect-ratio: 16/9;
}

p.red {
  line-height: 1.2;
}

p.red span {
  font-size: 1.4rem;
  color: #ff0000;
}

.tree-bird {
  position: absolute;
  left: 6%;
  bottom: -19%;
  z-index: 2;
}

.flower02 {
  position: absolute;
  right: 8%;
  bottom: -10%;
  z-index: 2;
}

.human07 {
  position: absolute;
  left: 12%;
  bottom: -22%;
  z-index: 2;
}

.shinryoku-catch {
  margin-bottom: 150px;
}

.human08 {
  position: absolute;
  left: 11%;
  top: -54%;
  z-index: 2;
}

.point-hukidashi {
  position: absolute;
  right: 0;
  top: -25%;
}

.ropeway-link {
  position: absolute;
  top: -30%;
  right: 18%;
}

.point-hukidashi02 {
  position: absolute;
  top: -25%;
  left: 0;
}

.point-hukidashi03 {
  position: absolute;
  top: -25%;
  right: 0;
}

.human09 {
  position: absolute;
  top: -20%;
  left: 6%;
}

.human10 {
  position: absolute;
  bottom: 6%;
  left: 8%;
}

.air-cycling {
  padding-left: 70px;
  padding-top: 30px;
  padding-bottom: 30px;
}

.view-picnic {
  padding-right: 70px;
  padding-top: 30px;
  padding-bottom: 30px;
}

.mikuni-logo {
  max-width: 136px;
}

.sabou-logo {
  max-width: 120px;
}

.shop-logo {
  max-width: 90px;
}

@media screen and (max-width: 1470px) {
  .walk .inner {
    width: 90%;
  }
  .pointWrap .inner {
    padding-top: 20px;
    padding-bottom: 30px;
    margin-bottom: 40px;
  }
  .pointWrap02 .inner {
    padding-top: 0;
    padding-bottom: 0;
  }
  .tree-back05,
  .tree-back06 {
    max-width: 380px;
  }
  .human09 {
    left: 0%;
  }
  .human10 {
    left: 0%;
  }
}
@media screen and (max-width: 1080px) and (orientation: portrait) {
  .tree-back05,
  .tree-back06 {
    max-width: 250px;
  }
  .shinryoku-title {
    min-height: 20vh;
  }
  .mikuni-sentence {
    width: 100%;
    padding-right: 0;
  }
  .sabou-sentence {
    width: 100%;
    padding-left: 0;
  }
  .air-cycling {
    padding-left: 0;
  }
  .view-picnic {
    padding-right: 0;
  }
  .human10 {
    bottom: -10%;
  }
  .ropeway-link {
    top: -13%;
    right: 5%;
    max-width: 150px;
  }
}
@media screen and (max-width: 1023px) and (orientation: landscape) {
  .tree-back05,
  .tree-back06 {
    max-width: 300px;
  }
  .human09 {
    bottom: -28%;
  }
  .human10 {
    bottom: -10%;
  }
  .ropeway {
    right: -23%;
  }
  .ticketWrap h4 {
    font-size: 1.8rem;
  }
  .ticketWrap {
    padding: 20px;
    padding-top: 40px;
  }
  .bird01-ticket {
    max-width: 120px;
  }
  .bird02-ticket {
    max-width: 100px;
  }
  .walk-logo02 {
    position: relative;
    text-align: center;
    margin-top: 20px;
  }
  .pointWrap02 .ropeway {
    right: 2%;
  }
  .pointWrap h3 {
    text-align: left;
  }
  .pointWrap .inner {
    flex-direction: column;
    gap: 20px;
    padding: 40px;
    padding-top: 90px;
  }
  .pointWrap .inner.re {
    flex-direction: column-reverse;
    gap: 20px;
  }
  .pointphoto,
  .pointphoto02,
  .pointphoto03,
  .pointphoto04 {
    width: 100%;
    border-radius: 20px;
  }
  .pointWrap .inner .w50p,
  .pointWrap .inner .w45p,
  .pointsentence {
    width: 100%;
  }
  .pointsentence .textL,
  .pointsentence .textR {
    text-align: left;
  }
  .mikuni-sentence {
    width: 100%;
    padding-right: 0;
  }
  .sabou-sentence {
    width: 100%;
    padding-left: 0;
  }
  .air-cycling {
    padding-left: 0;
  }
  .view-picnic {
    padding-right: 0;
  }
  .point-hukidashi {
    top: -10%;
  }
  .point-hukidashi02 {
    top: -10%;
  }
  .point-hukidashi03 {
    top: -10%;
  }
  .ropeway-link {
    top: -10%;
    right: 10%;
    max-width: 150px;
  }
  .tree-bird {
    bottom: -12%;
    z-index: 2;
  }
}
@media screen and (max-width: 834px) and (orientation: portrait) {
  .pointWrap {
    margin-bottom: 200px;
  }
  .pointWrap .inner {
    flex-direction: column;
    gap: 20px;
    padding: 40px;
    padding-top: 90px;
  }
  .pointWrap .inner.re {
    flex-direction: column-reverse;
    gap: 20px;
  }
  .pointphoto,
  .pointphoto02,
  .pointphoto03,
  .pointphoto04 {
    width: 100%;
    border-radius: 20px;
  }
  .pointWrap .inner .w50p,
  .pointWrap .inner .w45p,
  .pointsentence {
    width: 100%;
  }
  .pointsentence .textL,
  .pointsentence .textR {
    text-align: left;
  }
  .flower02 {
    bottom: -20%;
  }
  .ticketWrap {
    width: 80%;
    margin: 0 auto 100px;
  }
  .ropeway {
    right: 0%;
  }
  .human07 {
    left: 0%;
    bottom: -20%;
  }
  .human08 {
    left: 0%;
    top: -17%;
  }
  .point-hukidashi {
    top: -10%;
  }
  .point-hukidashi02 {
    top: -10%;
  }
  .point-hukidashi03 {
    top: -10%;
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  .walk-logo {
    max-width: 140px;
    margin: 0 auto;
  }
  .garden-logo {
    max-width: 235px;
    margin: 0 auto;
  }
  .pointWrap .inner {
    padding: 20px;
    padding-top: 40px;
  }
  .risu04 {
    max-width: 95px;
    top: 60%;
  }
  .tree-bird {
    max-width: 80px;
    bottom: -25%;
  }
  .flower02 {
    max-width: 90px;
    bottom: -10%;
  }
  .human07 {
    max-width: 130px;
  }
  .human08 {
    max-width: 90px;
  }
  .human09 {
    max-width: 150px;
  }
  .human10 {
    max-width: 110px;
    bottom: auto;
    top: -10%;
    left: 50%;
    transform: translateX(-50%);
  }
  .point-hukidashi {
    max-width: 120px;
  }
  .point-hukidashi02 {
    max-width: 120px;
    top: -9%;
  }
  .pointWrap02 .ropeway {
    max-width: 95px;
  }
  .point-hukidashi03 {
    max-width: 120px;
  }
  .access-wrap {
    overflow-x: auto;
  }
  .access-image img {
    width: 1000px;
    /* 横長にする */
    max-width: none;
    /* ←これ重要 */
  }
  .tree-back05,
  .tree-back06 {
    max-width: 140px;
  }
  .walkWrap {
    position: relative;
    top: -60vh;
  }
  .walkWrap02 {
    position: relative;
    top: -140vh;
    margin-bottom: -140vh;
  }
  .slider02 {
    margin: 0 auto 40px;
  }
  .pointWrap h4 {
    font-size: 1.8rem;
  }
  .ropeway-button img {
    display: block;
    margin: 0 auto;
  }
  .air-cycling {
    padding-top: 10px;
  }
  .view-picnic {
    padding-top: 10px;
  }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  .walk main {
    top: 0vh;
  }
  .sanpo-title {
    top: 0vh;
  }
  .human08 {
    top: -10%;
  }
  .tree-bird {
    bottom: -12%;
  }
}
@media screen and (min-width: 1921px) {
  .slider02 {
    max-width: 1400px;
  }
  .pointWrap {
    margin-bottom: 250px;
  }
  .pointWrap .inner {
    max-width: 1400px;
  }
  .point-hukidashi {
    top: -18%;
  }
  .point-hukidashi02 {
    top: -18%;
  }
  .point-hukidashi03 {
    top: -18%;
  }
}
/*walk シーズンチケット*/
#ticket-passport {
  position: relative;
  top: -1vh;
  background: #56a5a5;
}

#ticket-passport h2 {
  color: #ffffff;
  font-size: 4rem;
  font-family: "Josefin Sans";
}

#ticket-passport h3 {
  color: #ffffff;
}

.ticketWrap {
  background: #ffffff;
  width: 45%;
  padding: 40px;
  display: flex;
  flex-direction: column;
  position: relative;
}

.ticketWrap h4 {
  padding-bottom: 40px;
}

.ticketWrap p.red {
  border: 1px solid #ff0000;
  margin-bottom: 40px;
  font-size: 1.4rem;
  line-height: 1.5;
  padding: 20px;
  max-width: 300px;
  margin: 0 auto;
}

.ticketWrap p {
  padding-bottom: 20px;
  padding-top: 20px;
  font-size: 1.6rem;
}

.sentenceflex {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-bottom: 1px solid #000000;
}

.sentenceflex02 {
  justify-content: center;
}

.sentence01 {
  min-height: 470px;
}

.sentence02,
.sentence03 {
  min-height: 150px;
}

.sentence04 {
  min-height: 80px;
}

.hana-pin {
  position: absolute;
  top: -6%;
  left: 0%;
  z-index: 3;
}

.shinryoku-pin {
  position: absolute;
  top: -6%;
  left: 20%;
  z-index: 3;
}

.ropeway {
  position: absolute;
  top: -6%;
  right: -10%;
  z-index: 3;
}

.bird01-ticket {
  position: absolute;
  top: -6%;
  right: 0%;
  transform: scaleX(-1);
  z-index: 3;
}

.bird02-ticket {
  position: absolute;
  top: 10%;
  right: 0%;
  transform: scaleX(-1);
  z-index: 3;
}

.corner01 {
  position: absolute;
  left: -1px;
  top: -3px;
  z-index: 2;
  line-height: 1;
}

.corner02 {
  position: absolute;
  right: -1px;
  top: -3px;
  z-index: 2;
  line-height: 1;
}

.corner03 {
  position: absolute;
  left: -1px;
  bottom: -1px;
  z-index: 2;
  line-height: 1;
}

.corner04 {
  position: absolute;
  right: -1px;
  bottom: -1px;
  z-index: 2;
  line-height: 1;
}

.back-button {
  max-width: 300px;
  margin: 100px auto;
}

.footer-before {
  position: relative;
  top: 1vh;
}

.footer-before img {
  width: 100%;
}

.ticket-size img {
  max-width: 350px;
}

.ticket-size02 img {
  max-width: 250px;
}

@media screen and (max-width: 1470px) {
  .ticketWrap {
    background: #ffffff;
    width: 45%;
    padding: 20px;
    display: flex;
    flex-direction: column;
    position: relative;
  }
}
@media screen and (max-width: 1023px) and (orientation: landscape) {
  .ropeway {
    right: -23%;
  }
  .ticketWrap h4 {
    font-size: 1.8rem;
  }
  .ticketWrap {
    padding: 20px;
    padding-top: 40px;
  }
  .bird01-ticket {
    max-width: 120px;
  }
  .bird02-ticket {
    max-width: 100px;
  }
  .walk-logo02 {
    position: relative;
    text-align: center;
    margin-top: 20px;
  }
}
@media screen and (max-width: 834px) and (orientation: portrait) {
  .ticketWrap {
    width: 80%;
    margin: 0 auto 100px;
  }
  .ropeway {
    right: 0%;
  }
  .shinryoku-pin {
    left: 15%;
  }
}
@media screen and (max-width: 767px) {
  .walk footer {
    margin-top: -7vh;
  }
  .ticketWrap {
    width: 100%;
    padding: 20px;
  }
  .hana-pin {
    max-width: 70px;
  }
  .shinryoku-pin {
    max-width: 70px;
    left: 24%;
  }
  .ropeway {
    top: -9%;
    max-width: 90px;
  }
  #ticket-passport h2 {
    font-size: 2.4rem;
  }
  .bird01-ticket {
    max-width: 100px;
  }
  .bird02-ticket {
    max-width: 80px;
    top: 3%;
  }
  .back-button {
    max-width: 200px;
    margin: 0 auto;
  }
  .corner02 {
    right: 0px;
  }
  .corner04 {
    right: 0px;
  }
  .ticketWrap p {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  .ropeway {
    right: 0%;
  }
  .walk footer {
    margin-top: -100vh;
  }
  .ticketWrap {
    margin-bottom: 100px;
  }
  .shinryoku-pin {
    left: 15%;
  }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  .point-hukidashi {
    position: absolute;
    right: 0;
    top: -25%;
  }
}
/*walkstickyリンク*/
.bird-linkWrap,
.bird-linkWrap02 {
  position: sticky;
  top: 10%;
  z-index: 10;
  margin-left: auto;
  width: 250px;
}

@media screen and (max-width: 1470px) {
  .bird-linkWrap,
  .bird-linkWrap02 {
    width: 200px;
    top: 12%;
  }
}
@media screen and (max-width: 1023px) and (orientation: landscape) {
  .bird-linkWrap,
  .bird-linkWrap02 {
    width: 150px;
  }
}
@media screen and (max-width: 767px) {
  .bird-linkWrap,
  .bird-linkWrap02 {
    width: 120px;
    top: 0%;
  }
  .bird-link.mb100 {
    margin-bottom: calc(100svh - 200px) !important;
  }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  .footer-before {
    top: -90vh;
    margin-top: 100vh;
  }
}
@media screen and (min-width: 1921px) {
  .bird-link img {
    max-width: 210px;
  }
  .hana-sanpo-link img {
    max-width: 236px;
  }
}
/*アニメーション*/
/*ブラー*/
.ready {
  transition: all 1s 0.5s ease-in-out;
  filter: blur(10px);
  opacity: 0;
}

.ready.go {
  filter: blur(0px);
  opacity: 1;
}

.ready.go.delay {
  transition-delay: 0.5s;
}

.blur.anime {
  transition: all 1s ease-in-out;
  filter: blur(10px);
  opacity: 0;
}

.blur.anime.animeActive {
  filter: blur(0px);
  opacity: 1;
}

/*アップ*/
.up.anime,
.up.anime02 {
  transition: all 0.5s ease-in-out;
  opacity: 0;
  transform: translateY(40px);
}

.up.anime.animeActive,
.up.anime02.animeActive {
  opacity: 1;
  transform: translateY(0);
}

/*アップブラーあり*/
.up02.anime,
.up02.anime02 {
  filter: blur(10px);
  transition: all 0.5s ease-in-out;
  opacity: 0;
  transform: translateY(40px);
}

.up02.anime.animeActive,
.up02.anime02.animeActive {
  filter: blur(0);
  opacity: 1;
  transform: translateY(0);
}

/*ポップアップ*/
.popup.anime {
  transform: scale(0);
}

.popup.anime.animeActive {
  animation: popup 0.3s ease forwards;
}

/*ポップアップブラーあり*/
.popup02.anime {
  transform: scale(0);
  filter: blur(10px);
}

.popup02.anime.animeActive {
  animation: popup 0.3s ease forwards;
  filter: blur(0);
}

@keyframes popup {
  0% {
    opacity: 0;
    transform: scale(0.3);
  }
  60% {
    opacity: 1;
    transform: scale(1.2);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
/*左から右*/
.left.anime,
.left.anime02,
.left.ready {
  transition: all 0.5s ease-in-out;
  filter: blur(10px);
  opacity: 0;
  transform: translateX(-100px);
}

.left.anime.animeActive,
.left.anime02.animeActive,
.left.ready.go {
  filter: blur(0);
  opacity: 1;
  transform: translateX(0);
}

/*右から左*/
.right.anime,
.right.anime02,
.right.ready {
  transition: all 0.5s ease-in-out;
  filter: blur(10px);
  opacity: 0;
  transform: scaleX(-1) translateX(-100px);
}

.right.anime.animeActive,
.right.anime02.animeActive,
.right.ready.go {
  filter: blur(0);
  opacity: 1;
  transform: scaleX(-1) translateX(0);
}

/*ポップアップticket05*/
@keyframes popupticket0405 {
  0% {
    opacity: 0;
    transform: rotate(-10deg) scale(0.3);
  }
  60% {
    opacity: 1;
    transform: rotate(-10deg) scale(1.2);
  }
  100% {
    opacity: 1;
    transform: rotate(-10deg) scale(1);
  }
}
.ticket04.anime.animeActive,
.ticket05.anime.animeActive {
  animation: popupticket0405 0.3s ease forwards;
}

/*ポップアップticket03-2*/
@keyframes popupticket03-2 {
  0% {
    opacity: 0;
    transform: scaleY(-1) scale(0.3);
  }
  60% {
    opacity: 1;
    transform: scaleY(-1) scale(1.2);
  }
  100% {
    opacity: 1;
    transform: scaleY(-1) scale(1);
  }
}
.ticket03-2.anime.animeActive {
  animation: popupticket03-2 0.3s ease forwards;
}

@keyframes popupsp {
  0% {
    opacity: 0;
    transform: translateX(-50%) scale(0.3);
  }
  60% {
    opacity: 1;
    transform: translateX(-50%) scale(1.2);
  }
  100% {
    opacity: 1;
    transform: translateX(-50%) scale(1);
  }
}
.spOnly.ticket-banner .popup.anime.animeActive {
  animation: popupsp 0.3s ease forwards;
}

/*遅延*/
.anime.animeActive.delay01 {
  transition-delay: 0.3s;
}

.anime.animeActive.delay02 {
  transition-delay: 0.6s;
}

.anime.animeActive.delay03 {
  transition-delay: 0.9s;
}

.anime.animeActive.delay04 {
  transition-delay: 1.2s;
}

.anime.animeActive.delay05 {
  transition-delay: 1.5s;
}

.anime.animeActive.anidelay01 {
  animation-delay: 0.3s;
}

.anime.animeActive.anidelay02 {
  animation-delay: 0.6s;
}

.anime.animeActive.anidelay03 {
  animation-delay: 0.9s;
}

.anime.animeActive.anidelay04 {
  animation-delay: 1.2s;
}/*# sourceMappingURL=style.css.map */