/* CSS Document *//*==================================================contents=================================================*/#top-image {	width: 100%;	position: relative;	overflow: hidden;	background-color: #17489c;	z-index: 1;}#top-image .cover {	width: 100%;	height: 125px;	position: absolute;	left: 0;	bottom: 0;	background-image: url("../../images/cover2.png");	background-position: center bottom;	background-repeat: no-repeat;	background-size: 100% 100%;	z-index: 10;}#top-image .photo {	width: 100%;	position: relative;	opacity: 0;}#top-image.load .photo {	animation: mv-in 1.5s ease-out 1s forwards;}#top-image .txt1 {	width: 100%;	height: 100%;	position: absolute;	top: 0;	left: 0;	clip-path: inset(0 100% 0 0);	z-index: 1;}#top-image.load .txt1 {	animation: open 1.5s ease-out 2.5s forwards;}#top-image .txtb {	width: 100%;	height: 100%;	position: absolute;	opacity: 0;	top: 0;	left: 0;	z-index: 1;}#top-image.load .txtb {	animation: open2 .8s ease-out 2.5s forwards;}@keyframes mv-in {  0% {	  opacity: 0;  }  100% {	  opacity: 1;  }}@keyframes open {  0% {	  left: -1.5%;    clip-path: inset(0 100% 0 0);  }	30% {		clip-path: inset(0 0 0 0);	}  100% {	  left: 0;	  clip-path: inset(0 0 0 0);  }}@keyframes open2 {  0% {	  left: 5%;	  opacity: 0;  }  100% {	  left: 0;	  opacity: 1;  }}#top-image .page-title {	width: 100%;	position: absolute;	top: 50%;	left: 0;	-webkit-transform: translate(0, -50%); 	transform: translate(0, -50%);	z-index: 2;}#top-image .page-title.dl {	width: 88%;	max-width: 1000px;	position: absolute;	top: 50%;	left: 50%;	-webkit-transform: translate(-50%, -50%); 	transform: translate(-50%, -50%);	z-index: 2;}#top-image .page-title h1 {	font-size: clamp(3rem, 4.5vw, 7rem);	text-align: center;	line-height: 160%;}#top-image .page-title.dl h1 {	text-align: left;}#top-image .page-title h1.col {	color: #FFF!important;}#top-image .page-title h1 span {	display: block;	color: #e500d5;	font-size: 70%;	line-height: 160%;	background-image: url("../../images/border_1.png");	background-position: center bottom;	background-repeat: no-repeat;	background-size: auto;	margin-bottom: .3em;	padding-bottom: .3em;}#top-image .page-title h1.col span {	color: #FFF;}#top-image .page-title h1.col2 span {	background-position: left bottom;	color: #00ace4;}#top-image .page-title h1 span.blue {	background-image: url("../../images/border_3.png");}#top-image img {	width: 100%;	max-width: 100%;	height: auto;}.small-title {	width: 100%;	position: relative;	display: flex;	flex-flow: row wrap;	align-items: center; 	text-align: center;	font-size: clamp(1.8rem, 2.8vw, 3.4rem);	line-height: 160%;	font-weight: 500;}.small-title span {	display: inline-block;	padding: .5em 1em;}.small-title::before {	content: " ";	display: block;	flex: 1;	height: 3px;	background-color: #00ace4;}.small-title::after {	content: " ";	display: block;	flex: 1;	height: 3px;	background-color: #b344c0;}.middle-title {	width: 100%;	position: relative;	font-size: clamp(1.8rem, 2.8vw, 3.4rem);	line-height: 160%;	font-weight: 500;}.middle-title span {	display: inline-block;	padding: .6em 0;}.middle-title::after {	content: " ";	display: block;	width: 100%;	height: 4px;	background: linear-gradient(90deg, #00dce4, #ff00e4);}.inner-bg {	width: 95%;	max-width: 1280px;	position: relative;	background-color: #fff;	border-radius: 80px;	box-shadow: 0 5px 15px rgba(0,0,0,0.2);	margin: 0 auto;	padding: min(6%, 80px) min(6%, 80px) min(8%, 120px);	z-index: 2;}.inner-link {	width: 95%;	max-width: 1000px;	position: relative;	background-color: #fff;	border-radius: 40px;	box-shadow: 0 5px 15px rgba(0,0,0,0.2);	margin: 0 auto;	padding: 3% 5%;	padding: min(3%, 40px) min(6%, 60px) min(5%, 60px);	z-index: 2;}.inner-link.adv {	padding: min(3%, 40px) min(4%, 40px) min(3%, 40px);}.inner-link h1 {	font-size: clamp(1.8rem, 2.4vw, 2.4rem);	line-height: 180%;	text-align: center;	background-image: url("../../images/border_2.png");	background-position: center bottom;	background-repeat: no-repeat;	background-size: auto;	margin-bottom: 2em;	padding-bottom: 1em;}.inner-link ul {	width: 100%;	display: flex;	flex-flow: row wrap;	justify-content: space-between;}.inner-link ul li {	width: 30%;}.inner-link.adv ul li {	width: 22%;}.inner-link ul li a.button {	padding: 1em 2em 1em 1em;}.inner-link.bottom ul li a.button::after {	transform-origin: center;	transform: translate(0, -50%) rotate(180deg);}.an-bg {	width: 100%;	position: absolute;	overflow: hidden;	left: 0;	top: 0;	transform: translate(0, 40%);	z-index: 1;}.an-bg::before {	content: " ";	display: block;	position: absolute;	width: 100%;	height: 100%;	background-image: url("../../images/wave_cover_top2.png");	background-position: left top;	background-repeat: no-repeat;	background-size: 100% auto;	top: -2px;	left: 0;	z-index: 1;}.an-bg::after {	content: " ";	display: block;	position: absolute;	width: 100%;	height: 100%;	background-image: url("../../images/wave_cover_bottom2.png");	background-position: left bottom -1px;	background-repeat: no-repeat;	background-size: 100% auto;	bottom: -2px;	left: 0;	z-index: 1;}.an-bg #bgmovie {	width: 101%;	height: 101%;	display: block;	position: relative;	outline: none;	clip-path: inset(1% 0 1% 0);	margin-left: -0.5%;	padding: 0;	z-index: 0;}.add-information {	width: 95%;	max-width: 1000px;	position: relative;	background-color: #fff;	border-radius: 20px;	margin: 0 auto min(6%, 60px);	padding: min(2%, 20px) min(6%, 80px) min(6%, 60px);	box-shadow: 0 5px 15px rgba(0,0,0,0.2);	z-index: 2;}#news_frame2 {	width: 100%;}@media only screen and (min-width:1px) and (max-width: 1080px) {		.an-bg #bgmovie {		width: 160%;		height: 160%;		display: block;		position: relative;		outline: none;		margin-left: -30%;		padding: 0;		z-index: 0;	}}@media only screen and (min-width:1px) and (max-width: 768px) {		#top-image {		width: 100%;		position: relative;		overflow: hidden;		margin-top: 70px;		z-index: 1;	}	#top-image .photo img {		width: 120%;		max-width: 120%;		height: auto;		margin-left: -10%;	}	#top-image .photo.normal img {		margin-left: 0;	}	#top-image .cover {		width: 100%;		height: 40px;	}	#top-image .page-title {		width: 100%;		position: absolute;		top: 50%;		left: 0;		z-index: 2;	}	#top-image .page-title.normal {		top: 40%;	}		#top-image .page-title h1 span {		background-size: auto 3px;		margin-bottom: .5em;		padding-bottom: .5em;	}		.middle-title::after {		height: 3px;	}		.inner-bg {		width: 95%;		max-width: 1280px;		position: relative;		flex-direction: column;		background-color: #fff;		border-radius: 20px;		box-shadow: 0 5px 15px rgba(0,0,0,0.2);		margin: 2% auto 0;		padding: 8% 5%;		z-index: 2;	}		.inner-link {		border-radius: 20px;		padding: 4% 5% 8%;		z-index: 2;	}	.inner-link h1 {		font-size: clamp(1.8rem, 2.4vw, 2.4rem);		line-height: 180%;		text-align: center;		background-size: auto 3px;		margin-bottom: 0;		padding-bottom: 4%;	}	.inner-link ul {		width: 100%;		flex-direction: column;		align-items: center; 		margin-top: 1%;	}	.inner-link.adv ul {		display: flex;		flex-flow: row wrap;		justify-content: space-between;	}	.inner-link ul li {		width: 100%;		max-width: 280px;		margin-top: 4%;	}	.inner-link.adv ul li {		width: 48%;	}	.inner-link.adv {		padding-top: 0;	}	.inner-link ul li a.button {		padding: 1em 2em 1em 2em;	}}@media only screen and (min-width:1px) and (max-width: 568px) {	}	@media only screen and (min-width:1px) and (max-width: 480px) {	}