@charset "UTF-8";
/* CSS Document */
@font-face {
	font-family: 'Nico';
	src:url(../font/nicomoji-plus_1.11.ttf);
}
@font-face {
	font-family: 'Utsukushi';
	src:url(../font/beautiful font.ttf);
}
html{
	overflow-x: hidden;
}

body{
	background:url(../images/body_back.png) top center/100% auto fixed repeat, linear-gradient(to bottom, #5594e4 0%,#b3dbf8 70%) fixed;
	font-size:14px;
	color:#555555;
	font-family: "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	overflow-x: hidden;
}
a{
	color:#037689;
	font-weight:bold;
}
a:hover{
	opacity: 0.7;
}
/*PC Only*/@media screen and (min-width: 721px){
	.pc_marr40{
		margin-right:40px;
	}
	.pc_marr20{
		margin-right:20px;
	}
}
.marb20{
	margin-bottom: 20px;
}
@media screen and (max-width: 720px){
	.sp_marb10{
		margin-bottom:10px;
	}
}
.fontb{
	font-weight: bold;
}
.fontred{
	color:#810000
}
.trilink{
	padding:0 0 0 1em ;
	position:relative;
	text-shadow:0 0 2px #ffffff;
}
.trilink:before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	box-sizing: border-box;
	width: 8px;
	height: 8px;
	border: 8px solid transparent;
	border-left: 8px solid #01A0C7;
}
.trilink1{
	padding:0 0 0 1.4em ;
	position:relative;
}
.trilink1:before{
	content: "";
	position: absolute;
	top:50%;
	left:0;
	width: 0;
	height: 0;
	margin:-5px 0 0;
	border-style: solid;
	border-width: 5px 8px 5px 0;
	border-color: transparent #01A0C7 transparent transparent;

}
.trilink2{
	padding:0 1.4em 0 0 ;
	position:relative;
}
.trilink2:after{
	content: "";
	position: absolute;
	top:50%;
	right: 0;
	width: 0;
	height: 0;
	margin:-5px 0 0;
	border-style: solid;
	border-width: 5px 0 5px 8px;
	border-color: transparent transparent transparent #01A0C7;
}
.tcenter{
	width:100%;
	text-align: center;
}
@media screen and (max-width: 720px){
	.br:after {
		content: "\A" ;
		white-space: pre ;
	}
}
header{
	background: url(../images/header_back.png) top center no-repeat, url(../images/navi_back.png) center 268px no-repeat;
}
@media screen and (max-width: 720px){
	header{
		background: url(../images/header_back.png) top center no-repeat;
	}
}
.hdr_inner{
	width:1200px;
	margin:auto;
	padding:30px 0 0;
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
@media screen and (max-width: 720px){
	.hdr_inner{
		width:100%;
		padding: 20px;
		box-sizing: border-box;
	}
}
.hdr_inner .logo_sec{
	margin:0;
	padding:0 250px 0 0;
	background: url(../images/header_back1.png) top right/232px auto no-repeat;
}
@media screen and (max-width: 720px){
	.hdr_inner .logo_sec{
		background:none;
	}
}
.hdr_inner h1{
	margin:0 0 30px;
	color:#ffffff;
}
@media screen and (max-width: 720px){
	.hdr_inner h1{
		width:300px;
		margin:0 0 10px;
	}
}
.hdr_inner .logo img{
	width:300px;
}
@media screen and (max-width: 720px){
	.hdr_inner .logo img{
		width:200px;
		margin:0 0 20px;
	}
}
.safety, .tel{
	width:145px;
	margin:0 0 80px;
}
.safety img{
	width:100%;
}
@media screen and (max-width: 720px){
	.safety{
		display:none;
	}
}
.tel{
	padding:50px 0 0;
	background:url(../images/tel.png) top center/ contain no-repeat;
	text-shadow:-2px -2px 0px #ffffff, 2px -2px 0px #ffffff, 2px 2px 0px #ffffff, -2px 2px 0px #ffffff;
}
@media screen and (max-width: 720px){
	.tel{
		width:auto;
		max-width:50%;
		margin:0 0 40px;
		padding:0;
		background:#ffffff;
		border-radius:4px;
	}
	.tel:before{
		content:"電話によるお問い合わせ";
		display:block;
		padding:5px;
		background:#01A0C7;
		color:#ffffff;
		text-shadow:none;
		border-radius:4px 4px 0 0;
	}
	.tel dl dt, .tel dl dd{
		margin:0;
		text-shadow:none;
	}
	.tel dl dt{
		float:left;
		margin:5px 0 5px 10px;
	}
	.tel dl dd{
		padding:5px 0 5px 4em;
	}
}
.tel dt{margin:0 0 0 30px;
	font-family: "Nico";
	color:#f15a24;
}
.tel dd{
	text-align:center;
	font-size:0.9em;
	font-weight: bold;
}
.tel dd a{
	color:#555555;
}
.log_sec{
	width:210px;
	height:100px;
	margin:0;
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
@media screen and (max-width: 720px){
	.log_sec{
		width: auto;
		max-width:50%;
		flex-flow: column;
		justify-content: flex-start;
		align-items: flex-end;
	}
	.log_sec .wcm{
		font-size: 0.8em;
	}
}
.log_sec .log{
	width:100px;
	margin:0 0 30px;
	padding:5px 0;
	background:url(../images/blue_strp.png);
	text-align:center;
	text-shadow:-2px -2px 0px #ffffff, 2px -2px 0px #ffffff, 2px 2px 0px #ffffff, -2px 2px 0px #ffffff;
	border:#00a2c0 1px solid;
	border-radius:2px;
}
@media screen and (max-width: 720px){
	.log_sec .log{
		margin:0 0 10px;
	}
}
.log_sec .New{
	background:url(../images/orange_strp.png);
	color:#f15a24;
	border:#f5a500 1px solid;
}
.log_sec .link{
	position:relative;
	padding:0 0 0 1em;
	color:#ffffff;
	text-shadow: 0 0 2px #000000;
}
@media screen and (max-width: 720px){
	.log_sec .link{
		display:none;
	}
}
.log_sec .link:before{
	content: "";
	position:absolute;
	top:50%;
	left: 0;
	box-sizing: border-box;
	width: 0;
	height: 0;
	margin:-7px 0 0;
	border-style: solid;
	border-width: 7px 0 7px 8px;
	border-color: transparent transparent transparent #f9e4eb;
}
.hdr_inner nav{
	margin:0 auto;
}
/*PC Only*/@media screen and (min-width: 721px){
	.hdr_inner nav p{
		display:none;
	}
}
@media screen and (max-width: 720px){
	.hdr_inner nav{
		width:270px;
		display:flex;
		align-items: flex-start;
		margin-right:-250px;		
		position:fixed;
		top:0;
		right:0;
		z-index:100;
	}
	.hdr_inner nav p{
		width:20px;
		padding: 4px 0;
		background:#42210b;
		border-radius: 4px;
		color: #ffffff;
		text-align:center;
	}
}
.hdr_inner nav ul{
	margin:0 auto 30px;
	display:flex;
	justify-content: center;
}
@media screen and (max-width: 720px){
	.hdr_inner nav ul{
		width:250px;
		flex-flow: column;
		margin:0;
	}
}
.hdr_inner nav li{
	width: 176px;
	height: 100px;
}
@media screen and (max-width: 720px){
	.hdr_inner nav li{
		width:auto;
		height:auto;
		padding:0 0 0 20px;
		line-height:3em;
		background:#ffffff;
	}
}
.hdr_inner nav li a{
	display:block;
	width: 100%;
	height: 100%;
	padding: 50px 0 0;
	box-sizing: border-box;
	background: url(../images/navi.png) left bottom/176px auto no-repeat;
	text-align: center;
	color:#42210b;
	font-weight:bold;
}
@media screen and (max-width: 720px){
	.hdr_inner nav li a{
		height:auto;
		padding:0;
		background:none;
		text-align: left;
		border-bottom: 1px dotted #555555;
	}
}
.hdr_inner nav li ul{
	display:none;
	position:absolute;
	padding:0;
	background:none;
	z-index:100;
}
@media screen and (max-width: 720px){
	.hdr_inner nav li ul{
		display:block;
		position:relative;
	}
}
.hdr_inner nav li ul li{
	width: 176px;
	height:65px;
	margin:0;
}
@media screen and (max-width: 720px){
	.hdr_inner nav li ul li {
		width:auto;
		height:auto;
		margin:0;
		padding:0 0 0 2em;
	}
}
.hdr_inner nav li ul li a{
	width: 100%;
	height:100%;
	padding: 20px;
	box-sizing:border-box;
	background: url(../images/navi1.png) left bottom/176px auto no-repeat;
}
@media screen and (max-width: 720px){
	.hdr_inner nav li ul li a{
		background:none;
		padding:0;
		border-bottom: 1px dotted #555555;
	}
}
/*PC Only*/@media screen and (min-width: 721px){
	.hdr_inner nav ul li:nth-child(2), .hdr_inner nav ul li:nth-child(5){
		margin:4px 0 0;
	}
	.hdr_inner nav ul li:nth-child(3), .hdr_inner nav ul li:nth-child(4){
		margin:8px 0 0;
	}
}
#top .top, #bus .bus, #flow .flow, #pay .pay, #cmpn .cmpn, #qa .qa{
	background: url(../images/navi_now.png) left bottom/176px auto no-repeat;
}
@media screen and (max-width: 720px){
	#top .top, #bus .bus, #flow .flow, #pay .pay, #cmpn .cmpn, #qa .qa{
		background:none;
	}
}
.pankuzu{
	display:flex;
	flex-wrap: wrap;
}
/*PC Only*/@media screen and (min-width: 721px){
	.pankuzu{
		width:1056px;
		margin:0 auto 20px;
	}
}
.pankuzu li{
	position: relative;
	margin:0 2em 0 0;
	padding:0 0 0 1em;
	text-shadow:0 0 2px #ffffff;
	font-weight:bold;
}
.pankuzu li:before{
	content: "";
	position:absolute;
	top:50%;
	left: 0;
	box-sizing: border-box;
	width: 0;
	height: 0;
	margin:-7px 0 0;
	border-style: solid;
	border-width: 7px 0 7px 8px;
	border-color: transparent transparent transparent #037589;
}

/*wrapper*/
.wrapper{
	margin:0 auto;
}
.wrapper .frm{
	margin:0 auto;
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
/*PC Only*/@media screen and (min-width: 721px){
	.wrapper{
		width:1060px;
	}

}
@media screen and (max-width: 720px){
	.wrapper{
		padding:0 20px;
	}
}
.left{
	width:770px;
}
@media screen and (max-width: 720px){
	.left{
		width:100%;
	}
}
.nml h2{
	margin:0 0 40px;
	font-size: 20px;
	font-weight: bold;
	text-align:center;
	color:#828a64;
	background:url(../images/mds_back1.png) center -24px no-repeat, url(../images/mds_back2.png) center bottom -24px no-repeat;
	border-image:url(../images/mds_border.png) 24 round;
	border-style:solid; border-width:24px;
}
@media screen and (max-width: 720px){
	.nml h2{
		background: linear-gradient(to right,#fff6bf 0%, #ffffff 20%, #ffffff 80%,#fff6bf 100%);
		border-radius: 4px;
		font-size:16px;
	}
}
.nml table{
	width:100%;
	margin:0 0 50px;
	border-spacing: 2px;
}
.nml table th, .nml table td{
	padding:10px 20px;
	background:#ffffff;
    vertical-align: middle;
}
@media screen and (max-width: 720px){
	.nml table th, .nml table td{
		padding:10px;
	}
}
@media screen and (max-width: 370px){
	.nml table td select{
		max-width:200px;
	}
}

.hissu:before{
	content: "必須";
	position: absolute;
    top: 0;
    left: 0;
    width: 1em;
    height: 100%;
    padding:0 1px;
    background: #f15a24;
    color: #ffffff;
    font-size: 0.8em;
}
.caution{
	position: relative;
	padding:0 0 0 1.4em;
	font-size:0.8em;
	line-height: 1.4em;
}
.caution:before{
	content:"※";
	width:1em;
	position: absolute;
	left:0;
	top:0;
}
button{
	min-width:8em;
	padding:8px;
	background:#01a0c7;
	font-size:14px;
	color:#ffffff;
	border:none;
	border-radius:4px;
	cursor: pointer;
}
.buttons{
	margin:0 0 40px;
	display:flex;
	justify-content: center;
	flex-wrap: wrap;
	align-items: flex-start;
}
.buttons button:not(:last-child){
	margin:0 10px 10px 0;
}
.two_button{
	display:flex;
	justify-content: space-between;
}
.two_button button:first-child{
	margin:0 0 40px 20px;
}
.two_button button:last-child{
	margin:0  20px 40px 0;
}
.button{
	width:100%;
	margin:0 0 50px;
	padding:0 20px;
	overflow:hidden;
}
.right_button{
	float: right;
}
.impt{
	margin:0 0 30px;
	padding: 20px;
	background: linear-gradient(140deg, rgba(245,186,211,0.40) 0%,rgba(183,220,188,0.40) 100%);
	border: 4px solid rgba(227,201,124,0.4);
}
@media screen and (max-width: 720px){
	.impt{
		margin:0 0 50px;
	}
}
.impt dt{
	color:#810000;
	font-weight:bold;
}
.impt dt:not(:first-child){
	margin:20px 0 0;
}
.impt dd{
	position: relative;
	padding:0 0 0 1.4em;
}
.impt dd:before{
	content:"※";
	width:1em;
	position: absolute;
	left:0;
	top:0;
}
.orange_b{
	background:#f5a500;
}
.green_b{
	background:#6C9B73;
}
.big_b{
	width:20em;
	margin:0 0 10px;
}
.grayb{
	background:#eeeeee;
	color:#555555;
	font-size:0.8em;
	width:auto;
	padding:4px 10px;
}
input[type="radio"]{
	margin-right:5px;
}
/*PC Only*/@media screen and (min-width: 721px){
	.inner{
		width:94%;
		margin:0 auto;
	}
}
.inner{
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.inner h3{
	width:100%;
	margin:0 0 30px;
	padding:8px 0;
	background: linear-gradient(70deg, #ffffff 50%,#fff6bf 100%);
	border-radius:4px;
	border:2px solid #cb9672;
	color:#828a64;
	text-align:center;
	font-weight:bold;
}
.right{
	width:220px;
}
@media screen and (max-width: 720px){
	.right{
		width:auto;
		display:flex;
		flex-wrap: wrap;
		justify-content:space-between; 
	}
}
.plc_bnr{
	display:block;
	margin:0 0 30px;
	text-align: center;
}
@media screen and (max-width: 720px){
	.plc_bnr{
		width:45%
	}
}
.plc_bnr img{
	width:80%;
}
@media screen and (max-width: 720px){
	.plc_bnr img{
		width:100%;
	}
}
.chartered_bnr {
	display:block;
	margin:0 0 30px;
	text-align: center;
}
@media screen and (max-width: 720px){
	.chartered_bnr{
		width:45%
	}
}
.chartered_bnr img{
    border-radius: 3px 3px 0 0;
}
@media screen and (max-width: 720px){
	.chartered_bnr img{
		width:100%;
	}
}
.payway {
	margin:0 0 20px;
	background:#f6f5ec;
}
@media screen and (max-width: 720px){
	.payway{
		width:45%;
	}
}
.payway dt{
	background:#01a0c7 url(../images/wallet.png) 10px 5px/auto 30px no-repeat;
	font-size:20px;
	font-weight:bold;
	text-align:center;
	text-shadow: 0 2px 2px #000000;
	line-height:40px;
	border-radius:2px 2px 0 0;
	box-shadow: 0 2px 2px #555555;
}
@media screen and (max-width: 720px){
	.payway dt{
		background-image: none;
	}
}
.payway dt a{
	color:#ffffff;
}
.payway dd{
	padding:20px 0;
	text-align:center;
}
@media screen and (max-width: 720px){
	.payway dd{
		padding:5px 0;
	}
	.payway dd img{
		width:100%;
	}
}
.cashp{
	margin: 0 0 30px;
	text-align:center;
}
.cashp li{
	margin:0 0 20px;
}
@media screen and (max-width: 720px){
	.cashp{
		display:flex;
		justify-content: space-between;
	}
	.cashp li{
		width:47%;
	}
	.cashp li img{
		width:100%;
	}
}

footer{
	padding:50px 0 20px;
	background:url(../images/footer_back.png) center top;
}
@media screen and (max-width: 720px){
	footer{
		padding:20px 10px;
		background:url(../images/footer_back.png) center top/auto 100% no-repeat;
	}
}
footer nav{
	width:1100px;
	margin:0 auto 20px;
	padding:30px;
	display:flex;
	justify-content: space-around;
	flex-wrap:wrap;
	background:rgba(106, 106, 86, 0.5);
	border-radius:30px;
}
@media screen and (max-width: 720px){
	footer nav{
		width: auto;
		margin:0 auto 20px;
		padding:0 10px;
		border-radius:10px;
	}
}
footer nav section{
	display:flex;
	flex-flow: column;
}
@media screen and (max-width: 720px){
	footer nav section{
		margin:10px 0;
	}
}
footer nav section a{
	color:#ffffff;
	text-shadow: 0 2px 2px #000000;
}
footer nav section a:first-child{
	font-weight:bold;
}
.copyr{
	text-align: center;
	color:#ffffff;
	font-size:10px;
}
#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 24px;
	font-family: "Utsukushi";
}
#page-top a {
    text-decoration: none;
    color: #fff;
    text-align: center;
    display: block;
    transition: 0.2s ease-out;
    text-shadow:-2px -2px 0px #01A0C7, 2px -2px 0px #01A0C7, 2px 2px 0px #01A0C7, -2px 2px 0px #01A0C7, 0 0 5px #01A0C7;
}

/*エラーメッセージ*/
.errorbox{
	width:100%;
}
.errorboxbg, .infoboxbg{
	width: 100%;
	margin: 0 0 30px;
	background: #ffffff;
}
.errorboxbg td, .infoboxbg td{
	padding: 10px;
	box-sizing: border-box;
	/*text-align: center;*/
	border-radius: 4px;
	font-weight: bold;
}

/*スマホでは隠す*/
@media screen and (max-width: 720px){
    .sphide { display: none; }
}



/* 検索結果レイアウト変更後 */
.material-icons {
    vertical-align: middle;
    font-size: 20px !important;
}
.night_bus_icon {
    background: #000;
    padding: 0.5em 0.75em 0.5em 0;
    color: white;
    font-size: 11px !important;
    line-height: 1 !important;
}
.night_bus_icon span {
    color: yellow;
}
.day_bus_icon {
    background: #fff;
    padding: 0.5em 0.75em 0.5em 0;
    color: #555;
    font-size: 11px !important;
    line-height: 1 !important;
}
.day_bus_icon span {
    color: orange;
    margin: 0 0.25em;
}
.bin > h2 > a {
    font-size: 14px !important;
    line-height: 1.8 !important;
}
.flex_child_wrap {
    width: calc(100% - 4em) !important;
    padding: 0.5em 2em;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.flex_child_time {
    width: 100%;
    margin-left: 1em;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: flex-end;
}
.flex_child_time .title {
    margin-bottom: 1em;
    width: 100%;
}
.flex_child_time .title span {
    border: 1px solid #01a0c7;
    color: #01a0c7;
    font-weight: bold;
    padding: 0.25em 0.5em;
}
.flex_child_time .time {
    max-width: 33%;
    margin-right: 1em; 
    text-align: center;
}
.flex_child_time .time p {
    text-align: left;
}
.flex_child_time .time .material-icons {
    font-size: 24px !important;
    font-weight: bold !important;
}
.flex_child_time .time ul {
    justify-content: flex-start;
    width: 100%;
}
.flex_child_time .time ul li {
    margin: 0 1px 0 0;
}
.bin table.plan {
    width: calc(100% - 4em);
    margin: 0 auto 20px;
}
.bin table.plan .button {
    width: 7em;
}
.image_attention {
    display: block;
    width: calc(100% - 4em);
}
.seat_type_icon {
    background: orange;
    color: #fff;
    padding: 3px 0.5em;
    margin-right: 0.5em;
}
.flex_child_wrap div.icon {
    line-height: 0;
    margin-right: 1.5em;
    max-width: 265px;
}
.flex_child_wrap div.icon img {
    vertical-align: middle;
    height: 30px;
    margin-bottom: 5px;
}
@media screen and (max-width: 720px){
    .flex_child_wrap {
        flex-wrap: wrap;
        width: calc(100% - 2em) !important;
        padding: 0 1em;
    }
    .flex_child_wrap .thumbnail {
        width: 100%;
    }
    .flex_child_wrap .thumbnail img {
        width: 100%;
    }
    .flex_child_time {
        margin-left: 0;
    }
    .flex_child_time .time {
        width: 100%;
        max-width: 100%;
        margin-bottom: 0.5em;
    }
    .flex_child_time .time:nth-child(3) {
        display: none;
    }
    .flex_child_wrap div.icon {
        margin: 1em 0;
        max-width: 100%;
    }
    .flex_child_wrap div.icon img {
        height: 35px;
    }
    .image_attention {
        width: calc(100% - 2em);
    }
    .seat_type_name {
        display: block;
        margin: 0.5em 0 1em;
    }
    .bin table.plan {
        width: calc(100% - 2em);
    }
    .plan_prc .plan_n {
        padding-left: 0 !important;
    }
}



.tourbnr {
    display: flex;
    justify-content: space-between;
    margin: 0 0 1em;
    line-height: 2;
}
.tourbnr p img {
    width: 100%;
    vertical-align: bottom;
}
@media screen and (min-width: 721px){
    .tourbnr p {
        width: calc(530px / 3 - 0.5em);
    }
    .tourbnr.tourbnrright {
        flex-wrap: wrap;
        margin: 3em 0 2em;
    }
    .tourbnr.tourbnrright p {
        margin-bottom: 1em;
        width: 100%;
    }
}
@media screen and (max-width: 720px){
    .tourbnr {
        flex-wrap: wrap;
        margin: 0 0 2.5em;
    }
    .tourbnr p {
        width: calc(50% - 0.5em);
        margin: 0 0 1em;
    }
    .tourbnr.tourbnrright {
        margin: 2em 0;
    }
    .tourbnr.tourbnrright p {
        margin-bottom: 1em;
    }
}