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

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

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

/* nav */
#navWrap .nav01 svg{
	width: 98px;
	height: 24px;
}
#navWrap .nav02 svg{
	width: 384px;
	height: 25px;
}
#navWrap .nav03 svg{
	width: 137px;
	height: 23px;
}
#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: 69vw;
		height: 4.5vw;
	}
	#navWrap .nav03 svg{
		width: 27vw;
		height: 4.5vw;
	}
	#navWrap .nav04 svg{
		width: 35vw;
		height: 4.5vw;
	}
	#navWrap .nav05 svg{
		width: 18vw;
		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.25rem;
	line-height: 0.9;
	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: 1rem;
		margin-bottom: 2vw;
	}
	#mainVisual p strong{
		font-size: 4.25rem;
		margin-bottom: 2vw;
	}
	#mainVisual p span{
		font-size: 2.4375rem;
		min-height: 1.1em;
	}
}

/* --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.3em);
}
#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.3em);
	}
	100% {
		transform: translateY(0);
	}
}



/* #read */
#read{
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	width: 100%;
	align-items: center;
	letter-spacing: -1px;
	padding-top: 45px;
	padding-bottom: 42px;
}
#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: 8vw;
		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: 10vw;
	}
	#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: 24vw;
	}
	#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: 58px;
	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: 100px;
	margin-left: 12px;
	margin-right: 16px;
}
#s01 .head p small{
	color: var(--fontColor-sub);
	font-size: 1.875rem;
	padding-bottom: 10px;
}
.s01_textSec1{
	display: grid;
	grid-template-columns: 50px 1.5fr 1fr 50px;
	grid-template-rows: 10px 266px 10px;
	margin-bottom: 50px;
}
.s01_textSec1::before,
.s01_textSec1::after{
	grid-column: 2/4;
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: var(--fontColor-sub);
}
.s01_textSec1::before{
	grid-row: 1;
}
.s01_textSec1::after{
	grid-row: 4;
	align-self: end;
}
.s01_textSec1 p{
	grid-column: 2;
	grid-row: 2;
	line-height: 2.4;
	font-size: 1.0625rem;
	writing-mode: vertical-rl;
	text-orientation: upright;
}
.s01_textSec1 p i{
	font-family: var(--font-zen);
}
.s01_textSec1 .point{
	grid-column: 2;
	grid-row: 2;
	justify-self: end;
	align-self: start;
	position: relative;
	padding-top: 1em;
	rotate: 90deg;
	transform-origin: left top;
	margin-top: 10px;
	margin-right: -174px;
}
.s01_textSec1 .point::before,
.s01_textSec1 .point::after{
	content: "";
	display: inline-block;
	width: 0.6em;
	height: 1px;
	background: var(--fontColor);
	margin-bottom: 0.2em;
}
.s01_textSec1 .point::before{
	margin-right: 0.5em;
}
.s01_textSec1 .point::after{
	margin-left: 0.5em;
}
.s01_textSec1 .img1{
	grid-column: 3;
	grid-row: 2;
	justify-self: center;
	align-self: center;
	margin-right: 18px;
	max-width: calc(100% - 68px);
}
.s01_textSec2{
	display: grid;
	grid-template-columns: 50px 1fr 50px;
	grid-template-rows: 10px auto 264px 10px;
	margin-bottom: 71px;
}
.s01_textSec2::before,
.s01_textSec2::after{
	grid-column: 2;
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: var(--fontColor-sub);
}
.s01_textSec2::before{
	grid-row: 1;
}
.s01_textSec2::after{
	grid-row: 5;
	align-self: end;
}
.s01_textSec2 .img2{
	grid-column: 2;
	grid-row: 2;
	justify-self: center;
	align-self: center;
	max-width: 100%;
	margin-top: 20px;
	margin-bottom: 45px;
}
.s01_textSec2 p{
	grid-column: 2;
	grid-row: 3;
	line-height: 2.4;
	font-size: 1.0625rem;
	justify-self: center;
	writing-mode: vertical-rl;
	text-orientation: upright;
}
.s01_textSec2 p i{
	font-family: var(--font-zen);
}
#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: 11vw;
	}
	#s01 h2 img{
		width: 27vw;
	}
	#s01 h3{
		font-size: 1rem;
		padding-bottom: 2px;
	}
	#s01 .s01_img1{
		display: block;
		width: 100%;
		max-width: 98vw;
		margin-right: -2vw;
		margin-bottom: 0;
	}
	#s01 .head p{
		margin-top: 6vw;
	}
	#s01 .head p img{
		width: 17vw;
		margin-left: 2vw;
		margin-right: 4vw;
	}
	#s01 .head p small{
		font-size: 1.5rem;
		padding-bottom: 1vw;
	}

	.s01_textSec1{
		display: grid;
		grid-template-columns: 9vw 1.5fr 1fr 9vw;
		grid-template-rows: 2vw 48vw 1vw;
		margin-bottom: 8vw;
	}
	.s01_textSec1 p{
		line-height: 2.3;
		font-size: 0.875rem;
	}
	.s01_textSec1 .point{
		display: inline-block;
		line-height: 2;
		font-size: 0.875rem;
		padding-top: 0;
		margin-top: 2px;
		margin-right: -33.5vw;
	}
	.s01_textSec1 .img1{
		margin-right: 3vw;
		max-width: 19vw;
	}
	.s01_textSec2{
		grid-template-columns: 9vw 1fr 9vw;
		grid-template-rows: 2vw auto 47vw 2vw;
		margin-bottom: 12vw;
	}
	.s01_textSec2 .img2{
		margin-top: 4vw;
		margin-bottom: 8vw;
	}
	.s01_textSec2 p{
		line-height: 2.4;
		font-size: 1.0625rem;
	}
	#s01 .sepalate{
		margin-bottom: 15vw;
	}
	#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 .8s .8s var(--once);
}
.s01_textSec2 {
	clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
}
.s01_textSec2.animated{
	animation: clipFadeInTategaki .8s 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: 100%;
}
#s02 h3{
	display: inline-block;
	font-size: 1.25rem;
	width: 18.3em;
	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: 40px;
	margin-bottom: 28px;
}
#s02 .head p img{
	width: 260px;
	margin-left: 24px;
	margin-right: 19px;
}
#s02 .head p small{
	font-family: inherit;
	color: var(--fontColor-sub);
	font-size: 1.875rem;
}
#s02 .head p small:nth-child(1){
	padding-bottom: 22px;
}
#s02 .head p small:nth-child(3){
	padding-bottom: 24px;
}
#s02 .img1{
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.s02_textSec1{
	display: grid;
	grid-template-columns: 130px 1fr 130px;
	grid-template-rows: 10px 274px 10px;
	margin-bottom: 17px;
}
.s02_textSec1::before,
.s02_textSec1::after{
	grid-column: 2;
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: var(--fontColor-sub);
}
.s02_textSec1::before{
	grid-row: 1;
}
.s02_textSec1::after{
	grid-row: 3;
	align-self: end;
}
.s02_textSec1 p{
	grid-column: 2;
	grid-row: 2;
	line-height: 2.3;
	font-size: 1.0625rem;
	font-family: var(--font-noto);
	writing-mode: vertical-rl;
	text-orientation: upright;
}
.s02_textSec2{
	display: block;
	width: 100%;
	overflow: hidden;
	margin-bottom: 63px;
}
.s02_textSec2 .img2{
	width: calc(100% - 20px);
	margin-left: 54px;
}
#s02 .sepalate{
	margin-bottom: 74px;
}
@media (min-width: 481px){ /* for PC */
}
@media (max-width: 480px){ /* for SP */
	#s02 .head{
		padding-left: 9vw;
		padding-right: 9vw;
		margin-bottom: 3vw;
	}
	#s02 h2{
		margin-bottom: 7vw;
	}
	#s02 h3{
		font-size: 0.9375rem;
		width: 19em;
		padding-bottom: 0;
	}
	#s02 .head p{
		margin-top: 7vw;
		margin-bottom: 5vw;
	}
	#s02 .head p img{
		width: 46vw;
		margin-left: 4vw;
		margin-right: 3vw;
	}
	#s02 .head p small{
		font-size: 1.625rem;
	}
	#s02 .head p small:nth-child(1){
		padding-bottom: 3vw;
	}
	#s02 .head p small:nth-child(3){
		padding-bottom: 3vw;
	}
	#s02 .s02_img1{
		max-width: 58vw;
	}
	.s02_textSec1{
		grid-template-columns: 23vw 1fr 23vw;
		grid-template-rows: 2vw 48vw 2vw;
		margin-bottom: 3vw;
	}
	.s02_textSec1 p{
		line-height: 2;
		font-size: 0.875rem;
	}
	.s02_textSec2{
		margin-bottom: 12vw;
	}
	.s02_textSec2 .img2{
		width: 96vw;
		margin-left: 10vw;
	}
	#s02 .sepalate{
		margin-bottom: 13vw;
	}
	#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 .img1{
	transform: translateY(15px);
	clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}
#s02.animated .head .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 img{
	scale: 0;
}
#s02 .s02_textSec2.animated img{
	animation: imgScaleIn .8s 0s var(--once);
}


/* #s03 */
#s03 .head{
	display: block;
	padding-left: 50px;
	padding-right: 50px;
	margin-bottom: 60px;
	font-family: var(--font-noto);
}
#s03 h2{
	margin-bottom: 48px;
}
#s03 h2 img{
	width: 240px;
}
#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: 38px;
	position: relative;
}
#s03 .head p img{
	width: 180px;
	margin-left: 15px;
	margin-right: 15px;
}
#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: 296px 286px 5px;
	margin-bottom: 74px;
	overflow: hidden;
}
.s03_textSec1::after{
	grid-column: 2;
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: var(--fontColor-sub);
}
.s03_textSec1::after{
	grid-row: 4;
	align-self: end;
}
.s03_textSec1 .img1{
	grid-column: 2/4;
	grid-row: 1;
	justify-self: end;
	align-self: end;
	max-width: 102%;
	margin-top: 10px;
	margin-right: -12px;
}
.s03_textSec1 p{
	grid-column: 2;
	grid-row: 2;
	line-height: 2.2;
	padding-top: 20px;
	font-size: 1.125rem;
	font-family: var(--font-noto);
	writing-mode: vertical-rl;
	text-orientation: upright;
}
.s03_textSec1 .img2{
	grid-column: 1/3;
	grid-row: 2;
	justify-self: start;
	align-self: end;
	max-width: calc(100% - 210px);
	margin-left: -12px;
	margin-bottom: 4px;
}
#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: 10vw;
	}
	#s03 h2{
		margin-bottom: 8vw;
	}
	#s03 h2 img{
		width: 43vw;
	}
	#s03 h3{
		width: 17em;
		padding-bottom: 0;
	}
	#s03 .head p{
		margin-top: 7vw;
	}
	#s03 .head p img{
		width: 33vw;
		margin-left: 2vw;
		margin-right: 2vw;
	}
	#s03 .head p small{
		font-size: 1.625rem;
		padding-bottom: 2vw;
	}
	.s03_textSec1{
		grid-template-columns: 9vw 1fr 9vw;
		grid-template-rows: 53vw 51vw 1vw;
		margin-bottom: 13vw;
	}
	.s03_textSec1 .img1{
		max-width: 93vw;
		margin-top: 0;
		margin-right: -2vw;
	}
	.s03_textSec1 p{
		line-height: 2.2;
		padding-top: 4vw;
		font-size: 0.875rem;
	}
	.s03_textSec1 .img2{
		max-width: 54vw;
		margin-left: -3vw;
		margin-bottom: 0;
	}
	#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: 31px;
	font-family: var(--font-noto);
}
#s04 h2{
	margin-bottom: 55px;
}
#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: 24px;
}
#s04 .head p img{
	width: 165px;
	margin-left: 15px;
	margin-right: 10px;
}
#s04 .head p small{
	font-family: inherit;
	color: var(--fontColor-sub);
	font-size: 1.875rem;
}
#s04 .head p small:nth-child(1){
	padding-bottom: 4px;
}
#s04 .head p small:nth-child(3){
	padding-bottom: 4px;
}
.s04_textSec1{
	display: grid;
	grid-template-columns: 50px 1fr 50px;
	grid-template-rows: auto 290px 13px 1fr;
	margin-bottom: 45px;
}
.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% - 335px);
	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% - 123px);
	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: 100%;
	margin-top: 23px;
}
.s04_textSec2{
	display: grid;
	grid-template-columns: 50px 1fr 50px;
	grid-template-rows: 1fr;
	margin-bottom: 67px;
}
.s04_textSec2 .img3{
	grid-column: 2;
	grid-row: 1;
	max-width: calc(100% - 40px);
}
.s04_textSec2 strong{
	grid-column: 2;
	grid-row: 1;
	justify-self: end;
	align-self: start;
	line-height: 1;
	font-size: 1rem;
	font-weight: 400;
	font-family: var(--font-noto);
	letter-spacing: var(--letter);
	margin-top: 60px;
	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: 5vw;
	}
	#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: 2vw;
		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 51vw 13px 1fr;
		margin-bottom: 7vw;
	}
	.s04_textSec1::before{
		width: 21.5vw;
	}
	.s04_textSec1::after{
		width: 61vw;
	}
	.s04_textSec1 p{
		line-height: 2;
		font-size: 0.875rem;
		letter-spacing: 0;
		margin-top: 4vw;
	}
	.s04_textSec1 .img2{
		margin-top: 5vw;
	}
	.s04_textSec2{
		grid-template-columns: 9vw 1fr 9vw;
		grid-template-rows: 1fr;
		margin-bottom: 13vw;
	}
	.s04_textSec2 .img3{
		max-width: 74vw;
	}
	.s04_textSec2 strong{
		font-size: 0.875rem;
		margin-top: 10vw;
	}
	#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);
}
#s04 .s04_textSec2{
	clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
}
#s04 .s04_textSec2.animated{
	animation: clipFadeInTategaki .8s 0s var(--once);
}


/* #s05 */
#s05 .head{
	display: grid;
	grid-template-columns: 50px 1fr 50px;
	grid-template-rows: 265px auto 141px 262px;
	margin-bottom: 34px;
	font-family: var(--font-noto);
}
#s05 h2{
	grid-column: 2;
	grid-row: 1;
}
#s05 h2 img{
	width: 150px;
	margin-left: 1px;
	margin-top: 12px;	
}
#s05 h3{
	grid-column: 2;
	grid-row: 2;
	display: inline-block;
	font-size: 1.1875rem;
	width: 14em;
	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: 51px;
	color: #575858;
}
#s05 .head > p img{
	width: 221px;
	margin-right: 11px;
	margin-left: 2px;
}
#s05 .head > p small{
	font-family: inherit;
	color: var(--fontColor-sub);
	font-size: 1.875rem;
	padding-bottom: 2px;
}
#s05 .head .img1{
	grid-column: 2;
	grid-row: 1/5;
	justify-self: end;
	display: block;
	max-width: 60px;
	margin-right: 62px;
}
.s05_textSec1{
	grid-column: 2;
	grid-row: 4;
	aspect-ratio: 1/1;
	display: grid;
	max-width: 254px;
	place-content: center;
	place-items: center;
	border-radius: 50%;
	border: #414141 solid 1px;
}
.s05_textSec1 .img2{
	max-width: 146px;
}
#s05 .head2{
	display: grid;
	grid-template-columns: 50px 1fr 50px;
	grid-template-rows: 383px auto 290px;
	margin-bottom: 72px;
	font-family: var(--font-noto);
}
.s05_textSec2{
	grid-column: 2;
	grid-row: 1;
	justify-self: end;
	display: grid;
	width: 100%;
	max-width: 310px;
	grid-template-columns: 100%;
	grid-template-rows: 10px 1fr 10px;
}
.s05_textSec2::before,
.s05_textSec2::after{
	grid-column: 1;
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: var(--fontColor-sub);
}
.s05_textSec2::before{
	grid-row: 1;
}
.s05_textSec2::after{
	grid-row: 3;
	align-self: end;
}
.s05_textSec2 p{
	grid-column: 1;
	grid-row: 2;
	line-height: 2.2;
	font-size: 1.0625rem;
	font-family: var(--font-noto);
	writing-mode: vertical-rl;
	text-orientation: upright;
}
#s05 .head2 > p{
	grid-column: 2;
	grid-row: 2;
	justify-self: end;
	align-self: start;
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: flex-end;
	margin-top: 38px;
	color: #575858;
}
#s05 .head2 > p img{
	width: 301px;
	margin-right: 3px;
}
#s05 .head2 > p small{
	font-family: inherit;
	color: var(--fontColor-sub);
	font-size: 1.875rem;
	padding-bottom: 2px;
}
#s05 .head2 .img3{
	grid-column: 1 / 3;
	grid-row: 1/4;
	display: block;
	max-width: 180px;
	margin-top: -10px;
	margin-left: 29px;
}
.s05_textSec3{
	grid-column: 2;
	grid-row: 3;
	aspect-ratio: 1/1;
	justify-self: end;
	display: grid;
	width: 100%;
	max-width: 255px;
	place-content: center;
	place-items: center;
	border-radius: 50%;
	border: #414141 solid 1px;
	margin-top: 32px;
}
#s05 .head2 .img4{
	max-width: 155px;
}
#s05 .sepalate{
	margin-bottom: 76px;
}
@media (min-width: 481px){ /* for PC */
}
@media (max-width: 480px){ /* for SP */
	#s05 .head{
		grid-template-columns: 9vw 1fr 9vw;
		grid-template-rows: 51vw auto 26vw 46vw;
		margin-bottom: 6vw;
	}
	#s05 h2 img{
		width: 27vw;
		margin-left: 0;
		margin-top: 7vw;	
	}
	#s05 h3{
		font-size: 0.875rem;
		width: 15em;
		padding-bottom: 1vw;
	}
	#s05 .head > p{
		margin-top: 9vw;
	}
	#s05 .head > p img{
		width: 39vw;
		margin-right: 3vw;
		margin-left: 0;
	}
	#s05 .head > p small{
		font-size: 1.5rem;
		padding-bottom: 1vw;
	}
	#s05 .head .img1{
		max-width: 11vw;
		margin-right: 11vw;
	}
	.s05_textSec1{
		max-width: 44vw;
	}
	.s05_textSec1 .img2{
		max-width: 24vw;
	}
	#s05 .head2{
		grid-template-columns: 9vw 1fr 9vw;
		grid-template-rows: 69vw auto 52vw;
		margin-bottom: 13vw;
	}
	.s05_textSec2{
		max-width: 60vw;
		grid-template-columns: 100%;
		grid-template-rows: 2vw 1fr 2vw;
	}
	.s05_textSec2 p{
		line-height: 2.2;
		font-size: 0.875rem;
	}
	#s05 .head2 > p{
		margin-top: 7vw;
	}
	#s05 .head2 > p img{
		width: 51vw;
		margin-right: 1vw;
	}
	#s05 .head2 > p small{
		font-size: 1.625rem;
		padding-bottom: 2px;
	}
	#s05 .head2 .img3{
		max-width: 32vw;
		margin-top: -2vw;
		margin-left: 6vw;
	}
	.s05_textSec3{
		max-width: 45vw;
		margin-top: 6vw;
	}
	#s05 .head2 .img4{
		max-width: 26vw;
		margin-bottom: 3vw;
	}
	#s05 .sepalate{
		margin-bottom: 13vw;
	}
	#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);
}

#s05 .s05_textSec2{
	clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}
#s05 .head2.animated .s05_textSec2{
	animation: clipFadeInTategaki .8s 0s var(--once);
}
#s05 .head2 > p{
	clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}
#s05 .head2.animated > p{
	animation: clipFadeInColumn .8s 0.5s var(--once);
}
#s05 .img3{
	opacity: 0;
	transform: translateY(60px);
}
#s05 .head2.animated .img3{
	animation: commonSlideUp .8s 0s var(--once);
}
#s05 .s05_textSec3{
	clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}
#s05 .head2.animated .s05_textSec3{
	animation: clipFadeInTategaki .8s .8s var(--once);
}


/* #s06 */
#s06 .head{
	display: block;
	padding-left: 50px;
	padding-right: 50px;
	margin-bottom: 58px;
	font-family: var(--font-noto);
}
#s06 h2{
	margin-bottom: 45px;
}
#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: 32px;
}
#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: 5px;
}
.s06_textSec1{
	display: grid;
	grid-template-columns:  50px 193px 1fr 50px;
	grid-template-rows: 10px 265px 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: 85px;
}
.s06_textSec1 p{
	grid-column: 2/4;
	grid-row: 2;
	justify-self: end;
	align-self: center;
	line-height: 2.1;
	font-size: 1.125rem;
	font-family: var(--font-noto);
	letter-spacing: var(--letter);
	writing-mode: vertical-rl;
	text-orientation: upright;
}
.s06_textSec1 p i{
	font-family: var(--font-zen);
}
.s06_textSec2{
	display: grid;
	grid-template-columns:  50px 1fr 195px 30px 50px;
	grid-template-rows: 10px 238px auto;
	width: 100%;
	margin-bottom: 72px;
}
.s06_textSec2::before{
	content: "";
	display: block;
	background: var(--fontColor-sub);
	width: 100%;
	height: 2px;
	grid-column: 2/5;
}
.s06_textSec2::before{
	grid-row: 1;
}
.s06_textSec2 .img2{
	grid-column: 3;
	grid-row: 2;
	justify-self: center;
	align-self: center;
	width: 117px;
	margin-bottom: 12px;
}
.s06_textSec2 strong{
	grid-column: 4;
	grid-row: 2;
	justify-self: end;
	font-size: 1rem;
	font-weight: 400;
	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;
}
.s06_textSec2 .img3{
	grid-column: 2/5;
	grid-row: 3;
	width: 100%;
}
@media (min-width: 481px){ /* for PC */
}
@media (max-width: 480px){ /* for SP */
	#s06 .head{
		padding-left: 9vw;
		padding-right: 9vw;
		margin-bottom: 11vw;
	}
	#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: 5vw;
	}
	#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: 0;
	}
	#s06 .head p small:nth-child(3){
		padding-bottom: 0;
	}
	.s06_textSec1{
		grid-template-columns:  9vw 40vw 1fr 9vw;
		grid-template-rows: 2vw 48vw 2vw;
		margin-bottom: 8vw;
	}
	.s06_textSec1 .img1{
		width: 15.7vw;
	}
	.s06_textSec1 p{
		line-height: 1.9;
		font-size: 0.875rem;
	}
	.s06_textSec2{
		grid-template-columns:  9vw 1fr 31vw 8vw 9vw;
		grid-template-rows: 2vw 42vw auto;
		margin-bottom: 14vw;
	}
	.s06_textSec2 .img2{
		width: 21vw;
		margin-bottom: 2vw;
	}
	.s06_textSec2 strong{
		font-size: 0.875rem;
	}
	.s06_textSec2 p{
		line-height: 2.3;
		font-size: 0.875rem;
	}
	#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);
}
