@charset "UTF-8";
/*base*/
*{
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
	}

header, footer, nav, section, article {
	display:block;
	}

html{
	font-size: 100%;
	overflow-y: scroll; 
	}

body{
	font-size: 1.125em;
	color: #000000;
	background: #ffffff;
	font-family: 'Helvetica','Helvetica Neue','Avenir','Arial','メイリオ',sans-serif;
	}

ul li{
	/*list-style-type: none;*/
	list-style-position: outside;
	}

ol li{
	list-style-position: outside;
	margin: 0px 0px 5px 2em;
	}

p,figcaption{
	line-height: 155%;
	}
figcaption{
	padding-top: 1em;
	}
h1,h2,h3,h4,h5,h6{
	font-size: 1em;
	}


/*float*/
.alignleft{
	float: left;
	}

.alignright{
	float: right;
	}

.cl{
	clear: both;
	}

.clearfix{
	overflow: hidden;
	}


/*text-align*/

.txt_alignleft{
	text-align: left;
	}
.txt_alignright{
	text-align: right;
	}
.txt_aligncenter{
	text-align: center;
	}

/*vertical-align*/

.txt_aligntop{
	vertical-align: top;
	}
.txt_alignmiddle{
	vertical-align: middle;
	}
.txt_alignbottom{
	vertical-align: bottom;
	}

/*link*/
a img {
    border-style: none;
	}

a:link{
	color: #666666;
	text-decoration: none;
	}

a:active{
	text-decoration: none;
	}

a:visited{
	color: #666666;
	}

a:hover{
	text-decoration: none;
	}

a img:hover{
	opacity: 0.8;
	}

.inner{
	width: 1060px;
	margin-left: auto;
	margin-right: auto;
	}

/*flex*/
.flex{
	display: flex;
	}

.align_items_start{
	align-items: start;
	}

.align_items_center{
	align-items: center;
	}

.justify_content_space_between{
	justify-content: space-between;
	}

.justify_content_start{
	justify-content: flex-start;
	}

.justify_content_center{
	justify-content: center;
	}

.flex_wrap{
	flex-wrap: wrap;
	}

/*grid*/
.grid_wrap{
	display: grid;
	}


/*hide*/
.sp{
	display: none !important;
	}


/*width*/
.half{
	width: calc(50% - 20px);
	}
.full{
	width: 100%;
	}

/*margin*/
.mgt1em{
	margin-top: 1em;
	}
.mgt10{
	margin-top: 10px;
	}
.mgt20{
	margin-top: 20px;
	}
.mgt30{
	margin-top: 30px;
	}
.mgt40{
	margin-top: 40px;
	}
.mgt50{
	margin-top: 50px;
	}
.mgt80{
	margin-top: 80px;
	}


/*fontsize*/
.txt_reset{
	font-size: 1em;
	}
.txt_16{
	font-size: 0.888em;
	}
.txt_24{
	font-size: 1.333em;
	}
.txt_36{
	font-size: 2em;
	}
.txt_60{
	font-size: 3.333em;
	}

/*fontweight*/
.txt_bold{
	font-weight: bold;
	}
.txt_normal{
	font-weight: normal;
	}

/*color*/
.col_c00003{
	color: #c00003;
	}

/*li*/

li.disc{
	list-style-type: disc;
	margin-bottom: 1em;
	}

li.none{
	list-style-type: none;
	margin-bottom: 1em;
	}

li.circle{
	list-style-type: none;
	margin: 0px 0px 0 0;
	padding-left: 20px;
	position: relative;
	}

li.circle::before{
	content: "";
	width: 14px;
	height: 14px;
	border-radius: 100%;
	background-color: #333333;
	position: absolute;
	top: 5px;
	left: 0;
	}


/*common_parts*/
/*h*/
.h_wrap{
	color: #ffffff;
	text-align: center;
	}

.h_wrap p.bg_bar{
	line-height: 1;
	padding: 20px 0;
	font-size: 2em;
	font-weight: bold;
	}

.h_wrap h1{
	padding: 40px 0;
	}


.h_wrap span.num{
	display: inline-block;
	width: 80px;
	height: 80px;
	border-radius: 80px;
	line-height: 80px;
	text-align: center;
	font-size: 3.333em;
	color: #ffffff;
	margin-right: 20px;
	}



/*img_ph*/
.img_ph{
	display: block;
	width: calc(50% - 20px);
	height: auto;
	}

/*feature_item*/
.feature_item_wrap{
                                grid-template-columns: repeat(auto-fill, calc((100% - 40px) / 3));
                                gap: 20px;
                                }
.feature_item{
                                border: 5px solid #cccccc;
                                display: grid;
                                grid-template-rows: subgrid;
                                grid-row: span 3;
	width: 100%;
	}
.feature_item h3{
	display: flex;
	align-items: center;
	font-size: 1.333em;
	height: 64px;
	padding-left: 84px;
	position: relative;
	}

.feature_item img{
	display: block;
                                width: calc(100% - 40px);
                                height: auto;
                                margin: 0 auto 20px;
	}



.feature_item .txt_wrap{
	height: calc(100% - 64px);
	padding: 0 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	}



/*arrow*/
.arrow{
	width: 40px;
	background: url('../img/icon_arrow.svg') center center no-repeat;
	background-size: 40px 40px;
	}
.arrow_20{
	width: 20px;
	background: url('../img/icon_arrow.svg') center center no-repeat;
	background-size: 20px 20px;
	}

/*icon*/
.icon_50{
	display: inline-block;
	width: 50px;
	height: 50px;
	margin: 20px auto 10px;
	}
.icon_80{
	display: inline-block;
	width: 80px;
	height: 80px;
	margin: 20px auto 10px;
	}
.icon_100{
	display: inline-block;
	width: 100px;
	height: 100px;
	margin: 20px auto 10px;
	}

/*btn*/
a.btn_pdf{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 500px;
	height: 80px;
	border-radius: 80px;
	margin: 20px auto 0;
	text-align: center;
	font-size: 1.333em;
	color: #666666;
	font-weight: bold;
	background: url('../img/icon_pdf.png') right 30px center no-repeat;
	background-size: 30px 40px;
	box-shadow: 0px 0px 20px 0px rgba(153,153,153,0.5);
	}
a.btn_pdf:hover{
	opacity: 0.8;
	}

.btn_wrap{
	margin-top: 80px;
	padding: 10px 0;
	border-radius: 20px;
	display: flex;
	justify-content: space-between;
	background: #f0f0f0;
	}

.btn_wrap a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50%;
	height: 40px;
	text-align: center;
	color: #666666;
	}

.btn_wrap a:hover{
	opacity: 0.8;
	}


.btn_wrap a.btn_anchor{
	border-right: 1px solid #cccccc; 
	}

.btn_wrap a span{
	position: relative;
	padding-right: 35px;
	}

.btn_wrap a.btn_anchor span:after{
	content: '';
	width: 22px;
	height: 19px;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	background: url('../img/icon_arrow_up_gray.svg') center center no-repeat; /* Old browsers */
	background-size: 22px 13px;
	}

.btn_wrap a.btn_join span:after{
	content: '';
	width: 22px;
	height: 19px;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	background: url('../img/icon_arrow_under_gray.svg') center center no-repeat;
	background-size: 22px 13px;
	}


/*header*/
header{
	}

header .inner{
	height: 85px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	}

header p.ttl_head{
	display: block;
	text-decoration: none;
	text-indent: -9999px;
	width: 299px;
	height: 29px;
	background: url('../img/ttl_head.gif') center center no-repeat;
	background-size: 298px 29px; 
	}

/*contents*/

/*intro*/
#intro{
	padding: 80px 0;
	background: #f7ecec;
	}

#intro h1.tit_intro{
	text-align: center;
	}

#intro h1.tit_intro span{
	display: inline-block;
	}

#intro .bg_ffffff{
	background: #ffffff;
	margin-top: 40px;
	padding: 40px;
	}

/*youtube_warp*/
.youtube_warp{
	width: 100%;
                                height: auto;
                                aspect-ratio: 16 / 9;
	margin: 80px auto 0;
	}
.youtube_warp iframe{
	display: block;
	width: 100%;
                                height: 100%;
	}


/*step*/
#step{
	padding: 80px 0;
	}

#step h2{
	background: #c00003;	
	color: #ffffff;
	font-size: 1.333em;
	padding: 20px;
	}

#step .step_item_wrap{
	margin-top: 20px;
	background: #f7ecec;
	display: flex;
	justify-content: space-between;
	}
#step .step_item{
	height: 170px;
	padding: 33px 40px 0;
	text-align: center;
	}

#step .step_item_wrap img.pict_step_arrow{
	width: 50px;
	height: 100%;
	}

#step #anchor{
	margin-top: 20px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	}

#step #anchor a{
	display: flex;
	align-items: start;
	width: calc((100% - 40px) / 3);
	height: 257px;
	border-radius: 20px;
	padding: 20px;
	margin-top: 40px;
	color: #ffffff;
	font-weight: bold;
	box-shadow: 0px 0px 20px 0px rgba(153,153,153,0.5);
	}
#step #anchor a:hover{
	opacity: 0.8;
	}

#step #anchor a span.txt_24{
	width: calc(100% - 50px);
	}

#step #anchor a span.num{
	display: inline-block;
	width: 40px;
	height: 40px;
	border-radius: 40px;
	margin: 10px 10px 0 0;
	color: #ffffff;
	text-align: center;
	line-height: 40px;
	font-size: 1.333em;
	}

#step #anchor a.anchor_01{
	background: #57c3e0 url('../img/icon_arrow_under_white.svg') center bottom 16px no-repeat;
	background-size: 40px 22px,100%;
	}

#step #anchor a.anchor_01 span.num{
	background: #1e95c5;
	}

#step #anchor a.anchor_02{
	background: #a9d08c url('../img/icon_arrow_under_white.svg') center bottom 16px no-repeat;
	background-size: 40px 22px,100%;
	}

#step #anchor a.anchor_02 span.num{
	background: #72ac47;
	}


#step #anchor a.anchor_03{
	background: #9dc3e6 url('../img/icon_arrow_under_white.svg') center bottom 16px no-repeat;
	background-size: 40px 22px,100%;
	}

#step #anchor a.anchor_03 span.num{
	background: #6195cf;
	}


#step #anchor a.anchor_01 span.wrap,#step #anchor a.anchor_02 span.wrap,#step #anchor a.anchor_03 span.wrap{
	display: flex;
	margin-top: 10px;
	}
#step #anchor a.anchor_01 span.wrap span.num,#step #anchor a.anchor_02 span.wrap span.num,#step #anchor a.anchor_03 span.wrap span.num{
	margin-top: 0;
	}

/*program_01*/
#program_01{
	padding-bottom: 80px;
	}

#program_01 .h_wrap{
	background: #57c3e0;
	}

#program_01 .h_wrap p.bg_bar{
	background: #1e95c5;
	}
#program_01 .h_wrap span.num{
	background: #1e95c5;
	}

#program_01 .bg_ddf3f9{
	background: #ddf3f9;
	padding: 40px 0;
	}

#program_01 .bg_ddf3f9 span.bg_57c3e0{
                                display: inline-block;
	background: #57c3e0;
                                color: #ffffff;
	padding: 5px 10px;
                                margin-bottom: 20px;
	}

#program_01 .bg_ddf3f9 li.circle{
                                padding-left: 30px;
                                margin-bottom: 0.5em;
                                }
#program_01 .bg_ddf3f9 li.circle::before{
                                width: 18px;
                                height: 18px;
	background-color: #57c3e0;
	top: 8px;
	}

#program_01 .feature_item h3{
	background: #ddf3f9;
	}
#program_01 .feature_item h3::before{
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 64px;
	height: 64px;
	background: #57c3e0 url('../img/icon_check.svg') center center no-repeat;
	background-size: 30px 22px;
	}

#program_01 h3.toggle{
	background: #57c3e0;
	padding: 20px;
	color: #ffffff;
	font-size: 1.333em;
	}


#program_01 .flow_01,#program_01 .flow_02,#program_01 .flow_03{
	background: #ddf3f9;
	padding: 47px 20px 20px;
	text-align: center;
	position: relative;
	}

#program_01 .flow_01{
	width: calc((100% - 100px) / 3);
	}
#program_01 .flow_01 p.pd35{
	padding: 45px 10px;
	}
#program_01 .flow_02{
	width: calc(50% - 35px);
	}
#program_01 .flow_02 p.pd35{
	padding: 55px 35px;
	}

#program_01 .grid_wrap.grid_01{
                                grid-template-columns: repeat(3, 1fr);
	gap: 50px;
                                text-align: center;
                                }
#program_01 .grid_wrap.grid_02{
                                grid-template-columns: repeat(2, 1fr);
	gap: 80px;
                                text-align: center;
                                }

#program_01 span.bar{
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 47px;
	text-align: center;
	background: #9ddded;
	color: #ffffff;
	font-weight: bold;
	}


#program_01 .btn_wrap::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 4px;
	border-radius: 4px;
	background: var(--program_01col);
	}

#program_01 .txt_bottom{
                                text-align: center;
                                }
/*program_02*/
#program_02{
	padding-bottom: 60px;
	}

#program_02 .h_wrap{
	background: #a9d08c;
	}

#program_02 .h_wrap p.bg_bar{
	background: #72ac47;
	}
#program_02 .h_wrap span.num{
	background: #72ac47;
	}

#program_02 .bg_e3efda{
	background: #e3efda;
	padding: 40px 0;
	}

#program_02 .bg_e3efda span.bg_a9d08c{
                                display: inline-block;
	background: #a9d08c;
                                color: #ffffff;
	padding: 5px 10px;
                                margin-bottom: 20px;
	}

#program_02 .bg_e3efda li.circle{
                                padding-left: 30px;
                                margin-bottom: 0.5em;
                                }
#program_02 .bg_e3efda li.circle::before{
                                width: 18px;
                                height: 18px;
	background-color: #a9d08c;
	top: 8px;
	}

#program_02 .feature_item h3{
	background: #e3efda;
	}
#program_02 .feature_item h3::before{
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 64px;
	height: 64px;
	background: #a9d08c url('../img/icon_check.svg') center center no-repeat;
	background-size: 30px 22px;
	}

#program_02 h3.toggle{
	background: #a9d08c;
	padding: 20px;
	color: #ffffff;
	font-size: 1.333em;
	}

#program_02 .flow_01,#program_02 .flow_02{
	background: #e3efda;
	padding: 47px 20px 20px;
	text-align: center;
	position: relative;
	}

#program_02 .flow_01{
                                width: 210px;
                                }
#program_02 .flow_02 p.pd35{
	padding: 45px 35px;
	}
#program_02 .flow_02{
                                width: calc(100% - 568px);
                                }

#program_02 span.bar{
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 47px;
	text-align: center;
	background: #cae0ba;
	color: #ffffff;
	font-weight: bold;
	}

#program_02 .grid_wrap.grid_01{
                                grid-template-columns: 210px 1fr 210px;
	gap: 74px;
                                }

#program_02 .grid_wrap.grid_01 .item_center{
	display: flex;
	justify-content: center;
                                }

#program_02 .txt_bottom{
                                text-align: center;
                                }
/*program_03*/
#program_03{
	padding-bottom: 80px;
	}

#program_03 .h_wrap{
	background: #9dc3e6;
	}

#program_03 .h_wrap p.bg_bar{
	background: #6195cf;
	}
#program_03 .h_wrap p.bg_bar .small{
	font-size: 0.5em;
	}

#program_03 .h_wrap span.num{
	background: #6195cf;
	}


#program_03 .bg_e6f1fd{
	background: #e6f1fd;
	padding: 40px 0;
	}
#program_03 .bg_e6f1fd span.bg_9dc3e6{
                                display: inline-block;
	background: #9dc3e6;
                                color: #ffffff;
	padding: 5px 10px;
                                margin-bottom: 20px;
	}

#program_03 .bg_e6f1fd li.circle{
                                padding-left: 30px;
                                margin-bottom: 0.5em;
                                }
#program_03 .bg_e6f1fd li.circle::before{
                                width: 18px;
                                height: 18px;
	background-color: #9dc3e6;
	top: 8px;
	}

#program_03 .feature_item h3{
	background: #e6f1fd;
	}
#program_03 .feature_item h3::before{
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 64px;
	height: 64px;
	background: #9dc3e6 url('../img/icon_check.svg') center center no-repeat;
	background-size: 30px 22px;
	}

#program_03 h3.toggle{
	background: #9dc3e6;
	padding: 20px;
	color: #ffffff;
	font-size: 1.333em;
	}

#program_03 .flow_01,#program_03 .flow_02{
	background: #e6f1fd;
	padding: 47px 20px 20px;
	text-align: center;
	position: relative;
                                }

#program_03 .flow_01{
                                width: calc((100% - 370px) / 2);
                                }

#program_03 .flow_01 img{
                                margin: 20px 20px 10px;
                                }

#program_03 .flow_02{
                                width: 210px;
                                }

#program_03 span.bar{
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 47px;
	text-align: center;
	background: #c4dbf0;
	color: #ffffff;
	font-weight: bold;
	}
#program_03 .grid_wrap.grid_01,#program_03 .grid_wrap.grid_02{
                                grid-template-columns: 1fr 1fr 210px;
	gap: 80px;
                                text-align: center;
                                }


#program_03 .txt_bottom{
                                text-align: center;
                                }
/*form_wrap*/
#form_wrap{
	padding: 80px 0;
	background: #f7ecec;
	}

#form_wrap .inner{
	position:relative;
	}
#form_wrap .cover{
	position:absolute;
                                width: calc(100% + 80px);
                                height: calc(100% + 80px);
                                top: -40px;
                                left: -40px;
                                z-index: 2;
                                background: rgba(255,255,255,0.8);
                                padding: 180px 20px;
	}

#form_wrap h1{
	background: #c00003;
	color: #ffffff;
	font-size: 1.333em;
	padding: 20px;
	}

#form_wrap h2 .required{
	font-weight: normal;
	display: inline-block;
	color: #ffffff;
	background: #ff0100;
	border-radius: 5px;
	padding: 1px 7px;
	margin-right: 10px;
	}
#form_wrap .wrap{
	width: 800px;
	margin: 20px auto 0;
	}

#form_wrap .privacy_wrap{
	width: 100%;
	height: 200px;
	overflow-y: scroll;
	border: 1px solid #cccccc;
	background: #ffffff;
	margin: 20px 0;
	padding: 20px 40px;
	}


/*form*/

input[type=text]{
	-webkit-appearance: none;
	border-radius: 0;
	padding: 15px;
	min-height: 45px;
	background: #ffffff;
	border: 1px solid #cccccc;
	border-radius: 5px;
	color: #666666;
	font-size: 0.842em;
	margin: 20px 0 30px;
	}
.flex.align_items_center input[type=text]{
	margin: 0;
	}
input[type=text].full{
	width: 100%;
	}
input[type=text].half{
	width: calc(50% - 18px);
	}
input[type=text].w100{
	width: 100px;
	margin-right: 10px;
	}
input[type=text].w150{
	width: 150px;
	margin-right: 10px;
	}
input[type=text].w220{
	width: 220px;
	margin-right: 10px;
	}
input[type=text].mgr0{
	margin-right: 0;
	}
input[type=text].wzip{
	width: 240px;
	}

input[type=radio] {
	display: none; /* 標準スタイル */
	}
.radiostyle {
	position: relative; /* ボックスの位置を指定する */
	/*padding: 0 1em 0 30px; *//* ボックス内側の余白を指定する */
	}
.radiostyle:after, .radiostyle:before {
	position: absolute; /* ボックスの位置を指定する */
	content: ""; /* ボックスのコンテンツ */
	display: block; /* ブロックレベル要素化する */
	top: 50%; /* 上部から配置の基準位置を決める */
	transform: translateY(-50%);
	}
.radiostyle:after {
	left: 20px; /* 左から配置の基準位置を決める */
	margin-top: -12px; /* チェック枠の位置 */
	width: 20px; /* ボックスの横幅を指定する */
	height: 20px; /* ボックスの高さを指定する */
	border: 1px solid #cccccc; /* ボックスの境界線を実線で指定する */
	border-radius: 50%; /* ボックスの角丸を指定する */
	background: #ffffff;
	}
.radiostyle:before {
	left: 25px; /* 左から配置の基準位置を決める */
	margin-top: -12px; /* チェックマークの位置 */
	width: 12px; /* ボックスの横幅を指定する */
	height: 12px; /* ボックスの高さを指定する */
	background: #c00003;/* ボックスの背景色を指定する */
	border-radius: 50%; /* ボックスの角丸を指定する */
	opacity: 0; /* 要素を透過指定する */
	z-index: 5;
	}

@media all and (-ms-high-contrast: none) {
.radiostyle:before {
	left: 5.5px; /* 左から配置の基準位置を決める */
	margin-top: -6.5px; /* チェックマークの位置 */
	}
}

input[type=radio]:checked + .radiostyle:before {
	opacity: 1; /* 要素を表示する */
	}
.radiostyle:hover:after {
	border-color: #cccccc; /* ボックスの境界線を実線で指定する */
	}
.radiostyle h3{
	margin-left: 1.5em;
	}
#form_wrap input::placeholder{
	color: #999999;
	}
#form_wrap input:focus::placeholder{
	color: transparent;
	}
#form_wrap input:focus::-webkit-input-placeholder{
	color: transparent;
	}
#form_wrap input:focus:-moz-placeholder{
	color: transparent;
	}
#form_wrap input:focus::-moz-placeholder{
	color: transparent;
	}

#form_wrap .radio_program01,#form_wrap .radio_program02,#form_wrap .radio_program03{
	margin-top: 20px;
	}
#form_wrap .radio_program01{
	border: 1px solid #57c3e0;
	border-radius: 5px;
	background: #57c3e0;
	}
#form_wrap .radio_program02{
	border: 1px solid #a9d08c;
	border-radius: 5px;
	background: #a9d08c;
	}
#form_wrap .radio_program03{
	border: 1px solid #9dc3e6;
	border-radius: 5px;
	background: #9dc3e6;
	}

#form_wrap .radio_program01 span.txt,#form_wrap .radio_program02 span.txt,#form_wrap .radio_program03 span.txt{
	display: inline-block;
	width: calc(100% - 60px);
	margin-left: 60px;
	padding: 20px;
	border-radius: 0 3px 3px 0;
	font-weight: bold;
	}
#form_wrap .radio_program01 span.txt{
	background: #ddf3f9;
	}
#form_wrap .radio_program02 span.txt{
	background: #e3efda;
	}
#form_wrap .radio_program03 span.txt{
	background: #e6f1fd;
	}
#form_wrap .flex.align_items_center h3{
	width: 160px;
	}
#form_wrap .flex.align_items_center input[type=text]{
	width: calc(100% - 170px);
	}
#form_wrap .indent{
	text-indent: 160px;
	}

#form_wrap .select {
	width: 12em;
	min-height: 45px;
	background: #ffffff;
	border: 1px solid #cccccc;
	border-radius: 5px;
	margin: 0;
	position: relative;
	z-index: 1;
	}

#form_wrap .select::after {
	position: absolute;
	content: '';
	width: 8px;
	height: 8px;
	right: 10px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	border-bottom: 2px solid #cccccc;
	border-right: 2px solid #cccccc;
	z-index: -1;
	}

select {
  /* 初期化 */
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	background: none;
	border: none;
	width: 100%;
	height: 100%;
	padding: 15px;
	color: #666666;
	font-size: 0.842em;
	}


input[type=checkbox] {
	display: none; /* 標準スタイル */
	}

.cbstyle {
	cursor: pointer;
	padding-left: 30px;
	position: relative;
	}


.cbstyle::before,
.cbstyle::after {
	content: "";
	display: block; 
	position: absolute;
	}

.cbstyle::before {
	background-color: #ffffff;
	border-radius: 0%;
	border: 1px solid #cccccc;
	width: 20px;
	height: 20px;
	border-radius: 5px;
	transform: translateY(-50%);
	top: 50%;
	left: 5px;
	}

.cbstyle::after {
	border-bottom: 3px solid #c00003;
	border-left: 3px solid #c00003;
	opacity: 0;
	height: 5px;
	width: 10px;
 	 transform: rotate(-45deg);
	top: 4px;
	left: 10px;
	}

input:checked + .cbstyle::after {
	opacity: 1;
	}

.btn_submit{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 0;
	outline: none;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 40px auto 0;
	width: 500px;
	height: 80px;
	font-size: 1.333em;
	color: #ffffff;
	text-align: center;
	font-weight: bold;
	border: none;
	border-radius: 80px;
	background: #c00003 url('../img/icon_arrow_white.svg') right 30px center no-repeat;
	background-size: 13px 23px;
	box-shadow: 0px 0px 20px 0px rgba(153,153,153,0.5);
	}
.btn_submit:hover{
	opacity: 0.8;
	}


/*footer*/
footer{
	padding: 20px 0;
	text-align: center;
	}



/* Media Queries
==========================================================================*/
@media screen and (max-width:1059px) {
html {
	-webkit-text-size-adjust: none;
	}
.inner{
	width: calc(100% - 100px);
	}

#step .step_item{
	padding: 33px 10px 0;
	text-align: center;
	}

#form_wrap .wrap{
	width: 100%;
	}
}


@media screen and (max-width:767px) {
body{
	overflow-x: hidden;
	font-size: 0.875em;
	}

img {
	max-width: 100%;
	height: auto;
     }

.inner{
	width: calc(100% - 26px);
	}

.inner.sp_full{
	width: 100%;
	}

.flex{
	display: block;
	}
.flexsp{
	display: flex;
	}


/*hide*/
.pc{
	display: none !important;
	}
.sp{
	display: block !important;
	}

/*fontsize*/
.txt_24{
	font-size: 1.2857em;
	}
.txt_36{
	font-size: 1.714em;
	}
.txt_60{
	font-size: 2.142em;
	}

/*margin*/
.mgt20{
	margin-top: 10px;
	}
.mgt30{
	margin-top: 15px;
	}
.mgt40{
	margin-top: 20px;
	}
.mgt50{
	margin-top: 25px;
	}
.mgt80{
	margin-top: 40px;
	}
/*li*/
li.circle{
	list-style-type: none;
	margin: 0px 0px 5px 0;
	padding-left: 15px;
	position: relative;
	}

li.circle::before{
	width: 9px;
	height: 9px;
	top: 5px;
	}

/*common_parts*/
/*h*/
.h_wrap p.bg_bar{
	font-size: 1.714em;
	}

.h_wrap h1{
	padding: 20px 0;
	}
.h_wrap span.num{
	width: 40px;
	height: 40px;
	border-radius: 40px;
	line-height: 40px;
	font-size: 2.142em;
	margin-right: 10px;
	}

.inner.sp_full .half{
	width: calc(100% - 26px);
	margin-left: auto;
	margin-right: auto;
	}

/*img_ph*/
.img_ph{
	width: 100%;
	margin-top: 20px;
	}

/*feature_item*/
.feature_item_wrap{
                                grid-template-columns: repeat(auto-fill, 100%);
                                gap: 10px;
                                }
.feature_item{
	width: 100%;
	margin-top: 10px;
	border: 2px solid #cccccc;
	}
.feature_item h3{
	font-size: 1.285em;
	height: 38px;
	padding-left: 48px;
	}

.feature_item .txt_wrap{
	height: auto;
	padding: 10px;
	display: block;
	}

#program_01 .feature_item h3::before,#program_02 .feature_item h3::before,#program_03 .feature_item h3::before{
	width: 38px;
	height: 38px;
	background-size: 17px 12px;
	}

/*arrow*/
.arrow,.arrow_20{
	width: 100%;
	height: 40px;
	background-size: 20px 20px;
	transform: rotate(90deg);
	}

/*icon*/
.icon_80{
	display: inline-block;
	width: 50px;
	height: 50px;
	margin: 10px 10px 10px 0;
	}
.icon_100{
	display: inline-block;
	width: 50px;
	height: 50px;
	margin: 10px 10px 10px 0;
	}

/*toggle_item*/
.toggle_item{
	display: none;
	}

/*flow_wrap*/
.flow_wrap{
                                width: calc(50% - 5px);
                                }

/*btn*/
a.btn_pdf{
	width: 100%;
	height: 50px;
	border-radius: 50px;
	margin: 20px auto 0;
	font-size: 1.285em;
	background-position: center right 20px;
	background-size: 15px 20px;
	box-shadow: 0px 0px 10px 0px rgba(153,153,153,0.5);
	}

a.btn_pdf.sp{
	display: flex !important;
	}

.btn_wrap{
	margin-top: 40px;
	padding: 5px 0;
	border-radius: 10px;
	justify-content: center;
	}

.btn_wrap a{
	width: auto;
	height: 33px;
	}

.btn_wrap a span{
	padding: 0 27px 0 20px;
	}
.btn_wrap a.btn_anchor{
	padding-right: 20px; 
	}
.btn_wrap a.btn_anchor span:after,.btn_wrap a.btn_join span:after{
	width: 17px;
	height: 10px;
	background-size: 17px 10px;
	}

/*header*/
header .inner{
	height: 62px;
	display: flex;
	align-items: center;
	justify-content: center;
	}

/*intro*/
#intro{
	padding: 45px 0 40px;
	}

#intro h1.tit_intro span.txt_60{
	margin-top: 5px;
	font-size: 3.571em;
	}
#intro h1.tit_intro span.txt_24.mgt20{
	margin-top: 5px;
	font-size: 1.714em;
	}
#intro .bg_ffffff{
	margin-top: 20px;
	padding: 20px;
	border-radius: 5px;
	}

.youtube_warp{
	width: 100%;
	margin-top: 40px;
	}

/*step*/
#step{
	padding: 40px 0;
	}
#step .step_item_wrap{
	margin-top: 10px;
	display: block;
	}
#step .step_item{
	height: auto;
	padding: 20px;
	text-align: center;
	}
#step .step_item p.mgt1em{
	margin-top: 5px;
	}
#step .step_item_wrap img.pict_step_arrow{
	width: 100%;
	height: auto;
	}
#step #anchor{
	margin-top: 30px;
	display: block;
	}
#step #anchor a{
	width: 100%;
	height: 95px;
	border-radius: 10px;
	padding: 10px;
	margin-top: 10px;
	box-shadow: 0px 0px 10px 0px rgba(153,153,153,0.5);
	}
#step #anchor a span.txt_24{
	font-size: 1.142em;
	}
#step #anchor a span.num{
	width: 25px;
	height: 25px;
	border-radius: 25px;
	line-height: 25px;
	}
#step #anchor a.anchor_01,#step #anchor a.anchor_01:hover,#step #anchor a.anchor_02,#step #anchor a.anchor_02:hover,#step #anchor a.anchor_03,#step #anchor a.anchor_03:hover{
	background-position: right 20px center;
	background-size: 20px 11px,100%;
	}

#step #anchor a.anchor_01 span.wrap,#step #anchor a.anchor_02 span.wrap,#step #anchor a.anchor_03 span.wrap{
	padding-right: 20px;
	}

#step #anchor a.anchor_01 span.wrap span.txt_24{
	white-space: nowrap;
	}

#step #anchor a.anchor_03 span.wrap{
                                width: 300px;
	}

/*program_01*/
#program_01{
	padding-bottom: 35px;
	}
#program_01 .bg_ddf3f9{
	padding: 20px 0 0;
	}
#program_01 .bg_ddf3f9 span.bg_57c3e0{
                                margin-bottom: 10px;
	}

#program_01 .bg_ddf3f9 li.circle{
                                padding-left: 20px;
                                }
#program_01 .bg_ddf3f9 li.circle::before{
                                width: 12px;
                                height: 12px;
	top: 6px;
	}
#program_01 .flow_01,#program_01 .flow_02{
	display: flex;
	flex-flow: column;
	justify-content: center;
	width: 100%;
	min-height: 70px;
	padding: 33px 10px 10px;
	text-align: left;
	}

#program_01 .flow_01 p.pd35,#program_01 .flow_02 p.pd35{
	text-align: center;
                                padding: 0;
                                font-size: 0.888em;
	}
#program_01 .flow_01 .txt_18,#program_01 .flow_02 .txt_18,#program_01 .flow_01 .txt_24,#program_01 .flow_02 .txt_24{
	font-size: 1.111em;
	}

#program_01 span.bar{
	height: 33px;
	}

#program_01 h3.toggle{
	background: #57c3e0 url('../img/icon_open.svg') center right 10px no-repeat;
	background-size: 20px 20px;
	padding: 10px;
	font-size: 1.285em;
	}
#program_01 h3.toggle.active{
	background: #57c3e0 url('../img/icon_close.svg') center right 10px no-repeat;
	background-size: 20px 20px;
	}

#program_01 .grid_wrap.grid_01{
                                width: calc(50% - 5px);
                                grid-template-columns: repeat(1, 1fr);
                                grid-template-rows: 204px 260px 242px;
	gap: 40px;
                                text-align: left;
                                align-items: center;
                                }
#program_01 .grid_wrap.grid_02{
                                width: calc(50% - 5px);
                                grid-template-columns: repeat(1, 1fr);
                                grid-template-rows:  repeat(2, 1fr);
	gap: 40px;
                                text-align: left;
                                align-items: center;
                                }

#program_01 .txt_bottom{
                                text-align: left;
                                }

/*program_02*/
#program_02{
	padding-bottom: 30px;
	}
#program_02 .bg_e3efda{
	padding: 20px 0 0;
	}
#program_02 .bg_e3efda span.bg_a9d08c{
	margin-bottom: 10px;
	}

#program_02 .bg_e3efda li.circle{
	padding-left: 20px;
	}
#program_02 .bg_e3efda li.circle::before{
	width: 12px;
	height: 12px;
	top: 6px;
	}


#program_02 .flow_01,#program_02 .flow_02{
	display: flex;
	flex-flow: column;
	justify-content: center;
	width: 100%;
	min-height: 70px;
	padding: 33px 10px 10px;
	text-align: left;
	}

#program_02 .flow_02 p.pd35{
	text-align: center;
	padding: 0;
	font-size: 0.888em;
	}
#program_02 .flow_01 .txt_18,#program_02 .flow_02 .txt_18,#program_02 .flow_01 .txt_24,#program_02 .flow_02 .txt_24{
	font-size: 1.111em;
	}

#program_02 .grid_wrap.grid_01{
	width: calc(50% - 5px);
	grid-template-columns: repeat(1, 1fr);
	grid-template-rows: auto auto auto;
	gap: 40px;
	text-align: left;
	align-items: center;
	}
#program_02 span.bar{
	height: 33px;
	}
#program_02 h3.toggle{
	background: #a9d08c url('../img/icon_open.svg') center right 10px no-repeat;
	background-size: 20px 20px;
	padding: 10px;
	font-size: 1.285em;
	}
#program_02 h3.toggle.active{
	background: #a9d08c url('../img/icon_close.svg') center right 10px no-repeat;
	background-size: 20px 20px;
	}
#program_02 .txt_bottom{
                                text-align: left;
                                }
/*program_03*/
#program_03{
	padding-bottom: 30px;
	}
#program_03 .bg_e6f1fd{
	padding: 20px 0 0;
	}

#program_03 .bg_e6f1fd span.bg_9dc3e6{
	margin-bottom: 10px;
	}

#program_03 .bg_e6f1fd li.circle{
	padding-left: 20px;
	}
#program_03 .bg_e6f1fd li.circle::before{
	width: 12px;
	height: 12px;
	top: 6px;
	}

#program_03 .flow_01,#program_03 .flow_02{
	display: flex;
	flex-flow: column;
	justify-content: center;
	width: 100%;
	min-height: 70px;
	padding: 33px 10px 10px;
	text-align: left;
	}
#program_03 .flow_01 .txt_18,#program_03 .flow_02 .txt_18,#program_03 .flow_01 .txt_24,#program_03 .flow_02 .txt_24{
	font-size: 1.111em;
	}
#program_03 .flow_01 img{
	margin: 10px 10px 10px 0;
	}

#program_03 .grid_wrap.grid_01{
	width: calc(50% - 5px);
	grid-template-columns: repeat(1, 1fr);
	grid-template-rows: 182px 182px 113px;
	gap: 40px;
	text-align: left;
	align-items: center;
	}
#program_03 .grid_wrap.grid_02{
	width: calc(50% - 5px);
	grid-template-columns: repeat(1, 1fr);
	grid-template-rows: 182px 113px 113px;
	gap: 40px;
	text-align: left;
	align-items: center;
	}
#program_03 .grid_wrap div{
	height: 100%;
	}
#program_03 span.bar{
	height: 33px;
	}

#program_03 h3.toggle{
	background: #9dc3e6 url('../img/icon_open.svg') center right 10px no-repeat;
	background-size: 20px 20px;
	padding: 10px;
	font-size: 1.285em;
	}
#program_03 h3.toggle.active{
	background: #9dc3e6 url('../img/icon_close.svg') center right 10px no-repeat;
	background-size: 20px 20px;
	}
#program_03 .txt_bottom{
                                text-align: left;
                                }

/*form_wrap*/
#form_wrap{
	padding: 30px 0;
	}
#form_wrap h1{
	font-size: 1.285em;
	padding: 10px;
	}
#form_wrap .wrap{
	width: 100%;
	}
#form_wrap .cover{
                                width: calc(100% + 40px);
                                height: calc(100% + 60px);
                                top: -30px;
                                left: -20px;
                                padding: 100px 30px;
	}
#form_wrap .privacy_wrap{
	width: 100%;
	height: 200px;
	overflow-y: scroll;
	border: 1px solid #cccccc;
	background: #ffffff;
	margin: 10px 0;
	padding: 10px 20px;
	}



input[type=text]{
	padding: 10px;
	min-height: 35px;
	font-size: 1.142em;
	margin: 5px 0 20px;
	border-radius: 3px;
	}
input[type=text].half{
	width: calc(50% - 5px);
	}
input[type=text].wzip{
	width: 100px;
	}
input[type=text].w100{
	width: 100px;
	margin-right: 10px;
	}
input[type=text].w150{
	width: 120px;
	}
input[type=text].w220{
	width: 170px;
	}
.radiostyle {
	display: block;
	/*padding: 0 10px 0 25px; *//* ボックス内側の余白を指定する */
	}
.radiostyle:after {
	left: 10px; /* 左から配置の基準位置を決める */
	}
.radiostyle:before {
	margin-top: -7px; /* チェックマークの位置 */
	left: 15px; /* 左から配置の基準位置を決める */
	}
.radiostyle:after, .radiostyle:before {
	transform: none;
	}
#form_wrap .radio_program01,#form_wrap .radio_program02,#form_wrap .radio_program03{
	margin-top: 10px;
	border-radius: 3px;
	}
#form_wrap .radio_program01 span.txt,#form_wrap .radio_program02 span.txt,#form_wrap .radio_program03 span.txt{
	display: inline-block;
	width: calc(100% - 40px);
	margin-left: 40px;
	padding: 20px 10px;
	border-radius: 0 3px 3px 0;
	}
#form_wrap .flex.align_items_center input[type=text]{
	width: 100%;
	}
#form_wrap .indent{
	text-indent: 0;
	}
#form_wrap .select {
	margin: 5px 0 10px;
	}
select {
	font-size: 1.142em;
	}

.btn_submit{
	margin: 20px auto 0;
	width: 100%;
	height: 50px;
	line-height: 50px;
	font-size: 1.285em;
	border-radius: 50px;
	background-position: right 25px center;
	background-size: 10px 17px;
	box-shadow: 0px 0px 10px 0px rgba(153,153,153,0.5);
	}

.btn_submit:hover{
	background-position: right 25px center;
	}

/*footer*/
footer{
	padding: 20px 0;
	text-align: center;
	}



}
@media screen and (max-width:375px) {
#program_03 .grid_wrap.grid_01{
	grid-template-rows: 182px 200px 113px;
	}
}
@media print{
}