@charset "UTF-8";
/*--------------------
共通設定
----------------------*/
* {
  margin: 0;
  padding: 0; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

a {
  text-decoration: none;
  transition: .4s;
  color: #000000; }
  a.disabled {
    pointer-events: none;
    text-decoration: none; }
  a.line {
    text-decoration: underline !important;
    font-size: 100%; }

ul, ol {
  list-style: none; }

.pc {
  display: block; }
  @media screen and (max-width: 1100px) {
    .pc {
      display: none; } }

.sp {
  display: none; }
  @media screen and (max-width: 1100px) {
    .sp {
      display: block; } }

html, body {
  overflow-x: visible;
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
  height: -webkit-fill-available;
  min-height: -webkit-fill-available; }

.fs-l-page {
  overflow: visible; }

.wrapper {
  margin: 0 auto !important; }

main {
  max-width: 100%;
  padding-top: 60px;
  overflow: visible; }

.mainBox {
  margin: 0 auto !important; }

footer {
  position: relative;
  z-index: 9999; }

html, body {
  height: auto; }

/*--------------------------------------------*/
.lp_wrapper {
  margin: 0 auto;
  padding: 0;
  font-size: 14px;
  text-align: center;
  font-family: hiragino-kaku-gothic-pron, sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  font-style: normal;
  color: #000000;
  width: 100%;
  background: #ffffff;
  max-width: 800px; }
  .lp_wrapper .at {
    font-size: min(0.7em, 2.7vw); }

.mv {
  margin: 0 auto; }

.anchor {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 80%;
  max-width: 500px;
  margin: 10% auto; }
  .anchor a {
    width: calc(100%/2 - 5%);
    border: 1px solid #000000;
    border-radius: 50vh;
    line-height: 1.0;
    padding: 1.0em;
    font-size: min(0.8em, 3vw);
    position: relative; }
    .anchor a::after {
      position: absolute;
      content: "▼";
      top: 50%;
      right: 2.0em;
      transform: translateY(-50%);
      font-size: 70%; }
    .anchor a:hover {
      background: #000000;
      color: #ffffff; }

.txt {
  width: 80%;
  margin: 10% auto; }
  @media screen and (max-width: 700px) {
    .txt {
      width: 90%; } }
  .txt h1 {
    background: #000000;
    color: #ffffff;
    font-size: min(1.2em, 3.7vw);
    line-height: 1.0;
    padding: 1em;
    font-weight: 400;
    letter-spacing: .05em;
    margin-bottom: 3em; }
  .txt p {
    font-size: min(1.2em, 3.5vw);
    line-height: 1.8;
    font-weight: 600;
    margin-bottom: 3.0em; }
    .txt p .sp {
      display: none; }
      @media screen and (max-width: 700px) {
        .txt p .sp {
          display: block; } }
    .txt p span {
      font-size: 150%; }
    .txt p.schedule {
      font-weight: 400;
      font-size: min(0.9em, 2.9vw); }

.gift {
  margin: 15% auto;
  max-width: 700px;
  width: 96%; }
  @media screen and (max-width: 700px) {
    .gift {
      margin-bottom: 20%; } }
  .gift .flex {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin: 2% auto 5%; }
    @media screen and (max-width: 700px) {
      .gift .flex {
        margin-bottom: 10%; } }
    .gift .flex li {
      width: calc(100%/3 - 2%); }
      .gift .flex li h3 {
        font-size: min(1em, 3.2vw);
        font-weight: 600;
        margin: 1.0em auto; }
      .gift .flex li p {
        font-size: min(0.8em, 2.7vw);
        line-height: 1.8; }
        @media screen and (max-width: 700px) {
          .gift .flex li p {
            text-align: left;
            line-height: 1.5; }
            .gift .flex li p br {
              display: none; } }

.campaign__txt {
  margin: 15% auto;
  padding: 5%;
  border: 1px solid #000000;
  border-radius: 2.0em;
  width: 70%; }
  @media screen and (max-width: 700px) {
    .campaign__txt {
      width: 90%;
      border-radius: 1.0em;
      padding: 5% 0; } }
  .campaign__txt h2 {
    font-size: min(1em, 3.2vw);
    font-weight: 600;
    margin-bottom: 10%; }
  .campaign__txt div {
    margin-bottom: 5%; }
    .campaign__txt div h3 {
      font-size: min(1em, 3.2vw);
      font-weight: 600;
      line-height: 2.0; }
    .campaign__txt div p {
      font-size: min(0.9em, 2.8vw);
      line-height: 1.8; }
  .campaign__txt .link {
    margin: 8% auto 0; }
    .campaign__txt .link a {
      text-decoration: underline !important;
      font-size: min(1em, 3.2vw); }

.x__link {
  width: 70%;
  margin: 15% auto; }
  @media screen and (max-width: 700px) {
    .x__link {
      width: 90%; } }
  .x__link a:hover {
    opacity: .7; }

.needbag {
  margin: 15% auto;
  border-top: 1px solid #000000;
  padding-top: 10%; }
  @media screen and (max-width: 1100px) {
    .needbag {
      width: 90%;
      padding: 10% 3% 0; } }
  .needbag p {
    margin: 10% auto;
    line-height: 2.0;
    font-size: min(0.9em, 2.7vw); }
    .needbag p br.sp {
      display: none; }
      @media screen and (max-width: 700px) {
        .needbag p br.sp {
          display: block; } }

.scene__box {
  padding: 7% 10% 2%;
  background: #efefef;
  margin-bottom: 15%; }
  @media screen and (max-width: 700px) {
    .scene__box {
      padding: 10% 5% 2%; } }
  .scene__box h2 {
    font-weight: 400;
    font-size: min(1.2em, 3.5vw);
    line-height: 1.0;
    padding: 1.0em;
    border: solid #000000;
    border-width: 1px 0;
    margin-bottom: 10%; }
  .scene__box ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 auto; }
    .scene__box ul li {
      width: calc(100%/2 - 2.5%);
      margin-bottom: 5%;
      padding: 1.5em;
      background: #ffffff;
      border: 1px solid #000000;
      border-radius: 1.5em; }
      @media screen and (max-width: 700px) {
        .scene__box ul li {
          padding: 0.7em;
          border-radius: 0.7em;
          width: calc(100%/2 - 1.5%);
          margin-bottom: 3%; } }
      .scene__box ul li p {
        text-align: left;
        font-size: min(0.9em, 2.8vw);
        margin: 1.5em auto 1.0em; }
      .scene__box ul li a {
        font-weight: 600;
        text-decoration: underline !important;
        text-align: left;
        font-size: min(0.9em, 3vw);
        display: block; }
