@charset "utf-8";

/* JS連動 home_intaractions_2025.js */
.comparison_result {
	display: none;
}

:root {
	/*　フォントサイズバリエーション: スマートフォン画面 */
	--sp_font_xxxl: 5.5vw;
	--sp_font_xxl: 4.5vw;
	--sp_font_xl: 4.2vw;
	--sp_font_l: 3.9vw;
	--sp_font_ml: 3.7vw;
	--sp_font_m: 3.5vw;
	--sp_font_s: 3.2vw;
	/*　フォントサイズバリエーション: PC画面 */
	--pc_font_xxxl: 3rem;
	--pc_font_xxl: 2.2rem;
	--pc_font_xl: 2rem;
	--pc_font_l: 1.8rem;
	--pc_font_ml: 1.7rem;
	--pc_font_m: 1.6rem;
	--pc_font_s: 1.4rem;
}

.bnr_container img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

#hero2025jun.wider {
	background: #F4F9E8;
	margin: 0 0 10px 0;
}


/* SP */
@media only screen and (max-width: 768px) {

	#hero2025jun .hero_container {
		padding: 8vw 0;
		text-align: center;
	}
	
	#hero2025jun h1 {
		display: inline-block;
		line-height: 2;
		font-size: 4.5vw;
		color: #001067;
	}

	#hero2025jun .ico img {
		display: inline-block;
		width: 9vw;
		height: auto;
		margin: 0 1em -.5em -13.5vw;
	}
	
	#hero2025jun .lead {
		padding: 15px 10vw 0 10vw;
		font-size: var(--sp_font_s);
	}

	.columnNavi__list {
		display: flex !important;
		width: 100% !important;
	}
	
	#hero2025jun .pc,
	.columnNavi__list .pc {
		display: none !important;
	}
	
	.columnNavi__list li {
		width: auto !important;
		flex: 1 !important;
		
	}
	
	.columnNaviLand .columnNavi__list li:first-child {
			width: auto !important;
			background-color: #EFF2FD !important;
			background-image: none !important;
			background-position: 10px center !important;
			background-repeat: no-repeat !important;
			background-size: 28px 28px !important;
	}

	.columnNaviLand .columnNavi__list li:first-child a {
		padding: 12px 15px !important;
		text-align: center !important;
		color: #001067 !important;
	}
	
	.columnNavi__list li:first-child::after {
			content: none !important;
	}
	
	.columnNaviLand .columnNavi__list li:nth-child(2) {
		width: auto !important;
		background-image: none !important;
		display: block !important;
		width: 25% !important;
	}
	
	.columnNaviLand .columnNavi__list li:nth-child(2) a {
		padding: 12px 15px !important;
		text-align: center !important;
	}
	
	.columnNaviLand .columnNavi__list li:last-child {
		min-width: 50% !important;
	}

	.compact_area,
	.home_main_container {
		padding: 0 10px !important;
	}

	#TwoStepSelector .pc,
	.bnr_container .pc,
	.primary_header .pc,
	.the_page_index .pc {
		display: none;
	}

	.the_page_index {
		list-style: none;
		display: flex;
		justify-content: space-between;
		column-gap: 4vw;
		width: 100%;
		margin: 20px auto 0 auto;
		padding: 0 16px;
		font-size: 1.8rem;
		font-weight: bold;
	}

	.the_page_index li {
		flex: 1;
		min-width: 20%;
	}

	.the_page_index a {
		position: relative;
		display: flex;
		flex-direction: column;
		white-space: nowrap;
		justify-content: center;
		align-items: center;
	}

	.the_page_index a::after {
		content: "";
		width: 100%;
		height: 5px;
		background: #8FC31F;
		box-shadow: 0px 4px 2px 1px rgba(0, 0, 0, 0.2);
		transition: bottom .1s ease-out;
	}

	.the_page_index a::before {
		content: "";
		width: 12vw;
		height: 12vw;
	}

	.the_page_index a#hero_best_use::before {
		background: url("../img/hero_ico_loupe.png") center center / 12vw auto no-repeat;
	}
	.the_page_index a#hero_comparison_table::before {
		background: url("../img/hero_ico_table.png") center center / 12vw auto no-repeat;
	}
	.the_page_index a#hero_guidance::before {
		background: url("../img/hero_ico_book.png") center center / 12vw auto no-repeat;
	}

	#TwoStepSelector {
		max-width: 960px;
		margin: 0 auto;
	}

	#TwoStepSelector a {
		color: #4A90E2;
		text-decoration: underline;
	}

	#TwoStepSelector .nav_back {
		margin: 1.5em 0 3em 0;
		text-align: right;
		font-size: var(--sp_font_m);
		font-weight: normal;
		text-decoration: underline;
	}

	.home_main_container .primary_header h2 {
		display: flex;
		flex-direction: column;
		align-items: center;
		margin: 1em auto;
		font-size: var(--sp_font_xxl);
	}

	.home_main_container .primary_header h2::after {
		content: "";
		display: block;
		height: 5px;
		width: 100px;
		margin-top: 10px;
		background: #8FC31F;
	}

	.home_main_container .primary_header h2 span {
		display: block;
		position: relative;
		text-align: center;
	}

	.home_main_container #TwoStepSelector .primary_header h2 span::before {
		content: "";
		display: block;
		width: 12vw;
		height: 12vw;
		margin: 0 auto;
		background: url("../img/hero_ico_table.png") center center / 12vw auto no-repeat;
	}

	.home_main_container #Over30Solutions {
		padding-top: 10px;
	}

	.home_main_container #Over30Solutions .primary_header h2 span::before {
		content: "";
		display: block;
		width: 12vw;
		height: 12vw;
		margin: 0 auto;
		background: url("../img/hero_ico_book.png") center center / 12vw auto no-repeat;
	}

	.home_main_container #Over30Solutions a {

	.home_main_container #Over30Solutions a {
		color: #4A90E2;
		text-decoration: underline;
	}
		color: #4A90E2;
		text-decoration: underline;
	}
	
	.home_main_container .primary_header p {
		font-feature-settings: "palt";
		letter-spacing: normal;
		margin: 1.75em 0;
		line-height: 1.75;
		font-size: var(--sp_font_m);
	}

	#TwoStepSelector .good {
		color: #FF6838;
	}	#id16267_group1 {
		display: flex;
		margin-bottom: 30px; /* 30px から変更 */
	}

	#id16267_group1 button {
		flex: 1;
		padding: 3vw 0;
		border: 5px solid #DCDDDD;
		background: #fff;
		color: #001067;
		font-size: var(--sp_font_ml);
		line-height: 1.5;
		cursor: pointer;
		filter: drop-shadow(0px 4px 1px rgba(0, 0, 0, 0.3));
	}

	#id16267_group1 button:hover {
		background: #f7f7f7;
	}

	#id16267_group1 button.current { /* JS連携class */
		position: relative;
		background: #001067;
		color: #fff;
	}

	#id16267_group1 button.current::before {
		content: "";
		position: absolute;
		z-index: 3;
		bottom: -17px;
		left: 50%;
		transform: translateX(-50%);
		width: 26px;
		height: 18px;
		clip-path: polygon(0 0, 100% 0%, 50% 100%);
		background: #001067;
	}

	#id16267_group1 button.current::after {
		content: "";
		position: absolute;
		z-index: 2;
		bottom: -25px;
		left: 50%;
		transform: translateX(-50%);
		width: 38px;
		height: 24px;
		clip-path: polygon(0 0, 100% 0%, 50% 100%);
		background: #DCDDDD;
	}

	#id16267_group2 {
		display: flex;
		column-gap: 10px;
	}

	#id16267_group2 button {
		flex: 1;
		padding: 3vw 2vw;
		border: 5px solid #DCDDDD;
		border-radius: 20px;
		background: #fff;
		color: #8FC31F;
		font-size: var(--sp_font_ml);
		line-height: 1.5;
		cursor: pointer;
		filter: drop-shadow(0px 4px 1px rgba(0, 0, 0, 0.3));
	}

	#id16267_group2 button.current { /* JS連携class */
		background: #8FC31F;
		color: #fff;
	}

	#TwoStepSelector .comparison_result {
		position: relative;
	}

	#TwoStepSelector .comparison_result p {
		margin: 1em 0;
		font-size: var(--sp_font_s);
	}
	
	input.hide_scroll_hint {
		position: absolute;
	}

	@keyframes fadeout_scroll_hint {
		0% {
			left: 50%;
			opacity: 1;
		}
		99% {
			left: 50%;
			opacity: 0;
		}
		100% {
			lef: -100lvh;
		}
	}

	#TwoStepSelector .comparison_result label.scroll_hint {
		position: absolute;
		display: flex;
		align-items: center;
		column-gap: 10px;
		border-radius: 30px;
		padding: 2.5em;
		z-index: 10;
		width: 60lvw;
		left: 50%;
		transform: translateX(-50%);
		margin-top: 30lvh;
		background: rgba(0, 0, 0, 0.5);
		color: #fff;
	}

	#TwoStepSelector .comparison_result label.scroll_hint::before {
		content: "";
		display: block;
		width: 70px;
		height: 70px;
		background: url("../img/scroll-svgrepo-com.png") center center / 100% auto no-repeat;
		opacity: 0.75;
	}

	#TwoStepSelector .comparison_result input.hide_scroll_hint:checked + label.scroll_hint {
		animation: fadeout_scroll_hint 0.5s ease-in-out 0s 1 normal forwards;
		left: -100lvh;

	}

	#TwoStepSelector .comparison_result h3 {
		position: relative;
		font-size: var(--sp_font_xl);
		margin: 1em 0 1em 0;
		padding: 20px 10px 20px 120px;
		background: #ECF3E1;
	}

	#TwoStepSelector .comparison_result h3::before {
		content: "";
		display: block;
		position: absolute;
		z-index: 2;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		width: 100px;
		height: 100px;
	}

	#TwoStepSelector #id16267_result_a1 h3::before {
		background: url("../img/comparison_ico_a1.png") center center / 100% auto no-repeat;
	}

	#TwoStepSelector #id16267_result_a2 h3::before {
		background: url("../img/comparison_ico_a2.png") center center / 100% auto no-repeat;
	}

	#TwoStepSelector #id16267_result_a3 h3::before {
		background: url("../img/comparison_ico_a3.png") center center / 100% auto no-repeat;
	}

	#TwoStepSelector #id16267_result_b1 h3::before {
		background: url("../img/comparison_ico_b1.png") center center / 100% auto no-repeat;
	}

	#TwoStepSelector #id16267_result_b2 h3::before {
		background: url("../img/comparison_ico_b2.png") center center / 100% auto no-repeat;
	}

	#TwoStepSelector #id16267_result_b3 h3::before {
		background: url("../img/comparison_ico_b3.png") center center / 100% auto no-repeat;
	}

	#TwoStepSelector #id16267_result_c1 h3::before {
		background: url("../img/comparison_ico_c1.png") center center / 100% auto no-repeat;
	}

	#TwoStepSelector #id16267_result_c2 h3::before {
		background: url("../img/comparison_ico_c2.png") center center / 100% auto no-repeat;
	}

	#TwoStepSelector #id16267_result_c3 h3::before {
		background: url("../img/comparison_ico_c3.png") center center / 100% auto no-repeat;
	}

	#TwoStepSelector .comparison_result .annotation {
		list-style: none;
		margin-bottom: 1em;
		text-align: center;
	}

	#TwoStepSelector .comparison_result .annotation > * {
		display: inline-block;
		margin-bottom: 1rem;
		white-space: nowrap;
	}

	#TwoStepSelector .comparison_result .annotation > *::before {
		display: inline-block;
		vertical-align: middle;
		width: 15px;
		height: 15px;
		margin-right: 5px;
	}

	#TwoStepSelector .comparison_result .annotation > *:first-child::before {
		content: "";
		background: #FF6838;
	}

	#TwoStepSelector .comparison_result .annotation > *:nth-child(2):before {
		content: "";
		background: #F9E85A;
	}

	#TwoStepSelector .comparison_result .annotation > *:nth-child(3):before {
		content: "";
		background: #8FC31F;
	}

	#TwoStepSelector .table_wrapper {
		position: relative;
		/* 縦横のスクロールを有効にする */
		overflow: auto; 
		width: 100%;
		/* 縦スクロールの効果を確認するため高さを制限 */
		max-height: 65lvh;
		border: 1px solid #DCDDDD;
	}

	#TwoStepSelector .comparison_result table {
		border-collapse: separate; /* stickyを正しく動作させるために必要 */
		border-spacing: 0;
		border: 1px solid #DCDDDD;
		width: 100%;
		min-width: 120vw; /* テーブルの最小幅。これより画面が狭いとスクロールが有効になる */
		font-size: var(--sp_font_l);
	}

	#TwoStepSelector .comparison_result thead th {
		/* 縦スクロール時に上部に固定 */
		position: -webkit-sticky;
		position: sticky;
		top: 0;
		z-index: 2; /* 固定列より手前に表示 */
		text-align: center;
		background: #001067;
		color: #fff;
	}

	#TwoStepSelector .comparison_result tbody th:first-child {
		/* 横スクロール時に左端に固定 */
		position: -webkit-sticky;
		position: sticky;
		left: 0;
		z-index: 1; /* ヘッダーより奥に表示 */
	}

	/* 左上の角になるセル (theadの1番目のth) */
	#TwoStepSelector .comparison_result thead th:first-child {
		/* 縦横両方で固定 */
		left: 0;
		z-index: 3; /* 最も手前に表示 */
		border-right: 1px solid #ddd;
	}

	#TwoStepSelector .comparison_result table th,
	#TwoStepSelector .comparison_result table td {
		white-space: nowrap;
		padding: 0.5em;
		border-top: 1px solid #DCDDDD;
		border-right: 1px solid #DCDDDD;
	}

	#TwoStepSelector .table_caption {
		font-size: var(--sp_font_s);
		margin-top: 1em;
	}

	#TwoStepSelector .comparison_result .type_residence th {
		border-left: 8px solid #FF6838;
	}

	#TwoStepSelector .comparison_result .type_service th  {
		border-left: 8px solid #F9E85A;
	}

	#TwoStepSelector .comparison_result .type_investment th  {
		border-left: 8px solid #8FC31F;
	}

	#TwoStepSelector .comparison_result thead th:first-child {
		width: 30vw;
	}

	#TwoStepSelector .comparison_result thead th:nth-child(2) {
		width: 30vw;
	}

	#TwoStepSelector .comparison_result thead th:nth-child(3) {
		width: 30vw;
	}

	#TwoStepSelector .comparison_result thead th:nth-child(4) {
		width: 30vw;
	}

	#TwoStepSelector .comparison_result thead th span {
		display: block;
	}

	#TwoStepSelector .comparison_result tbody th {
		background: #fff;
	}
	
	#TwoStepSelector .comparison_result tbody td {
		text-align: center;
		background: #fff;
	}

	#TwoStepSelector .comparison_result tbody tr:nth-child(odd) th,
	#TwoStepSelector .comparison_result tbody tr:nth-child(odd) td {
		background: #EFF2FD;
	}

	#TwoStepSelector .comparison_result a.view_detail {
		display: block;
		margin: .3em 0 -0.5em 0;
		text-align: right;
		font-size: var(--sp_font_s);
		font-weight: normal;
		text-decoration: underline;
	}

	#TwoStepSelector .recommendation {
		padding: 0;
	}
	
	#TwoStepSelector .recommendation h4 {
		display: flex;
		column-gap: 1rem;
		margin: 1.75em 0 1em 0;
		font-size: var(--sp_font_l);
	}

	#TwoStepSelector .recommendation h4.lamp::before {
		content: "";
		width: 12vw;
		height: 12vw;
		background: url("../img/comparison_ico_lamp.png") center center / 12vw auto no-repeat;
	}

	#TwoStepSelector .recommendation .chat {
		display: flex;
		row-gap: 5lvw;
		flex-direction: column;
		align-items: flex-end;
	}

	#TwoStepSelector .recommendation .chat p {
		font-size: var(--sp_font_m);
	}

	#TwoStepSelector .recommendation .chat::after {
		max-width: 15lvw;
		content: "";
		margin-right: 5lvw;
		width: 120px;
		height: 80px;
		background: url("../img/ieul_face_to_left.png") center center / 100% auto no-repeat;
	}

	#TwoStepSelector .recommendation .chat .balloon {
		position: relative;
		padding: 2vw 5vw;
		background: #EFF2FD;
		border: solid 5px #DCDDDD;
		border-radius: 30px;
		font-size: var(--sp_font_s);
		line-height: 1.75;
	}

	#TwoStepSelector .recommendation .balloon::before {
		content: "";
		position: absolute;
		top: 100%;
		right: 10lvw;
		width: 0;
		height: 0;
		background-color: #DCDDDD;
		width: 20px;
		height: 20px;
		clip-path: polygon(71% 0, 0 0, 100% 100%);
	}

	#TwoStepSelector .recommendation .chat + .needs {
		margin-top: -3em;
	}

	#TwoStepSelector .recommendation .chat + .needs .unit:first-child h5 {
		padding-right: 25lvw;
	}

	#TwoStepSelector .recommendation .unit {
		padding: 10px 0;
		border-top: 1px solid #001067;
	}

	#TwoStepSelector .recommendation .unit:first-child {
		padding-top: 0;
		border-top: none;
	}

	#TwoStepSelector .recommendation h5 {
		display: flex;
		align-items: center;
		column-gap: 10px;
		font-size: var(--sp_font_l);
		margin-bottom: .25em;
	}

	#TwoStepSelector .recommendation h5::before {
		content: "";
		height: 1.6rem;
		min-width: 1.6rem;
		width: 1.6rem;
		background: url("../img/bullet_rect_a.png") center center /
		 1.6rem auto no-repeat;

	}

	#TwoStepSelector .recommendation .needs p {
		margin: .5em 0 .5em 7px;
		padding: .5em 0 .5em 20px;
		font-size: var(--sp_font_ml);
		line-height: 2;
		border-left: 3px solid #001067;
	}

	.related_contents ul {
		list-style: none;
		padding: 15px;
		background: #E3D8AB;
	}

	.related_contents li {
		font-size: var(--sp_font_ml);
		padding: 15px 15px 15px 40px;
		background: #fff url("../img/bullet_circle_delta.png") 10px center / 2rem 2rem no-repeat;
	}
	
	.outline_solutions {
		margin-bottom: 50px;
	}

	.outline_solutions h3 {
		display: flex;
		flex-direction: row;
		align-items: center;
		column-gap: .5rem;
		margin: 0em auto 1em auto;
		font-size: var(--sp_font_xxl);
	}

	.outline_solutions h3:before {
		content: "";
		width: 2rem;
		height: 2rem;
		background: url("../img/h3_circle.svg") center center / 2rem 2rem no-repeat;
	}

	.outline_solutions h4 {
		font-size: var(--sp_font_xl);
		margin-bottom: .5em;
	}

	.outline_solutions .grid_unit > div {
		line-height: 1.5;
		font-size: var(--sp_font_m);
	}

	.outline_solutions .grid_unit div span {
		white-space: nowrap;
	}

	.outline_solutions > .unit {
		margin: 2em 0;
		padding-left: 1.5em;
	}

	.outline_solutions .type_residence {
		border-left: 8px solid #FF6838;
	}

	.outline_solutions .type_service {
		border-left: 8px solid #F9E85A;
	}

	.outline_solutions .type_investment {
		border-left: 8px solid #8FC31F;
	}

	section.solution {
		position: relative;
		z-index: 2;
		margin-top: 50px;
		border: 5px solid #001067;
	}

	section.solution .nav_back {
		margin: 1.5em 0 3em 0;
		text-align: right;
		font-size: var(--sp_font_m);
		font-weight: normal;
		text-decoration: underline;
	}

	section.solution a {
		color: #4A90E2;
		text-decoration: underline;
	}

	.solution .sec_header {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
	}

	.solution .sec_header .unit_a {
		grid-column: 1 / 4;
		grid-row: 1 / 2;
	}

	.solution .sec_header .unit_b {
		grid-column: 1 / 5;
		grid-row: 2 / 3;
		padding: 10px 15px;
	}

	.solution .sec_header .unit_c {
		grid-column: 4 / 5;
		grid-row: 1 / 2;
	}

	.solution .sec_header h3 {
		font-size: var(--sp_font_xxxl);
		line-height: 1.25;
		color: #001067;
		border-right: 2px solid #001067;
		border-bottom: 2px solid #001067;
	}

	.solution .sec_header h3 span {
		position: relative;
		z-index: 3;
		display: flex;
        align-items: center;
        justify-content: center;
		box-sizing: border-box;
		text-align: center;
		margin-right: 15px;
		padding: 10px 20px;
		height: 20vw;
	}

	.solution.type_residence .sec_header h3 span {
		border-left: 15px solid #FF6838;
	}

	.solution.type_service .sec_header h3 span {
		border-left: 15px solid #F9E85A;
	}

	.solution.type_investment .sec_header h3 span {
		border-left: 15px solid #8FC31F;
	}

	.solution .sec_header span:after {
		content: "";
		display: block;
		position: absolute;
		z-index: -1;
		left: 0;
		top: 50%;
		width: 80%;
		margin: 0 0 0 10%;
		height: 20px;
		opacity: 0.3;
		flex-basis: 15px;
	}

	.solution.type_residence .sec_header h3 span:after {
		background: #FF6838;
	}

	.solution.type_service .sec_header h3 span:after {
		background: #F9E85A;
		opacity: 0.5;
	}

	.solution.type_investment .sec_header h3 span:after {
		background: #8FC31F;
	}

	.solution .sec_header h4 {
		font-size: var(--sp_font_xl);
		color: #FF6838;
	}

	.solution .sec_header p {
		font-weight: bold;
		font-size: var(--sp_font_m);
		color: #FF6838;
	}

	.solution .sec_header .eyecatch {
		display: flex;
		max-width: 24lvw;
		height: 20vw;
        align-items: center;
        justify-content: center;
		overflow: hidden;
	}

	.solution .sec_header .eyecatch::before {
		content: none;
	}

	.solution .sec_header img {
		width: auto;
		height: 100%;
	}

	.solution .sec_body {
		padding: 15px;
	}

	.solution .tks_why_recommend p {
		font-size: var(--sp_font_s);
	}

	.solution .tks_why_recommend table {
		margin-bottom: 10px;
	}

	.solution .tks_why_recommend table,
	.solution .tks_why_recommend tbody,
	.solution .tks_why_recommend tr {
		position: relative;
		display: block;
		border-style: none;
	}

	.solution .tks_why_recommend th,
	.solution .tks_why_recommend td {
		display: block;
		border: none;
		font-size: var(--sp_font_xl);
		width: auto !important;
	}

	/*
	.solution .tks_why_recommend td:nth-child(2) {
		display: flex;
		align-items: flex-start;
	}
	.solution .tks_why_recommend tr:nth-child(2) td:nth-child(2) {
		margin-right: 35lvw;
	}
	*/

	.solution .tks_why_recommend tr:first-child > :not(:last-child) {
		display: none;
	}

	.solution .tks_why_recommend td:nth-child(1) {
		padding: 10px 0;
	}

	.solution .tks_why_recommend tr:not(:first-child) td:last-child {
		padding-bottom: 15px;
		border-bottom: 1px solid #001067;
	}

	.solution .tks_why_recommend strong {
		font-size: var(--sp_font_m);
		font-weight: bold;
	}

	.solution .tks_why_recommend td:nth-child(2) strong {
		font-size: var(--sp_font_xl);
	}

	.solution .tks_why_recommend td:nth-child(2) img {
		vertical-align: middle;
		width: 2em;
		height: auto;
		margin-right: .5em;
	}

	.solution .tks_why_recommend tr:nth-child(1) td:nth-child(3) strong {
		display: none;
		/*
		position: absolute;
		line-height: 1;
		z-index: 2;
		right: 0;
		top: 3em;
		border: 5px solid #4A90E2;
		color: #4A90E2;
		border-radius: 10px;
		padding: 5px 10px;
		background: #fff;
		*/
	}

	.solution .tks_why_recommend tr:not(:nth-child(1)) td:nth-child(3) strong {
		display: block;
		border: 1px solid #DCDDDD;
		border-radius: 10px;
		padding: 15px;
		box-shadow: 0px 4px 4px 1px rgba(0, 0, 0, 0.4);
		background: #fff;
		font-weight: normal;
	}

	.solution .tks_why_recommend tr:nth-child(even) td:nth-child(3) strong {
		background: #EFF2FD;
	}

	.solution .tks_overview {
		background: #EFF2FD;
		margin: 30px 0;
		padding: 15px 30px;
	}

	.solution .tks_overview p {
		font-size: var(--sp_font_m);
		line-height: 1.75;
		margin: 1.75em 0 ;
	}

	.solution .tks_overview:first-child {
		margin-top: 0;
	}

	.solution .tks_overview em {
		font-style: normal;
		text-decoration-line: underline;
		text-decoration-thickness: 3px;
	}

	.solution.type_residence .tks_overview em {
		text-decoration-color:#FF6838;	
	}

	.solution.type_service .tks_overview em {
		text-decoration-color:#f8e32c;	
	}

	.solution.type_investment .tks_overview em {
		text-decoration-color:#8FC31F;	
	}

	.solution .grid4pain1 {
		display: flex;
		flex-direction: column;
		margin-btttom: 30px;
	}

	.solution .grid4pain1 .unit {
	}

	.solution .grid4pain1 .unit h4 {
		display: flex;
		column-gap: 1em;
		align-items: center;
		font-size: var(--sp_font_xl);
		margin: 0 0 15px 0;
		padding: 0 15px;
		text-align: center;
		background: #001067;
		color: #fff;
	}

	.solution .grid4pain1 h4::after {
		content: "";
		display: block;
		width: 46px;
		height: 46px;
	}

	.solution .grid4pain1 .tks_merit h4,
	.solution .grid4pain1 .tks_demerit h4 {
		margin: 0 0 15px 0;
		background: #EFF2FD;
		color: #001067;
	}

	.solution .grid4pain1 .tks_target_person h4::after {
		background: url(../img/tks_ico_target_person.png) center center / 46px 46px no-repeat;
	}
	.solution .grid4pain1 .tks_target_land h4::after {
		background: url(../img/tks_ico_target_land.png) center center / 46px 46px no-repeat;
	}
	.solution .grid4pain1 .tks_merit h4::after {
		background: url(../img/tks_ico_merit.png) center center / 46px 46px no-repeat;
	}
	.solution .grid4pain1 .tks_demerit h4::after {
		background: url(../img/tks_ico_demerit.png) center center / 46px 46px no-repeat;
	}

	.solution .grid4pain1 .tks_merit h4 br,
	.solution .grid4pain1 .tks_demerit h4 br {
		display: none;
	}

	.solution .tks_data_analytics h4 {
		display: flex;
		column-gap: 1em;
		align-items: center;
		font-size: var(--sp_font_xl);
		margin: 0 0 10px 0;
		padding: 5px 15px;
		background: #001067;
		color: #fff;
	}

	.solution .tks_data_analytics h4::after {
		content: "";
		display: block;
		width: 50px;
		height: 50px;
		background: url(../img/tks_ico_data_analytics.png) center center / 60px 60px no-repeat;
	}

	.solution .tks_data_analytics h4 br {
		display: none;
	}

	.solution .tks_related_contents h3 {
		font-size: var(--sp_font_l);
		margin: 50px 0 30px 0;
		padding: 15px;
		text-align: center;
		background: #E3D8AB;
		color: #444;
	}

	.solution .tks_related_contents h3 br {
		display: none;
	}

	.solution .grid4pain1 .unit:nth-child(even) {
		position: relative;
	}

	.solution .grid4pain1 ul {
		display: flex;
		flex-direction: column;
		margin-bottom: 15px;
		padding: 5px 15px;
		font-size: var(--sp_font_ml);
		line-height: 1.5;
	}

	.solution .grid4pain1 li {
		list-style-type: none;
		display: flex;
		background: url("../img/bullet_rect_b.png") 0px .5em / 1.25em auto no-repeat;
		padding: .5em 0 .5em 1.5em;
        align-items: center;
	}

	.tks_data_analytics .columns {
		display: flex;
		flex-direction: column;
		margin-bottom: 10px;
		font-size: var(--sp_font_l);
	}

	.tks_data_analytics .columns .unit {
		position: relative;
		padding: 0 15px 30px 15px;
	}
	
	.tks_data_analytics .columns .unit:nth-child(odd) {
		background: #EFF2FD;
	}

	.tks_data_analytics .columns .heading {
		display: inline-block;
		border-radius: 10px;
		padding: 7px 10px;
		text-align: center;
		margin: 1em 0;
		background: #001067;
		color: #fff;

	}

	.tks_data_analytics .columns h5,
	.tks_data_analytics .columns h6 {
		font-weight: bold;
		color: #001067;
	}

	.tks_data_analytics hr {
		margin: 20px 0;
		border-style: none;
		height: 1px;
		background: #001067;
	}

	.tks_data_analytics .columns strong {
		font-size: var(--sp_font_xxl);
		color: #001067;
	}

	.tks_why_recommend p:last-child,
	.tks_data_analytics .footnote {
		font-size: var(--sp_font_s);
	}

	.solution .tab_container .tab {
		list-style: none;
		display: flex;
		column-gap: 5px;
		margin-bottom: 30px;
	}

	.solution .tab_container .tab button {
		flex: 1;
		padding: .75em .5em;
		text-align: center;
		border: 2px solid #DCDDDD;
		border-radius: 20px;
		background: #fff;
		color: #444;
		font-size: var(--sp_font_m);
		line-height: 1.4;
		cursor: pointer;
		filter: drop-shadow(0px 4px 1px rgba(0, 0, 0, 0.3));
		text-indent: 0.5em;
	}

	.solution .tab_container button.current { /* JS連携class */
		background: #FFA552;
		color: #444;
	}

	.solution .tab_content {
		display: none;
	}

	.solution .tab_content.current {
		display: block;
	}

	.solution .tab_content ul {
		list-style: none;
	}

	.solution .tab_content li {
		font-size: var(--sp_font_m);
		margin-bottom: 10px;
		padding: 10px 20px 10px 40px;
		background: #fff;
		background: #fff url("../img/bullet_circle_delta.png") 10px center / 2rem 2rem no-repeat;
		box-shadow: 0px 2px 2px 1px rgba(0, 0, 0, 0.2);
	}

	.solution .table_intro,
	.solution .table_content {
		padding: 0;
	}

	.solution .table_intro {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	
	.solution .table_intro p {
		font-size: var(--sp_font_ml);
		line-height: 1.75;
		min-height: 12vw;
		margin: 0 0 1em 0;
		padding: 0 12vw 0 0;
		background: url("../img/ico_link.png") 100% 50% / 12vw 12vw no-repeat;
	}

	.solution .table_content table {
		display: block;
		height: auto !important;
		border: none;
		font-size: var(--sp_font_ml);
	}

	.solution .table_content table br {
		display: none;
	}

	.solution .table_content tr {
		display: block;
		padding: 15px 10px;
		height: auto !important;
		border-bottom: 5px solid #DCDDDD;
	}

	.solution .table_content td {
		display: block;
		width: 100% !important;
		height: auto !important;
		border-style: none;
	}

	.solution .table_content tr:first-child {
		padding: 5px 10px;
	}

	.solution .table_content tr:first-child > td {
		display: inline-block;
		width: auto !important;
	}

	.solution .table_content .main_table {
		margin-bottom: 5px;
	}

	.solution .table_content .main_table + p {
		text-align-last: left !important;
		font-size: var(--sp_font_s);
	}

	.solution .table_content tr:first-child > td:first-child::after {
		content: "・";
	}

	.solution .table_content tr:not(:first-child) td:first-child {
		min-height: 8vw;
		padding: 0 8vw;
		text-align: center;
		background: url("../img/ico_link.png") 100% 50% / 8vw 8vw no-repeat;
	}

}

/* PC */
@media only screen and (min-width: 769px) {

	#hero2025jun .sp,
	.columnNaviLand .sp {
		display: none;
	}

	#hero2025jun .hero_container {
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
		padding: 50px 0;
	}
	
	#hero2025jun h1 {
		position: relative;
		margin-bottom: 1em;
		line-height: 1.5;
		font-size: 3.5rem;
		color: #001067;
	}

	#hero2025jun .ico img {
		position: absolute;
		z-index: 2;
		left: -180px;
		bottom: -7rem;
		width: 130px;
		height: auto;
	}
	
	#hero2025jun p {
		font-size: 1.6rem;
	}
	
	.columnNaviLand .columnNavi__list li:first-child {
			background-color: #EFF2FD !important;
			background-image: url("../img/icon_cap.svg") !important;
			background-position: 10px center !important;
			background-repeat: no-repeat !important;
			background-size: 28px 28px !important;
	}

	.columnNaviLand .columnNavi__list li:first-child a {
		padding: 15px 15px 15px 50px !important;
		color: #001067 !important;
	}

	.columnNaviLand .columnNavi__list li:nth-child(2) {
			background-image: url("../img/icon_cup.svg") !important;
			background-position: 30px center !important;
			background-repeat: no-repeat !important;
			background-size: 28px 28px !important;
	}

	.columnNaviLand .columnNavi__list li:nth-child(2) a {
		padding: 24px 20px 20px 70px !important;
	}
	.compact_area {
		width: 760px;
		margin: 30px auto;
	}
	
	#TwoStepSelector .sp,
	.bnr_container .sp,
	.the_page_index .sp {
		display: none;
	}

	.the_page_index {
		list-style: none;
		display: flex;
		justify-content: space-between;
		width: 960px;
		margin: 40px auto 0 auto;
		font-size: var(--pc_font_xxl);
		font-weight: bold;
	}

	.the_page_index a {
		position: relative;
		display: flex;
		white-space: nowrap;
		justify-content: center;
		flex-direction: row-reverse;
		align-items: center;
		column-gap: 5px;
		min-width: 280px;
		padding: 10px 0;
	}

	.the_page_index a::after {
		content: "";
		display: block;
		position: absolute;
		z-index: 2;
		bottom: 0;
		width: 100%;
		height: 5px;
		margin-top: 15px;
		background: #8FC31F;
		box-shadow: 0px 4px 2px 1px rgba(0, 0, 0, 0.2);
		transition: bottom .1s ease-out;
	}

	.the_page_index a::before {
		content: "";
		width: 60px;
		height: 60px;
		transition: transform .1s ease-out;
		transform-origin: bottom right;
	}

	.the_page_index a:hover::before {
		transform: rotate(15deg) scale(1.2);
	}

	.the_page_index a#hero_best_use::before {
		background: url("../img/hero_ico_loupe.png") center center / 60px auto no-repeat;
	}
	.the_page_index a#hero_comparison_table::before {
		background: url("../img/hero_ico_table.png") center center / 60px auto no-repeat;
	}
	.the_page_index a#hero_guidance::before {
		background: url("../img/hero_ico_book.png") center center / 60px auto no-repeat;
	}

	#TwoStepSelector {
		max-width: 960px;
		margin: 0 auto;
	}

	#TwoStepSelector a {
		color: #4A90E2;
		text-decoration: underline;
	}

	#TwoStepSelector .nav_back {
		margin: 2em 0;
		text-align: right;
		font-size: var(--pc_font_m);
		font-weight: normal;
		text-decoration: underline;
	}

	.home_main_container .primary_header h2 {
		display: flex;
		flex-direction: column;
		align-items: center;
		margin: 0em auto 1.5em auto;
		padding-top: 0.5em;
		font-size: var(--pc_font_xxxl);
	}

	.home_main_container .primary_header h2::after {
		content: "";
		display: block;
		height: 5px;
		width: 100px;
		margin-top: 10px;
		background: #8FC31F;
	}

	.home_main_container .primary_header h2 span {
		display: block;
		position: relative;
	}

	.home_main_container #TwoStepSelector .primary_header h2 span::before {
		content: "";
		display: block;
		width: 60px;
		height: 60px;
		position: absolute;
		left: calc(100% + .5em);
		top: -10px;
		background: url("../img/hero_ico_table.png") center center / 60px auto no-repeat;
	}

	.home_main_container #Over30Solutions {
		padding-top: 50px;
	}

	.home_main_container #Over30Solutions .primary_header h2 span::before {
		content: "";
		display: block;
		width: 60px;
		height: 60px;
		position: absolute;
		left: calc(100% + .5em);
		top: -10px;
		background: url("../img/hero_ico_book.png") center center / 60px auto no-repeat;
	}

	.home_main_container #Over30Solutions a {
		color: #4A90E2;
		text-decoration: underline;
	}
	
	.home_main_container .primary_header p {
		font-feature-settings: "palt";
		letter-spacing: normal;
		text-align: center;
		margin: 1.75em 0;
		line-height: 1.75;
		font-size: var(--pc_font_ml);
	}

	#TwoStepSelector .good {
		color: #FF6838;
	}

	#id16267_group1 {
		display: flex;
		margin-bottom: 35px; /* 50px から変更 */
	}

	#id16267_group1 button {
		flex: 1;
		padding: .75em 0;
		border: 5px solid #DCDDDD;
		background: #fff;
		color: #001067;
		font-size: 2rem;
		line-height: 1.4;
		cursor: pointer;
		filter: drop-shadow(0px 4px 1px rgba(0, 0, 0, 0.3));
	}

	#id16267_group1 button:hover {
		background: #f7f7f7;
	}

	#id16267_group1 button.current { /* JS連携class */
		position: relative;
		background: #001067;
		color: #fff;
	}

	#id16267_group1 button.current::before {
		content: "";
		position: absolute;
		z-index: 3;
		bottom: -20px;
		left: 50%;
		transform: translateX(-50%);
		width: 30px;
		height: 20px;
		clip-path: polygon(0 0, 100% 0%, 50% 100%);
		background: #001067;
	}

	#id16267_group1 button.current::after {
		content: "";
		position: absolute;
		z-index: 2;
		bottom: -30px;
		left: 50%;
		transform: translateX(-50%);
		width: 40px;
		height: 30px;
		clip-path: polygon(0 0, 100% 0%, 50% 100%);
		background: #DCDDDD;
	}

	#id16267_group2 {
		display: flex;
		column-gap: 15px;
		margin-bottom: 50px;
	}

	#id16267_group2 button {
		flex: 1;
		padding: .75em 0;
		border: 5px solid #DCDDDD;
		border-radius: 30px;
		background: #fff;
		color: #8FC31F;
		font-size: 2rem;
		line-height: 1.4;
		cursor: pointer;
		filter: drop-shadow(0px 4px 1px rgba(0, 0, 0, 0.3));
	}

	#id16267_group2 button.current { /* JS連携class */
		background: #8FC31F;
		color: #fff;
	}
	
	input.hide_scroll_hint {
		display: none;
	}

	#TwoStepSelector .comparison_result p {
		font-size: var(--pc_font_m);
	}

	#TwoStepSelector .comparison_result h3 {
		position: relative;
		font-size: 2rem;
		margin: 40px 0 1.75em 0;
		padding: 20px 10px 20px 120px;
		background: #ECF3E1;
	}

	#TwoStepSelector .comparison_result h3::before {
		content: "";
		display: block;
		position: absolute;
		z-index: 2;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		width: 100px;
		height: 100px;
	}

	#TwoStepSelector #id16267_result_a1 h3::before {
		background: url("../img/comparison_ico_a1.png") center center / 100% auto no-repeat;
	}

	#TwoStepSelector #id16267_result_a2 h3::before {
		background: url("../img/comparison_ico_a2.png") center center / 100% auto no-repeat;
	}

	#TwoStepSelector #id16267_result_a3 h3::before {
		background: url("../img/comparison_ico_a3.png") center center / 100% auto no-repeat;
	}

	#TwoStepSelector #id16267_result_b1 h3::before {
		background: url("../img/comparison_ico_b1.png") center center / 100% auto no-repeat;
	}

	#TwoStepSelector #id16267_result_b2 h3::before {
		background: url("../img/comparison_ico_b2.png") center center / 100% auto no-repeat;
	}

	#TwoStepSelector #id16267_result_b3 h3::before {
		background: url("../img/comparison_ico_b3.png") center center / 100% auto no-repeat;
	}

	#TwoStepSelector #id16267_result_c1 h3::before {
		background: url("../img/comparison_ico_c1.png") center center / 100% auto no-repeat;
	}

	#TwoStepSelector #id16267_result_c2 h3::before {
		background: url("../img/comparison_ico_c2.png") center center / 100% auto no-repeat;
	}

	#TwoStepSelector #id16267_result_c3 h3::before {
		background: url("../img/comparison_ico_c3.png") center center / 100% auto no-repeat;
	}

	#TwoStepSelector .comparison_result .annotation {
		list-style: none;
		display: flex;
		column-gap: 1em;
		margin-bottom: 1em;
	}

	#TwoStepSelector .comparison_result .annotation > *::before {
		display: inline-block;
		vertical-align: middle;
		width: 15px;
		height: 15px;
		margin-right: 5px;
	}

	#TwoStepSelector .comparison_result .annotation > *:first-child::before {
		content: "";
		background: #FF6838;
	}

	#TwoStepSelector .comparison_result .annotation > *:nth-child(2):before {
		content: "";
		background: #F9E85A;
	}

	#TwoStepSelector .comparison_result .annotation > *:nth-child(3):before {
		content: "";
		background: #8FC31F;
	}

	#TwoStepSelector .comparison_result table {
		width: 100%;
		border: 5px solid #DCDDDD;
		font-size: 2rem;
	}

	#TwoStepSelector .comparison_result table th,
	#TwoStepSelector .comparison_result table td {
		padding: .5em;
		border-top: 1px solid #DCDDDD;
		border-right: 1px solid #DCDDDD;
	}

	#TwoStepSelector .table_caption {
		font-size: var(--pc_font_s);
		margin-top: 1em;
	}

	#TwoStepSelector .comparison_result .type_residence th {
		border-left: 8px solid #FF6838;
	}

	#TwoStepSelector .comparison_result .type_service th  {
		border-left: 8px solid #F9E85A;
	}

	#TwoStepSelector .comparison_result .type_investment th  {
		border-left: 8px solid #8FC31F;
	}

	#TwoStepSelector .comparison_result thead tr {
		background: #001067;
		color: #fff;
	}

	#TwoStepSelector .comparison_result thead th {
		text-align: center;
	}

	#TwoStepSelector .comparison_result thead th:first-child {
		width: 30%;
	}

	#TwoStepSelector .comparison_result thead th:nth-child(2) {
		width: 23%;
	}

	#TwoStepSelector .comparison_result thead th:nth-child(3) {
		width: 23%;
	}

	#TwoStepSelector .comparison_result thead th:nth-child(4) {
		width: 23%;
	}

	#TwoStepSelector .comparison_result thead th span {
		display: block;
	}

	#TwoStepSelector .comparison_result tbody tr:nth-child(odd) {
		background: #EFF2FD;
	}

	#TwoStepSelector .comparison_result tbody tr:nth-child(even) {
		background: #fff;
	}

	#TwoStepSelector .comparison_result tbody td {
		text-align: center;
	}

	#TwoStepSelector .comparison_result a.view_detail {
		display: block;
		margin: .5em 0 0 0;
		text-align: right;
		font-size: var(--pc_font_s);
		font-weight: normal;
		text-decoration: underline;
	}
	
	#TwoStepSelector .recommendation h4 {
		display: flex;
		align-items: flex-end;
		margin: 1.75em 0 .5em 0;
		font-size: 2.4rem;
	}

	#TwoStepSelector .recommendation h4.lamp {
		margin-top: -2em;
		margin-left: -82px;
	}

	#TwoStepSelector .recommendation h4.lamp::before {
		content: "";
		width: 82px;
		height: 82px;
		margin-bottom: -5px;
		background: url("../img/comparison_ico_lamp.png") center center / 82px auto no-repeat;
	}

	#TwoStepSelector .recommendation .chat {
		display: flex;
		align-items: flex-end;
		column-gap: 30px;
		margin: 1.5em 0;
	}

	#TwoStepSelector .recommendation .chat::after {
		content: "";
		width: 120px;
		height: 147px;
		background: url("../img/ieul_face_to_left.png") center center / 100% auto no-repeat;
	}

	#TwoStepSelector .recommendation .chat .balloon {
		position: relative;
		padding: 30px;
		background: #EFF2FD;
		border: solid 5px #DCDDDD;
		border-radius: 30px;
		font-size: var(--pc_font_m);
		line-height: 1.75;
	}

	#TwoStepSelector .recommendation .balloon::before {
		content: "";
		position: absolute;
		top: calc(50% - 10px);
		right: -20px;
		width: 0;
		height: 0;
		background-color: #DCDDDD;
		width: 20px;
		height: 20px;
		clip-path: polygon(100% 100%, 0 41%, 0 100%);
	}

	#TwoStepSelector .recommendation .needs {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}

	#TwoStepSelector .recommendation .unit {
		padding: 30px 0;
		border-top: 1px solid #001067;
	}

	#TwoStepSelector .recommendation .unit:first-child,
	#TwoStepSelector .recommendation .unit:nth-child(2) {
		padding: 20px 0;
		border-top: none;
	}

	#TwoStepSelector .recommendation h5 {
		display: flex;
		align-items: center;
		column-gap: 10px;
		font-size: 2rem;
		margin-bottom: .25em;
	}

	#TwoStepSelector .recommendation h5::before {
		content: "";
		height: 1.6rem;
		width: 1.6rem;
		background: url("../img/bullet_rect_a.png") center center / 1.6rem auto no-repeat;
	}

	#TwoStepSelector .recommendation .needs p {
		padding: 0 20px;
		font-size: var(--pc_font_ml);
		line-height: 2;
		border-left: 3px solid #001067;
	}

	.related_contents ul {
		list-style: none;
		padding: 15px;
		background: #E3D8AB;
	}

	.related_contents li {
		font-size: 16px;
		padding: 15px 15px 15px 40px;
		background: #fff url("../img/bullet_circle_delta.png") 10px center / 2rem 2rem no-repeat;
	}

	#Over30Solutions {
		max-width: 960px;
		margin: 0 auto;
	}

	.outline_solutions {
		margin-bottom: 100px;
	}

	.outline_solutions h3 {
		display: flex;
		flex-direction: row;
		align-items: center;
		column-gap: .5rem;
		margin: 0em auto 1.5em auto;
		padding-top: 2.5em;
		font-size: 2.1rem;
	}

	.outline_solutions h3:before {
		content: "";
		width: 2rem;
		height: 2rem;
		background: url("../img/h3_circle.svg") center center / 2rem 2rem no-repeat;
	}

	.outline_solutions h4 {
		font-size: 2.1rem;
		margin-bottom: .5em;
	}

	.outline_solutions .grid_container {
		display: grid;
		grid-template-columns: repeat(11, 1fr);
		column-gap: 20px;
	}

	.outline_solutions .grid_container .grid_unit:nth-child(1) {
		grid-column: 1 / 6;
	}

	.outline_solutions .grid_container .grid_unit:nth-child(2) {
		grid-column: 6 / 9;
	}

	.outline_solutions .grid_container .grid_unit:nth-child(3) {
		grid-column: 9 / 13;
	}

	.outline_solutions .grid_container .type_residence .grid_unit:nth-child(1) {
		grid-column: 1 / 9;
	}

	.outline_solutions .grid_container .type_residence .grid_unit:nth-child(2) {
		grid-column: 9 / 13;
	}

	.outline_solutions .grid_unit div {
		line-height: 2;
		font-size: 17px;
	}

	.outline_solutions .grid_unit div span {
		white-space: nowrap;
	}

	.outline_solutions > .unit {
		margin: 3em 0;
		padding-left: 1.5em;
	}

	.outline_solutions .type_residence {
		border-left: 8px solid #FF6838;
	}

	.outline_solutions .type_service {
		border-left: 8px solid #F9E85A;
	}

	.outline_solutions .type_investment {
		border-left: 8px solid #8FC31F;
	}
	
	section.solution {
		position: relative;
		z-index: 2;
		margin-top: 50px;
		border: 5px solid #001067;
	}

	section.solution .nav_back {
		margin: 2em 0;
		text-align: right;
		font-size: var(--pc_font_s);
		font-weight: normal;
		text-decoration: underline;
	}

	section.solution a {
		color: #4A90E2;
		text-decoration: underline;
	}

	.solution .sec_header {
		display: grid;
		grid-template-columns: repeat(16, 1fr);
		column-gap: 15px;
		padding-right: 30px;
	}

	.solution .sec_header .unit_a {
		grid-column: 1 / 7;
	}

	.solution .sec_header .unit_b {
		grid-column: 7 / 14;
		padding-top: 10px;
	}

	.solution .sec_header .unit_c {
		grid-column: 14 / 17;
	}

	.solution .sec_header h3 {
		font-size: 3.5rem;
		line-height: 1.25;
		color: #001067;
		border: 3px solid #001067;
	}

	.solution .sec_header h3 span {
		position: relative;
		z-index: 3;
		display: flex;
		justify-content: center;
		align-items: center;
		box-sizing: border-box;
		min-height: 90px;
		text-align: center;
		padding: 10px 0;
	}

	.solution.type_residence .sec_header h3 span {
		border-left: 15px solid #FF6838;
	}

	.solution.type_service .sec_header h3 span {
		border-left: 15px solid #F9E85A;
	}

	.solution.type_investment .sec_header h3 span {
		border-left: 15px solid #8FC31F;
	}

	.solution .sec_header span:after {
		content: "";
		display: block;
		position: absolute;
		z-index: -1;
		left: 0;
		top: 50%;
		width: 86%;
		margin: 0 0 0 7%;
		height: 20px;
		opacity: 0.3;
		flex-basis: 15px;
	}

	.solution.type_residence .sec_header h3 span:after {
		background: #FF6838;
	}

	.solution.type_service .sec_header h3 span:after {
		background: #F9E85A;
		opacity: 0.5;
	}

	.solution.type_investment .sec_header h3 span:after {
		background: #8FC31F;
	}

	.solution .sec_header h4 {
		font-size: var(--pc_font_l);
		color: #FF6838;
	}

	.solution .sec_header p {
		font-weight: bold;
		font-size: var(--pc_font_m);
		color: #FF6838;
	}

	.solution .sec_header .eyecatch {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		height: 120px;
		width: 100%;
		margin-bottom: 0;
		overflow: hidden;
	}

	.solution .sec_header .eyecatch::before {
		content: none;
	}

	.solution .sec_header img {
		width: auto;
		height: 100%;
	}

	.solution .sec_body {
		padding: 30px;
	}

	.solution .tks_why_recommend p {
		font-size: 14px;
	}

	.solution .tks_why_recommend table {
		margin-bottom: 10px;
	}

	.solution .tks_why_recommend table,
	.solution .tks_why_recommend tr {
		border: none;
	}

	.solution .tks_why_recommend th,
	.solution .tks_why_recommend td {
		border: none;
		padding: 15px;
		font-size: var(--pc_font_l);
		width: auto !important;
	}

	.solution .tks_why_recommend tr:first-child td {
		padding: 0 15px;
	}

	.solution .tks_why_recommend tr:not(:nth-child(1)) td {
		border-bottom: 1px solid #444;
	}

	.solution .tks_why_recommend td:last-child {
		border-left: 1px solid #001067;
	}

	.solution .tks_why_recommend strong {
		font-size: var(--pc_font_xl);
		font-weight: bold;
	}

	.solution .tks_why_recommend td:nth-child(2) img {
		vertical-align: middle;
		width: 3em;
		height: auto;
		margin-right: .5em;
	}

	.solution .tks_why_recommend tr:nth-child(1) td:nth-child(3) strong {
		display: inline-block;
		border: 5px solid #4A90E2;
		color: #4A90E2;
		border-radius: 10px;
		padding: 8px 15px;
		background: #fff;
	}

	.solution .tks_why_recommend tr:not(:nth-child(1)) td:nth-child(3) strong {
		display: block;
		border: 1px solid #DCDDDD;
		border-radius: 10px;
		padding: 15px;
		box-shadow: 0px 4px 4px 1px rgba(0, 0, 0, 0.4);
		background: #fff;
		font-weight: normal;
	}

	.solution .tks_why_recommend tr:nth-child(even) td:nth-child(3) strong {
		background: #EFF2FD;
	}

	.solution .tks_overview {
		background: #EFF2FD;
		margin: 30px 0;
		padding: 30px 60px;
	}

	.solution .tks_overview p {
		font-size: 1.7rem;
		line-height: 1.75;
		margin: 1.75em 0 ;
	}

	.solution .tks_overview:first-child {
		margin-top: 0;
	}

	.solution .tks_overview em {
		font-style: normal;
		text-decoration-line: underline;
		text-decoration-thickness: 3px;
	}

	.solution.type_residence .tks_overview em {
		text-decoration-color:#FF6838;	
	}

	.solution.type_service .tks_overview em {
		text-decoration-color:#f8e32c;	
	}

	.solution.type_investment .tks_overview em {
		text-decoration-color:#8FC31F;	
	}

	.solution .grid4pain1 {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		column-gap: 5px;
		margin-btttom: 30px;
	}

	.solution .grid4pain1 .unit {
	}

	.solution .grid4pain1 .unit h4 {
		display: flex;
		column-gap: 1em;
		align-items: center;
		justify-content: space-between;
		font-size: var(--pc_font_xxxl);
		margin: 0 0 15px 0;
		padding: 0 .5em 0 1.5em;
		min-height: 85px;
		text-align: center;
		background: #001067;
		color: #fff;
	}

	.solution .grid4pain1 h4::after {
		content: "";
		display: block;
		width: 85px;
		height: 85px;
	}

	.solution .grid4pain1 .tks_merit h4,
	.solution .grid4pain1 .tks_demerit h4 {
		margin: 50px 0 15px 0;
		background: #EFF2FD;
		color: #001067;
	}

	.solution .grid4pain1 .tks_target_person h4::after {
		background: url(../img/tks_ico_target_person.png) center center / 85px 85px no-repeat;
	}
	.solution .grid4pain1 .tks_target_land h4::after {
		background: url(../img/tks_ico_target_land.png) center center / 85px 85px no-repeat;
	}
	.solution .grid4pain1 .tks_merit h4::after {
		background: url(../img/tks_ico_merit.png) center center / 85px 85px no-repeat;
	}
	.solution .grid4pain1 .tks_demerit h4::after {
		background: url(../img/tks_ico_demerit.png) center center / 85px 85px no-repeat;
	}

	.solution .grid4pain1 .tks_merit h4 br,
	.solution .grid4pain1 .tks_demerit h4 br {
		display: none;
	}

	.solution .tks_data_analytics h4 {
		display: flex;
		column-gap: 1em;
		align-items: center;
		font-size: var(--pc_font_xxxl);
		margin: 50px 0 10px 0;
		padding: 0 .5em 0 1.5em;
		text-align: center;
		background: #001067;
		color: #fff;
	}

	.solution .tks_data_analytics h4::after {
		content: "";
		display: block;
		width: 100px;
		height: 100px;
		background: url(../img/tks_ico_data_analytics.png) center center / 100px 100px no-repeat;
	}

	.solution .tks_data_analytics h4 br {
		display: none;
	}

	.solution .tks_related_contents h3 {
		font-size: var(--pc_font_xxxl);
		margin: 60px 0 50px 0;
		padding: 15px;
		text-align: center;
		background: #E3D8AB;
		color: #444;
	}

	.solution .tks_related_contents h3 br {
		display: none;
	}

	.solution .grid4pain1 .unit:nth-child(even) {
		position: relative;
	}

	.solution .grid4pain1 .unit:nth-child(even)::before {
		content: "";
		display: block;
		height: 50%;
		position: absolute;
		z-index: 2;
		left: -3px;
		bottom: 30px;
		width: 1px;
		background: #001067;
	}

	.solution .grid4pain1 ul {
		display: flex;
		flex-direction: column;
		row-gap: .5em;
		padding: 10px 20px;
		font-size: var(--pc_font_ml);
	}

	.solution .grid4pain1 li {
		list-style-type: none;
		display: flex;
		background: url("../img/bullet_rect_b.png") left center / 1.25em auto no-repeat;
		padding-left: 1.75em;
		min-height: 4em;
        align-items: center;
	}

	.tks_data_analytics .columns {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		column-gap: 30px;
		font-size: var(--pc_font_m);
	}

	.tks_data_analytics .columns .unit {
		position: relative;
		padding: 0 15px;
	}

	.tks_data_analytics .columns .unit:not(:first-child)::before {
		content: "";
		display: block;
		height: 70%;
		position: absolute;
		z-index: 2;
		left: -15px;
		bottom: 30px;
		width: 1px;
		background: #001067;
	}

	.tks_data_analytics .columns .heading {
		text-align: center;
		margin: 1em 0;
	}

	.tks_data_analytics .columns h5,
	.tks_data_analytics .columns h6 {
		font-weight: bold;
		color: #001067;
	}

	.tks_data_analytics hr {
		margin: 20px 0;
		border-style: none;
		height: 1px;
		background: #001067;
	}

	.tks_data_analytics .columns strong {
		font-size: 2.75rem;
		color: #001067;
	}

	.tks_why_recommend p:last-child,
	.tks_data_analytics .footnote {
		text-align: right;
		font-size: var(--pc_font_s);
	}

	.solution .tab_container .tab {
		list-style: none;
		display: flex;
		column-gap: 15px;
		margin-bottom: 30px;
		padding: 0 80px;
	}

	.solution .tab_container .tab button {
		flex: 1;
		padding: .75em 0;
		text-align: center;
		border: 5px solid #DCDDDD;
		border-radius: 30px;
		background: #fff;
		color: #444;
		font-size: var(--pc_font_xl);
		line-height: 1.4;
		cursor: pointer;
		filter: drop-shadow(0px 4px 1px rgba(0, 0, 0, 0.3));
	}

	.solution .tab_container button.current { /* JS連携class */
		background: #FFA552;
		color: #444;
	}

	.solution .tab_container .tab button br {
		display: none;
	}

	.solution .tab_content {
		display: none;
		padding: 0 50px;
	}

	.solution .tab_content.current {
		display: block;
	}

	.solution .tab_content ul {
		list-style: none;
		font-size: var(--pc_font_m);
	}

	.solution .tab_content li {
		margin-bottom: 10px;
		padding: 20px 20px 20px 60px;
		background: #fff url("../img/bullet_circle_delta.png") 30px center / 2rem 2rem no-repeat;
		box-shadow: 0px 2px 2px 1px rgba(0, 0, 0, 0.2);
	}

	.solution .table_intro,
	.solution .table_content {
		padding: 0 50px;
	}

	.solution .table_intro {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	
	.solution .table_intro p {
		font-size: 1.7rem;
		line-height: 1.75;
		min-height: 80px;
		margin: 0 0 1em 0;
		padding: 0 100px ;
		text-align: center;
		background: url("../img/ico_link.png") 100% 50% / 80px 80px no-repeat;
	}

	.solution .table_content table {
		border: none;
		font-size: 1.6rem;
	}

	.solution .table_content td {
		padding: 10px 15px;
		border-top-style: none;
		border-left-style: none;
		border-right-style: none;
		border-bottom: 5px solid #DCDDDD;
	}

	.solution .table_content td:first-child {
		width: 30% !important;
	}

	.solution .table_content tr:not(:first-child) td:first-child {
		padding-right: 60px;
		background: url("../img/ico_link.png") calc(100% - 30px) 50% / 30px 30px no-repeat;
	}


}
