@charset "utf-8";

/*----------------------------- accordion_button -----------------------------*/
/****************************** all ******************************/
.accordion_button{
	display:inline-flex;
	justify-content:center;
	align-items:center;
}

.accordion_button::after{
	content:"";
	aspect-ratio:1;
	border-bottom:solid #000 1px;
	border-right:solid #000 1px;
	rotate:45deg;
	display:inline-block;
}

.accordion_button_show::after{
	animation-name:accordion_button_animate_show;
	animation-duration:250ms;
	animation-fill-mode:both;
	animation-timing-function:ease-in-out;
}

.accordion_button_hide::after{
	animation-name:accordion_button_animate_hide;
	animation-duration:250ms;
	animation-fill-mode:both;
	animation-timing-function:ease-in-out;
}

.accordion_button_target_wrapper{
	overflow:hidden;
	transition:max-height 0.3s ease-out;
}
/****************************** /all ******************************/

/****************************** pc ******************************/
@media screen and (min-width:1280px){
	@-webkit-keyframes accordion_button_animate_show{
		0%{
			scale:1 1;
			translate:0 -3.5px;
		}
		100%{
			scale:-1 -1;
			translate:0 3.5px;
		}
	}
	
	@keyframes accordion_button_animate_show{
		0%{
			scale:1 1;
			translate:0 -3.5px;
		}
		100%{
			scale:-1 -1;
			translate:0 3.5px;
		}
	}
	
	@-webkit-keyframes accordion_button_animate_hide{
		0%{
			scale:-1 -1;
			translate:0 3.5px;
		}
		100%{
			scale:1 1;
			translate:0 -3.5px;
		}
	}
	
	@keyframes accordion_button_animate_hide{
		0%{
			scale:-1 -1;
			translate:0 3.5px;
		}
		100%{
			scale:1 1;
			translate:0 -3.5px;
		}
	}
	
	.accordion_button{
		gap:10px;
	}
	
	.accordion_button::after{
		width:11px;
	}
}
/****************************** /pc ******************************/

/****************************** tablet ******************************/
@media screen and (min-width:768px) and (max-width:1280px){
	@-webkit-keyframes accordion_button_animate_show{
		0%{
			scale:1 1;
			translate:0 -0.35vw;
		}
		100%{
			scale:-1 -1;
			translate:0 0.35vw;
		}
	}
	
	@keyframes accordion_button_animate_show{
		0%{
			scale:1 1;
			translate:0 -0.35vw;
		}
		100%{
			scale:-1 -1;
			translate:0 0.35vw;
		}
	}
	
	@-webkit-keyframes accordion_button_animate_hide{
		0%{
			scale:-1 -1;
			translate:0 0.35vw;
		}
		100%{
			scale:1 1;
			translate:0 -0.35vw;
		}
	}
	
	@keyframes accordion_button_animate_hide{
		0%{
			scale:-1 -1;
			translate:0 0.35vw;
		}
		100%{
			scale:1 1;
			translate:0 -0.35vw;
		}
	}
	
	.accordion_button{
		gap:1.0vw;
	}
	
	.accordion_button::after{
		width:1.1vw;
	}
}
/****************************** /tablet ******************************/

/****************************** sp ******************************/
@media screen and (max-width:768px){
	@-webkit-keyframes accordion_button_animate_show{
		0%{
			scale:1 1;
			translate:0 -0.6vw;
		}
		100%{
			scale:-1 -1;
			translate:0 0.6vw;
		}
	}
	
	@keyframes accordion_button_animate_show{
		0%{
			scale:1 1;
			translate:0 -0.6vw;
		}
		100%{
			scale:-1 -1;
			translate:0 0.6vw;
		}
	}
	
	@-webkit-keyframes accordion_button_animate_hide{
		0%{
			scale:-1 -1;
			translate:0 0.6vw;
		}
		100%{
			scale:1 1;
			translate:0 -0.6vw;
		}
	}
	
	@keyframes accordion_button_animate_hide{
		0%{
			scale:-1 -1;
			translate:0 0.6vw;
		}
		100%{
			scale:1 1;
			translate:0 -0.6vw;
		}
	}
	
	.accordion_button{
		gap:2.0vw;
	}
	
	.accordion_button::after{
		width:2.2vw;
	}
}
/****************************** /sp ******************************/
/*----------------------------- /accordion_button -----------------------------*/