#main_wrap .inner #main_contents h2 {
  font-size: 24px;
  font-weight: bold;
  padding-bottom: 15px;
  margin-bottom: 30px;
  border-bottom: 1px solid #43bbbf;
}

#main_wrap .inner #main_contents #contact_form form {
  margin: 0;
  display: inline-block;
}
#main_wrap .inner #main_contents #contact_form table {
  width: 100%;
  font-size: 16px;
  border-collapse: collapse;
  border-spacing: 0;
}
#main_wrap .inner #main_contents #contact_form table th {
  width: 30%;
  text-align: left;
  font-weight: normal;
  padding: 0 0 30px;
  margin: 0;
}
#main_wrap .inner #main_contents #contact_form table td {
  width: 70%;
  padding: 0 0 30px;
  margin: 0;
}
#main_wrap .inner #main_contents #contact_form table td input {
  border-radius: 0;
  -webkit-appearance: none;
}
#main_wrap .inner #main_contents #contact_form table td input.text {
  width: 100%;
  height: 35px;
  padding: 0.75em 1em;
  box-sizing: border-box;
  border: 1px solid #e1e1e1;
  background: #f8f8f8;
  font-size: 16px;
}
#main_wrap .inner #main_contents #contact_form table td input.text_h {
  width: 50%;
  height: 35px;
  padding: 0.75em 1em;
  box-sizing: border-box;
  border: 1px solid #e1e1e1;
  background: #f8f8f8;
  font-size: 16px;
}
#main_wrap .inner #main_contents #contact_form table td input.text_m {
  width: 25%;
  height: 35px;
  padding: 0.75em 1em;
  box-sizing: border-box;
  border: 1px solid #e1e1e1;
  background: #f8f8f8;
  font-size: 16px;
}

#main_wrap .inner #main_contents #contact_form table td .selectBox {
  width: 50%;
	position: relative;
	border: 1px solid #e1e1e1;
	background: #f8f8f8;
}
#main_wrap .inner #main_contents #contact_form table td .selectBox::before {
  position: absolute;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 6px;
  height: 6px;
  top: 10px;
  right: 20px;
  border-top: 2px solid #00b9c7;
  border-right: 2px solid #00b9c7;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
#main_wrap .inner #main_contents #contact_form table td .selectBox select {
	width: 100%;
	min-width: 170px;
  font-size: 16px;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
  height: 35px;
  line-height: 35px;
	padding: 0 0 0 20px;
  box-shadow: none;
}
#main_wrap .inner #main_contents #contact_form table td textarea {
  width: 100%;
  height: 200px;
  font-size: 16px;
  padding: 0.75em 1em;
  box-sizing: border-box;
  border: 1px solid #e1e1e1;
  background: #f8f8f8;
  border-radius: 0;
  box-shadow: none;
  -webkit-appearance: none; 
}
#main_wrap .inner #main_contents #contact_form p.input_title {
  color: #43bbbf;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
}
#main_wrap .inner #main_contents #contact_form #member_info {
  margin-bottom: 40px;
}
#main_wrap .inner #main_contents #contact_form #member_info .customer_link a{
  color: #000;
  text-decoration: none;
  padding-left: 15px;
  margin-right: 20px;
  display: inline-block;
  position: relative;
}
#main_wrap .inner #main_contents #contact_form #member_info .customer_link a:after {
  position: absolute;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 6px;
  height: 6px;
  top: 3px;
  left: 0px;
  border-top: 2px solid #00b9c7;
  border-right: 2px solid #00b9c7;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
#main_wrap .inner #main_contents #contact_form #member_info .customer_link a:hover {
  text-decoration: underline;
}

label.radio, label.radio_text {
    position : relative;
    cursor : pointer;
    display : inline-block;
    overflow : hidden;
    box-sizing : border-box;
}

label.radio {
    width : 16px;
    height : 16px;
    border : 1px solid #e83421;
    border-radius : 100%;
}

label.radio_text {
    min-height : calc(16px + 5px);
    margin-right : calc(16px + 5px);
    padding-left : calc(16px + 5px);
    line-height : calc(16px + 5px);
}

/** before after **/
label.radio:before, label.radio_text:before, label.radio_text:after {
    content : '';
    position : absolute;
    box-sizing : border-box;
}

label.radio:before, label.radio_text:before {
    border-radius : 100%;
}

label.radio:before {
    top : 0px;
    bottom : 0px;
    left : 0px;
    right : 0px;
    margin : auto;
}

label.radio_text:before, label.radio_text:after {
    top : 0px;
    bottom : 0px;
    margin-top : auto;
    margin-bottom : auto;
}

label.radio:before {
    display : block;
    width : 10px;
    height : 10px;
    z-index : 1;
    background-color : #DD6655;
}

label.radio_text:before {
    width : 16px;
    height : 16px;
    border : 1px solid #ccc;
    left : 0px;
    z-index : 3;
}

label.radio_text:after {
    width: 4px;
    height: 4px;
    border-radius: 100%;
    left: calc(((16px / 2) - (4px) / 2));
    background-color: #fff;
    z-index: 2;
}

/** input **/
label.radio input[type="radio"], label.radio_text input[type="radio"] {
    -moz-appearance: none;
    -webkit-appearance: none;
    position : absolute;
    z-index : 2;
    margin : 0px;
    width : 20px;
    height : 20px;
    box-sizing : border-box;
    outline : none;
}

label.radio input[type="radio"], label.radio_text input[type="radio"] {
    left : calc(16px * -1);
    width : 16px;
    height : 16px;
    top : 0px;
    bottom : 0px;
    margin-top : auto;
    margin-bottom : auto;
    border-radius : 100%;
}

label.radio input[type="radio"] {
    display : block;
    box-shadow : 16px 0px #FFF;
}

label.radio_text input[type="radio"] {
    box-shadow : 16px 0px #FFF;
}

/** checked forcus */
label.radio_text input[type="radio"]:checked,
label.radio input[type="radio"]:checked {
    box-shadow : 16px 0px #43bbbf !important;
    z-index: 1;
}

label.radio_text input[type="radio"]:focus {
    box-shadow : 16px 0px #fff;
}

label.radio input[type="radio"]:focus {
    box-shadow : 16px 0px #fff;
}

p.btns {
  margin-top: 20px;
}
p.btns input {
  width: 44%;
  max-width: 290px;
  height: 64px;
  display: inline-block;
  box-sizing: border-box;
  text-decoration: none;
  margin:0 3.8%;
  line-height: 64px;
  text-align: center;  
  font-size: 0;
  font-weight: bold;
  float: left;
  position: relative;
}
p.btns input.send {
  border: 2px solid #43bbbf;
  color: #43bbbf;
  font-size: 24px;
  background: #fff;
}
p.btns a:hover.send {
  color: #fff;
  background: #43bbbf;
}
p.btns input.cancel {
  width: 38%;
  max-width: 250px;
  border: 2px solid #b6b6b6;
  font-size: 16px;
  color: #000;
}
p.btns input:hover.cancel {
  color: #fff;
  background: #b6b6b6;
}
.btns input:after {
  position: absolute;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 8px;
  height: 8px;
  top: 25px;
  right: 15%;
  border-top: 2px solid #00b9c7;
  border-right: 2px solid #00b9c7;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.btns input.send:hover:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.btns input.cancel:hover:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

/* thanks.html */
#main_wrap .inner #main_contents #thankyouBox {
  margin-top: 132px;
}
#main_wrap .inner #main_contents #thankyouBox h2 {
  text-align: center;
  font-size: 45px;
  font-weight: bold;
  color: #43bbbf;
  line-height: 1em;
  padding: 0;
  margin: 0 auto 20px;
  border-bottom: none;
}
#main_wrap .inner #main_contents #thankyouBox p {
  text-align: center;
}


@media screen and (max-width: 641px) {
  #main_wrap .inner #main_contents #archive {
    margin-bottom: 15px;
  }  
  #main_wrap .inner #main_contents #archive p.title {
    font-size: 13px;
    line-height: 1em;
  }
  #main_wrap .inner #main_contents h2 {
    font-size: 18px;
    padding-bottom: 10px;
    margin-bottom: 15px;
  }
  
  #main_wrap .inner #main_contents #contact_form table th {
    width: 100%;
    height: auto;
    display: block;
    padding-bottom: 10px;
    font-size: 14px;
  }
  #main_wrap .inner #main_contents #contact_form table td {
    width: 100%;
    height: auto;
    display: block;
    padding-bottom: 20px;
    font-size: 14px;
  }
  #main_wrap .inner #main_contents #contact_form table td textarea {
    font-size: 14px;
    height: 100px;
   
  }
  #main_wrap .inner #main_contents #contact_form table td .selectBox {
    width: 100%;
  }
  #main_wrap .inner #main_contents #contact_form table td .selectBox select {
    font-size: 14px;
  }
  #main_wrap .inner #main_contents #contact_form p.input_title {
    font-size: 16px;
  }
  #main_wrap .inner #main_contents #contact_form #member_info {
    margin-bottom: 20px;
  }
  #main_wrap .inner #main_contents #contact_form #member_info .customer_link {
    margin-bottom: 0px;
  }
  #main_wrap .inner #main_contents #contact_form #member_info .customer_link a {
    margin-bottom: 5px;
  }
  #main_wrap .inner #main_contents #contact_form #member_info .customer_link a:after {
    top: 0.4em;
  }
  p.btns {
    text-align: center;
  }
  p.btns a {
    float: none;
    line-height: 42px;
  }
  .btns a:after {
    top: 15px;
  }
  p.btns a.send {
    width: 100%;
    display: block;
    margin: 0 auto 10px;
    font-size: 16px;
    height: 42px;
  }
  p.btns a.cancel {
    width: 80%;
    display: block;
    margin: 0 auto 20px;
    font-size: 16px;
    height: 42px;
  }

  /* thanks.html */
  #main_wrap .inner #main_contents #thankyouBox {
    margin: 60px 0 120px;
  }
  #main_wrap .inner #main_contents #thankyouBox h2 {
    text-align: center;
    font-size: 32px;
    margin: 0 auto 10px;
  }
  #main_wrap .inner #main_contents #thankyouBox p {
    text-align: center;
  }

}