@charset "UTF-8";

/* CSS Document */
.br_sp {
	display: none;
}

@media screen and (max-width: 600px) {
	.br_sp {
		display: inline;
	}
}

/* main_img
-------------------------------- */
#main_img h1 {
	flex-flow: row nowrap;
	gap: 0 10px;
	align-items: center;
	padding-left: 110px;
}
#main_img h1 .circle {
	display: flex;
	align-items: center;
	justify-content: center;
	order: 2;
	width: 100px;
	height: 100px;
	font-size: 28px;
	line-height: 1;
	color: #9e8b35;
	text-shadow: none;
	background: #fff;
	border-radius: 50%;
}
#main_img h1 .circle span span {
	padding: 0 0 0 2px;
	font-size: 45px;
}
#main_img h1 .txt {
	color: #fff;
	text-shadow: 0 0 5px #000;
	letter-spacing: 0.2em;
}
#main_img h1 .txt > span {
	display: block;
}
#main_img h1 .txt .font_sm {
	margin: 0 0 5px;
	font-size: 18px;
}

@media screen and (max-width: 600px) {
	#main_img h1 {
		position: relative;
		z-index: 0;
		align-self: flex-start;
		width: auto;
		padding-left: 0;
		margin: 0 15px;
	}
	#main_img h1 .circle {
		position: absolute;
		right: -10px;
		bottom: -20px;
		order: 2;
		width: 60px;
		height: 60px;
		font-size: 14px;
	}
	#main_img h1 .circle span span {
		font-size: 20px;
	}
	#main_img h1 .txt .font_lg {
		font-size: 24px;
		line-height: 1.4;
	}
	#main_img h1 .txt .font_sm {
		font-size: 14px;
	}
}

/* lead_col
-------------------------------- */
#lead_col {
	position: relative;
}
#lead_col::after {
	position: absolute;
	bottom: 0;
	left: 2%;
	display: block;
	width: 96%;
	height: 1px;
	content: "";
	background: #696769;
}
#lead_col h2 {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-bottom: 10px;
	font-size: 34px;
	text-align: center;
}
#lead_col h2 span {
	padding: 5px 30px;
	margin: 0 0 60px;
	font-size: 22px;
	line-height: 1.6;
	border: 1px solid #696769;
}

@media screen and (max-width: 600px) {
	#lead_col h2 {
		font-size: 20px;
	}
	#lead_col h2 span {
		padding: 5px 20px;
		margin-bottom: 30px;
		font-size: 14px;
	}
}

/* point_col
-------------------------------- */
#point_col .inner {
	width: 90%;
	max-width: 1350px;
	padding: 80px 0 60px;
	margin: 0 auto;
}
#point_col .point_list {
	display: grid;
	grid-template-columns: repeat(3, minmax(auto, 400px));
	gap: 30px 35px;
	justify-content: space-between;
	margin: 0 0 50px;
}
#point_col .point_list > div {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
	padding: 25px 35px;
	border: 1px solid #696769;
}
#point_col .point_list > div > dt {
	font-size: 26px;
}
#point_col .point_list > div > dt .num {
	font-size: 18px;
}
#point_col .point_list > div > dt .num span {
	font-size: 28px;
}
#point_col .attention {
	margin: 0 0 50px;
	font-size: 28px;
	color: #f00;
	text-align: center;
}
#point_col .note > li + li {
	margin: 5px 0 0;
}

@media screen and (max-width: 600px) {
	#point_col .inner {
		width: 100%;
		padding: 50px 0;
	}
	#point_col .point_list {
		display: block;
		margin: 0 0 50px;
	}
	#point_col .point_list > div {
		display: block;
		padding: 20px;
	}
	#point_col .point_list > div + div {
		margin: 30px 0 0;
	}
	#point_col .point_list > div > dt {
		margin: 0 0 10px;
		font-size: 20px;
	}
	#point_col .point_list > div > dt .num {
		font-size: 14px;
	}
	#point_col .point_list > div > dt .num span {
		font-size: 22px;
	}
	#point_col .attention {
		font-size: 20px;
	}
}

/* structure_col
-------------------------------- */
#structure_col {
	padding: 0;
}
#structure_col .inner {
	width: 90%;
	max-width: 1350px;
	padding: 90px 0 110px;
	margin: 0 auto;
}
#structure_col h2 {
	font-size: 26px;
	text-align: center;
}
#structure_col .ex {
	display: flex;
	gap: 0 5px;
	align-items: center;
	justify-content: center;
	margin: 0 0 35px;
	font-size: 18px;
}
#structure_col .ex span {
	padding: 0 8px;
	font-size: 12px;
	border: 1px solid #696769;
}
#structure_col .calc {
	display: flex;
	gap: 0 30px;
	justify-content: space-between;
	margin: 0 0 35px;
}
#structure_col .calc .mark {
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	gap: 20px 0;
	align-items: center;
	align-self: center;
	width: 45px;
	overflow: hidden;
	font-size: 0;
	text-indent: 100%;
}
#structure_col .calc .mark span {
	width: 100%;
	height: 4px;
	background: #e0dad4;
}
#structure_col .calc .bd {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: 35px 30px;
	font-size: clamp(1rem, calc(0.5rem + 0.667vw), 1.125rem); /* min: 16px, max: 18px */
	border: 1px solid #696769;
}
#structure_col .calc .bd:has(.circle) {
	flex-direction: row;
	gap: 0 20px;
	align-items: center;
}
#structure_col .calc .bd .price {
	font-size: clamp(1.875rem, calc(-1.875rem + 5vw), 2.813rem); /* min: 30px, max: 45px */
	line-height: 1.3;
}
#structure_col .calc .bd .price span {
	font-size: clamp(2.188rem, calc(-5.312rem + 10vw), 4.063rem); /* min: 35px, max: 65px */
}
#structure_col .calc .bd .circle {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 100px;
	height: 100px;
	line-height: 1.5;
	border: 1px solid #696769;
	border-radius: 50%;
}
#structure_col .note li + li {
	margin: 5px 0 0;
}

@media screen and (max-width: 600px) {
	#structure_col .inner {
		width: 100%;
		padding: 50px 0;
	}
	#structure_col h2 {
		font-size: 20px;
	}
	#structure_col .ex {
		display: block;
		margin-bottom: 20px;
		font-size: 16px;
		text-align: center;
	}
	#structure_col .ex span {
		display: block;
		margin: 0 0 5px;
		font-size: 12px;
	}
	#structure_col .calc {
		flex-direction: column;
		gap: 25px 0;
	}
	#structure_col .calc .mark {
		gap: 13px 0;
		width: 30px;
		transform: rotate(90deg);
	}
	#structure_col .calc .bd {
		flex-direction: column;
		align-items: center;
		padding: 25px 20px;
		text-align: center;
	}
	#structure_col .calc .bd .circle {
		width: 75px;
		height: 75px;
		font-size: 13px;
	}
	#structure_col .note li + li {
		margin: 5px 0 0;
	}
}

/* btn
-------------------------------- */
.btn_furusato {
	position: relative;
	z-index: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 520px;
	height: 120px;
	margin: 0 auto 70px;
	font-size: 25px;
	background: #1b1b20;
	transition: opacity 0.5s;
}
.btn_furusato::before {
	position: absolute;
	inset: 10px;
	content: "";
	border: 1px solid #9b8633;
}

@media screen and (hover: hover) {
	.btn_furusato:hover {
		opacity: 0.7;
	}
}
@media screen and (max-width: 600px) {
	.btn_furusato {
		position: relative;
		z-index: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 70px;
		margin: 0 auto 70px;
		font-size: 18px;
	}
	.btn_furusato::before {
		inset: 5px;
	}
}

/* process_col
-------------------------------- */
#process_col {
	box-sizing: border-box;
	width: 90%;
	max-width: 1350px;
	padding: 40px 30px;
	margin: 0 auto 160px;
	font-size: 18px;
	text-align: center;
	border: 1px solid #696769;
}
#process_col dt {
	margin: 0 0 20px;
	font-size: 26px;
}

@media screen and (max-width: 600px) {
	#process_col {
		width: 100%;
		padding: 20px;
		margin-bottom: 60px;
		font-size: 16px;
	}
	#process_col dt {
		margin-bottom: 15px;
		font-size: 20px;
	}
	#process_col dd {
		text-align: left;
	}
}
