@charset "utf-8";


/*  l-intro
--------------------------------------------------*/
.contentsWrapper {
	background: #333333;
}
.l-intro {
	position: relative;
	width: 100%;
	opacity: 0;
	transition: opacity .5s linear .5s;
}
.subLoaded .l-intro {
	opacity: 1;
}
.intro-head {
	position: relative;
	width: 100%;
	z-index: 2;
}
.intro-head__inner {
	padding-left: 5.5rem;
	padding-block: 8.0rem 2.5rem;
}
.intro-head__inner::before {
	content: '';
	position: absolute;
	left: 0;
	top: 1.5rem;
	width: 3.0rem;
	height: 16.2rem;
	background: url('../../img/icon_line.svg') no-repeat top center/cover;
	z-index: 1;
}
.intro-head__ttl {
	font-size: 3.1rem;
	letter-spacing: .12em !important;
	color: var(--white);
}
.intro-contents {
	position: relative;
	width: 100%;
	height: 98.0rem;
	overflow: clip;
	z-index: 1;
}
.intro-contents__photo {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	overflow: clip;
	z-index: -2;
}
.intro-contents__photo img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}
.intro-contents__bg {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	overflow: clip;
	mix-blend-mode: multiply;
	z-index: -1;
}
.intro-contents__bg__inner {
	position: relative;
	height: 100%;
}
.intro-contents__bg__inner div {
	position: relative;
	width: 435px;
	height: 100%;
}
.intro-contents__bg__inner div::before {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	width: 100vw;
	height: 100%;
	background: #666666;
	z-index: -1;
}
.intro-contents__detail {
	position: relative;
	width: 100%;
	height: 100%;
	opacity: 0;
	transform: translateX(-10px);
	transition: opacity .5s linear .5s,transform .5s linear .5s;
}
.subLoaded .intro-contents__detail {
	opacity: 1;
	transform: translateX(0);
}
.intro-contents__detail__inner {
	height: 100%;
}
.intro-contents__detail__box {
	position: relative;
	width: 435px;
	padding-right: 8.0rem;
	padding-top: 22.5rem;
	height: 100%;
}
.intro-contents__detail__box__ttl {
	font-size: 3.0rem;
}
.intro-contents__detail__box__heading {
	font-size: 2.8rem;
	line-height: 2;
  letter-spacing: -.03em;
  color: var(--white);
  margin-top: 3.5rem;
}
.intro-contents__detail__box__desc {
	font-size: 1.8rem;
	line-height: 2.45965;
  letter-spacing: -.03em;
  color: var(--white);
  text-align: justify;
  margin-top: 4.0rem;
}
@media screen and (max-width: 1200px){
	.intro-head__inner {
		padding-block: 17.0rem 2.5rem;
	}
	.intro-head__inner::before {
		top: 10.5rem;
	}
}
@media screen and (max-width: 768px){
	.intro-head__inner {
		padding-left: 4.0rem;
		padding-block: 14.0rem 2.0rem;
	}
	.intro-head__inner::before {
		top: 10.5rem;
		width: 2.0rem;
		height: 10.8rem;
	}
	.intro-head__ttl {
		font-size: 2.4rem;
	}
	.intro-contents {
		height: auto;
	}
	.intro-contents__bg__inner,
	.intro-contents__bg__inner div {
		width: 100%;
	}
	.intro-contents__detail__box {
		width: 100%;
		padding-right: 0;
		padding-block: 8.0rem 8.0rem;
	}
	.intro-contents__detail__box__ttl {
		font-size: 2.0rem;
	}
	.intro-contents__detail__box__heading {
		font-size: 2.4rem;
		line-height: 1.79166667;
	  margin-top: 2.5rem;
	}
	.intro-contents__detail__box__desc {
		font-size: 1.6rem;
		line-height: 2.5;
	  margin-top: 2.3rem;
	}
}




/*  sec
--------------------------------------------------*/
.contentsGallery {
	padding-block: 18.0rem 22.0rem;
}
.sec {
	position: relative;
	width: 100%;
}
.sec + .sec {
	margin-top: 23.0rem;
}
.sec-head {
	position: relative;
	width: 100%;
	padding-left: 4.0rem;
	padding-block: 2.3rem 3.2rem;
	margin-bottom: 7.0rem;
	border-bottom: solid 1px #999;
}
.sec-head::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 1.9rem;
	height: 100%;
	background: url('../../img/icon_line.svg') no-repeat top center/cover;
}
.sec-head__ttl {
	font-size: 2.7rem;
	letter-spacing: 0;
	color: var(--white);
	line-height: 1.77777778;
}
.sec-main {
	position: relative;
	width: 100%;
}
.sec-container {
	position: relative;
	width: 100%;
	gap: 16.0rem 11.0rem;
}
.sec-container__item {
	width: calc((100% - 11.0rem) / 2);
}
.sec-container__item--wide {
	width: 100%;
}
.sec-container__item__ttl {
	font-size: 2.3rem;
	color: #cdbba5;
	margin-bottom: 1.5rem;
}
.sec-container__item__box {
	width: 100%;
}
.sec-container__item__photo {
	width: 100%;
	margin-bottom: 3.0rem;
}
.sec-container__item__box.flex .sec-container__item__photo {
	width: calc(760 / 1500 * 100%);
	margin-bottom: 0;
}
.sec-container__item__detail {
	width: 100%;
}
.sec-container__item__box.flex .sec-container__item__detail {
	width: calc(695 / 1500 * 100%);
}
.sec-container__item__detail.flex {
	gap: 0 3.0rem;
}
.sec-container__item__detail__heading {
	font-size: 2.5rem;
	line-height: 1.873188;
	letter-spacing: -.03em;
	color: var(--white);
	margin-bottom: 1.7rem;
}
.sec-container__item__detail.flex .sec-container__item__detail__heading {
	width: 34.5rem;
}
.sec-container__item__detail__desc {
	position: relative;
	font-size: 1.8rem;
	line-height: 2.22222222;
	letter-spacing: -.03em;
	color: var(--white);
	text-align: justify;
}
.sec-container__item__detail.flex .sec-container__item__detail__desc {
	flex: 1;
}
.sec-container__item__detail__tips {
	width: 100%;
  margin-top: 4.2rem;
  padding-top: 5.4rem;
	border-top: solid 1px #999;
}
.sec-container__item__detail__tips__photo {
	width: calc(215 / 695 * 100%);
}
.sec-container__item__detail__tips__desc {
	position: relative;
	width: calc(450 / 695 * 100%);
	font-size: 1.8rem;
	line-height: 2.22222222;
	letter-spacing: -.03em;
	color: var(--white);
	text-align: justify;
	margin-top: -.5em;
}
@media screen and (max-width: 768px){
	.contentsGallery {
		padding-block: 6.0rem 8.0rem;
	}
	.sec + .sec {
		margin-top: 8.0rem;
	}
	.sec-head {
		padding-left: 3.5rem;
		padding-block: .7rem 1.0rem;
		margin-bottom: 5.0rem;
	}
	.sec-head::before {
		width: 1.5rem;
	}
	.sec-head__ttl {
		font-size: 1.8rem;
	}
	.sec-container {
		gap: 6.0rem 0;
	}
	.sec-container__item {
		width: 100%;
	}
	.sec-container__item__ttl {
		font-size: 2.2rem;
		margin-bottom: 1.2rem;
	}
	.sec-container__item__photo {
		width: 100%;
		margin-bottom: 2.7rem;
	}
	.sec-container__item__box.flex .sec-container__item__photo {
		width: 100%;
		margin-bottom: 2.7rem;
	}
	.sec-container__item__box.flex .sec-container__item__detail {
		width: 100%;
	}
	.sec-container__item__detail__heading {
		font-size: 2.0rem;
		line-height: 1.9;
		margin-bottom: 2.0rem;
	}
	.sec-container__item__detail.flex .sec-container__item__detail__heading {
		width: 100%;
	}
	.sec-container__item__detail__desc {
		font-size: 1.6rem;
		line-height: 2.125;
	}
	.sec-container__item__detail.flex .sec-container__item__detail__desc {
		flex: 100%;
	}
	.sec-container__item__detail__tips {
	  margin-top: 4.2rem;
	  padding-top: 5.0rem;
	}
	.sec-container__item__detail__tips__photo {
		width: calc(215 / 320 * 100%);
		margin-inline: auto;
		margin-bottom: 3.0rem;
	}
	.sec-container__item__detail__tips__desc {
		width: 100%;
		font-size: 1.6rem;
		line-height: 2.125;
		margin-top: 0;
	}
}




/*  l-outro
--------------------------------------------------*/
.l-outro {
	padding-top: 11.0rem;
}
.outro-bnr {
	display: block;
	width: 100%;
}
@media screen and (max-width: 768px){
	.l-outro {
		padding-top: 8.0rem;
	}
}
