@media (min-width: 641px) {
	:root {
		--font-xxxlarge: 40px;
		--font-xlarge: 22px;
		--font-xlarge: 20px;
		--font-large: 18px;
		--font-normal: 16px;
		--font-small: 14px;
		--font-xsmall: 12px;
		--font-large-mark: 40px;
	}

	/* ページヘッダ */
	.header-image {
		background-color: var(--color-blue);
		background-image: url(../images/uzs_bus_logo_white.svg);
		background-repeat: no-repeat;
		background-position: center;
		background-size: 300px auto;
		height: 0;
		padding-bottom: 170px;
		text-indent: -9999px;
	}

	.date-cell div.book-available-mark {
		width: 100%;
		height: 30px;
		font-size: var(--font-xxxlarge);
		color: var(--color-red);
		font-weight: bold;
		cursor: pointer;
	}

	.date-cell div.book-available-little-mark {
		width: 100%;
		height: 30px;
		font-size: var(--font-xxxlarge);
		color: var(--color-darkyellow);
		font-weight: bold;
		cursor: pointer;
	}

	.date-cell div.book-unavailable-mark {
		width: 100%;
		height: 30px;
		font-size: var(--font-xxxlarge);
		color: var(--color-black);
		font-weight: bold;
	}
	.date-cell div.past-book-no-mark {
		width: 100%;
		height: 30px;
		padding-top: 12px;
		font-weight: normal;
		font-size: var(--font-xlarge);
		color: var(--color-palegray);
	}

	.book-chapter-title {
		font-size: var(--font-xlarge);
		background-color: var(--color-lightblue);
		font-weight: bold;
		padding: 14px 25px 12px;
		line-height: 1;
		text-align: center;
	}

	.reservation-seats-num select {
		display: block;
		font-size: var(--font-xlarge);
		font-weight: bold;
		position: relative;
		border: 1px solid var(--color-black);
		width: 120px;
		padding: 15px 20px;
		line-height: 1;
		border-radius: 25px;
		margin-right: 20px;
		background-color: var(--color-white);
		background-image: url(../img/select_box_arrow_down.svg);
		background-size: 18px;
		background-repeat: no-repeat;
		background-position: 84px 11px;
		box-shadow: 0px 7px 12px var(--color-palegray);
	}

	.bt-screen-transition {
		display: block;
		color: var(--color-white);
		font-size: 30px;
		background-color: var(--color-aquablue);
		border-radius: 30px;
		width: 100%;
		padding: 30px 0;
		text-align: center;
		line-height: 1;
		box-shadow: 0px 7px 12px var(--color-palegray);
		cursor: pointer;
	}

	.bt-screen-transition-wrapper {
		width: 500px;
		margin: 40px auto 100px;
	}

	.primary-bus-route-timetable-row-inner {
		display: flex;
		width: 100%;
		height: 78px;
		border: 1px var(--color-black);
		border-style: none none solid none;
		position: relative;
		line-height: 1.2;
		overflow: hidden;
	}

	span.right-arrow {
		margin: 0 10px;
	}

	.primary-bus-route-from-to-bus-stop-name span:not(.right-arrow) {
		display: inline-block;
		width: 202px;
		text-align: center;
		font-size: var(--font-normal);
	}

	.primary-bus-route-dep-arr-time span {
		line-height: 1;
		display: block;
		width: 202px;
		padding: 5px 0px 0;
		text-align: center;
	}

	.primary-bus-route-mark {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		text-align: center;
		width: 90px;
		padding: 0;
	}

	.primary-bus-route-name-time {
		border-right: 1px solid var(--color-black);
		padding: 10px 0px 0px 50px;
		width: 498px;
	}

	.disp-bus-company-name {
		font-size: var(--font-large);
	}

	.primary-bus-route-name-time .disp-bus-company-name {
		width: 100%;
		text-align: center;
		font-size: var(--font-normal);
	}

	button.selected .primary-bus-route-name-time {
		width: 490px;
		padding-top: 2px;
		padding-left: 42px;
	}

	button.selected div.primary-bus-route-timetable-row-inner {
		border-style: solid;
		border-color: var(--color-red);
		border-width: 8px;
		height: 78px;
		padding: 0;
	}
	button.selected .primary-bus-route-mark {
		padding-top: 4px;
		padding-left: 8px;
		width: 82px;
	}

	.disp-primary-need-book-bus {
		position: absolute;
		left: 0px;
		top: 0px;
		width: 40px;
		height: 78px;
		font-weight: bold;
		color: var(--color-white);
		background-color: var(--color-salmonpink);
		text-align: center;
		padding: 7px 7px 0;
		font-size: var(--font-small);
		border-right: 1px solid var(--color-black);
	}

	/* 英語表記(en)専用のレイアウト（PC/タブレット）。バナーを行上部に横置きし、その分だけ行を縦に伸ばす。日本語(ja)・韓国語(ko)は変更しない。 */
	html[lang='en'] .primary-bus-route-timetable-row-inner {
		height: 123px;
	}
	html[lang='en'] button.selected div.primary-bus-route-timetable-row-inner {
		height: 123px;
	}
	/* 罫線（name-time の右罫＝マーク欄の左線）を行の最上部まで通すため、行コンテナには padding を入れず、本文側を下げてバナー分の余白を確保する。表示位置は従来と同一（旧コンテナ 45px + 各要素の元 padding-top）。 */
	html[lang='en'] .primary-bus-route-name-time {
		padding-top: 55px;
	}
	html[lang='en'] .primary-bus-route-mark {
		padding-top: 45px;
	}
	html[lang='en'] .disp-primary-need-book-bus {
		width: 200px;
		height: 45px;
		left: 0;
		top: 0;
		padding: 0 8px;
		font-size: 21px;
		line-height: 1.1;
		white-space: nowrap;
		display: flex;
		align-items: center;
		justify-content: center;
		overflow-wrap: normal;
		word-break: normal;
		border-right: none;
		border-bottom: 1px solid var(--color-black);
	}
	html[lang='en'] .primary-bus-route-mark > div:last-child {
		font-size: 24px;
	}

	.reservation-seats-type {
		width: 250px;
		display: flex;
		align-items: center;
	}
	.disp-book-date {
		font-size: var(--font-xlarge);
		font-weight: bold;
		width: 510px;
		margin: 20px auto 0;
	}
	.preview-dpt-arr-bus-wrapper {
		display: flex;
		align-items: center;
		justify-content: space-around;
	}
	.preview-from-departure-time,
	.preview-to-arrival-time {
		font-size: var(--font-xlarge);
		font-weight: bold;
		margin-top: 10px;
	}

	.preview-dpt-bus-info {
		display: flex;
		align-items: center;
		width: 510px;
		height: 60px;
		margin: 20px auto;
	}

	.preview-arr-bus-info,
	.preview-dpt-bus-info {
		display: flex;
		align-items: center;
		width: auto;
		min-width: 140px;
		height: 60px;
		margin: 10px 0;
	}

	.preview-from-bus-stop-name,
	.preview-to-bus-stop-name {
		font-size: var(--font-large);
	}

	.preview-dpt-arr-down-arrow {
		width: 40px;
		margin-left: 0px;
		transform: rotate(-90deg);
	}

	.mypage .reservation-details .preview-dpt-arr-down-arrow {
		display: block;
		width: 27px;
		height: 40px;
		margin-left: 0px;
		transform: rotate(-90deg);
	}

	.mypage .reservation-details .preview-dpt-bus-info,
	.mypage .reservation-details .preview-arr-bus-info {
		display: flex;
		align-items: center;
		width: auto;
		height: 50px;
		margin: 10px auto 0;
	}

	.disp-primary-preview-count-wrapper {
		width: 550px;
		margin: 15px auto;
		line-height: 1;
	}

	.disp-preview-bus-fare-wrapper {
		width: 550px;
		margin: 20px auto 10px;
		display: flex;
		justify-content: flex-end;
		font-size: var(--font-xlarge);
		font-weight: bold;
		padding-top: 10px;
		border-top: 1px solid var(--color-black);
	}
	.disp-preview-bus-fare-wrapper > div:first-child {
		margin-right: 20px;
	}

	.bt-screen-transition-change {
		display: block;
		/* color: var(--color-white); */
		font-size: 30px;
		/* background-color: var(--color-coolgray); */
		border-radius: 30px;
		width: 100%;
		padding: 30px 0;
		text-align: center;
		line-height: 1;
		box-shadow: 0px 7px 12px var(--color-palegray);
		cursor: pointer;
	}

	.ticket-book-id {
		font-size: var(--font-xlarge);
		background-color: var(--color-white);
		font-weight: bold;
		text-align: center;
		border: 1px solid var(--color-black);
		padding: 13px 20px 10px;
		width: fit-content;
		line-height: 1;
		margin-bottom: 30px;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.ticket-book-id div {
		margin-right: 20px;
	}
	.ticket-book-id span {
		display: block;
	}

	.bt-show-ticket {
		width: fit-content;
		margin: auto;
	}

	.mypage .reservation-details .bt-screen-transition {
		color: var(--color-white);
		font-size: 20px;
		background-color: var(--color-aquablue);
		border-radius: 40px;
		padding: 10px 20px;
		width: fit-content;
		text-align: center;
		line-height: 1;
		box-shadow: 0px 7px 12px var(--color-palegray);
		cursor: pointer;
	}
	.disp-preview-count-wrapper {
		width: 550px;
		margin: 0px auto;
	}

	.disp-user-name {
		font-size: var(--font-xlarge);
		font-weight: bold;
		margin-top: 20px;
		margin-bottom: 0px;
		padding-top: 20px;
		border-top: 1px solid var(--color-black);
	}

	.disp-preview-count-type {
		display: flex;
		justify-content: flex-end;
		font-size: var(--font-xlarge);
		font-weight: bold;
		margin-bottom: 20px;
	}

	.bt-mypage {
		display: block;
		position: fixed;
		width: 100px;
		height: 100px;
		right: 30px;
		top: 30px;
		z-index: 9999;
	}

	.footer-wrapper {
		width: 75%;
		max-width: 870px;
		margin: 0 auto;
	}

	footer ul li {
		margin-bottom: 10px;
		margin-right: 20px;
	}
	footer h1 {
		font-size: var(--font-large);
		border-bottom: 1px solid var(--color-white);
		width: fit-content;
		margin-top: 30px;
		width: 100%;
	}

	footer ul {
		font-size: var(--font-normal);
		margin: 20px;
	}

	.disp-busmo-banner {
		width: 250px;
		margin: 20px auto 0 0;
	}

	.modal-content-user-auth {
		text-align: center;
		background: #fff;
		left: 50%;
		position: fixed;
		top: 50%;
		transform: translate(-50%, -50%);
		width: 400px;
		overflow: auto;
		border-radius: 15px;
		height: 280px;
		padding: 50px 30px 0;
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.modal-content-user-auth .bt-screen-transition-change {
		display: block;
		font-size: 32px;
		border: 3px solid var(--color-lightgray);
		border-radius: 60px;
		width: 140px;
		padding: 15px 0;
		text-align: center;
		line-height: 1;
		box-shadow: 0px 7px 12px var(--color-palegray);
		cursor: pointer;
	}
}
