.ttl_box {
  padding-bottom: 1.5rem;
}
.entry_list {}
.entry_list dt {
  font-weight: bold;
}
.entry_list dd {
  padding: 0 0 1rem 2rem;
}
.tel_info {}
.tel_box {
  width: 65rem;
  margin: 0 auto;
  padding: 2rem 10rem;
  text-align: center;
  border: 1px #ccc solid;
  background-color: #fff;
}
.tel_box .ttl {
  padding-bottom: 1.5rem;
  font-size: 2.0rem;
  font-weight: 500;
}
.tel_box .ttl span {
  display: block;
  font-size: 1.4rem;
}
.tel_box .tel {
  padding-bottom: 1.5rem;
  font-size: 2.6rem;
  font-weight: bold;
}
.tel_box .tel i {
  padding-right: 1rem;
}
.tel_box .tel img {
  vertical-align: middle;
}
.tel_box .txt {
  text-align: center;
  font-size: 1.4rem;
}

/* フォーム */
.form_header {
  padding: 1.5rem 0;
  border-bottom: 1px #CECECE solid;
}
.form_footer {
  border-top: 0;
  background: none;
}
.form_block {
  margin-bottom: 3rem;
  border: 1px #C1C1C1 solid;
  background-color: #fff;
}
.form_block dl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.0rem 0;
  border-bottom: 1px #CECECE solid;
}
.form_block dl:last-child {
  border: 0;
}
.form_block dl dt {
  width: 25%;
  padding: 1.0rem 3rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: bold;
}
.form_block dl dt em {
  color: #FF6E6E;
  font-weight: bold;
}
.form_block dl dd {
  width: 75%;
  padding: 1.0rem 3rem;
}
.form_block dl dd.date .form_select {
  width: 15rem;
}
.form_block dl dd.add .form_select:last-child {
  width: 15rem;
  margin-left: 0.5rem
}
.form_block input[type="text"] {
  width: 100%;
}
.error_msg {
  padding-bottom: 1rem;
	color:#FF6E6E;
}
.error {
  padding-top: 0.5rem;
	color:#FF6E6E;
}

.form_btn {
  padding-bottom: 5rem;
  text-align: center;
}
.submit_btn {
  margin-top:1.0rem;
  text-align: center;
}
ul.submit_btn {
  display: flex;
  justify-content: center;
}
ul.submit_btn li {
  padding: 0 1em;
}
.form_btn .submit_btn {
  margin-top:2rem;
}
.form_btn .submit_btn input {
  width: 34rem;
}
.submit_btn input {
	padding:1rem 5rem;
	font-size:1.6rem;
  font-weight: bold;
	border-radius:0.5rem;
	color: #fff;
	border:0px;
	text-align:center;
	cursor:pointer;
  background: url("../images/icon_arrow_wh.svg") no-repeat right 2rem center;
  background-color:#FF973B;
}
.form_block .submit_btn input {
  margin-top:2em;
}
.submit_btn input[type="submit"]:hover {
	opacity: 0.7;
}
.submit_btn input[type="submit"]:disabled {
	background: #ccc;
}
.submit_btn input:hover {	
}
.back_btn {
  padding-top: 2rem;
}
.back_btn a {
  display: block;
  width: 20rem;
  margin: 0 auto;
	padding: 0.8rem 0;
  font-weight: bold;
  color: #434343;
	text-align:center;
	cursor:pointer;
	border-radius:0.5rem;
  border: 1px #434343 solid;
  background: url("../images/icon_arrow_back.svg") no-repeat left 2rem center;
	background-color:#fff;
}
.back_btn a:hover {	
}

.form_cmp {
  width: 50rem;
  margin: 0 auto;
  text-align: center;
}
.form_cmp i {
  display: inline-block;
  padding-bottom: 3rem;
}
.form_cmp h2 {
  font-size: 2.5rem;
}
.form_cmp p {
  padding-bottom: 2.5rem;
  line-height: 2.0;
}

.calendar_select,
.checkbox,
.radiobtn {
  display: flex;
}
.input_list li,
.department_select li {
  padding-top: 1rem;
}
.input_list li:first-child
.department_select li:first-child {
  padding-top: 0;
}

.entry_block dl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.0rem 0;
  border-bottom: 1px #CECECE solid;
}
.entry_block dl:last-child {
  border: 0;
}
.entry_block dl dt {
  width: 25%;
  padding: 1.0rem 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: bold;
}
.entry_block dl dd {
  width: 75%;
  padding: 1.0rem 2rem;
}

/*----------------------------------------------
	フォーム関連 パーツ
----------------------------------------------*/
input[type="text"],
input[type="number"],
input[type="password"]{
  padding:1rem;
  font-size: 1.6rem;
  border: 1px #ccc solid;
  border-radius:0.5rem;
  background-color: #fff;
}
input[type="text"].w20 {
	width: 20% !important;
}
input[type="text"].w50 {
	width: 50% !important;
}
input[type="text"].w70 {
	width: 70% !important;
}
input[type="number"].w5 {
	width: 5em !important;
}
textarea {
  width: 100%;
  
	padding:1rem;
  font-size: 1.6rem;
  border: 1px #ccc solid;
  background-color: #fff;
  vertical-align: bottom;
}
input::placeholder,
textarea::placeholder {
  color: #aaa;
}
input[type=checkbox],
input[type=radio] {
	display: none;
	margin: 0;
}
input[type=checkbox] + label {
	padding: 0 0 0 2.5rem;
	margin:0;
	position: relative;
	display: inline-block;
	cursor: pointer;
}
input[type=checkbox] + label::before {
	content: "";
	position: absolute;
	top: 0.4rem;
	left: 0;
	display: block;
	width: 1.8rem;
	height: 1.8rem;
	background: #FFF;
	border: 1px solid #aaa;
	border-radius:0.5rem;
  box-sizing: border-box;
}
input[type=checkbox]:checked + label::after {
	content: "";
	position: absolute;
	top: 0.7rem;
	left: 0.2rem;
	display: block;
	width: 1.4rem;
	height: 0.8rem;
	margin-top: -0.2rem;
	border-left: 3px solid #26160c;
	border-bottom: 3px solid #26160c;
	transform: rotate(-45deg);
  box-sizing: border-box;
}

input[type=radio] + label {
  width: 10rem;
	padding: 0.5rem 1rem 0.5rem 4.5rem;
	margin:0 1rem 0 0;
	position: relative;
	display: inline-block;
	cursor: pointer;
  border: 1px solid #ccc;
  border-radius: 0.5rem;
}
input[type=radio]:checked + label {
	background-color: #f1f1f1;
}
input[type=radio] + label::before {
	content: "";
	position: absolute;
	top: 0.9rem;
	left: 1.5rem;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
	width: 1.1em;
	height: 1.1em;
	background: #FFF;
	border: 1px solid #aaa;
  border-radius:50%;
}
input[type=radio]:checked + label::after {
	content: "";
	position: absolute;
	top: 0.9rem;
	left: 1.5rem;
	box-sizing: border-box;
	display: block;
	width: 1.1em;
	height: 1.1em;
	background: #666;
	border: 0.15em solid #fff;
	box-shadow: 0 0 0 1px #444;
	border-radius:50%;
}

.form_select {
  min-width: 5rem;
	display:inline-block;
	position:relative;
  border-radius:0.5rem;
	background-color:#fff;
}
.form_select select {
	width: 100%;
	margin:0;
	outline:none;
  padding:1rem 3rem 1rem 1rem;
	appearance: none;
	font-size: 1.6rem;
  border: 1px #ccc solid;
	border-radius:0.5rem;
	position:relative;
	background-color:transparent;
	z-index:1;
  cursor: pointer;
}
select::-ms-expand {
	display: none;
}
.form_select:before {
	content: "▼";
	position: absolute;
	top: 50%;
	right:1rem;
	margin-top:-0.5rem;
	box-sizing: border-box;
	display: block;
	text-align:center;
	font-size:1rem;
	color:#434343;;
  line-height: 1.0rem;
	z-index:0;
}

.error_block {
  padding-top: 4rem;
  text-align: center;
}
.error_block h1 {
  padding-bottom: 3rem;
}
.error_block .cmp_btn {
  padding-top: 4rem;
}
.cmp_btn .back_btn a {
  width: 40rem;
  background: url(../images/icon_arrow_bk.svg) no-repeat right 2rem center;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  
  .tel_box {
    width: 100%;
    margin: 0 auto;
    padding: 2rem 1rem;
    text-align: center;
    border: 1px #ccc solid;
    border-radius: 1rem;
    background-color: #fff;
  }
  .tel_box .txt {
    text-align: center;
  }
  .form_block {
    margin-bottom: 0;
  }
  .form_block dl {
    flex-flow: wrap;
    padding: 1.0rem 0;
    border-bottom: 1px #CECECE solid;
  }
  .form_block dl:last-child {
    border: 0;
  }
  .form_block dl dt {
    width: 100%;
    padding: 0.5rem 1.5rem;
    display: flex;
    align-items: center;
    font-weight: 500;
  }
  .form_block dl dt em {
    padding-left: 1.5rem;
    color: #FF6E6E;
    font-weight: 500;
  }
  .form_block dl dd {
    width: 100%;
    padding: 0.5rem 1.5rem;
  }

}