/* CSS Document *//*==================================================top-contents=================================================*/#top-image {	width: 100%;	height: 100%;	position: relative;	background-color: #000675;	background-image: url("../../images/concept_bg.jpg");	background-position: left bottom;	background-repeat: no-repeat;	background-size: contain;	margin-top: min(8%, 100px);	padding-bottom: min(12%, 150px);}#top-image .people {	width: 100%;	position: absolute;	top: 0;	left: 0;	transform: translate(-18%, -3%);	z-index: 3;}#top-image .title {	width: 98%;	position: relative;	margin: -23% auto 0;	z-index: 5;}#top-image .title h1 {	filter: drop-shadow(5px 5px 5px rgba(0,0,0,0.1));}#top-image .title .txt-body {	width: 65%;	margin: 0 auto;}#top-image .title .txt-catch {	width: 60%;	margin: min(4%, 20px) auto 0;}.spray {	position: fixed;	width: 100vw;	height: 95vh;	top: 5vh;	left: 0;	transform: rotate(-4deg);	z-index: 4;}.item-spray {	position: absolute;	width: 100%;	height: 100%;	top: 0;	left: 0;	z-index: 1;	pointer-events: none;}.pict-title {	width: 100%;	max-width: 1060px;	font-size: clamp(1.8rem, 2.8vw, 3.2rem);	line-height: 100%;	margin: 0 auto;}.pict-title span {	display: block;	font-size: clamp(1.8rem, 2.8vw, 3.2rem);	line-height: 100%;	font-weight: 600;	margin-top: 4%;}#top-image .concept-b {	width: 70%;	max-width: 740px;	position: relative;	margin: min(6%, 60px) auto 0;	z-index: 5;}#top-image .concept-b a {	width: 100%;	display: block;	position: relative;	text-align: center;	background-image: url("../../images/button_bg.jpg");	background-position: center center;	background-repeat: no-repeat;	background-size: cover;	border-radius: 80px;	padding: min(8%, 100px) 1em;}#top-image .concept-b a::after {	content: " ";	display: block;	position: absolute;	width: 7%;	aspect-ratio: 1 / 1;	clip-path: polygon(40% 35%, 40% 65%, 70% 50%);	background-color: #FFF;	top: 50%;	right: 7%;	transform: translate(0, -50%);	z-index: 2;}#top-image .concept-b a::before {	content: " ";	display: block;	position: absolute;	width: 7%;	aspect-ratio: 1 / 1;	border: 4px solid #FFF;	border-radius: 50%;	top: 50%;	right: 7%;	transform: translate(0, -50%);	z-index: 2;}@media (hover: hover) {	#top-image .concept-b a:hover {		opacity: 1;	}}#top-image .concept-b a span {	display: block;	width: 50%;	max-width: 240px;	margin: 0 auto;}#top-image img {	width: 100%;	max-width: 100%;	height: auto;}#page-contents {	width: 100%;	position: relative;	z-index: 6}#page-contents .message {	width: 100%;	position: relative;	background-color: #ffd800;}#page-contents .message::before {	background-color: #ffd800;}#page-contents .message .inner {	width: 90%;	max-width: 1200px;	position: relative;	margin: 0 auto;	padding: min(8%, 80px) 0 min(10%, 100px);	z-index: 3;}#page-contents .message .inner h1 {	width: 58%;	max-width: 700px;	position: relative;	line-height: 100%;	z-index: 2;}#page-contents .message .inner p {	position: relative;	z-index: 2;	margin: 2em 0;}#page-contents .message .inner .button {	width: 45%;	max-width: 460px;	z-index: 2;}#page-contents .message .inner .photo {	width: 57.5%;	max-width: 690px;	position: absolute;	overflow: hidden;	border-radius: 20px;	top: 50%;	right: 0;	transform: translate(0, -50%);	z-index: 1;}#page-contents .message .chara {	width: 60%;	max-width: 674px;	position: absolute;	pointer-events: none;	top: 0;	left: 0;	transform: translate(-50%, -20%);	z-index: 1;}#page-contents .message img {	width: 100%;	max-width: 100%;	height: auto;}.spacer {	width: 100%;	height: 90px;	position: relative;	background-color: #ffd800;	clip-path: polygon(0 0, 0% 100%, 100% 0);	margin-top: -1px;	z-index: 6;}.works-menu {	width: 100%;	position: relative; 	padding: min(8%, 80px) 0 min(16%, 180px);	z-index: 7;}.works-menu .title {	width: 90%;	max-width: 1200px;	position: relative;	margin: 0 auto 5%;	z-index: 3;}.works-menu .pict-title {	width: 42.5%;	max-width: 510px;	margin: 0;}.works-menu .swiper-container {	position: relative;	z-index: 5;}.works-menu .chara {	width: 50%;	max-width: 560px;	position: absolute;	pointer-events: none;	top: 50%;	left: 50%;	transform: translate(-40%, -57%);	z-index: 1;}.works-menu .swiper-button-next {	width: 10%;	position: absolute;	max-width: 116px;	top: 50%;	right: 5%;	transform: translate(0, -50%) rotate(180deg);	z-index: 2;}.works-menu .swiper-button-prev {	width: 10%;	position: absolute;	max-width: 116px;	top: 50%;	left: 5%;	transform: translate(0, -50%);	z-index: 2;}.works-menu .swiper-button-next::after,.works-menu .swiper-button-prev::after {	content: "";}.works-menu a {	position: relative;	display: block;}@media (hover: hover) {	.works-menu a:hover {		opacity: 1;	}}.works-menu img {   width: 100%;	max-width: 100%;	height: auto;}.environment-menu {	width: 100%;	position: relative;	background-color: #fff;	clip-path: polygon(0 calc(0% + 90px), 100% 0, 100% 100%, 0% 100%);	background-image: url("../../environment/images/mv_bg.jpg");	background-position: center center;	background-repeat: no-repeat;	background-size: cover;	z-index: 7;}.environment-menu .chara {	width: 60%;	max-width: 660px;	position: absolute;	pointer-events: none;	top: 20px;	right: 5%;	z-index: 2;}.environment-menu .inner {	width: 90%;	max-width: 1000px;	position: relative;	padding: min(20%, 160px) 0 min(18%, 180px);	margin: 0 auto;	z-index: 3;}.environment-menu .inner ul {	width: 100%;	position: relative;	display: flex;	flex-flow: row wrap;	justify-content: space-between;	z-index: 2;}.environment-menu .inner ul li {	width: 49%;	margin-top: min(5%, 50px);}.environment-menu .inner ul li .button::after {	border: none;}.environment-menu .inner ul li:nth-of-type(3) {	transform: translate(-7%, 0);}.environment-menu .inner ul li:nth-of-type(4) {	transform: translate(-7%, 0);}.environment-menu img {	width: 100%;	max-width: 100%;	height: auto;}@media only screen and (min-width:1px) and (max-width: 1080px) {	.spacer {		height: 60px;	}	.environment-menu {		clip-path: polygon(0 calc(0% + 60px), 100% 0, 100% 100%, 0% 100%);	}}@media only screen and (min-width:1px) and (max-width: 768px) {		#top-image .people {		width: 118%;	}	.pict-title {		text-align: center;		margin: 0 auto;	}	.pict-title span {		text-align: center;	}	.works-menu .pict-title {		margin: 0 auto;	}	.spacer {		height: 30px;	}		#page-contents .message .inner {		width: 90%;		max-width: 1200px;		position: relative;		margin: 0 auto;		padding: min(8%, 80px) 0 min(10%, 100px);		z-index: 3;	}	#page-contents .message .inner h1 {		width: 58%;		max-width: 700px;		position: relative;		line-height: 100%;		margin: 0 auto;		z-index: 2;	}	#page-contents .message .inner p {		position: relative;		text-align: center;		z-index: 2;		margin: 2em 0;	}	#page-contents .message .inner .button {		width: 90%;		max-width: 460px;		margin: 0 auto;		z-index: 2;	}	#page-contents .message .inner .photo {		width: 90%;		max-width: 460px;		position: relative;		border-radius: 10px;		top: 0;		right: 0;		transform: translate(0, 0);		margin: 6% auto 0;		z-index: 1;	}	#page-contents .message .chara {		width: 60%;		max-width: 674px;		position: absolute;		pointer-events: none;		top: 0;		left: initial;		left: auto;		right: 0;		transform: scale(-1, 1) translate(-50%, -10%);		z-index: 1;	}		.works-menu .title {		margin: 0 auto 5%;		z-index: 3;	}	.works-menu .chara {		width: 50%;		max-width: 560px;		position: absolute;		pointer-events: none;		top: 50%;		left: 0;		transform: scale(-1, 1) translate(20%, -60%);		z-index: 1;	}		.environment-menu {		width: 100%;		clip-path: polygon(0 calc(0% + 30px), 100% 0, 100% 100%, 0% 100%);		position: relative;		z-index: 7;	}	.environment-menu .chara {		width: 60%;		max-width: 660px;		position: absolute;		pointer-events: none;		top: 20px;		right: 0;		transform: scale(-1, 1) translate(-30%, 0);		z-index: 2;	}	.environment-menu .inner ul {		width: 90%;		max-width: 480px;		display: block;		margin: 8% auto 0;	}	.environment-menu .inner ul li {		width: 100%;		margin-top: min(5%, 50px);	}	.environment-menu .inner ul li .button::after {		border: none;	}	.environment-menu .inner ul li:nth-of-type(3) {		transform: translate(0, 0);	}	.environment-menu .inner ul li:nth-of-type(4) {		transform: translate(0, 0);	}	}@media only screen and (min-width:1px) and (max-width: 568px) {	}	@media only screen and (min-width:1px) and (max-width: 480px) {	.spacer {		height: 20px;	}		.environment-menu {		clip-path: polygon(0 calc(0% + 20px), 100% 0, 100% 100%, 0% 100%);	}	}