@charset "utf-8";
.notes {
    font-size: 1rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
	max-width: 970px;
	margin: auto;
	color: #505050;
}
.c_white { color: #fff!important;}
.sec_access { overflow: hidden;}
/* sec_train */
.sec_train { padding: 0 0 160px;}
.sec_train .train_img {
	max-width: 770px;
	margin: 40px auto 110px;
}
.train_image {
    max-width: 770px;
    margin: 0 auto 125px;
}
.mv1030 { 
	max-width: 1030px;
	margin: auto;
}
.train_info.row { margin-bottom: 140px;}
.train_info.row > [class^="col"]:nth-child(n+5){ margin-top: 50px;}
.info_image {
    position: relative;
    margin-bottom: 20px;
}
.info_wrapper {
    position: absolute;
    top: 15px;
    color: #fff;
    width: 83%;
    left: 0;
    right: 0;
    margin: auto;
	text-align: right;
}
.info_wrapper::before {
   content: "";
  
   position: absolute;
   left: 0;
   width: 26px;
   height: 82px;
   display: block;
   z-index: 2;
   top: 0;
   bottom: 0;
   margin: auto;
}
.info_place {
    font-size: 2rem;
    letter-spacing: 0.06em;
    line-height: 1.3;
	text-shadow: 0 0 10px rgba(0,0,0,.2),0 0 10px rgba(0,0,0,.2),0 0 10px rgba(0,0,0,.2),0 0 10px rgba(0,0,0,.2),0 0 10px rgba(0,0,0,.2),0 0 10px rgba(0,0,0,.2);
}
.info_time {
    font-size: 3.8rem;
	letter-spacing: 0.06em;
    line-height: 1.2;
	text-shadow: 0 0 10px rgba(0,0,0,.2),0 0 10px rgba(0,0,0,.2),0 0 10px rgba(0,0,0,.2),0 0 10px rgba(0,0,0,.2),0 0 10px rgba(0,0,0,.2),0 0 10px rgba(0,0,0,.2);
	display: inline-flex;
    align-items: center;
}
.info_time .md { font-size: 64%;}
.info_time .sm { font-size: 45%;}
.info_time .sm .md { font-size: 10px;}
.info_estimate,
.info_estimate small,
.info_name { letter-spacing: 0.1em;}
.info_name { font-size: 2.2rem;}
.info_name .sm { font-size: 81%;}
.info_estimate {
    font-size: 2.6rem;
    line-height: 1.2;
}
.info_estimate small { font-size: 48%;}
.info_estimate .md { font-size: 62%;}
.info_text {
    font-size: 1.2rem;
    letter-spacing: 0.01em;
    line-height: 1.5;
    margin-top: 20px;
}
.train_place {
	max-width: 770px;
	margin: 0 auto 100px;
	position: relative;
}
.train_place .place_head {
	display: flex;
	align-items: center;
	margin-bottom: 5px;
}
.train_place .place_head .ttl {
	font-size: 2rem;
	letter-spacing: 0.1em;
	margin-right: 50px;
}
.train_place .place_head .ttl .md {
	font-size: 120%;
}
.train_place .place_head .ttl .lg {
	font-size: 400%;
	color: #b3aca1;
	line-height: 1;
}
.train_place .place_head .txt {
	font-size: 1.2rem;
	letter-spacing: 0.04em;
}
.train_place .place_head .txt .md {
	font-size: 134%;
	letter-spacing: 0.1em;
}
.train_place .place_head .txt .lg {
	font-size: 217%;
	letter-spacing: 0.1em;
}
.train_place .place_head .txt .sm {
	font-size: 117%;
	letter-spacing: 0.1em;
}
.train_place .place_list {
	display: grid;
	grid-template-columns: 18% 46% 1fr;
	grid-template-rows: auto 1fr;
	gap: 20px;
}
.train_place .place_list .cont { position: relative;}
.train_place .place_list .txt_pos {
	font-size: 6rem;
	letter-spacing: 0;
	color: #b3aca1;
	font-style: italic;
	position: absolute;
	top: 2%;
    right: -34%;
	mix-blend-mode: multiply;
}
.train_place .place_list .item:nth-child(1){
	grid-column: 1/3;
	grid-row: 1/2;
}
.train_place .place_list .item:nth-child(2){
	grid-column: 2/3;
	grid-row: 2/3;
}
.train_place .place_list .item:nth-child(3){
	grid-column: 3/4;
	grid-row: 1/3;
}
.train_place .place_list .item:nth-child(2) .txt_pos {
	right: auto;
    left: -58%;
}
.train_place .place_list .item:nth-child(3) .cont { margin-top: 100%;}
.train_place .place_list .info_detail { margin-top: 20px;}
.train_place .ver03  {
	position: absolute;
    right: -195px;
    top: 15px;
}
.train_place .info_wrapper {
	text-align: left;
    width: 90%;
    top: 20px;
}
.train_place .info_place { font-size: 2.3rem;}
.train_place .info_time { font-size: 7.1rem;}
.train_place .info_time .md { font-size: 40%;}
.airport_block {
	background: url(../imgs/train_bg.jpg) no-repeat center center/cover;
	padding: 80px 15px 100px;
	margin-bottom: 50px;
}
.airport_block .airport_wrap {
	max-width: 970px;
	margin: auto;
}
.airport_block .ttl {
	text-align: center;
	margin-bottom: 70px;
}
.airport_block .ttl .en {
	color: #7d7566;
	font-size: 2.4rem;
	letter-spacing: 0.06em;
	line-height: 1.75;
	margin-bottom: 15px;
}
.airport_block .ttl .jp {
	font-size: 2rem;
	letter-spacing: 0.1em;
	line-height: 2;
	color: #38322c;
}
.airport_block .airport_list {
	display: grid;
	grid-template-columns: 21% 24.5% 24.5% 1fr;
	gap: 30px;
	align-items: center;
	color: #38322c;
}
.airport_block .airport_list .info_detail { margin-right: -15px;}
@media only screen and (min-width: 768px) {
	.airport_block .airport_list .item:nth-child(3) {
		grid-column: 4/5;
	}
	.airport_block .airport_list .item:nth-child(4) {
		grid-column: 3/4;
		grid-row: 1/2;
	}
}
@media only screen and (max-width: 1400px) {
	.train_place .ver03 {
		position: absolute;
		right: -55px;
		top: 55px;
	}
}
@media only screen and (max-width: 1200px) {
	.train_place .ver03 { right: -15px;}
}
@media only screen and (max-width: 1024px) {
	.sec_train { padding: 0 0 100px;}
    .train_image { margin: 0 auto 80px;}
	.info_name { 
		font-size: 1.8rem;
		letter-spacing: 0;
	}
	.info_estimate {
		font-size: 2.2rem;
		letter-spacing: 0;
	}
	.info_place { font-size: 1.8rem;}
	.info_time { font-size: 3.2rem;}
	.info_text {
		font-size: 1.1rem;
		letter-spacing: 0;
		margin-top: 15px;
	}
	.train_info.row { margin: 0 -5px 80px;}
    .train_info.row > [class^="col"]{ padding: 0 5px;}
	.airport_block { padding: 80px 15px 80px;}
	.airport_block .airport_list { gap: 15px;}
	.airport_block .airport_list .info_detail { margin-right: 0;}
	.airport_block .ttl { margin-bottom: 40px;}
	.train_place .place_list .txt_pos {
		font-size: 4.8rem;
		right: -17%;
	}
	.train_place .place_list .item:nth-child(2) .txt_pos { left: -46%;}
	.train_place .ver03 { right: 100px;}
	.train_place .place_list .item:nth-child(3) .cont {
    margin-top: 122%;}
}
@media only screen and (max-width: 767px) {
	.sec_train { padding: 0 0 60px;}
	.sec_train .train_img { margin: 40px auto 60px;}
    .train_info.row { margin: 0 -5px 40px;}
    .train_info.row > [class^="col"]{ padding: 0 5px;}
    .info_wrapper::before { width: 22px;}
    .info_place { 
       letter-spacing: 0.01em;
    }
    .info_time { font-size: 2.8rem;}
    .info_detail { text-align: center;}
    .info_name { font-size: 1.6rem;}
    .info_estimate { 
        font-size: 2rem;
        text-align: center;
    }
    .info_image { margin-bottom: 10px;}
    .info_estimate small { font-size: 1.4rem;}
    .info_text { 
        font-size: 1rem;
        letter-spacing: 0;
		margin-top: 10px;
    }
    .train_info.row > [class^="col"]:nth-child(n+3) { margin-top: 30px;}
	.train_place { margin: 0 auto 60px;}
	.train_place .place_head { align-items: flex-end;}
	.train_place .place_head .ttl {
		font-size: 1.4rem;
		letter-spacing: 0;
		margin-right: 25px;
	}
	.train_place .place_head .txt {
		font-size: 1rem;
		letter-spacing: 0;
	}
	.train_place .place_list {
		grid-template-columns: 15% 40% 1fr;
		gap: 10px;
	}
	.train_place .place_list .txt_pos {
       	font-size: 2.6rem;
        letter-spacing: 0;
        right: -75px;
        top: -2px;
    }
	.train_place .place_list .item:nth-child(3) .cont { margin-top: 85%;}
	.train_place .place_list .info_detail { margin-top: 10px;}
	.train_place .ver03  { top: 50px;}
	.train_place .info_wrapper {
		top: 10px;
		width: 80%;
	}
	.train_place .info_place { font-size: 1.8rem;}
	.train_place .info_time { font-size: 3.4rem;}
	.airport_block .airport_list {
		grid-template-columns: 1fr 1fr;
		gap: 10px;
		align-items: initial;
	}
	.airport_block .airport_list .item:nth-child(1) {
		grid-column: 1/2;
		grid-row: 2/3;
	}
	.airport_block .airport_list .item:nth-child(2) {
		grid-column: 1/2;
		grid-row: 1/2;
	}
	.airport_block .airport_list .item:nth-child(3) {
		grid-column: 2/3;
		grid-row: 2/3;
	}
	.airport_block .airport_list .item:nth-child(4) {
		grid-column: 2/3;
		grid-row: 1/2;
	}
	.airport_block { 
		padding: 60px 15px 60px;
		margin-bottom: 30px;
	}
	.airport_block .ttl { margin-bottom: 20px;}
	.airport_block .ttl .en {
		font-size: 2rem;
		margin-bottom: 5px;
	}
	.airport_block .ttl .jp {
    	font-size: 1.7rem;
		line-height: 1.8;
		letter-spacing: 0.01em;
	}
	.airport_block .airport_list .info_detail { 
		text-align: left;
		margin-right: -9px;
	}
	.airport_block .airport_list .info_estimate { text-align: left;}
}
.sec_image {
	position: absolute;
    z-index: 0;
    width: 63%;
    top: 0;
    right: 0;
    top: 5%;
}
.sec_image .pic_cap   {
    bottom: 15%;
    right: 5%;
}
@media only screen and (max-width: 767px) {
	.sec_image {
		top: 0;
		width: 80%;
	}
	.sec_image .pic_cap   {
		bottom: auto;
		top: 0;
		right: 20px;
	}
}
/* .sec_bus */
.sec_bus {
	color: #fff;
	position: relative;
}
.sec_bus .bus_img {
	max-width: 900px;
	margin: 100px auto 100px;
}
@media only screen and (max-width: 767px) {
	.sec_bus .bus_img {
		margin: 60px auto 60px;
	}
}
/* sec_taxi */
.sec_taxi {
	position: relative;
	padding-bottom: 90px;
	color: #fff;
}
.sec_taxi .sec_image {
	left: 0;
    width: 50%;
    top: 11%;
}
.sec_taxi .sec_image .pic_cap  {
	left: 3%;
    bottom: 10%;
}
.taxi_list {
	max-width: 570px;
	margin: 0 auto 95px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
}
.taxi_list .item {
	position: relative;
	cursor: pointer;
	overflow: hidden;
}
.taxi_list .bg::before {
	content: "";
   background: -webkit-gradient(linear,  left top, right top,  from(rgba(25,27,40,1)),to(rgba(25,27,40,0.3)));
	background: -o-linear-gradient(left,  rgba(25,27,40,1) 0%,rgba(25,27,40,0.3) 100%);
	background: linear-gradient(to right,  rgba(25,27,40,1) 0%,rgba(25,27,40,0.3) 100%);
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    mix-blend-mode: multiply;
    z-index: 1;
	opacity: .7;
}
.taxi_list .bg img { transition: all 0.5s linear;}
.taxi_list .item:not(.active):hover .bg img { transform: scale(1.05);}
.taxi_list .ttl {
	font-size: 2.4rem;
	letter-spacing: 0.3em;
	width: 100%;
	text-align: center;
	color: #fff;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	text-align: center;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding-left: 20px;
}
.taxi_list .ttl::after {
	content: ">";
	display: inline-block;
	margin-left: 10px;
}
.taxi_popup {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 3;
	background-color: rgba(221,217,212,0.8);
	padding: 0 15px 15px;
	opacity: 0;
	visibility: hidden;
	transition: all .5s;
}
.taxi_popup .close {
	cursor: pointer;
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 99;
    height: 15px;
    width: 15px;
}
.taxi_popup .close:before,
.taxi_popup .close:after {
	background: #7d7566;
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	height: 1px;
	transform: rotate(45deg);
	width: 100%;
}
.taxi_popup .close:before { transform: rotate(-45deg);}
.taxi_popup .wrap {
	max-width: 215px;
	margin: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}
.taxi_popup .info .name {
	font-size: 1.6rem;
	letter-spacing: 0.08em;
	text-align: center;
	margin-bottom: 10px;
	color: #38322c;
}
.taxi_popup .info { width: 100%;}
.taxi_list .item.active .taxi_popup {
	opacity: 1;
	visibility: visible;
}
@media only screen and (max-width: 1024px) {
	.taxi_list { margin-right: 18%;}
}
@media only screen and (max-width: 767px) {
	.sec_taxi { padding-bottom: 60px;}
	.sec_taxi .sec_image {
        left: auto;
        width: 70%;
        top: 0;
		right: 0;
    }
	.sec_taxi .sec_image .pic_cap {
		left: auto;
		bottom: auto;
		top: 0;
		right: 30px;
	}
	.taxi_list {
		gap: 5px;
		margin-bottom: 30px;
		margin-right: auto;
	}
	.taxi_list .ttl {
    	font-size: 2rem;
		padding-left: 17px;
	}
	.taxi_popup .info .name {
		font-size: 1.4rem;
		letter-spacing: 0.01em;
		margin-bottom: 5px;
	}
	.taxi_popup { padding: 0 5px 5px;}
}