@charset "UTF-8";
.sp_not_shown {
	display: none;
}
.sp_shown {
	display: block !important;
}
body{
	font-size: 4.10256vw;
}
body img.pc,
body br.pc{
	display: none !important;
}
/*******************************************************************************
	header
*******************************************************************************/
header{
	/* padding: 5.1282vw 0 0; */
}
header h1{
	width: 65.3846vw;
	margin: 0 0 8vw 5.1282vw;
}
header h2{
	width: 79.4872vw;
	margin: 0 auto 8vw;
}
header p{
	width: 90vw;
	margin: 0 auto;
	text-align: left;
}
header p.attention{
	margin: 7.6923vw auto 0;
	font-size: 3.0769vw;
}
/*******************************************************************************
	nav
*******************************************************************************/
p.menu{
	right: 5.1282vw;
	top: 5.1282vw;
}
p.menu a{
	width: 10.2564vw;
	height: 10.2564vw;
	border-radius: 5.1282vw;
	box-shadow: 0 0 5.1282vw 0 rgba(224,144,128,0.3);
}
p.menu a:before,
p.menu a:after{
	top: calc(50% - 1vw);
	width: 6.2vw;
}
p.menu a:after{
	top: calc(50% + 1vw);
}
nav .inner{
	margin: 0 auto;
	padding: 20vw 7.5vw 7.5vw;
}
nav .inner:after{
	bottom: -15.3846vw;
	height: 15.3846vw;
	background-image: url("../img/bg_nav_sp.png");
	background-size: 100% auto;
}
nav p.close{
	right: 5.1282vw;
	top: 5.1282vw;
}
nav p.close a{
	width: 10.2564vw;
	height: 10.2564vw;
	border-radius: 5.1282vw;
}
nav p.close a:before,
nav p.close a:after{
	width: 6.2vw;
}
nav .inner ul li{
	position: relative;
	padding: 3.8462vw 0 3.8462vw 8.9744vw;
}
nav .inner ul li:before{
	left: 2.5641vw;
	top: calc(50% - 1vw);
	width: 1.5385vw;
	height: 1.5385vw;
	border-radius: 0.76923vw;
}
nav .inner ul li a{
	font-size: 4.61538vw;
}
/*******************************************************************************
	footer
*******************************************************************************/
footer{
	padding: 23.0076vw 0 7.6923vw;
}
footer small{
	font-size: 2.5641vw;
}
/*******************************************************************************
	main
*******************************************************************************/
main form{
	margin: 8vw 0 0;
	padding: 0 5vw 20.5128vw;
}
main form:after{
	bottom: -15.3846vw;
	height: 15.3846vw;
	background-image: url("../img/bg_form_bottom_sp.png");
	background-size: 100% auto;
}
main form .inner{
	max-width: initial;
}
main form fieldset{
	display: block;
	padding: 5.1282vw 0;
}
main form fieldset p.title,
main form fieldset label.title{
	width: auto;
	padding: 0;
	margin: 0 0 2.5641vw;
}
main form fieldset p.title:has(.required),
main form fieldset label.title:has(.required){
	padding: 0 0 0 15.3846vw;
}
main form fieldset p.title .required,
main form fieldset label.title .required{
	width: 12.3077vw;
	height: 6.6667vw;
	border-radius: 1.0256vw;
}
main form fieldset.text input[type="text"]{
	width: 100%;
	height: 10.7692vw;
	padding: 0 2.5641vw;
	border-radius: 1.0256vw;
}
main form fieldset.text textarea{
	height: 37.1795vw;
	padding: 2.5641vw;
	border-radius: 1.0256vw;
}
main form fieldset.text p{
	margin: 1.2821vw 0 0;
}
main form fieldset.text p + input[type="text"]{
	margin: 1.2821vw 0 0;
}
main form fieldset.select .select{
	margin: 0 2.5641vw 0 0;
}
main form fieldset.select .select:after{
	right: 2.5641vw;
	top: calc(50% - 1vw);
	width: 3.6vw;
	height: 2vw;
	background-size: contain;
}
main form fieldset.select .select select{
	height: 10.7692vw;
	padding: 0 7.6923vw 0 2.5641vw;
	border-radius: 1.0256vw;
}
main form fieldset.radio{
	padding-bottom: 1.2821vw;
}
main form fieldset.radio .wrap{
	display: flex;
	flex-direction: column;
}
main form fieldset.radio .wrap label{
	padding: 0 0 0 6.6667vw;
	margin: 0 0 2.5641vw;
}
main form fieldset.radio .wrap label input{
	display: none;
}
main form fieldset.radio .wrap label:has(input):before{
	top: calc(50% - 2.5vw);
	width: 5vw;
	height: 5vw;
	border-radius: 2.5vw;
}
main form fieldset.radio .wrap label:has(input):after{
	left: calc(1vw);
	top: calc(50% - 1.5vw);
	width: 3vw;
	height: 3vw;
	background: #fff;
	border-radius: 3vw;
}
main form fieldset.checkbox{
	padding-bottom: 1.2821vw;
}
main form fieldset.checkbox .wrap{
	flex-direction: column;
}
main form fieldset.checkbox .wrap label,
main form fieldset.privacy label{
	padding: 0 0 0 6.6667vw;
	margin: 0 5.1282vw 2.5641vw 0;
}
main form fieldset.checkbox .wrap label input,
main form fieldset.privacy label input{
	display: none;
}
main form fieldset.checkbox .wrap label:has(input):before,
main form fieldset.privacy label:has(input):before{
	top: calc(50% - 2.5vw);
	width: 5vw;
	height: 5vw;
	border-radius: 1.0256vw;
}
main form fieldset.checkbox .wrap label:has(input):after,
main form fieldset.privacy label:has(input):after{
	width: 5vw;
	height: 5vw;
	left: 0;
	top: calc(50% - 2.5vw);
	font-size: 3.5897vw;
}
main form fieldset.select p{
	margin: 1.0256vw 0 0;
}
main form fieldset.privacy{
	max-width: 80vw;
	margin: 15.3846vw auto 0;
}
main form fieldset.btn{
	max-width: 80vw;
	margin: 15.3846 auto 0;
}
main form fieldset.btn input[type="reset"]{
	order: 2;
	width: 41.0256vw;
	height: 11.7948vw;
	border-radius: 2.5641vw;
}
main form fieldset.btn input[type="submit"]{
	order: 1;
	width: 41.0256vw;
	height: 16.4103vw;
	margin: 0 0 7.6923vw;
	background: #E09080;
	border-radius: 2.5641vw;
	font-size: 5.1282vw;
}
main form fieldset.btn p{
	order: 3;
	margin: 10.2564vw 0 0;
	padding: 3.8462vw 0;
}
/****************************************
	privacy
****************************************/
#privacy .inner{
	max-width: 90vw;
	max-height: 80vh;
	top: 20px;
	padding: 5vw 5vw 5vw;
	background: #fff;
	border-radius: 2.5641vw;
}
#privacy .inner h2{
	padding: 0 5vwx 5vw;
	margin: 0 -5vw 5vw;
	font-size: 4.6154vw;
}
#privacy .inner h3{
	margin: 7.6923vw 0 2.5641vw;
}
#privacy .inner p{
	margin: 0 0 5.1282vw;
}
#privacy .inner p.close{
	right: 5.1282vw;
	top: 4vw;
}
#privacy .inner p.close a{
	display: block;
	width: 5.1282vw;
	height: 5.1282vw;
}
#privacy .inner p.close a:before,
#privacy .inner p.close a:after{
	width: 5.1282vw;
	height: 0.7692vw;
}
/****************************************
	complete
****************************************/
main section.complete{
	min-height: calc(100vh - 68vw);
	padding: 0 5vw 15.3846vw;
}
main section.complete:after{
	bottom: -15.3846vw;
	height: 15.3846vw;
	background-image: url("../img/bg_form_bottom_sp.png");
	background-size: 100% auto;
}
main section.complete h2{
	width: 79.4872vw;
	margin: 0 0 15.3846vw;
}
main section.complete p{
	text-align: left;
}
main section.complete p.btn{
	width: 56.4103vw;
	margin: 15.3846vw auto 0;
}
main section.complete p.btn a{
	height: 16.4103vw;
	border-radius: 2.5641vw;
	font-size: 5.1282vw;
}
.pref_txt {
	width: 112% !important;
	height: 10.7692vw !important;
	margin: 8px 0 0;
}
#term_wrap {
	/* width: 70%; */
}
#term {
	overflow-x: hidden;
}
.confirm-form fieldset {
    margin-bottom: 10px;
}
.confirm-form fieldset label.title {
	padding: 0;
	margin-bottom: 3px;
}