@charset "utf-8";
/* CSS Document */
/*★★★★★★★★テンプレート[始]★★★★★★★★*/

/*===============================================
	reset
===============================================*/
*{margin:0; padding:0; color:#000;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
} 
h1,h2,h3,h4,h5,h6,p,address,
ul,ol,li,dl,dt,dd,
table,caption,th,td,img,form{margin:0; padding:0; border:none; font-style:normal; font-weight:normal; font-size:100%; text-align:left;}
textarea{font-size:100%;}
img{vertical-align:bottom;}
li{list-style:none;}
/*===============================================
	a,text
===============================================*/
a:hover{text-decoration:underline;}
a{text-decoration:none; color:#1800ff;}
/*=============================================== 
	base
===============================================*/
html,body{height:100%;}
/*===============================================
	font
===============================================*/
body{font-family: 'Noto Sans JP', sans-serif;}
input,textarea,select{font-family: 'Noto Sans JP', sans-serif; font-size:12px;}
/* for IE6 */
* html body{font-family: 'Noto Sans JP', sans-serif;}
* html input, * html textarea{font-family: 'Noto Sans JP', sans-serif;}
h1,h2,h3,h4{font-family: 'Noto Sans JP', sans-serif; font-weight: bold; }
/*===============================================
	align
===============================================*/
.center{text-align:center !important; margin: 0 auto !important;}
.textleft{text-align:left !important;}
.textright{text-align:right !important;}

/*===============================================
	他span
===============================================*/
.underL{text-decoration:underline !important;}
.displayN{display:none !important;}
.bold{font-weight:bold !important;}

/*===============================================
	cFix
===============================================*/
/*Opera Fix*/
body:before{content:""; height:100%; float:left; width:0; margin-top:-32767px;}
/*cFix*/
.cFix:after {content:"."; display:block; height:0; clear:both; visibility:hidden;}
* html .cFix {height:1%;}
.cFix {display:block;}

/*===============================================
	共通部分
===============================================*/
#wrap{width: 100%;}
/* img mouse hover */
a:hover img {opacity: 0.7;filter: alpha(opacity=70);-ms-filter: "alpha(opacity=70)";}
.sp{display:none;}
.pc{display: inline;}
p{line-height: 2rem;}
.mb20{margin-bottom: 20px !important;}
.mt80{margin-top: 80px !important;}
.under_red{text-decoration: underline; text-decoration-color: red; text-decoration-style: double; }



@media screen and (max-width:640px) {
	#wrap{width: 100%;}
	p{font-size: 0.9rem; line-height: 1.8rem;}
	.sp{display:inline;}
	.pc{display:none !important;}

}

	
/*===============================================
	個別
===============================================*/

/*ヘッダー*/
header{width: 100%; margin:0 auto 5px; padding: 0 20px;}
.head__logo{float: left; padding-top: 15px; width: 40%;}
.head__logo h1{width: 265px; float: left; margin-right: 20px; }
.head__logo h1 img{width: 100%; display: inline-block;}
.head__navi{float: right; width: 272px; padding-top: 10px;}
.head__navi li{float: left; margin: 10px 0 0 10px;}
.head__navi li img{width: 100%;}
@media screen and (max-width:640px) {
	header{width: 100% ; margin-bottom: 0; padding: 3%; }
	.head__logo{float: none; padding: 0; width: 60%; margin: 0 auto; display: block; text-align: center;}
	.head__logo h1{width: 100%;}
	.head__logo img {width: 100%; margin: 0 auto; text-align: center; display: block;}
	.head__navi{display: none;}
	.head__navi li{display: none;}
	.head__navi li img{display: none;}
}


/*FV*/
#main{ background: url(../img/mainBG.png) no-repeat right top; height: 594px; background-size: cover;}
#main .in{position: relative; margin: 0 auto; width: 1000px;}
#main .main_tx{text-align: center; max-width: 1000px; width: 1000px; position: relative; height: 594px; margin: 0 auto; display: block; bottom: 0;}
#main .main_tx img{ text-align: center; position: absolute; bottom: 0; left: 0; width: 1000px;}
#main .main_btn{ width: 600px; display: block; position: absolute; bottom: 40px;}
#main .main_btn img{ width: 100%;}
@media screen and (max-width:640px) {
	#main{background: url(../img/mainSP.png) center top no-repeat; height: 183vw; padding: 0; background-size: contain; position: relative;}
	#main .in{position: relative; margin: 0 auto; width: 100%; height: 100%;}
	#main .main_tx{display: none;}
	#main .main_tx img{display: none;}
	#main .main_btn{ width: 80%; display: block; position: absolute; bottom: 93vw; left: 10%;}
	#main .main_btn img{ width: 100%;}
}


#problem{width: 100%; padding: 50px 0;}
#problem .in{width: 1000px; margin: 0 auto;}
#problem h2{color: #DF33E7; font-size: 2rem; font-weight: bold; text-align: center; margin-bottom: 30px; letter-spacing: 3px;}
#problem .read{color: #6E6E6E; font-size: 1rem; font-weight: bold; text-align: center; letter-spacing: 1px; margin-bottom: 50px;}
#problem .line{width: 5%; border-bottom: 1px solid #DF33E7; margin: 0 auto 30px;}
#problem ul{display: flex; flex-wrap: wrap; justify-content: center;}
#problem li{width: 31%; margin: 0 1% 30px;}
#problem li img{width: 100%;}
@media screen and (max-width:640px) {
	#problem{width: 100%; padding: 50px 0;}
	#problem .in{width: 100%; margin: 0 auto; padding: 0 5%;}
	#problem h2{color: #DF33E7; font-size: 1.5rem; font-weight: bold; text-align: center; margin-bottom: 10px; letter-spacing: 3px;}
	#problem .read{color: #6E6E6E; font-size: .9rem; font-weight: bold; text-align: center; letter-spacing: 1px; margin-bottom: 30px;}
	#problem .line{width: 5%; border-bottom: 1px solid #DF33E7; margin: 0 auto 10px;}
	#problem ul{display: flex; flex-wrap: wrap; justify-content: center;}
	#problem li{width: 48%; margin: 0 1% 30px;}
	#problem li img{width: 100%;}
}


#kaiketsu{width: 100%; padding: 100px 0 50px; background-image: linear-gradient(90deg, #adebff, #ffbeef); position: relative;}
#kaiketsu:after{content: ""; position: absolute; width: 10%; left: 45%; background: url(../img/triangle.png) no-repeat top;
 height: 45px; background-size: contain; top: 0;}
#kaiketsu .in{width: 1000px; margin: 0 auto;}
#kaiketsu .left{float: left; width: 600px;}
#kaiketsu .right{float: right; width: 400px;}
#kaiketsu .ttl{color: #fff; font-size: 2.2rem; font-weight: bold;  margin-bottom: 10px; letter-spacing: 3px; padding: 10px;
 background: #0095FF; display: inline-block;}
#kaiketsu .read{color: #6E6E6E; font-size: 1rem; font-weight: bold; letter-spacing: 1px; margin-bottom: 50px;}
#kaiketsu .right img{width: 100%;}
@media screen and (max-width:640px) {
	#kaiketsu{width: 100%; padding: 50px 0; background-image: linear-gradient(90deg, #adebff, #ffbeef); position: relative;}
	#kaiketsu:after{content: ""; position: absolute; width: 20%; left: 40%; background: url(../img/triangle.png) no-repeat top;
	 height: 45px; background-size: contain; top: 0;}
	#kaiketsu .in{width: 100%; margin: 0 auto; padding: 0 5%;}
	#kaiketsu .left{float: left; width: 100%;}
	#kaiketsu .right{float: right; width: 100%;}
	#kaiketsu .ttl{color: #fff; font-size: 1.3rem; font-weight: bold;  margin-bottom: 10px; letter-spacing: 1px; padding: 10px;
	 background: #0095FF; display: inline-block;}
	#kaiketsu .read{color: #000; font-size: 1rem; font-weight: bold; letter-spacing: 1px; margin-bottom: 50px;}
	#kaiketsu .right img{width: 60%; margin: 0 auto; display: block; text-align: center;}
}


.cta{width: 100%; padding: 30px 0; background: url(../img/ctaBG.png) repeat-x; background-size: cover;}
.cta .in{width: 600px; margin: 0 auto; background: #fff; filter: drop-shadow(0 0 10px rgba(100,100,100,0.3)); border-radius: 20px; padding: 30px 20px;}
.cta p{text-align: center; font-weight: bold; font-size: 1.1rem; margin-bottom: 20px;}
.cta .mail{ width:400px; margin: 0 auto;}
.cta .mail img{ width:100%; }
@media screen and (max-width:640px) {
	.cta{width: 100%; padding: 30px 0; background: url(../img/ctaBgSp.png) repeat-x; background-size: cover;}
	.cta .in{width: 80%; margin: 0 auto; background: #fff; filter: drop-shadow(0 0 10px rgba(100,100,100,0.3)); border-radius: 20px; padding: 30px 20px;}
	.cta p{text-align: center; font-weight: bold; font-size: 1rem; margin-bottom: 20px;}
	.cta .mail{ width:80%; margin: 0 auto;}
	.cta .mail img{ width:100%; }
}


#service{width: 100%; padding: 50px 0;}
#service .in{width: 1008px; margin: 0 auto;}
#service h2{color: #DF33E7; font-size: 2rem; font-weight: bold; text-align: center; margin-bottom: 30px; letter-spacing: 3px;}
#service .read{color: #6E6E6E; font-size: 1rem; font-weight: bold; text-align: center; letter-spacing: 1px; margin-bottom: 50px;}
#service .line{width: 5%; border-bottom: 1px solid #DF33E7; margin: 0 auto 30px;}
#service ul{display: flex; flex-wrap: wrap; justify-content: center;}
#service li{width: 100%; margin: 0 0 30px;}
#service li img{width: 100%;}
@media screen and (max-width:640px) {
	#service{width: 100%; padding: 50px 0;}
	#service .in{width: 100%; margin: 0 auto;}
	#service h2{color: #DF33E7; font-size: 1.5rem; font-weight: bold; text-align: center; margin-bottom: 10px; letter-spacing: 3px;}
	#service .read{color: #6E6E6E; font-size: .9rem; font-weight: bold; text-align: center; letter-spacing: 1px; margin-bottom: 30px;}
	#service .line{width: 5%; border-bottom: 1px solid #DF33E7; margin: 0 auto 10px;}
	#service ul{display: flex; flex-wrap: wrap; justify-content: center;}
	#service li{width: 100%; margin: 0 0 30px;}
	#service li img{width: 100%;}
}


#planning{width: 100%; padding: 50px 0; background: linear-gradient(to bottom, #FFF6FE 0%, #FFF6FE 80%, #fff 80%, #fff 100%);
}
#planning .in{width: 1000px; margin: 0 auto;}
#planning h2{color: #DF33E7; font-size: 2rem; font-weight: bold; text-align: center; margin-bottom: 30px; letter-spacing: 3px;}
#planning .read{color: #6E6E6E; font-size: 1rem; font-weight: bold; text-align: center; letter-spacing: 1px; margin-bottom: 50px;}
#planning .line{width: 5%; border-bottom: 1px solid #DF33E7; margin: 0 auto 30px;}
#planning .img{width: 100%; margin: 0 auto; background: #fff; filter: drop-shadow(0 0 10px rgba(100,100,100,0.3));
 border-radius: 20px; padding: 30px 20px; }
#planning .img img{width: 688px; margin: 0 auto; display: block; text-align: center; padding: 50px;}
@media screen and (max-width:640px) {
	#planning{width: 100%; padding: 50px 0; background: linear-gradient(to bottom, #FFF6FE 0%, #FFF6FE 80%, #fff 80%, #fff 100%);
	}
	#planning .in{width: 100%; margin: 0 auto; padding: 0 5%;}
	#planning h2{color: #DF33E7; font-size: 1.5rem; font-weight: bold; text-align: center; margin-bottom: 10px; letter-spacing: 3px;}
	#planning .read{color: #6E6E6E; font-size: .9rem; font-weight: bold; text-align: center; letter-spacing: 1px; margin-bottom: 30px;}
	#planning .line{width: 5%; border-bottom: 1px solid #DF33E7; margin: 0 auto 10px;}
	#planning .img{width: 100%; margin: 0 auto; background: #fff; filter: drop-shadow(0 0 10px rgba(100,100,100,0.3));
	 border-radius: 20px; padding: 30px 20px; }
	#planning .img img{width: 100%; margin: 0 auto; display: block; text-align: center; padding: 0;}
}


#case{width: 100%; padding: 50px 0 0;}
#case .in{width: 100%; margin: 0 auto;}
#case h2{color: #DF33E7; font-size: 2rem; font-weight: bold; text-align: center; margin-bottom: 30px; letter-spacing: 3px;}
#case .read{color: #6E6E6E; font-size: 1rem; font-weight: bold; text-align: center; letter-spacing: 1px; margin-bottom: 50px;}
#case .line{width: 5%; border-bottom: 1px solid #DF33E7; margin: 0 auto 30px;}
#case ul{display: flex; flex-wrap: wrap; justify-content: center;}
#case li{width: 100%; margin: 0 0 30px;}
#case li img{width: 100%;}
#case .flex{width: 100%; display: flex;}
#case .voicearea{width: 100%; display: flex; flex-wrap: wrap; margin-bottom: 50px;}
#case .voice{width: 489px; min-height: 489px; margin: 0 20px;}
#case .voice img{width: 100%;}
@media screen and (max-width:640px) {
	#case{width: 100%; padding: 0 0 0;}
	#case .in{width: 100%; margin: 0 auto;}
	#case h2{color: #DF33E7; font-size: 1.5rem; font-weight: bold; text-align: center; margin-bottom: 10px; letter-spacing: 3px;}
	#case .read{color: #6E6E6E; font-size: .9rem; font-weight: bold; text-align: center; letter-spacing: 1px; margin-bottom: 30px;}
	#case .line{width: 5%; border-bottom: 1px solid #DF33E7; margin: 0 auto 10px;}
	#case ul{display: flex; flex-wrap: wrap; justify-content: center;}
	#case li{width: 100%; margin: 0 0 30px;}
	#case li img{width: 100%;}
	#case .flex{width: 100%; display: flex;}
	#case .voicearea{width: 100%; display: flex; flex-wrap: wrap; margin-bottom: 50px;}
	#case .voice{width: 300px; min-height: 300px; margin: 0 10px;}
	#case .voice img{width: 100%;}
}


#flow{width: 100%; padding: 50px 0; background: #F8F8F8;}
#flow .in{width: 1000px; margin: 0 auto;}
#flow h2{color: #DF33E7; font-size: 2rem; font-weight: bold; text-align: center; margin-bottom: 30px; letter-spacing: 3px;}
#flow .read{color: #6E6E6E; font-size: 1rem; font-weight: bold; text-align: center; letter-spacing: 1px; margin-bottom: 50px;}
#flow .line{width: 5%; border-bottom: 1px solid #DF33E7; margin: 0 auto 30px;}
#flow ul{display: flex; flex-wrap: wrap; justify-content: center;}
#flow li{width: 23%; margin: 0 1% 30px;}
#flow li img{width: 100%;}
@media screen and (max-width:640px) {
	#flow{width: 100%; padding: 50px 0; background: #F8F8F8;}
	#flow .in{width: 100%; margin: 0 auto; padding: 0 5%;}
	#flow h2{color: #DF33E7; font-size: 1.5rem; font-weight: bold; text-align: center; margin-bottom: 10px; letter-spacing: 3px;}
	#flow .read{color: #6E6E6E; font-size: .9rem; font-weight: bold; text-align: center; letter-spacing: 1px; margin-bottom: 30px;}
	#flow .line{width: 5%; border-bottom: 1px solid #DF33E7; margin: 0 auto 10px;}
	#flow ul{display: flex; flex-wrap: wrap; justify-content: space-between;}
	#flow li{width: 47%; margin: 0 1% 20px;}
	#flow li img{width: 100%;}
}


#faq{width: 100%; padding: 50px 0; }
#faq .in{width: 1000px; margin: 0 auto;}
#faq h2{color: #DF33E7; font-size: 2rem; font-weight: bold; text-align: center; margin-bottom: 30px; letter-spacing: 3px;}
#faq .read{color: #6E6E6E; font-size: 1rem; font-weight: bold; text-align: center; letter-spacing: 1px; margin-bottom: 50px;}
#faq .line{width: 5%; border-bottom: 1px solid #DF33E7; margin: 0 auto 30px;}
#faq .faq__Q { cursor: pointer; font-size: 1.1rem; padding: 13px 30px 17px 15px; width: 100%; position: relative;  margin-bottom: 30px;
 background: #FFF6FE; display: block; font-weight: bold; line-height: 2rem; border-radius: 5px;}
#faq .faq__Q:hover { text-decoration: underline;}
#faq .faq__Q:before{content: "Q"; position: absolute; top: 13px; font-size: 1.5rem; color: #DF33E7;}
#faq .faq__Q:after {width: 0; height: 0; position: absolute; top: 46%; right: 3%; border: 8px solid transparent; border-top-color: #DF33E7; content: '';}
#faq .faq__A { display: none; padding:0 0 10px 15px; width: 100%; font-size: 1.1rem; line-height: 2rem; margin: 0 auto 50px; color: #000; position: relative;}
#faq .faq__Q p{color: #000; padding:3px 0 0 40px; }
#faq .faq__A p{color: #000; padding:3px 0 0 40px; color: #000;}
#faq .faq__A:before{content: "A"; position: absolute; top: 2px; font-size: 1.5rem; font-weight: bold; color: #DF33E7;}
@media screen and (max-width:640px) {
	#faq{width: 100%; position: relative; padding: 50px 0;}
	#faq h2{color: #DF33E7; font-size: 1.5rem; font-weight: bold; text-align: center; margin-bottom: 10px; letter-spacing: 3px;}
	#faq .read{color: #6E6E6E; font-size: .9rem; font-weight: bold; text-align: center; letter-spacing: 1px; margin-bottom: 30px;}
	#faq .line{width: 5%; border-bottom: 1px solid #DF33E7; margin: 0 auto 10px;}
	#faq .in{width: 100%; margin: 0 auto; padding: 0 5%;}
	#faq .faq__Q { cursor: pointer; color: #000; font-size: 1rem; padding: 13px 30px 17px 10px; width: 100%; position: relative; border-radius: 10px;
	 display: block; font-weight: bold; line-height: 2rem; margin-bottom: 20px;}
	#faq .faq__Q:hover { text-decoration: underline;}
	#faq .faq__Q:before{position: absolute; background-size: contain; position: absolute; top: 50%; font-size: 1.5rem;
	transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%);}
	#faq .faq__Q:after {width: 0; height: 0; position: absolute; top: 46%; right: 3%; border: 8px solid transparent; border-top-color: #DF33E7; content: '';}
	#faq .faq__Q p{padding:3px 0 0 30px; line-height: 1.2rem;}
	#faq .faq__A { display: none; padding:0 0 10px 11px; width: 100%; font-size: 0.9rem; line-height: 2rem; margin: 0 auto 30px; color: #fff}
	#faq .faq__A p{padding:3px 0 0 30px; line-height: 1.5rem;}
	#faq .faq__A:before{position: absolute; background-size: contain; font-size: 1.3rem;}
	#faq .faq__A a{color: #F9F392;}
}


#about{background: #F2F2F2; padding: 50px 0; }
#about .in{width: 950px; margin: 0 auto; }
#about h2{font-size: 1.8rem; font-weight: bold; letter-spacing: 1px; text-align: center; position: relative; margin-bottom: 50px;}
#about h2::after{position: absolute; content: ""; left: 0; right: 0; margin: 0 auto; display: block; border-bottom: 1px solid #000;
 width: 100px; padding-bottom: 10px;}
#about table{width: 700px; margin: 20px auto 0;}
#about table th{font-weight: bold; width: 25%;}
#about table th,#about table td{border-bottom: 1px solid #000; margin-bottom: 20px; padding: 15px 0;}
#about a{color: #139e66;}
#about p{text-align: center; padding: 20px 0;}
@media screen and (max-width:640px) {
	#about{background: #F2F2F2; padding: 30px 5%; }
	#about .in{width: 100%;}
	#about h2{width: 100%; margin: 0 auto; font-size: 1.3rem; margin-bottom: 30px;}
	#about table{width: 90%; margin: 0 auto;}
	#about table th{font-weight: bold; width: 25%;}
	#about table th,#about table td{border-bottom: 1px solid #000; margin-bottom: 20px; padding: 15px 0; font-size: 0.9rem;}
}


/*フォーム*/
.formWrap__bg{width: 100%; padding: 50px 0; background-image: linear-gradient(90deg, rgba(173, 235, 255, 1), rgba(255, 190, 239, 1));}
#formWrap{width: 1000px; background: #fff; margin: 0 auto; padding: 40px; border-radius: 10px;
 filter: drop-shadow(0 0 10px rgba(100,100,100,0.1));}
.formWrap__bg h2{color: #DF33E7; font-size: 2rem; font-weight: bold; text-align: center; margin-bottom: 30px; letter-spacing: 3px;}
.formWrap__bg .read{color: #6E6E6E; font-size: 1rem; font-weight: bold; text-align: center; letter-spacing: 1px; margin-bottom: 50px;}
.formWrap__bg .line{width: 5%; border-bottom: 1px solid #DF33E7; margin: 0 auto 30px;}
.formTable{width: 800px; margin: 0 auto;}
.formTable th {width: 28%; font-size: 0.9rem; font-weight: bold; padding: 10px; border: #fff 3px solid;  }
.formTable th span{color: #fff; font-weight: bold; background: #ff6464; display: inline-block; padding: 1px 5px; float: right;}
/*.formTable .th2 {background: #eee;}*/
.formTable td{width: 72%; border: 10px solid #fff;}
.formTable .formtextarea{width: 80%;}
.formTable input ,.formTable select{padding: 10px; border: 1px solid #ccc; font-size: 1rem; margin-right: 5px;}
.formTable .serect_margin input{margin-bottom: 7px;}
.formTable label{ margin-right: 30px; }
.formTable textarea{width: 100%; padding: 10px; border: 1px solid #ccc; font-size: 1rem; }
::placeholder{color: #ccc}
.formWrap__botton{text-align: center; margin:20px auto;}
.formWrap__botton__submit{ background: #E40000; width: 350px; height:80px; border: none; border-radius: 10px; color: #fff; font-size: 1.2rem;}
.formWrap__botton__submit:hover {opacity: 0.7;filter: alpha(opacity=70);-ms-filter: "alpha(opacity=70)";}
.formWrap__policy{width: 800px; height: 200px; margin: 30px auto 30px ; overflow: auto;  border: 1px solid #ccc; padding: 20px;}
.formWrap__policy p{font-size: 0.8rem; margin-bottom: 20px; line-height: 1.5rem;}
.formTable__sutxt{font-size: 0.7rem; line-height: 1.5rem;}
.formTable__short span{padding: 12px 0 0 20px; display: inline-block;}
.formTable__short input{width: 70% !important; float: right; margin-bottom: 10px; display: inline-block;}
.formTable__short__red{font-size: 0.8rem; color: #f00;}
#formWrap .form__date input{width: 50%;}
.form_select_tx{font-size: 0.8rem; color: #f00;}
.form_select_tx span{color: #f00; font-weight: bold;}
.formWrap__policy__agree{text-align: center; margin-top: 20px auto;}

/*確認画面*/
.formWrap__txt{text-align: center; margin-bottom: 30px;}

/*フォーム機能*/
#formWrap2{width: 800px; margin: 50px auto;}
.error_messe_h3{text-align: center; background: #fcc; padding: 20px; width: 100%; font-weight: bold; font-size: 1.1rem; margin-bottom: 20px;}
.error_messe{color: #f00; font-weight: bold; background: #fee; padding: 10px; margin-bottom: 10px;}
.form__error__back{color: #fff; padding: 20px ; border:none; font-size: 1.1rem; letter-spacing: 2px; background: #888; border-radius: 10px; width: 30%; }
.form__error__next{color: #fff; padding: 20px ; border:none; font-size: 1.1rem; letter-spacing: 2px;
 background: #E40000; border-radius: 10px; width: 30%; margin-bottom: 10px; font-weight: bold;}
.form__fix__h3{text-align: center; padding: 20px; color: #fff; background: #DF33E7; font-size: 1.3rem; letter-spacing: 2px; margin-bottom: 20px; font-weight: bold;}
.form__fix__h3__tx{text-align: center; margin-bottom: 20px;}

/*サンキューページ*/
.form__submit{width: 100%; background: #DF33E7; padding: 30px 0;}
.form__submit h2{text-align: center; color: #fff; font-weight: bold; font-size: 1.2rem;}
.form__submit__area{margin: 20px 0 0;}
.form__submit__sub{background-color: #fff200; padding: 5px; border-radius: 10px; text-align: center; margin: -21px auto 0; font-size: 1.2rem; letter-spacing: 1px; width: 350px; font-weight: bold;}
.form__submit__txtarea{width: 800px; margin: 20px auto; padding: 100px 0;}
.form__submit__btn{margin: 0 auto 30px; display: block; text-align: center; width: 50%;}
.form__submit__btn img{width: 100%;}


/*フォーム*/
@media screen and (max-width:640px) {
	.formWrap__bg{width: 100%; margin: 0 auto;}
	#formWrap{width: 90%; margin: 0 auto; padding: 15px;}
	.formWrap__bg h2{color: #DF33E7; font-size: 1.5rem; font-weight: bold; text-align: center; margin-bottom: 10px; letter-spacing: 3px;}
	.formWrap__bg .read{color: #6E6E6E; font-size: .9rem; font-weight: bold; text-align: center; letter-spacing: 1px; margin-bottom: 30px;}
	.formWrap__bg .line{width: 5%; border-bottom: 1px solid #DF33E7; margin: 0 auto 10px;}
	.formTable{width: 100% !important; padding: 0;}
	.formTable th {width: 100% !important; border: 4px solid #fff; display: block; padding: 0px;}
	.formTable td {font-size: 0.9rem;}
	.formTable .th2 {background: #eee;}
	.formTable td{width: 100% !important; border: 0; display: block;}
	.formTable input{ margin-bottom: 10px;}
	.formTable textarea{width: 100%; padding: 10px; }
	.formWrap__botton{text-align: center; margin:20px auto;}
	.formWrap__botton__submit{ width: 70%; height:15vw; background-size: contain; font-size: 1.1rem; }
	.formWrap__botton{text-align: center; margin:20px auto;}
	.formWrap__policy{width: 100%; height: 150px; margin: 30px auto ; overflow: auto;  border: 1px solid #ccc; padding: 20px;}
	.formWrap__policy p{font-size: 0.8rem; margin-bottom: 20px; line-height: 1.5rem;}
	.formTable__sutxt{line-height: 1.0rem; margin-top: 3px;}
	#formWrap .form__date input{width: 80%;}
	.formTable .formtextarea{width:100%;}
	.formTable .formtextareaADD{width:60%;}
	.formTable label{line-height: 2rem; font-size: 0.95rem; padding-left: 3vw;}
	.formWrap__policy__agree{text-align: center; margin-top: 20px auto;}
	input[type="submit"], input[type="button"] { -webkit-appearance: none; }
	.formTable .serect_margin input{margin-bottom: 7px; font-size: 0.8rem;}
	.formTable .serect_margin select{margin-bottom: 15px; font-size: 0.8rem;}

	/*フォーム機能*/
	#formWrap2{width: 90%; margin: 10px auto 50px;}
	.error_messe_h3{ font-size: 1.0rem; }
	.error_messe{ margin:0 auto 10px; width: 95%;}
	.form__error__back{font-size: 1.0rem; letter-spacing: 1px; border-radius: 10px; width: 50%; margin: 0 auto; display: block;}
	.form__error__next{font-size: 1.0rem; letter-spacing: 1px; border-radius: 10px; width: 50%; margin-bottom: 10px; font-weight: bold;}
	.form__fix__h3{padding: 10px; margin-top: 30px;}
	.form__fix__h3__tx{padding: 0 20px;}

	/*サンキューページ*/
	.form__submit{width: 100%; padding: 20px 0; margin: 0 0 20px;}
	.form__submit  h2{font-weight: bold; text-align: center; font-size: 1.0rem;}
	.form__submit__sub{margin: 20px auto 0; font-size: 1.0rem; letter-spacing: 1px; width: 80%; font-weight: bold;}
	.form__submit__txtarea{width: 90%; margin: 0 auto 30px;}
	.form__submit__area{width: 100%; margin: 0 auto;}
	.form__submit__area a{width: 50%; margin: 0 auto;}
	.form__submit__area img{width: 80%; margin: 20px auto; display: block;}
	.form__submit__btn{width: 100%;}
}


/*コピーライト*/
#cnt_copy p{background: #DF33E7; text-align: center; padding: 10px; color: #fff;}
#cnt_copy2 p{background: #DF33E7; text-align: center; padding: 10px; color: #fff;}
@media screen and (max-width:640px) {
	/*コピーライト*/
	#cnt_copy p{font-size: 0.8rem; padding: 10px 0;}
	#cnt_copy2 p{text-align: center; padding: 10px; color: #fff;}
}




#cta_sp{display: none;}
#cta_sp p{display: none;}
#cta_sp img{display: none;}
@media screen and (max-width:640px) {
	/*cta_sp*/
	#cta_sp{display: block; position: fixed; width: 100%; bottom: 0; z-index: 9999; background-size: 20%; background: #DF33E7; padding: 5px; height: auto;}
	#cta_sp p{margin: 0 auto; text-align: center; color: #fff; font-weight: bold; padding: 0; display: block; font-size: 1rem;}
	#cta_sp ul{ display:flex; flex-wrap:wrap; justify-content: space-between; padding: 0 1%;}
	#cta_sp li{width: 50%; }
	#cta_sp img{width: 100%; display: block;}
	#cta_sp a{
		position: relative;
		display: block;
		width: 100%;
		overflow: hidden;}
	#cta_sp a::after {
		content: '';
		position: absolute;
		top: -10%;
		left: -20%;
		width: 40px;
		height: 100%;
		transform: scale(2) rotate(20deg);
		background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .5) 100%, rgba(255, 255, 255, 0) 0%);
		/* アニメーション */
		animation-name: shiny;
		animation-duration: 3s;
		animation-timing-function: ease-in-out;
		animation-iteration-count: infinite;}
	@keyframes shiny {
		0% { left: -20%; }
		10% { left: 120%; }
		100% { left: 120%; }
	}
	#cta_sp2 .cta_sp2_line{position: fixed; bottom: 23vw; right: 1vw; width: 34vw; z-index: 9999; display: block;}
	#cta_sp2 .cta_sp2_line img{width: 100%;}
}


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

	/*===============================================
	ハンバーガーアイコンをCSSだけで表現
	===============================================*/
	#nav-drawer {position: relative;}
	/*アイコンのスペース*/
	#nav-open {
	  display: inline-block;
	  width: 30px;
	  height: 22px;
	  vertical-align: middle;
	  position: fixed;
	  top: 10px;
	  right: 10px;
	  z-index: 9999;
	}
	#nav-open span, #nav-open span:before, #nav-open span:after {
	  position: absolute;
	  height: 4px;/*線の太さ*/
	  width: 30px;/*長さ*/
	  border-radius: 3px;
	  background: #DF33E7;
	  display: block;
	  content: '';
	  cursor: pointer;
	}
	#nav-open span:before {
	  bottom: -8px;
	}
	#nav-open span:after {
	  bottom: -16px;
	}
	/*閉じる用の薄黒カバー*/
	#nav-close {
	  display: none;/*はじめは隠しておく*/
	  position: fixed;
	  z-index: 99;
	  top: 0;/*全体に広がるように*/
	  left: 0;
	  width: 100%;
	  height: 100%;
	  background: black;
	  opacity: 0;
	  transition: .3s ease-in-out;
	}
	/*中身*/
	#nav-content {
	  overflow: auto;
	  position: fixed;
	  top: 0;
	  right: 0;
	  z-index: 9999;/*最前面に*/
	  width: 60%;/*右側に隙間を作る（閉じるカバーを表示）*/
	  max-width: 330px;/*最大幅（調整してください）*/
	  height: 100%;
	  background: #fff;/*背景色*/
	  transition: .3s ease-in-out;/*滑らかに表示*/
	  -webkit-transform: translateX(105%);
	  transform: translateX(105%);/*左に隠しておく*/
	}
	/*チェックが入ったらもろもろ表示*/
	#nav-input:checked ~ #nav-close {
	  display: block;/*カバーを表示*/
	  opacity: .5;
	}
	#nav-input:checked ~ #nav-content {
	  -webkit-transform: translateX(0%);
	  transform: translateX(0%);/*中身を表示（右へスライド）*/
	  box-shadow: 6px 0 25px rgba(0,0,0,.15);
	  background: #000;
	  background: rgba(0,0,0,0.3);
	  z-index: 99999;
	}
	/*チェックボックス等は非表示に*/
	.nav-unshown {
	  display:none;
	}
	.MainImage_navi li{background: #fff; width: 80%; margin:13px auto; text-align: center; font-size: 0.9rem;}
	.MainImage_navi li a{ color: #000; width: 100%; display: block; padding: 5px; font-size: 0.9rem;}
	.MainImage_navi .MainImage_navi_link{background: none;}
	.MainImage_navi .MainImage_navi_link a{width: 100%; padding: 0;}
	.MainImage_navi .MainImage_navi_link img{width: 100%;}
	/*===============================================
	ハンバーガーアイコン終わり
	===============================================*/

	/*20250123追加*/
	#chart{width: 100%; background: #DF33E7; padding: 30px 5%;}
	#chart .in{width: 100%; margin: 0 auto;}
	#chart .in img{width: 100%;}
	#chart h2{font-size: 1.3rem; letter-spacing: 1px; position: relative; margin-bottom: 30px;}
	#chart h2::after{position: absolute; content: ""; left: 0; right: 0; margin: 0 auto; display: block; border-bottom: 1px solid #fff;
	 width: 100px; padding-bottom: 10px;}


}
