/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */

* {
  box-sizing: border-box;
  font-size: 16px;
  letter-spacing: 1px;
  color: #616161;
}

.contact-form {
  margin: 50px 0;
  padding: 50px 0;
  border: 1px solid #C9C8C8;
  background:#fff;
}
.contact-form__title {
  font-weight: bold;
}
.contact-form__progresses {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 10px 0 0 0;
}
.contact-form__lists {
  margin: 30px 0 0 0;
}
.contact-form__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #C9C8C8;
}
.contact-form__list dt {
  font-size: 13px;
  width: 30%;
  padding: 10px 30px;
  background-color: #FCF7EA;
  font-weight: bold;
}
.contact-form__list .necessary{
  font-size:11px;
  font-style: normal;
  background-color: #FF523A;
  padding:0 10px;
  color:#fff;
  border-radius:3px;
  float:right; clear:none;
  line-height:20px;
  margin:2px 0 0 0;
}
.contact-form__list dd {
  font-size: 13px;
  padding: 10px 30px;
  width: 70%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
}
.visit_col-in {
  width:100%;
  margin-bottom:20px;
  display:flex;
}
.visit_col-in span {
  line-height:36px;
  margin-right:5px;
}
.visit_col-in .kibou {
  margin-right:20px;
}
.contact-form__list dd label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  font-size: 13px;
}
.contact-form__list dd label input {
margin-right:5px;
}
.contact-form__list dd textarea {
  width: 100%;
  margin:0 0 20px 0;
}
.contact-form__list dd textarea.textarea-short {
  width: 50%;
  margin:0 0 0 30px;
}
.contact-form__list dd input::-webkit-input-placeholder {
  font-size: 12px;
}
.contact-form__list dd input:-ms-input-placeholder {
  font-size: 12px;
}
.contact-form__list dd input::-ms-input-placeholder {
  font-size: 12px;
}
.contact-form__list dd input::placeholder {
  font-size: 12px;
}
.contact-form__example {
  margin: 10px 0 0 0;
  font-size: 12px;
  width: 100%;
}
.contact-form__label-text {
  width: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.contact-form__label-text input {
  flex-grow: 1;
  border: 0;
  background-color: #F1F1F2;
  padding: 10px;
}
.contact-form__label-text input.text-necessary  {
  flex-grow: 1;
  border: 0;
  padding: 10px;
  background-color:#FABFB7;
  border:1px solid #FF523A;
}
.text-necessary-short  {
  width:80%;
  flex-grow: 1;
  border: 0;
  padding: 10px;
  background-color:#FABFB7;
  border:1px solid #FF523A;
}
.contact-form__label-check {
  margin: 0 30px 0 0;
}
.contact-form__label-check input {
  margin: 0 5px 0 0;
}
.contact-form__label-check-long {
  width:100%;
  margin: 0 30px 0 0;
}
.contact-form__progress, .contact-form__progress--now {
  width: 140px;
  height: 34px;
  border: 1px solid #E9BB00;
  line-height: 33px;
  padding: 0 15px;
  margin: 0 15px 0 0;
  font-weight: bold;
}
.contact-form__progress span, .contact-form__progress--now span {
  margin: 0 10px 0 0;
  font-style: italic;
}
.contact-form__progress--now {
  background-color: #E9BB00;
  margin: 0 30px 0 0;
  position: relative;
  color: white;
}
.contact-form__progress--now::after {
  position: absolute;
  content: "";
  border-top: 17px solid transparent;
  border-left: 17px solid #E9BB00;
  border-right: 17px solid transparent;
  border-bottom: 17px solid transparent;
  right: -35px;
  top: 0;
}
.contact-form__progress--now span {
  color: white;
}
.contact-form__agree {
  width: 550px;
  height: 60px;
  background-color: #FF523A;
  color: white;
  font-weight: bold;
  margin: 100px auto 50px auto;
  border-radius: 10px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  align-items: center;
}
.contact-form__personal {
  margin: 50px 0 0 0;
  font-weight: bold;
}
.contact-form__privacy {
  white-space: pre-line;
  width: 100%;
  height: 200px;
  overflow-y: scroll;
  padding: 30px;
  border: 1px solid #C9C8C8;
  font-size: 13px;
  line-height: 1.5em;
  margin: 30px 0 0 0;
}
.satei {
  width:100%;
  display:flex;
  flex-wrap:wrap;
  border-bottom:1px dotted #ccc;
  margin-bottom:20px;
}
.satei dt {
  width:25%; /*30%*/
  padding:0;
  background:none;
  font-weight:normal;
}
.satei dt span {
  font-size:14px;
}
.satei dd {
  width:70%;
  padding:0;
}
.satei dd  label{
  width:100%;
  padding:0;
}
.satei dd input {
width:80%;
height:40px;
margin:0 10px 20px 0;
}

.satei .land-wrap {
  width:60%;
  padding:0;
}
.contact-form__list .land-wrap label {
  width:50%;
}
.satei .land-wrap .land {
  width:15px;
  height:15px;
  margin:0 10px 0 0;
}
.satei .land-wrap  input[type=radio] {
    -webkit-appearance: radio;
}

.contact-form__list .land-wrap label img {
  margin-right:5px;
}

.selectbox {
	overflow: hidden;
	width: 50%;
	text-align: center;
}
.selectbox select {
	width: 100%;
	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;
}
.selectbox select::-ms-expand {
    display: none;
}
.selectbox {
	position: relative;
	border: 1px solid #FF523A;
	border-radius: 2px;
	background: #FABFB7;
}
.selectbox::before {
	position: absolute;
	top: 0.8em;
	right: 0.9em;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #666666;
	pointer-events: none;
}
.selectbox select {
	padding: 8px 38px 8px 8px;
	color: #666666;
}

.datebox {
	overflow: hidden;
	width: 15%;
	text-align: center;
  margin-right:5px;
}
.datebox select {
	width: 100%;
	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;
}
.datebox select::-ms-expand {
    display: none;
}
.datebox {
	position: relative;
	border: 1px solid #FF523A;
	border-radius: 2px;
	background: #FABFB7;
}
.datebox::before {
	position: absolute;
	top: 0.8em;
	right: 0.9em;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #666666;
	pointer-events: none;
}
.datebox select {
	padding: 8px 38px 8px 8px;
	color: #666666;
}
.cp_ipselect {
	overflow: hidden;
	width: 70%;
	text-align: center;
  margin:0 0 20px 0;
}
.cp_ipselect select {
	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;
}
.cp_ipselect select::-ms-expand {
    display: none;
}
.cp_ipselect.cp_sl01 {
	position: relative;
	border: 1px solid #FF523A;
	border-radius: 2px;
	background: #FABFB7;
}
.cp_ipselect.cp_sl01::before {
	position: absolute;
	top: 0.8em;
	right: 0.9em;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #666666;
	pointer-events: none;
}
.cp_ipselect.cp_sl01 select {
	padding: 8px 50px 8px 8px;
	color: #666666;
}
.error {
  width:80%;
  border:2px dotted #FF523A;
  border-radius:5px;
  margin:0 auto;
}
.error dl {
  width:100%;
}
.error dt {
  width:100%;
  top
}
.error dt strong{
  width:100%;
  height:50px;
  display:block;
  float:left; clear:none;
  text-align:center;
  background:#FF523A;
  color:#fff;
  line-height:45px;
  font-weight:bold;
  position:relative;
}
.error dt img {
  margin:15px 10px 0 0;
  display:inline-block;
}
.error dd {
  width:100%;
  text-align:center;
  line-height:80px;
}
.error dt strong::after { /* 三角の部分 */
  content: '';
  position: absolute;
  top:50px;
  left: 50%;
  margin-left: -14px;
  border: 14px solid transparent;
  border-top-color: #FF523A;
}
.inner .text-center {
  width:100%;
  text-align:center;
  font-style:normal;
  display:block;
}
.inner .text-center__red {
  width:100%;
  text-align:center;
  color:#FF523A;
  font-weight:bold;
  font-style:normal;
  display:block;
  margin:50px 0 0 0;
}
