@charset "utf-8";


body {
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "A-OTF 新ゴ Pro", A-OTF Shin Go Pro, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 125%;
	/* 20px */
	line-height: 1.7;
	background: url(../images/bg.webp) center center / cover no-repeat;
	color: #333;
	font-feature-settings: "palt";
	text-align: justify;
}

h1 {
	height: 978px;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
	background: url(../images/header.webp) center center / auto auto no-repeat;
	text-indent: -9999px;
}

h2 {
	position: relative;
	display: flex;
	align-items: center;
	margin: 2.5em auto;
	padding: 2.5em 0;
	min-height: 320px;
	box-shadow: 0 0 5px rgba(0, 0, 0, 1);
	background: url(../images/bg_subhead.webp) center center / 100% auto no-repeat;
}

h2::before,
h2::after {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	height: 8px;
	background: url(../images/img_line.webp) center center / auto 100% repeat-x;
}

h2::before {
	top: 0;
	transform: rotate(180deg);
}

h2::after {
	bottom: 0;
}

img {
	display: block;
	margin: 0 auto;
	max-width: 100%;
}

h2 img {
    max-width: var(--optimal-width, 100%);
    height: auto;
}

.large {
	font-size: 120%;
}

.xlarge {
	font-size: 144%;
}

.xxlarge {
	font-size: 172.8%;
}

.small {
	font-size: 82.5%;
}

.xsmall {
	font-size: 62.5%;
}

.xxsmall {
	font-size: 56.25%;
}

.u {
	text-decoration: underline;
}

.red {
	color: red;
	color: #C00;
}

.blue {
	color: #00C;
}

.green {
	color: #0C0;
}

.highlight {
	background-color: #fff266;
}

.redhigh {
	color: red;
	color: #e62e8a;
	background-color: #fff266;
}

.img_right {
	float: right;
	margin: 0 -1em 0 0;
	width: 300px;
	box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
}

.img_center {
	margin: 0 auto 2em;
	width: 300px;
	box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
}

.check01 {
	display: inline-block;
	margin-top: 0.5em;
	padding-left: 2em;
	background: url("../images/check01.webp") left top / 1.2em 1.2em no-repeat;
	line-height: 1.4;
}

.tbonly,
.sponly {
	display: none;
}

.pconly {
	display: block;
}

strong {
	font-weight: bold;
}

#wrapper {
	margin: 0 auto;
	background: url("../images/bg_wrapper.webp") center center repeat-y;
}

footer {
	margin: 0 auto;
	padding: 2em 0;
	background: #222;
	color: #fff;
	text-align: center;
	font-size: smaller;
}

footer a {
	color: #fff;
	text-decoration: underline;
}

footer a:hover {}

address {
	font-style: normal;
}


/*
 *		common
 */

div[class^="con_"] {
	margin: 0 auto;
	width: 800px;
	max-width: 92vw;
}

section p {
	overflow: hidden;
}

/*
 *		特典
 */

.bonus {
	position: relative;
	margin: 0 auto;
	padding: 2.5em 0;
	background: url(../images/bg_bonus.webp) center center / cover no-repeat fixed;
}

.bonus::before /*,.bonus::after*/ {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 8px;
	background: url(../images/img_line.webp) center center / auto 100% repeat-x;
}

.bonus::before {
	top: 0;
	transform: rotate(180deg);
}


/* .bonus::after {
	bottom: 0;
} */

.bonus h2 {
	margin: 0 auto 1.5em;
	padding: 0;
	min-height: auto;
	box-shadow: none;
	background: none;
}

.bonus h2::before,
.bonus h2::after {
	content: none;
}

.wrap_bonus {
	margin: 0 auto;
	padding: 1.5em;
	width: 820px;
	max-width: 96vw;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
	background: #E0CC9B;
	background: linear-gradient(90deg, rgba(224, 204, 155, 1) 0%, rgba(250, 248, 200, 1) 50%, rgba(221, 182, 117, 1) 100%);
}


div.con_bonus {
	margin: 0 auto 1.5em;
	width: 100%;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
	background: #fff;
}

.con_bonus:last-of-type {
	margin-bottom: 0;
}

.con_bonus h3 {
	padding: 0 0 0.5em;
	background: url(../images/bg_shdbonus.webp) center top / 100% auto no-repeat;
}

.lb_bonus {
	margin: 0 auto 1em;
	padding: 0.5em 0;
	background: #000000;
	background: linear-gradient(90deg, rgba(0, 0, 0, 1) 0%, rgba(51, 51, 51, 1) 50%, rgba(0, 0, 0, 1) 100%);
}

.con_bonus p {
	padding: 30px;
	font-size: 1.2em;
}




/*
 *		free
 */

.free h2 {
	margin-top: 0;
}



/*
 *		lead
 */

.lead {
	position: relative;
	padding: 4em 0 2.5em;
	background: url(../images/bg_lead.webp) center bottom / cover no-repeat;
}

.lead::before {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	height: 8px;
	background: url(../images/img_line.webp) center center / auto 100% repeat-x;
}

.lead::before {
	top: 0;
	transform: rotate(180deg);
}


div.con_lead {
	margin: 0 auto;
	width: 1000px;
	max-width: 100vw;
	text-align: center;
	font-family: serif;
	font-size: 1.2em;
	font-weight: bold;
}

.lead+section h2 {
	margin-top: 0;
}





/*
 *		jisseki
 */

.jsk {
	padding-bottom: 2.5em;
}

.img_kanshajo {
	margin: 2.5em auto 1em;
}

.img_koza {
	margin: 1em auto;
}

.img_koka {
	margin: 1.5em auto 2.5em;
}

.con_jsk h3 {
	position: relative;
	display: flex;
    align-items: center;
	margin: 2.5em auto 1.5em;
}

.con_jsk h3::before,
.con_jsk h3::after {
	content: '';
    flex-grow: 1;
	height: 1px;
	background: #000;
}

.con_jsk h3 img {
	padding: 0 1em;
}






/*
 *		future
 */

 .future h2 {
	margin-top: 0;
 }

.con_future ul {
	position: relative;
	margin: 0 auto 2.5em;
	padding: 1.5em;
	max-width: 100%;
	border: 1.5em solid #f2f2f2;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
	background: #fff;
	list-style: none;
	z-index: 9999;
}

.con_future ul li {
	margin-top: 0.85em;
	padding-bottom: 0.5em;
	padding-left: 1.6em;
	border-bottom: 1px solid #CCC;
	background: url("../images/check01.webp") left 0.05em / 1em 1em no-repeat;
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.4;
}

.con_future ul li:first-of-type {
	margin-top: 0;
}

.con_future ul li:last-of-type {
	padding-bottom: 0;
	border-bottom: none;
}


/*
 *		chance
 */

.chance {
	padding: 0 0 2.5em;
}


/*
 *		ps
 */

.ps {
	padding: 0 0 2.5em;
}



/*
 *		form
 */

.form {
	position: relative;
	margin: 0 auto;
	padding: 2.5em 0;
	background: #00A6BF;
	background: linear-gradient(90deg, rgba(0, 166, 191, 1) 0%, rgba(115, 106, 178, 1) 100%);
}

.form::before/*,.form::after*/ {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	height: 8px;
	background: url(../images/img_line.webp) center center / auto 100% repeat-x;
}

.form::before {
	top: 0;
	transform: rotate(180deg);
}

.form::after {
	bottom: 0;
}

.shd_form {
	margin: 0 auto 2em;
}


.submit {
	margin: 1em auto 0;
	padding: 10px 0 40px;
	width: 920px;
	max-width: 96vw;
	border-radius: 0.5em;
	box-shadow: 0 0 5px rgba(0, 0, 0, 1);
	background: #fff;
}

.submit .btn {
	display: block;
	margin: 1em auto 0;
	max-width: 100%;
}

.deco {
	/* フォームの入力欄装飾用 */
	display: block;
	margin: 30px auto 0;
	margin-bottom: 20px;
	padding: 10px 6px 4px;
	width: 840px;
	max-width: 100%;
	height: 108px;
	border: 4px solid #1897c6;
	background: #fff;
	color: #1698c7;
	font-size: 1.5em;
	font-weight: bold;
	text-align: center;
}

.deco::placeholder {
	color: #AAA;
}

.btn {

	filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.5));

	animation-name: btn-animation-f;
	animation-iteration-count: infinite;
	animation-duration: 2s;
}

.btn:hover {
	animation-duration: 0.8s;
}

.cu_pre {
	margin: 1.5em auto;
	font-size: 87.5%;
	text-align: center;
}

.optin {
	margin: 1em auto 0;
	padding: 1em;
	width: 800px;
	max-width: 100%;
	height: 8em;
	background: #f5f5f5;
	color: #333;
	font-size: 75%;
	overflow: scroll;
}

@keyframes btn-animation-f {
	0% {
		transform: scale(1, 1)
	}

	20% {
		transform: scale(1.02, 1.02)
	}

	40% {
		transform: scale(1, 1)
	}

	60% {
		transform: scale(1.02, 1.02)
	}

	80% {
		transform: scale(1, 1)
	}

	85% {
		transform: skewX(10deg)
	}

	90% {
		transform: skewX(-10deg)
	}

	95% {
		transform: skewX(10deg)
	}

	100% {
		transform: skewX(-10deg)
	}
}



/***	常時表示ボタン設定	***/

.flbtn {
	display: none;
	position: fixed;
	bottom: 0.5em;
	right: 0.5em;
}

.flbtn a {
	display: block;
	width: 336px;
	height: 81px;
	background: url(../images/button.webp) no-repeat;
	background-size: 100%;
	text-indent: -9999px;

	animation-name: btn-animation;
	animation-iteration-count: infinite;
	animation-duration: 2s;
	animation-delay: 0.6s;

	filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.5));
}



@keyframes btn-animation {
	0% {
		transform: translateY(0.5em);
	}

	50% {
		transform: translateY(-0.5em);
	}

	100% {
		transform: translateY(0.5em);
	}
}





@media screen and (max-width: 767px) {
	/* .wrap_voice .con_text{
		margin-bottom: 20px;
	} */

	.con_voice {
		display: block;
	}
	
	.con_voice h3{
		margin-bottom: 15px;
		padding: 0 0 8px;
		/* font-size: 16px; */
	}

	.pic_voice{
		display: block;
		float: none;
		width: 100%;
		max-width: 200px;
		height: auto;
		margin: 0 auto 15px;
	}
	
	.tb_voice th,
	.tb_voice td{
		display: block;
		width: 100%;
		padding-bottom: 8px;
	}
	.tb_voice tr:first-child .th{
		padding-top: 0;
	}
	.tb_voice tr:first-child .td{
		padding-top: 0;
	}

	
	/* .tb_voice th{
		font-size: 15px;
	}
	.tb_voice td{
		font-size: 13px;
	} */

}


@media screen and (max-width: 1023px) {

	body {
		font-size: 4vw;
	}

	h1 {
		height: calc( 978 / 960 * 100vw );
		background: url(../images/header.webp) center center / auto 100% no-repeat;
	}

	h2 {
		align-items: center;
		margin: 6vw auto;
		padding: 6vw 0;
		min-height: calc( 320 /  1000 * 100vw );
		box-shadow: 0 0 5px rgba(0, 0, 0, 1);
		background: url(../images/bg_subhead.webp) center center / auto 100% no-repeat;
	}

	.pconly,
	.sponly {
		display: none;
	}

	.tbonly {
		display: block;
	}

	.xlarge {
		font-size: 125%;
	}

	.xxlarge {
		font-size: 150%;
	}

	.img_right {
		float: none;
		margin: 1em auto 1.5em;
	}


	.form {
		padding: 30px 0;
	}

	.deco {
		font-size: 1em;
	}

	#wrapper {
		background: #fff;
	}

	.bonus {
		padding: 6vw 0;
	}

	.wrap_bonus {
		padding: 4vw;
	}
	
	div.con_bonus {
		margin: 0 auto 4vw;
	}
	
	.con_bonus h3 {
		padding: 0 0 2vw;
	}

	.lb_bonus {
		margin: 0 auto 2vw;
	}

	.lb_bonus img {
		width: 66%;
	}

	.con_bonus p {
		padding: 4vw;
	}
	
	.wrap_bonus+p {
		margin: 4vw auto 0;
		padding: 4vw;
		background: #fff;
	}

	/*
	 *		lead
	 */

	.lead {
		padding: 6vw 0 0;
	}

	div.con_lead {
		margin: 0 auto;
	}

	div.con_lead img {
		object-fit: 100px;
		object-position: center;
	}


	/*
	 *		jisseki
	 */

	.img_kanshajo {
		margin: 6vw auto 2vw;
	}

	.img_koza {
		margin: 2vw auto;
	}

	.img_koka {
		margin: 3vw auto 6vw;
	}

	.con_jsk h3 {
		position: relative;
		display: flex;
		align-items: center;
		margin: 6vw auto 3vw;
	}

	.con_jsk h3::before,
	.con_jsk h3::after {
		content: '';
		flex-grow: 1;
		height: 1px;
		background: #000;
	}

	.con_jsk h3 img {
		padding: 0 2vw;
		max-width: 66vw;
	}

	/*
	 *		voice
	 */

	.voice {
		margin: 0 auto;
		padding: 0 0 6vw;
		background: url(../images/bg_voice.webp) center center / cover no-repeat fixed;
	}

	div.con_voice {
		display: block;
		margin: 0 auto 3vw;
		padding: 4vw;
		border: 4vw solid #dec7a2;
	}

	.con_voice h3{
		margin-bottom: 1.5vw;
		padding: 1.5vw 2vw 1vw;
		background: #222222;
		background: linear-gradient(90deg, rgba(34, 34, 34, 1) 0%, rgba(0, 0, 0, 1) 100%);
		color: #fff;
		line-height: 1.5;
		font-weight: bold;
	}

	.pic_voice{
		margin: 0 auto 3vw;
		max-width: 100%;
	}

	.con_voice:nth-of-type(1) .pic_voice {
		object-position: 25% center;
	}

	.con_voice:nth-of-type(3) .pic_voice {
		object-position: 25% center;
	}

	.con_voice:nth-of-type(9) .pic_voice {
		object-position: 25% center;
	}

	.tb_voice{
		display: block;
	}

	.tb_voice th{
		display: block;
		width: 100%;
		padding: 2vw;
		background: #999;
		color: #333;
		text-align: center;
		font-weight: bold;
		/* font-size: 3.5vw; */
	}

	.tb_voice tr:nth-of-type(2) th {
		background: #E0CC9B;
		background: linear-gradient(90deg, rgb(237, 223, 183) 0%, rgba(250, 248, 200, 1) 50%, rgb(243, 208, 149) 100%);
		color: #222;
	}

	.tb_voice td{
		display: block;
		width: 100%;
		padding: 1vw 2vw;
	}

	.tb_voice tr:nth-of-type(2) td {
		font-weight: bold;
	}

	/*
	 *		メソッド
	 */

	.method h2 {
		margin-top: 0;
	}

	.con_method h3 {
		position: relative;
		display: flex;
		align-items: center;
		margin: 6vw auto 3vw;
	}

	.con_method h3::before,
	.con_method h3::after {
		content: '';
		flex-grow: 1;
		height: 1px;
		background: #000;
	}

	.con_method h3 img {
		padding: 0 2vw;
		max-width: 66vw;
	}

	.con_method h3.hd_bull {
		margin: 6vw auto 0;
		padding: 2vw;
	}

	.con_method ul {
		margin: 0 auto 6vw;
		padding: 2vw;
		border: 4vw solid #f2f2f2;
	}

	.con_method ul li {
		padding-left: 2em;
		background: url("../images/check01.webp") left 0.1vw / 1.1em 1.1em no-repeat;
		font-size: 1.1em;
	}

	.con_method ul li:first-of-type {
		margin-top: 0;
	}

	.con_method ul li:last-of-type {
		padding-bottom: 0;
		border-bottom: none;
	}

	.jigen {
		padding: 4vw;
	}

	.img_method01 {margin-left: 0;}

	/*
	 *		future
	 */

	div.con_future {
		margin: 6vw auto;
		width: 100%;
		max-width: 92vw;
	}

	.con_future ul {
		margin: 0 auto 6vw;
		padding: 2vw;
		border: 4vw solid #f2f2f2;
	}
	
	.con_future ul li {
		padding-left: 2em;
		background: url("../images/check01.webp") left 0.1vw / 1.1em 1.1em no-repeat;
		font-size: 1.1em;
	}
	

	

	/*
	 *		chance
	 */

	.chance {
		padding: 0 0 6vw;
	}

	/*
	 *		ps
	 */

	.ps {
		padding: 0 0 6vw;
	}

	/*
	 *		form
	 */

	.form {
		position: relative;
		margin: 0 auto;
		padding: 6vw 0;
		background: #00A6BF;
		background: linear-gradient(90deg, rgba(0, 166, 191, 1) 0%, rgba(115, 106, 178, 1) 100%);
	}

	.form::before {
		display: block;
		content: '';
		position: absolute;
		left: 0;
		width: 100%;
		height: 8px;
		background: url(../images/img_line.webp) center center / auto 100% repeat-x;
	}

	.form::before {
		top: 0;
		transform: rotate(180deg);
	}

	.form::after {
		bottom: 0;
	}

	.shd_form {
		margin: 0 auto 4vw;
		max-width: 92vw;
	}
	.hd_form {
		margin: 0 auto 4vw;
		max-width: 92vw;
	}

	.submit {
		margin: 2vw auto 0;
		padding: 2vw;
		border-radius: 0.4em;
	}

	.submit .btn {
		display: block;
		margin: 2vw auto 0;
		max-width: 100%;
	}

	.deco {
		margin: 2vw auto 0;
		margin-bottom: 2vw;
		padding: 2vw 1.2vw 0.8vw;
		height: calc( 108 / 1000 * 100vw * 1.2 );
		border: 0.8vw solid #1897c6;
		font-size: 4vw;
	}

	.cu_pre {
		margin: 3vw auto;
	}

	.optin {
		margin: 2vw auto 0;
		font-size: 3vw;
	}

		/***	常時表示ボタン設定	***/

		.flbtn {
			bottom: 0.5em;
			right: 25vw;
		}
	
		.flbtn a {
			position: relative;
			display: block;
			width: 50vw;
			height: auto;
			aspect-ratio: 840 / 192;
			background: url(../images/button.webp) center center / 100% auto no-repeat;
			z-index: 99999;
		}
	
		footer {
			padding-bottom: calc( 192 / 840 * 50vw + 2em  );
			font-size: 87.5%;
		}

}

@media screen and (max-width: 599px) {

	.pconly,
	.tbonly {
		display: none;
	}

	.sponly {
		display: block;
	}

	h1.sponly {
		height: auto;
	}

	
		/***	常時表示ボタン設定	***/

		.flbtn {
			bottom: 0.5em;
			right: 1vw;
		}
	
		.flbtn a {
			width: 98vw;
		}
	
		footer {
			padding-bottom: calc( 192 / 840 * 98vw + 2em  );
			font-size: 87.5%;
		}

}