﻿

.formbox {
    margin: 60px auto 0;
}

.formbox article {
    display: flex;
    margin: 0 auto 30px;
}

.formbox div.e_txt > * {
    margin: 0 auto 15px;
}

.textbox {
	width: 500px;
}

/*セレクトボタン*/
.formbox select {
	width: 100%;
	-webkit-transition: all 0.30s ease-in-out;
	-moz-transition: all 0.30s ease-in-out;
	-ms-transition: all 0.30s ease-in-out;
	-o-transition: all 0.30s ease-in-out;
	outline: none;
	padding: 22px;
	font-size: 0.9em;
	color:#666;
	border:none;
	cursor:pointer;
}

.formbox .select {
	background: #f2f7fa;
}

/*チェックボタン*/
div.textbox input.check {
	background:none;
}

input[type="checkbox"] {/* opacity: 0; */}
label.check {
	position: relative;
	display: inline-block;
	padding: 20px;
	cursor: pointer;
	width: 100%;
	box-sizing: border-box;
}

label.check::before {
	position: absolute;
	left: 0;
	width: 14px;
	height: 14px;
	margin: 6px;
	background: #fff;
	border: 1px solid #ccc;
}
input[type="checkbox"]:checked + label.check::after {
	position: absolute;
	left: 0;
	width: 13px;
	height: 5px;
	border-left: 2px solid #3498db;
	border-bottom: 2px solid #3498db;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	margin: 8px;
}

/*checkボタンカスタム*/
.chk_button {
	border: 2px solid #222;
	border-radius: 5px;
	width: 640px;
	font-weight: 700;
	font-size: 1.1em;
	padding: 0;
	overflow: hidden;
	position: relative;
	box-shadow: 2px 2px 6px rgba(0,0,0,0.2);
	margin: 0 auto 20px;
	box-sizing: border-box;
}

.chk_button input[type="checkbox"] {
	left: 7%;
}

.chk_button .check {
	padding: 0 !important;
}

.chk_button .check:before {
    margin: 26px;
}

.chk_button .check:after {
	margin: 28px !important;
}

.chk_button input {
	background:none;
	color:#222;
}

.chk_button:hover, .chk_button input:checked + label{
    background: #222;
    color: #FFF;
    padding: 12px !important;
}

.formbox div.e_txt .radio-b {
    display: flex;
    margin: 0 auto;
}


/*ラジオボタン*/
input[type="radio"] {
    margin: 0 7px 0 0;
    display: inline-block;
    width: 20px !important;
    height: 20px !important;
    vertical-align: sub;
}

.formbox div.e_txt .radio-b label {
    width: auto !important;
    margin: 0 4% 0 0;
    font-size: 15px;
    color: #333;
    font-weight: 400;
}


.formbox .koumoku {
    font-weight: 500;
    color: #222;
    letter-spacing: 1px;
    padding: 0;
    width: 26%;
    box-sizing: border-box;
    align-items: center;
    display: flex;
}

.formbox label {
    display: inline-block;
    vertical-align: middle;
    font-size: 15px;
    font-weight: normal;
    width: 100% !important;
    letter-spacing: 1px;
    line-height: 2;
    font-weight: bold;
}


.formbox .check {
	margin: 0;
	display: inline-block;
	vertical-align: top;
	width: 60px;
	padding: 0 0 0 7px;
	color: #222;
}

.formbox .required {
    background: #168bb3;
    color: #fff;
    display: inline-block;
    font-size: 14px;
    line-height: 1.5;
    padding: 0 3px 1px;
}

.formbox .any {
    background: #0d227c;
    color: #fff;
    padding: 0 6px;
    display: inline-block;
    font-size: 0.75em;
    line-height: 1.5;
}

.formbox .forminbox {
	width: auto;
	width: 74%;
	padding: 0 0 0 30px;
	box-sizing: border-box;
}

.formbox div.e_txt {
	width: 100%;
	overflow:hidden;
	box-sizing: border-box;
}


.formbox div.e_txt .chk_button {
	margin: 0;
	width: 100%;
	text-align: left;
}

.formbox div.e_txt .chk_button label {
	padding:20px 20px 20px 65px;
}

.formbox div.e_txt .chk_button input[type="checkbox"]:checked + label.check::after {
	top: 38px;
}

.formbox input,.formbox textarea {
    border: 0;
    padding: 22px;
    width: 100%;
    font-size: 15px;
    color: #000;
    outline: none;
    box-sizing: border-box;
    font-family: 'Noto Sans JP', sans-serif;
    background: #f2f7fa;
}

input[type="checkbox"] {
	width:auto;
}

.submitArea {
	padding: 30px 0;
}

.btn_submit input {background: #20a8d6;display: block;color: #fff;padding: 25px 10px;border: none;max-width: 400px;margin: auto;cursor: pointer;text-align: center;font-size: 16px;letter-spacing: 1px;font-weight: 600;-webkit-transition: all 0.10s ease-in-out;-moz-transition: all 0.10s ease-in-out;-ms-transition: all 0.10s ease-in-out;-o-transition: all 0.10s ease-in-out;font-family: 'Noto Sans JP', sans-serif;}

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

.btn_submit input:hover {
	filter: alpha(opacity=80);
	background-position: -100% 0;
	color: #fff;
	background: #168bb3;
}


@media screen and (max-width: 767px) {
.formbox{
    margin: 30px auto 0;
}

.formbox label {
    font-size: 14px;
}

.formbox label.check{text-align: left;}

.formbox article {
    flex-wrap: wrap;
    margin: 0 auto 15px;
}

.formbox .koumoku {
    width: 100%;
}

.formbox .forminbox {
    width: 100%;
    padding: 0;
    margin: 10px auto 0;
}

.formbox input, .formbox textarea {
    font-size: 14px;
    padding: 15px;
}

input[type="radio"],input#check{
	width: 15px !important;
	height: 15px !important;
}

.submitArea {
    padding: 0;
}

.formbox .required{
	font-size:13px;
}

.formbox article.privacy {
    margin: 30px auto;
}


}