@charset "UTF-8";
/*custom color size*/
:root {
	--color-main1: #006bd3; /*blue1*/
	--color-main2: #3b9fff; /*blue2*/
	--color-main3: #9efafd; /*cyan*/
	--color-sub1: #f6c217; /*yellow*/
	--color-sub2: #f63508; /*red*/
	--color-blk1:#000; /*black*/
	--color-blk2:#1e1e1e; /*black*/
	--color-wht:#eee; /*white*/

	--margin-big: 120px;
	--margin-big2: 80px;
	--margin-middle: 60px;
	--margin-small: 30px;
	--raidus-main: 5px;
}
/* タブレット適用CSS */
@media screen and (max-width: 1080px) {
	:root {
		--margin-big: 100px;
		--margin-big2: 50px;
		--margin-middle: 30px;
	}
}
/* スマホ適用CSS */
@media screen and (max-width: 560px) {
	:root {
		--margin-big: 80px;
		--margin-big2: 40px;
		--margin-middle: 20px;
	}
}

/* スマホ適用CSS */
@media screen and (max-width: 320px){
}
/*====================================================================
　Commons
====================================================================*/
*,
*::before,
*::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
html {
	width: 100%;
	word-wrap: break-word;
	word-break: break-all;
	scroll-behavior: smooth;
}
body {
	font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
/*	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;*/
	font-size : 20px;
	line-height : 1.8;
	color: var(--color-blk1);
	width: 100%;
	letter-spacing: .5px;
}
img {
	border: 0;
	height: auto;
	max-width: 100%;
	vertical-align: middle;
	margin: 0 auto;
	display: block;
}
img{
	/* pc */
	pointer-events: none;
	/* smartphone*/
	-webkit-touch-callout:none;
	-webkit-user-select:none;
	-moz-touch-callout:none;
	-moz-user-select:none;
	touch-callout:none;
	user-select:none;
}
svg {
  fill: currentColor;
  max-width: 100%;
}
p {
	margin: 0 auto 70px;
	padding: 0 20px;
    max-width: 900px;
    line-height: 1.7em;
}
/*
link
---------------------------------------------------------*/
a.link:link{
	color: #00e;
	text-decoration: underline;
}

#main {
	overflow: hidden;
	margin : 0 auto;
	/*background: url(../images/34.jpg) no-repeat center var(--color-blk1);
	background-size: fixed;*/
}

/*
header
---------------------------------------------------------*/
#header01{
    width:100%;
    line-height:0;
}
#header01 img{
    display:block;
    width:100%;
    height:auto;
}

/*
conttainer
---------------------------------------------------------*/
.container {
	text-align: left;
	/*text-shadow:
	 1px 1px 8px rgba(0, 0, 0, .7),
	 -1px 1px 8px rgba(0, 0, 0, .7),
	 -1px -1px 8px rgba(0, 0, 0, .7),
	 1px -1px 8px rgba(0, 0, 0, .7);*/
}
.container .cnt {
	padding-top: 50px;
	padding-bottom: 10px;
}
.bg_blk{
	background: var(--color-blk1);
	color: var(--color-wht);
}
.bg_wht{
	background: var(--color-wht);
	color: var(--color-blk1);
}
.bg_fog{
	background:radial-gradient(circle at 12% 0%, rgb(255 255 255 / 38%) 0, rgba(255, 222, 128, 0) 34%), radial-gradient(circle at 88% 28%, rgba(112, 193, 255, .3) 0, rgba(112, 193, 255, 0) 36%), linear-gradient(180deg, #f8fcff 0%, #eaf6ff 47%, #fffffe 100%);
	color: #162131;
	text-shadow: none;
}
.bg_fog .yellow{
	color: #a37100;
}
.bg_fog .yellow2{
	color: rgba(255, 255, 86, 1);
}
.box8 .yellow2{
	color: rgba(255, 255, 86, 1);
}
.bg_fog .red{
	color: #d92015;
}
.bg_fog .bgred{
	background-image: linear-gradient(#ef2f22, #ef2f22);
}
.bg_fog .arrow_w::after{
	filter: brightness(0) saturate(100%) invert(20%) sepia(31%) saturate(1125%) hue-rotate(174deg) brightness(88%) contrast(90%);
}
.bg_flame{
	background: url(../images/bg_flame.png) repeat top var(--color-blk1);
	color: var(--color-wht);
}
.bg_flame2{
	background: url(../images/bg_flame2.png) repeat top var(--color-blk1);
	color: var(--color-wht);
}
.bg_flame3{
	background: url(../images/bg_flame3.png) no-repeat center var(--color-blk1);
	color: var(--color-wht);
	background-size: cover;
}
.bg_flame4 {
  position: relative;
  background-image: url("../images/bg_flame4.png");
  background-size: cover;
  background-position: center;
  background-attachment: fixed; /* 背景を固定 */
}
.bg_flame4::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2); /* 黒を50％透明で重ねる */
}
.bg_flame4 > * {
  position: relative;
  z-index: 1; /* テキストなどを黒い背景の上に表示 */
}
.bg_flame5{
	background: url(../images/bg_flame5.png) repeat top var(--color-blk1);
	color: var(--color-wht);
}
.bg_flame6{
	background: url(../images/bg_flame6.png) repeat top var(--color-blk1);
	color: var(--color-wht);
    background-size: cover;
    background-attachment: fixed;
    height: 100vh;
    left: 0;
    position: fixed;
    top: 0;
    width: 100vw;
    z-index: -1;
}
.bg_check{
	/*background: url(../images/bg_check.png) repeat top var(--color-blk1);*/
	color: var(--color-blk1);
}
.form_bg{
	background: url(../images/form_bg.png) no-repeat center var(--color-blk1);
}
#form3 {
	background: url(../images/form_bg.png);
	background-size: cover;
	padding: 60px 30px;
}
.bg_wa_black {
	padding: 70px;
}
.clip_path_01{
	background-attachment: fixed;
}
.clip_path_01 .cnt>p:last-child{
	margin-bottom: 120px;
}
.bg_kirakira{
	background: url(../images/bg_pat.jpg) no-repeat center #000;
	background-size: cover;
	background-attachment: fixed;
	height: 100vh;
	left: 0;
	position: fixed;
	top: 0;
	width: 100vw;
	z-index: -1;
}
.cnt{
	margin : 0 auto;
	max-width: 860px;
	width: 100%;
	padding: var(--margin-big2) 20px;
	padding-bottom: 0;
}
.button_warp {
	background: #fde5e5;
    padding: 50px 30px;
    margin-bottom: 0;
}
.pat_area{
	padding-top: 0;
}
.txt_bg{
	background: url(../images/txt_bg.png) no-repeat center;
	background-size: contain;
	padding: 100px 0;
}
/*title*/
.ttl{
	margin: 0px auto 0;
	font-family: "Zen Antique", serif;
	font-weight: 300;
	font-size: 1.5em;
	padding: 70px 0px 0;
	text-align: center;
	max-width: 1000px;
    width: 100%;
}
.ttl p{
	margin-bottom: 0;
}
.ttl .fs_small{
	font-size: .6em;
}
.ttl02 {
	margin: 75px auto 0;
	font-family: "Noto Serif JP", serif;
	font-weight: 700;
	font-size: 3.5em;
	line-height: 1.4;
	/*background: url(../images/ttl_bg.png) no-repeat center;*/
	background-size: contain;
	padding: 0px 110px 100px;
	text-shadow: 0px 0px 10px rgba(0, 0, 0, .8), 0px 0px 10px rgba(0, 0, 0, .8), 0px 0px 10px rgba(0, 0, 0, .8), 0px 0px 10px rgba(0, 0, 0, .8), 1px 1px 20px rgb(28 44 50 / 30%), -1px 1px 20px rgb(22 38 44 / 30%), -1px -1px 20px #000, 1px -1px 20px rgb(46 61 66 / 30%), 3px 3px 30px rgb(50 52 60 / 30%), -3px 3px 30px rgb(43 45 54 / 30%), -3px -3px 30px rgb(111 112 118 / 30%), 3px -3px 30px rgb(34 36 48 / 30%);
	text-align: center;
}
.ttl02 p{
	margin-bottom: 0;
}
.ttl02 .fs_small{
	font-size: .6em;
	display: inline-block;
}
.story-section{
	background:#f6f7f9;
	padding: 1px 0;
}
.money-section{
	background:#fdf9f2;
	padding:10px 0;
}
.offer-section{
	padding: 40px 0 1px;
	background:#e3edf7;
}
.rule-section {
	padding: 40px 0 1px;
	background: #fff;
}
.last_m_box {padding-bottom: 10px;}
.last_m_box p {
	color: #fff;text-align: center;
}
.last_m_box span {display: inline-block;}
.last_m_box .wrap-time {
	background: #2f5083;
	padding:5px 20px;
	color: #ffeeba;
	margin-top: 10px;
}
.ttl_sorry {
	margin-bottom: 60px;
}
.family-message {
	 max-width: 850px;
    margin: 0 auto;
}
.img_lost {
	margin-bottom: 60px;
}
.img_money {
	margin: 60px auto 45px;
}
.img_money_2 {
	margin: 60px auto 45px;
}
.img_fool {
	margin-bottom: 45px;
}
.img_can {margin-bottom: 45px;}
#mae_page .point-item {
    background: #ede2bb;
}
#mae_page form {
	padding-top: 0;
}
.limit {
	text-align: center;
	margin-bottom: 0;
}

.table-wrap{
    width:100%;
    -webkit-overflow-scrolling:touch;
}

.price-table{
    width:100%;
    max-width: 820px;
    border-collapse:collapse;
    text-align:center;
    font-family:sans-serif;
}

.price-table th,
.price-table td{
    border:1px solid #cfcfcf;
    padding:8px;
    vertical-align:middle;
    background: #ffffff;
}

.price-table thead th{
    background:#f4df9f;
    font-size:18px;
    font-weight:bold;
}

.price-table tbody th{
    max-width: 110px;
    background: #f8f1d8;
    font-size: 18px;
    font-weight: bold;
}

.profit{
    color:#f63508;
    font-weight:bold !important;
}

.price-table td{
    font-size:18px;
    line-height:1.5;
}

.price-table strong{
    font-size:21px;
    color:#333;
}

.discount{
    margin-top:12px;
    font-size:17px;
    font-weight:bold;
    line-height:1.5;
}
.small {
	font-size: 13px;
}

/* スマホ */
@media (max-width:768px){

    .price-table{
        /*min-width: 630px;*/
    }

    .price-table th,
    .price-table td{
        padding:4px;
    }
    .price-table thead th{
        font-size:18px;
    }
    .price-table tbody th{
        font-size:15px;
    }
    .discount{
        font-size:15px;
    }
    .price-table tbody th {
	    max-width: 40px;
	    background: #f8f1d8;
	    font-size: 13px;
	    line-height: 1.3em;
	}
}

.table-wrap{
    width:100%;
    -webkit-overflow-scrolling:touch;
}
.plan-table{
    width:100%;
    border-collapse:collapse;
    background:#fff;
    font-size: 16px;
}
.plan-table th,
.plan-table td{
    border:1px solid #000;
    padding:12px;
    vertical-align:middle;
}
.title{
    background:#f8df92;
    font-size:30px;
    font-weight:bold;
    text-align:center;
    line-height:1.6;
}
.head{
    background:#fff3a5;
    font-size:26px;
    font-weight:bold;
    text-align:center;
}
.left{
    background:#f7efd6;
    text-align:center;
    font-weight:bold;
    font-size:18px;
}
.plan-table td{
    text-align:left;
    font-weight: normal;
}
.plan-table td p {
	margin-bottom: 0;
	padding:0;
}
.plan-table td.base {
	vertical-align: baseline;
}
.yellow{
    background:#ffff33;
}
.jisseki_area {
	margin-bottom: 60px;
}
.bg_jisseki {
  font-size: 24px;/*フォントサイズ*/
  color: #fff;
  margin-bottom: 20px;
  text-align: center;
  font-weight: 800;
  font-size: 24px;
  background: no-repeat center / 100% 100% url(../images/bg_jisseki.png);
  border: 3px double #646464;/*二重線 太さ・カラー*/
} 
/* スマホ */

@media(max-width:768px){

    .plan-table{
        /*min-width:900px;*/
    }

    .title{
        font-size:24px;
    }

    .head{
        font-size:20px;
    }

    .left{
        font-size:16px;
    }

}
.date{
    height:48px;
    text-align:center;
    font-weight:bold;
    font-size:22px;
}
.bg_form{
	background: url(../images/form_bg.png) repeat center #191919;
}
#form4.form_area {
    padding: 0;
    margin: 0 auto;
    width: 100%;
    background: url(../images/form_bg.png);
    background-size: cover;
}
.form_box {
    max-width: 1000px;
    margin: 0 auto;
    padding: 60px 100px;
    font-size: 20px;
    color: var(--color-wht);
    position: relative;
}
.form_box .form_ttl {
    margin: 0 auto;
    padding-bottom: 10px;
    text-align: center;
}
.thanks_page .form_box {
	border: 1px solid #d4b32e;
    background: #333;
    margin-bottom: 30px;
}
.thanks_page .form_box .form_ttl {
	margin-bottom: 0;
}
.info {
    width: 100%;
    max-width: 1000px;
    border-spacing: 0;
    border-collapse: collapse;
    margin: 0 auto 40px;
    color: #2d2d2d;
    border: 1px solid #fff;
    /* background: #fefefe; */
}
.info th {
    background: var(--color-blk1);
    color: #fff;
    width: 25%;
    letter-spacing: 2px;
    font-weight: normal;
    font-size: .9em;
}
.info td {
    border-color: var(--color-blk1);
    text-align: left;
    background: var(--color-wht);
}
.form_box p {
    margin: 30px auto 5px;
    padding: 0px;
    letter-spacing: 1px;
    line-height: 1.6;
}
.form_item {
    background: #214675;
    padding: 10px !important;
    margin-bottom: 10px !important;
}
.form_item:before {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border: 7px solid transparent;
    border-left: 7px solid var(--color-main2);
}
input[type="text"], textarea {
    font-size: 20px;
    padding: 20px;
    border: none;
    box-shadow: inset 0 0 8px rgba(15, 34, 62, 0.5);
    /* border-radius: 5px; */
    width: 100%;
    background: var(--color-wht);
}
.radio-001 {border: none;}
.radio-001 label {
	display: block;
	margin-bottom: 15px;
    border-bottom: dotted 2px #516681;
    padding-bottom: 10px;
}


/*
thanks
---------------------------------------------------------*/
.ttl_thk{
	background: url(../images/bg_thk.png) center repeat;
	color: var(--color-main2);
	text-align: center;
	padding: 80px 20px;
	text-shadow:
	 1px 1px 10px rgba(0, 0, 0, .7),
	 -1px 1px 10px rgba(0, 0, 0, .7),
	 -1px -1px 10px rgba(0, 0, 0, .7),
	 1px -1px 10px rgba(0, 0, 0, .7);
}
.pay_warp {
	background: #333;
	padding:20px;
	border: solid 1px #fff;
}
.pay_warp p {
	margin-bottom: 0;
}


/*
footer
---------------------------------------------------------*/
footer {
	padding: 15px 0px;
	background: #fff;
	font-size : 16px;
	line-height : 1.5;
	color: #000;
	width: 100%;
	text-align: center;
	letter-spacing: 1px;
}
footer p {
	margin: 0 auto;
	padding: 0;
}
footer a {
	color: #000;
}
footer a:hover {
	color: #000;
}

/*
tablet sp
---------------------------------------------------------*/

@media screen and (min-width: 641px){
	#header01 .mv_sp {
		display: none;
	}
	#header01 .mv {
		display: inline-block;
	}
	.sub_ttl04 {
    	display: block;
    }
    .sub_ttl04_sp {
    	display: none;
    }
    .form_ttl {
		display: block !important;	
    }
    .form_ttl_sp {
    	display: none !important;
    }
}
@media screen and (max-width: 640px){
	#header01 .mv_sp {
		display: inline-block;
	}
	#header01 .mv {
		display: none;
	}
	body {
		font-size : 18px;
		line-height : 1.4;
	}
	#header01,
	#header02,
	#header03{
		font-size: 1em;
	}
	#header03{
		padding-top: 60px;
	}
	#header01::before,
	#header02::before,
	#header03::before{
		background: url(../images/header_01_sp.png) no-repeat top center #000;
		background-size: cover;
	}
	.header01_1 p:nth-of-type(2),
	.header02_1 p:nth-of-type(2){
		font-size: 1.4em;
	}
	.header01_1{
		padding-top: 112px;
	}
	.header01_2{
		padding-top: 150px;
		display: grid;
		grid-template-columns: max-content max-content;
		column-gap: 8px;
		row-gap: 0;
		margin-bottom: 24px;
		transform: scale(1.06);
	}
	.header01_2 img{
		width: auto;
		max-width: none;
		height: clamp(145px, 42vw, 220px);
	}
	.header01_2 p,
	.header02_2 p,
	.header03_2 p{
		font-size: 25vw;
	}
	.header01_3{
		padding-top: 20px;
		letter-spacing: .1em;
	}
	.header01_3 p{
		font-size: 1.08em;
	}
	.header01_3 .under_wht{
		padding: .18em .55em .26em;
	}
	.header01_3 p{
		margin-bottom: 0;
	}
	.header02_1 p:nth-of-type(1){
		font-size: 1em;
	}
	.header02_3{
		padding-top: 150px;
	}
	.header02_2{
		gap: 3px;
	}
	.header03_3{
		padding-top: 20px;
	}
	.header03_3 p:nth-of-type(2){
		font-size: 1.8em;
		letter-spacing: 0.1em;
	}
	.header03_4 p{
		font-size: 2.2em;
		letter-spacing: .1em;
	}
	#header01 .mv_sp {
		display: inline-block !important;
	}
	.bg_fog{
		background:
			radial-gradient(circle at 10% 0%, rgba(255, 222, 128, .36) 0, rgba(255, 222, 128, 0) 38%),
			radial-gradient(circle at 90% 26%, rgba(112, 193, 255, .28) 0, rgba(112, 193, 255, 0) 42%),
			linear-gradient(180deg, #f8fcff 0%, #eaf6ff 50%, #fff6dc 100%);
	}
	.bg_flame{
		background: url(../images/bg_flame_sp.png) repeat top var(--color-blk1);
		background-size: contain;
	}
	.bg_flame2{
		background: url(../images/bg_flame2_sp.png) repeat top var(--color-blk1);
		background-size: contain;
	}
	.bg_flame3{
		background: url(../images/bg_flame3_sp.png) repeat center top var(--color-blk1);
		background-size: contain;
	}
	.bg_wa_black {
		padding: 40px;
	}
	.cnt{
		padding: 20px;
	}
	.clip_path_01 .cnt>p:last-child{
		margin-bottom: 40px;
	}
	.item {
        padding: 16px;
        font-size: 20px;
        align-items: flex-start;
    }
	.bg_kirakira{
		background: url(../images/bg_pat_sp.jpg) no-repeat top center #000;
		background-size: contain;
		background-attachment: initial;
	}
	.ttl{
		padding: 40px 20px 0;
		font-size: 1.4em;
	}
	.ttl>div>div{
		display: inline;
	}
	.ttl>div>br{
		display: none;
	}
	.ttl_thk{
		padding: 30px 20px;
	}
	.ttl02 {
		padding: 0px 30px 0px;
	}
	.img_mtg {
		margin-bottom: 45px;
	}
	.cv_area .timer .countdown {
	    font-size: 30px;
	}
	.point-item {
        padding: 13px !important;
    }
    .sub_ttl04 {
    	margin: 10px auto 0 !important;
    }
    .last-message .big {font-size: 40px !important;}
    .last-message h3 {font-size: 32px !important;}
    .last-message {
	    text-align: center;
	    padding: 60px 20px !important;
	}
	.ng-item span:last-child {
        font-size: 20px !important;
    }
    .future-item span:last-child {
        font-size: 20px !important;
    }
    .wish-item {
        font-size: 20px !important;
    }
    .sub_ttl04 {
    	display: none;
    }
    .sub_ttl04_sp {
    	display: block;
    }
    .pre01_ttl, .pre02_ttl {
	    font-size: 30px !important;
	    padding: 1em 0.7em 0.5em;
	}
	.pre01_box, .pre02_box {padding: 40px 15px !important;}
    .price-table td {
	    font-size: 15px !important;
	}
	#sales_page .cv_area .timer {
	    padding-top: 10px;
	    padding-bottom: 10px;
	}
    .form_ttl {
		display: none !important;	
    }
    .form_ttl_sp {
    	display: block !important;
    }
}
@media screen and (max-width: 479px){
	p {
		padding:0px !important;
		font-size: 16px;
	}
	.cnt {padding: 20px 10px;}
	.point-box {
		font-size: 1rem !important;
		padding: 18px 16px 18px 38px !important;
	}
	.last-message .big {
		padding: 15px 20px !important;
		font-size: 30px !important;
	}
	.last-message h3 {
        font-size: 24px !important;
    }
    .ttl_sorry {
	    margin-bottom: 20px;
	}
	.sub_ttl02 {
	    font-size: 22px !important;
	    margin: 70px auto 30px !important;
	}
	.sub_ttl03 {font-size: 18px !important;}
	.sub_ttl06 {font-size: 18px !important;}
	.sub_ttl07 {font-size: 18px !important;}
	.sub_ttl08 {font-size: 18px !important;}
	.sub_ttl09 {font-size: 18px !important;}
	.sub_ttl10 {font-size: 18px !important;}
	.sub_ttl11 {font-size: 18px !important;}
	.sub_ttl12 {font-size: 18px !important;}
	.sub_ttl13 {font-size: 18px !important;}
	.form_ttl {display: none;}
	.form_ttl_sp {display: block;}
	.form_box p {
		margin: 0px auto 5px !important;
		font-size: 16px;
	}
	.item {
        font-size: 18px;
        padding: 10px 15px !important;
    }
    .worry-list {padding:0 !important;}
    .ng-box {padding:0 !important;}
    .future-list {padding:0 !important;}
    .point-list {padding:0 !important;}
    .wish-list {padding:0 !important;}
    .wish-item {font-size: 17px !important;}
    .item {font-size: 17px;}
    .ng-item span:last-child {font-size: 17px !important;}
    .top-register-box.timer {padding-top: 30px;}
    .plan-table th, .plan-table td {
	    padding: 5px;
	}
	.plan-table .left{
        font-size:13px;
    }
    .plan-table .fs24 {
	    font-size: 20px;
	}
	.plan-table p {
		line-height: 1.3em;
		font-size: 14px;
	}
	.plan-table .title {
        font-size: 19px;
    }
    .plan-table td.date {
    	font-size: 15px;
    }
}
@media screen and (min-width: 641px){
	br.none_640 {display: inline-block;}
}

@media screen and (max-width: 640px){
	br.none_640 {display: none;}
}
@media screen and (min-width: 480px){
	br.none_479 {display: inline-block;}
}

@media screen and (max-width: 479px){
	br.none_479 {display: none;}
}
@media screen and (min-width: 415px){
	br.inline_414 {display: none;}
}

@media screen and (max-width: 414px){
	.discount {
        font-size: 12px;
    }
	.form_box .btn {
	    margin: 20px auto 0;
	}
	br.inline_414 {
		display: inline-block;
	}
}
@media screen and (max-width: 390px){

}
@media screen and (max-width: 375px){
}
@media screen and (max-width: 320px){
	.header01_1 p:nth-of-type(2){
		font-size: 1.2em;
	}
	.header01_3{
		font-size: .8em;
	}
}
