@font-face {
	font-family: "IsadoraBold";
	src: url("/sys/will/share/tw/fonts/UTM IsadoraBold.ttf");
}

/* @media(max-width:767px) {
	#search {
		display: none;
	}
} */

.bus-route {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.bus-route h1 {
	font-size: 18px;
	font-weight: 500;
	margin: 0 50px 0 0;
	line-height: 2em;
}
.bus-route p {
	font-size: 20px;
	font-weight: 500;
}
button.icon-arrow-right {
	border:none;
	background-color: inherit;
}
@media(max-width:991px) {
	.bus-route h1 {
		margin-right: 20px;
	}
}
@media(max-width:767px) {
	.bus-route {
		display: block;
		margin-top: 30px;
		position: relative;
	}
	.bus-route h1 {
		margin-right: 0;
	}
	.bus-route .btn-change {
		position: absolute;
		bottom: 0;
		right: 0;
	}
}
@media(max-width:425px){
	.bus-route .f35 {
		font-size: 26px;
		line-height: 1;
	}
}
@media(max-width:375px) {
	.bus-route h1 {
		font-size: 16px;
	}
	.bus-route .f35 {
		font-size: 23px;
	}
}
.paging {
	display: flex;
	justify-content: flex-end;
	clear: both;
	margin-top: 10px;
}

.paging li {
	display: inline-block;
}

.paging li a {
	padding: 0 5px;
}

.paging ul {
	margin-left: 25px;
}

.paging li a {
	text-decoration: underline;
	font-size: 18px;
	color: #0A85E4;
}

.paging li.active a {
	color: #000;
	cursor: none;
	text-decoration: none;
	font-weight: 500;
}

.paging li.unactive a {
	cursor: none;
}

.paging .unactive {
	opacity: 0.2;
}

.checkbox-list li {
	margin-bottom: 4px;
}

.checkbox-list li:last-child {
	margin-bottom: 0;
}

/*--- price ---*/
.slider-container {
	width: 100%;
	position: relative;
}

.slider {
	-webkit-appearance: none;
	width: 100%;
	height: 5px;
	background: linear-gradient(to right, #30C0F0 0%, #30C0F0 var(--fill-width, 0%), #C8C8C8 var(--fill-width, 0%), #C8C8C8 100%);
	outline: none;
	transition: opacity 0.2s;
	position: relative;
	z-index: 1;
	border-radius: 5px;
}

.slider::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 18px;
	height: 18px;
	background: #30C0F0;
	border-radius: 50%;
	border: 2px solid #fff;
	cursor: pointer;
	position: relative;
	z-index: 2;
}

.value {
	position: absolute;
	top: -25px;
	left: var(--fill-width, 0%);
	transform: translateX(-0%);
	font-size: 14px;
	padding: 5px 0;
	pointer-events: none;
	font-weight: bold;
}

.price-num {
	display: flex;
	justify-content: space-between;
	margin-top: 10px;
}

/*--- End price ---*/


/*----- Filter ----*/
.filters {
	background: #FCFCFC;
}

.filters-title {
	background: #E8E8E8;
	display: flex;
	justify-content: space-between;
	padding: 12px 20px;
}

.filter:after {
	content: '';
	display: block;
	clear: both;
}

.filters-title p {
	font-size: 20px;
	font-weight: bold;
}

.filters-title button {
	border: none;
	background: inherit;
	text-decoration: underline;
	font-size: 14px;
}

.filters-title .icon-remove {
	display: inline-block;
	vertical-align: middle;
	margin-top: -2px;
}

.filters-content {
	padding: 25px 20px;
}

.btn-filters-mb-wrap {
	margin-top: -35px;
}

.btn-filters-mb {
	display: inline-block;
}

.block {
	display: block !important;
}

@media(max-width:991px) {
	.filters {
		display: none;
		margin-top: 30px;
		margin-bottom: 30px;
	}
}

@media(max-width:767px) {
	.filter {
		width: 100%;
		float: inherit;
		margin-top: 20px;
	}

	.filter .form-group,
	.filter select {
		width: 100%;
	}

	.paging {
		display: inherit;
	}

	.paging ul {
		float: right;
		display: inline-block;
	}

	.paging:after {
		content: '';
		display: block;
		clear: both;
	}
}
.search-result-item {
	border: 1px solid #C8C8C8;
	margin-bottom: 20px;
	border-radius: 4px;
	overflow: hidden;
}

.search-result-list .search-result-item:last-child {
	margin-bottom: 0;
}

.result-item-head {
	background-color: #E8E8E8;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.seat-num {
	padding: 0 0 8px 0;
	font-size: 24px;
	font-weight: 500;
	color: #E86594;
}

.route-code {
	font-size: 22px;
	font-weight: 500;
	background: #808080;
	color: #fff;
	padding: 8px 15px;
	text-align: center;
}

.name-bus-operator {
	font-size: 24px;
	font-weight: 500;
	padding-left: 20px;
}

.bus-operator {
	display: flex;
	align-items: center;
}

.result-item-head>img {
	padding: 5px 20px;
	height: 49px;
}

.result-item-main {
	padding: 30px 20px;
}

.result-item-inner {
	display: flex;
	align-items: center;
	margin-left: -15px;
	margin-right: -15px;
}

.result-item-inner>div {
	padding-left: 15px;
	padding-right: 15px;
}

.w01 {
	width: 27%;
}

.w02 {
	width: 73%;
}

.w03 {
	width: 30%;
}

.result-seat-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-left: -15px;
	margin-right: -15px;
}

.result-seat-box>div {
	padding-left: 5px;
	padding-right: 5px;
}

.result-item-inner>.w02>.result-seat-box {
	padding: 20px 0;
	position: relative;
}

.result-item-inner>.w02>.result-seat-box:after {
	content: '';
	display: block;
	width: calc(100% - 30px);
	height: 2px;
	border-bottom: 2px dotted #C8C8C8;
	position: absolute;
	bottom: 0;
	left: 15px;
}

.result-seat-box-item {
	padding: 20px 0;
	border-bottom: 2px dotted #C8C8C8;
}

.result-seat-box .result-seat-box-item:first-child {
	padding-top: 0;
}

.result-seat-box .result-seat-box-item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.result-item-inner>.w02>.result-seat-box:last-child:after {
	content: inherit;
}

.result-seat-box-item {
	padding: 20px 0;
	border-bottom: 2px dotted #C8C8C8;
}

.result-seat-box .result-seat-box-item:first-child {
	padding-top: 0;
}

.result-seat-box .result-seat-box-item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.result-seat-box-item:after,
.result-item-main:after {
	content: '';
	display: block;
	clear: both;
}

.route-time {
	position: relative;
	padding-left: 30px;
}

.route-time p {
	font-size: 14px;
}

.end-time span,
.departure-time span {
	font-size: 30px;
	font-weight: 500;
}

.end-time>span,
.departure-time>span {
	position: relative;
}

.departure-time>span:before,
.end-time>span:before {
	content: '';
	display: inline-block;
	position: absolute;
	left: -30px;
	top: 7px;
}

.departure-time>span:before {
	width: 20px;
	height: 20px;
	background: url(/sys/will/share/tw/img/common/icon_location.svg) no-repeat center center;
	background-size: 100%;
}

.end-time>span:before {
	width: 16px;
	height: 20px;
	background: url(/sys/will/share/tw/img/common/icon_map.svg) no-repeat center center #fff;
	background-size: 100%;
	left: -28px;
}

.total-time {
	margin: 15px 0;
	line-height: 26px;
}

.btn-schedule {
	display: block;
	font-size: 14px;
}

.btn-schedule:before {
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	background: url(/sys/will/share/tw/img/common/icon_clock.svg) no-repeat center center;
	background-size: 100%;
	vertical-align: middle;
	margin-right: 5px;
}

.route-line {
	position: absolute;
	left: 9px;
	top: 35px;
	height: calc(100% - 92px);
	width: 1px;
	background-size: 100%;
	overflow: hidden;
	border-left: 1px dashed #707070;
}

.w02-01 {
	display: flex;
	align-items: flex-start;
}

.w02-01>img {
	width: 120px;
}

.seat-box {
	width: calc(100% - 120px);
	padding-left: 20px;
}

.seat-name {
	font-size: 18px;
	font-weight: 500;
}

.seat-detail {
	margin: 10px 0;
}

.btn-view {
	font-size: 14px;
}

.price-box {
	text-align: center;
}

.seat-price {
	font-size: 22px;
	font-weight: bold;
	color: #F80707;
	line-height: 1.2;
}

.reservation-content-01:after {
	content: '';
	display: block;
	clear: both;
}

.sale-off-txt {
	font-size: 14px;
	text-decoration: line-through;
	font-weight: bold;
}

.sale-off-icon {
	font-size: 14px;
	font-weight: bold;
	color: #fff;
	padding: 3px 13px;
	background: url("/sys/will/share/tw/img/common/sale-off.svg") no-repeat;
	background-size: 100% 100%;
	margin-left: 5px;
	display: inline-block;
}

@media(max-width:991px) and (min-width:375px) {
	.route-time {
		text-align: center;
		display: flex;
		width: 100%;
		flex-wrap: wrap;
	}

	.departure-time,
	.end-time {
		width: 38%;
	}

	.total-time {
		width: 24%;
	}

	.route-time,
	.end-time {
		min-width: 105px;
	}

	.total-time {
		text-align: center;
		position: relative;
		vertical-align: top;
		margin-top: 0;
	}

	.route-line {
		width: calc(100% - 40px);
		height: 1px;
		border-top: 2px dotted #707070;
		top: 30px;
		left: 20px;
	}

	.departure-time span {
		padding-right: 10px;
	}

	.end-time {
		padding-left: 20px;
	}

	.end-time>span:before {
		left: -23px;
	}

	.route-time:after {
		content: '';
		width: 100%;
		height: 1px;

	}
}

@media(max-width:991px) {

	.w02,
	.w01 {
		width: 100%;
	}

	.seat-num {
		margin-top: 15px;
	}

	.btn-schedule {
		margin-top: 10px;
	}

	.result-item-inner {
		display: block;
	}

	.seat-num {
		font-size: 22px;
		padding-bottom: 12px;
	}

	.price-box>p:nth-child(1) {
		display: inline-block;
	}
}

@media(max-width:991px) and (min-width:375px) {
	.departure-time {
		text-align: left;
	}

	.end-time {
		text-align: right;
	}

	.end-time span,
	.departure-time span {
		padding-left: 30px;
		background: #fff;
		position: relative;
		z-index: 2;
	}

	.departure-time>span:before {
		left: 0;
	}

	.end-time>span:before {
		left: 5px;
	}

	.btn-schedule {
		margin-left: 3px;
	}

	.btn-schedule:before {
		display: none;
	}

	.route-time {
		padding-left: 0;
	}

	.end-time {
		padding-left: 0;
		text-align: right;
	}
}

@media(max-width:767px) {
	.result-content>form>.row>.col-lg-9 {
		background-color: #E8E8E8;
		padding-bottom: 50px;
	}

	.reservation-content-02 {
		margin-top: 0;
	}

	.btn-schedule {
		display: block;
	}

	.result-item-head {
		justify-content: flex-start;
		background-color: #fff;
	}

	.name-bus-operator {
		padding-left: 0;
		padding-bottom: 10px;
	}

	.w02-01>img {
		width: 24%;
	}

	.seat-box {
		width: 76%;
	}

	.total-time .block-767 {
		display: inline-block;
	}

	.search-result-list {
		margin-left: -15px;
		margin-right: -15px;
		padding: 15px;
	}

	.search-result-item {
		background-color: #fff;
		box-shadow: 0 3px 6px rgb(0 0 0 / 15%);
	}

	.result-item-main {
		padding: 25px 20px;
	}

	.route-time p {
		font-size: 14px;
	}

	.end-time,
	.departure-time {
		font-weight: 500;
	}

	.end-time span,
	.departure-time span {
		font-size: 26px;
	}

	.result-seat-list,
	.w03 {
		width: 100%;
	}

	.w03 {
		margin-top: 10px;
	}

	.result-seat-box {
		flex-wrap: wrap;
	}

	.seat-detail {
		margin: 5px 0;
		font-size: 14px;
	}

	.price-box {
		padding: 0;
		margin-top: 5px;
	}

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

	.end-time {
		padding-left: 0;
	}

	.result-seat-box>.float-right.price-box {
		margin-top: 0;
	}

	.reservation-content-01 .paging>span {
		display: block;
		text-align: left;
	}

	.paging-footer {
		display: flex;
		justify-content: space-between;
	}

	.paging-footer:after {
		content: inherit;
	}
}

@media(max-width:480px) {
	.route-code {
		font-size: 18px;
	}

	.result-item-head .w01>p {
		font-size: 22px;
	}

	.route-code,
	.result-item-head .w01>p {
		padding: 8px 15px;
	}

	.result-item-head>img {
		height: 43px;
	}
}

@media(max-width:424px) {
	.btn-schedule {
		margin-top: 10px;
		display: block;
	}
}

@media(max-width:374px) {
	.route-time .block-767 {
		display: none;
	}

	.btn-schedule {
		margin-top: 0;
		display: inline-block;
	}

	.route-line {
		height: calc(100% - 80px);
	}
}

.reservation-content-02 {
	padding-top: 70px;
	padding-bottom: 100px;
}

.reservation-title {
	text-align: center;
	color: #3C3C3C;
}

.decs {
	color: #F989B1;
	font-size: 28px;
	text-align: center;
	display: block;
}

.decs:after,
.decs:before {
	content: '';
	display: inline-block;
	width: 50px;
	height: 3px;
	background-color: #F989B1;
	vertical-align: middle;
}

.decs:before {
	margin-right: 5px;
}

.decs:after {
	margin-left: 5px;
}

.dropdown {
	border: 1px solid #C8C8C8;
	border-radius: 4px;
	background-color: #fff;
	margin-bottom: 15px;
}

.dropdown h4 {
	font-size: 20px;
	font-weight: 500;
	padding: 20px 65px 20px 25px;
	position: relative;
}

.icon-dropdown {
	position: absolute;
	right: 20px;
	top: calc(50% - 15px);
}

.icon-dropdown:after {
	transform: rotate(-90deg);
}

.dropdown_toggle .icon-dropdown:after {
	transform: rotate(90deg);
}

.dropdownSub {
	padding: 30px 25px;
	display: none;
}

.dropdown_toggle h4 {
	background-color: #F8F8F8;
}

.dropdownSub p {
	font-size: 16px;
}

.dropdownSub .f14 {
	font-size: 14px;
}

.title-bg-pink {
	font-size: 20px;
	font-weight: 500;
	display: inline-block;
	background-color: #FFE7EC;
	padding: 3px;
}

.call-support {
	position: relative;
	font-size: 16px;
	font-weight: 500;
}

.call-support>a {
	font-size: 25px;
	font-weight: 500;
}

.call-support-box>p {
	padding-left: 55px;
}

.mess-box ul li {
	margin: 12px 0;
}

.dis-flex {
	display: flex;
}

.call-support-box .dis-flex>div {
	width: calc(100% - 70px);
}

.mess-box ul li img {
	vertical-align: middle;
	margin-right: 10px;
	border: 1px solid #C8C8C8;
	padding: 2px;
	border-radius: 50%;
	width: 48px;
}

/** 新headerと共存できないので削除
.icon-cm {
	width: 50px;
	height: 50px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 20px;
}
**/

.fontmedium {
	font-weight: 500;
}

.dropdownSub .f22 {
	font-size: 22px;
}

.check-list li {
	position: relative;
	margin-bottom: 4px;
	padding-left: 22px;
}

.check-list li:before {
	content: '';
	width: 13px;
	height: 10px;
	background: url(/sys/will/share/tw/img/common/icon_choose.svg) no-repeat center center;
	background-size: 100%;
	position: absolute;
	left: 0;
	top: 4px;
}

.check-list-pink li {
	position: relative;
	padding-left: 20px;
	margin-bottom: 10px;
	padding: 0 0 0 30px;
}

.check-list-pink li:before {
	content: '';
	width: 20px;
	height: 20px;
	background: url(/sys/will/share/tw/img/common/icon_choose_blue.svg) no-repeat center center;
	background-size: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

.dropdownSub .textpink {
	color: #E86594;
}

@media(max-width:991px) {
	.dropdown h4 {
		font-size: 22px;
	}
}

@media(max-width:767px) {

	.dropdownSub a,
	.dropdownSub p {
		font-size: 14px;
	}

	.dropdown {
		margin-bottom: 20px;
	}

	.reservation-title {
		font-size: 25px;
	}

	.title-bg-pink {
		font-size: 18px;
		width: 100%;
	}

	.dropdownSub .f22 {
		font-size: 20px;
	}

	.decs {
		font-size: 22px;
	}

	.dropdownSub {
		padding: 30px 15px;
	}

	.icon-plus {
		right: 15px;
		width: 16px;
	}

	.dropdown h4 {
		padding: 15px 50px 15px 15px;
		font-size: 18px;
	}

	.decs:after,
	.decs:before {
		width: 30px;
	}

	.icon-dropdown {
		right: 15px;
	}

	.icon-dropdown:after {
		width: 20px;
		height: 20px;
		border: 1.5px solid #707070;
		background: url(/sys/will/share/tw/img/common/icon_back.svg) no-repeat 5px center;
		background-size: 37%;
	}
}

.wrap-tbl {
	width: 100%;
	overflow: auto;
}

.tbl-pink {
	width: 100%;
}

.tbl-pink,
.tbl-pink tr,
.tbl-pink th,
.tbl-pink td {
	border-collapse: collapse;
	padding: 10px;
	border: 1px solid #C8C8C8;
}

.tbl-pink th {
	background-color: #FFE7EC;
	text-align: center;
	font-weight: 500;
}

.tbl-pink tr:nth-child(2n+1) td {
	background-color: #FCFCFC;
}

.tbl-pink tr>td:nth-child(1),
.tbl-pink tr>td:nth-child(2),
.tbl-pink tr>td:nth-child(3),
.tbl-pink tr>td:nth-child(4) {
	text-align: center;
}

@media(max-width:575px) {

	.tbl-pink,
	.tbl-pink tr,
	.tbl-pink th,
	.tbl-pink td {
		padding: 5px;
	}
}

.faq-title {
	font-size: 18px;
	font-weight: 500;
	display: inline-block;
	background-color: #FFE7EC;
	position: relative;
	padding: 10px 20px 10px 50px;
	width: 100%;
	margin-top: 30px;
}

.faq-title:before {
	content: '';
	width: 40px;
	height: 100%;
	position: absolute;
	left: 0;
	background: url(../img/Q.svg) no-repeat center center #FFE7EC;
	background-size: 60%;
	top: 0;
}

.faq-list li:nth-child(1) .faq-title {
	margin-top: 0;
}

.faq-seat {
	display: table;
}

.faq-seat>img,
.faq-seat>div {
	display: table-cell;
	vertical-align: middle;
}

.faq-seat>img {
	width: 175px;
}

.faq-seat>div {
	padding-left: 20px;
}

.faq-seat-name {
	font-weight: 500;
	font-size: 20px;
}

.row-10 {
	margin-left: -10px;
	margin-right: -10px;
}

.row-10>div {
	padding-left: 10px;
	padding-right: 10px;
}

@media(max-width:767px) {

	.faq-seat>img,
	.faq-seat>div,
	.faq-seat {
		display: block;
	}

	.faq-seat>img {
		max-width: 100%;
	}

	.faq-seat>div {
		padding-left: 0;
	}

	.faq-seat-name {
		margin-top: 15px;
	}
}

.reservation-content-03 {
	width: 100%;
	background-color: #585858;
	padding: 70px 0 85px 0;
}

.info-item {
	text-align: center;
}

.info-item img {
	margin-bottom: 20px;
	max-width: 60%;
}

.info-item p {
	font-size: 18px;
	font-weight: 500;
	color: #fff;
}

.info-item p>span {
	font-size: 25px;
	color: #fff;
	font-weight: 500;
}

@media(max-width:575px) {
	.reservation-content-03 {
		padding: 50px 0 70px 0;
	}

	.info-item {
		margin-bottom: 20px;
		position: relative;
	}

	.reservation-content-03 .row>.info-item:last-child {
		margin-bottom: 0;
	}

	.info-item>img {
		width: 75px;
		float: left;
		margin-bottom: 0;
	}

	.info-item:after {
		content: '';
		display: block;
		clear: both;
	}

	.info-item>p {
		padding-left: 20px;
	}

	.info-item p {
		width: 100%;
		font-size: 16px;
		position: absolute;
		top: 42%;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-moz-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		-o-transform: translate(-50%, -50%);
		/* padding: 0 15px; */
		text-align: left;
		padding-left: 110px;
		vertical-align: middle;
		padding-right: 15px;
	}

	.info-item p>span {
		font-size: 20px;
	}
}



/*-------------- Custom bootstrap 
  ----------------*/
.custom-control {
	padding-left: 32px;
	display: inline-block;
}

.custom-control-label::before,
.custom-control-label::after {
	top: 0;
	left: -32px;
	width: 20px;
	height: 20px;
	border-radius: 50% !important;
}

.custom-checkbox .custom-control-input:checked~.custom-control-label::before,
.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after,
.custom-control-label::before {
	background: #fff;
	border: 1px solid #707070;
}

.custom-checkbox .custom-control-input:checked~.custom-control-label::after {
	background: url(/sys/will/share/tw/img/common/icon_check_02.svg) no-repeat center center #F989B1 !important;
	box-shadow: none;
	background-size: 50% !important;
	border: none;
	outline: none;
}

.custom-checkbox .custom-control-input:checked~.custom-control-label::before {
	border: none;
}

.custom-select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: url(/sys/will/share/tw/img/common/icon_select.svg);
	background-repeat: no-repeat;
	background-position: right center;
	border-radius: 0;
	border: 1px solid #9F9F9F;
	padding-right: 45px;
	background-size: auto 100%;
}

/*------------------- Icon 
  -----------*/
.icon-remove:after {
	content: '';
	display: inline-block;
	width: 10px;
	height: 10px;
	vertical-align: middle;
	background: url("/sys/will/share/tw/img/common/icon_close.svg") no-repeat;
	background-size: 100%;
	margin-right: 6px;
}

.icon-filters:before {
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	background: url("/sys/will/share/tw/img/common/icon-filter.svg") no-repeat;
	background-size: 100%;
	vertical-align: middle;
	margin-right: 8px;
}

.note-error {
	max-width: 100%;
	min-height: 48px;
	background-color: #F8F8F8;
	border: 1px solid #F25C92;
	border-radius: 5px;
	padding: 7px 24px;
	display: inline-block;
}

.note-error p {
	font-size: 17px;
	font-weight: bold;
	color: #F25C92;
	background: url(/sys/will/share/tw/img/common/icon_error.png) no-repeat center left;
	background-size: 25px;
	padding: 5px 0 3px 40px;
}

.reservation-content-02 {
	display: none;
}

.reservation-content-03 {
	display: none;
}
