@charset "UTF-8";
/* CSS Document */
h2 {
	text-align: center;
	color: #300;
}
@media screen and ( min-width:560px){
    #bun1 {
        position: relative;
        font-size: clamp( 1.6rem, 1.7vw, 1.8rem);
        line-height: 180%;
        padding: 30px 0;
        color: #300;
        text-align: center;
    }
}
@media screen and ( max-width:559px){
    #bun1 {
        position: relative;
        width: 94%;
        margin: 0 auto;
        font-size: 1.6rem;
        line-height: 180%;
        padding-bottom: 20px;
        color: #300;
        text-align: left;
    }
        #bun1 > br {display: none;}
}


table.formTable {
  width: 100%;
max-width: 900px;
  margin: 0 auto;
  border-collapse: collapse;
}
@media screen and ( max-width:559px){
	table.formTable  tr {
		width:100%;
		display:-webkit-box;/*--- Androidブラウザ用 ---*/
		display:-ms-flexbox;/*--- IE10 ---*/
		display:-webkit-flex;/*--- safari（PC）用 ---*/
		display:flex;
		flex-wrap: wrap;
	}
	table.formTable td, table.formTable th {
	  border: 1px solid #FFF;
	  padding: 7px 0;
    width: 100%;
	}
	table.formTable th {
	  font-weight: normal;
	  background: #FFF;
	  text-align: left;
	}
}
@media screen and (min-width:560px) {
	table.formTable td, table.formTable th {
	  border: 1px solid #FFF;
	  padding: 15px 10px;
	}
	table.formTable th {
	  width: 30%;
	  font-weight: normal;
	  background: #FFF;
	  text-align: left;
	}
}

select {
  padding: 10px 30px 10px 10px;
  margin-left: 5px;
    width: 70%;
	/*min-width: 300px;*/
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #999;
  background: #eee;
  font-size: 1.2rem;
  background: url("../../lib/img/arrow02.png") right 50% no-repeat, -webkit-linear-gradient(top, #fff 0%, #efebe1 100%);
  background: url("../../lib/img/arrow02.png") right 50% no-repeat, linear-gradient(to bottom, #fff 0%, #efebe1 100%);
  background-size: 20px, 100%;
    font-family: 'Zen Old Mincho', serif;
    font-weight: bold;
    color:#000;
}
input[type=text],input[type=email] {
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-border-radius: 5px;
  -ms-border-radius: 5px;
  border: #a9a9a9 1px solid;
  -moz-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.3);
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.3);
  width: 72%;
  max-width: 430px;
  min-height: 36px;
  padding: 0 6px;
font-size: 1.4rem;
        font-family: 'Zen Old Mincho', serif;
    font-weight: bold;
}
input[type=password] {
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-border-radius: 5px;
  -ms-border-radius: 5px;
  border: #a9a9a9 1px solid;
  -moz-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.3);
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.3);
  width: 90%;
  max-width: 600px;
  height: 30px;
  padding: 0 6px;
}
textarea {
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-border-radius: 5px;
  -ms-border-radius: 5px;
  border: #a9a9a9 1px solid;
  -moz-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.3);
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.3);
  width: 72%;
  max-width: 800px;
  height: 200px;
  padding: 5px 2%;
font-size: 1.4rem;
        font-family: 'Zen Old Mincho', serif;
    font-weight: bold;
}
table.formTable span {
    display: inline-block;
    margin: 0 5%;
    font-size: 80%;
    color: #930;
}
input[type=submit] {
  padding: 5px 20px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 5px;
  color: #FFF;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-border-radius: 5px;
  -ms-border-radius: 5px;
  border: #999 1px solid;
  background: #0066ff;
  -moz-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.3);
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.3);
  cursor: pointer;
  cursor: hand;
        font-family: 'Zen Old Mincho', serif;
    font-weight: bold;
}
input[type=reset], input[type=button] {
  padding: 5px 20px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 5px;
  color: #333;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-border-radius: 5px;
  -ms-border-radius: 5px;
  border: #999 1px solid;
  background: #FFF;
  -moz-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.3);
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.3);
  cursor: pointer;
  cursor: hand;
        font-family: 'Zen Old Mincho', serif;
    font-weight: bold;
}
input[type=radio], input[type=checkbox] {
  display: none;
}
.radio, .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 5px 0px 0;
  padding: 3px 12px 6px 42px;
  border-radius: 8px;
  background-color: #FFF;
  vertical-align: middle;
  cursor: pointer;
}
.radio:hover, .checkbox:hover {
  background-color: #e2edd7;
}
.radio:hover:after, .checkbox:hover:after {
  border-color: #53b300;
}
.radio:after, .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: '';
}
.radio:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 20px;
  display: block;
  margin-top: -5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #53b300;
  content: '';
  opacity: 0;
}
input[type=radio]:checked + .radio:before {
  opacity: 1;
}
.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 #53b300;
  border-bottom: 3px solid #53b300;
  content: '';
  opacity: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
input[type=checkbox]:checked + .checkbox:before {
  opacity: 1;
}

.switch { padding-left: 5px; }
.switch input {
	display: none;
}
.switch label {
	position: relative;
	top: 0px;
	font-size: 16px;
	line-height: 220%;
	cursor: pointer;
}
.switch label:before {
	padding: 8px 10px;
	content: '男性';
	border-radius: 6px 0 0 6px;
	background: linear-gradient(to bottom, #F0F0F0 0%, #DDD 100%);
	/*box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.1) inset;*/
	color: #999;
}
.switch label:after {
	padding: 8px 10px;
	content: '女性';
	border-radius: 0 6px 6px 0;
	background: #9C0;
	/*box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.1) inset;*/
	color: #333;
}
.switch input + label:hover:before {
	opacity: 0.5;
}
.switch input:checked + label:before {
	background: #9C0;
	color: #333;
	opacity: 1;
}
.switch input:checked + label:after {
	background: linear-gradient(to bottom, #F0F0F0 0%, #DDD 100%);
	color: #999;
}
.switch input:checked + label:hover:after {
	opacity: 0.5;
}
#mess {
	text-align: center;
	color: #F00;
	margin: 20px 0;
}
#submit_line9 {
	text-align: center;
	margin: 30px auto 100px;
	color: red;	
}
#caution {
	position: relative;
	width: 96%;
	min-height: 200px;
	margin: 10px 0;
	padding: 10px 2%;
	color: #999;
        font-family: 'Zen Old Mincho', serif;
    font-weight: bold;
}
#link4 {background-color: #300;}


/*バリデーション*/
input + span {
    display: inline-block;
	font-size: 1.0rem;
	font-weight: bold;
	text-align: center;
}

input:invalid + span:before {
	content: 'ERROR';
	display: flex;
	justify-content: center;
	align-items: center;
	width: 54px;
	height: 34px;
	color: #fff;
	background-color: #F60;
    margin-left: 4px;
}

input:valid + span:before {
	content: 'OK';
	display: flex;
	justify-content: center;
	align-items: center;
	width: 54px;
	height: 34px;
	color: #fff;
	background-color: #0066ff;
    margin-left: 4px;
}
textarea + span {
    display: inline-block;
	font-size: 1.1rem;
	font-weight: bold;
	text-align: center;
}

textarea:invalid + span:before {
	content: 'ERROR';
	display: flex;
	justify-content: center;
	align-items: center;
	width: 54px;
	height: 34px;
	color: #fff;
	background-color: #F60;
    margin-left: 4px;
}
textarea:valid + span:before {
	content: 'OK';
	display: flex;
	justify-content: center;
	align-items: center;
	width: 54px;
	height: 34px;
	color: #fff;
	background-color: #0066ff;
    margin-left: 4px;
}
select + span {
    display: inline-block;
	font-size: 1.1rem;
	font-weight: bold;
	text-align: center;
}

select:invalid + span:before {
	content: 'ERROR';
	display: flex;
	justify-content: center;
	align-items: center;
	width: 54px;
	height: 34px;
	color: #fff;
	background-color: #F60;
    margin-left: 4px;
}
select:valid + span:before {
	content: 'OK';
	display: flex;
	justify-content: center;
	align-items: center;
	width: 54px;
	height: 34px;
	color: #fff;
	background-color: #0066ff;
    margin-left: 4px;
}