body {
		font-family: "Helvetica Neue", Arial, sans-serif;
		color: #333;
		margin: 0;
		padding: 0;
		line-height: 1.6;
		background: #f9f9f9;
}
.pc_only {
		display: block;
}
.sp_only {
		display: none;
}
header {
		text-align: center;
}
header h1 {
		font-size: 1.2rem;
		margin: 0;
		padding: 10px;
		background: #000;
		color: #fff;
}
.fv-image img {
		display: block;
		max-width: 1000px;
		width: 100%;
		height: auto;
		margin: 0 auto;
}
.container {
		max-width: 1000px;
		margin: 0 auto;
}
#card-loan-search {
		background: #f0f6fc;
		padding: 30px 20px;
		text-align: center;
		border-radius: 8px;
		margin: 40px auto 0;
		max-width: 1000px;
}
#card-loan-search p {
		font-size: 1.3rem;
		margin-bottom: 20px;
		color: #1565C0;
		font-weight: bold;
}
#card-loan-search ul {
		list-style: none;
		padding: 0;
		margin: 0;
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
		gap: 15px;
}
#card-loan-search li a {
		display: flex;
		align-items: center;
		justify-content: center;
		background: #1565C0;
		color: #fff;
		text-decoration: none;
		font-size: 1rem;
		padding: 12px;
		border-radius: 8px;
		transition: background 0.3s ease;
}
#card-loan-search li a:hover {
		background: #0d4c99;
}
#card-loan-search svg {
		margin-left: 10px;
}
.between-image {
		width: 700px;
		margin: 0 auto 30px;
		;
		text-align: center;
}
.between-image img {
		position: relative;
		width: 700px;
		padding: 40px 20px 0;
}
.between-image img:nth-of-type(2) {
		padding: 100px 20px 0;
}
.between-image p {
		position: relative;
		margin-top: 10px;
		font-size: 30px;
		font-weight: bold;
}
/* ▼ 下向き矢印付きのボックス */
.arrow {
		position: absolute;
		display: inline-block;
		background: #1565C0; /* 矢印の色 */
		color: #fff;
		font-weight: bold;
		padding: 8px 30px 0;
		text-align: center;
		margin: 20px auto;
		left: 50%;
		transform: translateX(-50%);
		font-size: 18px;
}
/* 下向きの矢印部分 */
.arrow::after {
		content: "";
		position: absolute;
		bottom: -20px;
		left: 50%;
		transform: translateX(-50%);
		border-width: 20px 80px 0 80px;
		border-style: solid;
		border-color: #1565C0 transparent transparent transparent;
}
.phone .arrow {
		padding: 8px 50px 0;
		bottom: 150px;
}
.between-container {
		position: relative;
}
.heading-10 {
		display: inline-block;
		position: absolute !important;
		transform: rotate(-5deg);
		padding: .3em .7em;
		font-size: 18px !important;
		bottom: 50px;
		left: 5%;
		border-left: 2px dotted rgba(0, 0, 0, .1);
		border-right: 2px dotted rgba(0, 0, 0, .1);
		box-shadow: 0 0 5px rgba(0, 0, 0, .2);
		background-color: #FF6F00;
		color: #fff;
}
.phone .heading-10 {
		bottom: 100px !important;
}
.between-container .between-p {
		margin-top: 60px;
}
.between-container .between-p span {
		color: #FF6F00;
}
.phone .between-p {
		margin-top: 130px;
}
.loan-condition, .loan-docs {
		padding: 20px;
}
.loan-condition h3, .loan-docs h3 {
		text-align: left;
		font-size: 25px;
		color: #FF6F00;
}
.loan-condition p, .loan-docs p {
		text-align: left;
		font-size: 20px;
}
.loan-condition .bg {
		padding: 10px;
		background: #ffe2cc;
}
.loan-docs img {
		width: 100%;
}
.loan-docs .bg {
		margin-top: 10px;
		padding: 10px;
		background: #ffe2cc;
}
.loan-docs .note {
		font-size: 15px;
		font-weight: normal;
		text-align: right;
}
.loan-merit, .loan-privacy, .loan-speed, .loan-scene {
		position: relative;
		padding: 20px;
}
.ttl-fl {
		display: flex;
		align-items: center;
}
.loan-merit img, .loan-privacy img, .loan-speed img, .loan-scene img {
		width: 10%;
		padding: 0;
}
.loan-merit .section-title, .loan-privacy .section-title, .loan-speed .section-title, .loan-scene .section-title {
		margin-top: 25px;
		font-size: 20px;
}
.loan-merit p, .loan-privacy p, .loan-speed p, .loan-scene p {
		text-align: left;
		font-size: 20px;
}
.loan-merit .example {
		text-align: left;
}
.loan-merit .example p {
		padding: 10px;
		color: #fff;
		background: #333;
}
.loan-merit .example ul {
		margin-top: 30px;
		font-size: 18px;
}
.loan-merit .otoku {
		position: absolute;
		right: 0;
		bottom: 32px;
}
.balloon-012 {
		width: 700px;
		display: grid;
		gap: 1em 0;
		margin: 0 auto;
		padding: 25px 15px;
}
.balloon-012__section {
		display: flex;
		position: relative;
		gap: 0 15px;
		margin-bottom: 10px;
}
.balloon-012__section .otoku {
		width: 10%;
		position: absolute;
		bottom: 45%;
		right: 32%;
}
.balloon-012__img {
		width: 2.7em;
		height: 2.7em;
		border-radius: 50%;
}
.balloon-012__p {
		display: inline-block;
		position: relative;
		max-width: 80%;
		margin: 0;
		padding: .8em;
		border-radius: 20px;
		color: #333;
		font-size: 18px;
}
.balloon-012__p.left {
		background-color: #fff;
}
.balloon-012__p.right {
		background-color: #30e852;
		margin: 0 10px 0 auto;
}
.balloon-012__p span {
		font-weight: bold;
		color: #FF6F00;
}
.balloon-012__p .balloon-ex {
		display: inline-block;
		margin-bottom: 10px;
		padding: 5px;
		color: #fff;
		background: #FF6F00;
}
.balloon-012__p::before {
		position: absolute;
		top: -15px;
		width: 20px;
		height: 30px;
		content: '';
}
.balloon-012__p.left::before {
		left: -10px;
		border-radius: 0 0 0 15px;
		box-shadow: -3px -15px 0 -7px white inset;
}
.balloon-012__p.right::before {
		right: -10px;
		border-radius: 0 0 15px 0;
		box-shadow: 3px -15px 0 -7px #30e852 inset;
}
.loan-scene .arrow {
		margin: 10px auto 0;
}
.loan-box {
		display: flex;
		justify-content: space-between;
		background: #fff;
		margin-top: 80px;
		padding: 20px 0 0 20px;
}
.loan-box img {
		width: 20%;
}
.loan-box p {
		font-size: 18px;
}
.loan-box span {
		color: #FF6F00;
}
.title-primary {
		display: flex;
		align-items: center;
		gap: 15px;
		margin: 40px auto 20px;
		max-width: 1000px;
		padding: 0 20px;
}
.balloon {
		position: relative;
		background: #1565C0;
		color: #fff;
		font-size: 1rem;
		font-weight: bold;
		padding: 8px 15px;
		border-radius: 6px;
		white-space: nowrap;
}
.balloon::after {
		content: '';
		position: absolute;
		top: 50%;
		right: -8px;
		transform: translateY(-50%);
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 8px 0 8px 8px;
		border-color: transparent transparent transparent #1565C0;
}
.title-text h3 {
		font-size: 1.8rem;
		color: #1565C0;
		margin: 0;
}
.title-text p {
		font-size: 1rem;
		color: #333;
		margin: 0;
}
section {
		background: #fff;
		border-radius: 8px;
		box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
		padding: 30px;
		margin: 40px auto;
		max-width: 1000px;
}
.loan-section .content-wrap {
		display: flex;
		gap: 30px;
		align-items: flex-start;
}
.loan-section .point-img {
		margin-top: 15px;
		flex: 0 0 40%;
}
.loan-section .point-img img {
		width: 100%;
		display: block;
}
.loan-section .txt-inner {
		flex: 1;
}
h2 {
		font-size: 1.5rem;
		color: #1565C0;
		margin-bottom: 10px;
		padding-bottom: 10px;
		border-bottom: 2px solid #e9e9e9;
}
.point-img img {
		width: 100%;
		height: auto;
		border-radius: 4px;
}
.txt-ttl {
		position: relative;
		font-weight: bold;
		font-size: 1.1rem;
		margin-top: 15px;
		color: #333;
		padding-left: 25px;
}
.txt-ttl::before {
		content: "✔"; /* チェックマーク */
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		color: #FF6F00; /* オレンジ色 */
		font-weight: bold;
		font-size: 1.2rem;
		line-height: 1;
}
.txt-inner .note {
		display: inline-block;
		margin-top: 10px;
		padding: 10px;
		font-size: 15px;
		border: 1px solid #ddd;
}
/* --- テーブル --- */
.best_table table {
		width: 100%;
		border-collapse: collapse;
		margin-top: 15px;
}
.best_table th, .best_table td {
		border: 1px solid #ddd;
		padding: 10px;
		font-size: 0.95rem;
		text-align: center;
}
.best_table thead th {
		background: #f0f6fc;
		color: #1565C0;
		width: 33%;
}
.best_table tbody td {
		width: 33%;
		align-content: center;
}
.request_table th {
		background: #1565C0;
		color: #fff;
}
.ct_btn {
		text-align: center;
		margin: 30px 0;
}
.ct_btn a {
		display: inline-block;
		background: #FF6F00;
		color: #fff;
		padding: 14px 30px;
		border-radius: 4px;
		font-size: 1.1rem;
		text-decoration: none;
		font-weight: bold;
}
.ct_btn a:hover {
		opacity: 0.7;
		transition: opacity 0.3s ease;
}
.kome {
		font-size: 12px;
		font-weight: normal;
		vertical-align: top;
}
.small {
		display: block;
		margin-top: 5px;
		font-size: 11px;
}
.loan-tutorial {
		background: #fff;
		padding: 30px 20px;
		border-radius: 12px;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
		margin: 40px 0;
}
.loan-tutorial h2 {
		font-size: 1.6rem;
		text-align: center;
		line-height: 1.5;
		margin-bottom: 20px;
		color: #333;
}
.loan-tutorial h2 .highlight {
		font-weight: bold;
		color: #333;
}
.loan-tutorial h2 span {
		color: #0073e6;
}
.tutorial-content {
		display: flex;
		gap: 20px;
		align-items: flex-start;
		flex-wrap: wrap;
}
.tutorial-image {
		text-align: center;
}
.tutorial-image img {
		max-width: 100%;
		border-radius: 8px;
}
.tutorial-image small {
		display: block;
		margin-top: 10px;
		font-size: 0.8rem;
		color: #666;
		text-align: right;
}
.tutorial-text {
		flex: 1 1 300px;
		font-size: 1rem;
		line-height: 1.8;
}
.tutorial-text .important {
		color: #d9534f;
		font-weight: bold;
		background: #fff3f3;
		padding: 0 4px;
		border-radius: 4px;
}
/* --- 検索フォーム全体 --- */
.fdb-wrapper {
		background: #f0f6fc;
		border-radius: 8px;
		padding: 20px;
		margin: 30px auto;
		max-width: 1000px;
}
.fdb-wrapper-tile {
		font-size: 1.3rem;
		font-weight: bold;
		color: #1565C0;
		margin-bottom: 15px;
		text-align: center;
}
/* --- ラジオボタン（並び替え） --- */
.sortbox {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		justify-content: center;
		margin-bottom: 20px;
}
.sortbox label input {
		display: none;
}
.sortbox label p {
		margin: 0;
		font-size: 0.95rem;
		color: #1565C0;
		font-weight: bold;
}
.sortbox input:checked + p {
		color: #fff;
}
.sortbox input:checked + p::before {
		content: "✔ ";
}
.sortbox label input[type="radio"]:checked + p {
		background-color: #1565C0;
		color: #fff;
		border-radius: 6px;
}
.sortbox label p {
		cursor: pointer;
		padding: 10px 15px;
		border-radius: 6px;
		border: 1px solid #1565C0;
		margin: 5px;
		background: #fff;
		transition: background-color 0.3s ease;
}
/* --- 詳細条件タイトル --- */
.search-title {
		font-weight: bold;
		margin: 20px 0 10px;
		font-size: 1rem;
		color: #333;
}
/* --- チェックボックスリスト --- */
.search-content {
		list-style: none;
		padding: 0;
		margin: 0 0 20px;
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
		gap: 10px;
}
.search-content-label {
		display: flex;
		align-items: center;
		background: #fff;
		border: 1px solid #ccc;
		padding: 8px 10px;
		border-radius: 6px;
		cursor: pointer;
		font-size: 12px;
		transition: background-color 0.3s ease;
		user-select: none;
}
.search-content-label:hover {
		background: #e3f2fd;
}
.search-content-label input[type="checkbox"] {
		display: none;
}
/* チェックマークのスペースを固定で確保し、内容は常にある状態に */
.search-content-checkbox-icon::before {
		content: "✔"; /* 常に✔を入れる */
		display: inline-block;
		width: 1.2em; /* 固定幅 */
		margin-right: 6px;
		vertical-align: middle;
		color: transparent; /* 初期は透明にして見えなく */
		font-weight: bold;
		font-size: 1rem;
		transition: color 0.3s ease;
}
/* チェック時は色をオレンジにして見せる */
.search-content-label input[type="checkbox"]:checked + .search-content-checkbox-icon::before {
		color: #FF6F00;
}
/* --- ボタン --- */
.search-btn {
		display: block;
		width: 100%;
		background: #1565C0;
		color: #fff;
		font-size: 1.1rem;
		font-weight: bold;
		border: none;
		border-radius: 6px;
		padding: 12px 0;
		cursor: pointer;
		transition: background 0.3s ease;
}
.search-btn:hover {
		background: #0d4c99;
}
footer {
		background: #f5f5f5;
		padding: 20px;
		text-align: center;
		font-size: 0.85rem;
		color: #666;
}
/* --- スマホ用レスポンシブ --- */
@media (max-width:768px) {
		.pc_only {
				display: none;
		}
		.sp_only {
				display: block;
		}
		header h1 {
				font-size: 1.0rem;
		}
		.container {
				padding: 10px;
		}
		#card-loan-search {
				padding: 15px;
		}
		#card-loan-search p {
				font-size: 1.1rem;
		}
		#card-loan-search ul {
				grid-template-columns: 1fr 1fr;
				gap: 10px;
		}
		#card-loan-search li a {
				font-size: 0.9rem;
				padding: 10px;
		}
		.between-image {
				width: 100%;
		}
		.between-image img {
				width: 100%;
				padding: 40px 0 0;
		}
		.between-image img:nth-of-type(2) {
				padding: 90px 0 0;
		}
		.phone .arrow {
				bottom: 110px;
		}
		.between-image p {
				font-size: 20px;
		}
		.heading-10 {
				font-size: 16px !important;
				bottom: 35px;
				left: 2%;
		}
		.phone .heading-10 {
				bottom: 55px !important;
		}
		.between-container .between-p {
				margin-top: 70px;
				font-size: 16px !important;
		}
		.phone .between-p {
				margin-top: 130px;
		}
		.loan-merit, .loan-privacy, .loan-speed, .loan-scene {
				padding: 10px;
		}
		.loan-condition, .loan-docs {
				padding: 10px;
		}
		.loan-condition h3, .loan-docs h3, .loan-scene h3 {
				font-size: 18px;
		}
		.loan-condition p, .loan-docs p, .loan-scene p {
				font-size: 16px;
		}
		.loan-scene p {
				margin-bottom: 10px;
		}
		.loan-docs .note {
				text-align: left;
				font-size: 12px;
		}
		.loan-merit img, .loan-privacy img, .loan-speed img, .loan-scene img {
				width: 15%;
				padding: 0;
		}
		.loan-merit .section-title, .loan-privacy .section-title, .loan-speed .section-title {
				margin-top: 25px;
				font-size: 18px;
		}
		.loan-merit p, .loan-privacy p, .loan-speed p {
				font-size: 16px;
		}
		.loan-merit .example ul {
				margin-top: 10px;
				font-size: 16px;
		}
		.loan-merit .otoku {
				right: 12px;
				bottom: 32px;
		}
		.balloon-012 {
				width: 100%;
		}
		.balloon-012__p {
				font-size: 14px;
		}
		.balloon-012__section .otoku {
				width: 14%;
				position: absolute;
				bottom: 57%;
				right: 4%;
		}
		.loan-box {
				display: block;
		}
		.loan-box img {
				width: 40%;
		}
		section {
				margin: 20px auto;
				padding: 15px;
		}
		.loan-section .content-wrap {
				flex-direction: column;
				gap: 20px;
		}
		.loan-section .point-img {
				flex: none;
				width: 100%;
		}
		.loan-section .txt-inner {
				width: 100%;
		}
		.title-primary {
				flex-direction: column;
				text-align: center;
				gap: 10px;
		}
		.balloon {
				font-size: 0.9rem;
				padding: 6px 12px;
		}
		.balloon::after {
				top: auto;
				bottom: -8px;
				left: 50%;
				right: auto;
				transform: translateX(-50%) rotate(0);
				border-width: 8px 8px 0 8px;
				border-color: #1565C0 transparent transparent transparent;
		}
		.title-text h3 {
				font-size: 1.4rem;
		}
		.title-text p {
				font-size: 0.9rem;
		}
		h2 {
				font-size: 1.2rem;
		}
		.txt-ttl {
				font-size: 1rem;
				margin-top: 10px;
		}
		.best_table th, .best_table td {
				font-size: 0.85rem;
				padding: 8px;
				display: table-cell;
				width: auto;
				border: 1px solid #ddd;
		}
		.best_table table {
				border-collapse: collapse;
				width: 100%;
		}
		.best_table thead {
				display: table-header-group;
		}
		.best_table tbody tr {
				display: table-row;
		}
		.ct_btn a {
				font-size: 1rem;
				width: 100%;
				padding: 12px 0;
		}
		.tutorial-content {
				flex-direction: column;
		}
		.tutorial-image small {
				text-align: left;
		}
		.loan-tutorial h2 {
				font-size: 18px;
		}
		.sortbox {
				flex-direction: column;
				align-items: stretch;
		}
		.search-content {
				grid-template-columns: 1fr 1fr;
		}
}