[hidden] {
  display: none;
}
button {
  padding: 0;
  border: none;
  outline: none;
  font: inherit;
  color: inherit;
  background: none
}

/* add 2024/05/31 */

/* 画像を扱いやすくする */
img,svg {
  display: block;
  width: 100%;
  height: auto;
}
img {
  image-rendering:auto;
}
svg,*:has(> img) {
  font-size: 0;
}

/* iOSでのデフォルトアイコンを非表示にする */
details summary {
  list-style: none; /* リストスタイルの削除 */
}
/* Safari特有のデフォルトマーカーを非表示にする */
summary::-webkit-details-marker {
  display: none;
}

/* respond */
:root {
  --sw: 1vw;
  --vw: 1vw;
  --media_sp: 750;
  --inner: min(690px, calc((( 690 / var(--media_sp)) * 100) * var(--sw)));
}
html {
  overflow-y: scroll;
  scroll-behavior: smooth;
}
body {
  font-family: "Outfit", serif;
  font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 400;
  font-optical-sizing: auto;
  font-feature-settings: "palt";
}
a,button {
  cursor: pointer;
  opacity: 1;
  transition: opacity 0.2s cubic-bezier(0.16, 0.59, 0.04, 0.99);
}
a:hover,button:hover {
  opacity: 0.7;
  transition: opacity 0.2s cubic-bezier(0.16, 0.59, 0.04, 0.99);
}
a:has(> img){
  display: block;
}
br.sp,span.sp,br.tb,span.tb {display: none;}
@media (min-width:751px) {
  .sp {display: none;}
  br.pc,span.pc {display: inline;}
}
@media (min-width:751px) and (max-width: 1000px) {
  br.tab,span.tab {display: inline;}
}
@media screen and (max-width: 750px) {
  .pc {display: none;}
  br.pc,span.pc,br.tab,span.tab {display: none;}
  br.sp,span.sp {display: inline;}
}
/* respond */

/* background */
.container {
  width: 100%;
  background: linear-gradient(270deg,#f2566633 0%, #fa985633 100%);
}
/* @media screen and (min-width:751px) {
  .container {
  }
} */


header {
  position: relative;
  margin-inline: auto;
  background: linear-gradient(0deg, #f25666 0%, #fa9856 100%);
}
section {
  position: relative;
  margin-inline: auto;
}
section.campaign {
  background-color: #fa9856;
}
section.chance {
  background-color: #f26e77;
}
section.shop {
  background: linear-gradient(0deg, #f25666 0%, #fa9856 100%);
}
section.atten {
  background: linear-gradient(0deg, #f2566626 0%, #fa985626 100%);
}
.ornament {
  position: absolute;
  top: -1px;
  /* z-index: 1; */
}
.lnk_btn {
  background-color: #000;
  color: #fff;
  margin-inline: auto;
  border-radius: 100vmax;
}
.lnk_btn a {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 100%;
}
.lnk_btn_txt {
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
.lnk_btn_txt-small {
  line-height: 1;
  text-align: center;
}
@media screen and (min-width:751px) {
  header,section {
    width: min(750px, 54.904%);
  }
  .side_logo-wrap {
    width: max(calc((100% - 750px) / 2), 22.548%);
    display: block;
    overflow: hidden;
    position: fixed;
    top: 0;
    right: auto;
    bottom: 0;
    left: 0;
  }
  .side_logo {
    position: absolute;
    top: 0;
    bottom: 0;
    left: auto;
    right: min(16px, calc((( 16 / var(--media_sp)) * 100) * var(--sw)));
    margin-block: auto;
    width: min(297px, calc((( 297 / var(--media_sp)) * 100) * var(--sw)));
    height: fit-content;
  }
  .nav-wrap {
    width: max(calc((100% - 750px) / 2), 22.548%);
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
  }
  .nav-inner {
    position: absolute;
    inset: 0;
    margin-block: auto;
    margin-inline: min(21px, calc((( 21 / var(--media_sp)) * 100) * var(--sw))) auto;
    width: fit-content;
    height: fit-content;
  }
  .nav-wrap nav {
    margin-left: min(20px, calc((( 20 / var(--media_sp)) * 100) * var(--sw)));
    /* margin-top: min(305px, calc((( 305 / var(--media_sp)) * 100) * var(--sw)));
    margin-inline: min(39px, calc((( 39 / var(--media_sp)) * 100) * var(--sw))) auto;
    width: fit-content; */
  }
  .sec_nav:nth-child(2) {
    margin-top: min(33px, calc((( 33 / var(--media_sp)) * 100) * var(--sw)));
  }
  .sec_nav:nth-child(3) {
    margin-top: min(30px, calc((( 30 / var(--media_sp)) * 100) * var(--sw)));
  }
  .sec_nav:nth-child(4) {
    margin-top: min(28px, calc((( 28 / var(--media_sp)) * 100) * var(--sw)));
  }
  .sec_nav a {
    color: #f26e77;
    display: flex;
    column-gap: min(10px, calc((( 10 / var(--media_sp)) * 100) * var(--sw)));
    font-size: min(21px, calc((( 21 / var(--media_sp)) * 100) * var(--sw)));
    font-weight: 700;
    line-height: 1.476;
    letter-spacing: 0.06em;
  }
  .sec_nav a:hover {
    opacity: 1;
    color: #e20348;
  }
  .sec_nav a.is-active {
    cursor: auto;
    color: #e20348;
  }
  .sec_nav .arrow {
    padding-top: min(7px, calc((( 7 / var(--media_sp)) * 100) * var(--sw)));
    display: inline-block;
    font-size: min(21px, calc((( 21 / var(--media_sp)) * 100) * var(--sw)));
    line-height: 1.476;
  }
  .sec_nav .arrow i {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width:
    min(8.5px, calc((( 8.5 / var(--media_sp)) * 100) * var(--sw)))
    0
    min(8.5px, calc((( 8.5 / var(--media_sp)) * 100) * var(--sw)))
    min(12px, calc((( 12 / var(--media_sp)) * 100) * var(--sw)));
    border-color: transparent transparent transparent #f25666;
  }
  .sec_nav a:hover .arrow i {
    border-color: transparent transparent transparent #e20348;
  }
  .sec_nav a.is-active .arrow i {
    border-color: transparent transparent transparent #e20348;
  }
  .lnk_btn {
    margin-top: min(35px, calc((( 35 / var(--media_sp)) * 100) * var(--sw)));
    /* margin-inline: min(21px, calc((( 21 / var(--media_sp)) * 100) * var(--sw))); */
    width: min(265px, calc((( 265 / var(--media_sp)) * 100) * var(--sw)));
    height: min(63px, calc((( 63 / var(--media_sp)) * 100) * var(--sw)));
  }
  .lnk_btn a {
    padding-top: min(10px, calc((( 10 / var(--media_sp)) * 100) * var(--sw)));
    padding-bottom: min(7px, calc((( 7 / var(--media_sp)) * 100) * var(--sw)));
  }
  .lnk_btn_txt {
    font-size: min(23px, calc((( 23 / var(--media_sp)) * 100) * var(--sw)));
    letter-spacing: 0.06em;
  }
  .lnk_btn_txt-small {
    margin-top: min(5px, calc((( 5 / var(--media_sp)) * 100) * var(--sw)));
    font-size: min(13px, calc((( 13   / var(--media_sp)) * 100) * var(--sw)));
  }
  .top_btn {
    display: block;
    width: min(60px, calc((( 60 / var(--media_sp)) * 100) * var(--sw)));
    position: absolute;
    bottom: min(20px, calc((( 20 / var(--media_sp)) * 100) * var(--sw)));
    right: min(20px, calc((( 20 / var(--media_sp)) * 100) * var(--sw)));
  }
}
@media screen and (max-width:750px) {
  header,section {
    width: 100%;
  }
  .nav-inner {
    display: contents;
  }
  nav {
    display: none;
  }
  .side_logo-wrap {
    display: none;
  }
  .lnk_btn {
    position: fixed;
    bottom: calc((( 60 / var(--media_sp)) * 100) * var(--vw));
    left: 0;
    right: 0;
    z-index: 999;
    width: calc((( 630 / var(--media_sp)) * 100) * var(--vw));
    height: calc((( 150 / var(--media_sp)) * 100) * var(--vw));
  }
  .lnk_btn a {
    padding-top: calc((( 24 / var(--media_sp)) * 100) * var(--vw));
    padding-bottom: calc((( 20 / var(--media_sp)) * 100) * var(--vw));
  }
  .lnk_btn_txt {
    font-size: calc((( 55 / var(--media_sp)) * 100) * var(--vw));
  }
  .lnk_btn_txt-small {
    margin-top: calc((( 13 / var(--media_sp)) * 100) * var(--vw));
    font-size: calc((( 31  / var(--media_sp)) * 100) * var(--vw));
    letter-spacing: 0.06em;
  }
  .top_btn {
    display: none;
  }
}
/* background */