#mainimage{
	width:100%;
	height:calc(100dvh - 130px);
	background:url('../images/index/mainimage.svg') no-repeat top center;
	padding:0 0 0px 0;
	box-sizing:border-box;
	overflow:hidden;
	position:relative;
	z-index:1;
}
#mainimage_inner{
	position:absolute;
	width:1360px;
	height:100%;
	min-height:755px;
	margin:0 auto;
	top:0;
	left: 50%;
	transform: translateX(-50%);
}
#mainimage_inner img{
	display:block;
}
#main_catch1{
	position:absolute;
    top: -600px;       /* 画面上の外側からスタート */
    left: 200px;       /* 最終位置のleft */
    opacity: 0;        /* フェードイン用 */
    transition: top 2s ease-out, opacity 2s ease-out; /* アニメーション */
}
#main_catch2{
	position:absolute;
	top:455px;
	right:130px;
	font-family: "kaisotai", sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size:48px;
	text-align:right;
	text-shadow: 
    #fff 2px 0px,  #fff -2px 0px,
    #fff 0px -2px, #fff 0px 2px,
    #fff 2px 2px , #fff -2px 2px,
    #fff 2px -2px, #fff -2px -2px,
    #fff 1px 2px,  #fff -1px 2px,
    #fff 1px -2px, #fff -1px -2px,
    #fff 2px 1px,  #fff -2px 1px,
    #fff 2px -1px, #fff -2px -1px;
}
#kikai1{
	position:absolute;
	top:130px;
	left:325px;
}
#kikai2{
	position:absolute;
	top:57px;
	left:540px;
}
#kikai3{
	position:absolute;
	top:90px;
	left:600px;
}
#kikai4{
	position:absolute;
	top:478px;
	left:520px;
}
#kikai5{
	position:absolute;
	top:559px;
	right:33px;
}
#track1{
	position:absolute;
	top:258px;
	left:407px;
}
#track2{
	position:absolute;
	top:686px;
	left:710px;
}
#drone1{
	position:absolute;
	top:457px;
	left:382px;
    transition: top 3s ease-in-out, left 3s ease-in-out;
}
#drone2{
	position:absolute;
	top:171px;
	right: 340px;
    transition: top 3s ease-in-out, right 3s ease-in-out;
}
#human1{
	position:absolute;
	top:102px;
	left:428px;
}
#human2{
	position:absolute;
	top:340px;
	left:479px;
}
#human3{
	position:absolute;
	top:241px;
	left:642px;
}
#human4{
	position:absolute;
	top:660px;
	left:681px;
}
#human5{
	position:absolute;
	top:258px;
	left:896px;
}
#human6{
	position:absolute;
	top:395px;
	right:245px;
}
#human7{
	position:absolute;
	top:545px;
	right:434px;
}
.more a{
	display:block;
	line-height:70px;
	font-family: "kaisotai", sans-serif;
	font-weight: 600;
	font-style: normal;
	border:6px solid #222222;
	border-radius:10px;
	background:#fff url('../images/common/arrow_red.svg') no-repeat left 10px center;
	text-decoration:none;
	text-align:center;
	color:#222;
	font-size:36px;
	box-shadow:0 5px 0px #cccccc;
}
.more a:hover{
	background:#e67870 url('../images/common/arrow_white.svg') no-repeat left 10px center;
	color:#fff;
}
#top_nav{
	position:relative;
	z-index:2;
	margin:-25px auto 50px;
}
#top_nav ul{
	display:flex;
	padding:0;
	gap:40px;
	justify-content:center;
}
#top_nav ul li{
	width:450px;
	flex:none;
}
#top1{
	height:940px;
	position:relative;
	background:url('../images/index/bg1.svg') no-repeat top center;
}
#top1 article{
	max-width:1100px;
	margin:0 auto;
	display:flex;
	justify-content:flex-end;
	align-items:center;
	gap:130px;
}
#top1 article h2{
	font-size:84px;
	font-family: "kaisotai", sans-serif;
	font-weight: 600;
	font-style: normal;
	line-height:1.2em;
	white-space:nowrap;
	text-shadow: 
    #fff 2px 0px,  #fff -2px 0px,
    #fff 0px -2px, #fff 0px 2px,
    #fff 2px 2px , #fff -2px 2px,
    #fff 2px -2px, #fff -2px -2px,
    #fff 1px 2px,  #fff -1px 2px,
    #fff 1px -2px, #fff -1px -2px,
    #fff 2px 1px,  #fff -2px 1px,
    #fff 2px -1px, #fff -2px -1px;
}
#top1 h3{
	font-size:36px;
	color:#127891;
	margin-bottom:40px;
	line-height:1.5em;
}
#top1 .comment{
	padding:100px 0 0;
}
#illust2{
	position:absolute;
	bottom:-145px;
	right:50%;
}
#top2{
	background:url('../images/index/bg2.svg') no-repeat top center;
	padding:250px 0 25px;
	width:100%;
	overflow:hidden;
	margin:0 auto 140px;
}
#top2 article{
	max-width:940px;
	padding:0 0 0 300px;
	box-sizing:border-box;
	margin:0 auto;
	position:relative;
	font-size:24px;
}
#top2 article h2{
	font-size:84px;
	font-family: "kaisotai", sans-serif;
	font-weight: 600;
	font-style: normal;
	line-height:1.2em;
	white-space:nowrap;
	text-shadow: 
    #fff 2px 0px,  #fff -2px 0px,
    #fff 0px -2px, #fff 0px 2px,
    #fff 2px 2px , #fff -2px 2px,
    #fff 2px -2px, #fff -2px -2px,
    #fff 1px 2px,  #fff -1px 2px,
    #fff 1px -2px, #fff -1px -2px,
    #fff 2px 1px,  #fff -2px 1px,
    #fff 2px -1px, #fff -2px -1px;
	margin-bottom:40px;
}
#top2 h3{
	font-size:72px;
	color:#fff;
	background:#71b761;
	width:370px;
	height:370px;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	position:absolute;
	left:0;
	font-family: "kaisotai", sans-serif;
	font-weight: 600;
	font-style: normal;
	line-height:1.2em;
}
#top2 .comment{
	font-size:18px;
	padding:300px 10px 0 80px;
}
#top2 .comment .more{
	padding:60px 0 0;
}
#illust3{
	position:absolute;
	max-width:initial !important;
	bottom:0px;
	left:-675px;
}
#photo1{
	position:absolute;
	max-width:initial !important;
	bottom:80px;
	right:-650px;
}
#top3{
	height:1007px;
	margin:0 auto 100px;
	background:url('../images/index/bg3.webp') no-repeat top center;
}
#top3 article{
	max-width:940px;
	margin:0 auto;
	padding:90px 0 0;
	font-size:24px;
}
#top3 article h2{
	font-size:84px;
	font-family: "kaisotai", sans-serif;
	font-weight: 600;
	font-style: normal;
	line-height:1.2em;
	white-space:nowrap;
	text-shadow: 
    #fff 2px 0px,  #fff -2px 0px,
    #fff 0px -2px, #fff 0px 2px,
    #fff 2px 2px , #fff -2px 2px,
    #fff 2px -2px, #fff -2px -2px,
    #fff 1px 2px,  #fff -1px 2px,
    #fff 1px -2px, #fff -1px -2px,
    #fff 2px 1px,  #fff -2px 1px,
    #fff 2px -1px, #fff -2px -1px;
	margin-bottom:10px;
}
#illust4{
	display:block;
	margin:60px auto;
}
#top3 .more{
	max-width:450px;
	margin:0 auto;
}
#news{
	max-width:1230px;
	margin:0 auto 40px;
	display:flex;
}
#news h2{
	text-align:center;
	font-size:60px;
	font-family: "kaisotai", sans-serif;
	font-weight: 600;
	font-style: normal;
	width:315px;
	padding:80px 0 0;
	flex:none;
	background:url('../images/index/bg_news.svg') no-repeat top 60px center;
}
#news article{
	width:860px;
	flex:none;
	min-height:340px;
	overflow:auto;
	border-top:1px solid #559502;
}
#news dl{
	display:flex;
	gap:20px;
	padding:20px 0;
	border-bottom:1px solid #559502;
}
#news dl dt{
	width:140px;
	flex:none;
	text-align:center;
	color:#559502;
}