@charset "utf-8";



/*  concept-wrap
--------------------------------------------------*/
.concept-wrap {
	position: relative;
	background: url('../img/bg_concept-pc.jpg') no-repeat center top/cover;
}
.l-concept-kv {
	position: relative;
}
.concept-kv__catch {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.l-concept-kv .f-caption{
	transform: translateY(70%);
}
@media screen and (max-width: 768px){
	.concept-wrap {
		background: url('../img/bg_concept-sp.jpg') no-repeat center top/cover;
	}
	.l-concept-kv .f-caption{
		transform: translateY(40%);
	}
}






/*  l-contents
--------------------------------------------------*/
/* 
	vw = スクロールを除く画面幅 / 100 = 19.2px（1935pxの場合※1920px）
	font-size: min(calc( var(--vw) * (▲▲px / 19.2) ),▲▲px);
*/
.l-contents{
	width:min(100%,1920px);
	margin-inline: auto;
	color: #085431;
}
.contents-inner {
	position: relative;
	padding-block: calc(210 / 1920 * 100%) calc(1510 / 1920 * 100%);
}
.leaf-pc {
	position: absolute;
	left: 0;
	bottom: 0;
/*	margin-block: calc(276 / 1920 * 100%) 0;*/
	width: 100%;
	aspect-ratio: 1920 / 8410;
	pointer-events: none;
	cursor: default;
}
.leaf-pc img{
	object-position: bottom center;
}
.leaf-pc_branch {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%);
}
.leaf-pc_txt{
	position: relative;
	z-index: 1;
}
.leaf-pc_catch{
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	opacity: 0;
	visibility: hidden;
	transition: all 1s;
	z-index: 2;
}
.leaf-pc_catch.is-end{
	opacity: 1;
	visibility: visible;
}
.intro {
	position: relative;
	z-index: 3;
}
.intro-heading {
	font-size: min(calc( var(--vw) * 2.708333333333333 ),52px);
	line-height: 1.75;
	letter-spacing: 0;
	text-align: center;
	margin-block: 0 calc(140 / 1920 * 100%);
}
.intro-desc {
	font-size: min(calc( var(--vw) * 1.5625 ),30px);
	line-height: 2.210526315789474;
	letter-spacing: 0;
	text-align: center;
}
.intro-desc + .intro-desc {
	margin-block: calc(40 / 1920 * 100%) 0;
}
.contents-box {
	position: relative;
	margin-inline: auto;
}
.leaf-sp {
	display: none;
}
.contents-item {
	position: relative;
	margin-inline: auto;
}
.contents-item__txt {
	width: 100%;
	font-size: min(calc( var(--vw) * 1.25 ),24px);
	line-height: 1.75;
	letter-spacing: .1em;
	text-shadow: 1px 1px #dce0ba, 0px 1px #dce0ba, 1px 0px #dce0ba, -1px -1px #dce0ba;
}
.contents-item__figure{
	position: relative;
	width: 100%;
}
.contents-item__figure__cap{
	font-size: min(calc( var(--vw) * 0.520833333333333 ),10px);
	line-height: 1.2;
	letter-spacing: 0;
	text-align: right;
	margin-block: calc(8 / 1920 * 100%) 0;
}

.contents-box{
	position: relative;
	z-index: 10;
}


/* contents-box1 */
.contents-box1 {
	margin-top: calc(265 / 1920 * 100%);
	width: calc(1260 / 1920 * 100%);
}
.contents-box1 .contents-item{
	width: calc(684 / 1260 * 100%);
	margin-inline: auto 0;
}


/* contents-box2 */
.contents-box2 {
	margin-top: calc(380 / 1920 * 100%);
	width: calc(1380 / 1920 * 100%);
}
.contents-box2 .contents-item{
	width: calc(710 / 1380 * 100%);
	margin-inline: auto 0;
}


/* contents-box3 */
.contents-box3 {
	margin-top: calc(270 / 1920 * 100%);
	width: calc(1706 / 1920 * 100%);
}
.contents-box3 .contents-item{
	width: calc(483 / 1706 * 100%);
	margin-inline: auto 0;
}


/* contents-box4 */
.contents-box4 {
	margin-top: calc(270 / 1920 * 100%);
	width: calc(1920 / 1920 * 100%);
}
.contents-box4 .contents-item{
	width: calc(1155 / 1920 * 100%);
	margin-inline: auto 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	flex-direction: row-reverse;
}
.contents-box4 .contents-item__figure{
	width: calc(654 / 1155 * 100%);
}
.contents-box4 .contents-item__txt{
	width: calc(470 / 1155 * 100%);
}


/* contents-box5 */
.contents-box5 {
	margin-top: calc(200 / 1920 * 100%);
	width: calc(1660 / 1920 * 100%);
}
.contents-box5 .contents-item{
	width: calc(500 / 1660 * 100%);
	margin-inline: auto 0;
}

/* contents-box6 */
.contents-box6 {
	margin-top: calc(170 / 1920 * 100%);
	width: calc(1740 / 1920 * 100%);
}
.contents-box6 .contents-item{
	width: calc(654 / 1740 * 100%);
	margin-inline: auto 0;
}
.contents-box6 .contents-item__figure{
	margin-block: 0 calc(20 / 654 * 100%);
}

/* contents-box7 */
.contents-box7 {
	margin-top: calc(-90 / 1920 * 100%);
	width: calc(1594 / 1920 * 100%);
}
.contents-box7 .contents-item{
	width: calc(550 / 1594 * 100%);
	margin-inline: 0 auto;
}
.contents-box7 .contents-item__figure{
	margin-block: 0 calc(20 / 550 * 100%);
}

/* contents-box8 */
.contents-box8 {
	margin-top: calc(190 / 1920 * 100%);
	width: calc(1740 / 1920 * 100%);
}
.contents-box8 .contents-item{
	width: calc(478 / 1740 * 100%);
	margin-inline: auto 0;
}

/* contents-box9 */
.contents-box9 {
	margin-top: calc(530 / 1920 * 100%);
	width: calc(1794 / 1920 * 100%);
}
.contents-box9 .contents-item{
	width: calc(697 / 1794 * 100%);
	margin-inline: auto 0;
}
.contents-box9 .contents-item__txt{
	margin-block: 0 calc(40 / 697 * 100%);
}
.contents-box9 .contents-item__figure{
	position: relative;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.contents-box9 .contents-item__figure__img{
	position: relative;
}
.contents-box9 .contents-item__figure__img1{
	width: calc(376 / 697 * 100%);
	position: absolute;
	left: 0;
	top: 0;
	margin-left: calc(-40 / 697 * 100%);
	margin-top: calc(-30 / 697 * 100%);
}
.contents-box9 .contents-item__figure__img2{
	width: calc(340 / 697 * 100%);
	z-index: 1;
}
.contents-box9 .contents-item__figure__img3{
	width: calc(340 / 697 * 100%);
	z-index: 1;
}

/* contents-box10 */
.contents-box10 {
	margin-top: calc(225 / 1920 * 100%);
	width: calc(1620 / 1920 * 100%);
}
.contents-box10 .contents-item{
	width: calc(840 / 1620 * 100%);
	margin-inline: auto 0;
}

.intro-more {
	position: relative;
	margin-top: min(calc( var(--vw) * 2.083333333333333 ),40px);
}
.intro-more__link {
	position: relative;
	display: inline-block;
	font-size: min(calc( var(--vw) * 1.145833333333333 ),22px);
	line-height: 1;
	letter-spacing: .1em;
	padding-block: 0 min(calc( var(--vw) * 0.3125 ),6px);
	overflow: hidden;
}
.intro-more-soon .intro-more__link {
	pointer-events: none;
	cursor: default;
}
.intro-more__link:after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background-color: #000000;
}
.intro-more__link:hover:after {
	animation: flowing 1.6s linear infinite both;;
}
@keyframes flowing {
	0% { transform:translateX(0); }
	30% { transform:translateX(110%);opacity:1; }
	31% { transform:translateX(110%);opacity:0; }
	69% { transform:translateX(-110%);opacity:0; }
	70% { transform:translateX(-110%);opacity:1; }
	100% { transform:translateX(0); }
}
@media screen and (max-width: 768px){
	.l-contents{
		width: 100%;
		overflow: hidden;
		background: url('../img/img_leaf_branch-sp.svg') no-repeat center bottom/cover;
	}
	.contents-inner {
		padding-block: 8.0rem 8.0rem;
	}
	.leaf-pc {
		display: none;
	}
	.intro-heading {
		font-size: 2.0rem;
		letter-spacing: .2em;
		margin-block: 0 4.0rem;
	}
	.intro-desc {
		font-size: 1.4rem;
		line-height: 2.142857142857143;
		letter-spacing: .2em;
	}
	.intro-desc + .intro-desc {
		margin-block: 3.0rem 0;
	}
	.contents-box{
		width: min(100%,560px);
		margin-inline: auto;
	}
	.leaf-sp {
		position: relative;
		display: block;
		width: calc(540 / 380 * 100%);
		margin-left: calc(-80 / 380 * 100%);
	}
	.contents-item{
		width: min(calc(320 / 380 * 100%),560px) !important;
		margin-inline: auto !important;
	}
	.contents-item__txt {
		font-size: 1.4rem;
		line-height: 2.142857142857143;
		letter-spacing: .15em;
		text-align: justify;
	}
	.contents-item__txt br{	
		display: none;
	}
	.contents-item__figure__cap{
		font-size: 1.0rem;
		margin-block: .8rem 0;
		text-shadow: 1px 1px #dce0ba, 0px 1px #dce0ba, 1px 0px #dce0ba, -1px -1px #dce0ba;
	}
	/* contents-box1 */
	.contents-box1 {
		margin-top: 2.0rem;
	}

	/* contents-box2 */
	.contents-box2 {
		margin-top: 2.0rem;
	}
	.contents-box2 .contents-item{
		margin-top: 2.0rem;
	}

	/* contents-box3 */
	.contents-box3 {
		margin-top: 6.0rem;
	}
	.contents-box3 .contents-item{
		margin-top: 2.0rem;
	}
	.contents-box3 .contents-item__figure{
		width: 100%;
		margin-block: 0 2.5rem;
	}

	/* contents-box4 */
	.contents-box4 {
		margin-top: 5.0rem;
	}
	.contents-box4 .contents-item{
		margin-top: 2.5rem;
	}
	.contents-box4 .contents-item__figure{
		width: 100%;
		margin-block: 0 2.5rem;
	}
	.contents-box4 .contents-item__txt{
		width: 100%;
	}

	/* contents-box5 */
	.contents-box5 {
		margin-top: 6.0rem;
	}
	.contents-box5 .contents-item{
		margin-top: 2.0rem;
	}

	/* contents-box6 */
	.contents-box6 {
		margin-top: 7.0rem;
	}
	.contents-box6 .contents-item{
		display: block;
		margin-top: 3.5rem;
	}
	.contents-box6 .contents-item__figure{
		width: 100%;
		margin-block: 0 2.5rem;
	}
	.contents-box6 .contents-item__txt{
		width: 100%;
	}

	/* contents-box7 */
	.contents-box7 {
		margin-top: 7.0rem;
	}
	.contents-box7 .contents-item__figure{
		width: 100%;
		margin-block: .5rem 2.5rem;
	}
	.contents-box7 .contents-item__txt{
		width: 100%;
	}

	/* contents-box8 */
	.contents-box8 {
		margin-top: 7.0rem;
	}
	.contents-box8 .contents-item{
		margin-top: 4.5rem;
	}

	/* contents-box9 */
	.contents-box9 {
		margin-top: 3.0rem;
	}
	.contents-box9 .contents-item{
		margin-top: 2.5rem;
	}
	.contents-box9 .contents-item__txt{
		width: 100%;
		margin-block: 0 4.0rem;
	}
	.contents-box9 .contents-item__figure__img{
		width: 100%;
		margin-block: 0;
	}
	.contents-box9 .contents-item__figure__img + .contents-item__figure__img{
		margin-block: 2.0rem 0;
	}
	.contents-box9 .contents-item__figure__img1{
		width: 100%;
		position: static;
		margin: 0;
	}

	/* contents-box10 */
	.contents-box10 {
		margin-top: 8.5rem;
		z-index: 11;
	}
	.contents-box10 .contents-item{
		margin-top: 2.0rem;
	}

	/* contents-box11 */
	.contents-box11 {
		margin-top: -13.0rem;
	}

	.intro-more {
		text-align: right;
		margin-top: 1.5rem;
	}
	.intro-more__link {
		font-size: 1.6rem;
		padding-block: 0 .3rem;
	}
}






