@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main .sec02{
	padding: min(10vw,11.3rem) 0 min(5.9vw,8.4rem);
}
#main .sec02 .content {
	max-width: 118.5rem;
}
#main .sec02 .inner01 {
	margin-bottom: min(6.8vw,8rem);
	position: relative;
}
#main .sec02 .inner01:after {
	width: 57rem;  
	height: 57rem;
	background: url(../img/special3/bg01.webp) no-repeat;
	background-size: 100% auto;
	position: absolute;  
	top: 3.5rem;
	right: -16.7rem;  
	z-index: -1;
	content: ""; 
}
#main .sec02 .inner01 p {
	font-size: 2.7rem;
	letter-spacing: 0.2em;
	line-height: 2.33;
	text-align: justify;
	font-feature-settings: "palt";
}
#main .sec02 .inner02 {
	margin-bottom: min(7.1vw,9rem);
	position: relative;
}
#main .sec02 .inner02:last-child {
	margin-bottom: 0;
}
#main .sec02 .inner02.bg01::after {
	width: 44.5rem;  
	height: 44.5rem;
	background: url(../img/special3/bg02.webp) no-repeat;
	background-size: 100% auto;
	position: absolute;  
	top: 11.5rem;
	left: 0;
	z-index: -1;
	content: ""; 
}
#main .sec02 .inner02 .photoBox {
	order: 2;
	width: 42rem;
	margin: 9rem -6.5rem 0 min(5.5vw,7rem);
}
#main .sec02 .inner02 .photoBox img {
	width: 100%;
}
#main .sec02 .inner02 .textBox {
	flex: 1;
	padding-left: min(4.51vw,5rem);
}
#main .sec02 .inner02 .textBox .headLine03 {
	margin-right: -2rem;
}
#main .sec02 .inner02 p {
	margin-bottom: min(1.48vw,1.9rem);
	text-align: justify;
	line-height: 2.22;
	letter-spacing: 0.06em;
	font-feature-settings: "palt";
}
#main .sec02 .inner02 .note {
	font-size: 1.4rem;
	letter-spacing: 0.025em;
	line-height: 1.57;
	padding-top: 0.5rem;
}
#main .sec02 .inner02 p:last-child {
	margin-bottom: 0;
}
#main .sec02 .inner02 .linkTxt {
	font-size: 1.4rem;
	letter-spacing: 0.025em;
	text-align: left;
}
#main .sec02 .inner02 .linkTxt a:hover {
	opacity: 0.7;
}
#main .sec02 .inner03 {
	padding-bottom: 1rem;
}
#main .sec02 .inner03 .photoBox {
	order: -1;
	margin-right: min(6.25vw,8rem);
	margin-left: max(-8.45vw,-7rem);
}
#main .sec02 .inner03 .textBox {
	padding-left: 0;
	padding-right: min(5.2vw,5rem);
}
#main .sec02 .inner02.bg02::after {
	width: 54.5rem;  
	height: 54.5rem;
	background: url(../img/special3/bg03.webp) no-repeat;
	background-size: 100% auto;
	position: absolute;  
	top: 31.5rem;
	right: 1.5rem;
	z-index: -1;
	content: ""; 
}
@media all and (max-width: 896px) {
	#main .sec02 .content {
		padding: 0 2rem;
	}
	#main .mainVisual .textBox {
		padding: 2.5rem 0 0 1.5rem;
	}
	#main .mainVisual .photoBox {
		margin-bottom: -7.8rem;
	}
	#main .mainVisual .textBox .textImg  {
		width: 35.6rem;
	}
	#main .sec02 .inner01 p {
		font-size: 1.5rem;
		line-height: 2.1;
	}
	#main .sec02 .inner01::after {
		width: 34rem;
		height: 34rem;
		top: 5.4rem;
		right: -7.7rem;
	}
	#main .sec02 .inner02 {
		margin-bottom: 3rem;
	}
	#main .sec02 .inner02 .subInner {
		display: block;
	}
	#main .sec02 .inner02 .photoBox {
		width: auto;
		margin: 1.5rem 0 1rem;
	}
	#main .sec02 .inner02 .photoBox img {
		width: 100%;
	}
	#main .sec02 .inner02 .textBox {
		padding: 0;
	}
	#main .sec02 .inner01 {
		margin-bottom: 2.8rem;
	}
	#main .sec02 .inner02 p {
		font-size: 1.2rem;
		line-height: 2;
	}
	#main .sec02 .inner02.bg01::after { 
		width: 21rem;
		height: 21rem;
		left: auto;
		right: -2rem;
		top: 13.9rem;
		right: -10.2rem;
	}
	#main .sec02 .inner02 .linkTxt {
		font-size: 0.9rem;
	}
	#main .sec02 .inner02.bg02::after { 
		width: 26.5rem;
		height: 26.5rem;
		right: auto;
		left: -3.5rem;
		top: -8.8rem;
	}
	#main .sec02 .inner03 {
		padding-bottom: 0;
	}
	#main .sec02 .inner02 .note {
		font-size: 0.9rem;
		padding-top: 0.2rem;
		margin-bottom: 1.2rem;
	}
	#main .sec02 .inner02.bg03::after {
		width: 32.5rem;
		height: 32.5rem;
		background: url(../img/special3/bg03.webp) no-repeat;
		background-size: auto;
		background-size: 100% auto;
		position: absolute;
		top: 14.5rem;
		right: -3.5rem;
		z-index: -1;
		content: "";
	}
	#main .sec02 {
		padding: 3.8rem 0 2rem;
	}
}

@media all and (min-width: 897px) {
	#main .compBox p {
		padding-left: min(4.7vw,6rem);
	}
	#main .mainVisual .textBox {
		margin-left: max(-2.3vw,-3rem);
		margin-right: max(-0.8vw,-1rem);
	}
}
.h3Ttl {
	letter-spacing: 0;
}
@media all and (min-width: 897px) and (max-width: 1279px) {
	#main .compBox p {
		letter-spacing: 0.1em;
	}
	#main .sec02 .content {
		width: 89%;
	}
	#main .sec02 .inner02 .subInner {
		display: block;
	}
	#main .sec02 .inner02 .photoBox {
		margin-right: -7rem;
		margin-bottom: 2rem;
		width: 39%;
		float: right;
	}
	#main .sec02 .inner02 .textBox {
		padding-left: 1rem;
		padding-right: min(2.2vw,5rem);
	}
	#main .sec02 .inner01::after { 
		height: 65.5rem;
		height: 65.5rem;
		top: 5.2rem;
		right: -38rem;
		background-size: 100% 100%;
	}
	#main .sec02 .inner02.bg01::after { 
		height: 51rem;
		height: 51rem;
		left: -20rem;
		top: 1rem;
		background-size: 100% 100%;
	}
	#main .sec02 .inner02.bg02::after { 
		background-size: 100% 100%;
		height: 65.5rem;
		height: 60.5rem;
		right: -18rem;
		top: 27rem;
	}
	#main .sec02 .inner03 .photoBox {
		float: left;
		margin-right: 5rem;
		margin-top: 13rem;
	}
	#main .sec02 .inner02 .textBox .headLine03 .subSpan span {
		display: block;
	}

}