@charset "utf-8";
/* CSS Document */

.contact__wrapper {
	width: 90%;
	max-width: 1000px;
	margin: 7rem auto;
}
.contact__text {
	max-width: 730px;
	text-align: left;
	margin: 0 auto;
}
.contact__telLink {
	text-align: center;
	justify-content: center;
	margin: 5rem auto 1rem auto;
}
.contact__telLink a {
	color: #000;
}

.contact__box {
	border-top: 1px solid #e1e1e1;
	padding: 5rem 0;
}

/*form*/
input[type=text],
input[type=email],
input[type=tel],
textarea {
  font-size: 1.6rem;
	width: 96%;
  padding: 20px 2%;
  border: none;
  border-radius: 5px;
  outline: none;
	background-color: #ffffff;
}
textarea {
	
  resize: vertical;
}
.form-box {
	text-align: left;
	margin: 5rem 0 0 0;
}
.form-box dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.form-box dt, .form-box dd {
  padding: 30px 0;
	border-top: 1px solid #d1d1d1;
}
.form-box dt {
	width: 37%;
	font-size: 1.6rem;
  font-weight: 500;
  text-align: left;
}
.form-box dt.message {
  padding-top: 10px;
  vertical-align: top;
}
.form-box dd {
  width: 60%;
}

.required {
	font-size: 1.4rem;
	color: #cc1e1d;
	display: inline-block;
	padding: 5px 10px;
	margin: 0 0 0 10px;
}

.RadioBox {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  margin-right: 16px;
  position: relative;
}

.RadioBox-Input {
  position: absolute;
  opacity: 0;
  width: 18px;
  height: 18px;
  margin: 0;
}

/* テキスト位置調整 */
.RadioBox-Text {
  position: relative;
  padding-left: 28px;
}

/* ::before = 外枠（未選択時も表示される） */
.RadioBox-Text::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid #7baf65; /* 外枠色 */
  background: #fff;
  box-sizing: border-box;
}

/* ::after = 内側のマーク（選択時のみ表示） */
.RadioBox-Text::after {
  content: '';
  position: absolute;
  left: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #324f30;       /* 選択時の色（例：青） */
  opacity: 0;             /* 初期は非表示 */
  transition: opacity 0.2s ease;
}

/* 選択されたときに ::after を表示 */
.RadioBox-Input:checked + .RadioBox-Text::after {
  opacity: 1;
}

.link-uline a {
	color: #325030;
	text-decoration: underline;
}
.link-uline a:hover {
	text-decoration: none;
}
/*submit*/
.btn-submit {
	font-family: "Zen Kaku Gothic New", sans-serif;
	color: #ffffff;
	background-color: #325030;
	font-size: 1.8rem;
	display: inline-block;
	border: none ;
	padding: 1rem 4rem ;
	border-radius: 100vh;
	transition: .3s;
}
.btn-submit:hover {
	color: #ffffff;
	background: rgba(123, 175, 101, 0.9);
  	backdrop-filter: blur(12px);
}
.btn-wrapper {
  	text-align: center;
	min-width: 220px;
	margin: 30px auto;
}

.thnks__box {
	max-width: 730px;
	text-align: left;
	margin: 0 auto 5rem auto;
}


@media screen and (max-width: 768px){
.form-box {
    display: block;
  }
.form-box dl {
	display: block;
	margin: 3% 0 ;
}
  .form-box dt, .form-box dd {
    display: block;
    width: 100%;
  }
  .form-box dt {
    padding: 2rem 0 0 0;
  }
  .form-box dt.message {
    padding-top: 0;
  }
  .form-box dd {
    padding: 1rem 0 2rem 0;
	  border: none;
  }
	
}
