.main-visual {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.content-inner {
	margin: 20px auto 40px;
	width: 850px;
	padding-right: var(--bs-gutter-x, 0.75rem);
	padding-left: var(--bs-gutter-x, 0.75rem);
	margin-right: auto;
	margin-left: auto;
}

@media (max-width: 640px) {
	.content-inner {
		margin: 0 auto 40px;
		width: 90%;
	}
}

a.cta-button,
.event-copy h2,
.event-copy p,
.event-point h2,
.event-point h3,
.event-point h4,
.event-point h5,
.event-point p {
	font-family: "游ゴシック体", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", "Osaka", "ＭＳ Ｐゴシック", "MS P Gothic", "Arial", sans-serif;
}

.event-copy {
	padding-top: 2em;
	font-size: 22px;
}

.event-copy .event-copy__title,
.event-copy .event-copy__lead {
	font-size: 28px;
	color: #b1171d;
	font-weight: bold;
	line-height: 1.4;
	padding-top: 0.5em;
}

@media only screen and (max-width:640px) {
	.event-copy {
		padding-top: 0;
		font-size: 18px;
	}

	.event-copy .event-copy__title,
	.event-copy .event-copy__lead {
		font-size: 22px;
		padding-top: 0.5em;
	}
}

.event-copy .event-copy__desc strong {
	font-weight: bold;
	color: #b1171d;
}

.event-copy .event-copy__period {
	border: 1px solid #000;
	padding: 10px;
	margin-top: 40px;
	margin-bottom: 100px;
}

@media (max-width: 640px) {
	.event-copy .event-copy__period {
		margin-top: 20px;
		margin-bottom: 80px;
	}
}

.event-point h3 {
	font-size: 22px;
	font-weight: 600;
}

.event-point h4 {
	font-size: 18px;
	font-weight: 600;
}

.event-point__box--dannetsu,
.event-point__box--seishin {
	margin-bottom: 20px;
}

.event-point__intro {
	margin-bottom: 12px;
}

.event-point__intro--dannetsu .event-point__header {
	background-color: #5a1115;
}

.event-point__intro--seishin .event-point__header {
	background-color: #001a39;
}

.event-point__header {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 15px;
}

@media (max-width: 640px) {
	.event-point__header {
		display: block;
	}
}

.event-point__header h3 {
	color: #fff;
	font-size: 2.6rem;
	padding-right: 1rem;
}

.event-point__subtitle {
	color: #fff;
	font-size: 1.1rem;
}

.event-point__item {
	padding: 15px 0;
}

.event-point__heading {
	padding: 3px 0;
	margin: 5px 0;
}

.dannetsu .event-point__heading {
	background-color: #b1171d;
	color: #fff;
}

.seishin .event-point__heading {
	background-color: #1417d4ff;
	color: #fff;
}

.event-point__row {
	margin-bottom: 120px;
}

@media (max-width: 640px) {
	.event-point__row {
		margin-bottom: 80px;
	}
}

p.event-point__text {
	line-height: 1.4;
}

.event-point__note {
	border: 2px solid #808080;
	padding: 10px;
	border-radius: 5px;
	margin-top: 10px;
}

.event-point__box--dannetsu .event-point__note {
	border: 2px solid #5a1115;
}

.event-point__box--seishin .event-point__note {
	border: 2px solid #162980;
}

.event-point__note p {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
}

.event-point__row h3.event-point__section-title {
	font-size: 26px;
	color: #b1171d;
	padding-bottom: 20px;
}

.event-point__row--bg {
	background-color: #f1f0ed;
	padding: 2rem 1rem;
	border-radius: 12px;
	margin-bottom: 2rem;
}

.event-point__feature {
	border: 1px solid #bdbdbd;
	padding-top: 1rem;
	border-radius: 10px;
}

.event-point__feature h4 {
	font-size: 24px;
}

h4.event-point__compare-heading {
	font-size: 20px;
}

.event-point__feature h5 {
	font-size: 20px;
	font-weight: 600;
}

.event-point__feature-head {
	margin-bottom: 1.5rem;
}

.event-point__feature-heading {
	background-color: rgb(214, 200, 135);
	color: #b1171d;
	padding: 5px;
}

.event-point__feature-title {
	padding: 15px 0;
	line-height: 1.4;
}

.event-point__feature-title span {
	font-size: 20px;
}

.event-point__feature-text {
	padding: 10px 0 20px 0;
}

p.event-point__section-lead {
	font-size: 18px;
	padding-bottom: 20px;
}

.event-point__plus {
	text-align: center;
	font-size: 4rem;
	font-weight: 700;
	color: #b1171d;
	padding: 15px 0;
	line-height: 1;
}

.event-present {
	color: #b1171d;
	font-weight: 600;
}

.event-point__feature-set--bg {
	background-color: #e9f0f3;
	padding: 2rem 1rem;
	border-radius: 12px;
	margin-bottom: 2rem;
}

.event-point__section-title--feature {
	font-size: 28px;
	color: #292929;
	text-align: center;
	margin-bottom: 1rem;
}

.event-point__section-lead--feature {
	font-size: 17px;
	line-height: 1.8;
	color: #333;
	margin-bottom: 2rem;
}

h4.event-point__feature-subtitle {
	font-size: 26px;
	padding-bottom: 1em;
}

.event-point__feature-set .event-point__feature-heading {
	background-color: #fff;
	border: 2px solid #b1171d;
	border-radius: 10px;
}

.event-point__feature-set h5.event-point__feature-heading {
	font-size: 20px;
	font-weight: 600;
	color: #333;
}

p.event-point__feature-text {
	text-align: left;
}

.event-point__lead-hero {
	font-size: 30px;
	font-weight: 700;
	line-height: 1.4;
	padding-bottom: 20px;
	margin: 0;
}

@media (max-width: 640px) {
	.event-point__lead-hero {
		font-size: 28px;
	}
}

.event-point__equation {
	margin: 8px 0 0;
	padding: 20px 0;
}

.event-point__equation p {
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 0.8;
}

.event-point__equation-key {
	font-weight: 700;
	font-size: 2.2rem;
	padding: 0 0.2em;
	background: linear-gradient(transparent 65%,
			/* 上 65% は透明 */
			#ffeb3b 0%
			/* 残り 35% に黄色 */
		);
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

/* モディファイアで色分け */
.event-point__equation-key--dannetsu {
	color: #811414;
}

.event-point__equation-key--seishin {
	color: #162980;
}

.event-point__caption {
	text-align: left;
	margin: 0px 15px;
	padding: 8px 15px;
	line-height: 1.6;
	background-color: #3a8cad;
}

.event-point__caption p {
	font-size: 1rem;
	font-weight: bold;
	line-height: 1.4;
	color: #fff;
}

.event-point__closing p {
	font-size: 1.4rem;
	line-height: 1.4;
}

.dannetsu .event-point__cols .event-point__col .event-point__item p span {
	color: #b1171d;
	font-weight: bold;
}

.seishin .event-point__cols .event-point__col .event-point__item p span {
	color: #1417d4ff;
	font-weight: bold;
}

.event-note {
	margin: 40px 0;
	padding: 20px;
	background-color: #f9f9f9;
	border: 1px solid #ccc;
	border-radius: 5px;
}

.event-note__text {
	font-size: 1.1rem;
	line-height: 1.6;
	color: #333;
}

@media (max-width: 640px) {
	.event-note {
		margin: 30px 0;
		padding: 15px;
	}

	.event-note__text {
		font-size: 1rem;
	}
}

.row {
	--bs-gutter-x: 1.5rem;
	--bs-gutter-y: 0;
	display: flex;
	flex-wrap: wrap;
	margin-top: calc(var(--bs-gutter-y) * -1);
	margin-right: calc(var(--bs-gutter-x) * -.5);
	margin-left: calc(var(--bs-gutter-x) * -.5);
}

.row>* {
	flex-shrink: 0;
	width: 100%;
	max-width: 100%;
	padding-right: calc(var(--bs-gutter-x) * .5);
	padding-left: calc(var(--bs-gutter-x) * .5);
	margin-top: var(--bs-gutter-y);
	box-sizing: border-box;
}

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

/* 幅指定 */
.col-12 {
	flex: 0 0 auto;
	width: 100%;
}

.col-6 {
	flex: 0 0 auto;
	width: 50%;
}

@media (min-width: 640px) {
	.col-md-4 {
		flex: 0 0 auto;
		width: 33.33333333%;
	}

	.col-md-5 {
		flex: 0 0 auto;
		width: 41.66666667%;
	}

	.col-md-6 {
		flex: 0 0 auto;
		width: 50%;
	}

	.col-md-7 {
		flex: 0 0 auto;
		width: 58.33333333%;
	}

	.col-md-8 {
		flex: 0 0 auto;
		width: 66.66666667%;
	}

}

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

.p-1 {
	padding: 0.25rem !important;
}

.p-2 {
	padding: 0.5rem !important;
}