@charset "UTF-8";

#form_wrap {
	width:100%;
	max-width:106rem;
	padding:0 8rem;
	margin:0 auto ;
}

/*-------------------------------
	form
-------------------------------*/

.form_list {
	display: -webkit-box;
	display: flex;
	flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	margin:0rem auto 3rem;
}

.form_list dt,
.form_list dd {
	position:relative;
	font-size:2.4rem;
}

.form_list dt {
	width:29rem;
	padding:5rem 0;
}

.form_list span.label-required {
	font-size:2.4rem;
	display: block;
	position:relative;
	padding-right:6.5rem;
}

.form_list span.label-required::after {
	content:"必須";
	display: inline-block;
	font-size:1.6rem;
	line-height:1.25;
	font-family: inherit;
	padding:0 0.5em;
	border-radius: 2em;
	background:#00AFCC;
	color:#fff;
	position:absolute;
	right:0;
	top:0.35em;
}

.form_list dd {
	width:calc(100% - 29rem);
	padding:4rem 0 4rem 11rem;
}

.form_list dd.check_wrap > span {
	display: block;
}

.form_list dd.check_wrap > span:first-of-type {
	margin-top:1rem;
}

.form_list dd.check_wrap > span:not(:last-of-type) {
	margin-bottom:3rem;
}

.form_list dd span {
	font-size:2.4rem;
}

.form_list dd.check_wrap .label_wrap label {
	cursor: pointer;
}

/*-------------------------------
	スマホ時の装飾を削除
-------------------------------*/

input[type="text"],
input[type="email"],
input[type="number"],
button,
input[type="submit"],
textarea  {
	border-radius: 0;
	border:none;
	-webkit-appearance: none;
}

/*-------------------------------
	input type
-------------------------------*/

input[type="text"],
input[type="email"],
input[type="number"] {
	background:#fff;
	width:100%;
	max-width:100%;
	font-size:2.4rem;
	line-height:2;
	height: 2em;
	padding:0 1em;
	border-radius:0.5rem;
	border:1px solid #B3B3B3;
	font-family: inherit;
}

@-moz-document url-prefix() {
  /* Firefoxのみに適用 */
input[type="text"],
input[type="email"],
input[type="number"] {
	padding:0.65em 1em 0.65em;
}
}

/*-------------------------------
	radio checkbox
-------------------------------*/

input[type="radio"],
input[type="checkbox"] {
    display: none;
}

input[type="radio"] + span,
input[type="checkbox"] + span {
    padding-left: 1.5em;
    position: relative;
}

input[type="radio"] + span::before {
	content: "";
    display: block;
	width:2.4rem;
	height:2.4rem;
	border: 1px solid #444;
	background:#fff;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    border-radius: 50%;
	box-sizing: border-box;
}

input[type="radio"]:checked + span::before {
	content: "";
	border-color:#00AFCC;
}


input[type="radio"]:checked + span::after {
    content: "";
    display: block;
	width:1.4rem;
	height:1.4rem;
	background: #00AFCC;
    position: absolute;
    top: 0;
    left: 0.5rem;
    bottom: 0;
    margin: auto 0;
	border-radius:50%;
	box-sizing: border-box;
}

input[type="checkbox"] + span::before {
	content: "";
    display: block;
    width: 1em;
    height: 1em;
	background:#fff;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
	border-radius:0px;
	border:1px solid #ccc;
}

input[type="checkbox"]:checked + span::before {
	content: "";
	background:#fff;
	border-color:#00AFCC;
}


input[type="checkbox"]:checked + span::after {
    content: "";
    display: block;
    width: 0.5em;
    height: 0.25em;
	border-left:0.3rem solid #00AFCC;
	border-bottom:0.3rem solid #00AFCC;
    position: absolute;
    top: 0;
    left: 0.25em;
    bottom: 0.15em;
    margin: auto 0;
	transform:rotate(-45deg);
}

/*-------------------------------
	textarea
-------------------------------*/

textarea {
	resize: vertical;
	background:#fff;
	width:100%;
	font-size:2.4rem;
	line-height:2;
	height:31rem;
    overflow: auto;
    padding: 0 0.5em ;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
	border-radius:0.5rem;
	border:1px solid #B3B3B3;
	font-family: inherit;
	font-weight: 400;
}

/*-------------------------------
	submit
-------------------------------*/

.privacy_check span {
	cursor: pointer;
	font-size:2rem;
}

.submit_wrap {
	margin:8rem 0 0;
	text-align: center;
}

.submit_wrap button,
.btn_return {
	width:40rem;
	height:6rem;
	line-height:6rem;
	border:none;
	border-radius: 3rem;
	margin:0 auto;
	background:#444;
	font-family: inherit;
	text-align: center;
	position:relative;
	transition:background .3s;
	cursor: pointer;
}

.btn_return {
	display: block;
	background:#999999;
	margin:4rem auto 0;
}

.submit_wrap button:hover {
	background:#00AFCC;
}

.btn_return:hover {
	background:#6E6E6E;
}

.submit_wrap button span,
.btn_return span {
	font-size:2rem;
	letter-spacing: 0.04em;
	color:#fff;
	padding:0 1.25em;
	position:relative;
}

.submit_wrap button span svg,
.btn_return span svg {
	width:1.8rem;
	position:absolute;
	right:0;
	top:0;
	bottom:0;
	margin:auto 0;
	fill:#fff;
	opacity:1;
}

.btn_return span svg {
	right:auto;
	left:-1rem;
	transform:scale(-1,1);
}

.submit_wrap button:hover span svg {
	animation: anime-right .6s ease-in-out forwards normal;
}

.btn_return:hover span svg {
	animation: anime-left .6s ease-in-out forwards normal;
}

@keyframes anime-right {
	0%{
		transform: translateX(0rem);
		opacity:1;
	}
	50%{
		transform: translateX(1rem);
		opacity:0;
	}
	100%{
		transform: translateX(1rem);
		opacity:0;
	}
}

@keyframes anime-left {
	0%{
		transform: translateX(0rem) scale(-1,1);
		opacity:1;
	}
	50%{
		transform: translateX(-1rem) scale(-1,1);
		opacity:0;
	}
	100%{
		transform: translateX(-1rem) scale(-1,1);
		opacity:0;
	}
}

/*-------------------------------
	place holder
-------------------------------*/
input::placeholder,
textarea::placeholder {
	color: #B3B3B3;
	font-size:2.4rem;
	line-height:2;
	font-weight:400;
	font-family: inherit;
}

/* IE */
input:-ms-input-placeholder,
textarea:-ms-textarea-placeholder {
	color: #B3B3B3;
	font-size:2.4rem;
	line-height:2;
	font-weight:400;
	font-family: inherit;
}

/* Edge */
input::-ms-input-placeholder,
textarea::-ms-textarea-placeholder {
	color: #B3B3B3;
	font-size:2.4rem;
	line-height:2;
	font-weight:400;
	font-family: inherit;
}

/*-------------------------------
	select
-------------------------------*/

.f_select {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
}

.sele_wrap {
	width:15rem;
	height: 4rem;
    margin: 0;
	line-height:3.8rem;
    position: relative;
    border: 0.1rem solid #ccc;
	border-radius: 0px;
	line-height:2;
}

.sele_wrap + span {
	padding:0 1.5em 0 1em;
	font-size: 1.6rem;
	color:#6E6E6E;
}

.sele_wrap::before {
    position: absolute;
    top: 0;
	bottom:0;
	margin:auto 0;
    right: 0.7rem;
    width: 1rem;
    height: 0.9rem;
    content: "";
    display: block;
    background: url(../images/select_arrow.svg) no-repeat center / contain;
    pointer-events: none;
}

.sele_wrap::after {
    position: absolute;
    top: 0;
    right: 1.5em;
    width: 0.1rem;
    height: 100%;
    content: "";
    display: block;
    background:#ccc;
    pointer-events: none;
}

.form_list select {
	width: 100%;
	height:100%;
    cursor: pointer;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    padding: 0 2.5em 0 0.5em;
	font-size: 1.6rem;
	color:#6E6E6E;
	text-align:right;
}


select::-ms-expand { /* select要素のデザインを無効にする（IE用） */
display: none;
}

/*-------------------------------
確認画面ページ id="main-confirmation"	
-------------------------------*/

#main-confirmation .form_list dt {
	padding:4rem 0;
}




/*-------------------------------
	ver sp
-------------------------------*/

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

.form_list dt,
.form_list dd,
input[type="text"],
input[type="email"],
input[type="number"],
.radio_wrap {
	width:100%;
}

/* font 16 - 25 */
.form_list dt,
.form_list dd,
input[type="text"],
input[type="email"],
input[type="number"],
.form_list select,
.submit_wrap button,
textarea,
.req::before,
input[type="radio"] + span::before,
input[type="radio"]:checked + span::after,
input[type="checkbox"] + span::before,
input[type="checkbox"]:checked + span::after,
.req::after,
.radio_wrap label span {
       font-size:2rem;
}

input[type="text"], input[type="email"], input[type="number"] {
	max-width:100%;
    font-size:2rem;
	height:2.875em;
}

input[type="checkbox"] + span::before,
input[type="checkbox"] + span::after {
	border-radius:0vw;
}

/* textarea */
textarea {
	height:20rem;
}

/*-------------------------------
	form
-------------------------------*/

#form_wrap {
	max-width:100%;
	padding:0;
}

.form_list {
	padding:0 3rem;
	margin:0rem auto 3rem;
}

.form_list dt,
.form_list dd {
	font-size:2rem;
}

.form_list dt {
	width:100%;
	padding:0.75em 0.5em 0.75em;
	background:#D3F1F4;
	border-bottom:1px solid #00AFCC;
}

.form_list span.label-required {
	font-size:2rem;
	padding-right:6.5rem;
}

.form_list span.label-required::after {
	font-size:1.6rem;
	top:0.15em;
}

.form_list dd {
	width:100%;
	padding:1em 0;
}

.form_list dd.check_wrap > span:first-of-type {
	margin-top:0rem;
}

.form_list dd.check_wrap > span:not(:last-of-type) {
	margin-bottom:1.5rem;
}

.form_list dd span {
	font-size:2rem;
}

/*-------------------------------
	input type
-------------------------------*/


/*-------------------------------
	radio checkbox
-------------------------------*/

input[type="radio"] + span::before {
	width:2rem;
	height:2rem;
}

input[type="radio"]:checked + span::after {
	width:1.2rem;
	height:1.2rem;
    left: 0.4rem;
}

input[type="checkbox"] + span::before {
    width: 1em;
    height: 1em;
	background:#fff;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
	border-radius:0px;
	border:1px solid #ccc;
}

input[type="checkbox"]:checked + span::before {
	content: "";
	background:#fff;
	border-color:#00AFCC;
}


input[type="checkbox"]:checked + span::after {
    content: "";
    display: block;
    width: 0.5em;
    height: 0.25em;
	border-left:0.3rem solid #00AFCC;
	border-bottom:0.3rem solid #00AFCC;
    position: absolute;
    top: 0;
    left: 0.25em;
    bottom: 0.15em;
    margin: auto 0;
	transform:rotate(-45deg);
}

/*-------------------------------
	textarea
-------------------------------*/

textarea {
	font-size:2rem;
	height:31.5rem;
    overflow: auto;
    padding: 0.75em 0.5em ;
}

/*-------------------------------
	place holder
-------------------------------*/

input::placeholder,
textarea::placeholder {
	font-size:2rem;
}

/* IE */
input:-ms-input-placeholder,
textarea:-ms-textarea-placeholder {
	font-size:2rem;
}

/* Edge */
input::-ms-input-placeholder,
textarea::-ms-textarea-placeholder {
	font-size:2rem;
}

/*-------------------------------
	submit
-------------------------------*/

.privacy_check_wrap {
	padding:0 3rem;
}

.privacy_check span {
	cursor: pointer;
	font-size:1.6rem;
}

.submit_wrap {
	margin:4rem 0 0;
	padding:0 3rem 4rem;
	text-align: center;
}

.submit_wrap button,
.btn_return {
	width:100%;
	height:5.4rem;
	line-height:5.2rem;
	border-radius: 3rem;
}

.submit_wrap button:hover {
	background:#00AFCC;
}

.submit_wrap button span {
	font-size:1.8rem;
	padding:0 1.25em 0 0;
}

.btn_return span {
	font-size:1.8rem;
	padding:0 0 0 1.25em;
}

.submit_wrap button span svg,
.btn_return span svg {
	width:1.6rem;
}

/*-------------------------------
	select
-------------------------------*/

.sele_wrap + span {
	font-size: 1.8rem;
}

.form_list select {
	font-size: 1.8rem;
}

/*-------------------------------
確認画面ページ id="main-confirmation"	
-------------------------------*/

#main-confirmation .form_list dt {
	padding:0.75em 0.5em 0.75em;
}



} /* end 768px */


