@charset "UTF-8";
/*===============================================
 シェフ名前　投票
 /voting/
 ===============================================*/

 /*====　共通　===========================================*/
.main__voting {
	background-color: #fdf4e3;
	font-size: 14px;
	line-height: 1.5;
}
.main__voting__head {
	text-align: center;
}
/* ボタン */
a.main__voting__btn {
	display: block;
	width: 70%;
  margin:50px auto;
  font-size: 18px;
	letter-spacing: 3px;
	font-weight: bold;
  border: double 4px #fff;
  padding: 16px 0;
	text-align: center;
  color: #fff;
	background: #991b19;
  text-decoration: none;
	box-shadow: 5px 10px 5px rgba(0,0,0,0.4);
	border-radius: 50px;
}


/*====　投票画面　TOP　===========================================*/
.main__voting__top-contents {
	padding: 20px 14px 28px;
	text-align: center;
}
.main__voting__top-contents__candidate {
	text-align: center;
	padding-top: 25px;
}
.main__voting__top-contents__candidate__reason-ttl {
	font-size: 18px;
	font-weight: bold;
	padding: 18px 0;
}
.main__voting__top-contents__candidate__reason-txt {
	font-size: 13px;
	text-align: left;
	padding:0 20px 20px;
}
.main__voting__top-contents__candidate hr {
	height: 14px;
	background-color: #fdf4e3;/*背景色と合わせる*/
	background-image:
		-webkit-linear-gradient(135deg,
		#b95856 25%, transparent 25%,
		transparent 50%, #b95856 50%,
		#b95856 75%, transparent 75%,
		transparent);
	background-image:
		linear-gradient(-45deg,
		#b95856 25%, transparent 25%,
		transparent 50%, #b95856 50%,
		#b95856 75%, transparent 75%,
		transparent);
	background-size: 10px 10px;
	border: none;
}

.shukei {
	display: block;
	width: 90%;
	margin:2em auto;
	font-size: 20px;
	font-weight: bold;
	background-color: #235221;
	border: none;
	color: #fff;
	padding: 15px 0;
	position: relative;
	z-index: 100;
}
.shukei::before {
		content: "" ;
		position: absolute ;
		top: 0 ;
		right: 0 ;
		bottom: 0 ;
		left: 0 ;
		border: 1px #fff solid ;
		margin: 2px ;
		display: block ;
		z-index: -1 ;
		background: #235221;
}
.shukei::after {
		content: "" ;
		position: absolute ;
		top: 0 ;
		right: 0 ;
		bottom: 0 ;
		left: 0 ;
		border: 1px #fff solid ;
		margin: 2px ;
		display: block ;
		z-index: -5 ;
		background: #235221;
}
.shukei h1 {
	position: relative;
	display: inline-block;
	padding: 0 55px;
}
.shukei h1:before, .shukei h1:after {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 45px;
	height: 2px;
	background-color: #fff;
}
.shukei h1:before {
	left:0;
}
.shukei h1:after {
	right: 0;
}



/*====　投票画面　フォーム　===========================================*/
.main__voting__form {
	padding: 28px 14px;
}
.main__voting__form__error {
	padding: 0 12px 15px;
  font-weight: bold;
	font-size: 16px;
  color: #0000ff;
}

.c-name__cap {
	position: relative;
	height: 18px;
	color: #424242;
	background-color: #fdf4e3;/*背景色と合わせる*/
	background-image:
		-webkit-linear-gradient(135deg,
		#b95856 25%, transparent 25%,
		transparent 50%, #b95856 50%,
		#b95856 75%, transparent 75%,
		transparent);
	background-image:
		linear-gradient(-45deg,
		#b95856 25%, transparent 25%,
		transparent 50%, #b95856 50%,
		#b95856 75%, transparent 75%,
		transparent);
	background-size: 10px 10px;
	margin: 0 auto 1em;
}
.c-name__cap span {
	position: absolute;
	font-size: 16px;
	color: #991b19;
	font-weight: bold;
	display: inline-block;
	margin-left: 16px;
	padding: 0 16px;
	background: #fdf4e3;/*背景色と合わせる*/
}
.c-name__radioArea {
	display: block;
	position: relative;
	margin-bottom: 40px;
}
.c-name__radioArea::after {
	clear: both;
	content: '';
	display: block;
}

.c-name__radioArea input {
  display: none;
}
.c-name__radioArea input[type="radio"]:checked + label {
  opacity: 1.0;
}
.c-name__radioArea label {
	opacity: 0.5;
  color: #fff;
	background-color: #d9534f;
	font-weight: bold;
  text-align: center;
  display: inline-block;
  width: 50%;
  box-sizing: border-box;
  float: left;
	font-size: 16px;
}
.c-name__radioArea input[type="radio"].c-name__radio01 + label ,
.c-name__radioArea input[type="radio"].c-name__radio02 + label {
  padding: 40px 0 50px;
}
.c-name__radioArea input[type="radio"].c-name__radio03 + label ,
.c-name__radioArea input[type="radio"].c-name__radio04 + label {
  padding: 50px 0 40px;
}

.c-name__radioArea__img {
	width: 20%;
	position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}

.c-name__comments {
	display: block;
	width: 90%;
	font-size: 14px;
	height: 80px;
	margin-bottom: 40px;
	border: solid 1px #991b19;
	border-radius: 10px;
	padding: 1em;
}

/* 確認画面テキスト */
.c-name__confirm {
	font-weight: bold;
	padding: 20px 0 40px;
}
/* 送信ボタン */
button.entry {
	display: block;
  font-size: 14px;
  width: 90%;
  margin: 0 auto 2em;
  font-size: 16px;
  font-weight: bold;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 50px;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  cursor: pointer;
  background-color: #991b19;
  border: none;
  color: #fff;
  padding: 15px 0;
  position: relative;
  z-index: 100;
}
button.entry::before {
    content: "" ;
    position: absolute ;
    top: 0 ;
    right: 0 ;
    bottom: 0 ;
    left: 0 ;
    border: 1px #fff solid ;
    margin: 2px ;
    display: block ;
    z-index: -1 ;
    background: #991b19;
		border-radius: 50px;
}
button.entry::after {
    content: "" ;
    position: absolute ;
    top: 0 ;
    right: 0 ;
    bottom: 0 ;
    left: 0 ;
    border: 1px #fff solid ;
    margin: 2px ;
    display: block ;
    z-index: -5 ;
    background: #991b19;
		border-radius: 50px;
}
/* 戻るボタン */
button.return {
	display: block;
  font-size: 14px;
  width: 60%;
  margin: -1em auto 2em;
  font-size: 16px;
  font-weight: bold;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 50px;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  cursor: pointer;
  background-color: #da883d;
  border: none;
  color: #fff;
  padding: 10px 0;
  position: relative;
  z-index: 100;
}
button.return::before {
    content: "" ;
    position: absolute ;
    top: 0 ;
    right: 0 ;
    bottom: 0 ;
    left: 0 ;
    border: 1px #fff solid ;
    margin: 2px ;
    display: block ;
    z-index: -1 ;
    background: #da883d;
		border-radius: 50px;
}
button.return::after {
    content: "" ;
    position: absolute ;
    top: 0 ;
    right: 0 ;
    bottom: 0 ;
    left: 0 ;
    border: 1px #fff solid ;
    margin: 2px ;
    display: block ;
    z-index: -5 ;
    background: #da883d;
		border-radius: 50px;
}


/* 投票完了画面 */
.main__voting__form__thank {
}


/*====　結果発表画面　===========================================*/
#loading{
position: absolute;
top: 0;
height: 50%
}
@media screen and (min-width: 500px) {
  #loading{
		left: 50%;
		transform: translateX(-50%);
		-webkit- transform: translateX(-50%);
	}
}

#loader-bg {
position: fixed;
width: 100%;
height: 100%;
top: 0px;
left: 0px;
background: #000;
z-index: 20;
}

.fade {
  animation-name:fade-in;
  animation-duration:4s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}
@keyframes fade-in {
  0% {opacity: 0}
  100% {opacity: 1}
}
.main__voting__top-contents__result-top,
.main__voting__top-contents__result-other {
	text-align: center;
	padding-bottom: 30px;
}
.main__voting__top-contents__result-top hr {
	height: 14px;
	background-color: #fdf4e3;/*背景色と合わせる*/
	background-image:
		-webkit-linear-gradient(135deg,
		#b95856 25%, transparent 25%,
		transparent 50%, #b95856 50%,
		#b95856 75%, transparent 75%,
		transparent);
	background-image:
		linear-gradient(-45deg,
		#b95856 25%, transparent 25%,
		transparent 50%, #b95856 50%,
		#b95856 75%, transparent 75%,
		transparent);
	background-size: 10px 10px;
	border: none;
	margin-top: 30px;
}
.main__voting__top-contents__result-top-chef {
	position: relative;
	text-align: center;
	z-index:10;
}
.load {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
  -webkit-animation: spin 30s linear infinite;
  -moz-animation: spin 30s linear infinite;
  -ms-animation: spin 30s linear infinite;
  -o-animation: spin 30s linear infinite;
  animation: spin 30s linear infinite;
	z-index:-1;
}

@-webkit-keyframes spin {
	0% {-webkit-transform: rotate(0deg);}
	100% {-webkit-transform: rotate(360deg);}
}
@-moz-keyframes spin {
	0% {-moz-transform: rotate(0deg);}
	100% {-moz-transform: rotate(360deg);}
}
@-ms-keyframes spin {
	0% {-ms-transform: rotate(0deg);}
	100% {-ms-transform: rotate(360deg);}
}
@-o-keyframes spin {
	0% {-o-transform: rotate(0deg);}
	100% {-o-transform: rotate(360deg);}
}
@keyframes spin {
	0% {transform: rotate(0deg);}
	100% {transform: rotate(360deg);}
}

.main__voting__top-contents__result-top-name {
	position: relative;
	width: 90%;
	margin: -20px auto 0;
	z-index:10;
	opacity: 0;
}
.ball {
	animation: ball 2s linear;
}
@keyframes ball {
    0% {
        transform: translateY(-50px);
        animation-timing-function: ease-in;
    }
    20% {
        transform: translateY(0px);
        animation-timing-function: ease-out;
    }
    38% {
        transform: translateY(-32px);
        animation-timing-function: ease-in;
    }
    56% {
        transform: translateY(0px);
        animation-timing-function: ease-out;
    }
    72% {
        transform: translateY(-12px);
        animation-timing-function: ease-in;
    }
    88% {
        transform: translateY(0px);
    }
    100% {
        transform: translateY(0px);
    }
}
.main__voting__top-contents__result-top-name .txt {
  position: absolute;
  width: 100%;
  left: 0;
  top: calc(47%);
  text-align: center;
  color: #000;
  font-weight: bold;
  font-size: 25px;
  line-height: 0;
}

.main__voting__top-contents__result-other-name {
	font-weight: bold;
	font-size: 16px;
	padding-bottom: 2em;
}
.main__voting__top-contents__result-other p {
	font-weight: bold;
	font-size: 16px;
	padding: 1em 0;
}

.btn-area {
	z-index: 100;
}

.main__voting__top-contents__result-top-name-origin {
	width: 80%;
  margin: 20px auto;
  background: rgba(255, 255, 255, 0.7);
  padding: 10px;
}
.main__voting__top-contents__result-top-comment {
	background: rgba(255, 255, 255, 0.7);
  padding: 10px;
}
.main__voting__top-contents__result-top-comment-ttl {
	font-weight: bold;
	font-size: 12px;
	padding: 15px 0;
}
.main__voting__top-contents__result-top-comment-txt {
  opacity: 0;
  transition: all 1.5s ease;
	transform: translate(0, 100px);
	width: 90%;
	padding: 10px 10px;
	border-top: 1px dashed #b95856;
	font-size: 10px;
	margin: auto;
}

.main__voting__top-contents__result-other {
	opacity: 0;
  transition: all 1.5s ease;
	transform: translate(0, 100px);
}
.main__voting__top-contents__result-top-comment-txt.show,
.main__voting__top-contents__result-other.show {
  opacity: 1;
  transform: none;
}
