@charset "UTF-8";
/* Scss Document */
body {
  padding: 0;
  margin: 0;
  background: #fff;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif", 'ＭＳ ゴシック';
  -webkit-overflow-scrolling: touch;
  font-size: 16px; }

@media screen and (max-width: 767px) {
  body {
    overflow-x: hidden; } }
.is--pc {
  display: block; }
  @media screen and (max-width: 767px) {
    .is--pc {
      display: none; } }

.is--sp {
  display: none; }
  @media screen and (max-width: 767px) {
    .is--sp {
      display: block; } }

a {
  color: #fff; }

.wrap {
  width: 568px;
  margin: 0 auto;
  padding: 0;
  position: relative;
  box-shadow: 0px 0px 22px 5px #999;
  background: #aeddef; }

@media screen and (max-width: 767px) {
  .wrap {
    margin: 0;
    padding: 0;
    width: 100%;
    box-shadow: none; } }
.pcnotice {
  /*position: absolute;
  top: 30%;
  right: 50%;
  width: 200px;
  max-width: 20%;
  background: #fff;
  border-radius: 10px;
  padding: 10px;
  font-size: 14px;
  text-align: left;
  line-height: 1.6;
  color: #565656;*/
  margin-top: 30%;
  color: #fff;
  text-align: center;
  letter-spacing: 0.1em; }

@keyframes Fadein {
  0% {
    opacity: 0; }
  10% {
    opacity: 0; }
  80% {
    opacity: 1; }
  100% {
    opacity: 1; } }
@keyframes Fadeout {
  0% {
    opacity: 1; }
  60% {
    opacity: 0; }
  100% {
    opacity: 0; } }
@keyframes Fadeout2 {
  0% {
    opacity: 1; }
  40% {
    opacity: 1; }
  80% {
    opacity: 0; }
  100% {
    opacity: 0; } }
.header a {
  width: 100%;
  box-sizing: border-box;
  display: flex;
  align-items: flex-start;
  flex-basis: 1;
  flex-wrap: nowrap; }
  .header a img {
    width: 50%;
    height: auto; }
  .header a:hover {
    opacity: .75; }

.main {
  width: 100vw;
  position: relative;
  padding: 0;
  overflow-x: hidden; }
  .main__inner {
    width: 100%;
    padding: 0;
    margin: 0;
    box-sizing: border-box; }
    .main__inner img {
      width: 100%;
      height: auto; }
    .main__inner--top {
      background-image: url("../img/topbg.jpg");
      background-position: center top;
      background-size: 100% auto;
      background-repeat: no-repeat;
      min-height: 80vh;
      padding: 1vw 12%;
      position: relative; }
    .main__inner--clear {
      background-image: url("../img/clear.png");
      background-position: center top;
      background-size: 100% auto;
      background-repeat: no-repeat;
      min-height: 241vw; }
    .main__inner--wp {
      background-image: url("../img/wallpaper_bg.jpg");
      background-position: center top;
      background-size: 100% auto;
      background-repeat: no-repeat;
      min-height: 217vw; }
    .main__inner--hint {
      background-image: url("../img/hintbg.png");
      background-position: center top;
      background-size: 100% auto;
      background-repeat: repeat-y;
      min-height: 100vh; }
  .main__hintlist {
    width: 100%;
    margin: 0;
    padding: 31vw 8vw 2vw;
    box-sizing: border-box;
    text-align: center; }
  .main__share {
    padding-top: 226vw;
    padding-right: 7vw;
    text-align: right; }
    .main__share a img {
      width: 9.4vw;
      height: auto; }
    .main__share a + a {
      margin-left: 0.8vw; }
  .main__get {
    padding-top: 10.4vw; }
    .main__get a img {
      width: 100%;
      height: auto; }
  .main__dl {
    padding: 186vw 12vw 13vw; }
    .main__dl a img {
      width: 100%;
      height: auto; }
    .main__dl a {
      margin-bottom: 4.8vw;
      display: block;
      width: 100%;
      background: #fff;
      border: 1px solid #950000;
      border-radius: 3px;
      text-align: center;
      color: #950000;
      font-size: 3.8vw;
      font-weight: 300;
      line-height: 1;
      padding: 3vw 0;
      text-decoration: none; }
      .main__dl a:hover {
        opacity: .65; }
  .main__hane {
    position: absolute;
    top: 57vw;
    left: 7vw;
    z-index: 99; }
    .main__hane .in {
      display: block;
      height: 13vw;
      width: 6.6vw; }
  .main__subako {
    position: absolute;
    top: 93vw;
    right: 7vw;
    z-index: 99; }
    .main__subako .in {
      display: block;
      height: 13vw;
      width: 13.6vw; }
  @media screen and (min-width: 768px) {
    .main {
      width: 100%;
      margin-left: auto;
      margin-right: auto; }
      .main__inner {
        width: 100%;
        padding: 0;
        box-sizing: border-box;
        text-align: left;
        color: #fff;
        font-size: 18px;
        line-height: 1.9; }
        .main__inner img {
          width: 100%;
          height: auto; }
        .main__inner--top {
          background-image: url("../img/topbg.jpg");
          background-position: center top;
          background-size: 100% auto;
          background-repeat: no-repeat;
          min-height: 800px;
          padding: 10px 14%; }
        .main__inner--clear {
          min-height: 1350px; }
        .main__inner--wp {
          background-image: url("../img/wallpaper_bg.jpg");
          background-position: center top;
          background-size: 100% auto;
          background-repeat: no-repeat;
          min-height: 800px; }
        .main__inner--hint {
          min-height: 100vh; }
      .main__hint {
        width: 100%;
        margin: 0;
        padding: 93px 10% 9% 30px;
        background-image: url("../img/top_hint_bg.jpg");
        background-position: center top;
        background-size: 100% auto;
        background-repeat: no-repeat;
        box-sizing: border-box;
        text-align: right; }
        .main__hint a img {
          width: 51%;
          height: auto; }
      .main__hintlist {
        width: 100%;
        margin: 0;
        padding: 170px 45px 50px;
        box-sizing: border-box;
        text-align: center; }
      .main__share {
        padding-top: 1285px;
        padding-right: 30px;
        padding-bottom: 20px;
        text-align: right; }
        .main__share a img {
          width: 10.4%;
          height: auto; }
        .main__share a + a {
          margin-left: 1.2%; }
      .main__get {
        padding-top: 57px;
        padding-bottom: 50px; }
        .main__get a img {
          width: 100%;
          height: auto; }
      .main__dl {
        padding: 1070px 12% 65px; }
        .main__dl a img {
          width: 100%;
          height: auto; }
        .main__dl a {
          margin-bottom: 28px;
          display: block;
          width: 100%;
          background: #fff;
          border: 1px solid #950000;
          border-radius: 6px;
          text-align: center;
          color: #950000;
          font-size: 18px;
          font-weight: 300;
          line-height: 1;
          padding: 20px 0;
          text-decoration: none; }
          .main__dl a:hover {
            opacity: .65; }
      .main__hane {
        position: absolute;
        top: 337px;
        left: 8%;
        z-index: 99; }
        .main__hane .in {
          display: block;
          height: 48px;
          width: 37px; }
      .main__subako {
        position: absolute;
        top: 527px;
        right: 7%;
        z-index: 99; }
        .main__subako .in {
          display: block;
          height: 68px;
          width: 90px; } }

.nthintpage__link {
  width: 80%;
  margin: 0 10%;
  text-align: center;
  padding-top: 4.4vw;
  padding-bottom: 5vw; }
  .nthintpage__link a img {
    width: auto;
    height: 6vw; }
  .nthintpage__link a + a {
    margin-left: 2.4vw; }
@media screen and (min-width: 768px) {
  .nthintpage__link {
    width: 80%;
    margin: 0 10%;
    text-align: center;
    padding-top: 25px;
    padding-bottom: 20px; }
    .nthintpage__link a img {
      width: auto;
      height: 40px; }
    .nthintpage__link a + a {
      margin-left: 20px; } }

.ntform {
  width: 100%;
  padding: 0 2.3vw 2vw 0;
  margin: -1vw 0 0;
  text-align: center;
  background-image: url("../img/form_bg.jpg");
  background-position: center top;
  background-size: 100% auto;
  background-repeat: no-repeat;
  box-sizing: border-box; }
  .ntform__submit {
    width: 16vw;
    height: 11vw;
    border: 0px solid;
    cursor: pointer;
    vertical-align: bottom; }
    .ntform__submit--01 {
      background: url("../img/btn_kaitou.png");
      background-position: center top;
      background-size: cover;
      background-repeat: no-repeat;
      width: 13vw;
      height: 8vw;
      border: 0px solid;
      cursor: pointer;
      vertical-align: bottom; }
  .ntform__txtform {
    background-color: #fff;
    vertical-align: bottom;
    font-size: 1em;
    color: #000;
    margin: 0 3vw 0 0;
    width: 50%;
    height: 8vw;
    padding: 0.5vw 0;
    text-align: center; }
    .ntform__txtform--01 {
      background-color: #fff;
      vertical-align: bottom;
      font-size: 20px;
      color: #000;
      margin: 0 1vw 0;
      height: 13.8vw;
      padding: 0.5vw 2vw;
      text-align: center;
      height: 7.2vw;
      padding: 0 1vw;
      width: 43%;
      border: 0.4vw solid #1b9ac3; }
  @media screen and (min-width: 768px) {
    .ntform {
      width: 100%;
      padding: 11px 0 79px 0;
      margin: -20px 0 -70px;
      text-align: center; }
      .ntform__submit {
        width: 75%;
        height: 50px;
        border: 0px solid;
        cursor: pointer;
        vertical-align: bottom; }
        .ntform__submit--01 {
          background-position: center top;
          background-size: cover;
          background-repeat: no-repeat;
          width: 66px;
          height: 40px;
          border: 0px solid;
          cursor: pointer;
          vertical-align: bottom; }
      .ntform__txtform {
        background-color: #fff;
        vertical-align: bottom;
        font-size: 1em;
        color: #000;
        border: 1px #000;
        margin: 0 50px;
        width: 64%;
        height: 65px;
        padding: 0 1em;
        text-align: center; }
        .ntform__txtform--01 {
          background-color: #fff;
          vertical-align: bottom;
          font-size: 20px;
          color: #000;
          border: 1px #000;
          margin: 0 5px 0 0;
          padding: 5px 1em;
          text-align: center;
          height: 26px;
          width: calc(52% - 75px);
          border: 2px solid #1b9ac3; } }

.footer {
  width: 100%;
  margin: 0;
  padding: 4vw 0;
  background-color: #000;
  color: #ababab;
  font-size: 2.9vw;
  font-weight: 200;
  text-align: center; }
  .footer p {
    margin-bottom: 0.5em;
    margin-top: 0.5em; }
  .footer img {
    width: 30vw;
    height: auto;
    vertical-align: middle; }
  @media screen and (min-width: 768px) {
    .footer {
      padding: 20px 0;
      font-size: 12px; }
      .footer p {
        margin-bottom: 0.5em;
        margin-top: 0.5em; }
      .footer img {
        width: 30%;
        height: auto;
        vertical-align: middle; } }

.modal {
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10;
  animation-name: Fadein;
  animation-duration: 1s;
  animation-iteration-count: normal; }
  .modal__bg {
    background: rgba(255, 255, 255, 0.6);
    height: 100vh;
    position: absolute;
    width: 100%; }
  .modal__content {
    background-image: url("../img/pubg.png");
    background-position: center top;
    background-size: contain;
    background-repeat: no-repeat;
    left: 50%;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 88%; }
  .modal__close {
    width: 100%;
    text-align: right; }
    .modal__close a img {
      width: 6.8vw;
      height: auto; }
  .modal__link {
    width: 80%;
    margin: 0 10%;
    text-align: center;
    padding-top: 37.4vw;
    padding-bottom: 5vw; }
    .modal__link a img {
      width: auto;
      height: 6vw; }
    .modal__link a + a {
      margin-left: 2.4vw; }
  @media screen and (min-width: 768px) {
    .modal__bg {
      height: 100%;
      position: absolute;
      width: 568px; }
    .modal__content {
      left: 0;
      padding: 20px 0;
      position: absolute;
      top: 10%;
      transform: none;
      max-height: 100% !important;
      width: 568px !important; }
    .modal__close {
      width: 100%;
      text-align: right;
      margin-right: 50px;
      margin-top: -20px; }
      .modal__close a img {
        width: 6.8%;
        height: auto; }
    .modal__link {
      width: 80%;
      margin: 0 10%;
      text-align: center;
      padding-top: 255px;
      padding-bottom: 20px; }
      .modal__link a img {
        width: auto;
        height: 40px; }
      .modal__link a + a {
        margin-left: 20px; } }

.accordion {
  width: 90%;
  text-align: center;
  padding: 2em 5% 0; }
  .accordion ul {
    width: auto;
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
    font-size: 3.5vw;
    font-weight: 200;
    line-height: 1.6; }
    .accordion ul .hint-second {
      margin-left: 0; }
  .accordion li {
    color: #fff;
    margin: 3vw 0 2vw 0;
    padding-left: 0;
    text-align: left;
    font-size: 3.6vw;
    font-weight: 200;
    line-height: 1.7;
    white-space: normal; }
    .accordion li ul {
      margin: 3vw 0 2vw 0; }
      .accordion li ul li ul {
        margin: 3vw 0 2vw 0; }
        .accordion li ul li ul li ul {
          margin: 3vw 0 2vw 0; }
          .accordion li ul li ul li ul li ul {
            margin: 3vw 0 2vw 0; }
            .accordion li ul li ul li ul li ul li ul {
              margin: 3vw 0 2vw 0; }
  .accordion__inner {
    border: 1px solid #fff;
    border-radius: 8px;
    padding: 0.7em 0.7em;
    margin-bottom: 5vw;
    background: #1b9ac3; }
    .accordion__inner:hover {
      opacity: 1; }
    .accordion__inner a {
      cursor: pointer;
      color: #fff;
      font-size: 4.2vw;
      font-weight: 200;
      line-height: 1.6;
      font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      display: block;
      text-decoration: none; }
  @media screen and (min-width: 768px) {
    .accordion ul {
      list-style: none;
      margin: 0;
      padding: 0;
      text-align: left;
      font-size: 20px;
      font-weight: 200;
      line-height: 1.6; }
      .accordion ul .hint-second {
        margin-left: 0; }
    .accordion li {
      color: #fff;
      margin: 15px 0 10px 0;
      text-align: left;
      font-size: 16px;
      font-weight: 200;
      line-height: 1.7; }
      .accordion li ul {
        margin: 15px 0 10px 0; }
        .accordion li ul li ul {
          margin: 15px 0 10px 0; }
          .accordion li ul li ul li ul {
            margin: 15px 0 10px 0; }
            .accordion li ul li ul li ul li ul {
              margin: 15px 0 10px 0; }
              .accordion li ul li ul li ul li ul li ul {
                margin: 15px 0 10px 0; }
    .accordion__inner {
      margin-bottom: 25px; }
      .accordion__inner a {
        font-size: 18px; } }

label {
  cursor: pointer;
  color: #fff;
  font-size: 3.8vw;
  font-weight: 200;
  line-height: 1.6;
  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  margin-top: 0.7em; }
  @media screen and (min-width: 768px) {
    label {
      font-size: 20px; } }

.toggle {
  display: none; }

.toggle + ul {
  max-height: 0;
  overflow: hidden;
  transition: all .1s ease-out; }

.toggle:checked + ul {
  max-height: 9999px;
  transition: all 3s ease-in; }

.txtf {
  letter-spacing: -0.2em;
  margin-left: 10em; }
  @media screen and (max-width: 767px) {
    .txtf {
      margin-left: 6em; } }

.hint-second span:after {
  position: absolute;
  content: "◯";
  margin-left: -1em; }
