@charset "utf-8";

/* common
-------------------------------------------------------*/
#wrapper {
	overflow: hidden;
}
.sp {
	display: none;
}
.area {
	padding: 70px 20px;
	box-sizing: border-box;
}
.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: 414px;
}
.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:1180px) {
	#header .logo {
		max-width: 320px;
	}
}
@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 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;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	#nav_pc ul {
		font-size: 1.4rem;
	}
	#nav_pc ul li {
		margin-left: 15px;
	}
	#header .btn a {
		padding: 10px 20px 10px 30px;
	}
	#header .btn span::before {
		background: url(../img/common/icon_login.png)no-repeat left center/15px 16px;
		width: 15px;
		height: 16px;
		left: -20px;
		top: 3px;
	}
}
@media screen and (max-width:768px) {
	#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_about
-------------------------------------------------------*/
#index_about {	
	background:#2abfe9 url(../img/common/bg_wave02.png)no-repeat center bottom/contain;
}
#index_about.area {
	padding: 70px 20px 190px;
}
#index_about .ttl01 {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
}
#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;
}
#index_about .box {
	max-width: 1000px;
	margin: 0 auto;
	background: #fff;
	border-radius: 20px;
	padding: 60px 20px;
	box-sizing: border-box;
}
#index_about .box .box_in {
	max-width: 730px;
	margin: 0 auto;
}
#index_about .box .ttl02 {
	color: #00b1c3;
	font-size: 4rem;
	font-weight: 700;
	padding: 25px 0;
	border-top: 4px solid #00b1c3;
	border-bottom: 4px solid #00b1c3;
	text-align: center;
	position: relative;
	margin-bottom: 40px;
}
#index_about .box .ttl02::before,#index_about .box .ttl02::after {
	position: absolute;
	display: block;
	content: "";
	background: url(../img/index/icon_ttl01.png)no-repeat left bottom/213px 51px;
	width: 213px;
	height: 51px;
	bottom: 0;
}
#index_about .box .ttl02::before {
	left: 0;
}
#index_about .box .ttl02::after {
	right: 0;
}
#index_about .box  .txt {
	font-weight: 700;
	font-size: 1.8rem;
	margin-bottom: 40px;
}
#index_about .box .serif {
	background: #f6f6f6;
	padding: 30px;
	font-weight: 700;
	font-size: 1.8rem;
	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.area {
		padding: 40px 20px 100px;
	}
	#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;
	}
	#index_about .box {
		padding: 30px 20px;
	}
	#index_about .box .ttl02 {
		font-size: 2.6rem;
		padding: 20px 0;
		border-top: 2px solid #00b1c3;
		border-bottom: 2px solid #00b1c3;
		margin-bottom: 20px;
	}
	#index_about .box .ttl02::before,#index_about .box .ttl02::after {
		background: url(../img/index/icon_ttl01.png)no-repeat left bottom/106px 25px;
		width: 106px;
		height: 25px;
		bottom: 0;
	}
	#index_about .box .txt {
		font-size: 1.6rem;
		margin-bottom: 30px;
	}
	#index_about .box .serif {
		padding: 20px;
		font-size: 1.4rem;
	}	
	#index_about .box li {
		text-indent: -2em;
		padding-left: 2em;
	}
}


/* index_company
-------------------------------------------------------*/
#index_company {
	background: url(../img/common/bg_wave01.png)no-repeat center bottom/contain,linear-gradient(to bottom,#cfeffe,#fff);
}
#index_company.area {
	padding: 70px 20px 200px;
}
#index_company .inner {
	max-width: 800px;
}
#index_company .img_box {
	margin-bottom: 30px;
}
.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) {
	#index_company.area {
		padding: 40px 20px 100px;
	}
	#index_company .img_box {
		margin-bottom: 20px;
	}
	.table_company {
		line-height: 1.6;
	}
	.table_company th {
		width: 100px;
		padding: 15px;
	}
	.table_company td {
		padding: 15px;
	}	
}

/* index_location
-------------------------------------------------------*/
#index_location {
	background: #2abfe9 url(../img/index/bg_location.png)no-repeat center bottom/100% auto;
}
#index_location .inner {
	max-width: 1000px;
}
.list_location li {
	background: #fff;
	padding: 40px;
	border-radius: 20px;
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
}
.list_location li:not(:last-child) {
	margin-bottom: 40px;
}
.list_location li .txt_box {
	width: 50%;
	margin-right: 30px;
}
.list_location li .ttl {
	font-size: 3rem;
	font-weight: 700;
	color: #00b1c3;
	margin-bottom: 30px;
}
.list_location li .txt {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.8;
}
.list_location li .map {
	width: 50%;
}
.list_location li .map iframe {
	width: 100%;
	height: 320px;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	.list_location li .ttl {
		font-size: 2.6rem;
		margin-bottom: 20px;
	}
}
@media screen and (max-width:768px) {
	.list_location li {
		padding: 20px;
		flex-flow: column;
	}
	.list_location li:not(:last-child) {
		margin-bottom: 20px;
	}
	.list_location li .txt_box {
		width: 100%;
	}
	.list_location li .ttl {
		font-size: 1.8rem;
		margin-bottom: 15px;
	}
	.list_location li .txt {
		margin-bottom: 20px;
	}
	.list_location li .map {
		width: 100%;
	}
	.list_location li .map iframe {
		height: 200px;
	}	
}

/* index_activity
-------------------------------------------------------*/
#index_activity {
	background: url(../img/index/bg_btm.png)no-repeat center bottom/100% auto, url(../img/common/bg_wave03.png)no-repeat center top/contain, #f6f6f6;
}
#index_activity.area {
	padding: 200px 20px 120px;
}
.list_activity {
	display: flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
}
.list_activity li {
	background: #fff;
	padding: 30px;
	border-radius: 10px;
	width: 48%;
	box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.13);
	box-sizing: border-box;
}
.list_activity li:nth-child(odd) {
	margin-right: 4%;
}
.list_activity li:not(:last-child) {
	margin-bottom: 40px;
}
.list_activity li dl {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
	margin-bottom: 20px;
}
.list_activity li dl dt {
	max-width: 120px;
	margin-right: 30px;
}
.list_activity li dl dd {
	font-size: 2.6rem;
	font-weight: 700;
	color: #009be7;
	line-height: 1.2;
}
.list_activity li .txt {
	line-height: 1.8;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	.list_activity li {
		padding: 20px;
	}
	.list_activity li dl dt {
		max-width: 80px;
		margin-right: 20px;
	}
	.list_activity li dl dd {
		font-size: 2rem;
	}
}
@media screen and (max-width:768px) {
	#index_activity.area {
		padding: 80px 20px 70px;
	}
	.list_activity {
		flex-flow: column;
		align-items: center;
		justify-content: flex-start;
	}
	.list_activity li {
		padding: 20px;
		width: 100%;
	}
	.list_activity li:nth-child(odd) {
		margin-right: 0;
	}
	.list_activity li:not(:last-child) {
		margin-bottom: 20px;
	}
	.list_activity li dl {
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		justify-content: flex-start;
		margin-bottom: 10px;
	}
	.list_activity li dl dt {
		max-width: 60px;
		margin-right: 20px;
	}
	.list_activity li dl dd {
		font-size: 1.8rem;
	}
	.list_activity li .txt {
		line-height: 1.6;
	}
	
}

/* index_member
-------------------------------------------------------*/
#index_member.area {
	padding: 120px 20px 160px;
}
.member_box {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
.member_box ul {
	width: 50%;
	border-left: 3px solid #009be7;
	padding-left: 60px;
	font-size: 1.8rem;
	font-weight: 700;
}
.member_box ul li:not(:last-child) {
	margin-bottom: 20px;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	.member_box ul {
		padding-left: 30px;
		font-size: 1.6rem;
	}
}
@media screen and (max-width:768px) {
	#index_member.area {
		padding: 60px 20px;
	}
	.member_box {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
	}
	.member_box ul {
		width: 100%;
		border-left: 2px solid #009be7;
		padding-left: 20px;
		font-size: 1.4rem;
		padding-bottom: 15px;
	}
	.member_box ul li:not(:last-child) {
		margin-bottom: 15px;
	}
	
}


/* footer
-------------------------------------------------------*/
#footer .inner {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
#footer .logo {
    margin: 0 0 20px;
}
#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 20px;
	font-size: 1.8rem;
	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 li {
		padding: 0 10px;
		font-size: 1.3rem;
	}

	.footer_banner {
		margin-top: 20px;
		display: flex;
		justify-content:center
	}
	
	.footer_banner a {
		max-width: 180px;
	}
	
}

/* animation
-------------------------------------------------------*/
#index_company {
	position: relative;
}
#index_company .ttl01, #index_company .img_box, #index_company .table_compnay {
	position: relative;
	z-index: 2;
}
.ani_icon01,.ani_icon02,.ani_icon03,.ani_icon04,.ani_icon05,.ani_icon06 {
	position: absolute;
}
.ani_icon01 {
	left: 5%;
	top: 3%;
	z-index: 1;
	animation: ani01 5s infinite;
}
@keyframes ani01 {
	0%, 100% {
	  transform: translateY(0);
	}
	50% {
	  transform: translateY(-30px);
	}
}
.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;
}
@keyframes ani03 {
	0% {
		transform: translateY(0);
	}
	5% {
		transform: translateY(-10px);
	}
	10% {
		transform: translateY(0);
	}
	15% {
		transform: translateY(-10px);
	}
	20% {
		transform: translateY(0);
	}
}
.ani_icon04 {
	right: 10%;
	top: 50%;
	animation: ani04 3s linear infinite;
}
@keyframes ani04 {
0%,100% {
	transform: rotate(10deg);
}
20%{
	transform: rotate(-10deg);
}
40%{
	transform: rotate(10deg);
}
}
.ani_icon05 {
	bottom: 0;
	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%); }
}
/* size */
.ani_icon01 img {
	max-width: 463px;
}
.ani_icon02 img {
	max-width: 481px;
}
.ani_icon03 img {
	max-width: 104px;
}
.ani_icon04 img {
	max-width: 114px;
}
.ani_icon05 img {
	max-width: 354px;
}
.ani_icon06 img {
	max-width: 352px;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	.ani_icon03 {
		left: -10px;
	}
	/* size */
	.ani_icon01 img {
		max-width: 324px;
	}
	.ani_icon02 img {
		max-width: 336px;
	}
	.ani_icon03 img {
		max-width: 72px;
	}
	.ani_icon04 img {
		max-width: 80px;
	}
	.ani_icon05 img {
		max-width: 200px;
	}
	.ani_icon06 img {
		max-width: 200px;
	}
	
}
@media screen and (max-width:768px) {
	.ani_icon01 {
		left: 2%;
		top: 2%;
	}
	.ani_icon02 {
		right: 1%;
		top: 7%;
	}
	.ani_icon03 {
		left: -5px;
		bottom: -20px;
	}
	.ani_icon04 {
		display: none;
	}
	.ani_icon05 {
		bottom: -1%;
	}
	.ani_icon06 {
		bottom: -2%;
	}
	/* size */
	.ani_icon01 img {
		max-width: 200px;
	}
	.ani_icon02 img {
		max-width: 220px;
	}
	.ani_icon03 img {
		max-width: 50px;
	}
	.ani_icon04 img {
		max-width: 60px;
	}
	.ani_icon05 img {
		max-width: 100px;
	}
	.ani_icon06 img {
		max-width: 100px;
	}
}


/* 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;
}
.list_news li dt {
	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>p:last-child {
	margin-bottom: 0;
}
.news-inner p {
	line-height: 2;
	margin-bottom: 50px;
}
.news_detail p:last-child {
	margin-bottom: 0;
}
.news-inner a {
  color: #02add3!important;
}


/* 写真が2列 */
.news_detail .photo_area_a {
	width: 100%;
	flex-wrap: wrap;
	display: flex;
	justify-content: space-between;
	align-items: top;
}
.news_detail .photo_area_a .box {
	width: 48.4%; 
	margin-right: 16px;
	margin-bottom: 30px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	text-align: center;
  overflow: hidden;
}
.news_detail .photo_area_a .box img {
	height: 384px;
	width: auto;
	overflow: hidden;
}
.news_detail .photo_area_a .box span.caption {
	text-align: center;
	font-size: 14px;
	margin-top: 5px;
}

/* 最後のコンテンツを左寄せにする指定 */
.news_detail .photo_area_a:after {
	content: "";
	display: block;
	width: 48.4%;
	height: 0;
}
.news_detail .photo_area_a .box:nth-child(even) {
	margin-right: 0;
}
@media screen and (max-width:768px) {
  /* 写真が2列 */
  .news_detail .photo_area_a {
    width: 100%;
    display: block;
    align-items: top;
  }
  .news_detail .photo_area_a .box {
    width: 100%; 
    margin-right: 0;
    margin-bottom: 30px;
    overflow:visible;
  }
  .news_detail .photo_area_a .box img {
    height: auto;
    width: 100%;
    overflow:visible;
  }
}


/* 写真が3列 */
.news_detail .photo_area_b {
		width: 100%;
		flex-wrap: wrap;
    display: flex;
    justify-content: space-between;
    align-items: top;
}
.news_detail .photo_area_b .box {
  width: 31%;
	margin-right: 16px;
	margin-bottom: 30px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	text-align: center;
  overflow: hidden;
}
.news_detail .photo_area_b .box img {
	height: 217px;
	overflow: hidden;
}
.news_detail .photo_area_b .box span.caption {
	text-align: center;
	font-size: 14px;
	margin-top: 5px;
}

@media screen and (max-width:768px) {
  .news_detail .photo_area_b {
    width: 100%;
    display: block;
  }
  .news_detail .photo_area_b .box {
    width: 100%; 
    margin-right: 0;
    margin-bottom: 30px;
    overflow:visible;
  }
  .news_detail .photo_area_b .box img {
    height: auto;
    width: 100%;
    overflow:visible;
  }
}

/* 最後のコンテンツを左寄せにする指定 */
.news_detail .photo_area_b:after {
    content: "";
    display: block;
    width: 32.2%;
    height: 0;
}
.news_detail .photo_area_b .box:nth-of-type(3),.news_detail .photo_area_b .box:nth-of-type(6),.news_detail .photo_area_b .box:nth-of-type(9) {
	margin-right: 0;
}

.news_detail .img {
	text-align: center;
	margin-top: 50px;
}
.news_detail img {
	max-width: 650px;
	height: auto;
  margin: auto;
  display: block;
}

@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;
	}
	.list_news li dt {
		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-inner p {
		line-height: 1.6;
		margin-bottom: 30px;
	}
	.news_detail .img {
		max-width: 100%;
		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_ttl {
	box-sizing: border-box;
	max-width: 800px;
	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: 800px;
	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;
}
.list_btn {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
}
.list_btn li {
	width: 30%;
}
.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%);
}
@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;
	}
}


/* 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;
	}
}

/* ページネーション
-------------------------------------------------------*/
  @media screen and (min-width:769px) {
	.wp-pagenavi {
			clear: both;
			margin: 0 auto;
			text-align: center;
	}
	.wp-pagenavi a, .wp-pagenavi span {
			border: 1px solid rgb(39, 54, 94)!important;
			text-decoration: none;
			background: rgb(39, 54, 94);
			color: #fff;
			padding: 8px 15px!important;
			margin: 5px!important;
	}
	.wp-pagenavi a:hover, .wp-pagenavi span.current {
			border: 1px solid rgb(39, 54, 94)!important;
			background: #fff;
			color: rgb(39, 54, 94);
	}
}


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

.animation {
	position: relative;
}

.animation_abg {
	position: relative;
	top: 0;
	left: 0;
	z-index: 1;
}

/*車_縦*/
.animation_car_v1,
.animation_car_v2,
.animation_car_v3 {
    position: absolute;
    width: 4%;
    top: 68%;
    left: 5%;
    z-index: 7;
    opacity: 0;
    animation: carMove 15s ease-in-out infinite;
}
@keyframes carMove {
    0% {
        opacity: 0;
        top: 68%;
        left: 4%;
        transform: scale(1); /* 初期サイズ */
    }
    10% {
        opacity: 1;
        transform: scale(1); /* フェードイン中はサイズ維持 */
    }
    90% {
        opacity: 1;
        top: 31%;
        left: 33.5%;
        transform: scale(0.5); /* 目的地に近づくにつれて小さくする */
    }
    100% {
        opacity: 0;
        top: 31%;
        left: 33.5%;
        transform: scale(0.5); /* 消えるときも小さいまま */
    }
}

/* 各要素の開始時間をずらす */
.animation_car_v1 {
    animation-delay: 3s;
}

.animation_car_v2 {
    animation-delay: 8s;
}

.animation_car_v3 {
    animation-delay: 12s;
}



@keyframes carMoveReverse {
    0% {
        opacity: 0;
        top: 33%;
        left: 65%;
        transform: scale(0.5);
    }
    10% {
        opacity: 1;
        transform: scale(0.5);
    }
    90% {
        opacity: 1;
        top: 64%;
        left: 91.8%;
        transform: scale(1);
    }
    100% {
        opacity: 0;
        top: 64%;
        left: 91.8%;
        transform: scale(1);
    }
}

.animation_car_v4,
.animation_car_v5,
.animation_car_v6 {
    position: absolute;
    width: 4%;
    top: 35%;
    left: 65%;
    z-index: 5;
    opacity: 0;
    animation: carMoveReverse 10s ease-in-out infinite;
}

/* 各要素の開始時間をずらす */
.animation_car_v5 {
    animation-delay: 5s;
}

.animation_car_v6 {
    animation-delay: 8s;
}


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

.animation_car_v1,
.animation_car_v2,
.animation_car_v3 {
    top: 68%;
    left: 1%;
}
@keyframes carMove {
    0% {
        opacity: 0;
        top: 68%;
        left: 1%;
        transform: scale(1); /* 初期サイズ */
    }
    10% {
        opacity: 1;
        transform: scale(1); /* フェードイン中はサイズ維持 */
    }
    90% {
        opacity: 1;
        top: 31%;
        left: 33%;
        transform: scale(0.5); /* 目的地に近づくにつれて小さくする */
    }
    100% {
        opacity: 0;
        top: 31%;
        left: 33%;
        transform: scale(0.5); /* 消えるときも小さいまま */
    }
}

.animation_car_v4,
.animation_car_v5,
.animation_car_v6 {
    top: 35%;
    left: 68%;
}
@keyframes carMoveReverse {
    0% {
        opacity: 0;
        top: 33%;
        left: 68%;
        transform: scale(0.5);
    }
    10% {
        opacity: 1;
        transform: scale(0.5);
    }
    90% {
        opacity: 1;
        top: 64%;
        left: 97%;
        transform: scale(1);
    }
    100% {
        opacity: 0;
        top: 64%;
        left: 97%;
        transform: scale(1);
    }
}


}
/*//車_縦*/

/*雲*/
.animation_kumo1 {
	position: absolute;
	width: 5%;
	top:6%;
	left: -2%;
	z-index: 3;

	animation: floatUpDown 3s ease-in-out infinite;
}
.animation_kumo2 {
	position: absolute;
	width: 5%;
	top:1%;
	left: 10%;
	z-index: 3;

	animation: floatUpDown2 3s ease-in-out infinite;
}
.animation_kumo3 {
	position: absolute;
	width: 3%;
	top:10%;
	left: 70%;
	z-index: 3;

	animation: floatUpDown 3s ease-in-out infinite;
}
.animation_kumo4 {
	position: absolute;
	width: 5%;
	top:5%;
	left: 87%;
	z-index: 3;

	animation: floatUpDown2 3s ease-in-out infinite;
}

@keyframes floatUpDown {
    0% {
        transform: translateY(0); /* 初期位置 */
    }
    50% {
        transform: translateY(-10px); /* ふわっと上に移動 */
    }
    100% {
        transform: translateY(0); /* 元の位置に戻る */
    }
}

@keyframes floatUpDown2 {
    0% {
        transform: translateY(-10px); /* 初期位置 */
    }
    50% {
        transform: translateY(0); /* ふわっと上に移動 */
    }
    100% {
        transform: translateY(-10px); /* 元の位置に戻る */
    }
}
/*//雲*/

/*飛行*/
.animation_hikou1 {
	position: absolute;
	width: 8%;
	top:7%;
	/*left: 30%;*/
	right: -150px;
	z-index: 4;

	animation: animation_hikou1 22s linear infinite; /* 5秒かけて左に移動し、繰り返し */
	animation-delay: 5s; /* 1秒遅れで開始 */
}

@keyframes animation_hikou1 {
    0% {
        left: 100vw; /* 画面外の左から開始 */
    }
    100% {
        left: -100px; /* 画面の右端に移動 */
    }
}


.animation_hikou2 {
	position: absolute;
	width: 8%;
	top:10%;
	/*left: 75%;*/
	left: -100px;
	z-index: 4;

	animation: moveDiagonalDisappear 20s ease-in-out infinite; /* 4秒でループ */
}
@keyframes moveDiagonalDisappear {
    0% {
        transform: translateX(100vw) translateY(1vh);
        opacity: 0; /* 画面外で最初は見えない */
    }
    10% {
        opacity: 1; /* 右端から現れる */
    }
    50% {
        transform: translateX(0) translateY(-500%);
        opacity: 1; /* 左上に移動 */
    }
    60% {
        opacity: 0; /* 左上で消える */
    }
    100% {
        transform: translateX(100vw) translateY(1vh);
        opacity: 0; /* 透明のまま右端へ戻る */
    }
}

/*//飛行*/

/*背景山建てもの*/
.animation_haikei_yama {
	position: absolute;
	width: 100%;
	top:6.5%;
	left: 0%;
	z-index: 5;
}
/*//背景山建てもの*/

/*車_奥*/
.animation_car_a_1 {
	position: absolute;
	width: 4%;
	top:29%;
	left: 5%;
	z-index: 6;

	animation: animation_car_a_1 30s linear infinite; /* 5秒かけて右に移動し、繰り返し */
}
@keyframes animation_car_a_1 {
    0% {
        left: -100px; /* 画面外の左から開始 */
    }
    100% {
        left: 100vw; /* 画面の右端に移動 */
    }
}


.animation_car_a_2 {
	position: absolute;
	width: 4.2%;
	top:29%;
	/*left: 30%;*/
	left: -100px;
	z-index: 6;

	animation: animation_car_a_2 40s linear infinite; /* 5秒かけて右に移動し、繰り返し */
	animation-delay: 5s; /* 1秒遅れで開始 */
}
@keyframes animation_car_a_2 {
    0% {
        left: -100px; /* 画面外の左から開始 */
    }
    100% {
        left: 100vw; /* 画面の右端に移動 */
    }
}


.animation_car_a_3 {
	position: absolute;
	width: 4.8%;
	top:29%;
	/*left: 65%;*/
	left: -100px;
	z-index: 6;

	animation: animation_car_a_3 35s linear infinite; /* 5秒かけて右に移動し、繰り返し */
	animation-delay: 10s; /* 1秒遅れで開始 */
}
@keyframes animation_car_a_3 {
    0% {
        left: -100px; /* 画面外の左から開始 */
    }
    100% {
        left: 100vw; /* 画面の右端に移動 */
    }
}


.animation_car_a_4 {
	position: absolute;
	width: 4.8%;
	top:29%;
	/*left: 75%;*/
	left: -100px;
	z-index: 6;

	animation: animation_car_a_4 45s linear infinite; /* 5秒かけて右に移動し、繰り返し */
	animation-delay: 15s; /* 1秒遅れで開始 */
}
@keyframes animation_car_a_4 {
    0% {
        left: -100px; /* 画面外の左から開始 */
    }
    100% {
        left: 100vw; /* 画面の右端に移動 */
    }
}


@media screen and (max-width:400px) {
	.animation_car_a_1 {
		top:23%;
	}
	.animation_car_a_2 {
		top:23%;
	}
	.animation_car_a_3 {
		top:23%;
	}
	.animation_car_a_4 {
		top:23%;
	}
}
/*//車_奥*/

/*ブロック_奥*/
.animation_block1 {
	position: absolute;
	width: 100%;
	top:7.5%;
	left: 0%;
	z-index: 7;
}
.animation_block1_item1 {
	position: absolute;
	width: 3%;
	top:29.5%;
	left: 81%;
	z-index: 7;

	animation: bounce 2.5s ease-in-out infinite; /* 1.5秒ごとに繰り返す */
}
@keyframes bounce {
    0%, 100% {
        transform: translateY(0) scale(1); /* 元の位置 */
    }
    30% {
        transform: translateY(-5px) scale(1); /* 軽くジャンプ */
    }
    50% {
        transform: translateY(0) scale(1); /* 着地して少し縮む */
    }
    70% {
        transform: translateY(-5px) scale(1); /* 余韻で少し浮く */
    }
}

.animation_block1_item2 {
	position: absolute;
	width:8%;
	top:27%;
	left: 58%;
	z-index: 7;

	transform-origin: bottom center; /* 中央下を回転軸にする */
	animation: animation_block1_item2 2s ease-in-out infinite; /* 2秒で左右に揺れる */

}
@keyframes animation_block1_item2 {
    0% {
        transform: rotate(5deg); /* 左に傾く */
    }
    50% {
        transform: rotate(-5deg); /* 右に傾く */
    }
    100% {
        transform: rotate(5deg); /* 左に戻る */
    }
}


@keyframes bounceSwing {
    0% { transform: translateX(0) translateY(0); }
    25% { transform: translateX(-5px) translateY(-3px); }
    50% { transform: translateX(5px) translateY(0); }
    75% { transform: translateX(-3px) translateY(3px); }
    100% { transform: translateX(0) translateY(0); }
}

.animation_block1_item3 {
    position: absolute;
    width: 8%;
    top: 30%;
    left: 17%;
    z-index: 7;
    animation: bounceSwing 1.5s ease-in-out infinite;
}


@keyframes stretchBounce {
    0% { transform: scaleY(1); }
    30% { transform: scaleY(1.1); } /* 少し伸びる */
    50% { transform: scaleY(1); }
    70% { transform: scaleY(0.9); } /* 少し縮む */
    100% { transform: scaleY(1); }
}

.animation_block1_item4 {
    position: absolute;
    width: 6%;
    top: 31.5%;
    left: 22%;
    z-index: 7;
    transform-origin: bottom; /* 下を起点に変形 */
    animation: stretchBounce 1.8s ease-in-out infinite;
}



.animation_block1_item5 {
	position: absolute;
	width:7%;
	top:39%;
	left: 16%;
	z-index: 7;
}

@media screen and (max-width:400px) {
	.animation_block1_item5 {
		top:38%;
	}
}


/*//ブロック_奥*/


/*車_中*/
.animation_car_b_1 {
	position: absolute;
	width: 6%;
	top:46%;
	/*left: 5%;*/
	left: -100px;
	z-index: 8;
	animation: animation_car_b_1 20s linear infinite; /* 5秒かけて右に移動し、繰り返し */
	animation-delay:2s;
}
@keyframes animation_car_b_1 {
    0% {
        left: -100px; /* 画面外の左から開始 */
    }
    100% {
        left: 100vw; /* 画面の右端に移動 */
    }
}


.animation_car_b_2 {
	position: absolute;
	width: 6%;
	top:48.3%;
	/*left: 16%;*/
	left: -200px;
	z-index: 8;
	animation: animation_car_b_2 29s linear infinite; /* 5秒かけて右に移動し、繰り返し */
	animation-delay: 5s; /* 1秒遅れで開始 */
}
@keyframes animation_car_b_2 {
    0% {
        left: -100px; /* 画面外の左から開始 */
    }
    100% {
        left: 100vw; /* 画面の右端に移動 */
    }
}


.animation_car_b_3 {
	position: absolute;
	width: 6%;
	top:47.5%;
	/*left: 58%;*/
	left: -200px;
	z-index: 8;
	animation: animation_car_b_3 25s linear infinite; /* 5秒かけて右に移動し、繰り返し */
	animation-delay: 11s; /* 1秒遅れで開始 */
}
@keyframes animation_car_b_3 {
    0% {
        left: -100px; /* 画面外の左から開始 */
    }
    100% {
        left: 100vw; /* 画面の右端に移動 */
    }
}

.animation_car_b_4 {
	position: absolute;
	width: 5.5%;
	top:47%;
	/*left: 88%;*/
	left: -200px;
	z-index: 8;

	animation: animation_car_b_4 35s linear infinite; /* 5秒かけて右に移動し、繰り返し */
	animation-delay: 15s; /* 1秒遅れで開始 */
}
@keyframes animation_car_b_4 {
    0% {
        left: -100px; /* 画面外の左から開始 */
    }
    100% {
        left: 100vw; /* 画面の右端に移動 */
    }
}

@media screen and (max-width:400px) {
	.animation_car_b_1 {
		top:42%;
	}
	.animation_car_b_2 {
		top:42%;
	}
	.animation_car_b_3 {
		top:42%;
	}
	.animation_car_b_4 {
		top:42%;
	}
}
/*//車_中*/

/*ブロック_前*/
.animation_block2 {
	position: absolute;
	width: 100%;
	top:3%;
	left: 0%;
	z-index: 9;
}
/*//ブロック_前*/


/*車_前*/
.animation_car_c_1 {
	position: absolute;
	width: 5.8%;
	top:79%;
	/*left: 3%;*/
	right: -100px;
	z-index: 10;

	animation: animation_car_c_1 22s linear infinite; /* 5秒かけて左に移動し、繰り返し */
}
@keyframes animation_car_c_1 {
    0% {
        left: 100vw; /* 画面外の左から開始 */
    }
    100% {
        left: -100px; /* 画面の右端に移動 */
    }
}

.animation_car_c_2 {
	position: absolute;
	width: 6.8%;
	top:75%;
	/*left: 22%;*/
	right: -200px;
	z-index: 10;

	animation: animation_car_c_2 22s linear infinite; /* 5秒かけて左に移動し、繰り返し */
	animation-delay: 5s; /* 1秒遅れで開始 */
}
@keyframes animation_car_c_2 {
    0% {
        left: 100vw; /* 画面外の左から開始 */
    }
    100% {
        left: -100px; /* 画面の右端に移動 */
    }
}

.animation_car_c_3 {
	position: absolute;
	width: 6.8%;
	top:77.5%;
	/*left: 43%;*/
	right: -200px;
	z-index: 10;

	animation: animation_car_c_3 20s linear infinite; /* 5秒かけて左に移動し、繰り返し */
	animation-delay: 10s; /* 1秒遅れで開始 */
}
@keyframes animation_car_c_3 {
    0% {
        left: 100vw; /* 画面外の左から開始 */
    }
    100% {
        left: -100px; /* 画面の右端に移動 */
    }
}


.animation_car_c_4 {
	position: absolute;
	width: 6.4%;
	top:76.5%;
	/*left: 63%;*/
	right: -200px;
	z-index: 10;

	animation: animation_car_c_4 22s linear infinite; /* 5秒かけて左に移動し、繰り返し */
	animation-delay: 15s; /* 1秒遅れで開始 */
}
@keyframes animation_car_c_4 {
    0% {
        left: 100vw; /* 画面外の左から開始 */
    }
    100% {
        left: -100px; /* 画面の右端に移動 */
    }
}

.animation_car_c_5 {
	position: absolute;
	width: 14%;
	top:74%;
	/*left: 80%;*/
	right: -300px;
	z-index: 10;

	animation: animation_car_c_5 25s linear infinite; /* 5秒かけて左に移動し、繰り返し */
	animation-delay: 20s; /* 1秒遅れで開始 */
}
@keyframes animation_car_c_5 {
    0% {
        left: 100vw; /* 画面外の左から開始 */
    }
    100% {
        left: -100px; /* 画面の右端に移動 */
    }
}

@media screen and (max-width:400px) {
	.animation_car_c_1 {
		top:70%;
	}
	.animation_car_c_2 {
		top:70%;
	}
	.animation_car_c_3 {
		top:70%;
	}
	.animation_car_c_4 {
		top:70%;
	}
	.animation_car_c_5 {
		top:70%;
	}
}
/*//車_前*/

/*柵_奥*/
.animation_saku_1 {
	position: absolute;
	width: 100%;
	top:82%;
	left: 0%;
	z-index: 11;
}

@media screen and (max-width:400px) {
	.animation_saku_1 {
		top:76%;
	}
}
/*//柵_奥*/

/*船*/
.animation_fune1 {
	position: absolute;
	width: 9%;
	top:83%;
	left: 32%;
	z-index: 12;

	animation: animation_fune1 30s linear infinite; /* 5秒かけて左に移動し、繰り返し */
}
@keyframes animation_fune1 {
    0% {
        left: 100vw; /* 画面外の左から開始 */
    }
    100% {
        left: -100px; /* 画面の右端に移動 */
    }
}


.animation_fune2 {
	position: absolute;
	width: 13%;
	top:87%;
	left: 72%;
	z-index: 12;

	animation: animation_fune2 30s linear infinite; /* 5秒かけて右に移動し、繰り返し */
}
@keyframes animation_fune2 {
    0% {
        left: -100px; /* 画面外の左から開始 */
    }
    100% {
        left: 100vw; /* 画面の右端に移動 */
    }
}

@media screen and (max-width:400px) {
	.animation_fune2 {
		top:84%;
	}
}

/*//船*/

/*柵_前*/
.animation_saku_2 {
	position: absolute;
	width: 100%;
	top:91%;
	left: 0%;
	z-index: 13;
}

@media screen and (max-width:400px) {
	.animation_saku_2 {
		top:86%;
	}
}
/*//柵_前*/

/*最前面*/
.animation_mae_item1 {
	position: absolute;
	width: 14%;
	top:72.5%;
	left: 1%;
	z-index: 14;

	transform-origin: bottom center; /* 中央下を回転軸にする */
	animation: pendulumSwing 2s ease-in-out infinite; /* 2秒で左右に揺れる */
}
@keyframes pendulumSwing {
    0% {
        transform: rotate(-10deg); /* 左に傾く */
    }
    50% {
        transform: rotate(10deg); /* 右に傾く */
    }
    100% {
        transform: rotate(-10deg); /* 左に戻る */
    }
}


.animation_mae_item2 {
	position: absolute;
	width: 16%;
	top:89%;
	left: 12.5%;
	z-index: 14;

	animation: animation_mae_item2 3s ease-in-out infinite;
}
@keyframes animation_mae_item2 {
    0% {
        transform: translateY(0); /* 初期位置 */
    }
    50% {
        transform: translateY(-5px); /* ふわっと上に移動 */
    }
    100% {
        transform: translateY(0); /* 元の位置に戻る */
    }
}
.animation_mae_item3 {
	position: absolute;
	width: 14%;
	top:89%;
	left: 45%;
	z-index: 14;

	animation: animation_mae_item3 3s ease-in-out infinite;
}
@keyframes animation_mae_item3 {
    0% {
        transform: translateY(-5px); /* 初期位置 */
    }
    50% {
        transform: translateY(0); /* ふわっと上に移動 */
    }
    100% {
        transform: translateY(-5px); /* 元の位置に戻る */
    }
}
.animation_mae_item4 {
	position: absolute;
	width: 8%;
	top:90%;
	left: 75%;
	z-index: 14;
	animation: animation_mae_item4 3s ease-in-out infinite;
}
@keyframes animation_mae_item4 {
    0% {
        transform: translateX(-10px); /* 初期位置 */
    }
    50% {
        transform: translateX(0); /* ふわっと上に移動 */
    }
    100% {
        transform: translateX(-10px); /* 元の位置に戻る */
    }
}
/*//最前面*/

.calendar iframe {
	width: 100%;
}

div.wp-pagenavi{
	clear: both;
	text-align:center;
	margin:10px 0;

	}
div.wp-pagenavi a{	
	border: 1px solid #2296DF;
	color: #2296DF;
	padding:8px 8px;
	margin: 0 4px;
	text-decoration: none;
	background:#FFF;
	border-radius: 3px;
	-border-radius: 3px;
	-webkit-border-radius: 3px;
		font-size: 1.5rem;
}
@media screen and (max-width:767px) {
  div.wp-pagenavi a {	
		font-size: 1.3rem;
  }
}
@media screen and (max-width:374px) {
  div.wp-pagenavi a {	
		padding:5px;
		margin: 0 3px;
		font-size: 1.0rem;
  }
}

div.wp-pagenavi a:hover{
	background:#009be7;
	border: 1px solid #009be7;	
	color: #fff;
}
/* 総ページ数のCSS */
div.wp-pagenavi span.pages {
	border: 1px solid #009be7;
	color: #009be7;
	padding:8px 8px;
	margin: 0 4px;
	background:#FFF;
	border-radius: 3px;
	-border-radius: 3px;
	-webkit-border-radius: 3px;
		font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  div.wp-pagenavi span.pages {
  display: none;
  }
}

/* 現在のページのCSS */
div.wp-pagenavi span.current {
	border:1px solid #009be7;
	color: #FFF;
	padding:8px 8px;
	margin: 0 4px;
	background:#009be7;
	border-radius: 3px;
	-border-radius: 3px;
	-webkit-border-radius: 3px;
		font-size: 1.5rem;
  }
@media screen and (max-width:767px) {
  div.wp-pagenavi span.current {
		font-size: 1.3rem;
    }
  }
@media screen and (max-width:374px) {
  div.wp-pagenavi span.current {
      padding:5px;
      margin: 0 3px;
      font-size: 1.0rem;
      }
}
div.wp-pagenavi span.extend{
		display: none;
	}