
#modal-banner,
#banner-fixed {
  display: none !important;
}


.top-message .message-txt {
  margin-top: clamp(96px, 7vw, 150px);
}

.top-products .sec2-txt1-name,
.top-products .sec2-txt1-exp,
.top-products .sec2-products-btn,
.top-products .sec2-products {
  display: block !important;
}

.top-products .sec2-products-btn {
  display: flex !important;
}

.top-products .obj_sp5b {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 2;
}

.top-products .sec3-txt1-name,
.top-products .sec3-txt1-exp,
.top-products .sec3-img {
  position: relative;
  z-index: 3;
}

.top-shop .-float-shop3 {
  right: 0;
  width: 22.3571428571%;
  z-index: 1;
}

.top-shop .sec1-txt,
.top-shop .sec2-photos {
  position: relative;
  z-index: 2;
}

.top-shop2 .sec3-txt__item > p {
  font-weight: 700;
}

.top-shop2 .sec3-txt__item dd {
  font-weight: 400;
}


.top-shop-photo2 + .float-separater {
  position: relative;
  z-index: 10;
  margin-bottom: -12vw;
}

.top-about + .section-branch-separator--news {
  position: relative;
  z-index: 10;
  margin-top: -14vw;
  margin-bottom: 8vw;
}

.section-branch-separator--special img {
  object-position: 50% 50%;
}

@media screen and (max-width: 767px) {
  .top-message .message-txt {
    margin-top: 26vw;
  }


  .top-products .sec2-txt1-name {
    display: block !important;
    margin-top: 52.6666666667vw;
  }

  .top-products .sec2-txt1-exp,
  .top-products .sec2-products,
  .top-products .sec2-products-btn {
    display: block !important;
  }

  .top-products .sec2-products-btn {
    display: flex !important;
  }

  .top-products .product-catalog {
    width: 90.666667vw;
    margin-top: 20vw;
    padding: 0;
  }


  .top-products .obj_sp5b {
    top: 673.0666666667vw !important;
    left: 0 !important;
    width: 100vw !important;
    z-index: 2 !important;
  }

  .top-products .sec3-txt1-name,
  .top-products .sec3-txt1-exp {
    z-index: 4;
  }


  #top-others .obj1 {
    bottom: 0 !important;
  }

  #top-others .obj2 {
    top: 0 !important;
  }

  #top-others .obj3 {
    bottom: 0 !important;
  }

  .top-others__items .item--store-limited .item-img {
    aspect-ratio: 16 / 9;
  }

  .top-others__items .item--store-limited .item-img img {
    object-fit: cover;
    object-position: center;
  }


  .section-branch-separator,
  .section-branch-separator--special {
    height: auto;
    min-height: 0;
    overflow: visible;
  }

  .section-branch-separator picture,
  .section-branch-separator picture img {
    display: block;
    width: 100%;
    height: auto;
  }

  .section-branch-separator--special {
    margin-top: -9vw;
    margin-bottom: -5vw;
    padding: 0;
  }

  .section-branch-separator--special img {
    transform: translateY(-8vw);
  }


  .top-shop .-float-shop3 {
    right: -8vw;
    width: 28vw;
    top: 132vw;
  }

  .top-shop2 .sec3-txt__item > p {
    margin-bottom: 0.9em;
    font-size: 4.1vw;
    font-weight: 700;
    line-height: 1.25;
  }

  .top-shop2 .sec3-txt__item dl {
    grid-template-columns: 4.8em minmax(0, 1fr);
  }

  .top-shop2 .sec3-txt__item dt,
  .top-shop2 .sec3-txt__item dd {
    font-size: 2.9vw;
    line-height: 1.65;
  }


  .top-about .sec1-img {
    margin-bottom: 16vw;
  }

  .top-about {
    margin-bottom: 18vw !important;
  }

  .top-shop-photo2 + .float-separater {
    margin-top: -5vw;
    margin-bottom: -18vw;
  }

  .top-about + .section-branch-separator--news {
    margin-top: -18vw;
    margin-bottom: 6vw;
  }
}

@media screen and (min-width: 768px) {
  .section-branch-separator--special {
    margin-top: clamp(36px, 4vw, 64px);
    margin-bottom: clamp(36px, 4vw, 64px);
  }

  .top-shop2 .sec3-txt__item > p {
    font-size: clamp(1.1rem, 1.35vw, 1.5rem);
    font-weight: 700;
  }

  .top-shop2 .sec3-txt__item dl {
    font-size: clamp(0.82rem, 0.95vw, 1rem);
  }

  .top-shop-photo2 + .float-separater {
    margin-bottom: -5vw;
  }

  .top-about + .section-branch-separator--news {
    margin-top: -5vw;
  }
}


.top-shop-photo2 + .float-separater {
  display: block !important;
  position: relative !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  z-index: 10 !important;
}

.top-shop-photo2 + .float-separater .float-item {
  display: block !important;
  position: absolute !important;
  top: -70px !important;
  right: 0 !important;
  bottom: auto !important;
  left: 0 !important;
  width: 100% !important;
  height: 140px !important;
  overflow: hidden !important;
}

.top-shop-photo2 + .float-separater .float-item picture,
.top-shop-photo2 + .float-separater .float-item img {
  display: block !important;
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
}

@media screen and (max-width: 767px) {
  #top-message .cmn-top-title {
    margin-top: 26vw !important;
  }

  .top-about .sec1-img {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .top-products .obj_sp5a {
    display: block !important;
    top: 720.6666666667vw !important;
    left: 0 !important;
    width: 42.8vw !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 1 !important;
  }

  .top-products .obj_sp5a img {
    transform: none !important;
  }
}

@media screen and (min-width: 768px) {
  .top-shop-photo2 + .float-separater .float-item {
    top: -95px !important;
    height: 190px !important;
  }
}


.top-products .product-catalog__heading {
  position: relative !important;
  z-index: 12 !important;
  padding: 2.4vw 2.8vw 2.8vw;
  border-radius: 1.5vw;
  background: rgba(6, 28, 14, 0.72);
}

.top-products .product-catalog__heading > *,
.top-products .product-category-card__body {
  position: relative;
  z-index: 13;
  text-shadow: 0 2px 3px rgba(0, 0, 0, 0.95), 0 0 12px rgba(0, 0, 0, 0.85);
}

.top-products .-float-products4,
.top-products .-float-products6 {
  z-index: 1 !important;
  pointer-events: none;
}

.top-products .obj_sp4 {
  z-index: 1 !important;
}

.top-products .obj_sp5b {
  display: none !important;
}

.top-shop .-float-shop3 {
  display: none !important;
}

.top-shop2 + .float-separater,
.top-shop-photo2 + .float-separater {
  display: block !important;
  position: relative !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  z-index: 10 !important;
}

.top-shop2 + .float-separater .float-item,
.top-shop-photo2 + .float-separater .float-item {
  display: block !important;
  position: absolute !important;
  top: -105px !important;
  right: 0 !important;
  bottom: auto !important;
  left: 0 !important;
  width: 100% !important;
  height: 160px !important;
  overflow: hidden !important;
}

.top-shop2 + .float-separater .float-item picture,
.top-shop2 + .float-separater .float-item img,
.top-shop-photo2 + .float-separater .float-item picture,
.top-shop-photo2 + .float-separater .float-item img {
  display: block !important;
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
}

@media screen and (max-width: 767px) {
  .top-products .product-catalog {
    margin-top: 48vw !important;
  }

  .top-products .product-catalog__heading h3 {
    -webkit-text-stroke: 0.02em rgba(0, 0, 0, 0.45);
  }

  .top-products .obj_sp2 {
    right: 0 !important;
  }

  .top-products .obj_sp5a {
    display: block !important;
    top: 895vw !important;
    left: -30vw !important;
    width: 52vw !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 2 !important;
    pointer-events: none;
  }

  .top-products .obj_sp5b {
    display: block !important;
    top: 673.0666666667vw !important;
    left: 0 !important;
    width: 100vw !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 2 !important;
  }

  .top-shop2 .sec3-txt__item dl {
    min-width: 0 !important;
  }

  .top-shop2 .sec3-txt__item dd {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  .top-shop2 + .float-separater .float-item,
  .top-shop-photo2 + .float-separater .float-item {
    top: -105px !important;
    height: 160px !important;
  }
}

@media screen and (min-width: 768px) {
  .top-about .sec1-img {
    left: 28.6785714286% !important;
  }

  .top-shop2 + .float-separater .float-item,
  .top-shop-photo2 + .float-separater .float-item {
    top: -120px !important;
    height: 210px !important;
  }
}

@media screen and (max-width: 767px) {
  .top-about .-float-about3 {
    top: 252vw !important;
  }
}


.top-products .product-catalog__heading {
  position: relative !important;
  z-index: 12 !important;
  padding: 2.4vw 2.8vw 2.8vw;
  border-radius: 1.5vw;
  background: rgba(6, 28, 14, 0.72);
}

.top-products .product-catalog__heading > *,
.top-products .product-category-card__body {
  position: relative;
  z-index: 13;
  text-shadow: 0 2px 3px rgba(0, 0, 0, 0.95), 0 0 12px rgba(0, 0, 0, 0.85);
}

.top-products .-float-products4,
.top-products .-float-products6 {
  z-index: 1 !important;
  pointer-events: none;
}

.top-products .obj_sp4 {
  z-index: 1 !important;
}

.top-products .obj_sp5b {
  display: none !important;
}

.top-shop .-float-shop3 {
  display: none !important;
}


.top-shop2 + .float-separater,
.top-shop-photo2 + .float-separater {
  display: block !important;
  position: relative !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  z-index: 10 !important;
}

.top-shop2 + .float-separater .float-item,
.top-shop-photo2 + .float-separater .float-item {
  display: block !important;
  position: absolute !important;
  top: -105px !important;
  right: 0 !important;
  bottom: auto !important;
  left: 0 !important;
  width: 100% !important;
  height: 160px !important;
  overflow: hidden !important;
}

.top-shop2 + .float-separater .float-item picture,
.top-shop2 + .float-separater .float-item img,
.top-shop-photo2 + .float-separater .float-item picture,
.top-shop-photo2 + .float-separater .float-item img {
  display: block !important;
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
}

@media screen and (max-width: 767px) {
  .top-products .product-catalog {
    margin-top: 48vw !important;
  }

  .top-products .product-catalog__heading h3 {
    -webkit-text-stroke: 0.02em rgba(0, 0, 0, 0.45);
  }

  .top-products .obj_sp2 {
    right: 0 !important;
  }


  .top-products .obj_sp5a {
    display: block !important;
    top: 960vw !important;
    left: -20vw !important;
    width: 52vw !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 2 !important;
    pointer-events: none;
  }

  .top-products .obj_sp5b {
    display: block !important;
    top: 673.0666666667vw !important;
    left: 0 !important;
    width: 100vw !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 2 !important;
  }

  .top-shop2 .sec3-txt__item dl {
    min-width: 0 !important;
  }

  .top-shop2 .sec3-txt__item dd {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  .top-shop2 + .float-separater .float-item,
  .top-shop-photo2 + .float-separater .float-item {
    top: -105px !important;
    height: 160px !important;
  }
}

@media screen and (min-width: 768px) {
  .top-shop2 + .float-separater .float-item,
  .top-shop-photo2 + .float-separater .float-item {
    top: -120px !important;
    height: 210px !important;
  }
}


.top-shop-photo2 + .float-separater {
  display: block !important;
  position: relative !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  z-index: 10 !important;
}

.top-shop-photo2 + .float-separater .float-item {
  display: block !important;
  position: absolute !important;
  top: -70px !important;
  right: 0 !important;
  bottom: auto !important;
  left: 0 !important;
  width: 100% !important;
  height: 140px !important;
  overflow: hidden !important;
}

.top-shop-photo2 + .float-separater .float-item picture,
.top-shop-photo2 + .float-separater .float-item img {
  display: block !important;
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
}

@media screen and (max-width: 767px) {

  #top-message .cmn-top-title {
    margin-top: 26vw !important;
  }

  .top-about .sec1-img {
    margin-left: auto !important;
    margin-right: auto !important;
  }


  .top-products .obj_sp5a {
    display: block !important;
    top: 720.6666666667vw !important;
    left: 0 !important;
    width: 42.8vw !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 1 !important;
  }

  .top-products .obj_sp5a img {
    transform: none !important;
  }
}

@media screen and (min-width: 768px) {
  .top-shop-photo2 + .float-separater .float-item {
    top: -95px !important;
    height: 190px !important;
  }
}


.top-shop-photo2 + .float-separater {
  display: block !important;
  height: 0 !important;
  overflow: visible !important;
}

.top-shop-photo2 + .float-separater .float-item {
  display: block !important;
}


#top-message.oplantbased-message-bg-sticky .message-bg {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  left: 0 !important;
  width: 100% !important;
  height: 100vh !important;
  z-index: 0;
}

#top-message.oplantbased-message-bg-sticky .message-txt,
#top-message.oplantbased-message-bg-sticky .cmn-top-title {
  position: relative;
  z-index: 3;
}

#top-message.oplantbased-message-bg-sticky .message-float {
  transform: none !important;
}


#top-message .message-bg .message-bg-cover {
  background-color: rgba(2, 12, 23, 0.1) !important;
}


#top-message .message-txt .message-catch-text {
  display: block;
  color: #fff;
  font-size: clamp(20px, 2.2vw, 34px);
  line-height: 1.8;
  letter-spacing: 0.12em;
  text-align: center;
  white-space: nowrap;
}

#top-message .message-txt .message-catch-break {
  display: none;
}


#top-products .sec2-txt1-name .sec2-txt1-name__text {
  color: #fff;
  font-size: clamp(24px, 3vw, 48px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.14em;
  text-align: center;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}


#top-message > .-float-message1 {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

#top-message.oplantbased-message-entered > .-float-message1 {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}


@media screen and (max-width: 767px) {
  #top-products .sec2-txt1-name .sec2-txt1-name__text {
    font-size: 6.2vw;
    line-height: 1.6;
    letter-spacing: 0.1em;
  }

  #top-message .message-txt .message-catch-text {
    font-size: 5.2vw;
    line-height: 1.8;
    letter-spacing: 0.1em;
    white-space: normal;
  }

  #top-message .message-txt .message-catch-break {
    display: block;
  }


  #top-message .message-bg .message-charaL {
    width: 42.1333333333vw !important;
  }

  #top-message .message-bg .message-charaR {
    width: 36vw !important;
  }

  #top-message .message-bg .message-float {
    background-size: cover !important;
    background-position: 50% 50% !important;
    background-repeat: no-repeat !important;
  }

  #top-message.oplantbased-message-entered > .-float-message1 {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }

}


#float-separater1 {
  top: clamp(-64px, -3.5vw, -28px) !important;
  transform: none !important;
}


.section-branch-separator {
  position: relative;
  z-index: 9;
  height: clamp(130px, 12vw, 190px);
  margin-top: clamp(36px, 4vw, 64px);
  margin-bottom: clamp(18px, 2.5vw, 40px);
  overflow: hidden;
  pointer-events: none;
}

.section-branch-separator picture,
.section-branch-separator img {
  display: block;
  width: 100%;
  height: 100%;
}

.section-branch-separator img {
  object-fit: cover;
  object-position: 50% 50%;
}

.section-branch-separator--others img {
  object-position: 50% 53%;
}

.section-branch-separator--special img {
  object-position: 50% 48%;
}

.section-branch-separator--news {
  margin-top: clamp(14px, 1.5vw, 24px);
}


.top-shop-photo2 + .float-separater {
  top: clamp(-110px, -6vw, -42px);
}


#float-separater1.-show-1st .float-item-inner {
  opacity: var(--separator1-opacity, 0) !important;
  visibility: visible !important;
  filter: brightness(1) !important;
  transform: scale(1.142857143) translateY(0) !important;
  transition: none !important;
}

@media screen and (max-width: 767px) {
  #float-separater1 {
    top: -30vw !important;
  }

  .section-branch-separator {
    height: 43vw;
    margin-top: 3vw;
    margin-bottom: 7vw;
  }

  .section-branch-separator--news {
    margin-top: 4vw;
  }

  .top-shop-photo2 + .float-separater {
    top: -9vw;
  }

  #top-products {
    background-image: url("../img/common/bg_sp.webp");
    background-size: 100% auto;
    background-position: 50% 0;
    background-repeat: no-repeat;
  }

  .-no-webp #top-products {
    background-image: url("../img/common/bg_sp.webp");
  }
}


#top-message + .float-separater {
  position: relative !important;
  z-index: 9 !important;
  margin-top: clamp(-18px, -2.2vw, -6px) !important;
}


#top-message + .float-separater .float-item.-float2 {
  transform: translateY(0) !important;
}

#top-products {
  position: relative;
  z-index: 2;
}

#top-kv .img1.-show-1st {
  visibility: visible !important;
  opacity: 1 !important;
}


#top-kv.-init .img1,
#top-kv.-show-1st .img1 {
  transform: scale(1) !important;
}

#top-kv.-show-1st .img1 {
  transition: opacity 3s cubic-bezier(.445, .05, .55, .95) !important;
}


@media screen and (max-width: 767px) {
  .cmn-top-title .decoration {
    width: 32vw !important;
  }
}

@media screen and (min-width: 768px) {
  .cmn-top-title .decoration {
    width: 11.4% !important;
  }
}

@media screen and (min-width: 768px) {
  #top-products {
    background-image: url("../img/common/bg_pc@2x.webp");
    background-size: 100% auto;
    background-position: 50% 0;
    background-repeat: no-repeat;
  }

  .-no-webp #top-products {
    background-image: url("../img/common/bg_pc@2x.webp");
  }
}


#loading .loading-progress {
  display: none !important;
}


#loading .loading-brand-logo {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  width: min(42vw, 520px);
  height: auto;
  transform: translate(-50%, -50%);
  opacity: 1;
  pointer-events: none;
}

#loading .loading-brand-logo picture,
#loading .loading-brand-logo img {
  display: block;
  width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  #loading .loading-brand-logo {
    width: 68vw;
  }

  .top-kv .logo-sp {
    background-size: 68vw 68vw;
    background-position: 50% 50%;
    background-repeat: no-repeat;
  }
}


body.with-loading {
  position: relative;
  height: auto !important;
  min-height: 540vh;
  overflow-x: hidden;
  overflow-y: auto;
}


body.with-loading #container {
  max-width: none !important;
}

#oplantbased-scroll-intro {
  height: 440vh;
}

@media screen and (min-width: 768px) {
  body.with-loading {
    min-height: 760vh;
  }

  #oplantbased-scroll-intro {
    height: 660vh;
  }
}


body.with-loading #nav-open {
  display: flex !important;
  position: fixed !important;
  top: 24px;
  left: 24px;
  width: 74px !important;
  height: 44px !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  z-index: 140;
  visibility: hidden !important;
  opacity: 0 !important;
  transition: opacity 0.35s ease;
}

body.with-loading.oplantbased-menu-visible #nav-open {
  visibility: visible !important;
  opacity: 1 !important;
}

body.with-loading #nav-open.-hide {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.with-loading #nav-open .line {
  display: block !important;
  position: static !important;
  width: 24px !important;
  height: 1px !important;
  margin: 0 0 4px !important;
  transform: none !important;
  background: rgba(255, 255, 255, 0.95) !important;
}

body.with-loading #nav-open .txt {
  display: block !important;
  margin-top: 1px;
  color: #fff;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.12em;
}

.oplantbased-scroll-hint {
  position: fixed;
  z-index: 120;
  left: 50%;
  bottom: 26px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.9);
  font: 11px/1.2 "Noto Serif JP", serif;
  letter-spacing: 0.22em;
  transform: translateX(-50%);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.35s ease;
}

.oplantbased-scroll-hint i {
  display: block;
  width: 1px;
  height: 30px;
  background: currentColor;
  animation: oplantbased-scroll-arrow 1.5s ease-in-out infinite;
}

#loading .oplantbased-scroll-hint {
  position: absolute;
  z-index: 4;
  left: 50%;
  bottom: 72px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 0;
  color: #fff;
  background: transparent;
  border: 0;
  font: 700 22px/1.2 "Noto Serif JP", serif;
  letter-spacing: 0.24em;
  -webkit-text-stroke: 0;
  text-shadow:
    0 0 3px rgba(0, 0, 0, 0.95),
    0 0 7px rgba(0, 0, 0, 0.9),
    0 0 13px rgba(0, 0, 0, 0.82);
  white-space: nowrap;
  transform: translateX(-50%);
  pointer-events: none;
  opacity: var(--scroll-hint-opacity, 0.96);
  transition: opacity 0.45s ease;
}

#loading .oplantbased-scroll-hint i {
  position: relative;
  display: block;
  width: 16px;
  height: 58px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.96);
  border-radius: 999px;
  animation: none;
}

#loading .oplantbased-scroll-hint i::after {
  position: absolute;
  top: 5px;
  left: 50%;
  width: 8px;
  height: 8px;
  background: #b58b2d;
  border: 0;
  border-radius: 50%;
  content: "";
  transform: translateX(-50%);
  animation: oplantbased-scroll-ball 1.35s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

#loading.is-scroll-complete .oplantbased-scroll-hint {
  opacity: 0;
}

body.with-loading.oplantbased-kv-visible #top-kv.oplantbased-kv-pinned .oplantbased-scroll-hint {
  opacity: 1;
}


body.with-loading #cmn-nav {
  z-index: 130 !important;
}


body.with-loading #cmn-nav {
  pointer-events: none !important;
}

body.with-loading #cmn-nav.-show {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  z-index: 130 !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
}

body.with-loading #cmn-nav.-show .nav-shadow {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 0 !important;
  pointer-events: auto !important;
  background: rgba(0, 8, 12, 0.9) !important;
  background-image: none !important;
}

body.with-loading #cmn-nav.-show ul,
body.with-loading #cmn-nav.-show .nav-deco1,
body.with-loading #cmn-nav.-show .nav-deco2,
body.with-loading #cmn-nav.-show .nav-close {
  z-index: 1 !important;
}

body.with-loading #cmn-nav.-show ul {
  pointer-events: auto !important;
}

body.with-loading #cmn-nav.-show .nav-close {
  display: block !important;
  visibility: visible !important;
  position: absolute !important;
  top: 24px !important;
  right: 24px !important;
  width: 48px !important;
  height: 32px !important;
  pointer-events: auto !important;
}

body.with-loading #cmn-nav.-show .nav-close .line {
  display: block !important;
  position: absolute !important;
  top: 50% !important;
  left: 0 !important;
  width: 100% !important;
  height: 2px !important;
  margin: 0 !important;
  background: #fff !important;
  transform: rotate(-15deg) !important;
}

body.with-loading #cmn-nav.-show .nav-close .line:last-child {
  transform: rotate(15deg) !important;
}


@media screen and (max-width: 767px) {
  body.with-loading #cmn-nav.-show .nav-deco1,
  body.with-loading #cmn-nav.-show .nav-deco2 {
    width: 28vw !important;
  }

  body.with-loading #cmn-nav.-show .nav-deco1 {
    top: 1.5vw !important;
    left: 1.5vw !important;
  }

  body.with-loading #cmn-nav.-show .nav-deco2 {
    right: 1.5vw !important;
    bottom: 1.5vw !important;
  }
}

#loading {
  pointer-events: none !important;
}

#loading.kv-reveal-hidden {
  -webkit-mask-image: none !important;
  mask-image: none !important;
}


#loading .cover {
  opacity: 0 !important;
  pointer-events: none;
}


#loading .loading-obj1 { transform-origin: left top; }
#loading .loading-obj2 { transform-origin: left bottom; }
#loading .loading-obj3 { transform-origin: left center; }
#loading .loading-obj4 { transform-origin: right bottom; }
#loading .loading-obj5 { transform-origin: right bottom; }
#loading .loading-obj6 { transform-origin: right top; }

@keyframes oplantbased-scroll-ball {
  0% { transform: translate(-50%, 0); opacity: 0; }
  15% { opacity: 1; }
  78% { opacity: 1; }
  100% { transform: translate(-50%, 41px); opacity: 0; }
}

@media screen and (max-width: 767px) {
  body.with-loading #nav-open {
    top: 16px;
    left: 16px;
  }

  .oplantbased-scroll-hint {
    bottom: 18px;
    font-size: 9px;
  }

  #loading .oplantbased-scroll-hint {
    bottom: 46px;
    gap: 9px;
    font-size: 16px;
  }

  #loading .oplantbased-scroll-hint i {
    width: 14px;
    height: 48px;
  }

  #loading .oplantbased-scroll-hint i::after {
    width: 8px;
    height: 8px;
    animation-name: oplantbased-scroll-ball-sp;
  }
}

@keyframes oplantbased-scroll-ball-sp {
  0% { transform: translate(-50%, 0); opacity: 0; }
  15% { opacity: 1; }
  78% { opacity: 1; }
  100% { transform: translate(-50%, 32px); opacity: 0; }
}

@media screen and (min-width: 768px) {
  body.with-loading #nav-open {
    top: clamp(24px, 1.75vw, 36px);
    left: clamp(24px, 1.75vw, 36px);
    width: clamp(86px, 6vw, 116px) !important;
    height: clamp(50px, 3.5vw, 66px) !important;
  }

  body.with-loading #nav-open .line {
    width: clamp(30px, 2.1vw, 42px) !important;
    height: 2px !important;
    margin-bottom: 6px !important;
  }

  body.with-loading #nav-open .txt {
    font-size: clamp(11px, 0.72vw, 14px);
  }
}


#container.oplantbased-scroll-pinning {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  transform: none !important;
}

#container.oplantbased-scroll-released {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  transform: none !important;
}

#top-kv.oplantbased-kv-pinned {
  position: fixed;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100vh;
}

#top-kv.oplantbased-kv-pinned .shadow {
  opacity: var(--kv-shadow-opacity, 0) !important;
}

#top-kv.oplantbased-kv-pinned .logo-sp {
  opacity: var(--kv-logo-opacity, 0) !important;
  transition: none !important;
  will-change: opacity;
}

#top-kv.oplantbased-kv-pinned.-hide-vignette .vignette {
  opacity: 0;
  visibility: hidden;
  transition: none;
}


#oplantbased-kv-fog {
  position: fixed;
  z-index: 99;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  background-image:
    radial-gradient(circle at 50% 50%, rgba(0, 0, 0, 0.34), rgba(0, 17, 20, 0.14) 45%, rgba(0, 0, 0, 0) 76%),
    url('../img/common/loading_main_tex_sp.webp');
  background-position: center, center;
  background-size: 100% 100%, cover;
  background-blend-mode: normal;
  transition: opacity 0.25s linear;
}

#loading {
  --kv-reveal: 0%;
  -webkit-mask-image: radial-gradient(circle at 50% 50%, transparent 0, transparent var(--kv-reveal), #000 calc(var(--kv-reveal) + 5%));
  mask-image: radial-gradient(circle at 50% 50%, transparent 0, transparent var(--kv-reveal), #000 calc(var(--kv-reveal) + 5%));
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

#loading {
  transition: opacity 0.55s ease;
}

#loading.is-scroll-complete {
  opacity: 0;
  pointer-events: none;
  -webkit-mask-image: none;
  mask-image: none;
}

@media screen and (min-width: 768px) {
  #oplantbased-kv-fog {
    background-image:
      radial-gradient(circle at 50% 50%, rgba(0, 0, 0, 0.34), rgba(0, 17, 20, 0.14) 45%, rgba(0, 0, 0, 0) 76%),
      url('../img/common/loading_main_tex_pc.webp');
  }
}

@media (prefers-reduced-motion: reduce) {
  #oplantbased-kv-fog {
    display: none;
  }
}

#container.-show-1st {
  visibility: visible;
  opacity: 1;
}


@media screen and (max-width: 767px) {
  #loading .loading-obj5 {
    width: 40vw;
  }


  #loading .loading-obj6 {
    width: 72vw;
    transform-origin: right top;
  }

  #loading .loading-obj2 {
    width: 73vw;
  }
}


@media screen and (min-width: 768px) {
  #top-kv .shadow {
    width: clamp(180px, 14vw, 230px) !important;
    min-width: 0 !important;
    background-image: url('../img/top/kv/shadow.webp?v=20260803-pc-balance1') !important;
    filter: saturate(0.82) brightness(0.86) opacity(0.78);
  }

  #top-kv::after {
    content: '';
    position: absolute;
    z-index: 3;
    top: 0;
    right: 0;
    width: clamp(120px, 10vw, 165px);
    height: 100%;
    pointer-events: none;
    background: url('../img/top/kv/shadow.webp?v=20260803-pc-balance1') 0 0 / 100% 100% no-repeat;
    transform: scaleX(-1);
    transform-origin: 50% 50%;
    opacity: calc(var(--kv-shadow-opacity, 0) * 0.4);
    filter: saturate(0.78) brightness(0.82);
  }
}


.top-products .sec1-txt1-name {
  color: #edf4dd;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-shadow: 0 0 0.45em rgba(190, 227, 126, 0.42);
}

.top-products .sec1-txt1-name__title {
  font-family: Chonburi, "Noto Serif JP", serif;
  font-size: clamp(1.5rem, 3.2vw, 3.25rem);
  font-weight: 400;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.top-products .sec1-txt1-name__subtitle {
  margin-top: 0.75em;
  font-size: clamp(0.72rem, 1.15vw, 1.15rem);
  letter-spacing: 0.08em;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .top-products .sec1-txt1-name {
    width: 78vw;
    margin-top: 55vw;
  }

  .top-products .sec1-txt1-name__title {
    font-size: 7.2vw;
  }

  .top-products .sec1-txt1-name__subtitle {
    font-size: 2.8vw;
  }


  .top-products .obj_sp3a {
    right: 0 !important;
    width: 56vw !important;
  }


  .top-products .obj_sp2 {
    top: 141.666667vw !important;
    right: -24px !important;
    width: 48.533333vw !important;
  }


  .top-products .obj_sp3b {
    top: 250vw !important;
    left: 0 !important;
    width: 62.8vw !important;
  }


  .top-products .-float-products3 {
    top: 132vw !important;
    left: -39px !important;
    width: 53.266667vw !important;
  }


  .top-products .obj_sp4 {
    top: 540.333333vw !important;
    right: 0 !important;
    width: 99.8vw !important;
  }


  .top-products .obj_sp5a {
    display: none !important;
  }


  .top-products .sec4-btn {
    position: relative;
    margin: 3.3333333333vw auto 21.3333333333vw;
    width: 67.2vw;
    height: 14.7333333333vw;
    background-image: url("../img/top/products/btn_border_sp.webp");
    background-repeat: no-repeat;
    background-size: cover;
  }


  .top-products .-float-products4 {
    top: 587.333333vw !important;
    left: -30px !important;
    width: 40.866667vw !important;
  }


  .top-products .-float-products6 {
    top: 645.666667vw !important;
    right: 0 !important;
    width: 29.3333333333vw !important;
  }


  .top-products .-float-products7 {
    bottom: -12vw !important;
    left: -68px !important;
    width: 52.066667vw !important;
  }


  .top-products .sec3-txt1-name {
    width: 78vw;
  }

  .top-products .sec3-txt1-name__text {
    color: #edf4dd;
    font-family: "Noto Serif JP", serif;
    font-size: 7.2vw;
    font-weight: 600;
    letter-spacing: 0.12em;
    line-height: 1.4;
    text-align: center;
    text-shadow: 0 0 0.45em rgba(190, 227, 126, 0.42);
    white-space: nowrap;
  }


  .top-products .sec4-txt1-name {
    margin: 71.933333vw auto 5.6vw !important;
    width: 78vw;
  }

  .top-products .sec4-txt1-name__title {
    color: #edf4dd;
    font-family: Chonburi, "Noto Serif JP", serif;
    font-size: 7.2vw;
    font-weight: 400;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-align: center;
    text-shadow: 0 0 0.45em rgba(190, 227, 126, 0.42);
    white-space: nowrap;
  }

  .top-products .sec4-txt1-name__subtitle {
    color: #edf4dd;
    margin-top: 0.75em;
    font-size: 2.8vw;
    letter-spacing: 0.08em;
    line-height: 1.4;
    text-align: center;
    text-shadow: 0 0 0.45em rgba(190, 227, 126, 0.42);
    white-space: nowrap;
  }


  .top-others__items .item-txt__name {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .top-others__items .item-txt__name-text {
    color: #fff;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(1rem, 5.2vw, 2.1rem);
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1.25;
    text-align: center;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.42);
    white-space: nowrap;
  }


  .top-special-body__inner h3 {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .top-special-body__title {
    color: #fff;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(1.15rem, 5.8vw, 2.35rem);
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.45;
    text-align: center;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.38);
    white-space: nowrap;
  }


  #top-others .obj2 {
    top: -42vw;
    width: 47.666667vw;
  }
}


.top-others__items .item-img {
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: #15361e;
  box-shadow: 0 18px 42px rgba(5, 22, 12, 0.24);
}

.top-others__items .item-img picture,
.top-others__items .item-img img,
.top-news .thumb-wrapper picture,
.top-news .thumb-wrapper img {
  display: block;
  width: 100%;
  height: 100%;
}

.top-others__items .item-img img,
.top-news .thumb-wrapper img {
  object-fit: cover;
}

.top-news .thumb-wrapper {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #15361e;
}

@media screen and (max-width: 767px) {

  .top-products .sec3-txt1-name {
    margin-bottom: 7vw;
  }

  .top-products .sec3-txt1-exp {
    width: 84vw;
    margin-right: auto;
    margin-left: auto;
    line-height: 2;
  }

  .top-products .sec3-img {
    width: 86vw;
    height: auto;
    aspect-ratio: 3 / 2;
    margin: 18vw auto 0;
    overflow: hidden;
  }

  .top-products .sec3-img img {
    width: 100%;
    max-width: 100%;
    height: 100%;
    margin-left: 0;
    object-fit: cover;
  }


  .section-branch-separator {
    height: 24vw;
    margin-top: 16vw;
    margin-bottom: 16vw;
  }

  .section-branch-separator--news {
    margin-top: 18vw;
  }

  .top-others {
    margin-top: 28vw;
    padding-bottom: 42vw;
  }

  .top-others .cmn-top-title {
    margin-bottom: 22vw;
  }

  .top-others__items .item {
    margin-bottom: 26vw;
  }

  .top-others__items .item-img {
    margin-bottom: 10vw;
  }

  .top-others__items .item-txt__name {
    height: auto;
    min-height: 1.5em;
    margin-bottom: 5vw;
  }

  .top-others__items .item-txt__desc {
    margin-bottom: 7vw;
  }


  .top-shop2 + .float-separater,
  .top-shop-photo2 + .float-separater {
    display: none;
  }

  .top-shop-photo2 {
    height: auto;
    margin: 24vw 0 28vw;
    overflow: visible;
  }

  .top-shop-photo2 picture {
    display: block;
    width: 86vw;
    aspect-ratio: 1;
    margin: 0 auto;
    overflow: hidden;
    box-shadow: 0 18px 42px rgba(5, 22, 12, 0.24);
  }

  .top-shop-photo2 img {
    position: static;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .top-about {
    padding-top: 18vw;
    margin-bottom: 46vw;
  }

  .top-news .news-list {
    margin-top: 18vw;
  }

  .top-news .news-list .list__item {
    margin-bottom: 18vw;
  }
}

.top-products .product-catalog {
  position: relative;
  z-index: 5;
  color: #edf4dd;
  font-family: "Noto Serif JP", serif;
}

.top-products .product-catalog__heading {
  text-align: center;
}

.top-products .product-catalog__eyebrow {
  color: #bedb7d;
  font-family: Chonburi, "Noto Serif JP", serif;
  letter-spacing: 0.22em;
}

.top-products .product-catalog__heading h3 {
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.45;
  text-shadow: 0 0 0.45em rgba(190, 227, 126, 0.3);
}

.top-products .product-catalog__heading > p:last-child,
.top-products .product-catalog__note,
.top-products .product-category-card__body > p:last-child {
  letter-spacing: 0.08em;
  line-height: 1.75;
}

.top-products .product-catalog__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.top-products .product-category-card {
  min-width: 0;
}

.top-products .product-category-card__image {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #17351d;
  box-shadow: 0 1.1em 2.8em rgba(0, 8, 3, 0.34);
}

.top-products .product-category-card__image::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(220, 236, 175, 0.28);
  pointer-events: none;
}

.top-products .product-category-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.top-products .product-category-card__body {
  position: relative;
}

.top-products .product-category-card__number {
  color: #a9ca68;
  font-family: Chonburi, serif;
  letter-spacing: 0.12em;
}

.top-products .product-category-card h4 {
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.4;
}

.top-products .product-catalog__note {
  color: rgba(237, 244, 221, 0.7);
  text-align: center;
}

@media screen and (max-width: 767px) {
  .top-products .product-catalog {
    width: 90.666667vw;
    margin: 22vw auto 0;
  }

  .top-products .product-catalog__eyebrow {
    font-size: 2.666667vw;
  }

  .top-products .product-catalog__heading h3 {
    margin-top: 1.866667vw;
    font-size: 5.333333vw;
  }

  .top-products .product-catalog__heading > p:last-child {
    margin-top: 3.733333vw;
    font-size: 3.2vw;
  }

  .top-products .product-catalog__grid {
    column-gap: 3.733333vw;
    row-gap: 10.666667vw;
    margin-top: 10.666667vw;
  }

  .top-products .product-category-card--last {
    grid-column: 1 / -1;
    width: calc((100% - 3.733333vw) / 2);
    justify-self: center;
  }

  .top-products .product-category-card__image {
    border-radius: 1.6vw;
  }

  .top-products .product-category-card__image::after {
    border-radius: inherit;
  }

  .top-products .product-category-card__body {
    padding-top: 3.2vw;
  }

  .top-products .product-category-card__number {
    font-size: 2.4vw;
  }

  .top-products .product-category-card h4 {
    margin-top: 0.8vw;
    font-size: 3.733333vw;
  }

  .top-products .product-category-card__body > p:last-child {
    margin-top: 1.866667vw;
    font-size: 2.933333vw;
  }

  .top-products .product-catalog__note {
    margin-top: 9.333333vw;
    font-size: 2.666667vw;
  }

  .top-products .product-catalog + .sec3-txt1-name {
    margin-top: 22.666667vw !important;
  }
}

@media screen and (min-width: 768px) {
  .top-products .product-catalog {
    position: absolute;
    top: 145vw;
    left: 50%;
    width: min(74vw, 1184px);
    transform: translateX(-50%);
  }

  .top-products .product-catalog__eyebrow {
    font-size: clamp(0.68rem, 0.82vw, 0.92rem);
  }

  .top-products .product-catalog__heading h3 {
    margin-top: 0.55vw;
    font-size: clamp(1.35rem, 2vw, 2rem);
  }

  .top-products .product-catalog__heading > p:last-child {
    margin-top: 0.75vw;
    font-size: clamp(0.72rem, 0.9vw, 0.95rem);
  }

  .top-products .product-catalog__grid {
    column-gap: 2.6vw;
    row-gap: 1.55vw;
    margin-top: 2.2vw;
  }

  .top-products .product-category-card {
    display: grid;
    grid-template-columns: 11vw minmax(0, 1fr);
    column-gap: 1.25vw;
    align-items: center;
    min-height: 8.25vw;
    padding: 0.65vw;
    background: linear-gradient(90deg, rgba(13, 45, 22, 0.82), rgba(23, 69, 32, 0.44));
    border: 1px solid rgba(198, 224, 139, 0.2);
  }

  .top-products .product-category-card--last {
    grid-column: 1 / -1;
    width: calc((100% - 2.6vw) / 2);
    justify-self: center;
  }

  .top-products .product-category-card__image {
    border-radius: 0.35vw;
  }

  .top-products .product-category-card__image::after {
    border-radius: inherit;
  }

  .top-products .product-category-card__number {
    font-size: clamp(0.6rem, 0.72vw, 0.78rem);
  }

  .top-products .product-category-card h4 {
    margin-top: 0.15vw;
    font-size: clamp(0.88rem, 1.1vw, 1.2rem);
  }

  .top-products .product-category-card__body > p:last-child {
    margin-top: 0.35vw;
    font-size: clamp(0.65rem, 0.78vw, 0.84rem);
  }

  .top-products .product-catalog__note {
    margin-top: 1.3vw;
    font-size: clamp(0.62rem, 0.72vw, 0.76rem);
  }
}

@media screen and (min-width: 768px) {
  .top-products .sec1-txt1-name {
    width: 28%;
    top: 25%;
  }

  .top-products .sec3-txt1-name {
    width: 30%;
  }

  .top-products .sec3-txt1-name__text {
    color: #edf4dd;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(1.75rem, 3vw, 3rem);
    font-weight: 600;
    letter-spacing: 0.12em;
    line-height: 1.4;
    text-align: center;
    text-shadow: 0 0 0.45em rgba(190, 227, 126, 0.42);
    white-space: nowrap;
  }

  .top-products .sec4-txt1-name {
    width: 30%;
  }

  .top-products .sec4-txt1-name__title {
    color: #edf4dd;
    font-family: Chonburi, "Noto Serif JP", serif;
    font-size: clamp(1.75rem, 3vw, 3rem);
    font-weight: 400;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-align: center;
    text-shadow: 0 0 0.45em rgba(190, 227, 126, 0.42);
    white-space: nowrap;
  }

  .top-products .sec4-txt1-name__subtitle {
    color: #edf4dd;
    margin-top: 0.75em;
    font-size: clamp(0.72rem, 1.15vw, 1.15rem);
    letter-spacing: 0.08em;
    line-height: 1.4;
    text-align: center;
    text-shadow: 0 0 0.45em rgba(190, 227, 126, 0.42);
    white-space: nowrap;
  }


  .top-others__items .item-txt__name {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .top-others__items .item-txt__name-text {
    color: #fff;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(1.5rem, 2.3vw, 2.5rem);
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1.25;
    text-align: center;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.42);
    white-space: nowrap;
  }


  .top-special-body__inner h3 {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .top-special-body__title {
    color: #fff;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(1.35rem, 1.9vw, 2.1rem);
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.45;
    text-align: center;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.38);
    white-space: nowrap;
  }
}


.top-message .message-txt {
  margin-top: clamp(96px, 7vw, 150px);
}

.top-products .sec2-txt1-name,
.top-products .sec2-txt1-exp,
.top-products .sec2-products-btn,
.top-products .sec2-products {
  display: block !important;
}

.top-products .sec2-products-btn {
  display: flex !important;
}

.top-products .obj_sp5b {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 2;
}

.top-products .sec3-txt1-name,
.top-products .sec3-txt1-exp,
.top-products .sec3-img {
  position: relative;
  z-index: 3;
}

.top-shop .-float-shop3 {
  right: 0;
  width: 22.3571428571%;
  z-index: 1;
}

.top-shop .sec1-txt,
.top-shop .sec2-photos {
  position: relative;
  z-index: 2;
}

.top-shop2 .sec3-txt__item > p {
  font-weight: 700;
}

.top-shop2 .sec3-txt__item dd {
  font-weight: 400;
}


.top-shop-photo2 + .float-separater {
  position: relative;
  z-index: 10;
  margin-bottom: -12vw;
}

.top-about + .section-branch-separator--news {
  position: relative;
  z-index: 10;
  margin-top: -14vw;
  margin-bottom: 8vw;
}

@media screen and (max-width: 767px) {
  .top-message .message-txt {
    margin-top: 26vw;
  }


  .top-products .sec2-txt1-name {
    display: block !important;
    margin-top: 52.6666666667vw;
  }

  .top-products .sec2-txt1-exp,
  .top-products .sec2-products,
  .top-products .sec2-products-btn {
    display: block !important;
  }

  .top-products .sec2-products-btn {
    display: flex !important;
  }

  .top-products .product-catalog {
    width: 90.666667vw;
    margin-top: 20vw;
    padding: 0;
  }


  .top-products .obj_sp5b {
    top: 673.0666666667vw !important;
    left: 0 !important;
    width: 100vw !important;
    z-index: 2 !important;
  }

  .top-products .sec3-txt1-name,
  .top-products .sec3-txt1-exp {
    z-index: 4;
  }

  .top-others__items .item--store-limited .item-img {
    aspect-ratio: 16 / 9;
  }

  .top-others__items .item--store-limited .item-img img {
    object-fit: cover;
    object-position: center;
  }


  .section-branch-separator,
  .section-branch-separator--special {
    height: auto;
    min-height: 0;
    overflow: visible;
  }

  .section-branch-separator picture,
  .section-branch-separator picture img {
    display: block;
    width: 100%;
    height: auto;
  }

  .section-branch-separator--special {
    margin-top: -9vw;
    margin-bottom: -5vw;
    padding: 0;
  }

  .section-branch-separator--special img {
    transform: translateY(-8vw);
  }


  .top-shop .-float-shop3 {
    right: -8vw;
    width: 28vw;
    top: 132vw;
  }

  .top-shop2 .sec3-txt__item > p {
    margin-bottom: 0.9em;
    font-size: 4.1vw;
    font-weight: 700;
    line-height: 1.25;
  }

  .top-shop2 .sec3-txt__item dl {
    grid-template-columns: 4.8em minmax(0, 1fr);
  }

  .top-shop2 .sec3-txt__item dt,
  .top-shop2 .sec3-txt__item dd {
    font-size: 2.9vw;
    line-height: 1.65;
  }


  .top-about .sec1-img {
    margin-bottom: 16vw;
  }

  .top-shop-photo2 + .float-separater {
    margin-top: -5vw;
    margin-bottom: -18vw;
  }

  .top-about + .section-branch-separator--news {
    margin-top: -18vw;
    margin-bottom: 6vw;
  }
}

@media screen and (min-width: 768px) {
  .top-shop2 .sec3-txt__item > p {
    font-size: clamp(1.1rem, 1.35vw, 1.5rem);
    font-weight: 700;
  }

  .top-shop2 .sec3-txt__item dl {
    font-size: clamp(0.82rem, 0.95vw, 1rem);
  }

  .top-shop-photo2 + .float-separater {
    margin-bottom: -5vw;
  }

  .top-about + .section-branch-separator--news {
    margin-top: -5vw;
  }
}


@media screen and (min-width: 768px) {

  .top-products .product-catalog {
    top: 165vw !important;
  }

  .top-products .obj_sp5a {
    display: none !important;
  }
}

.top-products .product-catalog__heading {
  position: relative !important;
  z-index: 12 !important;
  padding: 2.4vw 2.8vw 2.8vw;
  border-radius: 1.5vw;
  background: rgba(6, 28, 14, 0.72);
}

.top-products .product-catalog__heading > *,
.top-products .product-category-card__body {
  position: relative;
  z-index: 13;
  text-shadow: 0 2px 3px rgba(0, 0, 0, 0.95), 0 0 12px rgba(0, 0, 0, 0.85);
}

.top-products .-float-products4,
.top-products .-float-products6 {
  z-index: 1 !important;
  pointer-events: none;
}

.top-products .obj_sp4 {
  z-index: 1 !important;
}

.top-products .obj_sp5b,
.top-shop .obj_pc1,
.top-shop .obj_sp1 {
  display: none !important;
}


.top-shop .-float-shop3 {
  display: block !important;
  z-index: 1 !important;
}


.top-shop-photo2 > picture,
.top-shop-photo2 > picture > img {
  width: 120% !important;
  max-width: none !important;
}

.top-shop-photo2 > picture > img {
  left: -10% !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
}

.top-shop-photo2 {
  overflow: hidden !important;
}

.top-shop2 + .float-separater,
.top-shop-photo2 + .float-separater {
  display: block !important;
  position: relative !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  z-index: 10 !important;
}

.top-shop2 + .float-separater .float-item,
.top-shop-photo2 + .float-separater .float-item {
  display: block !important;
  position: absolute !important;
  top: -105px !important;
  right: 0 !important;
  bottom: auto !important;
  left: 0 !important;
  width: 100% !important;
  height: 160px !important;
  overflow: hidden !important;
}

.top-shop2 + .float-separater .float-item picture,
.top-shop2 + .float-separater .float-item img,
.top-shop-photo2 + .float-separater .float-item picture,
.top-shop-photo2 + .float-separater .float-item img {
  display: block !important;
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
}

@media screen and (max-width: 767px) {
  #top-kv.oplantbased-kv-pinned {
    height: 100vh;
    height: 100svh;
  }

  #top-message .message-bg,
  #top-message.oplantbased-message-bg-sticky .message-bg {
    position: absolute !important;
    top: 0 !important;
    right: auto !important;
    bottom: auto !important;
    left: 0 !important;
    width: 100% !important;
    height: 100vh !important;
    height: 100svh !important;
  }

  #top-message .cmn-top-title {
    margin-top: 38vw !important;
  }

  .top-products .product-catalog {
    margin-top: 48vw !important;
  }

  .top-products .product-catalog__heading h3 {
    -webkit-text-stroke: 0.02em rgba(0, 0, 0, 0.45);
  }

  .top-products .obj_sp2 {
    right: 0 !important;
  }

  .top-about .sec1-img {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .top-products .obj_sp5a {
    display: block !important;
    top: 1110vw !important;
    left: 0 !important;
    margin-left: 0 !important;
    width: 60vw !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 2 !important;
    pointer-events: none;
  }

  .top-products .obj_sp5a img {
    transform: translate3d(-105%, 0, 0) !important;
    transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    will-change: transform;
  }

  .top-products .obj_sp5a.-inview img {
    transform: translate3d(0, 0, 0) !important;
  }

  .top-products .obj_sp5b {
    display: block !important;
    top: 673.0666666667vw !important;
    left: 0 !important;
    width: 100vw !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 2 !important;
  }

  .top-shop2 .sec3-txt__item dl {
    min-width: 0 !important;
  }

  .top-shop2 .sec3-txt__item dd {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }


  .top-shop-photo2 > picture {
    margin-right: 0 !important;
    margin-left: -10% !important;
  }

  .top-shop-photo2 > picture > img {
    width: 100% !important;
    max-width: none !important;
    left: 0 !important;
  }


  .top-shop2 + .float-separater .float-item {
    top: -80px !important;
  }

  .top-shop-photo2 + .float-separater .float-item {
    top: -130px !important;
  }

  .top-about {
    margin-top: -5vw !important;
    padding-top: 23vw !important;
  }
}

@media screen and (min-width: 768px) {
  .top-shop2 + .float-separater .float-item {
    top: -100px !important;
    height: 210px !important;
  }

  .top-shop-photo2 + .float-separater .float-item {
    top: -140px !important;
    height: 210px !important;
  }
}


@media screen and (min-width: 768px) and (max-width: 1199px) {

  #float-separater1 {
    top: 0 !important;
  }

  #top-message .message-txt {
    text-align: center !important;
  }

  #top-message .message-bg .message-charaL {
    right: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 30vw !important;
  }

  #top-message .message-bg .message-charaR {
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: 22vw !important;
  }


  #top-products .sec2-products {
    left: 0 !important;
    width: 100% !important;
  }

  #top-products {
    min-height: 420vw !important;
  }

  #top-products .product-catalog {
    top: 240vw !important;
  }

  #top-products .sec3-txt1-name {
    position: absolute !important;
    top: 325vw !important;
  }

  #top-products .sec3-txt1-exp {
    position: absolute !important;
    top: 330vw !important;
  }

  #top-products .sec3-img {
    position: absolute !important;
    top: 325vw !important;
  }

  #top-products .sec4-txt1-name {
    top: 375vw !important;
  }

  #top-products .sec4-txt1-exp {
    top: 383vw !important;
  }
}


@media screen and (min-width: 768px) and (max-width: 1199px) {

  #float-separater1 {
    top: 0 !important;
  }

  #float-separater1 .float-item-inner img {
    transform: translateY(-42%) !important;
  }


  #top-message .message-txt .message-catch-text {
    display: block !important;
    max-width: 18em !important;
    margin-right: auto !important;
    margin-left: auto !important;
    white-space: normal !important;
    text-align: center !important;
  }

  #top-message .message-txt .message-catch-break {
    display: block !important;
  }


  #top-message .message-floatB {
    overflow: hidden !important;
    height: 66.6666666667% !important;
  }

  #top-message .message-floatB img {
    display: none !important;
  }

  #top-message .message-floatB::before,
  #top-message .message-floatB::after {
    position: absolute;
    bottom: 0;
    width: 50%;
    height: 100%;
    content: "";
    background-image: url("../img/top/message/bg_bottom_pc.webp");
    background-repeat: no-repeat;
    background-size: 200% auto;
    pointer-events: none;
  }

  #top-message .message-floatB::before {
    left: 0;
    background-position: left bottom;
    transform: scale(0.72);
    transform-origin: left bottom;
  }

  #top-message .message-floatB::after {
    right: 0;
    background-position: right bottom;
    transform: scale(0.72);
    transform-origin: right bottom;
  }


  #top-products .product-category-card {
    min-width: 0 !important;
    grid-template-columns: minmax(0, 30%) minmax(0, 1fr) !important;
    align-items: center !important;
  }

  #top-products .product-category-card__image,
  #top-products .product-category-card__body {
    min-width: 0 !important;
  }

  #top-products .product-category-card__body {
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }


  #top-products .sec3-txt1-name,
  #top-products .sec3-txt1-exp {
    left: 7% !important;
    width: 35% !important;
    z-index: 6 !important;
  }

  #top-products .sec3-img {
    left: 52% !important;
    width: 42% !important;
    z-index: 4 !important;
  }


  #top-products .obj_sp5a {
    display: block !important;
    top: 330vw !important;
    left: -10vw !important;
    width: 36vw !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 2 !important;
    pointer-events: none !important;
  }

  #top-products .obj_sp5a img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    transform: none !important;
  }


  .section-branch-separator {
    height: 260px !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .section-branch-separator picture,
  .section-branch-separator picture img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
  }

  .section-branch-separator img {
    object-fit: cover !important;
    object-position: 50% 45% !important;
  }

  .section-branch-separator--others img {
    object-position: 50% 44% !important;
  }

  .section-branch-separator--special img {
    object-position: 50% 46% !important;
  }

  .section-branch-separator--news img {
    object-position: 50% 45% !important;
  }


  #top-shop2 .sec3-txt__item dl {
    min-width: 0 !important;
  }

  #top-shop2 .sec3-txt__item dt {
    width: 22% !important;
  }

  #top-shop2 .sec3-txt__item dd {
    width: 78% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }
}
