.contentsInner {
  padding: 0;
  width: 100%;
  font-family:
    "Noto Sans JP", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3",
    "Hiragino Kaku Gothic Pro", sans-serif;
}

#pooh-hero {
  position: relative;
  padding: 60px 40px 120px;
}

#pooh-hero:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1192px;
  background: url(/excludes/images/item/fukin/pooh-hero.png) no-repeat center bottom 190px;
  background-size: cover;
  aspect-ratio: 1920 / 1192;
}
.hero-inner {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}

/* ==================
     はちみつ
  ================== */
.deco-honey-left,
.deco-honey-right {
  position: absolute;
  top: 0;
  z-index: 1;
}

.deco-honey-left {
  left: 0;
}

.deco-honey-right {
  right: 0;
}

.deco-honey-left img,
.deco-honey-right img {
  display: block;
  width: 240px;
  height: auto;
}

/* ==================
     左
  ================== */
.hero-left {
  width: 45%;
  text-align: center;
  position: relative;
}

.logo {
  width: 173px;
  margin-bottom: 20px;
}

.limited-badge {
  position: absolute;
  top: 140px;
  left: 80px;
  z-index: 3;
}

.limited-badge img {
  display: block;
  width: 56px;
  height: auto;
}

.hero-left h1 {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-top: 20px;
  align-items: center;
}

.hero-left h1:before {
  content: "";
  position: absolute;
  top: -70px;
  left: 22px;
  width: 109px;
  height: 120px;
  background: url(/excludes/images/item/fukin/limited-badge.png) no-repeat center center;
  background-size: cover;
  aspect-ratio: 109 / 120;
}

.hero-left h1 .hero-subtitle {
  max-width: 302px;
}

.hero-left h1 .hero-subtitle img {
  width: 100%;
}

.hero-left h1 .hero-title {
  max-width: 463px;
}

.hero-left h1 .hero-title img {
  width: 100%;
}

.description {
  position: relative;
  margin-top: 20px;
  line-height: 1.8;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 1.5px;
  text-shadow: 0 0 3px #fff;
}

.description:before {
  content: "";
  position: absolute;
  top: -110px;
  left: -130px;
  width: 160px;
  height: 426px;
  background: url(/excludes/images/item/fukin/pooh-balloon.png) no-repeat center center;
  background-size: cover;
  aspect-ratio: 160 / 426;
}

.pooh-baloon {
  position: absolute;
  left: -40px;
  bottom: -80px;
  width: 125px;
  height: 330px;
}

.pooh-baloon img {
  width: 100%;
}

/* ==================
     右
  ================== */
.hero-right {
  width: 55%;
  text-align: center;
}

.premium-image {
  text-align: center;
  margin-bottom: 20px;
}

.premium-image img {
  width: 350px;
  height: auto;
  display: inline-block;
}

.product-image {
  max-width: 684px;
}

.product-image img {
  width: 100%;
  display: block;
}

.btn {
  min-width: 220px;
  padding: 18px;
  text-decoration: none;
  text-align: center;
  border-radius: 6px;
  font-weight: 700;
  transition: 0.3s;
}

.btn:hover {
  transform: translateY(-2px);
}

.hero-bottom {
  margin-top: 52px;
  position: relative;
  z-index: 5;
}

.btn-group {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 25px;
}

.btn-group a {
  position: relative;
  width: 311px;
  height: 78px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-size: 21px;
  font-weight: 700;
  text-decoration: none;
  transition: 0.2s ease;
  gap: 10px;
}

/* 申込み */

#cboxClose{
  background:none;
}

.btn-group a.btn-order {
  position: relative;
  background: #57952d;
  color: #fff;
  border: 2px solid #000;
  box-shadow: 5px 7px 0 0 rgba(143, 143, 143, 0.5);
}

.btn-group a.btn-order .btn-icon {
  width: 24px;
  height: 24px;
  background: url(/excludes/images/item/fukin/icon-arrow-01.svg) no-repeat center;
  background-size: contain;
}

.btn-group a.btn-feature {
  background: #fff;
  color: #333;
  border: 2px solid #000;
  box-shadow: 5px 7px 0 0 rgba(143, 143, 143, 0.5);
}

.btn-group a.btn-feature .btn-icon {
  width: 24px;
  height: 24px;
  background: url(/excludes/images/item/fukin/icon-arrow-02.svg) no-repeat center;
  background-size: contain;
}

.btn-group a:hover {
  transform: translateY(-2px);
}

#pooh-lineup {
  position: relative;
  padding: 100px 0 120px;
}

#pooh-lineup:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 397px;
  height: 237px;
  background: url(/excludes/images/item/fukin/honey-hex-left.png) no-repeat center center;
  background-size: cover;
  aspect-ratio: 397 / 237;
}

#pooh-lineup:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 379px;
  height: 237px;
  background: url(/excludes/images/item/fukin/honey-hex-right.png) no-repeat center center;
  background-size: cover;
  aspect-ratio: 379 / 237;
}

/* ------------------
     キャラクター
  ------------------ */

.lineup-tigger {
  position: absolute;
  left: 80px;
  bottom: 40px;
  z-index: 1;
}

.lineup-eeyore {
  position: absolute;
  right: 80px;
  bottom: 40px;
  z-index: 1;
}

.lineup-tigger img,
.lineup-eeyore img {
  width: 150px;
  display: block;
}

.lineup-inner {
  position: relative;
  z-index: 2;
  max-width: 900px;
  margin: 0 auto;
  padding: 93px 0 159px;
  text-align: center;
}

.lineup-inner:before {
  content: "";
  position: absolute;
  top: 194px;
  left: -378px;
  width: 347px;
  height: 108px;
  background: url(/excludes/images/item/fukin/lineup-bee.png) no-repeat center center;
  background-size: contain;
}

.lineup-inner:after {
  content: "";
  position: absolute;
  background-size: contain;
  top: 550px;
  right: -378px;
  width: 347px;
  height: 108px;
  background: url(/excludes/images/item/fukin/lineup-bee.png) no-repeat center center;
  background-size: contain;
}

@media screen and (max-width: 1600px) {
  .lineup-inner::before {
    left: -280px;
    width: 280px;
  }

  .lineup-inner::after {
    right: -280px;
    width: 280px;
  }
}

@media screen and (max-width: 1400px) {
  .lineup-inner::before {
    left: -200px;
    width: 260px;
  }

  .lineup-inner::after {
    right: -200px;
    width: 260px;
  }
}

#lineup-anchor {
  scroll-margin-top: 100px;
}

.lineup-copy {
  position: relative;
  color: #513535;
  font-size: 30px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  margin: 0 auto 30px;
  padding-bottom: 16px;
  border-bottom: 1px solid #513535;
}

.lineup-copy:before {
  position: absolute;
  content: "";
  top: -50px;
  left: calc(50% - 80px);
  width: 162px;
  height: 30px;
  background: url(/excludes/images/item/fukin/lineup-subtitle.png) no-repeat center;
  background-size: contain;
}

.lineup-title {
  margin-bottom: 20px;
}

.lineup-text {
  color: #4d3535;
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 50px;
}

.lineup-items-title {
  font-size: 22px;
  font-weight: 700;
  line-height: 15px;
  letter-spacing: 2.2px;
  color: #fff;
  background: #513535;
  padding: 11px 24px;
  border-radius: 10px 10px 0 0;
}

.lineup-items {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-top: 40px;
}

.lineup-item {
  width: 474px;
}

.lineup-item-image img {
  width: 100%;
  display: block;
}

.lineup-item-title {
  margin-top: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #f5c762;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 1.4px;
  line-height: 15px;
  text-align: center;
}

.lineup-item-text {
  margin-top: 15px;
  font-size: 16px;
  line-height: 1.8;
  text-align: left;
}

.lineup-purchase {
  position: relative;
  margin-top: 45px;
  text-align: center;
}

.lineup-purchase:before {
  content: "";
  position: absolute;
  top: 195px;
  left: -50px;
  width: 200px;
  height: 335px;
  background: url(/excludes/images/item/fukin/tigger.png) no-repeat center center;
  background-size: contain;
  aspect-ratio: 256 / 335;
}

.lineup-purchase:after {
  content: "";
  position: absolute;
  top: 182px;
  right: -80px;
  width: 230px;
  height: 353px;
  background: url(/excludes/images/item/fukin/eeyore.png) no-repeat center center;
  background-size: contain;
  aspect-ratio: 288 / 353;
}

.lineup-material {
  color: #000;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 1.5px;
  line-height: 1;
  padding-bottom: 8px;
}

.lineup-price {
  color: #000;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 2px;
  line-height: 1.4;
}

.purchase-pattern {
  padding-top: 20px;
}

.purchase-pattern.is_hidden {
  display: none;
}

.lineup-login-btn.is-comingsoon {
  position: relative;
  pointer-events: none;
}

.lineup-login-btn.is-comingsoon::before {
  content: "Coming soon";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(107, 128, 88, 0.8);
  border-radius: inherit;
  color: #fff;
  font-size: 32px;
  font-weight: bold;
  z-index: 10;
}

.purchase-alert {
  color: #e1002a;
  font-size: 22px;
  line-height: 1.46;
  font-weight: 700;
  letter-spacing: 2px;
}

.purchase-link {
  padding-top: 32px;
  font-size: 16px;
}

.purchase-link a {
  color: #000;
}

.purchase-link a:visited {
  color: #000;
}

.purchase-note {
  margin-top: 24px;
  font-size: 16px;
  font-weight: 400;
  line-height: 15px;
  letter-spacing: 1.6px;
}

#pooh-lineup .lineup-login-btn {
  position: relative;
  display: inline-block;
  padding: 24px 0 20px;
  width: 546px;
  color: #fff;
  border-radius: 8px;
  text-decoration: none;
  border: 2px solid #000;
  font-size: 22px;
  font-weight: 700;
  text-align: center;
  background: #57952d;
  box-shadow: 5px 7px 0 0 rgba(143, 143, 143, 0.5);
  margin-top: 24px;
  cursor: pointer;
}

.lineup-login-btn:hover {
  transform: translateY(-2px);
}

.lineup-login-btn::after {
  content: "";
  position: absolute;
  top: 42px;
  right: 36px;
  width: 24px;
  height: 24px;
  background: url("/excludes/images/item/fukin/icon-arrow-03.svg") no-repeat center;
  background-size: contain;
}

.ippan .lineup-login-btn::after {
  top: 28px;
}

.premium .lineup-login-btn::after {
  top: 60px;
  right: 150px;
}

.purchase-pattern.ippan .lineup-login-btn {
  padding: 39px 128px 35px 137px;
}

.purchase-pattern.premium {
  padding-top: 0;
}

.purchase-pattern.nologin {
  padding-top: 0;
}

/* ====================
     装飾
  ==================== */

.features-honey {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.features-honey img {
  width: 100%;
  display: block;
}

/* ====================
   feautures
==================== */

#pooh-features {
  position: relative;
  overflow: hidden;
  background: #f9cb66;
  padding: 233px 0 126px;
}

#pooh-features:before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 453px;
  height: 262px;
  background: url(/excludes/images/item/fukin/honey-top-01.png) no-repeat center;
  background-size: contain;
  aspect-ratio: 453 / 262;
}

#pooh-features:after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 1920px;
  height: 103px;
  background: url(/excludes/images/item/fukin/honey-botttom.png) no-repeat bottom center;
  background-size: contain;
}

.features-inner {
  position: relative;
  z-index: 3;
  width: 1000px;
  margin: 0 auto;
  text-align: center;
}

.features-inner:before {
  position: absolute;
  content: "";
  top: -233px;
  left: calc((100dvw - 1000px) / -2);
  width: 1920px;
  height: 103px;
  background: url(/excludes/images/item/fukin/honey-top-02.png) no-repeat center;
  background-size: contain;
}

.features-inner:after {
  position: absolute;
  content: "";
  top: -52px;
  right: -94px;
  background: url(/excludes/images/item/fukin/bee-header.png) no-repeat center;
  background-size: contain;
  width: clamp(60px, 7vw, 91px);
  height: clamp(50px, 6vw, 79px);
  aspect-ratio: 91 / 79;
}

#features-anchor {
  scroll-margin-top: 200px;
}

.features-copy {
  position: relative;
  color: #513535;
  font-size: 30px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  margin: 0 auto 30px;
  padding-bottom: 16px;
  border-bottom: 1px solid #513535;
}

.features-copy:before {
  position: absolute;
  content: "";
  top: -50px;
  left: calc(50% - 141px);
  width: 282px;
  height: 30px;
  background: url(/excludes/images/item/fukin/features-subtitle.png) no-repeat center;
  background-size: contain;
}

.features-title {
  margin-top: 20px;
  color: #543c3d;
  font-size: 56px;
  line-height: 1.2;
}

.features-text {
  margin-top: 15px;
  font-size: 16px;
  line-height: 2;
  color: #543c3d;
}

/* ====================
     POINT
  ==================== */

.features-point {
  margin-top: 50px;
}

.features-point:last-of-type::before {
  position: absolute;
  content: "";
  bottom: 178px;
  left: -210px;
  width: 185px;
  height: 152px;
  background: url(/excludes/images/item/fukin/bee-bottom.png) no-repeat center;
  background-size: contain;
  aspect-ratio: 185 / 152;
}

.features-point:last-of-type::after {
  position: absolute;
  content: "";
  bottom: -80px;
  left: -210px;
  width: 282px;
  height: 193px;
  background: url(/excludes/images/item/fukin/bee-pot.png) no-repeat bottom center;
  background-size: contain;
  aspect-ratio: 282 / 193;
}

.features-images {
  display: flex;
  justify-content: center;
  gap: 8px;
}

.features-images img {
  width: 323px;
  display: block;
}

.point-title {
  padding-top: 5px;
  border-bottom: 1px solid #513535;
}

.point-text {
  margin-top: 15px;
  color: #333333;
  font-size: 16px;
  line-height: 1.8;
  font-weight: 400;
}

.features-inner .copyright {
  font-size: 10px;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 1px;
  margin: 125px 0 0;
  padding: 0 24px;
}

.modalWrap {
  display: none;
}
#cboxLoadedContent {
  background: #fff;
  padding: 0;
}
#cboxOverlay {
  background: #000 !important;
}

body.is-modal-open {
  overflow: hidden;
}

#cboxLoadedContent {
  max-height: 80vh !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}

#cartModal {
  background-color: #fff;
  padding: 70px 100px 50px;
  position: relative;
  width: 960px;
  max-width: 90vw;
  text-align: center;
  border-radius: 10px;
  font-family: "noto sans jp";
}

.modalWrap {
  display: none;
}

.close {
  position: absolute;
  top: 16px;
  right: 16px;
  cursor: pointer;
}

.close img {
  width: 60px;
}

.modal-subtitle {
  background-color: #513535;
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 2.2px;
  line-height: 1.4;
  border-radius: 10px;
}

.modal-title {
  color: #5a3d3c;
  line-height: 1.2;
  font-size: 54px;
  font-weight: 700;
  margin-top: 16px;
}

.modal-title span {
  display: block;
  width: 420px;
  margin: 0 auto 16px;
  background: #5a3d3c;
  color: #fff;
  font-size: 20px;
  padding: 6px 0;
  border-radius: 8px;
}

.modal-description {
  position: relative;
  margin-top: 20px;
  font-size: 20px;
  color: #555;
}

.modal-description span:first-child {
  padding-right: 5px;
}
.modal-description span:last-child {
  padding-left: 5px;
}
.modal-description span.checkbox {
  display: inline-block;
  width: 19px;
  height: 19px;
  vertical-align: middle;
  padding-bottom: 5px;
}

.item-wrap {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin-top: 30px;
}

.item {
  width: 432px;
}

.item label {
  cursor: pointer;
}

.item img {
  width: 100%;
  display: block;
}

.item input {
  margin-top: 32px;
  width: 25px;
  height: 25px;
}

.item label {
  display: block;
  padding: 10px;
  border: 4px solid transparent;
  border-radius: 12px;
  transition: 0.2s;
}

.item label:has(input:checked) {
  border-color: #2f7cff;
  background: #eef5ff;
}

.item-name {
  display: block;
  margin-top: 12px;
  font-size: 22px;
  font-weight: 700;
  color: #333;
}

.modal-price {
  margin-top: 15px;
  font-size: 20px;
  font-weight: 500;
}

.submit-wrap {
  margin-top: 30px;
}

#cartSubmitButton {
  position: relative;
  width: 550px;
  padding: 37px;
  background: #57952d;
  color: #fff;
  border: 2px solid #333;
  border-radius: 8px;
  font-size: 22px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 5px 7px 0 #8f8f8f80;
}

#cartSubmitButton:after {
  content: "";
  position: absolute;
  top: 45px;
  right: 160px;
  width: 24px;
  height: 22px;
  background: url(/excludes/images/item/fukin/icon-cart.svg) no-repeat center center;
  background-size: contain;
}

#cartSubmitButton:hover {
  opacity: 0.9;
}

.modal-note {
  margin-top: 24px;
  font-size: 20px;
  font-weight: 400;
}

@media screen and (max-device-width: 1280px) {
  .hero-inner {
    max-width: 1024px;
  }
  .logo {
    width: 120px;
  }
  .hero-left h1 .hero-subtitle {
    max-width: 240px;
  }
  .hero-left h1 .hero-title {
    max-width: 386px;
    img {
      width: 86%;
    }
  }
  .hero-left h1:before {
    top: -40px;
    left: 40px;
    width: 73px;
    height: auto;
  }
  #pooh-lineup:before,
  #pooh-lineup:after {
    width: 314px;
    height: auto;
  }
  .description {
    font-size: 13px;
  }
  .description:before {
    top: -90px;
    left: -62px;
    width: 110px;
    height: auto;
  }
  .lineup-purchase:before {
    top: 195px;
    left: -120px;
    width: 210px;
    height: auto;
  }
  .lineup-purchase:after {
    top: 182px;
    right: -136px;
    width: 240px;
    height: auto;
  }
  #pooh-features:before {
    width: 362px;
    height: auto;
  }
  .features-inner:after {
    top: -42px;
    right: -58px;
    width: 60px;
    height: auto;
  }
  .features-point:last-of-type::before {
    bottom: 102px;
    left: -38px;
    width: 105px;
    height: auto;
  }

  .features-point:last-of-type::after {
    bottom: -80px;
    left: -63px;
    width: 230px;
    height: auto;
  }
}
