/* One Piece 2026 CSS Stylesheet */

@import "reset.css";
@import "base.css";
@import "header.css";

/* override */
section[role="social"] > div > ul:first-of-type li a span {
  font-weight: 400;
}

section[role="social"] > div > ul:nth-of-type(2):before {
  font-weight: 400;
}

ul[role="translate"] li a,
ul[role="translate"] li span {
  font-weight: 400;
}

section[role="bottom"] > div ul li a {
  font-weight: 400;
}

.btn-item {
  border: none;
  padding: 0;
}

.btn-item dl dt {
  padding: 8px;
}

.btn-item dl dt + dd {
  padding: 8px 8px 0;
}

/* animation */
@keyframes scroll-anim {
  100% {
    background-position: calc(100% - 100vw);
  }
}
@keyframes scroll-anim-rev {
  100% {
    background-position: calc(-100% + 100vw);
  }
}

@keyframes scroll-anim-to-bottom-left {
  100% {
    background-position: calc(100% - 100vw) calc(100% + 100vh);
  }
}

@keyframes scroll-anime-to-top-right {
  100% {
    background-position: calc(-100% + 100vw) calc(-100% + 100vh);
  }
}

@keyframes badgeScale {
  0% {
    transform: scale(1.02) rotate(-2deg);
  }

  to {
    transform: scale(0.95) rotate(2deg);
  }
}

@keyframes hyokkoriAnimation {
  0% {
    transform: translateY(100px) scale(0.5);
    opacity: 0;
  }

  50% {
    transform: translateY(-10px) scale(1.1);
    opacity: 1;
  }
  100% {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
}

.mv__luffy {
  opacity: 0;
}

.mv__dust {
  opacity: 0;
}

.mv__hat {
  opacity: 0;
}

.js-mv-anime-item {
  opacity: 0;
  transform: translateY(-50px);
}

.js-obi {
  display: inline-block;
  position: relative;
  z-index: 1;
  padding: 4px 8px;
  line-height: inherit;
  color: #fff;
  background: #000;
}

.js-hyokkori {
  opacity: 0;
  transform: translateY(100px) scale(0.5);
}

.js-hyokkori.visible {
  animation: hyokkoriAnimation 0.8s ease-in-out forwards;
}

.js-hyokkori.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* mv-next */
.mv-next {
  position: fixed;
  z-index: 10;
  cursor: pointer;
  width: 40px;
  right: 0;
  bottom: 94px;
}

.mv-next-fade-out {
  opacity: 0;
  transition: opacity 0.5s ease-out;
}

.mv-next-fade-in {
  opacity: 1;
  transition: opacity 0.5s ease-in;
}

.mv-next-hidden {
  display: none;
}

@media screen and (min-width: 769px) {
  .mv-next {
    right: 40px;
    bottom: 80px;
    width: 139px;
    z-index: 10;
  }
}

/* common */

.rotate-text {
  display: inline-block;
  transform: rotate(15deg);
}

.rotate-text:first-child {
  padding-left: 0.1em;
}

.rotate-text:last-child {
  padding-right: 0.1em;
}

/* content */
.content {
  overflow: clip;
}

.content::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 1;
  display: block;
  opacity: 1;
  background: url("/store/techo/ja/one-piece2026/img/bg_mamga.webp") repeat-x;
  background-size: auto 100vh; /* 縦幅を100vhに設定し、横幅をautoに設定 */
  background-position: 0%;
  animation: scroll-anim 120s linear infinite;
}

/* section */
.sec {
  position: relative;
}

.sec::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  display: block;
}

.sec__inner {
  position: relative;
  z-index: 2;
}

/* mv */
.mv {
  padding-top: 50px;
}

.mv::after {
  background: #db1414;
}

.mv__inner {
  position: relative;
  /* min-height: 100vh; */
  width: 100%;
  aspect-ratio: 390/690;
}

.mv__title {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 3;
  top: calc(30 / 690 * 100%);
  width: calc(324 / 390 * 100%);
  margin-inline: auto;
}

.mv__badge {
  position: absolute;
  top: calc(233 / 690 * 100%);
  right: calc(22 / 390 * 100%);
  z-index: 4;
  width: calc(163 / 390 * 100%);
  aspect-ratio: 1/1;
  background: center / contain no-repeat
    url("/store/techo/ja/one-piece2026/img/mv_badge.svg");
}

.mv__badgeImg {
  display: block;
  animation-name: badgeScale;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-timing-function: steps(6);
}

.mv__img {
  position: absolute;
  right: calc(5 / 390 * 100%);
  bottom: calc(30 / 690 * 100%);
  width: calc(355 / 390 * 100%);
  z-index: 4;
  filter: drop-shadow(4px 6px 18px rgba(0, 0, 0, 0.3));
}

.mv__luffy {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  z-index: 3;
  width: 100%;
  aspect-ratio: 390/464;
  background: left bottom / contain no-repeat
    url("/store/techo/ja/one-piece2026/img/mv_luffy_sp.webp");
}

.mv__cart {
  display: none;
}

.mv__dust {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  width: 200vw;
  height: 200vh;
  background: url("/store/techo/ja/one-piece2026/img/mv_dust.webp") repeat;
  background-size: 510px 240px;
  background-position: 0%;
  /* animation: scroll-anime-to-top-right 20s linear infinite; */
}

.mv__hat {
  z-index: 3;
  display: none;
}

.mv__bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 5;
  height: 53px;
  background: url("/store/techo/ja/one-piece2026/img/one-piece-hobonichi.svg")
    repeat-x;
  background-size: auto 53px;
  background-position: 0%;
  animation: scroll-anim 60s linear infinite;
  transform: translateY(50%);
}

@media (min-width: 769px) {
  .mv__inner {
    position: relative;
    /* min-height: 100vh; */
    width: 100%;
    aspect-ratio: 1280/720;
  }

  .mv__title {
    position: absolute;
    left: auto;
    right: calc(210 / 1280 * 100%);
    top: calc(108 / 720 * 100%);
    width: calc(226 / 1280 * 100%);
    margin-inline: 0;
  }

  .mv__badge {
    right: auto;
    left: calc(225 / 1280 * 100%);
    top: calc(60 / 720 * 100%);
    width: calc(248 / 1280 * 100%);
  }

  .mv__img {
    left: 0;
    right: 0;
    bottom: calc(30 / 720 * 100%);
    width: calc(917 / 1280 * 100%);
    margin-inline: auto;
  }

  .mv__luffy {
    position: relative;
    margin-inline: auto;
    width: auto;
    height: 100%;
    aspect-ratio: 584/752;
    background: left bottom / contain no-repeat
      url("/store/techo/ja/one-piece2026/img/mv_luffy_pc.webp");
  }

  .mv__dust {
    background-size: 1020px 480px;
    /* animation: scroll-anime-to-top-right 20s linear infinite; */
  }

  .mv__bottom {
    height: 94px;
    background-size: auto 94px;
  }

  .mv__hat {
    display: block;
    position: absolute;
    top: calc(20 / 720 * 100%);
    left: calc(70 / 1280 * -100%);
    width: calc(372 / 1280 * 100%);
    aspect-ratio: 372/418;
    background: center / contain no-repeat
      url("/store/techo/ja/one-piece2026/img/straw-hat.webp");
  }
}

/* yodogawa */

.yodogawa {
  position: relative;
  z-index: 2;
  padding-top: 82px;
  background: #fff;
  clip-path: inset(0 0 0 0);
}

.yodogawa::after {
  content: "";
  position: fixed;
  inset: 0;
  display: block;
  opacity: 1;
  background: url("/store/techo/ja/one-piece2026/img/bg_mamga.webp") repeat-x;
  background-size: auto 100vh; /* 縦幅を100vhに設定し、横幅をautoに設定 */
  background-position: 0%;
  animation: scroll-anim-rev 120s linear infinite;
}

.yodogawa__inner {
  position: relative;
  padding-inline: 15px;
  padding-bottom: 80px;
}

.yodogawa__inner .js-obi {
  color: #000;
  background: #eac16c;
}

.yodogawa__inner .js-obi-wide {
  position: relative;
  padding-block: 20px;
  background: transparent;
}

.yodogawa__inner .js-obi-wide::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 16px 0;
  background: #eac16c;
}

.yodogawa__title {
  font-size: var(--fz18);
  text-align: center;
}

.yodogawa__catch {
  margin-top: 28px;
  font-size: var(--fz30);
  line-height: 1.25;
  text-align: center;
}

.yodogawa__catch .js-obi {
  display: inline-block;
}

.yodogawa__text {
  margin-top: 35px;
  font-family: "Gothic MB101 DemiBold";
  line-height: 2.5;
}

.yodogawa__text .js-obi {
  display: inline;
}

.yodogawa__text .ruby {
  padding: 0;
  position: relative;
  background: transparent !important;
}

.yodogawa__text .ruby::before {
  content: attr(data-ruby);
  position: absolute;
  bottom: 100%;
  display: block;
  margin-bottom: 1px;
  width: 100%;
  line-height: 1;
  left: 0;
  text-align: justify;
  text-align-last: justify;
  font-size: 8px;
}

.yodogawa__buttons {
  justify-items: center;
  display: grid;
  gap: 15px;
  margin-top: 25px;
}

.yodogawa__button {
  max-width: 305px;
}

.yodogawaBottom {
  display: grid;
  place-items: center;
  place-content: center;
  min-height: 358px;
  background: center / cover no-repeat
    url("/store/techo/ja/one-piece2026/img/yodogawa_bg_sp.webp");
}

.yodogawaBottom__text01 {
  display: grid;
  justify-items: center;
  text-align: center;
  font-size: var(--fz24);
  line-height: 1.58;
}

.yodogawaBottom__text01 .js-obi {
  display: inline-block;
  padding-inline: 6px;
}

.yodogawaBottom__text01 .js-obi:last-child {
  padding-bottom: 10px;
}

.yodogawaBottom__text02 {
  font-size: var(--fz54);
}

.yodogawaBottom__text02 .js-obi {
  padding-block: 10px;
  padding-inline: 6px 10px;
}

@media (min-width: 769px) {
  .yodogawa {
    padding-top: 124px;
  }

  .yodogawa__catch {
    margin-top: 50px;
    font-size: var(--fz44);
    line-height: 1.45;
    text-align: center;
  }

  .yodogawa__text {
    margin-top: 62px;
    text-align: center;
  }

  .yodogawa__buttons {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 55px;
  }

  .yodogawa__button {
    flex: 1;
  }

  .yodogawaBottom {
    min-height: 544px;
    background: center / cover no-repeat
      url("/store/techo/ja/one-piece2026/img/yodogawa_bg_pc.webp");
  }

  .yodogawaBottom__text01 {
    display: flex;
    justify-items: center;
    text-align: center;
    font-size: var(--fz32);
    line-height: 1.5;
  }

  .yodogawaBottom__text01 .js-obi {
    display: inline-block;
  }

  .yodogawaBottom__text01 .js-obi:last-child {
    padding-bottom: 0;
  }

  .yodogawaBottom__text02 {
    font-size: var(--fz60);
  }
}

/* sec1 */
.sec1 {
  padding-bottom: 144px;
}

.sec1::after {
  background: #cf1b1b;
}

.sec__title {
  position: relative;
  z-index: 2;
  width: 144px;
  margin-inline: auto;
  margin-top: -55px;
}

.sec1__inner {
  padding-top: 24px;
}

.sec1__text {
  font-family: "Gothic MB101 DemiBold";
  text-align: center;
  color: #fff;
  line-height: 1.8;
}

.sec1__text02 {
  text-align: center;
  margin-block: 24px;
  font-size: var(--fz32);
  line-height: 1.4;
}

.sec1__text02 .small {
  padding-inline: 0.25em;
  font-size: var(--fz22);
}

.sec1__text02 .js-obi {
  display: inline-block;
  line-height: 1.4;
}

.sec1Item01__img {
  width: calc(360 / 390 * 100%);
  margin-inline: auto;
}

.sec1Item01__name {
  width: calc(350 / 390 * 100%);
  margin-top: 10px;
  margin-inline: auto;
}

.sec1Item01Techo {
  position: relative;
  margin-top: 164px;
  max-width: 390px;
  margin-inline: auto;
}

.sec1Item01Techo__inner {
  position: relative;
}

.sec1Item01TechoFukidashi01__don {
  position: absolute;
  bottom: calc(100% + 88px);
  z-index: 3;
  left: 30px;
  width: 98px;
}

.sec1Item01TechoFukidashi01__text {
  position: absolute;
  bottom: calc(100% - 23px);
  left: -15px;
  z-index: 2;
  width: calc(409 / 390 * 100%);
}

.sec1Item01TechoFukidashi01__line {
  position: absolute;
  left: calc(75 / 390 * 100%);
  bottom: calc(41 / 256 * 100%);
  z-index: 1;
  width: calc(111 / 390 * 100%);
  filter: drop-shadow(4px 6px 18px rgba(0, 0, 0, 0.3));
  clip-path: inset(0 0 100% 0);
}

.sec1Item01TechoFukidashi02__don {
  position: absolute;
  top: calc(100% - 8px);
  z-index: 3;
  right: -2px;
  width: 133px;
}

.sec1Item01TechoFukidashi02__text {
  position: absolute;
  top: calc(100% - 13px);
  left: 0;
  right: 0;
  z-index: 2;
  width: calc(365 / 390 * 100%);
  margin-inline: auto;
}

.sec1Item01TechoFukidashi02__line {
  position: absolute;
  left: calc(198 / 390 * 100%);
  top: calc(217 / 256 * 100%);
  z-index: 1;
  width: calc(56 / 390 * 100%);
  filter: drop-shadow(4px 6px 18px rgba(0, 0, 0, 0.3));
  clip-path: inset(100% 0 0 0);
}

.sec1Item01Techo__img {
  width: calc(360 / 390 * 100%);
  margin-inline: auto;
}

.sec1__more {
  margin-top: 272px;
  text-align: center;
  font-size: var(--fz30);
}

.sec1Item02 {
  margin-top: 64px;
}

.sec1Item__body {
  padding-inline: 18px;
}

.sec1Item__label {
  font-size: var(--fz30);
  line-height: 1.25;
}

.sec1Item__text {
  margin-top: 24px;
  font-family: "Gothic MB101 DemiBold";
  line-height: 1.8;
  color: #fff;
}

.sec1Item02Techo {
  position: relative;
  margin-top: 40px;
}

.sec1Item02TechoFukidashi01__don {
  position: absolute;
  top: calc(154 / 460 * 100%);
  right: calc(10 / 390 * 100%);
  z-index: 3;
  width: calc(106 / 390 * 100%);
}

.sec1Item02TechoFukidashi01__text {
  position: absolute;
  top: calc(190 / 460 * 100%);
  left: calc(40 / 390 * 100%);
  z-index: 2;
  width: calc(309 / 390 * 100%);
  filter: drop-shadow(4px 5px 15px rgba(0, 0, 0, 0.3));
}

.sec1Item02TechoFukidashi01__line {
  position: absolute;
  bottom: calc(92 / 460 * 100%);
  left: calc(120 / 390 * 100%);
  width: calc(86 / 390 * 100%);
  filter: drop-shadow(4px 6px 18px rgba(0, 0, 0, 0.3));
  clip-path: inset(0 0 100% 0);
}

.sec1Item03 {
  margin-top: 64px;
}

.sec1Item03Techo {
  position: relative;
}

.sec1Item03TechoFukidashi01__don {
  position: absolute;
  top: calc(38 / 390 * -100%);
  right: calc(15 / 390 * 100%);
  z-index: 3;
  width: calc(163 / 390 * 100%);
}

.sec1Item03Techo__img {
  margin-top: 40px;
}

.sec1Bottom {
  margin-top: 64px;
}

.sec1Bottom__container {
  padding-inline: 12px;
}

.sec1Swiper {
  margin-top: 40px;
}

.sec1Swiper .swiper-slide {
  width: 346px;
}

.sec1SwiperCard {
  position: relative;
  padding-top: 63px;
}

.sec1SwiperCard__img {
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  overflow: hidden;
}

.sec1SwiperCard__bottom {
  position: relative;
  display: flex;
  align-items: center;
  padding-inline: 25px;
  min-height: 94px;
  font-family: "Gothic MB101 DemiBold";
  font-size: var(--fz18);
  line-height: 1.5;
  background: linear-gradient(to bottom right, #ffd66c, #f09121);
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  overflow: hidden;
}

.sec1SwiperCard__bottom::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  display: block;
  width: 80px;
  height: 80px;
  background: #000;
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}

.sec1SwiperCard__bottom::after {
  content: "";
  position: absolute;
  right: 10px;
  bottom: 12px;
  z-index: 2;
  display: block;
  width: 24px;
  height: 24px;
  background: center / contain no-repeat
    url("/store/techo/ja/one-piece2026/img/icon_plus.svg");
}

.sec1SwiperCard__fukidashi {
  position: absolute;
  top: 0;
  left: 7px;
  right: 7px;
}

.sec1Modal__container {
  max-width: 440px;
  margin-inline: auto;
}

.modalSwiperCard {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
}

.sec1ModalCard__bottom {
  position: relative;
  display: grid;
  gap: 10px;
  place-items: center;
  place-content: center;
  text-align: center;
  padding-block: 25px 25px;
  min-height: 100px;
  font-family: "Gothic MB101 DemiBold";
  background: linear-gradient(to bottom right, #ffd66c, #f09121);
}

.sec1ModalCard__text01 {
  font-size: var(--fz14);
}

.sec1ModalCard__text02 {
  font-size: var(--fz12);
  line-height: 1.6;
}

.sec1ModalCard__fukidashi {
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
  transform: translateY(-100%);
  margin-inline: auto;
  width: calc(100% - 76px);
}

@media (min-width: 769px) {
  .sec1 {
    padding-bottom: 144px;
  }

  .sec1__inner {
    padding-top: 18px;
  }

  .sec1__text02 {
    text-align: center;
    margin-block: 18px 40px;
    font-size: var(--fz48);
    line-height: 1.25;
  }

  .sec1__text02 .small {
    padding-inline: 0em;
    font-size: var(--fz34);
  }

  .sec1__text02 .js-obi {
    line-height: 1.25;
  }

  .sec1Item01 {
    position: relative;
    max-width: 906px;
    margin-inline: auto;
  }

  .sec1Item01__img {
    position: absolute;
    top: 0;
    right: -9px;
    z-index: 2;
    width: calc(212 / 906 * 100%);
  }

  .sec1Item01__name {
    width: calc(501 / 906 * 100%);
    margin-top: 60px;
  }

  .sec1Item01Techo {
    margin-top: 40px;
    width: 100%;
    max-width: unset;
  }

  .sec1Item01Techo__inner {
    position: relative;
  }

  .sec1Item01TechoFukidashi01__don {
    left: -2px;
    top: calc(65 / 656 * 100%);
    bottom: auto;
    width: calc(154 / 906 * 100%);
  }

  .sec1Item01TechoFukidashi01__text {
    top: calc(82 / 656 * 100%);
    left: calc(79 / 906 * -100%);
    bottom: unset;
    width: calc(695 / 906 * 100%);
  }

  .sec1Item01TechoFukidashi01__line {
    bottom: calc(138 / 656 * 100%);
    left: calc(153 / 906 * 100%);
    width: calc(60 / 906 * 100%);
  }

  .sec1Item01TechoFukidashi02__don {
    top: calc(116 / 656 * 100%);
    right: calc(32 / 906 * -100%);
    width: calc(160 / 906 * 100%);
  }

  .sec1Item01TechoFukidashi02__text {
    top: calc(148 / 656 * 100%);
    right: calc(44 / 906 * -100%);
    width: calc(472 / 906 * 100%);
    left: auto;
    margin: 0;
  }

  .sec1Item01TechoFukidashi02__line {
    top: auto;
    left: auto;
    bottom: calc(122 / 656 * 100%);
    right: calc(225 / 906 * 100%);
    width: calc(50 / 906 * 100%);
    margin: 0;
    clip-path: inset(0 0 100% 0);
  }

  .sec1Item01Techo__img {
    width: 100%;
  }

  .sec1__more {
    margin-top: 70px;
  }

  .sec1Item02 {
    margin-top: 45px;
  }

  .sec1Item02__inner {
    display: grid;
    align-items: center;
    grid-template-columns: 56% 1fr;
  }

  .sec1Item__body {
    display: grid;
    align-items: center;
    order: 2;
  }

  .sec1Item__text {
    margin-top: 24px;
    line-height: 1.8;
    color: #fff;
  }

  .sec1Item02Techo {
    position: relative;
    margin-top: 0;
  }

  .sec1Item02__body {
    padding-left: min(calc(97 / 560 * 100%), 97px);
  }

  .sec1Item02TechoFukidashi01__don {
    top: calc(182 / 720 * 100%);
    right: calc(46 / 720 * -100%);
    width: calc(206 / 720 * 100%);
  }

  .sec1Item02TechoFukidashi01__text {
    top: calc(297 / 720 * 100%);
    right: calc(10 / 720 * 100%);
    width: calc(484 / 720 * 100%);
    left: auto;
  }

  .sec1Item02TechoFukidashi01__line {
    bottom: calc(160 / 720 * 100%);
    right: calc(249 / 720 * 100%);
    width: calc(131 / 720 * 100%);
    left: auto;
  }

  .sec1Item03 {
    margin-top: 50px;
  }

  .sec1Item03__inner {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 56%;
  }

  .sec1Item03__body {
    display: grid;
    justify-content: end;
    order: -1;
    padding-right: min(calc(68 / 560 * 100%), 68px);
  }

  .sec1Item03Techo {
    position: relative;
  }

  .sec1Item03TechoFukidashi01__don {
    top: calc(68 / 720 * -100%);
    right: calc(253 / 720 * 100%);
    width: calc(206 / 720 * 100%);
    bottom: auto;
  }

  .sec1Item03Techo__img {
    margin-top: 40px;
  }

  .sec1Bottom {
    margin-top: 64px;
  }

  .sec1Bottom__container {
    display: flex;
    align-items: flex-end;
    gap: 156px;
    width: var(--pc-width);
    max-width: 925px;
    margin-inline: auto;
    padding-inline: 0;
  }

  .sec1Bottom__don {
    width: 258px;
  }

  .sec1Swiper {
    margin-top: 40px;
  }

  .sec1Swiper .swiper-slide {
    width: 392px;
  }

  .sec1SwiperCard {
    padding-top: 88px;
  }

  .sec1SwiperCard__bottom {
    padding-inline: 30px;
    min-height: 96px;
    font-size: var(--fz20);
  }

  .sec1ModalCard__bottom {
    min-height: 137px;
  }

  .sec1ModalCard__text01 {
    font-size: var(--fz18);
  }

  .sec1ModalCard__text02 {
    font-size: var(--fz14);
  }

  .sec1ModalCard__fukidashi {
    position: absolute;
    top: 20px;
    left: 0;
    right: 0;
    transform: translateY(-100%);
    margin-inline: auto;
    width: calc(100% - 76px);
  }
}

/* modal */

.modal::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: #a54e34;
  mix-blend-mode: multiply;
  backdrop-filter: blur(8px);
  opacity: 0;
  visibility: hidden;
  transition-property: opacity, visibility;
  transition-duration: 0.6s;
  transition-timing-function: ease-out;
}

.sec5Modal::after {
  background: rgba(000, 000, 000, 0.5);
  mix-blend-mode: unset;
  backdrop-filter: blur(7px);
}

.modal.is-open::after {
  opacity: 1;
  visibility: visible;
}

.modal__overlay {
  position: fixed;
  inset: 0;
  z-index: 100001;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 30px;
  height: 100%;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  transition-property: opacity, visibility;
  transition-duration: 0.6s;
  transition-timing-function: ease-out;
}

.sec5Modal .modal__overlay {
  padding-inline: 28px;
}

.modal.is-open .modal__overlay {
  opacity: 1;
  visibility: visible;
}

.modal__container {
  position: relative;
  min-width: 0;
}

.modal__close {
  position: absolute;
  top: -40px;
  right: 0;
  display: block;
  width: 26px;
  aspect-ratio: 1/1;
  background: center / contain no-repeat
    url("/store/techo/ja/one-piece2026/img/close_button.svg");
}

.modalSwiper__button {
  position: absolute;
  z-index: 2;
  top: 50%;
  display: block;
  width: 40px;
  aspect-ratio: 1/1;
  filter: drop-shadow(2px 2px 20px rgba(0, 0, 0, 0.2));
}

.modalSwiper__button--prev {
  left: 0;
  transform: translate(-50%, -50%);
  background: center / contain no-repeat
    url("/store/techo/ja/one-piece2026/img/slide_prev_button.svg");
}

.modalSwiper__button--next {
  right: 0;
  transform: translate(50%, -50%);
  background: center / contain no-repeat
    url("/store/techo/ja/one-piece2026/img/slide_next_button.svg");
}

@media (min-width: 769px) {
  .modal__overlay {
    padding: 40px 60px;
  }

  .modal__close {
    position: absolute;
    top: 10px;
    right: -46px;
  }

  .modalSwiper__button {
    width: 64px;
  }
}

/* sec2 */
.sec2 {
  padding-top: 1px;
  padding-bottom: 144px;
}

.sec2::after {
  background: #ff8036;
}

.sec2__text {
  display: grid;
  justify-content: center;
  font-size: var(--fz20);
  line-height: 1.4;
}

.sec2__lead {
  margin-top: 14px;
  font-size: var(--fz32);
  line-height: 1.5;
  text-align: center;
}

.sec2__lead .js-obi {
  display: inline-block;
  line-height: 1.5;
}

.sec2Intro {
  display: grid;
  width: calc(100% - 38px);
  margin-top: 40px;
  margin-inline: auto;
}

.sec2Intro__text01 {
  margin-top: 16px;
  text-align: center;
  font-size: var(--fz28);
  line-height: 1.4;
}

.sec2Intro__text02 {
  margin-top: 10px;
  font-size: var(--fz32);
  text-align: center;
}

.sec2Intro__text02 .js-obi {
  display: inline-block;
  padding-block: 20px;
}

.sec2Intro__text03 {
  margin-top: 24px;
  font-family: "Gothic MB101 DemiBold";
  line-height: 1.8;
}

.sec2Intro__img {
  order: -1;
  max-width: 269px;
  margin-inline: auto;
}

.sec2Intro__bottom {
  margin-top: 40px;
}

.sec2Block {
  position: relative;
  z-index: 3;
  margin-top: 64px;
}

.sec2BlockItem__text01 {
  font-size: var(--fz18);
  text-align: center;
  line-height: 1.45;
}

.sec2BlockItem__text02 {
  margin-top: 16px;
  font-family: "Gothic MB101 DemiBold";
  font-size: var(--fz12);
  line-height: 1.5;
  text-align: center;
}

.sec2BlockItem__button {
  margin-top: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: fit-content;
  min-width: 176px;
  margin-inline: auto;
  margin-top: 24px;
  padding: 12px 20px;
  font-size: var(--fz12);
  color: #fff;
  background: #ff7e1a;
  border-radius: 100vmax;
}

.sec2BlockItem__button.is-coming-soon {
  display: none;
}

.sec2BlockItem__button::after {
  content: "";
  display: block;
  width: 11px;
  height: 11px;
  background: center / contain no-repeat
    url("/store/techo/ja/one-piece2026/img/arrow_forward.svg");
}

.sec2BlockSwiper {
  --swiper-pagination-bullet-horizontal-gap: 10px;
  --swiper-pagination-bullet-size: 10px;
  --swiper-pagination-bottom: 15px;
  --swiper-theme-color: #ff8036;
  --swiper-pagination-bullet-inactive-color: #b3b3b3;
  --swiper-pagination-bullet-inactive-opacity: 1;

  margin-top: 40px;
  width: calc(100% - 74px);
  overflow: visible;
}

.sec2BlockSwiper__img {
  border-radius: 20px;
}

.sec2Block__bg {
  position: absolute;
  inset: 126px 0;
  z-index: -1;
  display: block;
  background: #fff;
  box-shadow: 2px 2px 20px rgba(0, 0, 0, 0.1);
}

.sec2HON {
  margin-top: 80px;
}

.sec2HON__container {
  display: grid;
  gap: 40px;
  width: calc(100% - 36px);
  margin-inline: auto;
}

.sec2HON__body {
  text-align: center;
}

.sec2HON__text01 {
  font-size: var(--fz28);
}

.sec2HON__text02 {
  margin-top: 15px;
  font-size: var(--fz32);
}

.sec2HON__text02 .js-obi {
  padding-block: 15px;
}

.sec2HON__text03 {
  margin-top: 24px;
  font-family: "Gothic MB101 DemiBold";
  line-height: 1.8;
}

@media (min-width: 769px) {
  .sec2 {
    padding-top: 1px;
    padding-bottom: 180px;
  }

  .sec2__text {
    font-size: var(--fz20);
  }

  .sec2__lead {
    margin-top: 25px;
    font-size: var(--fz48);
    line-height: 1.3;
  }

  .sec2Intro {
    display: grid;
    justify-content: space-between;
    width: var(--pc-width);
    max-width: 984px;
    margin-top: 50px;
  }

  .sec2Intro__text01 {
    margin-top: 35px;
    text-align: left;
    font-size: var(--fz28);
  }

  .sec2Intro__text02 {
    margin-top: 6px;
    font-size: var(--fz32);
    text-align: left;
  }

  .sec2Intro__text03 {
    margin-top: 20px;
  }

  .sec2Intro__img {
    order: unset;
    margin-left: auto;
    margin-right: 63px;
    max-width: 244px;
  }

  .sec2Intro__bottom {
    grid-column: 1/3;
    margin-top: 0;
  }

  .sec2Block {
    display: grid;
    align-items: end;
    grid-template-areas: "text image";
    grid-template-columns: auto minmax(0, 1fr);
    gap: 52px;
    margin-top: 80px;
    padding-bottom: 55px;
    width: var(--pc-width);
    margin-left: auto;
    max-width: 1135px;
  }

  .sec2Block--left {
    grid-template-areas: "image text";
    grid-template-columns: minmax(0, 1fr) auto;
    margin-right: auto;
    margin-left: 0;
  }

  .sec2Block:last-child {
    margin-top: 60px;
  }

  .sec2BlockItem {
    grid-area: text;
    margin-left: 64px;
    min-height: 570px;
  }

  .sec2Block--left .sec2BlockItem {
    margin-left: 0;
    margin-right: 64px;
  }

  .sec2BlockItem__img {
    max-width: 312px;
  }

  .sec2BlockItem__text01 {
    margin-top: 35px;
    text-align: left;
    line-height: 1.45;
  }

  .sec2BlockItem__text02 {
    text-align: left;
  }

  .sec2BlockItem__button {
    margin-right: 0;
    margin-left: 0;
  }

  .sec2BlockSwiper {
    --swiper-pagination-bullet-horizontal-gap: 12px;
    --swiper-pagination-bottom: 22px;

    grid-area: image;
    margin: 0;
    min-width: 0;
    width: calc(100% - 100px);
    overflow: visible;
  }

  .sec2Block--left .sec2BlockSwiper {
    margin-left: auto;
  }

  .sec2BlockSwiper__img {
    border-radius: 20px;
  }

  .sec2Block__bg {
    position: absolute;
    top: auto;
    bottom: 0;
    left: 0;
    z-index: -1;
    width: 100vw;
    height: calc(100% - 174px);
    border-radius: 20px;
    display: block;
  }

  .sec2Block--left .sec2Block__bg {
    right: 0;
    left: auto;
  }

  .sec2HON {
    margin-top: 120px;
  }

  .sec2HON__container {
    gap: 45px;
    grid-template-columns: auto minmax(0, 1fr);
    width: var(--pc-width);
    max-width: 985px;
  }

  .sec2HON__body {
    text-align: left;
  }

  .sec2HON__text02 {
    margin-top: 6px;
  }

  .sec2HON__text03 {
    margin-top: 20px;
  }
}

/* sec3 */

.sec3 {
  padding-top: 1px;
  padding-bottom: 175px;
}

.sec3::after {
  background: #ffe24e;
}

.sec3Intro__text01 {
  margin-top: 19px;
  text-align: center;
  font-size: var(--fz20);
}

.sec3Intro__text02 {
  margin-top: 14px;
  text-align: center;
  font-size: var(--fz32);
}

.sec3Intro__text02 .js-obi {
  padding-block: 10px;
}

.sec3__content {
  margin-top: 40px;
}

.sec3Block:nth-child(2) {
  margin-top: 116px;
}

.sec3Block:nth-child(3) {
  margin-top: 98px;
}

.sec3Block__body {
  display: grid;
  padding-inline: 16px;
}

.sec3Block__img {
  display: block;
  margin-inline: auto;
}

.sec3Block__img--chopper {
  max-width: 267px;
  margin-inline: auto;
  margin-bottom: 24px;
}

.sec3Block__lead {
  font-size: var(--fz30);
  line-height: 1.25;
}

.sec3Block__text {
  margin-top: 24px;
  line-height: 1.8;
}

.sec3BlockSwiper {
  --swiper-pagination-bottom: -60px;
  --swiper-pagination-bullet-horizontal-gap: 12px;
  --swiper-pagination-bullet-size: 10px;
  --swiper-pagination-bullet-inactive-color: #ffffff;
  --swiper-pagination-bullet-inactive-opacity: 0.5;
  --swiper-theme-color: #ffffff;

  margin-top: 40px;
  max-width: 270px;
  overflow: visible;
}

.sec3BlockSwiperCard {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 3px 5px 16px rgba(0, 0, 0, 0.3);
}

.sec3BlockSwiperCard::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 60px;
  aspect-ratio: 1/1;
  background: #000;
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}

.sec3BlockSwiperCard::after {
  content: "";
  position: absolute;
  bottom: 8px;
  right: 8px;
  width: 18px;
  aspect-ratio: 1/1;
  background: center / contain no-repeat
    url("/store/techo/ja/one-piece2026/img/icon_plus.svg");
}

.sec3BlockSwiper__button {
  position: absolute;
  top: 50%;
  width: 44px;
  z-index: 2;
  aspect-ratio: 1/1;
  display: block;
  transform: translateY(-50%);
  filter: drop-shadow(2px 2px 20px rgba(0, 0, 0, 0.1));
}

.sec3BlockSwiper__button.swiper-button-disabled {
  opacity: 0.5;
  /* pointer-events: none; */
  cursor: default;
}

.sec3BlockSwiper__button--prev {
  left: -36px;
  background: center / contain no-repeat
    url("/store/techo/ja/one-piece2026/img/slide_prev_button.svg");
}

.sec3BlockSwiper__button--next {
  right: -36px;
  background: center / contain no-repeat
    url("/store/techo/ja/one-piece2026/img/slide_next_button.svg");
}

.sec3Block__img--ice {
  width: calc(100% - 40px);
  max-width: 348px;
}

.sec3Block__img--pekoms {
  width: calc(100% - 100px);
  max-width: 290px;
  margin-bottom: -30px;
}

.sec3LinearSwiper {
  margin-top: 40px;
}

.sec3LinearSwiper .swiper-slide {
  width: 280px;
}

.sec3LinearSwiperCard {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
}

.sec3LinearSwiperCard::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 68px;
  aspect-ratio: 1/1;
  background: #000;
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}

.sec3LinearSwiperCard::after {
  content: "";
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 20px;
  aspect-ratio: 1/1;
  background: center / contain no-repeat
    url("/store/techo/ja/one-piece2026/img/icon_plus.svg");
}

.sec3Modal__container {
  max-width: 383px;
  margin-inline: auto;
}

@media (min-width: 769px) {
  .sec3 {
    padding-top: 1px;
    padding-bottom: 175px;
  }

  .sec3Intro {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    width: var(--pc-width);
    max-width: 925px;
    margin-inline: auto;
    margin-top: -90px;
  }

  .sec3Intro__inner {
    flex-shrink: 0;
  }

  .sec3Intro .sec__title {
    margin-top: 23px;
    margin-left: 0;
  }

  .sec3Intro__text01 {
    margin-top: 17px;
    text-align: left;
  }

  .sec3Intro__text02 {
    margin-top: 16px;
    text-align: left;
    font-size: var(--fz48);
  }

  .sec3Intro__img {
    max-width: 404px;
  }

  .sec3__content {
    margin-top: 50px;
  }

  .sec3Block:nth-child(2) {
    margin-top: 116px;
  }

  .sec3Block:nth-child(3) {
    margin-top: 98px;
  }

  .sec3Block__container {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: min(97.25%, calc((100% - 925px) / 2 + 925px));
    /* max-width: 1135px; */
    gap: 60px;
    margin-left: auto;
  }

  .sec3Block__body {
    flex-shrink: 0;
    position: relative;
    z-index: 2;
    display: grid;
    justify-content: center;
    padding: 0;
  }

  .sec3Block__img {
    order: 3;
    display: block;
    margin-inline: auto;
  }

  .sec3Block__img--chopper {
    max-width: 213px;
    margin-top: 32px;
    margin-bottom: 0;
    margin-left: 38px;
  }

  .sec3Block__lead {
    font-size: var(--fz30);
    line-height: 1.25;
  }

  .sec3Block__text {
    margin-top: 24px;
    line-height: 1.8;
  }

  .sec3Block__sliderArea {
    overflow: hidden;
    flex: 1;
    /* max-width: 730px; */
  }

  .sec3BlockSwiper {
    --swiper-pagination-bottom: -56px;

    margin-top: 0;
    max-width: 304px;
    overflow: visible;
    margin: 0;
    margin-left: 40px;
    margin-bottom: 56px;
  }

  .sec3BlockSwiperCard {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 3px 5px 16px rgba(0, 0, 0, 0.3);
  }

  .sec3BlockSwiperCard::before {
    width: 68px;
  }

  .sec3BlockSwiperCard::after {
    bottom: 10px;
    right: 10px;
    width: 21px;
    aspect-ratio: 1/1;
  }

  .sec3BlockSwiper__button {
    position: absolute;
    top: 50%;
    width: 64px;
    z-index: 2;
    aspect-ratio: 1/1;
    display: block;
    transform: translateY(-50%);
    filter: drop-shadow(2px 2px 20px rgba(0, 0, 0, 0.1));
  }

  .sec3BlockSwiper__button.swiper-button-disabled {
    opacity: 0.5;
    /* pointer-events: none; */
    cursor: default;
  }

  .sec3BlockSwiper__button--prev {
    left: -40px;
  }

  .sec3BlockSwiper__button--next {
    right: -40px;
  }

  .sec3Block--left .sec3Block__container {
    gap: 68px;
    margin-left: 0;
    margin-right: auto;
    flex-direction: row-reverse;
  }

  .sec3Block--left .sec3BlockSwiper {
    margin-left: auto;
    margin-right: 40px;
  }

  .sec3Block__img--ice {
    margin-top: 14px;
    margin-left: 22px;
    max-width: 304px;
  }

  .sec3Block--center {
    display: block;
  }

  .sec3Block--center .sec3Block__container {
    justify-content: space-between;
    align-items: center;
    margin-inline: auto;
    max-width: 925px;
  }

  .sec3Block__img--pekoms {
    max-width: 230px;
    margin-left: auto;
    margin: 0;
  }

  .sec3LinearSwiper {
    margin-top: 0;
  }

  .sec3LinearSwiperCard {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
  }

  .sec3LinearSwiperCard::before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 68px;
    aspect-ratio: 1/1;
    background: #000;
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  }

  .sec3LinearSwiperCard::after {
    content: "";
    position: absolute;
    bottom: 10px;
    right: 10px;
    width: 20px;
    aspect-ratio: 1/1;
    background: center / contain no-repeat
      url("/store/techo/ja/one-piece2026/img/icon_plus.svg");
  }

  .sec3Modal__container {
    max-width: 383px;
    margin-inline: auto;
  }
}

/* sec4 */

.sec4 {
  padding-top: 1px;
}

.sec4::after {
  background: #f3738d;
}

.sec4__text {
  margin-top: 18px;
  text-align: center;
  font-size: var(--fz20);
}

.sec4__lead {
  margin-top: 14px;
  text-align: center;
  font-size: var(--fz32);
  line-height: 1.45;
}

.sec4__mv {
  margin-top: 40px;
}

.sec4__content {
  margin-top: 40px;
}

.sec4Block {
  padding-bottom: 125px;
}

.sec4Block__text {
  font-family: "Gothic MB101 DemiBold";
  font-size: var(--fz18);
  padding-inline: 20px;
}

.sec4Block__label {
  margin-top: 12px;
  font-size: var(--fz24);
  padding-inline: 20px;
}

.sec4BlockSwiper {
  --swiper-pagination-bullet-horizontal-gap: 10px;
  --swiper-pagination-bullet-size: 10px;
  --swiper-pagination-bottom: -70px;
  --swiper-theme-color: #ffffff;
  --swiper-pagination-bullet-inactive-color: #cfcfcf;
  --swiper-pagination-bullet-inactive-opacity: 1;

  margin-top: 44px;
  overflow: visible;
  max-width: 280px;
  margin-inline: auto;
}

.sec4BlockSwiper .swiper-slide {
  height: auto;
}

.sec4BlockSwiper .swiper-pagination {
  left: 50%;
  width: 98vw;
  transform: translateX(-50%);
}

.sec4BlockSwiperCard {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 20px;
  border-radius: 20px;
  background: #fff;
  height: 100%;
}

.sec4BlockSwiperCard.is-coming-soon {
  pointer-events: none;
}

.sec4BlockSwiperCard__img {
  border-radius: 10px;
}
.sec4BlockSwiperCard__new {
  position: absolute;
  top: -20px;
  left: -20px;
  width: 84px;
}

.sec4BlockSwiperCard__body {
  display: flex;
  justify-content: space-between;
  margin-top: 14px;
  margin-bottom: 18px;
}

.sec4BlockSwiperCard__name {
  font-size: var(--fz18);
  line-height: 1.4;
}

.sec4BlockSwiperCard__icon {
  width: 46px;
}

.sec4BlockSwiperCard__bottom {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-top: auto;
  font-family: "Gothic MB101 Medium";
  font-size: var(--fz12);
  color: #ff8743;
}

.sec4BlockSwiperCard__bottom::after {
  content: "";
  display: block;
  width: 6px;
  height: 10px;
  background: center / contain no-repeat
    url("/store/techo/ja/one-piece2026/img/chevron_right.svg");
}

.sec4BlockSwiperCard.is-coming-soon .sec4BlockSwiperCard__bottom {
  display: none;
}

.sec4BlockSwiper__button {
  position: absolute;
  top: 50%;
  width: 44px;
  aspect-ratio: 1/1;
  z-index: 2;
  cursor: pointer;
  transform: translateY(-50%);
  filter: drop-shadow(2px 2px 20px rgba(0, 0, 0, 0.1));
}

.sec4BlockSwiper__button.swiper-button-disabled {
  opacity: 0.5;
  /* pointer-events: none; */
  cursor: default;
}

.sec4BlockSwiper__button--next {
  right: -36px;
  background: center / contain no-repeat
    url("/store/techo/ja/one-piece2026/img/slide_next_button.svg");
}

.sec4BlockSwiper__button--prev {
  left: -36px;
  background: center / contain no-repeat
    url("/store/techo/ja/one-piece2026/img/slide_prev_button.svg");
}

.sec4Movie__title {
  text-align: center;
  font-size: var(--fz24);
}

.sec4Movie__title .js-obi {
  padding-block: 5px;
}

.sec4Movie__frame {
  margin-top: 24px;
  width: calc(100% - 40px);
  margin-inline: auto;
}

.sec4BottomSwiper {
  margin-top: 80px;
}

.sec4BottomSwiper .swiper-slide {
  width: 220px;
}

@media (min-width: 769px) {
  .sec4__text {
    margin-top: 15px;
  }

  .sec4__lead {
    margin-top: 16px;
    font-size: var(--fz48);
    line-height: 1.435;
  }

  .sec4__mv {
    margin-top: 80px;
  }

  .sec4__content {
    margin-top: 70px;
  }

  .sec4Block {
    padding-bottom: 60px;
  }

  .sec4Block:not(:first-child) {
    margin-top: 80px;
  }

  .sec4Block__container {
    width: var(--pc-width);
    max-width: 985px;
    margin-inline: auto;
  }

  .sec4BlockSwiper {
    --swiper-pagination-bullet-horizontal-gap: 12px;
    --swiper-pagination-bottom: -60px;

    margin-top: 44px;
    overflow: visible;
    max-width: 888px;
    margin-inline: auto;
  }

  .sec4BlockSwiper-narrow {
    max-width: 584px;
  }

  .sec4BlockSwiper__button {
    width: 64px;
  }

  .sec4BlockSwiper__button--next {
    right: -46px;
  }

  .sec4BlockSwiper__button--prev {
    left: -46px;
  }

  .sec4Movie {
    margin-top: 80px;
  }

  .sec4Movie__frame {
    margin-top: 44px;
    max-width: 800px;
    width: var(--pc-width);
  }

  .sec4BottomSwiper {
    margin-top: 116px;
  }

  .sec4BottomSwiper .swiper-slide {
    width: 290px;
  }
}

/* sec5 */

.sec5 {
  padding-top: 1px;
  padding-bottom: 80px;
}

.sec5::after {
  background: #b8f0d8;
}

.sec5__text {
  margin-top: 19px;
  text-align: center;
  font-size: var(--fz20);
  line-height: 1.4;
}

.sec5__lead {
  margin-top: 14px;
  font-size: var(--fz32);
  line-height: 1.5;
  text-align: center;
}

.sec5Swiper {
  --swiper-pagination-bullet-horizontal-gap: 10px;
  --swiper-pagination-bullet-size: 10px;
  --swiper-pagination-bottom: -30px;
  --swiper-theme-color: #ffffff;
  --swiper-pagination-bullet-inactive-color: #ffffff;
  --swiper-pagination-bullet-inactive-opacity: 0.5;

  margin-top: 70px;
  margin-inline: auto;
  /* max-width: 280px; */
  overflow: visible;
}

.sec5Swiper .swiper-slide {
  height: auto;
}

.sec5SwiperCard {
  display: flex;
  flex-direction: column;
  background: #a9e3ca;
  padding: 45px 30px 40px;
  border-radius: 20px;
  height: 100%;
  transition: background-color 0.4s ease-out;
}

.swiper-slide-active .sec5SwiperCard {
  background: #cdffea;
}

.sec5SwiperCard__lead {
  font-size: var(--fz20);
  text-align: center;
  line-height: 1.4;
}

.sec5SwiperCard__container {
  margin-top: 16px;
  line-height: 1.8;
}

.sec5SwiperCard__text {
  font-family: "Gothic MB101 DemiBold";
  margin-bottom: 20px;
}

.sec5SwiperCard__img--shadow {
  filter: drop-shadow(4px 6px 18px rgba(0, 0, 0, 0.3));
}

.sec5SwiperCardTrigger {
  position: relative;
  margin-top: auto;
}

.sec5SwiperCardTrigger::after {
  content: "";
  position: absolute;
  right: -25px;
  bottom: -15px;
  width: 35px;
  height: 35px;
  background: center / contain no-repeat
    url("/store/techo/ja/one-piece2026/img/icon_plus_circle.svg");
}

.sec5Swiper__button {
  position: absolute;
  top: 50%;
  display: block;
  width: 64px;
  height: 64px;
  z-index: 2;
  cursor: pointer;
  transform: translateY(-50%);
}

.sec5Swiper__button.swiper-button-disabled {
  opacity: 0.5;
  /* pointer-events: none; */
  cursor: default;
}

.sec5Swiper__button--prev {
  left: 8px;
  background: center / contain no-repeat
    url("/store/techo/ja/one-piece2026/img/slide_prev_button.svg");
}

.sec5Swiper__button--next {
  right: 8px;
  background: center / contain no-repeat
    url("/store/techo/ja/one-piece2026/img/slide_next_button.svg");
}

.sec5Bottom {
  margin-top: 88px;
}

.sec5Bottom__container {
  width: calc(100% - 40px);
  margin-inline: auto;
}

.sec5Bottom__text {
  font-family: "Gothic MB101 DemiBold";
  text-align: center;
  font-size: var(--fz18);
}

.sec5Bottom__lead {
  margin-top: 12px;
  font-size: var(--fz24);
  text-align: center;
}

.sec5Bottom__img {
  position: relative;
  margin-top: 40px;
  padding: 54px 50px 90px;
  background: #fff;
  border-radius: 20px;
}

.sec5Bottom__imgText {
  position: absolute;
  right: 18px;
  bottom: 18px;
  font-family: "Gothic MB101 DemiBold";
  font-size: var(--fz10);
  text-align: right;
  color: #303030;
}

.sec5Modal__container {
}

@media (min-width: 769px) {
  .sec5 {
    padding-top: 1px;
    padding-bottom: 124px;
  }

  .sec5::after {
    background: #b8f0d8;
  }

  .sec5__text {
    margin-top: 16px;
  }

  .sec5__lead {
    font-size: var(--fz48);
  }

  .sec5Swiper {
    --swiper-pagination-bottom: -60px;
    margin-top: 78px;
    margin-inline: auto;
    overflow: visible;
    max-width: 984px;
  }

  .sec5SwiperCard {
    display: block;
    padding: 70px 80px;
  }

  .sec5SwiperCard__lead {
    font-size: var(--fz30);
  }

  .sec5SwiperCard__container {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 55px;
    margin-top: 45px;
  }

  .sec5SwiperCard__text {
    margin-bottom: 20px;
  }

  .sec5SwiperCard__img--shadow {
  }

  .sec5Swiper__button {
    position: absolute;
    top: 50%;
    display: block;
    width: 64px;
    height: 64px;
    z-index: 2;
    cursor: pointer;
    transform: translateY(-50%);
  }

  .sec5Swiper__button.swiper-button-disabled {
    opacity: 0.5;
    /* pointer-events: none; */
    cursor: default;
  }

  .sec5Swiper__button--prev {
    left: -48px;
    background: center / contain no-repeat
      url("/store/techo/ja/one-piece2026/img/slide_prev_button.svg");
  }

  .sec5Swiper__button--next {
    right: -48px;
    background: center / contain no-repeat
      url("/store/techo/ja/one-piece2026/img/slide_next_button.svg");
  }

  .sec5Bottom {
    margin-top: 140px;
  }

  .sec5Bottom__container {
    width: var(--pc-width);
    max-width: 984px;
  }

  .sec5Bottom__img {
    margin-top: 50px;
    padding: 55px;
    background: #fff;
    border-radius: 20px;
  }

  .sec5Bottom__img img {
    display: block;
    max-width: 722px;
    margin-inline: auto;
  }
}

/* sec6 */
.sec--6::after {
  background-color: #bae2ff;
}

.sec--6 .sec-inner {
  max-width: calc(900px + 60px);
  padding: 120px 30px;
  margin: auto;
}

.sec-ttl .sec-ttl-txt2 span {
  display: inline-block;
  font-size: var(--fz48);
  line-height: 1.2;
  padding: 2px 10px;
  color: #fff;
  background-color: #000;
}

.sec--6 .c-bg-character .c-bg-character-img {
  right: 0;
  top: 30px;
  width: 377px;
}

.sec--6 .sec-ttl--noNo {
  padding-left: 0;
  text-align: center;
}

.sec6-ttl {
  margin: 40px 0 24px;
}

.sec6-ttl span:not(.exclamation-wrap) {
  display: inline-block;
  font-size: 24px;
  line-height: 34px;
  /* 141.667% */
  padding: 0 15px;
  background-color: #000;
  color: #fff;
}

.sec6-ttl span.new {
  background-color: #f00;
  color: #fff;
}

.sec6-ttl--row2 span.row2 {
  padding-left: 0;
}

.sec6-items {
  display: flex;
  position: relative;
  z-index: 8;
}

@media (max-width: 768px) {
  .sec--6 .sec-inner {
    padding: 80px 20px;
  }
  .sec--6 .sec-ttl--noNo {
    text-align: left;
    padding-bottom: 22px;
  }

  .sec--6 .sec-ttl-txt {
    text-align: center;
  }

  .sec-ttl .sec-ttl-txt2 span {
    font-size: var(--fz32);
  }

  .sec--6 .c-bg-character .c-bg-character-img {
    position: static;
    width: 60vw;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: -45vw;
  }
  .sec6-ttl {
    position: relative;
    z-index: 8;
    margin: 40px 0 24px;
  }
  .sec6-ttl--row2 span.row1 {
    padding-right: 15px;
  }
  .sec6-ttl--row2 span.row2 {
    padding-left: 15px;
  }
}

/* sec7 */
.c-btn--orange {
  background-color: #ff7e1a;
}
.c-btn {
  position: relative;
  width: 255px;
  height: 56px;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 19px 30px;
  border-radius: 1000px;
}

.c-btn::after {
  content: "";
  position: absolute;
  right: 21px;
  top: 50%;
  transform: translateY(-50%);
  width: 15.575px;
  height: 15.163px;
  background-image: url(/store/techo/ja/one-piece2025/img/ico-arrow.svg);
  background-size: contain;
}

.sec--7::after {
  background: #ffdee9;
}

.sec-ttl .sec-ttl-txt1 {
  font-size: 20px;
  line-height: 28px;
  letter-spacing: -1px;
}
.sec-ttl .sec-ttl-txt2 {
  margin-top: 12px;
}

.sec--7 .sec-ttl .sec-ttl-txt2 span {
  font-size: var(--fz32);
}

.sec--7 .sec-inner {
  max-width: 860px;
  padding: 120px 30px;
  margin: auto;
}

.sec--7 .sec-ttl {
  max-width: 762px;
  /* margin-bottom: 88px; */
}

.sec--7 .c-bg-character .c-bg-character-img {
  right: 42px;
  top: -50px;
  width: 499.643px;
}

.sec7__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 764px;
}

.sec7__img {
  width: 329px;
}

.sec7-block {
  position: relative;
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  border-radius: 32px;
  background: #fff;
  color: #000;
  padding: 28px;
  margin-top: 24px;
  z-index: 8;
}

.sec7-block:first-child {
  margin-top: 0;
}

.sec7-block > div:nth-of-type(1) p:nth-of-type(1) {
  font-family: "Gothic MB101 DemiBold";
  font-size: 12px;
  line-height: 16.031px;
  /* 150% */
}

.sec7-block > div:nth-of-type(1) p:nth-of-type(2) {
  font-size: 20px;
  line-height: 23.156px;
  /* 130% */
  margin: 14.25px 0;
}

.sec7-block > div:nth-of-type(1) p:nth-of-type(3) {
  font-family: "Gothic MB101 DemiBold";
  font-size: 12px;
  line-height: 23.156px;
  /* 216.667% */
  margin-bottom: 14.25px;
}

.sec7-block > div:nth-of-type(2) {
  flex-shrink: 0;
  width: 400px;
}

.sec7-block > div.yt {
  position: relative;
  max-width: 100%;
  padding-bottom: calc(min(200px, 56.25%));
  height: 0;
  overflow: hidden;
}

.sec7-block > div.yt iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 1049px) {
  .sec7-block {
    padding: 30px 50px;
  }
  .sec7-block > div:nth-of-type(1) {
    width: calc(50% - 20px);
  }
  .sec7-block > div:nth-of-type(2) {
    width: 50%;
    margin-left: 20px;
  }
}

@media (max-width: 768px) {
  .sec--7 .sec-inner {
    padding: 80px 20px;
  }
  .sec--7 .sec-ttl {
    padding-bottom: 0;
    margin-bottom: 0;
  }

  .sec--7 .sec-ttl .sec-ttl-txt2 span {
    font-size: var(--fz32);
  }

  .sec7__container {
    display: block;
    align-items: center;
    justify-content: space-between;
  }

  .sec7__img {
    width: 395px;
    margin: 0 auto;
  }

  .sec--7 .c-bg-character .c-bg-character-img {
    width: 85vw;
    position: static;
    margin: 0 auto -25px;
    display: block;
  }
  .sec7-block {
    display: block;
    padding: 40px 20px;
    border-radius: 20px;
  }
  .sec7-block > div:nth-of-type(1) {
    width: 100%;
  }
  .sec7-block > div:nth-of-type(1) p:nth-of-type(1) {
    font-size: 12px;
    line-height: 18px;
    /* 150% */
  }
  .sec7-block > div:nth-of-type(1) p:nth-of-type(3) {
    font-size: 12px;
    line-height: 26px;
    /* 216.667% */
  }
  .sec7-block > div:nth-of-type(2) {
    width: 100%;
    margin: 30px 0 0;
  }
  .sec7-block > div.yt {
    padding-bottom: 56.25%;
  }
}

/* shop */
.shop {
  position: relative;
  z-index: 2;
  padding-top: 80px;
  background: #f7f2e5;
}

.shop__title {
  font-size: var(--fz32);
  line-height: 1.4;
  text-align: center;
}

.shop__text {
  margin-top: 30px;
  text-align: center;
  font-size: var(--fz20);
  line-height: 1.4;
}

.shop__container {
  display: grid;
  gap: 40px;
  width: calc(100% - 36px);
  margin-top: 38px;
  margin-inline: auto;
  max-width: 954px;
}

.shop__inner {
  display: grid;
  gap: 40px;
}

.shopSection__title {
  display: grid;
  place-items: center;
  min-height: 56px;
  margin-bottom: 24px;
  font-family: "Gothic MB101 DemiBold";
  font-size: var(--fz24);
  color: #fff;
  background: #00416f;
}

.shopSection__list {
  font-family: "Gothic MB101 DemiBold";
  line-height: 2;
}

.shopSection__list a {
  text-decoration: underline;
}

.shopSection__list a[target="_blank"]::after {
  content: "";
  margin-left: 6px;
}

.shopSection__info {
  margin-top: 6px;
  font-family: "Gothic MB101 DemiBold";
  font-size: var(--fz12);
  line-height: 1.5;
}

.shopSection__text {
  font-family: "Gothic MB101 DemiBold";
  line-height: 1.8;
}

.shopImg {
  margin-top: 50px;
  width: 426px;
  margin-inline: auto;
}

@media (min-width: 769px) {
  .shop {
    padding-top: 120px;
    padding-bottom: 116px;
  }

  .shop__title {
    font-size: var(--fz48);
  }

  .shop__text {
    margin-top: 22px;
    text-align: center;
    font-size: var(--fz16);
  }

  .shop__container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 62px;
    width: var(--pc-width);
    max-width: 954px;
    margin-top: 80px;
  }

  .shop__inner {
    gap: 60px;
  }

  .shopImg {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 426px;
    margin: 0;
  }
}

/* copy */
.copy {
  background-color: #fff;
  padding: 50px 30px;
  text-align: center;
  font-size: 12px;
  position: relative;
  z-index: 10;
}

@media (max-width: 768px) {
  .copy {
    padding: 30px;
    font-size: 10px;
  }
}
