@charset "UTF-8";
@import url(sanitize.css);
@import url(reset.css);
@import url("https://fonts.googleapis.com/css2?family=Lato&display=swap");
* {
  border: 0;
  box-sizing: border-box; }

body {
  line-height: 1.7;
  font-size: 15px;
  color: #ffffff;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "MS Mincho", serif;
  background-color: #000; }

a {
  cursor: pointer; }

img {
  width: 100%;
  /* 画像の幅を画面幅一杯に */
  margin: 0;
  /* 余白を0 に */
  vertical-align: top;
  /* 画像間に余白が出るバグを補正 */ }

.aside-nav, .aside-qr {
  display: none; }

@media screen and (min-width: 820px) {
  .aside-nav {
    display: flex;
    flex-direction: column;
    text-align: center;
    height: 100vh;
    width: calc((100vw - 464px)/2);
    align-items: center;
    overflow: hidden;
    position: fixed;
    left: 0;
    top: 5%;
    letter-spacing: .3em; }
    .aside-nav .logo {
      width: 160px;
      margin: 0 auto 40px;
      cursor: pointer;
      padding: 10px; }
      .aside-nav .logo a:hover {
        opacity: .7; }
    .aside-nav ul {
      font-size: 14px;
      line-height: 3em;
      text-align: left;
      width: 180px;
      margin: 0 auto;
      padding-left: 8px;
      font-family: "Lato", sans-serif; }
      .aside-nav ul li {
        list-style: none; }
        .aside-nav ul li a {
          text-decoration: none;
          color: #ffffff;
          border-bottom: 1px solid #dcb062;
          padding-bottom: 4px; }
          .aside-nav ul li a:hover {
            color: #939393; }

  .aside-qr {
    display: flex;
    flex-direction: column;
    width: calc((100vw - 464px)/2);
    align-items: center;
    overflow: hidden;
    position: fixed;
    right: 0;
    bottom: 5%;
    text-align: center;
    font-size: 14px; }
    .aside-qr .qr-img {
      max-width: 80px;
      margin: 0 auto; } }
.container {
  width: 100%;
  margin: 0 auto;
  height: 100%;
  padding: 0; }
  @media screen and (min-width: 415px) {
    .container {
      max-width: 414px;
      box-shadow: #dcb062 0px 2px 8px 0px; } }

/*  indexページ  */
#index .container {
  height: 100dvh;
  margin: 0 auto; }
  #index .container header {
    padding: 20px; }
    #index .container header h1 {
      margin-top: 16px;
      margin-bottom: 8px;
      font-size: 25px;
      font-weight: bold;
      text-align: center;
      font-family: "Yu Mincho", "Hiragino Mincho ProN", "MS Mincho", serif;
      line-height: 18px; }
      @media screen and (max-width: 375px) {
        #index .container header h1 {
          margin-top: 16px; } }
      #index .container header h1 .h1-title {
        font-size: 14px;
        font-weight: bold; }
.main-title {
	display: block;
    width: 100%;
    padding: 25px 0px;
    border-top: 2px solid #dcb062;
    border-bottom: 2px solid #dcb062;
}
  #index .container .content .mainimg {
    width: 79.71%;
    margin: 0 auto; }
  #index .container .content .content-text {
    font-weight: bold;
    margin-bottom: 20px; }
    #index .container .content .content-text .content-sub {
      font-size: 12px;
      font-weight: normal; }
  #index .container .content .nickname_start {
    width: 79.227%;
    margin: 0 auto; }
    #index .container .content .nickname_start.none {
      display: none; }
  #index .container .content .name-contens {
    margin-bottom: 72px;
    text-align: center; }
    #index .container .content .name-contens label {
      display: block;
      margin-bottom: .5em;
      font-size: 12px;
      text-align: center; }
    #index .container .content .name-contens input {
      border: none;
      border-radius: 8px;
      border: #939393 1px solid;
      font-size: 12px;
      width: 208px;
      padding: 8px;
      text-align: center;
      margin: 0 auto; }
    #index .container .content .name-contens .nonrequird {
      color: #3A7BDD;
      padding: 3px;
      font-size: .9em;
      font-weight: bold;
      margin-left: .3em; }
  #index .container .content .START {
    width: 100%;
    background-color: #919da9;
    color: #ffffff;
    padding: 15px;
    border-radius: 0px;
    border: 0;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", "MS Mincho", serif;
    font-weight: bold; }
  #index .container .content #RESET {
    margin-left: 18%;
    background-color: #919da9;
    border: 0px #45413F solid;
    padding: 7px 9px;
    border-radius: 0px;
    margin-bottom: 16px;
    font-size: 12px; 
    font-family: "Yu Mincho", "Hiragino Mincho ProN", "MS Mincho", serif;
	font-weight: bold;
	color: #ffffff;}
    @media screen and (max-width: 375px) {
      #index .container .content #RESET {
        margin-left: 65px;
        margin-bottom: 8px; } }
  #index .container .content #img_unit {
    position: relative;
    width: 64%;
    margin: 0 auto; }
    @media screen and (max-width: 375px) {
      #index .container .content #img_unit {
        width: 67.227%; } }
    #index .container .content #img_unit::after {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 100%;
      height: 100%;
      box-shadow: #dcb062 0px 0px 9px 1px; }
  #index .container .content #NG {
    outline: 0;
    position: relative;
    float: left;
    margin-top: 100px;
    margin-left: 40px;
    border: 0;
    background: 0;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", "MS Mincho", serif;
	font-weight: bold;}
    @media screen and (max-width: 375px) {
      #index .container .content #NG {
        margin-top: 90px; } }
    #index .container .content #NG::before {
      content: "";
      background-image: url("/2025_halloween_app/img/parts/NO.png");
      height: 72px;
      width: 120px;
      background-size: contain;
      background-repeat: no-repeat;
      position: absolute;
      bottom: 15px;
      left: 50%;
      transform: translateX(-50%); }
      @media screen and (max-width: 375px) {
        #index .container .content #NG::before {
          height: 72px;
          width: 72px; } }
  #index .container .content #OK {
    outline: 0;
    position: relative;
    float: right;
    margin-top: 100px;
    margin-right: 40px;
    border: 0;
    background: 0;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", "MS Mincho", serif;
	font-weight: bold;}
    @media screen and (max-width: 375px) {
      #index .container .content #OK {
        margin-top: 90px; } }
    #index .container .content #OK::before {
      content: "";
      background-image: url("/2025_halloween_app/img/parts/YES.png");
      height: 72px;
      width: 120px;
      background-size: contain;
      background-repeat: no-repeat;
      position: absolute;
      bottom: 15px;
      right: 50%;
      transform: translateX(50%); }
      @media screen and (max-width: 375px) {
        #index .container .content #OK::before {
          height: 72px;
          width: 72px; } }

/*   resultページ   */
#result header {
  padding: 12px 42px 24px;
  text-align: center; }
  @media screen and (max-width: 375px) {
    #result header {
      padding: 16px 42px 8px; } }
  #result header h1 {
    padding: 24px 0;
    font-size: 24px;
    border-top: #45413F 1px solid;
    border-bottom: #45413F 1px solid; }
    @media screen and (max-width: 375px) {
      #result header h1 {
        padding: 20px 0; } }
#result .type {
  width: 350px;
  margin: 0 auto;
  border: #45413F 1px solid;
  padding: 36px 36px;
  margin-bottom: 64px; }
  @media screen and (max-width: 375px) {
    #result .type {
      padding: 40px 40px; } }
  #result .type.t1 {
    background-color: #ECE7E6; }
    #result .type.t1 .j-type {
      background: linear-gradient(transparent 60%, #D9A1A1 60%); }
  #result .type.t1 {
    background-color: #ECE7E6; }
    #result .type.t1 .j-type {
      background: linear-gradient(transparent 60%, #D9A1A1 60%); }
  #result .type.t2 {
    background-color: #EEEAE6; }
    #result .type.t2 .j-type {
      background: linear-gradient(transparent 60%, #D9BFA1 60%); }
  #result .type.t3 {
    background-color: #EFF2F0; }
    #result .type.t3 .j-type {
      background: linear-gradient(transparent 60%, #B9D9A1 60%); }
  #result .type.t4 {
    background-color: #EFEFE8; }
    #result .type.t4 .j-type {
      background: linear-gradient(transparent 60%, #E3D6A5 60%); }
  #result .type.t5 {
    background-color: #F1F0F2; }
    #result .type.t5 .j-type {
      background: linear-gradient(transparent 60%, #BBC3EB 60%); }
  #result .type.t6 {
    background-color: #EBEEED; }
    #result .type.t6 .j-type {
      background: linear-gradient(transparent 60%, #ADE0D1 60%); }
  #result .type.t7 {
    background-color: #E4E8E9; }
    #result .type.t7 .j-type {
      background: linear-gradient(transparent 60%, #A1CFD9 60%); }
  #result .type .show_nickname {
    display: flex;
    margin: 0 auto;
    justify-content: space-between; }
    #result .type .show_nickname .type-text .type-title {
      line-height: 1.4;
      margin-bottom: 20px; }
    #result .type .show_nickname .type-text .type-text_point {
      font-size: 13px;
      margin-left: 1em;
      margin-bottom: 0.5em; }
    #result .type .show_nickname .type-text .j-type {
      font-weight: bold;
      padding: 0 4px;
      font-size: 22px; }
  #result .type .type-explain {
    margin-bottom: 24px; }
  #result .type .result-img {
    width: 278px;
    margin: 0 auto;
    margin-bottom: 16px; }
  #result .type .type-link {
    margin-bottom: 56px; }
    #result .type .type-link a {
      margin-bottom: 8px;
      color: #3A7BDD;
      font-size: 12px; }
  #result .type .advice .type-img {
    width: 92px;
    margin: 0 auto 20px; }
  #result .type .advice .s-advice {
    font-size: 17px;
    line-height: 1.7;
    font-weight: bold;
    margin: 0 auto 20px;
    text-align: center; }
#result .blog {
  margin-bottom: 104px; }
  #result .blog h3 {
    font-size: 16px;
    text-align: center;
    margin-bottom: 40px;
    line-height: 1.6; }
  #result .blog .blog-box {
    margin: 0 auto 64px;
    width: 248px;
    font-size: 12px; }
    #result .blog .blog-box a {
      color: #3A7BDD;
      margin-bottom: 40px;
      display: block; }
      #result .blog .blog-box a img {
        margin-bottom: 16px; }
  #result .blog .share-return {
    text-align: center; }
    #result .blog .share-return img {
      width: 30px; }
    #result .blog .share-return .share_img {
      margin-bottom: 42px; }
      #result .blog .share-return .share_img a {
        text-decoration: none; }
        #result .blog .share-return .share_img a:nth-child(1) {
          margin-right: 32px; }
#result footer {
  font-size: 10px;
  color: #ffffff;
  text-align: center;
  background-color: #45413F;
  padding-bottom: 12px; }
  #result footer .f-logo {
    margin: 0 auto;
    padding: 60px 0 20px; }
    #result footer .f-logo img {
      width: 150px; }
  #result footer .f-content {
    text-align: left;
    padding-top: 64px;
    margin: 0 auto;
    width: 216px;
    display: flex;
    justify-content: space-between;
    margin-bottom: 32px; }
    #result footer .f-content .f-content-img {
      width: 60px; }
    #result footer .f-content .f-content-text {
      width: 132px; }
      #result footer .f-content .f-content-text p {
        margin-bottom: 8px; }
      #result footer .f-content .f-content-text a {
        width: 130px;
        display: block;
        background-color: #ffffff;
        border-radius: 4px;
        padding: 7px 0;
        color: #45413F;
        text-decoration: none; }
        #result footer .f-content .f-content-text a .f-butn {
          display: flex;
          align-items: center; }
          #result footer .f-content .f-content-text a .f-butn img {
            width: 16px;
            margin-left: 12px;
            margin-right: 12px; }
          #result footer .f-content .f-content-text a .f-butn .arrow {
            position: relative;
            display: inline-block;
            padding: 10px; }
            #result footer .f-content .f-content-text a .f-butn .arrow::before {
              content: '';
              width: 8px;
              height: 8px;
              border-top: solid 1px #45413F;
              border-right: solid 1px #45413F;
              position: absolute;
              left: 18px;
              top: 6px;
              transform: rotate(45deg); }
  #result footer .sns {
    margin-bottom: 48px; }
    #result footer .sns .sns-img {
      width: 160px;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      #result footer .sns .sns-img a {
        width: 32px; }
