/*===========================================================================
 mv
===========================================================================*/
.mv_txtWrap * {
	text-shadow: 0 0 calc(5 * var(--rs)) rgba(0, 0, 0, 0.7);
	font-family: var(--font-noto-serif);
	font-weight: 500;
}
.mv_lead {
	margin: calc(-1 * var(--rs)) 0 0 calc(-36 * var(--rs));
	font-size: calc(56 * var(--rs));
	line-height: 1.48;
}
.mv_boxWrap {
	margin: calc(38 * var(--rs)) 0 0 calc(-17 * var(--rs));
}
.mv_boxRow {
	display: flex;
}
.mv_boxRow + .mv_boxRow {
	margin-top: calc(16 * var(--rs));
}
.mv_boxTtl {
	flex-basis: calc(125 * var(--rs));
	font-size: calc(28 * var(--rs));
	line-height: 1.43;
	letter-spacing: 0.1em;
}
.mv_boxTxtCol {
	flex: 1;
	margin-top: calc(4 * var(--rs));
}
.mv_boxTxt {
	font-size: calc(16 * var(--rs));
	line-height: 1.75;
	letter-spacing: 0.08em;
}
.mv_boxQuote {
	font-size: calc(12 * var(--rs));
	line-height: 1.42;
	letter-spacing: 0.1em;
	text-align: right;
}
.mv_txt {
	margin-top: calc(38 * var(--rs));
	font-size: calc(22 * var(--rs));
	line-height: 1.77;
	letter-spacing: 0.08em;
}
/* PC
----------------------------------*/
@media screen and (min-width: 769px) {
	.mv_inr {
		justify-content: start;
		align-items: start;
		padding-top: calc(147 * var(--rs));
	}
	.mv_txtWrap {
		min-width: calc(385 * var(--rs));
	}
}
/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
	.mv_inr {
		padding-top: calc(384 * var(--rs));
	}
	.mv_txtWrap {
		min-width: calc(560 * var(--rs));
	}
	.mv_txtWrap * {
		text-shadow: 0 0 calc(9 * var(--rs)) rgba(51, 51, 51, 0.6);
	}
	.mv_ttl {
		font-size: calc(24 * var(--rs));
		line-height: 1.5;
		letter-spacing: 0.06em;
	}
	.mv_lead {
		margin: calc(-2 * var(--rs)) 0 0 calc(-52 * var(--rs));
		font-size: calc(80 * var(--rs));
		line-height: 1.5;
		letter-spacing: 0.1em;
	}
	.mv_boxWrap {
		margin: calc(24 * var(--rs)) 0 0 calc(-26 * var(--rs));
	}
	.mv_boxRow + .mv_boxRow {
		margin-top: calc(37 * var(--rs));
	}
	.mv_boxTtl {
		flex-basis: calc(168 * var(--rs));
		font-size: calc(38 * var(--rs));
		line-height: 1.47;
	}
	.mv_boxTxt {
		margin-top: calc(-1 * var(--rs));
		font-size: calc(24 * var(--rs));
		line-height: 1.5;
	}
	.mv_boxQuote {
		margin: calc(8 * var(--rs)) 0 0 calc(-11 * var(--rs));
		font-size: calc(20 * var(--rs));
		line-height: 1.45;
		text-align: left;
	}
	.mv_txt {
		margin: calc(38 * var(--rs)) 0 0 calc(-2 * var(--rs));
		font-size: calc(31 * var(--rs));
	}
}


/*===========================================================================
 secSlogan
===========================================================================*/
.secSlogan .secInr {
	padding-top: calc(80 * var(--rs));
	padding-bottom: calc(180 * var(--rs));
}
.secSlogan .groupWrap > * + * {
	margin-top: calc(160 * var(--rs));
}
.secSlogan .groupWrap > *:last-child {
	margin-top: calc(180 * var(--rs));
}

.secSlogan .groupWrap > *:nth-child(even) {
	position: relative;
	padding-bottom: calc(186 * var(--rs));
}
.secSlogan .groupWrap > *:nth-child(even)::after {
	content: "";
	display: block;
	position: absolute;
	top: calc(309 * var(--rs));
	left: 0;
	width: 100vw;
	height: calc(100% - 309 * var(--rs));
	background-color: #fbf9f5;
	z-index: -1;
	transform: translateX(calc(160 * var(--rs)));
}
/* PC
-------------------------------------*/
@media screen and (min-width: 769px) {
	.secSlogan .groupWrap .group02 {
		padding-bottom: calc(147 * var(--rs));
	}
	.secSlogan .groupWrap .group02::after {
		top: calc(145 * var(--rs));
		right: 0;
		left: auto;
		height: calc(100% - 145 * var(--rs));
		transform: translateX(calc(-174 * var(--rs)));
	}
}
/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
	.secSlogan .secInr {
		padding-top: calc(130 * var(--rs));
	}
	.secSlogan .groupWrap > * + * {
		margin-top: calc(136 * var(--rs));
	}
	.secSlogan .groupWrap > *:last-child {
		margin-top: calc(150 * var(--rs));
	}

	.secSlogan .groupWrap > *:nth-child(even) {
		padding-top: calc(76 * var(--rs));
		padding-bottom: calc(170 * var(--rs));
	}
	.secSlogan .groupWrap > *:nth-child(even)::after {
		top: 0;
		width: 100vw;
		height: 100%;
		transform: translateX(calc(130 * var(--rs)));
	}

	.secSlogan .groupWrap .group02 {
		padding-top: 0;
		padding-bottom: calc(106 * var(--rs));
	}
	.secSlogan .groupWrap .group02::after {
		top: calc(224 * var(--rs));
		height: calc(100% - 224 * var(--rs));
		transform: translateX(calc(198 * var(--rs)));
	}
}



/*===========================================================================
 media
===========================================================================*/
.secSlogan .media {
	display: flex;
	flex-direction: row-reverse;
	align-items: start;
}
.secSlogan .media_body {
	flex: 1;
}
.secSlogan .media_ttl {
	color: var(--key-color);
	font-family: var(--font-noto-serif);
	font-weight: 500;
	font-size: calc(32 * var(--rs));
	line-height: 1.75;
	letter-spacing: 0.04em;
}
.secSlogan .media_txt {
	margin-top: calc(38 * var(--rs));
	font-size: calc(16 * var(--rs));
	line-height: 2.38;
}
.secSlogan .media_txt > span + span {
	display: inline-block;
	margin-top: calc(16 * var(--rs));
}
.secSlogan .media_imgWrap {
	position: relative;
}

.secSlogan .media01 .media_imgWrap {
	flex-basis: calc(990 * var(--rs));
	padding-bottom: calc(164 * var(--rs));
	margin-left: calc(-360 * var(--rs));
}
.secSlogan .media01 .media_img02 {
	position: absolute;
	right: calc(-53 * var(--rs));
	bottom: 0;
	width: calc(420 * var(--rs));
}

.secSlogan .media02 .media_imgWrap {
	flex-basis: calc(748 * var(--rs));
	margin-right: calc(-360 * var(--rs));
	margin-left: calc(79 * var(--rs));
	padding-bottom: calc(248 * var(--rs));
}
.secSlogan .media02 .media_img02 {
	position: absolute;
	left: calc(-932 * var(--rs));
	bottom: calc(51 * var(--rs));
	width: calc(240 * var(--rs));
}
.secSlogan .media02 .media_img03 {
	position: absolute;
	left: calc(-82 * var(--rs));
	bottom: 0;
	width: calc(420 * var(--rs));
}

.secSlogan .media03 .media_imgWrap {
	margin-right: calc(86 * var(--rs));
	padding-bottom: calc(204 * var(--rs));
}
.secSlogan .media03 .media_img02 {
	position: absolute;
	left: calc(-107 * var(--rs));
	bottom: 0;
	width: calc(420 * var(--rs));
}

.secSlogan .media04 .media_imgWrap {
	flex-basis: calc(1023 * var(--rs));
	margin-left: calc(-360 * var(--rs));
}
/* PC
-------------------------------------*/
@media screen and (min-width: 769px) {
	.secSlogan .group03 {
		margin-top: calc(120 * var(--rs));
	}
	.secSlogan .media01 .media_body {
		margin-top: calc(86 * var(--rs));
		margin-left: calc(119 * var(--rs));
		padding-right: calc(42 * var(--rs));
	}

	.secSlogan .media02 {
		flex-direction: row;
		padding-left: calc(200 * var(--rs));
	}
	.secSlogan .media02 .media_body {
		margin-top: calc(62 * var(--rs));
	}
	.secSlogan .media02 .media_txt {
		max-width: calc(420 * var(--rs));
	}

	.secSlogan .media03 {
		padding-right: calc(51 * var(--rs));
		padding-left: calc(67 * var(--rs));
	}
	.secSlogan .media03 .media_body {
		margin-top: calc(40 * var(--rs));
	}
	.secSlogan .media03 .media_imgWrap {
		flex-basis: calc(486 * var(--rs));
	}

	.secSlogan .media04 .media_body {
		margin-top: calc(130 * var(--rs));
		margin-left: calc(142 * var(--rs));
	}
}
/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
	.secSlogan .media {
		flex-direction: column;
		align-items: start;
	}
	.secSlogan .media_body {
		display: contents;
	}
	.secSlogan .media_ttl {
		font-size: calc(48 * var(--rs));
		line-height: 1.88;
		letter-spacing: 0.02em;
	}
	.secSlogan .media_txt {
		order: 1;
		margin-top: calc(68 * var(--rs));
		font-size: calc(32 * var(--rs));
		line-height: 2.19;
	}
	.secSlogan .media_txt > span + span {
		margin-top: calc(16 * var(--rs));
	}
	.secSlogan .media_imgWrap {
		margin-top: calc(70 * var(--rs));
	}

	.secSlogan .media01 .media_imgWrap {
		flex-basis: initial;
		padding-right: calc(230 * var(--rs));
		padding-bottom: calc(34 * var(--rs));
		margin-left: calc(-40 * var(--rs));
	}
	.secSlogan .media01 .media_img02 {
		width: calc(480 * var(--rs));
		right: 0;
	}
	.secSlogan .media01 .media_img02 {
		right: 0;
		width: calc(210 * var(--rs));
	}

	.secSlogan .media02 .media_imgWrap {
		flex-basis: initial;
		margin-right: calc(-40 * var(--rs));
		margin-left: calc(-40 * var(--rs));
		padding-bottom: calc(154 * var(--rs));
		padding-left: calc(130 * var(--rs));
	}
	.secSlogan .media02 .media_img01 {
		width: calc(620 * var(--rs));
	}
	.secSlogan .media02 .media_img02 {
		left: 0;
		bottom: calc(132 * var(--rs));
		width: calc(210 * var(--rs));
	}
	.secSlogan .media02 .media_img03 {
		left: calc(406 * var(--rs));
		width: calc(190 * var(--rs));
	}

	.secSlogan .media03 .media_imgWrap {
		margin-right: calc(-40 * var(--rs));
		padding-bottom: calc(78 * var(--rs));
		padding-left: calc(160 * var(--rs));
	}
	.secSlogan .media03 .media_img01 {
		width: calc(550 * var(--rs));
	}
	.secSlogan .media03 .media_img02 {
		left: 0;
		width: calc(210 * var(--rs));
	}

	.secSlogan .media04 .media_imgWrap {
		flex-basis: initial;
		width: calc(710 * var(--rs));
		margin-left: calc(-40 * var(--rs));
	}
}


/*===========================================================================
 gallery
===========================================================================*/
.secSlogan .gallery {
	position: relative;
	margin-top: calc(154 * var(--rs));
	padding: calc(131 * var(--rs)) 0 calc(276 * var(--rs));
}
.secSlogan .gallery_img01 {
	width: calc(760 * var(--rs));
}
.secSlogan .gallery_img02 {
	position: absolute;
	top: 0;
	right: calc(42 * var(--rs));
	width: calc(326 * var(--rs));
}
.secSlogan .gallery_img03 {
	position: absolute;
	bottom: 0;
	right: calc(270 * var(--rs));
	width: calc(486 * var(--rs));
}
/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
	.secSlogan .gallery {
		margin-top: calc(166 * var(--rs));
		margin-left: calc(-40 * var(--rs));
		padding: calc(195 * var(--rs)) 0 calc(310 * var(--rs));
	}
	.secSlogan .gallery_img01 {
		width: calc(570 * var(--rs));
	}
	.secSlogan .gallery_img02 {
		right: 0;
		width: calc(220 * var(--rs));
	}
	.secSlogan .gallery_img03 {
		right: calc(55 * var(--rs));
		width: calc(370 * var(--rs));
	}
}


/*===========================================================================
 person
===========================================================================*/
.secSlogan .person {
	display: flex;
	margin-top: calc(116 * var(--rs));
}
.secSlogan .person_main {
	flex: 1;
	display: flex;
	flex-direction: row-reverse;
}
.secSlogan .person_mainBody {
	flex: 1;
	margin-left: calc(34 * var(--rs));
}
.secSlogan .person_ttl {
	color: var(--key-color);
	font-family: var(--font-noto-serif);
	font-weight: 500;
	font-size: calc(22 * var(--rs));
	line-height: 1.64;
	letter-spacing: 0.04em;
}
.secSlogan .person_info {
	display: flex;
	align-items: center;
	margin-top: calc(37 * var(--rs));
	color: var(--key-color);
	font-family: var(--font-noto-serif);
	font-weight: 500;
}
.secSlogan .person_position {
	font-size: calc(14 * var(--rs));
	line-height: 1.43;
}
.secSlogan .person_mainName {
	display: inline-block;
	margin-right: calc(5 * var(--rs));
	margin-left: calc(20 * var(--rs));
	font-size: calc(20 * var(--rs));
	line-height: 1.4;
	letter-spacing: 0.04em;
}
.secSlogan .person_year {
	display: block;
	color: var(--key-color);
	font-family: var(--font-noto-serif);
	font-weight: 500;
	font-size: calc(12 * var(--rs));
	line-height: 1.42;
	letter-spacing: 0.04em;
}
.secSlogan .person_txt {
	margin-top: calc(18 * var(--rs));
	font-size: calc(16 * var(--rs));
	line-height: 1.88;
}
.secSlogan .person_sub {
	flex-basis: calc(406 * var(--rs));
	margin-top: calc(-9 * var(--rs));
	margin-left: calc(93 * var(--rs));
}
.secSlogan .person_subCol {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
}
.secSlogan .person_subCol:not(:last-child) {
	margin-bottom: calc(25 * var(--rs));
}
.secSlogan .person_subBody {
	flex: 1;
	margin-top: calc(4 * var(--rs));
	margin-left: calc(26 * var(--rs));
}
.secSlogan .person_subName {
	display: inline-block;
	margin-bottom: calc(1 * var(--rs));
	color: var(--key-color);
	font-family: var(--font-noto-serif);
	font-weight: 500;
	font-size: calc(16 * var(--rs));
	line-height: 1.75;
	letter-spacing: 0.04em;
}
.secSlogan .person_subImg {
	flex-basis: calc(113 * var(--rs));
}
/* PC
-------------------------------------*/
@media screen and (min-width: 769px) {
	.secSlogan .person_mainImgWrap {
		flex-basis: calc(249 * var(--rs));
	}
}
/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
	.secSlogan .person {
		display: block;
		margin-top: calc(84 * var(--rs));
	}
	.secSlogan .person_main {
		flex-direction: column;
	}
	.secSlogan .person_mainBody {
		display: contents;
	}
	.secSlogan .person_ttl {
		font-size: calc(36 * var(--rs));
		line-height: 1.56;
	}
	.secSlogan .person_info {
		flex: 1;
		display: block;
		margin: calc(-10 * var(--rs)) 0 0 calc(40 * var(--rs));
	}
	.secSlogan .person_position {
		font-size: calc(24 * var(--rs));
		line-height: 1.46;
	}
	.secSlogan .person_mainName {
		margin: calc(14 * var(--rs)) 0 calc(6 * var(--rs));
		font-size: calc(34 * var(--rs));
		line-height: 1.41;
	}
	.secSlogan .person_year {
		font-size: calc(22 * var(--rs));
		line-height: 1.41;
	}
	.secSlogan .person_txt {
		order: 1;
		margin-top: calc(36 * var(--rs));
		font-size: calc(26 * var(--rs));
		line-height: 1.85;
	}
	.secSlogan .person_mainImgWrap {
		display: flex;
		align-items: center;
		margin-top: calc(66 * var(--rs));
	}
	.secSlogan .person_mainImg {
		flex-basis: calc(220 * var(--rs));
	}
	.secSlogan .person_sub {
		margin: calc(48 * var(--rs)) 0 0;
	}
	.secSlogan .person_subCol:not(:last-child) {
		margin-top: 0;
		margin-bottom: calc(40 * var(--rs));
	}
	.secSlogan .person_subBody {
		margin-left: calc(40 * var(--rs));
	}
	.secSlogan .person_subName {
		margin-bottom: calc(8 * var(--rs));
		font-size: calc(30 * var(--rs));
		line-height: 1.33;
	}
	.secSlogan .person_subImg {
		flex-basis: calc(150 * var(--rs));
	}
}
