/* CSS Document *//*==================================================top-contents=================================================*/#top-image {	width: 100%;	position: relative;	overflow: hidden;	background-color: #000;	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;}#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;	top: 0;	left: 0;	clip-path: inset(0 100% 0 0);	z-index: 1;}#top-image.load .txtb {	animation: open2 1.5s ease-out 2.5s forwards;}@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: 1.5%;    clip-path: inset(0 100% 0 0);  }	35% {		clip-path: inset(0 0 0 0);	}  100% {	  left: 0;	  clip-path: inset(0 0 0 0);  }}#top-image .txt2 {	width: 100%;	height: 100%;	position: absolute;	overflow: hidden;	top: 0;	left: 0;	z-index: 2;}#top-image .movie {	width: 100%;	height: 100%;	position: absolute;	top: 0;	left: 50%;	opacity: 0;	transform: translate(-50%, 0);	z-index: 2;}#top-image .movie #video {	width: 100%;	height: 100%;	display: block;	position: relative;	outline: none;	z-index: 0;}#top-image .movie-txt {	width: 100%;	height: 100%;	position: absolute;	display: flex;	flex-flow: row wrap;	justify-content: center;	align-items: center; 	/*background-color: rgba(0, 0, 0, .5);*/	top: 0;	left: 0;	z-index: 1;}#top-image .movie-txt p {	width: 40%;	max-width: 506px;	padding-top: 5%;}#top-image.load .movie {	animation: movieopen 2s ease-out 6s forwards;}@keyframes movieopen {	0% {		opacity: 0;	}	100% {		opacity: 1;	}}#top-image img {	width: 100%;	max-width: 100%;	height: auto;}.news {	width: 90%;	max-width: 1280px;	position: relative;	margin: 0 auto;	padding: 20px 0;	z-index: 2;}.news h1 {	width: 100%;	color: #FFF;	font-weight: 400;	letter-spacing: .05em;}#news_frame {	width: 70%;	height: 70px;	overflow: hidden;}/*.news dl {	width: 100%;	display: flex;	flex-flow: row wrap;	align-items: flex-start;	color: #FFF;}.news dl dt {	font-size: clamp(1.4rem, 2vw, 2rem);	line-height: 160%;	background-image: url("../../images/arrow.svg");	background-position: left center;	background-repeat: no-repeat;	background-size: 10px;	padding: 0 1.2em;}.news dl dd {	font-size: clamp(1.4rem, 2vw, 2rem);	line-height: 160%;}*/.news .button {	position: absolute;	max-width: 280px;	text-align: center;	color: #FFF;	font-size: clamp(1.4rem, 2vw, 2rem);	border: 1px solid #FFF;	background-color: transparent;	top: 50%;	right: 0;	-webkit-transform: translate(0, -50%); 	transform: translate(0, -50%);	z-index: 2;}.business {	width: 100%;	position: relative;	padding-bottom: 110px;}.business .inner-bg {	width: 95%;	max-width: 1280px;	position: relative;	display: flex;	flex-flow: row wrap;	justify-content: space-between;	background-color: #fff;	border-radius: 80px;	box-shadow: 0 5px 15px rgba(0,0,0,0.2);	margin: 20px auto 0;	padding: 5%;	z-index: 2;}.business .inner-bg .item {	width: 45%;}.business .inner-bg .item a {	display: block;	text-decoration: none;	color: #000;}.business .inner-bg .item .l-size {	width: 100%;}.business .inner-bg .item .l-size dt {	width: 100%;	position: relative;	overflow: hidden;	border-radius: 20px;}.business .inner-bg .item .l-size dt::before {	content: " ";	display: block;	position: absolute;	width: 100%;	height: 100%;	background-color: #FFF;	top: 0;	left: 0;	z-index: 1;}.business .inner-bg .item a dl dt::before {	transition: all 0.4s ease-in;}.business .inner-bg .item a:nth-of-type(2) dl dt::before {	transition: all 0.4s ease-in .4s;}.business .inner-bg .item .l-size.active dt::before {	left: 101%;}.business .inner-bg .item .l-size dt span {	display: block;	position: absolute;	width: 60%;	color: #00c1e4;	font-size: clamp(1.8rem, 2.4vw, 2.4rem);	line-height: 160%;	letter-spacing: .08em;	background-color: #FFF;	border-radius: 0 10px 0 0;	padding: 1em 0 .6em;	left: 0;	bottom: 0;	z-index: 1;}.business .inner-bg .item .l-size dd h2 {	font-size: clamp(1.4rem, 2vw, 2rem);	line-height: 180%;	padding: 1em 0;}.business .inner-bg .item .s-size {	width: 100%;	overflow: hidden;	display: flex;	flex-flow: row wrap;	align-items: center; 	background-color: #1fc0e3;	border-radius: 20px;	margin-bottom: 30px;}.business .inner-bg .item .s-size dt {	width: 36%;	position: relative;	aspect-ratio: 1.28/1;}.business .inner-bg .item .s-size dd {	flex: 1;	color: #FFF;	background-image: url("../../images/arrow.svg");	background-position: right 20px center;	background-repeat: no-repeat;	background-size: 12px;	padding: 1em 30px 1em 1em;}.business .inner-bg .item .s-size dd h2 {	font-size: clamp(1.4rem, 2vw, 2rem);	line-height: 180%;	margin-bottom: .2em;}.business .inner-bg .item .s-size dd p {	font-size: clamp(1.2rem, 1.4vw, 1.4rem);	line-height: 180%;}.business .inner-bg .item .s-size dt img {	width: 100%;	height: 100%;	object-fit: cover;	}.business .an-bg {	width: 100%;	position: absolute;	left: 0;	bottom: 0;	-webkit-transform: translate(0, 50%); 	transform: translate(0, 50%);	z-index: 1;}.business .an-bg::before {	content: " ";	display: block;	position: absolute;	width: 100%;	height: 99%;	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;}.business .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;}.business .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;}.business img {	width: 100%;	max-width: 100%;	height: auto;}.about {	width: 100%;	position: relative;	z-index: 3;}.about .button {	max-width: 400px;	font-size: clamp(1.4rem, 2vw, 2rem);	line-height: 100%;	border: 3px solid #000;	padding: 1.4em 1em 1.4em 2em;	margin: 60px auto 0;}.about .section-title {	background-image: url("../../images/border_p.png");	margin-bottom: 40px;	padding-left: 35px;}.about .section-title span {	color: #f30be4;	font-size: 90%;}.about p.infomation {	font-size: clamp(1.4rem, 2vw, 2rem);	line-height: 180%;	margin-bottom: 15px;	padding-left: 35px;}.about .inner-bg {	width: 95%;	max-width: 1280px;	position: relative;	background-color: #fff;	background-image: url("../../images/corner_item.png");	background-position: right 4% top 5%;	background-repeat: no-repeat;	background-size: 33%;	border-radius: 80px;	box-shadow: 0 5px 15px rgba(0,0,0,0.2);	margin: 20px auto 0;	padding: 5%;}.about .tag {	width: 100%;	text-align: left;}.about .tag .tag-item {	display: inline-block;	color: #FFF;	cursor: pointer;	text-align: center;	background-color: #000;	border-radius: 60px;	margin: 20px 10px 0 0;	padding: .7em 2em;}.about .tag .tag-item.all {	background-color: #666;}.about ul {	display: flex;	flex-flow: row wrap;	column-gap: 2%;}.about ul li {	width: 31.85%;	position: relative;	cursor: pointer;	display: none;	margin-top: 60px;}.about ul li a {	width: 100%;	display: block;	position: relative;		color: #000;	border-radius: 10px;	text-decoration: none;}.about ul li .photo {	position: relative;	overflow: hidden;	border-radius: 20px;}.about ul li span {	width: 100%;	display: block;	position: relative;	text-align: left;	font-size: clamp(1.4rem, 1.6vw, 1.6rem);	line-height: 150%;	background-color: #fff;	/*border-radius: 0 10px 0 0;*/	margin-top: .5em;	padding: 1em 3.5em 0 1em;	left: 0;	bottom: 0;	z-index: 1;}.about ul li span::after {	content: " ";	display: block;	position: absolute;	width: 26px;	height: 26px;	background-color: #000;	background-image: url("../../images/arrow.svg");	background-position: center center;	background-repeat: no-repeat;	background-size: 40%;	clip-path: circle(48% at 50% 50%);	top: 1em;	right: 10px;	z-index: 2;}.about .tag-cont.active {	display: block;}.about ul li img {	width: 100%;	max-width: 100%;	height: auto;}/* modal */.white-popup {	width: 100%;	position: relative;	background: #FFF;	margin: 0 auto;	padding: 0;}.white-popup img {	width: 100%;	max-width: 100%;	height: auto;}.white-popup .mfp-close {	color: #FFF!important;	background: #666!important;   opacity: 1;}.job-mw {    width: 90%;    max-width: 680px;}.job-mw .inner .photo img {    width: 100%;	max-width: 100%;	height: auto;}.job-mw .inner .mw-cont {    padding: 4% 4% min(8%, 80px);}.job-mw .inner h1 {    width: 100%;    position: relative;    font-size: clamp(1.6rem, 2.8vw, 2.8rem);    line-height: 160%;    text-align: center;    margin: .8em 0 0;}.job-mw .inner p {	margin-top: 1em;}.job-mw .inner .button {	margin: 1em auto 0;}.job-mw .inner h1 span {    display: inline-block;    width: 100%;    margin-bottom: 5px;    font-size: 80%;    color: #00c1e4;}.job-mw .inner p.name {	text-align: center;}.senior {	width: 100%;	position: relative;	padding: 200px 0;}.senior .inner {	width: 100%;	position: relative;	display: flex;	flex-flow: row wrap;	z-index: 2;}.senior .inner .title {	width: 45%;	padding-left: 12%;}.senior .inner .title h1 {	width: 100%;	font-size: clamp(3rem, 8vw, 8rem);	line-height: 140%;	font-weight: 400;	letter-spacing: .1em;	margin-bottom: 20px;}.senior .inner .title h1 span {	color: #00dbe4;	font-size: 60%;	line-height: 140%;}.senior .inner .title h2 {	width: 100%;	font-size: clamp(2rem, 2.8vw, 2.8rem);	line-height: 140%;	font-weight: 600;	letter-spacing: .1em;	margin-bottom: 20px;}.senior .inner .photo {	width: 55%;	overflow: hidden;}.senior .inner .photo .swiper-wrapper {    transition-timing-function: linear;}.senior .inner .photo a:hover {	opacity: 1;}.senior .an-bg {	width: 100%;	position: absolute;	top: 50%;	left: 0;	-webkit-transform: translate(0, -50%); 	transform: translate(0, -50%);	z-index: 1;}.senior .an-bg::before {	content: " ";	display: block;	position: absolute;	width: 100%;	height: 100%;	background-image: url("../../images/slide_cover_top.png");	background-position: left top;	background-repeat: no-repeat;	background-size: 100% auto;	top: -1px;	left: 0;	z-index: 1;}.senior .an-bg::after {	content: " ";	display: block;	position: absolute;	width: 100%;	height: 100%;	background-image: url("../../images/slide_cover_bottom.png");	background-position: left bottom -1px;	background-repeat: no-repeat;	background-size: 100% auto;	bottom: -1px;	left: 0;	z-index: 1;}.senior .an-bg #bgmovie-s {	width: 101%;	height: 101%;	display: block;	position: relative;	outline: none;		margin-left: -0.5%;	padding: 0;	z-index: 0;}.senior .swiper-slide img {   width: 100%;	max-width: 100%;	height: auto;}.etc {	width: 100%;	position: relative;	z-index: 3;}.etc .section-title {	margin-bottom: 0;}.etc .etc-title {	font-size: clamp(2.4rem, 4vw, 4rem);	line-height: 140%;	font-weight: 500;	letter-spacing: .1em;	margin: 30px 0;	padding-left: 35px;}.etc .recruit .section-title {	background-image: url("../../images/border_p.png");}.etc .recruit .section-title span {	color: #f30be4;	font-size: 90%;}.etc p.infomation {	font-size: clamp(1.4rem, 2vw, 2rem);	line-height: 180%;	padding-left: 35px;}.etc .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: 20px auto 0;	padding: 5%;}.etc .inner-bg > section {	width: 100%;	display: flex;	flex-flow: row wrap;	justify-content: space-between;}.etc .inner-bg > section:nth-of-type(2) {	margin-top: 60px;}.etc .inner-bg > section .title {	width: 40%;}.etc .inner-bg > section .icon {	width: 57%;}.etc .inner-bg > section .icon ul {	width: 100%;	display: flex;	flex-flow: row wrap;	justify-content: space-between;}.etc .inner-bg > section .icon ul li {	width: 30%;	max-width: 200px;	margin-bottom: 5%;}.etc .inner-bg > section .icon ul li img {	width: 100%;	max-width: 100%;	height: auto;}@media only screen and (min-width:1px) and (max-width: 1080px) {		.business .an-bg #bgmovie {		width: 200%;		height: 200%;		display: block;		position: relative;		outline: none;		margin-left: -100%;		padding: 0;		z-index: 0;	}	.about ul li {		width: 48%;		display: none;		margin-top: 8%;	}	.about ul li .photo {		border-radius: 10px;	}	.about ul li span {		padding: 1em 2em 1em 0;	}	.about ul li span::after {		width: 20px;		height: 20px;	}	.senior {		width: 100%;		position: relative;		padding: 10% 0;	}	.senior .inner {		width: 100%;		flex-direction: column;	}	.senior .inner .title {		width: 100%;		padding: 0 5%;	}	.senior .inner .title h1 {		width: 100%;		margin-bottom: 2%;	}	.senior .inner .title h2 {		width: 100%;		margin-bottom: 2%;	}	.senior .inner .photo {		width: 100%;		overflow: hidden;		margin-top: 5%;	}	.senior .an-bg #bgmovie-s {		width: 220%;		height: 220%;		display: block;		position: relative;		outline: none;		margin-left: -110%;		padding: 0;		z-index: 0;	}	.etc .etc-title {		margin: 2% 0;		padding-left: 35px;	}	.etc p.infomation {		padding-left: 35px;	}	.etc .inner-bg > section {		width: 100%;		flex-direction: column;	}	.etc .inner-bg > section:nth-of-type(2) {		margin-top: 5%;	}	.etc .inner-bg > section .title {		width: 100%;	}	.etc .inner-bg > section .icon {		width: 100%;		margin-top: 5%;	}	.etc .inner-bg > section .icon ul {		width: 100%;		display: flex;		flex-flow: row wrap;		justify-content: space-between;	}	.etc .inner-bg > section .icon ul li {		width: 30%;		max-width: 200px;		margin-bottom: 5%;	}	.etc .inner-bg > section .icon ul li img {		width: 100%;		max-width: 100%;		height: auto;	}}@media only screen and (min-width:1px) and (max-width: 768px) {		#top-image {		width: 100%;		position: relative;		overflow: hidden;		background-color: #000;		margin-top: 70px;		z-index: 1;	}	#top-image .movie-txt p {		width: 50%;		max-width: 506px;		padding-top: 0;	}	#top-image .movie #video {		width: 130%;		height: auto;		margin-left: -15%;	}	#top-image .photo img {		width: 130%;		max-width: 130%;		height: auto;		margin-left: -15%;	}	#top-image .cover {		width: 100%;		height: 40px;	}	.news {		width: 90%;		max-width: 1280px;		position: relative;		margin: 0 auto;		padding: 5% 0;		z-index: 2;	}	.news h1 {		width: 100%;		color: #FFF;		font-weight: 400;		letter-spacing: .05em;	}	.news dl {		width: 100%;	}	.news .button {		position: relative;		max-width: 280px;		text-align: center;		color: #FFF;		font-size: clamp(1.4rem, 2vw, 2rem);		border: 1px solid #FFF;		background-color: transparent;		top: 0;		right: 0;		-webkit-transform: translate(0, 0); 		transform: translate(0, 0);		margin: 4% auto 0;		z-index: 2;	}	.business {		width: 100%;		position: relative;		padding-bottom: 10%;	}	.business .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;	}	.business .inner-bg .item {		width: 100%;	}	.business .inner-bg .item a {		display: block;		text-decoration: none;		color: #000;	}	.business .inner-bg .item .button {		margin: 6% auto;	}	.business .inner-bg .item .l-size {		width: 100%;	}	.business .inner-bg .item .l-size dt {		width: 100%;		position: relative;		overflow: hidden;		border-radius: 10px;	}	.business .inner-bg .item .l-size dt::before {		content: " ";		display: block;		position: absolute;		width: 100%;		height: 100%;		background-color: #FFF;		top: 0;		left: 0;		z-index: 1;	}	.business .inner-bg .item .l-size dt span {		display: block;		position: absolute;		width: 60%;		color: #00c1e4;		font-size: clamp(1.8rem, 2.4vw, 2.4rem);		line-height: 160%;		letter-spacing: .08em;		background-color: #FFF;		border-radius: 0 10px 0 0;		padding: .6em 0 0;		left: 0;		bottom: 0;		z-index: 1;	}	.business .inner-bg .item .l-size dd h2 {		font-size: clamp(1.4rem, 2vw, 2rem);		line-height: 180%;		padding: 1em 0;	}	.business .inner-bg .item .s-size {		width: 100%;		overflow: hidden;		display: flex;		flex-flow: row wrap;		background-color: #1fc0e3;		border-radius: 10px;		margin-bottom: 4%;	}	.business .inner-bg .item .s-size dt {		width: 36%;		position: relative;		aspect-ratio: 1.28/1;	}	.business .inner-bg .item .s-size dd {		flex: 1;		color: #FFF;		background-image: url("../../images/arrow.svg");		background-position: right 20px center;		background-repeat: no-repeat;		background-size: 12px;		padding: 1em 30px 1em 1em;	}	.about .button {		margin: 6% auto 0;	}	.about .section-title {		background-image: url("../../images/border_p.png");		margin-bottom: 6%;		padding-left: 25px;	}	.about p.infomation {		font-size: clamp(1.4rem, 2vw, 2rem);		line-height: 180%;		margin-bottom: 4%;		padding-left: 0;	}	.about .inner-bg {		width: 95%;		max-width: 1280px;		position: relative;		background-color: #fff;		background-image: none;		border-radius: 20px;		margin: 4% auto 0;		padding: 8% 5%;	}	.about .tag {		width: 100%;		text-align: left;	}	.about .tag .tag-item {		display: inline-block;		color: #FFF;		cursor: pointer;		font-size: clamp(1.2rem, 1.6vw, 1.6rem);		text-align: center;		background-color: #000;		border-radius: 60px;		margin: 3% 3px 0 0;		padding: .7em 1.2em;	}	.about .tag .tag-item.all {		background-color: #666;	}	.about ul {		display: flex;		flex-flow: row wrap;		column-gap: 2%;	}	.about ul li {		width: 48%;		display: none;		margin-top: 6%;	}	.about ul li a {		width: 100%;		display: block;		position: relative;		overflow: hidden;		color: #000;		border-radius: 10px;		text-decoration: none;	}	.about ul li a span {		width: 80%;		display: block;		position: absolute;		font-size: clamp(1.4rem, 2vw, 2rem);		line-height: 140%;		background-color: #fff;		border-radius: 0 10px 0 0;		padding: .5em 1em 0 .5em;		left: 0;		bottom: 0;		z-index: 1;	}	.about ul li a span::after {		content: " ";		display: none;		position: absolute;		width: 26px;		height: 26px;		background-color: #000;		background-image: url("../../images/arrow.svg");		background-position: center center;		background-repeat: no-repeat;		background-size: 40%;		clip-path: circle(48% at 50% 50%);		top: 50%;		right: 15px;		transform: translate(0, -50%);		z-index: 2;	}		.etc .etc-title {		margin: 6% 0;		padding-left: 0;	}	.etc p.infomation {		padding-left: 0;	}	.etc .inner-bg {		width: 95%;		max-width: 1280px;		position: relative;		background-color: #fff;		border-radius: 20px;		box-shadow: 0 5px 15px rgba(0,0,0,0.2);		margin: 4% auto 0;		padding: 8% 5%;	}	}@media only screen and (min-width:1px) and (max-width: 568px) {	}	@media only screen and (min-width:1px) and (max-width: 480px) {	}