@charset "utf-8";

/* ====================
reset
==================== */
.sc-container {
	background: #ffffff;
}
.sc-container, .sc-container div, 
.sc-container ul, .sc-container ol, .sc-container li,
.sc-container h1, .sc-container h2, .sc-container h3, .sc-container h4,
.sc-container p, .sc-container span {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.sc-container img {
	border: 0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.sc-container li {
	list-style: none;
}

.sc-container h1, .sc-container h2,
.sc-container h3, .sc-container h4 {
	font-size: 100%;
	font-weight: normal;
	border: none;
}

.sc-container dl {
	font-size: 0;
}

button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

/* ====================
***
==================== */
.sc-container {
	width: 100%;
	margin: 57px auto;
	background: #ffffff;
	color: #333333;
	font-size: 16px;
	font-family: "Noto Sans JP","Yu Gothic Medium","Yu Gothic","YuGothic","Meiryo","Hiragino Kaku Gothic ProN","Hiragino Sans",sans-serif;
	line-height: 2;
	overflow: hidden;
	padding-bottom: 82px;
}

.sc-container strong {
	font-weight: bold;
}

.sc-container a,
.sc-container a:link,
.sc-container a:visited,
.sc-container a:active {
	text-decoration: none;
}

.sc-container a {
	-webkit-transition: .4s;
	transition: .4s;
}

.sc-container a:hover {
	opacity: 0.8;
	text-decoration: none;
}

#page-top a {
	background: url(../img/btn_pagetop.png) left top;
	width: 100px;
	height: 100px;
	display: block;
	-webkit-transition: .4s;
	transition: .4s;
}

#page-top a:hover {
	opacity: 0.9;
}

/* ====================
breadcrumb-wrap
==================== */
.breadcrumb-wrap {
	padding-top: 0;
}

/* ====================
keyv-area
==================== */
.sc-container .keyv-area {
	width: 100%;
	margin: 0 auto;
	position: relative;
}
.sc-container .keyv-area::before {
	content: "";
	position: absolute;
	inset: 0;
	/* background: none; */
	background: linear-gradient(90deg, #ffff00 0%, #ffff00 50%, #2aabe4 50%, #2aabe4 100%);
	z-index: 0;
}
.sc-container .keyv-image {
	width: 1000px;
	height: 480px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}


/* ====================
lead
==================== */
.sc-container .lead {
	width: 100%;
	padding-top: 50px;
}
.sc-container .lead-catch {
	font-size: 26px;
	line-height: calc(40 / 26);
	text-align: center;
	font-weight: 700;
}
.sc-container .lead-title {
	font-size: 36px;
	line-height: calc(48 / 36);
	text-align: center;
	font-weight: 700;
	color: #2aabe4;
	padding-top: 6px;
}

.sc-container .lead-text {
	text-align: center;
	padding-top: 17px;
	font-size: 18px;
	line-height: calc(34 / 18);
}
.sc-container .attention {
	background: -webkit-linear-gradient(rgba(255, 240, 1, 1), rgba(255, 240, 1, 1)) 0 100%/100% 30% no-repeat;
	background: linear-gradient(rgba(255, 240, 1, 1), rgba(255, 240, 1, 1)) 0 100%/100% 30% no-repeat;
}

/* ====================
button
==================== */
.sc-container .button-area {
	width: 100%;
	padding-top: 62px;
}
.sc-container .entry-button {
	width: 420px;
	margin: 0 auto;
}
.sc-container .entry-button-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 420px;
	height: 70px;
	border-radius: 70px;
	background: #2aabe4;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	color: #ffffff;
	position: relative;
}
.sc-container .entry-button-link::after {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	border-top: solid 2px #ffffff;
	border-right: solid 2px #ffffff;
	transform: rotate(45deg);
	position: absolute;
	top: calc(50% - 5px);
	right: 43px;
}
.sc-container .entry-button-link.first {
	position: relative;
}
.sc-container .entry-button-link.first::before {
	content: "";
	display: block;
	background: url(../img/bg_first_pc.png) no-repeat center center;
	background-size: contain;
	width: 120px;
	height: 37px;
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
}
.sc-container .entry-text {
	text-align: center;
	padding-top: 12px;
	font-size: 16px;
	line-height: calc(30 / 16);
}
.sc-container .button-area2 {
	width: 100%;
	padding-top: 120px;
}
.sc-container .login-button {
	width: 360px;
	margin: 0 auto;
	padding-top: 44px;
}
.sc-container .login-button-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 360px;
	height: 60px;
	border-radius: 70px;
	border: solid 2px #c9c9c9;
	background: #ffffff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	position: relative;
}
.sc-container .login-button-link::after {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	border-top: solid 2px #333333;
	border-right: solid 2px #333333;
	transform: rotate(45deg);
	position: absolute;
	top: calc(50% - 5px);
	right: 41px;
}
.sc-container .login-text {
	text-align: center;
	padding-top: 12px;
	font-size: 16px;
	line-height: calc(30 / 16);
	color: #e4007f;
}
/* ====================
section
==================== */
.sc-container .section {
	text-align: center;
}
.sc-container .section-title-wrapper {
	position: relative;
	display: inline-block;
	z-index: 0;
	width: 330px;
	margin: 0 auto;
	padding: 0 0 20px;
	border-bottom: solid 4px #2aabe4;
	text-align: center;
}
.sc-container .section-title-wrapper::before,
.sc-container .section-title-wrapper::after {
	display: block;
	position: absolute;
	right: calc(50% - 12px);
	border-right: 12px solid transparent;
	border-left: 12px solid transparent;
	content: "";
}
.sc-container .section-title-wrapper::before {
	bottom: -13px;
	border-top: 13px solid #2aabe4;
}
.sc-container .section-title-wrapper::after {
	bottom: -9px;
	border-top: 13px solid #ffffff;
}
.sc-container .section-title-catch {
	position: absolute;
	z-index: 1;
	top: -34px;
	left: -40px;
}
.sc-container .section-title {
	color: #2aabe4;
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	letter-spacing: 0.06em;
	position: relative;
}


/* ====================
coupon
==================== */
.sc-container .coupon {
	margin: 0;
	padding-top: 111px;
	width: 100%;
}

.sc-container .coupon-code-area {
	width: 100%;
	background-color: #2aabe4;
	padding-top: 40px;
	padding-bottom: 40px;
	margin-top: 40px;
}
.sc-container .coupon-code-box {
	width: 1120px;
	margin: 0 auto;
	padding: 0;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	column-gap: 40px;
}
.sc-container .coupon-item {
	width: 540px;
	border-radius: 10px;
	background-color: #ffffff;
	padding-bottom: 40px;
}
.sc-container .coupon-catch {
	font-size: 18px;
	font-weight: 700;
	line-height: calc(28 / 18);
	text-align: center;
	padding: 17px 0;
	background-color: #ffff00;
	border-top-right-radius: 10px;
	border-top-left-radius: 10px;
}
.sc-container .coupon-catch span {
	font-size: 14px;
}
.sc-container .coupon-title {
	font-family: "Open Sans", sans-serif;
	font-size: 32px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	padding-top: 27px;
}
.sc-container .coupon-code-sub {
	font-size: 18px;
	line-height: 1;
	text-align: center;
	padding-top: 23px;
}
.sc-container .coupon-code-main {
	font-family: "Open Sans", sans-serif;
	font-size: 40px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.05em;
	text-align: center;
	padding-top: 14px;
}
.sc-container .coupon-note {
	font-size: 16px;
	line-height: 1;
	text-align: center;
	padding-top: 9px;
}
.sc-container .coupon-btn {
	width: 360px;
	height: 60px;
	margin: 32px auto 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 60px;
	background-color: #2aabe4;
	color: #ffff00;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	position: relative;
	cursor: pointer;
	transition: .4s;
}
.sc-container .coupon-btn:hover {
	opacity: 0.8;
}
.sc-container .coupon-btn::before {
	content: "";
	display: block;
	background: url(../img/icon_copy_pc.png) no-repeat center center;
	background-size: contain;
	width: 15px;
	height: 18px;
	position: absolute;
	left: 30px;
	top: 50%;
	transform: translateY(-50%);
}
.sc-container .coupon-note-text {
	font-size: 16px;
	line-height: 1;
	text-align: center;
	padding-top: 19px;
}


/* ====================
step
==================== */
.sc-container .step {
	margin: 0;
	padding-top: 118px;
	background-color: #ffffff;
}

.sc-container .step-list {
	width: 900px;
	margin: 40px auto 0;
}
.sc-container .step-list-item {
	width: 900px;
	height: 60px;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	position: relative;
}
.sc-container .step-list-item:not(:first-child) {
	margin-top: 30px;
}
.sc-container .step-list-item:not(:last-child)::after {
	position: absolute;
	content: "";
	display: block;
	background: url(../img/arrow_step.png) no-repeat;
	width: 14px;
	height: 12px;
	background-size: contain;
	bottom: -21px;
	left: calc(50% - 7px);
}
.sc-container .step-list-number {
	width: 187px;
	background-color: #2aabe4;
	font-family: "Open Sans", sans-serif;
	color: #ffff00;
	font-size: 20px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	border-top-left-radius: 6px;
	border-bottom-left-radius: 6px;
}
.sc-container .step-list-number::after {
	position: absolute;
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 30px solid transparent;
	border-bottom: 30px solid transparent;
	border-left: 12px solid #2aabe4;
	border-right: 0;
	right: -15px;
}
.sc-container .step-list-text {
	width: calc(900px - 187px);
	background-color: #ffffff;
	font-size: 18px;
	display: flex;
	align-items: center;
	padding-left: 70px;
	border-top-right-radius: 6px;
	border-bottom-right-radius: 6px;
	/* border: 3px solid #2aabe4; */
	box-shadow: inset 0 0 0 3px #2aabe4;
}
.sc-container .step-note-list {
	width: 900px;
	margin: 23px auto 0;
}
.sc-container .step-note-list-item {
	font-size: 16px;
	padding-left: 1.25em;
	text-indent: -1.25em;
}

/* ====================
note
==================== */
.sc-container .note {
	width: 100%;
	margin: 120px auto 0;
	padding-top: 19px;
	padding-bottom: 30px;
	background-color: #f3f3f3;
}
.sc-container .note-title {
	position: relative;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-align: center;
}
.sc-container .note-list {
	width: 900px;
	margin: 0 auto;
}
.sc-container .note-list-item {
	line-height: 2;
	text-indent: -1.25em;
	padding-left: 1.25em;
}

