  
/*--------------------------------------------------
    animation
=================================================*/

main{
	padding-bottom: 109px;
}
@media (max-width: 480px){ /* for SP */
	main{
		padding-bottom: 19vw;
	}
}

/*--------------------------------------------------
    style
=================================================*/

/* nav */
#navWrap .nav01 svg{
	width: 98px;
	height: 24px;
}
#navWrap .nav02 svg{
	width: 137px;
	height: 22px;
}
#navWrap .nav03 svg{
	width: 244px;
	height: 24px;
}
#navWrap .nav04 svg{
	width: 184px;
	height: 24px;
}
#navWrap .nav05 svg{
	width: 97px;
	height: 25px;
}
#navWrap .nav06 svg{
	width: 156px;
	height: 24px;
}
#mainNav .nav_palntName{
	max-width: 110px;
}
@media (max-width: 480px){ /* for SP */
	#navWrap .nav01 svg{
		width: 18vw;
		height: 4.5vw;
	}
	#navWrap .nav02 svg{
		width: 26vw;
		height: 4.5vw;
	}
	#navWrap .nav03 svg{
		width: 46vw;
		height: 4.5vw;
	}
	#navWrap .nav04 svg{
		width: 34vw;
		height: 4.5vw;
	}
	#navWrap .nav05 svg{
		width: 17vw;
		height: 4.5vw;
	}
	#navWrap .nav06 svg{
		width: 29vw;
		height: 4.5vw;
	}
	#mainNav .nav_palntName{
		max-width: 20vw;
	}
}

/* mainvisual */
#mainVisual{
	display: grid;
	grid-template-columns: 45px 1fr 45px;
	grid-template-rows: 79px 1fr;
	width: 100%;
	height: 660px;
	overflow: hidden;
}
#mainVisual .bg{
	grid-column: 1/4;
	grid-row: 1 / 3;
	position: relative;
	z-index: 0;
}
#mainVisual p{
	grid-column: 2;
	grid-row: 2;
	line-height: 1;
	justify-self: end;
	color: #FFF;
	font-family: var(--font-biz);
	font-weight: bold;
	z-index: 1;
	text-shadow: 3px 2px 0 #606060;
}
#mainVisual p small{
	display: block;
	font-size: 1.5rem;
	line-height: 1;
	min-height: 1.2em;
	margin-bottom: 12px;
}
#mainVisual p strong{
	display: block;
	font-size: 5.625rem;
	letter-spacing: 0.1em;
	margin-bottom: 10px;
}
#mainVisual p span{
	font-size: 3.4375rem;
	letter-spacing: 0.2em;
}
@media (min-width: 481px){ /* for PC */
}
@media (max-width: 480px){ /* for SP */
	#mainVisual{
		grid-template-columns: 8vw 1fr 8vw;
		grid-template-rows: 15vw 1fr;
		height: 118vw;
	}
	#mainVisual p small{
		font-size: 1.0625rem;
		margin-bottom: 2vw;
	}
	#mainVisual p strong{
		font-size: 4.25rem;
		margin-bottom: 2vw;
	}
	#mainVisual p span{
		font-size: 2.4375rem;
	}
}
/* --animated */
#mainVisual .bg{
	scale: 1.08;
}
#mainVisual .bg{
	animation: mainScale 1s .5s var(--once);
}
		@keyframes mainScale {
			0% {
				scale: 1.08;
			}
			100% {
				scale: 1;
			}
		}
#mainVisual p i{
	display: block;
	transform: translateY(1.1em);
}
#mainVisual p small,
#mainVisual p strong,
#mainVisual p span{
	display: block;
	clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
}
#mainVisual.animated p small i{
	animation: mainClipIn .3s .5s var(--once);
}
#mainVisual.animated p strong i{
	animation: mainClipIn .5s .6s var(--once);
}
#mainVisual.animated p span i{
	animation: mainClipIn .4s .8s var(--once);
}
@keyframes mainClipIn {
	0% {
		transform: translateY(1.1em);
	}
	100% {
		transform: translateY(0);
	}
}

/* #read */
#read{
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	width: 100%;
	align-items: center;
	padding-top: 45px;
	padding-bottom: 40px;
}
#read p span{
	letter-spacing: -0.12em;
}
#read p{
	font-size: 1.125rem;
	font-family: var(--font-biz);
	font-weight: 400;
	line-height: 2.1;
	max-width: calc(100% - 310px);
}
#read hr{
	display: block;
	width: 75px;
	height: 1px;
	margin: 0;
	border: none;
	background: var(--fontColor-sub);
}
@media (min-width: 481px){ /* for PC */
}
@media (max-width: 480px){ /* for SP */
	#read{
		padding-top: 9vw;
		padding-bottom: 8vw;
	}
	#read p{
		font-size: 0.875rem;
		max-width: 45vw;
	}
	#read hr{
		width: 13vw;
	}
}


/* #plantMovie */
#plantMovie{
	display: grid;
	place-content: center;
	place-items: center;
	border-radius: 15px;
	margin-bottom: 52px;
}
#plantMovie button{
	grid-column: 1;
	grid-row: 1;
	padding: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	cursor: pointer;
	z-index: 1;
}
#plantMovie .mv{
	grid-column: 1;
	grid-row: 1;
	width: 100%;
	aspect-ratio: 70 / 39;
	border-radius: 15px;
	object-fit: cover;
	z-index: 0;
}
@media (min-width: 481px){ /* for PC */
}
@media (max-width: 480px){ /* for SP */
	#plantMovie{
		margin-bottom: 9vw;
	}
	#plantMovie button img{
		max-width: 12vw;
	}
}

/* contentsList */
#contentsList{
	margin-bottom: 134px;
}
#contentsList h2{
	display: block;
	max-width: 245px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 40px;
	border-radius: 80px;
	border: var(--fontColor-sub) solid 1px;
	padding: 21px 1em;
	line-height: 1;
	text-align: center;
}
#contentsList h2 svg{
	width: 128px;
	height: 22px;
	fill: currentColor;
}
#contentsList ul{
	margin-bottom: 78px;
}
#contentsList li{
	display: block;
	text-align: center;
	font-size: 1.25rem;
}
#contentsList li:not(:last-child){
	margin-bottom: 31px;
}
#contentsList li a{
	display: inline-block;
	margin-left: auto;
	margin-right: auto;
	color: inherit;
	font-family: var(--font-biz);
	font-weight: 400;
	position: relative;
}
#contentsList li a::after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: var(--fontColor-sub);
	transition:all 0.3s ease;
}
#contentsList .sh{
	display: block;
	position: relative;
}
#contentsList .sh::before,
#contentsList .sh::after{
	content: "";
	display: block;
	width: 40px;
	height: 1px;
	background: var(--fontColor-sub);
	rotate: -36deg;
	position: absolute;
	top: 0;
}
#contentsList .sh::before{
	left: calc(50% - 15px);
}
#contentsList .sh::after{
	left: calc(50% - 30px);
}
@media (min-width: 481px){ /* for PC */
	#contentsList li a:hover::after{
		width: 0%;
		transition:all 0.3s ease;
	}
}
@media (max-width: 480px){ /* for SP */
	#contentsList{
		margin-bottom: 25vw;
	}
	#contentsList h2{
		max-width: 45vw;
		margin-bottom: 8vw;
		padding: 3vw 1em;
	}
	#contentsList h2 svg{
		width: 24vw;
		height: 5vw;
	}
	#contentsList ul{
		margin-bottom: 15vw;
	}
	#contentsList li{
		font-size: 0.9375rem;
		line-height: 1;
	}
	#contentsList li:not(:last-child){
		margin-bottom: 6vw;
	}
	#contentsList .sh::before,
	#contentsList .sh::after{
		width: 7vw;
	}
	#contentsList .sh::before{
		left: calc(50% - 3vw);
	}
	#contentsList .sh::after{
		left: calc(50% - 5vw);
	}
}
/* --animation */
#contentsList ul li{
	opacity: 0;
	transform: translateY(10px);
}
#contentsList ul.animated li:nth-child(1){
	animation: commonFadeIn .8s 0s var(--once);
}
#contentsList ul.animated li:nth-child(2){
	animation: commonFadeIn .8s .1s var(--once);
}
#contentsList ul.animated li:nth-child(3){
	animation: commonFadeIn .8s .2s var(--once);
}
#contentsList ul.animated li:nth-child(4){
	animation: commonFadeIn .8s .3s var(--once);
}
#contentsList ul.animated li:nth-child(5){
	animation: commonFadeIn .8s .4s var(--once);
}
#contentsList ul.animated li:nth-child(6){
	animation: commonFadeIn .8s .5s var(--once);
}


/* #s01 */
#s01{
	font-family: var(--font-noto);
	overflow: hidden;
}
#s01 .head{
	display: grid;
	grid-template-columns: 50px 1fr 50px;
	grid-template-rows: repeat(3,auto);
	margin-bottom: 45px;
	overflow: hidden;
}
#s01 h2{
	grid-column: 2;
	grid-row: 1;
	margin-bottom: 41px;
}
#s01 h2 img{
	width: 150px;
}	
#s01 h3{
	grid-column: 2;
	grid-row: 2;
	display: inline-block;
	font-size: 1.125rem;
	width: 19em;
	padding-bottom: 5px;
	color: var(--fontColor-sub);
	border-bottom: var(--fontColor-sub) solid 2px;
}
#s01 .head p{
	grid-column: 2;
	grid-row: 3;
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: flex-end;
	margin-top: 30px;
	padding-left: 3px;
	font-family: inherit;
	position: relative;
	z-index: 1;
}
#s01 .head p img{
	width: 262px;
	margin-left: 15px;
	margin-right: 12px;
}
#s01 .head p small{
	color: var(--fontColor-sub);
	font-size: 1.875rem;
	padding-bottom: 19px;
}
.s01_textSec1{
	display: grid;
	grid-template-columns: 50px 1fr 50px;
	grid-template-rows: 10px 276px 10px;
	margin-bottom: 50px;
}
.s01_textSec1::before,
.s01_textSec1::after{
	grid-column: 2;
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: var(--fontColor-sub);
}
.s01_textSec1::before{
	grid-row: 1;
}
.s01_textSec1::after{
	grid-row: 4;
	max-width: calc(100% - 198px);
	justify-self: end;
	align-self: end;
}
.s01_textSec1 p{
	grid-column: 2;
	grid-row: 2;
	line-height: 2.3;
	font-size: 1.0625rem;
	writing-mode: vertical-rl;
	text-orientation: upright;
}
.s01_textSec1 p .point{
	display: inline-block;
	position: relative;
	padding-top: 1em;
	line-height: 1.2;
}
.s01_textSec1 p .point::before,
.s01_textSec1 p .point::after{
	content: "";
	display: inline-block;
	width: 1px;
	height: 0.6em;
	background: var(--fontColor);
	position: absolute;
	left: 0.55em;
}
.s01_textSec1 p .point::before{
	top: 0.2em;
}
.s01_textSec1 p .point::after{
	top: 14.4em;
}
.s01_textSec1 .img1{
	grid-column: 1/3;
	grid-row: 2;
	align-self: end;
	max-width: calc(100% - 214px);
	margin-left: -34px;
	margin-bottom: -22px;
}
.s01_textSec2{
	display: grid;
	grid-template-columns: 50px 1fr 50px;
	grid-template-rows: 1fr;
	margin-bottom: 33px;
	padding-bottom: 50px;
}
.s01_textSec2 strong{
	grid-column: 2;
	grid-row: 1;
	justify-self: end;
	font-weight: 400;
	font-size: 1.125rem;
	margin-top: 5px;
	writing-mode: vertical-rl;
	text-orientation: upright;
}
.s01_textSec2 .img2{
	grid-column: 2;
	grid-row: 1;
	width: calc(100% - 40px);
}
.s01_textSec2 .caption{
	grid-column: 2;
	grid-row: 1;
	align-self: end;
	position: relative;
}
.s01_textSec2 .caption::before{
	content: "";
	display: block;
	background: #ff8029;
	clip-path: polygon(0 0, 5% 0, 100% 100%, 95% 100%);
	position: absolute;
}
.s01_textSec2 .caption::after{
	content: "";
	display: block;
	background: #ff8029;
	position: absolute;
}
.s01_textSec2 .c1{
	margin-left: 161px;
	margin-bottom: -47px;
}
.s01_textSec2 .caption.c1::before{
	width: 20px;
	height: 70px;
	clip-path: polygon(0 0, 8% 0, 100% 100%, 93% 100%);
	bottom: 12px;
	left: -73px;
}
.s01_textSec2 .caption.c1::after{
	width: 41px;
	height: 2px;
	bottom: 12px;
	left: -54px;
}
.s01_textSec2 .c2{
	margin-left: 356px;
	margin-bottom: -48px;
}
.s01_textSec2 .caption.c2::before{
	width: 30px;
	height: 118px;
	clip-path: polygon(0 0, 5% 0, 100% 100%, 95% 100%);
	bottom: 12px;
	left: -83px;
}
.s01_textSec2 .caption.c2::after{
	width: 41px;
	height: 2px;
	bottom: 12px;
	left: -54px;
}
.s01_textSec3{
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 183px 236px;
	max-width: calc(100% - 100px);
	padding-top: 55px;
	margin: 0 auto 72px auto;
	border: #414141 solid 1px;
	border-radius: 20px;
}
.s01_textSec3 .img3{
	grid-column: 1;
	grid-row: 1;
	justify-self: center;
	max-width: 233px;
	margin-left: 67px;
}
.s01_textSec3 .cap1{
	grid-column: 1;
	grid-row: 1;
	justify-self: start;
	font-size: 1.125rem;
	margin-top: 32px;
	margin-left: 88px;
	writing-mode: vertical-rl;
	text-orientation: upright;
}
.s01_textSec3 .img4{
	grid-column: 1;
	grid-row: 2;
	justify-self: start;
	max-width: 341px;
	margin-left: 30px;
}
.s01_textSec3 .cap2{
	grid-column: 1;
	grid-row: 2;
	justify-self: end;
	font-size: 1.125rem;
	margin-top: 34px;
	margin-right: 31px;
	writing-mode: vertical-rl;
	text-orientation: upright;
}
#s01 .sepalate{
	margin-bottom: 78px;
}
@media (min-width: 481px){ /* for PC */
}
@media (max-width: 480px){ /* for SP */
	#s01 .head{
		grid-template-columns: 9vw 1fr 9vw;
		grid-template-rows: 44vw auto auto;
		margin-bottom: 9vw;
	}
	#s01 h2 img{
		width: 27vw;
	}
	#s01 h3{
		font-size: 1rem;
		padding-bottom: 2px;
	}
	#s01 .head p{
		margin-top: 6vw;
	}
	#s01 .head p img{
		width: 46vw;
		margin-left: 3vw;
		margin-right: 2vw;
	}
	#s01 .head p small{
		font-size: 1.5rem;
		padding-bottom: 3vw;
	}
	.s01_textSec1{
		grid-template-columns: 9vw 1fr 9vw;
		grid-template-rows: 3vw 47vw 3vw;
		margin-bottom: 8vw;
	}
	.s01_textSec1::after{
		max-width: 60vw;
	}
	.s01_textSec1 p{
		font-size: 0.8125rem;
		line-height: 2.4;
	}
	.s01_textSec1 .img1{
		max-width: 56vw;
		margin-left: -6vw;
		margin-bottom: -5vw;
	}
	.s01_textSec2{
		grid-template-columns: 9vw 1fr 9vw;
		grid-template-rows: 1fr;
		margin-bottom: 5vw;
		padding-bottom: 10vw;
	}
	.s01_textSec2 strong{
		font-size: 0.875rem;
		margin-top: 5px;
		margin-right: 0;
	}
	.s01_textSec2 .img2{
		width: 75vw;
	}
	.s01_textSec2 .caption{
		font-size: 0.875rem;
	}
	.s01_textSec2 .caption::before{
		clip-path: polygon(0 0, 5% 0, 100% 100%, 95% 100%);
	}
	.s01_textSec2 .c1{
		margin-left: 29vw;
		margin-bottom: -9vw;
	}
	.s01_textSec2 .caption.c1::before{
		width: 4.2vw;
		height: 16vw;
		clip-path: polygon(0 0, 10% 0, 100% 100%, 90% 100%);
		bottom: 0.8em;
		left: -14vw;
	}
	.s01_textSec2 .caption.c1::after{
		width: 8vw;
		bottom: 0.8em;
		left: -10vw;
	}
	.s01_textSec2 .c2{
		margin-left: 63vw;
		margin-bottom: -9vw;
	}
	.s01_textSec2 .caption.c2::before{
		width: 6vw;
		height: 26vw;
		clip-path: polygon(0 0, 10% 0, 100% 100%, 90% 100%);
		bottom: 0.8em;
		left: -14.8vw;
	}
	.s01_textSec2 .caption.c2::after{
		width: 8vw;
		bottom: 0.8em;
		left: -9vw;
	}
	.s01_textSec3{
		grid-template-rows: 33vw 42vw;
		max-width: 82vw;
		padding-top: 9vw;
		margin-bottom: 13vw;
	}
	.s01_textSec3 .img3{
		max-width: 42vw;
		margin-left: 12vw;
	}
	.s01_textSec3 .cap1{
		font-size: 0.875rem;
		margin-top: 6vw;
		margin-left: 15vw;
	}
	.s01_textSec3 .img4{
		max-width: 61vw;
		margin-left: 5vw;
	}
	.s01_textSec3 .cap2{
		font-size: 0.875rem;
		margin-top: 7vw;
		margin-right: 5vw;
	}
	#s01 .sepalate{
		margin-bottom: 14vw;
	}
	#s01 .sepalate img{
		max-width: 5vw;
	}
}

/* --animation */
#s01 .head h2{
	opacity: 0;
	transform: translateY(10px);
}
#s01.animated .head h2{
	animation: commonFadeIn .5s 0s var(--once);}
#s01 .head h3{
	opacity: 0;
	transform: translateY(10px);
}
#s01.animated .head h3{
	animation: commonFadeIn .5s 0s var(--once);
}
#s01 .head p{
	clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}
#s01.animated .head p{
	animation: clipFadeInColumn .8s 0.5s var(--once);
}
.s01_textSec1 {
	clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
}
#s01.animated .s01_textSec1{
	animation: clipFadeInTategaki 1s 1s var(--once);
}
.s01_textSec2 {
	clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
}
.s01_textSec2.animated{
	animation: clipFadeInTategaki 1s 0s var(--once);
}
.s01_textSec3 img{
	scale: 0;
	transform-origin: center center;
}
.s01_textSec3.animated .img3{
	animation: imgScaleIn .8s 0s var(--once);
}
.s01_textSec3.animated .img4{
	animation: imgScaleIn .8s .5s var(--once);
}


/* #s02 */
#s02 .head{
	display: block;
	padding-left: 50px;
	padding-right: 50px;
	margin-bottom: 15px;
	font-family: var(--font-noto);
}
#s02 h2{
	margin-bottom: 45px;
}
#s02 h2 img{
	width: 240px;
}
#s02 h3{
	display: inline-block;
	font-size: 1.25rem;
	width: 17.6em;
	padding-bottom: 5px;
	color: var(--fontColor-sub);
	font-family: inherit;
	border-bottom: var(--fontColor-sub) solid 2px;
}
#s02 .head p{
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: flex-end;
	margin-top: 33px;
	margin-bottom: 60px;
}
#s02 .head p img{
	width: 261px;
	margin-left: 16px;
	margin-right: 14px;
}
#s02 .head p small{
	font-family: inherit;
	color: var(--fontColor-sub);
	font-size: 1.875rem;
}
#s02 .head p small:nth-child(1){
	padding-bottom: 16px;
}
#s02 .head p small:nth-child(3){
	padding-bottom: 16px;
}
#s02 .s02_img1{
	display: block;
	max-width: calc(100% - 138px);
	margin-left: auto;
	margin-right: auto;
}
.s02_textSec1{
	display: grid;
	grid-template-columns: 50px 1fr 50px;
	grid-template-rows: 300px 10px;
	margin-bottom: 50px;
}
.s02_textSec1::before{
	grid-column: 2;
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: var(--fontColor-sub);
}
.s02_textSec1::before{
	grid-row: 2;
	align-self: end;
}
.s02_textSec1 p{
	grid-column: 2;
	grid-row: 1;
	line-height: 2;
	font-size: 1.125rem;
	font-family: var(--font-noto);
	writing-mode: vertical-rl;
	text-orientation: upright;
}
.s02_textSec2{
	display: grid;
	grid-template-columns: 50px 2fr 1fr 50px;
	grid-template-rows: 10px auto 228px 5px;
	margin-bottom: 71px;
}
.s02_textSec2::before,
.s02_textSec2::after{
	grid-column: 2/4;
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: var(--fontColor-sub);
}
.s02_textSec2::before{
	grid-row: 1;
}
.s02_textSec2::after{
	grid-row: 4;
	align-self: end;
}
.s02_textSec2 .img2{
	grid-column: 2/4;
	grid-row: 2;
	justify-self: center;
	margin-top: 8px;
	margin-bottom: 25px;
	max-width: calc(100% - 196px);
}
.s02_textSec2 p{
	grid-column: 2;
	grid-row: 3;
	line-height: 2.2;
	font-size: 1.125rem;
	font-family: var(--font-noto);
	writing-mode: vertical-rl;
	text-orientation: upright;
}
.s02_textSec2 .img3{
	grid-column: 2/4;
	grid-row: 3;
	justify-self: end;
	align-self: end;
	max-width: 180px;
	margin-bottom: 47px;
}
#s02 .sepalate{
	margin-bottom: 80px;
}
@media (min-width: 481px){ /* for PC */
}
@media (max-width: 480px){ /* for SP */
	#s02 .head{
		padding-left: 9vw;
		padding-right: 9vw;
		margin-bottom: 2vw;
	}
	#s02 h2{
		margin-bottom: 7vw;
	}
	#s02 h2 img{
		width: 43vw;
	}
	#s02 h3{
		font-size: 0.9375rem;
		width: 19em;
		padding-bottom: 0;
	}
	#s02 .head p{
		margin-top: 6vw;
		margin-bottom: 11vw;
	}
	#s02 .head p img{
		width: 46vw;
		margin-left: 3vw;
		margin-right: 1vw;
	}
	#s02 .head p small{
		font-size: 1.625rem;
	}
	#s02 .head p small:nth-child(1){
		padding-bottom: 2vw;
	}
	#s02 .head p small:nth-child(3){
		padding-bottom: 2vw;
	}
	#s02 .s02_img1{
		max-width: 58vw;
	}
	.s02_textSec1{
		display: grid;
		grid-template-columns: 9vw 1fr 9vw;
		grid-template-rows: 53vw 10px;
		margin-bottom: 9vw;
	}
	.s02_textSec1 p{
		line-height: 2.1;
		font-size: 0.875rem;
	}
	.s02_textSec2{
		grid-template-columns: 9vw 2fr 1fr 9vw;
		grid-template-rows: 3vw auto 40vw 1vw;
		margin-bottom: 13vw;
	}
	.s02_textSec2 .img2{
		margin-top: 0;
		margin-bottom: 4vw;
		max-width: 48vw;
	}
	.s02_textSec2 p{
		line-height: 2.3;
		font-size: 0.875rem;
	}
	.s02_textSec2 .img3{
		max-width: 32vw;
		margin-bottom: 8vw;
	}
	#s02 .sepalate{
		margin-bottom: 14vw;
	}
	#s02 .sepalate img{
		max-width: 5vw;
	}
}

/* --animation */
#s02 .head h2{
	opacity: 0;
	transform: translateY(10px);
}
#s02.animated .head h2{
	animation: commonFadeIn .5s 0s var(--once);
}
#s02 .head h3{
	opacity: 0;
	transform: translateY(10px);
}
#s02.animated .head h3{
	animation: commonFadeIn .5s 0s var(--once);
}
#s02 .head p{
	clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}
#s02.animated .head p{
	animation: clipFadeInColumn .8s 0.5s var(--once);
}
#s02 .head .s02_img1{
	transform: translateY(15px);
	clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}
#s02.animated .head .s02_img1{
	animation: clipFadeInRow .8s .8s var(--once);
}
#s02 .s02_textSec1 p{
	clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
}
#s02 .s02_textSec1.animated p{
	animation: clipFadeInTategaki .8s 0s var(--once);
}
#s02 .s02_textSec2{
	clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
}
#s02 .s02_textSec2.animated{
	animation: clipFadeInTategaki .8s 0s var(--once);
}

/* #s03 */
#s03 .head{
	display: block;
	padding-left: 50px;
	padding-right: 50px;
	margin-bottom: 29px;
	font-family: var(--font-noto);
}
#s03 h2{
	margin-bottom: 48px;
}
#s03 h2 img{
	width: 232px;
}
#s03 h3{
	display: inline-block;
	font-size: 1.1875rem;
	width: 16em;
	padding-bottom: 5px;
	color: var(--fontColor-sub);
	font-family: inherit;
	border-bottom: var(--fontColor-sub) solid 2px;
}
#s03 .head p{
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: flex-end;
	margin-top: 20px;
	position: relative;
}
#s03 .head p img{
	width: 121px;
	margin-left: 2px;
	margin-right: 11px;
}
#s03 .head p small{
	font-family: inherit;
	color: var(--fontColor-sub);
	font-size: 1.875rem;
	padding-bottom: 10px;
}
.s03_textSec1{
	display: grid;
	grid-template-columns: 50px 1fr 50px;
	grid-template-rows: 14px 280px 272px 5px;
	margin-bottom: 75px;
	overflow: hidden;
}
.s03_textSec1::before,
.s03_textSec1::after{
	grid-column: 2;
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: var(--fontColor-sub);
}
.s03_textSec1::before{
	grid-row: 1;
}
.s03_textSec1::after{
	grid-row: 4;
	align-self: end;
}
.s03_textSec1 p{
	grid-column: 2;
	grid-row: 2;
	line-height: 2;
	font-size: 1.0625rem;
	font-family: var(--font-noto);
	writing-mode: vertical-rl;
	text-orientation: upright;
}
.s03_textSec1 .img1{
	grid-column: 1/4;
	grid-row: 2/4;
	justify-self: start;
	align-self: end;
	max-width: 526px;
	margin-left: -18px;
	margin-bottom: 13px;
}
#s03 .sepalate{
	margin-bottom: 76px;
}
@media (min-width: 481px){ /* for PC */
}
@media (max-width: 480px){ /* for SP */
	#s03 .head{
		padding-left: 9vw;
		padding-right: 9vw;
		margin-bottom: 6vw;
	}
	#s03 h2{
		margin-bottom: 8vw;
	}
	#s03 h2 img{
		width: 42vw;
	}
	#s03 h3{
		width: 17em;
		padding-bottom: 0;
	}
	#s03 .head p{
		margin-top: 3vw;
	}
	#s03 .head p img{
		width: 21vw;
		margin-left: 1vw;
		margin-right: 2vw;
	}
	#s03 .head p small{
		font-size: 1.625rem;
		padding-bottom: 1vw;
	}
	.s03_textSec1{
		grid-template-columns: 9vw 1fr 9vw;
		grid-template-rows: 3vw 51vw 47vw 1vw;
		margin-bottom: 13vw;
	}
	.s03_textSec1 p{
		line-height: 2;
		font-size: 0.875rem;
	}
	.s03_textSec1 .img1{
		max-width: 93vw;
		margin-left: -3vw;
		margin-bottom: 3vw;
	}
	#s03 .sepalate{
		margin-bottom: 14vw;
	}
	#s03 .sepalate img{
		max-width: 5vw;
	}
}

/* --animation */
#s03 .head h2{
	opacity: 0;
	transform: translateY(10px);
}
#s03.animated .head h2{
	animation: commonFadeIn .5s 0s var(--once);
}
#s03 .head h3{
	opacity: 0;
	transform: translateY(10px);
}
#s03.animated .head h3{
	animation: commonFadeIn .5s 0s var(--once);
}
#s03 .head p{
	clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}
#s03.animated .head p{
	animation: clipFadeInColumn .8s 0.5s var(--once);
}
#s03 .s03_textSec1{
	clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
}
#s03 .s03_textSec1.animated{
	animation: clipFadeInTategaki .8s 0s var(--once);
}



/* #s04 */
#s04 .head{
	display: block;
	padding-left: 50px;
	padding-right: 50px;
	margin-bottom: 22px;
	font-family: var(--font-noto);
}
#s04 h2{
	margin-bottom: 54px;
}
#s04 h2 img{
	width: 150px;
}
#s04 h3{
	display: inline-block;
	font-size: 1.1875rem;
	width: 14em;
	padding-bottom: 5px;
	color: var(--fontColor-sub);
	font-family: inherit;
	letter-spacing: -0.05em;
	border-bottom: var(--fontColor-sub) solid 2px;
}
#s04 .head p{
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: flex-end;
	margin-top: 29px;
}
#s04 .head p img{
	width: 165px;
	margin-left: 23px;
	margin-right: 14px;
}
#s04 .head p small{
	font-family: inherit;
	color: var(--fontColor-sub);
	font-size: 1.875rem;
}
#s04 .head p small:nth-child(1){
	padding-bottom: 12px;
}
#s04 .head p small:nth-child(3){
	padding-bottom: 12px;
}
.s04_textSec1{
	display: grid;
	grid-template-columns: 50px 1fr 50px;
	grid-template-rows: 258px 290px 12px 1fr;
	margin-bottom: 66px;
}
.s04_textSec1::before,
.s04_textSec1::after{
	grid-column: 2;
	content: "";
	display: block;
	background: var(--fontColor-sub);
}
.s04_textSec1::before{
	grid-row: 2 / 4;
	justify-self: start;
	align-self: end;
	width: calc(100% - 274px);
	height: 100%;
	clip-path: polygon(0 0, 1% 0, 100% 100%, 99% 100%);
}
.s04_textSec1::after{
	grid-row: 3;
	justify-self: end;
	align-self: end;
	width: calc(100% - 185px);
	height: 2px;
}
.s04_textSec1 .img1{
	grid-column: 2;
	grid-row: 1;
	max-width: 100%;
}
.s04_textSec1 p{
	grid-column: 2;
	grid-row: 2;
	line-height: 2;
	font-size: 1.125rem;
	font-family: var(--font-noto);
	letter-spacing: var(--letter);
	margin-top: 17px;
	writing-mode: vertical-rl;
	text-orientation: upright;
}
.s04_textSec1 .img2{
	grid-column: 2;
	grid-row: 4;
	max-width: calc(100% - 100px);
	margin-top: 38px;
	margin-left: 2px;
}
.s04_textSec1 strong{
	grid-column: 2;
	grid-row: 4;
	justify-self: end;
	margin-top: 85px;
	font-weight: 400;
	font-family: inherit;
	font-size: 1.125rem;
	writing-mode: vertical-rl;
	text-orientation: upright;
}
#s04 .sepalate{
	margin-bottom: 104px;
}
@media (min-width: 481px){ /* for PC */
}
@media (max-width: 480px){ /* for SP */
	#s04 .head{
		padding-left: 9vw;
		padding-right: 9vw;
		margin-bottom: 4vw;
	}
	#s04 h2{
		margin-bottom: 9vw;
	}
	#s04 h2 img{
		width: 27vw;
	}
	#s04 h3{
		font-size: 0.875rem;
		width: 15em;
		padding-bottom: 0;
	}
	#s04 .head p{
		margin-top: 4vw;
	}
	#s04 .head p img{
		width: 30vw;
		margin-left: 3vw;
		margin-right: 2vw;
	}
	#s04 .head p small{
		font-size: 1.625rem;
	}
	#s04 .head p small:nth-child(1){
		padding-bottom: 1vw;
	}
	#s04 .head p small:nth-child(3){
		padding-bottom: 1vw;
	}
	.s04_textSec1{
		grid-template-columns: 9vw 1fr 9vw;
		grid-template-rows: auto 52vw 2vw 1fr;
		margin-bottom: 12vw;
	}
	.s04_textSec1::before{
		width: 33vw;
	}
	.s04_textSec1::after{
		width: calc(100% - 32.5vw);
	}
	.s04_textSec1 .img1{
		grid-column: 2;
		grid-row: 1;
		max-width: 100%;
	}
	.s04_textSec1 p{
		line-height: 2.1;
		font-size: 0.875rem;
		margin-top: 3vw;
	}
	.s04_textSec1 .img2{
		max-width: 64vw;
		margin-top: 7vw;
		margin-left: 0;
	}
	.s04_textSec1 strong{
		margin-top: 16vw;
		font-size: 0.875rem;
	}
	#s04 .sepalate{
		margin-bottom: 14vw;
	}
	#s04 .sepalate img{
		max-width: 5vw;
	}
}

/* --animation */
#s04 .head h2{
	opacity: 0;
	transform: translateY(10px);
}
#s04.animated .head h2{
	animation: commonFadeIn .5s 0s var(--once);
}
#s04 .head h3{
	opacity: 0;
	transform: translateY(10px);
}
#s04.animated .head h3{
	animation: commonFadeIn .5s 0s var(--once);
}
#s04 .head p{
	clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}
#s04.animated .head p{
	animation: clipFadeInColumn .8s 0.5s var(--once);
}
#s04 .s04_textSec1 .img1{
	clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
}
#s04 .s04_textSec1.animated .img1{
	animation: clipFadeInTategaki .8s 0s var(--once);
}
#s04 .s04_textSec1 p{
	clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
}
#s04 .s04_textSec1.animated p{
	animation: clipFadeInTategaki .8s .5s var(--once);
}
#s04 .s04_textSec1 .img2{
	clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
}
#s04 .s04_textSec1.animated .img2{
	animation: clipFadeInTategaki .8s .8s var(--once);
}

/* #s05 */
#s05 .head{
	display: grid;
	grid-template-columns: 50px 304px 1fr 50px;
	grid-template-rows: 263px auto 172px 285px;
	margin-bottom: 42px;
	font-family: var(--font-noto);
}
#s05 h2{
	grid-column: 2;
	grid-row: 1;
}
#s05 h2 img{
	width: 151px;
	margin-left: 2px;
	margin-top: 9px;	
}
#s05 h3{
	grid-column: 2;
	grid-row: 2;
	display: inline-block;
	font-size: 1.1875rem;
	width: calc(100% - 35px);
	padding-bottom: 5px;
	color: var(--fontColor-sub);
	font-family: inherit;
	border-bottom: var(--fontColor-sub) solid 2px;
}
#s05 .head > p{
	grid-column: 2;
	grid-row: 3;
	align-self: start;
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: flex-end;
	margin-top: 32px;
	color: #575858;
}
#s05 .head > p img{
	width: 165px;
	margin-right: 3px;
	margin-left: 3px;
}
#s05 .head > p small{
	font-family: inherit;
	color: var(--fontColor-sub);
	font-size: 1.875rem;
	padding-bottom: 2px;
}
#s05 .head .img1{
	grid-column: 3;
	grid-row: 1/5;
	display: block;
	justify-self: end;
	align-self: end;
}
.s05_textSec1{
	grid-column: 2;
	grid-row: 4;
	display: grid;
	grid-template-columns: 100%;
	grid-template-rows: 12px 1fr 8px;
	height: 100%;
}
.s05_textSec1::before,
.s05_textSec1::after{
	grid-column: 1;
	content: "";
	display: block;
	background: var(--fontColor-sub);
	width: 100%;
	height: 2px;
}
.s05_textSec1::before{
	grid-row: 1;
}
.s05_textSec1::after{
	grid-row: 3;
	justify-self: end;
	align-self: end;
}
.s05_textSec1 p{
	grid-column: 1;
	grid-row: 2;
	line-height: 2.1;
	font-size: 1.125rem;
	font-family: var(--font-noto);
	letter-spacing: var(--letter);
	writing-mode: vertical-rl;
	text-orientation: upright;
}
#s05 .head .img1{
	grid-column: 3;
	grid-row: 1/5;
	display: block;
	max-width: 154px;
	justify-self: end;
	margin-top: 16px;
	margin-right: -12px;
}
#s05 .img2{
	display: block;
	max-width: calc(100% - 100px);
	margin: 0 auto 70px auto;
}
#s05 .sepalate{
	margin-bottom: 75px;
}
@media (min-width: 481px){ /* for PC */
}
@media (max-width: 480px){ /* for SP */
	#s05 .head{
		grid-template-columns: 9vw 54vw 1fr 9vw;
		grid-template-rows: 51vw auto 31vw 51vw;
		margin-bottom: 7vw;
	}
	#s05 h2{
		margin-top: 4vw;
		margin-bottom: 0;
	}
	#s05 h2 img{
		width: 27vw;
	}
	#s05 h3{
		font-size: 0.9375rem;
		padding-bottom: 0;
		max-width: 38vw;
	}
	#s05 .head > p{
		margin-top: 6vw;
		margin-bottom: 11vw;
	}
	#s05 .head > p img{
		width: 29vw;
		margin-left: 1vw;
		margin-right: 0;
	}
	#s05 .head > p small{
		font-size: 1.5rem;
		padding-bottom: 0;
	}
	#s05 .head .img1{
		max-width: 28vw;
		margin-top: 0;
	}
	.s05_textSec1{
		grid-template-rows: 2vw 1fr 1vw;
		max-width: 100%;
	}
	.s05_textSec1 p{
		line-height: 2.2;
		font-size: 0.875rem;
	}
	#s05 .img2{
		max-width: 82vw;
		margin: 0 auto 13vw auto;
	}
	#s05 .sepalate{
		margin-bottom: 14vw;
	}
	#s05 .sepalate img{
		max-width: 5vw;
	}
}

/* --animation */
#s05 .head h2{
	opacity: 0;
	transform: translateY(10px);
}
#s05.animated .head h2{
	animation: commonFadeIn .5s 0s var(--once);
}
#s05 .head h3{
	opacity: 0;
	transform: translateY(10px);
}
#s05.animated .head h3{
	animation: commonFadeIn .5s 0s var(--once);
}
#s05 .head > p{
	clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}
#s05.animated .head > p{
	animation: clipFadeInColumn .8s 0.5s var(--once);
}
#s05 .s05_textSec1{
	clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}
#s05.animated .s05_textSec1{
	animation: clipFadeInTategaki .8s .8s var(--once);
}
#s05 .img1{
	opacity: 0;
	transform: translateY(60px);
}
#s05.animated .img1{
	animation: commonSlideUp .8s 0s var(--once);
}
#s05 .img2{
	clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}
#s05.animated .img2{
	animation: clipFadeInTategaki .8s 1s var(--once);
}


/* #s06 */
#s06 .head{
	display: block;
	padding-left: 50px;
	padding-right: 50px;
	margin-bottom: 51px;
	font-family: var(--font-noto);
}
#s06 h2{
	margin-bottom: 44px;
}
#s06 h2 img{
	width: 280px;
}
#s06 h3{
	display: inline-block;
	font-size: 1.1875rem;
	width: 14.1em;
	padding-bottom: 5px;
	color: var(--fontColor-sub);
	font-family: inherit;
	border-bottom: var(--fontColor-sub) solid 2px;
}
#s06 .head p{
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: flex-end;
	margin-top: 38px;
}
#s06 .head p img{
	width: 180px;
	margin-left: 13px;
	margin-right: 10px;
}
#s06 .head p small{
	font-family: inherit;
	color: var(--fontColor-sub);
	font-size: 1.875rem;
	padding-bottom: 14px;
}
.s06_textSec1{
	display: grid;
	grid-template-columns:  50px 150px 1fr 50px;
	grid-template-rows: 10px 262px 13px;
	width: 100%;
	margin-bottom: 50px;
}
.s06_textSec1::before,
.s06_textSec1::after{
	content: "";
	display: block;
	background: var(--fontColor-sub);
	width: 100%;
	height: 2px;
}
.s06_textSec1::before{
	grid-column: 3;
	grid-row: 1;
}
.s06_textSec1::after{
	grid-column: 2/4;
	grid-row: 3;
	align-self: end;
}
.s06_textSec1 .img1{
	grid-column: 2;
	grid-row: 1/3;
	justify-self: center;
	align-self: end;
	width: 94px;
}
.s06_textSec1 p{
	grid-column: 3;
	grid-row: 2;
	justify-self: end;
	align-self: center;
	line-height: 2.3;
	font-size: 1.125rem;
	font-family: var(--font-noto);
	letter-spacing: var(--letter);
	writing-mode: vertical-rl;
	text-orientation: upright;
}
.s06_textSec2{
	display: grid;
	grid-template-columns:  50px 1fr 281px 30px 50px;
	grid-template-rows: 10px 270px 6px;
	width: 100%;
	margin-bottom: 74px;
}
.s06_textSec2::before,
.s06_textSec2::after{
	content: "";
	display: block;
	background: var(--fontColor-sub);
	width: 100%;
	height: 2px;
	grid-column: 2/5;
}
.s06_textSec2::before{
	grid-row: 1;
}
.s06_textSec2::after{
	grid-row: 3;
	align-self: end;
}
.s06_textSec2 .img1{
	grid-column: 3;
	grid-row: 2;
	justify-self: center;
	align-self: center;
	width: 230px;
	margin-top: 12px;
	margin-left: 20px;
}
.s06_textSec2 strong{
	grid-column: 4;
	grid-row: 2;
	justify-self: end;
	font-weight: 400;
	font-size: 1rem;
	font-family: var(--font-noto);
	letter-spacing: var(--letter);
	writing-mode: vertical-rl;
	text-orientation: upright;
}
.s06_textSec2 p{
	grid-column: 2;
	grid-row: 2;
	justify-self: end;
	line-height: 2.3;
	font-size: 1.0625rem;
	font-family: var(--font-noto);
	letter-spacing: var(--letter);
	writing-mode: vertical-rl;
	text-orientation: upright;
}
@media (min-width: 481px){ /* for PC */
}
@media (max-width: 480px){ /* for SP */
	#s06 .head{
		padding-left: 9vw;
		padding-right: 9vw;
		margin-bottom: 9vw;
	}
	#s06 h2{
		margin-bottom: 7vw;
	}
	#s06 h2 img{
		width: 50vw;
	}
	#s06 h3{
		font-size: 0.875rem;
		width: 15em;
		padding-bottom: 0;
	}
	#s06 .head p{
		margin-top: 7vw;
	}
	#s06 .head p img{
		width: 32vw;
		margin-left: 2vw;
		margin-right: 2vw;
	}
	#s06 .head p small{
		font-size: 1.5rem;
	}
	#s06 .head p small:nth-child(1){
		padding-bottom: 2vw;
	}
	#s06 .head p small:nth-child(3){
		padding-bottom: 2vw;
	}
	.s06_textSec1{
		grid-template-columns: 9vw 22vw 1fr 9vw;
		grid-template-rows: 2vw 48vw 2vw;
		margin-bottom: 8vw;
	}
	.s06_textSec1 .img1{
		width: 17vw;
		margin-right: -5vw;
		margin-bottom: 1vw;
	}
	.s06_textSec1 p{
		line-height: 2.2;
		font-size: 0.875rem;
	}
	.s06_textSec2{
		grid-template-columns:  9vw 1fr 52vw 4vw 9vw;
		grid-template-rows: 3vw 46vw 2vw;
		margin-bottom: 14vw;
	}
	.s06_textSec2 .img1{
		width: 41vw;
		margin-top: 1vw;
		margin-left: 3vw;
	}
	.s06_textSec2 strong{
		font-size: 0.875rem;
		line-height: 1;
	}
	.s06_textSec2 p{
		line-height: 2.4;
		letter-spacing: -0.03em;
		font-size: 0.8125rem;
	}
	#s06 .sepalate img{
		max-width: 5vw;
	}
}

/* --animation */
#s06 .head h2{
	opacity: 0;
	transform: translateY(10px);
}
#s06 .head.animated h2{
	animation: commonFadeIn .5s 0s var(--once);
}
#s06 .head h3{
	opacity: 0;
	transform: translateY(10px);
}
#s06 .head.animated h3{
	animation: commonFadeIn .5s 0s var(--once);
}
#s06 .head p{
	clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}
#s06 .head.animated p{
	animation: clipFadeInColumn .8s 0.5s var(--once);
}
#s06 .s06_textSec1{
	opacity: 0;
	transform: translateY(15px);
}
#s06 .s06_textSec1.animated{
	animation: commonSlideUp .8s 0s var(--once);
}
#s06 .s06_textSec2{
	clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}
#s06 .s06_textSec2.animated{
	animation: clipFadeInTategaki .8s 0s var(--once);
}
