@charset "utf-8";
/* ----------------------------------------
sitemap（サイトマップLP）
/sitemap/用cssのため消さないこと。
---------------------------------------- */
.sitemap_ti h2 {
	font-size: 30px;
	margin: 60px auto 30px;
	font-weight: 500;
	line-height: 1;
	font-weight: bold;
	width: 1100px;
	padding-top: 60px;
	text-align: left;
	border-bottom: none;
}
.sitemap_wrap {
	margin: 0 auto 60px;
	background: #f8f8f8;
	padding: 50px 50px 10px;
	box-sizing: border-box;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
}
.sitemap_inner {
	width: 430px;
	margin-bottom: 50px;
}
.sitemap_inner:nth-child(odd) {
	margin-right: 40px;
}
.sitemap_inner h3 {
	font-size: 25px;
	margin: 0 0 30px;
	font-weight: 500;
	line-height: 1;
}
.sitemap_inner ul {
	background: #fff;
	padding: 30px;
	height: calc(100% - 60px);
	box-sizing: border-box;
}
.sitemap_inner ul li {}
.sitemap_inner ul li a {
	font-size: 14px;
	color: #333;
	line-height: 1.7;
	position: relative;
	padding-left: 20px;
	margin-bottom: 5px;
	display: block;
}
.sitemap_inner ul li a:hover {
	text-decoration: underline;
}
.sitemap_inner ul li a::before {
	content: "";
	width: 6px;
	height: 6px;
	border-top: 1px solid #042455;
	border-right: 1px solid #042455;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	left: 0;
	top: 8px;
}
.sitemap_group {
	padding-left: 50px !important;
}
.sitemap_group_ti {
	margin-left: -20px;
}
.sitemap_flex ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
}
.sitemap_flex ul li {
	width: 50%;
}
.sitemap_flex ul li:first-child {
	width: 100%;
}
/* ----------------------------------------
recruit(サイドバーなし)
/recruit/用cssのため消さないこと。
---------------------------------------- */
.recruit {
	width: 1000px;
	text-align: left;
	line-height: 24px;
	margin: 20px auto;
	padding: 0px 0px 0px 0px;
}
.recruit h2 {
	width: 1000px;
	font-size: 16px;
	line-height: 51px;
	margin: 0px auto 20px auto;
	padding: 0px 0px 0px 0px;
	text-indent: 15px;
	background: #F0F0F0;
	border-top: solid 5px #CCC;
	border-bottom: solid 1px #CCC;
	border-left: solid 3px #666;
	display: block;
	clear: both;
}
.recruit_tb {
	font-weight: bold;
	font-size: 18px;
}
.recruit1 img {
	max-width: 100%;
	height: auto;
}
.recruit2 p {
	margin: 0;
}
.recruit2 ul {
	margin: 20px 0px 20px 0px;
	padding: 0px 0px 0px 0px;
	overflow: hidden;
}
.recruit2 ul li {
	margin: 0px 0px 0px 20px;
	padding: 4px;
	border: solid 1px #CCC;
	float: left;
}
.recruit2 ul li img {
	max-width: 300px;
	height: auto;
}
.recruit3 {
	width: 370px;
	overflow: hidden;
	float: left;
	margin: 0px 20px 20px 0px;
	padding: 0px 0px 0px 0px;
}
.recruit3 img {
	max-width: 370px;
	max-height: 400px;
}
.recruit4 {
	width: 600px;
	float: left;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
}
.recruit4 p {
	margin: 0;
}
.recruit5 {
	line-height: 28px;
	margin: 0px 0px 20px 0px;
	padding: 0px 0px 0px 0px;
	overflow: hidden;
}
.recruit5 dt {
	width: 150px;
	display: block;
	clear: left;
	float: left;
	background: #EEE;
	margin: 10px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	text-align: center;
	font-weight: bold;
	line-height: 35px;
}
.recruit5 dd {
	display: block;
	float: left;
	margin: 10px 0px 0px 20px;
	padding: 0px 0px 0px 0px;
	line-height: 35px;
	width: 820px;
}
/* ----------------------------------------
recruit(サイドバーあり)
/recruit/用cssのため消さないこと。
---------------------------------------- */
.recruit_side {
	width: 780px;
	text-align: left;
	line-height: 24px;
	margin: 0px auto;
	padding: 0px 0px 0px 0px;
}
.recruit_side h2 {
	width: 100%;
	font-size: 16px;
	line-height: 51px;
	margin: 0px auto 20px auto;
	padding: 0px 0px 0px 0px;
	text-indent: 15px;
	background: #F0F0F0;
	border-top: solid 5px #CCC;
	border-bottom: solid 1px #CCC;
	border-left: solid 3px #666;
	display: block;
	clear: both;
}
.recruit_tb {
	font-weight: bold;
	font-size: 18px;
}
.recruit1_side img {
	max-width: 100%;
	height: auto;
}
.recruit2_side p {
	margin: 0;
}
.recruit2_side ul {
	margin: 20px 0px 20px 0px;
	padding: 0px 0px 0px 0px;
	overflow: hidden;
}
.recruit2_side ul li {
	margin: 0px 0px 0px 20px;
	padding: 4px;
	border: solid 1px #CCC;
	float: left;
}
.recruit2_side ul li img {
	max-width: 226px;
	height: auto;
}
.recruit3_side {
	width: 350px;
	overflow: hidden;
	float: left;
	margin: 0px 20px 20px 0px;
	padding: 0px 0px 0px 0px;
}
.recruit3_side img {
	max-width: 350px;
	max-height: 400px;
}
.recruit4_side {
	width: 410px;
	float: left;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
}
.recruit4_side p {
	margin: 0;
}
.recruit5_side {
	line-height: 28px;
	margin: 0px 0px 20px 0px;
	padding: 0px 0px 0px 0px;
	overflow: hidden;
}
.recruit5_side dt {
	width: 150px;
	display: block;
	clear: left;
	float: left;
	background: #EEE;
	margin: 10px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	text-align: center;
	font-weight: bold;
	line-height: 35px;
}
.recruit5_side dd {
	display: block;
	float: left;
	margin: 10px 0px 0px 20px;
	padding: 0px 0px 0px 0px;
	line-height: 35px;
	width: 600px;
}
/* =========================================================
   concept page / PC
   ※メディアクエリは使用しない（HTML側で読み込みを分岐）
   ========================================================= */
.pc_off {
	display: none;
}
/* ---------- base ---------- */
.conc {
	color: #000;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
}
.conc *,
.conc *::before,
.conc *::after {
	box-sizing: border-box;
}
/* 余白リセット（クラス指定が必ず勝つよう詳細度を最小にしておく） */
.conc * {
	margin: 0;
	padding: 0;
}
.conc ul {
	list-style: none;
}
.conc img {
	display: block;
	max-width: 100%;
	height: auto;
	/* 画像素材が入るまでのグレープレースホルダー */
}
.conc a {
	color: inherit;
	text-decoration: none;
}
/* =========================================================
   conc_main ： ページタイトル（メインビジュアル）
   ========================================================= */
.conc-main {
	display: flex;
	align-items: center;
	height: clamp(260px, 20.83vw, 400px);
	background-color: #d9d9d9;
	background-image: url(/concept/img/conc_main_bg.webp);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	margin: 40px auto 0;
	width: calc(100% - 100px);
}
.conc-main-inner {
	width: 1200px;
	max-width: 80vw;
	margin: 0 auto;
}
.conc-main-ti {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-weight: 400;
}
.conc-main-ti-en {
	color: #fff;
	font-family: "Jersey 25", "Noto Sans JP", sans-serif;
	font-size: clamp(58px, calc(56.67px + 0.17vw), 62px);
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.02em;
}
.conc-main-ti-ja {
	color: #fff;
	font-size: clamp(16px, calc(14.67px + 0.17vw), 20px);
	font-weight: 700;
	line-height: 1.5;
}
/* =========================================================
   con_main_btm ： コンセプトコピー ＋ 施工写真スライド
   ========================================================= */
.conc-lead {
	padding-top: 69px;
}
.conc-lead-inner {
	width: 1200px;
	max-width: 80vw;
	margin: 0 auto;
	text-align: center;
}
.conc-lead-catch {
	font-size: clamp(28px, calc(26.67px + 0.17vw), 32px);
	font-weight: 700;
	line-height: 2;
}
.conc-lead-txt {
	margin-top: 58px;
	font-size: clamp(18px, calc(16.67px + 0.17vw), 22px);
	font-weight: 400;
	line-height: 2;
}
.conc-lead-txt p+p {
	margin-top: 40px;
	/* ラフの空き行1行分 */
}
.conc-lead-logo {
	margin-top: 77px;
}
.conc-lead-logo img {
	width: 100%;
	max-width: 202px;
	height: auto;
	aspect-ratio: 202 / 38;
	margin: 0 auto;
	object-fit: contain;
}
/* ---------- 写真スライド（常時ゆっくり横流れ） ---------- */
.conc-lead-slide {
	margin-top: 76px;
	padding: 30px 0;
	background: #000;
}
.conc-lead-slide .swiper {
	pointer-events: none;
}
.conc-lead-swiper .swiper-wrapper {
	/* スピードを一定に保ち、途中でゆっくり減速するのを防ぐ */
	transition-timing-function: linear !important;
}
.conc-lead-slide .swiper-slide {
	width: clamp(240px, 28.65vw, 550px);
}
.conc-lead-slide img {
	width: 100%;
	height: auto;
	aspect-ratio: 550 / 400;
	object-fit: cover;
}
/* =========================================================
   conc_type_wrap ： お悩み ＋ 診断チャート ＋ プラン一覧
   ========================================================= */
.conc-type {
	padding-top: 48px;
}
/* ---------- conc_type_top（吹き出し＋円） ---------- */
.conc-type-top {
	display: flex;
	justify-content: space-between;
	width: 1427px;
	max-width: 92vw;
	margin: 0 auto;
}
.conc-type-voice {
	display: flex;
	flex-direction: column;
}
.conc-type-voice li {
	position: relative;
	padding: 19px clamp(14px, 1.72vw, 33px);
	border: 2px solid #000;
	border-radius: 10px;
	background: #fff;
	font-size: clamp(21px, calc(19.67px + 0.17vw), 25px);
	font-weight: 700;
	line-height: 1.3;
}
/* 吹き出しのしっぽ */
.conc-type-voice li::after {
	content: "";
	position: absolute;
	bottom: -21px;
	box-sizing: content-box;
	width: 2px;
	height: 28px;
	background: #000;
	border: 3px solid #fff;
	z-index: 1111;
}
.conc-type-voice-l {
	align-items: flex-end;
	padding-top: 77px;
}
.conc-type-voice-l li+li {
	margin-top: 120px;
}
.conc-type-voice-l li::after {
	right: 43px;
	transform: rotate(135deg);
}
.conc-type-voice-l li:nth-child(2)::after {
	right: 120px;
}
.conc-type-voice-r {
	align-items: flex-start;
	padding-top: 108px;
}
.conc-type-voice-r li+li {
	margin-top: 98px;
}
.conc-type-voice-r li::after {
	right: 170px;
	transform: rotate(45deg);
}
.conc-type-circle {
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	align-self: flex-start;
	align-items: center;
	box-sizing: border-box;
	width: clamp(400px, 29.17vw, 560px);
	height: auto;
	aspect-ratio: 1 / 1;
	padding: clamp(67px, 4.9vw, 94px) clamp(16px, 1.17vw, 22px) 0;
	border-radius: 50%;
	background: #000;
}
/* 円は縦横比固定のため、中の文字は円のサイズに比例させる（例外指定） */
.conc-type-circle-eye {
	font-size: clamp(28px, 2.6vw, 50px);
	line-height: 1.6;
}
.conc-type-circle-txt {
	margin-top: 20px;
	color: #fff;
	font-size: clamp(22px, 2.08vw, 40px);
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
}
/* ---------- conc_type_chart（見出し・装飾） ---------- */
.conc-chart {
	position: relative;
	width: 1200px;
	max-width: 80vw;
	margin: 65px auto 0;
}
.conc-chart-ti {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	font-weight: 400;
	text-align: center;
}
.conc-chart-ti-ja {
	font-size: clamp(23px, calc(21.67px + 0.17vw), 27px);
	font-weight: 700;
	line-height: 1.4;
}
.conc-chart-ti-en {
	color: #f36a6a;
	font-family: "Jersey 25", "Noto Sans JP", sans-serif;
	font-size: clamp(68px, calc(66.67px + 0.17vw), 72px);
	font-weight: 400;
	line-height: 1.2;
	text-transform: uppercase;
	-webkit-text-stroke: 1px black;
}
/* ---------- 診断チャート（1枚画像） ---------- */
/* 画像はラフの conc_type_chart 上部 = START装飾・キャラ・Q1?Q5・矢印 を含む範囲。
   見出しテキストはHTML側のため、画像上部（約119px）は余白で書き出す */
.conc-chart-img {
	width: 106%;
	/* 1272 / 1200 */
	margin: 30px 0 0 -3%;
	position: relative;
}
.conc-chart-img img {
	width: 100%;
	height: auto;
	/* aspect-ratio: 1272 / 445; */
}
.conc-chart-img-start {
	position: absolute;
	width: 196px !important;
	top: -80px;
	left: -80px;
}
.conc-chart-img-chara {
	position: absolute;
	top: -100px;
	right: 50px;
	width: 190px !important;
}
/* ---------- conc_type_list（プラン4種） ---------- */
.conc-plan-list {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin: 79px auto 0;
}
.conc-plan-list>li {
	position: relative;
	box-sizing: border-box;
	width: 23.75%;
	padding: 24px 23px 28px;
	border: 2px solid #000;
	border-radius: 20px;
	background: #fff;
}
/* PLANフラッグ */
.conc-plan-flag {
	position: absolute;
	top: -62px;
	left: -5px;
	width: 125px;
	height: 81px;
}
.conc-plan-flag::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #000;
}
.conc-plan-flag::after {
	content: "";
	position: absolute;
	top: 2.5px;
	left: 3px;
	width: 1px;
	height: 81px;
	background: #000;
}
.conc-plan-flag span {
	position: absolute;
	top: 14px;
	left: 6px;
	width: 119px;
	height: 38px;
	padding-left: 15px;
	box-sizing: border-box;
	color: #fff;
	font-family: "Jersey 25", "Noto Sans JP", sans-serif;
	font-size: clamp(28px, calc(26.67px + 0.17vw), 32px);
	line-height: 38px;
	clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 50%, 100% 100%, 0 100%);
}
.conc-plan-list>li:nth-child(1) .conc-plan-flag span {
	background: #5fa0de;
}
.conc-plan-list>li:nth-child(2) .conc-plan-flag span {
	background: #f0bc10;
}
.conc-plan-list>li:nth-child(3) .conc-plan-flag span {
	background: #cd5656;
}
.conc-plan-list>li:nth-child(4) .conc-plan-flag span {
	background: #9aca58;
}
.conc-plan-list .conc-plan-chara {
	position: absolute;
	top: -70px;
	right: 5px;
	height: auto;
	object-fit: contain;
}
/* カード中身 */
.conc-plan-label {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	font-size: clamp(10px, calc(8.67px + 0.17vw), 14px);
	line-height: 1.5;
}
.conc-plan-label::before,
.conc-plan-label::after {
	content: "";
	width: 1px;
	height: 11px;
	background: #000;
}
.conc-plan-label::before {
	transform: rotate(-23deg);
}
.conc-plan-label::after {
	transform: rotate(23deg);
}
.conc-plan-ti {
	font-size: clamp(23px, calc(21.67px + 0.17vw), 27px);
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}
.conc-plan-list>li:nth-child(1) .conc-plan-ti {
	color: #5fa0de;
}
.conc-plan-list>li:nth-child(2) .conc-plan-ti {
	color: #f0bc10;
}
.conc-plan-list>li:nth-child(3) .conc-plan-ti {
	color: #cd5656;
}
.conc-plan-list>li:nth-child(4) .conc-plan-ti {
	color: #9aca58;
}
.conc-plan-desc {
	margin-top: 9px;
	min-height: 82px;
	font-size: clamp(12px, calc(10.67px + 0.17vw), 16px);
	line-height: 1.5;
}
.conc-plan-price {
	margin: 0 6px;
	padding: 4px 0 5px;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	font-weight: 700;
	text-align: center;
}
.conc-plan-price span {
	font-size: 12px;
}
.conc-plan-price em {
	font-size: clamp(18px, calc(16.67px + 0.17vw), 22px);
	font-style: normal;
}
.conc-plan-btn {
	margin: 14px 2px 0;
}
.conc-plan-btn a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	box-sizing: border-box;
	height: 50px;
	padding: 0 14px 0 20px;
	border-radius: 70px;
	background: #000;
	color: #fff;
	font-size: clamp(11px, calc(9.67px + 0.17vw), 15px);
	font-weight: 700;
}
.conc-plan-btn a span {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #fff;
	color: #000;
	font-size: clamp(15px, calc(13.67px + 0.17vw), 19px);
	font-weight: 400;
}
.conc-plan-btn a span,
.conc-pd-btn a span,
.conc-plan2-btn span,
.conc-soudan-news-more {
	transition: transform .3s cubic-bezier(.34, 1.56, .64, 1), background-color .3s;
}
.conc-plan-btn a:hover span,
.conc-pd-btn a:hover span,
.conc-plan2-case>li>a:hover .conc-plan2-btn span,
.conc-soudan-news>li>a:hover .conc-soudan-news-more {
	transform: scale(1.18) rotate(90deg);
}
.conc-soudan-news>li>a:hover .conc-soudan-news-more {
	background-color: #000;
}
/* =========================================================
   conc_type_plan1 ： PLAN 1 現状回復プラン
   ========================================================= */
.conc-plan1 {
	margin-top: 62px;
	padding: 52px 0 48px;
	background: #eee;
}
.conc-plan1-inner {
	display: flex;
	justify-content: space-between;
	width: 1200px;
	max-width: 80vw;
	margin: 0 auto;
}
/* ---------- 左カラム ---------- */
.conc-plan1-l {
	position: relative;
	flex: 0 0 auto;
	box-sizing: border-box;
	width: 35.58%;
	padding: 81px 0 0 6px;
}
.conc-plan1-l .conc-plan-flag {
	top: 0;
	left: 0;
}
.conc-plan1-l .conc-plan-flag::after {
	height: 63px;
}
.conc-plan1-l .conc-plan-flag span {
	background: #5fa0de;
}
.conc-plan1-l .conc-plan1-chara {
	position: absolute;
	top: 65px;
	right: 6.3%;
	width: 50px;
	height: auto;
	aspect-ratio: 58 / 86;
	object-fit: contain;
}
.conc-pd-label {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: clamp(10px, calc(8.67px + 0.17vw), 14px);
	line-height: 1.5;
}
.conc-pd-label::before,
.conc-pd-label::after {
	content: "";
	width: 1px;
	height: 11px;
	background: #000;
}
.conc-pd-label::before {
	transform: rotate(-23deg);
}
.conc-pd-label::after {
	transform: rotate(23deg);
}
.conc-plan1 .conc-pd-ti {
	color: #5fa0de;
}
.conc-pd-ti {
	font-size: clamp(28px, calc(26.67px + 0.17vw), 32px);
	font-weight: 700;
	line-height: 1.5;
}
.conc-pd-desc {
	margin-top: 7px;
	font-size: clamp(16px, calc(14.67px + 0.17vw), 20px);
	font-weight: 500;
	line-height: 1.5;
}
.conc-pd-price {
	margin-top: 80px;
	padding: 14px 0 15px;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	font-weight: 700;
	text-align: center;
}
.conc-pd-price span {
	font-size: clamp(13px, calc(11.67px + 0.17vw), 17px);
}
.conc-pd-price em {
	font-size: clamp(18px, calc(16.67px + 0.17vw), 22px);
	font-style: normal;
}
.conc-plan2 iframe {
	width: 57.17%;
	height: 410px;
}
/* ---------- 資料請求バナー ---------- */
.conc-plan1-cat {
	position: relative;
	box-sizing: border-box;
	width: calc(100% + 6px);
	margin: 40px 0 0 -6px;
	padding: 22px 3.5% 20px 38.9%;
	border: 2px solid #000;
	border-radius: 20px;
	background: #fff;
	text-align: center;
}
.conc-plan1-cat .conc-plan1-cat-img {
	position: absolute;
	top: 15px;
	left: 3%;
	width: 35.1%;
	height: auto;
	aspect-ratio: 150 / 165;
	object-fit: contain;
}
.conc-plan1-cat .conc-plan1-cat-badge {
	position: absolute;
	top: -32px;
	right: -24px;
	width: clamp(52px, 3.91vw, 75px);
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: contain;
}
.conc-plan1-cat-lead {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: clamp(10px, calc(8.67px + 0.17vw), 14px);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.05em;
}
.conc-plan1-cat-lead::before,
.conc-plan1-cat-lead::after {
	content: "";
	width: 1px;
	height: 12px;
	background: #000;
}
.conc-plan1-cat-lead::before {
	transform: rotate(-20deg);
}
.conc-plan1-cat-lead::after {
	transform: rotate(20deg);
}
.conc-plan1-cat-ti {
	margin-top: 4px;
	color: #232c68;
	font-family: "Rounded Mplus 1c", "Hiragino Maru Gothic ProN", "Noto Sans JP", sans-serif;
	font-size: clamp(18px, calc(16.67px + 0.17vw), 22px);
	line-height: 1.1;
}
.conc-plan1-cat-txt {
	margin-top: 9px;
	font-size: clamp(10px, calc(8.67px + 0.17vw), 14px);
	line-height: 1.4;
}
.conc-plan1-cat-btn {
	margin-top: 13px;
}
.conc-plan1-cat-btn a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	border-radius: 10px;
	background: #000;
	color: #fff;
	font-size: clamp(12px, calc(10.67px + 0.17vw), 16px);
	font-weight: 700;
	line-height: 1.5;
}
/* ---------- 右カラム（設備リスト） ---------- */
.conc-plan1-slide {
	flex: 0 0 auto;
	width: 54.17%;
}
.conc-plan1-list {
	width: 100%;
}
.conc-plan1-list>li {
	display: flex;
	box-sizing: border-box;
	padding: 20px;
	border: 1px solid #000;
	border-radius: 20px;
	background: #fff;
}
.conc-plan1-list>li+li {
	margin-top: 10px;
}
.conc-plan1-list>li>img {
	flex: 0 0 auto;
	width: 29.5%;
	max-width: 180px;
	height: auto;
	aspect-ratio: 180 / 160;
	object-fit: cover;
}
.conc-plan1-list>li>div {
	width: 100%;
	padding: 6px 0 0 4.75%;
}
.conc-plan1-list h3 {
	display: flex;
	align-items: center;
}
.conc-plan1-list h3 img {
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	background: none;
	object-fit: contain;
}
.conc-plan1-list h3 span:first-of-type {
	margin-left: 7px;
	font-size: clamp(18px, calc(16.67px + 0.17vw), 22px);
	font-weight: 700;
	line-height: 1;
}
.conc-plan1-list h3 span:last-of-type {
	margin-left: 10px;
	color: rgba(204, 204, 204, .8);
	font-family: "Jersey 25", "Noto Sans JP", sans-serif;
	font-size: clamp(18px, calc(16.67px + 0.17vw), 22px);
	line-height: 1;
	letter-spacing: 1px;
}
.conc-plan1-list p {
	width: 100%;
	max-width: 386px;
	margin-top: 4px;
	font-size: clamp(12px, calc(10.67px + 0.17vw), 16px);
	line-height: 1.5;
}
/* =========================================================
   conc_type_plan2 ： PLAN 2 1階だけフルリノベ
   ========================================================= */
.conc-plan2 {
	margin-top: 61px;
}
.conc-plan2-inner {
	display: flex;
	justify-content: space-between;
	width: 1200px;
	max-width: 80vw;
	margin: 0 auto;
}
/* ---------- 左カラム ---------- */
.conc-plan2-l {
	position: relative;
	flex: 0 0 auto;
	width: 35.33%;
	padding-top: 92px;
}
.conc-plan2-l .conc-plan-flag {
	top: 6px;
	left: 0;
}
.conc-plan2-l .conc-plan-flag::after {
	height: 61px;
}
.conc-plan2-l .conc-plan-flag span {
	background: #f0bc10;
}
.conc-plan2 .conc-pd-ti {
	color: #f0bc10;
}
.conc-plan2-l .conc-plan2-chara {
	position: absolute;
	top: 80px;
	right: 0;
	width: 70px;
	height: auto;
	aspect-ratio: 59 / 57;
	object-fit: contain;
}
/* ---------- 右カラム（事例2件） ---------- */
.conc-plan2-case {
	display: flex;
	justify-content: space-between;
	flex: 0 0 auto;
	width: 57.17%;
	margin: 0;
	padding: 0;
	list-style: none;
}
.conc-plan2-case>li {
	width: 47.81%;
}
.conc-plan2-case>li>a {
	display: block;
	text-decoration: none;
	color: #000;
}
.conc-plan2-case>li>a>img {
	width: 100%;
	height: auto;
	aspect-ratio: 328 / 230;
	object-fit: cover;
}
.conc-plan2-case h3 {
	margin-top: 18px;
	font-size: clamp(18px, calc(16.67px + 0.17vw), 22px);
	font-weight: 700;
	line-height: 1.5;
}
.conc-plan2-case h3+p {
	margin-top: 12px;
	font-size: clamp(12px, calc(10.67px + 0.17vw), 16px);
	font-weight: 500;
	line-height: 1.5;
	text-overflow: ellipsis;
	-webkit-line-clamp: 3;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.conc-plan2-case .conc-plan2-btn {
	margin-top: 25px;
}
.conc-pd-btn a,
.conc-plan2-btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	box-sizing: border-box;
	height: 55px;
	padding: 0 12px 0 29px;
	border-radius: 70px;
	background: #000;
	color: #fff;
	font-size: clamp(13px, calc(11.67px + 0.17vw), 17px);
	font-weight: 700;
}
.conc-pd-btn a span,
.conc-plan2-btn span {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 35px;
	height: 35px;
	border-radius: 50%;
	background: #fff;
	color: #000;
	font-size: clamp(18px, calc(16.67px + 0.17vw), 22px);
	font-weight: 400;
}
/* =========================================================
   conc_type_plan3 ： PLAN 3 コンセプトリノベ
   ========================================================= */
.conc-plan3 {
	margin-top: 56px;
	padding: 53px 0 86px;
	background: #eee;
}
/* ---------- 上段 ---------- */
.conc-plan3-head {
	display: flex;
	justify-content: space-between;
	width: 1200px;
	max-width: 80vw;
	margin: 0 auto;
}
.conc-plan3-l {
	position: relative;
	flex: 0 0 auto;
	width: 36.75%;
}
.conc-plan3-l .conc-plan-flag {
	top: 25px;
	left: 0;
}
.conc-plan3-l .conc-plan-flag::after {
	height: 61px;
}
.conc-plan3-l .conc-plan-flag span {
	background: #cd5656;
}
.conc-plan3 .conc-pd-ti {
	color: #cd5656;
}
.conc-plan3-ti-wrap {
	padding: 30px 0 0 max(140px, 32.65%);
	/* フラッグ幅より狭くならないように */
}
.conc-plan3-price {
	margin-top: 40px;
	padding: 16px 0 18px;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
}
.conc-plan3-price dl {
	display: flex;
	align-items: center;
	gap: 7.3%;
	padding-left: 10.4%;
}
.conc-plan3-price dt {
	font-size: clamp(13px, calc(11.67px + 0.17vw), 17px);
	font-weight: 700;
	line-height: 1.5;
	white-space: nowrap;
}
.conc-plan3-price dd {
	font-size: clamp(18px, calc(16.67px + 0.17vw), 22px);
	font-weight: 700;
	line-height: 1.5;
}
.conc-plan3-note {
	margin-top: 16px;
	padding-left: 9.3%;
	font-size: clamp(11px, calc(9.67px + 0.17vw), 15px);
	line-height: 1.5;
}
.conc-plan3-r {
	position: relative;
	flex: 0 0 auto;
	width: 63.42%;
	padding-top: 32px;
}
.conc-plan3-r .conc-plan3-chara {
	position: absolute;
	top: 10px;
	right: 7.36%;
	width: 60px;
	height: auto;
	aspect-ratio: 67 / 89;
	object-fit: contain;
}
.conc-plan3-lead {
	font-size: clamp(16px, calc(14.67px + 0.17vw), 20px);
	font-weight: 500;
	line-height: 1.5;
}
.conc-plan3-q {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	width: 100%;
	max-width: 443px;
	min-height: 42px;
	margin: 45px 0 0 5.1%;
	padding: 6px 22px;
	border: 1px solid #000;
	border-radius: 51px;
	background: #fff;
	font-size: clamp(16px, calc(14.67px + 0.17vw), 20px);
	font-weight: 500;
}
.conc-plan3-a {
	width: 100%;
	max-width: 629px;
	margin: 15px 0 0 6.7%;
	font-size: clamp(14px, calc(12.67px + 0.17vw), 18px);
	font-weight: 500;
	line-height: 1.8;
}
/* ---------- THE 8 STANDARD ---------- */
.conc-plan3-std {
	width: 1371px;
	max-width: 92vw;
	margin: 53px auto 0;
}
.conc-plan3-std-ti {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-weight: 400;
	text-align: center;
}
.conc-plan3-std-ti-en {
	font-size: clamp(38px, calc(36.67px + 0.17vw), 42px);
	font-weight: 900;
	line-height: 1.5;
	letter-spacing: 4px;
}
.conc-plan3-std-ti-ja {
	font-size: clamp(18px, calc(16.67px + 0.17vw), 22px);
	font-weight: 700;
	line-height: 1.5;
}
.conc-plan3-std-list {
	display: flex;
	flex-wrap: wrap;
	gap: 31px 20px;
	margin-top: 27px;
}
.conc-plan3-std-list>li {
	display: flex;
	flex-direction: column;
	width: calc((100% - 60px) / 4);
}
.conc-plan3-std-list>li>img {
	width: 100%;
	height: auto;
	aspect-ratio: 328 / 230;
	object-fit: cover;
}
.conc-plan3-std-list h4 {
	margin-top: 7px;
	font-size: clamp(18px, calc(16.67px + 0.17vw), 22px);
	font-weight: 700;
	line-height: 1.5;
}
.conc-plan3-std-list>li>p {
	margin-top: 7px;
	font-size: clamp(12px, calc(10.67px + 0.17vw), 16px);
	font-weight: 500;
	line-height: 1.5;
}
.conc-plan3-std-list>li>ul {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: auto;
	padding-top: 23px;
}
.conc-plan3-std-list>li>ul>li {
	display: flex;
	align-items: center;
	height: 25px;
	padding: 0 16px;
	border: 1px solid #000;
	border-radius: 40px;
	background: #fff;
	font-size: clamp(10px, calc(8.67px + 0.17vw), 14px);
	font-weight: 500;
}
.conc-plan3-btn {
	width: 100%;
	max-width: 327px;
	margin: 49px auto 0;
}
/* =========================================================
   conc_type_plan4 ： PLAN 4 フルオーダープラン
   ========================================================= */
.conc-plan4 {
	margin-top: 45px;
}
.conc-plan4-inner {
	display: flex;
	justify-content: space-between;
	width: 1200px;
	max-width: 80vw;
	margin: 0 auto;
}
/* ---------- 左カラム ---------- */
.conc-plan4-l {
	position: relative;
	flex: 0 0 auto;
	width: 42%;
	padding-top: 88px;
}
.conc-plan4-l .conc-plan-flag {
	top: 0;
	left: 0;
}
.conc-plan4-l .conc-plan-flag::after {
	height: 61px;
}
.conc-plan4-l .conc-plan-flag span {
	background: #6d3309;
}
.conc-plan4 .conc-pd-ti {
	color: #6d3309;
}
.conc-plan4-l .conc-plan4-chara {
	position: absolute;
	top: 61px;
	left: 78.77%;
	width: clamp(42px, 3.28vw, 63px);
	height: auto;
	aspect-ratio: 63 / 81;
	object-fit: contain;
}
.conc-plan4 .conc-pd-desc {
	margin-top: 10px;
}
.conc-plan4 .conc-pd-price {
	width: 100%;
	max-width: 423px;
	margin-top: 27px;
}
.conc-plan4-cap {
	margin-top: 31px;
	font-family: "Adobe Garamond Pro", "Times New Roman", "YuMincho", serif;
	font-size: clamp(18px, calc(16.67px + 0.17vw), 22px);
	line-height: 1;
	letter-spacing: 1px;
}
.conc-plan4-thumb {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 9px;
	width: 100%;
	max-width: 467px;
	margin-top: 5px;
}
.conc-plan4-thumb>li {
	position: relative;
	width: calc((100% - 18px) / 3);
}
.conc-plan4-thumb img {
	width: 100%;
	height: auto;
	aspect-ratio: 149 / 115;
	object-fit: cover;
}
.conc-plan4-thumb a {
	position: relative;
	display: block;
}
.conc-plan4-thumb a span {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .6);
	color: #fff;
	opacity: 0;
	transition: opacity .3s;
	font-family: "Adobe Garamond Pro", "Times New Roman", "YuMincho", serif;
	font-size: clamp(58px, calc(56.67px + 0.17vw), 62px);
	line-height: 1;
	letter-spacing: 3px;
}
.conc-plan4-thumb a:hover span {
	opacity: 1;
}
/* ---------- 右カラム ---------- */
.conc-plan4-r {
	flex: 0 0 auto;
	width: 54.92%;
	padding-top: 49px;
}
.conc-plan4-recrea {
	font-family: "Adobe Garamond Pro", "Times New Roman", "YuMincho", serif;
	font-size: clamp(38px, calc(36.67px + 0.17vw), 42px);
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 4px;
	text-align: center;
}
.conc-plan4-txt {
	margin-top: 28px;
	font-size: clamp(13px, calc(11.67px + 0.17vw), 17px);
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0.75px;
}
/* ---------- BEFORE / AFTER 比較 ---------- */
.conc-plan4-ba {
	position: relative;
	width: 100%;
	height: auto;
	aspect-ratio: 658 / 494;
	margin-top: 41px;
	overflow: hidden;
	cursor: ew-resize;
	user-select: none;
}
.conc-plan4-ba .conc-plan4-ba-before {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.conc-plan4-ba-after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	clip-path: inset(0 0 0 50%);
}
.conc-plan4-ba-after img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.conc-plan4-ba-bar {
	position: absolute;
	top: 0;
	left: 50%;
	width: 3px;
	height: 100%;
	margin-left: -1.5px;
	background: #fff;
	pointer-events: none;
}
.conc-plan4-ba-handle {
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -25px 0 0 -25px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: #fff;
}
.conc-plan4-ba-handle::before,
.conc-plan4-ba-handle::after {
	content: "";
	width: 0;
	height: 0;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
}
.conc-plan4-ba-handle::before {
	border-right: 9px solid #000;
}
.conc-plan4-ba-handle::after {
	border-left: 9px solid #000;
}
/* =========================================================
   conc_reason ： いえまるハウスが選ばれる理由
   ========================================================= */
.conc-reason {
	margin-top: 82px;
	padding: 62px 0 101px;
	background: #000;
	color: #fff;
}
/* ---------- 上段 ---------- */
.conc-reason-top {
	display: flex;
	justify-content: space-between;
	width: 1200px;
	max-width: 80vw;
	margin: 0 auto;
}
.conc-reason-top-txt {
	width: 60.33%;
	padding-top: 22px;
}
.conc-reason-catch {
	font-size: clamp(32px, calc(30.67px + 0.17vw), 36px);
	font-weight: 700;
	line-height: 1.5;
}
.conc-reason-catch span {
	text-underline-position: from-font;
	border-bottom: 1px solid;
}
.conc-reason-txt {
	width: 100%;
	max-width: 611px;
	margin-top: 45px;
	font-size: clamp(16px, calc(14.67px + 0.17vw), 20px);
	line-height: 1.8;
}
/* ---------- 吹き出し＋イラスト ---------- */
.conc-reason-top-img {
	width: 25.58%;
	padding-top: 181px;
}
.conc-reason-fuki {
	position: relative;
	box-sizing: border-box;
	width: 66.1%;
	min-width: 160px;
	margin-left: 16.9%;
	padding: 16px 15px;
	border-radius: 10px;
	background: #fff;
	color: #000;
	font-size: clamp(13px, calc(11.67px + 0.17vw), 17px);
	font-weight: 700;
	line-height: 1.4;
}
.conc-reason-fuki::after {
	content: "";
	position: absolute;
	bottom: -13px;
	left: 30px;
	width: 0;
	height: 0;
	border-top: 14px solid #fff;
	border-right: 14px solid transparent;
}
.conc-reason-fuki em {
	color: #ca5858;
	font-style: normal;
}
.conc-reason-top-img img {
	width: 100%;
	height: auto;
	aspect-ratio: 307 / 158;
	margin-top: 15px;
	background: none;
	object-fit: contain;
}
/* ---------- 縦組み見出し ---------- */
.conc-reason-ti {
	writing-mode: vertical-rl;
	height: 372px;
	font-weight: 400;
}
.conc-reason-ti-en {
	display: block;
	font-family: "Jersey 25", "Noto Sans JP", sans-serif;
	font-size: clamp(38px, calc(36.67px + 0.17vw), 42px);
	line-height: 1;
}
.conc-reason-ti-ja {
	display: block;
	font-size: clamp(38px, calc(36.67px + 0.17vw), 42px);
	font-weight: 700;
	line-height: 1.15;
}
/* ---------- カードスライダー ---------- */
.conc-reason-slider {
	--conc-reason-card: clamp(300px, 36.98vw, 710px);
	position: relative;
	width: 1900px;
	max-width: 100%;
	margin: 0 auto;
}
/* 番号がカード上にはみ出すぶんの余白 */
.conc-reason-swiper {
	padding-top: 38px !important;
}
.conc-reason-slider .swiper-slide {
	position: relative;
	box-sizing: border-box;
	width: var(--conc-reason-card);
	height: auto;
	padding: 51px clamp(20px, 3.13vw, 60px) 40px;
	border: 1px solid #000;
	border-radius: 70px;
	background: #fff;
	color: #000;
}
.conc-reason-num {
	position: absolute;
	top: -38px;
	left: 53px;
	color: #b7dfe8;
	font-size: clamp(63px, calc(61.67px + 0.17vw), 67px);
	font-style: italic;
	font-weight: 800;
	line-height: 1;
	-webkit-text-stroke: 1px black;
}
.conc-reason-slider h3 {
	font-size: clamp(33px, calc(31.67px + 0.17vw), 37px);
	font-weight: 700;
	line-height: 1;
	text-align: center;
}
.conc-reason-slider .swiper-slide>img {
	width: 100%;
	height: auto;
	aspect-ratio: 590 / 273;
	margin-top: 28px;
	border-radius: 30px;
	object-fit: cover;
}
.conc-reason-card-txt {
	margin-top: 24px;
	font-size: clamp(14px, calc(12.67px + 0.17vw), 18px);
	line-height: 1.7;
}
/* ---------- 前後ボタン ---------- */
.conc-reason-prev,
.conc-reason-next {
	position: absolute;
	z-index: 2;
	top: 374px;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: #000;
	border: 1px solid #fff;
}
.conc-reason-prev {
	margin-left: calc(var(--conc-reason-card) / -2 - 55px);
}
.conc-reason-next {
	margin-left: calc(var(--conc-reason-card) / 2 + 5px);
}
.conc-reason-prev::before,
.conc-reason-next::before {
	content: "";
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}
.conc-reason-prev::before {
	transform: rotate(-135deg) translate(-2px, -2px);
}
.conc-reason-next::before {
	transform: rotate(45deg) translate(-2px, 2px);
}
/* =========================================================
   conc_soudan ： 家づくり無料相談会
   ========================================================= */
.conc-soudan {
	margin: 65px 0 100px;
}
.conc-soudan-inner {
	width: 1070px;
	max-width: 80vw;
	margin: 0 auto;
}
/* ---------- 見出し ---------- */
.conc-soudan-head {
	display: flex;
	justify-content: space-between;
}
.conc-soudan-head-txt {
	width: 74.58%;
}
.conc-soudan-ti {
	display: flex;
	align-items: flex-end;
	gap: 3%;
	padding-left: 4.26%;
	font-weight: 400;
}
.conc-soudan-ti-ja {
	font-size: clamp(48px, calc(46.67px + 0.17vw), 52px);
	font-weight: 700;
	line-height: 1.2;
}
.conc-soudan-ti-ja span {
	display: inline-block;
	padding: 0 6px;
	border-radius: 4px;
	background: #000;
	color: #fff;
	transform: rotate(-13.58deg);
}
.conc-soudan-ti-ja em {
	color: #f3d162;
	font-style: normal;
}
.conc-soudan-ti-en {
	color: #d9d9d9;
	font-family: "Jersey 25", "Noto Sans JP", sans-serif;
	font-size: clamp(38px, calc(36.67px + 0.17vw), 42px);
	line-height: 1;
	margin-bottom: 10px;
}
/* ---------- 吹き出し＋イラスト ---------- */
.conc-soudan-fuki {
	position: relative;
	flex: 0 0 auto;
	width: 16.54%;
	min-width: 150px;
}
.conc-soudan-fuki p {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	min-height: 66px;
	padding: 13px 15px;
	border: 1px solid #000;
	border-radius: 10px;
	background: #fff;
	font-size: clamp(12px, calc(10.67px + 0.17vw), 16px);
	font-weight: 700;
	line-height: 1.5;
}
.conc-soudan-fuki p::after {
	content: "";
	position: absolute;
	bottom: -12px;
	right: 40px;
	width: 0;
	height: 0;
	border-top: 13px solid #fff;
	border-left: 13px solid transparent;
}
.conc-soudan-fuki img {
	width: 57.6%;
	height: auto;
	aspect-ratio: 102 / 107;
	margin: 18px 0 0 auto;
	background: none;
	object-fit: contain;
}
/* ---------- リード文 ---------- */
.conc-soudan-txt {
	width: 100%;
	max-width: 756px;
	margin: 16px 0 0 5.26%;
	font-size: clamp(13px, calc(11.67px + 0.17vw), 17px);
	line-height: 1.8;
}
/* ---------- お知らせ3件 ---------- */
.conc-soudan-inner iframe {
	width: 95%;
	height: 420px;
	margin: 0 auto;
	display: block;
}
/* .conc-soudan-news {
	display: flex;
	justify-content: center;
	gap: 2.8%;
	margin-top: 0;
}
.conc-soudan-news>li {
	width: 28.04%;
	min-height: 390px;
	border: 1px solid #000;
	border-radius: 20px;
	background: #fff;
}
.conc-soudan-news>li>a {
	position: relative;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	height: 100%;
	padding: 10px 10px 16px;
}
.conc-soudan-news>li>a>img {
	width: 100%;
	height: auto;
	aspect-ratio: 280 / 190;
	border-radius: 15px;
	object-fit: cover;
}
.conc-soudan-news h3 {
	margin: 10px 13px 0;
	font-size: clamp(13px, calc(11.67px + 0.17vw), 17px);
	font-weight: 500;
	line-height: 1.5;
}
.conc-soudan-news-cat {
	display: flex;
	align-items: center;
	width: 70px;
	height: 25px;
	margin: auto 0 0 13px;
	border: 1px solid #000;
	border-radius: 40px;
	font-size: clamp(10px, calc(8.67px + 0.17vw), 14px);
	font-weight: 500;
	justify-content: center;
}
.conc-soudan-news-date {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 10px 0 0 13px;
	color: #aaa;
	font-size: clamp(10px, calc(8.67px + 0.17vw), 14px);
	font-weight: 500;
}
.conc-soudan-news-date img {
	width: 17px;
	height: 17px;
	background: none;
}
.conc-soudan-news-more {
	position: absolute;
	bottom: 10px;
	right: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 35px;
	height: 35px;
	border-radius: 50%;
	background: #000;
	color: #fff;
	font-size: clamp(18px, calc(16.67px + 0.17vw), 22px);
} */
/* ---------- バナー2枚 ---------- */
.conc-soudan-bnr {
	display: flex;
	justify-content: space-between;
	margin-top: 50px;
}
.conc-soudan-bnr>li {
	width: 48.6%;
}
.conc-soudan-bnr>li>a {
	position: relative;
	display: block;
	box-sizing: border-box;
	height: auto;
	aspect-ratio: 520 / 180;
	padding: 9.4% 0 0 5.8%;
	border-radius: 17px;
	color: #fff;
	transition: all .3s ease-in-out;
}
.conc-soudan-bnr>li>a:hover {
	transform: translateY(5px);
}
.conc-soudan-bnr>li:nth-child(1)>a {
	background: #d9ae20;
}
.conc-soudan-bnr>li:nth-child(2)>a {
	background: #426291;
}
.conc-soudan-bnr-en {
	display: block;
	padding-left: 4px;
	font-family: "Jersey 25", "Noto Sans JP", sans-serif;
	font-size: clamp(16px, calc(14.67px + 0.17vw), 20px);
	line-height: 1.2;
	letter-spacing: 1.8px;
}
.conc-soudan-bnr-ja {
	display: block;
	margin-top: 8px;
	font-size: clamp(23px, calc(21.67px + 0.17vw), 27px);
	font-weight: 700;
	line-height: 1.2;
}
.conc-soudan-bnr-arrow {
	display: block;
	margin-top: 3px;
	padding-left: 1px;
	font-family: "Jersey 25", "Noto Sans JP", sans-serif;
	font-size: clamp(38px, calc(36.67px + 0.17vw), 42px);
	line-height: 1;
	letter-spacing: 4px;
}
.conc-soudan-bnr>li>a>img {
	position: absolute;
	top: 11.1%;
	right: 3.85%;
	width: 34.6%;
	height: auto;
	aspect-ratio: 180 / 140;
	border-radius: 10px;
	object-fit: cover;
}
/* =========================================================
   画像ポップアップ（プラン4サムネイル）
   ========================================================= */
.conc-modal {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	display: none;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 60px 40px;
	box-sizing: border-box;
	background: rgba(0, 0, 0, .8);
}
.conc-modal.is-open {
	display: flex;
}
.conc-modal-inner {
	position: relative;
	max-width: 1000px;
}
.conc-modal-inner img {
	max-width: 100%;
	max-height: 80vh;
	background: none;
}
.conc-modal-close {
	position: absolute;
	top: -44px;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	color: #fff;
	font-size: clamp(26px, calc(24.67px + 0.17vw), 30px);
	line-height: 1;
}
/* アンカーリンク時にヘッダー分を空ける */
.conc-plan1,
.conc-plan2,
.conc-plan3,
.conc-plan4 {
	scroll-margin-top: 100px;
}
.junbi img {
	width: 700px;
	display: block;
	margin: 50px auto;
}
/* ==========================================================
   住宅ローン相談窓口（PC用） ※メディアクエリなし・HTML側で分岐
   プレフィックス：lo_
========================================================== */
.lo_wrap {
	min-width: 1000px;
	/* PCレイアウトの最小幅 */
	font-family: "Noto Sans JP", sans-serif;
	color: #000;
	overflow: hidden;
}
.lo_wrap * {
	box-sizing: border-box;
}
.lo_wrap h1,
.lo_wrap h2,
.lo_wrap h3,
.lo_wrap h4,
.lo_wrap p,
.lo_wrap ul {
	margin: 0;
	padding: 0;
}
.lo_wrap ul {
	list-style: none;
}
.lo_wrap a {
	text-decoration: none;
}
.lo_wrap img {
	display: block;
	max-width: 100%;
	/* 画像プレースホルダー */
}
/* ----------------------------------------------------------
   メインビジュアル
---------------------------------------------------------- */
.lo_mv {
	position: relative;
	/* 幅が狭いときは吹き出しを上に逃がす分だけ上余白を足す */
	padding-top: calc(112px + clamp(0px, (1040px - 100vw) * 0.6, 62px));
	padding-bottom: 20px;
}
/* 背景（下端は問合せボックスの途中まで） */
.lo_mv_bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: calc(100% - 125px);
	background: #000;
	z-index: -1;
}
.lo_mv_bg img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	opacity: 0.52;
}
.lo_mv_inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 80vw;
	max-width: 1200px;
	margin: 0 auto;
	color: #fff;
	text-align: center;
}
/* 相談料無料／一都三県 */
.lo_mv_point {
	position: relative;
	width: 46%;
	max-width: 552px;
	min-width: 400px;
	white-space: nowrap;
}
.lo_mv_point ul {
	display: flex;
	justify-content: space-between;
}
.lo_mv_point li {
	width: 49.1%;
	padding: 0.25em 0;
	border-radius: 100px;
	background: #000;
	font-size: clamp(18px, 1.04vw, 22px);
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.1em;
}
.lo_mv_inner h2 {
	margin-top: 40px;
}
/* 吹き出し */
.lo_mv_balloon {
	position: absolute;
	/* 画面幅1040px未満では左上へずらして画面内に収める */
	left: calc(100% - max(0px, (1040px - 100vw) * 0.5));
	bottom: calc(-4px + clamp(0px, (1040px - 100vw) * 0.6, 62px));
	width: 49.5%;
	min-width: 250px;
}
.lo_mv_balloon p {
	position: relative;
	padding: 0.38em 0;
	border: 1px solid #000;
	border-radius: 8px;
	background: #fed95f;
	color: #000;
	font-size: clamp(19px, 1.09vw, 23px);
	font-weight: 700;
	font-style: italic;
	line-height: 1.4;
	letter-spacing: 0.05em;
}
.lo_mv_balloon p::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 26%;
	border-style: solid;
	border-width: 13px 12px 0 0;
	border-color: #fed95f transparent transparent transparent;
	filter: drop-shadow(0 1px 0 #000);
}
.lo_mv_balloon img {
	width: 21.6%;
	aspect-ratio: 59 / 57;
	margin: 11px 0 0 5%;
}
/* キャッチ（画像） */
.lo_mv h1 {
	width: 80.5%;
	max-width: 966px;
	margin-top: 28px;
}
.lo_mv h1 img {
	width: 100%;
	aspect-ratio: 966 / 172;
}
.lo_mv p.lo_mv_lead {
	margin-top: 41px;
	font-size: clamp(16px, 0.94vw, 20px);
	font-weight: 500;
	line-height: 1.67;
	letter-spacing: 0.06em;
}
/* ----------------------------------------------------------
   お問合せボックス
---------------------------------------------------------- */
.lo_cta {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 84vw;
	max-width: 1256px;
	margin: 36px auto 0;
}
.lo_cta h2 {
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 46.5%;
	min-width: 380px;
	height: 55px;
	margin-bottom: -34px;
	border: 1px solid #000;
	border-radius: 8px;
	background: #fff;
	font-family: "RFGSanSrf-U", "Noto Sans JP", sans-serif;
	font-size: clamp(22px, 1.25vw, 26px);
	font-weight: 900;
	letter-spacing: 0.2em;
}
.lo_cta h2 img:first-child {
	width: 61px;
	aspect-ratio: 61 / 52;
	margin: -14px 17px 0 0;
}
.lo_cta h2 img:last-child {
	width: 38px;
	aspect-ratio: 38 / 27;
	margin-left: 8px;
}
.lo_cta_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 20px 2.1%;
	width: 100%;
	padding: 68px 2.7% 33px 2.1%;
	border: 1px solid #000;
	border-radius: 8px;
	background: #fff;
}
.lo_cta_tel {
	flex: 362 1 250px;
	text-align: center;
}
.lo_cta_web {
	flex: 809 1 559px;
}
.lo_cta_box p {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: clamp(17px, 0.99vw, 21px);
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.06em;
}
.lo_cta_box p img {
	width: 19px;
	aspect-ratio: 1 / 1;
	margin-right: 9px;
	border-radius: 50%;
}
/* ボタン共通 */
.lo_cta_box a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 64px;
	margin-top: 17px;
	border: 1px solid #000;
	border-radius: 100px;
	color: #000;
	font-size: clamp(21px, 1.2vw, 25px);
	font-weight: 700;
	letter-spacing: 0.1em;
	white-space: nowrap;
}
.lo_cta_tel a {
	background: #000;
	color: #fff;
	font-family: "Hiragino Maru Gothic ProN", "Zen Maru Gothic", "Noto Sans JP", sans-serif;
	font-size: clamp(25px, 1.41vw, 29px);
	font-weight: 500;
}
.lo_cta_tel a img {
	width: 25px;
	aspect-ratio: 25 / 24;
	margin-right: 13px;
}
.lo_cta_tel small {
	display: block;
	margin-top: 14px;
	color: #000;
	font-size: clamp(10px, 0.63vw, 14px);
	font-weight: 300;
	line-height: 1.4;
	letter-spacing: 0.06em;
}
.lo_cta_web ul {
	display: flex;
	justify-content: space-between;
}
.lo_cta_web li {
	width: 31.1%;
}
.lo_cta_web li.lo_cta_reserve {
	width: 31.3%;
}
.lo_cta_web li.lo_cta_line {
	width: 35.3%;
}
.lo_cta_request a {
	background: #fed95f;
}
.lo_cta_reserve a {
	background: #aed5e6;
}
.lo_cta_line a {
	background: #06c755;
	color: #fff;
}
.lo_cta_web a img {
	flex-shrink: 1;
	width: 36px;
	aspect-ratio: 36 / 26;
	margin-right: 22px;
}
.lo_cta_reserve a img {
	width: 30px;
	aspect-ratio: 30 / 32;
	margin-right: 14px;
}
.lo_cta_line a img {
	width: 45px;
	aspect-ratio: 1 / 1;
	margin-right: 12px;
	border-radius: 50%;
}
/* ----------------------------------------------------------
   お悩み
---------------------------------------------------------- */
.lo_worry {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 87.5vw;
	max-width: 1312px;
	margin: 54px auto 0;
	padding-bottom: 33px;
}
.lo_worry h2 {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: -37px;
	font-size: clamp(38px, 2.5vw, 50px);
	font-weight: 900;
	line-height: 1.3;
	letter-spacing: 0.1em;
	text-align: center;
}
/* 見出し上のドット */
.lo_worry h2::before {
	content: "";
	width: 340px;
	height: 6px;
	margin-bottom: 14px;
	background: repeating-linear-gradient(90deg, #fed95f 0, #fed95f 6px, transparent 6px, transparent 41.75px);
}
.lo_worry h2 small {
	font-size: 0.79em;
	line-height: 1.5;
}
/* 3行目：枠線を白地で切る */
.lo_worry h2 span {
	position: relative;
	display: flex;
	align-items: center;
	padding: 0 28px;
	background: #fff;
	white-space: nowrap;
}
.lo_worry h2 span img:first-child {
	position: absolute;
	left: -10px;
	bottom: 74%;
	width: 39px;
	aspect-ratio: 39 / 49;
}
.lo_worry h2 span img:nth-child(2) {
	width: 7.52em;
	aspect-ratio: 361 / 42;
	margin-right: 0.3em;
}
/* 3枚重ねの枠 */
.lo_worry_box {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	padding: 81px 7.8% 0;
	border: 2px solid #000;
	border-radius: 30px;
	background: #fff;
	box-shadow: 0 9px 0 -2px #fff, 0 9px 0 0 #000, 0 18px 0 -2px #fff, 0 18px 0 0 #000;
}
.lo_worry_box p {
	font-size: clamp(18px, 1.04vw, 22px);
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0.1em;
	text-align: center;
}
.lo_worry_box>p:first-child {
	margin: 0 -4%;
}
.lo_worry_box strong {
	font-weight: 700;
}
.lo_worry_box ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px 1.5%;
	width: 100%;
	margin-top: 48px;
}
.lo_worry_box li {
	display: flex;
	align-items: flex-start;
	flex: 1 1 auto;
	padding: 23px 12px 25px 16px;
	/* 4枚が1段に収まらない幅（ul幅920px未満）では最小幅45%にし、2枚ずつ（2:2）で折り返す */
	min-width: clamp(0px, (920px - 100%) * 999, 45%);
	border-radius: 10px;
	background: #d9d9d9;
	font-size: clamp(18px, 1.04vw, 22px);
	font-weight: 900;
	line-height: 1.5;
	letter-spacing: 0.03em;
	white-space: nowrap;
}
.lo_worry_box li img {
	flex-shrink: 0;
	width: 19px;
	aspect-ratio: 19 / 15;
	margin: 8px 9px 0 0;
}
/* 黒帯（枠の下端にまたがる） */
.lo_worry_box p.lo_worry_answer {
	width: 79.8%;
	min-width: 620px;
	margin: 39px 0 -38px;
	padding: 20px 1em 21px;
	border-radius: 100px;
	background: #000;
	color: #fff;
	font-size: clamp(20px, 1.9vw, 30px);
	white-space: nowrap;
	font-weight: 900;
	line-height: 1.73;
	letter-spacing: 0.03em;
}
.lo_worry_answer em {
	color: #fed95f;
	font-style: normal;
}
/* 下向き矢印 */
.lo_worry>img {
	width: 36px;
	aspect-ratio: 36 / 50;
	margin-top: 89px;
}
/* ----------------------------------------------------------
   事例
---------------------------------------------------------- */
.lo_case {
	position: relative;
	padding-bottom: 88px;
}
/* 黒背景（左右18pxあけ、下端は問合せボックスの途中まで） */
.lo_case::before {
	content: "";
	position: absolute;
	top: 154px;
	left: 18px;
	right: 18px;
	bottom: 282px;
	border-radius: 30px;
	background: #000;
	z-index: -1;
}
/* スライダー（Swiper）
   1枚分の幅を .swiper にし、2枚目と左右のカードははみ出して見せる */
.lo_case_slider {
	position: relative;
}
.lo_case_slider .swiper {
	/* カード1枚分の幅（間隔はJSで幅の12.36%）。2枚目以降ははみ出して表示 */
	width: clamp(440px, 27.4vw, 526px);
	margin: 0 auto;
	overflow: visible;
	/* 表示中の1枚目を左側にずらし、2枚の組を中央に見せる */
	transform: translateX(-56.18%);
}
.lo_wrap ul.lo_case_list {
	align-items: center;
}
.lo_case_list>li {
	height: auto;
	padding: 29px 1.55vw 27px;
	border: 2px solid #000;
	border-radius: 14px;
	background: #fff;
	transition: transform 0.6s, filter 0.6s, border-color 0.6s;
}
/* 表示中の2枚以外（左右に見切れるカード）は縮小して暗く */
.lo_case_list>li:not(.swiper-slide-active):not(.swiper-slide-next) {
	border-color: transparent;
	transform: scale(0.867);
	transform-origin: left center;
	filter: brightness(0.84);
}
.lo_case_list>li.swiper-slide-prev {
	transform-origin: right center;
}
.lo_case_list>li>img {
	width: 100%;
	aspect-ratio: 464 / 134;
	border-radius: 8px;
	object-fit: cover;
}
.lo_case_list h3 {
	margin: 14px 0 0;
	font-size: clamp(18px, 1.25vw, 26px);
	font-weight: 700;
	line-height: 1.46;
	letter-spacing: 0.03em;
	text-align: center;
	white-space: nowrap;
}
.lo_case_list ul {
	display: flex;
	flex-wrap: wrap;
	gap: 7px 16px;
	margin-top: 16px;
}
.lo_case_list ul li {
	display: flex;
	align-items: center;
	font-size: clamp(12px, 0.73vw, 16px);
	font-weight: 400;
	letter-spacing: 0.02em;
	white-space: nowrap;
}
.lo_case_list span {
	min-width: 59px;
	margin-right: 8px;
	padding: 5px 12px 6px;
	border: 1px solid #000;
	border-radius: 100px;
	font-size: clamp(10px, 0.63vw, 14px);
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.06em;
	text-align: center;
}
.lo_case_list p {
	margin-top: 11px;
	padding: 12px 20px 14px;
	background: #edfafc;
	font-size: clamp(12px, 0.73vw, 16px);
	font-weight: 400;
	line-height: 1.43;
	letter-spacing: 0.02em;
}
/* 前へ・次へ（中央2枚と左右カードの間） */
.lo_case_slider a {
	position: absolute;
	top: 44.5%;
	z-index: 10;
	/* Swiper本体より前面に */
	width: 61px;
}
.lo_case_slider a img {
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: #fff;
}
.lo_case_prev {
	left: max(10px, calc(50% - clamp(440px, 27.4vw, 526px) - clamp(20px, 1.7vw, 32px) - 86px));
}
.lo_case_next {
	right: max(10px, calc(50% - clamp(440px, 27.4vw, 526px) - clamp(20px, 1.7vw, 32px) - 86px));
}
/* ドット */
.lo_wrap ul.lo_case_dots {
	display: flex;
	justify-content: center;
	gap: 15px;
	margin-top: 23px;
}
.lo_case_dots li {
	width: 21px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: #d9d9d9;
	cursor: pointer;
}
.lo_case_dots li.lo_case_on {
	background: #fff;
}
.lo_wrap p.lo_case_lead {
	width: 80vw;
	max-width: 1200px;
	margin: 52px auto 0;
	color: #fff;
	font-size: clamp(18px, 1.04vw, 22px);
	font-weight: 500;
	line-height: 2.1;
	letter-spacing: 0.03em;
	text-align: center;
}
/* お問合せボックス（幅広タイプ） */
.lo_cta.lo_cta_wide {
	width: 87.5vw;
	max-width: 1502px;
	margin-top: 47px;
}
.lo_cta_wide h2 {
	width: 38.8%;
	max-width: 584px;
}
.lo_cta_wide .lo_cta_box {
	padding: 82px max(2.1%, calc(50% - 598px)) 33px;
}
/* ----------------------------------------------------------
   強い理由
---------------------------------------------------------- */
.lo_reason {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 87.5vw;
	max-width: 1503px;
	margin: 0 auto;
}
.lo_reason h2 {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: -33px;
	font-size: clamp(34px, 2.6vw, 52px);
	font-weight: 900;
	line-height: 1.32;
	letter-spacing: 0.1em;
	text-align: center;
}
/* 吹き出し */
.lo_reason h2 span {
	order: -1;
	position: relative;
	min-width: 273px;
	margin-bottom: 16px;
	padding: 0.38em 1em;
	border: 1px solid #000;
	border-radius: 8px;
	background: #fed95f;
	font-size: clamp(19px, 1.09vw, 23px);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.05em;
}
.lo_reason h2 span::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 25%;
	border-style: solid;
	border-width: 13px 12px 0 0;
	border-color: #fed95f transparent transparent transparent;
	filter: drop-shadow(0 1px 0 #000);
}
/* 見出し上のドット */
.lo_reason h2::before {
	content: "";
	width: 390px;
	height: 8px;
	margin-bottom: 8px;
	background: repeating-linear-gradient(90deg, #fed95f 0, #fed95f 8px, transparent 8px, transparent 54.57px);
}
.lo_reason>ul {
	width: 100%;
	padding: 120px 8.75% 113px;
	border-radius: 30px;
	background: #f6f6f6;
}
.lo_reason>ul>li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 111px;
}
.lo_reason>ul>li:first-child {
	margin-top: 0;
}
.lo_reason>ul>li:nth-child(even) {
	flex-direction: row-reverse;
}
/* イラスト */
.lo_reason li>img {
	flex-shrink: 0;
	width: 42.1%;
	aspect-ratio: 522 / 409;
}
.lo_reason li:nth-child(2)>img {
	width: 37.1%;
	aspect-ratio: 460 / 316;
	margin-right: 4.8%;
}
.lo_reason li:nth-child(3)>img {
	width: 39.5%;
	aspect-ratio: 490 / 460;
	margin-left: 0.9%;
}
/* テキスト */
.lo_reason li div {
	width: 53.2%;
}
.lo_reason li:nth-child(2) div {
	width: 54.8%;
}
.lo_reason h3 {
	font-size: clamp(20px, 2.08vw, 42px);
	font-weight: 900;
	line-height: 1.7;
	letter-spacing: 0.04em;
}
/* REASON 0X（画像） */
.lo_reason h3 img {
	width: 5.9em;
	aspect-ratio: 237 / 26;
	margin-bottom: 0.7em;
}
.lo_reason li p {
	margin-top: 24px;
	font-size: clamp(16px, 0.94vw, 20px);
	font-weight: 500;
	line-height: 2.22;
	letter-spacing: 0.02em;
}
/* ----------------------------------------------------------
   住宅ローンの流れ
---------------------------------------------------------- */
.lo_flow {
	position: relative;
	margin-top: 50px;
	padding: 139px 0 135px;
}
/* 左のグレーの矢印型背景 */
.lo_flow::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 46.5vw;
	height: 100%;
	min-height: 1022px;
	background: #f6f6f6;
	clip-path: polygon(0 0, 46% 0, 100% 50%, 46% 100%, 0 100%);
	z-index: -1;
}
.lo_flow_inner {
	width: 80vw;
	min-width: 800px;
	/* 画面幅1000px時の80% */
	max-width: 1240px;
	margin: 0 auto;
}
/* 見出し（左上にドット、その右に吹き出し） */
.lo_flow h2 {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	background: repeating-linear-gradient(90deg, #fed95f 0, #fed95f 2.05%, transparent 2.05%, transparent 13.99%) 1.7% 20px / 31.5% 8px no-repeat;
	font-size: clamp(30px, 2.6vw, 52px);
	font-weight: 900;
	line-height: 1.4;
	letter-spacing: 0.1em;
}
.lo_flow h2 span {
	position: relative;
	min-width: 273px;
	margin: 0 0 13px 36.2%;
	padding: 0.38em 1em;
	border: 1px solid #000;
	border-radius: 8px;
	background: #fed95f;
	font-size: clamp(19px, 1.09vw, 23px);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.05em;
	text-align: center;
}
.lo_flow h2 span::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 25%;
	border-style: solid;
	border-width: 13px 12px 0 0;
	border-color: #fed95f transparent transparent transparent;
	filter: drop-shadow(0 1px 0 #000);
}
/* 説明文＋イラスト */
.lo_flow_intro {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-top: 46px;
}
.lo_flow_intro p {
	width: 70%;
	font-size: clamp(16px, 0.94vw, 20px);
	font-weight: 500;
	line-height: 1.94;
	letter-spacing: 0.03em;
}
.lo_flow_intro img {
	width: 23%;
	aspect-ratio: 298 / 242;
	margin-top: -81px;
	margin-right: 5%;
}
/* 住宅ローンの流れ */
.lo_flow h3 {
	display: flex;
	align-items: center;
	margin-top: 56px;
	font-size: clamp(27px, 1.51vw, 31px);
	font-weight: 900;
	line-height: 1.24;
	letter-spacing: 0.04em;
}
.lo_flow h3 img {
	width: 46px;
	aspect-ratio: 46 / 36;
	margin-right: 16px;
}
.lo_flow_inner>ul {
	display: flex;
	gap: 15px;
	margin-top: 24px;
}
.lo_flow_inner>ul>li {
	display: flex;
	align-items: flex-start;
	flex: 1 1 0;
	min-width: 0;
}
/* カード */
.lo_flow li div {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	flex: 1 1 auto;
	align-self: stretch;
	min-width: 0;
	min-height: 202px;
	padding: 24px clamp(11px, 1.15vw, 22px) 28px;
	border: 1px solid #000;
	border-radius: 20px;
	background: #fff;
}
.lo_flow h4 {
	padding-left: 4%;
	font-size: clamp(14px, 1.3vw, 27px);
	font-weight: 900;
	line-height: 1.4;
	letter-spacing: 0.04em;
	white-space: nowrap;
}
/* STEP n（画像） */
.lo_flow h4 img {
	width: 80px;
	aspect-ratio: 80 / 14;
	margin-bottom: 10px;
}
/* アイコン */
.lo_flow li div>img {
	width: 18.4%;
	aspect-ratio: 47 / 34;
	margin-right: 4%;
}
.lo_flow li:nth-child(2) div>img {
	width: 20.4%;
	aspect-ratio: 52 / 55;
}
.lo_flow li:nth-child(3) div>img {
	width: 22.7%;
	aspect-ratio: 1 / 1;
	margin-right: 2%;
}
.lo_flow li:nth-child(4) div>img {
	width: 24.7%;
	aspect-ratio: 63 / 42;
	margin: 0 -4% 20px 0;
}
.lo_flow li p {
	width: 100%;
	margin-top: 14px;
	font-size: clamp(10px, 0.63vw, 14px);
	font-weight: 300;
	line-height: 1.67;
}
/* カード間の黒い矢印（次のカードに重ねる） */
.lo_flow li>img {
	position: relative;
	z-index: 1;
	flex-shrink: 0;
	width: clamp(28px, 2.4vw, 46px);
	aspect-ratio: 46 / 36;
	margin: 78px clamp(-34px, -1.77vw, -20px) 0 clamp(-12px, -0.62vw, -7px);
}
/* ----------------------------------------------------------
   住まい選び
---------------------------------------------------------- */
.lo_plan {
	position: relative;
	padding: 117px 0 116px;
	color: #fff;
}
/* 背景写真＋暗いオーバーレイ */
.lo_plan_bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	z-index: -1;
}
.lo_plan_bg img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	opacity: 0.45;
}
.lo_plan_inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 84vw;
	min-width: 840px;
	max-width: 1256px;
	margin: 0 auto;
}
/* 見出し */
.lo_plan h2 {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: clamp(30px, 2.6vw, 52px);
	font-weight: 900;
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-align: center;
}
.lo_plan h2 span {
	position: relative;
	min-width: 292px;
	margin-bottom: 22px;
	padding: 0.38em 1em;
	border: 1px solid #000;
	border-radius: 8px;
	background: #fed95f;
	color: #000;
	font-size: clamp(19px, 1.09vw, 23px);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.05em;
}
.lo_plan h2 span::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 25%;
	border-style: solid;
	border-width: 13px 12px 0 0;
	border-color: #fed95f transparent transparent transparent;
	filter: drop-shadow(0 1px 0 #000);
}
.lo_wrap p.lo_plan_lead {
	margin-top: 42px;
	font-size: clamp(16px, 0.94vw, 20px);
	font-weight: 500;
	line-height: 1.94;
	letter-spacing: 0.03em;
	text-align: center;
}
/* カード */
.lo_plan ul {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin-top: 68px;
}
.lo_plan li {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 32.3%;
	padding-bottom: 32px;
	border: 1px solid #000;
	border-radius: 20px;
	background: rgba(0, 0, 0, 0.2);
	text-align: center;
}
.lo_plan h3 {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	font-size: clamp(17px, 1.3vw, 27px);
	font-weight: 700;
	line-height: 1.55;
	letter-spacing: 0.1em;
}
/* カテゴリのタブ（上辺にまたがる） */
.lo_plan h3 span {
	width: 88.2%;
	margin: -18px 0 16px;
	padding: 0.45em 0;
	border-radius: 100px;
	background: #000;
	color: #fed95f;
	font-size: clamp(12px, 0.83vw, 18px);
	font-weight: 400;
	line-height: 1.5;
	white-space: nowrap;
}
.lo_plan h3 span span {
	margin: 0;
	padding: 0;
	color: #fff;
	background: none;
}
.lo_plan li p {
	margin: 22px 0;
	font-size: clamp(13px, 0.78vw, 17px);
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: 0.1em;
}
.lo_plan li img {
	width: 83.7%;
	aspect-ratio: 340 / 174;
	margin-top: auto;
	border-radius: 14px;
	object-fit: cover;
}
/* ----------------------------------------------------------
   お問合せ（ページ下部・枠なしタイプ）
---------------------------------------------------------- */
.lo_contact {
	padding: 53px 0 38px;
	background: #f8f8f8;
}
.lo_cta.lo_cta_plain {
	margin-top: 0;
}
.lo_cta_plain .lo_cta_box {
	border: none;
	background: none;
}
/* =========================================================
   空き家LP  PC用（768px以上）
   デザイン基準幅：1900px
   ・画面幅：最小1000px（body min-width）
   ・中身（.ak_in）：画面幅の80%／最大1200px・最小900px
   ・文字サイズ：clamp(基準-2px, 基準/19 vw, 基準+2px)（1900px時に基準サイズ）
   ========================================================= */
/* ---------- ページ内共通（タグ全体には指定せず、各ブロックに限定） ---------- */
.ak_mv,
.ak_omoi,
.ak_sonomama,
.ak_inq,
.ak_souzoku,
.ak_service,
.ak_faq,
.ak_area,
.ak_contact,
.ak_footer {
	font-family: "Noto Sans JP", sans-serif;
	color: #111;
	line-height: 1.6;
}
.ak_header,
.ak_mv,
.ak_omoi,
.ak_sonomama,
.ak_inq,
.ak_souzoku,
.ak_service,
.ak_faq,
.ak_contact,
.ak_footer {
	min-width: 1000px;
}
.ak_in {
	box-sizing: border-box;
	width: 80%;
	min-width: 900px;
	max-width: 1200px;
	margin: 0 auto;
}
/* 黒いピル型ボタン（＋付き）共通 */
.ak_btns {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: center;
	gap: 26px;
}
.ak_btns li {
	box-sizing: border-box;
	width: 20.83%;
	min-width: 210px;
	max-width: 250px;
}
.ak_btns a {
	text-decoration: none;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 55px;
	padding: 0 10px 0 29px;
	border-radius: 28px;
	background: #000;
	color: #fff;
	font-size: clamp(12px, 0.737vw, 16px);
	font-weight: 700;
}
.ak_btns a::after,
.ak_fbtn a::after,
.ak_contactmenu a::after {
	box-sizing: border-box;
	content: "+";
	display: flex;
	justify-content: center;
	align-items: center;
	width: 35px;
	height: 35px;
	border-radius: 50%;
	background: #fff;
	color: #000;
	font-size: 26px;
	font-weight: 400;
	line-height: 1;
	flex-shrink: 0;
}
/* =========================================================
   メイン
   ========================================================= */
.ak_mv {
	margin-top: 38px;
}
.ak_mvbg {
	box-sizing: border-box;
	position: relative;
	width: 94.74%;
	/* 1800 / 1900 */
	margin: 0 auto;
	overflow: hidden;
}
.ak_mvphoto {
	max-width: 100%;
	vertical-align: bottom;
	box-sizing: border-box;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.ak_mvbg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .4);
}
.ak_mvin {
	box-sizing: border-box;
	position: relative;
	z-index: 1;
	padding: 61px 20px 168px;
	color: #fff;
	text-align: center;
}
.ak_mvlabel {
	margin: 0;
	box-sizing: border-box;
	display: inline-block;
	min-width: 370px;
	padding: 0 20px;
	border: 1px solid #fff;
	border-radius: 60px;
	font-size: clamp(18px, 1.053vw, 22px);
	font-weight: 700;
	line-height: 48px;
	letter-spacing: .05em;
}
.ak_mv h2 {
	margin: 13px 0 0;
	/* 1000px時48px → 1900px時55px（1行に収めるため下限のみ広げている） */
	font-size: clamp(48px, calc(40.22px + .778vw), 57px);
	white-space: nowrap;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .05em;
}
.ak_mvtxt {
	max-width: 940px;
	margin: 27px auto 0;
	font-size: clamp(12px, 0.737vw, 16px);
	line-height: 1.8;
	letter-spacing: .1em;
}
.ak_mvillust {
	box-sizing: border-box;
	position: relative;
	z-index: 2;
	left: -17px;
	width: 332px;
	margin: -132px auto 0;
}
.ak_mvillust img {
	max-width: 100%;
	vertical-align: bottom;
	box-sizing: border-box;
	width: 100%;
	aspect-ratio: 332/210;
	object-fit: contain;
	background: none;
}
/* =========================================================
   想い・お悩み
   ========================================================= */
.ak_omoi {
	margin-top: 26px;
}
.ak_omoirow {
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 89.25%;
	margin-left: 5.83%;
}
.ak_omoitxt {
	box-sizing: border-box;
	width: 42%;
	padding-top: 27px;
}
.ak_omoitxt h2 {
	margin: 0;
	font-size: clamp(30px, calc(18.889px + 1.111vw), 40px);
	/* 1行の文字数を保つため比例で縮小（以下LINは同様） */
	white-space: nowrap;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .05em;
}
.ak_omoitxt p {
	margin: 30px 0 0;
	font-size: clamp(13px, 0.789vw, 17px);
	font-weight: 500;
	line-height: 2;
}
.ak_omoiphoto {
	margin: 0;
	box-sizing: border-box;
	width: 54.34%;
}
.ak_omoiphoto img {
	max-width: 100%;
	vertical-align: bottom;
	box-sizing: border-box;
	width: 100%;
	aspect-ratio: 582/444;
	object-fit: cover;
	border-radius: 16px;
}
.ak_nayami {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	width: 86.67%;
	margin: 40px 0 0 3.75%;
}
.ak_nayami ul {
	margin: 0;
	padding: 0;
	list-style: none;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 26px 2.87%;
	width: 70.4%;
}
.ak_nayami li {
	box-sizing: border-box;
	width: 31.42%;
	padding: 27px 0;
	border: 1px solid #000;
	border-radius: 70px;
	/* 高さの半分以上で左右を丸く */
	font-size: clamp(14px, calc(9.556px + 0.444vw), 18px);
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}
.ak_nayami li:nth-child(4) {
	box-sizing: border-box;
	width: 43.99%;
}
.ak_nayami li:nth-child(5) {
	position: relative;
}
/* 考え中の小さな丸 */
.ak_nayami li:nth-child(5)::before,
.ak_nayami li:nth-child(5)::after {
	box-sizing: border-box;
	content: "";
	position: absolute;
	border: 1px solid #000;
	border-radius: 50%;
}
.ak_nayami li:nth-child(5)::before {
	box-sizing: border-box;
	left: calc(100% + 26px);
	top: 25px;
	width: 21px;
	height: 21px;
}
.ak_nayami li:nth-child(5)::after {
	box-sizing: border-box;
	left: calc(100% + 55px);
	top: 13px;
	width: 15px;
	height: 15px;
}
.ak_nayamiillust {
	margin: 0 0 0 3.27%;
	box-sizing: border-box;
	width: 26.35%;
}
.ak_nayamiillust img {
	max-width: 100%;
	vertical-align: bottom;
	box-sizing: border-box;
	width: 100%;
	aspect-ratio: 274/269;
	object-fit: contain;
}
/* =========================================================
   そのままOK
   ========================================================= */
.ak_sonomama {
	box-sizing: border-box;
	padding-top: 48px;
}
.ak_sonomamatit {
	margin: 0;
	font-size: clamp(26px, 1.474vw, 30px);
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
}
.ak_sonomamatit em {
	font-style: normal;
	font-size: clamp(38px, 2.105vw, 42px);
	-webkit-text-emphasis: filled #000;
	text-emphasis: filled #000;
	-webkit-text-emphasis-position: over;
	text-emphasis-position: over;
}
.ak_bukken {
	padding: 0;
	list-style: none;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	width: 95%;
	margin: 15px auto 0;
}
.ak_bukken li {
	box-sizing: border-box;
	width: 31.58%;
}
.ak_bukken p {
	box-sizing: border-box;
	width: 91.67%;
	margin: 0 auto;
	border: 1px solid #000;
	border-radius: 25px;
	font-size: clamp(14px, calc(9.556px + 0.444vw), 18px);
	font-weight: 700;
	line-height: 48px;
	text-align: center;
}
.ak_bukken img {
	max-width: 100%;
	vertical-align: bottom;
	box-sizing: border-box;
	width: 100%;
	margin-top: 23px;
	aspect-ratio: 360/270;
	object-fit: cover;
	border-radius: 16px;
}
.ak_why {
	margin: 53px 0 0;
	position: relative;
	z-index: 0;
	font-size: clamp(26px, 1.474vw, 30px);
	font-weight: 700;
	text-align: center;
}
.ak_why::before {
	box-sizing: border-box;
	content: "";
	position: absolute;
	z-index: -1;
	left: 50%;
	top: -20px;
	transform: translateX(-50%);
	border-top: 90px solid #EAEAEA;
	border-left: 56px solid transparent;
	border-right: 56px solid transparent;
}
.ak_reason {
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 93.67%;
	margin: 71px 0 0 6.17%;
}
.ak_diagram {
	margin: 0;
	box-sizing: border-box;
	width: 46.62%;
}
.ak_diagram img {
	max-width: 100%;
	vertical-align: bottom;
	box-sizing: border-box;
	width: 100%;
	aspect-ratio: 524/464;
	object-fit: contain;
}
.ak_reasontxt {
	box-sizing: border-box;
	width: 48.93%;
	text-align: center;
}
.ak_reasonlead {
	margin: 0;
	box-sizing: border-box;
	padding: 0 1%;
	font-size: clamp(16px, 0.947vw, 20px);
	font-weight: 700;
	line-height: 1.67;
}
.ak_c1 {
	color: #E78465
}
.ak_c2 {
	color: #AEC648
}
.ak_c3 {
	color: #CCB448
}
.ak_c4 {
	color: #A8C6E4
}
.ak_marunage {
	margin: 41px 0 0;
	box-sizing: border-box;
	position: relative;
	display: inline-block;
	padding: 0 54px;
	color: #2D4291;
	font-size: clamp(38px, 2.105vw, 42px);
	font-weight: 900;
	line-height: 1.3;
}
.ak_marunage span {
	display: block;
	font-size: clamp(20px, 1.158vw, 24px);
	font-weight: 700;
}
.ak_marunage::before,
.ak_marunage::after {
	box-sizing: border-box;
	content: "";
	position: absolute;
	bottom: 0;
	width: 3px;
	height: 58px;
	background: #2D4291;
}
.ak_marunage::before {
	left: 8px;
	transform: rotate(-22deg)
}
.ak_marunage::after {
	right: 8px;
	transform: rotate(22deg)
}
.ak_areamini {
	box-sizing: border-box;
	margin-top: 38px;
	padding: 24px 6.36% 25px;
	border: 2px solid #000;
	border-radius: 12px;
}
.ak_areamini h3 {
	margin: 0;
	font-size: clamp(28px, 1.579vw, 32px);
	font-weight: 700;
	line-height: 1.4;
}
.ak_areamini .ak_areapill {
	margin: 16px 0 0;
	box-sizing: border-box;
	display: inline-block;
	padding: 0 1.4em;
	white-space: nowrap;
	border: 2px solid #CCC;
	border-radius: 23px;
	font-size: clamp(18px, 1.053vw, 22px);
	font-weight: 700;
	line-height: 41px;
}
.ak_areamini p:last-child {
	margin: 14px 0 0;
	font-size: clamp(12px, 0.737vw, 16px);
	line-height: 1.65;
}
/* =========================================================
   相談CTA
   ========================================================= */
.ak_inq {
	box-sizing: border-box;
	margin-top: 76px;
	padding-top: 24px;
	background: linear-gradient(rgba(255, 255, 255, .72), rgba(255, 255, 255, .72)), url(../img/inq_bg.jpg) center/cover;
	background-color: #ddd;
}
.ak_service+.ak_inq {
	margin-top: 0
}
.ak_inqrow {
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	width: 94.25%;
	margin-left: 3.75%;
}
.ak_inqmain {
	box-sizing: border-box;
	width: 65.25%;
	padding: 40px 0 42px;
}
.ak_inqhead {
	box-sizing: border-box;
	display: flex;
	align-items: flex-end;
	padding-left: 1.5%;
}
.ak_inqhead div {
	flex: 1;
}
.ak_inqhead h2 {
	margin: 0;
	font-size: clamp(22px, calc(13.111px + 0.889vw), 30px);
	font-weight: 700;
	line-height: 1.5;
}
.ak_inqhead div p {
	margin: 16px 0 0;
	font-size: clamp(13px, 0.789vw, 17px);
	line-height: 1.6;
}
.ak_inqillust {
	margin: 0 0 0 3.9%;
	box-sizing: border-box;
	width: 24.8%;
}
.ak_inqillust img {
	max-width: 100%;
	vertical-align: bottom;
	box-sizing: border-box;
	width: 100%;
	aspect-ratio: 183/146;
	object-fit: contain;
}
.ak_inqbtn {
	margin: 37px 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: space-between;
}
.ak_inqbtn li {
	box-sizing: border-box;
	width: 48.78%;
}
.ak_inqbtn a {
	text-decoration: none;
	box-sizing: border-box;
	display: block;
	border-radius: 8px;
	background: #F6780C;
	box-shadow: 0 4px 0 #C45B00;
	color: #fff;
	font-size: clamp(16px, 0.947vw, 20px);
	font-weight: 700;
	line-height: 70px;
	text-align: center;
	transition: 0.3s;
	&:hover {
		transform: translateY(4px);
		background-color: #C45B00;
		box-shadow: 0 0px 0 #C45B00;
	}
}
.ak_inqbtn li:nth-child(2) a {
	background: #F0BA0C;
	box-shadow: 0 4px 0 #C49300;
	color: #000;
	&:hover {
		transform: translateY(4px);
		background-color: #C49300;
		box-shadow: 0 0px 0 #C49300;
	}
}
.ak_inqtel {
	margin-top: 22px;
	text-align: center;
}
.ak_inqtel a {
	color: inherit;
	text-decoration: none;
	font-family: "Inter", sans-serif;
	font-size: clamp(42px, 2.316vw, 46px);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: .02em;
}
.ak_inqtel i {
	margin-right: 12px;
	font-size: clamp(30px, 1.684vw, 34px);
}
.ak_inqtel p {
	margin: 0;
	font-size: clamp(11px, 0.684vw, 15px);
	line-height: 1.3;
}
.ak_inqline {
	box-sizing: border-box;
	width: 28.47%;
}
.ak_inqlinelabel {
	box-sizing: border-box;
	position: relative;
	z-index: 1;
	width: 74.2%;
	margin: 0 auto -25px;
	border: 2px solid #000;
	border-radius: 25px;
	background: #fff;
	font-size: clamp(15px, 0.895vw, 19px);
	font-weight: 700;
	line-height: 45px;
	text-align: center;
}
.ak_inqlinelabel::after {
	box-sizing: border-box;
	content: "";
	position: absolute;
	left: 62%;
	bottom: -9px;
	width: 14px;
	height: 14px;
	border-right: 2px solid #000;
	border-bottom: 2px solid #000;
	background: #fff;
	transform: rotate(45deg);
}
.ak_phone {
	box-sizing: border-box;
	padding: 8px 8px 0;
	border-radius: 26px 26px 0 0;
	background: #1D1D1D;
}
.ak_phone ul {
	margin: 0;
	list-style: none;
	box-sizing: border-box;
	padding: 29px 7.8% 25px;
	border-radius: 18px 18px 0 0;
	background: #93AAD4;
}
.ak_phone li {
	display: flex;
}
.ak_phone li+li {
	margin-top: 10px
}
.ak_phone li.ak_me {
	justify-content: flex-end
}
.ak_phone li img {
	max-width: 100%;
	vertical-align: bottom;
	box-sizing: border-box;
	width: 50%;
	aspect-ratio: 139/104;
	object-fit: cover;
	border-radius: 8px;
}
.ak_phone li p {
	margin: 0;
	box-sizing: border-box;
	padding: 8px 12px;
	border-radius: 12px;
	background: #fff;
	font-size: clamp(10px, 0.632vw, 14px);
	font-weight: 700;
	line-height: 1.45;
}
.ak_phone li.ak_me p {
	background: #90DE84
}
.ak_phonebtn {
	margin: -34px 0 0;
	box-sizing: border-box;
	position: relative;
	padding: 16px 0 18px;
	background: rgba(40, 40, 40, .75);
	text-align: center;
}
.ak_phonebtn a,
.ak_linebtn a {
	text-decoration: none;
	box-sizing: border-box;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	width: 80%;
	border-radius: 25px;
	background: #06C755;
	color: #fff;
	font-size: clamp(16px, 0.947vw, 20px);
	font-weight: 700;
	line-height: 45px;
	transition: 0.3s;
	&:hover {
		transform: scale(1.1);
	}
}
.ak_phonebtn i,
.ak_linebtn i {
	font-size: clamp(24px, 1.368vw, 28px);
}
/* =========================================================
   相続サポート
   ========================================================= */
.ak_souzoku {
	box-sizing: border-box;
	padding-bottom: 55px;
	background: linear-gradient(#000 240px, transparent 240px);
}
.ak_souzokuhead h2 {
	margin: 0;
	box-sizing: border-box;
	padding-top: 47px;
	color: #fff;
	font-size: clamp(38px, 2.105vw, 42px);
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
}
.ak_souzokuhead h2 img {
	max-width: 100%;
	vertical-align: bottom;
	box-sizing: border-box;
	width: clamp(190px, calc(123.333px + 6.667vw), 250px);
	aspect-ratio: 250/50;
	object-fit: contain;
	vertical-align: -4px;
}
.ak_worry {
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	width: 77%;
	min-width: 900px;
	max-width: 1154px;
	margin: 23px auto 0;
}
.ak_worry p {
	margin: 0;
	box-sizing: border-box;
	width: 11.27%;
}
.ak_worry img {
	max-width: 100%;
	vertical-align: bottom;
	box-sizing: border-box;
	width: 100%;
	aspect-ratio: 130/150;
	object-fit: contain;
}
.ak_worry ul {
	margin: 0;
	padding: 0;
	list-style: none;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	width: 73.66%;
}
.ak_worry li {
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 48.82%;
	aspect-ratio: 415/149;
	border: 3px solid #425A8A;
	border-radius: 20px;
	background: #fff;
	color: #425A8A;
	font-size: clamp(24px, 1.368vw, 28px);
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}
.ak_souzokulead {
	margin: 58px 0 0;
	font-size: clamp(20px, 1.158vw, 24px);
	font-weight: 700;
	line-height: 1.75;
	text-align: center;
}
.ak_plan {
	margin: 40px 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	row-gap: 51px;
}
.ak_plan>li {
	box-sizing: border-box;
	width: 48.08%;
	padding: 27px 2.83% 37px;
	/* %は親（1200px）基準 */
	border: 3px solid #CDCDCD;
	border-radius: 30px;
	background: #fff;
}
.ak_planphoto {
	margin: 0;
}
.ak_planphoto img {
	max-width: 100%;
	vertical-align: bottom;
	box-sizing: border-box;
	width: 100%;
	aspect-ratio: 509/239;
	object-fit: cover;
	border-radius: 20px;
}
.ak_plan h3 {
	margin: 20px 0 0;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	padding: 18.5px 0;
	border-top: 1px solid #425A8A;
	border-bottom: 1px solid #425A8A;
	color: #425A8A;
	font-size: clamp(22px, calc(13.111px + 0.889vw), 30px);
	font-weight: 700;
	line-height: 1.4;
	white-space: nowrap;
}
.ak_plan h3 span {
	box-sizing: border-box;
	flex-shrink: 0;
	width: 33.4%;
	margin: 0 3% 0 2%;
	border-radius: 20px;
	background: #425A8A;
	color: #fff;
	font-size: clamp(14px, 0.842vw, 18px);
	line-height: 40px;
	text-align: center;
}
.ak_plancan {
	box-sizing: border-box;
	display: inline-block;
	margin: 19px 0 0 1.77%;
	padding: 0 1.2em;
	border: 1px solid #AAA;
	border-radius: 19px;
	font-size: clamp(13px, 0.789vw, 17px);
	font-weight: 700;
	line-height: 36px;
}
.ak_plan>li ul {
	margin: 18px 0 0;
	padding: 0 0 0 3%;
	list-style: none;
	box-sizing: border-box;
}
.ak_plan>li ul li {
	display: flex;
	align-items: center;
	color: #425A8A;
	font-size: clamp(16px, 0.947vw, 20px);
	font-weight: 700;
	line-height: 1.5;
}
.ak_plan>li ul li+li {
	margin-top: 13px
}
.ak_plan>li ul li::before {
	content: "\f058";
	margin-right: 13px;
	font-family: "Font Awesome 6 Free";
	font-size: 25px;
	font-weight: 900;
	line-height: 1;
}
.ak_planmid {
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	padding-right: 0;
}
.ak_planillust {
	margin: 0;
	box-sizing: border-box;
	width: 18.66%;
	/* 95 / 509 */
	margin-top: -200px;
	/* 行の高さに影響させない（高さはラベル基準） */
	margin-bottom: -36px;
	/* 下のリスト1行目に少し重ねる */
}
.ak_planillust img {
	max-width: 100%;
	vertical-align: bottom;
	box-sizing: border-box;
	width: 100%;
	aspect-ratio: 95/111;
	object-fit: contain;
}
.ak_plan>li:nth-child(2) .ak_planillust {
	box-sizing: border-box;
	width: 38.5%;
	margin: -200px -2.8% -28px 0
}
.ak_plan>li:nth-child(2) .ak_planillust img {
	aspect-ratio: 196/99
}
.ak_plan>li:nth-child(3) .ak_planillust {
	box-sizing: border-box;
	width: 15.1%;
	margin: -200px 1.2% -54px 0
}
.ak_plan>li:nth-child(3) .ak_planillust img {
	aspect-ratio: 77/159
}
.ak_plan>li:nth-child(4) .ak_planillust {
	box-sizing: border-box;
	width: 19.8%;
	margin-bottom: -20px
}
.ak_plan>li:nth-child(4) .ak_planillust img {
	aspect-ratio: 101/90
}
.ak_free {
	position: relative;
	margin-top: 60px;
	text-align: center;
}
.ak_free h3 {
	margin: 0;
	position: relative;
	display: inline-block;
	color: #D24A4F;
	font-size: clamp(38px, 2.105vw, 42px);
	font-weight: 700;
	line-height: 1.45;
}
.ak_free h3::before,
.ak_free h3::after {
	box-sizing: border-box;
	content: "";
	position: absolute;
	top: 40px;
	width: 3px;
	height: 84px;
	background: #D24A4F;
}
.ak_free h3::before {
	left: -52px;
	transform: rotate(-22deg)
}
.ak_free h3::after {
	right: -52px;
	transform: rotate(22deg)
}
.ak_free h3+p {
	margin: 29px 0 0;
	font-size: clamp(12px, 0.737vw, 16px);
	font-weight: 700;
	line-height: 1.65;
}
.ak_free .ak_btns {
	margin-top: 37px;
}
.ak_freeillust {
	margin: 0;
	box-sizing: border-box;
	position: absolute;
	top: 103px;
	right: 8.08%;
	width: 12.58%;
}
.ak_free .ak_freeillust img {
	max-width: 100%;
	vertical-align: bottom;
	box-sizing: border-box;
	width: 100%;
	aspect-ratio: 151/157;
	object-fit: contain;
}
/* =========================================================
   サービス
   ========================================================= */
.ak_service {
	box-sizing: border-box;
	padding: 83px 0 110px;
	background: #EEEEEE;
}
.ak_marulead {
	margin: 0;
	font-size: clamp(22px, 1.263vw, 26px);
	font-weight: 700;
	line-height: 1.875;
	text-align: center;
}
.ak_marulead em {
	font-style: normal;
	color: #E78465;
}
.ak_maru {
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 91.17%;
	margin: 31px auto 0;
}
.ak_maru .ak_diagram {
	box-sizing: border-box;
	width: 47.9%;
}
.ak_marubox {
	box-sizing: border-box;
	position: relative;
	width: 48.35%;
	padding: 29px 0 30px;
	border-radius: 10px;
	background: #fff;
	text-align: center;
}
.ak_marubox::before {
	box-sizing: border-box;
	content: "";
	position: absolute;
	left: -28px;
	top: 235px;
	border-right: 30px solid #fff;
	border-top: 13px solid transparent;
	border-bottom: 13px solid transparent;
}
.ak_marutit {
	margin: 0;
	color: #CF5050;
	font-size: clamp(36px, calc(20.444px + 1.556vw), 50px);
	font-weight: 900;
	line-height: 1.5;
}
.ak_marutit span {
	display: block;
	font-size: clamp(22px, 1.263vw, 26px);
	font-weight: 700;
}
.ak_maruillust {
	box-sizing: border-box;
	width: 48.96%;
	margin: 13px auto 0;
}
.ak_maruillust img {
	max-width: 100%;
	vertical-align: bottom;
	box-sizing: border-box;
	width: 100%;
	aspect-ratio: 259/130;
	object-fit: contain;
}
.ak_linebtn {
	margin: 21px 0 0;
}
.ak_linebtn a {
	box-sizing: border-box;
	width: auto;
	padding: 0 1.6em;
	white-space: nowrap;
	font-size: clamp(14px, 0.842vw, 18px);
}
.ak_network {
	margin-top: 57px;
	text-align: center;
}
.ak_network h2 {
	margin: 0;
	color: #CF5050;
	font-size: clamp(28px, 1.579vw, 32px);
	font-weight: 700;
	line-height: 1.5;
}
.ak_network>p {
	margin: 12px 0 0;
	font-size: clamp(12px, 0.737vw, 16px);
	line-height: 1.93;
}
.ak_point {
	margin: 51px 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: center;
	gap: 2.25%;
}
.ak_point li {
	box-sizing: border-box;
	width: 23.58%;
	min-height: 196px;
	padding-bottom: 20px;
	border: 1px solid #E6C8C0;
	border-radius: 4px;
	background: #fff;
	color: #E56F2E;
}
.ak_point .ak_pointlabel {
	box-sizing: border-box;
	width: 37.5%;
	margin: -1px auto 0;
	border-radius: 0 0 4px 4px;
	background: #E05A26;
	color: #fff;
	font-family: "Inter", sans-serif;
	font-size: clamp(11px, 0.684vw, 15px);
	line-height: 30px;
}
.ak_ptit {
	margin: 0;
	font-size: clamp(16px, 0.947vw, 20px);
	font-weight: 700;
	line-height: 1.4;
}
.ak_pnum {
	margin: 0;
	display: flex;
	justify-content: center;
	align-items: baseline;
	gap: 4px;
	white-space: nowrap;
	font-weight: 700;
}
.ak_pnum strong {
	font-family: "Inter", sans-serif;
	font-size: clamp(42px, calc(24.222px + 1.778vw), 58px);
	font-weight: 800;
	line-height: 1.15;
}
.ak_pnum small {
	font-size: clamp(15px, calc(9.444px + 0.556vw), 20px);
}
.ak_pnote {
	margin: 8px 0 0;
	color: #999;
	font-size: clamp(10px, 0.579vw, 13px);
}
.ak_point li:nth-child(1) .ak_ptit {
	margin-top: 20px
}
.ak_point li:nth-child(2) .ak_pnum {
	margin-top: 30px
}
.ak_point li:nth-child(2) .ak_ptit {
	margin-top: 4px
}
.ak_point li:nth-child(3) .ak_pnum {
	margin-top: 26px
}
.ak_point li:nth-child(3) .ak_pnum strong {
	font-size: clamp(48px, calc(28px + 2vw), 66px)
}
/* サービス紹介 */
.ak_servicehead {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 92px;
}
.ak_servicehead h2 {
	margin: 0;
	display: flex;
	align-items: center;
	white-space: nowrap;
	color: #CF5050;
	font-size: clamp(28px, 1.579vw, 32px);
	font-weight: 700;
}
.ak_servicehead h2 span {
	margin-right: 34px;
	font-family: "Russo One", sans-serif;
	font-size: clamp(48px, calc(28px + 2vw), 66px);
	font-weight: 400;
	line-height: 1;
}
.ak_servicehead ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	gap: 10px;
}
.ak_servicehead a {
	text-decoration: none;
	box-sizing: border-box;
	display: block;
	padding: 0 1.2em;
	border: 1px solid #CF5050;
	border-radius: 20px;
	background: #fff;
	color: #CF5050;
	font-size: clamp(12px, 0.737vw, 16px);
	font-weight: 700;
	line-height: 38px;
	white-space: nowrap;
}
.ak_svbox {
	box-sizing: border-box;
	margin-top: 42px;
	padding: 40px 3.42% 46px 3.33%;
	border: 1px solid #333;
	border-radius: 20px;
	background: #fff;
}
.ak_svbox+.ak_svbox {
	margin-top: 20px
}
#ak_service1 {
	box-sizing: border-box;
	padding-bottom: 52px
}
.ak_svrow {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.ak_svtxt {
	box-sizing: border-box;
	width: 59%;
}
.ak_svtxt h3 {
	margin: 0;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	gap: 2.3%;
	height: 60px;
	padding: 0 1.97%;
	border-radius: 30px;
	background: #000;
	color: #fff;
	font-size: clamp(19px, calc(11.222px + 0.778vw), 26px);
	font-weight: 700;
	white-space: nowrap;
}
.ak_svtxt h3 span {
	box-sizing: border-box;
	flex-shrink: 0;
	width: 13.64%;
	border-radius: 19px;
	background: #fff;
	color: #000;
	font-family: "Russo One", sans-serif;
	font-size: clamp(12px, 0.737vw, 16px);
	font-weight: 400;
	line-height: 38px;
	text-align: center;
	text-transform: uppercase;
}
.ak_svtxt p {
	margin: 30px 0 0;
	box-sizing: border-box;
	padding: 0 2.5% 0 1.5%;
	font-size: clamp(12px, 0.737vw, 16px);
	line-height: 1.65;
}
.ak_svphoto {
	box-sizing: border-box;
	position: relative;
	width: 36.64%;
}
.ak_svphoto img {
	max-width: 100%;
	vertical-align: bottom;
	box-sizing: border-box;
	width: 100%;
	aspect-ratio: 410/280;
	object-fit: cover;
	border-radius: 10px;
}
.ak_svstat {
	box-sizing: border-box;
	width: 99.1%;
	margin: 21px 0 0 .9%;
	padding: 29px 0 28px;
	border-radius: 15px;
	background: #DE6C78;
	text-align: center;
}
.ak_svstat h4 {
	margin: 0;
	color: #fff;
	font-size: clamp(22px, 1.263vw, 26px);
	font-weight: 700;
	line-height: 1.25;
}
.ak_svstat ul {
	margin: 25px 0 0;
	padding: 0;
	list-style: none;
	display: flex;
}
.ak_svstat li {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex: 1;
}
.ak_svstat li+li {
	box-sizing: border-box;
	border-left: 1px dashed rgba(255, 255, 255, .8);
}
.ak_statlabel {
	margin: 0;
	box-sizing: border-box;
	display: block;
	width: 48.6%;
	border-radius: 18px;
	background: #fff;
	color: #DE6C78;
	font-size: clamp(16px, 0.947vw, 20px);
	font-weight: 700;
	line-height: 35px;
}
.ak_statnum {
	margin: 2px 0 0;
	box-sizing: border-box;
	display: inline-flex;
	align-items: flex-end;
	padding: 0 7px;
	background: linear-gradient(to top, #C8505E 23px, transparent 23px);
	color: #FFF08A;
	font-family: "Inter", sans-serif;
	font-weight: 800;
}
.ak_statnum strong {
	font-size: clamp(78px, 4.211vw, 82px);
	line-height: 1;
}
.ak_statnum small {
	margin: 0 0 6px 4px;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(26px, 1.474vw, 30px);
	font-weight: 700;
	line-height: 1.05;
	text-align: left;
}
.ak_svstat li:nth-child(2) small {
	font-size: clamp(18px, 1.053vw, 22px)
}
.ak_statnote {
	margin: 6px 0 0;
	color: #fff;
	font-size: clamp(10px, 0.579vw, 13px);
}
.ak_ba {
	margin: 0;
	padding: 0;
	list-style: none;
	box-sizing: border-box;
	width: 35.66%;
}
.ak_ba li {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.ak_ba li+li {
	margin-top: 11px
}
.ak_ba figure {
	position: relative;
}
.ak_before {
	margin: 0;
	box-sizing: border-box;
	width: 41.6%;
}
.ak_after {
	margin: 0;
	box-sizing: border-box;
	width: 49.37%;
}
.ak_ba img {
	max-width: 100%;
	vertical-align: bottom;
	box-sizing: border-box;
	width: 100%;
	aspect-ratio: 166/125;
	object-fit: cover;
	border-radius: 8px;
}
.ak_after img {
	aspect-ratio: 197/149
}
.ak_before::after {
	box-sizing: border-box;
	content: "";
	position: absolute;
	left: calc(100% + 11px);
	top: 50%;
	transform: translateY(-50%);
	border-left: 14px solid #000;
	border-top: 9px solid transparent;
	border-bottom: 9px solid transparent;
}
.ak_ba figcaption {
	position: absolute;
	bottom: 4px;
	color: #fff;
	font-family: "Russo One", sans-serif;
	font-size: clamp(12px, 0.737vw, 16px);
}
.ak_before figcaption {
	left: 9px
}
.ak_after figcaption {
	right: 11px
}
/* 空き家管理 */
.ak_future {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	margin-top: 10px;
}
.ak_future h3 {
	margin: 0 0 0 10.75%;
	box-sizing: border-box;
	padding-bottom: 27px;
	font-size: clamp(26px, 1.474vw, 30px);
	font-weight: 700;
	line-height: 1.3;
}
.ak_future p {
	box-sizing: border-box;
	width: 8.33%;
	margin: 0 0 -8px 2.4%;
}
.ak_future img {
	max-width: 100%;
	vertical-align: bottom;
	box-sizing: border-box;
	width: 100%;
	aspect-ratio: 100/112;
	object-fit: contain;
}
.ak_kanri {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	padding: 30px 5.17% 30px 2.5%;
	border: 1px solid #333;
	border-radius: 20px;
	background: #fff;
}
.ak_kanriphoto {
	margin: 0;
	box-sizing: border-box;
	width: 25.27%;
}
.ak_kanriphoto img {
	max-width: 100%;
	vertical-align: bottom;
	box-sizing: border-box;
	width: 100%;
	aspect-ratio: 280/220;
	object-fit: cover;
	border-radius: 10px;
}
.ak_kanritxt {
	flex: 1;
	margin-left: 2.71%;
}
.ak_kanritxt h3 {
	margin: 0;
	box-sizing: border-box;
	padding-bottom: 10px;
	border-bottom: 1px solid #E89A9A;
	color: #CF5050;
	font-size: clamp(22px, 1.263vw, 26px);
	font-weight: 700;
	line-height: 1.4;
}
.ak_kanritxt p {
	margin: 17px 0 0;
	box-sizing: border-box;
	padding-right: 3%;
	font-size: clamp(13px, 0.789vw, 17px);
	line-height: 1.73;
}
.ak_kanritxt dl {
	margin: 26px 0 0;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	width: 95.2%;
	padding: 9px;
	border: 1px solid #333;
	border-radius: 10px;
}
.ak_kanritxt dt {
	box-sizing: border-box;
	flex-shrink: 0;
	width: 26.3%;
	border-radius: 6px;
	background: #CC5454;
	color: #fff;
	font-size: clamp(16px, 0.947vw, 20px);
	font-weight: 700;
	line-height: 50px;
	text-align: center;
}
.ak_kanritxt dd {
	margin: 0 0 0 2.4%;
	color: #CC5454;
	font-size: clamp(16px, 0.947vw, 20px);
	font-weight: 700;
}
/* =========================================================
   よくある質問
   ========================================================= */
.ak_faq {
	box-sizing: border-box;
	padding-top: 52px;
}
.ak_faq h2 {
	margin: 0;
	font-size: clamp(32px, 1.789vw, 36px);
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
}
.ak_accordion {
	margin-top: 30px;
}
.ak_accordion dl {
	margin: 0;
}
.ak_qa {
	box-sizing: border-box;
	border: 1px solid #333;
	border-radius: 8px;
	background: #fff;
}
.ak_qa+.ak_qa {
	margin-top: 20px
}
.ak_accordion dt {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	min-height: 68px;
	padding: 0 2.5%;
	cursor: pointer;
}
.ak_acctitle {
	flex: 1;
}
.ak_acctitle p {
	margin: 0;
	display: flex;
	align-items: center;
	font-size: clamp(16px, 0.947vw, 20px);
	font-weight: 700;
	line-height: 1.4;
}
.ak_acctitle p::before {
	content: "Q";
	margin-right: 20px;
	font-family: "Inter", sans-serif;
	font-size: clamp(28px, 1.579vw, 32px);
	font-weight: 800;
}
/* 開閉アイコン（＋／－） */
.ak_accicon {
	margin: 0 0 0 20px;
	box-sizing: border-box;
	position: relative;
	width: 18px;
	height: 18px;
	flex-shrink: 0;
}
.ak_accicon span {
	box-sizing: border-box;
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	height: 2px;
	margin-top: -1px;
	background: #000;
	transition: transform .3s;
}
.ak_accicon span:nth-child(2) {
	transform: rotate(90deg)
}
.ak_accicon.active span:nth-child(2) {
	transform: rotate(0)
}
.ak_accordion dd {
	margin: 0;
}
.ak_a {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	margin: 5px 1.83% 0;
	padding: 21px 1.5% 34px 1.33%;
	border-top: 1px dashed #BBB;
}
.ak_aillust {
	margin: 0;
	box-sizing: border-box;
	width: 7.5%;
}
.ak_aillust img {
	max-width: 100%;
	vertical-align: bottom;
	box-sizing: border-box;
	width: 100%;
	aspect-ratio: 85/88;
	object-fit: contain;
}
.ak_a p:last-child {
	margin: 0 0 0 2.6%;
	box-sizing: border-box;
	position: relative;
	flex: 1;
	padding: 19px 3%;
	border-radius: 15px;
	background: #F4F4F4;
	font-size: 15px;
	line-height: 1.65;
}
.ak_a p:last-child::before {
	box-sizing: border-box;
	content: "";
	position: absolute;
	left: -13px;
	top: 50%;
	transform: translateY(-50%);
	border-right: 14px solid #F4F4F4;
	border-top: 9px solid transparent;
	border-bottom: 9px solid transparent;
}
/* =========================================================
   対応地域
   ========================================================= */
.ak_area {
	box-sizing: border-box;
	width: 53.33%;
	min-width: 750px;
	max-width: 1000px;
	margin: 60px auto 100px;
	padding: 40px 5% 40px;
	border: 10px solid #E9E9E9;
	text-align: center;
}
.ak_area h2 {
	margin: 0;
	font-size: clamp(32px, 1.789vw, 36px);
	font-weight: 700;
	line-height: 1.2;
}
.ak_area .ak_areapill {
	margin: 30px 0 0;
	box-sizing: border-box;
	display: inline-block;
	width: 350px;
	border: 4px solid #E9E9E9;
	border-radius: 30px;
	font-size: clamp(22px, 1.263vw, 26px);
	font-weight: 700;
	line-height: 52px;
}
.ak_arealist {
	margin: 26px 0 0;
	font-size: clamp(15px, 0.895vw, 19px);
	line-height: 1.76;
}
.ak_area .ak_btns {
	margin-top: 35px;
}
.ak_area .ak_btns li {
	box-sizing: border-box;
	width: 31.25%;
}