.custom-file-label::after{
  content: "ファイルを選択";
  background: #007bff;
  color: #FFF;
}
/* Placeholder text color */
/* Chrome */
.form-group ::-webkit-input-placeholder {
  color: #3498db;
  font-size: 80%;
}
.form-group input:focus::-webkit-input-placeholder,
.form-group textarea:focus::-webkit-input-placeholder {
    color: transparent;
    transition: .1s;
    font-size: 80%;
}
/* Firefox */
.form-group ::-moz-placeholder {
  color: #3498db;
  font-size: 80%;
}
.form-group input:focus:-moz-placeholder,
.form-group textarea:focus:-moz-placeholder {
    color: transparent;
    transition: .1s;
    font-size: 80%;
}

/* IE */
.form-group :-ms-input-placeholder {
  color: #3498db;
  font-size: 80%;
}
.form-group input:focus::placeholder,
.form-group textarea:focus::placeholder {
    color: transparent;
    transition: .1s;
    font-size: 80%;
}
/* Radio button */
.radio input[type="radio"] {
	display: none;
}
.radio label {
	position: relative;
	display: inline-block;
	padding: 3px 3px 3px 20px;
	cursor: pointer;
}
.radio label::before,
.radio label::after {
	position: absolute;
	content: '';
	top: 50%;
	border-radius: 100%;
	-webkit-transition: all .2s;
	transition: all .2s;
}

.radio label::before {
	left: 0;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	background: #f3f3f3;
	border: 1px solid #ccc;
}
.radio label:hover::before {
	background: #fff;
}
.radio label::after {
	opacity: 0;
	left: 4px;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	background: #3498db;
	-webkit-transform: scale(2);
	transform: scale(2);
}
.radio input[type="radio"]:checked + label::before {
	background: #fff;
	border: 1px solid #3498db;
}
.radio input[type="radio"]:checked + label::after {
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1);
}
  /* 迷惑メール設定の注意書き */
  .mail-notice{
    background: #fff5f5;
    padding: 10px 12px;
    border: 2px solid #ff1e1e;
    color: #000;
    margin-bottom: 2em;
    font-size: 90%;
  }
  .mail-notice-ttl {
    color: #db0404;
    font-weight: bold;
    display: block;
    font-size: 110%;
}
.mail-notice-outline {
    background: #db0404;
    color: #fff;
    font-weight: bold;
    padding: 8px 10px;
    margin: 0 0 10px;
    display: block;
    text-align: center;
}
/* KeyNumber */
#keycheck .contents{
	background: transparent;
}
.keycheck-panel {
    border-radius: 1em;
    box-shadow: 3px 3px 6px rgba(0,0,0,0.3);
    max-width: 600px;
		margin: 0 auto;
		background: #FFF;
}
.keycheck-header {
    background: #007bff;
    border-radius: 1em 1em 0 0;
    padding: 1em 2em;
    color: #FFF;
    text-align: center;
}

.keycheck-header h1 {
    font-size: 180%;
    margin-bottom: 0;
}
.keycheck-body {
    padding: 1.4em 1.6em;
}
.keycheck-body p.explain {
    font-size: 90%;
}
.contents.keycheck-body{
  background: transparent;
}
/* KeyNumber double */
#keycheck_double .keycheck_message_for_user{
  font-size: 1.6rem;
  padding: 6rem 3rem;
  text-align: left;
  min-height: 500px;
  margin-bottom: 2em;
}
#keycheck_double .keycheck-panel{
  box-shadow: none;
  background: transparent;
}
#keycheck_double .keycheck-header{
  background: transparent;
  font-size: 0.4rem;
  text-align: left;
  color: #000;
  padding: 1.4em 1.6em 0em;
}
#keycheck_double .keycheck-body{
  margin-bottom: 6rem;
  padding: 1rem 2rem;
}
.contents.keycheck-body input::placeholder {
  color: #999;
}

/* IE */
.contents.keycheck-body input:-ms-input-placeholder {
  color: #999;
}

/* Edge */
.contents.keycheck-body input::-ms-input-placeholder {
  color: #999;
}
.message.success{
  background: #e3fffe;
  text-align: center;
  padding: 2rem 0;
  margin-bottom: 2rem;
  color: #000;
}