@charset "utf-8";

.access-top_text{
	font-size:1.8rem;
	color:#1F264E;
	margin:130px auto 0;
	text-align:center;
	line-height:1.5;
}
@media (max-width: 768px) {
.access-top_text{
	font-size:1.4rem;
	margin:130px auto 20px;
	}
}

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

電車アクセス

--------------------------------------*/
.access-way{
	margin:60px auto 30px;
}
@media (max-width: 768px) {
.access-way{
	margin:0px auto 0px;
	}
}
.train-map{
	margin:0px auto 40px;
}
@media (max-width: 768px) {
.train-map{
	margin:0px auto 10px;
	}
}

.train-icon{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap: 10px;
	border:1px solid #ccc;
	border-radius:5px;
	padding:2rem;
	align-items:center;
}
@media (max-width: 768px) {
.train-icon{
	grid-template-columns:repeat(2,1fr);
	gap: 10px;
	padding:1.5rem;
	margin:20px 0;
	}
}

.train-icon dl{
	display:flex;
	font-size:1.05rem;
	gap: 10px;
}
@media (max-width: 768px) {
.train-icon dl{
	font-size:.9rem;
	}
}

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

電車アクセス(電車)

--------------------------------------*/
.access_train_body{
	margin:60px auto 30px;
}
@media (max-width: 768px) {
.access_train_body{
	margin:0px auto 30px;
	}
}


.access_train{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap: 30px;
	margin:0px auto 30px;
}
@media (max-width: 768px) {
.access_train{
	grid-template-columns:1fr;
	gap:0 30px;
	margin:0px auto 30px;
	}
}

.access_train dl{
	margin:0px 0 20px;
	font-size:1.1rem;
	letter-spacing:1px;
}
@media (max-width: 768px) {
.access_train dl{
	margin:0px 0 20px;
	font-size:1rem;
	}
}
.access_train dl dd {
	margin:-10px 0 0;
}
.access_train .border-plus{
	border-top:1px solid #ccc;
	padding:30px 0 0 ;
}
.access_train .border-plus_bottom{
	border-bottom:1px solid #ccc;
	padding:0px 0 30px ;
}
.access_train dl .large{
	font-size:1.6rem;
	display:inline-block;
	padding:0 5px;
}
.access_train dl .color-type{
	color:#8D932E;
	font-size:2.2rem;
}
@media (max-width: 768px) {
.access_train dl dd{
	margin:10px 0 0px;
	line-height:1.3;
	}
}
.access_train div{
	position:relative;
}
.img-veiw{
	position:absolute;
	right:5px;
	bottom:13px;
	color:#fff;
	z-index:1;
}
/*-------------------------------------

電車アクセス(新幹線)

--------------------------------------*/
.shinkansen-only{
	text-align:center;
	font-size:2.8rem;
	margin:180px auto 0px;
	color:#1F264E;
	letter-spacing:1px;
}
@media (max-width: 768px) {
.shinkansen-only{
	font-size:2.8rem;
	margin:0px auto 0px;
	}
}
.shinkansen-name{
	text-align:center;
	font-size:1.6rem;
	color:#1F264E;
	margin:0px  auto 30px;
	letter-spacing:1px;
}
@media (max-width: 768px) {
.shinkansen-name{
	font-size:1.6rem;
	margin:0px  auto 10px;
	}
}
.access_shinkansen_body{
	color:#1F264E;
	letter-spacing:1px;
}

.access_shinkansen_body dt{
	position:relative;
}

.access_shinkansen_body dd{
	font-size:1.4rem;
	margin:20px 0 0;
}
@media (max-width: 768px) {
.access_shinkansen_body dd{
	font-size:1.1rem;
	margin:20px 0 20px;
	}
}
.border-plus{
	border-top:1px solid #ccc;
}
/*-------------------------------------

電車アクセス(車)

--------------------------------------*/
.car-top{
	position:relative;
	text-align:center;
	max-width:1040px;
	margin: 0 auto;

}
@media (max-width: 768px) {
.car-top{
	max-width:90%;
	}
}
.caronly-body{
	background:#F1F3E9;
	padding:2rem 0 1rem;
	margin:100px auto 0px;
}
@media (max-width: 768px) {
.caronly-body{
	margin:50px auto 0px;
	}
}

.car-only{
	margin:30px auto 0px;
}
@media (max-width: 768px) {
.car-only{
	margin:0px auto 0px;
	}
}
.car-access_text{
	font-size:1.2rem;
	margin:20px 0;
	text-align:center;
	color:#1F264E;
}
@media (max-width: 768px) {
.car-access_text{
	font-size:1rem;
	margin:20px 0 0;
	}
}

.access-body_sea{
	background:#BCE1EB;
	color:#1F264E;
	letter-spacing:1px;
	margin:30px 0 ;
}
.sea-table{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap: 15px;
	padding:25px;
	font-size:1.2rem;
}
@media (max-width: 768px) {
.sea-table{
	gap: 5px;
	padding:15px;
	font-size:1rem;
	}
}

.sea-table div{
	border:2px solid #fff;
	padding:25px;
}
@media (max-width: 768px) {
.sea-table div{
	padding:25px 15px;
	}
}
.sea-table div dl{
	display:flex;
	gap: 0 10px;
}

.sea-table div .number{
	color:#fff;
  width: 40px;
  height: 40px;
  line-height: 40px;
	display:block;
	margin:0 0px 10px 0;
	text-align:center;
	border-radius:50%;
}
@media (max-width: 768px) {
.sea-table div .number{
	width: 25px;
	height: 25px;
	line-height: 25px;
	}
}
.sea-table div dt{
	line-height:1.2;
	font-weight:var(--w-700);

}
.sea-table div dd{
	font-weight:var(--w-700);
	line-height:1.2;
}
.sea-table div dd .large{
	font-size:2.8rem;
}
@media (max-width: 768px) {
.sea-table div dd .large{
	font-size:2.3rem;
	}
}


.color_a{background:#D65A33;}
.color_b{background:#32A2DA;}
.color_c{background:#4BA662;}
.color_d{background:#A71527;}





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

.location-notice li::before{
	content:"※";
}
@media (max-width: 768px) {
.location-notice{
	margin:0px auto;
	max-width:100%;
	font-size:.8rem;
	}

}
.sea-notice{
	font-size:.9rem;
	padding:20px 0 0;
	margin:-30px auto 10px;
	max-width:95%;
}
.sea-notice::before{
	content:"※";
}
@media (max-width: 768px) {
.sea-notice{
	font-size:.8rem;
	padding-left:1em;
	text-indent:-1em;
	}

}

@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;
}