:root {
	--vw: 100vw;
	--content-width: var(--vw);
	--content-left: calc(50% - var(--content-width) / 2);
	--font-base: calc(var(--content-width) * 0.02);
}

html{
	scrollbar-width: none;
}
body{
	background-image: url(img/background.jpg);
	background-size: cover;
	background-attachment: fixed;
	background-clip: content-box;
	background-position: top center;
	margin: 0; padding: 0; letter-spacing: 0;
}
body::-webkit-scrollbar{
	display: none;
}

div{margin:0; padding: 0;}
span{margin: 0; padding: 0; display: inline-block;}
p{margin: 0; padding: 0; white-space: nowrap;}
a{color: inherit; text-decoration: none;}
button {
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	vertical-align: middle;
	color: inherit;
	font: inherit;
	border: 0;
	background: transparent;
	padding: 0;
	margin: 0;
	outline: none;
	border-radius: 0;
}

.area{
	display: block;
	position: relative;
	width: 100%;
	left: 0;
	overflow: hidden;
}
.area-content{
	display: block;
	position: relative;
	height: 100%;
	width: var(--content-width);
	left: var(--content-left);
}
.floating-area{
	display: block;
	position: relative;
	width: var(--content-width);
	left: var(--content-left);
	overflow: hidden;
}
.block-fixed{display: block; position: fixed;}
.block-relative{display: block; position: relative;}
.block-absolute{display: block; position: absolute;}
.image{display: block; position: absolute; object-fit: cover; user-select: none;}
.image-relative{display: block; position: relative; object-fit: cover; user-select: none;}
.fiximage{ display: block; position: fixed; object-fit: cover; user-select: none;}
.image-fixed{ display: block; position: fixed; object-fit: cover; user-select: none;}
.image-full{display: block; position: relative; object-fit: contain; user-select: none;}
.contain{object-fit: contain;}

.filled{width: 100%; height: 100%; top:0; left:0;}
.full-width{width: 100%;}
.centered{left: 50%; transform: translate(-50%,0); text-align: center;}
.no-margin{margin: 0;}
.margin-bottom-area{margin-bottom: calc(var(--content-width) * 0.24);}
.margin-both-space{margin-top: calc(var(--content-width) * 0.24); margin-bottom: calc(var(--content-width) * 0.24);}
.margin-top-space{margin-top: calc(var(--content-width) * 0.24);}
.margin-bottom-space{margin-bottom: calc(var(--content-width) * 0.24);}
.margin-both{margin-top: calc(var(--content-width) * 0.12); margin-bottom: calc(var(--content-width) * 0.12);}
.margin-top{margin-top: calc(var(--content-width) * 0.12);}
.margin-bottom{margin-bottom: calc(var(--content-width) * 0.12);}
.margin-both-inblock{margin-top: calc(var(--content-width) * 0.03); margin-bottom: calc(var(--content-width) * 0.03);}
.margin-top-inblock{margin-top: calc(var(--content-width) * 0.03);}
.margin-bottom-inblock{margin-bottom: calc(var(--content-width) * 0.03);}
.padding-top{padding-top: calc(var(--content-width) * 0.08);}
.padding-bottom{padding-bottom: calc(var(--content-width) * 0.08);}
.cozy{line-height: 1.8;}

.sans{
	font-size: var(--font-base);
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.sans-bold{
	font-size: var(--font-base);
	font-family: "BIZ UDPGothic", sans-serif;
	font-weight: 700;
	font-style: normal;
}
.serif{
	font-size: var(--font-base);
	font-family: "Sawarabi Mincho", serif;
	font-weight: 400;
	font-style: normal;
}
.vertical{
	writing-mode: vertical-rl;
	text-orientation: upright;
}
.title{font-size: calc(var(--font-base) * 3.6);}
.subtitle{font-size: calc(var(--font-base) * 2.4);}
.paragraph{font-size: calc(var(--font-base) * 1.5);}
.small-paragraph{font-size: calc(var(--font-base) * 0.7);}
.black{color: black;}
.gray{color: dimgray;}
.white{color: white;}
.accent-color{color: steelblue;}

.decorated-link{color: steelblue;}
th.decorated-link{color: gold;}

.area-title{width: 90%; left: 5%; height: calc(var(--content-width) * 0.18); top: 0;
	background-color: rgba(206, 238, 253, 0.6);}
.area-title p{left: 50%; top: 50%; transform: translate(-50%,-50%);}
.white-block{
	width: 90%; left: 5%;
	background-color: rgba(226, 246, 255, 0.6);
	padding: calc(var(--content-width) * 0.06) 0 calc(var(--content-width) * 0.06) 0;
}
.padding-in-white-block{padding: 0 calc(var(--content-width) * 0.05) 0  calc(var(--content-width) * 0.05);}

.area-subtitle{left: 7%;}
.area-subtitle-caption{left: 7%;}
.area-paragraph{left: 10%; width: 80%;}

.main-visual{width: 100%; height: calc(var(--content-width) * 0.70);}
.main-visual .title{top: calc(var(--content-width) * 0.28); font-size: calc(var(--font-base) * 4.0);}
.main-visual .paragraph{top: calc(var(--content-width) * 0.38);}

.threeblock-line-visual{width: 90%; left: 5%; height: calc(var(--content-width) * 1.40);}
.threeblock-line-visual .image{width: 100%; height: 33%;}
.threeblock-line-visual-image1{top: 0%;}
.threeblock-line-visual-image2{top: 33.5%;}
.threeblock-line-visual-image3{top: 67.0%;}

.fourblock-line-visual{width: 100%; height: calc(var(--content-width) * 0.24);}
.fourblock-line-visual .image{width: 24.7%; height: calc(var(--content-width) * 0.16);}
.fourblock-line-visual-image1{left: 0%;}
.fourblock-line-visual-image2{left: 25.1%;}
.fourblock-line-visual-image3{left: 50.2%;}
.fourblock-line-visual-image4{left: 75.3%;}
.fourblock-line-visual p{
	display: block; position: absolute;
	text-align: center;
	width: 24.7%; top: calc(var(--content-width) * 0.17); transform: translate(-50%, 0);
}
.fourblock-line-caption1{left: 12.35%;}
.fourblock-line-caption2{left: 37.45%;}
.fourblock-line-caption3{left: 62.55%;}
.fourblock-line-caption4{left: 87.65%;}
.fourblock-line-caption4{left: 87.65%;}

.two-column-area{
	width: 100%;
	position: relative;
}
.two-column-area-left{width: 100%; position: relative;}
.two-column-area-right{width: 100%; position: relative;}
.two-column-area-right.white-block{width: 90%;}

#loading{
	width: 100%; height: 100%;
}
#loading-back{
	width: 100%; height: 100%;
	position: fixed;
	object-fit: cover;
	z-index: 2;
}
#loading-logo{
	width: 30%; top:50%; left:50%;
	transform: translate(-50%, -50%);
	position: fixed;
	object-fit: contain;
	z-index: 3;
}
#loading.loaded{animation: fadeOut 1.5s forwards; animation-delay: 1.5s;}
#main{overflow: hidden; opacity: 0;}
#main.loaded{animation: fadeIn 1.5s forwards; animation-delay: 2s;}

#header-area{height: calc(var(--content-width) * 0.60); background-color: aliceblue; overflow: visible; z-index: 5;}
#header-blue-line{
	width: 100%; left: 0;
	height: calc(var(--content-width) * 0.05); top: 0;
	overflow: hidden;
	background-image: url(img/aiseikai_topbar.jpg);
	background-size: 300%;
	background-position: center;
}
#header-logo{
	width: 100%;
	height: calc(var(--content-width) * 0.55); top: calc(var(--content-width) * 0.05);
}
#header-link-top{
	width: 60%; left: 20%;
	top: calc(var(--content-width) * 0.03);
	cursor: pointer;
}
.header-center{
	filter: drop-shadow(calc(var(--font-base) * 0.2) calc(var(--font-base) * 0.2) 0 dimgray);
	width: 40%;
	cursor: pointer;
}
#header-link-hoshi{left: 7.5%; top: calc(var(--content-width) * 0.25);}
#header-link-ryuju{left: 52.5%; top: calc(var(--content-width) * 0.25);}
#header-link-ashiho{left: 7.5%; top: calc(var(--content-width) * 0.40);}
#header-link-ashihog{left: 52.5%; top: calc(var(--content-width) * 0.40);}
#header-button-block{
	width: var(--content-width); left: var(--content-left);
	height: calc(var(--content-width) * 0.06); top: calc(var(--content-width) * 0.18);
	display: none;
}
#header-button-belt-left{
	width: calc(var(--content-left) - var(--font-base) * 0.05); right: calc(100% - var(--content-left) + var(--font-base) * 0.05);
	height: calc(var(--content-width) * 0.06); top: calc(var(--content-width) * 0.18);
	background-color: white;
	display: none;
}
#header-button-belt-right{
	width: calc(var(--content-left) - var(--font-base) * 0.05); left: calc(100% - var(--content-left) + var(--font-base) * 0.05);
	height: calc(var(--content-width) * 0.06); top: calc(var(--content-width) * 0.18);
	background-color: white;
	display: none;
}
.header-button{
	display: block;
	width: 20%;
	height: 100%;
	background-color: white;
	font-size: calc(var(--font-base) * 0.8);
	text-align: center;
	margin: 0 calc(var(--font-base) * 0.1) 0 calc(var(--font-base) * 0.1);
}
.header-button-base{width: 100%; height: 100%; transition: background-color 0.4s, color 0.4s;}
.header-button:hover .header-button-base{color: white; background-color: steelblue;}
.header-button p{width: 100%; left: 50%; top: 50%; transform: translate(-50%,-50%);}
.header-button-extend{
	width: 100%; height: 100%;
	background-color: rgb(79, 150, 208);
	color: white;
	cursor: pointer;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.4s, background-color 0.4s, color 0.4s;
}
.header-button:hover .header-button-extend{opacity: 1; pointer-events: auto;}
.header-button-extend:hover{color: gold; background-color: rgb(94, 169, 231);}
.header-button-extend-block{
	display: flex;
	width: calc(500% + calc(var(--font-base) * 0.8)); height: 600%;
	color: white;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.4s, background-color 0.4s, color 0.4s;
}
.header-button:hover .header-button-extend-block{opacity: 1; pointer-events: auto;}
.header-button-extend-title{
	width: 20%; height: 100%;
	transition: opacity 0.4s, background-color 0.4s, color 0.4s;
	color: gold;
	background-color: rgb(79, 150, 208);
}
.header-button .header-button-extend-title p{top: 92%;}
.header-button-extend-part{
	width: 20%; height: 100%;
	cursor: pointer;
	background-color: rgb(79, 150, 208);
	transition: opacity 0.4s, background-color 0.4s, color 0.4s;
}
.header-button-extend-part:hover{color: gold; background-color: rgb(94, 169, 231);}
.header-button-extend-part .image{width: 90%; left: 5%; height: 80%; top: 4%;}
.header-button .header-button-extend-part p{top: 92%;}

#main-visual-area{height: calc(var(--content-width) * 0.72);
	user-select: none;
	margin-top: calc(var(--content-width) * 0.00); margin-bottom: calc(var(--content-width) * 0.24);}
#main-visual-area .image{transform-origin: center;}
#main-visual-area .area-content{overflow: hidden;}
#main-visual1{object-position: 70% 30%;}
#main-visual3{object-position: 50% 30%;}
.loaded #main-visual1{animation: main-visual1 linear 80s infinite; animation-delay: 2s;}
.loaded #main-visual2{animation: main-visual2 linear 80s infinite; animation-delay: 2s; opacity: 0;}
.loaded #main-visual3{animation: main-visual3 linear 80s infinite; animation-delay: 2s; opacity: 0;}
.loaded #main-visual4{animation: main-visual4 linear 80s infinite; animation-delay: 2s; opacity: 0;}
.loaded #main-visual5{animation: main-visual5 linear 80s infinite; animation-delay: 2s; opacity: 0;}
.loaded #main-visual6{animation: main-visual6 linear 80s infinite; animation-delay: 2s; opacity: 0;}
.loaded #main-visual7{animation: main-visual7 linear 80s infinite; animation-delay: 2s; opacity: 0;}
.loaded #main-visual8{animation: main-visual8 linear 80s infinite; animation-delay: 2s; opacity: 0;}
.slogan {width: 21%; left: 14%; top: 60%; opacity: 0;}
.loaded .slogan{animation: fadeInStamp 3s forwards; animation-delay: 4s;}
@keyframes fadeInStamp {
	0% {opacity: 0; transform: translate(-50%, -50%) scale(1.2,1.2);}
	100% {opacity: 1; transform: translate(-50%, -50%) scale(1.0,1.0);}
}

#wave-wrap{
	display: block;
	position: absolute;
	width: 100%;
	left: 0;
	height: calc(var(--content-width) * 1.00);
	top: calc(var(--content-width) * 3.00);
	overflow: hidden;
	z-index: -1;
}

.loaded #floating-wave1{
	width: 120%;
	top: calc(var(--content-width) * 0.00);
	animation: floating-wave linear 18s infinite, wave ease-in-out 5s infinite alternate;
}
.loaded #floating-wave1-dash{
	width: 120%;
	top: calc(var(--content-width) * 0.00);
	left: 100%;
	animation: floating-wave linear 18s infinite, wave ease-in-out 5s infinite alternate;
	animation-delay: 12s;
}
.loaded #floating-wave2{
	width: 120%;
	top: calc(var(--content-width) * 0.30);
	left: -120%;
	animation: floating-wave-rev linear 15s infinite, wave ease-in-out 4s infinite alternate;
	animation-delay: 8s;
}
.loaded #floating-wave2-dash{
	width: 120%;
	top: calc(var(--content-width) * 0.30);
	left: -120%;
	animation: floating-wave-rev linear 15s infinite, wave ease-in-out 4s infinite alternate;
	animation-delay: 18s;
}

#amami-map{width: 80%; left: 10%; filter: drop-shadow(0 0 calc(var(--font-base) * 0.7) white);}
#aiseikai-concept{width: 70%; left: 15%; height: calc(var(--content-width) * 0.60); text-shadow: 0 0 calc(var(--font-base) * 0.4) white; line-height: 1.6; letter-spacing: calc(var(--font-base) * 0.1);}
#aiseikai-concept.paragraph{font-size: calc(var(--font-base) * 2.0);}

#concept-second-area .two-column-area-left div{width: 90%; left: 5%;}
#concept-second-area .two-column-area-left .image-relative{width: 90%; left: 5%;}

#center-area{height: calc(var(--content-width) * 5.12); margin-bottom: calc(var(--content-width) * 0.12);}
.center-block{
	width: 90%; height: calc(var(--content-width) * 0.90);
}
.center-title-image{width: 80%; left: 9%; top: calc(var(--content-width) * 0.08);
	filter: drop-shadow(calc(var(--font-base) * 0.2) calc(var(--font-base) * 0.2) 0 dimgray);}
.center-image{width: 60%; left: 20%; top: calc(var(--content-width) * 0.34);}
.center-detail{width: 80%; left: 20%; top: calc(var(--content-width) * 0.72); font-size: calc(var(--font-base) * 1.4);}
#center-block-hoshi{left: 5%; top: calc(var(--content-width) * 0.24);
	background-image:url(img/center_hoshi_frame.png); background-size: contain;}
#center-block-ryuju{left: 5%; top: calc(var(--content-width) * 1.16);
	background-image:url(img/center_ryuju_frame.png); background-size: contain;}
#center-block-ashiho{left: 5%; top: calc(var(--content-width) * 2.08);
	background-image:url(img/center_ashiho_frame.png); background-size: contain;}
#center-block-ashihog{left: 5%; top: calc(var(--content-width) * 3.00);
	background-image:url(img/center_ashihog_frame.png); background-size: contain;}

.sp-block{width: 36%; height: calc(var(--content-width) * 0.16); background-color: steelblue; color: white; cursor: pointer; transition: background-color 0.4s, color 0.4s;}
.sp-block:hover{color: gold; background-color: rgb(94, 169, 231);}
.sp-block p{top: 50%; left: 50%; transform: translate(-50%,-50%); white-space: nowrap;}
#sp-block-introduction{left: 13%; top: calc(var(--content-width) * 4.20);}
#sp-block-greeting{left: 51%; top: calc(var(--content-width) * 4.20);}
#sp-block-service{left: 13%; top: calc(var(--content-width) * 4.38);}
#sp-block-recruit{left: 51%; top: calc(var(--content-width) * 4.38);}
#sp-block-access{left: 13%; top: calc(var(--content-width) * 4.56);}
#sp-block-contact{left: 51%; top: calc(var(--content-width) * 4.56);}
#sp-block-management{left: 13%; top: calc(var(--content-width) * 4.74);}
#sp-block-privacy-policy{left: 51%; top: calc(var(--content-width) * 4.74);}

#history-table{
	display: inline-block;
	width: 90%; top: calc(var(--content-width) * 0.16); margin-left: 5%;
	border-collapse: separate;
	border-spacing:  calc(var(--font-base) * 0.4);
}
#history-table th{
	width: calc(var(--content-width) * 0.3);
	padding: calc(var(--font-base) * 1);
	background-color: rgba(206, 238, 253, 0.6);
}
#history-table td{
	width: calc(var(--content-width) * 0.7);
	padding: calc(var(--font-base) * 1);
	background-color: white;
}

#greeting-area{height: calc(var(--content-width) * 2.50);}
#greeting-block{width: 90%; top: calc(var(--content-width) * 0.20); height: calc(var(--content-width) * 2.62);}
#greeting-subtitle{width: 90%; left: 5%; top: calc(var(--content-width) * 0.08); }
#greeting-paragraph{width: 90%; left: 5%; top: calc(var(--content-width) * 0.20); white-space: normal;}
#greeting-image{width: 60%; left: 20%; top: calc(var(--content-width) * 1.24);}
#greeting-sign{width: 60%; left: 20%; top: calc(var(--content-width) * 2.10); text-align: right;}

form table{
	display: block;
	position: relative;
	width: 90%; left: 5%;
	border-collapse: collapse;
	padding: calc(var(--font-base) * 2) calc(var(--font-base) * 1);
}
form tr{
	border-top: calc(var(--font-base) * 0.1) solid dimgray;
	border-bottom: calc(var(--font-base) * 0.1) solid dimgray;
}
form th{
	width: calc(var(--font-base) * 20);
	font-size: calc(var(--font-base) * 1.4);
	color: black;
}
form td{
	width: calc(var(--font-base) * 26);
	font-size: calc(var(--font-base) * 1.4);
	padding: calc(var(--font-base) * 1) calc(var(--font-base) * 0.4);
}
form .half-input{
	width: calc(var(--font-base) * 10);
	height: calc(var(--font-base) * 2.6);
	border: 0;
	border-radius: calc(var(--font-base) * 0.2);
	margin-right: calc(var(--font-base) * 1);
	padding: 0 calc(var(--font-base) * 1);
	font-size: calc(var(--font-base) * 1.4);
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 200;
	font-style: normal;
}
form .full-input{
	width: calc(var(--font-base) * 23.2);
	height: calc(var(--font-base) * 2.6);
	border: 0;
	border-radius: calc(var(--font-base) * 0.2);
	padding: 0 calc(var(--font-base) * 1);
	font-size: calc(var(--font-base) * 0.8);
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 200;
	font-style: normal;
}
form .radio-button{
	margin-left: calc(var(--font-base) * 1);
	margin-right: calc(var(--font-base) * 2);
}
form input[type=radio]{
	width: calc(var(--font-base) * 1);
	height: calc(var(--font-base) * 1);
}
form select{
	width: calc(var(--font-base) * 25.2);
	height: calc(var(--font-base) * 2.6);
	border: 0;
	border-radius: calc(var(--font-base) * 0.2);
	padding: 0 calc(var(--font-base) * 1);
	font-size: calc(var(--font-base) * 1.4);
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 200;
	font-style: normal;
	background-color: white;
}
form textarea{
	width: calc(var(--font-base) * 23.2);
	height: calc(var(--font-base) * 9);
	border: 0;
	border-radius: calc(var(--font-base) * 0.2);
	padding: calc(var(--font-base) * 0.5) calc(var(--font-base) * 1);
	font-size: calc(var(--font-base) * 1.4);
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 200;
	font-style: normal;
	background-color: white;
}
form .contact-form-address textarea{
	height: calc(var(--font-base) * 4);
}
form button{
	width: calc(var(--content-width) * 0.30); left: calc(var(--content-width) * 0.30);
	height: calc(var(--content-width) * 0.08);
	background-color: white;
	border: solid 1px rgb(65, 46, 13);
	transition: background-color 0.4s, color 0.4s;
	margin-top: calc(var(--content-width) * 0.04);
	margin-bottom: calc(var(--content-width) * 0.04);
}
form button:hover{
	border: none;
	background-color: steelblue;
	color: white;
}

#form-complete-area .back-button{
	width: 10%; left: 45%; height: calc(var(--content-width) * 0.05);
}
.back-button{
	border: 1px solid dimgray;
	transition: border 0.4s, background-color 0.4s, color 0.4s;
	cursor: pointer;
}
.back-button:hover{
	color: white;
	background-color: steelblue;
	border: 1px solid steelblue;
}
.back-button p{left: 50%; top: 50%; transform: translate(-50%, -50%); white-space: nowrap;}

#access-map{
	width: 80%; left: 10%; height: calc(var(--content-width) * 0.48);
}
#access-area p.paragraph{width: 80%; left: 10%;}

#footer-area{
	height: calc(var(--content-width) * 0.24);
	background-color:steelblue;
}
#footer-copyright{
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

@keyframes fadeIn {
	0% {opacity: 0;}
	100% {opacity: 1;}
}
@keyframes fadeOut {
	0% {opacity: 1;}
	100% {opacity: 0;}
}
@keyframes fadeInStamp {
	0% {opacity: 0; transform: translate(-50%, -50%) scale(1.2,1.2);}
	100% {opacity: 1; transform: translate(-50%, -50%) scale(1.0,1.0);}
}

@keyframes fade_in_out{
	0% {opacity: 0;}
	17% {opacity: 0;}
	25% {opacity: 1;}
	42% {opacity: 1;}
	50% {opacity: 0;}
	100% {opacity: 0;}
}

@keyframes main-visual1{
	0% {opacity: 1; transform: scale(1.0125,1.0125);}
	11.5% {opacity: 1; transform: scale(1.1250,1.1250);}
	12.5% {opacity: 0; transform: scale(1.1375, 1.1375);}
	99% {opacity: 0; transform: scale(1.0,1.0);}
	100% {opacity: 1; transform: scale(1.0125,1.0125);}
}
@keyframes main-visual2{
	0%{opacity: 0; transform: scale(1.0,1.0);}
	11.5% {opacity: 0; transform: scale(1.0,1.0);}
	12.5% {opacity: 1; transform: scale(1.0125,1.0125);}
	24% {opacity: 1; transform: scale(1.1250,1.1250);}
	25% {opacity: 0; transform: scale(1.1375, 1.1375);}
	100% {opacity: 0; transform: scale(1.0,1.0);}
}
@keyframes main-visual3{
	0%{opacity: 0; transform: scale(1.0,1.0);}
	24% {opacity: 0; transform: scale(1.0,1.0);}
	25% {opacity: 1; transform: scale(1.0125,1.0125);}
	36.5% {opacity: 1; transform: scale(1.1250,1.1250);}
	37.5% {opacity: 0; transform: scale(1.1375, 1.1375);}
	100% {opacity: 0; transform: scale(1.0,1.0);}
}
@keyframes main-visual4{
	0%{opacity: 0; transform: scale(1.0,1.0);}
	36.5% {opacity: 0; transform: scale(1.0,1.0);}
	37.5% {opacity: 1; transform: scale(1.0125,1.0125);}
	49% {opacity: 1; transform: scale(1.1250,1.1250);}
	50% {opacity: 0; transform: scale(1.1375, 1.1375);}
	100%{opacity: 0; transform: scale(1.0,1.0);}
}
@keyframes main-visual5{
	0%{opacity: 0; transform: scale(1.0,1.0);}
	49% {opacity: 0; transform: scale(1.0,1.0);}
	50% {opacity: 1; transform: scale(1.0125,1.0125);}
	61.5% {opacity: 1; transform: scale(1.1250,1.1250);}
	62.5% {opacity: 0; transform: scale(1.1375, 1.1375);}
	100%{opacity: 0; transform: scale(1.0,1.0);}
}
@keyframes main-visual6{
	0%{opacity: 0; transform: scale(1.0,1.0);}
	61.5% {opacity: 0; transform: scale(1.0,1.0);}
	62.5% {opacity: 1; transform: scale(1.0125,1.0125);}
	74% {opacity: 1; transform: scale(1.1250,1.1250);}
	75% {opacity: 0; transform: scale(1.1375, 1.1375);}
	100%{opacity: 0; transform: scale(1.0,1.0);}
}
@keyframes main-visual7{
	0%{opacity: 0; transform: scale(1.0,1.0);}
	74% {opacity: 0; transform: scale(1.0,1.0);}
	75% {opacity: 1; transform: scale(1.0125,1.0125);}
	86.5% {opacity: 1; transform: scale(1.1250,1.1250);}
	87.5% {opacity: 0; transform: scale(1.1375, 1.1375);}
	100%{opacity: 0; transform: scale(1.0,1.0);}
}
@keyframes main-visual8{
	0%{opacity: 0; transform: scale(1.0,1.0);}
	86.5% {opacity: 0; transform: scale(1.0,1.0);}
	87.5% {opacity: 1; transform: scale(1.0125,1.0125);}
	99% {opacity: 1; transform: scale(1.1250,1.1250);}
	100% {opacity: 0; transform: scale(1.1375, 1.1375);}
}
@keyframes floating-image-a{
	0%{opacity: 0;}
	4%{opacity: 0;}
	6.5% {opacity: 1;}
	22.5% {opacity: 1;}
	25% {opacity: 0;}
	100% {opacity: 0;}
}
@keyframes floating-image-b{
	0%{opacity: 0;}
	7%{opacity: 0;}
	9.5% {opacity: 1;}
	22.5% {opacity: 1;}
	25% {opacity: 0;}
	100% {opacity: 0;}
}
@keyframes floating-image-c{
	0%{opacity: 0;}
	10%{opacity: 0;}
	12.5% {opacity: 1;}
	22.5% {opacity: 1;}
	25% {opacity: 0;}
	100% {opacity: 0;}
}

@keyframes floating-wave{
	0% {left: 100%; opacity: 1;}
	95% {left: -120%; opacity: 1;}
	96% {left: -120%; opacity: 0;}
	99% {left: 100%; opacity: 0;}
	100%{left: 100%; opacity: 1;}
}
@keyframes floating-wave-rev{
	0% {left: -120%; opacity: 1;}
	95% {left: 100%; opacity: 1;}
	96% {left: 100%; opacity: 0;}
	99% {left: -120%; opacity: 0;}
	100%{left: -120%; opacity: 1;}
}
@keyframes wave{
	0% {transform: translate(0, 0);}
	50% {transform: translate(0, calc(var(--content-width) * 0.06));}
	100% {transform: translate(0, 0);};
}
@keyframes biyo{
	0%{ transform: scale(1,1);}
	50%{ transform: scale(0.92,0.92);}
	100%{ transform: scale(1,1);}
}

body.side-open{overflow-y:hidden;}

.side-open .overlay {
	transform: translate3d(-70%, 0, 0);
}

.overlay {
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0);
	transition: all .5s ease;
	z-index: 23;
}
.side-open .overlay {
	visibility: visible;
	cursor: pointer;
	background: rgba(0,0,0,.2);
	transition: all .5s ease;
}

.side-menu{
	position: fixed;
	top: 0;
	right: -70%;
	width: 70%;
	height: 100%;
	text-align: left;
	background: rgb(237, 246, 255);
	z-index: 21;
	transition: all .5s ease;
}
.side-open .side-menu{
	right: 0;
	transition: all .5s ease;
}


.side-menu-ul{
	position: absolute;
	width: 100%;
	height: 90%;
	top: 5%;
	overflow-x: hidden;
	overflow-y: scroll;
	list-style-type: none;
	padding-inline-start: 0;
	margin-block-start: 0;
	margin-block-end: 0;
	-ms-overflow-style: none;
	scrollbar-width: none;
}
.side-menu-ul::-webkit-scrollbar{
	display: none;
}
.side-menu-ul li{
	display: block; position: relative;
	height: 10%;
	padding: 0 calc(var(--font-base) * 2.4);
}
.side-menu-ul li p{display: block; position: absolute; top: 50%; transform: translate(0,-50%); padding: 0 calc(var(--font-base) * 2.4);}
.side-menu-ul li p.category{padding: 0 0;}
.side-menu-ul .decorated-link{color: steelblue;}

.side-menu-btn {
	position: fixed;
	top: calc(var(--font-base) * 1);
	right: calc(var(--font-base) * 1);
	width: calc(var(--font-base) * 5);
	height: calc(var(--font-base) * 5);
	padding: 0;
	cursor: pointer;
	z-index: 24;
	background: rgba(255, 255, 255, 0.9);
}
.side-open .side-menu-btn{
	background: none;
}

.ellipsis-v {
	position: relative;
	display: block;
	cursor: pointer;
	width: 50%;
	left: 25%;
	height: 50%;
	top: 25%;
}

.ellipsis-v .point {
	position: absolute;
	left: 0;
	right: 0;
	display: block;
	width: 100%;
	height: 4px;
	margin: auto;
	background: #333;
	transition: all .3s;
}

.ellipsis-v .point.top {
	top: 0;
}

.ellipsis-v .point.mid {
	top: 0;
	bottom: 0;
}

.ellipsis-v .point.bot {
	bottom: 0;
}

.side-open .side-menu-btn:hover .top,
.side-open .top {
	width: 140%;
	height: 1px;
	background: #fff;
	transform-origin: left top;
	transform: rotate(45deg);
}

.side-open .mid {
	opacity: 0;
}

.side-open .side-menu-btn:hover .bot,
.side-open .bot {
	width: 140%;
	height: 1px;
	background: #fff;
	transform-origin: left bottom;
	transform: rotate(-45deg);
	}

.side-open .side-menu-btn:hover .bot,
.side-open .side-menu-btn:hover .top {
	background: #ccc;
}