/*---------------------------------
	mainvisualCustom start
---------------------------------*/

.mainvisual{
	width: 100%;
	margin: 0;
}

.mainvisual_inner{
	width: 100%;
	margin: 0 auto;
}

.mainvisual .swiper-slide{
	width: 60%;
	padding: 0 10px;
}

.mainvisualCustom{
	width: 100%;
	background-image: url("../../images/pages/top/mainvisual/01bg.jpg");
	background-size: auto 100%;
	background-repeat: repeat-x;
	position: relative;
}

.mainvisualCustom:before{
	content: "";
	display: block;
	padding-top: calc(100% / 2000 * 1052);
}

.mainvisualCustom img{
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: contain;
}

.mainvisualCommon{
	width: 100%;
	position: relative;
}

.mainvisualCommon:before{
	content: "";
	display: block;
	padding-top: calc(100% / 2000 * 1052);
}

.mainvisualCommon img{
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
}

.mainvisualCommon--topCenter img{
	object-position: top center;
}

@media(max-width: 1024px){
	.mainvisual .swiper-slide{
		width: 80%;
	}
}

@media(max-width: 600px){
	.mainvisual .swiper-slide{
		width: 65%;
		padding: 0;
	}
	.mainvisualCustom:before,
	.mainvisualCommon:before{
		padding-top: 100%;
	}
}

/*---------------------------------
	mainvisualCustom end
---------------------------------*/

/*---------------------------------
	floorMapLayout start
---------------------------------*/
.floorMapLayout{
	display: flex;
	align-items: flex-start;
	justify-content: space-around;
	flex-wrap: wrap;
}

.floorMapLayout_item{
	width: calc(100% / 2 - 5%);
	margin-bottom: 2em;
}

@media(max-width: 1024px){
	.floorMapLayout{
		flex-direction: column;
		align-items: center;
	}
	.floorMapLayout_item{
		width: 100%;
		max-width: 30em;
	}
}

/*---------------------------------
	floorMapLayout end
---------------------------------*/

/*---------------------------------
	feeTablesLayout start
---------------------------------*/
.feeTablesLayout{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.feeTablesLayout_item{
	width: calc(100% / 2 - 2%);
}

@media(max-width: 1024px){
	.feeTablesLayout{
		flex-direction: column;
		align-items: center;
	}

	.feeTablesLayout_item{
		width: 100%;
		max-width: 30em;
		margin-bottom: 2em;
	}
}

/*---------------------------------
	feeTablesLayout end
---------------------------------*/

/*---------------------------------
	infomationTableLayout start
---------------------------------*/
.infomationTableLayout{
	width: 90%;
	max-width: 45em;
	margin: 2em auto;
}

/*---------------------------------
	infomationTableLayout end
---------------------------------*/

/*---------------------------------
	basicTable--infomation start
---------------------------------*/
.basicTable--infomation > tbody > tr > th{
	width: 35%;
}

.basicTable--infomation > tbody > tr:first-of-type{
	border-top: none;
}

.basicTable--infomation > tbody > tr:last-of-type{
	border-bottom: none;
}

/*---------------------------------
	basicTable--infomation end
---------------------------------*/

/*---------------------------------
	gmap--infomationAccess start
---------------------------------*/
.gmap--infomationAccess{
	padding-top: 25em;
}

/*---------------------------------
	gmap--infomationAccess end
---------------------------------*/

/*---------------------------------
	accessLayout start
---------------------------------*/
.accessLayout{
	display: flex;
	align-items: flex-start;
	flex-wrap: nowrap;
}

.accessLayout_map{
	flex-grow: 0;
	flex-shrink: 0;
	width: 30%;
	margin-right: 5%;
	margin-bottom: 2em;
}

.accessLayout_content{
	flex-grow: 1;
	flex-shrink: 1;
	margin-bottom: 2em;
}


@media(max-width: 1024px){
	.accessLayout{
		flex-direction: column;
		align-items: center;
	}

	.accessLayout_map{
		width: 100%;
		max-width: 20em;
	}

	.accessLayout_content{
		width: 100%;
		margin: 0;
	}
}

/*---------------------------------
	accessLayout end
---------------------------------*/

/*---------------------------------
	blogLayoutWrapper start
---------------------------------*/
.blogLayoutWrapper{
	padding: 3em 3em;
	background-color: #FFF;
	border: 2px solid #CCC;
}

@media(max-width: 1024px){
	.blogLayoutWrapper{
		padding: 2em 2em;
	}
}

@media(max-width: 600px){
	.blogLayoutWrapper{
		padding: 1em 1em;
	}
}

/*---------------------------------
	blogLayoutWrapper end
---------------------------------*/

/*---------------------------------
	contactTel start
---------------------------------*/
.contactTel{
	display: flex;
	justify-content: center;
}

.contactTel_inner{
	width: 100%;
	max-width: 40em;
	padding: 2.5em;
	background-color: var(--mainColor02_hex);
}

/*---------------------------------
	contactTel end
---------------------------------*/

/*---------------------------------
	basicTable--recruitApplication start
---------------------------------*/
.basicTable--recruitApplication th{
	width: 25%;
}

/*---------------------------------
	basicTable--recruitApplication end
---------------------------------*/