
/*===========================================================================
 secExtraClass
===========================================================================*/
.secExtraClass .extraTtl {
	position: relative;
	padding-left: calc(20 * var(--rs));
	font-family: var(--font-noto-serif);
	font-weight: 500;
	font-size: calc(36 * var(--rs));
	line-height: 1.58;
	letter-spacing: 0.04em;
}
.secExtraClass .extraTtl::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 2px;
	height: calc(100% * 40 / 57);
	background-color: #333;
	transform: translateY(calc(-50% + 2 * var(--rs)));
}

.secExtraClass .extraClassContainer {
	margin-top: calc(114 * var(--rs));
}
.secExtraClass .extraClassWrap {
	margin-top: calc(86 * var(--rs));
}
.secExtraClass .extraClassWrap > * + * {
	margin-top: calc(160 * var(--rs));
}
.secExtraClass .extraClass_media {
	display: flex;
	align-items: flex-start;
}
.secExtraClass .extraClass_body {
	position: relative;
	padding-top: calc(60 * var(--rs));
	background-color: #fff;
	z-index: 1;
}
.secExtraClass .extraClass_ttl {
	color: var(--key-color);
	font-family: var(--font-noto-serif);
	font-weight: 500;
	font-size: calc(32 * var(--rs));
	line-height: 1.47;
	letter-spacing: 0.04em;
}
.secExtraClass .extraClass_txt {
	margin-top: calc(25 * var(--rs));
	font-size: calc(16 * var(--rs));
	line-height: 2;
}
.secExtraClass .extraClass_imgWrap {
	display: grid;
	gap: calc(20 * var(--rs));
}
.secExtraClass .extraClass:nth-child(odd) .extraClass_imgWrap {
	grid-template-columns: 1119fr 370fr;
	grid-template-rows: repeat(2, 200fr) 140fr;
	flex: 0 0 calc(1510 * var(--rs));
	margin-right: calc(-547 * var(--rs));
	padding-bottom: calc(137 * var(--rs));
}
.secExtraClass .extraClass:nth-child(odd) .extraClass_img01 {
	grid-area: 1 / 1 / 4 / 2;
}
.secExtraClass .extraClass:nth-child(odd) .extraClass_img02 {
	grid-area: 1 / 2 / 2 / 3;
}
.secExtraClass .extraClass:nth-child(odd) .extraClass_img03 {
	grid-area: 2 / 2 / 3 / 3;
}

.secExtraClass .extraClass:nth-child(even) .extraClass_imgWrap {
	grid-template-columns: 400fr 270fr 140fr 579fr;
	grid-template-rows: repeat(2, 270fr) 30fr;
	flex: 0 0 calc(1449 * var(--rs));
	margin-left: calc(-439 * var(--rs));
}
.secExtraClass .extraClass:nth-child(even) .extraClass_img01 {
	grid-area: 1 / 1 / 4 / 2;
}
.secExtraClass .extraClass:nth-child(even) .extraClass_img02 {
	grid-area: 1 / 2 / 2 / 3;
}
.secExtraClass .extraClass:nth-child(even) .extraClass_img03 {
	grid-area: 1 / 3 / 2 / 5;
}
.secExtraClass .extraClass:nth-child(even) .extraClass_img04 {
	grid-area: 2 / 2 / 3 / 4;
}
.secExtraClass .extraClass:nth-child(even) .extraClass_img05 {
	grid-area: 2 / 4 / 3 / 5;
}

.secExtraClass .secWrap {
	margin-top: calc(140 * var(--rs));
}
.secExtraClass .secWrap > * + * {
	margin-top: calc(140 * var(--rs));
}
.secExtraClass .secHead {
	height: 0;
	padding-top: calc(100% * 430 / 1920);
	background: no-repeat center center / cover;
}
.secExtraClass .sec.-sec01 .secHead {
	background-image: url(/chu-ko/life/kagai/images/sec01_mv_bg.jpg);
}
.secExtraClass .sec.-sec02 .secHead {
	background-image: url(/chu-ko/life/kagai/images/sec02_mv_bg.jpg);
}
.secExtraClass .secBody {
	margin-top: calc(198 * var(--rs));
}

.secExtraClass .growthWrap {
	margin-top: calc(86 * var(--rs));
}
.secExtraClass .growthWrap > * + * {
	margin-top: calc(120 * var(--rs));
}
.secExtraClass .growth {
	position: relative;
	display: flex;
}
.secExtraClass .growth::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	width: 100vw;
	height: calc(370 * var(--rs));
	background-color: #fafafa;
	z-index: -1;
}
.secExtraClass .growth_txtWrap {
	flex: 1;
}
.secExtraClass .growth_ttl {
	color: var(--key-color);
	font-family: var(--font-noto-serif);
	font-weight: 500;
	font-size: calc(28 * var(--rs));
	line-height: 1.57;
	letter-spacing: 0.04em;
}
.secExtraClass .growth_txt {
	margin-top: calc(24 * var(--rs));
	font-size: calc(16 * var(--rs));
	line-height: 2;
}
.secExtraClass .growth:nth-child(odd) {
	margin-right: calc(-360 * var(--rs));
	padding-bottom: calc(84 * var(--rs));
}
.secExtraClass .growth:nth-child(odd)::after {
	right: 0;
	transform: translateX(calc(-790 * var(--rs)));
}
.secExtraClass .growth:nth-child(odd) .growth_txtWrap {
	margin-top: calc(70 * var(--rs));
}
.secExtraClass .growth:nth-child(odd) .growth_imgWrap {
	flex-basis: calc(951 * var(--rs));
	display: grid;
	grid-template-columns: calc(286 * var(--rs)) calc(222 * var(--rs)) calc(411 * var(--rs));
	gap: calc(16 * var(--rs));
	margin-left: calc(100 * var(--rs));
}
.secExtraClass .growth:nth-child(odd) .growth_img02 {
	margin-top: calc(138 * var(--rs));
}
.secExtraClass .growth:nth-child(odd) .growth_img03 {
	margin-top: calc(14 * var(--rs));
}
.secExtraClass .growth:nth-child(even) {
	flex-direction: row-reverse;
	margin-left: calc(-360 * var(--rs));
	padding-bottom: calc(82 * var(--rs));
}
.secExtraClass .growth:nth-child(even)::after {
	left: 0;
	transform: translateX(calc(790 * var(--rs)));
}
.secExtraClass .growth:nth-child(even) .growth_txtWrap {
	margin-top: calc(27 * var(--rs));
	margin-left: calc(94 * var(--rs));
}
.secExtraClass .growth:nth-child(even) .growth_imgWrap {
	flex-basis: calc(1000 * var(--rs));
}

.secExtraClass .cardWrap {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: calc(60 * var(--rs));
	margin-top: calc(97 * var(--rs));
}
.secExtraClass .card {
	display: flex;
	flex-direction: column-reverse;
}
.secExtraClass .card_body {
	margin-top: calc(22 * var(--rs));
}
.secExtraClass .card_ttl {
	color: var(--key-color);
	font-family: var(--font-noto-serif);
	font-weight: 500;
	font-size: calc(24 * var(--rs));
	line-height: 1.58;
	letter-spacing: 0.04em;
}
.secExtraClass .card_txt {
	margin-top: calc(10 * var(--rs));
	font-size: calc(16 * var(--rs));
	line-height: 2;
}

.secExtraClass .banner {
	margin-top: calc(176 * var(--rs));
}
.secExtraClass .banner img {
	width: 100%;
}
/* PC
----------------------------------*/
@media screen and (min-width: 769px) {
	.secExtraClass .secLead_txt {
		max-width: calc(582 * var(--rs));
	}

	.secExtraClass .extraClass:nth-child(odd) .extraClass_media {
		flex-direction: row-reverse;
	}
	.secExtraClass .extraClass:nth-child(odd) .extraClass_body {
		flex: 0 0 calc(598 * var(--rs));
		margin-top: calc(403 * var(--rs));
		padding-bottom: calc(86 * var(--rs));
		padding-left: calc(61 * var(--rs));
	}
	.secExtraClass .extraClass:nth-child(odd) .voice {
		min-height: calc(360 * var(--rs));
	}
	.secExtraClass .extraClass:nth-child(even) .extraClass_body {
		flex: 0 0 calc(550 * var(--rs));
		margin-top: calc(470 * var(--rs));
		padding-right: calc(70 * var(--rs));
		padding-bottom: calc(80 * var(--rs));
	}

	.secExtraClass .extraClassWrap > *:nth-child(even).-pcImgL .extraClass_imgWrap {
		grid-template-rows: 270fr 320fr 4fr;
	}
	.secExtraClass .extraClassWrap > *:nth-child(even).-pcImgL .extraClass_img01 {
		grid-area: 1 / 1 / 3 / 2;
	}
	.secExtraClass .extraClassWrap > *:nth-child(even).-pcImgL .extraClass_img04 {
		grid-area: 2 / 2 / 4 / 4;
	}
	.secExtraClass .extraClassWrap > *:nth-child(even).-pcImgL .extraClass_img05 {
		grid-area: 2 / 4 / 4 / 5;
	}
}
/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
	.secExtraClass .extraTtl {
		padding: calc(7 * var(--rs)) 0 calc(6 * var(--rs)) calc(28 * var(--rs));
		font-size: calc(52 * var(--rs));
		line-height: 1.38;
		letter-spacing: normal;
	}
	.secExtraClass .extraTtl::before {
		top: 0;
		height: 100%;
		transform: initial;
	}

	.secExtraClass .extraClassContainer {
		margin-top: calc(134 * var(--rs));
	}
	.secExtraClass .extraClassWrap {
		margin-top: calc(80 * var(--rs));
	}
	.secExtraClass .extraClass_media {
		flex-direction: column-reverse;
	}
	.secExtraClass .extraClass_body {
		margin: calc(-30 * var(--rs)) calc(17 * var(--rs)) 0;
		padding: calc(62 * var(--rs)) calc(40 * var(--rs)) calc(92 * var(--rs));
	}
	.secExtraClass .extraClass_ttl {
		font-size: calc(48 * var(--rs));
		line-height: 1.41;
	}
	.secExtraClass .extraClass_txt {
		margin-top: calc(29 * var(--rs));
		font-size: calc(32 * var(--rs));
		line-height: 1.88;
	}
	.secExtraClass .extraClass_imgWrap {
		gap: calc(10 * var(--rs));
	}
	.secExtraClass .extraClass:nth-child(odd) .extraClass_imgWrap {
		grid-template-columns: 470fr 190fr;
		grid-template-rows: repeat(2, 210fr);
		flex: initial;
		margin-right: 0;
		padding-bottom: 0;
	}
	.secExtraClass .extraClass:nth-child(odd) .extraClass_img01 {
		grid-area: 1 / 1 / 3 / 2;
	}

	.secExtraClass .extraClass:nth-child(even) .extraClass_imgWrap {
		grid-template-columns: 309fr 108fr 24fr 197fr;
		grid-template-rows: 200fr 220fr;
		flex: initial;
		margin-left: 0;
	}
	.secExtraClass .extraClass:nth-child(even) .extraClass_img01 {
		grid-area: 1 / 1 / 3 / 2;
	}

	.secExtraClass .voice {
		position: relative;
		padding-bottom: calc(242 * var(--rs));
		transition: height 0.3s ease-in-out;
	}
	.secExtraClass .voice.is-hide {
		height: calc(890 * var(--rs));
		overflow: hidden;
	}
	.secExtraClass .voice:not(.is-hide) .md-voice_btnWrap {
		background-image: none;
	}
	.secExtraClass .voice.is-hide .md-voice_btnTxt.-close {
		display: none;
	}
	.secExtraClass .voice:not(.is-hide) .md-voice_btnTxt:not(.-close) {
		display: none;
	}
	.secExtraClass .voice:not(.is-hide) .md-voice_btnTxt::after {
		display: none;
	}

	.secExtraClass .secWrap > * + * {
		margin-top: calc(150 * var(--rs));
	}
	.secExtraClass .secHead {
		padding-top: calc(100% * 560 / 750);
	}
	.secExtraClass .sec.-sec01 .secHead {
		background-image: url(/chu-ko/life/kagai/images/sp_sec01_mv_bg.jpg);
	}
	.secExtraClass .sec.-sec02 .secHead {
		background-image: url(/chu-ko/life/kagai/images/sp_sec02_mv_bg.jpg);
	}
	.secExtraClass .secBody {
		margin-top: calc(183 * var(--rs));
	}

	.secExtraClass .growthWrap {
		margin-top: calc(80 * var(--rs));
	}
	.secExtraClass .growthWrap > * + * {
		margin-top: calc(140 * var(--rs));
	}
	.secExtraClass .growth {
		flex-direction: column-reverse;
	}
	.secExtraClass .growth::after {
		top: calc(230 * var(--rs));
		bottom: auto;
		height: calc(100% - 230 * var(--rs));
	}
	.secExtraClass .growth_txtWrap {
		flex: initial;
	}
	.secExtraClass .growth_ttl {
		font-size: calc(42 * var(--rs));
		line-height: 1.52;
		letter-spacing: normal;
	}
	.secExtraClass .growth_txt {
		margin-top: calc(25 * var(--rs));
		font-size: calc(32 * var(--rs));
		line-height: 1.88;
	}
	.secExtraClass .growth:nth-child(odd) {
		margin-right: 0;
		padding-bottom: calc(122 * var(--rs));
	}
	.secExtraClass .growth:nth-child(odd)::after {
		transform: translateX(calc(-110 * var(--rs)));
	}
	.secExtraClass .growth:nth-child(odd) .growth_txtWrap {
		margin-top: calc(80 * var(--rs));
	}
	.secExtraClass .growth:nth-child(odd) .growth_imgWrap {
		flex-basis: initial;
		display: grid;
		grid-template-columns: 216fr 176fr 258fr;
		gap: calc(10 * var(--rs));
		margin-left: 0;
	}
	.secExtraClass .growth:nth-child(odd) .growth_img02 {
		margin-top: calc(108 * var(--rs));
	}
	.secExtraClass .growth:nth-child(odd) .growth_img03 {
		margin-top: calc(11 * var(--rs));
	}
	.secExtraClass .growth:nth-child(even) {
		flex-direction: column-reverse;
		margin-left: 0;
		padding-bottom: calc(120 * var(--rs));
	}
	.secExtraClass .growth:nth-child(even)::after {
		transform: translateX(calc(110 * var(--rs)));
	}
	.secExtraClass .growth:nth-child(even) .growth_txtWrap {
		margin: calc(80 * var(--rs)) 0 0;
	}
	.secExtraClass .growth:nth-child(even) .growth_imgWrap {
		flex-basis: initial;
	}

	.secExtraClass .cardWrap {
		grid-template-columns: 1fr;
		gap: calc(94 * var(--rs));
		margin-top: calc(78 * var(--rs));
	}
	.secExtraClass .card_body {
		margin-top: calc(38 * var(--rs));
	}
	.secExtraClass .card_ttl {
		font-size: calc(40 * var(--rs));
		line-height: 1.6;
	}
	.secExtraClass .card_txt {
		margin-top: calc(12 * var(--rs));
		font-size: calc(32 * var(--rs));
		line-height: 1.88;
	}

	.secExtraClass .banner {
		margin-top: calc(174 * var(--rs));
	}
}
