@charset "utf-8";

/**************************************************************
*
* テーブル基本スタイル
*
**************************************************************/
table {}
table th,
table td {}
table th {}
table td {}

/**************************************************************
*
* インプットフォーム基本スタイル
*
**************************************************************/
/*************************************
* インプット - テキスト
*************************************/
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
textarea {
  width: 100%;
  
  border: #003399 1px solid;
  
  padding: 3px 10px 1px;
  
  transition: all 400ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
textarea:focus {
  border-color: #fefeff;
  background-color: #dbe6f5;
  outline: none;
}

input.alert:placeholder-shown { color: #d6152f;}
input.alert::-webkit-input-placeholder { color: #d6152f;}
input.alert:-moz-placeholder { color: #d6152f;}
input.alert::-moz-placeholder { color: #d6152f;}
input.alert:-ms-input-placeholder { color: #d6152f;}

input[type="tel"] {
  width: 200px;
}
input[type="email"] {
  width: 100%;
}

input[type="text"] {
  width: 60%;
}
input[type="text"].company {
  width: 100%;
}
input[type="text"].small {
  width: 120px;
}
@media screen and (max-width: 768px) {

}
@media screen and (max-width: 599px) {

}
/*************************************
* インプット - テキストエリア
*************************************/
textarea {
  width: 100%;
  min-height: 100px;
  resize: vertical;

  line-height: 1.65;
}
textarea.large {
  height: 300px;
}
textarea.middle {
  height: 200px;
}
textarea.small {
  height: 100px;
}
/*************************************
* インプット - ボタン
*************************************/
form button[type="submit"],
form button[type="button"]{
  width: 250px;
  
  margin: auto;
  margin-bottom: 20px;
    
  border-radius: 0px;
}
form button.disabled {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  filter: grayscale(100%);
  
  pointer-events: none;
  opacity: 0.6;
}
form button.ui-datepicker-trigger {
	width: 50px;
}
/*************************************
* インプット - セレクト
*************************************/
select {
  border: #cfcfcf 1px solid;
  border-radius: 3px;
  
  padding: 7px 8px 5px;
  
  outline: none;
  
  width: 240px;
}
.select-wrap{
  position:relative;
  overflow:hidden;
  display:inline-block;
  vertical-align: middle;
  
  margin-right: 10px;
  
  background-color:#ffffff;
  border:1px solid #003399;
}
.select-wrap select{
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  position:relative;
  z-index:2;
  display:block;

  background:transparent;
  border:0;
  outline:none;

  line-height:1.5;
}
.entypo-down-open-mini:before{
  content:'';
  font-family:'entypo',sans-serif;
  position:absolute;
  z-index:1;
  top: 0;
  bottom: 0;
  right: 5px;
  
  margin: auto;
  
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 6px 0 6px;
  border-color: #003399 transparent transparent transparent;
  
  line-height:1;
}
/*************************************
* インプット - チェックボックス
*************************************/
.check_item {
  display: inline-block;

  margin-bottom: 16px;
}
.recruit.subpage .check_item {
  margin-bottom: 0;
}
.check_item label {
  margin-right: 20px;
}
input[type="checkbox"] {
  opacity: 0;
  width: 5px;
}
input[type="checkbox"] + .check {
  width: 20px;
  height: 20px;
  display: inline-block;
  border: #9c9898 2px solid;
  position: relative;
  top: 4px;
  margin-right: 4px;
	
  background-color: #fff;
}
input[type="checkbox"] + .check::after {
  content: '';
  position: absolute;
  top: -9px;
  bottom: 0;
  left: 5px;
  display: block;
  /* margin-top: -7px; */
  margin: auto;
  width: 10px;
  height: 20px;
  border-right: 4px solid #1d218b;
  border-bottom: 4px solid #1d218b;
  opacity: 0;

  transform: rotate(45deg);
  transition: opacity 100ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
input[type="checkbox"]:checked + .check::after {
  opacity: 1;
}
/*************************************
* インプット - ラジオボタン
*************************************/
.radio_box label {
  display: block;
  float: left;
  margin-right: 25px;
}
input[type="radio"] {
  opacity: 0;
  width: 5px;
}
input[type="radio"] + .radio {
  width: 16px;
  height: 16px;
  display: block;
  float: left;
  border-radius: 50%;
  border: #9c9898 2px solid;
  position: relative;
  margin-top: 4px;
}
input[type="radio"] + .radio::after {
  content: "";
  width: 70%;
  height: 70%;
  display: block;
  float: left;
  
  margin: auto;
  
  background-color: #003399;
  border-radius: 50%;
  opacity: 0;
  
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  
  transition: opacity 200ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
input[type="radio"]:checked + .radio::after {
  opacity: 1;
}

/**************************************************************
*
* テンプレートクラス
*
**************************************************************/
.form_notes {
  margin-left: 10px;
  font-size: 0.8em;
}
.asterisk {
  float: right;
  
  background-color: #003399;
  
  padding: 1px 3px 0px;
  
  color: #ffff00;
  font-size: 0.9em;
  font-weight: normal;
}
.error{
  display: block;
  color: red;
}