/*--------------------------------
common
--------------------------------*/
* {
	margin: 0;
	padding: 0;
}

*:focus {
	outline: none !important;
}

body {
	color: #3D3D3D;
	/*font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";*/
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	position: relative;
}

h1,
h2,
h3,
p {
	margin: 0;
}

img {
	width: 100%;
	max-width: 100%;
	height: auto;
}

/*.content1,.content2,.content3,.content4{overflow:hidden;}*/
main {
	overflow: hidden;
}

.content1 .container,
.content2 .container,
.content3 .container,
.content4 .container {
	position: relative;
}

.d-inline-block {
	text-indent: 0;
}

.sc {
	max-width: 256px;
}

.blue {
	color: #20B2D3;
}

.btns {
	transition: .6s;
}

.btns:hover {
	opacity: .5;
}

.xsmall {
	font-size: .75rem;
}

.w-490 {
	width: 100%;
	max-width: 490px;
}

.fs-55 {
	font-size: 22px;
}

.spwrap {
	flex-wrap: wrap;
}

.pc {
	display: inline-block;
}

.sp {
	display: none;
}

.xpc {
	display: inline-block;
}

.xsp {
	display: none;
}

.pcflex {
	display: flex;
}

.spflex {
	display: none;
}

/* SHORT */
.mt-300 {
	margin-top: 300px;
}

.mb-300 {
	margin-bottom: 300px;
}

.noborder {
	border: 0;
}

.aligncenter {
	text-align: center !important;
}

.alignleft {
	text-align: left !important;
}

.alignright {
	text-align: right !important;
}

/***********************************/
.sa {
	opacity: 0;
	transition: all .5s ease;
}

.sa.show {
	opacity: 1;
	transform: none;
}

.sa--lr {
	transform: translate(-100px, 0);
}

.sa--rl {
	transform: translate(100px, 0);
}

.sa--up {
	transform: translate(0, 100px);
}

.sa--down {
	transform: translate(0, -100px);
}

.sa--scaleUp {
	transform: scale(.5);
}

.sa--scaleDown {
	transform: scale(1.5);
}

.sa--rotateL {
	transform: rotate(180deg);
}

.sa--rotateR {
	transform: rotate(-180deg);
}

/*--------------------------------
media
--------------------------------*/
@media (min-width: 992px) {
	.container {
		max-width: 1224px;
	}
}

@media (max-width: 991px) {
	.xpc {
		display: none;
	}

	.xsp {
		display: inline-block;
	}
}

@media (max-width: 767px) {
	.pc {
		display: none;
	}

	.sp {
		display: inline-block;
	}

	.pcflex {
		display: none;
	}

	.spflex {
		display: flex;
	}

	.spWrap {
		flex-wrap: wrap;
		justify-content: center;
	}

	.fs-55 {
		font-size: calc(1.15rem + 0.3vw) !important
	}
}

@media (max-width: 575px) {}