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

.main-visual{
padding-top: 50px;
padding-bottom: -80px;
}

.nav__wrapper{
padding: 30px;
}

.nav__wrapper a{
color: #4D3529;
}

.nav__wrapper a:hover{
text-shadow: 1px 1px 4px  #fff;
}

/*.box_con02 {
  display: flex;
  justify-content: center;
}
*/
p{
    color: #2A5110;
    font-size: 16px;
    line-height: 2em;
    font-weight: bold;
	padding: 30px 0;
}

.contact__p p,
h4{
	color: #2A5110;
	text-align: center;
	font-size: 24px;
	font-weight: bolder;
	position: relative;
	bottom: 50px;
	margin-bottom: -80px;
}

h4{
	border-bottom: 1px solid #2A5110;
	margin: 120px 100px;
}

@media (max-width: 767px){
h4{
margin: 100px;
}
}

.formTable {
  display: grid;
/*  grid-template-columns: 250px 1fr;*/
  gap: 100px;
 /* width: 100%;
  max-width: 800px;*/
  margin: 0 auto;
  justify-content: center;
  padding: 40px;
}

@media (max-width: 767px){
.formTable {
/*  grid-template-columns: none;
  justify-content: center;*/

}
}

.formTable th {
  text-align: right;
  font-weight: bold;
  color: #2A5110;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
}

@media (max-width: 767px){
.formTable th {
text-align: center;
justify-content: center;
}
}

.formTable td {
color:  #2A5110;
accent-color: #2A5110;
  display: flex;
  flex-direction: column;
}

@media (max-width: 767px){
.formTable td {
  flex-direction: row;
  justify-content: center;
  padding: 10px 0;
}
}

.formTable th::before {
  content: "必須";
  display: inline-block;
  background-color: #2A5110;
  color: white;
  font-size: 12px;
  padding: 2px 8px;
  margin-right: 8px;
}

input.wide,
textarea {
  width: 100%;
  max-width: 100%;
  padding: 8px 8px;     /* ←ちょっと余白広めに */
  font-size: 16px;
}


input.wide::placeholder,
textarea::placeholder {
  color: #ccc;
}

.box_br {
  margin-right: 20px;
  display: inline-block;
}

.txt{
display: flex;
	background-color: #fff;
	border: 1px solid #2A5110;
	margin: -100px 80px 0;
	padding: 20px 80px;
	line-height: 3em;
	overflow-y: scroll;
	scrollbar-color: #2A5110 #fff;
/*	width: 1100px;*/
	height:300px;
}

@media (max-width: 767px){
.txt{
width: 360px;
height:400px;
}
}

.box_check{
display: flex;
justify-content: center;
padding: 20px 0 1px;
}

.box_check span{
color: #2A5110;
margin-left: 8px;
}

.agree-label {
  gap: 10px; /* チェックとテキストの間 */
  font-size: 16px;
  color: #2A5110;
}

.agree {
  width: 20px;
  height: 20px;
  accent-color: #2A5110; /* チェックボックスの色（対応ブラウザ） */
}

.button{
	margin: 20px auto;
	width: 400px;
}

