@charset "shift_jis";

@font-face {
  font-display: swap;
  font-family: "Osechi Gothic MB101";
  font-style: normal;
  font-weight: 400;
  src:
    local("A-OTF ゴシックMB101 Pro R"),
    local("A-OTF ゴシックMB101 Pro"),
    local("A-OTF Gothic MB101 Pro R"),
    local("A-OTF Gothic MB101 Pro Regular"),
    local("A-OTF Gothic MB101 Pro"),
    local("GothicMB101Pro-Regular"),
    local("Gothic MB101 Pro OpenType Regular");
}

@font-face {
  font-display: swap;
  font-family: "Osechi Gothic MB101";
  font-style: normal;
  font-weight: 500;
  src:
    local("A-OTF ゴシックMB101 Pro M"),
    local("A-OTF Gothic MB101 Pro M"),
    local("GothicMB101Pro-Medium"),
    local("Gothic MB101 Pro OpenType Medium");
}

@font-face {
  font-display: swap;
  font-family: "Osechi Gothic MB101";
  font-style: normal;
  font-weight: 600;
  src:
    local("A-OTF ゴシックMB101 Pro DB"),
    local("A-OTF Gothic MB101 Pro DB"),
    local("GothicMB101Pro-DemiBold"),
    local("Gothic MB101 Pro OpenType DemiBold");
}

#manpuku {
  --osechi-red: #cf0707;
  --osechi-deep-red: #8e0000;
  --osechi-gold: #d5a526;
  --osechi-ink: #2a1710;
  --osechi-blue: #0a0868;
  background: transparent;
  color: var(--osechi-ink);
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  line-height: 1.75;
  margin: 0 auto;
  overflow: hidden;
  width: 980px;
}

#manpuku *,
#manpuku *::before,
#manpuku *::after {
  box-sizing: border-box;
}

#manpuku img {
  display: block;
  height: auto;
  max-width: 100%;
}

:where(#manpuku h1, #manpuku h2, #manpuku h3, #manpuku p) {
  margin: 0;
}

#manpuku a {
  text-decoration: none;
}

.osechi-sr-only {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.osechi-note {
  color: rgba(54, 30, 0, 0.78);
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 16px;
  line-height: 1.55;
}

.fv img {
  width: 100%;
}

.osechi-intro {
  background: url("../img/contents01_back@2x.jpg") center top / 100% 100% no-repeat;
  padding: 92px 0 58px;
  text-align: center;
}

.osechi-intro__copy {
  margin: 0 auto;
  width: 980px;
}

.osechi-kicker {
  color: #5a2a14;
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-feature-settings: "kern" 1;
  font-kerning: normal;
  font-size: 40px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.22;
}

.osechi-intro h1 {
  align-items: center;
  color: #2f1a12;
  display: flex;
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-feature-settings: "kern" 1;
  font-kerning: normal;
  font-size: 55px;
  font-weight: 700;
  justify-content: center;
  letter-spacing: 0;
  line-height: 1;
  margin-top: 23px;
  min-height: 84px;
  overflow: visible;
}

.osechi-intro h1 span {
  display: inline-block;
  transform: scale(1.5, 1.5);
  transform-origin: center center;
  white-space: nowrap;
}

.osechi-intro__copy p:not(.osechi-kicker) {
  color: #2e1b11;
  font-family: "Osechi Gothic MB101", "A-OTF ゴシックMB101 Pro", "A-OTF Gothic MB101 Pro", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.95;
  margin-top: 22px;
}

.osechi-intro__copy p.osechi-intro__text--first {
  margin-top: 58px;
}

.osechi-intro__set {
  margin: 46px auto 0;
  width: 956px;
}

.osechi-intro__note {
  font-size: 12px;
  margin: 24px auto 0;
  text-align: right;
  width: 956px;
}

.osechi-offer {
  background-color: var(--osechi-red);
  background-image: url("../img/contents02_back@2x.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  height: 648px;
  padding: 38px 0 0;
  position: relative;
  text-align: center;
}

.osechi-anchor {
  display: block;
  height: 0;
  position: relative;
  top: -24px;
}

.osechi-offer__price {
  margin: 0 auto;
  position: relative;
  left: -11px;
  width: 825px;
}


.osechi-layers {
  background-image: url("../img/contents03_back@2x.png");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 1280px 3731.55px;
  padding: 84px 0 0;
  position: relative;
}

.osechi-layer {
  position: relative;
  text-align: center;
  z-index: 1;
}

.osechi-layer--two {
  margin-top: 158px;
}

.osechi-section-label {
  color: #6b3b1b;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.25;
}

.osechi-section-title {
  color: #3a2012;
  font-size: 72px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.1;
  margin-top: 8px;
}

.osechi-layer__title {
  margin-left: auto;
  margin-right: auto;
}

.osechi-layer__title--one {
  margin-left: 26%;
  margin-top: 66px;
  width: 862px;
}

.osechi-layer__title--two {
  margin-top: 71px;
  width: 1280px;
}

.osechi-layer__body--two {
  background-image: url("../img/contents04_back@2x.png");
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: 1280px auto;
  margin-top: 0;
  padding: 101px 0 138px;
}

.osechi-layer__body--two .osechi-recommend {
  margin-top: 0;
}

.osechi-recommend {
  margin: 52px auto 0;
  width: 862px;
}

.osechi-layer--one .osechi-recommend {
  width: 886px;
}

.osechi-recommend h3 {
  color: #4a2d19;
  font-size: 45px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
}

.osechi-recommend__list {
  display: grid;
  gap: 44px;
  grid-template-columns: repeat(3, 258px);
  justify-content: center;
  margin-top: 25px;
}

.osechi-recommend__item {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  width: 258px;
}

.osechi-recommend__item img {
  margin: 0 auto;
  width: 258px;
}

.osechi-recommend__item p {
  color: #341e12;
  font-family: "Osechi Gothic MB101", "A-OTF ゴシックMB101 Pro", "A-OTF Gothic MB101 Pro", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
  margin-top: 9px;
  text-align: left;
}

.osechi-layer--one .osechi-recommend__item p {
  box-sizing: border-box;
  display: block;
  font-size: 16px;
  font-weight: 400;
  inline-size: 258px;
  letter-spacing: 0;
  line-height: 32px;
  margin: 9px 0 0;
  max-inline-size: 258px;
  max-width: 258px;
  min-inline-size: 258px;
  min-width: 258px;
  overflow-wrap: anywhere;
  white-space: normal;
  width: 258px;
  word-break: normal;
}

.osechi-layer--two .osechi-recommend__item p {
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 32px;
  width: 258px;
}

.osechi-items {
  margin-left: auto;
  margin-right: auto;
}

.osechi-items-title {
  align-items: center;
  background: #a00082;
  color: #fff;
  display: flex;
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-weight: 700;
  height: 82px;
  justify-content: center;
  letter-spacing: 0.03em;
  line-height: 1;
  margin-left: auto;
  margin-right: auto;
  width: 859px;
}


#manpuku .osechi-items-title--one {
  margin-top: 92px;
  font-size: 44px;  
}

#manpuku .osechi-items-title--two {
  background: linear-gradient(90deg, #d99a00 0%, #fff178 52%, #d79a00 100%);
  color: #2a1710;
  height: 82px;
  margin-top: 97px;
  width: 862px;
  font-size: 44px;
}

.osechi-items--one {
  margin-top: 24px;
  width: 865px;
}

.osechi-items--two {
  margin-top: 26px;
  width: 862px;
}

.osechi-extra {
  background-image: url("../img/contents05_back@2x.png");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 1280px auto;
  height: 1768px;
  margin-top: -1px;
  overflow: hidden;
  padding: 0;
  position: relative;
}

.osechi-extra__title {
  left: 50%;
  margin: 0;
  position: absolute;
  top: 96px;
  transform: translateX(-50%);
  width: 511px;
}

.osechi-extra__soba {
  color: #fff8d5;
  left: 6%;
  margin: 0;
  position: absolute;
  top: 272px;
  width: 865px;
}

.osechi-extra__soba img {
  display: block;
  position: relative;
  width: 100%;
  z-index: 0;
}

.osechi-extra__soba::before {
  background: linear-gradient(112deg, rgba(36, 37, 43, 0.74) 0%, rgba(6, 6, 8, 0.98) 76%);
  clip-path: polygon(59.2% 0, 44.8% 100%, 36.8% 100%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.osechi-extra__soba p,
.osechi-extra__card p {
  color: #fff;
  font-family: "Osechi Gothic MB101", "A-OTF ゴシックMB101 Pro", "A-OTF Gothic MB101 Pro", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 500;
  position: absolute;
  text-align: left;
}

.osechi-extra__soba p {
  font-size: 17px;
  left: 454px;
  letter-spacing: 0;
  line-height: 2.18;
  right: 4px;
  z-index: 2;
  top: 129px;
}

.osechi-extra__soba-line {
  display: block;
}

.osechi-extra__soba-line--1 {
  transform: translateX(18px);
}

.osechi-extra__soba-line--2 {
  transform: translateX(6px);
}

.osechi-extra__soba-tilt {
  display: block;
}

.osechi-extra__soba-line--3 {
  transform: translate(-15px, 0);
}

.osechi-extra__soba-line--4 {
  transform: translate(-39px, 8px);
}

.osechi-extra .osechi-extra__soba-note {
  margin-top: 11px;
}

.osechi-extra small {
  display: block;
  font-size: 0.78em;
  line-height: 1.45;
  margin-top: 0.25em;
}

.osechi-extra__grid {
  display: grid;
  gap: 21px 18px;
  grid-template-columns: repeat(2, 423px);
  left: 5.91836734693878%;
  margin-top: 0;
  position: absolute;
  top: 637px;
}

.osechi-extra__card {
  position: relative;
}

.osechi-extra__card img {
  width: 423px;
}

.osechi-extra__card p {
  bottom: 44px;
  font-size: 17px;
  left: 46px;
  line-height: 1.55;
  right: 46px;
  text-align: center;
}

.osechi-extra__card:nth-child(n + 3) p {
  bottom: 38px;
}

.osechi-celebrate {
  background: transparent;
  margin-top: -2px;
  position: relative;
}

.osechi-celebrate__base {
  width: 100%;
}

.osechi-celebrate__family {
  bottom: 28px;
  left: calc(50% + 3px);
  position: absolute;
  transform: translateX(-50%);
  width: 80%;
}

.osechi-celebrate__note {
  bottom: 24px;
  color: rgba(55, 32, 4, 0.76);
  position: absolute;
  right: 106px;
}

.osechi-package {
  background-color: transparent;
  background-image: url("../img/contents07~08_back@2x.png");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  overflow: hidden;
  padding: 0 0 154px;
}

#manpuku .osechi-package__size {
  margin: 0 0 0 50%;
  max-width: none;
  transform: translateX(calc(-50% - 5px));
  width: 1507px;
}

.osechi-package__set-wrap {
  margin: 88px auto 0;
  position: relative;
  width: 865px;
}

.osechi-package__set {
  margin: 0;
  width: 865px;
}

.osechi-package__set-wrap p {
    color: #020202;
    font-family: "Osechi Gothic MB101", "A-OTF ゴシックMB101 Pro", "A-OTF Gothic MB101 Pro", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    margin: 0;
    position: absolute;
    text-align: center;
    white-space: nowrap;
    width: 300px;
}
p.osechi-package__label_1 {
    top: 383px;
}

p.osechi-package__label_2 {
    top: 651px;
}

p.osechi-package__label_3 {
    top: 921px;
}

.osechi-package__box-label {
  left: 149px;
}

.osechi-package__cardboard-label {
    left: 465px;
}

.osechi-package__soba-label {
  left: 105px;
}

.osechi-package__caraman-label {
    top: 631px;
    right: 128px;
}
.osechi-package__wafu {
  position: absolute;
  top: 728px;
  width: 132px;
}

.osechi-package__wafu--1 {
  left: 78px;
}

.osechi-package__wafu--2 {
  left: 217px;
}

.osechi-package__wafu-label {
  left: 66px;
}

.osechi-package__demi-label {
    right: 202px;
}

.osechi-package__iwaibashi-label {
    right: -18px;
}

.osechi-thaw {
  background-image: url("../img/contents09_back@2x.png");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  color: #fff;
  padding: 78px 0 57px;
  margin: 0 0 50px;
}

.osechi-thaw__title {
  margin: 0 0 0 auto;
  position: relative;
  top: 72px;
  width: 1109px;
}

.osechi-thaw__lead,
.osechi-thaw__note {
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.65;
  margin: 32px auto 0;
  width: 866px;
}

.osechi-thaw__lead {
  --ai-tracking: 0.27em;
  --ai-tsume: 0.3em;
  color: #fff;
  font-family: "Osechi Gothic MB101", "A-OTF Gothic MB101 Pro", "A-OTF ゴシックMB101 Pro", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-feature-settings: "kern" 1;
  font-kerning: normal;
  font-size: 22px;
  font-stretch: 100%;
  font-style: normal;
  font-synthesis: weight;
  font-weight: 600;
  letter-spacing: calc(var(--ai-tracking) - var(--ai-tsume));
  height: 64px;
  line-height: 30px;
  margin-left: 7%;
  margin-right: 0;
  min-height: 64px;
  position: relative;
  text-align: left;
  text-rendering: geometricPrecision;
  top: -32px;
  -webkit-font-smoothing: antialiased;
  width: 670px;
}

.osechi-thaw__note {
  color: #fff;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.55;
}

.osechi-thaw-card {
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.osechi-thaw-card > img:first-child {
  width: 100%;
}

.osechi-thaw-card--refrigerator {
  margin-top: 12px;
  width: 863px;
}

.osechi-thaw-card--room {
  margin-left: 0;
  margin-right: auto;
  margin-top: 65px;
  width: 109%;
  left: -15%;
}

.osechi-thaw-card--room + .osechi-thaw__note {
  position: relative;
  top: -178px;
}

.osechi-thaw-card__image {
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
}

.osechi-thaw-card__image-note {
  color: #020202;
  font-family: "Osechi Gothic MB101", "A-OTF ゴシックMB101 Pro", "A-OTF Gothic MB101 Pro", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  position: absolute;
  right: 37px;
  white-space: nowrap;
  z-index: 2;
}

.osechi-thaw-card__caption {
  color: #020202;
  font-family: "Osechi Gothic MB101", "A-OTF ゴシックMB101 Pro", "A-OTF Gothic MB101 Pro", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 35px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  margin: 0;
  position: absolute;
  white-space: nowrap;
}

.osechi-thaw-card__caption--standard {
  left: 88px;
  top: 164px;
}

.osechi-thaw-card__caption--quick {
  left: 117px;
  top: 463px;
}

.osechi-thaw-card__image--standard {
  left: calc(50% + 21px);
  top: 20.1%;
  width: 696px;
}

.osechi-thaw-card__image-note--standard {
  right: 67px;
  top: 379px;
}

.osechi-thaw-card__image--quick {
  left: calc(50% - 7px);
  top: 59.8%;
  width: 750px;
}

.osechi-thaw-card__image-note--quick {
  right: 67px;
  top: 681px;
}

.osechi-thaw-card__image--room {
  left: calc(50% + 103.5px);
  top: 28.26%;
  width: 768px;
}
