@charset "shift_jis";

/* *******************************************************************

	観光周遊バス「びゅうばす」用CSS（RWD）
	/travel/viewbus/＊

	01. 初期化
	02. 汎用クラス
	03. 流用
	04. びゅうばすヘッダー【PC only】
	05. エリアタイトル
	06. コンテンツ
	07. メニューボックス
	08. アコーディオン
	09. コースのコンテンツ
	10. コンテンツ下のメニュー【SP only】
	11. まだまだあります！！
	12. びゅう
	13. ダイナミックレールパック
	14. 注釈
	15. 定期観光バス

******************************************************************* */

/* *******************************************************************

	01. 初期化

******************************************************************* */

/* 【PC】 */
@media print, screen and (min-width: 641px) {
	html {
		font-size: 16px;
		font-size: 62.5%; /* 1rem = 10px */
	}
	body {
		font-size: 100%;
		line-height:1.5;
		font-size: 1.4rem;
	}
	
	#l_main a {
		text-decoration:underline;
		color:#333;
	}
	#l_main a:link {
		color: #0000ee;
	}
	#l_main a:visited {
		color:#551a8b;
	}
	#l_main a:hover {
		color:#ff0000;
	}
	#l_main a:active {
		color:#ff6600;
	}
}


/* 【SP】 */
@media only screen and (max-width: 640px) {
	html {
		font-size: 15px;
		font-size: 62.5%; /* 1rem = 10px */
	}
}







/* *******************************************************************

	02. 汎用クラス

******************************************************************* */
/* フロート解除 */
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both !important;
	height: 0;
	}
* html .clearfix { zoom: 1; }
*:first-child+html .clearfix { zoom: 1; }

/* テキスト揃え */
.txtC { text-align: center !important; }
.txtL { text-align: left !important; }
.txtR { text-align: right !important; }

/* 文字の太さ */
.txtB {font-weight: bold !important; }

/* 文字色 */
.txtRed { color: #e50000 !important; }

/* 余白 */

.mt55 { margin-top: 55px !important; }
.mt65 { margin-top: 65px !important; }
.mt75 { margin-top: 75px !important; }
.mt85 { margin-top: 85px !important; }
.mt95 { margin-top: 95px !important; }

.mb55 { margin-bottom: 55px !important; }
.mb65 { margin-bottom: 65px !important; }
.mb75 { margin-bottom: 75px !important; }
.mb85 { margin-bottom: 85px !important; }
.mb95 { margin-bottom: 95px !important; }

.yohaku {margin: 20px 0 !important;}

/* 注釈 */
ul.kome {padding-left: 1em;}
ul.kome li {text-indent: -1em;}

/* テストアップ用 */
.dummy {position: relative;}
.dummy img {opacity: 0.2;}
.dummy:after {
	content: "dummy";
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	margin: auto;
	padding: 0.2em 0.5em;
	width:3.8em;
	background-color: #aaa;
	height: 1.3em;
	color:#fff;
}


/* 【PC】 */
@media print, screen and (min-width: 641px) {
	.sp {display:none !important;}

	.pc-font12 {font-size:1.2em !important; font-size:1.2rem !important;}
	.pc-font13 {font-size:1.3em !important; font-size:1.3rem !important;}
	.pc-font14 {font-size:1.4em !important; font-size:1.4rem !important;}
	.pc-font15 {font-size:1.5em !important; font-size:1.5rem !important;}
	.pc-font16 {font-size:1.6em !important; font-size:1.6rem !important;}
	.pc-font17 {font-size:1.7em !important; font-size:1.7rem !important;}
	.pc-font18 {font-size:1.8em !important; font-size:1.8rem !important;}
	.pc-font19 {font-size:1.9em !important; font-size:1.9rem !important;}
	.pc-font20 {font-size:2.0em !important; font-size:2.0rem !important;}
	.pc-font21 {font-size:2.1em !important; font-size:2.1rem !important;}
	.pc-font22 {font-size:2.2em !important; font-size:2.2rem !important;}
	.pc-font23 {font-size:2.3em !important; font-size:2.3rem !important;}
	.pc-font24 {font-size:2.4em !important; font-size:2.4rem !important;}
	
	
}


/* 【SP】 */
@media only screen and (max-width: 640px) {
	.pc {display:none !important;}

	.sp-font12 {font-size:1.2em !important; font-size:1.2rem !important;}
	.sp-font13 {font-size:1.3em !important; font-size:1.3rem !important;}
	.sp-font14 {font-size:1.4em !important; font-size:1.4rem !important;}
	.sp-font15 {font-size:1.5em !important; font-size:1.5rem !important;}
	.sp-font16 {font-size:1.6em !important; font-size:1.6rem !important;}
	.sp-font17 {font-size:1.7em !important; font-size:1.7rem !important;}
	.sp-font18 {font-size:1.8em !important; font-size:1.8rem !important;}
	.sp-font19 {font-size:1.9em !important; font-size:1.9rem !important;}
	.sp-font20 {font-size:2.0em !important; font-size:2.0rem !important;}
	.sp-font21 {font-size:2.1em !important; font-size:2.1rem !important;}
	.sp-font22 {font-size:2.2em !important; font-size:2.2rem !important;}
	.sp-font23 {font-size:2.3em !important; font-size:2.3rem !important;}
	.sp-font24 {font-size:2.4em !important; font-size:2.4rem !important;}

	.sp-yohaku {padding:0 10px;}
	
	.sp-mb0 {margin-bottom: 0 !important;}
	.font16 {font-size: 1.4rem !important;}
}






/* *******************************************************************

	03. 流用

******************************************************************* */
/* パンくず */
#breadcrumb {
	max-width: 950px;
	width: 100%;
	margin: 0 auto;
	padding: 10px 0;
}
#breadcrumb a {
	color: #1111cc;
}

@media screen and (max-width: 639px) {
	#breadcrumb {
		padding: 3%;
	}
	#breadcrumb.sp_b {
		display: none;
	}
}


/* 【PC】 ************************************************ */
@media print, screen and (min-width: 641px) {
	/* フッター */
	#ekinet_footer .footerlink {
		font-size:1.3rem !important;
	}

	/* ページの先頭へ戻る */
	.pagetop {
		margin: 0;
		width:100%;
		text-align: right;
		font-size: 1.3rem;
	}
}

@media screen and (max-width: 639px) {
	.pagetop {
		display: block;
		margin: 33px 0;
		text-align: right;
		padding-right: 10px;
	}
	.pagetop a {
		font-size: 12px;
	}
	#l_main a {
		color: #1111cc;
		text-decoration: none;
	}
}


/* *******************************************************************

	04. びゅうばすヘッダー【PC only】

******************************************************************* */
#viewbus-header {
	border-bottom: solid 3px #e90a1b;
	padding-bottom: 7px;
	width: 100%;
}
#viewbus-header #vh-inner {
	margin: 0 auto;
	width: 950px;
}
#viewbus-header #vh-inner p,
#viewbus-header #vh-inner ul {
	float: left;
	margin: 0;
	padding: 0;
}
#viewbus-header #vh-inner p a:hover img {
	opacity: 1;
}
#viewbus-header #vh-inner ul {
	margin-left: 21px;
	padding-right: 9px;
	background: url(../img/header-line.gif) right top no-repeat;
}
#viewbus-header #vh-inner ul li {
	float: left;
	margin-left: 6px;
	padding: 11px 0 0 9px;
	height: 52px;
	background: url(/travel/viewbus/img/header-line.gif) left top no-repeat;
	list-style:none;
}
#viewbus-header #vh-inner ul li a,
#viewbus-header #vh-inner ul li span {
	display: block;
	border-radius: 5px;
	padding: 7px 19px;
	background-color: #fff;
}
#viewbus-header #vh-inner ul li a:hover,
#viewbus-header #vh-inner ul li span {
	background-color: #fef054;
}
#viewbus-header #vh-inner ul li a:hover img {
	opacity: 1;
}
#viewbus-header #vh-inner ul li a img,
#viewbus-header #vh-inner ul li span img {
	display: block;
	max-height: 16px;
}








/* *******************************************************************

	05. エリアタイトル

******************************************************************* */
#areaTitle {
	position: relative;
	padding-top: 15px;
}
#areaTitle img {width:100%;}
#areaTitle #btnTop {
	position: absolute;
	top: 30px;
	right: 15px;
}


/* 【SP】 ************************************************ */
@media only screen and (max-width: 640px) {
	#areaTitle {padding-top:0;}
}







/* *******************************************************************

	06. コンテンツ

******************************************************************* */
#wrapper {width: 100%;}
#viewbus {
	margin: 0;
	padding: 0 0 15px;
	width: 100%;
	/*background-color: #f3fdfe; 夏の背景色 */
	background-color: #f4fafe;/* 冬の背景色 */
	/* background-color: #fefcf0; 春秋の背景色 */
}
.contents {
	margin: 0 auto;
	width: 950px;
}

/* 汎用ボックス */
.viewbus-cont-box {
	position: relative;
	margin-bottom: 20px;
}
#toppage .viewbus-cont-box:before {
	content: "";
	display: block;
	width:950px;
	height: 26px;
	background: url(../img/box-bg-top.png) 0 0 no-repeat;
}
.viewbus-cont-box:after {
	content: "";
	display: block;
	width:950px;
	height: 29px;
	background: url(../img/box-bg-bottom.png) 0 0 no-repeat;
}
.viewbus-cont-box .cb-inner {
	padding: 0 27px 0 25px;
	background: url(../img/box-bg-middle.png) 0 0 repeat-y;
}
/* トップページ */
#toppage .viewbus-cont-box .cb-inner {padding: 0 36px 0 34px;}

/* サブコンテンツボックス */
#sub-viewbus-cont-box {
	margin: 0 auto;
	padding: 0 0 15px;
	width:950px;
}

/* コースなし */
#noCource {
	padding: 10px 20px 40px !important;
	text-align: center;
	font-size: 1.6rem;
}


/* 【PC】 ************************************************ */
@media print, screen and (min-width: 641px) {
	/* 汎用ボックス */
	.viewbus-cont-box .pc-cb-inner {
		padding: 0 27px 0 25px;
		background: url(../img/box-bg-middle.png) 0 0 repeat-y;
	}
}


/* 【SP】 ************************************************ */
@media only screen and (max-width: 640px) {
	#wrapper {overflow: hidden;}/* for iPhone */
	#viewbus {
		padding: 0;
		background-color: #fff;
	}
	.contents {width:100%;}

	/* 汎用ボックス */
	.viewbus-cont-box {}
	#toppage .viewbus-cont-box:before {content:none;}
	.viewbus-cont-box:after {content:none;}
	.viewbus-cont-box .cb-inner {
		box-sizing: border-box;
		padding: 0 10px;
		width: 100%;
		background:none;
	}
	.cont-box .cb-inner {
		box-sizing: border-box;
		padding: 0 10px;
		width: 100%;
		background: none;
	}
	/* トップページ */
	#toppage .viewbus-cont-box .cb-inner {padding: 0 10px;}

	/* サブコンテンツボックス */
	#sub-viewbus-cont-box {
		box-sizing: border-box;
		margin-top: 20px;
		padding: 0 10px;
		width:100%;
	}

	/* コースなし */
	#noCource {
		padding: 40px !important;
		text-align: left;
		font-size: 1.4rem;
	}

	/* 点線 */
	.sp-dotline {border-top:dotted 1px #d7d7d7;}
}


@media print, screen and (min-width: 641px){
	#viewbus .cont-box {
		position: relative;
		margin-bottom: 20px;
	}
	.cont-box .cb-inner {
		padding: 0 27px 0 25px;
		background: url(../img/box-bg-middle.png) 0 0 repeat-y;
	}
	.cont-box .pc-cb-inner {
		padding: 0 27px 0 25px;
		background: url(../img/box-bg-middle.png) 0 0 repeat-y;
	}
	#viewbus .cont-box:after {
		content: "";
		display: block;
		width: 950px;
		height: 29px;
		background: url(../img/box-bg-bottom.png) 0 0 no-repeat;
	}
}



/* *******************************************************************

	07. メニューボックス

******************************************************************* */
#menu-box {
	position: relative;
	padding: 18px 0 10px;
	text-align: center;
}

/* ページ内リンク */
#menu-box ul#inner-link {display: inline-block;}
#menu-box ul#inner-link li {
	float: left;
	margin-left: 30px;
}
#menu-box ul#inner-link li:first-child {margin-left: 0;}
#menu-box ul#inner-link li a:hover {
	opacity: 0.6;
}


/* 【SP】 ************************************************ */
@media only screen and (max-width: 640px) {
	#menu-box {
		padding: 8px 0 30px;
		text-align:left;
	}
	#menu-box ul li img {height:100%;}


	/* メニュー【SP only】 */
	#menu-box #sp-menu {
		float: right;
		margin-bottom: 2vw;
	}
	#menu-box #sp-menu p {
		position: relative;
		z-index:1;
		height: 11vw;
	}
	#menu-box #sp-menu p.open {z-index: 101;}
	#menu-box #sp-menu p img {height:100%;}
	#menu-box #sp-menu p img:first-child {display:block;}
	#menu-box #sp-menu p img:last-child {display:none;}
	#menu-box #sp-menu p.open img:first-child {display:none;}
	#menu-box #sp-menu p.open img:last-child {display:block;}

	#sp-menu ul {
		display: none;
		position: absolute;
		top:15.8vw;
		right: 0;
		z-index: 102;
		border-radius: 4px;
		border:solid 1px #e0dfdf;
		width:99.4%;
		background-color: #fff;
	}
	#menu-box #sp-menu ul li {border-top:solid 1px #e0dfdf;}
	#menu-box #sp-menu ul li:first-child{border: none;}
	#menu-box #sp-menu ul li a {
		display: block;
		position: relative;
		padding: 18px 18px 18px 25px;
		font-size: 1.4rem;
		color:#333;
	}
	#menu-box #sp-menu ul li a:before {
	content: "";
	display: block;
	position: absolute;
	top:50%;
	left:12px;
	margin: -5px 0 0;
	width:6px;
	height:9px;
	background: url(../img/icon_menu_arrow.png) 0 0 no-repeat;
	background-size: contain;
	}
	#menu-box #sp-menu ul li span {
		display: block;
		position: relative;
		padding: 18px 18px 18px 25px;
		font-size: 1.5rem;
		color:#fff;
	}

	/* 北東北・函館 */
	#kita #menu-box #sp-menu ul li span {background-color: #47b6cd;}
	/* 南東北 */
	#minami #menu-box #sp-menu ul li span {background-color: #d4ac0c;}
	/* 信越・北陸 */
	#shinetsu-hokuriku #menu-box #sp-menu ul li span {background-color: #74b946;}
	/* 関東 */
	#kanto #menu-box #sp-menu ul li span {background-color: #ed7d8f;}

	#menu-box #sp-menu ul li:first-child span{
		border-radius: 4px 4px 0 0 / 4px 4px 0 0;
	}
	#menu-box #sp-menu ul li span:before {
		content: "";
		display: block;
		position: absolute;
		top:50%;
		left:9px;
		margin: -5px 0 0;
		width:10px;
		height:10px;
		background: url(../img/icon_active.png) 0 0 no-repeat;
		background-size: contain;
	}
	#menu-bg {
		display: none;
		position: absolute;
		top: 0;
		left: 0;
		z-index:100;
		width: 100%;
		background-color: rgba(0,0,0,0.5);
	}


	/* ページ内リンク */
	#menu-box ul#inner-link li {
		margin-left: 5px;
		height:11vw;
	}
}









/* *******************************************************************

	08. アコーディオン

******************************************************************* */
.toggle-title {
	padding-top: 30px;
	pointer-events: none;
}
.toggle {display: block;}


/* 【SP】 ************************************************ */
@media only screen and (max-width: 640px) {
	.toggle-title {pointer-events: all;}
	.toggle {
/*		display: block;*/
		display: none;
		margin-bottom: 1px;
		border-bottom: solid 1px #d7d7d7;
		padding: 17px 10px;
	}
}










/* *******************************************************************

	09. コースのコンテンツ

******************************************************************* */
#cource {text-align: left;}
#cource .sp-eki {display: none;}
#cource h2 {
	position: relative;
	margin-bottom: 10px;
	padding-bottom: 20px;
	font-size:2.8rem;
	color:#333;
}
#cource .pink h2 {
	background: url(/travel/viewbus/img/fukidashi-bottom-pink.gif) center bottom no-repeat;
}
#cource .blue h2 {
	background: url(/travel/viewbus/img/fukidashi-bottom-blue.gif) center bottom no-repeat;
}
#cource .orange h2 {
	background: url(/travel/viewbus/img/fukidashi-bottom-orange.gif) center bottom no-repeat;
}
#cource .purple h2 {
	background: url(/travel/viewbus/img/fukidashi-bottom-purple.gif) center bottom no-repeat;
}
#cource .green h2 {
	background: url(/travel/viewbus/img/fukidashi-bottom-green.gif) center bottom no-repeat;
}
#cource .lightblue h2 {
	background: url(/travel/viewbus/img/fukidashi-bottom-lightblue.gif) center bottom no-repeat;
}
#cource .ecru h2 {
	background: url(/travel/viewbus/img/fukidashi-bottom-ecru.gif) center bottom no-repeat;
}
#cource h2 span {
	display: inline-block;
	padding: 8px 0;
	width: 898px;
	text-align: center;
	font-weight: bold;
	letter-spacing: normal;
}
#cource .pink h2 span {background: #ffd8df;}
#cource .blue h2 span {background: #bdd9f3;}
#cource .orange h2 span {background: #fedacc;}
#cource .purple h2 span {background: #d2d3ef;}
#cource .green h2 span {background: #d7f6c3;}
#cource .lightblue h2 span {background: #ceedfe;}
#cource .ecru h2 span {background: #efdec3;}
#cource .courceBox {
	margin-bottom: 20px;
	border: solid 3px #e4e3e3;
	padding: 20px 12px;
}
#cource .courceBox:last-of-type {
	margin-bottom: 0px;
}
#cource .courceBox h3 {
	margin-bottom: 10px;
	padding:0 0 0 36px;
	line-height: 1.2;
	font-size: 2.8rem;
	font-weight: bold;
	color:#333;
}
#cource .pink .courceBox h3 {
	background: url(../img/icon_maru_pink.png) 0 0 no-repeat;
}
#cource .blue .courceBox h3 {
	background: url(../img/icon_maru_blue.png) 0 0 no-repeat;
}
#cource .orange .courceBox h3 {
	background: url(../img/icon_maru_orange.png) 0 0 no-repeat;
}
#cource .purple .courceBox h3 {
	background: url(../img/icon_maru_purple.png) 0 0 no-repeat;
}
#cource .green .courceBox h3 {
	background: url(../img/icon_maru_green.png) 0 0 no-repeat;
}
#cource .lightblue .courceBox h3 {
	background: url(../img/icon_maru_lightblue.png) 0 0 no-repeat;
}
#cource .ecru .courceBox h3 {
	background: url(../img/icon_maru_ecru.png) 0 0 no-repeat;
}
#cource .courceBox .koutei {margin-bottom: 15px;}
#cource .courceBox .applyBox {
	display: table-cell;
	width: 630px;
	vertical-align: middle;
	text-align: center;
}
#cource .courceBox .applyBox p:nth-child(n + 2) {
	margin-top: 0.8em;
	font-size: 1.3rem;
}
#cource .courceBox .applyBox .btn-Apply a {
	position: relative;
	display: inline-block;
	box-sizing: border-box;
	border-radius: 5px;
	padding: 15px 16px 12px 24px;
	width:360px;
	background-color:#e90a1b;
	text-decoration: none;
	font-size: 2.4rem;
	font-weight: bold;
	color: #fff;
}
#cource .courceBox .applyBox .btnReserve a {
	position: relative;
	display: inline-block;
	box-sizing: border-box;
	border-radius: 5px;
	padding: 15px 16px 12px 24px;
	width:360px;
	background-color:#008647;
	text-decoration: none;
	font-size: 2.4rem;
	font-weight: bold;
	color: #fff;
}
#cource .courceBox .applyBox .sp-btn-link a,
#cource .courceBox .pamphletBox .sp-btn-link a {
	position: relative;
}
#cource .courceBox .applyBox .btn-Apply a:before,
#cource .courceBox .applyBox .btnReserve a:before {
	content: "";
	display: block;
	position: absolute;
	top:50%;
	left:8px;
	margin: -6px 0 0;
	width:7px;
	height: 12px;
	background: url(../img/icon_arrow.png) 0 0 no-repeat;
	background-size: contain;
}
#cource .courceBox .applyBox .btn-Apply.ico-win-pc a:after {
	content: "";
	display: inline-block;
	position: relative;
	left: 0.5em;
	width:14px;
	height:14px;
	background: url(../img/icon_window.png) 0 0 no-repeat;
	background-size: contain;
	vertical-align: 2px;
}
#cource .courceBox .applyBox .sp-btn-link.ico-win-pc a:after {
	content: "";
	display: inline-block;
	position: relative;
	left: 0.5em;
	width:14px;
	height:14px;
	background: url(../img/icon_window_green.png) 0 0 no-repeat;
	background-size: contain;
	vertical-align: -2px;
}
#cource .courceBox .pamphletBox .sp-btn-link.ico-book a:before {
	content: "";
	display: inline-block;
	position: relative;
	right: 0.5em;
	width:16px;
	height:12px;
	background: url(../img/icon_book_green.png) 0 0 no-repeat;
	background-size: contain;
	vertical-align: -2px;
}
#cource .courceBox .applyBox .btn-Apply a:hover,
#cource .courceBox .applyBox .btn-Reserve a:hover {opacity: 0.6;}
#cource .courceBox .pamphletBox {
	display:table-cell;
	margin-top: 10px;
	background: url(/travel/viewbus/img/bg-pamphlet.gif) center top no-repeat;
	vertical-align: middle;
	text-align: center;
	font-size: 1.3rem;
}
#cource .courceBox .pamphletBox .thumb {
	display: inline-block;
	padding: 20px 0 10px;
	width:82px;
}
#cource .courceBox .pamphletBox .thumb img {border: solid 1px #c7c7c7;}


#cource .season-title {
	margin-bottom: 15px;
}


/*2021年9月追加*/
.l_cource .l_cource_box {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	margin-bottom: 30px;
}

.l_cource .l_cource_box_info {
	width: 425px;
}

.l_cource_station {
	display: inline-block;
	background: #00389C;
	color: #fff;
	font-weight: bold;
	padding: 5px;
	border-radius: 3px;
	margin-bottom: 5px;
	font-size: 1.0em;
}

.l_l_cource_dl {
	display: flex;
	margin-bottom: 10px;
}

.l_l_cource_dl > dt {
	font-weight: bold;
}

.l_cource .applyBox {
	display: block !important;
	margin: 0 auto;
}

.l_cource_dl_courceImg > dt {
	font-weight: bold;
	margin-bottom: 10px;
}
@media only screen and (max-width: 640px) {
	.l_cource .l_cource_box {
		display: block;
		margin-bottom: 30px;
	}

	.l_cource .l_cource_box_info {
		width: 100%;
		margin-top: 10px;
	}

	.l_l_cource_dl {
		display: flex;
		margin-bottom: 10px;
	}

	.l_l_cource_dl > dt {
		font-weight: bold;
	}

	.l_cource .applyBox {
		display: block !important;
		margin: 0 auto;
	}

	.l_cource_dl_courceImg > dt {
		font-weight: bold;
		margin-bottom: 10px;
	}
}

/* 【SP】 ************************************************ */
@media only screen and (max-width: 640px) {
	#cource .sp-eki {
		display: inline-block;
		box-sizing: border-box;
		margin-bottom: 0.5em;
		border-radius: 3px;
		padding: 0.2em 0.5em;
		background-color: #0064b2;
		color:#fffa00;
	}
	#cource h2 {margin-bottom: 1px;}
	#cource h2:after {
		content: "";
		display: block;
		position: absolute;
		top:50%;
		right:10px;
		margin: -9px 0 0;
		width:19px;
		height: 19px;
		background: url(../img/icon_open.png) 0 0 no-repeat;
		background-size: contain;
	}
	#cource h2.open:after {
		content: "";
		display: block;
		position: absolute;
		top:50%;
		right:10px;
		margin: -9px 0 0;
		width:19px;
		height: 19px;
		background: url(../img/icon_close.png) 0 0 no-repeat;
		background-size: contain;
	}
	#cource h2.toggle-title {
		padding: 0;
		font-size:2.4rem;
		color:#fff;
	}
	#cource h2 span {
		display:block;
		padding: 8px 0;
		width:100%;
		text-align: center;
		font-size: 1.8rem;
	}
	#cource .pink h2 span {background-color: #fe77b3;}
	#cource .blue h2 span {background-color: #2c76bc;}
	#cource .orange h2 span {background-color: #fd7944;}
	#cource .purple h2 span {background-color: #a1a3dd;}
	#cource .green h2 span {background-color: #74b946;}
	#cource .lightblue h2 span {background-color: #31acf0;}
	#cource .ecru h2 span {background-color: #ad7b4a;}
	#cource .toggle .courceBox {
		margin-bottom: 20px;
		border:dotted #d7d7d7;
		border-width: 0 0 1px;
		padding:0 0 25px;
	}
	#cource .toggle .courceBox:last-child {
		margin-bottom: 0;
		padding:0 0 15px;
		border:none;
	}
	#cource .courceBox h3 {
		margin-bottom: 10px;
		padding:0.1em 0 0.3em 20px;
		line-height: 1.3;
		font-size: 1.8rem;
	}
	#cource .pink .courceBox h3 {
		border-bottom:solid 3px #fe77b3;
		background: url(../img/icon_maru_pink.png) 0 0.25em no-repeat;
		background-size: 16px 16px;
	}
	#cource .blue .courceBox h3 {
		border-bottom:solid 3px #2c76bc;
		background: url(../img/icon_maru_blue.png) 0 0.25em no-repeat;
		background-size: 16px 16px;
	}
	#cource .orange .courceBox h3 {
		border-bottom:solid 3px #fd7944;
		background: url(../img/icon_maru_orange.png) 0 0.25em no-repeat;
		background-size: 16px 16px;
	}
	#cource .purple .courceBox h3 {
		border-bottom:solid 3px #a1a3dd;
		background: url(../img/icon_maru_purple.png) 0 0.25em no-repeat;
		background-size: 16px 16px;
	}
	#cource .green .courceBox h3 {
		border-bottom:solid 3px #74b946;
		background: url(../img/icon_maru_green.png) 0 0.25em no-repeat;
		background-size: 16px 16px;
	}
	#cource .lightblue .courceBox h3 {
		border-bottom:solid 3px #31acf0;
		background: url(../img/icon_maru_lightblue.png) 0 0.25em no-repeat;
		background-size: 16px 16px;
	}
	#cource .ecru .courceBox h3 {
		border-bottom:solid 3px #ad7b4a;
		background: url(../img/icon_maru_ecru.png) 0 0.25em no-repeat;
		background-size: 16px 16px;
	}
	#cource .courceBox .koutei {margin-bottom: 10px;}
	#cource .courceBox .koutei img {
		display: block;
		margin: 10px 0 0;
		width:100%;
	}
	#cource .courceBox .applyBox {
		display:block;
		margin: 25px 0 0;
		width: 100%;
	}
	#cource .courceBox .applyBox .btn-Apply a,
	#cource .courceBox .applyBox .btnReserve a {
		margin-bottom: 15px;
		padding: 14px 18px 12px 16px;
		width:90%;
		min-height: 48px;
		font-size: 1.6rem;
	}
	#cource .courceBox .applyBox .sp-btn-link a {
		display: inline-block;
		box-sizing: border-box;
		border: solid 1px #e0dfdf;
		border-radius: 5px;
		padding: 6px 18px 4px 16px;
		width:90%;
		min-height: 48px;
		line-height: 1.4;
		text-decoration: none;
		font-size: 1.3rem;
		color:#333;
	}
	#cource .courceBox .pamphletBox .sp-btn-link a {
		display: inline-block;
		box-sizing: border-box;
		border: solid 1px #e0dfdf;
		border-radius: 5px;
		padding: 14px 18px 12px 16px;
		width:90%;
		min-height: 48px;
		line-height: 1.4;
		text-decoration: none;
		font-size: 1.3rem;
		color:#333;
	}
	#cource .courceBox .applyBox .sp-btn-link a:before,
	#cource .courceBox .pamphletBox .sp-btn-link a:before {
		content: "";
		display: block !important;
		position: absolute !important;
		top:50%;
		right: inherit !important;
		left:7px;
		margin: -6px 0 0;
		width:7px !important;
		height: 12px !important;
		background: url(../img/icon_arrow_green.png) 0 0 no-repeat    !important;
		background-size: contain !important;
		vertical-align: 0 !important;
	}
	#cource .courceBox .applyBox .btn-Apply.ico-win-pc a:after {
		position: absolute;
		top:50%;
		right: 8px;
		left:inherit;
		margin-top: -7px;
		width:16px;
		height:14px;
		background: url(../img/icon_pc.png) 0 0 no-repeat;
		background-size: contain;
		vertical-align: 0;
	}
	#cource .courceBox .applyBox .sp-btn-link.ico-win-pc a:after {
		position: absolute;
		top:50%;
		right: 7px;
		left:inherit;
		margin-top: -7px;
		width:16px;
		height:14px;
		background: url(../img/icon_pc_green.png) 0 0 no-repeat;
		background-size: contain;
		vertical-align: 0;
	}
	#cource .courceBox .pamphletBox .sp-btn-link.ico-book a:after {
		content: "";
		display: block;
		position: absolute;
		top:50%;
		right: 7px;
		margin-top: -6px;
		width:16px;
		height:12px;
		background: url(../img/icon_book_green.png) 0 0 no-repeat;
		background-size: contain;
		vertical-align:0;
	}
	#cource .courceBox .pamphletBox {
		display:block;
		margin-top: 10px;
		background:none;
		vertical-align: middle;
		text-align: center;
		font-size: 1.3rem;
	}
	
	#cource .season-title {
		margin-bottom: 10px;
		padding: 10px;
		text-align: center;
	}
	#cource .season-title img {
		max-width: 240px;
	}
	/* 季節 色分け*/
	#cource .tit-spring { background: #ffffe6; }
	#cource .tit-summer { background: #d2eaf8; }
	#cource .tit-autumn { background: #fae6dc; }
	#cource .tit-winter { background: #f5f5fa; }
}








/* *******************************************************************

	10. コンテンツ下のメニュー【SP only】

******************************************************************* */

/* 【SP】 ************************************************ */
@media only screen and (max-width: 640px) {
	#sp-menu-btm {padding: 0 10px;}
	#sp-menu-btm ul {
		border-radius: 4px;
		border:solid 1px #e0dfdf;
		width:100%;
		background-color: #fff;
	}
	#sp-menu-btm ul li {border-top:solid 1px #e0dfdf;}
	#sp-menu-btm ul li:first-child {border: none;}
	#sp-menu-btm ul li a {
		display: block;
		position: relative;
		padding: 18px 18px 18px 25px;
		font-size: 1.4rem;
		color:#333;
	}
	#sp-menu-btm ul li a:before {
	content: "";
	display: block;
	position: absolute;
	top:50%;
	left:12px;
	margin: -5px 0 0;
	width:6px;
	height:9px;
	background: url(../img/icon_menu_arrow.png) 0 0 no-repeat;
	background-size: contain;
	}
	#sp-menu-btm ul li span {
		display: block;
		position: relative;
		padding: 18px 18px 18px 25px;
		font-size: 1.5rem;
		color:#fff;
	}

	/* 北東北・函館 */
	#kita #sp-menu-btm ul li span {background-color: #47b6cd;}
	/* 南東北 */
	#minami #sp-menu-btm ul li span {background-color: #d4ac0c;}
	/* 信越・北陸 */
	#shinetsu-hokuriku #sp-menu-btm ul li span {background-color: #74b946;}
	/* 関東 */
	#kanto #sp-menu-btm ul li span {background-color: #ed7d8f;}

	#sp-menu-btm ul li:first-child span {
		border-radius: 4px 4px 0 0 / 4px 4px 0 0;
	}
	#sp-menu-btm ul li span:before {
		content: "";
		display: block;
		position: absolute;
		top:50%;
		left:9px;
		margin: -5px 0 0;
		width:10px;
		height:10px;
		background: url(../img/icon_active.png) 0 0 no-repeat;
		background-size: contain;
	}
}



















/* *******************************************************************

	11. まだまだあります！！

******************************************************************* */
#sub-cont-box {
	width: 950px;
	margin: 0 auto;
	padding: 0 0 15px;
}

#ekitabi-more {
	margin-top: 30px;
	background: url(../img/box_bg02.gif) center top repeat-y;
}
#ekitabi-more #em-inner {
	position: relative;
	padding-bottom: 40px;
	background: url(../img/panf_waku01.gif) center bottom no-repeat;
	text-align: center;
}
#ekitabi-more #em-inner #em-txt-box {
	display: inline-block;
	margin-top: -1em;
	padding: 0 186px;
	font-size: 1.4rem;
}
#ekitabi-more #em-inner #em-txt-box #btn-em a {
	position: relative;
	display: inline-block;
	box-sizing: border-box;
	margin: 20px 0 0;
	border-radius: 5px;
	padding: 12px 16px 10px 24px;
	width: 490px;
	background-color: #ff9000;
	text-decoration: none;
	font-size: 1.6rem;
	font-weight: bold;
	color:#222;
}
#ekitabi-more #em-inner #em-txt-box #btn-em a:after {
	content: "";
	display: inline-block;
	margin-top: -6px;
	margin-left: 0.5em;
	width:18px;
	height:14px;
	background: url(../img/icon_book_black.png) 0 0 no-repeat;
	background-size: contain;
	vertical-align:-1px;
}
#ekitabi-more #em-inner #em-txt-box #btn-em a:hover {
	opacity: 0.6;
}
#ekitabi-more #em-inner #more-img01 {
	position: absolute;
	left: 35px;
	top: 114px;
	border: solid 1px #c7c7c7;
}
#ekitabi-more #em-inner #more-img02 {
	position: absolute;
	right: 32px;
	top: 125px;
}


/* 【SP】 ************************************************ */
@media only screen and (max-width: 640px) {
	#sub-cont-box {
		box-sizing: border-box;
		margin: 20px auto;
		padding: 0 10px;
		width: 100%;
	}
	#ekitabi-more {
		position: relative;
		box-sizing: border-box;
		margin-top: 20px;
		padding: 36vw 10px 10px;
		width:100%;
		background: none;
		background-color: #ffeee5;
	}
	#ekitabi-more #em-inner {
		position:static;
		box-sizing: border-box;
		padding-bottom: 0;
		background: none;
		text-align: left;
	}
	#ekitabi-more #em-inner h4 {
		position: absolute;
		left: 30vw;
		top:11vw;
		box-sizing: border-box;
		width:54vw;
	}
	#ekitabi-more #em-inner h4 img {width:100%;}
	#ekitabi-more #em-inner #em-txt-box {
		display:block;
		margin-top: 0;
		padding: 15px 15px 20px;
		background-color: #fff;
		font-size: 1.3rem;
	}
	#ekitabi-more #em-inner #em-txt-box #btn-em a {
		display: block;
		margin: 15px auto 0;
		padding: 12px 30px 10px 10px;
		width: 72vw;
		font-size: 1.4rem;
		text-align: center;
	}
	#ekitabi-more #em-inner #em-txt-box #btn-em a span {display: inline-block;}
	#ekitabi-more #em-inner #em-txt-box #btn-em a:after {
		display: block;
		position: absolute;
		top:50%;
		right:8px;
		margin-top: -7px;
		margin-left:0;
		vertical-align:0;
	}
	#ekitabi-more #em-inner #more-img01 {
		left: 5vw;
		top: 4vw;
		width:20vw;
	}
	#ekitabi-more #em-inner #more-img01 img {width:100%;}
	#ekitabi-more #em-inner #more-img02 {display: none;}
}












/* *******************************************************************

	12. びゅう

******************************************************************* */
#view-kakomi-box {
	box-sizing: border-box;
	margin: 20px auto 0;
	padding: 20px;
	width:100%;
	background-color:#d3f0e0;
	text-align: center;
}
#view-kakomi-box #view-kakomi-box-inner {
	position: relative;
	border-radius: 2px;
	padding: 30px 20px;
	background-color: #fff;
}
#view-kakomi-box dt,
#view-kakomi-box dd {
	display: inline-block;
	vertical-align: top;
}
#view-kakomi-box dt img {padding: 0 20px 0 0;}
#view-kakomi-box .btn-arrow a {
	position: relative;
	display: block;
	box-sizing: border-box;
	margin: 0 0 0 34px;
	border-radius: 5px;
	padding: 10px 16px 8px 24px;
	width: 270px;
	background-color: #f74c64;
	text-decoration: none;
	font-size: 1.6rem;
	font-weight: bold;
	color:#fff;
}
#view-kakomi-box .btn-arrow a:before {
	content: "";
	display: block;
	position: absolute;
	top:50%;
	left:8px;
	margin: -6px 0 0;
	width:7px;
	height: 12px;
	background: url(../img/icon_arrow.png) 0 0 no-repeat;
	background-size: contain;
}


/* 【SP】 ************************************************ */
@media only screen and (max-width: 640px) {

	#view-kakomi-box {
		margin: 20px 0 0;
		padding:3px;
	}
	#view-kakomi-box #view-kakomi-box-inner {
		border-radius: 0;
		padding: 25px 15px 15px;
	}
	#view-kakomi-box dt {width:130px;}
	#view-kakomi-box dt img {
		padding: 0;
		width:100%;
	}
	#view-kakomi-box .btn-arrow a {
		margin: 20px auto 10px;
		width: 70vw;
		font-size: 1.4rem;
	}
}















/* *******************************************************************

	13. ダイナミックレールパック

******************************************************************* */
#drp-kakomi-box {
	box-sizing: border-box;
	margin: 20px auto;
	padding: 20px;
	width: 100%;
	background-color: #aeddbc;
	text-align: center;
}
#toppage #drp-kakomi-box {/* トップページ */
	width: 830px;
}
#drp-kakomi-box #drp-kakomi-box-inner {
	border-radius: 2px;
	padding: 20px;
	background-color: #fff;
}
#drp-kakomi-box dl {display: inline-block;}
#drp-kakomi-box dl dt {
	float:left;
	width:138px;
}
#drp-kakomi-box dl dd {
	margin-left: 168px;
	padding-top: 5px;
	width:390px;
}
#drp-kakomi-box dl img {width:100%;}
#drp-kakomi-box .btn-arrow a {
	position: relative;
	display: block;
	box-sizing: border-box;
	margin: 20px auto 0;
	border-radius: 5px;
	padding: 12px 16px 10px 24px;
	width: 400px;
	background-color: #008748;
	text-decoration: none;
	font-size: 1.6rem;
	font-weight: bold;
	color:#fff;
}
#drp-kakomi-box .btn-arrow a:before {
	content: "";
	display: block;
	position: absolute;
	top:50%;
	left:8px;
	margin: -6px 0 0;
	width:7px;
	height: 12px;
	background: url(../img/icon_arrow.png) 0 0 no-repeat;
	background-size: contain;
}
#drp-kakomi-box .btn-arrow a:hover {opacity:0.6;}


/* 【SP】 ************************************************ */
@media only screen and (max-width: 640px) {
	#drp-kakomi-box,
	#toppage #drp-kakomi-box {
		margin: 20px 0 0;
		padding:3px;
		width: 100%;
	}
	#drp-kakomi-box #drp-kakomi-box-inner {
		border-radius: 0;
		padding: 15px;
	}
	#drp-kakomi-box dl {display: inline-block;}
	#drp-kakomi-box dl dt {
		float:none;
		margin: 0 auto 10px;
		width:111px;
	}
	#drp-kakomi-box dl dd {
		margin-left: 0;
		padding-top: 0;
		width:243px;
	}
	#drp-kakomi-box .btn-arrow a {
		margin: 20px auto 10px;
		width: 72vw;
		font-size: 1.4rem;
	}
}








/* *******************************************************************

	14. 注釈

******************************************************************* */
#caution {
	margin: 30px 0;
	font-size: 1.3rem;
}


/* 【SP】 ************************************************ */
@media only screen and (max-width: 640px) {
	#caution {
		padding: 0 10px;
	}
}








/* *******************************************************************

	15. 定期観光バス

******************************************************************* */
#bus-kakomi-box {
	box-sizing: border-box;
	margin: 20px auto;
	padding: 20px;
	width: 100%;
	background-color: #ade3f1;
	text-align: center;
}
#toppage #bus-kakomi-box {/* トップページ */
	width: 830px;
	margin-top: 25px;
}
#bus-kakomi-box #bus-kakomi-box-inner {
	border-radius: 2px;
	padding: 20px;
	background-color: #fff;
	
	display: flex;
	align-items: center;
	justify-content: center;
}
.bus-kakomi-box-inner_logo {
	flex-basis: 305px;
	margin-right: 60px;
}
.bus-kakomi-box-inner_lists {
	display: flex;
	flex-wrap: wrap;
	flex-basis: 360px;
	margin-left: -20px;
	margin-top: -12px;
}
.bus-kakomi-box-inner_lists > li {
	flex-basis: 160px;
	margin-left: 20px;
	margin-top: 12px;
}
.bus-kakomi-box-inner_lists > li > a {
	display: block;
	width: 100%;
	padding: 12px 16px 10px 24px;
	background: #2376b3;
	border-radius: 5px;
	color: #fff !important;
	text-decoration: none !important;
	font-size: 1.6rem;
	font-weight: bold;
	position: relative;
}
.bus-kakomi-box-inner_lists > li > a:hover { opacity: .6; }
.bus-kakomi-box-inner_lists > li > a::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 8px;
	margin: auto;
	width:7px;
	height: 12px;
	background: url(../img/icon_arrow.png) no-repeat center / contain;
}

/* 【SP】 ************************************************ */
@media only screen and (max-width: 640px) {
	#bus-kakomi-box,
	#toppage #bus-kakomi-box {
		margin: 20px 0 0;
		padding:3px;
		width: 100%;
	}
	#bus-kakomi-box #bus-kakomi-box-inner {
		display: block;
		border-radius: 0;
		padding: 15px;
	}
	.bus-kakomi-box-inner_logo { margin: 0; }
	.bus-kakomi-box-inner_logo > img {
		width: auto;
		max-height: 80px;
	}
	.bus-kakomi-box-inner_lists {
		justify-content: space-between;
		margin: 3vw 0 0;
	}
	.bus-kakomi-box-inner_lists > li {
		flex-basis: 48%;
		margin: 3vw 0 0;
	}
	.bus-kakomi-box-inner_lists > li > a {
		font-size: 1.4rem;
	}
}




