body {
  min-width: 0 !important;
  background: #fcf4e2 !important;
  color: #333 !important;
  font-size: 16px !important;
  line-height: 1.7;
}

.container_12 {
  width: 100% !important;
  max-width: 100% !important;
}

.container_12 [class^="grid_"] {
  float: none !important;
  width: auto !important;   
  margin: 0 auto !important;
}

[class^="push_"],
[class^="pull_"] {
  left: 0 !important;
}

.container h1 {
  background: none !important;
  color: #136635 !important;
}

/* ==========================================
   1. Mobile Base Design
========================================== */

.container {
  padding: 1.2rem;
  box-sizing: border-box;
}

#header {
  text-align: center;
}

#header img {
  width: 100%;
  height: auto;
  display: block;
}

/* タイトル */
.container h1 {
  font-size: 1.6rem;
  text-align: center;
  margin-top: 1.5rem;
}

.grid_12.entry_edit {
  width: 100% !important;
  max-width: 720px !important;
  margin: 0 auto 2rem !important;
  background: #fff;
  border-radius: 12px;
  padding: 1.5rem;
  box-sizing: border-box;
}

/* 入力グループ */
.container .input {
  margin-bottom: 1.2rem;
}

.container .input label {
  display: block;
  font-weight: bold;
  margin-bottom: 0.5rem;
  padding: 0 1.5rem; 
  box-sizing: border-box;
}

/* 入力欄 */
.container input[type="text"],
.container input[type="email"],
.container select,
.container textarea {
  width: 100%; 
  padding: 0.9rem 1.5rem; 
  font-size: 1rem;
  border: 1px solid #ccc;
  border-radius: 8px;
  box-sizing: border-box; 
  display: block;
  margin: 0 auto;
}

/* フォーカス時 */
.container input[type="email"]:focus {
  border-color: #136635;
  box-shadow: 0 0 0 3px rgba(19,102,53,0.15);
  outline: none;
}

/* 送信ボタン */
.container form .submit {
  text-align: center;
}

.container form .submit input[type=submit] {
  width: 100% !important;
  padding: 1rem !important;
  background: #33a139 !important;
  background-image: none !important;
  border: none !important;
  color: #ffffff !important;
  border-radius: 30px;
  font-size: 1rem !important;
  font-weight: bold;
  text-shadow: none !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: transform 0.1s ease, opacity 0.2s ease;
}

.container form .submit input[type=submit]:hover {
  opacity: 0.9;
}

.container form .submit input[type=submit]:active {
  transform: scale(0.98);
}

.container form .error {
  border-radius: 8px;
  padding: 0.8rem !important;
}

/* フッター */
#copy {
  text-align: center;
  font-size: 0.9rem;
  padding: 1.2rem 0;
  color: #333;
}



.entry_question .period,
.body_edit_mail,
.body_edit {
  margin-bottom: 1rem;
  font-size: 1rem;
  line-height: 1.6;
  padding: 0;
}

/* フォーム全体の余白 */
.form_start,
.body_start {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  box-sizing: border-box;
}

/* 入力欄とセレクト、テキストエリア */
.container input[type="text"],
.container input[type="email"],
.container select,
.container textarea {
  width: calc(100% - 3rem); 
  padding: 0.9rem;
  font-size: 1rem;
  border: 1px solid #ccc;
  border-radius: 8px;
  box-sizing: border-box;
  display: block;
  margin: 0 auto; 
}
/* フォーカス時 */
.container input[type="text"]:focus,
.container input[type="email"]:focus,
.container select:focus,
.container textarea:focus {
  border-color: #136635;
  box-shadow: 0 0 0 3px rgba(19,102,53,0.15);
  outline: none;
}

.container form .submit {
  text-align: center;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  box-sizing: border-box;
}

.container form .submit input[type=submit] {
  width: 100%;
  max-width: 320px;
  margin: 1.5rem auto 0;
  display: block;
  padding: 1rem;
  background: #33a139;
  color: #fff;
  border-radius: 30px;
  border: none;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
  text-align: center;
}

.container form .submit input[type=submit]:hover {
  opacity: 0.9;
}

.container form .submit input[type=submit]:active {
  transform: scale(0.98);
}
/* セレクトボックス */
.entry_question select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: #fff url('data:image/svg+xml;utf8,<svg fill="%23333" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>') no-repeat right 0.9rem center;
  background-size: 1rem;
  padding-right: 2.5rem;
}

/* 送信ボタン */
.entry_question .submit {
  text-align: center;
}

.entry_question .submit input[type=submit] {
  width: 100% !important;
  max-width: 320px;
  margin: 1rem auto 0;
  display: block;
  padding: 1rem !important;
  background: #33a139 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 30px;
  font-size: 1rem !important;
  font-weight: bold;
  text-shadow: none !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: transform 0.1s ease, opacity 0.2s ease;
}

.entry_question .submit input[type=submit]:hover {
  opacity: 0.9;
}

.entry_question .submit input[type=submit]:active {
  transform: scale(0.98);
}

/* エラー表示 */
.entry_question .error {
  border-radius: 8px;
  padding: 0.8rem !important;
  background: #ffdacc;
  color: #9e2424;
  margin-bottom: 1rem;
}

/* テキストエリアの高さ調整 */
.entry_question textarea {
  min-height: 6rem;
  resize: vertical;
}

/* 全体カード */
.entry_confirm {
  max-width: 720px;
  margin: 0 auto 2rem;
  background: #fff;
  border-radius: 12px;
  padding: 1.5rem;
  box-sizing: border-box;
}

/* タイトル・説明・期間・メール */
.entry_confirm h1 {
  text-align: center;
  font-size: 1.6rem;
  margin-bottom: 1rem;
  color: #136635;
}

.entry_question .period,
.body_confirm_mail,
.body_confirm {
  margin-bottom: 1rem;
  font-size: 1rem;
  line-height: 1.6;
  text-align: left;
}

/* 確認ページテーブル */
.entry_confirm table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1rem;
  font-size: 1rem;
  border: 1px solid #ccc; 
  background: #fff;     
}

.entry_confirm th {
  text-align: left;
  padding: 0.8rem 1rem;
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
  width: 35%;
  vertical-align: top;
  background: #f9f9f9;
}

.entry_confirm td {
  padding: 0.8rem 1rem;
  border-bottom: 1px solid #ccc;
  vertical-align: top;
  background: #fff; 
}

.entry_confirm tr:last-child td {
  border-bottom: 1px solid #ccc;
}

/* 送信ボタン */
.entry_confirm .submit {
  text-align: center;
  margin-top: 1.5rem;
}

.entry_confirm .submit input[type=submit] {
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
  display: block;
  padding: 1rem;
  background: #33a139;
  color: #fff;
  border: none;
  border-radius: 30px;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
  transition: transform 0.1s ease, opacity 0.2s ease;
}

.entry_confirm .submit input[type=submit]:hover {
  opacity: 0.9;
}

.entry_confirm .submit input[type=submit]:active {
  transform: scale(0.98);
}

/* 戻るリンク */
.entry_confirm a {
  display: block;               
  max-width: 320px;              
  width: 100%;                  
  margin: 1rem auto 0;         
  padding: 1rem;
  background: #ccc;           
  color: #333;
  text-align: center;
  border-radius: 30px;
  text-decoration: none;
  font-weight: bold;
  box-sizing: border-box;
  cursor: pointer;
  transition: transform 0.1s ease, opacity 0.2s ease;
}

.entry_confirm a:hover {
  opacity: 0.9;
}

.entry_confirm a:active {
  transform: scale(0.98);
}


/* ==========================================
   2. Tablet & PC (768px以上)
========================================== */

@media screen and (min-width: 768px) {

  .container {
    max-width: 720px;
    margin: 0 auto;
    padding: 2rem;
  }

  .container h1 {
    font-size: 2rem;
  }

  .body_start,
  .form_start,
  .body_sended,
  .body_complete,
  .body_confirm_mail,
  .body_confirm {
    padding-left: 2rem;
    padding-right: 2rem;
  }
	.container .input label {
    width: calc(100% - 4rem);
  }

  .container form .submit input[type=submit] {
    max-width: 320px !important;
    margin: 1.5rem auto 0;
    display: block;
  }
	
  .entry_edit {
    padding: 1.5rem 0;
  }

  .entry_question .period,
  .body_edit_mail,
  .body_edit,
  .form_start,
  .body_start {
    padding-left: 2rem;
    padding-right: 2rem;
  }
	
  .entry_edit,
  .form_start,
  .body_start,
  .body_sended {
    padding: 2rem;
  }

  .container input[type="text"],
  .container input[type="email"],
  .container select,
  .container textarea {
    width: calc(100% - 4rem);
  }

  .entry_question .submit input[type=submit] {
    font-size: 1.1rem;
    max-width: 360px;
  }
	
  .entry_confirm {
    padding: 2rem;
  }

  .entry_confirm h1 {
    font-size: 2rem;
  }

  .entry_confirm table th,
  .entry_confirm table td {
    padding: 1rem 1.5rem;
  }
	
	
}