.p-contact-inner {
  max-width: 80rem;
  margin: 0 auto;
  text-align: center;
}
.p-contact__title {
  font-size: 3rem;
  font-weight: 600;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro",
    "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  line-height: 1.4;
  margin: 0 0 2.4rem;
}
.p-contact-main {
  background: #eeeedd;
  padding: 2.8rem 10rem 1.6rem;
}
.p-contact__name {
  margin: 0;
}
@media screen and (max-width: 900px) {
  .p-contact-inner {
    padding: 0 1.8rem;
  }
  .p-contact__title {
    font-size: 2.4rem;
  }
  .p-contact-main {
    padding: 2rem 3rem 0.8rem;
  }
  .p-contact__name img {
    width: 260px;
  }
  .p-contact__tel img {
    width: 210px;
  }
}


.p-form {
  text-align: center;
  margin: 6rem 0 19rem;
}
.p-form-inner {
  max-width: 80rem;
  margin: 0 auto;
}
.p-form__title {
  font-size: 3rem;
  font-weight: 600;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro",
    "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  line-height: 1.4;
  margin: 0 0 2.4rem;
}


.form {
  text-align: left;
  background: #eed;
  padding: 4rem 10rem 5.2rem;
}
.form dl dt {
  font-size: 1.6rem;
  margin: 0 0 .6rem;
  font-weight: bold;
}
.form dl dd {
  font-size: 1.6rem;
  margin: 0 0 1.6rem;
  padding: 0;
}
.form dl dd input,
.form dl dd textarea,
.form dl dd i {
  display: block;
  width: 100%;
  border: none;
  padding: 1.2em 1.4em;
  border-radius: 0;
  background: #fff;
  font-style: normal;
}

.form dl dd input[type="checkbox"], .form dl dd input[type="radio"] {
    width:auto;
	display: inherit;
    margin-left: 0.8em;
}

.form dl dd i {
  background: #eed;
  font-weight: bold;
  border-top: #A28A3D solid 1px;
}
.form dl dd textarea {
  height: 20rem;
}

div#err_support, div#err_how-to-visit, div#err_purpose, div#err_classification{
    display: none;
}
.p-form-privacy {
  background: #fff;
  padding: 2.4rem 4.4rem;
  margin: 3rem 0;
  color: #666;
}
.p-form-privacy__title {
  margin: 0;
  font-size: 1.6rem;
  font-weight: normal;
  text-align: center;
  border-bottom: 1px solid #ccc;
  padding-bottom: 0.6em;
}
.p-form-privacy__text {
  font-size: 1.4rem;
}
.form > p {
	text-align: center;
}

span.required{
	margin-left: 1em;
	color:#BE0003;
}
span.check{
	margin-left: 1em;
}

.contact-item{
	margin: 3em 0;
}
@media screen and (max-width: 900px) {
  .p-form {
    margin: 6rem 0 10rem;
  }
  .p-form-inner {
    padding: 0 1.8rem;
  }
  .p-form__title {
    font-size: 2.4rem;
  }
  .form {
    padding: 1.4rem 2.4rem 3rem;
  }
  .p-form-privacy {
    padding: 2rem 2.6rem 1.6rem;
  }
}

/* 日時選択カレンダー */
.flatpickr-day.is-sunday {
  color: #d63636;
}
.flatpickr-day.is-saturday {
  color: #1e6bd6;
}
/* 曜日ヘッダー */
.flatpickr-weekday:nth-child(1) {
  color: #d63636; /* 日 */
}
.flatpickr-weekday:nth-child(7) {
  color: #1e6bd6; /* 土 */
}
/* 祝日 */
.flatpickr-day.is-holiday {
  color: #d63636;
  font-weight: bold;
}

/* 休館日（選択不可＋背景グレー） */

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.closed-day {
	background-color: #eee;
	background: #eee;
	color: #000;
	cursor: not-allowed;
}
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.closed-day:hover {
	background-color: #ddd;
	background: #ddd;
	color: #000;
}

.flatpickr-day.closed {
  position: relative;
}

/* カレンダーのメッセージ */
.calendar-message {
  margin-top: 8px;
  padding: 5px 0;
  font-size:  0.9em;
  color: #666;
}
.calendar-message.is-closed {
  color: #b00020;
  font-weight: bold;
}


/*ボタン*/
.p-form-buttons {
	max-width: 500px;
	margin: 2em auto;
}
.p-form-buttons input {
	width: 100%;
 	display: block;
 	text-decoration: none;
 	background: #A28A3D;
 	color: #000;
 	text-align: center;
  	padding: 0.8em 1.4em;
  	margin: 0 auto;
	background-image: url("../common/images/arrow-01-right-small-black.png");
    background-repeat: no-repeat;
    background-size: 7px 12px;
    background-position: right 10px center;
	transition : 0.5s;
	border: none;
}

.p-form-buttons input:hover {
	background-color:#c7a94a;
	transition : 0.5s;
}

/*戻るボタン*/
.description a{
	width: 100%;
    display: block;
    text-decoration: none;
    color: #000;
    text-align: center;
    padding: 0.8em 1.4em;
    margin: 0 auto;
    background-repeat: no-repeat;
    background-size: 7px 12px;
    transition: 0.5s;
	
	background-image: url("../common/images/arrow-01-left-small-black.png");
    background-position: left 10px center;
	background-color: #ccc;
}
.description a:hover {
	background-color:#e9e9e9;
}


@media screen and (min-width: 1200px) {
    h3.heading {
        line-height: 1;
    }
}

@media screen and (max-width: 1200px) {
    h3.heading br {
		display: none;
    }
	.section_inner {
    padding: 6rem 0 6rem;
}
}