.floating {
  position: fixed;
  top: 500px;
  right: 0px;
  z-index: 4;
  transition: all .8s; }
  .floating img {
    width: 120px; }
  .floating a:hover {
    opacity: 1; }
  @media (min-width: 768px) {
    .floating {
      top: 85vh; } }
  .floating.tobottom {
    top: 85vh; }

.mv {
  max-width: 600px;
  width: 100%;
  margin: 0 auto;
  position: relative; }
  .mv > img {
    width: 100%; }
  .mv__link {
    position: absolute;
    top: 10px;
    left: 10px; }
    .mv__link img {
      width: 50px; }
      @media (min-width: 768px) {
        .mv__link img {
          width: 80px; } }

.select {
  max-width: 600px;
  margin: 0 auto; }
  .select__inner {
    background: url(../images/select_deco.png);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center top; }
  .select__title {
    position: relative;
    z-index: 3;
    text-align: center; }
    .select__title > img {
      max-width: 80%; }
  .select__block {
    width: 100%;
    display: flex;
    flex-direction: column; }
  .select__wrap {
    width: 90%;
    margin: 0 auto 10px; }
  .select__item {
    width: 100%;
    background-color: #fff;
    display: flex; }
    .select__item-img {
      width: 40%; }
    .select__item-txt {
      width: 60%;
      padding: 15px 0;
      display: flex;
      flex-direction: column;
      justify-content: space-between; }
      .select__item-txt p {
        color: #A09994;
        margin-top: 10px;
        margin-right: 10px;
        line-height: 1.2;
        font-family: Noto Sans JP, sans-serif;
        font-size: 0.95rem; }
        @media (min-width: 768px) {
          .select__item-txt p {
            margin-top: 20px; } }
      @media (min-width: 768px) {
        .select__item-txt {
          padding: 20px 0; } }
    .select__item-btn {
      width: 100%;
      margin-top: 10px;
      padding-right: 5px;
      display: flex; }
      .select__item-btn button {
        width: 100%;
        margin: 0 3px;
        outline: none;
        border: none;
        cursor: pointer;
        box-shadow: 2px 2px 6px #A09994; }
        @media (min-width: 768px) {
          .select__item-btn button {
            margin: 0 10px; } }
    .select__item-secret, .select__item-tweet {
      position: relative;
      transition: all .3s;
      height: auto;
      opacity: 1;
      font-family: Noto Sans JP, sans-serif; }
      .select__item-secret p, .select__item-tweet p {
        line-height: 1.5; }
      .select__item-secret::before, .select__item-tweet::before {
        position: absolute;
        top: -5px;
        display: block;
        content: "";
        width: 10px;
        height: 10px;
        background: inherit;
        transform: rotate(45deg); }
        @media (min-width: 768px) {
          .select__item-secret::before, .select__item-tweet::before {
            top: -10.5px;
            width: 20px;
            height: 20px; } }
      .select__item-secret.hide, .select__item-tweet.hide {
        height: 0;
        opacity: 0;
        padding: 0;
        margin: 0; }
        .select__item-secret.hide a, .select__item-secret.hide p, .select__item-tweet.hide a, .select__item-tweet.hide p {
          display: none; }
    .select__item-secret {
      background: #B69069;
      color: #fff;
      padding: 15px 10px; }
      .select__item-secret::before {
        left: 52%; }
      .select__item-secret p {
        font-size: 0.9rem; }
        @media (min-width: 768px) {
          .select__item-secret p {
            font-size: 1rem; } }
    .select__item-tweet {
      background: #C32032;
      padding: 15px 5px;
      color: #fff; }
      .select__item-tweet::before {
        left: 80%; }
        @media (min-width: 768px) {
          .select__item-tweet::before {
            left: 81%; } }
      .select__item-tweet p {
        text-align: center;
        font-size: 0.75rem; }
        @media (min-width: 768px) {
          .select__item-tweet p {
            font-size: 1rem; } }
      .select__item-tweet-btnblock {
        display: flex;
        align-items: center;
        justify-content: center; }
        .select__item-tweet-btnblock span::after {
          display: block;
          content: "";
          width: 10px;
          height: 10px;
          border-top: 2px solid #fff;
          border-right: 2px solid #fff;
          transform: rotate(45deg) translateX(-5px); }
        .select__item-tweet-btnblock a img {
          max-width: 100%; }

.join {
  background: linear-gradient(to right, #7d1916, #8f1e1b 40%, #8f1e1b 60%, #7d1916);
  background-image: url(../images/join_bg.png);
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: 100%;
  padding-bottom: 350px; }
  .join__title {
    padding-top: 50px;
    text-align: center; }
    .join__title img {
      width: 30%;
      max-width: 200px; }
  .join__step {
    max-width: 600px;
    margin: 0 auto;
    width: 90%;
    margin: 100px auto 0; }
    .join__step-item {
      position: relative;
      background: linear-gradient(to right, #63110f, #7c1820 40%, #7c1820 60%, #63110f);
      text-align: center;
      padding: 50px 0 40px;
      display: flex;
      flex-direction: column;
      align-items: center; }
      .join__step-item p {
        color: #fff;
        line-height: 1.7; }
        .join__step-item p.caution {
          font-size: 0.9rem;
          margin-top: 10px;
          color: #FFC862; }
      .join__step-item a {
        margin: 20px 0 0; }
        .join__step-item a img {
          width: 90%; }
      .join__step-item > img {
        width: 70%; }
        @media (min-width: 768px) {
          .join__step-item > img {
            width: 50%; } }
      .join__step-item::before {
        display: block;
        content: "";
        position: absolute;
        top: -80px;
        left: calc(50% - 50px);
        width: 100px;
        height: 120px;
        background-repeat: no-repeat;
        background-size: contain;
        background-position: top center; }
      .join__step-item:nth-child(1)::before {
        background-image: url(../images/join_step01.png); }
      .join__step-item:nth-child(3)::before {
        background-image: url(../images/join_step02.png); }
    .join__step-arrow {
      text-align: center;
      margin: 30px 0 100px; }
      .join__step-arrow img {
        width: 50px; }
      .join__step-arrow.thin {
        margin: 30px 0 70px; }
    .join__step-present01 {
      position: relative;
      background: linear-gradient(to right, #d5b99e, #f1e9de 40%, #f1e9de 60%, #d5b99e);
      padding: 0 20px 80px; }
      .join__step-present01 p {
        color: #382B20;
        line-height: 1.5; }
      .join__step-present01 > P:nth-child(1) {
        padding-top: 45%;
        text-align: center;
        font-size: 1.2rem;
        color: #603813; }
        @media (min-width: 768px) {
          .join__step-present01 > P:nth-child(1) {
            padding-top: 38%;
            font-size: 1.5rem; } }
      .join__step-present01 .image {
        text-align: center;
        margin: 20px 0 0; }
        .join__step-present01 .image img {
          width: 298px; }
          @media (min-width: 768px) {
            .join__step-present01 .image img {
              width: 560px; } }
      .join__step-present01 > P:nth-child(3) {
        margin: 20px 0 0; }
      .join__step-present01 > P:nth-child(4) {
        position: absolute;
        right: 10px;
        bottom: 15px;
        text-align: right;
        font-size: 0.9rem; }
      .join__step-present01::before {
        display: block;
        content: "";
        position: absolute;
        left: calc(50% - calc(90% /2));
        top: -5.5%;
        background-image: url(../images/present_01_deco.png);
        width: 90%;
        height: 250px;
        background-repeat: no-repeat;
        background-size: contain;
        background-position: top center; }
    .join__step-present02 {
      margin-top: 20px;
      position: relative;
      background: linear-gradient(to right, #d5b99e, #f1e9de 40%, #f1e9de 60%, #d5b99e);
      padding: 0 20px 80px;
      display: flex;
      flex-direction: column; }
      @media (min-width: 768px) {
        .join__step-present02 {
          margin-top: 40px; } }
      .join__step-present02 p {
        color: #382B20;
        line-height: 1.5; }
      .join__step-present02 .image {
        text-align: center;
        padding-top: 45%;
        margin: 20px 0 0; }
        .join__step-present02 .image img {
          width: 80%; }
      .join__step-present02 > P:nth-child(2) {
        margin-top: 30px;
        text-align: center;
        font-size: 1.15rem;
        line-height: 1.5;
        color: #603813;
        font-family: Noto Sans JP, sans-serif; }
        .join__step-present02 > P:nth-child(2) > b {
          font-size: 1.2rem;
          font-weight: bold; }
      .join__step-present02 > h3:nth-child(3) {
        width: 100%;
        margin: 15px auto 0;
        text-align: center;
        font-size: 1.2rem;
        border-bottom: 2px solid #603813;
        color: #603813; }
      .join__step-present02 > P:nth-child(4) {
        margin-top: 10px; }
      .join__step-present02 > P:nth-child(5) {
        position: absolute;
        right: 10px;
        bottom: 15px;
        text-align: right;
        font-size: 0.9rem; }
      .join__step-present02::before {
        display: block;
        content: "";
        position: absolute;
        left: calc(50% - calc(90% /2));
        top: 0;
        background-image: url(../images/present_02_deco.png);
        width: 90%;
        height: 250px;
        background-repeat: no-repeat;
        background-size: contain;
        background-position: top center; }

.note {
  background: linear-gradient(to right, #d5b99e, #f1e9de 40%, #f1e9de 60%, #d5b99e);
  padding: 50px 20px 20px; }
  .note h2 {
    text-align: center;
    margin-bottom: 20px;
    font-size: 1.3rem;
    color: #382B20;
    letter-spacing: 5px;
    font-weight: normal; }
  .note__scroll {
    max-width: 600PX;
    margin: 0 auto;
    padding: 20px;
    height: 400px;
    background: #fff;
    overflow-y: scroll; }
    .note__scroll pre {
      font-family: Noto Sans JP, sans-serif;
      white-space: pre-wrap;
      line-height: 1.7; }
  .note__gotop {
    text-align: center;
    margin: 100px 0 30px; }
    .note__gotop a {
      position: relative;
      color: #382B20;
      font-size: 1.2rem; }
      @media (min-width: 768px) {
        .note__gotop a {
          font-size: 1.6rem; } }
      .note__gotop a::before {
        display: block;
        content: "";
        position: absolute;
        top: -30px;
        left: calc(50% - 10px);
        width: 20px;
        height: 20px;
        border-top: 2px solid #382B20;
        border-right: 2px solid #382B20;
        transform: rotate(-45deg); }

.footer {
  background: #382B20;
  color: #fff;
  text-align: center;
  padding: 60px 0 15px; }
  .footer img {
    width: 50px; }
  .footer p {
    margin: 40px 0 0;
    font-size: 0.8rem; }

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-size-adjust: 100%;
  font-size: 16px; }

body {
  font-family: Noto Serif JP, sans-serif;
  background: linear-gradient(to right, #7d1916, #8f1e1b 40%, #8f1e1b 60%, #7d1916); }

table {
  border-collapse: collapse; }

ul {
  list-style: none; }

img {
  vertical-align: middle; }

a {
  text-decoration: none;
  color: black; }
  a:hover {
    opacity: 0.7; }

a:visited {
  color: black; }

img {
  width: 100%; }

.ex-sp {
  display: block; }
  @media (min-width: 768px) {
    .ex-sp {
      display: none; } }

.ex-pc {
  display: none; }
  @media (min-width: 768px) {
    .ex-pc {
      display: block; } }
