/* ========================================================================
   NUBOW visual renewal
   White canvas / logo-derived purple and green / soft rounded components
   Loaded after page.css so the approved rough visual system wins safely.
======================================================================== */
:root {
  --nubow-ink: #27292b;
  --nubow-muted: #687175;
  --nubow-line: #e1e5e3;
  --nubow-purple: #7167aa;
  --nubow-purple-deep: #5c5197;
  --nubow-lavender: #f2f0f8;
  --nubow-green: #39716c;
  --nubow-mint: #edf6f3;
  --nubow-orange: #b66f45;
  --nubow-warm: #faf5ed;
  --nubow-white: #fff;
  --nubow-radius-sm: 1.2rem;
  --nubow-radius-md: 1.8rem;
  --nubow-radius-lg: 2.6rem;
  --nubow-shadow: 0 1.4rem 3.6rem rgba(38, 45, 45, .08);
}

html {scroll-behavior: smooth;}
body {background: var(--nubow-white); color: var(--nubow-ink);}
a:hover {opacity: .82;}
main {padding-top: 8.4rem;}

/* Header */
body > header {
  height: 8.4rem;
  padding: 0 4rem;
  border-bottom: .1rem solid var(--nubow-line);
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 .4rem 1.8rem rgba(35, 42, 42, .04);
  backdrop-filter: blur(1rem);
}
body > header .inner {max-width: 132rem;}
body > header .logo {width: 18rem;}
body > header .logo img {max-width: 18rem; max-height: 5.2rem; object-fit: contain; object-position: left center;}
body > header .menu {gap: .3rem; border: 0;}
body > header .menu .item {border: 0;}
body > header .menu .item a {
  height: 4.6rem;
  padding: 0 1.5rem;
  border-radius: 999rem;
  color: var(--nubow-ink);
  font-size: var(--font-size-sm);
  letter-spacing: .03em;
}
body > header .menu .item a.has-child:after {display: none;}
body > header .menu .header-order a {padding: 0 2rem; background: var(--nubow-purple); color: #fff;}
body > header .menu .header-order a:visited {color: #fff;}
.header-phone {display: none;}
.mega-menu {top: 8.4rem; height: auto; min-height: 8.8rem; border-bottom-color: var(--nubow-line); box-shadow: var(--nubow-shadow);}
.mega-menu .inner {height: auto; min-height: 8.8rem; gap: 3.4rem;}
.mega-menu .menu-box a {color: var(--nubow-ink); font-size: var(--font-size-md);}

/* Global buttons and page frame */
.cmn-button,
.service-catalog-button,
.corporate-final-cta a,
.corporate-contact,
.point-program__closing a {
  border: .1rem solid var(--nubow-purple);
  border-radius: 999rem;
  background: var(--nubow-purple);
  color: #fff;
  box-shadow: none;
}
.cmn-button:visited,
.service-catalog-button:visited {color: #fff;}
.cmn-button:after {background-image: none; width: .8rem; height: .8rem; border-top: .15rem solid currentColor; border-right: .15rem solid currentColor; transform: rotate(45deg);}
.cmn-title {padding-left: 0; color: var(--nubow-ink); line-height: 1.45;}
.cmn-title:before {display: none;}

#page {background: #fff; color: var(--nubow-ink);}
#page .page-header {border-bottom: .1rem solid var(--nubow-line); background: #fff;}
#page .page-header .inner {max-width: 121.6rem; padding: 4.6rem 0 5.2rem;}
#page .page-header .breadcrumbs {padding: 0 0 3rem; color: var(--nubow-muted);}
#page .page-header .breadcrumbs a {color: var(--nubow-muted);}
#page .page-header .main-title h1,
#page .page-header .main-title h2 {font-size: var(--font-size-4xl); letter-spacing: .04em;}
#page .main-content {max-width: 121.6rem; margin-top: 6.4rem; padding-left: 0; padding-right: 0;}
#page .main-content p {color: #465054;}

/* Top page */
#top {background: #fff; color: var(--nubow-ink);}
#top .inner {max-width: 121.6rem;}
#top .fv {padding: 3rem 4rem 0; background: #fff;}
#top .fv .wrapper {position: relative; max-width: 132rem; margin: 0 auto; overflow: hidden; border-radius: 2.8rem;}
#top .fv-static {height: min(64rem, calc(100vh - 13rem)); min-height: 48rem;}
#top .fv-static img {width: 100%; height: 100%; object-fit: cover; object-position: center;}
#top .fv-copy {position: absolute; left: 5.6rem; bottom: 5.2rem; max-width: 55rem; padding: 2.6rem 3rem; border-radius: 2rem; background: rgba(255,255,255,.9); backdrop-filter: blur(.8rem);}
#top .fv-copy__concept {margin: 0; color: var(--nubow-purple-deep); font-family: Georgia, "Nanum Myeongjo", serif; font-size: var(--font-size-4xl); font-weight: 700; letter-spacing: .04em; line-height: 1.2;}
#top .fv-copy__lead {margin-top: 1.2rem; color: var(--nubow-ink); font-size: var(--font-size-md); line-height: 1.8;}
#top > section:not(.fv) {padding: 8.2rem 0; background: #fff;}
#top .cmn-title {font-size: var(--font-size-3xl);}
#top .section-kicker {margin-bottom: .8rem; color: var(--nubow-green); font-size: var(--font-size-xs); font-weight: 700; letter-spacing: .16em;}
#top .section-lead {max-width: 72rem; margin-top: 1.3rem; color: var(--nubow-muted); font-size: var(--font-size-md); line-height: 1.9;}
#top .news {padding-top: 4.8rem; border-bottom: .1rem solid var(--nubow-line);}
#top .news .list {margin-top: 2.4rem; border-top: .1rem solid var(--nubow-ink);}
#top .news .item {display: grid; grid-template-columns: 13rem minmax(0,1fr) auto; gap: 2.4rem; align-items: center; min-height: 8.8rem; padding: 1.5rem .6rem; border-bottom: .1rem solid var(--nubow-line);}
#top .news .date {color: var(--nubow-muted); font-size: var(--font-size-sm);}
#top .news .content {font-size: var(--font-size-md); font-weight: 600; line-height: 1.65;}
#top .news .detail-button {display: inline-flex; align-items: center; justify-content: center; min-width: 11rem; min-height: 4rem; border: .1rem solid var(--nubow-line); border-radius: 999rem; color: var(--nubow-purple-deep); font-size: var(--font-size-sm);}
#top .news-link {display: flex; justify-content: flex-start; margin-top: 2.8rem;}
#top .news-link .cmn-button {max-width: 22rem; height: 5.2rem; font-size: var(--font-size-sm);}
#top .shop {background: #fff;}
#top .shop .list {display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 2.4rem; margin-top: 3rem;}
#top .shop .item {overflow: hidden; border: .1rem solid var(--nubow-line); border-radius: 2.2rem; background: #fff;}
#top .shop .item > img {display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover;}
#top .shop .item h3,
#top .shop .item > p,
#top .shop .shop-buttons {margin-left: 2.2rem; margin-right: 2.2rem;}
#top .shop .item h3 {margin-top: 2rem; font-size: var(--font-size-xl); line-height: 1.45;}
#top .shop .item .address {margin-top: .8rem; color: var(--nubow-purple-deep); font-size: var(--font-size-sm);}
#top .shop .item .hours {margin-top: .5rem; color: var(--nubow-muted); font-size: var(--font-size-sm);}
#top .shop .shop-buttons {display: flex; align-items: center; gap: 1rem; padding: 2rem 0 2.2rem;}
#top .shop .detail-button {display: inline-flex; flex: 1 1 auto; min-height: 4.6rem; align-items: center; justify-content: center; border-radius: 999rem; background: var(--nubow-purple); color: #fff; font-size: var(--font-size-sm);}
#top .shop-icon-button {display: inline-flex; width: 4.6rem; height: 4.6rem; overflow: hidden; border-radius: 50%;}
#top .shop-icon-button img {width: 100%; height: 100%; object-fit: cover;}
#top .shop-link {display: flex; justify-content: flex-start; margin-top: 3rem;}
#top .shop-link .cmn-button {max-width: 24rem; height: 5.2rem; font-size: var(--font-size-sm);}
#top .purpose-nav {background: var(--nubow-mint);}
#top .site-lead {font-size: var(--font-size-3xl); line-height: 1.45;}
#top .site-lead-text {max-width: 76rem; margin-top: 1.6rem; color: #465054; font-size: var(--font-size-md); line-height: 1.9;}
#top .purpose-list {display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1.3rem; margin-top: 3rem;}
#top .purpose-item {display: flex; min-height: 9rem; padding: 1.8rem; flex-direction: column; align-items: flex-start; justify-content: center; border: .1rem solid #d8e5e1; border-radius: 1.8rem; background: #fff; color: var(--nubow-ink); font-size: var(--font-size-md); font-weight: 700; line-height: 1.5;}
#top .purpose-item small {margin-top: .5rem; color: var(--nubow-green); font-size: var(--font-size-xs); font-weight: 500;}
#top .purpose-item--urgent {border-color: #d9d3ea; background: var(--nubow-lavender);}
#top .purpose-list--scenes {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2.4rem;}
#top .purpose-item--illustrated {min-height: 25rem; padding: 0; display: grid; grid-template-columns: 44% minmax(0,1fr); overflow: hidden;}
#top .purpose-item--illustrated img {width: 100%; height: 100%; object-fit: cover;}
#top .purpose-item--illustrated span {display: flex; padding: 2.6rem; flex-direction: column; justify-content: center;}
#top .purpose-item--illustrated strong {font-size: var(--font-size-xl);}
#top .flower-gift {background: #fff;}
#top .flower-gift .list {display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 2.2rem 1.7rem; margin-top: 3rem;}
#top .flower-gift .item {overflow: hidden; border: .1rem solid var(--nubow-line); border-radius: 2rem; background: #fff;}
#top .flower-gift__image {aspect-ratio: 4 / 5; overflow: hidden; background: #f5f2ec;}
#top .flower-gift__image img {width: 100%; height: 100%; object-fit: contain;}
#top .flower-gift__body {padding: 1.7rem 1.8rem 2rem;}
#top .flower-gift__body h3 {font-size: var(--font-size-lg); line-height: 1.45;}
#top .flower-gift__price {margin-top: .7rem; color: var(--nubow-purple-deep); font-size: var(--font-size-md); font-weight: 700;}
#top .flower-gift__link {display: inline-block; margin-top: 1.2rem; color: var(--nubow-green); font-size: var(--font-size-sm); font-weight: 700;}
#top .service-link {display: flex; margin-top: 3rem;}
#top .service-link .cmn-button {max-width: 26rem; height: 5.2rem; font-size: var(--font-size-sm);}
#top .home-corporate {padding: 0 4rem 8.2rem; background: #fff;}
#top .home-corporate__inner {display: grid; grid-template-columns: minmax(0,1fr) 40rem; gap: 5rem; align-items: center; max-width: 121.6rem; margin: 0 auto; padding: 4rem 5rem; overflow: hidden; border-radius: 2.8rem; background: var(--nubow-purple); color: #fff;}
#top .home-corporate h2 {font-size: var(--font-size-3xl); line-height: 1.45;}
#top .home-corporate p {margin-top: 1.2rem; font-size: var(--font-size-md); line-height: 1.9;}
#top .home-corporate__links {display: flex; gap: 1rem; margin-top: 2.2rem;}
#top .home-corporate__links a {display: inline-flex; min-height: 4.8rem; padding: 0 2rem; align-items: center; justify-content: center; border: .1rem solid #fff; border-radius: 999rem; background: #fff; color: var(--nubow-purple-deep); font-size: var(--font-size-sm); font-weight: 700;}
#top .home-corporate__links a:last-child {background: transparent; color: #fff;}
#top .home-corporate__visual img {width: 100%; max-height: 27rem; object-fit: contain;}
#top .order-method {background: var(--nubow-lavender);}
#top .order-method .list {display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.4rem; margin-top: 3rem;}
#top .order-method .item {padding: 2rem; border-radius: 1.8rem; background: #fff;}
#top .order-method .item h3 {font-size: var(--font-size-lg);}
#top .order-method .item p {margin-top: .8rem; color: var(--nubow-muted); font-size: var(--font-size-sm); line-height: 1.7;}
#top .order-method .detail-button {display: inline-flex; margin-top: 1.5rem; color: var(--nubow-purple-deep); font-size: var(--font-size-sm); font-weight: 700;}
#top .order-link {display: flex; margin-top: 3rem;}
#top .order-link .cmn-button {max-width: 25rem; height: 5.2rem; font-size: var(--font-size-sm);}

/* Shop list and detail */
#page.shop-info .main-content {margin-top: 6.4rem;}
#page.shop-info .tab-menu {gap: .8rem; padding: .8rem; border-radius: 1.8rem; background: var(--nubow-lavender);}
#page.shop-info .tab-menu .tab,
#page.shop-info .tab-menu .tab a {height: 4.8rem; border: 0; border-radius: 999rem; background: transparent; color: var(--nubow-purple-deep); font-size: var(--font-size-md);}
#page.shop-info .tab-menu .is-active,
#page.shop-info .tab-menu .is-active a {background: var(--nubow-purple); color: #fff;}
#page.shop-info .shop-list .list {gap: 3.2rem;}
#page.shop-info .shop-list .list .item {gap: 3.2rem; padding: 2.2rem; border: .1rem solid var(--nubow-line); border-radius: 2.4rem;}
#page.shop-info .shop-list .list .item > .store-card-image {border-radius: 1.8rem;}
#page.shop-info .shop-list .list .item > .store-card-image img {min-height: 35rem; aspect-ratio: 4 / 3;}
#page.shop-info .shop-list .list .item h4 {border-bottom-color: var(--nubow-line);}
#page.shop-info .shop-list .list .item h4 span {color: var(--nubow-purple-deep);}
#page.shop-info .store-card-info,
#page.shop-info .store-quick-info,
#page.shop-info .store-common-info {border-radius: 1.7rem; background: var(--nubow-mint);}
#page.shop-info .store-card-actions .more {background: var(--nubow-purple);}
#page.shop-info .store-card-icon {border-radius: 50%;}
#page.shop-info .shop-image-wrap > img,
#page.shop-info .store-photo-gallery img {border-radius: 2rem;}
#page.shop-info .store-map-link,
#page.shop-info .store-instagram-link,
#page.shop-info .honten .box p a {color: var(--nubow-green);}
#page.shop-info .store-quick-info__links {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem;}
#page.shop-info .store-quick-info__links a {display: flex; min-height: 4.8rem; padding: .8rem 1.4rem; align-items: center; justify-content: center; border-radius: 999rem; text-align: center;}
#page.shop-info .store-google-primary {display: inline-flex; min-height: 5.4rem; margin: 1.8rem 0 2rem; padding: 1rem 2rem; align-items: center; justify-content: center; border-radius: 999rem; background: var(--nubow-purple); color: #fff !important; font-weight: 700;}
#page.shop-info .honten .map iframe {border-radius: 2.2rem;}
#page.shop-info .store-action {border-color: var(--nubow-purple); color: var(--nubow-purple-deep);}
#page.shop-info .store-action--pickup {border-color: var(--nubow-purple); background: var(--nubow-purple); color: #fff;}

/* Order */
#page.order-guide .main-content {max-width: 121.6rem;}
#page .order-guide__intro {max-width: 78rem; margin-left: 0; text-align: left;}
#page .order-guide__eyebrow {color: var(--nubow-green);}
#page .order-guide__finder {border-radius: 2rem; background: var(--nubow-mint);}
#page .order-guide__finder h2 {text-align: left;}
#page .order-guide__finder-grid a {border-color: var(--nubow-line); border-radius: 1.5rem;}
#page .order-guide__finder-grid span {color: var(--nubow-purple-deep);}
#page .order-guide__urgent {border-left-color: var(--nubow-green); border-radius: 0 1.5rem 1.5rem 0; background: var(--nubow-mint);}
#page .order-guide__card {display: grid; grid-template-columns: 19rem minmax(0,1fr); overflow: hidden; border-color: var(--nubow-line); border-radius: 2.2rem;}
#page .order-guide__visual {display: flex; align-items: center; justify-content: center; min-height: 100%; padding: 1.8rem; background: var(--nubow-lavender);}
#page .order-guide__card:nth-child(2n) .order-guide__visual {background: var(--nubow-mint);}
#page .order-guide__visual img {width: 100%; height: auto; object-fit: contain;}
#page .order-guide__number {display: none;}
#page .order-guide__card-body {padding: 2.8rem;}
#page .order-guide__category {color: var(--nubow-purple-deep);}
#page .order-guide__card dl {border-top-color: var(--nubow-line);}
#page .order-guide__card dl > div {border-bottom-color: var(--nubow-line);}
#page .order-guide__note {border-radius: 1.2rem; background: var(--nubow-mint); color: var(--nubow-green);}
#page .order-guide__text-link {color: var(--nubow-green);}
#page .order-guide__help {border-radius: 2.2rem; background: var(--nubow-lavender); text-align: left;}
#page .order-guide__help h2 {text-align: left;}

/* FAQ */
#page.faq .faq-main-content {border-left-color: var(--nubow-line);}
#page.faq .faq-main-content .box h3 {border-bottom-color: var(--nubow-purple);}
#page.faq .faq-question:before {background: var(--nubow-purple);}
#page.faq .faq-answer__wrap:before {background: var(--nubow-green);}
#page.faq .faq-content {border-bottom-color: var(--nubow-line);}
#page.faq .sidebar a {color: var(--nubow-purple-deep);}
#page.faq-renewal .faq-renewal__quick,
#page.faq-renewal .faq-renewal__nav,
#page.faq-renewal .faq-renewal__answer-inner {border-radius: 1.7rem; background: var(--nubow-lavender);}
#page.faq-renewal .faq-renewal__quick-links a {border-color: #d7d1e8; border-radius: 999rem; color: var(--nubow-purple-deep);}
#page.faq-renewal .faq-renewal__mark {background: var(--nubow-purple);}
#page.faq-renewal .faq-renewal__answer .faq-renewal__mark {background: var(--nubow-green);}
#page.faq-renewal .faq-renewal__section-heading {border-bottom-color: var(--nubow-purple);}
#page.faq-renewal .faq-renewal__contact {border-radius: 2.2rem; background: var(--nubow-purple);}

/* News */
#page.article-list .main-content {margin-top: 6.4rem;}
#page.article-list .list {display: block; border-top: .1rem solid var(--nubow-ink);}
#page.article-list .item {display: grid; grid-template-columns: 14rem 1fr auto; gap: 2rem; align-items: center; width: 100%; min-height: 9.6rem; padding: 1.8rem .6rem; border: 0; border-bottom: .1rem solid var(--nubow-line); border-radius: 0;}
#page.article-list .article-title {margin: 0;}
#page.article-list .main-content .tag a,
#page.article-list .main-content .tag span,
#page.article-detail .main-content .tag a,
#page.article-detail .main-content .tag span {display: inline-flex; padding: .45rem 1.1rem; border-radius: 999rem; background: var(--nubow-purple); color: #fff;}
#page.article-list .content {margin: 0; font-size: var(--font-size-md);}
#page.article-list .more {width: 12rem; height: 4rem; margin: 0; border-color: var(--nubow-purple); color: var(--nubow-purple-deep); font-size: var(--font-size-sm);}
#page.article-detail .main-content {display: grid; grid-template-columns: minmax(0,79rem) 24rem; gap: 8rem; max-width: 112rem; margin-top: 6.4rem;}
#page.article-detail .entry-header,
#page.article-detail .article-main,
#page.article-detail .link {grid-column: 1;}
#page.article-detail .main-content .title {font-size: var(--font-size-4xl);}
#page.article-detail .article-main {border-top-color: var(--nubow-line);}
#page.article-detail .article-main p {font-size: var(--font-size-md); line-height: 2;}
#page.article-detail .article-main h2,
#page.article-detail .article-main h3 {padding-left: 1.6rem; border: 0; border-left: .4rem solid var(--nubow-purple);}
#page.article-detail .article-main a {color: var(--nubow-green);}

/* About / message */
#page.about .main-content {max-width: 121.6rem;}
#page.about .tab-menu {display: flex; gap: .8rem; padding: .8rem; border-radius: 1.8rem; background: var(--nubow-lavender);}
#page.about .tab-menu .tab {border-radius: 999rem; color: var(--nubow-purple-deep);}
#page.about .tab-menu .tab.is-active {background: var(--nubow-purple); color: #fff;}
#page.about .greeting-main-title {max-width: 92rem; color: var(--nubow-ink); font-family: "Noto Serif JP", serif; line-height: 1.65;}
#page.about .greeting-main-title strong,
#page.about .tab-contents h3 {color: var(--nubow-purple-deep);}
#page.about .tab-contents {max-width: 100%; margin-left: 0;}
#page.about .greeting-extra,
#page.about .profile-activity-wrap,
#page.about .company-profile {border-radius: 2rem; background: var(--nubow-lavender);}
#page.about table th {background: var(--nubow-mint); color: var(--nubow-green);}

/* Company and representative message */
#page.about-renewal .about-renewal__lead,
#page.message-renewal .message-renewal__lead {max-width: 72rem; margin-top: 1.4rem; color: var(--nubow-muted); font-size: var(--font-size-md); line-height: 1.8;}
.about-renewal__philosophy {display: grid; grid-template-columns: 38% minmax(0,1fr); gap: 4rem; padding: 4rem; border-radius: 2.6rem; background: var(--nubow-lavender);}
.about-renewal__concept {display: flex; padding: 3rem; flex-direction: column; justify-content: center; border-radius: 2rem; background: var(--nubow-purple); color: #fff;}
.about-renewal__concept p {color: #fff !important; font-family: Georgia,serif; font-size: var(--font-size-3xl); font-weight: 700; line-height: 1.25;}
.about-renewal__concept span {margin-top: 1.4rem; font-size: var(--font-size-md);}
.about-renewal__eyebrow,.message-renewal__eyebrow {color: var(--nubow-green) !important; font-size: var(--font-size-xs); font-weight: 700; letter-spacing: .18em;}
.about-renewal__philosophy h2,.about-renewal__section h2,.message-renewal__section h2 {margin-top: .8rem; font-size: var(--font-size-3xl);}
.about-renewal__statement {margin-top: 1.6rem; font-size: var(--font-size-lg); font-weight: 700; line-height: 1.9;}
.about-renewal__guidelines {display: grid; gap: 1rem; margin-top: 2rem; counter-reset: guide;}
.about-renewal__guidelines li {padding: 1.4rem 1.8rem; border-radius: 1.2rem; background: #fff; line-height: 1.7; counter-increment: guide;}
.about-renewal__guidelines li:before {margin-right: 1rem; color: var(--nubow-purple-deep); font-weight: 700; content: counter(guide,decimal-leading-zero);}
.about-renewal__section,.message-renewal__section {margin-top: 8rem;}
.about-renewal__company,.about-renewal__history {margin-top: 2.6rem; border-top: .1rem solid var(--nubow-ink);}
.about-renewal__company > div,.about-renewal__history > div {display: grid; grid-template-columns: 20rem minmax(0,1fr); gap: 2.4rem; padding: 1.8rem 1rem; border-bottom: .1rem solid var(--nubow-line);}
.about-renewal__company dt,.about-renewal__history dt {color: var(--nubow-purple-deep); font-weight: 700;}
.about-renewal__company a {color: var(--nubow-green); font-weight: 700; text-decoration: underline;}
.message-renewal__nav {display: flex; gap: 1rem; margin-bottom: 5rem;}
.message-renewal__nav a {padding: 1.2rem 2rem; border: .1rem solid #d7d1e8; border-radius: 999rem; color: var(--nubow-purple-deep); font-weight: 700;}
.message-renewal__opening {display: grid; grid-template-columns: minmax(0,1fr) 34rem; gap: 5rem; align-items: center;}
.message-renewal__opening h2 {margin-top: 1.2rem; font-family: "Noto Serif JP",serif; font-size: var(--font-size-3xl); line-height: 1.75;}
.message-renewal__opening h2 em {color: var(--nubow-purple-deep); font-style: normal;}
.message-renewal__opening p:last-child {margin-top: 1.8rem; font-size: var(--font-size-md); line-height: 1.9;}
.message-renewal__opening figure {overflow: hidden; border-radius: 2.4rem; background: var(--nubow-lavender);}
.message-renewal__opening img {width: 100%; height: auto;}
.message-renewal__opening figcaption {padding: 1.2rem; text-align: center;}
.message-renewal__chapters {display: grid; gap: 0; margin-top: 7rem;}
.message-renewal__chapters article {display: grid; grid-template-columns: 8rem minmax(0,1fr); gap: .6rem 2rem; padding: 3rem 0; border-top: .1rem solid var(--nubow-line);}
.message-renewal__chapters article > span {grid-row: 1 / 3; color: #b7b0d7; font-family: Georgia,serif; font-size: var(--font-size-3xl); font-weight: 700;}
.message-renewal__chapters h3 {font-size: var(--font-size-xl);}
.message-renewal__chapters p {margin-top: 1rem; line-height: 2;}
.message-renewal__chapters aside {padding: 3rem; border-radius: 2rem; background: var(--nubow-mint);}
.message-renewal__chapters aside strong {display: block; margin-top: 1rem; font-size: var(--font-size-lg); line-height: 1.8;}
.message-renewal__card {display: grid; grid-template-columns: minmax(0,1fr) 24rem; gap: 4rem; align-items: center; margin-top: 2rem; padding: 3rem; border-radius: 2rem; background: var(--nubow-lavender);}
.message-renewal__card h3 {font-size: var(--font-size-xl); line-height: 1.6;}
.message-renewal__card h3 small {display: block; margin-top: .5rem; color: var(--nubow-muted); font-size: var(--font-size-sm);}
.message-renewal__card p {margin-top: 1rem; line-height: 1.9;}
.message-renewal__card .cmn-button {width: 100%; height: 5.4rem; font-size: var(--font-size-sm);}

/* Service index/detail */
#page.service-catalog-index,
#page.service-catalog-detail,
#page.service-benefits,
#page.service-color-guide {padding-top: 8.4rem; color: var(--nubow-ink);}
.service-catalog-eyebrow {color: var(--nubow-green);}
.service-catalog-index__hero {max-width: 121.6rem; padding-top: 5.6rem; text-align: left;}
.service-catalog-index__hero-text {margin-left: 0;}
.service-catalog-index__section {max-width: 121.6rem;}
.service-catalog-index__grid {grid-template-columns: repeat(4,minmax(0,1fr)); gap: 2.4rem 1.8rem;}
.service-catalog-index__card {overflow: hidden; border-color: var(--nubow-line); border-radius: 2rem;}
.service-catalog-index__image {height: auto; aspect-ratio: 4 / 5; padding: 0; background: #f5f2ec;}
.service-catalog-index__image img {object-fit: contain;}
.service-catalog-index__body {padding: 2rem;}
.service-catalog-index__price {color: var(--nubow-purple-deep);}
.service-catalog-index__link {color: var(--nubow-green);}
.service-catalog-index__benefits {border-radius: 2.2rem; background: var(--nubow-lavender);}
.service-catalog-order {background: var(--nubow-purple);}
.service-catalog-order__actions {display: flex; gap: 1rem; margin-top: 2.4rem;}
.service-catalog-order__actions .service-catalog-button {border-color: #fff; background: #fff; color: var(--nubow-purple-deep);}
.service-catalog-layout {max-width: 121.6rem; grid-template-columns: 21rem minmax(0,1fr); gap: 5rem;}
.service-catalog-nav {border: 0; border-radius: 1.8rem; background: var(--nubow-lavender);}
.service-catalog-nav a.is-current {color: var(--nubow-purple-deep);}
.service-catalog-group > h2:after,
.service-catalog-benefits h2:after,
.service-catalog-extra h2:after,
.service-catalog-guide h2:after,
.service-catalog-editorial > h2:after {background: var(--nubow-purple);}
.service-catalog-grid {gap: 3rem 2rem;}
.service-catalog-group--two .service-catalog-grid {grid-template-columns: repeat(2,minmax(0,1fr)); max-width: 82rem;}
.service-catalog-card {overflow: hidden; border: .1rem solid var(--nubow-line); border-radius: 1.8rem;}
.service-catalog-card__image {aspect-ratio: 4 / 5; background: #f5f2ec;}
.service-catalog-card__image img {width: 100%; height: 100%; object-fit: contain;}
.service-catalog-card__body {padding: 1.8rem;}
.service-catalog-card__price {color: var(--nubow-purple-deep);}
.service-catalog-card__service a {color: var(--nubow-green);}
.service-catalog-benefits,
.service-catalog-extra,
.service-catalog-guide,
.service-catalog-editorial {border-radius: 2.2rem; background: var(--nubow-lavender);}
.service-catalog-benefits li:before {background: var(--nubow-purple);}
.service-catalog-editorial__illustration {display: block; width: 100%; max-height: 42rem; margin: 2.4rem 0; object-fit: contain; border-radius: 1.8rem; background: #fff;}
.service-catalog-benefits__grid {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.6rem; margin: 2.4rem 0;}
.service-catalog-benefits__grid article {padding: 2rem; border-radius: 1.6rem; background: #fff;}
.service-catalog-benefits__grid img {display: block; width: 100%; height: 18rem; margin-bottom: 1.6rem; object-fit: contain;}
.service-catalog-benefits__grid h3 {color: var(--nubow-purple-deep); font-size: var(--font-size-md);}
.service-catalog-benefits__grid p {margin-top: .8rem; line-height: 1.8;}
.service-catalog-benefits__grid a {display: inline-block; margin-top: 1rem; color: var(--nubow-green); font-weight: 700; text-decoration: underline;}
.service-catalog-faq-link,
.service-catalog-color-guide-link {border-color: var(--nubow-line); border-radius: 2.2rem;}
.service-catalog-faq-link .service-catalog-button.is-outline {background: var(--nubow-purple); color: #fff;}
.service-catalog-button {background: var(--nubow-purple); border-color: var(--nubow-purple);}
.service-catalog-button:hover {background: var(--nubow-purple-deep); color: #fff;}
.service-catalog-button.is-outline {color: var(--nubow-purple-deep); border-color: var(--nubow-purple);}
.service-catalog-color-card {overflow: hidden; border-color: var(--nubow-line); border-radius: 1.8rem;}

/* Benefits and color guide */
.service-benefits__hero {max-width: 121.6rem; text-align: left;}
.service-benefits__breadcrumbs {justify-content: flex-start;}
.service-benefits__hero > p {margin-left: 0;}
.service-benefits__nav-wrap {border-radius: 2rem; background: var(--nubow-lavender);}
.service-benefits__nav a {border-color: #d7d1e8; border-radius: 999rem; color: var(--nubow-purple-deep);}
.service-benefits__content {max-width: 121.6rem;}
.service-benefits__group {padding: 3.2rem; border-radius: 2.2rem; background: #fff; box-shadow: 0 0 0 .1rem var(--nubow-line);}
.service-benefits__heading h2:after {background: var(--nubow-purple);}
.service-benefits__card {border: 0; border-radius: 1.6rem; background: var(--nubow-lavender);}
.service-benefits__card h3 {color: var(--nubow-purple-deep);}
.service-benefits__card-image {display: block; width: 100%; height: 16rem; margin-bottom: 1.4rem; object-fit: contain;}
.service-benefits__note {border-left-color: var(--nubow-green);}
.service-benefits__help {background: var(--nubow-purple);}
.service-color-guide__content {max-width: 121.6rem;}
.service-color-guide__longevity {border-radius: 2.2rem; background: var(--nubow-lavender);}
.service-color-guide__related-grid article {border-radius: 1.8rem;}

/* Corporate and information guides: approved white / purple / green system */
#page.corporate-lp,
#page.point-program,
#page.flower-care,
#page.flower-gift-care,
#page.orchid-care,
#page.houseplant-care {padding-top: 8.4rem; background: #fff; color: var(--nubow-ink);}
.corporate-eyebrow,
.point-program__eyebrow,
.flower-care__eyebrow,
.flower-gift-care__eyebrow,
.orchid-care__eyebrow,
.houseplant-care__eyebrow {color: var(--nubow-green);}
.corporate-hero,
.point-program__hero,
.flower-care__hero,
.flower-gift-care__hero,
.orchid-care__hero,
.houseplant-care__hero {background: #fff;}
.corporate-hero__inner,
.point-program__hero-inner,
.flower-care__hero-inner,
.flower-gift-care__hero-inner,
.orchid-care__hero-inner,
.houseplant-care__hero-inner {max-width: 121.6rem;}
.corporate-hero__visual,
.point-program__summary,
.flower-care__hero-cards,
.flower-gift-care__hero-links,
.orchid-care__hero-image,
.houseplant-care__hero-summary {border-radius: 2.4rem; background: var(--nubow-lavender);}
.corporate-contact-bar,
.corporate-final-cta,
.point-program__benefits,
.flower-care__avoid,
.flower-gift-care__standing,
.orchid-care__watering,
.houseplant-care__watering {background: var(--nubow-purple);}
.corporate-local-nav,
.point-program__local-nav,
.flower-care__local-nav,
.flower-gift-care__local-nav,
.orchid-care__local-nav,
.houseplant-care__local-nav {border-color: var(--nubow-line); background: #fff;}
.corporate-local-nav a,
.point-program__local-nav a,
.flower-care__local-nav a,
.flower-gift-care__local-nav a,
.orchid-care__local-nav a,
.houseplant-care__local-nav a {color: var(--nubow-purple-deep);}
.corporate-section,
.point-program__section,
.flower-care__section,
.flower-gift-care__section-inner,
.orchid-care__section,
.houseplant-care__section {max-width: 121.6rem;}
.corporate-gift-card,
.corporate-reasons__grid article,
.point-program__rank-card,
.point-program__benefit-grid article,
.point-program__exchange-card,
.flower-care__card,
.flower-care__summer-grid li,
.flower-gift-care__comparison li,
.flower-gift-care__steps li,
.orchid-care__care-card,
.orchid-care__rebloom-steps li,
.houseplant-care__environment-grid li,
.houseplant-care__care-grid li {overflow: hidden; border-radius: 1.8rem;}
.corporate-gift-card,
.corporate-reasons__grid article,
.point-program__rank-card,
.point-program__exchange-card,
.flower-care__card,
.flower-gift-care__comparison li,
.flower-gift-care__steps li,
.orchid-care__care-card,
.orchid-care__rebloom-steps li,
.houseplant-care__environment-grid li {border-color: var(--nubow-line);}
.corporate-recipient-care,
.corporate-payment__main,
.point-program__old-card,
.flower-care__safety,
.flower-gift-care__guarantee,
.orchid-care__note,
.orchid-care__collection,
.houseplant-care__notice,
.houseplant-care__service {border-radius: 2.2rem;}
.corporate-recipient-care,
.point-program__old-card,
.flower-care__safety,
.orchid-care__note,
.houseplant-care__notice {background: var(--nubow-mint);}
.orchid-care__collection,
.houseplant-care__service {background: var(--nubow-lavender);}

/* Sitemap and generic long-form page */
#page.sitemap .list {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2.2rem;}
#page.sitemap .list > .item {padding: 2.6rem; border: .1rem solid var(--nubow-line); border-radius: 2rem;}
#page.sitemap .item h3 {color: var(--nubow-purple-deep);}
#page.sitemap .item li {border-bottom: .1rem solid var(--nubow-line);}
#page.sitemap .item a {display: block; padding: 1rem 0; color: var(--nubow-ink); font-size: var(--font-size-md);}
#page.sitemap .item ul ul {padding-left: 2rem;}
#page.privacy-policy .main-content {max-width: 96rem;}
#page.privacy-policy .article-main h2 {margin-top: 5rem; padding-left: 1.5rem; border-left: .4rem solid var(--nubow-purple);}
#page.privacy-policy .privacy-policy__lead {font-size: var(--font-size-md); line-height: 1.9;}
#page.privacy-policy .privacy-policy__index {margin: 3rem 0 4rem; padding: 2.4rem; border-radius: 1.8rem; background: var(--nubow-lavender);}
#page.privacy-policy .privacy-policy__index ol {display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.2rem;}
#page.privacy-policy .privacy-policy__index a {display: inline-flex; padding: .7rem 1.2rem; border-radius: 999rem; background: #fff; color: var(--nubow-purple-deep); font-weight: 700;}
#page.privacy-policy .privacy-policy__anchor {display: block; scroll-margin-top: 11rem;}

/* Footer */
footer,
body.home footer {padding: 6rem 0 4rem; border-top: .1rem solid var(--nubow-line); background: #fff; color: var(--nubow-ink);}
footer .inner {max-width: 121.6rem; padding: 0;}
footer .right-box p {color: var(--nubow-ink);}
footer .right-box li a,
footer .left-box .bottom a,
footer .left-box .bottom p {color: var(--nubow-muted);}
footer .right-box .menu {border-right-color: var(--nubow-line);}
.pickup-cta {border-color: var(--nubow-purple); color: var(--nubow-purple-deep);}
.pickup-cta:link,
.pickup-cta:visited {color: var(--nubow-purple-deep);}

@media screen and (max-width: 1199px) {
  main {padding-top: 14rem;}
  body > header {height: 14rem; padding: 2.4rem 2rem;}
  body > header .logo img {height: 8rem; max-width: 24rem; max-height: 8rem;}
  body > header .menu {gap: 1.2rem;}
  body > header .menu .header-order {display: block;}
  body > header .menu .header-order a {display: flex; width: 16rem; height: 8rem; padding: 0; font-size: 2.6rem;}
  .header-phone {display: flex; width: 11rem; height: 8rem; flex-direction: column; align-items: center; justify-content: center; border: .1rem solid var(--nubow-purple); border-radius: 999rem; color: var(--nubow-purple-deep); font-size: 2.2rem; line-height: 1.2;}
  .header-phone span:first-child {font-size: 2.8rem;}
  body > header .toggle-button {width: 8rem; height: 8rem; border-radius: 50%; background: var(--nubow-purple);}
  body > header .toggle-button .line {gap: 1.1rem;}
  body > header .toggle-button .line span {width: 4rem; height: .4rem;}
  #head_submenu .head {padding-top: 18rem; background: #fff;}
  #head_submenu .close-button {top: 2.4rem; right: 2rem; width: 8rem; height: 8rem; padding-top: 2rem; border-radius: 50%; background: var(--nubow-purple); font-size: 0;}
  #head_submenu .close-button .line span {width: 4rem; height: .4rem;}
  #head_submenu .head .menu {padding: 0 2rem;}
  #head_submenu .link-area {width: 100%; gap: 1.6rem;}
  #head_submenu .link-area a {width: 100%; height: 10rem; border: .1rem solid var(--nubow-line); border-radius: 2rem; color: var(--nubow-purple-deep); font-size: 3.4rem; letter-spacing: 0;}
  #head_submenu .sp-menu {margin-top: 5rem; border-top-color: var(--nubow-line);}
  #head_submenu .sp-menu_box {border-bottom-color: var(--nubow-line);}
  #head_submenu .sp-menu_box .title {padding: 3rem 2rem; color: var(--nubow-ink); font-size: 3.4rem;}
  #head_submenu .sp-menu_box .title.accordion-toggle:before,
  #head_submenu .sp-menu_box .title.accordion-toggle:after {background: var(--nubow-purple);}
  #head_submenu .sp-menu_box .list-inner {padding: 0 3rem 3rem 5rem; gap: 2rem;}
  #head_submenu .sp-menu_box .list-inner a {color: var(--nubow-muted); font-size: 2.8rem;}
  #head_submenu .menu-logo {margin-top: 7rem;}
  #head_submenu .bottom-links {margin-top: 5rem; gap: 1.6rem;}
  #head_submenu .bottom-links a {width: 32rem; height: 10rem; border-radius: 999rem; font-size: 2.8rem;}
  #head_submenu .bottom-links .yoyaku,
  #head_submenu .bottom-links .contact {background: var(--nubow-purple);}

  #page .page-header .inner {padding: 5rem 2rem;}
  #page .page-header .breadcrumbs {margin-bottom: 3rem; font-size: 2.4rem;}
  #page .page-header .main-title h1,
  #page .page-header .main-title h2 {font-size: 5.4rem;}
  #page .main-content {margin-top: 6rem; padding-left: 2rem; padding-right: 2rem;}

  #top .fv {padding: 2rem;}
  #top .fv .wrapper {border-radius: 2.4rem;}
  #top .fv-static {height: 66rem; min-height: 0;}
  #top .fv-copy {left: 2rem; right: 2rem; bottom: 2rem; max-width: none; padding: 3rem; border-radius: 2rem;}
  #top .fv-copy__concept {font-size: 5rem;}
  #top .fv-copy__lead {font-size: 3rem;}
  #top > section:not(.fv) {padding: 8rem 0;}
  #top .section-kicker {font-size: 2.4rem;}
  #top .section-lead {font-size: 3rem;}
  #top .news .item {grid-template-columns: 1fr; gap: 1.2rem; padding: 3rem 0;}
  #top .news .date {font-size: 2.6rem;}
  #top .news .content {font-size: 3rem;}
  #top .news .detail-button {justify-content: flex-start; min-width: 0; min-height: 0; border: 0; font-size: 2.6rem;}
  #top .news-link .cmn-button,
  #top .shop-link .cmn-button,
  #top .service-link .cmn-button,
  #top .order-link .cmn-button {max-width: 52rem; height: 10rem; font-size: 3rem;}
  #top .shop .list {grid-template-columns: 1fr; gap: 3rem;}
  #top .shop .item {border-radius: 2.4rem;}
  #top .shop .item h3,
  #top .shop .item > p,
  #top .shop .shop-buttons {margin-left: 3rem; margin-right: 3rem;}
  #top .shop .item h3 {font-size: 4rem;}
  #top .shop .item .address,
  #top .shop .item .hours {font-size: 2.8rem;}
  #top .shop .detail-button {min-height: 9rem; font-size: 3rem;}
  #top .shop-icon-button {width: 9rem; height: 9rem;}
  #top .site-lead {font-size: 4.8rem;}
  #top .site-lead-text {font-size: 3rem;}
  #top .purpose-list {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.6rem;}
  #top .purpose-item {min-height: 15rem; padding: 2.4rem; border-radius: 2rem; font-size: 3rem;}
  #top .purpose-item small {font-size: 2.4rem;}
  #top .purpose-list--scenes {grid-template-columns: 1fr;}
  #top .purpose-item--illustrated {min-height: 34rem; padding: 0; grid-template-columns: 42% minmax(0,1fr);}
  #top .purpose-item--illustrated span {padding: 2.6rem;}
  #top .purpose-item--illustrated strong {font-size: 3.6rem;}
  #top .flower-gift .list {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem;}
  #top .flower-gift__body {padding: 2.4rem;}
  #top .flower-gift__body h3 {font-size: 3.2rem;}
  #top .flower-gift__price {font-size: 2.8rem;}
  #top .flower-gift__link {font-size: 2.6rem;}
  #top .home-corporate {padding: 0 2rem 8rem;}
  #top .home-corporate__inner {display: block; padding: 4rem 3rem; border-radius: 2.4rem;}
  #top .home-corporate h2 {font-size: 4.8rem;}
  #top .home-corporate p {font-size: 3rem;}
  #top .home-corporate__links {display: grid; gap: 1.6rem;}
  #top .home-corporate__links a {min-height: 9rem; font-size: 3rem;}
  #top .home-corporate__visual {margin-top: 3rem;}
  #top .order-method .list {grid-template-columns: 1fr; gap: 1.6rem;}
  #top .order-method .item {padding: 3rem; border-radius: 2rem;}
  #top .order-method .item h3 {font-size: 3.6rem;}
  #top .order-method .item p,
  #top .order-method .detail-button {font-size: 2.8rem;}

  #page.shop-info .tab-menu {display: flex; flex-wrap: nowrap; gap: 1rem; overflow-x: auto; padding: 1.2rem; border-radius: 2rem;}
  #page.shop-info .tab-menu .tab,
  #page.shop-info .tab-menu .tab a {flex: 0 0 auto; width: auto; min-width: 24rem; height: 9rem; padding: 0 2rem; font-size: 3rem;}
  #page.shop-info .shop-list .list .item {padding: 2rem; border-radius: 2.4rem;}
  #page.shop-info .store-card-info,
  #page.shop-info .store-quick-info,
  #page.shop-info .store-common-info {border-radius: 2rem;}
  #page.shop-info .store-actions {margin-top: 8rem;}
  #page.shop-info .store-quick-info__links {grid-template-columns: 1fr; gap: 1.6rem;}
  #page.shop-info .store-quick-info__links a,
  #page.shop-info .store-google-primary {min-height: 9rem; font-size: 3rem;}

  #page .order-guide__intro {text-align: left;}
  #page .order-guide__finder {padding: 4rem 3rem; border-radius: 2rem;}
  #page .order-guide__finder h2 {text-align: left;}
  #page .order-guide__card {grid-template-columns: 1fr; border-radius: 2.4rem;}
  #page .order-guide__visual {min-height: 36rem; padding: 0;}
  #page .order-guide__visual img {width: 100%; height: 100%; object-fit: contain;}
  #page .order-guide__card-body {padding: 4rem 3rem;}
  #page .order-guide__help {border-radius: 2.4rem;}

  #page.article-list .item {grid-template-columns: 1fr; gap: 1.6rem;}
  #page.article-list .more {width: auto; height: auto; justify-content: flex-start; border: 0; font-size: 2.8rem;}
  #page.article-detail .main-content {display: block;}
  #page.article-detail .main-content .title {font-size: 4.8rem;}
  #page.article-detail .article-main p {font-size: 3rem;}

  .about-renewal__philosophy {display: block; padding: 3rem; border-radius: 2.4rem;}
  .about-renewal__concept {margin-bottom: 3rem; padding: 4rem 3rem;}
  .about-renewal__concept p {font-size: 5rem;}
  .about-renewal__concept span,.about-renewal__statement {font-size: 3rem;}
  .about-renewal__guidelines li {padding: 2rem; font-size: 2.8rem;}
  .about-renewal__company > div,.about-renewal__history > div {grid-template-columns: 1fr; gap: .8rem; padding: 2.4rem 0; font-size: 3rem;}
  .message-renewal__nav {flex-wrap: wrap;}
  .message-renewal__nav a {font-size: 2.8rem;}
  .message-renewal__opening {display: block;}
  .message-renewal__opening h2 {font-size: 4.6rem;}
  .message-renewal__opening p:last-child {font-size: 3rem;}
  .message-renewal__opening figure {margin-top: 3rem;}
  .message-renewal__chapters article {grid-template-columns: 1fr;}
  .message-renewal__chapters article > span {grid-row: auto; font-size: 5rem;}
  .message-renewal__chapters h3 {font-size: 3.8rem;}
  .message-renewal__chapters p {font-size: 3rem;}
  .message-renewal__card {grid-template-columns: 1fr; padding: 3rem;}
  .message-renewal__card h3 {font-size: 3.8rem;}
  .message-renewal__card p {font-size: 3rem;}
  .message-renewal__card .cmn-button {height: 9rem; font-size: 3rem;}

  .service-catalog-index__hero {padding: 6rem 2rem 0;}
  .service-catalog-index__grid {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem;}
  .service-catalog-index__image {aspect-ratio: 4 / 5;}
  .service-catalog-index__body h3 {font-size: 3.6rem;}
  .service-catalog-layout {display: block; padding: 5rem 2rem 12rem;}
  .service-catalog-nav {position: static; margin-bottom: 5rem; border-radius: 2rem;}
  .service-catalog-grid {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem;}
  .service-catalog-card {border-radius: 2rem;}
  .service-catalog-card__body {padding: 2.4rem;}
  .service-catalog-benefits,
  .service-catalog-extra,
  .service-catalog-guide,
  .service-catalog-editorial {padding: 4rem 3rem; border-radius: 2.4rem;}
  .service-catalog-benefits__grid {grid-template-columns: 1fr; gap: 2rem;}
  .service-catalog-benefits__grid img {height: 30rem;}
  .service-benefits__hero {padding: 6rem 2rem 0;}
  .service-benefits__content {padding: 7rem 2rem 10rem;}
  .service-benefits__group {padding: 3rem; border-radius: 2.4rem;}

  #page.sitemap .list {grid-template-columns: 1fr; gap: 2rem;}
  #page.sitemap .list > .item {padding: 3rem; border-radius: 2.4rem;}
  #page.sitemap .item a {font-size: 3rem;}

  footer,
  body.home footer {padding: 6rem 2rem 3rem; background: #fff;}
  footer .inner {padding: 0;}
  footer .sp-menu {border-top-color: var(--nubow-line);}
  footer .sp-menu_box {border-bottom-color: var(--nubow-line);}
  footer .sp-menu_box .title {color: var(--nubow-ink); font-size: 3.2rem;}
  footer .sp-menu_box .title.accordion-toggle:before,
  footer .sp-menu_box .title.accordion-toggle:after {background: var(--nubow-purple);}
  footer .sp-menu_box .list-inner {padding-left: 5rem;}
  footer .sp-menu_box .list-inner a {color: var(--nubow-muted); font-size: 2.8rem;}
}
