@charset "utf-8";
/* --------------------------------------------------
header
-------------------------------------------------- */
#gnav .gnav_list li.gnav_access a::before {
  background-color: #ffffff;
  height: 2px;
}
#gnav .gnav_list li.gnav_access a span::after {
  transform: scale(1, 1);
  height: 2px;
}

/* --------------------------------------------------
contents
-------------------------------------------------- */
.main_in {
  padding-top: 0px;
}
@media screen and (min-width: 768px){
  .main_in {
    padding-top: 0px;
  }
}
/* --------------------------------------------------
contents
-------------------------------------------------- */
.kv{
	position: relative;
}
.kv h2{
	position: absolute;
	left: 0;
	bottom: 12px;
	width: 100%;
	text-align:center;
	color: #FFF;
	letter-spacing:0.15em;
	font-weight: 500;	
}
.kv h2 .ja{
	display:block;
	font-size: 1.7rem;
	line-height:1.4;
		
}
.kv h2 .en{
	font-size: 1.2rem;	
}

/* 汎用
-------------------------------------------------- */
section h3{
	margin-bottom: 22px;
	font-size: 2.2rem;
	line-height:1.4;
	font-weight: 500;
	text-align:center;	
}

/* station-pos
-------------------------------------------------- */
.station-pos{
	padding: 22px 0 30px;	
}
.station-pos .pos{
	width: calc(100% + 20px);
	transform: translateX(-10px);
	margin-bottom: 15px;
}
.station-pos .txt{
	text-align: center;	
}

/* sannomiya-himeji
-------------------------------------------------- */
.sannomiya-himeji{
	padding: 30px 0 25px;	
}
.sannomiya-himeji .place-list li:nth-child(n+2){
	margin-top: 35px;	
}
.sannomiya-himeji .place-list .pic{
	margin-bottom: 5px;
}
.sannomiya-himeji .place-list .pic .note{
	display:block;
	text-align: right;
	font-size: 1rem;	
}
.sannomiya-himeji .place-list h4{
	margin-bottom: 20px;
	padding-bottom: 2px;
	border-bottom: 1px solid #251E1C;
	font-size: 1.5rem;
	font-weight: 500;
		
}
.sannomiya-himeji .simulation img{
	width: auto;
	height: 21.354vw;
}
.sannomiya-himeji .place-list+.note{
	margin-top: 5px;
	text-align: right;
	font-size: 1rem;		
}

/* schedule
-------------------------------------------------- */
.schedule{
	padding: 25px 0 45px;	
}
.schedule .inner{
	padding-bottom: 40px;
	background:url(../images/access/bg_shadow_sp.jpg) no-repeat center bottom;
	background-size:100% auto;	
}
.schedule .layout-box{
	display: flex;
}
.schedule .layout-box+.layout-box{
		margin-top: 15px;
}
.schedule .layout-box .ico{
	flex-shrink:0;
	width: 19%;
	margin-right: 1%;
	padding-top: 35px;
		
}
.schedule .layout-box .txt{
	margin-bottom: 5px;
	font-size: 1.5rem;
	letter-spacing:0;
}
.schedule .layout-box .txt small{
	font-size: 0.9rem;
}
.schedule .layout-box .note{
	margin-top: 3px;
	font-size: 1.67vw;
	line-height:1.3;
}

/* smooth
-------------------------------------------------- */
.smooth{
	padding: 0 0 30px;	
}
.smooth .pic-main{
	margin-bottom: 20px;
	width: calc(100% + 30px);
	transform: translateX(-15px);	
}
.smooth .bt-ap{
	margin-bottom: 30px;
}
.smooth .bt-ap li:nth-child(n+2){
	margin-top: 15px;
}
.smooth .bt-ap .pic{
	margin-bottom: 10px;	
}
.smooth .bt-ap .layout-box{
	display: flex;
	justify-content: space-between;	
}
.smooth .bt-ap .station{
	font-size: 1.5rem;
	line-height:1.4;
}
.smooth .bt-ap .station small{
	font-size: 1rem;	
}
.smooth .bt-ap .time{
	margin-bottom: 2px;
	font-size: 2rem;
	line-height:1.4;
}
.smooth .bt-ap .time strong{
	font-weight: normal;
	font-size: 2.2rem;
}
.smooth .bt-ap .note{
	font-size: 1rem;
	line-height:1.3;
}
.smooth .bt-ap+.note{
		font-size: 1rem;
		line-height:1.5;
}
/* ▼ 23/11/17 追記 strat */
.smooth .bus_route_long+.note{
	font-size: 1rem;
	line-height:1.5;
}
/* kako bus mini
-------------------------------------------------- */
.bus_guide {
	text-align: center;
	width: 80%;
	margin: 0 auto 20px;
}
.bus_route {
	position: relative;
	background-color: #faf9f5;
	border: 1px solid #08316d;
	padding: 20px;
	margin: 80px auto 40px;
	text-align: center;
}

.bus_route.bus_route_long {
    margin-top: 100px;
}

.bus_route .bus_start {
	width: 22%;
	position: absolute;
	top: -12%;
	left: -3.5%;
}

.bus_route.bus_route_long .bus_start {
	width: 22%;
	position: absolute;
	top: -7%;
	left: -3.5%;
}

.bus_route p {
	position: relative;
	display: inline-block;
	text-align: center;
	font-size: 1.8rem;
	letter-spacing: .015em;
	padding-left: 2em;
	margin-bottom: 20px;
}
.bus_route p:before {
	position: absolute;
	content: "";
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	display: inline-block;
	background: url("../images/access/bus_icon.png") no-repeat;
	background-size: contain;
	width: 27px;
	height: 16px;
}
.bus_route ul li {
	position: relative;
	color: #fff;
	background-color: #3f5d88;
	padding: 10px 10px 10px 1em;
}
.bus_route ul li:nth-child(n-2):not(:last-child) {
	margin-bottom: 20px;
}
.bus_route ul li:nth-child(n-2):not(:last-child):before {
	position: absolute;
	bottom: -20px;
	left: 0;
	right: 0;
	background-color: #9f9f9f;
	width: 4px;
	height: 20px;
	margin: auto;
	content: "";
}
.bus_route ul li:nth-child(1),
.bus_route ul li:nth-child(3) {
	background-color: #08316d;
}
/* ▲ 23/11/17 追記 end */



@media screen and (min-width: 768px){

	.kv h2{
		bottom: 72px;
		color: #FFF;		
	}
	.kv h2 .ja{
		font-size: 5rem;
		letter-spacing:0.2em;
	}
	.kv h2 .en{
		font-size: 3rem;	
		letter-spacing:0.25em;
	}

/* 汎用
-------------------------------------------------- */
	section h3{
		margin-bottom: 40px;
		font-size: 3.3rem;
	}

/* station-pos
-------------------------------------------------- */
	.station-pos{
		padding: 150px 0 45px;	
	}
	.station-pos .pos{
		width: 100%;
		transform: none;
		margin-bottom: 50px;
	}

/* sannomiya-himeji
-------------------------------------------------- */
	.sannomiya-himeji{
		padding: 45px 0;	
	}
	.sannomiya-himeji .place-list{
		display: flex;
		border: 1px solid #251E1C;
	}
	.sannomiya-himeji .place-list li{
		width: 50%;
	}
	.sannomiya-himeji .place-list li:nth-child(n+2){
		margin-top: 0;	
	}
	.sannomiya-himeji .place-list div{
			padding: 25px 5% 55px;
	}
	.sannomiya-himeji .place-list .pic{
		margin-bottom: 0;
	}
	.sannomiya-himeji .place-list .pic .note{
		font-size: 1.2rem;	
	}
	.sannomiya-himeji .place-list h4{
		margin-bottom: 35px;
		padding-bottom: 5px;
		font-size: 2.4rem;
			
	}
	.sannomiya-himeji .simulation img{
		height: auto;
	}
	.sannomiya-himeji .place-list+.note{
		font-size: 1.2rem;		
	}

/* schedule
-------------------------------------------------- */
	.schedule{
		padding: 45px 0 75px;	
	}
	.schedule .inner{
		padding-bottom: 95px;
		background:url(../images/access/bg_shadow.jpg) no-repeat center bottom;
		background-size:100% auto;	
	}
	.schedule .layout-box+.layout-box{
			margin-top: 40px;
	}
	.schedule .layout-box .ico{
		width: 162px;
		margin-right: 15px;
		padding-top: 0;
			
	}
	.schedule .layout-box .txt{
		margin-bottom: 10px;
		font-size: 2.4rem;
	}
	.schedule .layout-box .txt small{
		padding-right: 5px;
		font-size: 1.4rem;
	}
	.schedule .layout-box .note{
		margin-top: 5px;
		line-height:1.8;
		font-size: 1.2rem;
	}

/* smooth
-------------------------------------------------- */
	.smooth{
		padding: 0 0 40px;	
	}
	.smooth .pic-main{
		margin-bottom: 35px;
		width: 100%;
		transform: none;	
	}
	.smooth .bt-ap{
		display: flex;
		margin-bottom: 40px;
	}
	.smooth .bt-ap li{
		width: 50%;
	}
	.smooth .bt-ap li:nth-child(n+2){
		margin-top: 0;
	}
	.smooth .bt-ap .pic{
		margin-bottom: 25px;	
	}
	.smooth .bt-ap li:nth-child(n+2) .pic{
		margin-bottom: 55px;
	}
	.smooth .bt-ap .layout-box .txt{
		width: 50%;
	}
	.smooth .bt-ap .station{
		font-size: 2.2rem;
		line-height:1.4;
	}
	.smooth .bt-ap .station small{
		padding-right: 5px;
		font-size: 1.3rem;	
	}
	.smooth .bt-ap .time{
		margin-bottom: 2px;
		font-size: 3.1rem;
		line-height:1.4;
	}
	.smooth .bt-ap .time strong{
		font-weight: normal;
		font-size: 4rem;
	}
	.smooth .bt-ap .note{
		line-height:1.5;
	}

/* ▼ 23/11/17 追記 strat */
/* kako bus mini
-------------------------------------------------- */
	.bus_route {
		padding: 40px;
	}
  

  
	.bus_route p {
		margin-bottom: 40px;
	}
	.bus_route ul {
		position: relative;
		display: flex;
		align-items: stretch;
		justify-content: space-between;
		z-index: 1;
	}
	.bus_route ul:after {
		position: absolute;
		width: 99.90%;
		height: 4px;
		background-color: #9f9f9f;
		top: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		content: "";
		z-index: -1;
	}
	.bus_route ul li {
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		text-orientation: upright;
		padding: 18px 12px;
		text-align: left;
	}
	.bus_route ul li:nth-child(n-2):not(:last-child) {
		margin-bottom: 0;
	}
	.bus_route ul li:nth-child(n-2):not(:last-child):before {
		content: none;
	}
/* ▲ 23/11/17 追記 end */



}

@media screen and (min-width: 1000px){
/* ▼ 23/11/17 追記 strat */
/* kako bus mini
-------------------------------------------------- */
.bus_flexbox {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.bus_guide {
	width: 37.5%;
	margin: 0 -7.5% 0 0;
}
.bus_route {
	width: 55%;
	padding: 30px 60px;
	margin: 60px 0;
}
  
.bus_route.bus_route_long {
	width: 100%;
	padding: 30px 60px;
	margin: 60px 0;
}  
  
.bus_route p {
	font-size: 2rem;
	letter-spacing: normal;
}
.bus_route .bus_start {
	left: -5%;
}
  
.bus_route.bus_route_long .bus_start {
	width: 22%;
	position: absolute;
	top: -10%;
	left: -8.5%;
}  
  
/* ▲ 23/11/17 追記 end */
}
@media screen and (min-width: 1200px){

}

