/*---------------------------------
	margin start
---------------------------------*/
.margin--bottom0{
	margin-bottom: 0 !important;
}

.margin--bottomHalf{
	margin-bottom: 0.5rem !important;
}

.margin--bottom1{
	margin-bottom: 1rem !important;
}

.margin--bottom2{
	margin-bottom: 2rem !important;
}

.margin--bottom3{
	margin-bottom: 3rem !important;
}

.margin--bottom4{
	margin-bottom: 4rem !important;
}

.margin--bottom5{
	margin-bottom: 5rem !important;
}

.margin--bottom10{
	margin-bottom: 10rem !important;
}

@media(min-width: 1025px){
	.margin--pcBottom0{
		margin-bottom: 0 !important;
	}

	.margin--pcBottom1{
		margin-bottom: 1rem !important;
	}

	.margin--pcBottom2{
		margin-bottom: 2rem !important;
	}

	.margin--pcBottom3{
		margin-bottom: 3rem !important;
	}

	.margin--pcBottom4{
		margin-bottom: 4rem !important;
	}

	.margin--pcBottom5{
		margin-bottom: 5rem !important;
	}
}

@media(max-width: 1024px){
	.margin--tbBottom0{
		margin-bottom: 0 !important;
	}

	.margin--tbBottom1{
		margin-bottom: 1rem !important;
	}

	.margin--tbBottom2{
		margin-bottom: 2rem !important;
	}

	.margin--tbBottom3{
		margin-bottom: 3rem !important;
	}

	.margin--tbBottom4{
		margin-bottom: 4rem !important;
	}

	.margin--tbBottom5{
		margin-bottom: 5rem !important;
	}
}

@media(max-width: 600px){
	.margin--spBottom0{
		margin-bottom: 0 !important;
	}

	.margin--spBottom1{
		margin-bottom: 1rem !important;
	}

	.margin--spBottom2{
		margin-bottom: 2rem !important;
	}

	.margin--spBottom3{
		margin-bottom: 3rem !important;
	}

	.margin--spBottom4{
		margin-bottom: 4rem !important;
	}

	.margin--spBottom5{
		margin-bottom: 5rem !important;
	}
}

.margin--top0{
	margin-top: 0 !important;
}

.margin--top1{
	margin-top: 1rem !important;
}

.margin--top2{
	margin-top: 2rem !important;
}

.margin--top3{
	margin-top: 3rem !important;
}

.margin--top4{
	margin-top: 4rem !important;
}

.margin--top5{
	margin-top: 5rem !important;
}

@media(min-width: 1025px){
	.margin--pcTop0{
		margin-top: 0 !important;
	}

	.margin--pcTop1{
		margin-top: 1rem !important;
	}

	.margin--pcTop2{
		margin-top: 2rem !important;
	}

	.margin--pcTop3{
		margin-top: 3rem !important;
	}

	.margin--pcTop4{
		margin-top: 4rem !important;
	}

	.margin--pcTop5{
		margin-top: 5rem !important;
	}
}

@media(max-width: 1024px) and (min-width: 601px){
	.margin--tbTop0{
		margin-top: 0 !important;
	}

	.margin--tbTop1{
		margin-top: 1rem !important;
	}

	.margin--tbTop2{
		margin-top: 2rem !important;
	}

	.margin--tbTop3{
		margin-top: 3rem !important;
	}

	.margin--tbTop4{
		margin-top: 4rem !important;
	}

	.margin--tbTop5{
		margin-top: 5rem !important;
	}
}

@media(max-width: 600px){
	.margin--spTop0{
		margin-top: 0 !important;
	}

	.margin--spTop1{
		margin-top: 1rem !important;
	}

	.margin--spTop2{
		margin-top: 2rem !important;
	}

	.margin--spTop3{
		margin-top: 3rem !important;
	}

	.margin--spTop4{
		margin-top: 4rem !important;
	}

	.margin--spTop5{
		margin-top: 5rem !important;
	}
}

/*---------------------------------
	margin end
---------------------------------*/

/*---------------------------------
	responsive start
---------------------------------*/
@media(min-width: 1025px){
	.responsive--pcHidden{
		display: none;
	}
}

@media(max-width: 1024px) and (min-width: 601px){
	.responsive--tbHidden{
		display: none;
	}
}

@media(max-width: 600px){
	.responsive--spHidden{
		display: none;
	}
}

/*---------------------------------
	responsive end
---------------------------------*/

/*---------------------------------
	panelContent start
---------------------------------*/

.panelContent{
	--column: 4;
	--gapX: 3em;
	--gapY: 5em;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: var(--gapY) var(--gapX);
	width: 100%;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

@media(max-width: 600px){
	.panelContent{
		--column: 2;
		--gapY: 3em;
	}
}

.panelItem{
	width: calc((100% - (var(--gapX) * (var(--column) - 1))) / var(--column));
}

.panelLink,
.panelLink:hover{
	display: block;
	width: 100%;
	color: inherit;
	text-decoration: none;
}

.panelLayout{
	display: flex;
	flex-direction: column;
	gap: 0.5em;
}

.panelImage{
	display: block;
	width: 100%;
	position: relative;
	overflow: hidden;
}

.panelImage:before{
	content: "";
	display: block;
	padding-top: 100%;
}

.panelImage img{
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	transition: transform 0.25s;
}

.panelLink:hover .panelImage img{
	transform: scale(1.05);
}

.panelText{
	display: block;
	padding: 0.5em 0.75em;
	margin: 0;
	text-align: center;
	transition: background-color 0.25s;
	font-size: 125%;
}

.panelLink:hover .panelText{
	background-color: var(--colorGrayLight);
}

/*---------------------------------
	panelContent end
---------------------------------*/

/*---------------------------------
	commonList end
---------------------------------*/

.commonList{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	width: auto;
	margin: 0;
	padding: 0;
	list-style: none;
}

.commonListItem{
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 0 0.5em;
	margin: 0;
}

.commonListItem:before{
	display: block;
	flex-grow: 0;
	flex-shrink: 0;
}

.commonListInner{
	display: block;
	width: 100%;
	margin: 0;
}

.commonList--dots > .commonListItem:before{
	content: "";
	display: block;
	width: 0.3em;
	height: 0.3em;
	margin: 0.6em 0;
	border-radius: 50%;
	background-color: var(--mainTextColor);
}

/*---------------------------------
	commonList end
---------------------------------*/

/*---------------------------------
	commonDecoration end
---------------------------------*/

.commonDecoration--borderColor{
	border: 1px solid var(--colorGrayDark);
	padding: 1em 1.5em !important;
	width: max-content;
	max-width: 100%;
	margin: 0;
	background-color: #FFF;
}

/*---------------------------------
	commonDecoration end
---------------------------------*/