.l-container {
	max-width: 1200px;
	margin: 0 auto;
	/*padding: 0 20px;*/
}

.alp-section {
    padding: 80px 0;
}

.alp-section--hero {
    padding: 120px 0 100px;
}

.alp-section--cta {
    padding: 96px 0 120px;
}

.alp-container {
    width: min(100% - 40px, 960px);
    margin: 0 auto;
}


/*狭いコンテンツ幅*/
.l-container--narrow {
	max-width: 920px;
}

/* =========================================================
   Page top
========================================================= */

.alp-page-top {
	position: fixed;
	right: 28px;
	bottom: 28px;
	z-index: 100;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 52px;
	height: 52px;

	padding: 0;
	border: 1px solid #0b2b50;
	border-radius: 50%;

	background: #0b2b50;
	color: #fff;

	font-size: 1.25rem;

	cursor: pointer;

	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);

	transition:
		opacity 0.3s ease,
		visibility 0.3s ease,
		transform 0.3s ease,
		background-color 0.25s ease;
}

.alp-page-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.alp-page-top:hover,
.alp-page-top:focus-visible {
	background: #a52a2a;
	border-color: #a52a2a;
}

@media (max-width: 768px) {

	.alp-page-top {
		right: 16px;
		bottom: 80px;

		width: 46px;
		height: 46px;
	}

}


/* =========================================================
   ログイン後の購入済案内画面用
========================================================= */
.eaa-already-purchased {
  margin-top: 32px;
  padding: 28px 30px;
  border: 1px solid #dce4ee;
  border-radius: 10px;
  background: #f8fafc;
  max-width: 620px;
}

.eaa-already-purchased p {
  margin: 0 0 10px;
  line-height: 1.8;
}

.eaa-already-purchased strong {
  font-size: 18px;
  color: #0d345f;
}

.eaa-already-purchased-button {
  display: inline-block;
  margin-top: 8px;
  padding: 12px 26px;
  border-radius: 7px;
  background: #0d345f;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
}

.eaa-already-purchased-button:hover {
  opacity: .88;
  color: #fff;
}

.eaa-already-purchased p {
	color: #111;
	font-size: 1.05rem;
}
