.fancybox__slide.can-zoom_in.is-animating.is-scaling .fancybox__content {
		transform: none !important;
		animation: fadeOut 0.3s ease forwards;
}

@keyframes fadeOut {
		from {
				opacity: 1;
		}
		to {
				opacity: 0;
		}
}
.text-left {
		text-align: left !important;
}

.text-center {
		text-align: center !important;
}

.text-right {
		text-align: right !important;
}

.text-justify {
		text-align: justify !important;
}

@media screen and (max-width: 767px) {
		.text-left-sp {
				text-align: left !important;
		}
		.text-center-sp {
				text-align: center !important;
		}
		.text-right-sp {
				text-align: right !important;
		}
}
.pc-show {
		display: none;
}
@media screen and (min-width: 768px) {
		.pc-show {
				display: block;
		}
}

.sp-show {
		display: none;
}
@media screen and (max-width: 767px) {
		.sp-show {
				display: block;
		}
}

.fw-bold {
		font-weight: 700 !important;
}

.fw-normal {
		font-weight: normal !important;
}

.show {
		display: block !important;
}

.hide {
		visibility: hidden !important;
}

.no-margin {
		margin: 0 !important;
}

.no-padding {
		padding: 0 !important;
}

.underline {
		text-decoration: underline !important;
}

.hover {
		transition: opacity 0.3s;
		/*
		@media (hover: none) {
			&:active {
				@content;
			}
		}
		*/
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
		.hover:hover {
				opacity: 0.75;
		}
}

.hover:hover {
		opacity: 0.7;
}

img.fit {
		width: 100%;
		height: auto;
}

.fs10 {
		font-size: 10px !important;
		line-height: 1.6 !important;
}

.fs11 {
		font-size: 11px !important;
		line-height: 1.6 !important;
}

.fs12 {
		font-size: 12px !important;
		line-height: 1.6 !important;
}

.fs13 {
		font-size: 13px !important;
		line-height: 1.6 !important;
}

.fs14 {
		font-size: 14px !important;
		line-height: 1.6 !important;
}

.fs16 {
		font-size: 16px !important;
		line-height: 1.6 !important;
}

.fs18 {
		font-size: 18px !important;
		line-height: 1.6 !important;
}

.fs20 {
		font-size: 20px !important;
		line-height: 1.4 !important;
}

.fs22 {
		font-size: 22px !important;
		line-height: 1.4 !important;
}

.fs24 {
		font-size: 24px !important;
		line-height: 1.4 !important;
}

.fs26 {
		font-size: 26px !important;
		line-height: 1.4 !important;
}

.fs28 {
		font-size: 28px !important;
		line-height: 1.4 !important;
}

.fs30 {
		font-size: 30px !important;
		line-height: 1.3 !important;
}

.fs32 {
		font-size: 32px !important;
		line-height: 1.3 !important;
}

.fs36 {
		font-size: 36px !important;
		line-height: 1.3 !important;
}

@media screen and (max-width: 767px) {
		.fs10-sp {
				font-size: 10px !important;
				line-height: 1.6 !important;
		}
		.fs11-sp {
				font-size: 11px !important;
				line-height: 1.6 !important;
		}
		.fs12-sp {
				font-size: 12px !important;
				line-height: 1.6 !important;
		}
		.fs13-sp {
				font-size: 13px !important;
				line-height: 1.6 !important;
		}
		.fs14-sp {
				font-size: 14px !important;
				line-height: 1.6 !important;
		}
		.fs16-sp {
				font-size: 16px !important;
				line-height: 1.6 !important;
		}
		.fs18-sp {
				font-size: 18px !important;
				line-height: 1.6 !important;
		}
		.fs20-sp {
				font-size: 20px !important;
				line-height: 1.4 !important;
		}
		.fs22-sp {
				font-size: 22px !important;
				line-height: 1.4 !important;
		}
		.fs24-sp {
				font-size: 24px !important;
				line-height: 1.4 !important;
		}
		.fs26-sp {
				font-size: 26px !important;
				line-height: 1.4 !important;
		}
		.fs28-sp {
				font-size: 28px !important;
				line-height: 1.4 !important;
		}
		.fs30-sp {
				font-size: 30px !important;
				line-height: 1.2 !important;
		}
		.fs32-sp {
				font-size: 32px !important;
				line-height: 1.2 !important;
		}
		.fs36-sp {
				font-size: 36px !important;
				line-height: 1.2 !important;
		}
}
.color-primary {
		color: #e30808 !important;
}

.color-key {
		color: #be0022 !important;
}

.bd-color-key {
		border-color: #be0022 !important;
}

.bdw-1 {
		border-width: 1px !important;
}

.bdw-2 {
		border-width: 2px !important;
}

.bdw-3 {
		border-width: 3px !important;
}

.lh-12 {
		line-height: 1.2 !important;
}

.lh-14 {
		line-height: 1.4 !important;
}

.lh-16 {
		line-height: 1.6 !important;
}

.lh-18 {
		line-height: 1.8 !important;
}

.lh-20 {
		line-height: 2 !important;
}

[class*=content-] {
		margin-inline: auto;
}

.content-320 {
		max-width: 320px;
}

.content-480 {
		max-width: 480px;
}

.content-640 {
		max-width: 640px;
}

.content-800 {
		max-width: 800px;
}

.bdr-0 {
		border-radius: 0px !important;
}

.bdr-xs {
		border-radius: 4px !important;
}

.bdr-sm {
		border-radius: 8px !important;
}

.bdr-md {
		border-radius: 16px !important;
}

.bdr-lg {
		border-radius: 24px !important;
}

.bdr-xl {
		border-radius: 32px !important;
}

.w-10 {
		width: 10% !important;
}

.w-15 {
		width: 15% !important;
}

.w-20 {
		width: 20% !important;
}

.w-25 {
		width: 25% !important;
}

.w-30 {
		width: 30% !important;
}

.w-35 {
		width: 35% !important;
}

.w-40 {
		width: 40% !important;
}

.w-45 {
		width: 45% !important;
}

.w-50 {
		width: 50% !important;
}

.w-55 {
		width: 55% !important;
}

.w-60 {
		width: 60% !important;
}

.w-65 {
		width: 65% !important;
}

.w-70 {
		width: 70% !important;
}

.w-75 {
		width: 75% !important;
}

.w-80 {
		width: 80% !important;
}

.w-85 {
		width: 85% !important;
}

.w-90 {
		width: 90% !important;
}

.w-95 {
		width: 95% !important;
}

.w-100 {
		width: 100% !important;
}

@media screen and (max-width: 767px) {
		.w-10-sp {
				width: 10% !important;
		}
		.w-15-sp {
				width: 15% !important;
		}
		.w-20-sp {
				width: 20% !important;
		}
		.w-25-sp {
				width: 25% !important;
		}
		.w-30-sp {
				width: 30% !important;
		}
		.w-35-sp {
				width: 35% !important;
		}
		.w-40-sp {
				width: 40% !important;
		}
		.w-45-sp {
				width: 45% !important;
		}
		.w-50-sp {
				width: 50% !important;
		}
		.w-55-sp {
				width: 55% !important;
		}
		.w-60-sp {
				width: 60% !important;
		}
		.w-65-sp {
				width: 65% !important;
		}
		.w-70-sp {
				width: 70% !important;
		}
		.w-75-sp {
				width: 75% !important;
		}
		.w-80-sp {
				width: 80% !important;
		}
		.w-85-sp {
				width: 85% !important;
		}
		.w-90-sp {
				width: 90% !important;
		}
		.w-95-sp {
				width: 95% !important;
		}
		.w-100-sp {
				width: 100% !important;
		}
}
.mt-0 {
		margin-top: 0 !important;
}

.mb-0 {
		margin-bottom: 0 !important;
}

.ml-0 {
		margin-left: 0 !important;
}

.mr-0 {
		margin-right: 0 !important;
}

.mx-auto {
		margin-inline: auto !important;
}

.pt-0 {
		padding-top: 0 !important;
}

.pb-0 {
		padding-bottom: 0 !important;
}

.pl-0 {
		padding-left: 0 !important;
}

.pr-0 {
		padding-right: 0 !important;
}

.mt-xs {
		margin-top: 8px !important;
}

.mb-xs {
		margin-bottom: 8px !important;
}

.ml-xs {
		margin-left: 8px !important;
}

.mr-xs {
		margin-right: 8px !important;
}

.pt-xs {
		padding-top: 8px !important;
}

.pb-xs {
		padding-bottom: 8px !important;
}

.pl-xs {
		padding-left: 8px !important;
}

.pr-xs {
		padding-right: 8px !important;
}

.mt-sm {
		margin-top: 16px !important;
}

.mb-sm {
		margin-bottom: 16px !important;
}

.ml-sm {
		margin-left: 16px !important;
}

.mr-sm {
		margin-right: 16px !important;
}

.pt-sm {
		padding-top: 16px !important;
}

.pb-sm {
		padding-bottom: 16px !important;
}

.pl-sm {
		padding-left: 16px !important;
}

.pr-sm {
		padding-right: 16px !important;
}

.mt-md {
		margin-top: 32px !important;
}

.mb-md {
		margin-bottom: 32px !important;
}

.ml-md {
		margin-left: 32px !important;
}

.mr-md {
		margin-right: 32px !important;
}

.pt-md {
		padding-top: 32px !important;
}

.pb-md {
		padding-bottom: 32px !important;
}

.pl-md {
		padding-left: 32px !important;
}

.pr-md {
		padding-right: 32px !important;
}

.mt-lg {
		margin-top: 48px !important;
}

.mb-lg {
		margin-bottom: 48px !important;
}

.ml-lg {
		margin-left: 48px !important;
}

.mr-lg {
		margin-right: 48px !important;
}

.pt-lg {
		padding-top: 48px !important;
}

.pb-lg {
		padding-bottom: 48px !important;
}

.pl-lg {
		padding-left: 48px !important;
}

.pr-lg {
		padding-right: 48px !important;
}

.mt-xl {
		margin-top: 64px !important;
}

.mb-xl {
		margin-bottom: 64px !important;
}

.ml-xl {
		margin-left: 64px !important;
}

.mr-xl {
		margin-right: 64px !important;
}

.pt-xl {
		padding-top: 64px !important;
}

.pb-xl {
		padding-bottom: 64px !important;
}

.pl-xl {
		padding-left: 64px !important;
}

.pr-xl {
		padding-right: 64px !important;
}

@media screen and (max-width: 767px) {
		.mt-xs-sp {
				margin-top: 8px !important;
		}
		.mb-xs-sp {
				margin-bottom: 8px !important;
		}
		.ml-xs-sp {
				margin-left: 8px !important;
		}
		.mr-xs-sp {
				margin-right: 8px !important;
		}
		.pt-xs-sp {
				padding-top: 8px !important;
		}
		.pb-xs-sp {
				padding-bottom: 8px !important;
		}
		.pl-xs-sp {
				padding-left: 8px !important;
		}
		.pr-xs-sp {
				padding-right: 8px !important;
		}
		.mt-sm-sp {
				margin-top: 16px !important;
		}
		.mb-sm-sp {
				margin-bottom: 16px !important;
		}
		.ml-sm-sp {
				margin-left: 16px !important;
		}
		.mr-sm-sp {
				margin-right: 16px !important;
		}
		.pt-sm-sp {
				padding-top: 16px !important;
		}
		.pb-sm-sp {
				padding-bottom: 16px !important;
		}
		.pl-sm-sp {
				padding-left: 16px !important;
		}
		.pr-sm-sp {
				padding-right: 16px !important;
		}
		.mt-md-sp {
				margin-top: 32px !important;
		}
		.mb-md-sp {
				margin-bottom: 32px !important;
		}
		.ml-md-sp {
				margin-left: 32px !important;
		}
		.mr-md-sp {
				margin-right: 32px !important;
		}
		.pt-md-sp {
				padding-top: 32px !important;
		}
		.pb-md-sp {
				padding-bottom: 32px !important;
		}
		.pl-md-sp {
				padding-left: 32px !important;
		}
		.pr-md-sp {
				padding-right: 32px !important;
		}
		.mt-lg-sp {
				margin-top: 48px !important;
		}
		.mb-lg-sp {
				margin-bottom: 48px !important;
		}
		.ml-lg-sp {
				margin-left: 48px !important;
		}
		.mr-lg-sp {
				margin-right: 48px !important;
		}
		.pt-lg-sp {
				padding-top: 48px !important;
		}
		.pb-lg-sp {
				padding-bottom: 48px !important;
		}
		.pl-lg-sp {
				padding-left: 48px !important;
		}
		.pr-lg-sp {
				padding-right: 48px !important;
		}
		.mt-xl-sp {
				margin-top: 64px !important;
		}
		.mb-xl-sp {
				margin-bottom: 64px !important;
		}
		.ml-xl-sp {
				margin-left: 64px !important;
		}
		.mr-xl-sp {
				margin-right: 64px !important;
		}
		.pt-xl-sp {
				padding-top: 64px !important;
		}
		.pb-xl-sp {
				padding-bottom: 64px !important;
		}
		.pl-xl-sp {
				padding-left: 64px !important;
		}
		.pr-xl-sp {
				padding-right: 64px !important;
		}
}
@media screen and (max-width: 767px) {
		.mt-0-sp {
				margin-top: 0 !important;
		}
		.mb-0-sp {
				margin-bottom: 0 !important;
		}
		.ml-0-sp {
				margin-left: 0 !important;
		}
		.mr-0-sp {
				margin-right: 0 !important;
		}
		.pt-0-sp {
				padding-top: 0 !important;
		}
		.pb-0-sp {
				padding-bottom: 0 !important;
		}
		.pl-0-sp {
				padding-left: 0 !important;
		}
		.pr-0-sp {
				padding-right: 0 !important;
		}
}
span[class*=mt-],
span[class*=mb-],
span[class*=ml-],
span[class*=mr-] {
		display: inline-block;
}

.list-note li {
		text-indent: -1em;
		padding-left: 1em;
}

.text-upper {
		position: relative;
		display: inline-block;
		padding: 0 16px;
}
.text-upper::before, .text-upper::after {
		position: absolute;
		top: 2px;
		bottom: 0;
		content: "";
		display: inline-block;
		width: 0px;
		height: 80%;
		border-left: 2px solid currentColor;
		margin: auto;
}
.text-upper::before {
		left: 0;
		transform: rotate(-24deg);
}
.text-upper::after {
		right: 0;
		transform: rotate(24deg);
}

.list-disk > li {
		position: relative;
		padding-left: 1em;
		margin-bottom: 4px;
}
.list-disk > li::before {
		content: "";
		position: absolute;
		top: 0.6666em;
		left: 0.2em;
		display: inline-block;
		background: #333;
		border-radius: 6px;
		width: 6px;
		height: 6px;
}
.list-disk > li *:last-child {
		margin-bottom: 0;
}

.number-circle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 32px;
		height: 32px;
		font-size: 16px;
		font-weight: 700;
		color: #222;
		text-align: center;
		margin-right: 8px;
		padding-left: 0.04em;
		border-radius: 50%;
		background-color: #eee;
}

.v-middle {
		vertical-align: middle;
		display: inline-block;
}

footer {
		padding: 32px 12px 0;
		background: #f5f5f5;
}
footer .copyright {
		font-size: 14px;
		text-align: center;
		width: calc(100% + 24px);
		margin-left: -12px;
		margin-bottom: 0;
		padding: 16px;
		background: #e8e8e8;
}
@media screen and (max-width: 767px) {
		footer .copyright {
				font-size: 12px;
		}
}

.sns {
		border-radius: 8px;
		margin-block: 24px;
}
.sns .sns-label {
		font-size: 14px;
		font-weight: 700;
		margin-bottom: 10px;
}
.sns .sns-list {
		display: flex;
		margin-bottom: 0;
}
.sns .sns-list li + li {
		margin-left: 16px;
}
.sns .sns-list li img {
		vertical-align: middle;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, figure {
		margin: 0;
		padding: 0;
}

table {
		border-collapse: collapse;
		border-spacing: 0;
}

fieldset, img {
		border: 0;
		vertical-align: top;
}

address, caption, cite, code, dfn, em, strong, th, var {
		font-style: normal;
		font-weight: normal;
}

ol, ul {
		list-style: none;
}

caption, th {
		text-align: left;
}

h1, h2, h3, h4, h5, h6 {
		font-size: 100%;
		font-weight: normal;
}

q:before, q:after {
		content: "";
}

abbr, acronym {
		border: 0;
}

hr {
		margin: 0;
		padding: 0;
		border: none;
}

*, *::before, *::after {
		box-sizing: border-box;
}

body {
		color: #333;
}

a:link {
		color: #333;
}

a:visited {
		color: #333;
		text-decoration: underline;
}

a:hover {
		color: #007dca;
}

a:active {
		text-decoration: none;
}

p {
		margin-bottom: 16px;
}

img {
		max-width: 100%;
		height: auto;
}

body {
		font-family: "Noto Sans JP", serif;
		-webkit-text-size-adjust: 100%;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
}