@charset "utf-8";

main#access.underPage {
    padding-top: 0!important;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
	background: linear-gradient(60deg, #B5D8E7 0%, #E1EBE2 100%);
    border-bottom: 15px solid #52BFCA;
}

main img {
    width: 100%;
}

main#access.underPage .handwriting {
    font-family: "adobe-handwriting-ernie", sans-serif;
	font-weight: 400;
}

main#access.underPage .helvetica {
    font-family: helvetica-neue-lt-pro-cond, sans-serif;
	font-weight: 900;
}

.mainVisual {
	background: url("../-image/access/main_bg.jpg") no-repeat 50% 50%;
	background-size: cover;
}

.mainVisual .logoimage {
	width: 320px;
	padding: 235px 0 290px;
	margin: 0 auto 85px;
}

.mainVisual .logoimage img {
	width: 100%;
}

.bgWhite {
	background: rgb(255 255 255 / 60%);
	margin-bottom: 110px;
	padding: 0 80px 80px;
}

.bgWhite h2 {
	background: linear-gradient(90deg, #8AC7B9 0%, #19A9B9 100%);
	display: inline-block;
	padding: 60px 0 15px;
	color:#fff;
	font-size: 42px;
	line-height: 1;
	margin-bottom: 10px;
	width: 50%;
}

.bgWhite02 {
	background: #fff;
	padding: 35px 40px 60px;
}

.bgColor {
	background: linear-gradient(90deg, #87BFB2 0%, #98B9D8 100%);
	color:#fff;
	padding: 0 6px 2px;
	margin-bottom: 10px;
}

.bgColor p {
	color:#fff;
}

.relative {
	position: relative;
}

.absolute {
	position: absolute;
}

.titleJp {
    font-size:13px;
    font-weight: 600;
    letter-spacing: 5px;
    margin-bottom: 80px;
}

#access img {
	width: auto;
	max-width: 100%;
}

.negative {
    margin-top: -132px;
	margin-bottom: 60px;
}

.image {
	margin-bottom: 60px;
}

#access h3 {
    font-size: 20px;
	position: relative;
	border-bottom: 2px solid #231815;
	padding-bottom: 20px;
	margin-bottom: 35px;
}

#access h3:before,#access h3:after {
	content: "";
	position: absolute;
	bottom: -16px;
	background: url("../-image/access/diamond.svg") no-repeat 0 50%;
	background-size: 30px;
	width:30px;
	height: 30px;
}

#access h3:before {
	left:-1px;
}

#access h3:after {
	right:-1px;
}

#access h3 span {
	color: #B42042;
	font-size: 61px;
}

.sec01 {
    margin-bottom: 80px;
}

.timeTable {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}

.timeTable p {
	width: 50%;
	font-size: 25px;
	font-weight: 600;
	text-align: left;
}

.timeTable p span.textColor {
	color: #B42042;
}

.timeTable p span.textsize01 {
	font-size: 61px;
	line-height: 1.2;
}

.timeTable p span.textsize02 {
	font-size: 16px;
	line-height: 1.2;
}

.timeTable p span.textsize03 {
    font-size: 12px;
    line-height: 1.2;
    display: block;
    padding-left: 1.5em;
}

.timeTable p span.textsize04 {
	font-size: 31px;
	line-height: 1.2;
}

.timeTable p.w100 {
	width: 100%;
}

.sec01 .timeTable {
	margin-bottom: 60px;
}

#access .sec01 .lastTrainTitle {
	padding-bottom: 0;
}

#access .sec01 .lastTrainTitle span {
	position: relative;
	font-size: 20px;
	color: #231815;
}

#access .sec01 .lastTrainTitle span:before,.sec01 .lastTrainTitle span:after {
	position: absolute;
	content:"";
	background: url("../-image/access/last_train_h3.svg") no-repeat 50% 50%;
	background-size: 100%;
	width: 22px;
	height: 30px;
}

#access .sec01 .lastTrainTitle span:before {
	left:-30px;
}

.sec01 .lastTrainTitle span:after {
	right: -30px;
}

.sec01 .lastTrain .box {
	width: 31%;
} 

.sec01 .lastTrain .box .photo {
	margin-bottom: 15px;
} 

.sec01 .lastTrain .box p {
	font-size: 22px;
	text-align: left;
	line-height: 1;
}

.sec01 .lastTrain .box p span {
	font-size: 10px;
}

.sec01 .lastTrain .box p.arrowText {
	position: relative;
	margin-bottom: 28px;
}

.sec01 .lastTrain .box p.arrowText:before,.sec01 .lastTrain .box p.arrowText:after {
	position: absolute;
	content:"";
	left: 15px;
	bottom: -25px;
    box-sizing: border-box;
    width: 15px;
    height: 15px;
    border: 7px solid transparent;
    border-top: 7px solid #9fa0a0;
}

.sec01 .lastTrain .box p.arrowText:after {
	left: 85px;
}

.sec02 .photo {
	margin-bottom: 60px;
}

.sec03 {
	background: url("../-image/access/sec03_bg.jpg") no-repeat 50% 50%;
	background-size: cover;
	padding: 110px 0;
} 

.sec03 .bgWhite {
	margin-bottom: 20px;
}

.sec03 .titleJp {
	margin-bottom: 45px;
}

.sec03 .sec03Title {
	margin-bottom: 45px;
}

.sec03 .sec03Title.mb60 {
	margin-bottom: 60px;
}

.sec03 .sec03Title {
    font-size: 20px;
    color: #68a9cf;
    border-top: 2px solid #68a9cf;
    border-bottom: 2px solid #68a9cf;
    padding: 10px 20px;
	display: inline-block;
}

.sec03 .bus01 {
	align-items: flex-end;
}

.sec03 .bus01 p {
	text-align: left;	
}

.sec03 .bus01 li{
	width: 41%;
	margin-bottom: 20px;
}

.sec03 .bus01 li:first-child {
	width: 56%;
}

.sec03 .bus02 {
	position: relative;
	margin-bottom: 30px;
}

.sec03 .bus02:before {
    position: absolute;
    content: "";
    background-image: linear-gradient(to right, #595757 8px, transparent 8px);
    background-size: 12px 1px;
    background-repeat: repeat-x;
    background-position: left bottom;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    height: 1px;
}

.sec03 .bus02:after {
	position: absolute;
	content:"";
	background-image: linear-gradient(to bottom, #595757 8px, transparent 8px);
    background-size: 1px 12px;
    background-repeat: repeat-y;
    background-position: left bottom;
	left:50%;
	transform: translateX(-50%);
	height: 98%;
	width: 1px;
}

.sec03 .bus02 li {
	width: 50%;
	padding: 30px 0 30px 30px;
}

.sec03 .bus02 li:nth-child(odd) {
	padding: 30px 30px 30px 0;
}

.sec03 .mapImage {
    margin-bottom: 20px;
}

.sec03 h5 {
	font-size: 20px;
	font-weight: 600;
	font-family: "a-otf-gothic-mb101-pr6n", sans-serif;
	position: relative;
	display: inline-block;
}

.sec03 .redArea h5:before {
    content: "";
    position: absolute;
    background: url(../-image/access/sec03_img08.svg) no-repeat 50% 50%;
    background-size: 100%;
    width: 40px;
    height: 35px;
    top: 34%;
    left: -35px;
}

.sec03 .greenArea h5:before {
    content: "";
    position: absolute;
    background: url("../-image/access/sec03_img09.svg") no-repeat 50% 50%;
    background-size: 100%;
    width: 40px;
    height: 35px;
    top: 34%;
    left: -35px;
}

.sec03 h5 .size44 {
	font-size: 44px;
}

.sec03 h5 .size24 {
	font-size: 24px;
}

.sec03 .flexBox .box {
    width: 48%;
}

.sec03 .flexBox .redArea,.sec03 .flexBox .greenArea {
    width: 48%;
}

.sec03 .flexBox h6 {
    font-family: "a-otf-gothic-mb101-pr6n", sans-serif;
    font-size: 15px;
    color: #fff;
    font-weight: 600;
    padding: 3px 5px 4px 5px;
    line-height: 1;
    text-align: left;
	margin-bottom: 5px;
}

.sec03 .flexBox h6 .number {
	position: relative;
	margin-right: 8px;
	font-size: 13px;
	z-index: 2;
}

.sec03 .flexBox .greenArea h6 .number {
	margin-right: 0;
}

.sec03 .flexBox h6 .number:before {
	position: absolute;
	content:"";
	border: 2px solid #fff;
	width: 1.5em;
	height: 1.5em;
	border-radius: 100px;
	top:55%;
	left:50%;
	transform: translate(-50%,-50%);
}

.sec03 .flexBox .greenArea h6 .number:before {
	background: #3b801c;
	z-index: -1;
}

.sec03 .redArea h6 {
	background: #e60012;
	padding: 3px 5px 4px 30px;
	text-indent: -1.1em;
}

.sec03 .greenArea h6 {
	background: #4e9e29;
	text-align: center;
}

.sec03 .flexBox p {
	font-family: "a-otf-gothic-mb101-pr6n", sans-serif;
	font-size: 14px;
	color:#727171;
	text-align: left;
	min-height: 6.6em;
}

.sec03 .flexBox .redArea p.irregular {
	min-height: 5.4em;
}

.sec03 .flexBox .greenArea p.irregular {
	min-height: 7.7em;
}

.chariBnr {
	margin: 40px auto;
}

.busBnr {
	margin: 20px auto 100px;
}

@media screen and (max-width: 767px)  {	
	
	main {
		border-bottom: 10px solid #52BFCA;
	}	

	.bgWhite {
		margin-bottom: 50px;
		padding: 0 20px 40px;
	}	

	.bgWhite h2 {
        padding: 20px 0 10px;
        font-size: 28px;
        width: 60%;
    }
	
	.titleJp {
		font-size:10px;
		margin-bottom: 40px;
	}
	
	.mainVisual .logoimage {
		width: 130px;
		padding: 80px 0 100px;
		margin: 0 auto 50px;
	}

	section h3 {
		font-size: 17px;
		letter-spacing: 1px;
		margin-bottom: 30px;
	}
		
	.bgWhite02 {
		padding: 25px 20px;
	}
	
	.negative {
		margin-top: -55px;
		margin-bottom: 30px;
	}	
	
	.image {
		margin-bottom: 30px;
	}	

	#access h3 {
		font-size: 3.4vw;
		border-bottom: 1px solid #231815;
		padding-bottom: 15px;
		margin-bottom: 25px;
	}	
	
	#access h3:before, #access h3:after {
		bottom: -8px;
		background-size: 18px;
		width: 18px;
		height: 15px;
	}
	
	#access h3 span {
		font-size: 26px;
	}

	.timeTable p {
		width: 100%;
		font-size: 14px;
		margin-bottom: 15px;
	}	
	
	.timeTable p span.textsize04 {
		font-size: 18px;
	}

	.timeTable p span.textsize02 {
		font-size: 12px;
	}	
	
	.timeTable p span.textsize01 {
		font-size: 26px;
	}	
	
	.timeTable p span.textsize03 {
		line-height: 1.6;
		padding-left: 1em;
	}
	
	.sec01 {
		margin-bottom: 40px;
	}
	
	.sec01 .lastTrain .box {
		width: 80%;
		margin: 0 auto 30px;
	}	
	
	.sec01 .lastTrain .box p {
		font-size: 18px;
	}
	
	.sec03 .bus01 li,.sec03 .bus01 li:first-child {
		width: 100%;
	}
	
	.sec03 .bus02 {
		margin-bottom: 10px;
	}
	
	.sec03 .bus02:before,.sec03 .bus02:after {
		background-image: none;
	}

	.sec03 .bus02 li,.sec03 .bus02 li:nth-child(odd) {
		padding: 0 0 20px;
		width: 100%;
		margin-bottom: 20px;
		border-bottom: 1px dashed #595757;
	}	

	.sec03 .bus02 li:last-child {
		border-bottom: none;
	}	
	
	.sec03 .sec03Title {
		font-size: 18px;
	}	
	
	.sec03 .sec03Title.mb60 {
		margin-bottom: 30px;
	}	
	
	.sec03 .flexBox .redArea, .sec03 .flexBox .greenArea,.sec03 .flexBox .box {
		width: 100%;
	}	
	
	.sec03 .flexBox p,.sec03 .flexBox .redArea p.irregular,.sec03 .flexBox .greenArea p.irregular {
		min-height: unset;
		margin-bottom: 20px;
	}
	
	.sec03 .flexBox .greenArea p.last {
		margin-bottom: 0;
	}
	
	.sec03 h5 {
		font-size: 18px;
		margin-left: 15px;
	}	
	
	.sec03 h5 .size44 {
		font-size: 38px;
	}
	
	.sec03 h5 .size24 {
		font-size: 22px;
	}
	
	.sec03 .flexBox h6 .number:before {
		top:55%;
		left:55%;
	}	

	.chariBnr {
		margin: 40px auto 20px;
	}

	.busBnr {
		margin: 0px auto 60px;
	}
	
}



@media screen and (min-width: 768px)  and (max-width:1024px)  {

	.mainVisual .logoimage {
        width: 180px;
        padding: 150px 0 200px;
        margin: 0 auto 50px;
    }

	section .bgColor p,section .bgColor,#sec03 .bgColor.fontSmall {
		font-size: 16px;
	}
		
	section .col04 > div, section .col04 > li {
		width: 49%;
		margin-bottom: 20px;
	}	
	
	section .col04 > div:last-child,section .col04 > li:last-child {
		margin-bottom: 0;
	}	
	
	section h3 {
		font-size: 22px;
		letter-spacing: 3px;
	}
	
	.bgWhite {
		margin-bottom: 50px;
		padding: 0 30px 30px;
	}
	
	.bgWhite h2 {
		font-size: 36px;
	}	
	
	.textRed {
		font-size: 12px;
		margin-bottom: 10px;
	}
	
	.titleJp {
		margin-bottom: 50px;
	}

	.negative {
		margin-top: -115px;
		margin-bottom: 40px;
	}	
	
	.timeTable p {
		font-size: 16px;
		margin-bottom: 15px;
	}	
	
	.timeTable p span.textsize04 {
		font-size: 20px;
	}

	.timeTable p span.textsize02 {
		font-size: 12px;
	}	
	
	.timeTable p span.textsize01 {
		font-size: 28px;
	}	
	
	
	
	
}
	
	
	