@charset "UTF-8";

/* CSS Document */
* {
	text-align: left;
	/*	font-size:16px;*/
	font-family: 'Josefin Sans', sans-serif;
	line-height: 1.5;
}

#main {
	margin-bottom: 0;
}

.article_inner {
	width: 100%;
	max-width: 1100px;
}

.article_inner_unkou {
	max-width: 1200px;
}

#mainImage {
	margin-bottom: 0;
}

#mainImage_outer {
	position: relative;
}

#mainImage_outer img.top_title {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

h1 {
	float: left;
	margin-right: 10px;
}

h1 img {
	width: 110px;
	/*
  margin-top:5px;
  margin-left:20px;	
*/
}

/*スペース調整*/
.mgt_30_sp {
	margin: 30px 0 0;
}

.mgt_40_pc {
	margin: 15px 0 30px 0;
}

@media (min-width: 768px) {
	.mgt_30_sp {
		margin: 0;
	}

	.mgt_40_pc {
		margin: 40px 0;
	}

	#mainImage #mainImage_outer {
		max-width: 100%;
	}
}

@media (min-width: 1100px) {
	h1 {
		float: none;
		margin-right: 0;
	}
}

/*ナビゲーション*/
.nav_wrapper {
	height: 65px;
}

nav#globalMenu {
	padding: 10px 0 10px;
}

.fixed {
	position: fixed;
	top: 0;
	left: 0;
	bottom: auto;
}

@media screen and (min-width: 768px) and (max-width: 1099px) {
	.nav_wrapper {
		height: 110px;
	}
}

@media (min-width: 1100px) {
	.nav_wrapper {
		height: 110px;
	}
}

/* 下矢印 */
.init-bottom:after {
	content: '';
	display: inline-block;
	width: 6px;
	height: 6px;
	margin: 0 0 0 15px;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

/* floatクリア */
.menu:before,
.menu:after {
	content: " ";
	display: table;
}

.menu:after {
	clear: both;
}

.menu {
	*zoom: 1;
}



.headerRight {
	/*    overflow-y: scroll;*/
	width: 100%;
}



.menu>li.menu_single {
	position: relative;
}

.openNav ul.navMenu li {
	background: #fff;
}

li.menu_single ul.menu_second-level {
	position: absolute;
	top: 40px;
	width: 100%;
	background: #fff;
	opacity: 0;
	padding: 0;
	-webkit-transition: all .2s ease;
	transition: all .2s ease;
}

.openNav li.menu_single ul.menu_second-level {
	z-index: 50;
	opacity: 1;
	position: relative;
	top: 0;
}

li.menu_single:hover ul.menu_second-level {
	/*    top: 50px;*/
	visibility: visible;
	opacity: 1;
	padding: 0;
}

li.menu_single:hover ul.menu_second-level li a {
	border-bottom: dashed 1px #444;
}

li.menu_single:hover ul.menu_second-level li:last-of-type a {
	border-bottom: none;
}

nav#globalMenu,
nav#globalMenu .globalMenu_inner {
	overflow: visible;
}

ul.navMenu {
	top: 0px;
}

.openNav ul.navMenu {
	overflow: hidden;
	/* height:440px; */
	height: calc(630px - 60px);
	z-index: 1;
	overflow-y: scroll;
}

a.init-bottom {
	background: #f0f0f0;
}

@media(min-width:768px) {
	ul.navMenu {
		overflow: visible;
	}

	.openNav li.menu_single ul.menu_second-level {
		position: absolute;
		top: 100%;
	}

	.openNav ul.navMenu {
		overflow-y: unset;
		overflow: unset;
	}


	/*ドロップダウンここから*/
	a.init-bottom {
		background: #fff;
	}

	ul.menu_second-level {
		visibility: hidden;
		opacity: 0;
		z-index: 1;
	}

	li.menu_single:hover ul.menu_second-level {
		top: 100%;
	}

	.menu>li:hover {
		-webkit-transition: all .5s;
		transition: all .5s;
	}
}

/*メニュードロップダウンここまで*/



@media (min-width: 768px) {
	#navToggle {
		display: none
	}

	h1 img {
		width: 150px;
	}

	ul.navMenu,
	.openNav ul.navMenu {
		width: 100%;
		top: 7px;
		float: right;
		height: auto;
		display: flex;
		flex-wrap: wrap;
		column-gap: 10px;
	}

	ul.navMenu>li {
		width: auto;
	}

	ul.navMenu>li,
	.openNav ul.navMenu>li {
		/* width: 16.666%; */
		/* width: 20%; */
		max-width: 20%;
		/* float: left; */
		padding: 0 5px;
		box-sizing: border-box;
	}

	html:lang(ko) ul.navMenu>li,
	html:lang(ko) .openNav ul.navMenu>li,

	html:lang(zh-tw) ul.navMenu>li,
	html:lang(zh-tw) .openNav ul.navMenu>li,

	html:lang(zh) ul.navMenu>li,
	html:lang(zh) .openNav ul.navMenu>li {
		/* width:20%; */
		/* min-width: 15%; */
	}

	.openNav ul.navMenu>li>a {
		border-bottom: 3px solid #00A99D;
	}

	ul.navMenu>li a {
		font-size: 15px;
		padding: 10px 0 7px;
	}

}

@media (min-width: 1100px) {

	ul.navMenu,
	.openNav ul.navMenu {
		width: 928px;
		top: 7px;
		float: right;
		height: auto;
	}

	ul.navMenu>li a {
		font-size: 15px;
		padding: 10px 0 7px;
		border-bottom: 3px solid #00A99D;
	}
}

article {
	padding: 0;
	margin: 0;
	clear: both;
}

h2 {
	font-size: 20px;
	font-weight: normal;
	color: #464646;
	line-height: 1.5;
	width: 100%;
	text-align: center;
	background: none;
	margin: 15px 0 30px;
	position: relative;
	display: inline-block;
}

h2:before {
	content: '';
	position: absolute;
	bottom: -5px;
	display: inline-block;
	width: 50px;
	height: 5px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #00A99D;
	border-radius: 2px;
}

@media (min-width: 768px) {
	h2 {
		font-size: 2.5vw;
		line-height: 1.3;
		margin: 20px;
	}
}

/*トップメインコンテンツ*/
#top h2 {
	position: relative;
	font-size: 22px;
	font-weight: normal;
	background: none;
	/*	background:#0b476f;*/
	color: #464646;
	line-height: 1.5;
	margin: 0 0 22px;
	padding: 0;
	width: 100%;
	text-align: center;
}

.top_bg {
	position: relative;
}

.wrapper {
	width: 280px;
	height: 280px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-image: url(/en/img/top_bg_white.png);
	background-repeat: no-repeat;
	background-size: cover;
}

.text_waku {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 80%;
}

.white_shadow {
	color: #fff;
	text-shadow: 0px 0px 20px black;
}

a:hover {
	text-decoration: none;
	opacity: 0.7;
}

.bt_detail a {
	font-size: 1em;
	color: #fff;
	display: block;
	text-align: center;
	background-color: #00A99D;
	padding: 5px 15px 3px;
	margin-top: 20px;
}

@media (min-width: 768px) {
	#top h2 {
		font-size: 3vw;
		line-height: 1.3;
	}

	.wrapper {
		width: 250px;
		height: 250px;
		position: absolute;
		top: unset;
		bottom: 0;
		left: 0%;
		transform: none;
		background-image: url(/en/img/top_bg_white.png);
		background-repeat: no-repeat;
		background-size: cover;
	}
}

@media (min-width: 1000px) {
	#top h2 {
		font-size: 2.5vw;
	}

	.wrapper {
		width: 400px;
		height: 400px;
	}

	.bt_detail a {
		font-size: 1.1em;
	}
}

@media (min-width: 768px) {
	#mainContents {
		margin-bottom: 30px;
	}

	.ps_right {
		right: 0;
		left: unset;
	}

	.text_waku {
		position: absolute;
		width: 80%;
	}

}

/*--------------------フッター*/
footer {
	background: #f2f2f2;
	padding: 30px 0;
	color: #000;
	margin-bottom: 50px;
}

footer .inner {
	text-align: center;
}

footer .icon_sns {
	text-align: center;
}

footer .icon_sns a {
	font-size: 33px;
	margin: 8px auto 8px;
	color: #000;
}

footer img.foot_kurotetsu_logo {
	display: block;
	margin: 0 auto;
	width: 250px;
}

footer img.foot_kansai_logo {
	display: block;
	margin: 18px auto 0;
	width: 280px;
}

footer small {
	font-size: 10px;
}

footer p {
	margin: 0;
}

@media (min-width: 768px) {
	footer {
		margin-bottom: 0px;
	}

	footer .icon_sns a {
		font-size: 40px;
		margin: 0 auto 15px;
	}
}

/*----------------------ルートガイド----------------------*/
#route h3 {
	font-size: 22px;
}

#route h4,
#reservations h4,
#timetable h4,
#access h4 {
	font-size: 22px;
	max-width: 100%;
	background: none;
	color: #000;
	border-bottom: 2px dotted #00A99D;
	text-align: left;
	border-radius: 0;
	padding-bottom: 5px;
}

a.bt_station {
	display: inline-block;
	background-color: #fff;
	padding: 5px 10px;
	margin: 10px 5px;
	border-radius: 5px;
	color: #333;
}

.color_murasaki {
	color: #93278F;
}

.color_blue {
	color: #0071BC;
}

.color_green {
	color: #39B54A;
}

.color_pink {
	color: #ED1E79;
}

a.bt_station.border_murasaki {
	border: 2px solid #93278F;
}

a.bt_station.border_blue {
	border: 2px solid #0071BC;
}

a.bt_station.border_green {
	border: 2px solid #39B54A;
}

a.bt_station.border_pink {
	border: 2px solid #ED1E79;
}

#route ul.list-col2 li {
	padding: 0 0 20px;
}

.route ul.spot span {
	display: block;
	color: #534741;
	margin: 10px 0;
}

.route ul.spot span::before {
	content: "■";
	color: #00A99D;
}

#route ul.list.list-col2 {
	margin: 0;
}

#route ul.list-col3 li {
	padding: 0 7px;
}

#route ul.list.list-col2 li.pad_lr_20 {
	padding: 0;
}

#route ul.list-col3 li {
	width: 100%;
}

ul.list-col4 {
	overflow: hidden;
}

ul.list-col4 li {
	width: 50%;
	float: left;
}

ul.transport li h4 {
	margin-top: 40px;
}

@media (min-width: 768px) {
	#route h3 {
		font-size: 26px;
		padding-left: 20px;
	}

	#route ul.list.list-col2 {
		margin: 40px auto 30px auto;
	}

	#route ul.list.list-col2 li {
		padding: 0;
	}

	#route ul.list.list-col2 li.pad_lr_20 {
		padding: 0 20px;
	}

	#route ul.list-col3 li {
		width: 33.333%;
	}

	ul.list-col4 li {
		width: 25%;
		float: left;
	}
}

/*----------------------information----------------------*/
ul.list-check li:before {
	top: 0.2em;
	width: 12px;
}

@media (min-width: 768px) {
	ul.list-check li:before {
		top: 0.3em;
		width: 18px;
	}
}

/*----------------------Reservations----------------------*/

.ticketArea {
	margin-left: 15px;
	overflow: auto;
	white-space: nowrap;
}

.ticketArea table {
	width: auto;
	border-collapse: collapse;
}

.ticketArea table th {
	padding: 3px 20px;
	background: #00A99D;
	border: 1px solid #fff;
	color: #fff;
	font-size: 0.9em;
}

.ticketArea table td {
	padding: 3px 20px;
	border: 1px solid #fff;
	font-size: 0.9em;
	text-align: center;
}

.ticketArea td.c1 {
	background: #E0EEF7;
}

.ticketArea td.c2 {
	background: #F8EEE5;
}

.ticketArea2 {
	margin: 0 15px 15px 15px;
	overflow: auto;
	white-space: nowrap;
}

/*tableにスクロールバーを追加*/
.ticketArea::-webkit-scrollbar {
	height: 5px;
}

.ticketArea2 table {
	width: 100%;
	border-collapse: collapse;
}

.ticketArea2 table th {
	padding: 3px;
	background: #00A99D;
	border: 1px solid #fff;
	color: #fff;
	font-size: 0.9em;
	text-align: center;
}

.ticketArea2 table td {
	padding: 3px;
	border: 1px solid #fff;
	font-size: 0.9em;
	text-align: center;
}

.ticketArea2 table td.small {
	font-size: 0.8em;
}

.ticketArea2 table td.unit {
	font-size: 0.8em;
	text-align: right;
}

.ticketArea2 table tr.c1 {
	background: #CCE3F2;
	font-size: 0.9em;
	font-weight: bold;
	color: #333;
}

.ticketArea2 table tr.c1-2 {
	background: #E0EEF7;
}

.ticketArea2 table tr.c2 {
	background: #cdc;
	font-size: 0.9em;
	font-weight: bold;
	color: #333;
}

.ticketArea2 table tr.c2-2 {
	background: #efe;
}

.ticketArea2 table tr.c3 {
	background: #F4E2D4;
	font-size: 0.9em;
	font-weight: bold;
	color: #333;
}

.ticketArea2 table tr.c3-2 {
	background: #F8EEE5;
}

/*----------------------timetable----------------------*/
.period {
	background-color: #00A99D;
	padding: 5px 10px;
	color: #fff;
}

.priceTable {
	margin: 0;
}

.priceTable table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 10px;
}

.priceTable table th {
	width: 25%;
	padding: 3px;
	background: #039;
	border: 1px solid #039;
	color: #fff;
	font-size: 1em;
	text-align: center;
}

.priceTable table td {
	padding: 3px;
	text-align: center;
}

.priceTable table tr td.unchin {
	border: 1px solid #039;
	font-size: 1em;
}

.priceTable table tr td.unchin-adult {
	border: 1px solid #039;
	font-size: 1em;
	color: #000;
	background-color: #fff;
}

.priceTable table tr td.unchin-child {
	border: 1px solid #039;
	font-size: 1em;
	color: #000;
	background-color: #fefefe;
}

.priceTable table tr td.attention {
	font-size: 0.95em;
	text-align: left;
}

.priceTable table tr td.attention span.adult {
	color: #0033ff;
	background-color: #eeeeff;
}

.priceTable table tr td.attention span.child {
	color: #cc3300;
	background-color: #ffeeee;
}


#priceTable2 {
	margin: 0 100px;
	margin: 0;
}

#priceTable2 table {
	width: 100%;
	margin-bottom: 10px;
	border-top: 1px solid #999999;
	border-left: 1px solid #999999;
}

#priceTable2 table th {
	border-right: 1px solid #999999;
	border-bottom: 1px solid #999999;
	padding: 3px;
	background-color: #FFFF99;
	font-size: 1em;
	font-weight: normal;
	text-align: left;
	width: 1%;
	white-space: nowrap;
}

#priceTable2 table td {
	border-right: 1px solid #999999;
	border-bottom: 1px solid #999999;
	padding: 3px;
	text-align: center;
	font-size: 1em;
}

.pricelist ul.list-col3 li {
	width: 100%;
}

.pricelist ul.list-col3 li {
	padding: 15px;
}

@media (min-width: 768px) {
	.pricelist ul.list-col3 li {
		width: 33.333%;
	}
}

/*----------------------------
時刻表 #page_timetable
----------------------------*/
#page_timetable .tabContainer {
	overflow-x: auto;
	margin-bottom: 30px;
}

#page_timetable h3 {
	margin-bottom: 50px;
}

#page_timetable h4 {
	margin: 0 auto 20px auto;
	border-bottom: solid 1px #555;
	padding-bottom: 20px;
}

#page_timetable h4:before {
	display: none;
}

#page_timetable ul.attentionUl {
	margin: 0 auto 0;
}

#page_timetable ul.list-col2 li {
	padding: 10px 0;
}

#page_timetable .defineBox .defineTitle {
	border-radius: 3px 3px 0 0;
}

.tab__button {
	white-space: nowrap;
}

.timetable-attention {
	font-size: 14px;
}

.timetable-attention .defineTitle {
	font-weight: bold;
}

.timetable-attention .defineContent {
	text-align: left;
	padding: 10px 6px;
}

.timetable-attention .defineContent table {
	width: 100%;
	margin: 0;
}

.timetable-attention .defineContent table th {
	text-align: center;
	padding: 0px 10px;
}

@media(min-width:768px) {
	#page_timetable ul.list-col2.attentionUl li {
		padding: 0 10px;
	}
}


#page_timetable .tab__button.active a,
#page_timetable .tab__button a:focus {
	color: #fff;
	font-weight: bold;
	font-size: 16px;
}

#page_timetable table.table-event th,
#page_timetable table.table-event td {
	padding: 8px;
	background: #fff;
}

#page_timetable table.table-event th {
	width: 100px;
}

#page_timetable table.table-event a {
	text-decoration: underline;
}

#page_timetable .note {
	font-size: 100%;
	text-align: left;
	padding: 0;
	width: 100%;
	max-width: 100%;
}

#page_timetable .col2 {
	overflow: hidden;
	margin-bottom: 40px;
}

table.table-time {
	width: 100%;
	margin-right: 0;
	float: none;
}

table.table-time:nth-of-type(2n) {
	margin-right: 0;
}

table.table-time th,
table.table-time td {
	padding: 6px;
	font-size: 14px;
}

table.table-time th {
	width: auto;
	max-width: auto;
	text-align: center;
}

table.table-time td {
	text-align: right;
}

table.table-time th:first-of-type {
	width: 80px;
}

table.table-time td:nth-of-type(4) {
	text-align: right;
	font-size: 12px;
}

table.table-time thead th {
	background: #D5F1ED;
}

table.table-time thead th:last-of-type {
	min-width: 100px;
}

table.table-time tbody th {
	background: #f3f3f3;
}

table.table-time td.center_text {
	text-align: center;
	font-size: 14px;
}

@media(min-width:768px) {
	.timetableItem {
		width: 48%;
		margin-right: 2%;
		float: left;
	}
}

/*多言語ボタン*/


#lang,
#langSp {
	display: none;
}

.btn-lang_sp {
	font-size: 10px;
	padding: 2px 6px 2px 18px;
	top: -10px;
}

.btn-lang_sp:before {
	top: 2px;
	left: 2px;
}

@media(min-width:768px) {

	#langSp:checked~.langBox_sp {
		display: none;
	}
}


.langBox {
	/*
    opacity: 0;
    line-height: 0;
    overflow: hidden;
    padding: 0px 14px;
    transition: all 0.2s ease 0s;
    position: absolute;
    top: 50px;
    left: 0px;
    width: 280px;
    box-shadow: 0 0px 3px #ccc;
    z-index: 0;
    background: #fff;
    margin-bottom: 8px;
*/
}

.langBox_sp {
	opacity: 0;
	line-height: 0;
	width: 100%;
	overflow: hidden;
	padding: 0px 14px;
	transition: all 0s ease 0s;
	position: relative;
	top: 68px;
	left: 0px;
	box-shadow: 0 0px 3px #ccc;
	z-index: 100;
	background: #fff;
	margin-bottom: 0;
}

.langBox ul.list li,
.langBox_sp ul.list li {
	padding: 15px 0;
	text-indent: 0;
	border-bottom: 1px dotted #333;
}

.langBox ul li a,
.langBox_sp ul li a {
	height: 0;
	display: inline;
}


#lang ul.list-dotted li:before,
#langSp ul.list-dotted li:before {
	display: none;
}


#lang:checked~.langBox,
#langSp:checked~.langBox_sp {
	/*
	opacity:1;
	line-height:1.8;
	overflow:visible;
	padding:8px 14px;
	z-index:100;
*/
}


#lang:checked~.langBox ul.list-dotted li:before,
#langSp:checked~.langBox_sp ul.list-dotted li:before {
	display: inline-block;
}

#lang:checked~.langBox ul li,
#langSp:checked~.langBox_sp ul li {
	border-bottom: solid 1px #ccc;
	padding-top: 10px;
	padding-bottom: 10px;
}

.langBox ul li:last-of-type,
.langBox_sp ul li:last-of-type {
	border-bottom: none;
}

#lang:checked~.langBox ul li a,
#langSp:checked~.langBox_sp ul li a {
	height: auto;
}

.langBox ul li a:after {
	content: "\f105";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	color: #0177CC;
	position: absolute;
	right: 0px;
	top: 50%;
	transform: translate(0, -50%);
}

.btn-lang {
	-webkit-appearance: none;
	appearance: none;
	position: relative;
	width: 108px;
	font-size: 14px;
	/*    border: 1px solid #d4dfe7;*/
	border: 1px solid #2C84D2;
	text-align: center;
	border-radius: 4px;
	box-sizing: border-box;
	cursor: pointer;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	letter-spacing: 0;
	background: #f5fcff;
	padding: 4px 12px 3px 30px;
	color: #444;
	margin: 7px 0px 0px 0px;
}

.btn-lang::-ms-expand {
	display: none;
}

.btn-lang:before {
	content: "\f0ac";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	display: inline-block;
	width: 16px;
	height: 16px;
	position: absolute;
	top: 4px;
	left: 4px;
	color: #2C84D2;
}

.header_waku {
	overflow: visible;
}

.header_waku .top_logo img {
	height: 40px;
	width: auto;
}

.langBox_sp .btnClose {
	display: none;
}

.btnClose {
	position: absolute;
	display: block;
	width: 40px;
	height: 40px;
	top: -10px;
	right: -10px;
}

.btnClose:before {
	content: "\f057";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 40px;
	line-height: 1;
	color: #0177CC;
}

.headerLeft {
	max-width: 260px;
	float: left;
	text-align: center;
	padding-left: 5px;
}

@media screen and (min-width: 768px) and (max-width: 1170px) {
	.btn-lang {
		width: 120px;
		font-size: 80%;
		padding: 4px 7px 4px 25px;
		top: 2px;
	}
}

@media(min-width:768px) {
	.btn-lang {
		width: 140px;
		font-size: 87.5%;
		padding: 1px 14px 1px 28px;
		top: 0;
	}

	.langBox {
		/*		top:90px;*/
	}

	.headerLeft {
		max-width: 100%;
		float: none;
		text-align: left;
		padding-left: 10px;
	}

	.btn-lang:before {
		top: 1px;
		left: 8px;
	}
}

@media(min-width:1100px) {
	.headerLeft {
		max-width: 170px;
		float: left;
		text-align: center;
	}

	.langBox {
		/*		top:90px;*/
	}
}



/*---------------------
modal/btn
----------------------*/
.modal_content p {
	text-align: center;
}

.modal_content a.btn-modal {
	min-width: auto;
	border-radius: 4px;
	position: relative;
	background: #ED1E79;
	border: none;
	color: #fff;
	padding-left: 74px;
	box-sizing: border-box;
	box-shadow: 0 3px 0 #B2165B;
}

.modal_content a.btn-modal:active {
	box-shadow: none;
	top: 3px;
}

.modal_content a.btn-modal span {
	position: absolute;
	display: block;
	background: #F14B94;
	color: #fff;
	left: 0;
	height: 100%;
	top: 0;
	border-radius: 4px 0 0 4px;
	padding: 10px;
}

/*
modal
----------------------------*/
.modal_wrap input {
	display: none;
}

.modal_overlay {
	display: flex;
	justify-content: center;
	overflow: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
	opacity: 0;
	/*			transition: opacity 0.5s, transform 0s 0.5s;*/
	transform: scale(0);
}

.modal_trigger {
	position: absolute;
	width: 100%;
	height: 100%;
}

.modal_content {
	position: relative;
	align-self: center;
	/*			align-self:auto;*/
	width: 80%;
	/*			height:240px;*/
	height: auto;
	max-width: 800px;
	padding: 30px 18px 15px;
	box-sizing: border-box;
	background: #fff;
	line-height: 1.4em;
	transition: 0.5s;
}

.modal_content p a {
	display: inline-block;
	margin-bottom: 14px;
}

.close_button {
	position: absolute;
	top: 8px;
	right: 8px;
	font-size: 24px;
	cursor: pointer;
}

.modal_wrap input:checked~.modal_overlay {
	opacity: 1;
	transform: scale(1);
	transition: opacity 0.5s;
}

/*
btn
----------------------------*/
.footer_btn {
	display: block;
	width: 100%;
	padding: 12px 0 9px;
	background: #f7931e;
	text-align: center;
	color: #fff;
	z-index: 9999;
	position: fixed;
	bottom: 0;
	left: 0;
	font-size: 20px;
}

.footer_btn i {
	font-size: 24px;
	vertical-align: text-bottom;
}

@media(min-width:768px) {
	.footer_btn {
		display: none;
	}
}

/*
外国語プライバシーポリシー
----------------------------*/
.lang_privacy {
	color: #000;
	text-decoration: underline;
	font-size: 13px;
	font-weight: normal;
}


/*-------------------------------
動画リンク
--------------------------------*/
.col {
	display: flex;
}

.col_item {
	margin-bottom: 10px;
}

.col2 .col_item {
	width: 48%;
}

.col3 .col_item {
	width: 31.3333333%;
}

.flexWrap {
	flex-wrap: wrap;
}

.spaceBetween {
	justify-content: space-between;
}

.spaceAround {
	justify-content: space-around;
}

.linkBanner .col_item {
	text-align: center;
	border: solid 1px #ccc;
	border-radius: 2px;
	box-shadow: 0 1px 4px #ccc;
}

.linkBanner .col_item a {
	display: block;
	text-align: center;
}

.bannerComment {
	border-top: solid 1px #ccc;
	padding: 10px;
	text-align: center;
	line-height: 1.5;
	font-size: 0.8em;
	color: #333;
}


@media(max-width:768px) {
	.col {
		display: block;
	}

	.col2 .col_item,
	.col3 .col_item {
		width: 80%;
		margin: 0 auto 20px auto;
	}
}





/*スクロールバー*/
.unkou .info_emergency_text .text_inner,
.unkou .info_normal_text .text_inner,
.unkou .info_walking_text .text_inner {
	-ms-overflow-style: none;
}

.unkou .info_emergency_text .text_inner::-webkit-scrollbar,
.unkou .info_normal_text .text_inner::-webkit-scrollbar,
.unkou .info_walking_text .text_inner::-webkit-scrollbar {
	display: none;
}

/*------運行情報-----*/
.unkou {
	margin: 30px auto 30px;
}

/*緊急情報*/
.unkou .info_emergency {
	width: 100%;
	border: 2px solid red;
	overflow: hidden;
	height: 37px;
	height: auto;
	margin-bottom: 10px;
	border-radius: 5px;
	display: flex;
}

.info_emergency_title {
	width: 100px;
	background-color: red;
	padding: 5px;
	color: #fff;
	display: flex;
	font-size: 14px;
	justify-content: center;
	align-items: center;
	font-weight: bold;
}

.unkou .info_emergency_text,
.unkou .info_normal_text,
.unkou .info_walking_text {
	width: inherit;
	padding: 4px 10px;
	font-size: 0.9em;
	word-break: break-word;
}

.unkou .info_emergency_text .text_inner,
.unkou .info_normal_text .text_inner,
.unkou .info_walking_text .text_inner {
	white-space: nowrap;
	overflow: visible;
	width: 100%;
	line-height: 2;
	/*
	width:550px;
	height:30px;
*/

}

/*通常運行情報*/
.unkou .info_normal {
	width: 100%;
	border: 2px solid green;
	overflow: hidden;
	height: 37px;
	height: auto;
	margin-bottom: 10px;
	border-radius: 5px;
	display: flex;
}

.unkou .info_normal_title {
	width: 100px;
	background-color: green;
	padding: 5px;
	color: #fff;
	display: flex;
	font-size: 14px;
	justify-content: center;
	align-items: center;
}

/*路線散策情報*/
.unkou .info_walking {
	width: 100%;
	border: 2px solid #009e9d;
	overflow: hidden;
	height: 37px;
	height: auto;
	border-radius: 5px;
	display: flex;
	margin-bottom: 20px;
}

.unkou .info_walking_title {
	width: 100px;
	background-color: #009e9d;
	padding: 5px;
	color: #fff;
	display: flex;
	font-size: 14px;
	justify-content: center;
	align-items: center;
}

.unkou .info_ {
	width: 100%;
	display: block;
}

.unkou .info_title_ {
	width: 100%;
}

.informationLink_wrap {
	text-align: center;
	margin-top: 40px;
}

a.informationLink {
	/*    font-size:110%;*/
	font-weight: bold;
	/*    color: red;*/
	color: #1111cc;
}

@media (min-width:768px) {

	.unkou .info_ {
		width: 100%;
		display: flex;
	}

	.unkou .info_title_ {
		width: 180px;
	}

	.informationLink_wrap {
		text-align: center;
		margin-top: 70px;
	}

	a.informationLink {
		font-size: 124%;
	}


	/*緊急情報*/
	.unkou .info_emergency {
		border: 2px solid red;
		overflow: hidden;
		height: auto;
		margin-bottom: 10px;
		border-radius: 5px;
	}

	.info_emergency_title {
		width: 180px;
		display: flex;
		flex: 0 0 auto;
		align-items: center;
		justify-content: center;
		text-align: center;
	}

	/*通常運行情報*/
	.unkou .info_normal_title {
		width: 180px;
		display: flex;
		flex: 0 0 auto;

		align-items: center;
		justify-content: center;
		text-align: center;
	}

	/*路線散策情報*/
	.unkou .info_walking_title {
		width: 180px;
		display: flex;
		flex: 0 0 auto;
		align-items: center;
		justify-content: center;
		text-align: center;
	}
}



table.table-time .biko {
	text-align: center;
	font-size: 0.8em;
	width: 180px;
}








/*2023追記 外国語ガイドページ /guide */


/*how to use*/
.section_howToUse {
	background: #f4f3F3;
	padding: 40px 0;
}

.section_howToUse h3.common_h3 {
	border: none;
	text-align: center;
	font-size: 1.8em;
	margin: 0 0 30px 0;
}

.howToUse {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	row-gap: 100px;
	width: 100%;
	margin: auto;
}

.howToUse .column:first-of-type:after {
	content: "";
	border-top: 40px solid #553889;
	border-right: 40px solid transparent;
	border-bottom: 40px solid transparent;
	border-left: 40px solid transparent;
	position: absolute;
	top: 107%;
	left: 50%;
	transform: translate(-50%, 0);
}

.howToUse .column {
	width: 100%;
	padding: 25px;
	border: 1px solid #b5b5b6;
	border-radius: 8px;
	background-color: #fff;
	position: relative;
}

.section_donwload_app {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}



/*ガイドギャラリー*/
.guide_gallery {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	justify-content: space-between;
}

.guide_gallery>.column {
	width: calc(50% - 10px);
}

@media(min-width: 600px) {

	/*ガイドギャラリー*/

	.guide_gallery>.column {
		width: calc(33% - 12px);
	}
}

@media(min-width: 768px) {
	.howToUse {
		display: flex;
		justify-content: space-between;
		width: 800px;
		max-width: 100%;
		margin: auto;
		/* background: url("/lang/img/arrow_right.png") no-repeat;
		background-position: center; */
	}

	.howToUse .column:first-of-type:after {
		content: "";
		border-top: 40px solid transparent;
		border-right: 40px solid transparent;
		border-bottom: 40px solid transparent;
		border-left: 40px solid #553889;
		position: absolute;
		top: 50%;
		left: 104%;
		transform: translate(0, -50%);
	}

	.howToUse .column {
		/* width: 348px; */
		width: 46%;
	}

	/* .pc-w-half{
		width: 50%;
	} */
	.section_donwload_app {
		flex-wrap: nowrap;
	}

	.icatch_column {
		width: 48%;
	}

	.download_icons {
		margin-left: 50px;
	}


}



/*メニュー*/
ul.navMenu {
	justify-content: center;
}

ul.navMenu>li {
	width: auto;
	white-space: nowrap;
}

.bg-lightblue {
	background-color: #bdd7ee;
}

.bg-lightgray {
	background-color: #f4f3F3;
}

.guide_h3 {
	border: none;
	text-align: center;
	border-bottom: solid 1px #0071bb;
	border-bottom-color: #553889;
	font-size: 1.5em;
	margin-bottom: 30px;
}

.welcome-2 img {
	max-height: 100%;
	height: 100%;
}

.welcome-2 {
	height: 200px;
}

/*レイアウト用*/
.display-flex {
	display: flex;
}

.display-block {
	display: block;
}

.display-inline {
	display: inline;
}

.display-inline-block {
	display: inline-block;
}

.spaceBetween {
	justify-content: space-between;
}

.flex-wrap {
	flex-wrap: wrap;
}

.flex-nowrap {
	flex-wrap: nowrap;
}

.justify-center {
	justify-content: center;
}

.align-items-center {
	align-items: center;
}


.gap-10 {
	gap: 10px;
}

.gap-20 {
	gap: 20px;
}

.gap-30 {
	gap: 30px;
}

.gap-40 {
	gap: 40px;
}

.col2 .column {
	width: 48%;
}

.col3 .column {
	width: 32%;
}

.sp-width100 {
	width: 100%;
}


@media(min-width: 768px) {
	.pc-display-flex {
		display: flex;
	}

	.pc-display-block {
		display: block;
	}

	.pc-display-inline {
		display: inline;
	}

	.pc-display-inline-block {
		display: inline-block;
	}

	.pc-spaceBetween {
		justify-content: space-between;
	}

	.pc-flex-wrap {
		flex-wrap: wrap;
	}

	.pc-flex-nowrap {
		flex-wrap: nowrap;
	}

	.pc-col2 .column {
		width: 47%;
	}

	.pc-col3 .column {
		width: 32%;
	}

	.sp-width100 {
		width: auto;
	}

	.pc-width100 {
		width: 100%;
	}
}


.mt-10 {
	margin-top: 10px;
}

.mt-20 {
	margin-top: 20px;
}

.mt-30 {
	margin-top: 30px;
}

.mt-40 {
	margin-top: 40px;
}

.mt-50 {
	margin-top: 50px;
}

.mt-60 {
	margin-top: 60px;
}

.mt-70 {
	margin-top: 70px;
}

.mt-80 {
	margin-top: 80px;
}

.mt-90 {
	margin-top: 90px;
}

.mt-100 {
	margin-top: 100px;
}


.link {
	text-decoration: underline;
	cursor: pointer;
}


/*情報表示*/
.envelope {
	padding: 10px 20px;
	border-radius: 6px;
	font-weight: bold;
	margin: 0 0 20px;
}

.emergency {
	background: #f2dede;
	color: #a94442;
}
.walk{
	background: #dff0d2;
	color:#3c763d;
}
/*
* 時刻表スクロールボタン
*/
.tab {
	display: block;
}

.tab__button {
	display: inline-block;
}

@media(min-width: 768px) {
	.tab {
		display: flex;
	}
}

/* 
.tabContainer {
	overflow-x: auto;
}

.tabContainer::-webkit-scrollbar {
	height: 5px;
}

.tabContainer::-webkit-scrollbar-track {
	background: #888;
}

.tabContainer::-webkit-scrollbar-thumb {
	background: #888;
}

.tab {
	display: table;
	display: block;
	margin-top: 20px;
}

.tab__button {
	display: table-cell;
	display: block;
	text-align: center;
	background-color: #2eb8bd;
border: 2px solid white;
border-bottom-width: 4px;
min-width: 80px;
}

@media(min-width: 768px) {
	.tab {
		display: flex;
	}
}

.tab__button.active {
	border-bottom: none;
}

.tab__button a {
	padding: 10px;
	color: #fff;
	display: block;
	text-decoration: none;
	font-size: 12px;
}

.contents__content {
	text-align: center;
}

.contents__content div {
	clear: left;
}

.contents__content div a {
	display: table;
	width: 100%;
	text-decoration: none;
	padding: 10px;
	border-bottom: 1px solid #000;
	color: #222;
	text-align: left;
	line-height: 1.5em;
	font-size: 14px;
}

.contents__content div a span {
	display: table-cell;
	padding-left: 10px;
	padding-right: 10px;
}

.contents__content div a:before {
	content: '';
	width: 50px;
	height: 50px;
	background-color: #fff;
	display: table-cell;
}

*/



/*お知らせ 散策情報*/
.info_envelope {
	border: 2px solid #009e9d;
	border-radius: 5px;
}

.info_title {
	border-radius: 2px 2px 0 0;
	background-color: #009e9d;
	padding: 10px 6px 6px 6px;
	color: #fff;
	display: flex;
	flex: 0 0 auto;
	justify-content: center;
	align-items: center;
	line-height: 1;
}

.info_title>* {
	line-height: 1;
}

.info_text {
	padding: 10px 6px 6px 16px;
}

@media(min-width:768px) {
	.info_envelope {
		display: flex;
	}

	.info_title {
		width: 180px;
	}
}