@charset "utf-8";
/* CSS Document */
/* 
～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～
　object
～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～
*/
.o-txtBold{
	font-weight: 600;;
}
.o-displayCont{
	display: contents;
}
.o-center{
	margin:0 auto;
}
.o-txtCenter{
	text-align: center;
}
.o-flex{
	display: flex;
}
.o-flex--wrap{
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}
.o-flex--sb{
	display: flex;
	justify-content: space-between;
}
.o-flex--vtcl{
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.o-flex--clm2{
	width: calc( ( 100% - 15px ) / 2 );
}
.o-flex--clm3{
	width: calc( ( 100% - 15px * 2 ) / 3 );
}
.o-flex--clm4{
	width: calc( ( 100% - 15px * 3 ) / 4 );
}
.o-flex--sb{
	display: flex;
	justify-content: space-between;
}
.o-flexc{
	display: flex;
	justify-content: center;
}
.o-flexc--vtcl{
	display: flex;
	flex-direction: column;
	align-items: center;
}
.o-flexc--alignItem{
	display: flex;
	align-items: center;
}
.o-flexc--wrap{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 15px;
}
.o-pt20{
	padding-top: 20px;
}
.o-pt40{
	padding-top: 40px;
}
.o-pb80{
	padding-bottom: 80px;
}
.o-mt40{
	margin-top: 40px;
}
.o-mb40{
	margin-bottom: 40px;
}
.o-anchor {
	display: block;
	padding-top: 150px;
	margin-top: -150px;
}
@media only screen and (max-width: 1280px) {
	.o-anchor {
		padding-top: 250px;
		margin-top: -250px;
	}
}	
@media only screen and (max-width:1023px) {
	.o-flex--sb, .o-flexc{
		display: flex;
		flex-direction: column;
	}
	.o-flexc{
		align-items: center;
	}
	.o-flex--clm2, .o-flex--clm3{
		width: 100%;
	}
	.o-flex--clm4{
		width: calc( ( 100% - 15px ) / 2 );
	}
	.o-anchor {
		padding-top: 100px;
		margin-top: -100px;
	}
}