:root {
	--color-ex: #97d113;
	--color-local: #1359d1;
	--color-community: #5eb0d9;
	--color-shuttle: #e65890;
	--color-ship: #073968;
}

.selModalClose {
	font-size: 18px;
	font-weight: bold;
}

.busname-area {
	flex: 1;
	padding-left: 15px;
}

.busname-area.disabled {
	color: #d1d1d1;
	cursor: default;
}

.busstop-select-modal-buslist .bus-name {
	font-size: 21px;
	font-weight: normal;
}

.busstop-select-modal-buslist .bus-rubi {
	font-size: 24px;
	margin-bottom: 5px;
	word-break: break-all;
}
@media (min-width: 961px) {
	.busstop-select-modal-buslist .bus-rubi {
		max-width: inherit;
	}
}

.buscompany-select-modal,
.busstop-select-modal {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 9999999;
	display: none;
}

.overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.5);
	width: 100%;
	height: 100%;
	z-index: 10;
}
.overlay2 {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.2);
	width: 100%;
	height: 100%;
	z-index: 10;
}

.buscompany-select-modal-content,
.busstop-select-modal-content {
	background: #fff;
	display: flex;
	flex-direction: column;
	height: 90vh;
	left: 50%;
	max-width: 640px;
	overflow-y: hidden;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	will-change: transform;
	z-index: 11;
}

.busstop-select-modal-header {
	position: absolute;
	right: 30px;
	top: 18px;
}

.busstop-select-modal-inner {
	border-bottom: 1px solid #efefef;
	display: flex;
	overflow: auto;
	flex-direction: column;
	padding: 40px 10px 20px;
}

/* @media (min-width: 961px) {
	.busstop-select-modal-inner {
		flex-direction: row;
		gap: 20px;
		padding: 20px;
		width: fit-content;
	}
} */

.selModalCloseIcon {
	display: block;
	width: 44px;
	height: 44px;
	position: relative;
	cursor: pointer;
	float: right;
}

.selModalCloseIcon span::before,
.selModalCloseIcon span::after {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 84%;
	height: 9%;
	margin: -8% 0 0 -42%;
	background: #555555;
}
.selModalCloseIcon span::before {
	will-change: transform;
	transform: rotate(-45deg);
}
.selModalCloseIcon span::after {
	will-change: transform;
	transform: rotate(45deg);
}

.busstop-select-modal-inner .bus-select-company-content {
	padding: 0;
}

.bus-select-company-content.select-bus-type {
	display: block;
}

.bus-select-company-content button.disabled {
	background-color: #d1d1d1;
	color: #9e9e9e;
	box-shadow: 0 0 0 #d1d1d1;
}

.busstop-select-modal-bottom {
	overflow: auto;
}

.bus-select-company-list {
	cursor: pointer;
	flex-wrap: wrap;
	font-weight: 600;
	justify-content: space-between;
	margin: 40px auto;
	width: 566px;
}

.bus-select-company-list-inner {
	margin: 0 40px;
}

.bus-type-label {
	display: flex;
	align-items: center;
	background-color: #6dbb58;
	padding: 5px 20px;
	color: #fff;
	font-size: 28px;
	margin: 20px 0;
	width: 566px;
}

@media (min-width: 961px) {
	.bus-type-label {
		font-size: 21px;
	}
}

.bus-company-checked-list {
	display: flex;
	align-items: center;
	margin: 8px 0;
}

.bt-bus-company-checked-mark {
	background-image: url(../img/checked_mark.svg);
	width: 30px;
	height: 30px;
	margin-right: 15px;
}

.bt-bus-company-checked-mark.disabled {
	background-image: url(../img/unchecked_mark.svg);
}

.bt-bus-company-confirm {
	border: 3px solid #203a48;
	border-radius: 40px;
	color: #203a48;
	display: block;
	font-size: 28px;
	font-weight: bold;
	letter-spacing: 2px;
	line-height: 1;
	margin: 20px auto 50px;
	padding: 20px;
	text-align: center;
	width: 150px;
}
.bt-bus-company-confirm:hover {
	background-color: #203a48;
	color: white;
}

.bus-company-name {
	font-size: 26px;
	color: #333;
}

@media (min-width: 961px) {
	.bus-company-name {
		font-size: 18px;
	}
}

.bus-company-name.disabled {
	color: #d1d1d1;
}

.bus-select-company-content button.clear-all-buscompany {
	border: 2px solid #447e9c;
}

.bt-filter-area {
	display: flex;
	margin-bottom: 15px;
}

.bt-bus-commpany-area {
	margin: 10px;
}

.bt-bus-company {
	color: #fff;
	font-size: 18px;
	height: 45px;
	line-height: 1;
	text-align: center;
	width: 100%;
}
@media (min-width: 961px) {
	.bt-bus-company {
		font-size: 15px;
		height: 35px;
	}
}

.bt-bus-company.ex {
	background: var(--color-ex);
}
.bt-bus-company.lo {
	background: var(--color-local);
}
.bt-bus-company.community {
	background: var(--color-community);
}
.bt-bus-company.shuttle {
	background: var(--color-shuttle);
}
.bt-bus-company.ship {
	background: var(--color-ship);
}

.bus-select-company-list2 {
	display: flex;
	flex-wrap: wrap;
	font-weight: bold;
	font-size: 21px;
	gap: 20px;
	line-height: 1;
	margin: 10px auto 0;
	width: 566px;
}
@media (min-width: 961px) {
	.bus-select-company-list2 {
		font-size: 16px;
		overflow: auto;
		max-height: 50vh;
		border: 1px solid #447e9c;
		padding: 0px 0px 50px;
	}

	.bus-select-company-list2 button {
		padding-left: 20px;
	}
}

.bus-select-company-list2 .bt-bus-company {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 21px;
	width: 100%;
}
@media (min-width: 961px) {
	.bus-select-company-list2 .bt-bus-company {
		font-size: 18px;
	}
}

.bus-select-company-list2 button.disabled {
	color: #d1d1d1;
}

.bus-select-company-list button.disabled {
	background-color: #d1d1d1;
	color: #9e9e9e;
	box-shadow: 0 0 0;
}

.bus-select-company-list button.all-buscompany {
	width: 48%;
}
.bus-select-company-list button.clear-all-buscompany {
	width: 48%;
	border: 2px solid #447e9c;
}

.busstop-select-modal-inner .search-area {
	display: flex;
	flex-direction: column;
	margin: 0px auto;
	width: 566px;
}

.busstop-select-modal-inner .search {
	width: 100%;
	position: relative;
}

.busstop-select-modal-inner .busmo-stop-search-text-cover {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 430px;
	height: 75px;
}

.busstop-select-modal-inner .search-delete-icon {
	display: block;
	position: absolute;
	width: 35px;
	height: 35px;
	border-radius: 50%;
	background: #d1d1d1;
	top: 17px;
	right: 19px;
}

.busstop-select-modal-inner .search-delete-icon::before,
.busstop-select-modal-inner .search-delete-icon::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 2px;
	height: 18px;
	background: #fff;
}

.busstop-select-modal-inner .search-delete-icon::before {
	will-change: transform;
	transform: translate(-50%, -50%) rotate(45deg);
}

.busstop-select-modal-inner .search-delete-icon::after {
	will-change: transform;
	transform: translate(-50%, -50%) rotate(-45deg);
}

.busstop-select-modal-inner .search-delete-icon:hover {
	background: #bebebe;
	/* transition: all 0.3s; */
}

.busstop-select-modal-inner .search-icon {
	background: url(../img/icon_search_blue.svg) center / cover no-repeat;
	height: 45px;
	left: 15px;
	position: absolute;
	top: 14px;
	width: 45px;
}

.busstop-select-modal-inner .mojiretu ul {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	list-style: none;
}

.busstop-select-modal-inner .mojiretu li {
	padding: 10px;
	font-size: 26px;
	font-weight: 600;
	color: #9e9e9e;
	cursor: pointer;
}

.busstop-select-modal-inner .mojiretu button.selected {
	color: #447e9c;
}

.busstop-select-modal-buslist {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	/* overflow-scrolling: touch; */
	border-bottom: 1px solid #efefef;
}

.busstop-select-modal-buslist ul {
	margin: 0;
	padding: 0;
	background-color: #fff;
	padding-bottom: 1px;
	box-sizing: border-box;
}

.busstop-select-modal-buslist ul li {
	display: block;
	position: relative;
	margin: 0 0 -1px 0;
	padding: 15px 20px;
	border-top: 1px solid #efefef;
	border-bottom: 1px solid #efefef;
	cursor: pointer;
	box-sizing: border-box;
}

.busstop-select-modal-buslist .buslist-content {
	display: flex;
	align-items: center;
	line-height: normal;
}

.busstop-select-modal-buslist .favorite-button .favorite-on {
	width: 40px;
	height: 40px;
	vertical-align: middle;
	margin-right: 15px;
	background-image: url(../img/star_orange.png);
	background-size: 40px;
}

.busstop-select-modal-buslist .favorite-button .favorite-off {
	width: 40px;
	height: 40px;
	vertical-align: middle;
	margin-right: 15px;
	background-image: url(../img/star_gray.png);
	background-size: 40px;
}

.favorite-button.disabled {
	opacity: 0.5;
}

.bustype.community.disabled {
	background-color: #d1d1d1;
}

.bus-button-list {
	margin-left: auto;
	display: flex;
}

.bus-icon-set {
	display: flex;
}

.bus-type-area {
	display: block;
	width: 35px;
}

.bustype.ex::after {
	display: inline-block;
	content: 'E';
	color: #fff;
	background: var(--color-ex);
	width: 35px;
	height: 35px;
	text-align: center;
	line-height: 35px;
	font-size: 20px;
}
.bustype.lo::after {
	display: inline-block;
	content: 'L';
	color: #fff;
	background: var(--color-local);
	width: 35px;
	height: 35px;
	text-align: center;
	line-height: 35px;
	font-size: 20px;
}
.bustype.community::after {
	display: inline-block;
	content: 'C';
	color: #fff;
	background: var(--color-community);
	width: 35px;
	height: 35px;
	text-align: center;
	line-height: 35px;
	font-size: 20px;
}
.bustype.shuttle::after {
	display: inline-block;
	content: 'S';
	color: #fff;
	background: var(--color-shuttle);
	width: 35px;
	height: 35px;
	text-align: center;
	line-height: 35px;
	font-size: 20px;
}
.bustype.ship::after {
	display: inline-block;
	content: 'S';
	color: #fff;
	background: var(--color-ship);
	width: 35px;
	height: 35px;
	text-align: center;
	line-height: 35px;
	font-size: 20px;
}

.bus-button-list .map {
	background: url(../img/icon_map.png) center / 50px no-repeat;
	font-size: 24px;
	width: 50px;
	height: 70px;
}

.bus-button-list .map.disabled {
	background-image: url(../img/icon_map_gray.png);
	cursor: default;
}

.busstop-select-modal-buslist ul li.selected {
	background-color: #d1e7f0;
}

.busstop-select-modal-buslist ul li.selected::before {
	position: absolute;
	content: '';
	display: block;
	height: 100%;
	top: 0;
	left: 0;
	width: 4px;
	background-color: #65bde9;
}

.awaji-map {
	position: relative;
	width: 500px;
	height: 500px;
	background-image: url(../img/awaji_map.png);
	background-size: 100%;
	background-repeat: no-repeat;
	background-position-x: 0px;
	background-position-y: 30px;
	padding-top: 30px;
	margin: 15px 0;
}

.awaji-map-pin {
	position: absolute;
	width: 54px;
	height: 67px;
	background-image: url(../img/map_pin.png?20230628001);
	background-size: 54px 67px;
	background-repeat: no-repeat;
}

.selModalButton {
	display: inline-block;
	position: relative;
	overflow: hidden;
	width: 100%;
	padding: 6px 22px 6px 12px;
	border: 1px solid #777;
	border-radius: 3px;
	background: #fff;
	color: #333;
	text-decoration: none;
	line-height: normal;
	cursor: pointer;
	text-align: left;
	/* font-size: inherit; */
	font-size: 18px;
	font-weight: bold;
}

.selModalButton::before,
.selModalButton::after {
	content: '';
	position: absolute;
	z-index: 2;
	right: 7px;
	width: 0;
	height: 0;
	border: 4px dashed;
	border-color: #333 transparent;
	pointer-events: none;
}

.selModalButton::before {
	border-bottom-style: solid;
	border-top: none;
	top: 30%;
}

.selModalButton::after {
	border-top-style: solid;
	border-bottom: none;
	bottom: 30%;
}

.selModal .selModalInner ul li.totch {
	background-color: #efefef;
}

/* ニュース */
.news-modal {
	display: none;
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
}
.news-modal-bg {
	position: relative;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.5);
}
.news-modal-content {
	position: absolute;
	top: 70px;
	left: calc(50% - 290px);
	width: 580px;
	height: fit-content;
	max-height: 80vh;
	overflow-y: auto;
	background-color: white;
	border-width: 5px;
	border-color: var(--yellow-green);
	border-radius: 15px;
	box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
	padding: 29px;
}

.news-modal-content .bus-info-title-wrapper {
	flex-direction: column;
}

.news-modal-content .bus-info-title-wrapper .bus-info-date {
	color: #203a48;
	font-size: 18px;
	width: 100%;
	text-align: right;
}

.news-modal-content .bus-info-title-wrapper .bus-info-title {
	color: #203a48;
	border-bottom: 1px dashed var(--light-gray);
	padding-bottom: 15px;
	font-size: 26px;
	width: 100%;
	overflow: auto;
	text-overflow: inherit;
	white-space: normal;
}

@media (min-width: 961px) {
	.news-modal-content .bus-info-title-wrapper .bus-info-title {
		font-size: 18px;
	}
}

.modal-close-btn {
	border: 1px solid #203a48;
	border-radius: 30px;
	cursor: pointer;
	color: #203a48;
	line-height: 1em;
	margin: 20px auto;
	width: fit-content;
}

.modal-close-btn button {
	font-size: 30px;
	padding: 10px 20px;
}

.modal-close-btn:hover {
	background-color: var(--mos-green);
	color: white;
}

.news-modal-content .bus-info-content {
	color: #203a48;
	font-size: 24px;
	padding-top: 1em;
}

@media (min-width: 961px) {
	.news-modal-content .bus-info-content {
		font-size: 18px;
	}
}

.news-modal-content .bus-info-content h2 {
	font-weight: bold;
}
.news-modal-content .bus-info-content p {
	padding-top: 1em;
	padding-left: 1em;
	text-indent: -1em;
}
.news-modal-content .bus-info-content p a {
	text-decoration-line: underline;
}
.news-modal-content .bus-info-content .attention {
	color: red;
}
.news-modal-content .bus-info-content ul {
	display: flex;
	flex-direction: column;
	gap: 10px;
	list-style: disc;
	margin-top: 10px;
	padding-left: 1em;
}

@media (min-width: 961px) {
}
