.section-intro,
.section-tel,
.section-mail {
  max-width: 960px;
  margin: 0 auto;
}

.section-hero {
  background-image: url(../img/contact/hero.jpg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}

.section-intro h2 {
  font-size: 3.1rem;
  /* color: #0d1828; */
  line-height: 1.75;
  padding-top: 111px;
  letter-spacing: 0.15em;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .section-intro h2 {
    font-size: 2.35rem;
    text-align: center;
    padding-top: 50px;
    padding-left: 0;
  }
}
.section-intro .lead {
  padding: 0 0 70px;
  display: inline-block;
  text-align: left;
}

.section-tel .headline,
.section-mail .headline {
  text-align: center;
}

.section-tel .headline__title,
.section-mail .headline__title {
  font-size: 2.5rem;
  padding: 1.5em 0;
  border: 1px solid #000;
}

@media only screen and (max-width: 767px) {
  .section-tel .headline__title,
  .section-mail .headline__title {
    font-size: 1.5rem;
  }
}
.section-tel .content,
.section-mail .content {
  text-align: center;
}
.section-tel .content {
  padding-bottom: 70px;
}

.section-tel .content .block {
  padding: 40px 0 10px;
}

.section-tel .content .block .title {
  font-size: 2.1rem;
  line-height: 2;
  color: #fff;
  background-color: #e42121;
  border-radius: 50px;
  padding: 0 30px;
  display: inline-block;
}

.section-tel .content .block .reception {
  padding: 1em 0 ;
}
.section-tel .content .block .department {
  font-size: 2.1rem;
}
.section-tel .content .block .tel {
  font-family: 'Teko';
  font-weight: 600;
  font-size: 4.6rem;
  letter-spacing: 0.15em;
}

@media only screen and (max-width: 767px) {
  .section-tel .content .block .tel {
    font-size: 3.3rem;
  }
}

.tel > img {
  vertical-align: middle;
  margin-left: 10px;
}

@media only screen and (max-width: 767px) {
  .tel > img {
    margin-left: 5px;
  }
}

.section-mail .content {
  padding-bottom: 250px;
}
.section-mail .headline .lead {
  padding: 40px 0;
}
.section-mail .headline .lead span {
  display: inline-block;
  color: #e42121;
}
.mailform table {
  border-collapse: collapse;
  width: 100%;
}
.mailform tr {
  /* border-top: 1px solid #cccccc; */
}
.mailform tr{
  border-bottom: 1px solid #cccccc;
}
.mailform th {
  width: 280px;
  padding-left: 20px;
  vertical-align: top;
  padding-top: 35px;
}

@media only screen and (max-width: 767px) {
  .mailform th {
    width: 100%;
    display: block;
    padding-left: 0;
    padding-top: 15px;
  }
}
.mailform th span {
  display: inline-block;
  color: #e42121;
  padding-right: 10px;
}
.mailform td {
  /* width: 640px; */
}

.mailform th,
.mailform td {
  text-align: left;
}
.mailform td {
  display: block;
  padding: 30px 20px 30px 0;
}

@media only screen and (max-width: 767px) {
  .mailform td {
    width: 100%;
    padding-top: 10px;
  }
}

.mailform td li {
  margin-top: 1em;
}

.radiobutton label {
	padding: 0 0 0 30px;	/* ラベルの位置 */
	font-size: 17px;
	line-height: 24px;		/* ボタンのサイズに合わせる */
	display: inline-block;
	cursor:	pointer;
  position: relative;
  margin-right: 11px;
}

@media only screen and (max-width: 767px) {
  .radiobutton label {
    font-size: 14px;
  }
}

.radiobutton label:before {
	content: '';
	width: 24px;		/* ボタンの横幅 */
	height: 24px;		/* ボタンの縦幅 */
	position: absolute;
	top: 0;
	left: 0;
	background-color: #f7f7f7;
  border: 1px solid #444;
	border-radius: 50%;
}

@media only screen and (max-width: 767px) {
  .radiobutton label:before {
    width: 16px;		/* ボタンの横幅 */
    height: 16px;		/* ボタンの縦幅 */
    vertical-align: middle;
  }
}

.radiobutton input[type="radio"] {
  opacity: 0;
  position: absolute;
}
.radiobutton input[type="radio"]:checked + label:after {
	content: '';
	width: 12px;		/* マークの横幅 */
	height: 12px;		/* マークの縦幅 */
	position: absolute;
	top: 6px;
	left: 6px;
	background-color: #444;
	border-radius: 50%;
}

@media only screen and (max-width: 767px) {
  .radiobutton input[type="radio"]:checked + label:after {
    width: 8px;		/* マークの横幅 */
    height: 8px;		/* マークの縦幅 */
    top: 4px;
    left: 4px;
    vertical-align: middle;
  }
}

.mailform td input[type='email'],
.mailform td input[type='text'],
.mailform td textarea {
  border: none;
  border-radius: 3px;
  background-color: #f7f7f7;
  font-size: 1.7rem;
  padding: 10px ;
  width: 500px;
  margin-right: 1em;
}

@media only screen and (max-width: 767px) {
  .mailform td input[type='email'],
  .mailform td input[type='text'],
  .mailform td textarea {
    width: 100%;
  }
}
.mailform td input.full,
.mailform td .full {
  width: 100%;
}
.mailform td input[data-type='tel'] {
  width: 240px;
}
.mailform .post {
  display: flex;
  padding-bottom: 0;
}
@media only screen and (max-width: 767px) {

  .mailform .post {
    display: block;
  }
}
.mailform .post input[type='text'] {
  margin: 0 1em;
  width: 200px;
}
.mailform td textarea {
  resize: vertical;
  min-height: 100px;
}
.btn-check  {
  padding: 60px 0;
}
.btn-check input#check {
  width: 20px;
  height: 20px;
  vertical-align: middle;
  color:#f7f7f7;
}
.btn-check span a {
  color: #e42121;
  text-decoration: underline;
}
.btn-form button {
  font-size: 1.9rem;
  color: #fff;
  background-color: #e42121;
  border:none;
  font-family: inherit;
  width: 320px;
  padding: 26px 0;
}

@media only screen and (max-width: 767px) {
  .btn-form button {
    font-size: 1.5rem;
  }
}

.mailform td .grid {
  display: flex;
}

@media only screen and (max-width: 767px) {

  .mailform td .grid {
    display: block;
  }
}

@media only screen and (max-width: 767px) {
  .main-wrapper .page-bar-in {
    padding: 14px 25px 13px;
  }
}


.confirm .lead {
  margin-top: 1.5em;
}


.section-external .btns {
  display: flex;
  justify-content: center;
}
.section-external .btns li {
  margin: 0 2em;
}
.section-external .txt {
  margin-top: 1em;
}

.section-external .content {
  padding: 4em 0 6em;
}

.is-entry-close {
  padding: 2em 0 10em;
  text-align: center;
}

#submit-button:disabled {
  background-color: #999 !important;
}


.mail-confirm .section-intro{
    text-align: center;
    padding: 5em 0;

}
.mail-confirm .confirm__buttons  {
    margin: 4em 0 2em;
}
.mail-confirm .confirm__buttons .form__button {
    font-size: 1.9rem;
    color: #fff;
    background-color: #999;
    border: none;
    font-family: inherit;
    display: block;
    margin: 0 auto;
}


.mail-confirm .page-desc {
    color: #e42121;
}

.error_message_content {
  text-align: center;
  padding-bottom: 4em;
}

.mail-confirm .error__lead {
    margin: 0 0 3em;
}

.mail-confirm .error_messe {
    color: #e42121;
    padding: 1em 0;
}

.mail-confirm .lead span {
    color: #e42121;
}

.mail-confirm .formTable {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    text-align: left;
    border-collapse: collapse;
    border-spacing: 0;

}
.mail-confirm .confirm__inner {
    padding: 5em 0 2em;

}

.mail-confirm .formTable th,
.mail-confirm .formTable td {
    padding: 1em;
}

.mail-confirm .formTable tr {
    border-bottom: 1px dotted #ccc;
}


.mail-confirm .confirm__buttons .form__button.form__button--submit {
    background-color: #e42121;
}

.section-mailform {
  padding-bottom: 4em;
}

@media (min-width: 768px) {
    .mail-confirm .confirm__buttons .form__button {
        width: 320px;
      padding: 26px 0;


    }
    .mail-confirm  .submit-in  {
        display: flex;
        justify-content: center;
    }
  	.mail-confirm .submit-in .confirm__buttons__wrap {
		margin: 0 20px;
	}
}
@media (max-width: 767px) {
    .mail-confirm .headline__title {
        padding: 2em 0;
    }
    .mail-confirm .confirm__buttons .form__button {
        width: 100%;
        padding: 1em 0;
        margin: 10px 0;
    }

    .mail-confirm .confirm__content {
        padding: 0;
    }
    .mail-confirm table,
    .mail-confirm tbody,
    .mail-confirm thead,
    .mail-confirm th,
    .mail-confirm td,
    .mail-confirm tr {
        display: block;
    }

    .mail-confirm .formTable th {
        padding-bottom: 0;
    }

    .mail-confirm .section-intro .lead {
        text-align: left;
    }

    .mail-confirm .confirm__inner {
        padding: 3em 5%;

    }
}


.section-intro .thanks .lead p{
    margin: 3em 0;

}
@media (max-width: 767px) {
    .section-intro .thanks .lead p{
        text-align: left;
    }
    .section-intro .thanks .lead p br {
        display: none;
    }
    .section-intro  .thanks .lead {
        padding-bottom: 5em;
    }
}

.section-intro .thanks .lead  a {
    background-color: #0C1828;
    color: #fff;
    padding: 1em 3em;
    margin-top: 2em;
    display: inline-block;
}

.section-intro .content {
  text-align: center;
}

/* 画像 scale → 1.2 */

a.hover img.scale {
  transition: all 400ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

a.hover:hover img.scale {
  transform: scale(1.2);
}
