*, ::before, ::after {
	box-sizing: border-box;
}
img {
	vertical-align: bottom;
}
:root {
	--color-gray: #f6f8f9;
	--color-gray2: #737373;
	--link-color: #558fc9;
	--color-blue: #156A9A;
}
.mv {
	background-image: url("img/mv-mobilepass.webp?2");
}
.mv-title {
	font-size: min(36 * 100vw / 1500, 36px);
	background-color: rgba(0, 0, 0, 0.4);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.48em;
	min-height: min(150 * 100vw / 1500, 150px);
}
.max1280 {
	max-width: 1280px;
	margin-inline: auto;
}
.sentence-txt {
	line-height: 2;
}
.sentence-txt:has(+ .guidance-box) {
	margin-bottom: min(70 * 100vw / 1500, 70px);
}
.disp-block {
	display: block;
}
.mobilepass-content {
	font-size: min(16 * 100vw / 1500, 16px);
	padding: 0 0 min(100 * 100vw / 1500, 100px);
}
.mobilepass-content .section-heading {
	font-size: min(36 * 100vw / 1500, 36px);
	color: var(--color-blue);
	line-height: 1.57;
	letter-spacing: 0.15em;
	font-weight: bold;
	display: flex;
	align-items: baseline;
	margin-bottom: min(30 * 100vw / 1500, 30px);
}
.mobilepass-content .section-heading::before {
	content: "";
	width: min(28 * 100vw / 1500, 28px);
	aspect-ratio: 1;
	background-color: var(--color-blue);
	margin-right: min(17 * 100vw / 1500, 17px);
	flex-shrink: 0;
}
.mobilepass-content .heading-arrow {
	font-size: min(20 * 100vw / 1500, 20px);
	color: var(--color-blue);
	line-height: 1.45;
	font-weight: bold;
	display: flex;
	margin-bottom: min(30 * 100vw / 1500, 30px);
}
.mobilepass-content .heading-arrow::before {
	content: "▶︎";
}
.mobilepass-content .heading-icon {
	font-size: min(20 * 100vw / 1500, 20px);
	color: var(--color-blue);
	line-height: 1.45;
	font-weight: bold;
	display: flex;
	letter-spacing: 0.1em;
}
.mobilepass-content .heading-icon .icon {
	flex-shrink: 0;
	width: min(44 * 100vw / 1500, 44px);
	margin: 0 min(14 * 100vw / 1500, 14px) 0 0;
}
.mobilepass-content .heading-icon .text {
	margin-top: 0.4em;
}
.mobilepass-content .heading-icon:has(+ .sentence-txt) {
	margin-bottom: 0.7em;
}
.mobilepass-content .inner-section+.inner-section {
	margin-top: min(90 * 100vw / 1500, 90px);
}
.mobilepass-lead {
	margin: min(60 * 100vw / 1500, 60px) 0 min(100 * 100vw / 1500, 100px);
}
.appli-download-wrapper {
	margin: min(140 * 100vw / 1500, 140px) 0 0;
}
.appli-download-wrapper .note-txt {
	font-size: min(16 * 100vw / 1500, 16px);
	line-height: 2;
	margin-top: min(30 * 100vw / 1500, 30px);
}
.appli-download {
	display: flex;
	gap: 0 min(110 * 100vw / 1500, 110px);
}
.appli-box {
	display: grid;
	grid-template-columns: 1fr min(104 * 100vw / 1500, 104px);
	gap: 0 min(12 * 100vw / 1500, 12px);
}
.appli-box .appli-head {
	font-size: min(35 * 100vw / 1500, 35px);
	line-height: 1.2;
	font-weight: bold;
	color: var(--color-blue);
	text-align: center;
	grid-row: 1;
}
.appli-box .appli-os {
	grid-column: 1;
	display: block;
}
.appli-box .appli-os img {
	max-height: min(58 * 100vw / 1500, 58px);
}
.appli-box .appli-code {
	grid-column: 2;
	grid-row: 1/3;
}
.guidance-block {
	margin: min(50 * 100vw / 1500, 50px) 0 0;
}
.guidance-box .movie-wrapper {
	width: 60%;
	margin-inline: auto;
}
.guidance-box+.guidance-box {
	margin-top: min(40 * 100vw / 1500, 40px);
}
.download-btn {
	background-color: #2E94CC;
	color: #fff;
	font-size: min(16 * 100vw / 1500, 16px);
	font-weight: bold;
	line-height: 1.45;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.6em 1.2em;
	min-height: min(80 * 100vw / 1500, 80px);
	border-radius: min(80 * 100vw / 1500, 80px);
	text-align: center;
}
.download-btn .btn-txt {
	padding-left: min(44 * 100vw / 1500, 44px);
	position: relative;
}
.download-btn .btn-txt::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto 0;
	width: min(39 * 100vw / 1500, 39px);
	height: min(41 * 100vw / 1500, 41px);
	display: block;
	background: url("img/icon-dl.webp?1") no-repeat center center;
	background-size: contain;
}
.manual-btn-area {
	margin: min(100 * 100vw / 1500, 100px) 0 0;
}
.manual-btn-area .manual-txt {
	font-size: min(20 * 100vw / 1500, 20px);
	color: #2E94CC;
	line-height: 1.45;
	font-weight: bold;
	width: fit-content;
	margin: 0 auto min(15 * 100vw / 1500, 15px);
}
.manual-btn-area .download-btn {
	width: min(300 * 100vw / 1500, 300px);
	margin-inline: auto;
}
video {
	width: 100%;
}
@media (min-width: 769px) {
	.download-btn:hover {
		opacity: 0.8;
	}
}
@media (max-width: 768px) {
	.mv {
		background-image: url("img/mv-mobilepass-sp.webp?2");
	}
	.mv-title {
		font-size: calc(62 * 100vw / 750);
		line-height: 1.2903225806;
		padding: 0.12em 0.1em;
		height: 100%;
		margin-inline: calc(36 * 100vw / 750);
		letter-spacing: normal;
	}
	.mv-title .sp-smaller {
		font-size: calc(36 * 100vw / 750);
		line-height: 1.6;
		letter-spacing: 0.15em;
	}
	.sentence-txt {
		line-height: 1.59375;
	}
	.sentence-txt:has(+ .guidance-box) {
		margin-bottom: calc(110 * 100vw / 750);
	}
	.mobilepass-content {
		font-size: calc(32 * 100vw / 750);
		padding: 0 0 calc(200 * 100vw / 750);
	}
	.mobilepass-content .section-heading {
		font-size: calc(57 * 100vw / 750);
		margin-bottom: calc(60 * 100vw / 750);
	}
	.mobilepass-content .section-heading::before {
		width: calc(40 * 100vw / 750);
		margin-right: calc(18 * 100vw / 750);
	}
	.mobilepass-content .heading-arrow {
		font-size: calc(40 * 100vw / 750);
		margin-bottom: calc(25 * 100vw / 750);
	}
	.mobilepass-content .heading-icon {
		font-size: calc(40 * 100vw / 750);
		line-height: 1.41725;
		align-items: baseline;
	}
	.mobilepass-content .heading-icon .icon {
		width: calc(44 * 100vw / 750);
		margin: 0 calc(16 * 100vw / 750) 0 0;
	}
	.mobilepass-content .heading-icon .text {
		margin-top: 0;
	}
	.mobilepass-content .heading-icon:has(+ .sentence-txt) {
		margin-bottom: calc(70 * 100vw / 750);
	}
	.mobilepass-content .inner-section+.inner-section {
		margin-top: calc(90 * 100vw / 750);
	}
	.mobilepass-lead {
		margin: calc(60 * 100vw / 750) 0 calc(90 * 100vw / 750);
	}
	.appli-download-wrapper {
		margin: calc(65 * 100vw / 750) 0 0;
	}
	.appli-download-wrapper .note-txt {
		font-size: calc(28 * 100vw / 750);
		line-height: 1.59375;
		margin-top: calc(80 * 100vw / 750);
	}
	.appli-download {
		display: block;
	}
	.appli-download>*:not(:first-child) {
		margin-top: calc(65 * 100vw / 750);
	}
	.appli-box {
		display: block;
	}
	.appli-box .appli-head {
		font-size: calc(40 * 100vw / 750);
		margin-bottom: calc(25 * 100vw / 750);
	}
	.appli-box .appli-os {
		width: calc(352 * 100vw / 750);
		margin-inline: auto;
	}
	.appli-box .appli-os img {
		max-height: 100%;
		width: 100%;
	}
	.appli-box .appli-code {
		display: none;
	}
	.guidance-block {
		margin: calc(100 * 100vw / 750) 0 0;
	}
	.guidance-box .movie-wrapper {
		width: 100%;
	}
	.guidance-box+.guidance-box {
		margin-top: calc(100 * 100vw / 750);
	}
	.download-btn {
		font-size: calc(28 * 100vw / 750);
		min-height: calc(152 * 100vw / 750);
		border-radius: calc(152 * 100vw / 750);
	}
	.download-btn .btn-txt {
		padding-left: calc(86 * 100vw / 750);
	}
	.download-btn .btn-txt::before {
		width: calc(75 * 100vw / 750);
		height: calc(78 * 100vw / 750);
	}
	.manual-btn-area {
		margin: calc(180 * 100vw / 750) 0 0;
	}
	.manual-btn-area .manual-txt {
		font-size: calc(36 * 100vw / 750);
		margin: 0 auto calc(25 * 100vw / 750);
	}
	.manual-btn-area .download-btn {
		width: calc(600 * 100vw / 750);
	}
}