@charset "UTF-8";
/* CSS INDEX for TOP page */

main {
	box-sizing: border-box;
}

div#bg-blue {
	background-color: var(--background-blue);
}

div#bg-blue .inner {
	width: 920px;
	margin: 0 auto;
	padding: 74px 0;
}

div.bonusBox {
	background-color: var(--background-blue);
	padding: 30px;
}

.main_img {
	width: 320px;
	margin-top: 55px;
}

.tone-general_main .flexbox {
	display: flex;
	justify-content: space-between;
}

@media screen and (max-width:869px) {
	.tone-general_main .flexbox {
		display: flex;
		flex-direction: column;
	}
}

/*----------テキスト----------*/

.txt_page_category {
	margin-bottom: 0;
}

h1.txt_h1 {
	font-size: 42px;
	line-height: 68px;
	margin: 45px 0 0;
	text-align: left;
}

.t-point_title_wrap{
	display: flex;
	flex-direction: column;
	gap: 16px;
}

h2.t-point_title {
	margin-bottom: 24px;
	padding-bottom: 10px;
	font-size: 28px;
	line-height: 30px;
	text-align: left;
	border-bottom: 2px solid var(--black);
	letter-spacing: 0.1em;
}

h2 span.small {
	font-size: 20px;
}

#what h1.t-point_title {
	margin-top: 0;
}

h3.t-point_title {
	padding: 10px 20px;
	font-size: 20px;
	line-height: 30px;
	text-align: left;
	background-color: #fff;
	letter-spacing: 0.1em;
}

p.t-point_txt {
	font-size: 16px;
	line-height: 1.7;
	color: #333333;
}

p.t-point_txt strong {
	font-weight: bold;
}

p.t-point_txt-blue {
	font-size: 16px;
	line-height: 1.7;
	font-weight: bold;
	color: var(--primary);
}

p.t-point_txt-inner {
	padding-left: 1em;
	font-size: 16px;
	line-height: 1.7;
	color: #333333;
}


div.bonusBox .title {
	font-size: 18px;
	font-weight: bold;
	line-height: 18px;
	padding-bottom: 16px;
	border-bottom: 2px dashed #555555;
	color: #333;
}

div.bonusBox .txt {
	font-size: 15px;
	margin-top: 20px;
	line-height: 1.7;
	color: #333;
}

div.supportBox {
	width: 680px;
	padding: 20px 0;
	border: 2px dashed #555555;
	margin: 29px auto 0;
}

div.supportBox p {
	color: #333;
	text-align: center;
	font-size: 16px;
	line-height: 2;
}


.text-notes {
	font-size: 12px;
	line-height: 1.5;
	padding-left: 1.4em;
	text-indent: -1.4em;
	margin-top: 8px;
	color: #7f7f7f;
}

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


/*----------ボタン----------*/

.tokutenBox {
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
}

#tokuten01,
#tokuten02,
#tokuten03,
#how {
	margin-top: -8px;
	padding-top: 8px;
}

.point-btn img {
	width: 440px;
	height: auto;
}

ul.tokutenBox a:hover {
	opacity: 0.75;
}

.HowBtn-p {
	text-align: left;
}

.HowBtn-a {
	text-align: center;
	display: inline-block;
	color: var(--primary);
	font-size: 16px;
	font-weight: bold;
	text-decoration: none;
	line-height: 1.4;
	padding: 15px 60px 15px 45px;
	border: 1px solid var(--primary);
	background: url(/assets/img/commons/blue_btn.png) no-repeat 90% 50% #fff;
}

.HowBtn-a:hover {
	color: #fff;
	text-decoration: none;
	border: 1px solid var(--primary);
	background: url(/assets/img/commons/blue_btn-ov.png) no-repeat 90% 50% var(--primary);
}


/*----------テーブル----------*/

dl.t-point_table {
	border: 1px solid #cccccc;
	display: table;
}

.t-point_table dt {
	display: table-cell;
	width: 217px;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	border-right: 1px solid #cccccc;
	border-top: 1px solid #cccccc;
	color: #333;
	background-color: #eaeaea;
	vertical-align: middle;
}

.t-point_table .row:first-of-type dt,
.t-point_table .row:first-of-type dd {
	border-top: none;
}

.t-point_table dd {
	display: table-cell;
	width: 660px;
	height: 45px;
	font-size: 14px;
	line-height: 24px;
	padding: 10px 20px;
	border-top: 1px solid #cccccc;
	color: #333;
	background-color: #fff;
	vertical-align: middle;
}

.t-point_table .row-top dt,
.t-point_table .row-top dd {
	border-top: 0;
}



.SpOnly {
	display: none;
}

/* confirmation */
#confirmation {
	display: flex;
	flex-direction: column;
	gap: 32px;
	background-color: var(--background-yellow);
	border-radius: 32px;
	padding: 48px 32px;
}

.confirmation_section_ttl {
	text-align: center;
	font-size: 28px;
	font-weight: bold;
	color: var(--secondary);
}

.confirmation_contents h4 {
	margin-bottom: 12px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.3;
}

.confirmation_step_wrap {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.confirmation_step_ttlbox {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 12px;
	text-align: center;

}

.point,
.step {
	display: block;
	width: fit-content;
	font-weight: bold;
	padding: 8px 32px;
	border-radius: 8px;
	background-color: var(--primary);
	color: var(--white);
	line-height: 1.5;
	text-align: center;
	letter-spacing: 0.1rem;
}

.step {
	margin: auto;
}

.confirmation_step_ttlbox .step::after {
	content: "";
	position: absolute;
}

.confirmation_step_ttlbox .confirmation_step_ttl {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.5;
}

.confirmation_step_wrap .flexbox {
	width: 100%;
	display: flex;
}

.jc-spaceBetween {
	justify-content: space-between;
}

.jc-center {
	justify-content: center;
}

.confirmation_step_box {
	display: flex;
	max-width: 400px;
	width: 100%;
	padding: 16px 24px;
	flex-direction: column;
	align-items: center;
	gap: 19px;
	align-self: stretch;
	border-radius: 12px;
	background: var(--white);
	box-sizing: border-box;
}


/*----------SP----------*/

@media screen and (max-width:869px) {
	.PcOnly {
		display: none;
	}

	.SpOnly {
		display: block;
	}

	.tone-general_main {
		margin-bottom: 0;
		padding: 0;
	}

	.tone-general_main .pull-left {
		float: none;
	}

	.tone-general_main .pull-left br {
		display: none;
	}

	div#bg-blue {
		margin-top: 45px;
	}

	div#bg-blue .inner {
		width: 91%;
	}

	div.bonusBox {
		width: 91%;
		padding: 16px;
	}

	.main_img {
		width: 75%;
		margin: 45px auto;
		float: none;
		text-align: center;
	}

	/*----------テキスト----------*/

	.txt_page_category {
		margin-top: 16px;
	}

	h1.txt_h1 {
		font-size: 30px;
		line-height: 50px;
		margin-top: 29px;
	}

	h2.t-point_title {
		margin-bottom: 29px;
		font-size: 18px;
		line-height: 1.3;
	}

	h4 span.small {
		font-size: 15px;
	}

	#what h2.t-point_title {
		margin-top: 0;
	}

	h5.t-point_title {
		padding: 8px 12px;
		font-size: 16px;
		line-height: 32px;
	}

	p.t-point_txt {
		font-size: 14px;
	}

	p.t-point_txt-blue {
		font-size: 14px;
	}

	p.t-point_txt-inner {
		padding-left: 0;
		font-size: 14px;
	}

	div.bonusBox .title {
		font-size: 14px;
		line-height: 14px;
		padding-bottom: 10px;
	}

	div.bonusBox .txt {
		font-size: 13px;
		margin-top: 16px;
	}

	div.supportBox {
		width: 89%;
		padding: 20px 0;
		margin: 29px 16px 0 16px;
	}

	div.supportBox p {
		font-size: 14px;
		line-height: 2;
	}

	.text-notes {
		line-height: 1.8;
	}



	/*----------ボタン----------*/

	ul.tokutenBox li a {
		float: none;
		margin-left: 0;
		width: 100%;
	}

	ul.tokutenBox li:nth-of-type(3) {
		margin-right: 0;
	}

	#tokuten01,
	#tokuten02,
	#tokuten03,
	#how {
		margin-top: -8px;
		padding-top: 8px;
	}

	.HowBtn-p {
		text-align: center;
	}

	.HowBtn-a {
		padding: 15px 45px 15px 30px;
		background: url(/assets/img/commons/blue_btn.png) no-repeat 92% 50% #fff;
	}

	.HowBtn-a:hover {
		background: url(/assets/img/commons/blue_btn-ov.png) no-repeat 92% 50% var(--primary);
	}


	/*----------テーブル----------*/

	dl.t-point_table {
		border: 0;
		display: block;
	}

	dl.t-point_table .row-top {
		border: 1px solid #cccccc;
	}

	dl.t-point_table .row {
		border: 1px solid #cccccc;
		margin-top: 10px;
	}

	.t-point_table dt {
		display: block;
		width: 100%;
		line-height: 20px;
		padding: 10px 0;
		border-top: 0;
		border-right: 0;
	}

	.t-point_table dd {
		display: block;
		width: 100%;
		height: auto;
		font-size: 14px;
		line-height: 21px;
		padding: 10px;
		border-top: 0;
	}

	/* confirmation */
	#confirmation {
		padding: 40px 24px;
	}

	.confirmation_section_ttl {
		font-size: 24px;
	}

	.confirmation_step_ttlbox {
		flex-direction: column;
		gap: 6px;
	}

	.confirmation_step_ttlbox .confirmation_step_ttl {
		font-size: 20px;
	}

	.confirmation_step_wrap .flexbox {
		flex-direction: column;
		gap: 24px;
	}

	.confirmation_step_wrap.spacer_top-md {
		margin-top: 64px;
	}


	#footer #footer-links {
		margin-top: 0;
	}
}