@charset "utf-8";

/* QUANTUM production TOP layout. */
body.page-home #main{
  display:flex!important;
  flex-direction:column!important;
}
body.page-home .home-hero{order:1}
body.page-home .home-price-note{order:2}
body.page-home .home-strengths{order:3}
body.page-home .home-services-title{order:4}
body.page-home .home-review-services{order:5}
body.page-home .home-package-title{order:6}
body.page-home .home-package-slider{order:7}
body.page-home .home-maker-title{order:8}
body.page-home .home-maker-grid{order:9}
body.page-home .home-lower-shell{order:10}
body.page-home #to_top{order:99}

/* Hero pager: dedicated strip below the image, never over image content. */
body.page-home .home-hero .flexslider{
  position:relative!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
}
body.page-home .home-hero .flex-control-nav{
  position:static!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  width:100%!important;
  height:20px!important;
  margin:0!important;
  padding:5px 0 0!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:5px!important;
  transform:none!important;
  background:#fff!important;
  box-shadow:none!important;
}
body.page-home .home-hero .flex-control-nav li{
  display:block!important;
  margin:0!important;
  padding:0!important;
}
body.page-home .home-hero .flex-control-paging li a{
  display:block!important;
  width:7px!important;
  height:7px!important;
  margin:0!important;
  border:0!important;
  border-radius:50%!important;
  background:#c2c5cb!important;
  box-shadow:none!important;
  text-indent:-9999px!important;
}
body.page-home .home-hero .flex-control-paging li a.flex-active{
  background:#1d2088!important;
}
body.page-home .home-price-note{
  margin:12px 0 22px!important;
  padding:9px 13px!important;
  border-left-width:4px!important;
  background:#fff9ee!important;
  color:#555!important;
  font-size:12px!important;
  line-height:1.7!important;
}

body.page-home .home-review-section-title{
  margin:8px 0 14px!important;
  padding:10px 12px!important;
  border:0!important;
  border-left:4px solid #1d2088!important;
  border-bottom:1px solid #d9dde3!important;
  background:#fafafa!important;
  color:#1d1d1d!important;
  font-size:17px!important;
  font-weight:600!important;
  line-height:1.5!important;
  letter-spacing:.02em!important;
}

/* QUANTUM strengths */
body.page-home .home-strengths{margin:0 0 22px}
body.page-home .home-strengths-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}
body.page-home .home-strength-card{
  min-width:0;
  padding:18px 17px;
  box-sizing:border-box;
  border:1px solid #dfe3e8;
  border-radius:7px;
  background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
body.page-home .home-strength-card h3{
  margin:0 0 8px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#1d2088!important;
  box-shadow:none!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:1.55!important;
}
body.page-home .home-strength-card p{
  margin:0!important;
  color:#555!important;
  font-size:12px!important;
  line-height:1.75!important;
}

@media screen and (min-width:769px){
  body.page-home .home-review-services{gap:12px!important}
  body.page-home .home-review-services > .box_3l{
    border:1px solid #e1e4e8!important;
    box-shadow:0 2px 7px rgba(0,0,0,.04)!important;
  }
  body.page-home .home-package-slider{
    margin:0 0 22px!important;
    padding:12px 10px!important;
    box-sizing:border-box!important;
    border:1px solid #e3e6ea!important;
    border-radius:7px!important;
    background:#fff!important;
  }
  body.page-home .home-maker-grid{margin-bottom:26px!important}
  body.page-home .home-maker-grid > p{
    padding:10px 12px!important;
    box-sizing:border-box!important;
    border-radius:5px!important;
    background:#f7f8fa!important;
    color:#555!important;
    font-size:11px!important;
    line-height:1.7!important;
  }
  body.page-home .home-maker-grid > p .blue{color:#555!important}
}

/* Lower content ordering */
body.page-home .home-lower-shell > #content{
  display:flex!important;
  flex-direction:column!important;
}
body.page-home .home-latest-title{order:1}
body.page-home .home-latest-review{order:2}
body.page-home .home-howto-title{order:3}
body.page-home .home-guide-grid{order:4}
body.page-home .home-calendar-box{order:5}
body.page-home .home-sdgs{order:6}

body.page-home .home-review-lower-title{
  margin:26px 0 12px!important;
  padding:9px 11px!important;
  border:0!important;
  border-left:4px solid #1d2088!important;
  border-bottom:1px solid #d9dde3!important;
  background:#fafafa!important;
  color:#222!important;
  box-shadow:none!important;
  font-size:15px!important;
  font-weight:600!important;
  line-height:1.5!important;
}
body.page-home .home-latest-title{margin-top:10px!important}
body.page-home .home-latest-review{
  overflow:hidden;
  border:1px solid #dfe3e8;
  border-radius:7px;
  background:#fff;
  box-shadow:0 2px 7px rgba(0,0,0,.04);
}

/* Shared thumbnails in the review feed for any item with thumbnail metadata. */
body.page-home .home-feed-item--visual{
  display:grid!important;
  grid-template-columns:92px 64px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:start!important;
  padding:11px 10px!important;
}
body.page-home .home-feed-item--thumb{
  grid-template-columns:82px 96px 58px minmax(0,1fr)!important;
}
body.page-home .home-feed-thumb{
  display:block!important;
  width:96px!important;
  height:62px!important;
  overflow:hidden!important;
  border:1px solid #e0e3e7!important;
  border-radius:5px!important;
  background:#f5f6f7!important;
}
body.page-home .home-feed-thumb img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
body.page-home .home-feed-thumb--contain img{
  object-fit:contain!important;
  padding:4px!important;
  box-sizing:border-box!important;
  background:#fff!important;
}
body.page-home .home-feed-item--visual .home-feed-category{
  align-self:start!important;
  justify-self:start!important;
  min-width:46px!important;
  padding:4px 6px!important;
  box-sizing:border-box!important;
  line-height:1.35!important;
}
body.page-home .home-feed-item--visual .home-feed-copy h3{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:13px!important;
  line-height:1.55!important;
}
body.page-home .home-feed-item--visual .home-feed-copy p{
  margin:4px 0 0!important;
  color:#666!important;
  font-size:11px!important;
  line-height:1.65!important;
}

/* Rebuilt beginner guide cards */
body.page-home .home-guide-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
body.page-home .home-guide-card{
  min-width:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  border:1px solid #dfe3e8!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(0,0,0,.045)!important;
}
body.page-home .home-guide-image{
  display:block!important;
  aspect-ratio:16/9!important;
  overflow:hidden!important;
  border-bottom:1px solid #e8eaed!important;
  background:#fafafa!important;
}
body.page-home .home-guide-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  background:#fff!important;
}
body.page-home .home-guide-body{
  flex:1!important;
  display:flex!important;
  flex-direction:column!important;
  padding:14px 14px 13px!important;
}
body.page-home .home-guide-kicker{
  align-self:flex-start!important;
  margin:0 0 8px!important;
  padding:3px 7px!important;
  border:1px solid #d8dce3!important;
  border-radius:999px!important;
  background:#f4f5f7!important;
  color:#555!important;
  font-family:"メイリオ","Meiryo",Arial,sans-serif!important;
  font-size:10px!important;
  font-weight:600!important;
  line-height:1.3!important;
  letter-spacing:0!important;
}
body.page-home .home-guide-card h4{
  margin:0 0 8px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#222!important;
  box-shadow:none!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:1.55!important;
}
body.page-home .home-guide-card .home-guide-body > p:not(.home-guide-kicker){
  margin:0 0 13px!important;
  color:#555!important;
  font-size:12px!important;
  line-height:1.75!important;
}
body.page-home .home-guide-link,
body.page-home .home-guide-link:link,
body.page-home .home-guide-link:visited{
  margin-top:auto!important;
  padding:9px 11px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  border-radius:5px!important;
  background:#1d2088!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:600!important;
  line-height:1.4!important;
  text-decoration:none!important;
}
body.page-home .home-guide-link:hover,
body.page-home .home-guide-link:focus{background:#11176b!important;color:#fff!important}

/* Calendar: one frame only and modestly reduced vertical height. */
body.page-home .home-calendar-box{
  margin-top:24px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.page-home .home-calendar-box .business-calendar-panel{
  margin:0!important;
  padding:12px 10px 14px!important;
  border:1px solid #e1e4e8!important;
  border-radius:7px!important;
  background:#fff!important;
  box-shadow:0 2px 7px rgba(0,0,0,.035)!important;
}
body.page-home .home-calendar-box .business-calendar-title{
  margin:0 0 7px!important;
  font-size:14px!important;
  line-height:1.45!important;
}
body.page-home .home-calendar-box .business-calendar-grid{gap:28px!important}
body.page-home .home-calendar-box .business-calendar-month h3{
  margin:0 0 4px!important;
  padding:5px 6px!important;
  min-height:0!important;
  font-size:13px!important;
  line-height:1.35!important;
}
body.page-home .home-calendar-box .business-calendar-month th,
body.page-home .home-calendar-box .business-calendar-month td{
  height:19px!important;
  font-size:11px!important;
  line-height:1!important;
}
body.page-home .home-calendar-box .business-calendar-legend{
  margin-top:9px!important;
  font-size:11px!important;
  line-height:1.4!important;
}
body.page-home .home-calendar-box .legend-chip{
  width:10px!important;
  height:10px!important;
}

body.page-home .home-sdgs{
  margin-top:22px!important;
  padding:14px!important;
  box-sizing:border-box!important;
  border:1px solid #e1e4e8!important;
  border-radius:7px!important;
  background:#fff!important;
}

@media(max-width:768px){
  body.page-home .home-strengths-grid{grid-template-columns:1fr;gap:9px}
  body.page-home .home-strength-card{padding:14px}
  body.page-home .home-review-section-title,
  body.page-home .home-review-lower-title{font-size:14px!important}

  body.page-home .home-guide-grid{grid-template-columns:1fr!important;gap:10px!important}

  body.page-home .home-feed-item--visual,
  body.page-home .home-feed-item--thumb{
    grid-template-columns:70px 54px minmax(0,1fr)!important;
    gap:8px!important;
  }
  body.page-home .home-feed-item--thumb .home-feed-thumb{
    grid-column:2!important;
    grid-row:1 / span 2!important;
    width:54px!important;
    height:54px!important;
  }
  body.page-home .home-feed-item--thumb .home-feed-category{
    grid-column:3!important;
    grid-row:1!important;
  }
  body.page-home .home-feed-item--thumb .home-feed-copy{
    grid-column:3!important;
    grid-row:2!important;
  }
  body.page-home .home-feed-item--visual .home-feed-date{
    grid-column:1!important;
    grid-row:1!important;
  }

  body.page-home .home-calendar-box .business-calendar-grid{gap:16px!important}
}


/* Section-card visual hierarchy without changing TOP DOM/order. */
body.page-home .home-price-note{
  border:1px solid #ead9b7!important;
  border-left:1px solid #ead9b7!important;
  border-radius:6px!important;
}

body.page-home .home-strengths{
  box-sizing:border-box;
  margin:0 0 22px!important;
  padding:0 18px 18px!important;
  overflow:hidden;
  border:1px solid #dfe3e8!important;
  border-radius:7px!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(0,0,0,.035)!important;
}
body.page-home .home-strengths > .home-review-section-title{
  margin:0 -18px 14px!important;
  padding:10px 14px!important;
  border:0!important;
  background:#1d2088!important;
  color:#fff!important;
}

body.page-home .home-services-title,
body.page-home .home-package-title,
body.page-home .home-maker-title{
  box-sizing:border-box;
  margin:0!important;
  padding:10px 14px!important;
  border:1px solid #dfe3e8!important;
  border-left:1px solid #dfe3e8!important;
  border-bottom:0!important;
  border-radius:7px 7px 0 0!important;
  background:#1d2088!important;
  color:#fff!important;
}
body.page-home .home-review-services,
body.page-home .home-package-slider,
body.page-home .home-maker-grid{
  box-sizing:border-box!important;
  margin:0 0 22px!important;
  padding:16px!important;
  border:1px solid #dfe3e8!important;
  border-top:0!important;
  border-radius:0 0 7px 7px!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(0,0,0,.035)!important;
}

body.page-home .home-review-lower-title{
  box-sizing:border-box;
  margin:0!important;
  padding:10px 14px!important;
  border:1px solid #dfe3e8!important;
  border-left:1px solid #dfe3e8!important;
  border-bottom:0!important;
  border-radius:7px 7px 0 0!important;
  background:#1d2088!important;
  color:#fff!important;
}
body.page-home .home-latest-review,
body.page-home .home-guide-grid{
  box-sizing:border-box!important;
  margin:0 0 22px!important;
  padding:14px!important;
  border:1px solid #dfe3e8!important;
  border-top:0!important;
  border-radius:0 0 7px 7px!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(0,0,0,.035)!important;
}

@media(max-width:768px){
  body.page-home .home-strengths{padding:0 12px 12px!important}
  body.page-home .home-strengths > .home-review-section-title{margin-left:-12px!important;margin-right:-12px!important}
  body.page-home .home-review-services,
  body.page-home .home-package-slider,
  body.page-home .home-maker-grid,
  body.page-home .home-latest-review,
  body.page-home .home-guide-grid{
    padding:12px!important;
  }
}


/* Lighter section headers: white background with navy underline. */
body.page-home .home-strengths > .home-review-section-title{
  background:#fff!important;
  color:#222!important;
  border-bottom:2px solid #1d2088!important;
}
body.page-home .home-services-title,
body.page-home .home-package-title,
body.page-home .home-maker-title,
body.page-home .home-review-lower-title{
  background:#fff!important;
  color:#222!important;
  border-bottom:2px solid #1d2088!important;
}


/* TOP heading trial: restrained title + short navy accent. */
body.page-home .home-strengths > .home-review-section-title,
body.page-home .home-services-title,
body.page-home .home-package-title,
body.page-home .home-maker-title,
body.page-home .home-review-lower-title{
  position:relative!important;
  background:#fff!important;
  color:#1f2328!important;
  border-bottom:0!important;
  padding-top:13px!important;
  padding-bottom:20px!important;
  font-weight:600!important;
  letter-spacing:.01em!important;
}
body.page-home .home-strengths > .home-review-section-title::after,
body.page-home .home-services-title::after,
body.page-home .home-package-title::after,
body.page-home .home-maker-title::after,
body.page-home .home-review-lower-title::after{
  content:"";
  position:absolute;
  left:14px;
  bottom:8px;
  width:52px;
  height:3px;
  border-radius:999px;
  background:#1d2088;
}
body.page-home .home-strengths > .home-review-section-title{
  border:0!important;
}
body.page-home .home-review-services,
body.page-home .home-package-slider,
body.page-home .home-maker-grid,
body.page-home .home-latest-review,
body.page-home .home-guide-grid{
  border-top:0!important;
}


/* TOP heading trial 2: floating legend heading on the card border. */
body.page-home .home-strengths{
  margin-top:18px!important;
  overflow:visible!important;
  padding:0 18px 18px!important;
}
body.page-home .home-strengths > .home-review-section-title,
body.page-home .home-services-title,
body.page-home .home-package-title,
body.page-home .home-maker-title,
body.page-home .home-review-lower-title{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  width:auto!important;
  max-width:calc(100% - 44px)!important;
  min-height:28px!important;
  box-sizing:border-box!important;
  padding:0 10px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#1f2328!important;
  box-shadow:none!important;
  font-size:16px!important;
  font-weight:600!important;
  line-height:28px!important;
  letter-spacing:.01em!important;
  white-space:normal!important;
  z-index:2!important;
}
body.page-home .home-strengths > .home-review-section-title::before,
body.page-home .home-services-title::before,
body.page-home .home-package-title::before,
body.page-home .home-maker-title::before,
body.page-home .home-review-lower-title::before{
  content:"";
  display:block;
  flex:0 0 6px;
  width:6px;
  height:6px;
  border-radius:1px;
  background:#1d2088;
}

body.page-home .home-strengths > .home-review-section-title{
  position:relative!important;
  margin:-14px 0 12px 4px!important;
}

body.page-home .home-services-title,
body.page-home .home-package-title,
body.page-home .home-maker-title,
body.page-home .home-review-lower-title{
  position:relative!important;
  margin:0 0 0 18px!important;
  transform:translateY(14px)!important;
}

body.page-home .home-review-services,
body.page-home .home-package-slider,
body.page-home .home-maker-grid,
body.page-home .home-latest-review,
body.page-home .home-guide-grid{
  border-top:1px solid #dfe3e8!important;
  border-radius:7px!important;
  padding-top:24px!important;
}

@media(max-width:768px){
  body.page-home .home-strengths{
    margin-top:16px!important;
    padding:0 12px 12px!important;
  }
  body.page-home .home-strengths > .home-review-section-title,
  body.page-home .home-services-title,
  body.page-home .home-package-title,
  body.page-home .home-maker-title,
  body.page-home .home-review-lower-title{
    max-width:calc(100% - 28px)!important;
    font-size:14px!important;
  }
  body.page-home .home-services-title,
  body.page-home .home-package-title,
  body.page-home .home-maker-title,
  body.page-home .home-review-lower-title{
    margin-left:12px!important;
  }
}


/* TOP heading trial 3: use the MEDIA / WORKS / NEWS heading treatment. */
body.page-home .home-strengths > .home-review-section-title,
body.page-home .home-services-title,
body.page-home .home-package-title,
body.page-home .home-maker-title,
body.page-home .home-review-lower-title{
  display:block!important;
  width:auto!important;
  max-width:none!important;
  min-height:0!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:9px 11px!important;
  transform:none!important;
  border:0!important;
  border-left:4px solid #1d2088!important;
  border-bottom:1px solid #d9dde3!important;
  border-radius:0!important;
  background:#f3f4f6!important;
  color:#222!important;
  box-shadow:none!important;
  font-size:15px!important;
  font-weight:600!important;
  line-height:1.5!important;
  letter-spacing:0!important;
  white-space:normal!important;
}
body.page-home .home-strengths > .home-review-section-title::before,
body.page-home .home-services-title::before,
body.page-home .home-package-title::before,
body.page-home .home-maker-title::before,
body.page-home .home-review-lower-title::before{
  content:none!important;
  display:none!important;
}

body.page-home .home-strengths{
  margin-top:0!important;
  overflow:hidden!important;
  padding:0 18px 18px!important;
}
body.page-home .home-strengths > .home-review-section-title{
  margin:0 -18px 14px!important;
}

body.page-home .home-services-title,
body.page-home .home-package-title,
body.page-home .home-maker-title,
body.page-home .home-review-lower-title{
  border:1px solid #dfe3e8!important;
  border-left:4px solid #1d2088!important;
  border-bottom:1px solid #d9dde3!important;
  border-radius:7px 7px 0 0!important;
}
body.page-home .home-review-services,
body.page-home .home-package-slider,
body.page-home .home-maker-grid,
body.page-home .home-latest-review,
body.page-home .home-guide-grid{
  border-top:0!important;
  border-radius:0 0 7px 7px!important;
  padding-top:14px!important;
}

@media(max-width:768px){
  body.page-home .home-strengths{
    padding:0 12px 12px!important;
  }
  body.page-home .home-strengths > .home-review-section-title{
    margin-left:-12px!important;
    margin-right:-12px!important;
  }
  body.page-home .home-review-section-title,
  body.page-home .home-review-lower-title{
    font-size:14px!important;
  }
}


/* TOP heading trial 4: contemporary editorial hierarchy inspired by premium automotive/audio sites. */
body.page-home .home-strengths{
  margin:0 0 24px!important;
  padding:0 18px 18px!important;
  overflow:hidden!important;
  border:1px solid #e4e7eb!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:none!important;
}

body.page-home .home-strengths > .home-review-section-title,
body.page-home .home-services-title,
body.page-home .home-package-title,
body.page-home .home-maker-title,
body.page-home .home-review-lower-title{
  display:block!important;
  position:relative!important;
  width:auto!important;
  max-width:none!important;
  min-height:0!important;
  box-sizing:border-box!important;
  transform:none!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#17191d!important;
  box-shadow:none!important;
  font-size:17px!important;
  font-weight:600!important;
  line-height:1.45!important;
  letter-spacing:0!important;
  white-space:normal!important;
}

body.page-home .home-strengths > .home-review-section-title{
  margin:0 -18px 8px!important;
  padding:18px 18px 10px!important;
}

body.page-home .home-services-title,
body.page-home .home-package-title,
body.page-home .home-maker-title,
body.page-home .home-review-lower-title{
  margin:0!important;
  padding:18px 18px 9px!important;
  border:1px solid #e4e7eb!important;
  border-bottom:0!important;
  border-radius:10px 10px 0 0!important;
}

body.page-home .home-strengths > .home-review-section-title::before,
body.page-home .home-services-title::before,
body.page-home .home-package-title::before,
body.page-home .home-maker-title::before,
body.page-home .home-review-lower-title::before{
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0 0 5px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#1d2088!important;
  font:700 9px/1.25 Arial,Helvetica,sans-serif!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}

body.page-home .home-strengths > .home-review-section-title::before{content:"WHY QUANTUM"!important}
body.page-home .home-services-title::before{content:"SERVICES"!important}
body.page-home .home-package-title::before{content:"RECOMMENDED"!important}
body.page-home .home-maker-title::before{content:"BY BRAND"!important}
body.page-home .home-latest-title::before{content:"LATEST"!important}
body.page-home .home-howto-title::before{content:"GUIDE"!important}

body.page-home .home-strengths > .home-review-section-title::after,
body.page-home .home-services-title::after,
body.page-home .home-package-title::after,
body.page-home .home-maker-title::after,
body.page-home .home-review-lower-title::after{
  content:none!important;
  display:none!important;
}

body.page-home .home-review-services,
body.page-home .home-package-slider,
body.page-home .home-maker-grid,
body.page-home .home-latest-review,
body.page-home .home-guide-grid{
  box-sizing:border-box!important;
  margin:0 0 24px!important;
  padding:8px 16px 16px!important;
  border:1px solid #e4e7eb!important;
  border-top:0!important;
  border-radius:0 0 10px 10px!important;
  background:#fff!important;
  box-shadow:none!important;
}

body.page-home .home-strength-card,
body.page-home .home-review-services > .box_3l,
body.page-home .home-guide-card{
  border-color:#e7e9ed!important;
  border-radius:9px!important;
  background:#fcfcfd!important;
  box-shadow:none!important;
}

body.page-home .home-strength-card{
  padding:16px 16px!important;
}

body.page-home .home-review-services > .box_3l:hover,
body.page-home .home-guide-card:hover{
  border-color:#d8dce3!important;
  box-shadow:0 6px 18px rgba(20,28,45,.045)!important;
}

@media(max-width:768px){
  body.page-home .home-strengths{
    padding:0 12px 12px!important;
    border-radius:8px!important;
  }
  body.page-home .home-strengths > .home-review-section-title{
    margin-left:-12px!important;
    margin-right:-12px!important;
    padding:15px 12px 8px!important;
  }
  body.page-home .home-services-title,
  body.page-home .home-package-title,
  body.page-home .home-maker-title,
  body.page-home .home-review-lower-title{
    padding:15px 12px 8px!important;
    font-size:15px!important;
  }
  body.page-home .home-review-services,
  body.page-home .home-package-slider,
  body.page-home .home-maker-grid,
  body.page-home .home-latest-review,
  body.page-home .home-guide-grid{
    padding:6px 12px 12px!important;
    border-radius:0 0 8px 8px!important;
  }
}


/* TOP premium polish trial — content and DOM unchanged. */
body.page-home{
  background:#f6f7f9!important;
  color:#20242b!important;
}
body.page-home #main{
  gap:0!important;
}

/* Shared outer section surface */
body.page-home .home-strengths,
body.page-home .home-review-services,
body.page-home .home-package-slider,
body.page-home .home-maker-grid,
body.page-home .home-latest-review,
body.page-home .home-guide-grid{
  border:1px solid #e8ebef!important;
  background:#fff!important;
  box-shadow:0 10px 30px rgba(22,34,52,.045)!important;
}

/* Editorial section headers */
body.page-home .home-strengths > .home-review-section-title,
body.page-home .home-services-title,
body.page-home .home-package-title,
body.page-home .home-maker-title,
body.page-home .home-review-lower-title{
  font-family:"Helvetica Neue","Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif!important;
  color:#171a1f!important;
  font-size:20px!important;
  font-weight:650!important;
  line-height:1.35!important;
  letter-spacing:-.01em!important;
}
body.page-home .home-strengths > .home-review-section-title::before,
body.page-home .home-services-title::before,
body.page-home .home-package-title::before,
body.page-home .home-maker-title::before,
body.page-home .home-review-lower-title::before{
  color:#3246a8!important;
  font-size:9px!important;
  font-weight:700!important;
  letter-spacing:.18em!important;
}
body.page-home .home-strengths > .home-review-section-title{
  padding:24px 24px 8px!important;
  margin:0 -18px 8px!important;
}
body.page-home .home-services-title,
body.page-home .home-package-title,
body.page-home .home-maker-title,
body.page-home .home-review-lower-title{
  padding:24px 24px 8px!important;
  border-color:#e8ebef!important;
  border-radius:14px 14px 0 0!important;
}

/* Section bodies */
body.page-home .home-strengths{
  padding:0 18px 18px!important;
  border-radius:14px!important;
}
body.page-home .home-review-services,
body.page-home .home-package-slider,
body.page-home .home-maker-grid,
body.page-home .home-latest-review,
body.page-home .home-guide-grid{
  padding:12px 18px 20px!important;
  border-color:#e8ebef!important;
  border-radius:0 0 14px 14px!important;
  box-shadow:0 10px 30px rgba(22,34,52,.045)!important;
}

/* Strength cards */
body.page-home .home-strengths-grid{
  gap:14px!important;
}
body.page-home .home-strength-card{
  padding:20px 18px!important;
  border:1px solid #edf0f3!important;
  border-radius:12px!important;
  background:#f9fafb!important;
  box-shadow:none!important;
}
body.page-home .home-strength-card h3{
  margin-bottom:9px!important;
  color:#17236e!important;
  font-family:"Helvetica Neue","Segoe UI","Noto Sans JP","Yu Gothic",sans-serif!important;
  font-size:14px!important;
  font-weight:650!important;
}
body.page-home .home-strength-card p{
  color:#535b66!important;
  font-size:12px!important;
  line-height:1.8!important;
}

/* Service cards: quieter shell, stronger imagery */
body.page-home .home-review-services{
  gap:14px!important;
}
body.page-home .home-review-services > .box_3l{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  padding:0 0 16px!important;
  overflow:hidden!important;
  border:1px solid #e9ecf0!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:none!important;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease!important;
}
body.page-home .home-review-services > .box_3l:hover{
  transform:translateY(-3px)!important;
  border-color:#dde2e8!important;
  box-shadow:0 12px 28px rgba(18,31,54,.08)!important;
}
body.page-home .home-review-services > .box_3l .box_img{
  margin:0!important;
  padding:22px 16px 18px!important;
  min-height:118px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:linear-gradient(180deg,#fbfcfd 0%,#f6f8fa 100%)!important;
  border-bottom:1px solid #edf0f3!important;
}
body.page-home .home-review-services > .box_3l .box_img img{
  max-height:110px!important;
  width:auto!important;
}
body.page-home .home-review-services > .box_3l > p{
  margin:0!important;
  padding:16px 18px 0!important;
  color:#424a55!important;
  font-size:12px!important;
  line-height:1.72!important;
}
body.page-home .home-review-services > .box_3l > p:last-child{
  margin-top:auto!important;
  padding-top:14px!important;
}
body.page-home .home-review-services > .box_3l > p:last-child a{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:8px 11px!important;
  border:1px solid #dfe4ea!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#1d2088!important;
  font-size:11px!important;
  font-weight:700!important;
  text-decoration:none!important;
}
body.page-home .home-review-services > .box_3l > p:last-child a img{
  display:none!important;
}
body.page-home .home-review-services > .box_3l > p:last-child a::after{
  content:"詳細を見る  →";
}

/* Manufacturer tiles */
body.page-home .home-maker-grid{
  gap:10px!important;
}
body.page-home .home-maker-grid > .box_3l{
  overflow:hidden!important;
  border:1px solid #edf0f3!important;
  border-radius:10px!important;
  background:#fafbfc!important;
  box-shadow:none!important;
  transition:background .2s ease,border-color .2s ease,transform .2s ease!important;
}
body.page-home .home-maker-grid > .box_3l:hover{
  transform:translateY(-2px)!important;
  border-color:#dde2e8!important;
  background:#fff!important;
}
body.page-home .home-maker-grid > .box_3l .box_img{
  min-height:70px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:10px!important;
}
body.page-home .home-maker-grid > .box_3l img{
  max-height:54px!important;
  width:auto!important;
}

/* Package area */
body.page-home .home-package-slider{
  background:#fff!important;
}
body.page-home .home-package-slider .bx-wrapper{
  margin-bottom:0!important;
  box-shadow:none!important;
  border:0!important;
  background:transparent!important;
}

/* Latest and guide cards */
body.page-home .home-latest-review{
  overflow:hidden!important;
}
body.page-home .home-guide-card{
  border:1px solid #e9ecf0!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:none!important;
  transition:transform .22s ease,box-shadow .22s ease!important;
}
body.page-home .home-guide-card:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 12px 28px rgba(18,31,54,.07)!important;
}
body.page-home .home-guide-card .home-guide-image{
  background:#f7f8fa!important;
}
body.page-home .home-guide-body{
  padding:16px 16px 17px!important;
}
body.page-home .home-guide-body h4{
  color:#20242b!important;
  font-size:14px!important;
  line-height:1.55!important;
}
body.page-home .home-guide-body p{
  color:#626a75!important;
}
body.page-home .home-guide-link{
  width:auto!important;
  padding:0!important;
  justify-content:flex-start!important;
  background:transparent!important;
  color:#1d2088!important;
  font-size:11px!important;
  font-weight:700!important;
}
body.page-home .home-guide-link:hover,
body.page-home .home-guide-link:focus{
  background:transparent!important;
  color:#0f166b!important;
}

/* Reduce visual noise in lower utility cards */
body.page-home .home-calendar-box .business-calendar-panel,
body.page-home .home-sdgs{
  border-color:#e8ebef!important;
  border-radius:12px!important;
  box-shadow:none!important;
}

@media(max-width:768px){
  body.page-home .home-strengths{
    border-radius:10px!important;
    padding:0 12px 12px!important;
  }
  body.page-home .home-strengths > .home-review-section-title{
    padding:18px 12px 7px!important;
    margin-left:-12px!important;
    margin-right:-12px!important;
  }
  body.page-home .home-services-title,
  body.page-home .home-package-title,
  body.page-home .home-maker-title,
  body.page-home .home-review-lower-title{
    padding:18px 14px 7px!important;
    font-size:17px!important;
  }
  body.page-home .home-review-services,
  body.page-home .home-package-slider,
  body.page-home .home-maker-grid,
  body.page-home .home-latest-review,
  body.page-home .home-guide-grid{
    padding:10px 12px 14px!important;
    border-radius:0 0 10px 10px!important;
  }
  body.page-home .home-review-services > .box_3l .box_img{
    min-height:100px!important;
  }
}


/* TOP lower-section heading cleanup: align GUIDE / LATEST / calendar with the premium editorial system. */
body.page-home .home-lower-shell .home-review-lower-title{
  display:block!important;
  position:relative!important;
  box-sizing:border-box!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:22px 22px 12px!important;
  transform:none!important;
  border:1px solid #e8ebef!important;
  border-left:1px solid #e8ebef!important;
  border-bottom:0!important;
  border-radius:14px 14px 0 0!important;
  background:#fff!important;
  color:#171a1f!important;
  box-shadow:none!important;
  font-family:"Helvetica Neue","Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif!important;
  font-size:18px!important;
  font-weight:650!important;
  line-height:1.4!important;
  letter-spacing:-.01em!important;
}
body.page-home .home-lower-shell .home-review-lower-title::before{
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0 0 5px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#3246a8!important;
  font:700 9px/1.25 Arial,Helvetica,sans-serif!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
body.page-home .home-lower-shell .home-review-lower-title::after{
  content:none!important;
  display:none!important;
}
body.page-home .home-lower-shell .home-latest-review,
body.page-home .home-lower-shell .home-guide-grid{
  margin:0 0 24px!important;
  padding:10px 18px 20px!important;
  border:1px solid #e8ebef!important;
  border-top:0!important;
  border-radius:0 0 14px 14px!important;
  background:#fff!important;
  box-shadow:0 10px 30px rgba(22,34,52,.045)!important;
}

/* Business calendar: remove decorative legacy heading treatment and solid month bars. */
body.page-home .home-calendar-box{
  margin-top:0!important;
}
body.page-home .home-calendar-box .business-calendar-panel{
  padding:22px 22px 18px!important;
  border:1px solid #e8ebef!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 10px 30px rgba(22,34,52,.04)!important;
}
body.page-home .home-calendar-box .business-calendar-title{
  margin:0 0 16px!important;
  padding:0!important;
  text-align:left!important;
  color:#171a1f!important;
  font-family:"Helvetica Neue","Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif!important;
  font-size:17px!important;
  font-weight:650!important;
  line-height:1.4!important;
  letter-spacing:-.01em!important;
}
body.page-home .home-calendar-box .business-calendar-title::before{
  content:"BUSINESS CALENDAR";
  display:block;
  margin:0 0 5px;
  color:#3246a8;
  font:700 9px/1.25 Arial,Helvetica,sans-serif;
  letter-spacing:.18em;
}
body.page-home .home-calendar-box .business-calendar-grid{
  gap:22px!important;
}
body.page-home .home-calendar-box .business-calendar-month h3{
  margin:0 0 7px!important;
  padding:7px 9px!important;
  border:1px solid #e6e9ed!important;
  border-radius:7px!important;
  background:#f6f7f9!important;
  color:#252a31!important;
  box-shadow:none!important;
  text-align:left!important;
  font-family:"Helvetica Neue","Segoe UI","Noto Sans JP","Yu Gothic",sans-serif!important;
  font-size:12px!important;
  font-weight:650!important;
  line-height:1.35!important;
  letter-spacing:.01em!important;
}
body.page-home .home-calendar-box .business-calendar-month th{
  background:#f1f4f6!important;
  color:#59616c!important;
  font-weight:600!important;
}
body.page-home .home-calendar-box .business-calendar-month th,
body.page-home .home-calendar-box .business-calendar-month td{
  border-color:#e0e4e8!important;
}
body.page-home .home-calendar-box .business-calendar-legend{
  margin-top:12px!important;
  color:#68717c!important;
  font-size:10px!important;
}

@media(max-width:768px){
  body.page-home .home-lower-shell .home-review-lower-title{
    padding:18px 14px 9px!important;
    border-radius:10px 10px 0 0!important;
    font-size:16px!important;
  }
  body.page-home .home-lower-shell .home-latest-review,
  body.page-home .home-lower-shell .home-guide-grid{
    padding:8px 12px 14px!important;
    border-radius:0 0 10px 10px!important;
  }
  body.page-home .home-calendar-box .business-calendar-panel{
    padding:18px 14px 14px!important;
    border-radius:10px!important;
  }
}


/* TOP corrective pass: force lower-section headings and sidebar CTA over legacy ID-based CSS. */
body.page-home #content > h3.home-review-lower-title{
  display:block!important;
  position:relative!important;
  box-sizing:border-box!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:22px 22px 12px!important;
  transform:none!important;
  border:1px solid #e8ebef!important;
  border-left:1px solid #e8ebef!important;
  border-bottom:0!important;
  border-radius:14px 14px 0 0!important;
  background:#fff!important;
  color:#171a1f!important;
  box-shadow:none!important;
  font-family:"Helvetica Neue","Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif!important;
  font-size:18px!important;
  font-weight:650!important;
  line-height:1.4!important;
  letter-spacing:-.01em!important;
}
body.page-home #content > h3.home-review-lower-title::before{
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0 0 5px!important;
  border:0!important;
  background:transparent!important;
  color:#3246a8!important;
  font:700 9px/1.25 Arial,Helvetica,sans-serif!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
body.page-home #content > h3.home-update-title::before{content:"UPDATE"!important}
body.page-home #content > h3.home-latest-title::before{content:"LATEST"!important}
body.page-home #content > h3.home-howto-title::before{content:"GUIDE"!important}
body.page-home #content > h3.home-review-lower-title::after{
  content:none!important;
  display:none!important;
}
body.page-home #content > h3.home-review-lower-title + .home-latest-review,
body.page-home #content > h3.home-review-lower-title + .home-guide-grid{
  margin:0 0 24px!important;
  padding:10px 18px 20px!important;
  border:1px solid #e8ebef!important;
  border-top:0!important;
  border-radius:0 0 14px 14px!important;
  background:#fff!important;
  box-shadow:0 10px 30px rgba(22,34,52,.045)!important;
}

/* Calendar title and month headings: neutral premium treatment, independent of legacy h3 rules. */
body.page-home #content .home-calendar-box .business-calendar-title{
  margin:0 0 16px!important;
  padding:0!important;
  text-align:left!important;
  color:#171a1f!important;
  font-size:0!important;
  font-weight:650!important;
  line-height:1.4!important;
  letter-spacing:-.01em!important;
}
body.page-home #content .home-calendar-box .business-calendar-title::before{
  content:"BUSINESS CALENDAR"!important;
  display:block!important;
  margin:0 0 5px!important;
  color:#3246a8!important;
  font:700 9px/1.25 Arial,Helvetica,sans-serif!important;
  letter-spacing:.18em!important;
}
body.page-home #content .home-calendar-box .business-calendar-title::after{
  content:"営業日のご案内"!important;
  display:block!important;
  color:#171a1f!important;
  font:650 17px/1.4 "Helvetica Neue","Segoe UI","Noto Sans JP","Yu Gothic",sans-serif!important;
  letter-spacing:-.01em!important;
}
body.page-home #content .home-calendar-box .business-calendar-month h3{
  margin:0 0 7px!important;
  padding:7px 9px!important;
  border:1px solid #e6e9ed!important;
  border-left:1px solid #e6e9ed!important;
  border-radius:7px!important;
  background:#f6f7f9!important;
  color:#252a31!important;
  box-shadow:none!important;
  text-align:left!important;
  font-family:"Helvetica Neue","Segoe UI","Noto Sans JP","Yu Gothic",sans-serif!important;
  font-size:12px!important;
  font-weight:650!important;
  line-height:1.35!important;
  letter-spacing:.01em!important;
}

@media(max-width:768px){
  body.page-home #content > h3.home-review-lower-title{
    padding:18px 14px 9px!important;
    border-radius:10px 10px 0 0!important;
    font-size:16px!important;
  }
  body.page-home #content > h3.home-review-lower-title + .home-latest-review,
  body.page-home #content > h3.home-review-lower-title + .home-guide-grid{
    padding:8px 12px 14px!important;
    border-radius:0 0 10px 10px!important;
  }
}


/* Add a clean divider directly beneath the three lower TOP headings. */
body.page-home #content > h3.home-latest-title,
body.page-home #content > h3.home-howto-title{
  padding-bottom:14px!important;
  border-bottom:1px solid #dfe3e8!important;
}
body.page-home #content .home-calendar-box .business-calendar-title{
  padding-bottom:14px!important;
  border-bottom:1px solid #dfe3e8!important;
  margin-bottom:16px!important;
}


/* TOP final visual pass: blend legacy image backgrounds and normalize typography. */

/* Keep a clear divider under every major section heading. */
body.page-home .home-strengths > .home-review-section-title,
body.page-home .home-services-title,
body.page-home .home-package-title,
body.page-home .home-maker-title,
body.page-home #content > h3.home-review-lower-title{
  border-bottom:1px solid #e1e5ea!important;
}

/* White image surfaces so legacy JPG/PNG white backgrounds disappear into the card. */
body.page-home .home-review-services > .box_3l,
body.page-home .home-review-services > .box_3l .box_img,
body.page-home .home-review-services > .box_3l .box_img a{
  background:#fff!important;
}
body.page-home .home-review-services > .box_3l .box_img{
  background-image:none!important;
}
body.page-home .home-maker-grid > .box_3l,
body.page-home .home-maker-grid > .box_3l .box_img,
body.page-home .home-maker-grid > .box_3l .box_img a{
  background:#fff!important;
}
body.page-home .home-maker-grid > .box_3l:hover{
  background:#fff!important;
}

/* Reading scale: slightly larger copy, restrained headings, consistent hierarchy. */
body.page-home .home-strength-card p{
  font-size:13px!important;
  line-height:1.78!important;
}
body.page-home .home-strength-card h3{
  font-size:14px!important;
  line-height:1.5!important;
}

body.page-home .home-review-services > .box_3l > p{
  font-size:13px!important;
  line-height:1.72!important;
}
body.page-home .home-review-services > .box_3l > p:last-child a{
  font-size:12px!important;
  line-height:1.35!important;
}

body.page-home .home-maker-grid > p{
  font-size:12px!important;
  line-height:1.7!important;
}

body.page-home .home-feed-date{
  font-size:12px!important;
}
body.page-home .home-feed-category{
  font-size:10px!important;
}
body.page-home .home-feed-copy h3,
body.page-home .home-feed-item--visual .home-feed-copy h3{
  font-size:14px!important;
  line-height:1.5!important;
}
body.page-home .home-feed-copy p,
body.page-home .home-feed-item--visual .home-feed-copy p{
  font-size:12px!important;
  line-height:1.65!important;
}
body.page-home .home-latest-links{
  font-size:11px!important;
  line-height:1.5!important;
}

body.page-home .home-guide-kicker{
  font-size:10px!important;
}
body.page-home .home-guide-card h4,
body.page-home .home-guide-body h4{
  font-size:15px!important;
  line-height:1.5!important;
}
body.page-home .home-guide-card .home-guide-body > p:not(.home-guide-kicker),
body.page-home .home-guide-body p:not(.home-guide-kicker){
  font-size:13px!important;
  line-height:1.72!important;
}
body.page-home .home-guide-link,
body.page-home .home-guide-link:link,
body.page-home .home-guide-link:visited{
  font-size:12px!important;
  line-height:1.4!important;
}

body.page-home #content .home-calendar-box .business-calendar-title::after{
  font-size:18px!important;
}
body.page-home #content .home-calendar-box .business-calendar-month h3{
  font-size:12px!important;
}
body.page-home .home-calendar-box .business-calendar-month th,
body.page-home .home-calendar-box .business-calendar-month td{
  font-size:11px!important;
}
body.page-home .home-calendar-box .business-calendar-legend{
  font-size:11px!important;
}
body.page-home .home-sdgs p{
  font-size:13px!important;
  line-height:1.7!important;
}

@media(max-width:768px){
  body.page-home .home-strength-card p,
  body.page-home .home-review-services > .box_3l > p,
  body.page-home .home-guide-card .home-guide-body > p:not(.home-guide-kicker),
  body.page-home .home-guide-body p:not(.home-guide-kicker){
    font-size:13px!important;
  }
  body.page-home .home-guide-card h4,
  body.page-home .home-guide-body h4{
    font-size:14px!important;
  }
}



/* HOME restored update-history block */
body.page-home .home-update-review .update-row{
  grid-template-columns:100px minmax(0,1fr)!important;
  gap:12px!important;
  padding:10px 0!important;
  border-bottom:1px solid #e6e9ed!important;
}
body.page-home .home-update-review .update-row:last-child{border-bottom:0!important}
body.page-home .home-update-review .update-row time{
  color:#666!important;
  font:400 12px/1.6 Arial,Helvetica,sans-serif!important;
}
body.page-home .home-update-review .feed-title-text,
body.page-home .home-update-review .feed-title-link{
  color:#333!important;
  font-size:13px!important;
  line-height:1.65!important;
}
body.page-home .home-update-review .feed-title-link{color:#1d2088!important}
body.page-home .home-update-review .past-update{
  padding:10px 0 0!important;
  text-align:right!important;
  font-size:12px!important;
}
@media(max-width:768px){
  body.page-home .home-update-review .update-row{
    grid-template-columns:82px minmax(0,1fr)!important;
    gap:9px!important;
  }
}

/* TOP section-boundary audit: one divider only between every heading and its content. */
body.page-home .home-strengths > .home-review-section-title,
body.page-home .home-services-title,
body.page-home .home-package-title,
body.page-home .home-maker-title,
body.page-home #content > h3.home-latest-title,
body.page-home #content > h3.home-howto-title,
body.page-home #content .home-calendar-box .business-calendar-title{
  border-bottom:1px solid #e1e5ea!important;
}

/* These section bodies sit directly under a headed card; remove their top border to avoid 2px/double lines. */
body.page-home .home-review-services,
body.page-home .home-package-slider,
body.page-home .home-maker-grid,
body.page-home #content > h3.home-latest-title + .home-latest-review,
body.page-home #content > h3.home-howto-title + .home-guide-grid{
  border-top:0!important;
}

/* Keep outer card edges consistent while the shared divider is supplied by the heading. */
body.page-home .home-services-title,
body.page-home .home-package-title,
body.page-home .home-maker-title,
body.page-home #content > h3.home-latest-title,
body.page-home #content > h3.home-howto-title{
  border-left-color:#e8ebef!important;
  border-right-color:#e8ebef!important;
  border-top-color:#e8ebef!important;
}


/* TOP divider inset: match BUSINESS CALENDAR spacing on every major section heading. */
body.page-home .home-strengths > .home-review-section-title,
body.page-home .home-services-title,
body.page-home .home-package-title,
body.page-home .home-maker-title,
body.page-home #content > h3.home-latest-title,
body.page-home #content > h3.home-howto-title{
  position:relative!important;
  border-bottom:0!important;
}
body.page-home .home-strengths > .home-review-section-title::after,
body.page-home .home-services-title::after,
body.page-home .home-package-title::after,
body.page-home .home-maker-title::after,
body.page-home #content > h3.home-latest-title::after,
body.page-home #content > h3.home-howto-title::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:22px!important;
  right:22px!important;
  bottom:0!important;
  width:auto!important;
  height:1px!important;
  background:#e1e5ea!important;
  border:0!important;
  border-radius:0!important;
}

/* BUSINESS CALENDAR already has the desired inset via its parent padding; keep the same line tone. */
body.page-home #content .home-calendar-box .business-calendar-title{
  border-bottom:1px solid #e1e5ea!important;
}

@media(max-width:768px){
  body.page-home .home-strengths > .home-review-section-title::after,
  body.page-home .home-services-title::after,
  body.page-home .home-package-title::after,
  body.page-home .home-maker-title::after,
  body.page-home #content > h3.home-latest-title::after,
  body.page-home #content > h3.home-howto-title::after{
    left:14px!important;
    right:14px!important;
  }
}


/* QUANTUM-VISUAL-STYLE-LOCK-20261003
   APPROVED BASELINE — do not redesign without explicit user approval.
   Preserve:
   - white outer section cards with light borders / restrained radius and shadow
   - small uppercase English kicker + Japanese heading
   - one 1px divider below headings, inset from both sides
   - nested child cards inside their parent section
   - navy used as a restrained accent, not large filled bands
   - white image surfaces where legacy asset backgrounds would otherwise show
   - current typography hierarchy and spacing
   - existing content, links, functionality, and approved section ordering
*/

/* TOP RESPONSIVE SERVICES AND MAKER GRID 20261025 */

/* Preserve approved card visuals; only adapt column counts and note placement. */
@media (min-width:769px) and (max-width:1099px){
  body.page-home .home-review-services{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.page-home .home-maker-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media (max-width:768px){
  body.page-home .home-maker-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    align-items:stretch!important;
  }
}
@media (max-width:1099px){
  body.page-home .home-maker-grid > .box_3l{
    float:none!important;
    width:auto!important;
    min-width:0!important;
    min-height:72px!important;
    margin:0!important;
    padding:9px 8px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
  }
  body.page-home .home-maker-grid > .box_3l .box_img,
  body.page-home .home-maker-grid > .box_3l .box_img a{
    width:100%!important;
    min-height:52px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  body.page-home .home-maker-grid > .box_3l .box_img img{
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:52px!important;
    object-fit:contain!important;
  }
  body.page-home .home-maker-grid > p{
    grid-column:1/-1!important;
    width:auto!important;
    margin:8px 0 0!important;
    padding:10px 12px!important;
    box-sizing:border-box!important;
    background:#f7f8fa!important;
  }
}
@media (max-width:479px){
  body.page-home .home-maker-grid{grid-template-columns:minmax(0,1fr)!important;}
}

/* Guide section must stack its heading above its full-width cards. */
body.page-home .home-guide-feature{display:block!important}
body.page-home .home-guide-feature > .home-guide-grid{width:100%!important;box-sizing:border-box!important}

/* Keep services in a true two-column grid at tablet widths; avoid legacy float wrapping. */
@media (max-width:768px){
 body.page-home .home-review-services{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;align-items:stretch!important}
 body.page-home .home-review-services > .box_3l{float:none!important;width:auto!important;margin:0!important;min-width:0!important;height:100%!important;box-sizing:border-box!important}
}

@media(max-width:479px){
 body.page-home .home-review-services{grid-template-columns:minmax(0,1fr)!important}
}

@media(max-width:479px){
 body.page-home .home-review-services{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
 body.page-home .home-review-services > .box_3l{float:none!important;width:auto!important;margin:0!important;min-width:0!important;height:auto!important}
}

/* Restore each service category accent without changing approved button geometry. */
body.page-home .home-review-services > .box_3l:nth-child(1) > p:last-child a{color:#ff9000!important;border-color:#ff9000!important}
body.page-home .home-review-services > .box_3l:nth-child(2) > p:last-child a{color:#6695ed!important;border-color:#6695ed!important}
body.page-home .home-review-services > .box_3l:nth-child(3) > p:last-child a{color:#76c900!important;border-color:#76c900!important}
body.page-home .home-review-services > .box_3l:nth-child(4) > p:last-child a{color:#ff5766!important;border-color:#ff5766!important}

/* Compact guide cards at narrow viewport: keep existing image and text, reduce oversized stack. */
@media(max-width:768px){
 body.page-home .home-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 body.page-home .home-guide-image{aspect-ratio:16/9!important}
 body.page-home .home-guide-body{padding:10px!important}
}
@media(max-width:479px){
 body.page-home .home-guide-grid{grid-template-columns:minmax(0,1fr)!important}
 body.page-home .home-guide-card{display:grid!important;grid-template-columns:110px minmax(0,1fr)!important;align-items:stretch!important}
 body.page-home .home-guide-image{height:100%!important;aspect-ratio:auto!important;border-bottom:0!important;border-right:1px solid #e8eaed!important}
 body.page-home .home-guide-image img{height:100%!important;object-fit:cover!important}
 body.page-home .home-guide-body{padding:8px 10px!important}
 body.page-home .home-guide-body h4{font-size:13px!important}
 body.page-home .home-guide-body > p:not(.home-guide-kicker){font-size:11px!important;margin-bottom:6px!important}
}
