@charset "utf-8";

/**
 *
 *  ページ用CSS
 *　access
 * 
 */

/*--------------------------------------------------------------------------
   Overwright
---------------------------------------------------------------------------*/
.bg-wrap{
	background-image: url(../img/common/ft_bg_pc.jpg);
}


/*--------------------------------------------------------------------------
   Content
---------------------------------------------------------------------------*/

/* intro
-----------------------------------------------------------------*/
.intro{
	padding: 180px 0;
	background: url(../img/common/cont_upper_bg.png) no-repeat left top var(--light);
	background-size: 100% auto;	
}
.intro h2{
	margin-bottom: 80px;
	font-size: 4.5rem;
	font-weight: 400;
	letter-spacing: .2em;
	text-align: center;
}
.txt-sec-lead{
  margin-bottom: 40px;  
}
.txt-sec-lead + .txt{
  font-size: 2rem;
	line-height: 2.2;
	letter-spacing: .2em;
}
.intro .txt-sec-lead + .txt{
	margin-bottom: 0;
	text-align: center; 
}


/* train
-----------------------------------------------------------------*/
.train{
  padding: 100px 0;
	background: url(../img/access/sec_bg_pc.jpg) no-repeat center top 1200px var(--light);
	background-size: 100% auto;	
}
.train h2{
  margin-bottom: 50px;  
}
.txt-sec-lead + .txt{
  max-width: 1000px;
	margin: 0 auto 100px;
	text-align: left;
}
.map-train-area{
  position: relative;
  margin-bottom: 80px;  
}
.map-train-area .caption{
  position: absolute;
  right: 10px;
  bottom: 5px;
}
.spot-distance-list{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  color: var(--light);  
}
.spot-distance-list li{
  position: relative;
  max-width: 446px;
  width: calc((100% - 30px)/3);
}
.train .spot-distance-list li:nth-child(n+4){
  margin-top: 50px;  
}
.spot-distance-list h3{
  position: absolute;
  right: 15px;
  bottom: 15px;
	display: flex;
	align-items: flex-end;
  font-weight: normal;
  line-height: 1;  
}
.spot-distance-list h3 .name{
	font-size: 4.5rem;
	letter-spacing: .2em;
}
.spot-distance-list h3 small{
	padding: 0 5px 0 0;
	font-size: 2.5rem;
	writing-mode: vertical-lr;
	letter-spacing: .1em;
}
.spot-distance-list h3 strong{
	transform: translateY(7px);
  padding: 0 2px;
  font-size: 8rem; 
  font-weight: normal; 
}
.spot-distance-list h3 .minutes{
	font-size: 3.1rem;
}
.spot-distance-list + .caption{
  margin-top: 5px;
  text-align: right;
}
.transfer-search{
  max-width: 880px;
  margin: 100px auto 0;
  padding: 50px 20px 60px;
  background: var(--light);
  text-align: center;  
}
.transfer-search h3{
  margin-bottom: 50px;
  font-weight: normal; 
  line-height: 1.5;
}
.transfer-search h3 .en{
	margin-bottom: 5px;
  font-size: 4rem;
}
.transfer-search .layout-box{
  align-items: center;
  justify-content: center;
}
.transfer-search label{
  letter-spacing: .4em; 
}
.transfer-search .arw{
  margin: 0 20px;
	font-size: 1.8rem; 

}
.transfer-search input[type="text"]{
  width: 200px;
  margin: 0 7px;
  padding: 10px; 
  border: none;
  background: var(--gold);
	font-family: "EB Garamond","Shippori Mincho", "Noto Serif JP","YuMincho","Yu Mincho", serif;
  font-size: 1.6rem;
  line-height: 1;
	color: var(--light);
}
.transfer-search button{
	display:  flex;
	justify-content: center;
	align-items: center;
	width: 256px;
	height: 60px;
	margin: 35px auto 0;
	background: var(--dark);
	border-radius: 100vmax;
	color: var(--light);
	font-size: 1.6rem;
	letter-spacing: .2em;
	line-height: 1.2;
  font-family: "EB Garamond","Shippori Mincho", "Noto Serif JP","YuMincho","Yu Mincho", serif;
  cursor: pointer;
  transition: .3s;  
}
.transfer-search button:hover{
  opacity: .7;
}
.transfer-search + .note{
  max-width: 880px;
  margin: 10px auto 0;
  font-size: 1.2rem;
	text-indent: -1em;
	padding-left: 1em;  
}


/* bullet-train
-----------------------------------------------------------------*/
.bullet-train{
  padding: 100px 0;
	background: #E6E6E6;
}
.bullet-train h2{
  margin-bottom: 50px;  
}
.map-bullet-train{
  margin-bottom: 80px;
  text-align: center;  
}
.map-bullet-train .caption{
  display: block;
  margin-top: 10px;
  text-align: right;
  font-size: 2rem;  
}
.bullet-train .spot-distance-list li{
  max-width: 327px;
  width: calc((100% - 45px)/4);
	font-size: 3rem; 
}
.bullet-train .spot-distance-list h3 .strong{
	font-size: 7rem;
}

/* car
-----------------------------------------------------------------*/
.car{
  padding: 100px 0;
}
.car h2{
  margin-bottom: 50px;  
}
.car .layout-box{
  margin-bottom: 70px;
	align-items: center;
}
.car .map-car-area{
  position: relative;
	max-width: 1000px;
  width: 71.5%; 
}
.car .map-car-area .caption{
  position: absolute;
  right: 0;
  bottom: -5px;
  transform: translateY(100%);  
}
.car .distance-list{
	max-width: 300px;
  width: 26%;  
}
.car .distance-list li:nth-child(n+2){
	margin-top: 80px;
}
.car .distance-list h4{
	position: relative;
	margin-bottom: 15px;
	padding-bottom: 5px;
	font-size: 2.6rem;
	line-height: 1.6;
	font-weight: normal;
	letter-spacing: .2em;
}
.car .distance-list h4::after{
	position: absolute;
	left: 0;
	bottom: 0;
	display: block;
	width: 25px;
	height: 1px;
	content: "";
	background: var(--dark);
}
.car .distance-list .distance{
  line-height: 1;
}
.car .distance-list .distance .from{
	display: inline-block;
	transform: translateY(5px);
	margin-right: 15px;
	font-size: 1.6rem;
	writing-mode: vertical-lr;
	text-align: right;
	line-height: 1.3;
	letter-spacing: .1em;
}
.car .distance-list .distance .yaku{
	font-size: 3.3rem;
}
.car .distance-list .distance .km{
	font-size: 2.8rem;
}
.car .distance-list .distance strong{
  padding: 0 2px;
  font-weight: normal;
  font-size: 6.4rem;
	color: var(--gold);  
}
.car .distance-list .distance .minutes{
	font-size: 2.6rem;
}
.car .spot-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.car .spot-list li{
	max-width: 327px;
	width: calc((100% - 45px)/4);  
}
.car  .spot-list .thumb{
	position: relative;
}
.car  .spot-list .thumb .caption{
	position: absolute;
	right: 10px;
	bottom: 5px;
	line-height: 1.4;
}
.car  .spot-list h3{
	margin-top: 10px;
	line-height: 1.5;
	font-size: 2.4rem;
	font-weight: 400;
}
.car  .spot-list .distance{
	font-size: 1.4rem;
	color: #696969;
}
.car  .spot-list .distance span{
	padding: 0 2px;
	font-size: 150%;
	line-height: 1;
}















/*--------------------------------------------------------------------------
   mobile
---------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {


/* intro
-----------------------------------------------------------------*/
	.intro{
		padding: 50px 0;
	}
	.intro h2{
		margin-bottom: 30px;
		font-size: 2.4rem;
	}
	.txt-sec-lead{
		margin-bottom: 20px;  
	}
	.txt-sec-lead + .txt{
		font-size: 1.3rem;
		line-height: 2;
	}


/* train
-----------------------------------------------------------------*/
	.train{
		padding: 40px 0;
		background-image: url(../img/access/sec_bg_sp.jpg);
		background-position: center top 600px;
	}
	.train h2{
		margin-bottom: 30px;  
	}
	.txt-sec-lead + .txt{
		margin: 0 auto 40px;
		text-align: justify;
	}
	.map-train-area{
		width: calc(100% + 30px);
		margin: 0 0 35px -15px;  
	}
	.map-train-area .caption{
		right: 5px;
	}
	.spot-distance-list li{
		width: calc(50% - 5px);
	}
	.train .spot-distance-list li:nth-child(n+3){
		margin-top: 15px;  
	}
	.spot-distance-list h3{
		right: 5px;
		bottom: 10px;
	}
	.spot-distance-list h3 .name{
		font-size: 2.2rem;
	}
	.spot-distance-list h3 small{
		padding: 0 5px 0 0;
		font-size: 1.3rem;
	}
	.spot-distance-list h3 strong{
		transform: translateY(4px);
		font-size: 4rem; 
	}
	.spot-distance-list h3 .minutes{
		font-size: 1.6rem;
	}
	.transfer-search{
		margin: 50px auto 0;
		padding: 25px 20px 30px; 
	}
	.transfer-search h3{
		margin-bottom: 25px;
		font-weight: normal; 
		line-height: 1.5;
	}
	.transfer-search h3 .en{
		font-size: 2.4rem;
	}
	.transfer-search h3 .ja{
		font-size: 1.2rem;
	}
	.transfer-search .label{
		font-size: 1.3rem;
		text-align: center;
	}
	.transfer-search .layout-box{
		display: block;
	}
	.transfer-search .arw{
		margin: 2px 0;
		font-size: 1.6rem;
		transform: rotate(90deg); 
	
	}
	.transfer-search input[type="text"]{
		font-size: 1.6rem;
	}
	.transfer-search button{
		width: 240px;
		height: 45px;
		margin: 25px auto 0;
		font-size: 1.3rem;
	}
	.transfer-search button:hover{
		opacity: 1;
	}
	.transfer-search + .note{
		margin: 10px auto 0;
		font-size: 1rem;
	}


/* bullet-train
-----------------------------------------------------------------*/
	.bullet-train{
		padding: 40px 0;
	}
	.bullet-train h2{
		margin-bottom: 30px;  
	}
	.bullet-train h2 + .txt{
		margin-bottom: 40px;
		line-height: 2;
		font-size: 1.3rem;   
	}
	.map-bullet-train{
		margin-bottom: 25px;
	}
	.map-bullet-train .caption{
		margin-top: 5px;
		font-size: 1rem;  
	}
	.bullet-train .spot-distance-list li{
		width: calc(50% - 5px);
	}
	.bullet-train .spot-distance-list li:nth-child(n+3){
		margin-top: 15px;
	}
	.bullet-train .spot-distance-list h3{
		font-size: 2rem;
	}
	.bullet-train .spot-distance-list h3 .strong{
		font-size: 5rem;
	}


/* car
-----------------------------------------------------------------*/
	.car{
		padding: 40px 0 30px;
	}
	.car h2{
		margin-bottom: 30px;  
	}
	.car h2 + .txt{
		margin-bottom: 40px;
		line-height: 2;
		font-size: 1.3rem;  
	}
	.car .layout-box{
		display: block;
		margin-bottom: 40px;
	}
	.car .map-car-area{
		width: auto;
		margin-bottom: 0; 
	}
	.car .map-car-area .caption{
		position: static;
		display: block;
		margin-top: 5px;
		text-align: right;
		transform: none;  
	}
	.car .distance-list{
		max-width: none;
		width: auto;  
	}
	.car .distance-list li:nth-child(n+2){
		margin-top: 20px;
	}
	.car .distance-list h4{
		margin-bottom: 0;
		font-size: 1.8rem;
	}
	.car .distance-list .distance .from{
		transform: translateY(-2px);
		margin-right: 10px;
		font-size: 1.4rem;
		writing-mode: horizontal-tb;
	}
	.car .distance-list .distance .from br{
		display: none;
	}
	.car .distance-list .distance .yaku{
		font-size: 2.2rem;
	}
	.car .distance-list .distance .km{
		font-size: 2rem;
	}
	.car .distance-list .distance strong{
		font-size: 4rem;
	}
	.car .distance-list .distance .minutes{
		font-size: 2rem;
	}
	.car .spot-list li{
		width: calc(50% - 5px);  
	}
	.car .spot-list li:nth-child(n+3){
		margin-top: 15px;
	}
	.car  .spot-list .thumb .caption{
		right: 5px;
	}
.car  .spot-list h3{
	margin-top: 5px;
	font-size: 1.3rem;
}
.car  .spot-list .distance{
	font-size: 1rem;
}




}