@charset "utf-8";

/*■ PC : 751px < Window Size ■*/
@media print,screen and (min-width: 751px) {
	#page-ttl{
	}
	#access{
	}

	#gmap_bloc{
	}
	#gmap_bloc .inner{
		padding-top: 0;
		padding-bottom: 12.1rem;
	}
	#gmap_bloc iframe{
		width: 100%;
		vertical-align: top;
		display: block;
		height: 62rem;
	}

	#car_bloc{
		background-color:#fff;
	}
	#car_bloc .inner {
		padding-top: 5.7rem;
		padding-bottom: 6.1rem;
	}
	#car_bloc h3 {
		margin-bottom: 5.8rem;
	}
	#car_bloc h3 span{
		color:#222;
	}

	#route_area{
	}
	#route_area .inbox {
		display: flex;
		display: -webkit-flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		flex-flow: row nowrap;
		-webkit-flex-flow: row nowrap;
		align-items: stretch;
		-webkit-align-items: stretch;
	}
	#route_area .osaka{
	}
	#route_area .himeji{
	}
	#route_area .kyoto{
	}
	#route_area .course {
		width: 29.8%;
		margin-left: 5.3%;
	}
	#route_area .course:first-child{
		margin-left:0;
	}
	#route_area .course .start{
		background-color: #222222;
		text-align: center;
		display: flex;
		display: -webkit-flex;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		flex-flow: column wrap;
		-webkit-flex-flow: column wrap;
		align-items: center;
		-webkit-align-items: center;
		box-sizing: border-box;
		-webkit-box-sizing: border-box;
		width: 100%;
		min-height:8rem;
		padding: 1.7rem 0.5rem 1.5rem;
		position:relative;
		z-index:1;
	}
	#route_area .course .start .ttl{
		color: #fff;
		font-size: 1.8rem;
		line-height: 1.2em;
		letter-spacing: 0px;
		margin-bottom: 0.5rem;
		display: block;
		font-weight: normal;
	}
	#route_area .course .start .time{
		color: #fff;
		font-size: 1.4rem;
		font-weight: normal;
		line-height: 1.4em;
		letter-spacing: 0px;
		display: block;
	}
	#route_area .route {
		width: 100%;
		position: relative;
		display:block !important;
		height:100% !important;
		opacity:1 !important;
		margin:0 !important;
		padding:0 0 5.9rem !important;
		overflow:hidden;
	}
	#route_area .course.aos-animate .route::before {
		opacity:1;
	}
	#route_area .route::before {
		content: "";
		position: absolute;
		z-index: 0;
		width: 2rem;
		height: 105%;
		display: block;
		background-color: #b3b3b3;
		top: -1%;
		left: 2rem;
		opacity:0;
		-moz-transition: opacity 0.5s ease 0.5s;
		-ms-transition: opacity 0.5s ease 0.5s;
		-webkit-transition: opacity 0.5s ease 0.5s;
		transition: opacity 0.5s ease 0.5s;
	}
	#route_area .route .guide {
		width: 100%;
		min-height: 5.4rem;
		letter-spacing: 0;
		display: flex;
		display: -webkit-flex;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		align-items: center;
		-webkit-align-items: center;
		position: relative;
		z-index: 1;
		padding: 0.8rem 0 1rem 5.9rem;
		line-height: 1.75em;
	}
	#route_area .route .point {
		width: 100%;
		min-height: 5.3rem;
		box-sizing: border-box;
		-webkit-box-sizing: border-box;
		background-color: #fff;
		border: 2px solid #222;
		display: flex;
		display: -webkit-flex;
		-webkit-justify-content: center;
		justify-content: center;
		align-items: center;
		-webkit-align-items: center;
		letter-spacing: 0;
		padding: 0.7rem 0.5rem 1rem;
		position: relative;
		z-index: 1;
	}
	#route_area .route .guide.row1{
		height:7.7rem;
		padding-top:0.9rem;
	}
	#route_area .route .guide.row2{
		height:16.1rem;
		padding-bottom: 1.9rem;
	}
	#route_area .route .guide.row3{
		height:29.1rem;
		padding-bottom: 5rem;
	}
	#route_area .goal {
		text-align: center;
		position: relative;
		z-index: 1;
		background-color: #222;
		box-sizing: border-box;
		-webkit-box-sizing: border-box;
		width: 100%;
		padding: 2.1rem 0.5rem 2.7rem;
		margin-bottom: 6rem;
	}
	#route_area .goal img{
		width:24.7rem;
		height:auto;
	}
	#route_area .btn_area{
		display:flex;
		display:-webkit-flex;
		-webkit-justify-content: center;
		justify-content: center;
		flex-flow: row nowrap;
		-webkit-flex-flow: row nowrap;
		align-items: flex-start;
		-webkit-align-items: flex-start;
	}
	#route_area .btn_area .btn_def{
		margin:0 1.5rem;
	}

	#train_bloc{
		background-color:#fff;
	}
	#train_bloc .inner {
		padding-bottom: 5.9rem;
	}
	#train_bloc h3 {
		margin-bottom: 5.8rem;
	}
	#train_bloc h3 span{
		color:#222;
	}
	#train_bloc .route {
		display: flex;
		display: -webkit-flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		flex-flow: row nowrap;
		-webkit-flex-flow: row nowrap;
		align-items: stretch;
		-webkit-align-items: stretch;
		margin-bottom: 2.2rem;
	}
	#train_bloc .route li {
		max-width: 25.5rem;
		width: 22.4%;
		margin-left: 3.4%;
	}
	#train_bloc .route li:first-child{
		margin-left:0;
	}
	#train_bloc .route li .start {
		background-color: #222222;
		text-align: center;
		display: flex;
		display: -webkit-flex;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		flex-flow: column wrap;
		-webkit-flex-flow: column wrap;
		align-items: center;
		-webkit-align-items: center;
		box-sizing: border-box;
		-webkit-box-sizing: border-box;
		width: 100%;
		min-height:8rem;
		padding: 1.7rem 0.5rem 1.5rem;
		margin-bottom: 1.4rem;
	}
	#train_bloc .route li .start .ttl {
		color: #fff;
		font-size: 1.8rem;
		line-height: 1.2em;
		letter-spacing: 0px;
		margin-bottom: 0.5rem;
		display: block;
		font-weight: normal;
	}
	#train_bloc .route li .start .time {
		color: #fff;
		font-size: 1.4rem;
		font-weight: normal;
		line-height: 1.4em;
		letter-spacing: 0px;
		display: block;
	}
	#train_bloc .route li .guide {
		text-align: center;
		letter-spacing: -0.03em;
		line-height: 1.7em;
	}
	#train_bloc .ex {
		text-align: center;
		line-height: 1.4em;
		letter-spacing: 0;
		margin-bottom: 5.7rem;
	}
	#train_bloc .btn_area{
	}
	#train_bloc .btn_area .btn_def{
	}

	#air_bloc{
		background-color:#fff;
	}
	#air_bloc .inner {
		padding-bottom: 17.5rem;
	}
	#air_bloc h3 {
		margin-bottom: 5.2rem;
	}
	#air_bloc h3 span{
		color:#222;
	}
	#air_bloc p {
		color: #222;
		font-size: 1.4rem;
		line-height: 1.7em;
		letter-spacing: 0px;
		text-align: center;
	}

	/* IE11 */
	_:-ms-fullscreen, :root #route_area .course .start {
		padding-top: 2rem;
		padding-bottom:1.3rem;
	}
	_:-ms-fullscreen, :root #route_area .route .guide {
		padding-top: 1.5rem;
		padding-bottom:0.3rem;
	}
	_:-ms-fullscreen, :root #route_area .route .guide.row1{
		padding-top: 0.7rem;
		padding-bottom:0.5rem;
	}
	_:-ms-fullscreen, :root #route_area .route .guide.row2{
		padding-top: 1.5rem;
		padding-bottom:1.5rem;
	}
	_:-ms-fullscreen, :root #route_area .route .guide.row3{
		padding-top: 2rem;
		padding-bottom:3rem;
	}
	_:-ms-fullscreen, :root #route_area .route .point {
		padding-top: 1.5rem;
		padding-bottom:0.2rem;
	}
	_:-ms-fullscreen, :root #train_bloc .route li .start {
		padding-top: 2rem;
		padding-bottom:1.3rem;
	}
}
/*■ Mobile (Low Res) : 750px > 0 ■*/
@media only screen and (max-width: 750px) {
	#page-ttl{
		height: 4.24rem;
	}
	#access{
	}
	#access .inner {
		padding-top: 0;
		padding-bottom: 1.2rem;
	}
	#gmap_bloc iframe{
		width: 100%;
		vertical-align: top;
		display: block;
		height: 5rem;
	}

	#car_bloc{
		background-color:#fff;
	}
	#car_bloc .inner {
		padding-top: 0.57rem;
		padding-bottom: 0.89rem;
	}
	#car_bloc h3 {
		margin-bottom: 0.59rem;
	}
	#car_bloc h3 span{
		color:#222;
	}

	#route_area{
	}
	#route_area .inbox {
	}
	#route_area .osaka{
	}
	#route_area .himeji{
	}
	#route_area .kyoto{
	}
	#route_area .course {
		width: 100%;
		margin-bottom: 0.3rem;
	}
	#route_area .course .start {
		background-color: #222222;
		text-align: center;
		display: flex;
		display: -webkit-flex;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		flex-flow: column wrap;
		-webkit-flex-flow: column wrap;
		align-items: center;
		-webkit-align-items: center;
		box-sizing: border-box;
		-webkit-box-sizing: border-box;
		width: 100%;
		height: 1.05rem;
		padding: 0.15rem 0.05rem 0;
		position: relative;
		z-index: 1;
		cursor: pointer;
	}
	#route_area .course .start::before {
		content: "";
		color: #fff;
		font-size: 0.32rem;
		font-weight: 900;
		font-family: "Font Awesome 5 Free";
		-moz-osx-font-smoothing: grayscale;
		-webkit-font-smoothing: antialiased;
		display: inline-block;
		font-style: normal;
		font-variant: normal;
		text-rendering: auto;
		line-height: 1;
		letter-spacing: 0;
		vertical-align: top;
		-webkit-transform: scale(1,1);
		transform: scale(1,1);
		-webkit-transition-duration: 0.1s !important;
		transition-duration: 0.1s !important;
		-webkit-transition-property: transform;
		transition-property: transform;
		-webkit-transition-timing-function: linear;
		transition-timing-function: linear;
		position: absolute;
		right: 0.34rem;
		top: 50%;
		margin-top: -0.5em;
	}
	#route_area .course.open .start:before{
		content:"\f106";
	}
	#route_area .course:not(.open) .start:before{
		content:"\f107";
	}
	#route_area .course .start:hover:before{
		-webkit-transform: scale(1.4,1.4);
		transform: scale(1.4,1.4);
	}
	#route_area .course .start .ttl {
		color: #fff;
		font-size: 0.32rem;
		line-height: 1.2em;
		letter-spacing: 0px;
		margin-bottom: 0;
		display: block;
		font-weight: normal;
	}
	#route_area .course .start .time{
		color: #fff;
		font-size: 0.26rem;
		font-weight: normal;
		line-height: 1.4em;
		letter-spacing: 0px;
		display: block;
	}
	#route_area .route {
		width: 100%;
		position: relative;
		overflow: hidden;
		margin-bottom: 0.59rem;
	}
	#route_area .course:last-child .route {
		margin-bottom:0;
	}
	#route_area .course.aos-animate .route::before {
		opacity:1;
	}
	#route_area .route::before {
		content: "";
		position: absolute;
		z-index: 0;
		width: 0.4rem;
		height: 90%;
		display: block;
		background-color: #b3b3b3;
		top: -1%;
		left: 0.2rem;
		opacity: 0;
		-moz-transition: opacity 0.5s ease 0.5s;
		-ms-transition: opacity 0.5s ease 0.5s;
		-webkit-transition: opacity 0.5s ease 0.5s;
		transition: opacity 0.5s ease 0.5s;
	}
	#route_area .route .guide {
		width: 100%;
		letter-spacing: 0;
		display: flex;
		display: -webkit-flex;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		align-items: center;
		-webkit-align-items: center;
		position: relative;
		z-index: 1;
		padding: 0.22rem 0 0.27rem 0.87rem;
		line-height: 1.4em;
	}
	#route_area .route .point {
		width: 100%;
		height: 0.7rem;
		box-sizing: border-box;
		-webkit-box-sizing: border-box;
		background-color: #fff;
		border: 4px solid #222;
		/* display: flex; */
		display: -webkit-flex;
		-webkit-justify-content: center;
		justify-content: center;
		align-items: center;
		-webkit-align-items: center;
		letter-spacing: 0;
		padding: 0.08rem 0.08rem 0.13rem;
		position: relative;
		z-index: 1;
	}
	#route_area .route .guide.row1{
	}
	#route_area .route .guide.row2{
	}
	#route_area .route .guide.row3{
	}
	#route_area .route .sp {
		background-color: #fff;
		position: relative;
		z-index: 1;
	}
	#route_area .route .goal {
		text-align: center;
		background-color: #222;
		box-sizing: border-box;
		-webkit-box-sizing: border-box;
		width: 100%;
		padding: 0.24rem 0.05rem 0.24rem;
		margin-bottom: 0.6rem;
		margin-top: 0.6rem;
	}
	#route_area .route .goal img{
		width:2.47rem;
		height:auto;
	}
	#route_area .route .btn_area{
	}
	#route_area .route .btn_area .btn_def{
	}

	#train_bloc{
		background-color:#fff;
	}
	#train_bloc .inner {
		padding-bottom: 1.2rem;
	}
	#train_bloc h3 {
		margin-bottom: 0.56rem;
	}
	#train_bloc h3 span{
		color:#222;
	}
	#train_bloc .route {
		display: block;
		margin-bottom: 0.47rem;
	}
	#train_bloc .route li {
		width: 100%;
		margin-top: 0.55rem;
	}
	#train_bloc .route li:first-child{
		margin-top:0;
	}
	#train_bloc .route li .start {
		background-color: #222222;
		text-align: center;
		display: flex;
		display: -webkit-flex;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		flex-flow: column wrap;
		-webkit-flex-flow: column wrap;
		align-items: center;
		-webkit-align-items: center;
		box-sizing: border-box;
		-webkit-box-sizing: border-box;
		width: 100%;
		height: 1.05rem;
		padding: 0.15rem 0.05rem 0;
		margin-bottom: 0.22rem;
	}
	#train_bloc .route li .start .ttl {
		color: #fff;
		font-size: 0.32rem;
		line-height: 1.2em;
		letter-spacing: 0px;
		margin-bottom: 0;
		display: block;
		font-weight: normal;
	}
	#train_bloc .route li .start .time {
		color: #fff;
		font-size: 0.26rem;
		font-weight: normal;
		line-height: 1.4em;
		letter-spacing: 0px;
		display: block;
	}
	#train_bloc .route li .guide {
		text-align: center;
		letter-spacing: -0.03em;
		line-height: 1.4em;
	}
	#train_bloc .ex {
		text-align: left;
		line-height: 1.4em;
		letter-spacing: 0;
		margin-bottom: 0.54rem;
		text-indent: -1em;
		margin-left: 1em;
	}
	#train_bloc .btn_area{
	}
	#train_bloc .btn_area .btn_def{
	}

	#air_bloc{
		background-color:#fff;
	}
	#air_bloc .inner {
		padding-bottom: 1.75rem;
	}
	#air_bloc h3 {
		margin-bottom: 0.54rem;
	}
	#air_bloc h3 span{
		color:#222;
	}
	#air_bloc p {
		color: #222;
		font-size: 0.26rem;
		line-height: 1.4em;
		letter-spacing: 0px;
		text-align: center;
	}
}
/*■ Mobile (Low Res) : 480px > 0 ■*/
@media only screen and (max-width: 480px) {
	#route_area .route .point {
		border:2px solid #222;
	}
}
