@charset "UTF-8";
body.form main {
  width: 90%;
  padding: 40px 0;
}
body.form main .mainimgarea-wrap {
  max-width: 270px;
  margin: 0 auto 93px;
  position: relative;
}
body.form main .mainimgarea-wrap > div {
  padding-top: 21px;
}
body.form main .mainimgarea-wrap > div .img {
  max-height: 170px;
}
body.form main .mainimgarea-wrap > div .img img {
  max-height: 170px;
  width: auto;
}
body.form main .mainimgarea-wrap > div .text {
  margin-top: -19px;
}
body.form main .mainimgarea-wrap::after {
  display: block;
  content: "";
  width: 100%;
  padding-top: 100%;
  border-radius: 50%;
  background-color: #FFFFFF;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: -1;
}
body.form main span.error {
  font-size: 14px;
  color: #F9634A;
  padding-bottom: 20px;
  display: inline-block;
}
body.form main .form-item {
  padding-bottom: 20px;
  text-align: left;
}
body.form main .form-item label span {
  display: block;
  text-align: left;
  padding-bottom: 10px;
}
body.form main .form-item label span.pick {
  background-color: #FFFFFF;
  display: inline-block;
  padding: 12.95px 20px;
  cursor: pointer;
  font-size: 14px;
}
body.form main .form-item label input {
  background-color: #FFFFFF;
  width: 100%;
  padding: 9px 0.5em;
  text-align: center;
  text-align: left;
}
body.form main .form-item label input[type=file] {
  display: none;
}
body.form main .form-item .select-wrap {
  background-color: #FFFFFF;
  width: 100%;
  text-align: center;
  text-align: left;
}
body.form main .form-item .select-wrap select {
  width: 100%;
  padding: 10.8px 0.5em;
}
body.form main .form-item #preview {
  width: 100%;
  padding: 10px 0;
  text-align: center;
}
body.form main .form-item #preview img {
  width: auto;
  max-width: 100%;
}
body.form main .button {
  padding: 0px;
}
body.form main .button img {
  width: 26px;
  margin-left: 10px;
}

body.form.complete main {
  width: 90%;
  padding: 40px 0;
}
body.form.complete main .button {
  padding-top: 40px;
}

body.form.login main {
  width: 90%;
  padding: 40px 0;
}
body.form.login main .button {
  padding-top: 20px;
}

body.top main {
  width: 93%;
  padding: 20px 0;
  height: 100%;
}
body.top main .main-contents {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  height: 85%;
  padding-bottom: 9px;
}
body.top main .main-contents .d-area {
  background-color: rgba(255, 255, 255, 0.5);
  border: 2px solid #ffeea0;
  border-radius: 2px;
  width: 49%;
  height: 50%;
}
body.top main .main-contents .d-area .pic-area {
  height: 80%;
  position: relative;
  text-align: right;
}
body.top main .main-contents .d-area .pic-area > div {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  overflow-y: hidden !important;
}
body.top main .main-contents .d-area .pic-area > div ul {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
body.top main .main-contents .d-area .pic-area > div ul li {
  width: 25%;
  padding-top: 25%;
  position: relative;
}
body.top main .main-contents .d-area .pic-area > div ul li img {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body.top main .main-contents .d-area .info-area {
  height: 20%;
  background-color: #ffeea0;
  position: relative;
}
body.top main .main-contents .d-area .info-area .avatar {
  width: 30%;
  position: absolute;
  bottom: 10%;
  left: 5%;
}
body.top main .main-contents .d-area .info-area .comment {
  font-size: 10px;
  background-color: #FFFFFF;
  display: inline-block;
  padding: 5px;
  border: 1px solid #442306;
  border-radius: 50px;
  width: 58%;
  text-align: left;
  position: absolute;
  top: -27%;
  right: 3%;
}
body.top main .main-contents .d-area .info-area .comment::before {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 6px;
  width: 0;
  height: 0;
  border-top: 10px solid #442306;
  border-left: 7px solid transparent;
  border-right: 3px solid transparent;
  transform-origin: left top;
  transform: skewX(-58deg);
}
body.top main .main-contents .d-area .info-area .comment::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 12px;
  width: 0;
  height: 0;
  border-top: 10px solid #FFFFFF;
  border-left: 7px solid transparent;
  border-right: 5px solid transparent;
  transform-origin: left top;
  transform: skewX(-55deg);
}
body.top main .main-contents .d-area .info-area .as-name {
  font-size: 10px;
  font-weight: 700;
  background-color: #FFFFFF;
  width: 52%;
  padding: 1px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  border-top-left-radius: 50px;
  -webkit-border-top-left-radius: 50px;
  -moz-border-radius-topleft: 50px;
  border-bottom-left-radius: 50px;
  -webkit-border-bottom-left-radius: 50px;
  -moz-border-radius-bottomleft: 50px;
  border-top-right-radius: 0px;
  -webkit-border-top-right-radius: 0px;
  -moz-border-radius-topright: 0px;
  border-bottom-right-radius: 0px;
  -webkit-border-bottom-right-radius: 0px;
  -moz-border-radius-bottomright: 0px;
}
body.top main .main-contents .d-area .info-area .posts {
  font-size: 10px;
  font-weight: 700;
  position: absolute;
  bottom: 5%;
  right: 3%;
}
body.top main .main-contents .d-area:first-child,
body.top main .main-contents .d-area:nth-child(2) {
  margin-bottom: 9px;
}
body.top main .main-contents .d-area.myself {
  border: 2px solid #FF881F;
}
body.top main .main-contents .d-area.myself .info-area {
  background-color: #FF881F;
}
body.top main .buttons-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 0 0;
}
body.top main .buttons-wrap .select-wrap {
  background-color: #FFFFFF;
  color: #ffd000;
  border: 1px solid #ffd000;
  border-radius: 50px;
  font-size: 18px;
  margin: 0;
  position: relative;
}
body.top main .buttons-wrap .select-wrap select {
  padding-right: 16px;
  padding: 10px 32px 10px 16px;
}
body.top main .buttons-wrap .button {
  padding: 0;
  margin: 0;
}
body.top main .buttons-wrap .button button {
  padding: 10px 16px;
  font-size: 18px;
  border-radius: 50px;
}
body.top main .buttons-wrap .button.grayout a {
  background-color: #CCCCCC;
  pointer-events: none;
}
body.top main .buttons-wrap .button a {
  font-size: 18px;
}
body.top main .buttons-wrap .button.prev,
body.top main .buttons-wrap .button.reload {
  padding: 0;
  width: auto;
  margin: 0 0 0 10px;
}
body.top main .buttons-wrap .button.prev a,
body.top main .buttons-wrap .button.reload a {
  padding: 10px 16px;
  border-radius: 50px;
  cursor: pointer;
}

body.top.admin main .buttons-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 0 0;
}
body.top.admin main .buttons-wrap .select-wrap {
  background-color: #FFFFFF;
  color: #442306;
  border: 1px solid #442306;
  border-radius: 50px;
  font-size: 18px;
  margin: 0;
  position: relative;
}
body.top.admin main .buttons-wrap .select-wrap select {
  padding-right: 16px;
  padding: 10px 32px 10px 16px;
  cursor: pointer;
}
body.top.admin main .buttons-wrap .select-wrap select:focus {
  border-radius: 50px;
  outline: none;
}
body.top.admin main .buttons-wrap .select-wrap::after {
  content: "▼";
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  pointer-events: none;
}
body.top.admin main .buttons-wrap .button {
  padding: 0;
  width: auto;
  margin: 0 0 0 10px;
}
body.top.admin main .buttons-wrap .button button {
  padding: 10px 16px;
  font-size: 18px;
  border-radius: 50px;
}

body.users-login main {
  width: 90%;
  padding: 40px 0;
}
body.users-login main h2 {
  padding-bottom: 0;
}
body.users-login main .text {
  padding: 20px 0 0 0;
}
body.users-login main .main-contents .button {
  padding-top: 20px;
  width: 250px;
}
body.users-login main .main-contents .button button,
body.users-login main .main-contents .button a {
  color: #442306;
  background-color: #FFFFFF;
  border: 1px solid #442306;
  border-radius: 50px;
  padding: 10px 0;
  height: 80px;
  flex-direction: column;
}
body.users-login main .main-contents .button button .town-name,
body.users-login main .main-contents .button a .town-name {
  display: block;
  font-size: 14px;
  text-align: left;
  width: 80%;
  margin: 0 auto;
}

body.vote-admin main {
  width: 90%;
  padding: 40px 0;
}
body.vote-admin main h2 {
  padding-bottom: 0;
}
body.vote-admin main .text {
  padding: 20px 0 0 0;
}
body.vote-admin main .main-contents .button {
  padding-top: 20px;
  width: 250px;
}
body.vote-admin main .main-contents .button button,
body.vote-admin main .main-contents .button a {
  color: #442306;
  background-color: #FFFFFF;
  border: 1px solid #442306;
  border-radius: 50px;
  padding: 10px 0;
  height: 80px;
  flex-direction: column;
}
body.vote-admin main .main-contents .button button .detail-text,
body.vote-admin main .main-contents .button a .detail-text {
  display: block;
  font-size: 14px;
  text-align: left;
  width: 80%;
  margin: 0 auto;
}
body.vote-admin main .main-contents .button.disabled button,
body.vote-admin main .main-contents .button.disabled a {
  color: rgba(68, 35, 6, 0.5);
  pointer-events: none;
}

body.vote .d-area .pic-area .vote-layer {
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
body.vote .d-area .pic-area .vote-layer .button {
  width: 80%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  padding-top: 0;
}
body.vote .d-area .pic-area .vote-layer .button button,
body.vote .d-area .pic-area .vote-layer .button a {
  color: #442306;
  background-color: #FFFFFF;
  border: 1px solid #442306;
  border-radius: 50px;
  padding: 10px 0;
  flex-direction: column;
}
body.vote .d-area .pic-area .vote-layer.vote {
  border: 3px solid #FF4020;
}
body.vote .d-area .pic-area .vote-layer.vote .button button,
body.vote .d-area .pic-area .vote-layer.vote .button a {
  color: #FF4020;
  border: 1px solid #FF4020;
}

body.result .d-area .info-area .result {
  width: 30%;
  position: absolute;
  bottom: 10%;
  left: 5%;
  background: #FFFFFF;
  border: 1px solid #ffeea0;
  border-radius: 50%;
  padding: 5px;
}
body.result .d-area .info-area .result.first {
  width: 35%;
}
body.result .d-area .info-area .result.first::before {
  content: "♦";
  position: absolute;
  font-size: 18px;
  color: #FFFFFF;
  top: 5px;
  left: -13px;
  animation: star 0.5s ease 0.5s infinite alternate;
}
body.result .d-area .info-area .result.first::after {
  content: "♦";
  position: absolute;
  font-size: 18px;
  color: #FFFFFF;
  bottom: -7px;
  right: -5px;
  animation: star 0.5s ease 0.5s infinite alternate;
  animation-delay: 1s;
}
@keyframes star {
  to {
    transform: scale(0.3, 0.3);
  }
}
body.result .d-area.myself .info-area .result {
  border: 1px solid #FF881F;
  position: absolute;
  bottom: 10%;
  left: 5%;
}

* {
  box-sizing: border-box;
}

body {
  color: #442306;
  background-color: #f5f5f2;
  background-image: radial-gradient(#efefea 19%, transparent 19%), radial-gradient(#efefea 19%, transparent 19%);
  background-position: 0 0, 10px 10px;
  background-size: 20px 20px;
  height: 100vh;
  display: flex;
  flex-direction: column;
}
body img {
  width: 100%;
}
body header {
  font-family: "Kaisei Decol", serif;
  font-size: 26px;
  font-weight: 700;
  text-align: center;
  background-color: #ffd000;
  padding: 8px 0;
}
body header .head-message {
  font-size: 14px;
}
body main {
  max-width: 375px;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 500;
  margin: 0 auto;
  text-align: center;
}
body main h2 {
  font-family: "Kaisei Decol", serif;
  font-size: 26px;
  font-weight: 700;
  color: #F9634A;
  padding-bottom: 40px;
}
body main .button {
  width: 166px;
  margin: 0 auto;
  padding-top: 40px;
}
body main .button a,
body main .button button {
  width: 100%;
  background-color: #442306;
  color: #FFFFFF;
  font-size: 18px;
  padding: 12px 0;
  display: block;
  display: flex;
  align-items: center;
  justify-content: center;
}
body footer {
  font-family: "Kaisei Decol", serif;
  font-size: 10px;
  font-weight: 700;
  text-align: center;
  background-color: #ffd000;
  width: 100%;
  padding: 10px 0;
  margin-top: auto;
}/*# sourceMappingURL=style.css.map */