@import url(https://fonts.googleapis.com/earlyaccess/sawarabimincho.css);
body {
  margin: 0;
  padding: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI","Noto Sans Japanese","Hiragino Sans", Meiryo, sans-serif;
  background: #000; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

.wrap {
  position: relative; }

@media only screen and (max-width: 767px) {
  .bg {
    margin: 0 0 10px; } }
@media only screen and (min-width: 768px) {
  .bg {
    margin: 0 0 30px; } }
.bg__img {
  position: absolute;
  z-index: 10; }
.bg .left {
  top: -23px; }
  @media only screen and (max-width: 767px) {
    .bg .left {
      left: -23px; } }
  @media only screen and (min-width: 768px) {
    .bg .left {
      left: -23px; } }
.bg .right {
  top: -23px; }
  @media only screen and (max-width: 767px) {
    .bg .right {
      right: -23px; } }
  @media only screen and (min-width: 768px) {
    .bg .right {
      right: -23px; } }

.content {
  position: relative;
  box-sizing: border-box; }
  @media only screen and (max-width: 767px) {
    .content {
      border: #b38130 solid 10px; } }
  @media only screen and (min-width: 768px) {
    .content {
      border: #b38130 solid 22px; } }

.hero {
  position: relative;
  z-index: 99; }
  @media only screen and (max-width: 767px) {
    .hero {
      margin: 160px 25px 20px; } }
  @media only screen and (min-width: 768px) {
    .hero {
      margin: 460px 0 50px; } }
  .hero h1 {
    text-align: center;
    margin: 0;
    padding: 0; }
  .hero img {
    filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.8)); }

.intro {
  font-family: 'Sawarabi Mincho';
  position: relative;
  z-index: 99;
  color: #fff;
  text-align: center; }
  @media only screen and (max-width: 767px) {
    .intro {
      margin: 0 25px 40px; } }
  @media only screen and (min-width: 768px) {
    .intro {
      font-size: 1.3rem;
      line-height: 2.3rem;
      margin: 0 0 60px; } }
  @media only screen and (max-width: 767px) {
    .intro p {
      line-height: 2.2rem;
      margin: 0 10px; } }
  @media only screen and (min-width: 768px) {
    .intro p {
      margin: 0 0 15px; } }
  @media only screen and (max-width: 767px) {
    .intro p:last-child {
      margin: 0 10px; } }
  @media only screen and (min-width: 768px) {
    .intro p:last-child {
      margin: 0; } }

.prod {
  position: relative;
  z-index: 99; }
  .prod__content {
    background: #fff;
    background-image: url("../img/content-bg.png");
    box-sizing: border-box;
    border: #b38130 solid 2px;
    position: relative;
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      .prod__content {
        margin: 0 15px 30px;
        padding: 40px 20px; } }
    @media only screen and (min-width: 768px) {
      .prod__content {
        max-width: 950px;
        margin: 0 auto 50px;
        padding: 50px 40px; } }
    .prod__content::before {
      content: "";
      height: calc(100% + 10px);
      border: #b38130 solid 2px;
      position: absolute;
      top: -7px;
      left: -8px; }
      @media only screen and (max-width: 767px) {
        .prod__content::before {
          width: calc(100% + 11.5px); } }
      @media only screen and (min-width: 768px) {
        .prod__content::before {
          width: calc(950px + 8px); } }
  .prod__pic {
    background: #fff;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative; }
    @media only screen and (max-width: 767px) {
      .prod__pic {
        margin: 0 0 25px;
        padding: 30px 10px; } }
    @media only screen and (min-width: 768px) {
      .prod__pic {
        width: 100%;
        padding: 70px 15px; } }
    .prod__pic .kakudai {
      position: absolute; }
      @media only screen and (max-width: 767px) {
        .prod__pic .kakudai {
          bottom: 10px;
          right: 10px; } }
      @media only screen and (min-width: 768px) {
        .prod__pic .kakudai {
          bottom: 20px;
          right: 20px; } }
    .prod__pic span {
      position: absolute; }
      @media only screen and (max-width: 767px) {
        .prod__pic span {
          bottom: 0;
          left: 32%; } }
      @media only screen and (min-width: 768px) {
        .prod__pic span {
          bottom: 10px;
          left: 43%; } }
  .prod__txt {
    font-family: 'Sawarabi Mincho'; }
    @media only screen and (min-width: 768px) {
      .prod__txt {
        margin: 35px 0 0;
        align-self: center; } }
    .prod__txt-senkou {
      position: relative;
      text-align: center; }
      @media only screen and (max-width: 767px) {
        .prod__txt-senkou {
          margin: 0 0 25px; } }
      @media only screen and (min-width: 768px) {
        .prod__txt-senkou {
          margin: 0 0 30px; } }
      @media only screen and (max-width: 767px) {
        .prod__txt-senkou img {
          width: 230px; } }
    .prod__txt-ttl {
      font-weight: 900;
      letter-spacing: 0.15em;
      text-align: center; }
      @media only screen and (max-width: 767px) {
        .prod__txt-ttl {
          font-size: 1.2rem;
          margin: 0 0 5px; } }
      @media only screen and (min-width: 768px) {
        .prod__txt-ttl {
          font-size: 1.7rem;
          margin: 0 0 5px; } }
    .prod__txt-price {
      text-align: center;
      font-weight: 900;
      letter-spacing: 0.05em;
      margin: 0 0 15px; }
      @media only screen and (max-width: 767px) {
        .prod__txt-price {
          font-size: 1.2rem;
          margin: 0 0 15px; } }
      @media only screen and (min-width: 768px) {
        .prod__txt-price {
          font-size: 1.3rem; } }
    .prod__txt p {
      position: relative;
      font-family: 'Sawarabi Mincho';
      margin: 0;
      padding: 0;
      text-align: center; }
      @media only screen and (max-width: 767px) {
        .prod__txt p {
          font-size: 1.0rem;
          line-height: 1.8rem; } }
      @media only screen and (min-width: 768px) {
        .prod__txt p {
          font-size: 1.1rem;
          line-height: 2.0rem; } }
    .prod__txt-gentei {
      text-align: center; }
      @media only screen and (max-width: 767px) {
        .prod__txt-gentei {
          margin: 20px 0 0; } }
      @media only screen and (min-width: 768px) {
        .prod__txt-gentei {
          margin: 10px 0 0; } }
      @media only screen and (max-width: 767px) {
        .prod__txt-gentei img {
          width: 170px; } }

.sale {
  position: relative;
  z-index: 99; }
  .sale__content {
    background: #fff;
    background-image: url("../img/content-bg.png");
    box-sizing: border-box;
    border: #b38130 solid 2px;
    position: relative;
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      .sale__content {
        margin: 0 15px 30px;
        padding: 40px 20px; } }
    @media only screen and (min-width: 768px) {
      .sale__content {
        max-width: 950px;
        margin: 0 auto 50px;
        padding: 50px 40px; } }
    .sale__content::before {
      content: "";
      height: calc(100% + 10px);
      border: #b38130 solid 2px;
      position: absolute;
      top: -7px;
      left: -8px; }
      @media only screen and (max-width: 767px) {
        .sale__content::before {
          width: calc(100% + 11.5px); } }
      @media only screen and (min-width: 768px) {
        .sale__content::before {
          width: calc(950px + 8px); } }
  @media only screen and (max-width: 767px) {
    .sale__ttl {
      margin: 0 0 20px; } }
  @media only screen and (min-width: 768px) {
    .sale__ttl {
      margin: 0 0 20px; } }
  @media only screen and (max-width: 767px) {
    .sale__ttl img {
      width: 110px; } }
  .sale p {
    position: relative;
    font-family: 'Sawarabi Mincho';
    margin: 0;
    padding: 0; }
    @media only screen and (max-width: 767px) {
      .sale p {
        font-size: 0.9rem;
        line-height: 1.8rem; } }
    @media only screen and (min-width: 768px) {
      .sale p {
        font-size: 1.0rem;
        line-height: 1.9rem; } }
    .sale p a {
      position: relative;
      color: #b38130;
      word-break: break-all;
      text-decoration: none; }
      .sale p a:hover {
        text-decoration: underline; }
  @media only screen and (max-width: 767px) {
    .sale .order {
      margin: 30px 0 0; } }
  @media only screen and (min-width: 768px) {
    .sale .order {
      margin: 30px 0 0; } }
  .sale .order__link {
    position: relative;
    font-family: 'Sawarabi Mincho';
    background: #b38130;
    text-align: center;
    margin: 30px auto 0;
    max-width: 100%;
    letter-spacing: 0.03em; }
    @media only screen and (max-width: 767px) {
      .sale .order__link {
        height: 60px;
        line-height: 60px; } }
    @media only screen and (min-width: 768px) {
      .sale .order__link {
        height: 70px;
        line-height: 70px;
        cursor: pointer; } }
    .sale .order__link:hover {
      opacity: 0.8; }
    .sale .order__link a {
      color: #fff;
      text-decoration: none;
      display: block;
      width: 100%; }
      @media only screen and (max-width: 767px) {
        .sale .order__link a {
          font-size: 1.03rem; } }
      @media only screen and (min-width: 768px) {
        .sale .order__link a {
          font-size: 1.2rem; } }
      .sale .order__link a::before {
        font-family: "Font Awesome 5 Free";
        content: "\f07a";
        font-size: 1.1rem;
        font-weight: 900;
        color: #fff;
        margin-right: 10px;
        position: relative;
        z-index: -2px; }
        @media only screen and (max-width: 767px) {
          .sale .order__link a::before {
            font-size: 0.95rem; } }
        @media only screen and (min-width: 768px) {
          .sale .order__link a::before {
            font-size: 1.1rem; } }
  .sale .order p {
    font-family: 'Sawarabi Mincho';
    margin: 10px 0 0;
    padding: 0; }
    @media only screen and (max-width: 767px) {
      .sale .order p {
        font-size: 0.95rem;
        line-height: 1.7rem; } }
    @media only screen and (min-width: 768px) {
      .sale .order p {
        font-size: 1.0rem;
        line-height: 1.7rem; } }

.twitter {
  position: relative;
  z-index: 99; }
  @media only screen and (max-width: 767px) {
    .twitter__content {
      margin: 0 15px 40px; } }
  @media only screen and (min-width: 768px) {
    .twitter__content {
      max-width: 950px;
      margin: 0 auto 70px;
      display: flex;
      justify-content: center; } }
  @media only screen and (max-width: 767px) {
    .twitter__pic {
      width: 30%;
      margin: 0 auto 20px; } }
  @media only screen and (min-width: 768px) {
    .twitter__pic {
      width: 10%;
      margin-right: 40px; } }
  .twitter__text {
    color: #fff;
    align-self: center; }
    @media only screen and (max-width: 767px) {
      .twitter__text {
        max-width: 260px;
        margin: 0 auto; } }
    .twitter__text span::before {
      content: "";
      display: inline-block;
      background-image: url("../img/icon-twitter.png");
      width: 15px;
      height: 12px;
      margin-right: 5px; }
    .twitter__text a {
      color: #b38130;
      text-decoration: none; }
      .twitter__text a:hover {
        text-decoration: underline; }

.modal_inner {
  display: none; }

@media only screen and (max-width: 767px) {
  .modaal-container {
    max-width: 340px !important; } }
@media only screen and (min-width: 768px) {
  .modaal-container {
    max-width: 900px !important; } }

.modaal-content-container {
  text-align: center;
  padding: 0 !important; }

.modaal-close:focus:before,
.modaal-close:focus:after,
.modaal-close:hover:before,
.modaal-close:hover:after {
  background: #af110bs !important; }

@media only screen and (min-width: 768px) {
  .sponly {
    display: none; } }

@media only screen and (max-width: 767px) {
  .pconly {
    display: none; } }

.global_head {
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 99; }

footer {
  position: relative;
  z-index: 99; }
