/* ---------- Box Style ---------- */
.contact-wrapper {
  max-width: 800px;
  margin: auto;
  padding: 40px;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

h2 {
  text-align: center;
  margin-bottom: 25px;
  color: #333;
}

/* ---------- Inputs ---------- */
.form-group {
  margin-bottom: 18px;
}

label {
  font-weight: 600;
  display: block;
  margin-bottom: 6px;
  color: #444;
}

input,
textarea {
  width: 100%;
  padding: 14px;
  border: 1px solid #ddd;
  border-radius: 10px;
  font-size: 16px;
  transition: 0.2s;
}

input:focus,
textarea:focus {
  border-color: #4a90e2;
  box-shadow: 0 0 0 4px rgba(74,144,226,0.15);
}

/* ---------- Textarea ---------- */
textarea {
  min-height: 150px;
}

/* ---------- Submit Button ---------- */
.submit-btn {
  width: 100%;
  padding: 16px;
  margin-top: 10px;
  background: #4a90e2;
  color: #fff;
  border: none;
  border-radius: 10px;
  font-size: 24px;
  cursor: pointer;
  transition: .25s;
}

.submit-btn:hover {
  background: #3a78c4;
}

/* ---------- Responsive ---------- */
@media (max-width: 600px) {
  .contact-wrapper {
    padding: 50px;
  }

  h2 {
    font-size: 32px;
  }

  input,
  textarea {
    font-size: 24px;
  }

  .submit-btn {
    font-size: 36px;
    padding: 36px;
  }

@media (max-width: 600px) {

button[type="submit"] {
  font-size: 1.2rem; /* または 18px, 110% など */
}

}

}




/* 3カラム */
.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

/* 入力欄共通 */
.form-group label {
  display: block;
  margin-bottom: 6px;
  font-weight: bold;
}

.form-group input {
  width: 80%;
  padding: 12px;
  font-size: 16px; /* スマホで小さくならない */
  box-sizing: border-box;
}

/* スマホでは縦並び */
@media (max-width: 768px) {
  .grid-3 {
    grid-template-columns: 1fr;
  }
}


/* 4カラム */
.grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 5px;
}

/* 入力欄共通 */
.form-group2 label {
  display: block;
  margin-bottom: 6px;
  font-weight: bold;
}

.form-group2 input {
  width: 30%;
  padding: 12px;
  font-size: 16px; /* スマホで小さくならない */
  box-sizing: border-box;
}

/* スマホでは縦並び */
@media (max-width: 768px) {
  .grid-4 {
    grid-template-columns: 1fr;
  }
}


.radio-item2 {
  width: 90%;

  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.radio-item2 input {
  width: 5%;
  margin: 0;
}


.button-container {
    display: flex; /* Flexboxを有効にする */
    justify-content: center; /* ボタンを水平方向の中央に配置 */
    gap: 10px; /* ボタン間の余白を設定 */
    flex-wrap: wrap; /* 画面幅が狭い場合にボタンを折り返す */
    padding: 5px;
  margin-bottom: 50px;
}

.button {
    flex: 1; /* ボタンがコンテナの幅に合わせて伸縮するように設定 */
    min-width: 150px; /* ボタンの最小幅を指定し、これ以上狭くならないようにする */
/*height: 50px;*/
    padding: 12px 20px;
    text-align: center;
    text-decoration: none;
    color: white;
    background-color: #007bff; /* 好みの色に変更 */
    border-radius: 5px; /* 角丸デザイン */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); /* 見栄えを良くするための影 */
    transition: background-color 0.3s, transform 0.2s; /* ホバー時のアニメーション */
}

.button:hover {
    background-color: #0056b3;
    transform: translateY(-2px); /* ホバー時に少し浮き上がる効果 */
}

/* スマートフォンなど画面が狭い場合のメディアクエリ */
@media (max-width: 600px) {
    .button {
        flex: 1 100%; /* 画面幅600px以下の場合、ボタンを縦積みにする (幅100%) */
        margin-bottom: 10px; /* 縦積み時のボタン間の余白 */
    }
}

.container-flex {
  display: flex; /* 子要素を横並びにする */
  justify-content: space-around; /* 枠間のスペースを均等にする (任意) */
}

.item {
  border: 1px solid black;
  padding: 10px;
  text-align: center;
}


.field {
display: flex;
  width: 50%; /* 枠の幅を設定 */

}

.kasenn h1 {
  /*線の種類（実線） 太さ 色*/
  border-bottom: solid 3px black;
}


.uline h2{
/*font-size: 12px;*/
text-align:left;
padding-top:1em;
 /* padding: 0.1em; *//*文字周りの余白*/
  color: #010101;/*文字色*/
  background: #eaf3ff;/*背景色*/
  border-bottom: solid 1px #516ab6;/*下線*/
}

.uline{
font-size: 12px;
text-align:left;
padding-top:1em;
 padding: 0.1em; /*文字周りの余白*/
  color: #010101;/*文字色*/
  background: #eaf3ff;/*背景色*/
  border-bottom: solid 1px #516ab6;/*下線*/
}



@scope (waku) {
  p{
  margin: 50%;

  padding: 0px;
  border: 4px solid;
  border-top-color: red;
  border-right-color: red;
  border-bottom-color: red;
  border-left-color: red;
  }
}

@scope (pp) {
  div{
	font-size: 16px;
	line-height: 1.8;
	padding: 0px;
	margin-bottom: 30px;
	margin-top: 20px;
	margin-right: 30px;
	margin-left: 30px;
   }
}


#taitoruba {
  line-height: 1;
  padding: 7px 0 0px 18px;
  border-left: solid 5px #483d8b;
  border-bottom: solid 1px #483d8b;
}

.hidariyohaku01{
	margin-left: 30px;
}

.title-bar {
  background-color: #333; /* 背景色 */
  color: #fff;            /* 文字色 */
  padding: 10px 15px;     /* 上下・左右の余白 */
  font-weight: bold;      /* 太字 */
  border-radius: 4px;     /* 角丸（任意） */
}

.container {
  display: flex;
  flex-wrap: wrap; /* スマホ時に折り返す */
  gap: 20px; /* ボックス間の余白 */
  padding: 20px; /* 親要素の周囲の余白 */
}

.box {
  /* gapの分を差し引いて2分割する */
  flex: 1 1 calc((50% - 20px) / 2);
  /* 背景色や枠線（動作確認用） */
  /*background-color: #FFF;*/
  padding: 0px;
  box-sizing: border-box; /* paddingを含めた幅計算 */
}

/* レスポンシブ対応：画面が狭いときは1列にする */
@media (max-width: 767px) {
  .container {
    flex-direction: column; /* 縦並びに変更 */
  }
  .box {
    width: 100%; /* 幅を100%に */
    flex: none; /* flexの計算を解除 */
  }
}


.container h1 {
	font-size: 1.5em;
  padding: 1em;
margin-bottom:1em;

	font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;

  font-weight: bold;
  border-left: 5px solid #4c9ac0;
  border-bottom: 2px solid #4c9ac0;
  padding: 0.1em 0 0.3em 0.5em;
}
