form *{
	padding:0;
	line-height:1.6em;
}

form .privacy_area dl dt{
	font-weight:bold;
	border-bottom:dashed 1px #aaa;
	font-size:110%;
	text-align:left;
	margin-bottom:10px;
}

form .privacy_area dl dd{
	width:95%;
	margin:0 auto 10px;
	text-indent:1em;
	text-align:left;
}

form .privacy_area ul{
	margin-left:0;
}

form .privacy_area li{
	width:100%;
	margin:10px auto;
	list-style-type:none;
}

form .privacy_area .document_dl{
	background:#37a;
	color:#fff;
	padding:5px 15px;
	display:block;
	text-align:center;
	width:300px;
	margin:20px auto;
}

form table{
	width:85%;
	margin:0px auto;
}

form table td,
form table th{
	padding:15px;
	box-sizing:border-box;
	vertical-align:middle;
	border-bottom:dashed 1px #ccc;
}

form table th{
	width:30%;
	position:relative;
	padding-right:50px;
}

form table.kakunin_tbl{
	margin-bottom:30px;
}

form table.kakunin_tbl td,
form table.kakunin_tbl th{
	width:50%;
}

form table th span{
	position:absolute;
	right:0;
	top:calc(50% - 12px);
	font-size:12px;
	padding:5px;
	color:#fff;
	border-radius:3px;
	line-height:1;
}

form table th span.must{
	background:#f77;
}

form table th span.free{
	background:#5af;
}

form table td{
	width:70%;
}

form table td ul{
	overflow:hidden;
	margin:0 auto;
}

form table td ul li{
	width:89%;
	list-style-type:none;
	text-align:left;
	display:block;
	margin:5px 0;
}

section.form form table td ul li label{
	font-weight:normal;
	display:block;
	width:100%;
	vertical-align:baseline;
}

section.form form table td ul li label.radio,
section.form form table td ul li label.checkbox {
	background-color: #f6f7f8;
	color:#2E2F57;
}

section.form form table td ul li label.radio:hover,
section.form form table td ul li label.checkbox:hover {
	background-color: #eef;
}

section.form form table td ul li label.radio:hover:after,
section.form form table td ul li label.checkbox:hover:after {
	border-color: #2E2F57;
}

section.form form table td ul li label.radio:before {
	background-color: #fee;
}

section.form form table td ul li label.checkbox:before {
	border-right: 3px solid #2E2F57;
	border-bottom: 3px solid #2E2F57;
}

form table td textarea,
form table td input[type=tel],
form table td input[type=email],
form table td input[type=text]{
	width:85%;
	border:none;
	padding:10px;
	outline:none;
	background:#eee;
}

form table td textarea{
	height:10em;
}

form table td textarea:focus,
form table td input[type=tel]:focus,
form table td input[type=email]:focus,
form table td input[type=text]:focus,
form table td textarea:active,
form table td input[type=tel]:active,
form table td input[type=email]:active,
form table td input[type=text]:active{
	border:solid 1px #37a;
}

section.form form {
	margin:20px auto;
}

section.form form .agree_area span{
	font-weight:bold;
	color:#2E2F57;
}

section.form form .agree_area p{
	font-size:90%;
}

section.form form .agree_area a{
    display: inline-block;
    margin: 0 10px;
	text-decoration:underline;
}

section.form form .privacy_area h2{
	font-size:100%;
}

form .privacy_area{
	overflow:auto;
	height:500px;
	width:90%;
	margin:10px auto;
	padding:2% 5%;
	box-sizing:border-box;
	border:solid 1px #aaa;
	font-size:90%;
}

form .privacy_area dl{
	margin:10px auto;
}

form .privacy_area p{
	text-indent:1em;
}

form .privacy_area p,
form .privacy_area dl dd,
form .privacy_area dl dt{
	font-size:85%;
}
form input[type=checkbox] {
	display: none;
}

form label.radio {
	box-sizing: border-box;
	-webkit-transition: background-color 0.2s linear;
	transition: background-color 0.2s linear;
	position: relative;
	display: inline-block;
	padding: 12px 30px 12px 23px;
	border-radius: 8px;
	background-color: #F2F1F7;
	vertical-align: middle;
	cursor: pointer;
	color:#2E2F57;
}

form label.checkbox {
	box-sizing: border-box;
	-webkit-transition: background-color 0.2s linear;
	transition: background-color 0.2s linear;
	position: relative;
	display: inline-block;
	margin: 0 20px 0px 0;
	padding: 14px 30px 10px 40px;
	border-radius: 8px;
	background-color: #F2F1F7;
	vertical-align: middle;
	cursor: pointer;
	color:#2E2F57;
}

form .aligncenter label.checkbox {
	padding-left:42px;
}

form label.radio:hover,
form label.checkbox:hover {
	background-color: #F2F1F7;
}

form label.radio:hover:after,
form label.checkbox:hover:after {
	border-color: #2E2F57;
}

form label.checkbox:after {
	-webkit-transition: border-color 0.2s linear;
	transition: border-color 0.2s linear;
	position: absolute;
	top: 50%;
	left: 15px;
	display: block;
	margin-top: -10px;
	width: 16px;
	height: 16px;
	border: 2px solid #bbb;
	border-radius: 6px;
	content: '';
}


form label.checkbox:before {
	-webkit-transition: opacity 0.2s linear;
	transition: opacity 0.2s linear;
	position: absolute;
	top: 50%;
	left: 21px;
	display: block;
	margin-top: -7px;
	width: 5px;
	height: 9px;
	border-right: 3px solid #2E2F57;
	border-bottom: 3px solid #2E2F57;
	content: '';
	opacity: 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

form input[type=checkbox]:checked + .checkbox:before {
	opacity: 1;
}


form input[type=radio] {
	width:20px;
	height:20px;
	margin-right:15px;
	-webkit-appearance: auto;
}


.to_top,
.end_form .sbmt_area{
	width:30%;
	margin:10px auto;
}

.to_top a{
	width:60%;
	text-align:center;
	margin:50px auto;
	display:block;
	background:#000;
	color:#fff;
	font-size:120%;
	padding:10px 0;
	box-sizing:border-box;
	border-radius:3px;
	text-decoration:none;
}

.end_form p{
	margin:40px auto;
}


.form p.headline{
	margin:40px auto 20px;
	text-align:center;
}


.aligncenter{
	text-align:center;
	margin:15px auto 0;
}

.end_form p{
	text-align:center;
}

form .sbmt_area input[type=submit]{
	width:60%;
	text-align:center;
	margin:50px auto;
	display:block;
	background:#c5c5c5;
	color:#eee;
	border:none;
	font-size:120%;
	padding:15px 0;
	box-sizing:border-box;
	border-radius:3px;
	text-decoration:none;
	pointer-events: none;
}

form .sbmt_area input.active[type=submit]{
	background:#000;
	pointer-events: auto;
}

form .err_mes{
	width:85%;
	margin:10px auto;
	border:solid 1px #f55;
	padding:10px;
	box-sizing:border-box;
	border-radius:3px;
	color:#f55;
	padding:0 10px;
}

form .err_mes li{
	color:#f55;
	position:relative;
	padding-left:0;
	margin:5px 0 5px 30px;
	z-index:1;
	list-style-type:circle;
	text-align:left;
}


@media screen and ( max-width:750px )
{
	form table{
		width:100%;
		margin:10px auto;
	}

	section.form form table td,
	section.form form table th{
		display:block;
		padding:5px;
		width:100%;
		box-sizing:border-box;
		vertical-align:middle;
		border-bottom:dashed 1px #ccc;
	}

	section.form form table th{
		text-align:left;
		position:relative;
		padding-left:45px;
	}

	section.form form table.kakunin_tbl th{
		padding-left:5px;
		font-weight:bold;
	}

	form table th span{
		position:absolute;
		right:auto;
		left:5px;
		top:calc(50% - 12px);
		font-size:12px;
		padding:5px;
		color:#fff;
		border-radius:3px;
		line-height:1;
	}

	section.form form table td{
		margin-bottom:25px;
	}

	.login_page form input[type=password],
	.login_page form input[type=text],
	form table td textarea,
	form table td input[type=tel],
	form table td input[type=email],
	form table td input[type=text]{
		width:100%;
		border:none;
		padding:10px;
		outline:none;
		background:#eee;
		box-sizing:border-box;
	}

	form table td ul li{
		width:100%;
		float:none;
	}

	form label.radio,
	form label.checkbox {
		box-sizing: border-box;
		-webkit-transition: background-color 0.2s linear;
		transition: background-color 0.2s linear;
		position: relative;
		display: block;
		margin: 0 20px 8px 0;
		padding:11px;
		border-radius: 8px;
		background-color: #F2F1F7;
		vertical-align: middle;
		cursor: pointer;
		color:#2E2F57;
		font-weight:bold;
	}
	form li label.checkbox {
		padding:11px 5px 7px 42px;
	}

	section.form .aligncenter label{
		text-align:center;
		margin:auto;
		width:90%;
	font-size: 13px;
	}

	.to_top,
	.end_form .sbmt_area{
		width:90%;
		margin:10px auto;
	}

	.end_form p{
		text-align:left;
		width:90%;
		margin:auto;
	}
form .sbmt_area input[type=submit]{
	width:80%;
}

.to_top a{
	width:80%;
}

.end_form h2{
	font-size:120%;
}

.end_form p{
	margin:40px auto;
	text-align:left;
	font-size:90%;
}


}

/* お問い合わせフォーム */
section.form form table input.is-filled,
section.form form table textarea.is-filled {
	background: rgba(0, 105, 123, .2) !important;
}
section.form form table input:-webkit-autofill,
section.form form table textarea:-webkit-autofill {
	box-shadow: 0 0 0 1000px rgba(0, 105, 123, .2) inset;
}

.form_button {
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
	gap: 30px 15px;
	margin-top: 40px;
	margin-bottom: 70px;
	padding: 0 15px;
}
.form_button .button_link {}
.form_button .button_link > p {
	font-size: 90%;
    text-align: center;
    line-height: 1.5;
    font-weight: bold;
	margin-bottom: 15px;
}
.form_button .button_link > a {
	min-width: 190px;
    min-height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
	border-radius: 5px;
	line-height: 1.5;
	text-align: center;
	color: #fff;
	transition: opacity 0.5s ease;
}
.form_button .button_link.color_1 > a {
	background-color: rgba(0, 105, 123, .8);
    box-shadow: 0 3px 0 rgba(0, 105, 123, 1);
}
.form_button .button_link.color_2 > a {
	background-color: rgba(0, 85, 133, .8);
    box-shadow: 0 3px 0 rgba(0, 85, 133, 1);
}
.form_button .button_link.color_1 > a:hover ,
.form_button .button_link.color_2 > a:hover {
	opacity: .7;
}

/* 宅配買取キットを希望 */
.form_cardboard {
	display: flex;
	gap: 10px;
	padding: 0 20px;
	margin-top: 30px;
}
.form_cardboard .cardboard_item {
	width:25%;
    box-sizing: border-box;
}
.form_cardboard .cardboard_item.size_s figure img {
	height: 60px;
}
.form_cardboard .cardboard_item.size_m figure img {
	height: 70px;
}
.form_cardboard .cardboard_item.size_l figure img {
	height: 80px;
}
.form_cardboard .cardboard_item.size_ll figure img {
	height: 90px;
}
@media only screen and (max-width: 767px) {
	.form_cardboard .cardboard_item.size_s figure img {
		height: 40px;
	}
	.form_cardboard .cardboard_item.size_m figure img {
		height: 45px;
	}
	.form_cardboard .cardboard_item.size_l figure img {
		height: 50px;
	}
	.form_cardboard .cardboard_item.size_ll figure img {
		height: 55px;
	}
}
.form_cardboard input[type="radio"] + label {
	width: 100%;
	box-sizing: border-box;
	display: block;
	border:2px solid #333;
	box-shadow: 0 3px 0 #B8AFA6;
	cursor: pointer;
	padding: 30px 10px;
	border-radius: 20px;
	transition: background-color 0.2s ease, box-shadow 0.2s ease;
}
.form_cardboard input[type="radio"] + label p ,
.form_cardboard input[type="radio"] + label p em {
	transition: color 0.2s ease;
}

.form_cardboard input[type="radio"] + label p.size_p{
	font-weight:bold;
	font-size:110%;
}

/* ホバー・フォーカス */
.form_cardboard input[type="radio"] + label:hover,
.form_cardboard input[type="radio"] + label:focus {
	background-color: #0073aa;
    box-shadow: 0 3px 0 rgba(0, 105, 123, 1);
}
.form_cardboard input[type="radio"] + label:hover p ,
.form_cardboard input[type="radio"] + label:hover p em ,
.form_cardboard input[type="radio"] + label:focus p ,
.form_cardboard input[type="radio"] + label:focus p em {
	color: #fff;
}
/* 選択中 */
.form_cardboard input[type="radio"]:checked + label {
	background-color: #0073aa;
    box-shadow: 0 3px 0 rgba(0, 105, 123, 1);
}
.form_cardboard input[type="radio"]:checked + label p ,
.form_cardboard input[type="radio"]:checked + label p em {
	color: #fff;
}
.form_cardboard .cardboard_item p {
	text-align: center;
	font-size: 95%;
	margin-bottom: 0;
}
.form_cardboard .cardboard_item p em {
	font-style: normal;
	font-size: 125%;
}
.form_cardboard .cardboard_item figure {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 100px;
}
@media only screen and (max-width: 767px) {
	.form_cardboard .cardboard_item figure {
		min-height: 75px;
	}
}
.form_cardboard .cardboard_item figure img {
	height: 70px;
}
.form_cardboard_detail {
	display: flex;
	justify-content: center;
    gap: 30px 40px;
	margin: 50px auto;
	position:relative;
	width:80%;
}
.form_cardboard_detail figure {
	width: 280px;
}
.form_cardboard_detail figure img {
	max-width: 100%;
}
.form_cardboard_detail .content {
	width: 500px;
}
.form_cardboard_detail .content h3 {
	font-size: 130%;
	margin-bottom: 20px;
}
.form_cardboard_detail .content p {
	font-size: 100%;
}
.form_link {
	padding: 0 20px;
    position: absolute;
    bottom: 0;
    right: 0;
	width:30%;
}
.form_link a {
	max-width: 400px;
	width: 100%;
    min-height: 70px;
    display: flex;
    justify-content: center;
    align-items: center;
	border-radius: 5px;
	line-height: 1.5;
	text-align: center;
	color: #fff;
	font-size: 120%;
	transition: opacity 0.5s ease;
	background-color: #08697a;
	font-weight:bold;
	box-shadow: 0 3px 0 #B8AFA6;
	margin: 0 auto;
}
.form_link a.is_disabled {
	pointer-events: none;
	opacity: .3;
	cursor: not-allowed;
}
.form_link a:hover {
	opacity: .7;
}

@media only screen and (max-width: 767px) {
	.form_cardboard{
		flex-wrap: wrap;
		gap:0;
		padding:0;
		margin-top:10px;
	}
	.form_cardboard .cardboard_item {
	    width: 48%;
		margin:0 1% 10px;
	    box-sizing: border-box;
	}

	.form_cardboard_detail .content {
		width: 100%;
		padding: 0;
		margin:10px auto;
	}
	.form_cardboard input[type="radio"] + label{
		padding: 10px;
	}
	.form_cardboard .cardboard_item p{
		font-size:90%;
	}
	.form_cardboard_detail figure{display:none;}
	.form_cardboard_detail{
		display:block;
		margin:0 auto;
		width:95%;
	}
	.form_link{
		position:relative;
		width:80%;
		margin:0 auto;
	}
	
	.form_cardboard_detail img{
		width:50%;
		margin:0 auto;
	}
	.form_cardboard_detail .content h3{
		margin:0 auto 5px;
		text-align:center;
		font-size:100%;
	}
	.form_cardboard_detail .content p{
		margin:0 auto;
		text-align:center;
		font-size:90%;
	}
	.form_link {
		margin: 20px auto;
	}
.form_link a{
	padding:10px 0;
	min-height:auto;
	margin:0 auto 60px;
}
.form p.headline{
	margin:10px auto;
}
.kit_page h2{
	font-size:150%;
}

.kit_page table tr:first-child th{
	padding-left:0;
}
.kit_page table tr:first-child th,.kit_page table tr:first-child td{
	text-align:center;
}
}
