@charset "utf-8";
html {
  scroll-behavior: smooth;
}
/* common
-------------------------------------------------------*/
#wrapper {
	overflow: hidden;
}
.sp {
	display: none;
}
.area {
	padding: 70px 20px;
	box-sizing: border-box;
	position: relative;
}
.inner {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	box-sizing: border-box;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	.area {
		padding: 30px 20px;
	}
	.inner {
		max-width: 100%;
	}
}

/* font
-------------------------------------------------------*/
.serif {
	font-family: "Noto Serif JP", serif;
}
.roboto {
	font-family: "Roboto", sans-serif;
}
.mplus {
	font-family: "M PLUS 1p", sans-serif;
}
.white {
	color: #fff!important;
}

/* ttl
-------------------------------------------------------*/
.ttl01 {
	text-align: center;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 50px;
}
.ttl01 .en {
	font-size: 8rem;
	display: block;
	color: #009be7;
	margin-bottom: 20px;
	font-family: "Roboto", sans-serif;
}
.ttl01.white .en {
	color: #fff
}
.ttl01 .jp {
	font-size: 2.6rem;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 900;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	.ttl01 {
		margin-bottom: 40px;
	}
	.ttl01 .en {
		font-size: 6rem;
	}
	.ttl01 .jp {
		font-size: 2.4rem;
	}
}
@media screen and (max-width:768px) {
	.ttl01 {
		margin-bottom: 30px;
	}
	.ttl01 .en {
		font-size: 4rem;
		margin-bottom: 10px;
	}
	.ttl01 .jp {
		font-size: 2rem;
	}
}

/* bg
-------------------------------------------------------*/
.bg_blue01 {
	background: #2abfe9;
}
.bg_blue02 {
	background: #dbf3fe;
}
.bg_blue03 {
	background: #cfeffe;
}
.bg_gray {
	background: #f6f6f6;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {

}

/* parts
-------------------------------------------------------*/
.logo a {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
}
.logo img {
	max-width: 432px;
}
.logo span {
	display: block;
	margin-left: 10px;
	font-size: 1.9rem;
	line-height: 1.2;
	font-weight: 700;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	.logo a {
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
	}
	.logo img {
		max-width: 300px;
	}
	.logo span {
		font-size: 1.5rem;
	}
}
@media screen and (max-width:768px) {
	.logo img {
		max-width: 270px;
	}
	.logo span {
		font-size: 1.4rem;
	}
}

.btn01 {
	margin-top: 60px;
}
.btn01 a {
	display: flex;
	width: 600px;
	height: 75px;
	border-radius: 50px;
	color: #fff;
	font-size: 2.6rem;
	font-weight: 700;
	position: relative;
	background: #ff9900;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
}
.btn01 a::after {
	position: absolute;
	display: block;
	content: "";
	background: url(../img/common/icon_arrow.png)no-repeat right center/20px 18px;
	width: 20px;
	height: 18px;
	right: 40px;
	top: 50%;
	transform: translate(0,-50%);
}
.btn01.blue a {
	background: #009be7;
}
.btn01.back a::after {
	left: 40px;
	transform: translate(0,-50%) rotate(-180deg);
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.btn01 {
		margin-top: 40px;
	}
	.btn01 a {
		width: 100%;
		height: 60px;
		font-size: 1.8rem;
	}
	.btn01 a::after {
		background: url(../img/common/icon_arrow.png)no-repeat right center/16px 14px;
		width: 16px;
		height: 14px;
		right: 15px;
	}
	.btn01.back a::after {
		left: 15px;
	}
}

/* header
-------------------------------------------------------*/
#header {
	padding: 15px 20px;
	position: fixed;
	width: 100%;
	background: #fff;
	z-index: 999;
	box-sizing: border-box;
}
#header .inner {
	max-width: 100%;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
}
@media screen and (max-width:1430px) {
	#header .logo {
		max-width: 350px;
	}
}
@media screen and (max-width:1180px) {
	#header .logo {
		max-width: 320px;
	}
}
@media screen and (max-width:1130px) {
	#header .logo {
		max-width: 300px;
	}
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	#header {
		padding: 10px;
	}
}

/* nav
-------------------------------------------------------*/
#nav_pc ul {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-end;
	font-size: 1.8rem;
	font-weight: 700;
}
#nav_pc ul li {
	margin-left: 35px;
}
#header .btn a {
	background: #ff9900;
	color: #fff;
	display: block;
	padding: 15px 40px 15px 70px;
	line-height: 1;
	border-radius: 50px;
}
#header .btn.btn_link a {
	background: #31aeb9;
	padding: 15px 50px 15px 25px;
}
#header .btn span {
	position: relative;
	line-height: 1;
}
#header .btn span::before {
	position: absolute;
	display: block;
	content: "";
	background: url(../img/common/icon_login.png)no-repeat left center/22px 24px;
	width: 22px;
	height: 24px;
	left: -30px;
	top: 3px;
}
#header .btn.btn_link span::before {
	background: url(../img/common/icon_btn_link.png)no-repeat left center/18px 18px;
	width: 18px;
	height: 18px;
	left: inherit;
	right: -25px;
	top: 4px;
}
@media screen and (max-width:1430px) {
	#nav_pc ul {
		font-size: 1.6rem;
	}
	#nav_pc ul li {
		margin-left: 20px;
	}
	#header .btn.btn_link a {
		padding: 15px 40px 15px 20px;
	}
}
@media screen and (max-width:1130px) {
	#nav_pc ul {
		font-size: 1.4rem;
	}
	#nav_pc ul li {
		margin-left: 15px;
	}
}
@media screen and (max-width:1000px) {
	#nav_pc.pc {
		display: none;
	}
	#nav_sp.sp {
		display: block;
	}
	#btn_nav {
		position: fixed;
		top: 20px;
		right: 15px;
		z-index: 999;
		cursor: pointer;
		display: flex;
		flex-flow: column;
		justify-content: space-between;
		height: 18px;
	}
	#btn_nav span {
		display: inline-block;
		background: #00b1c3;
		width: 26px;
		height: 2px;
		transition: .5s;
		position: relative;
	}
	#btn_nav.active span {
		transform: translateY(8px) rotate(45deg);
		background: #fff;
	}
	#btn_nav.active span:nth-child(2) {
		transform: scaleX(0);
	}
	#btn_nav.active span:last-child {
		transform: translateY(-8px) rotate(-45deg);
	}
	#nav_sp .nav_cont,
	#nav_sp .nav_cont::after {
		position: fixed;
		top: 0;
		height: 100%;
		width: 100%;
		overflow: hidden;
	}
	#nav_sp .nav_cont {
		overflow: auto;
		background:rgba(42,191,233,0.8);
		right: -100%;
		z-index: 998;
		transition: .5s;
		padding: 70px 30px;
		box-sizing: border-box;
	}
	#nav_sp .nav_cont.active {
		right: 0;
	}
	#nav_sp ul {
		width: 100%;
	}
	#nav_sp ul li {
		margin-bottom: 10px;
	}
	#nav_sp ul li a {
		background: #fff;
		display: block;
		padding: 20px;
		font-weight: 700;
		font-size: 1.6rem;
		border-radius: 10px;
	}
	#header .btn a {
		padding: 20px 20px 20px 60px;
		font-size: 1.6rem;
		font-weight: 700;
	}
	#header .btn span::before {
		background: url(../img/common/icon_login.png)no-repeat left center/22px 24px;
		width: 22px;
		height: 24px;
		left: -40px;
		top: 3px;
	}
}



/* visual
-------------------------------------------------------*/
#visual {
	padding-top: 80px;
}
#visual .inner {
	max-width: 100%;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	#visual {
		padding-top: 50px;
	}

}

/* index_branch
-------------------------------------------------------*/
#index_branch {
	background: #2abfe9 url(../img/common/bg_wave02.png)no-repeat center bottom/contain;
}
#index_branch.area {
	padding: 70px 20px 280px;
}
#index_branch .box {
	background: #fff;
	max-width: 1000px;
	margin: 0 auto;
	border-radius: 20px;
	padding: 50px 50px 30px;
}
.list_branch {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
}
.list_branch li {
	width: 32%;
	margin-bottom: 30px;
}
.list_branch li:nth-child(2n) {
	margin: 0 2% 30px;
}
.list_branch li a {
	border: 4px solid #009be7;
	border-radius: 10px;
	display: block;
	box-sizing: border-box;
	text-align: center;
	font-family: "M PLUS 1p", sans-serif;
	font-size: 2.2rem;
	padding: 15px;
	position: relative;
}
.list_branch li a::before {
	position: absolute;
	display: block;
	content: "";
	width: 52px;
	height: 50px;
	left: 20px;
	top: 50%;
	transform: translate(0,-50%);
}
.list_branch li:first-child a::before {
	background: url(../img/index/ov_icon01.png)no-repeat left center/52px 50px;
}
.list_branch li:nth-child(2) a::before {
	background: url(../img/index/ov_icon02.png)no-repeat left center/52px 50px;
}
.list_branch li:nth-child(3) a::before {
	background: url(../img/index/ov_icon03.png)no-repeat left center/52px 50px;
}
.list_branch li:nth-child(4) a::before {
	background: url(../img/index/ov_icon04.png)no-repeat left center/52px 50px;
}
.list_branch li:last-child a::before {
	background: url(../img/index/ov_icon05.png)no-repeat left center/52px 50px;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	.list_branch li a::before {
		width: 46px;
		height: 45px;
		left: 10px;
	}
	.list_branch li:first-child a::before {
		background: url(../img/index/ov_icon01.png)no-repeat left center/46px 45px;
	}
	.list_branch li:nth-child(2) a::before {
		background: url(../img/index/ov_icon02.png)no-repeat left center/46px 45px;
	}
	.list_branch li:nth-child(3) a::before {
		background: url(../img/index/ov_icon03.png)no-repeat left center/46px 45px;
	}
	.list_branch li:nth-child(4) a::before {
		background: url(../img/index/ov_icon04.png)no-repeat left center/46px 45px;
	}
	.list_branch li:last-child a::before {
		background: url(../img/index/ov_icon05.png)no-repeat left center/46px 45px;
	}
	.list_branch li a {
		font-size: 1.8rem;
		padding-left: 20px;
	}
}
@media screen and (max-width:768px) {
	#index_branch.area {
		padding: 50px 20px 80px;
	}
	#index_branch .box {
		padding: 20px;
	}
	.list_branch {
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}
	.list_branch li {
		width: 100%;
		margin-bottom: 15px;
	}
	.list_branch li:nth-child(2n) {
		margin: 0 0 15px;
	}
	.list_branch li:last-child {
		margin-bottom: 0;
	}
	.list_branch li a {
		border: 2px solid #009be7;
		font-size: 1.8rem;
	}
	.list_branch li a::before {
		width: 36px;
		height: 35px;
		left: 20px;
		top: 50%;
		transform: translate(0,-50%);
	}
	.list_branch li:first-child a::before {
		background: url(../img/index/ov_icon01.png)no-repeat left center/36px 35px;
	}
	.list_branch li:nth-child(2) a::before {
		background: url(../img/index/ov_icon02.png)no-repeat left center/36px 35px;
	}
	.list_branch li:nth-child(3) a::before {
		background: url(../img/index/ov_icon03.png)no-repeat left center/36px 35px;
	}
	.list_branch li:nth-child(4) a::before {
		background: url(../img/index/ov_icon04.png)no-repeat left center/36px 35px;
	}
	.list_branch li:last-child a::before {
		background: url(../img/index/ov_icon05.png)no-repeat left center/36px 35px;
	}
}

/* index_nav
-------------------------------------------------------*/

#index_nav {
	background: url(../img/common/bg_wave02.png)no-repeat center bottom/contain #2abfe9;
}
#index_nav.area {
	padding: 70px 20px 190px;
}
#index_nav .inner {
	max-width: 1300px;
}
.index_nav {
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
	justify-content: space-between;
}
.index_nav li {
	width: 32%;
	border: 5px solid #009be7;
	background: #fff;
	border-radius: 20px;
	padding: 30px 10px;
	box-sizing: border-box;
	text-align: center;
}
.index_nav li .ttl {
	font-size: 4.3rem;
	font-weight: 700;
	color: #009be7;
	line-height: 1;
	margin-bottom: 5px;
}
.index_nav li .icon {
	margin-right: 10px;
}
.index_nav li .icon img {
	max-width: 44px;
}
.index_nav li .sub_ttl {
	font-size: 2.2rem;
	font-weight: 700;
	margin-bottom: 20px;
}
.index_nav li .txt {
	font-weight: 500;
	font-size: 1.4rem;
}
.index_nav li .btn01 {
	margin-top: 30px;
}
.index_nav li .btn01 a {
	width: 90%;
	height: 55px;
	font-size: 1.8rem;
}
.index_nav li .btn01 a::after {
	right: 20px;
}
.index_nav .tb {
	display: none;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	.index_nav li .ttl {
		font-size: 3.4rem;
	}
	.index_nav li .icon img {
		max-width: 30px;
	}
	.index_nav li .btn01 a {
		font-size: 1.4rem;
	}
	.index_nav li .btn01 a::after {
		right: 15px;
	}
	.index_nav .tb {
		display: block;
	}
}
@media screen and (max-width:768px) {

	#index_nav.area {
	padding: 40px 20px 80px;
}
	#index_member.area {
		padding: 40px 20px 80px;
	}
	.index_nav {
		flex-flow: column;
		align-items: flex-start;
		justify-content: space-between;
	}
	.index_nav li {
		width: 100%;
		border: 3px solid #009be7;
		padding: 20px 10px;
	}
	.index_nav li:not(:last-child) {
		margin-bottom: 20px;
	}
	.index_nav li .ttl {
		font-size: 3.6rem;
	}
	.index_nav li .icon {
		margin-right: 10px;
	}
	.index_nav li .icon img {
		max-width: 35px;
	}
	.index_nav li .sub_ttl {
		font-size: 2rem;
		margin-bottom: 10px;
	}
	.index_nav li .btn01 {
		margin-top: 20px;
	}
	.index_nav li .btn01 a {
		font-size: 1.6rem;
	}
}

/* index_location
-------------------------------------------------------*/
#index_location {
	/*background: #2abfe9 url(../img/common/bg_wave04.png)no-repeat center bottom/100% auto;*/
	background: #cfeffe;
}
#index_location.area {
	padding: 70px 20px 130px;
}
#index_location .box {
	background: #fff;
	border-radius: 20px;
	padding: 50px 40px;
}
#index_location .box .logo {
	margin-bottom: 40px;
}
#index_location .box .logo img {
	max-width: 430px;
}
.list_location02 {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
.list_location02 dt {
	width: 40%;
}

.list_location02 dd {
	width: 55%;
}

.list_location02 dd iframe {
	width: 100%;
	height: 300px;
}

.list_location02 dt .ttl {
	font-weight: 700;
	margin-bottom: 10px;
}


@media screen and (min-width:768px) and ( max-width:1080px) {

}
@media screen and (max-width:768px) {
	#index_location.area {
		padding: 50px 20px 80px;
	}
	#index_location .box {
		padding: 30px 20px;
	}
	#index_location .box .logo {
		margin-bottom: 30px;
	}
	.list_location02 {
		display: block;
	}
	.list_location02 dt {
	width: 100%;
	margin-bottom: 20px;
}

.list_location02 dd {
	width: 100%;
}
}

/* index_statistics
-------------------------------------------------------*/
#index_statistics {
	background: url(../img/common/bg_wave01.png)no-repeat center bottom/100% auto;
	background-color: #f6f6f6;
}
#index_statistics.area {
	padding: 70px 20px 160px;
}
#index_statistics .txt {
	text-align: center;
}
@media screen and (min-width:768px) and ( max-width:1080px) {

}
@media screen and (max-width:768px) {
	#index_statistics.area {
		padding: 50px 20px 80px;
	}
}


/* index_data
-------------------------------------------------------*/
#index_data {
	background: url(../img/common/bg_wave01.png)no-repeat center bottom/100% auto;
	background-color: #fff;
}
#index_data.area {
	padding: 70px 20px 160px;
}
#index_data .txt {
	text-align: center;
}
@media screen and (min-width:768px) and ( max-width:1080px) {

}
@media screen and (max-width:768px) {
	#index_data.area {
		padding: 50px 20px 80px;
	}
}

/* index_news
-------------------------------------------------------*/
#index_news {

		background: 
			url(../img/common/bg_wave03.png) no-repeat center top/100% auto, 
			url(../img/common/bg_wave07.png) no-repeat center bottom/100% auto;
			background-color: #cfeffe;
			
		padding-bottom: 150px;
		padding-top: 150px;

	
}
@media screen and (min-width:768px) and ( max-width:1080px) {

}
@media screen and (max-width:768px) {
	#index_news {
		padding-bottom: 80px;
		padding-top: 80px;
	}
	
}

/* index_other
-------------------------------------------------------*/

#index_member {

	background: 
		url(../img/common/bg_wave04.png) no-repeat center bottom/100% auto;
		background-color: #cfeffe;
		
	padding-bottom: 150px;
	padding-top: 80px;


}
@media screen and (min-width:768px) and ( max-width:1080px) {

}
@media screen and (max-width:768px) {
#index_member {
	padding-bottom: 80px;
	padding-top: 40px;
}

}



/* footer
-------------------------------------------------------*/
#footer .inner {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
#footer .logo {
    margin: 0 0 20px;
}
#footer .logo img {
	mix-blend-mode: multiply;
	max-width: 380px;
}
#footer .add {
	font-size: 1.4rem;
}
.footer_nav {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-end;
}
.footer_nav li {
	border-left: 1px solid #000;
	padding: 0 10px;
	font-size: 1.5rem;
	font-weight: 500;
}
.footer_nav li:last-child {
	border-right: 1px solid #000;
}
.footer_banner {
	margin-top: 20px;
	display: flex;
	justify-content: flex-end;
}
.footer_banner a {
	max-width: 300px;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	#footer .add {
		font-size: 1.2rem;
	}
	.footer_nav li {
		font-size: 1.5rem;
	}
}
@media screen and (max-width:768px) {
	#footer .inner {
		flex-flow: column;
	}
	#footer .logo {
		margin: 0 0 10px;
	}
	#footer .add {
		font-size: 1.2rem;
		margin-bottom: 20px;
	}
	.footer_nav {
		flex-flow: row wrap;
	}
	.footer_nav li {
		padding: 0 5px;
		font-size: 1.2rem;
		margin-bottom: 10px;
	}
	.footer_banner {
		margin-top: 20px;
		display: flex;
		justify-content:center
	}
	.footer_banner a {
		max-width: 180px;
	}
	
}

/* animation
-------------------------------------------------------*/
.ani_icon01,.ani_icon02,.ani_icon03,.ani_icon04,.ani_icon05,.ani_icon06,.ani_icon07,.ani_icon08 {
	position: absolute;
}
.ani_icon01 {
	right: 5%;
	top: 0%;
	z-index: 1;
	animation: ani01 5s infinite;
	width: 20%;
}
@keyframes ani01 {
	0%, 100% {
	  transform: translateY(0);
	}
	50% {
	  transform: translateY(-20px);
	}
}
.ani_icon02 {
	right: 2%;
	top: 5%;
	z-index: 1;
	animation: ani02 7s infinite;
}
@keyframes ani02 {
	0%, 100% {
	  transform: translateY(0);
	}
	50% {
	  transform: translateY(-40px);
	}
}
.ani_icon03 {
	left: -50px;
	bottom: -20px;
	/*animation: ani03 3s linear infinite;*/
	z-index: 5;
}
@keyframes ani03 {
	0% {
		transform: translateY(0);
	}
	5% {
		transform: translateY(-10px);
	}
	10% {
		transform: translateY(0);
	}
	15% {
		transform: translateY(-10px);
	}
	20% {
		transform: translateY(0);
	}
}
.ani_icon04 {
	left: 2%;
	top: 0;
	animation: ani04 3s linear infinite;
}
@keyframes ani04 {
	0%, 100% {
	  transform: translateY(0);
	}
	50% {
	  transform: translateY(-10px);
	}
}
.ani_icon05 {
	bottom:-20px;
	left: 3%;
	z-index: 1;
	/*animation: ani05 2s infinite linear alternate;*/
}
@keyframes ani05 {
    0% {transform:translate(0, 0) rotate(-3deg);}
    1% {transform:translate(0, -1px) rotate(0deg);}
    2% {transform:translate(0, 0)rotate(3deg);}
    4% {transform:translate(0, 0) rotate(-3deg);}
    5% {transform:translate(0, -1px) rotate(0deg);}
    6% {transform:translate(0, 0)rotate(3deg);}
    7% {transform:translate(0, 0)rotate(0deg);}
}
.ani_icon06 {
	bottom: 0;
	right: 3%;
	z-index: 1;
	animation: ani06 1s infinite linear alternate;
}
@keyframes ani06{
	0%   { transform: scale(1.0, 1.0) translate(0%, 0%); }
	10%   { transform: scale(1.0, 1.0) translate(0%, 0%); }
	20%  { transform: scale(1.0, 0.98) translate(0%, 1.5%); }
	30% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}


.ani_icon08 {
	right: 15%;
	top: -10%;
	z-index: 5;
}

.ani_icon07 {
	right: 15%;
	top: 12%;
	z-index: 5;
}

/* size */
.ani_icon01 img {
	max-width: 400px;
}
.ani_icon02 img {
	max-width: 267px;
}
.ani_icon03 img {
	max-width: 348px;
}
.ani_icon04 img {
	max-width: 300px;
}
.ani_icon05 img {
	max-width: 474px;
}
.ani_icon06 img {
	max-width: 341px;
}
.ani_icon07 img {
	max-width: 300px;
}

.ani_icon08 img {
	max-width: 344px;
}

@media screen and (max-width:1600px) {
	.ani_icon08 {
		right: 10%;
		top: -10%;
	}

	.ani_icon07 {
	right: 5%;

}
}
@media screen and (max-width:1300px) {
	.ani_icon02 {
		top: -4%;
	}
	.ani_icon03 {
		left: 20px;
	}
	.ani_icon04 {
		top: 0;
	}
	.ani_icon07 {
	}

	.ani_icon08 {
		right: 0;
		top: -10%;
	}

	

	.ani_icon01 img {
		max-width: 300px;
	}
	.ani_icon02 img {
		max-width: 180px;
	}
	.ani_icon03 img {
		max-width: 300px;
	}
	.ani_icon04 img {
		max-width: 300px;
	}
	.ani_icon05 img {
		max-width: 300px;
	}
	.ani_icon06 img {
		max-width: 200px;
	}
	.ani_icon07 img {
		max-width: 250px;
	}
	.ani_icon08 img {
		max-width: 250px;
	}
}
@media screen and (max-width:768px) {
	.ani_icon01 {
		right: 2%;
		top: 0;
		width: 30%;
	}
	.ani_icon02 {
		right: 1%;
		top: 7%;
	}
	.ani_icon03 {
		left: 10px;
		bottom: -20px;
	}
	.ani_icon05 {
		bottom: 0%;
	}
	.ani_icon06 {
		bottom: -1%;
	}
	.ani_icon07 {
		right: 3%;
		top: -1%;
	}
	.ani_icon08 {
		right: 0;
		top: -5%;
	}



	/* size */
	.ani_icon01 img {
		max-width: 100px;
	}
	.ani_icon02 img {
		max-width: 80px;
	}
	.ani_icon03 img {
		max-width: 170px;
	}
	.ani_icon04 img {
		max-width: 100px;
	}
	.ani_icon05 img {
		max-width: 130px;
	}
	.ani_icon06 img {
		max-width: 100px;
	}
	.ani_icon07 img {
		max-width: 130px;
	}

	.ani_icon08 img {
		max-width: 130px;
	}


}


/* news
-------------------------------------------------------*/
.list_news_tag {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
	margin-bottom: 40px;
}
.list_news_tag li {
	border-radius: 5px;
}
.list_news_tag li:not(:last-child) {
	margin-right: 10px;
}
.list_news_tag li a {
	color: #fff;
	font-weight: 500;
	border: 1px solid #fff;
	width: 125px;
	padding: 5px 0;
	display: block;
	box-sizing: border-box;
	border-radius: 5px;
	text-align: center;
}
.list_news {
	margin-bottom: 70px;
}
.list_news li:not(:last-child) {
	margin-bottom: 10px;
}
.list_news li a {
	background: #fff;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
	padding: 20px;
	border-radius: 5px;
	font-weight: 500;
}
.list_news li dl {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
	margin-right: 30px;
}
.list_news li .tag {
	width: 125px;
	padding: 5px 0;
	text-align: center;
	color: #fff;
	border-radius: 5px;
	margin-right: 15px;
}
.pager {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	margin-bottom: 70px;
}
.pager li {
	margin: 0 5px;
}
.pager li:first-child,.pager li:last-child {
	margin: 0 15px;
}
.pager li a {
	background: #fff;
	width: 42px;
	height: 42px;
	display: flex;
	border-radius: 5px;
	align-items: center;
	justify-content: center;
	font-size: 2rem;
	font-weight: 500;
}
.tag01 {
	background: #15b780;
}
.tag02 {
	background: #b9af07;
}
.tag03 {
	background: #c34ece;
}
.tag04 {
	background: #32b6dc;
}
.tag05 {
	background: #ed619c;
}
.tag06 {
	background: #9a9a9b;
}
.news_detail {
	background: #ffffff;
	padding: 30px 20px;
	border-radius: 5px;
}
.news_detail .ttl {
	font-weight: 700;
	font-size: 2.4rem;
	margin-bottom: 20px;
}
.news_detail dl {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
	font-weight: 500;
	margin-bottom: 20px;
}
.news_detail .tag {
	width: 125px;
	padding: 5px 0;
	color: #fff;
	text-align: center;
	border-radius: 5px;
	margin-right: 20px;
}
.news_detail .txt {
	line-height: 2;
	margin-bottom: 50px;
}
.news_detail .img {
	text-align: center;
	margin-bottom: 50px;
}
.news_detail .img img {
	max-width: 650px;
}
.news_detail>p:last-child {
	margin-bottom: 0;
}
@media screen and (min-width:768px) and ( max-width:1080px) {

}
@media screen and (max-width:768px) {
	.list_news_tag {
		flex-flow: row wrap;
		margin-bottom: 20px;
	}
	.list_news_tag li {
		width: 30%;
		margin-bottom: 10px;
	}
	.list_news_tag li:not(:last-child) {
		margin-right: 5%;
	}
	.list_news_tag li:nth-child(3n) {
		margin-right: 0;
	}
	.list_news_tag li a {
		width: 100%;
	}
	.list_news {
		margin-bottom: 50px;
	}
	.list_news li a {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
	}
	.list_news li dl {
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		justify-content: flex-start;
		margin-right: 0;
		margin-bottom: 10px;
	}
	.list_news li .tag {
		width: 100px;
		padding: 5px 0;
	}
	.pager {
		margin-bottom: 50px;
	}
	.pager li {
		margin: 0 3px;
	}
	.pager li:first-child,.pager li:last-child {
		margin: 0 10px;
	}
	.pager li a {
		width: 30px;
		height: 30px;
		font-size: 1.6rem;
	}
	.news_detail .ttl {
		font-size: 2rem;
		line-height: 1.4;
	}
	.news_detail .tag {
		width: 100px;
	}
	.news_detail .txt {
		line-height: 1.6;
		margin-bottom: 30px;
	}
	.news_detail .img {
		margin-bottom: 30px;
	}
	.news_detail>p:last-child {
		margin-bottom: 0;
	}
}


/* member
-------------------------------------------------------*/
/* calendar */
#member #area01 {
	background: #2abfe9 url(../img/common/bg_wave02.png)no-repeat center bottom/contain;
	position: relative;
}
#member #area01.area {
	padding: 70px 20px 200px;
}
#member #area01 .ani_icon.ani_icon03 {
	position: absolute;
	left: inherit;
	right: 20%;
	top: 10%;
}
#member #area01 .ani_icon img {
	max-width: 171px;
}
.calendar {
	background: #fff;
	border-radius: 20px;
	padding: 50px;
}

/* news */
#member #area02 {
	background: url(../img/common/bg_wave04.png)no-repeat center bottom/contain, #cfeffe;
}
#member #area02.area {
	padding: 70px 20px 200px;
}

/* download */
#member #area03 {
	background: url(../img/common/bg_wave05.png)no-repeat center bottom/contain, #f6f6f6;
}
#member #area03.area {
	padding: 70px 20px 150px;
}


.list_download_wrap {
	display: flex;
	justify-content: space-between;
}

.list_download_inner {
	width: 48%;
}

.list_download_ttl {
	box-sizing: border-box;
	max-width: 100%;
	margin: 0 auto;
	background: #009be7;
	padding: 10px 20px;
	font-weight: 700;
	color: #fff;
	margin-bottom: 20px;
	border-radius: 10px 10px 0 0;
	font-size:2rem;
}
.list_download {
	max-width: 100%;
	margin: 0 auto;
	height: 200px;
	overflow-y: scroll;
	margin-bottom: 20px;
}
.list_download li {
	border-bottom: 1px solid #009be7;
	padding: 0 0 20px;
	margin: 0 0 20px;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
}
.list_download li .icon {
	margin-right: 10px;
}
.list_download li .icon img {
	max-width: 30px;
}
.list_download li a {
	font-size: 1.8rem;
	color: #009be7;
	text-decoration: underline;
}
/* download */
.col01 {
	background: #009be7;
}
.col02 {
	background: #dac44a;
}
.col03 {
	background: #41b77b;
}
.col04 {
	background: #ff9933;
}
.col05 {
	background: #ffc000;
}
.col06 {
    background: #e97292;
}

.list_btn {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
}
#site_link .list_btn {
  flex-flow: row wrap;
  align-items:flex-start;
}
.list_btn li {
	width: 30%;
}
#site_link .list_btn li {
	width: 48%;
	margin-bottom: 30px;
}
#site_link .list_btn li:last-child {
  margin-bottom: 0;
}
.list_btn li span {
	display: block;
	text-align: center;
	margin-top: 10px;
}
.list_btn li a {
	display: block;
	color: #fff;
	text-align: center;
	font-family: "M PLUS 1p", sans-serif;
	font-size: 2.4rem;
	padding: 20px 0;
	border-radius: 10px;
	position: relative;
}
.list_btn li a::after {
	position: absolute;
	display: block;
	content: "";
	background: url(../img/common/icon_arrow.png)no-repeat right center/20px 18px;
	width: 20px;
	height: 18px;
	right: 15px;
	top: 50%;
	transform: translate(0,-50%);
}
.no-line {
  border: none!important;
}
#site_link .list_btn li.nolink a {
  background: #ccc!important;
  pointer-events: none;
}
#site_link .ttl01 .jp_main {
	font-size: 4.5rem;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 900;
}
@media screen and (max-width: 768px) {
  #site_link .list_btn {
    flex-flow: column;
    align-items: center;
    justify-content: center;
    }
  #site_link .list_btn li {
    width: 100%;
    margin-bottom: 20px;
  }
  #site_link .list_btn li a {
    font-size: 1.8rem;
  }
  #site_link .list_btn li a::after {
    position: absolute;
    display: block;
    content: "";
    background: url(../img/common/icon_arrow.png) no-repeat right center / 20px 18px;
    width: 16px;
    height: 14px;
    right: 10px;
    top: 50%;
    transform: translate(0, -50%);
  }
  #site_link .ttl01 .jp_main {
    font-size: 2.5rem;
  }
}
#site_link .list_btn_item {
    display: inline-block !important;
    background: #196b24;
    border-radius: 5px;
    font-size: 1.6rem;
    padding: 3px 10px;
    margin-right: 5px;
    margin-top: 0 !important;
}
@media screen and (max-width: 768px) {
    #site_link .list_btn_item {
        font-size: 1.2rem;
    }
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	#member #area01 .ani_icon.ani_icon03 {
		right: 5%;
		top: 10%;
	}
	#member #area01 .ani_icon img {
		max-width: 130px;
	}
	.list_btn li {
		width: 32%;
	}
	.list_btn li a {
		font-size: 1.8rem;
	}
	.list_btn li a::after {
		background: url(../img/common/icon_arrow.png)no-repeat right center/18px 16px;
		width: 18px;
		height: 16px;
		right: 10px;
	  }
}
@media screen and (max-width:768px) {
	/* calendar */
	#member #area01.area {
		padding: 30px 20px 60px;
	}
	#member #area01 .ani_icon.ani_icon03 {
		right: 2%;
		top: 15%;
	}
	#member #area01 .ani_icon.ani_icon03 img {
		max-width: 80px;
	}
	.calendar {
		padding: 20px;
	}

	/* news */
	#member #area02.area {
		padding: 30px 20px 60px;
	}

	/* download */
	.list_download_ttl {
		padding: 10px 20px;
		margin-bottom: 20px;
		border-radius: 10px 10px 0 0;
		font-size:1.5rem;
	}

	#member #area03.area {
		padding: 30px 20px 50px;
	}
	.list_download li .icon {
		margin-right: 15px;
	}
	.list_download li .icon img {
		max-width: 30px;
	}
	.list_download li a {
		font-size: 1.5rem;
	}
	/* download */
	.list_btn {
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}
	.list_btn li {
		width: 100%;
	}
	.list_btn li:not(:last-child) {
		margin: 0 0 20px;
	}
	.list_btn li a {
		font-size: 2rem;
	}

	.list_download_wrap {
	display: block;
}

.list_download_inner {
	width: 100%;
  margin-bottom: 15px;
  }
}


/* organization
-------------------------------------------------------*/
.organization_img {
	background: #fff;
	border-radius: 5px;
	text-align: center;
	padding: 50px;
}
.organization_img img {
	max-width: 750px;
}
@media screen and (min-width:768px) and ( max-width:1080px) {

}
@media screen and (max-width:768px) {
	.organization_img {
		padding: 20px;
	}
}

/* login
-------------------------------------------------------*/
.top_login {
	background: url(../img/index/visual_login.png)center/cover;
}
#login {
	width: 100%;
	height: 100vh;
	position: relative;
}
#login.area {
	padding: 0 20px;
}
#login .inner {
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
}
#login .box {
	background: #fff;
	max-width: 500px;
	width: 100%;
	border-radius: 20px;
	padding: 50px 30px 70px;
	margin: 0 auto;
	box-shadow: 0px 0px 15px -5px rgba(0,0,0,0.3);

}
#login .logo {
	text-align: center;
	margin-bottom: 50px;
}
#login .logo a {
	justify-content: center;
}
#login .logo img {
	max-width: 432px;
}
#login .btn01 a {
	width: 100%;
}


/* statistics
-------------------------------------------------------*/
.statistics_box {
	background: #fff;
	padding: 30px 30px 20px 30px;
	border-radius: 10px;
	margin-bottom: 70px;
}
.list_statistics {
	display: flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
}
.list_statistics li {
	width: 32%;
	margin-right: 2%;
	margin-bottom: 20px;
}
.list_statistics li:nth-child(3n) {
	margin-right: 0;
}
.list_statistics li a {
	text-align: center;
	font-family: "M PLUS 1p", sans-serif; 
	font-size: 1.8rem;
	line-height: 1.4;
	padding: 10px;
	border-radius: 10px;
	height: 100%;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
}
.statistics_box_open {
	background: #fff;
	padding: 30px 30px 20px 30px;
	border-radius: 10px;
	margin-bottom: 70px;
}
.ttl_statistics {
	font-family: "M PLUS 1p", sans-serif; 
	font-size: 3rem;
	padding: 20px;
	margin: 0 0 30px;
	line-height: 1.4;
}
.list_statistics_open {
	display: flex;
	flex-flow: row wrap;
}
.list_statistics_open li {
	width: 32%;
	margin-right: 2%;
	margin-bottom: 20px;
}
.list_statistics_open li:nth-child(3n) {
	margin-right: 0;
}
.list_statistics_open li a {
	text-align: center;
	background: #ede8d8;
	font-size: 2rem;
	font-weight: 700;
	padding: 10px;
	border-radius: 100px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
}
.list_statistics_open li .icon_excel span {
	position: relative;
	padding-left: 40px;
}
.list_statistics_open li .icon_excel span::before {
	position: absolute;
	display: block;
	content: "";
	background: url(../img/statistics/icon_book.png)no-repeat left center;
	background-size: 100%;
	width: 26px;
	height: 33px;
	left: 0;
	top: 50%;
	transform: translate(0,-50%);
}
/* cat color */
.list_statistics.cat01 a {
	background:#31aeb9;
	color: #fff;
}
.list_statistics.cat02 a {
	background:#41b77b;
	color: #fff;
}
.list_statistics.cat03 a {
	background:#009be7;
	color: #fff;
}
.ttl_statistics.cat01 {
	background:#31aeb9;
	color: #fff;
	border-radius: 10px;
}
.ttl_statistics.cat02 {
	background:#41b77b;
	color: #fff;
	border-radius: 10px;
}
.ttl_statistics.cat03 {
	background:#009be7;
	color: #fff;
	border-radius: 10px;
}
@media screen and (max-width:768px) {
	.statistics_box {
		padding: 20px 20px 10px 20px;
		margin-bottom: 50px;
	}
	.list_statistics {
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}
	.list_statistics li {
		width: 100%;
		margin-right: 0;
		margin-bottom: 15px;
	}
	.list_statistics li a {
		font-size: 1.4rem;
	}
	.statistics_box_open {
		padding: 20px 20px 10px 20px;
		border-radius: 10px;
		margin-bottom: 50px;
	}
	.ttl_statistics {
		font-size: 1.8rem;
	}
	.list_statistics_open {
		flex-flow: column;
	}
	.list_statistics_open li {
		width: 100%;
		margin-right: 0;
		margin-bottom: 15px;
	}
	.list_statistics_open li a {
		font-size: 1.6rem;
	}
	.list_statistics_open li .icon_excel span {
		padding-left: 30px;
	}
	.list_statistics_open li .icon_excel span::before {
		width: 20px;
		height: 25px;
	}
}


/* site link
-------------------------------------------------------*/
.box_link {
	background: #fff;
	border-radius: 20px;
	padding: 40px;
	max-width: 800px;
	margin: 0 auto 50px;
	border: 5px solid #009be7;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.ttl_link {
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 30px;
	border-bottom: 3px solid #009be7;
	padding-bottom: 20px;
}

.box_link_inner {
	margin-bottom: 30px;
	width: 48%;
}

.box_link_inner.last {
	width: 100%;
}

.box_link_inner.last_top {
	margin-bottom: 30px;
}


.box_link_inner_last_box {
display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.box_link_inner.last .list_link {
	width: 48%;
}

.list_link li {
	padding-left: 20px;
}

#index_statistics .list_link li .txt {
	text-align: left;
}
.list_link li a {
	color: #009be7;
	font-weight: 700;
	position: relative;
}
.list_link li a::before {
	position: absolute;
	display: block;
	content: "";
	vertical-align: middle;
	color:#009be7;
	line-height: 1;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent;
	border-width: 0.375em 0.64952em;
	border-left-color: currentColor;
	border-right: 0;
	left: -20px;
	top: 5px;
}
.list_link li {
	margin-bottom: 20px;
}
@media screen and (max-width:768px) {
	.box_link {
		padding: 20px;
		margin: 0 auto 30px;
		display: block;
	}
	.ttl_link {
		font-size: 1.8rem;
		margin-bottom: 20px;
		border-bottom: 2px solid #009be7;
		padding-bottom: 10px;
	}
	.list_link li {
		padding-left: 15px;
	}
	.list_link li a::before {
		left: -15px;
	}
	.list_link li:not(:last-child) {
		margin-bottom: 15px;
	}

	.box_link_inner {
		width: 100%;
	}

	.box_link_inner_last_box {
display: block;

}

.box_link_inner.last .list_link {
	width: 100%;
}
}






/* animation
-------------------------------------------------------*/
.animation {
	position: relative;
}


/*--車-縦02--*/
.animation_car05 > * {
	position: absolute;
	z-index: 15;
	animation: carMoveReverse 6s linear infinite;
	opacity: 0;
}
.animation_car05_01 {
	width: 3.5%;
	bottom: 35%;
	right: 19.5%;
	animation-delay: 0s;
}
.animation_car05_02 {
	width: 3.5%;
	bottom: 35%;
	right: 19%;
	animation-delay: 3s;
}
@keyframes carMoveReverse {
    0% {
        opacity: 0;
		bottom: 35%;
		right: 19.5%;
        transform: scale(0.7);
    }
    10% {
        opacity: 1;
        transform: scale(0.7);
    }
    90% {
        opacity: 1;
        bottom: 25%;
		right: 24%;
        transform: scale(1);
    }
    100% {
        opacity: 0;
       	bottom: 25%;
		right: 24%;
        transform: scale(1);
    }
}
/*--//車-縦02--*/

/*--車-手前--*/
.animation_car03 > * {
	position: absolute;
	z-index: 14;
	animation: slideAndFade 14s linear infinite;
	opacity: 0;
}
.animation_car03_01 {
	width: 7.5%;
	bottom: 19%;
}
.animation_car03_02 {
	width: 7%;
	bottom: 19%;
	animation-delay: 4s;
}
@keyframes slideAndFade {
  0% {
        transform: translateX(100vw); /* 画面外右端からスタート */
        opacity: 1;
    }
    70% {
        transform: translateX(20vw); /* 画面の右から10%の位置（≒90%進む） */
        opacity: 1;
    }
    75% {
        transform: translateX(20vw); /* その場で静止 */
        opacity: 0; /* ふんわり消える */
    }
    100% {
        transform: translateX(20vw);
        opacity: 0; /* 完全に消える */
    }
}
/*--//車-手前--*/

/*--手前　風景--*/
.animation_temae > * {
	position: absolute;
}
.animation_temae_sea {
	width: 59%;
	bottom: 2%;
	right: 0;
	z-index: 16;
}
.animation_temae_bg {
	width: 100%;
	bottom: 23.5%;
	right: 0;
	z-index: 10;
}
.animation_t_kujira {
  position: absolute;
  width: 15%;
  top: 78%;
  left: 15%;
  z-index: 15;
  animation: kujiraFloat 8s ease-in-out infinite;
  transform-origin: center bottom;
}
@keyframes kujiraFloat {
  0% {
    transform: translateY(20%) translateX(0);
    opacity: 0;
  }
  10% {
    transform: translateY(0%) translateX(0);
    opacity: 1;
  }
  20% {
    transform: translateY(0%) translateX(-2%);
  }
  30% {
    transform: translateY(0%) translateX(2%);
  }
  40% {
    transform: translateY(0%) translateX(-1%);
  }
  50% {
    transform: translateY(0%) translateX(0%);
    opacity: 1;
  }
  60% {
    transform: translateY(20%) translateX(0);
    opacity: 0;
  }
  100% {
    transform: translateY(10%) translateX(0);
    opacity: 0;
  }
}
.animation_t_kujira_shibuki {
  position: absolute;
  width: 28%;
  top: 90%;
  left: 7%;
  z-index: 12;
  animation: shibukiSplash 8s ease-in-out infinite;
}
@keyframes shibukiSplash {
  0% {
    transform: translateY(0);
    opacity: 0;
  }
  10% {
    opacity: 1;
    transform: translateY(-20px);
  }
  20% {
    opacity: 0;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
  }
}
.animation_t_panda01 {
	width: 5.5%;
	bottom: 25%;
	left: 41.5%;
	z-index: 11;
	animation: panda01 3s ease-in-out infinite;
}
@keyframes panda01 {
    0% {
        transform: rotate(4deg); /* 左に傾く */
    }
    50% {
        transform: rotate(-4deg); /* 右に傾く */
    }
    100% {
        transform: rotate(4deg); /* 左に戻る */
    }
}
.animation_t_panda02 {
	width: 7.5%;
	bottom: 25%;
	left: 47%;
	z-index: 11;
	animation: panda02 3s ease-in-out infinite;
}
@keyframes panda02 {
    0% {
        transform: rotate(-2deg); /* 左に傾く */
    }
    50% {
        transform: rotate(2deg); /* 右に傾く */
    }
    100% {
        transform: rotate(-2deg); /* 左に戻る */
    }
}
.animation_t_showroom01 {
	width: 3%;
	bottom: 25%;
	right: 38.5%;
	z-index: 11;
}
.animation_t_showroom02 {
	width: 3%;
	bottom: 25%;
	right: 42%;
	z-index: 11;
}
/*--//手前　風景--*/

/*--車-縦01--*/
.animation_car04 > * {
	position: absolute;
	z-index: 9;
	animation: carVerticalMove 10s linear infinite;
	opacity: 0;
}
.animation_car04_01 {
	width: 4%;
	left: 20%;
	bottom: 24%;
	animation-delay: 0;
}
.animation_car04_02 {
	width: 3%;
	left: 20%;
	bottom: 24%;
	animation-delay: 2s;
}
/*
.animation_car04_03 {
	width: 3.5%;
	left: 20%;
	bottom: 24%;
	animation-delay: 10s;
}
.animation_car04_04 {
	width: 3.5%;
	left: 20%;
	bottom: 24%;
	animation-delay: 13s;
}*/
@keyframes carVerticalMove {
  0% {
    opacity: 0;
    top: 70%;
    left: 19%;
    transform: scale(1);
  }
  10% {
    opacity: 1;
    transform: scale(1);
  }
  90% {
    opacity: 1;
    top: 35%;
    left: 48%;
    transform: scale(0.8); /* 遠ざかって小さく */
  }
  100% {
    opacity: 0;
    top: 35%;
    left: 48%;
    transform: scale(0.8);
  }
}
@media screen and (max-width:768px) {
	@keyframes carVerticalMove {
	0% {
		opacity: 0;
		top: 70%;
		left: 18%;
		transform: scale(1);
	}
	10% {
		opacity: 1;
		transform: scale(1);
	}
	90% {
		opacity: 1;
		top: 30%;
		left: 47%;
		transform: scale(0.8); /* 遠ざかって小さく */
	}
	100% {
		opacity: 0;
		top: 30%;
		left: 47%;
		transform: scale(0.8);
	}
	}
}
/*--//車-縦01--*/

/*--車-真ん中--*/
.animation_car02 > * {
	position: absolute;
	z-index: 9;
	left: 110%; /* 最初は画面外の右に置いておく */
	animation: carSlideLeft2 23s linear infinite;
}
.animation_car02_01 {
	width: 5.5%;
	bottom: 42%;
	animation-delay: 5s;
}
.animation_car02_02 {
	width: 5%;
	bottom: 43%;
	animation-delay: 8s;
}
.animation_car02_03 {
	width: 5.5%;
	bottom: 42%;
	animation-delay: 17s;
}
.animation_car02_04 {
	width: 5.5%;
	bottom: 42%;
	animation-delay: 23s;
}
@keyframes carSlideLeft2 {
	0% {
		left: 110%;
	}
	100% {
		left: -10%;
	}
}
/*--//車-真ん中--*/

/*--真ん中 風景--*/
.animation_mid > * {
	position: absolute;
}
.animation_mid_bg01 {
	z-index: 5;
	width: 48%;
	left: -0.5%;
	top: 33%;
}
.animation_mid_bg02 {
	z-index: 7;
	width: 54%;
	right: 0;
	top: 19%;
}
.animation_mid_tram {
	top: 44.5%;
	width: 14%;
	z-index: 6;
	animation: tramSlide 32s linear infinite;
}
@keyframes tramSlide {
	0% {
	left: 90%; /* 画面右外から登場 */
	}
	100% {
	left: -30%; /* 画面左外へ退場 */
	}
}
@media screen and (max-width:768px) {
	.animation_mid_tram {
		top: 39.5%;
	}
}
.animation_mid_bubble01 {
	z-index: 8;
	top: 47.5%;
	width: 4.5%;
	right: 3%;
	animation: bubble01 2s ease-in-out infinite;
}
@keyframes bubble01 {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1); /* 少し大きくなる */
    }
}
@media screen and (max-width:768px) {
	.animation_mid_bubble01 {
		top: 41.5%;
	}
}
.animation_mid_bubble02 {
	z-index: 8;
	top: 46.5%;
	width: 11.5%;
	right: 0%;
	animation: bubble02 4s ease-in-out infinite;
}
@keyframes bubble02 {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(5px); /* 上に20px浮く */
    }
}
@media screen and (max-width:768px) {
	.animation_mid_bubble02 {
		top: 41.5%;
	}
	@keyframes bubble02 {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(3px); /* 上に20px浮く */
    }
}
}


.animation_mid_taki {
	position: absolute;
	z-index: 8;
	width: 2%;
	top: 22%;
	left: 93.8%;
}


@keyframes fruitFall02 {
  0%, 20% {
    transform: translateY(0);
    opacity: 1;
  }
  35% {
    transform: translateY(30px);
    opacity: 0;
  }
  36% {
    transform: translateY(0);
    opacity: 0;
  }
  60%, 100% {
    transform: translateY(0);
    opacity: 1;
  }
}



/* Mid Orange（中段のみかん）用アニメーション */
.animation_mid_or01,
.animation_mid_or02,
.animation_mid_or03 {
  position: absolute;
  z-index: 8;
  width: 0.7%;
  animation-name: fruitFall02;
  animation-duration: 8s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}

.animation_mid_or01 {
  left: 3.1%;
  top: 38%;
  animation-delay: 1s;
}
.animation_mid_or02 {
  left: 10%;
  top: 37%;
  animation-delay: 3s;
}
.animation_mid_or03 {
  left: 24%;
  top: 40%;
  animation-delay: 5s;
}


@media screen and (max-width:768px) {


@keyframes fruitFall02 {
  0%, 20% {
    transform: translateY(0);
    opacity: 1;
  }
  35% {
    transform: translateY(10px);
    opacity: 0;
  }
  36% {
    transform: translateY(0);
    opacity: 0;
  }
  60%, 100% {
    transform: translateY(0);
    opacity: 1;
  }
}
	.animation_mid_or01 {
  top: 30%;
}
.animation_mid_or02 {
  top: 30%;
}
.animation_mid_or03 {
  top: 30%;
}
}

/*--//真ん中 風景--*/

/*--車-奥--*/
.animation_car01 > * {
	position: absolute;
	z-index: 4;
}
.animation_car01_01,.animation_car01_02,.animation_car01_03 {
	animation: carSlideLeft 30s linear infinite;
	left: -30%;
}
.animation_car01_01 {
	top: 29%;
	width: 11%;
	animation-delay: 0s;
}
.animation_car01_02 {
	top: 32.5%;
	width: 5.5%;
	animation-delay: 6s;
}
.animation_car01_03 {
	top: 32.5%;
	width: 6%;
	animation-delay: 10s;
}
@keyframes carSlideLeft {
  0% {
    left: -30%; /* 画面右外から登場 */
  }
  100% {
    left: 110%; /* 画面左外へ退場 */
  }
}
.animation_car01_04 {
	top: 33%;
	width: 8%;
	animation: carSlideRight 25s linear infinite;
}
@keyframes carSlideRight {
  0% {
    left: 80%;
  }
  100% {
    left: -10%;
  }
}
@media screen and (max-width:768px) {
	.animation_car01_01 {
		top: 27%;
	}
	.animation_car01_02 {
		top: 26%;
	}
	.animation_car01_03 {
		top: 26%;
	}
	.animation_car01_04 {
		top: 27%;
	}
}
/*--//車-奥--*/

/*--奥 風景--*/
.animation_back > * {
	position: absolute;
	z-index: 3;
}
.animation_back_monk {
	right: 38.5%;
	top: 17%;
	width: 5.5%;
	animation: hopTwice 3s ease-in-out infinite;
}
@keyframes hopTwice {
  0% {
    transform: translateY(0);
  }
  10% {
    transform: translateY(-7px); /* 1回目のジャンプ */
  }
  20% {
    transform: translateY(0);
  }
  30% {
    transform: translateY(-4px); /* 2回目の小さなジャンプ */
  }
  40% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0);    /* あとは待機時間 */
  }
}
@media screen and (max-width:768px) {
	@keyframes hopTwice {
	0% {
		transform: translateY(0);
	}
	10% {
		transform: translateY(-3px); /* 1回目のジャンプ */
	}
	20% {
		transform: translateY(0);
	}
	30% {
		transform: translateY(-1px); /* 2回目の小さなジャンプ */
	}
	40% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(0);    /* あとは待機時間 */
	}
	}
}

.animation_back_rocket {
	width: 4%;
	left: 14.5%;
	top: 5%;
	animation: rocketLaunch 8s ease-in-out infinite;
	animation-fill-mode: both;
	position: absolute;
}
@keyframes rocketLaunch {
	0% {
		transform: translateY(0);
		opacity: 1;
	}
	/* ブルブル震え */
	5%, 7%, 9%, 11%, 13% {
		transform: translateY(-1px);
	}
	6%, 8%, 10%, 12%, 14% {
		transform: translateY(1px);
	}

	/* 発射 */
	20% {
		transform: translateY(0);
	}
	40% {
		transform: translateY(-300px); /* 飛び出す位置 */
		opacity: 1; /* ここまでは完全表示 */
	}
	49% {
		transform: translateY(-320px);
		opacity: 0; /* フェードアウト終了 */
	}
	50% {
		transform: translateY(0); /* 一瞬で元の位置に戻す（見えない状態） */
		opacity: 0;
	}
	80% {
		transform: translateY(0);
		opacity: 0;
	}
	100% {
		transform: translateY(0);
		opacity: 1; /* フェードイン完了 */
	}
}


@media screen and (max-width:768px) {
	.animation_back_rocket {
		animation: rocketLaunch 10s ease-in-out infinite;
	}
	@keyframes rocketLaunch {
    0% {
        transform: translateY(0);
    }
    /* ブルブル震え（発射準備） */
    5%, 7%, 9%, 11%, 13% {
        transform: translateY(-1px);
    }
    6%, 8%, 10%, 12%, 14% {
        transform: translateY(1px);
    }
    /* ゆっくりスムーズに発射（20%〜40%で上昇） */
    20% {
        transform: translateY(0); /* ここから加速開始 */
    }
    40% {
        transform: translateY(-100px); /* 上空へ */
    }
    /* 滞空 */
    60% {
        transform: translateY(-100px);
    }
    /* 着地 */
    85% {
        transform: translateY(0);
    }
    /* 着地後静止 */
    100% {
        transform: translateY(0);
    }
}
}
.animation_back_plane {
	width: 8.5%;
	left: 14.5%;
	top: 10%;
	animation: plane 22s linear infinite;
}
@keyframes plane {
    0% {
        left: -100px; /* 左端の外側からスタート */
    }
    100% {
        left: 100vw; /* 画面の右端へ移動 */
    }
}
/*--//奥 風景--*/

/*--雲--*/
.animation_kumo > * {
	position: absolute;
	z-index: 2;
}
.animation_kumo01 {
	width: 4%;
	top: 6%;
	left: 9%;
}
.animation_kumo02 {
	width: 6%;
	top: -1%;
	left: 20%;
}
.animation_kumo03 {
	width: 5%;
	top: 4%;
	left: 33%;
}
.animation_kumo04 {
	width: 4%;
	top: 3%;
	right: 28%;
}
.animation_kumo01,.animation_kumo03 {
	animation: cloudFloatA 4s ease-in-out infinite;
}
.animation_kumo02,.animation_kumo04 {
	animation: cloudFloatB 5s ease-in-out infinite;
}
@keyframes cloudFloatA {
	0%   { transform: translateY(0); }
	50%  { transform: translateY(-10px); }
	100% { transform: translateY(0); }
}

@keyframes cloudFloatB {
	0%   { transform: translateY(0); }
	50%  { transform: translateY(8px); }
	100% { transform: translateY(0); }
}
@media screen and (max-width:768px) {
	.animation_kumo01 {
		top: 1%;
	}
	.animation_kumo02 {
		top: -1%;
	}
	.animation_kumo03 {
		top: 2%;
	}
	.animation_kumo04 {
		top: 0;
	}
	@keyframes cloudFloatA {
		0%   { transform: translateY(0); }
		50%  { transform: translateY(-2px); }
		100% { transform: translateY(0); }
	}
	@keyframes cloudFloatB {
		0%   { transform: translateY(0); }
		50%  { transform: translateY(3px); }
		100% { transform: translateY(0); }
	}
}
/*-//-雲--*/

/*--最背面--*/
.animation_bg_base {
	position: relative;
	top: 0;
	left: 0;
	z-index: 1;
}

/* 共通アニメーション定義 */
@keyframes fruitFall {
  /* 0〜20%：元の位置で表示されたまま */
  0%, 20% {
    transform: translateY(0);
    opacity: 1;
  }
  /* 35%：下に落下しつつフェードアウト */
  35% {
    transform: translateY(80px);
    opacity: 0;
  }
  /* 36%：一瞬で元の位置に戻り、非表示キープ */
  36% {
    transform: translateY(0);
    opacity: 0;
  }
  /* 60〜100%：フェードインして再表示 */
  60%, 100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@media screen and (max-width:768px) {
	@keyframes fruitFall {
  /* 0〜20%：元の位置で表示されたまま */
  0%, 20% {
    transform: translateY(0);
    opacity: 1;
  }
  /* 35%：下に落下しつつフェードアウト */
  35% {
    transform: translateY(20px);
    opacity: 0;
  }
  /* 36%：一瞬で元の位置に戻り、非表示キープ */
  36% {
    transform: translateY(0);
    opacity: 0;
  }
  /* 60〜100%：フェードインして再表示 */
  60%, 100% {
    transform: translateY(0);
    opacity: 1;
  }
}
}

/* 各要素にアニメーション適用 */
.animation_momo01,
.animation_momo02,
.animation_kaki01,
.animation_kaki02 {
  position: absolute;
  z-index: 2;
  width: 1.2%;
  animation-name: fruitFall;
  animation-duration: 8s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}

/* タイミングをずらす */
.animation_momo01 {
  left: 70%;
  top: 13%;
  animation-delay: 0s;
}
.animation_momo02 {
  left: 78%;
  top: 14%;
  animation-delay: 2s;
}
.animation_kaki01 {
  left: 85%;
  top: 14%;
  animation-delay: 4s;
}
.animation_kaki02 {
  left: 90%;
  top: 12%;
  animation-delay: 6s;
}

.animation_nami {
  position: absolute;
  z-index: 2;
  width: 70%;
  left: 0;
  top: 70%;
  /* アニメーション適用 */
  animation: waveSway 6s ease-in-out infinite;
  /* 最後のフレーム保持も◎ */
  animation-fill-mode: both;
}

/* 波のゆらゆら揺れ */
@keyframes waveSway {
  0% {
    transform: translate(0, 0);
  }
  25% {
    transform: translate(10px, -5px);
  }
  50% {
    transform: translate(0, 0);
  }
  75% {
    transform: translate(-10px, 5px);
  }
  100% {
    transform: translate(0, 0);
  }
}


/*--//最背面--*/


.table_company {
	border: 1px solid #00b1c3;
	font-size: 1.4rem;
	line-height: 1.8;
	width: 100%;
}
.table_company tr {
	border-bottom: 1px solid #00b1c3;
}
.table_company th {
	background: rgba(0,177,195,0.6);
	border-right: 1px solid #00b1c3;
	color: #fff;
	text-align: center;
	width: 200px;
	vertical-align: middle;
	padding: 20px;
	box-sizing: border-box;
	font-weight: 700;
}
.table_company td {
	background: #fff;
	vertical-align: middle;
	padding: 20px;
	font-weight: 500;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {

	.table_company {
		line-height: 1.6;
	}
	.table_company th {
		width: 100px;
		padding: 15px;
	}
	.table_company td {
		padding: 15px;
	}	
}



#index_about .ttl01 {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	margin-top: 50px;
}
#index_about .ttl01 .icon {
	margin-right: 25px;
}
#index_about .ttl01 .icon img {
	max-width: 144px;
}
#index_about .ttl01 .jp {
	font-size: 6rem;
	font-weight: 900;
}
#index_about .lead_txt {
	text-align: center;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 50px;
	line-height: 1.8;
}

@media screen and (min-width:768px) and ( max-width:1080px) {
	#index_about .ttl01 .icon {
		margin-right: 20px;
	}
	#index_about .ttl01 .icon img {
		max-width: 100px;
	}
	#index_about .ttl01 .jp {
		font-size: 5rem;
	}
}
@media screen and (max-width:768px) {

	#index_about .ttl01 .icon {
		margin-right: 20px;
	}
	#index_about .ttl01 .icon img {
		max-width: 70px;
	}
	#index_about .ttl01 .jp {
		font-size: 3rem;
	}
	#index_about .lead_txt {
		font-size: 1.6rem;
		margin-bottom: 40px;
		line-height: 1.6;
	}
}

.pager .wp-pagenavi a,.pager .wp-pagenavi span {
  text-decoration: none;
  border: none!important;
  padding: 4px 12px!important;
  margin: 5px;
  border-radius: 5px;
  background: #fff;
}

/* ▼PC（769px以上）の場合 */
@media screen and (min-width: 769px) {
  #index-branch,#index-data,#index-statistics,#index-location,#index-news,#index-member {
    display: block;
    padding-top: 50px;
    margin-top: -50px;
  }
}
/* ▼スマホ（1024px以下）の場合 */
@media screen and (max-width: 768px) {
  #index-branch,#index-data,#index-statistics,#index-location,#index-news,#index-member {
    display: block;
    padding-top: 65px;
    margin-top: -65px;
  }
}

.news-inner img {
  width: auto; 
  max-width: 100%;
  height: auto;
  display: block;
  margin: 30px auto;
}
.news-inner h1,.news-inner h2,.news-inner h3 {
  font-weight: 700;
}
.news-inner h1,.news-inner h2 {
  font-size: 2.2rem;
  padding-bottom: 5px;
  border-left: solid 5px #2abfe9;
  padding: 0.25em 0.5em;/*上下 左右の余白*/
  margin-bottom: 30px;
}
.news-inner h3 {
  font-size: 1.8rem;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .news-inner img {
    max-width: 100%;
    margin: 20px auto;
  }
  .news-inner h1,.news-inner h2 {
    font-size: 1.8rem;
    padding-bottom: 5px;
    padding: 0.20em 0.4em;
    margin-bottom: 20px;
  }
  .news-inner h3 {
    font-size: 1.6rem;
    margin-bottom: 15px;
  }
}





/*20251220追加*/

.ttl01 {
	position: relative;
	z-index: 2;
}

.ani_icon07 {
  position: absolute;          /* 画面基準で動かす */
  bottom: 10%;                 /* 好きな位置に調整 */
  right: -40%;                 /* 開始位置（画面外） */
  animation: trainMove 30s linear infinite;
  z-index: 1;
}

@keyframes trainMove{
  0%   { left: 110%; }
  100% { left: -40%; } /* 終了：左の外（画像分余裕） */
}


.momo_mikan {
	position: absolute;
	top: -30px;
	left: 20px;
	max-width: 299px;
}
@media screen and (max-width: 1150px) {
	.momo_mikan {
		top: 20px;
	max-width: 200px;
}
}
@media screen and (max-width: 768px) {
	.momo_mikan {
		top: -50px;
	max-width: 120px;
}
}



.animation_car02_page .animation_car02_01 {
	width: 7%;
	bottom: inherit;
	top: 0px;
	animation-delay: 5s;
}
.animation_car02_page .animation_car02_02 {
	width: 7.5%;
	bottom: inherit;
	top: 0px;
	animation-delay: 8s;
}
.animation_car02_page .animation_car02_03 {
	width: 7%;
	bottom: inherit;
	top: 0px;
	animation-delay: 17s;
}
.animation_car02_page .animation_car02_04 {
	width: 7%;
	bottom: inherit;
	top: 0px;
	animation-delay: 23s;
}
@media screen and (max-width: 768px) {
.animation_car02_page .animation_car02_01 {
	width: 15%;
}
.animation_car02_page .animation_car02_02 {
	width: 15.5%;
	animation-delay: 12s
}
.animation_car02_page .animation_car02_03 {
	width: 15%;
}
.animation_car02_page .animation_car02_04 {
	width: 15%;
}
}