html {
	scroll-behavior: smooth;
}

* {
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1.5;
}

body {
	background-color: #F7FBFE;
}

body * {
	color: #3B5F77;
}

h1,
h2,
h3,
h4,
h5,
h6,
h1 *,
h2 *,
h3 *,
h4 *,
h5 *,
h6 * {
	font-weight: normal;
}

p,
a,
li,
button,
span,
dt,
dd {
	font-size: 18px;
}

.superscript {
	font-size: 11px;
	vertical-align: super;
}

img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.inner {
	margin: auto;
	max-width: 1510px;
	padding-left: 60px;
	padding-right: 60px;
}

.inner.--wide {
	padding-left: 20px;
	padding-right: 20px;
}

.inner.--slim {
	max-width: 1290px;
}

.inner.--xslim {
	max-width: 780px;
}

.inner-content {
	margin: auto;
	max-width: 1290px;
}

.inner-content.--xslim {
	max-width: 780px;
}

.section {
	margin-bottom: 160px;
}

.flex-column__wrapper {
	display: flex;
	flex-wrap: wrap;
}

.notion {
	padding-left: 1em;
	position: relative;
}

.notion::before {
	content: "※";
	display: inline-block;
	height: 1em;
	left: 0;
	position: absolute;
	top: 0.5em;
	transform: translateY(-50%);
	width: 1em;
}

.og-animate {
	opacity: 0;
	transform: translateY(20px);
	transition: 1s;
}

.og-animate.show {
	opacity: 1;
	transform: translateY(0);
}

@media screen and (min-width: 768px) and (max-width: 1049px) {

* {
	scroll-padding-top: calc(70px + 3em);
}

main {
	padding-top: 70px;
}

}

@media screen and (min-width: 768px) {

.sp-only {
	display: none;
}

}

@media screen and (min-width: 1050px) {

* {
	scroll-padding-top: calc(72px + 4em);
}

main {
	padding-top: 72px;
}

}

@media screen and (max-width: 1049px) {

p,
a,
li,
button,
span,
dt,
dd {
	font-size: 16px;
}

.inner .inner {
	padding-left: 0px;
	padding-right: 0px;
}

}

@media screen and (max-width: 767px) {

* {
	scroll-padding-top: calc(61px + 1em);
}

main {
	padding-top: 61px;
}

.sp-none {
	display: none;
}

.inner {
	padding-left: 30px;
	padding-right: 30px;
}

.section {
	margin-bottom: 60px;
}

}

