@charset "UTF-8";

@import url(root.css);

.background {
  opacity: 0;
  transition: opacity 1s ease;
}
.background.show {
  opacity: 1;
}

.splide {
  width: 100%;
  overflow: hidden;
}

.bg-video{
  position: fixed;
  top: 50%;
  left: 50%;
  width: 177.78vh;
  height: 100vh;
  transform: translate(-50%, -50%);
  z-index: -1;
	display: none;
}
@media (min-aspect-ratio: 16/9) {
  .bg-video {
    width: 100vw;
    height: 56.25vw;
  }
}
@media (min-aspect-ratio: 9/16) {
	.bg-video {
		height: 177.78vh;
	}
}
@media (min-width: 768px) {
	.video-pc {
		display: block;
	}
}

@media (max-width: 767px) {
	.video-sp {
		display: block;
	}
}

@media screen and (min-width: 768px) {
  .sp-obj{
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pc-obj{
    display: none !important;
  }
  .font-kerning-01 {
    letter-spacing: -0.05em;
  }
}

/* c-caption */
.c-caption-reference{
  position: relative;
}
.c-caption{
  position: absolute;
  color: #fff;
  font-weight: 600;
  box-sizing: border-box;
  display: flex;
  justify-content: right;
  align-items: flex-end;
  width: auto;
}
.c-caption-f-black{
  color: #251E1C;
}
@media screen and (min-width: 768px) {
.c-caption{
    font-size: calc((12vw / 1366) * 100) ;
    line-height: 1;
    bottom: calc((15vw / 1366) * 100);
    right: calc((17vw / 1366) * 100);
  }
}
@media screen and (max-width: 767px) {
  .c-caption{
    font-size: calc((12vw / 390) * 100);
    line-height: 1;
    bottom: calc((6vw / 390) * 100);
    right: calc((6vw / 390) * 100);
  }
}

/* c-imagephoto */
.c-imagephoto{
  position: absolute;
  color: #fff;
  font-weight: 600;
  box-sizing: border-box;
  display: flex;
  justify-content:flex-end;
  align-items:flex-end;
  width: 100%;
  flex-direction: column;
  width: auto;
}
.c-imagephoto.c-imagephoto-f-black{
  color: #251E1C;
}
@media screen and (min-width: 768px) {
  .c-imagephoto{
    bottom: calc((10vw / 1366) * 100);
    font-size: calc((12vw / 1366) * 100) ;
    line-height: 1;
    right: calc((15vw / 1366) * 100);
  }
  .c-imagephoto-small{
    bottom: calc((10vw / 1366) * 100);
    font-size: calc((8vw / 1366) * 100) ;
    right: calc((10vw / 1366) * 100);
  }
}
@media screen and (max-width: 767px) {
  .c-imagephoto{
    font-size: calc((10vw / 390) * 100);
    line-height: 1;
    right: calc((8vw / 390) * 100);
    bottom: calc((8vw / 390) * 100);
  }
  .c-imagephoto span{
    font-size: calc((6vw / 390) * 100);
  }
}

/* imgscroll */
@media screen and (min-width: 768px) {
  .imgscroll_txt{
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .imgscroll_txt{
    margin: calc((8vw / 390) * 100) auto 0;
    width: calc((242vw / 390) * 100);
  }
}

/* visual */
.visual {
  position: relative;
}
.visual_img img {
  vertical-align: top;
}
.visual_title {
  position: absolute;
  text-align: center;
}
.visual_title_en {
  width: 100%;
}
.visual_title_ja {
  color: #fff;
}
.visual_catch {
  color: #fff;
  font-weight: 700;
  position: absolute;
}
.visual_caption {
  color: #fff;
  position: absolute;
}

@media (min-width: 768px) {
  .visual_title {
    left: calc((829vw / 1366) * 100);
    top: calc((251vw / 1366) * 100);
    width: calc((390vw / 1366) * 100);
  }
  .visual_title_en{
    margin: 0 auto;
    width: calc((154vw / 1366) * 100);
  }
  .visual_title_ja {
    font-size: calc((21vw / 1366) * 100);
    line-height: calc((30vw / 1366) * 100);
    margin-top:  calc((6vw / 1366) * 100);
  }
  .visual_catch {
    font-size: calc((26vw / 1366) * 100);
    left: calc((829vw / 1366) * 100);
    line-height: calc((37vw / 1366) * 100);
    top:  calc((350vw / 1366) * 100);
    width: calc((390vw / 1366) * 100);
  }
  .visual_caption {
    bottom: calc((19vw / 1366) * 100);
    right: calc((16vw / 1366) * 100);
  }
}

@media (max-width: 767px) {
  .visual_title {
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: calc((74vw / 390) * 100);
    width: calc((123vw / 390) * 100);
  }
  .visual_title_ja {
    font-size: calc((16vw / 390) * 100);
    line-height: calc((30vw / 390) * 100);
  }
  .visual_catch {
    font-size: calc((18vw / 390) * 100);
    left: 0;
    line-height: calc((18vw / 390) * 100);
    text-align: center;
    bottom:  calc((32vw / 390) * 100);
    width: 100%;
  }
  .visual_caption {
    font-size: calc((8vw / 390) * 100);
    bottom: calc((8vw / 390) * 100);
    right: calc((8vw / 390) * 100);
  }
}


/* emotion */
.emotion {
  background-color: rgba(255, 255, 255, .75);
  color: #251E1C;
  font-weight: 600;
  position: relative;
  text-align: center;
  z-index: 2;
}

@media (min-width: 768px) {
  .emotion {
    padding: calc((112vw / 1366) * 100) 0;
  }
  .emotion_title{
    font-size: calc((24vw / 1366) * 100);
    line-height: calc((46vw / 1366) * 100);
  }
  .emotion_text {
    margin-top: calc((48vw / 1366) * 100);
  }
}

@media (max-width: 767px) {
  .emotion {
    padding: calc((42vw / 390) * 100) 0;
  }
  .emotion_title{
    font-size: calc((18vw / 390) * 100);
    line-height: calc((28vw / 390) * 100);
  }
  .emotion_text {
    margin-top: calc((24vw / 390) * 100);
  }
}

.movie {
	background-color: #fff;
  font-size: 0;
	position: relative;
}
.movie_video {
	display: none;
  font-size: 0;
	width: 100%;
}
@media (min-width: 768px) {
	.movie-pc {
		display: block;
	}
}
@media (max-width: 767px) {
	.movie-sp {
		display: block;
	}
}

@keyframes slide-scroll {
  from {
    margin-left: 0;
  }
  to {
    margin-left: calc(-1 * (708vw / 390) * 45);
  }
}

/* maintitle-strong */
.maintitle-strong {
  color: #B08057;
}

@media (min-width: 768px) {
  .maintitle-strong {
    font-size: calc((32vw / 1366) * 100);
    line-height: calc((28vw / 1366) * 100);
  }
  .maintitle-strong2 {
    font-size: calc((40vw / 1366) * 100);
    line-height: calc((58vw / 1366) * 100);
  }
}

@media (max-width: 767px) {
  .maintitle-strong {
    font-size: calc((22vw / 390) * 100);
    line-height: calc((28vw / 390) * 100);
  }
  .maintitle-strong2 {
    font-size: calc((25vw / 390) * 100);
    line-height: calc((28vw / 390) * 100);
  }
}

/* movie_wrap */
.movie_wrap {
	padding-top: 56.25%;
	position: relative;
}
.movie_wrap iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.menu .movie_wrap.animated {
	animation: anime_moviecolor 5s linear forwards;
}
.menu .movie_wrap:after {
  content: "";
  display: block;
  position: absolute;
  background-color: rgba(0,0,0,0.30);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
@media (min-width: 768px) {
	.movie-pc {
		display: block;
	}
	.movie-sp {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.movie_wrap {
		padding-top: 178%;
		width: 100%;
	}
	.movie-pc {
		display: none;
	}
  .movie-sp {
		display: block;
	}
}

/* introduction */
.introduction{
  background-color: #F7F4F0;
  text-align: center;
}
.access-tab{
  display: flex;
  justify-content: center;
}
@media (min-width: 768px) {
  .introduction {
    padding: calc((80vw / 1366) * 100) 0 calc((73vw / 1366) * 100);
  }
  .access-tab{
    gap: 0 calc((18vw / 1366) * 100);
  }
}

@media (max-width: 767px) {
  .introduction {
    padding-top: calc((40vw / 390) * 100);
    padding-bottom: calc((60vw / 390) * 100);
  }
  .access-tab{
    gap: 0 calc((10vw / 390) * 100);
  }
}

/* access-tab */
.access-tab-content {
  position: relative;
  overflow: hidden;
}
.access-tab-content__item {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
.access-tab-content__item.is-active {
  opacity: 1;
  visibility: visible;
  position: relative;
  z-index: 1;
}
.access-tab_btn{
	align-items: center;
	background-color: #C4C3BC;
  border: 1px solid #C4C3BC;
	color: #fff !important;
	display: flex;
	justify-content: center;
  cursor: pointer;
}
.access-tab_btn.is-active{
	background-color: #76797B;
}
@media screen and (min-width: 768px) {
  .access-tab{
    margin-bottom: calc((40vw / 1366) * 100) ;
  }
  .access-tab_btn {
    font-size: calc((18vw / 1366) * 100) ;
    line-height: calc((30vw / 1366) * 100);
    transition: .25s;
    height: calc((64vw / 1366) * 100);
    width: calc((240vw / 1366) * 100);
  }
  .access-tab_btn:hover {
    background-color: #000;
    text-decoration: none;
  }
}
@media screen and (max-width: 767px) {
  .access-tab{
    margin-bottom: calc((40vw / 390) * 100) ;
  }
  .access-tab_btn {
    font-size: calc((14vw / 390) * 100);
    line-height: calc((19vw / 390) * 100);
    height: calc((46vw / 390) * 100);
    width: calc((158vw / 390) * 100);
  }
}

.introduction_imgnote {
  text-align: left;
}
@media screen and (min-width: 768px) {
  .introduction_title {
    margin-bottom: calc((55vw / 1366) * 100) ;
  }
  .introduction_blocks{
    display: flex;
    gap: 0 calc((56vw / 1366) * 100) ;
    justify-content: center;
  }
  .introduction_block{
    width: calc((472vw / 1366) * 100) ;
  }
  .introduction_catch {
    font-size: calc((24vw / 1366) * 100) ;
    line-height: calc((36vw / 1366) * 100);
    margin-bottom: calc((32vw / 1366) * 100) ;
  }
  .introduction_lead{
    font-size: calc((18vw / 1366) * 100) ;
    line-height: calc((32vw / 1366) * 100);
  }
  .introduction_img {
    margin-top: calc((16vw / 1366) * 100) ;
  }
  .introduction_imgnote {
    font-size: calc((16vw / 1366) * 100) ;
    line-height: calc((24vw / 1366) * 100);
    margin-top: calc((16vw / 1366) * 100) ;
  }
}
@media screen and (max-width: 767px) {
  .introduction_title {
    margin-bottom: calc((40vw / 390) * 100) ;
  }
  .introduction_blocks{
    display: flex;
    flex-direction: column;
    gap: calc((32vw / 390) * 100) 0;
  }
  .introduction_block{
    margin: 0 auto;
    width: calc((342vw / 390) * 100) ;
  }
  .introduction_catch {
    font-size: calc((18vw / 390) * 100);
    line-height: calc((36vw / 390) * 100);
    margin-bottom: calc((16vw / 390) * 100) ;
  }
  .introduction_lead{
    font-size: calc((16vw / 390) * 100);
    line-height: calc((26vw / 390) * 100);
  }
  .introduction_img {
    margin-top: calc((16vw / 390) * 100) ;
  }
  .introduction_imgnote {
    font-size: calc((14vw / 390) * 100);
    line-height: calc((24vw / 390) * 100);
    margin-top: calc((9vw / 390) * 100) ;
  }
}
/* trainmap */
.trainmap{
  background-color: #F7F4F0;
}
.trainmap_map{
  margin: 0 auto;
}
.trainmap_scrolllead{
  text-align: center;
}
.trainmap_map .c-imagephoto{
}
.trainmap_img{
  position: relative;
  mix-blend-mode:multiply;
}

@media screen and (min-width: 768px) {
  .trainmap_map{
    padding: calc((86vw / 1366) * 100) 0 calc((60vw / 1366) * 100);
  }
  .trainmap_map_scroll{
    margin: 0 auto;
    width: calc((1000vw / 1366) * 100) ;
  }
  .trainmap_scrolllead{
    font-size: calc((24vw / 1366) * 100) ;
    line-height: calc((36vw / 1366) * 100);
  }
  .trainmap_map .c-imagephoto{
    right: inherit;
    align-items: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .trainmap_map{
    padding: calc((30vw / 390) * 100) calc((15vw / 390) * 100) calc((38vw / 390) * 100) 0;
    /* padding: calc((30vw / 390) * 100) calc((38vw / 390) * 100) calc((38vw / 390) * 100); */
  }
  .trainmap_map_scroll {
    margin-left: calc((38vw / 390) * 100);
  }
  .trainmap_map_scroll .simplebar-track{
    margin-right: calc((38vw / 390) * 100);
  }
  .trainmap_map_scroll img{
    /* padding-bottom: calc((40vw / 390) * 100); */
    /* width: calc((800vw / 390) * 100); */
  }
  .trainmap_scrolllead{
    font-size: calc((18vw / 390) * 100);
    line-height: calc((36vw / 390) * 100);
  }
  .trainmap_map .c-imagephoto{
    right: inherit;
    align-items: flex-start;
    bottom: calc((30vw / 390) * 100);
  }
}
.trainmap_times{
  background-color: #000;
}
.trainmap_time{
  position: relative;
}
.trainmap_time_desc{
  position: absolute;
}

@media screen and (min-width: 768px) {
  .trainmap_times{
    margin-top: calc((20vw / 1366) * 100) ;
    display: flex;
    flex-wrap: wrap;
  }
  .trainmap_time{
    width: 50%;
  }
  .trainmap_time_desc{
    bottom: calc((24vw / 1366) * 100) ;
    left: calc((24vw / 1366) * 100) ;
  }
  .trainmap_time:nth-of-type(1) .trainmap_time_desc{
    width: calc((147vw / 1366) * 100) ;
  }
  .trainmap_time:nth-of-type(2) .trainmap_time_desc{
    width: calc((149vw / 1366) * 100) ;
  }
  .trainmap_time:nth-of-type(3) .trainmap_time_desc{
    width: calc((152vw / 1366) * 100) ;
  }
  .trainmap_time:nth-of-type(4) .trainmap_time_desc{
    width: calc((183vw / 1366) * 100) ;
  }
}
@media screen and (max-width: 767px) {
  .trainmap_times{
    margin-top: calc((20vw / 390) * 100);
  }
  .trainmap_time_desc{
    bottom: calc((12vw / 390) * 100) ;
    left: calc((15vw / 390) * 100) ;
  }
  .trainmap_time:nth-of-type(1) .trainmap_time_desc{
    width: calc((84vw / 390) * 100) ;
  }
  .trainmap_time:nth-of-type(2) .trainmap_time_desc{
    width: calc((86vw / 390) * 100) ;
  }
  .trainmap_time:nth-of-type(3) .trainmap_time_desc{
    width: calc((85vw / 390) * 100) ;
  }
  .trainmap_time:nth-of-type(4) .trainmap_time_desc{
    width: calc((105vw / 390) * 100) ;
  }
}
.trainmap_inner{
  background-color: #AF9265;
}
.trainmap-pickup{
  background-color: #EAE4DA;
  margin: 0 auto;
  text-align: center;
  box-sizing: border-box;
}
.trainmap-pickup_title{
  text-decoration: underline;
}
.trainmap-pickup_name{
  list-style: 1.0;
  color: #B08057;
  font-style: italic;
}
@media screen and (min-width: 768px) {
  .trainmap_inner{
    padding: calc((80vw / 1366) * 100) 0;
  }
  .trainmap-pickup{
    padding: calc((70vw / 1366) * 100) calc((100vw / 1366) * 100) calc((80vw / 1366) * 100);
    width: calc((1000vw / 1366) * 100);
  }
  .trainmap-pickup_name{
    font-size: calc((32vw / 1366) * 100);
  }
  .trainmap-pickup_title{
    margin-top: calc((17vw / 1366) * 100);
    font-size: calc((32vw / 1366) * 100);
    line-height: calc((42vw / 1366) * 100);
  }
  .trainmap-pickup_catch{
    font-size: calc((26vw / 1366) * 100);
    line-height: calc((42vw / 1366) * 100);
    margin-top: calc((17vw / 1366) * 100);
  }
  .trainmap-pickup_scroll{
    margin: calc((20vw / 1366) * 100) auto 0;
    width: calc((800vw / 1366) * 100);
  }
  .trainmap-pickup_desc{
    margin-top: calc((48vw / 1366) * 100);
    display: flex;
    justify-content: center;
    gap: 0 calc((24vw / 1366) * 100);
  }
  .trainmap-pickup_desc_img{
    width: calc((358vw / 1366) * 100);
  }
  .trainmap-pickup_desc_lead{
    flex: 1;
    text-align: left;
    max-width: calc((418vw / 1366) * 100);
  }
  .trainmap-pickup_desc_lead_catch{
    font-size: calc((20vw / 1366) * 100) ;
    line-height: calc((26vw / 1366) * 100);
  }
  .trainmap-pickup_desc_lead_txt{
    margin-top: calc((29vw / 1366) * 100) ;
    font-size: calc((16vw / 1366) * 100) ;
    line-height: calc((26vw / 1366) * 100);
  }
}
@media screen and (max-width: 767px) {
  .trainmap_inner{
    padding: calc((40vw / 390) * 100) 0;
  }
  .trainmap-pickup{
    padding: calc((24vw / 390) * 100) 0 calc((52vw / 390) * 100);
    width: calc((342vw / 390) * 100);
  }
  .trainmap-pickup_name{
    font-size: calc((18vw / 390) * 100);
  }
  .trainmap-pickup_title{
    margin-top: calc((4vw / 390) * 100);
    font-size: calc((20vw / 390) * 100);
    line-height: calc((25vw / 390) * 100);
  }
  .trainmap-pickup_catch{
    font-size: calc((14vw / 390) * 100);
    line-height: calc((25vw / 390) * 100);
    margin-top: calc((17vw / 390) * 100);
  }
  .trainmap-pickup_scroll{
    overflow: hidden;
    margin: calc((30vw / 390) * 100) auto 0;
    /* height: calc((288vw / 390) * 100); */
    width: calc((288vw / 390) * 100);
    position: relative;
    padding-top: calc((15vw / 390) * 100);
  }
  .trainmap-pickup_desc{
    margin-top: calc((48vw / 390) * 100);
  }
  .trainmap-pickup_desc_img{
    margin: 0 auto;
    width: calc((288vw / 390) * 100);
  }
  .trainmap-pickup_desc_lead{
    margin-top: calc((16vw / 390) * 100);
  }
  .trainmap-pickup_desc_lead_catch{
    font-size: calc((16vw / 390) * 100) ;
    line-height: calc((26vw / 390) * 100);
  }
  .trainmap-pickup_desc_lead_txt{
    text-align: left;
    margin: calc((16vw / 390) * 100) auto 0;
    font-size: calc((14vw / 390) * 100) ;
    line-height: calc((26vw / 390) * 100);
    width: calc((288vw / 390) * 100);
  }
}

.trainmap-simulation{
  background-color: #D7C9B2;
  box-sizing: border-box;
  margin: 0 auto;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .trainmap-simulation{
    margin-top: calc((40vw / 1366) * 100);
    padding: calc((70vw / 1366) * 100) calc((100vw / 1366) * 100) calc((80vw / 1366) * 100);
    width: calc((1000vw / 1366) * 100);
  }
  .trainmap-simulation_title{
    font-size: calc((32vw / 1366) * 100) ;
    line-height: calc((42vw / 1366) * 100);
  }
  .trainmap-simulation_scroll{
    margin-top: calc((40vw / 1366) * 100);
  }
}
@media screen and (max-width: 767px) {
  .trainmap-simulation{
    margin: calc((32vw / 390) * 100) auto 0;
    padding: calc((24vw / 390) * 100) 0 calc((52vw / 390) * 100);
    width: calc((342vw / 390) * 100);
  }
  .trainmap-simulation_title{
    font-size: calc((20vw / 390) * 100);
    line-height: calc((25vw / 390) * 100);
  }
  .trainmap-simulation_scroll{
    margin: calc((32vw / 390) * 100) 0 0 calc((25vw / 390) * 100) ;
  }
  .trainmap-simulation_scroll .simplebar-track{
    margin-right: calc((25vw / 390) * 100);
  }
  .trainmap-simulation_scroll img{
    padding-bottom: calc((32vw / 390) * 100);
    padding-right: calc((20vw / 390) * 100);
    width: calc((800vw / 390) * 100);
    box-sizing: border-box;
  }
}

/* environment */
.environment_wrap{
  background-color: rgba(255, 255, 255, .75);
}
.environment_pickup{
  background-color: rgba(175, 146, 101, 0.85);
  color: #fff;
}
.environment_pickup .environment_balloon {
  background-color: rgba(255, 255, 255, .75);
  color: #a3773d;
}
.environment_title,
.environment_lead{
  text-align: center;
}
.environment_map{
  position: relative;
}
@media screen and (min-width: 768px) {
  .environment_wrap{
    padding: calc((117vw / 1366) * 100) 0 calc((100vw / 1366) * 100);
  }
  .environment_title{
    font-size: calc((24vw / 1366) * 100) ;
    line-height: calc((35vw / 1366) * 100);
  }
  .environment_title + .environment_lead{
    margin-top: calc((38vw / 1366) * 100);
  }
  .environment_pickup {
    padding-top: calc((117vw / 1366) * 100);
    padding-bottom: calc((117vw / 1366) * 100);
  }
  .environment_pickup .environment_copy{
    font-size: calc((18vw / 1366) * 100) ;
    line-height: calc((36vw / 1366) * 100);
    text-align: center;
  }
  .environment_map{
    margin-top: calc((38vw / 1366) * 100);
  }
  .environment_map_scroll{
    margin: 0 auto;
    width: calc((800vw / 1366) * 100);
  }
  .environment_mapnote{
    display: none;
  }
  .environment_pickup{
  }
}
@media screen and (max-width: 767px) {
  .environment_wrap{
    padding: calc((56vw / 390) * 100) 0 ;
  }
  .environment_title {
    font-size: calc((18vw / 390) * 100);
    line-height: calc((28vw / 390) * 100);
  }
  .environment_lead{
    margin-top: calc((24vw / 390) * 100);
  }
  .environment_pickup{
    padding: calc((56vw / 390) * 100) 0 ;
  }
  .environment_pickup .environment_copy{
    font-size: calc((18vw / 390) * 100);
    line-height: calc((28vw / 390) * 100);
    text-align: center;
  }
  .environment_map{
    margin-left: calc((32vw / 390) * 100);
    margin-top: calc((40vw / 390) * 100);
  }
  .environment_map_scroll {
    overflow-x: scroll;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }
  .environment_map_scroll img{
    padding-bottom: calc((8vw / 390) * 100);
    width: calc((800vw / 390) * 100);
  }
  .environment_mapnote{
    font-size: calc((12vw / 390) * 100);
    line-height: calc((36vw / 390) * 100);
    margin-right: calc((9vw / 390) * 100);
    text-align: right;
  }
  .environment_map .c-imagephoto {
    bottom: calc((35vw / 390) * 100);
  }
}

.environment_mainimg ,
.environment_img {
  position: relative;
  z-index: 4;
}
.environment_balloon{
  border-radius: 50%;
  background-color: rgba(175, 146, 101, 0.85);
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  z-index: 5;
  text-align: center;
}
.environment_name,
.environment_desc .environment_name-note{
  color: #B08057;
}
.environment_pickup .environment_name,
.environment_pickup .environment_desc .environment_name-note{
  color:#fff;
}
.environment_name span{
  letter-spacing: -0.05em;
}
.environment_item .environment_lead{
  text-align: left;
}
.environment_balloon{
  white-space: nowrap;
  letter-spacing: -0.05em;
}
@media screen and (min-width: 768px) {
  .environment_list_scroll{
    margin-top: calc((10vw / 1366) * 100);
  }
  .environment_list_scroll .environment_list{
    margin-top: calc((70vw / 1366) * 100);
    padding: 0 calc((43vw / 1366) * 100) calc((43vw / 1366) * 100);
    display: flex;
    flex-wrap: nowrap;
    gap: 0 calc((40vw / 1366) * 100) ;
  }
  .environment_list_scroll .environment_item{
    padding-left: calc((43vw / 1366) * 100) ;
    min-width: calc((430vw / 1366) * 100);
    width: calc((430vw / 1366) * 100);
  }
  .environment_list_scroll .environment_item:last-child{
    padding-right: calc((43vw / 1366) * 100) ;
  }
  .environment_list_scroll .environment_item-noballoon{
    padding-left: 0;
  }
  .environment_list_scroll .environment_desc{
    margin-top: calc((16vw / 1366) * 100);
    display: flex;
    flex-direction: column;
  }
  .environment_list_scroll .environment_desc-half{
    width: calc((298vw / 1366) * 100);
    margin-left: auto;
  }
  .environment_list_scroll .environment_balloon{
    height: calc((120vw / 1366) * 100);
    width: calc((120vw / 1366) * 100);
    font-size: calc((18vw / 1366) * 100);
    line-height: calc((19vw / 1366) * 100);
  }
  .environment_list_scroll .environment_balloon-left{
    left: calc((-70vw / 1366) * 100);
    right: inherit;
    top: calc((-70vw / 1366) * 100);
  }
  .environment_list_scroll .environment_balloon-right{
    right: calc((-32vw / 1366) * 100);
    top: calc((-32vw / 1366) * 100);
  }
  .environment_list_scroll .environment_img{
    margin-bottom: calc((10vw / 1366) * 100);
  }
  .environment_list_scroll .environment_desc .environment_name{
    font-size: calc((18vw / 1366) * 100);
    line-height: calc((26vw / 1366) * 100);
  }
  .environment_list_scroll .environment_desc .environment_name-note{
    font-size: calc((12vw / 1366) * 100);
    line-height: calc((17vw / 1366) * 100) ;
  }
  .environment_list_scroll .environment_desc .environment_lead{
    margin-top: calc((10vw / 1366) * 100);
    font-size: calc((16vw / 1366) * 100);
    line-height: calc((26vw / 1366) * 100);
  }
  .environment_list_scroll .environment_item-center{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  /* environment_item-02 */
  .environment_list_scroll .environment_item-03{
    min-width: calc((298vw / 1366) * 100);
    width: calc((298vw / 1366) * 100);
  }
  /* environment_item-05 */
  .environment_list_scroll .environment_item-05 .environment_desc-half{
    margin-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .environment_list_scroll {
    margin: 0 auto ;
  }
  .environment_list_scroll .environment_list{
    margin-top: calc((70vw / 390) * 100);
    padding: 0 calc((70vw / 390) * 100) calc((43vw / 390) * 100);
    display: flex;
    flex-wrap: nowrap;
    gap: 0 calc((40vw / 390) * 100) ;
  }
  .environment_list_scroll .environment_item{
    padding-left: calc((25vw / 390) * 100) ;
    min-width: calc((375vw / 390) * 100);
    width: calc((375vw / 390) * 100);
  }
  .environment_list_scroll .environment_item:last-child{
    padding-right: calc((25vw / 390) * 100) ;
  }
  .environment_list_scroll .environment_item-noballoon{
    padding-left: 0;
  }
  .environment_list_scroll .environment_desc{
    margin-top: calc((12vw / 390) * 100);
    display: flex;
    flex-direction: column;
  }
  .environment_list_scroll .environment_desc-half{
    width: calc((264vw / 390) * 100);
    margin-left: auto;
  }
  .environment_list_scroll .environment_balloon{
    height: calc((114vw / 390) * 100);
    width: calc((114vw / 390) * 100);
    font-size: calc((16vw / 390) * 100);
    line-height: calc((19vw / 390) * 100);
  }
  .environment_list_scroll .environment_balloon-left{
    left: calc((-50vw / 390) * 100);
    right: inherit;
    top: calc((-50vw / 390) * 100);
  }
  .environment_list_scroll .environment_balloon-right{
    right: calc((-50vw / 390) * 100);
    top: calc((-50vw / 390) * 100);
  }
  .environment_list_scroll .environment_img{
    margin-bottom: calc((10vw / 390) * 100);
  }
  .environment_list_scroll .environment_desc .environment_name{
    font-size: calc((15vw / 390) * 100);
    line-height: calc((21vw / 390) * 100);
  }
  .environment_list_scroll .environment_desc .environment_name-note{
    font-size: calc((9vw / 390) * 100);
    line-height: calc((13vw / 390) * 100) ;
  }
  .environment_list_scroll .environment_desc .environment_lead{
    margin-top: calc((6vw / 390) * 100);
    font-size: calc((13vw / 390) * 100);
    line-height: calc((22vw / 390) * 100);
  }
  .environment_list_scroll .environment_item-center{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  /* environment_item-02 */
  .environment_list_scroll .environment_item-03{
    min-width: calc((264vw / 390) * 100);
    width: calc((264vw / 390) * 100);
  }
  /* environment_item-05 */
  .environment_list_scroll .environment_item-05 .environment_desc-half{
    margin-left: 0;
  }
}

@media screen and (min-width: 768px) {
  .environment_list_block .environment_list{
    margin-top: calc((100vw / 1366) * 100);
    display: flex;
    flex-wrap: wrap;
    gap: calc((120vw / 1366) * 100) 0;
  }
  .environment_list_block .environment_item{
    display: flex;
    gap: 0 calc((60vw / 1366) * 100);
  }
  .environment_list_block .environment_item-noballoon{
    margin-top: calc((-31vw / 1366) * 100);
  }
  .environment_list_block .environment_item:nth-child(odd){
    margin-left: auto;
    flex-direction: row-reverse;
  }
  .environment_list_block .environment_mainimg{
    width: calc((683vw / 1366) * 100);
  }
  .environment_list_block .environment_desc{
    display: flex;
    flex-direction: column;
    width: calc((397vw / 1366) * 100);
  }
  .environment_list_block .environment_desc.environment_noimg {
    width: calc((466vw / 1366) * 100);
  }
  .environment_list_block .environment_noimg{
    margin-top: auto;
  }
  .environment_list_block .environment_img {
    width: calc((397vw / 1366) * 100);
  }
  .environment_list_block .environment_balloon{
    height: calc((120vw / 1366) * 100);
    width: calc((120vw / 1366) * 100);
    font-size: calc((18vw / 1366) * 100);
    line-height: calc((19vw / 1366) * 100);
  }
  .environment_list_block .environment_balloon-left{
    left: calc((-60vw / 1366) * 100);
    right: inherit;
    top: calc((-60vw / 1366) * 100);
  }
  .environment_list_block .environment_balloon-right{
    right: calc((-60vw / 1366) * 100);
    top: calc((-60vw / 1366) * 100);
  }
  .environment_list_block .environment_desc .environment_name{
    margin-top: calc((9vw / 1366) * 100);
    font-size: calc((16vw / 1366) * 100);
    line-height: calc((24vw / 1366) * 100);
  }
  .environment_list_block .environment_desc .environment_name-note{
    font-size: calc((12vw / 1366) * 100);
    line-height: calc((17vw / 1366) * 100);
  }
  .environment_list_block .environment_desc .environment_lead{
    margin-top: calc((5vw / 1366) * 100);
    font-size: calc((14vw / 1366) * 100);
    line-height: calc((23vw / 1366) * 100);
  }
}
@media screen and (max-width: 767px) {
  .environment_list_block .environment_list{
    margin-top: calc((60vw / 390) * 100);
    display: flex;
    gap: calc((80vw / 390) * 100)  0;
    flex-wrap: wrap;
  }
  .environment_list_block .environment_item{
    width: calc((339vw / 390) * 100);
  }
  .environment_list_block .environment_item-noballoon{
    margin-top: calc((-19vw / 390) * 100);
  }
  .environment_list_block .environment_item:nth-child(odd){
    margin-left: auto;
  }
  .environment_list_block .environment_img {
    margin-top: calc((16vw / 390) * 100);
    width: calc((288vw / 390) * 100);
  }
  .environment_list_block .environment_balloon{
    height: calc((114vw / 390) * 100);
    width: calc((114vw / 390) * 100);
    font-size: calc((16vw / 390) * 100);
    line-height: calc((19vw / 390) * 100);
  }
  .environment_list_block .environment_balloon-left{
    left: calc((-35vw / 390) * 100);
    right: inherit;
    top: calc((-45vw / 390) * 100);
  }
  .environment_list_block .environment_balloon-right{
    right: calc((-35vw / 390) * 100);
    top: calc((-45vw / 390) * 100);
  }
  .environment_list_block .environment_desc{
    margin-left: auto;
    width: calc((288vw / 390) * 100);
  }
  .environment_list_block .environment_item:nth-child(odd) .environment_desc{
    margin-left: 0;
    margin-right: auto;
  }
  .environment_list_block .environment_desc .environment_name{
    margin-top: calc((8vw / 390) * 100);
    font-size: calc((16vw / 390) * 100);
    line-height: calc((24vw / 390) * 100);
  }
  .environment_list_block .environment_desc .environment_name-note{
    font-size: calc((11vw / 390) * 100);
    line-height: calc((16vw / 390) * 100);
  }
  .environment_list_block .environment_desc .environment_lead{
    margin-top: calc((4vw / 390) * 100);
    font-size: calc((14vw / 390) * 100);
    line-height: calc((24vw / 390) * 100);
  }
}

.environment-outdoor{
  position: relative;
}
.environment-outdoor_list{
  display: flex;
  position: relative;
}
.environment-outdoor_title{
  text-align: center;
}
.environment-outdoor_item{
  flex: 0 0 auto;
  position: relative;
}
.environment-outdoor-wrap{
  background-color: rgba(255, 255, 255, .75);
}
@media screen and (min-width: 768px) {
  .environment-outdoor-wrap{
    padding: calc((73vw / 1366) * 100) 0 0;
  }
  .environment-outdoor{
    padding-bottom:  calc((30vw / 1366) * 100);
  }
  .environment-outdoor_title{
    font-size: calc((24vw / 1366) * 100);
    line-height: calc((35vw / 1366) * 100);
  }
  .environment-outdoor_list{
    margin-top: calc((84vw / 1366) * 100);
    padding-bottom: calc((30vw / 1366) * 100);
  }
  .environment-outdoor_desc{
    width: calc((257vw / 1366) * 100);
  }
  .environment-outdoor_name{
    margin-top: calc((12vw / 1366) * 100);
    font-size: calc((18vw / 1366) * 100);
    line-height: calc((26vw / 1366) * 100);
  }
  .environment-outdoor_lead{
    margin-top: calc((8vw / 1366) * 100);
    font-size: calc((14vw / 1366) * 100);
    line-height: calc((24vw / 1366) * 100);
  }
  .environment-outdoor_note{
    margin-top: calc((16vw / 1366) * 100);
    font-size: calc((12vw / 1366) * 100);
    line-height: calc((20vw / 1366) * 100);
  }

  .environment-outdoor_item-01 {
    width: calc((294vw / 1366) * 100);
    max-width: calc((294vw / 1366) * 100);
    z-index: 1;
  }
  .environment-outdoor_item-02 {
    margin-top: calc((176vw / 1366) * 100);
    margin-left: calc((-25vw / 1366) * 100);
    width: calc((273vw / 1366) * 100);
    max-width: calc((273vw / 1366) * 100);
    z-index: 2;
  }
  .environment-outdoor_item-03 {
    margin-left: calc((-50vw / 1366) * 100);
    width: calc((436vw / 1366) * 100);
    max-width: calc((436vw / 1366) * 100);
    z-index: 1;
  }
  .environment-outdoor_item-03 .environment-outdoor_desc{
    margin-left: calc((126vw / 1366) * 100);
  }
  .environment-outdoor_item-04 {
    margin-top: calc((176vw / 1366) * 100);
    margin-left: calc((59vw / 1366) * 100);
    width: calc((352vw / 1366) * 100);
    max-width: calc((352vw / 1366) * 100);
    z-index: 1;
  }
  .environment-outdoor_item-05 {
    margin-left: calc((-80vw / 1366) * 100);
    width: calc((301vw / 1366) * 100);
    max-width: calc((301vw / 1366) * 100);
    z-index: 2;
  }
  .environment-outdoor_item-05 .environment-outdoor_desc{
    margin-left: calc((98vw / 1366) * 100);
    width: calc((197vw / 1366) * 100);
    max-width: calc((197vw / 1366) * 100);
  }
  .environment-outdoor_item-06 {
    margin-top: calc((176vw / 1366) * 100);
    margin-left: calc((19vw / 1366) * 100);
    margin-right: calc((19vw / 1366) * 100);
    width: calc((393vw / 1366) * 100);
    max-width: calc((393vw / 1366) * 100);
    z-index: 1;
  }
}
@media screen and (max-width: 767px) {
  .environment-outdoor-wrap{
    padding: calc((73vw / 390) * 100) 0 0;
  }
  .environment-outdoor-wrap .c-imagephoto{
    bottom: calc((20vw / 390) * 100);
  }
  .environment-outdoor{
    padding-bottom: calc((30vw / 390) * 100);
    /* margin-left: calc((51vw / 390) * 100); */
  }
  .environment-outdoor .imgscroll_txt{
    margin-top: 0;
  }
  .environment-outdoor_title{
    font-size: calc((18vw / 390) * 100);
    line-height: calc((28vw / 390) * 100);
  }
  .environment-outdoor_list{
    margin-top: calc((40vw / 390) * 100);
    padding-bottom: calc((20vw / 390) * 100);
  }
  .environment-outdoor_desc{
    width: calc((140vw / 390) * 100);
  }
  .environment-outdoor_name{
    margin-top: calc((8vw / 390) * 100);
    font-size: calc((12vw / 390) * 100);
    line-height: calc((26vw / 390) * 100);
  }
  .environment-outdoor_lead{
    margin-top: calc((4vw / 390) * 100);
    font-size: calc((10vw / 390) * 100);
    line-height: calc((15vw / 390) * 100);
  }
  .environment-outdoor_note{
    margin-top: calc((8vw / 390) * 100);
    font-size: calc((8vw / 390) * 100);
    line-height: calc((15vw / 390) * 100);
  }

  .environment-outdoor_item-01 {
    width: calc((160vw / 390) * 100  );
    z-index: 1;
  }
  .environment-outdoor_item-02 {
    margin-top: calc((96vw / 390) * 100);
    margin-left: calc((-14vw / 390) * 100);
    width: calc((149vw / 390) * 100);
    max-width: calc((149vw / 390) * 100);
    z-index: 2;
  }
  .environment-outdoor_item-03 {
    margin-left: calc((-28vw / 390) * 100);
    width: calc((238vw / 390) * 100);
    max-width: calc((238vw / 390) * 100);
    z-index: 1;
  }
  .environment-outdoor_item-03 .environment-outdoor_desc{
    margin-left: auto;
    width: calc((198vw / 390) * 100);
  }
  .environment-outdoor_item-04 {
    margin-top: calc((96vw / 390) * 100);
    margin-left: calc((15vw / 390) * 100);
    width: calc((191vw / 390) * 100);
    max-width: calc((191vw / 390) * 100);
    z-index: 1;
  }
  .environment-outdoor_item-04 .environment-outdoor_desc{
    width: auto;
  }
  .environment-outdoor_item-05 {
    margin-left: calc((-43vw / 390) * 100);
    width: calc((163vw / 390) * 100);
    max-width: calc((163vw / 390) * 100);
    z-index: 2;
  }
  .environment-outdoor_item-05 .environment-outdoor_desc{
    margin-left: auto;
    width: calc((107vw / 390) * 100);
    max-width: calc((107vw / 390) * 100);
  }
  .environment-outdoor_item-06 {
    margin-top: calc((96vw / 390) * 100);
    margin-left: calc((10vw / 390) * 100);
    margin-right: calc((17vw / 390) * 100);
    width: calc((214vw / 390) * 100);
    max-width: calc((214vw / 390) * 100);
    z-index: 1;
  }
  .environment-outdoor_item-06 .environment-outdoor_desc{
    width: auto;
  }
}

.environment-trainmap-wrap{
  background-color: #fff;
}
.environment-trainmap{
  background-color: #fff;
  text-align: center;
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .environment-trainmap-wrap{
    padding-top: calc((122vw / 1366) * 100);
  }
  .environment-trainmap{
    margin: 0 auto;
    width: calc((1000vw / 1366) * 100) ;
  }
  .environment-trainmap_map{
    margin: 0 auto ;
    width:calc((793vw / 1366) * 100) ;
  }
  .environment-trainmap_mapnote{
    margin-top: calc((30vw / 1366) * 100) ;
    font-size: calc((12vw / 1366) * 100) ;
    line-height: calc((17vw / 1366) * 100) ;
    text-align: right;
  }
  .environment-trainmap_note{
    margin: calc((14vw / 1366) * 100) auto 0;
    width: calc((1000vw / 1366) * 100) ;
    font-size: calc((12vw / 1366) * 100) ;
    line-height: calc((17vw / 1366) * 100) ;
  }
}
@media screen and (max-width: 767px) {
  .environment-trainmap-wrap{
    padding: calc((40vw / 390) * 100) calc((5vw / 390) * 100) 0;
  }
  .environment-trainmap{
    margin: 0 auto;
    width: calc((358vw / 390) * 100) ;
  }
  .environment-trainmap_mapnote{
    margin-top: calc((2vw / 390) * 100) ;
    font-size: calc((8vw / 390) * 100) ;
    line-height: calc((11vw / 390) * 100) ;
    text-align: right;
  }
  .environment-trainmap_note{
    margin: calc((12vw / 390) * 100) auto 0;
    width: calc((358vw / 390) * 100) ;
    font-size: calc((9vw / 390) * 100) ;
    line-height: calc((13vw / 390) * 100) ;
  }
}

/* c-entrybtn-pageend */
.c-entrybtn-pageend{
  background-color: #fff;
}
.c-entrybtn-pageend .c-entrybtn{
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .c-entrybtn-pageend{
    padding: calc((120vw / 1366) * 100) 0;
  }
}
@media screen and (max-width: 767px) {
  .c-entrybtn-pageend{
    padding: calc((40vw / 390) * 100) 0;
  }
  .c-entrybtn-pageend .c-entrybtn{
    width: calc((300vw / 390) * 100);
  }
}

/* font style */
@media screen and (min-width: 768px) {
  .font-title{
      font-size: calc((32vw / 1366) * 100) ;
      line-height: calc((46vw / 1366) * 100);
  }
  .font-catch{
      font-size: calc((24vw / 1366) * 100) ;
      line-height: calc((36vw / 1366) * 100);
  }
  .font-lead{
      font-size: calc((18vw / 1366) * 100) ;
      line-height: calc((36vw / 1366) * 100);
  }
}
@media screen and (max-width: 767px) {
  .font-title{
    font-size: calc((18vw / 390) * 100);
    line-height: calc((28vw / 390) * 100);
  }
  .font-catch{
      font-size: calc((14vw / 390) * 100) ;
      line-height: calc((28vw / 390) * 100);
  }
  .font-lead{
      font-size: calc((14vw / 390) * 100);
      line-height: calc((28vw / 390) * 100);
  }
}
.image2{
  position: relative;
}

.drag-scroll {
  cursor: grab;
  user-select: none;
}
.drag-scroll img {
  -webkit-user-drag: none;
  user-drag: none;
}


.modal {
	display: none;
	/* display: flex; */
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1000;
	align-items: center;
	justify-content: center;
}

@media screen and (min-width: 768px) {
  .modal {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {}

.modal .modal_overlay {
	background-color: rgba(0,0,0,0.9);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 50;
}

@media screen and (min-width: 768px) {}
@media screen and (max-width: 767px) {}

.modal .modal_box {
	/* width: calc(var(--vw)*600); */
	width: 90%;
	max-width: 900px;
	position: relative;
	z-index: 100;
}

@media screen and (min-width: 768px) {}
@media screen and (max-width: 767px) {}

@media screen and (min-width: 768px) {
	.modal_box .pc {
		display: block;
	}
	.modal_box .sp {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.modal_box .sp {
		display: block;
	}
	.modal_box .pc {
		display: none;
	}
}

.modal .modal_box_img {
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .modal .modal_box_img {
    padding: calc((20vw / 1366) * 100);
  }
}
@media screen and (max-width: 767px) {
  .modal .modal_box_img {
    padding: calc((20vw / 390) * 100);
  }
}


.modal .modal_close {
	background-color: #fff;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 150;
	cursor: pointer;
	transition: 0.3s;
}

.modal .modal_close:hover {
	background-color: #ddd;
}

.modal .modal_close span {
	display: block;
	width: 60%;
	height: 1px;
	position: absolute;
	background-color: #000;
	top: 50%;
	left: 0;
	right: 0;
	margin: 0 auto;
}

.modal .modal_close span:nth-child(1) {
	transform: rotate(45deg);
}

.modal .modal_close span:nth-child(2) {
	transform: rotate(-45deg);
}

@media screen and (min-width: 768px) {
	.modal .modal_close {
		width: calc(var(--vw)*64);
		height: calc(var(--vw)*64);
		right: calc(var(--vw)*-60);
		top: calc(var(--vw)*-60);
		border-radius: calc(var(--vw)*32);
	}
}
@media screen and (max-width: 767px) {
	.modal .modal_close {
		width: calc(var(--vw)*50);
		height: calc(var(--vw)*50);
		right: calc(var(--vw)*0);
		top: calc(var(--vw)*-60);
		border-radius: calc(var(--vw)*25);
	}
}

.splide__track:hover {
  pointer-events: none;
}