@charset "utf-8";
@import url("root.css");

.sub_page {
	section {
		h4 {
			@media screen and (max-width: 820px) {
				padding: 0;

			}

		}







	}


}

.pj-hero {
	text-align: center;
	margin-bottom: 40px;
}

.pkb-ops {

	--po-text: #2b2f3a;
	--po-sub: #5b6170;
	/* --pj-accent: #d9534f; */
	--po-accent: #10ABDD;
	/* --pj-accent-soft: #fdeceb; */
	--po-accent-soft: #ebf7fa;
	--po-line: #d9dce3;
	--po-head: #f3f4f7;
	--po-panel: #f6f7f9;
	--po-bg: #ffffff;
	--po-dark: #3a4152;



	margin: 0 auto;
	color: var(--po-text);
	background: var(--po-bg);
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN",
		"Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
	font-size: 16px;
	line-height: 1.8;
	box-sizing: border-box;

	*,
	*::before,
	*::after {
		box-sizing: border-box;
	}

	h1,
	h2,
	h3,
	p {
		margin: 0;
	}

	a {
		color: inherit;
	}

	svg {
		display: block;
	}

	/* ページ見出し */
	.po-hero {
		text-align: center;
		margin-bottom: 40px;

		&-sub {
			color: var(--po-accent);
			font-weight: 700;
			font-size: 14px;
			letter-spacing: .08em;
		}

		h1 {
			font-size: clamp(26px, 5vw, 36px);
			line-height: 1.4;
			margin: 8px 0 12px;
		}

		&-lead {
			color: var(--po-sub);
		}
	}

	.po-asof {
		display: inline-block;
		margin-top: 12px;
		font-size: 13px;
		color: var(--po-sub);
		border: 1px solid var(--po-line);
		border-radius: 999px;
		padding: 2px 14px;
	}

	/* 目次 */
	.po-toc {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		justify-content: center;
		margin: 0 0 48px;
		padding: 0;
		list-style: none;

		a {
			display: block;
			padding: 6px 14px;
			border: 1px solid var(--po-line);
			border-radius: 999px;
			font-size: 14px;
			text-decoration: none;
			background: #fff;

			&:hover {
				border-color: var(--po-accent);
				color: var(--po-accent);
			}
		}
	}

	.po-nav {
		padding: 0;
		padding-top: 45px;

	}

	/* セクション共通 */
	.po-section {
		padding: 0;

		.container {
			padding: 7rem 0;

			border-top: 1px solid var(--po-line);

		}


		.po-label {
			display: inline-block;
			background: var(--po-accent);
			color: #fff;
			font-weight: 700;
			font-size: 13px;
			letter-spacing: .06em;
			padding: 3px 14px;
			border-radius: 8px;
		}

		h3 {
			font-size: clamp(22px, 4vw, 28px);
			line-height: 1.45;
			margin: 12px 0 8px;
		}
	}

	.po-catch {
		color: var(--po-accent);
		font-weight: 700;
		font-size: clamp(16px, 2.6vw, 19px);
		line-height: 1.6;
		margin-bottom: 24px;
	}

	.po-note {
		font-size: 13px;
		color: var(--po-sub);
		margin-top: 12px;
	}

	.po-tip {
		background: var(--po-accent-soft);
		border-radius: 10px;
		padding: 14px 18px;
		font-size: 15px;
		margin-top: 20px;

		strong {
			color: var(--po-accent);
		}
	}

	/* 3つのポイント */
	#po-policy {
		padding-top: 0;
	}

	.po-points {
		display: grid;
		grid-template-columns: 1fr;
		gap: 16px;
		margin: 0;
		padding: 0;
		list-style: none;

		li {
			text-align: left;
			background: var(--po-panel);
			border-radius: 12px;
			padding: 22px 20px;
		}

		.po-pnum {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 36px;
			height: 36px;
			border-radius: 50%;
			background: var(--po-accent);
			color: #fff;
			font-weight: 700;
			margin-bottom: 10px;
		}

		h4 {
			font-size: 18px;
			line-height: 1.5;
			margin-bottom: 6px;
		}

		p {
			font-size: 14px;
			color: var(--po-sub);
		}
	}

	/* 数字の強調 */
	.po-figures {
		display: grid;
		grid-template-columns: 1fr;
		gap: 12px;
		margin-bottom: 24px;
	}

	.po-figure {
		border: 2px solid var(--po-accent);
		border-radius: 12px;
		padding: 16px 20px;
		text-align: center;

		span {
			display: block;
			font-size: 14px;
			color: var(--po-sub);
			font-weight: 700;
		}

		strong {
			display: block;
			font-size: clamp(24px, 4.6vw, 30px);
			line-height: 1.4;
			color: var(--po-accent);
		}

		small {
			display: block;
			font-size: 13px;
			color: var(--po-sub);
		}
	}

	/* 手順図 */
	.po-steps {
		display: grid;
		grid-template-columns: 1fr;
		gap: 28px;
		margin: 0;
		padding: 0;
		list-style: none;
		counter-reset: po-step;

		li {
			position: relative;
			background: var(--po-panel);
			border-radius: 12px;
			padding: 18px 18px 18px 64px;
			counter-increment: po-step;

			&::before {
				content: counter(po-step);
				position: absolute;
				left: 16px;
				top: 18px;
				width: 34px;
				height: 34px;
				border-radius: 50%;
				background: var(--po-dark);
				color: #fff;
				font-weight: 700;
				display: flex;
				align-items: center;
				justify-content: center;
			}

			&:not(:last-child)::after {
				content: "";
				position: absolute;
				left: 50%;
				bottom: -20px;
				margin-left: -7px;
				border-left: 7px solid transparent;
				border-right: 7px solid transparent;
				border-top: 10px solid var(--po-line);
			}
		}

		h4 {
			font-size: 17px;
			line-height: 1.5;
		}

		p {
			font-size: 14px;
			color: var(--po-sub);
			margin-top: 4px;
		}
	}

	/* タイル */
	.po-tiles {
		display: grid;
		grid-template-columns: 1fr;
		gap: 14px;
		margin: 0;
		padding: 0;
		list-style: none;

		li {
			border: 1px solid var(--po-line);
			border-radius: 12px;
			padding: 18px;
			display: flex;
			gap: 14px;
			align-items: flex-start;
			background: #fff;
			text-align: left;
		}

		h4 {
			font-size: 16px;
			line-height: 1.5;
		}

		p {
			font-size: 14px;
			color: var(--po-sub);
			margin-top: 2px;
		}

		&.po-tiles-3 {
			@media (min-width: 720px) {
				grid-template-columns: repeat(3, 1fr);
			}
		}
	}

	.po-icon {
		flex: 0 0 44px;
		height: 44px;
		border-radius: 10px;
		background: var(--po-accent-soft);
		color: var(--po-accent);
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.po-time {
		display: inline-block;
		margin-left: 6px;
		font-size: 13px;
		font-weight: 700;
		color: #fff;
		background: var(--po-accent);
		border-radius: 999px;
		padding: 0 10px;
		vertical-align: 2px;
	}

	/* よくあるご質問 */
	.po-faq {
		border-top: 1px solid var(--po-line);

		details {
			border-bottom: 1px solid var(--po-line);

			&[open] summary::after {
				content: "−";
			}
		}

		summary {
			list-style: none;
			cursor: pointer;
			padding: 16px 40px 16px 44px;
			position: relative;
			font-weight: 700;
			line-height: 1.6;

			&::-webkit-details-marker {
				display: none;
			}

			&::before {
				content: "Q";
				position: absolute;
				left: 8px;
				top: 14px;
				width: 26px;
				height: 26px;
				border-radius: 50%;
				background: var(--po-dark);
				color: #fff;
				font-size: 14px;
				display: flex;
				align-items: center;
				justify-content: center;
			}

			&::after {
				content: "+";
				position: absolute;
				right: 12px;
				top: 12px;
				font-size: 22px;
				color: var(--po-sub);
			}
		}

		.po-ans {
			position: relative;
			padding: 0 16px 18px 44px;
			color: var(--po-text);
			font-size: 15px;

			&::before {
				content: "A";
				position: absolute;
				left: 8px;
				top: 0;
				width: 26px;
				height: 26px;
				border-radius: 50%;
				background: var(--po-accent);
				color: #fff;
				font-size: 14px;
				font-weight: 700;
				display: flex;
				align-items: center;
				justify-content: center;
			}

			a {
				color: var(--po-accent);
				font-weight: 700;
			}
		}
	}

	/* 関連ページ */
	.po-related {
		display: grid;
		grid-template-columns: 1fr;
		gap: 14px;
		margin: 0;
		padding: 0;
		list-style: none;

		a {
			display: block;
			border: 1px solid var(--po-line);
			border-radius: 12px;
			padding: 18px 44px 18px 20px;
			text-decoration: none;
			position: relative;
			background: #fff;

			&::after {
				content: "›";
				position: absolute;
				right: 18px;
				top: 50%;
				transform: translateY(-50%);
				font-size: 26px;
				color: var(--po-accent);
			}

			&:hover {
				border-color: var(--po-accent);
			}

			strong {
				display: block;
				font-size: 17px;
			}

			span {
				display: block;
				font-size: 14px;
				color: var(--po-sub);
			}
		}
	}

	/* お問い合わせ */
	.po-contact,
	.po-section+.po-contact {
		text-align: center;
		padding-bottom: 7rem;

		.container {
			padding: 28px 16px;

			border: 2px solid var(--po-accent);
			border-radius: 12px;

		}

		h4 {
			margin-top: 0;
		}

		p {
			font-size: 15px;
			color: var(--po-sub);
		}
	}

	.po-contact-list {
		display: flex;
		flex-wrap: wrap;
		gap: 12px 32px;
		justify-content: center;
		margin: 16px 0 0;
		padding: 0;
		list-style: none;

		a {
			font-size: clamp(18px, 3.4vw, 22px);
			font-weight: 700;
			text-decoration: none;
			color: var(--po-text);
		}

		small {
			display: block;
			font-size: 13px;
			color: var(--po-sub);
			font-weight: 400;
		}
	}

	/* 登録不要の一覧 */
	.po-nolist {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
		margin: 0;
		padding: 0;
		list-style: none;

		li {
			text-align: left;
			position: relative;
			border: 1px solid var(--po-line);
			border-radius: 10px;
			padding: 12px 12px 12px 44px;
			font-weight: 700;
			font-size: 15px;
			background: #fff;

			&::before {
				content: "×";
				position: absolute;
				left: 12px;
				top: 50%;
				transform: translateY(-50%);
				width: 22px;
				height: 22px;
				border-radius: 50%;
				background: var(--po-dark);
				color: #fff;
				font-size: 14px;
				line-height: 22px;
				text-align: center;
			}
		}
	}

	/* 枠・表 */
	.po-box {
		background: var(--po-panel);
		border-radius: 12px;
		padding: 18px 20px;
		margin-top: 20px;

		h4 {
			font-size: 16px;
			margin-bottom: 4px;
		}

		p {
			font-size: 15px;
		}
	}

	.po-table-wrap {
		overflow-x: auto;
	}

	.po-table {
		width: 100%;
		border-collapse: collapse;
		font-size: 15px;
		line-height: 1.7;

		th,
		td {
			border: 1px solid var(--po-line);
			padding: 12px 14px;
			vertical-align: top;
			text-align: left;
		}

		th {
			background: #f3f4f7;
			font-weight: 700;
			width: 11em;
		}
	}

	/* フォーカス */
	.po-faq summary:focus-visible,
	a:focus-visible {
		outline: 2px solid var(--po-accent);
		outline-offset: 2px;
	}

	/* レスポンシブ */
	@media (min-width: 720px) {
		.po-points {
			grid-template-columns: repeat(3, 1fr);
		}

		.po-figures {
			grid-template-columns: 1fr 1fr;
		}

		.po-steps {
			grid-template-columns: repeat(var(--po-cols, 4), 1fr);
			gap: 24px;

			li {
				padding: 62px 16px 18px;
				text-align: center;

				&::before {
					left: 50%;
					margin-left: -17px;
					top: 16px;
				}

				&:not(:last-child)::after {
					left: auto;
					right: -17px;
					top: 50%;
					bottom: auto;
					margin: -7px 0 0;
					border-top: 7px solid transparent;
					border-bottom: 7px solid transparent;
					border-left: 10px solid var(--po-line);
					border-right: 0;
				}
			}
		}

		.po-tiles {
			grid-template-columns: 1fr 1fr;
		}

		.po-related {
			grid-template-columns: 1fr 1fr;
		}

		.po-nolist {
			grid-template-columns: repeat(3, 1fr);
		}
	}

	@media (max-width: 719px) {
		.po-table {
			th {
				width: 7.5em;
				font-size: 14px;
			}

			td {
				font-size: 14px;
			}
		}
	}
}