@charset "utf-8";

/* -----------------------------------------------------------
    insurance
-------------------------------------------------------------- */
/* -----------------------------------------------------------
    intro-area
-------------------------------------------------------------- */
.intro-area {
	padding-bottom: 80px !important;
}

.intro-area .insurance-intro {
	margin: 50px 0 0;
	padding: 37px 50px 47px;
	background: #fff;
}

.intro-area .insurance-intro-ttl {
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 1.7;
	display: flex;
	padding: 0 0 0 15px;
	letter-spacing: 0;
	align-items: center;
	flex-shrink: 0;
	gap: 8px;
	justify-content: center;
}

.intro-area .insurance-intro-ttl::before {
	font: 900 3.7rem/1 var(--webicon);
	content: '\f071';
	color: var(--sub2);
}

.intro-area .insurance-intro-case {
	display: flex;
	gap: 20px;
}

.intro-area .insurance-intro-box {
	width: calc((100% - 20px) / 2);
	margin: 25px 0 0;
	padding: 25px 20px;
	background: var(--cmnbg3);
}

.intro-area .insurance-intro-box figure {
	display: flex;
	gap: 15px;
}

.intro-area .insurance-intro-box figcaption {
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.5;
	padding: 25px 0 0;
}

.intro-area .insurance-intro-num {
	font: 700 1.7rem/1 var(--en);
	display: flex;
	margin: 0 0 5px;
	color: var(--main);
	align-items: center;
	gap: 5px;
}

.intro-area .insurance-intro-num span {
	font-size: 2.2rem;
	font-weight: bold;
}

.intro-area .insurance-intro-pic {
	width: 40%;
	padding: 10px;
	background: #fff;
	aspect-ratio: 280/190;
	flex-shrink: 0;
}

.intro-area .insurance-intro-pic img {
	width: 100%;
}

.intro-area .insurance-intro-cap {
	font-size: 1.7rem;
	margin: 30px 0 0;
	padding: 20px 30px;
	border: 2px solid var(--sub);
}

.intro-area .insurance-intro-cap p {
	line-height: 1.7;
	position: relative;
	padding: 0 0 0 95px;
}

.intro-area .insurance-intro-cap p::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 70px;
	height: 98px;
	content: '';
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background: url('../img/cmn-staff.png') center/contain no-repeat;
}

@media screen and (max-width: 768px) {
	.intro-area {
		padding-bottom: 50px !important;
	}

	.intro-area .insurance-intro {
		margin: 40px 0 0;
		padding: 10px 20px 30px;
	}

	.intro-area .insurance-intro-ttl {
		font-size: 1.9rem;
		line-height: 1.5;
		flex-direction: column;
		padding: 15px 0 0 0;
		text-align: center;
	}

	.intro-area .insurance-intro-ttl::before {
		font-size: 3.2rem;
	}

	.intro-area .insurance-intro-case {
		flex-direction: column;
		margin: 20px 0 0;
		gap: 15px;
	}

	.intro-area .insurance-intro-box {
		width: 100%;
		margin: 0;
		padding: 15px;
	}

	.intro-area .insurance-intro-box figcaption {
		font-size: 1.7rem;
		padding: 0;
	}

	.intro-area .insurance-intro-num {
		font-size: 1.5rem;
	}

	.intro-area .insurance-intro-num span {
		font-size: 1.9rem;
	}

	.intro-area .insurance-intro-pic {
		width: 35%;
	}

	.intro-area .insurance-intro-cap {
		font-size: 1.6rem;
		margin: 25px 0 0;
		padding: 20px 15px;
	}

	.intro-area .insurance-intro-cap p {
		padding: 0;
	}

	.intro-area .insurance-intro-cap p::before {
		position: static;
		float: left;
		width: 60px;
		height: 78px;
		margin: 0 10px 5px 0;
		-webkit-transform: unset;
		transform: unset;
	}
}

/* -----------------------------------------------------------
    insurance-merit
-------------------------------------------------------------- */
.insurance-merit {
	padding: 200px 0 0;
}

.insurance-merit .insurance-merit-catch {
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.6;
	margin: 50px 0 0;
	letter-spacing: .05em;
}

.insurance-merit .insurance-merit-note {
	font-size: 1.7rem;
	line-height: 2.2;
	margin: 30px 0 0;
}

.insurance-merit [data-ismerit="merit"] {
	border-color: var(--sub);
}

.insurance-merit [data-ismerit="merit"] .insurance-meritbox-header .subttl::before {
	top: 30%;
	background: url('../img/insurance-good.svg') center/contain no-repeat;
}

.insurance-merit [data-ismerit="merit"] .insurance-meritbox-header .cap {
	color: var(--main);
}

.insurance-merit [data-ismerit="merit"] .insurance-meritbox-header .cap::before {
	background: url('../img/insurance-good-arrow.svg') center/contain no-repeat;
}

.insurance-merit [data-ismerit="merit"] .insurance-meritbox-body .img {
	aspect-ratio: 650/350;
}

.insurance-merit [data-ismerit="demerit"] {
	border-color: var(--border1);
}

.insurance-merit [data-ismerit="demerit"] .insurance-meritbox-header .subttl::before {
	top: 50%;
	background: url('../img/insurance-bad.svg') center/contain no-repeat;
}

.insurance-merit [data-ismerit="demerit"] .insurance-meritbox-header .cap {
	color: var(--gray);
}

.insurance-merit [data-ismerit="demerit"] .insurance-meritbox-header .cap::before {
	background: url('../img/insurance-bad-arrow.svg') center/contain no-repeat;
}

.insurance-merit [data-ismerit="demerit"] .insurance-meritbox-body .img {
	aspect-ratio: 650/542;
}

.insurance-merit .insurance-meritbox {
	margin: 45px 0 0;
	padding: 35px 50px 45px;
	border-width: 10px;
	border-style: solid;
	background: #fff;
}

.insurance-merit .insurance-meritbox-header {
	display: flex;
	align-items: center;
}

.insurance-merit .insurance-meritbox-header .subttl {
	font-size: 2rem;
	font-weight: 600;
	position: relative;
	padding: 0 0 0 40px;
}

.insurance-merit .insurance-meritbox-header .subttl::before {
	position: absolute;
	left: 0;
	width: 35px;
	height: 31px;
	content: '';
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.insurance-merit .insurance-meritbox-header .cap {
	font-size: 2.8rem;
	font-weight: 750;
	position: relative;
	padding: 0 0 0 90px;
}

.insurance-merit .insurance-meritbox-header .cap::before {
	position: absolute;
	top: 55%;
	left: 0;
	width: 95px;
	height: 16px;
	content: '';
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.insurance-merit .insurance-meritbox-body {
	display: flex;
	margin: 20px 0 0;
	align-items: center;
	gap: 40px;
}

.insurance-merit .insurance-meritbox-body .img {
	width: 40%;
	flex-shrink: 0;
}

.insurance-merit .insurance-meritbox-body .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.insurance-merit .insurance-meritbox-body .txt p {
	line-height: 2.2;
	margin: 30px 0 0;
}

.insurance-merit .insurance-meritbox-body .txt p:first-of-type {
	margin: 0;
}

.insurance-merit .insurance-ex {
	display: flex;
	margin: 40px 0 0;
	padding: 45px 50px 50px;
	background: #fff;
	align-items: center;
	gap: 30px;
}

.insurance-merit .insurance-ex-ttl {
	font-size: 2.5rem;
	position: relative;
	display: flex;
	height: 70px;
	padding: 0 0 0 85px;
	align-items: center;
	flex-shrink: 0;
}

.insurance-merit .insurance-ex-ttl::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 70px;
	height: 70px;
	content: '';
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background: url('../img/voive-w4.png') center/contain no-repeat;
}

.insurance-merit .insurance-ex-dl {
	display: flex;
	width: 600px;
	margin: 15px 0 0;
	gap: 15px;
	flex-shrink: 0;
	flex-wrap: wrap;
}

.insurance-merit .insurance-ex-dl dl {
	width: calc((100% - 20px) / 2);
	padding: 23px 20px 25px;
	background: var(--cmnbg3);
}

.insurance-merit .insurance-ex-dl dt {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.3;
	color: var(--sub2);
}

.insurance-merit .insurance-ex-dl dd {
	font-size: 2.1rem;
	font-weight: 500;
	line-height: 1.4;
	margin: 7px 0 0;
	text-align: center;
}

.insurance-merit .insurance-ex-result .result1 {
	font-size: 1.6rem;
	font-weight: 500;
	margin: 15px 0 0;
}

.insurance-merit .insurance-ex-result .result2 {
	font-size: 2.2rem;
	font-weight: 600;
	line-height: 1.3;
	margin: 5px 0 0;
	letter-spacing: .03em;
	color: var(--cmnred);
}

.insurance-merit .insurance-ex-result .img {
	width: 100%;
}

.insurance-merit .insurance-ex-result .img img {
	width: 100%;
}

@media screen and (max-width: 768px) {
	.insurance-merit {
		padding: 100px 0 0;
	}

	.insurance-merit .insurance-merit-catch {
		font-size: 2.1rem;
		line-height: 1.8;
		margin: 35px 0 0;
	}

	.insurance-merit .insurance-merit-note {
		font-size: 1.6rem;
		line-height: 2.4;
		margin: 25px 0 0;
	}

	.insurance-merit [data-ismerit="merit"] .insurance-meritbox-header .subttl::before {
		top: 40%;
	}

	.insurance-merit [data-ismerit="merit"] .insurance-meritbox-header .cap {
		font-size: 2rem;
		line-height: 1.4;
		margin: 12px 0 0;
		padding: 0 0 0 55px;
	}

	.insurance-merit [data-ismerit="demerit"] .insurance-meritbox-header .subttl::before {
		top: 60%;
	}

	.insurance-merit [data-ismerit="demerit"] .insurance-meritbox-header .cap {
		font-size: 1.8rem;
		line-height: 1.5;
		margin: 15px 0 0;
		padding: 0 0 0 50px;
	}

	.insurance-merit .insurance-meritbox {
		margin: 30px 0 0;
		padding: 25px 15px;
		border-width: 5px;
	}

	.insurance-merit .insurance-meritbox-header {
		flex-direction: column;
		align-items: flex-start;
	}

	.insurance-merit .insurance-meritbox-header .subttl {
		font-size: 1.7rem;
		padding: 0 0 0 27px;
	}

	.insurance-merit .insurance-meritbox-header .subttl::before {
		width: 20px;
		height: 21px;
	}

	.insurance-merit .insurance-meritbox-header .cap::before {
		top: 11px;
		width: 45px;
		height: 10px;
		-webkit-transform: unset;
		transform: unset;
	}

	.insurance-merit .insurance-meritbox-body {
		flex-direction: column;
		gap: 20px;
	}

	.insurance-merit .insurance-meritbox-body .img {
		width: 100%;
	}

	.insurance-merit .insurance-meritbox-body .txt p {
		font-size: 1.5rem;
		line-height: 2.1;
		margin: 25px 0 0;
		letter-spacing: .07em;
	}

	.insurance-merit .insurance-ex {
		flex-direction: column;
		margin: 30px 0 0;
		padding: 20px;
		align-items: flex-start;
		gap: 20px;
	}

	.insurance-merit .insurance-ex-ttl {
		font-size: 1.6rem;
		height: 50px;
		padding: 0 0 0 60px;
	}

	.insurance-merit .insurance-ex-ttl::before {
		width: 50px;
		height: 50px;
	}

	.insurance-merit .insurance-ex-dl {
		width: 100%;
		margin: 12px 0 0;
		gap: 10px;
	}

	.insurance-merit .insurance-ex-dl dl {
		width: calc((100% - 10px) / 2);
		padding: 20px 15px;
	}

	.insurance-merit .insurance-ex-dl dt {
		font-size: 1.5rem;
	}

	.insurance-merit .insurance-ex-dl dd {
		font-size: 1.8rem;
		margin: 10px 0 0;
		text-align: left;
	}

	.insurance-merit .insurance-ex-result .result1 {
		line-height: 1.7;
	}

	.insurance-merit .insurance-ex-result .result2 {
		font-size: 2rem;
		margin: 10px 0 0;
	}
}

/* -----------------------------------------------------------
    merit-area
-------------------------------------------------------------- */
#insurance .merit-area {
	margin: 100px 0 0 0;
	padding: 90px 0 110px;
	background: var(--cmnbg2);
	position: relative;
	overflow: hidden;
}

#insurance .merit-area .insurance-strength-header {
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.7;
	position: relative;
	width: fit-content;
	margin: 0 auto 50px;
	padding: 3px 26px 0 37px;
	letter-spacing: .09em;
	color: #fff;
}

#insurance .merit-area .insurance-strength-header::before, #insurance .merit-area .insurance-strength-header::after {
	position: absolute;
	top: 50%;
	width: 36px;
	height: 2px;
	content: '';
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background: #fff;
}

#insurance .merit-area .insurance-strength-header::before {
	left: 0;
	transform: rotate(60deg);
}

#insurance .merit-area .insurance-strength-header::after {
	right: 0;
	transform: rotate(-60deg);
}

@media screen and (max-width: 768px) {
	#insurance .merit-area {
		margin: 50px 0 0 0;
		padding: 40px 0 50px;
	}

	#insurance .merit-area .insurance-strength-header {
		font-size: 2rem;
		line-height: 1.7;
		margin: 0 auto 25px;
		padding: 3px 40px 0;
		text-align: center;
		letter-spacing: .07em;
	}

	#insurance .merit-area .insurance-strength-header::before, #insurance .merit-area .insurance-strength-header::after {
		width: 50px;
		height: 1px;
	}
}

/* -----------------------------------------------------------
    insurance-case-area
-------------------------------------------------------------- */
.insurance-case-area {
	position: relative;
	padding: 90px 0;
	background: var(--gray3);
}

.insurance-case-area .insurance-case-header {
	position: relative;
	z-index: 2;
	display: flex;
	color: #fff;
	align-items: center;
	gap: 80px;
}

.insurance-case-area .insurance-casebox-wrap {
	position: relative;
}

.insurance-case-area .insurance-casebox {
	position: relative;
	margin: 60px 0 0;
	padding: 45px 50px;
	background: #fff;
}

.insurance-case-area .insurance-casebox-num {
	font: italic 600 1.7rem/1 var(--en);
	position: absolute;
	top: -18px;
	left: 25px;
	display: flex;
	width: fit-content;
	padding: 8px 15px;
	color: #fff;
	background: var(--main);
	align-items: center;
	gap: 3px;
}

.insurance-case-area .insurance-casebox-num span {
	font-size: 2.1rem;
}

.insurance-case-area .insurance-casebox-info {
	display: flex;
	align-items: center;
	gap: 0 25px;
}

.insurance-case-area .insurance-casebox-info .img {
	width: 210px;
	aspect-ratio: 290/130;
	flex-shrink: 0;
}

.insurance-case-area .insurance-casebox-info .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.insurance-case-area .insurance-casebox-info .txtwrap {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 15px 30px;
}

.insurance-case-area .insurance-casebox-info dl {
	font-size: 1.9rem;
	display: flex;
	width: calc((100% - 30px) / 2);
	padding: 0 0 12px;
	border-bottom: 1px dotted var(--gray);
	gap: 25px;
}

.insurance-case-area .insurance-casebox-info .sp-w100 {
	width: 100% !important;
}

.insurance-case-area .insurance-casebox-info dt {
	font-weight: 600;
	line-height: 1.3;
	color: var(--sub2);
	flex-shrink: 0;
}

.insurance-case-area .insurance-casebox-info dd {
	line-height: 1.3;
}

.insurance-case-area .insurance-casebox-detail {
	display: flex;
	margin: 20px 0 0;
	gap: 15px;
}

.insurance-case-area .insurance-casebox-detail dl {
	padding: 25px;
	border-width: 3px;
	border-style: solid;
}

.insurance-case-area .insurance-casebox-detail dt {
	font-size: 2rem;
	font-weight: 700;
}

.insurance-case-area .insurance-casebox-detail .casebox-notused {
	width: 360px;
	border-color: #eee;
	flex-shrink: 0;
}

.insurance-case-area .insurance-casebox-detail .casebox-notused dt {
	color: var(--gray);
}

.insurance-case-area .insurance-casebox-detail .casebox-notused dd {
	font-size: 2.4rem;
	font-weight: 500;
	margin: 30px 0 0;
	text-align: center;
}

.insurance-case-area .insurance-casebox-detail .casebox-result {
	padding: 25px;
	border-color: #e0e6f8;
	flex-grow: 1;
}

.insurance-case-area .insurance-casebox-detail .casebox-result dt {
	color: var(--main);
}

.insurance-case-area .insurance-casebox-detail .casebox-result dd {
	line-height: 1.5;
	display: flex;
	margin: 15px 0 0;
	letter-spacing: .05em;
	align-items: center;
	gap: 10px 15px;
}

.insurance-case-area .insurance-casebox-detail .casebox-result .casebox-result-dd1 {
	font-size: 1.9rem;
	font-weight: 700;
	line-height: 1.3;
	padding: 10px;
	text-align: center;
	color: var(--main);
	border: 1px solid var(--main);
	flex-shrink: 0;
}

.insurance-case-area .insurance-casebox-detail .casebox-result .casebox-result-dd2 {
	font-size: 1.7rem;
	line-height: 1.6;
	letter-spacing: .03em;
}

.insurance-case-area .insurance-casebox-detail .casebox-result .dd2-plan span {
	font-size: 2.3rem;
	font-weight: 600;
	margin: 0 0 0 5px;
	color: var(--cmnred);
}

@media screen and (max-width: 768px) {
	.insurance-case-area {
		padding: 50px 0;
	}

	.insurance-case-area .insurance-case-header {
		flex-direction: column;
		margin: 0 0 60px;
		align-items: flex-start;
		gap: 30px;
	}

	.insurance-case-area .insurance-casebox {
		margin: 50px 0 0;
		padding: 25px 20px 20px;
	}

	.insurance-case-area .insurance-casebox-num {
		font-size: 1.6rem;
		left: 20px;
	}

	.insurance-case-area .insurance-casebox-num span {
		font-size: 1.8rem;
	}

	.insurance-case-area .insurance-casebox-info {
		flex-direction: column;
		align-items: flex-start;
		gap: 5px;
	}

	.insurance-case-area .insurance-casebox-info .img {
		width: 60%;
		margin: 0 auto;
	}

	.insurance-case-area .insurance-casebox-info .txtwrap {
		gap: 15px 10px;
	}

	.insurance-case-area .insurance-casebox-info dl {
		font-size: 1.6rem;
		display: block;
		width: calc((100% - 10px) / 2);
		padding: 0 0 15px;
	}

	.insurance-case-area .insurance-casebox-info dd {
		margin: 10px 0 0;
	}

	.insurance-case-area .insurance-casebox-detail {
		margin: 25px 0 0;
		flex-wrap: wrap;
		gap: 10px;
	}

	.insurance-case-area .insurance-casebox-detail dl {
		padding: 18px 15px !important;
	}

	.insurance-case-area .insurance-casebox-detail dt {
		font-size: 1.6rem;
	}

	.insurance-case-area .insurance-casebox-detail dd {
		margin: 17px 0 0 !important;
	}

	.insurance-case-area .insurance-casebox-detail .casebox-notused {
		width: 100% !important;
	}

	.insurance-case-area .insurance-casebox-detail .casebox-notused dd {
		font-size: 2.2rem;
		margin: 20px 0 0;
		text-align: left;
	}

	.insurance-case-area .insurance-casebox-detail .casebox-result {
		width: 100% !important;
	}

	.insurance-case-area .insurance-casebox-detail .casebox-result dd {
		flex-direction: column;
		align-items: flex-start;
	}

	.insurance-case-area .insurance-casebox-detail .casebox-result .casebox-result-dd1 {
		font-size: 1.8rem;
		padding: 7px;
	}

	.insurance-case-area .insurance-casebox-detail .casebox-result .casebox-result-dd2 {
		line-height: 1.8;
	}

	.insurance-case-area .insurance-casebox-detail .casebox-result .dd2-plan span {
		display: block;
		margin: 5px 0 0 0;
	}
}

/* -----------------------------------------------------------
    flow-area
-------------------------------------------------------------- */
.flow-area .flow-box-report .report-tel {
	font: 600 2.2rem/1 var(--en);
	padding: 0 5px;
	color: var(--cmnblack);
}

.flow-area .flow-box-report .report-tel::before {
	font: 900 1.7rem/1 var(--webicon);
	margin: 0 2px 0 0;
	content: '\f095';
}

@media screen and (max-width: 768px) {
	.flow-area .flow-box-report .report-tel {
		font-size: 1.8rem;
	}

	.flow-area .flow-box-report .report-tel::before {
		font-size: 1.5rem;
	}
}