body {
  min-width: 0 !important;
  background: #EBF2FA !important; 
  color: #333333 !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: #2A4E7A !important; 
}



.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: #ffffff;
  border-radius: 12px;
  padding: 1.5rem;
  box-sizing: border-box;
  box-shadow: 0 4px 12px rgba(42, 78, 122, 0.05);
}

/* 入力グループ */
.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;
  color: #2A4E7A;
}

/* 入力欄 */
.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 #c9d7e4;
  border-radius: 8px;
  box-sizing: border-box; 
  display: block;
  margin: 0 auto;
}

/* フォーカス時 */
.container input[type="email"]:focus {
  border-color: #4A8FE2;
  box-shadow: 0 0 0 3px rgba(74, 143, 226, 0.2);
  outline: none;
}

/* 送信ボタン */
.container form .submit {
  text-align: center;
}

.container form .submit input[type=submit] {
  width: 100% !important;
  padding: 1rem !important;
  background: #4A8FE2 !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: #5d7085;
}

.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 #c9d7e4;
  border-radius: 8px;
  box-sizing: border-box;
  display: block;
  margin: 0 auto; 
}

/* ファイル選択ボタンの調整 */
.container input[type="file"] {
  width: calc(100% - 3rem);
  margin: 0 auto;
  display: block;
  font-size: 0.95rem;
}

/* 補足説明テキスト */
.question_complement {
  font-weight: normal !important;
  font-size: 0.875rem;
  color: #666666;
  line-height: 1.5;
  padding: 0.4rem 1.5rem 0;
  margin: 0;
  box-sizing: border-box;
  white-space: pre-line; 
}

/* フォーカス時 */
.container input[type="text"]:focus,
.container input[type="email"]:focus,
.container select:focus,
.container textarea:focus {
  border-color: #4A8FE2;
  box-shadow: 0 0 0 3px rgba(74, 143, 226, 0.2);
  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: #4A8FE2;
  color: #ffffff;      
  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="%234A8FE2" 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: #4A8FE2 !important; 
  color: #ffffff !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: #ffebee;
  color: #c62828;
  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;
  box-shadow: 0 4px 12px rgba(42, 78, 122, 0.05);
}

/* タイトル・説明・期間・メール */
.entry_confirm h1 {
  text-align: center;
  font-size: 1.6rem;
  margin-bottom: 1rem;
  color: #2A4E7A;
}

.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 #dbe3ed; 
  background: #fff;     
}

.entry_confirm th {
  text-align: left;
  padding: 0.8rem 1rem;
  border-bottom: 1px solid #dbe3ed;
  border-right: 1px solid #dbe3ed;
  width: 35%;
  vertical-align: top;
  background: #f4f8fc;
  color: #2A4E7A;
}

.entry_confirm td {
  padding: 0.8rem 1rem;
  border-bottom: 1px solid #dbe3ed;
  vertical-align: top;
  background: #fff; 
}

.entry_confirm tr:last-child td {
  border-bottom: 1px solid #dbe3ed;
}

/* 送信ボタン */
.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: #4A8FE2; 
  color: #ffffff;   
  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: #d8e2ed;         
  color: #334e68;
  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);
}



@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);
    padding: 0 2rem; 
  }

  /* PC時の補足テキスト位置 */
  .question_complement {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .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);
  }

  .container input[type="file"] {
    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;
  }
}