@charset "utf-8";

/*フォーム関連
---------------------------------------*/

/*レイアウト*/
.formtable dl{
}
.formtable dt,
.formtable dd {
}
.formtable dt {
  margin-bottom: 10px;
}
.formtable dd {
  margin-bottom: 20px;
}

/*パーツ類*/
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
  font-size: 1.5rem;
  display: inline-block;
  padding: 15px;
  color: #000;
  vertical-align: middle;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 3px;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1) inset;
  font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {
  outline: 0;
  border-color: #0089ff;
}
select {
  min-width: 100px;
  padding: 15px 10px;
  font-size: 1.5rem;
  border-radius: 5px;
  border: 1px solid #ccc;
}
select[multiple] ,
select[size] {
  height: auto;
}
.label-list label{
  cursor:pointer;
  display: block;
  padding: 15px;
  background: #eaeaea;
  margin: 0 0 10px 0;
  border-radius: 5px;
}
.label-list label:hover{
  background: #f0f0f0;
}
input[type="checkbox"],
input[type="radio"]   {
  vertical-align: text-bottom;
  margin-right: 5px;
}
input[disabled]{
  opacity: 0.5;
}
*::placeholder {
  color: #ccc;
}
/* 確認ページ用（spanのみ） */
span.error{
  color: #e8003e;
}
/* バリデーション用（spanのみ） */
span.alert{
  position: relative;
  clear: both;
  display: inline-block;
  font-size: 1rem;
  background: #e8003e;
  color: #fff;
  padding: 5px 15px;
  margin: 0 0 10px 0;
}
span.alert:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 20%;
  margin-left: -5px;
  border: 3px solid transparent;
  border-top: 5px solid #c00;
}

/*必須・任意アイコン*/
.hissu ,
.ninni {
  display: inline-block;
  font-size: 1rem;
  color: #fff;
  font-weight: normal;
  font-style: normal;
  text-align: center;
  padding: 0px 5px 1px;
  margin: 0 5px 0 0;
}
.hissu { background: #e8003e;}
.ninni { background: #3e3f53;}
.hissu:before { content: "必須";}
.ninni:after { content: "任意";}
/* サイズ */
.input-w100 {width: 100px;}
.input-w200 {width: 200px;}
.input-w300 {width: 300px;}
.input-w400 {width: 400px;}
.input-w500 {width: 500px;}
.input-block {width: 100%;}
/* ボタン */
.input-btn,
button,
input[type="button"],
input[type="reset"] ,
input[type="submit"] {
  -webkit-appearance:none;
  display:block;
  margin: 0 auto 30px;
  border: none;
  vertical-align:middle;
  font-size: 1.5rem;
  text-align:center;
  cursor: pointer;
  height: 60px;
  line-height: 60px;
}
/* ブロックボタン */
button.btn-block,
input[type="submit"].btn-block,
input[type="reset"] .btn-block,
input[type="button"].btn-block {
  width: 100%;
}
/* HOVER */  
.input-btn:hover,
.input-btn:focus{
  opacity:0.6;
  transition: all 0.3s ease;
}
/* DISABLED */
.disabled,
.input-btn[disabled] {
  cursor: default;
  opacity: 0.5;
}
/* 送信・戻るボタン */
.btn-send{
  background: #eb0064;
  color: #fff;
  border-radius: calc( 60px / 2 );
  width: 260px;
}
.btn-back{
  background: none;
  text-decoration: underline;
}



