@charset "utf-8";
/* ============== 共通 =================== */
#contents {
	color: #000000;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-size: 28px;
	line-height: 1.8;
	letter-spacing: -0.03em;
	text-align: center;
	background-color: #e6e6e6;
	padding: 0;
	overflow: hidden;
}
#contents * {
	box-sizing: border-box;
}
#contents a {
	color: #0099cc;
	text-decoration: underline;
}
#contents a:hover {
	opacity: 0.7;
}
figure {
	margin: 0;
}
.display_sp {
	display: none;
}
/*注釈テキスト*/
.note_txt {
	font-size: 12px;
	line-height: 1.6;
	font-weight: normal;
	color: #999;
	text-indent: -1em;
	padding-left: 1em;
}
/*角丸ブロック*/
.round_block {
	border-radius: 8px;
}
/*マーカー*/
.line_txt {
	display: inline;
	background: linear-gradient(transparent 70%, #fee661 0%);/* 任意 */
	padding: 0 5px;
}
/*強調カラーテキスト*/
.em_font {
	color: #ff9123;/* 任意 */
}
/*太字*/
.bold_font {
	font-weight: bold;
}
/*中黒リスト*/
.dot_list {
	text-align: left;
	text-indent: -1em;
	margin-top: 10px;
	padding-left: 1em;
}
/*(数字)リスト*/
.num_list > li::before {
	text-align: left;
	text-indent: -1.4em;
	padding-left: 1.5em;
	counter-reset: number 0;
}
.num_list > li::before {
	counter-increment: number 1;
	content: "(" counter(number) ")";
}
/* ============== sec共通 =================== */
.inner {
	background-color: #fff;
	width:calc(100% - 60px);
	max-width: 970px;
	margin: 0 auto;
	padding: 80px 60px 120px;
}
.sec_ttl {
	margin-bottom: 50px;
}
.sec_ttl img {
	width: min(90%, 450px);
}
.step_item_img {
	width: min(80%, 500px);
	margin: 30px auto 0;
}
.step_item {
	margin-bottom: 10px;
}
.step_item:has(.step_item_img) {
	margin-bottom: 40px;
}
.step > .step_item:last-child {
	margin-bottom: 0;
}
.step_item_txt {
	text-align: left;
	text-indent: -1.2em;
	padding-left: 1.2em;
}
.app_download {
	margin-top: 30px;
}
.app_download_ttl {
	font-size: 40px;
	line-height: 1.4;
	margin-bottom: 15px;
}
.app_download .code img {
	width: 240px;
	height: auto;
}
/* コンテンツ（SP：767px以下）
========================================================*/
@media screen and (max-width: 767px) {
	/* ============== 共通 =================== */
	#contents {
		font-size: 14px;
	}
	img {
		width: 100%;
	}
	.display_pc {
		display: none;
	}
	.display_sp {
		display: block;
	}
	.inner {
		padding: 40px 25px 60px;
	}
	.sec_ttl img {
		width: 70%;
	}
	.sec_ttl {
		margin-bottom: 25px;
	}
	.step_item:has(.step_item_img) {
		margin-bottom: 30px;
	}
	.step_item_img {
		margin-top: 15px;
	}
	.app_download {
		margin-top: 25px;
	}
	.app_download_ttl {
		font-size: 20px;
	}
	.app_download .btn {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 10px;
	}
	.app_download .btn_link {
		display: block;
	}
	.app_download .btn_link img {
		display: block;
		width: auto;
		height: 50px;
	}
}