.sale_container {
  font-size: clamp(10px, 2.666vw, 16px);
  overflow: hidden; }

@media (min-width: 768px) {
  .sale_container {
    margin: 0 auto;
    width: 600px; }

  .anchor_link {
    padding-bottom: 50px;
    margin-top: -50px; } }
@media (max-width: 767.98px) {
  .sale_container {
    width: 100%; }

  .anchor_link {
    padding-bottom: 60px;
    margin-top: -60px; } }
.sale_schedule {
  padding: 0 2.5em;
  font-size: 1.2em; }
  .sale_schedule .sale_box, .sale_schedule .omatome_box {
    position: relative; }
    .sale_schedule .sale_box > a, .sale_schedule .omatome_box > a {
      position: absolute;
      display: block;
      padding: 0 2.5em;
      bottom: 2em; }
  .sale_schedule .sale_box {
    margin: 2em 0; }
  .sale_schedule .omatome_box {
    margin-top: 2em; }
  .sale_schedule .caution {
    background-color: #fff;
    border: 2px solid #f51f35;
    border-radius: 1.5em;
    color: #f51f35;
    padding: 1.5em;
    line-height: 1.2em;
    margin-top: 2.5em; }

.sale_wrap .item_box {
  background-color: #fff;
  border-radius: 2.5em;
  padding: 2.5em 0 3em;
  margin: 0 2.5em 3em;
  z-index: 1;
  position: relative; }
  .sale_wrap .item_box:last-child {
    margin-bottom: 0; }
  .sale_wrap .item_box .txt_box {
    padding: 0 2em; }
    .sale_wrap .item_box .txt_box .gentei {
      font-size: 1.2em;
      margin-bottom: .4em; }
    .sale_wrap .item_box .txt_box .item_name {
      font-size: 1.9em;
      margin-bottom: .25em; }
      .sale_wrap .item_box .txt_box .item_name > span {
        font-weight: 500;
        font-size: .8em; }
      .sale_wrap .item_box .txt_box .item_name ruby rt {
        margin-bottom: -1em; }
    .sale_wrap .item_box .txt_box .category {
      font-size: 1.2em;
      font-weight: 500;
      margin-top: 1.5em; }
    .sale_wrap .item_box .txt_box .desc {
      font-size: 1.6em;
      font-weight: 500; }
    .sale_wrap .item_box .txt_box .price_gray {
      color: #727272;
      font-size: 1.6em;
      border-top: 1px #c9e3e5 solid;
      padding-top: 1em;
      margin-top: 1em;
      font-weight: 500; }
      .sale_wrap .item_box .txt_box .price_gray > span {
        position: relative;
        width: fit-content;
        display: block; }
    .sale_wrap .item_box .txt_box .price {
      color: #f25f7b; }
      .sale_wrap .item_box .txt_box .price > .num {
        font-size: 4.5em;
        letter-spacing: 0.03em; }
      .sale_wrap .item_box .txt_box .price > .en {
        font-size: 3.5em; }
      .sale_wrap .item_box .txt_box .price > .zeikomi {
        font-size: 1.6em; }
      .sale_wrap .item_box .txt_box .price > .kaku {
        font-size: 1.5em;
        margin-right: 0.5em; }
    .sale_wrap .item_box .txt_box .cart_btn {
      margin: 1em 0 2em;
      display: block;
      filter: drop-shadow(0px 4px 4px rgba(0, 78, 162, 0.4));
      aspect-ratio: 576 / 81;
      background-image: url("../images/btn_cart.png");
      background-size: contain;
      background-repeat: no-repeat;
      display: flex;
      justify-content: center;
      align-items: center;
      color: #fff;
      font-size: 1.65em; }
      .sale_wrap .item_box .txt_box .cart_btn::before {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        color: #fff;
        width: fit-content;
        height: fit-content;
        font-size: 1.65em; }
      .sale_wrap .item_box .txt_box .cart_btn.keppin {
        background-image: url("../images/btn_suryo.png"); }
    .sale_wrap .item_box .txt_box .add_cart_p {
      font-size: 1.6em;
      margin-top: .5em; }
    .sale_wrap .item_box .txt_box .cartbtn_box01 {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 1em .8em;
      margin: 1em 0 3em; }
      .sale_wrap .item_box .txt_box .cartbtn_box01 > div {
        width: calc( 50% - .4em ); }
        .sale_wrap .item_box .txt_box .cartbtn_box01 > div .cart_btn {
          aspect-ratio: 280 / 81;
          background-image: url("../images/btn_short.png");
          margin: 0; }
          .sale_wrap .item_box .txt_box .cartbtn_box01 > div .cart_btn.keppin {
            background-image: url("../images/btn_short_gray.png"); }
    .sale_wrap .item_box .txt_box .cartbtn_box02 {
      margin-bottom: 3.5em; }
      .sale_wrap .item_box .txt_box .cartbtn_box02 > div .cart_btn {
        background-image: url("../images/btn_large.png");
        margin: 1em 0; }
        .sale_wrap .item_box .txt_box .cartbtn_box02 > div .cart_btn.keppin {
          background-image: url("../images/btn_large_gray.png"); }
    .sale_wrap .item_box .txt_box .link_box {
      font-weight: 500; }
      .sale_wrap .item_box .txt_box .link_box > a {
        text-decoration: underline;
        display: block;
        color: #2f86e3; }
      .sale_wrap .item_box .txt_box .link_box.link_box01 {
        font-size: 1.3em;
        display: flex;
        flex-direction: column;
        gap: 1.5em; }
      .sale_wrap .item_box .txt_box .link_box.link_box02 {
        font-size: 1.55em;
        text-align: center; }
    .sale_wrap .item_box .txt_box .caution {
      font-size: 1.4em;
      margin-top: 2em;
      font-weight: 500; }
      .sale_wrap .item_box .txt_box .caution > a {
        text-decoration: underline;
        color: #2f86e3; }
    .sale_wrap .item_box .txt_box label {
      font-size: 1.6em;
      display: block;
      margin: 0.5em 0 -0.4em;
      font-weight: 500; }
    .sale_wrap .item_box .txt_box .cp_ipselect03 {
      position: relative;
      display: flex;
      align-items: center;
      margin: 1em auto 2em;
      border: 1px solid #004ea2;
      border-radius: 1em;
      box-shadow: 0px 4px 4px rgba(0, 78, 162, 0.4); }
      .sale_wrap .item_box .txt_box .cp_ipselect03::before {
        position: absolute;
        right: 1.5em;
        content: '';
        width: 1.4em;
        aspect-ratio: 28/18;
        background: #004ea2;
        clip-path: polygon(0 0, 100% 0, 50% 100%); }
      .sale_wrap .item_box .txt_box .cp_ipselect03 select {
        width: 100%;
        font-size: 1.6em;
        max-width: none;
        padding: .6em 1em;
        color: #004ea2;
        cursor: pointer;
        z-index: 1;
        border: none;
        appearance: none;
        outline: none;
        background: transparent;
        font-family: "Zen Kaku Gothic New", sans-serif;
        font-weight: 500; }
  .sale_wrap .item_box.zakka_box .off {
    width: 10.5em;
    margin-left: -2em;
    margin-bottom: 1em; }
  .sale_wrap .item_box.zakka_box .price {
    margin-bottom: 1em; }
  .sale_wrap .item_box.zakka_box .zakka {
    border-top: 1px #c9e3e5 solid;
    margin-top: 3em; }
  .sale_wrap .item_box.zakka_box .cart_btn {
    margin-top: 0; }

.sale_btm {
  padding: 0 2.5em 4.5em; }
  .sale_btm .btn_flex {
    display: flex;
    gap: 3em;
    margin-top: -0.8em; }
    .sale_btm .btn_flex > a {
      filter: drop-shadow(0px 4px 4px rgba(0, 78, 162, 0.4)); }

.sale_premium {
  margin-top: 3.5em;
  position: relative; }
  .sale_premium > .inner {
    position: relative;
    z-index: 0;
    background-color: #ffd7e6; }
    .sale_premium > .inner::before {
      content: '';
      width: 100%;
      aspect-ratio: 750/658;
      background-image: url("../images/premium/back.png");
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1; }
  .sale_premium .tab_box {
    background-color: #ffb8d3;
    padding: 1.5em;
    display: flex;
    justify-content: center;
    gap: 0 1.25em; }
    .sale_premium .tab_box > a {
      width: 10.5em;
      filter: drop-shadow(0px 4px 4px rgba(0, 78, 162, 0.2)); }
  .sale_premium .ttl {
    padding: 5em 6.5em 3em; }

.matome {
  background-color: #ffffd6; }
  .matome > .main_ttl {
    background-color: #ffd7e6;
    padding-top: 3em; }
  .matome .tab_box {
    background-color: #fcde67;
    padding: 1.5em;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1.25em 1.5em; }
    .matome .tab_box > a {
      width: 12em;
      filter: drop-shadow(0px 4px 4px rgba(0, 78, 162, 0.2)); }
  .matome .ttl {
    padding: 0 6.5em;
    margin: 5em 0 3em; }
  .matome .back_btm {
    z-index: 0;
    position: relative;
    margin-top: -17em; }
