@charset "utf-8";

.access-body{
	padding:100px 0;
}
@media (max-width: 768px) {
.access-body{
	padding:0px 0;
	}
}

.area-map{
	text-align:center;
	margin:60px auto 0;
	max-width:800px;
	position:relative;
}

@media (max-width: 768px) {
.ac-map_only img{
	max-width:100%;
	}
}

.access-body .access-title{
	font-size:2.2rem;
	font-weight:300;
	display:flex;
	justify-content:center;
	align-items:center;
	margin:20px 0 10px;
}
@media (max-width: 768px) {
.access-body .access-title{
	font-size:1.6rem;
	display:flex;
	justify-content:center;
	align-items:center;
	font-style:italic;
	}
}
.access-body .access-title-copy{
	font-size:1rem;
	letter-spacing:6px;
	margin:0 0 30px;
	text-align:center;
	line-height:1.5;
}
@media (max-width: 768px) {
.access-body .access-title-copy{
	margin:0 0 40px;
	letter-spacing:1px;
	}
}

.access-body .access-title-copy dt{
	font-size:1.6rem;
}
@media (max-width: 768px) {
.access-body .access-title-copy dt{
	font-size:1.05rem;

	}
}

.access-body .access-title-copy dd{
	font-size:1.25rem;
}
@media (max-width: 768px) {
.access-body .access-title-copy dd{
	font-size:.9rem;
	margin:20px 0 0px;
	}
}
/*-----------------------------------------

アクセス（電車）

-------------------------------------------*/
.train-body{
	margin:10px 0 ;
}
.train-body .access-name{
	font-size:1.2rem;
	letter-spacing:var(--spacing);
	margin:0px 0 10px;
	padding:40px 0 0;
	font-weight:300;
}
@media (max-width: 768px) {
.train-body .access-name{
	font-size:.95rem;
	}
}

.train-contents{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;

}
@media (max-width: 768px) {
.train-contents{
	grid-template-columns: 1fr;
	}
}

.train-contents div{
	padding:7rem 0rem;
	position:relative;
	background:#fff;
}
.train-contents div:after{
	content:"";
	background:rgba(0,0,0,.5);
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	z-index:0;
}


.train-contents .item001{background:	url(../images/train-area/bg-shinosaka.png) no-repeat 0 0%;background-size:cover ;}
.train-contents .item002{background:	url(../images/train-area/bg-osaka.png) no-repeat ;background-size:cover ;}
.train-contents .item003{background:	url(../images/train-area/bg-yodoyabashi.png) no-repeat 0 0%;background-size:cover ;}
.train-contents .item004{background:	url(../images/train-area/bg-air.png) no-repeat 0 0%;background-size:cover ;}
.train-contents .item005{background:	url(../images/train-area/bg-port.png) no-repeat 0 0%;background-size:cover ;}
.train-contents .item006{background:	url(../images/train-area/bg-umeda.png) no-repeat 0 0%;background-size:cover ;}
.train-contents .item007{background:	url(../images/train-area/bg-jyuso.png) no-repeat 0 0%;background-size:cover ;}

@media (max-width: 768px) {
.train-contents .item001{background:	url(../images/train-area/bg-shinosaka.png) no-repeat 0 60%;background-size:100% ;}
.train-contents .item002{background:	url(../images/train-area/bg-osaka.png) no-repeat 0 70%;background-size:100%  ;}
.train-contents .item003{background:	url(../images/train-area/bg-yodoyabashi.png) no-repeat 0 100%;background-size:100% ;}
.train-contents .item004{background:	url(../images/train-area/bg-air.png) no-repeat 0 40%;background-size:100% ;}
.train-contents .item005{background:	url(../images/train-area/bg-port.png) no-repeat 0 80%;background-size:100% ;}
.train-contents .item006{background:	url(../images/train-area/bg-umeda.png) no-repeat 0 40%;background-size:100% ;}
.train-contents .item007{background:	url(../images/train-area/bg-jyuso.png) no-repeat 0 60%;background-size:100% ;}
}


@media (max-width: 768px) {
.train-contents div{
	padding:2rem 0rem;
	}
}

.train-contents div .express{
	position:absolute;
	right:5px;
	bottom:5px;
	font-size:.8rem;
	color:#fff;
	letter-spacing:var(--spacing);
	z-index:1;
}

.train-contents dl{
	text-align:center;
	font-size:1rem;
	color:#fff;
	letter-spacing:var(--spacing);
	position:relative;
	z-index:1;
}


.train-contents dl dt{
	font-size:1.4rem;
}
.train-contents dl dd{
	font-size:3rem;
	line-height:1;
}
.train-contents dl dd span{
	font-size:1.1rem;
	display:block;
}

.allimage{
	margin:5px 0 0 ;
	font-size:.8rem
}
@media (max-width: 768px) {
.allimage{
	text-align:right;
	}
.train-contents dl dt{
	font-size:1.2rem;
	}
}

/*-----------------------------------------

アクセス（飛行機・新幹線）

-------------------------------------------*/
.shinkansen-plane-body{
	padding:50px 0;
}
@media (max-width: 768px) {
.shinkansen-plane-body{
	padding:50px 0 0;
	}
}

.extrain-plane-img{
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin:0 0 30px;
}
.extrain-plane-img div{
	position:relative;
}
.extrain-time-body{
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  margin:-20px 0 30px;
  text-align:center;
}
@media (max-width: 768px) {
.extrain-time-body{
	grid-template-columns: 1fr;
	gap:1rem 3rem;
	text-align:left;
  margin:0px 0 30px;
	}
}
.extrain-time-body div{
	position:relative;
}


.extrain-time-body dl{
	margin:0px 0 60px;
	font-size:1rem;
	letter-spacing:var(--spacing);
}
@media (max-width: 768px) {
.extrain-time-body dl{
	text-align:center;
	max-width:100%;
	margin: 0px auto 40px;
	}
}
.extrain-time-body dt{
	font-size:1.05rem;
/*	border-bottom:1px dotted #333;*/
	margin:0 0 5px;
}
@media (max-width: 768px) {
.extrain-time-body dt{
	font-size:.9rem;
	}
}

.extrain-time-body dt span{
	padding:0 0px 0 0;
}
@media (max-width: 768px) {
.extrain-time-body dt span{
	padding:0 ;
	}
}
.extrain-time-body dd{
	font-size:1.2rem;
	line-height:1.3;
}
@media (max-width: 768px) {
.extrain-time-body dd{
	font-size:1.05rem;

	}
}
.extrain-time-body dd .min{
	font-size:2.5rem;
}
@media (max-width: 768px) {
.extrain-time-body dd .min{
	font-size:2rem;
	}
}
.extrain-time-body .root-text{
	display:block;
	font-size:1rem;
	margin:10px 0 0;
}
@media (max-width: 768px) {
.extrain-time-body .root-text{
	font-size:.9rem;
	margin:10px 20px 0;
	text-align:left;
	line-height:1.7;
	}

}
.extrain-only{
  display: grid;
	grid-template-columns:3fr 1fr;
  gap: 2rem;
  margin:130px 0 50px;
 	position:relative;
 	z-index:0;
 	align-items:center;
}
@media (max-width: 768px) {
.extrain-only{
  gap: 2rem;
	grid-template-columns:2fr 1fr;
	margin:60px 0 30px;
	}
}

.extrain-only div,
.airport-only div{
 	position:relative;
}
.extrain-only:after{
	content:"";
	min-width:50%;
	height:50vh;
	background:rgba(255,255,255,.4);
	position:absolute;
	right:0%;
	top:-50px;
	z-index:-1;
}
@media (max-width: 1150px) {
.extrain-only:after{
	min-width:60%;
	height:53vh;
	top:-80px;
	}
}


@media (max-width: 768px) {
.extrain-only:after{
	top:-20px;
	min-width:70%;
	height:25vh;
	}
}
.only-txt{
	text-align:center;
}
.leftTxt{
	text-align:left;
	}
.leftTxt img{
	max-width:210px;
	}
.rightTxt{
	text-align:right;
	}
.rightTxt img{
	max-width:210px;
	}
@media (max-width: 1150px) {
.leftTxt img{
	max-width:150px;
	}
.rightTxt img{
	max-width:150px;
	}
.leftTxt{
	text-align:left;
	padding-right:0px;
	}
.rightTxt{
	text-align:right;
	padding-left:0px;
	}
}
	
@media (max-width: 768px) {
.leftTxt{
	text-align:left;
	padding-right:30px;
	}
.rightTxt{
	text-align:right;
	padding-left:30px;
	}
.leftTxt img{
	max-width:120px;
	}
.rightTxt img{
	max-width:120px;
	}
}
.airport-only{
  display: grid;
	grid-template-columns:1fr 3fr;
  gap: 2rem;
  margin:100px 0 50px;
 	position:relative;
 	z-index:0;
 	align-items:center;
}
@media (max-width: 768px) {
.airport-only{
  gap: 2rem;
	grid-template-columns:1fr 2fr;
	margin:70px 0 30px;
	}
}

.airport-only:after{
	content:"";
	min-width:50%;
	height:50vh;
	background:rgba(255,255,255,.4);
	position:absolute;
	left:0%;
	top:-50px;
	z-index:-1;
}
@media (max-width: 1150px) {
.airport-only:after{
	min-width:60%;
	height:53vh;
	top:-80px;
	}
}
@media (max-width: 768px) {
.airport-only:after{
	top:-20px;
	min-width:70%;
	height:25vh;
	}
}
/*-----------------------------------------

アクセス（バス）

-------------------------------------------*/
.bus-body{
	padding:100px 0 50px;
	border-top:1px solid #333;
}
@media (max-width: 768px) {
.bus-body{
	padding:50px 0 ;
	
	}
}


/*-----------------------------------------

アクセス（車）

-------------------------------------------*/
.car-body{
	padding:100px 0 0px;
	border-top:1px solid #333;
}
@media (max-width: 768px) {
.car-body{
	padding:50px 0 ;
	
	}
}
.access-time-body{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  margin:100px auto 30px;
  max-width:800px;
}
@media (max-width: 768px) {
.access-time-body{
	grid-template-columns: 1fr;
	gap:0rem 3rem;
  margin:60px 0 30px;
	}
}
.access-time-body div{
	position:relative;
}
.access-time-body .cars-bg{
	background:url(../images/car_sample.jpg) no-repeat 100% 80%;
	background-size:cover;
	padding:15em 0;
	grid-column: 1 /span 2;
}
@media (max-width: 768px) {
.access-time-body .cars-bg{
	background:url(../images/car_sample.jpg) no-repeat 90% 40% ,
	linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 45%, #E4E4E4 45%, #E4E4E4 100%);
	background-size:70%;
	padding:10em 0 ;
	grid-column: 1;
	}
}


.access-time-body dl{
	margin:0px 0 25px;
	font-size:1rem;
	letter-spacing:var(--spacing);
}
@media (max-width: 768px) {
.access-time-body dl{
	text-align:center;
	max-width:85%;
	margin: 0 auto 25px;
	}
}
.access-time-body dt{
	font-size:1.05rem;
/*	border-bottom:1px dotted #333;*/
	margin:0 0 5px;
}
@media (max-width: 768px) {
.access-time-body dt{
	font-size:.9rem;
	}
}

.access-time-body dt span{
	padding:0 0px 0 0;

}
@media (max-width: 768px) {
.access-time-body dt span{
	padding:0 0 0px;
	display:block;
	}
}
.access-time-body dt .car-root{
	display:block;
	margin:0 0 -20px;
}
@media (max-width: 768px) {
.access-time-body dt .car-root{
	display:block;
	margin:0 0 -10px;
}
}

.access-time-body dd{
	font-size:1.2rem;
	line-height:1.3;
}
@media (max-width: 768px) {
.access-time-body dd{
	font-size:1.05rem;
	}
}

.access-time-body dd .min{
	font-size:2.5rem;
}
@media (max-width: 768px) {
.access-time-body dd .min{
	font-size:2rem;
	}
}

.access-time-body .root-text{
	display:block;
	font-size:.9rem;
}

.carimage{
	position:absolute;
	right:5px;
	bottom:6px;
	color:#fff;
	font-size:.8rem;
}


.area-text{
	margin:-30px 0 0;
	padding:0 10px;
	position:relative;
	z-index:2;
	color:#fff;
	text-align:right;
}
.area-text span{
	background:rgba(0,0,0,.6);
}

@media (max-width: 768px) {
.area-text{
	padding:0 5px;
	margin:-30px 0 0;
	}
}



@keyframes reveal {
from {
	opacity: .3;
	clip-path: inset(45% 20% 45% 20%);
	}
to {
	opacity: 1;
	clip-path: inset(0% 0% 0% 0%);
	}
	}

.revealing-image {
	view-timeline-name: --revealing-image;
	view-timeline-axis: block;
	animation: linear reveal both;
	animation-timeline: --revealing-image;
	animation-range: entry 25% cover 50%;
	margin:0px 0 60px;
}

.photoArea{
  position: relative;
}
.photoArea picture::before {
  content: '';
	display: inline-block;
	width: 0;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	background: #640080;
}
.photoArea picture {
  position: relative;
  display: inline-block;
  overflow: hidden;
}
.photoArea.move picture::before {
  animation: barAnime forwards 1.1s 1 ease 0.1s normal;
}
.photoArea picture img {
  opacity: 0;
  transform: scale(1.1);
}
.photoArea.move picture img {
  animation: photoAnime forwards 1.1s 1 ease 0.5s normal;
}
@keyframes barAnime{
	0% {
		left: 0;
		width: 0;
	}
	50% {
		left: 0;
		width: 100%;
	}
	51% {
		left: 0;
		width: 100%;
	}
	68% {
		left: 0;
		width: 100%;
	}
	100% {
		left: 100%;
		width: 0;
	}
}
@keyframes photoAnime{
	0% {
    opacity: 0;
    transform: scale(1.1);
  }
	50% {
    opacity: 0;
    transform: scale(1.1);
  }
	100% {
    opacity: 1;
    transform: scale(1);
  }
}


.access-notice{
	margin:15px 0;
	font-size:.9rem;
}
.access-notice li{
	padding-left:1em;
	text-indent:-1em;
}

.access-notice li::before{
	content:"※";
}
@media (max-width: 768px) {
.access-notice{
	margin:10px auto;
	font-size:.8rem;
	}
}
.all-images-comment_base{
	color:#fff;
	font-size:.7rem;
	z-index:1;
}
.position-type_a{
	position:absolute;
	right:3px;
	bottom:8px;
}
.position-type_b{
	position:absolute;
	right:3px;
	bottom:0px;
}
.position-type_c{
	position:absolute;
	right:3px;
	bottom:3px;
}
.position-type_d{
	position:absolute;
	right:3px;
	bottom:3px;
}
.position-type_e{
	position:absolute;
	left:3px;
	bottom:-10px;
	font-size:.9rem;
}
@media (max-width: 768px) {
.position-type_d{
	position:absolute;
	right:20px;
	bottom:18px;
}
.position-type_e{
	position:static;
	left:0px;
	bottom:0px;
	max-width:90%;
	margin:20px auto 40px;
	display:block;
	text-align:left;
	}


}
.color-black{
	color:#000;
	display:block;
}