html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, button{border:0;font-family:inherit;font-style:inherit;font-weight:inherit;margin:0;outline:0;padding:0;vertical-align:baseline;}

body, html{width:100%;}

body{
	font-size:100%;
	line-height:1.6;
	font-weight:500;
	font-family:'M PLUS Rounded 1c', sans-serif,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

p{margin-bottom:16px;}
ol, ul{list-style:none;}
table{border-collapse:collapse;border-spacing:0;}
caption, th, td{font-weight:normal;text-align:left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";content:none;}
blockquote, q{quotes:none;}
a{font-size:100%;vertical-align:baseline;background:transparent;text-decoration:none!important;}
img{max-width: 100%;height: auto;width /***/:auto;vertical-align:bottom;}
a img{border: 0;}
a:hover img,a:active img{-moz-opacity:0.8;opacity:0.8;filter:alpha(opacity=80);}
input, select{vertical-align:middle;}

/* 注意 */
.red{color:#D81919;}
.red-border{border:5px solid #D81919;padding: 1em 0;}

/* text */
.txt_r{text-align:right;}
.txt_c{text-align:center;}

/* ===== 全体 ===== */
.wrap{max-width:800px;margin:0 auto;}
.pc{display: block;}
.sp{display: none;}

.flex_box{margin-bottom:60px;display:flex;justify-content:space-between;flex-wrap:wrap;}
.two_flex .item{width:48%;box-sizing:border-box;position:relative;}
.three_flex .item{width:32%;box-sizing:border-box;position:relative;}
.three_flex::after{content:"";display: block;width:32%;}
.four_flex .item{width:24%;box-sizing:border-box;position:relative;}
.four_flex::before{content:"";display: block;width:24%;order:1;}
.four_flex::after{content:"";display: block;width:24%;}
.box_link{width:100%;height:100%;position:absolute;top:0;left:0;text-indent:-9999px;white-space:nowrap;overflow:hidden;}
.list_center{display:block;text-align:center;}
.list_center li{display:inline-block;}
.list_style_disc{list-style-type:disc;list-style-position:inside;}
img.e5489{padding:0 8px 0 0;}
.mb-0{margin-bottom:0!important;}

/* btn_dsn */
.btn_dsn{width:520px;margin:0 auto;text-align:center;}
.btn_dsn a{padding:24px 0;background:#95B71C;display:block;box-sizing:border-box;border:1px solid #95B71C;border-radius:50px;font-size:24px;line-height:1.5;color:#FFFFFF;transition:0.5s;}
.btn_dsn a:hover{background:#FFFFFF;border:1px solid #95B71C;color:#95B71C;}
/* btn_dsn1 */
.btn_dsn1{width:400px;margin:0 auto 40px;text-align:center;}
.btn_dsn1 a{padding:8px 0;background:#95B71C;display:block;box-sizing:border-box;border:1px solid #95B71C;border-radius:50px;font-size:18px;color:#FFFFFF;transition:0.4s;}
.btn_dsn1 a:hover{background:#FFFFFF;color:#95B71C;}
/* btn_dsn2 */
.btn_dsn2{width:400px;margin: 0 auto 3em auto;text-align:center;}
.btn_dsn2 a{padding:8px 0;background:#95B71C;display:block;box-sizing:border-box;border:1px solid #95B71C;border-radius:50px;font-size:20px;color:#FFFFFF;transition:0.4s;}
.btn_dsn2 a:hover{background:#FFFFFF;border:1px solid #95B71C;color:#95B71C;}

/* btn_dsn3 */
.btn_dsn3{width:400px;margin:0 auto;position:relative;text-align:center;z-index:999;}
.btn_dsn3 a{padding:12px 0;display:block;box-sizing:border-box;background:#FFFFFF;border:2px solid #D84419;border-radius:40px;font-size:21px;font-weight:600;letter-spacing:0.05em;color:#D84419;transition:0.5s;}
.btn_dsn3 a:hover{background:#D84419;border-color:#FFFFFF;color:#FFFFFF;}

/* ===== header ===== */
#header{padding: 32px;position:relative;}
#logo{width: 100%;color:#95B71C;font-weight:900;font-size:32px;}
#logo a{color:#95B71C;font-weight:900;}

/* ===== mainimage ===== */
#main_image .slider{width:100%;height:400px;overflow:hidden;}
#main_image img{width:100%;height:400px;object-fit:cover;}

/* ===== about ===== */
#about{padding:40px 0;position:relative;text-align: center;}
#about .page_title{width:800px;padding:24px 0; background:#FFFFFF;position:absolute;top:-80px;right:50%;transform:translateX(50%);border-radius:32px 32px 0 0;font-size:24px;font-weight:600;line-height:1.75;letter-spacing:0.05em;z-index: 99999;}
#about p{margin-bottom: 32px;line-height:1.9;font-weight: 600;}
#about p img {width: 95px;}
#about .btn_dsn1{margin-bottom:0;}

/* ===== contents ===== */
#contents{padding-top:80px;background:#E8F0CD;}
#contents section{padding-bottom:80px;}
#contents section h3{margin-bottom:32px;padding:8px 0;background:#D84419;border-radius:8px;font-size:20px;line-height:1.75;letter-spacing:0.05em; color:#FFFFFF;text-align:center;}
#contents section p{margin-bottom:24px;}
#contents .white_box{padding:40px;background:#FFFFFF;border-radius:8px;}
#contents .asterisk{list-style:none;}
#contents .asterisk li{margin:0;padding-left:16px;position:relative;}
#contents .asterisk li::before{content:"※";position:absolute;top:1px;left:0;}

/* === purchase === */
#contents #purchase{padding-bottom:60px;}
#purchase .flex_box{counter-reset: number 0;}
#purchase .flex_box .item h4{height:160px;margin-bottom:24px;padding:90px 0 24px 0;box-sizing:border-box;background:#FFFFFF no-repeat center top 20px;border-radius:8px;font-size:18px;font-weight:600;letter-spacing:0.05em;color:#D84419;text-align:center;}
#purchase .flex_box .item:nth-of-type(1) h4{background-image:url("../img/purchase1.svg");background-size:68px;}
#purchase .flex_box .item:nth-of-type(2) h4{background-image:url("../img/purchase2.svg");background-size:68px;}
#purchase .flex_box .item h4::before{width:52px;height:52px;line-height:52px;display:block;position:absolute;top:8px;left:8px;background:#D84419;border-radius:50%;box-sizing:border-box;counter-increment:number 1;content:counter(number)"";font-size:24px;color:#FFFFFF;}
#purchase .flex_box .item h4 small{display:block;font-size:11px;}
#purchase .flex_box .item .btn_dsn1{margin-bottom:0;}
.e5489-info{text-align:center;}
.e5489-info p{border:4px solid #95B71C;border-radius:50px;padding:20px 24px;}
.e5489-info p a{color:#D81919;text-decoration:underline!important;}

/* === caution === */
#caution .caution_img{position: relative;}
#caution .caution_img img{border-radius:8px;}
#caution ul{list-style:disc;}
#caution ul li{margin:0 0 16px 24px;}
#caution ul li a{text-decoration:underline;color:#0000FF;}
/*table*/
#caution .white_box table{width:100%;margin-bottom:16px;}
#caution .white_box table caption{margin-top:16px; caption-side:bottom;font-size:14px;}
#caution .white_box table th,#caution .white_box table td{padding:8px 0;border:1px solid #221714;text-align:center;}
#caution .white_box table thead th{background:#D84419;color:#FFFFFF;}
#caution .white_box table tbody th{width:50%;background:#F0F0F0;}
#caution .white_box ul{margin-bottom:0;font-size:14px;}
#caution .white_box ul li{margin-bottom:0;}
.sec-caution-01{background: #fff;border-radius: 8px;position: relative;padding: 1.5em 0;margin-bottom: 2em;text-align: center;}
.sec-caution-ttl{background: #D84419;color: #FFFFFF;padding: 0.2em 1em;width: 150px;text-align: center;font-size: 18px;border-radius: 8px;margin: 2em 0 1em;}

/* === change === */
#change p img{width: 95px;}
#change .white_box p strong{padding:4px 12px;border-bottom:2px solid #221714;font-size:18px;font-weight:700;color:#221714;}
#change .white_box .flex_box{margin-bottom:0;}
#change .white_box .flex_box dt{width:90px;height: 32px;margin-bottom: 16px;display: flex;flex-direction: column;justify-content: center;align-items: center;background-color: #221714;color: #FFFFFF;border-radius: 8px;}
#change .white_box .flex_box dd{width:calc(100% - 110px);padding-top:4px;font-size:15px;}

/* === reservation === */
#reservation{padding-top:80px;position:relative; background:url("../img/reservation_bg.jpg") no-repeat center bottom/ cover;}
#reservation::before{width:100%;height:100%;content:"";display:block;position:absolute;left:0;top:0;background:rgba(209,224,155,0.7);}

/* ===== footer ===== */
.reserved #footer{padding:40px 32px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;}
#footer #access{padding:80px 0;background-color:#95B71C;color:#FFFFFF;}
#access .access_wrap{margin-bottom:0;}
#access .access_wrap .item h3{margin-bottom:40px; padding:8px 0;background:#FFFFFF;border-radius:8px;color:#221714;font-weight:600;text-align:center;}
img.e5489{width:87px;}

#access .access_wrap .item dl dt{margin-bottom:12px;font-size:18px;}
#access .access_wrap .item dl dt small{display:block;font-size:13px;}
#access .access_wrap .item dl dd{margin-bottom:16px;font-size:14px;}
#access .access_wrap .access_box .access_head{margin-bottom:8px;padding:2px 24px;display:inline-block;background:#FFFFFF;border-radius:24px;font-weight:700;color:#221714;}

#access .access_wrap .tel_group{margin-bottom:12px;}
#access .access_wrap .tel_group:last-of-type{margin-bottom:0;}
#access .access_wrap .tel{font-size:21px;font-weight:700;letter-spacing:0.05em;}
#access .access_wrap .tel a{color:#FFFFFF;}
#access .access_wrap .tel small{font-size:12px;font-weight:500;}
#access .access_wrap .tel_example{font-size:11px;}

#access .flex_box .item:nth-of-type(1) dl dd:nth-of-type(1){margin-bottom:40px;}

#footer .f_box{padding:40px 32px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;}
#footer .f_box_row{display:flex;flex-direction:row;}
#f_logo{width:100px;}
#aptrain_hp{margin-left:40px;}
#footer div.copy{text-align:center;font-size:11px;}

/* ===== 指定席予約購入 ===== */
/* ===== contents ===== */
.reserved select{width:240px;padding:12px 0;border:1px solid #E6E6E6;font-size:20px;letter-spacing:0.05em;text-align:center;appearance:none;}
/* === section === */
.reserved .select_box span{margin: 0 24px;display:inline-block;}
/* === calender === */
#calender p{margin-bottom:32px;}
#calender_wrap{height:552px;background:#FFFFFF;}
/* === time === */
#time select{margin:0 auto 40px;display:block;}

@media screen and (min-width: 1025px) {
	#global_menu{display:block !important;}
}
@media screen and (min-width: 741px) {
	a[href^="tel:"]{pointer-events:none;cursor:default;text-decoration: none;}
}

@media screen and (max-width: 1024px) {
	.pc{display:none;}
	.wrap{width:90%;}
}

@media screen and (max-width: 860px) {
	/* ===== about ===== */
	#about .page_title{width:90%;top:-60px;font-size:20px;line-height:1.5;}
}

@media screen and (max-width: 800px) {
	.sp{display:block;}
	#about .page_title{padding-top:16px;}
	#logo,#logo a{font-size:28px;text-align:center;}
	/* === caution === */
	.scroll_wrap{width:100%;margin-bottom:40px;overflow:auto;}
	#caution .caution_img{width:600px;margin-bottom:8px;}
	#caution .caution_img::before{width:600px;margin-bottom:8px;}
	/* ===== purchase ===== */
	#purchase .two_flex .item{width:100%;}
	#purchase .two_flex .item:nth-of-type(2){margin-bottom:0;}
	#purchase .two_flex .item p br{display:none;}
	#purchase .two_flex .item .asterisk{margin-bottom:24px;}
	#purchase .two_flex .item .asterisk li small br{display:none;}
	/* ===== footer ===== */
	#access .flex_box .item h3{margin-bottom:24px;font-size:15px;}
	#access .flex_box .item dl{padding:0 12px;}
	#footer .f_box{padding:32px 32px 16px;flex-direction:column;}
	#f_logo{margin-bottom:16px;}
	
	/* === 指定席予約購入 === */
	/* select_box */
	.reserved .select_box{display:flex;justify-content:space-between;flex-wrap:wrap;}
	.reserved .select_box select{width:45%;}
	.reserved .select_box span{width:10%;margin:0;display:flex;justify-content:center;align-items:center;}
}

@media screen and (max-width: 740px) {
	.two_flex .item{width:100%;margin:0 0 40px;}
	.three_flex .item{width:100%;}
	.four_flex .item{width:48%;}
	.four_flex::before{content:"";display: block;width:48%;order:1;}
	.four_flex::after{content:"";display: block;width:48%;}
	/* ===== mainimage ===== */
	#main_image .slider{height:300px;}
	#main_image img{height:300px;}
	/* purchase */
	#purchase .flex_box .item h4{height:inherit;}
	/* ===== footer ===== */
	#access .two_flex .item{width:100%;text-align:center;}
	#access .two_flex .item:first-of-type{margin-bottom:40px;}
	#access .two_flex .item:nth-of-type(2){margin-bottom:0;}
}

@media screen and (max-width: 640px) {
	.btn_dsn{width:90%;}
	.btn_dsn a{font-size:18px;}
	.btn_dsn1{width:90%;}
	.btn_dsn1 a{font-size:16px;}
	.btn_dsn2{width:70%;}
	.btn_dsn3{width:80%;}
	.btn_dsn3 a{font-size:21px;}
	/* ===== header ===== */
	#header{padding:24px 0;}
	#logo,#logo a{width:80%;margin:0 auto;}
	/* ===== mainimage ===== */
	#main_image .slider{height:240px;}
	#main_image img{height:240px;}
	/* about */
	#about{padding:60px 0 40px;}
	#about .page_title{top:-64px;}
	#about p{text-align:left;}
	
	#contents{padding-top:40px;}
	#contents section{padding-bottom:40px;}
	#contents section h3{font-size:18px;}
	#contents .white_box{padding:24px 16px;}
	.sec-caution-ttl{font-size:16px;}
	.btn_dsn a{margin-top:1em;}
	/* purchase */
	#contents #purchase{padding-bottom:40px;}
	/* caution */
	#caution .caution_box{padding:24px 16px;}
	#caution .caution_box .scroll_wrap{margin-bottom:24px;}
	#caution .white_box table{font-size:15px;}
	#caution .white_box table tbody th,#caution .white_box table tbody td{padding-left:16px;text-align:left;}
	/* change */
	#change .white_box p{margin-bottom:32px;text-align:center;}
	#change .white_box p strong{padding:4px 0;font-size:16px;}
	#change .white_box .flex_box dt{margin-bottom:8px;}
	#change .white_box .flex_box dd{width:100%;margin-bottom:16px;padding-top:0;}
	#change .white_box .flex_box dd:last-of-type{margin-bottom:0;}
}
.m-0-auto{
	margin: 0 auto;
}
.ma-t-1{
	margin-top: 1em;
}
.ride-date{
	text-align: center;
	font-size: 19px;
	background: #fff;
	border: #ccc 1px solid;
	padding: 0 0 1em;
	border-radius: 4px;
}