body {
 font-size: 16px;
 padding-top: 50px;
}

h2,h3 {
 font-size: 1.8rem;
 color: #000;
 margin: 30px auto;
 display: flex;
 white-space: nowrap;
 justify-content: center;
 align-items: center;
}

div#facility {
 margin-bottom: 100px;
}

h2:before,
h2:after,
h3:before,
h3:after {
 content: "";
 background-color: #000;
 height: 1px;
 width: 100%;
 display: inline-block;
}

h2:before,
h3:before {
 margin-right: 20px;
}

h2:after,
h3:after {
 margin-left: 20px;
}

div#facility img {
 margin: 0 auto;
}

div#facility>div {
 text-align: center;
}

div#facility>div>p {
 width: 680px;
 text-align: left;
 margin: 20px auto;
 color: #000;
 font-size: 16px;
}

.outline p {
    text-align: center !important;
}

.inner {
 display: flex;
}

.inner>div {
 width: 50%;
}

.inner-left {
 height: 250px;
}

dl {
 display: flex;
 padding: 5px;
}

dt {
 white-space: nowrap;
}

dl>dt {
 width: 25%;
 text-align: right;
}

dd {
 width: 75%;
 text-align: left;
 color: #000;
}

/* お問い合わせフォーム */

div#contact table {
 border: solid 1px #ccc;
 box-sizing: border-box;
}

div#contact table tr {
 border-bottom: solid 1px #ccc;
}

div#contact table tr th {
 padding: 20px 10px;
 font-size: 16px;
 color: #000;
 background-color: #f5f5f5;
 vertical-align: top;
 border-right: 1px solid #ccc;
 white-space: nowrap;
}

div#contact table tr td {
 padding: 20px 10px;
 color: #000;
}

div#contact table tr th p {
 font-weight: 400;
}

div#contact table tr th p:before {
 content: "必須";
 padding: 3px 5px;
 font-size: 12px;
 color: #fff;
 background-color: #47bcc6;
 margin-right: 5px;
}

div#contact input[type=text],
div#contact input[type=email] {
 margin: 0 0 8px 0;
 padding: 6px;
 width: 100%;
 border: solid 1px #ccc;
}

input[type="radio"] {
 background-color: initial;
 cursor: default;
 appearance: auto;
 box-sizing: border-box;
 margin: 3px 3px 0px 5px;
 padding: initial;
 border: initial;
 width: auto;
}

div#contact select,
div#contact input[type=text],
div#contact input[type=email],
div#contact textarea {
 background-color: #0b121505;
 border-radius: .25em;
 box-shadow: 0 0 0 1px #0b12151a, 0 0 .1em .02em #0b12150d;
 color: #0b1215;
 font-size: 16px;
 letter-spacing: -0.0025em;
 line-height: 1.4em;
 padding: .5625em .95em .65em .95em;
 transition: background 0.1s ease, box-shadow 0.1s ease;
}

div#contact select:focus,
div#contact input[type=text]:focus,
div#contact input[type=email]:focus,
div#contact textarea:focus {
 border-color: #66afe9;
 outline: 0;
 -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
 box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
 background-color: #fff;
}

div#contact textarea {
 width: 100%;
}

input[type="checkbox"] {
 appearance: auto;
}

span.wpcf7-list-item-label {
 font-size: 13px;
}

tr.check-agree a {
 color: red;
 border-bottom: 1px solid;
}

tr.btn-send td p {
 text-align: center;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner.contact-send {
 width: auto;
 background-color: #0b8a0f;
 color: #fff;
 border-radius: .25em;
 padding: 20px 130px;
 font-size: 16px;
 font-weight: 600;
 letter-spacing: .2em;
 margin: 0;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner.contact-send:hover {
 opacity: 0.8;
 transition: all 0.3s ease 0s;
}

tr.check-agree td p:first-child .wpcf7-list-item {
 margin: 0;
}

tr.check-agree td p:first-child span.wpcf7-list-item-label {
 font-size: 1rem;
}

.response-message>div {
 border: none !important;
 font-size: 1.5rem;
 text-align: center;
 font-weight: 400;
 color: #dc3232;
 margin-top:0 !important;
}

.wpcf7-response-output.thanks {
 color: #46b450;
}

div#contact table tr.other-txt th p:before {
 content: none;
}

tr.company-address>td>div {
 margin-bottom: 1rem;
}

tr.company-address>td>div>div:first-child {
 margin-bottom: 0.5rem;
}

select,
::picker(select) {
 appearance: base-select;
}

tr.btn-send td p:first-child {
    margin-bottom: 1.0rem;
    font-size: 0.9rem;
    font-weight: 400;
    letter-spacing: 0.1em;
}

.period span.wpcf7-list-item-label {
    font-size: 1.0rem;
}

span.period-att {
    font-size: 0.8rem;
    margin-top: 0.5rem !important;
    display: inline-block;
}

tr.period span.wpcf7-list-item.first:first-child {
    margin-left: 0;
}

@media screen and (max-width:1000px) {
 body {
  width: 100%;
  padding-top: 5vh;
  padding-bottom: 5vh;
 }

 div#facility {
  padding: 0;
  margin-bottom: 10vw;
 }

 div#facility>div>p {
  width: 100%;
  margin: 5vw auto;
  font-size: 1rem;
 }
.outline p {
    white-space: nowrap;
    font-size: 0.9rem !important;
}
 h3 {
  margin: 10vw auto;
 }

 .overview .inner {
  flex-direction: column;
 }

 .inner>div {
  width: 100%;
 }

 .inner-right {
  margin-top: 5vw;
 }

 div#contact table tr th {
  display: block;
  border-right: none;
 }

 div#contact table tr td {
  display: block;
 }

 tr.check-agree>td>p:first-child {
  text-align: center;
  margin-bottom: 5vw;
 }

 .wpcf7 form .wpcf7-response-output {
  margin: 0 auto 5vw !important;
  padding: 0 !important;
  font-size: 1.2rem;
  text-align: left;
 }

 div#contact table {
  margin-bottom: 5vw;
 }

 .response-message {
  margin-bottom: 5vh;
 }
	
	tr.btn-send td p:first-child {
    font-size: 0.8rem;
    text-align: left;
}
		tr.period span.wpcf7-list-item.first {
    margin-left: 0;
	display:block;
			margin-bottom: 0.2rem;
}
	tr.period span.wpcf7-list-item.last {
    margin-left: 0;
}
}