:root {
	/* point Color */
	--point-color-po1: #179690;
	--point-color-po2: #f9a415;
	--point-color-po3: #7965d4;
	--tit-color-passkeylp: #3362b5;
}

.PasskeyLP_wrap {
	font-size: 1.6rem;
	line-height: 1.6;
}
.PasskeyLP_main {
	background-image: url(../images/LP/passkey_main.png);
	min-height: 300px;
    background-repeat: no-repeat;
    background-size: 45%;
	background-position: top right;
	padding: 50px 0;
}
.PasskeyLP .PasskeyLP_main h1 {
	margin: 0 0 20px 0px;
	font-size: 3.5rem;
}
.PasskeyLP h2 {
	display: block;
	font-size: 2.5rem;
	font-weight: bold;
	margin-bottom: 10px;
	border-bottom: 2px solid color-mix(
		in srgb,
		var(--tit-color-passkeylp) 60%,
		transparent
	);
	color: var(--tit-color-passkeylp);
}
.column_full_common-item .PasskeyLP_wrap img {
    width: auto;
	max-width: 100%;
}
.PasskeyLP_point-item {
	width: calc(100% / 3 - 10px);
	border-radius: 10px;
	padding: 10px;
	background: #fff;
	display: flex;
	flex-wrap: nowrap;
	gap: 10px;
	font-size: 1.4rem;
}
.PasskeyLP_point {
	justify-content: space-between;
	align-items: stretch;
	gap: 15px;
}
.point_img {
    width: 50%;
}
.PasskeyLP_point-item.po1 { border: 4px solid var(--point-color-po1); }
.PasskeyLP_point-item.po2 { border: 4px solid var(--point-color-po2); }
.PasskeyLP_point-item.po3 { border: 4px solid var(--point-color-po3); }
.PasskeyLP_point-dec {
	text-align: left;
}
.PasskeyLP_point-dec h3 {
	margin: 0;
	padding: 0;
	font-size: 2rem;
}
.po1 .PasskeyLP_point-dec h3 { color: var(--point-color-po1); }
.po2 .PasskeyLP_point-dec h3 { color: var(--point-color-po2); }
.po3 .PasskeyLP_point-dec h3 { color: var(--point-color-po3); }


.PasskeyLP_itmwrap {
	background-color: #fff;
	padding: 20px;
	border-radius: 10px;
	margin-top: 20px;
}
.aboutpk_img {
	width: 25%;
}
.flex_col_imgR {
    display: flex;
    align-items: center;
	justify-content: space-between;
}
ul .pkmerit_p {
	padding: 0;
	margin: 0;
	list-style: none;
}
li.pkmerit_p {
	position: relative;
	padding-left: 35px;
	margin-top: 15px;
}
.faq li.pkmerit_p {
	border-bottom: 1px dashed #e3e9f2;
    padding-bottom: 10px;
}
.pkmerit_p h3 {
	margin: 0 0 5px 0;
	padding: 0;
}
.pkmerit_p h3::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
    width: 22px;
    height: 22px;
	background-image: url('../images/LP/passkey_p.png');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.convenie h3 {
	font-weight: normal;
    font-size: 1.6rem;
    line-height: 1.6;
}

.pkmerit {
	background-image: url(../images/LP/passkey_convenie.png);
	min-height: 300px;
    background-repeat: no-repeat;
    background-size: 32%;
	background-position: bottom right 20px;
}

.knowledge ul {
  list-style-type: disc; /* 黒丸（・） */
  list-style-position: inside;
}
.pkstep {
	padding: 0;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--point-color-po1) 40%, transparent);
}

.pkstep h2 {
	margin: 0;
	padding: 10px 20px;
	background: var(--point-color-po1);
	color: #fff;
	border-bottom: none;
	font-size: 2rem;
	text-align: center;
}

.pkstep_list {
	margin: 0;
	padding: 20px;
	list-style: none;
	counter-reset: stepnum;
}

.pkstep_list li {
	position: relative;
	counter-increment: stepnum;
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 0 0 20px 55px;
	border-bottom: 1px solid #e3e9f2;
}

.pkstep_list li + li {
	margin-top: 20px;
}

.pkstep_list li:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

.pkstep_list li::before {
	content: counter(stepnum);
	position: absolute;
	left: 0;
	top: 0;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--point-color-po1);
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pkstep_list li::after {
	content: "";
	position: absolute;
	left: 16px;
	top: 40px;
	bottom: -20px;
	border-left: 2px dotted color-mix(in srgb, var(--point-color-po1) 60%, transparent);
}

.pkstep_list li:last-child::after {
	display: none;
}

.pkstep_text {
	flex: 1;
}

.pkstep_text h3 {
	margin: 0 0 5px;
	padding: 0;
}

.pkstep_img {
	width: 300px;
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 300px;
}
.pkstep_img img {
	object-fit: contain;
}
.txinline {
	display: inline;
}
a.txinline {
	color: var(--point-color-po1);
	text-decoration:underline;
}
.fs12 {
	font-size: 1.2rem;
}
.pd20 {
	padding: 20px;
}