@charset "utf-8";
/*------------------------------------------------------------
	special05
------------------------------------------------------------*/
#main .mainVisual .content {
	padding-top: min(16.41vw,21rem);
}
#main .mainVisual .textBox {
	padding-top: 0;
	position: absolute;
	top: max(-2.03vw,-2.6rem);
	left: 0;
	margin: 0;
}
#main .mainVisual .photoBox {
	margin-left: auto;
}
#main .mainVisual .photoBox .txtSpan {
	width: min(18.91vw,24.2rem);
	top: auto;
	right: auto;
	z-index: 1;
	left: max(-21.72vw,-27.8rem);
	bottom: min(0.47vw,0.6rem);
}
#main .compBox {
	margin-bottom: min(8.5vw,10.8rem);
}
#main .sec02{
	padding-bottom: min(14rem);
	position: relative;
}
#main .sec02:after {
	width: 100%;  
	background: url(../img/special5/bg01.webp) no-repeat;
	background-position: center bottom;
	background-size: cover;
	position: absolute;  
	top: min(3vw,3.8rem);
	bottom: 0;
	left: 0;
	content: ""; 
	z-index: -1;
}
#main .sec02 .content {
	max-width: min(92.58vw,118.5rem);
}
#main .sec02 .notes {
	margin-top: min(1.25vw,1.6rem);
	padding-left: 2.5em;
	text-indent: -2.5em;
	font-size: 1.4rem;
	text-align: left !important;
	letter-spacing: 0.025em;
	line-height: 1.42 !important;
}
#main .sec02 .inner01 {
	margin-bottom: min(7.65vw,9.8rem);
	position: relative;
}
#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 {
	position: relative;
	margin: 0 min(3.3vw,4.8rem) min(7.73vw,9.9rem);
}
#main .sec02 .inner02:last-child {
	margin-bottom: 0;
}
#main .sec02 .inner02 .photoBox {
	order: 2;
	width: min(39.84vw,51rem);
	margin: min(0.93vw,12px) 0 0 min(4.5vw,5.8rem);
}
#main .sec02 .inner02 .photoBox img {
	width: 100%;
}
#main .sec02 .inner02 .photoBox span {
	display: block;
	font-size: 1.4rem;
	letter-spacing: 0.025em;
	margin-top: min(0.78vw,1rem);
}
#main .sec02 .inner02 .textBox {
	flex: 1;
}
#main .sec02 .inner02 .textBox .headLine03 {
	margin-right: max(-1.56vw,-2rem);
}
#main .sec02 .inner02 p {
	margin-bottom: min(1.48vw,1.9rem);
	text-align: justify;
	line-height: 2.22;
	letter-spacing: 0;
	font-feature-settings: "palt";
}
#main .sec02 .inner02 .txt {
	border: 0.1rem solid #000000;
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	line-height: 1.875;
	padding: min(0.78vw,1rem) min(1.4vw,1.8rem);
	background-color: rgba(255, 255, 255, 0.7);
}
#main .sec02 .inner02 .note {
	font-size: 1.4rem;
	letter-spacing: 0.025em;
	line-height: 1.57;
	padding-top: min(0.39vw,0.5rem);
}
#main .sec02 .inner02 p:last-child {
	margin-bottom: 0;
}
#main .sec02 .inner02 .linkTxt {
	text-align: left;
	font-size: 1.4rem;
	letter-spacing: 0.025em;
	margin-right: max(-3.13vw,-4rem);
}
#main .sec02 .inner02 .linkTxt a:hover {
	opacity: 0.7;
}
#main .sec02 .inner03 .headLine03 {
	margin-bottom: min(3.2vw,4.1rem);
}
#main .sec02 .inner03 .textBox {
	order: 3;
	margin: min(-0.94vw,-1.2rem) 0 0 min(3.13vw,4rem);
}
#main .sec02 .inner03 .photoBox {
	margin: 0;
	width: min(47.65vw,61rem);
}
#main .sec02 .inner03 {
	margin-bottom: min(6.4vw,8.3rem);
}
#main .sec02 .inner04 .photoBox .image {
	margin-right: max(-8.59vw,-11rem);
}
#main .sec02 .inner04 .imgUl {
	margin-top: min(2.3vw,3rem);
}
#main .sec02 .inner04 .notes {
	margin-top: min(1.25vw,1.6rem);
}

@media all and (min-width: 897px) {
	#main .mainVisual {
		margin-bottom: min(51.56vw,6.6rem);
	}
	#main .mainVisual .textBox .textImg {
		width: min(73.43vw,94rem);
	}
	#main .mainVisual .iconBox {
		bottom: max(-0.7vw,-0.9rem);
	}
	#main .compBox p {
		padding-right: min(2.4vw,3rem);
	}
	#main .sec02 .imgUl {
		align-items: stretch;
		margin-top: min(1.95vw,2.5rem);
		display: flex;
		justify-content: space-between;
		gap: min(2.34vw,3rem);
	}
	#main .sec02 .imgUl li {
		position: relative;
		width: calc((100% - min(2.34vw,3rem))/2);
	}
	#main .sec02 .imgUl .wid {
		width: auto;
		flex: 1;
	}
	#main .sec02 .imgUl .leftMar {
		position: relative;
		margin-left: min(-8vw,-10.9rem);
	}
	#main .sec02 .imgUl li img {
		object-fit: cover;
		height: 100%;
	}
	#main .sec02 .list01 li .image {
		height: 100%;
	}
	#main .sec02 .imgUl .right {
		order: 3;
	}
	#main .sec02 .list01 {
		gap: min(1.95vw,2.5rem);
	}
	#main .sec02 .list01 li {
		width: min(39.84vw,51rem);
	}
}

@media all and (min-width: 897px) and (max-width: 1279px) {

	#main .mainVisual .content {
		padding: min(16.44vw,14.8rem) min(6vw,5.4rem) 0;
	}
	#main .mainVisual .photoBox {
		width: 72.7%;
	}
	#main .mainVisual .textBox {
		left: min(3.66vw,3.3rem);
	}
	#main .compBox p {
		padding: min(0.33vw,0.3rem) 0 0 0 !important;
	}
	#main .compBox {
		margin-bottom: min(3.88vw,3.5rem);
	}
	#main .sec02 .content {
		padding: 0 3.6rem;
	}
	#main .sec02 .headLine02 {
		margin-bottom: min(5vw,3.9rem)
	}
	#main .sec02::after {
		top: min(4vw,3.6rem);
	}
	#main .sec02 .inner02 {
		margin: 0 min(0.88vw,0.8rem) min(6.77vw,6.1rem);
	}
	#main .sec02 .imgUl .leftMar {
		margin-left: max(-8.65vw,-7.8rem);
	}
	#main .sec02 .notes {
		margin-top: min(1.88vw,1.7rem);
	}
	#main .sec02 .inner03 .headLine03 {
		margin-bottom: min(4.55vw,4.1rem);
	}
	#main .sec02 .inner04 .notes {
		margin-right: -5rem;
	}
}


@media all and (max-width: 896px) {
	#main .sec02 .subInner {
		display: block;
	}
	#main .mainVisual .content {
		padding: 14rem 3rem 0 6rem;
	}
	#main .mainVisual .textBox {
		top: 0.6rem;
		left: 2.5rem;
	}
	#main .mainVisual .photoBox {
		margin: 0 0 0 auto;
	}
	#main .mainVisual .photoBox .txtSpan {
		width: 9.7rem;
		left: -4.4rem;
		bottom: -2.9rem;
	}
	#main .mainVisual {
		margin-bottom: 5.2rem;
	}
	#main .mainVisual .textBox .textImg {
		width: 33.1rem;
	}
	#main .mainVisual .iconBox {
		bottom: -4rem;
	}
	#main .compBox {
		margin-bottom: 2.5rem;
	}
	#main .sec02 .content {
		max-width: inherit;
		padding: 0 2rem;
	}
	#main .sec02 .inner01 p {
		font-size: 1.5rem;
		line-height: 2.1;
	}
	#main .sec02 .inner02 {
		margin: 0 0 3.2rem;
	}
	#main .sec02 .inner02 p {
		line-height: 2;
	}
	#main .sec02 .inner01 {
		margin-bottom: 2.7rem;
	}
	#main .sec02 .inner02 .photoBox {
		width: auto;
		margin: 1.5rem 0 0 0;
	}
	#main .sec02 .imgUl {
		margin-top: 1.4rem;
	}
	#main .sec02 .imgUl li:not(:last-child) {
		margin-bottom: 1.5rem;
	}
	#main .sec02 .imgUl .leftMar {
		margin: 0 -2rem;
	}
	#main .sec02 .notes {
		margin-top: 0.8rem;
		font-size: 1rem;
	}
	#main .sec02 .inner03 .textBox {
		margin: 0;
	}
	#main .sec02 .inner03 .headLine03 {
		margin-bottom: 0.9rem;
	}
	#main .sec02 .inner04 .photoBox .image {
		margin: 0 -2rem;
	}
	#main .sec02 .inner04 .imgUl {
		margin-top: 1.8rem;
	}
	#main .sec02 .inner04 .notes {
		margin-top: 0.8rem;
	}
	#main .sec02 {
		padding-bottom: 3rem;
	}
	#main .sec02::after {
		top: 4.9rem;
		background-image: url(../img/special5/bg01_sp.webp);
	}
	#main .compBox p {
		margin-right: 0;
	}
}