/* Uphill Printing / homepage only */
.hero{position:relative;min-height:365px;background:#493f31;overflow:hidden;isolation:isolate}.hero picture,.hero-image,.hero-tint{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover;object-position:center 52%}.hero-tint{background:linear-gradient(90deg,rgba(5,23,23,.83) 0%,rgba(7,25,25,.62) 34%,rgba(7,24,24,.15) 66%,rgba(0,0,0,.04) 100%)}.hero-content{min-height:365px;display:flex;align-items:center;position:relative;z-index:1}.hero-copy{max-width:500px;padding:24px 0;color:#fff;text-shadow:0 1px 4px #0007}.hero h1{font-family:var(--serif);font-size:clamp(28px,3.2vw,43px);line-height:1.47;margin:0 0 15px;letter-spacing:.045em}.hero p{font-family:var(--serif);font-size:clamp(14px,1.4vw,17px);line-height:1.9;margin:0 0 24px;max-width:430px}.button-hero{font-size:16px;padding-inline:25px;text-shadow:none}.button-hero span{font-size:25px;line-height:1}.services{background:#fffdf8}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.service-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#fff;border-radius:8px;border:1px solid #ddd8cb;text-decoration:none;box-shadow:0 3px 6px #2222;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-4px);box-shadow:0 8px 15px #2222}.service-card picture{aspect-ratio:4/2.7;overflow:hidden}.service-card img{height:100%;width:100%;object-fit:cover}.service-card-body{flex:1;display:flex;flex-direction:column;align-items:center;padding:9px 12px 13px;text-align:center}.service-card h3{font-family:var(--serif);font-size:20px;margin:0 0 2px;line-height:1.5;color:#191e20}.service-card p{font-size:12px;line-height:1.65;margin:0 0 9px}.round-arrow{display:grid;place-items:center;border-radius:50%;background:#005742;color:white;font-size:23px;line-height:18px;width:21px;height:21px;margin-top:auto;font-family:Arial,sans-serif}.values{background-color:#f4eddd;background-image:radial-gradient(#927d5c11 .7px,transparent .7px);background-size:7px 7px}.value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.value-item{text-align:center;padding:0 17px 7px;border-right:1px solid #c9c1b2}.value-item:last-child{border-right:0}.value-icon{width:59px;height:59px;display:grid;place-items:center;border-radius:50%;margin:0 auto 10px;background:#fffdfa;color:var(--green);font-size:35px;line-height:1;border:1px solid #eae4d7}.value-item h3{font-family:var(--serif);font-size:17px;line-height:1.5;margin:0 0 6px}.value-item p{font-size:12px;line-height:1.75;margin:0}.arecore{background:linear-gradient(125deg,#e8f0e7,#f5f6eb 60%,#e6eee2)}.arecore-head{display:flex;align-items:center;gap:25px;margin-bottom:6px}.arecore-head h2{margin:0;line-height:1}.arecore-logo{width:166px;height:auto;max-width:100%}.arecore-head p{margin:0;font-family:var(--serif);font-weight:700;font-size:15px}.arecore-intro{font-size:13px;color:#536458;margin:5px 0 20px}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.blog-card{background:#fffefb;border-radius:9px;overflow:hidden;box-shadow:0 3px 9px #1c382019;display:flex;flex-direction:column}.blog-visual{height:142px;display:grid;place-items:center;background:#e2e3d7;color:#395447;font-size:44px;position:relative;overflow:hidden}.blog-visual::before{content:"";position:absolute;inset:0;background:linear-gradient(125deg,#fff5,#0001)}.blog-visual span{position:relative}.blog-visual[data-category="仕事"]{background:linear-gradient(130deg,#dfccb4,#b69b80)}.blog-visual[data-category="ものづくり"]{background:linear-gradient(140deg,#cbd6ce,#91a99e)}.blog-visual[data-category="日々"]{background:linear-gradient(145deg,#dfd4bc,#b7c6b5)}.blog-visual[data-category="印刷"]{background:linear-gradient(145deg,#c2d0d0,#e5cfaa)}.blog-card-body{padding:12px 14px 16px;display:flex;flex-direction:column;gap:3px;min-height:132px}.blog-category{font-size:11px;color:#1a6550;font-weight:700}.blog-card h3{font-size:16px;line-height:1.5;margin:0;color:#202a25;font-family:var(--serif)}.blog-card p{font-size:12px;margin:0;line-height:1.7}.blog-draft{font-size:11px;color:#7b766b;margin-top:auto}.blog-actions{display:flex;justify-content:center;align-items:center;gap:26px;margin-top:21px}.blog-actions .button{min-width:310px;min-height:38px;font-size:13px;padding:7px 15px}.blog-list-note{font-size:12px;color:#637064}.prototype-note{font-size:11px;color:#727f74;text-align:center;margin:15px 0 0}.bottom-contact{background:#eadfc9;padding:26px 0 34px;text-align:center;position:relative;background-image:linear-gradient(#fff9,#fff7),repeating-linear-gradient(25deg,#86684014 0px,#86684014 1px,transparent 1px,transparent 8px)}.bottom-contact h2{font-family:var(--serif);font-size:22px;margin:0 0 4px}.bottom-contact p{font-size:13px;margin:0 0 16px}.bottom-contact .button{min-width:360px}
@media(max-width:900px){.value-item{padding-inline:10px}.value-item h3{font-size:15px}.service-card h3{font-size:17px}.service-card-body{padding-inline:7px}.service-card p{font-size:11px}}
@media(max-width:760px){.hero,.hero-content{min-height:295px}.hero-image{object-position:62% center}.hero-tint{background:linear-gradient(90deg,#061c1cc9 0%,#071d1d9b 58%,#06201d35 100%)}.hero-copy{max-width:350px;padding:26px 5px}.hero h1{font-size:clamp(25px,6.8vw,34px);line-height:1.48;margin-bottom:12px}.hero p{font-size:13px;line-height:1.85;margin-bottom:15px}.button-hero{font-size:13px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-card picture{aspect-ratio:1.45}.service-card h3{font-size:16px}.service-card p{font-size:11px}.value-grid{grid-template-columns:1fr;gap:0}.value-item{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;text-align:left;column-gap:12px;padding:9px 3px;border-right:0;border-bottom:1px solid #d8cfbf}.value-item:last-child{border-bottom:0}.value-icon{grid-row:1/3;width:40px;height:40px;font-size:25px;margin:0}.value-item h3{font-size:15px;margin:0}.value-item p{font-size:12px}.arecore-head{gap:13px;flex-wrap:wrap}.arecore-logo{width:128px}.arecore-head p{font-size:12px}.arecore-intro{font-size:12px}.blog-grid{grid-template-columns:1fr;gap:10px}.blog-card{display:grid;grid-template-columns:110px 1fr;min-height:118px}.blog-visual{height:100%;min-height:118px;font-size:34px}.blog-card-body{padding:10px;min-height:0}.blog-card h3{font-size:15px}.blog-card p{font-size:11px}.blog-actions{flex-direction:column;gap:8px}.blog-actions .button{min-width:0;width:100%}.bottom-contact h2{font-size:18px}.bottom-contact .button{min-width:0;width:100%}}
@media(max-width:380px){.brand-en{font-size:25px}.hero h1{font-size:24px}.hero p{font-size:12px}.service-card p{font-size:10px}.service-card h3{font-size:15px}}


/* ---------------------------------------------------------
   v2: mobile readability tune-up. Desktop rules unchanged.
   Keep all adjustments isolated to <= 760px.
   --------------------------------------------------------- */
@media (max-width: 760px) {
  /* A darker, even left-to-right tint keeps the white copy legible
     over both the window and the printing press on narrow screens. */
  .hero-tint {
    background: linear-gradient(90deg,
      rgba(5, 19, 22, .90) 0%,
      rgba(5, 22, 24, .81) 47%,
      rgba(5, 22, 24, .52) 82%,
      rgba(5, 22, 24, .31) 100%);
  }
  .hero-copy { max-width: min(100%, 355px); padding: 26px 0; text-shadow: 0 2px 5px rgba(0,0,0,.50); }
  .hero h1 { font-size: clamp(25px, 6.5vw, 33px); line-height: 1.42; }
  .hero p { font-size: 13px; line-height: 1.8; max-width: 33em; }
  .button-hero { font-size: 13px; min-height: 46px; padding: 10px 15px; }

  /* Two-column cards: readable body copy without enlarging the cards
     so much that the visitor must scroll excessively. */
  .service-grid { gap: 11px; }
  .service-card-body { padding: 10px 9px 12px; }
  .service-card h3 { font-size: 16px; line-height: 1.45; margin-bottom: 5px; }
  .service-card p { font-size: 12px; line-height: 1.6; margin-bottom: 10px; overflow-wrap: anywhere; }
  .round-arrow { width: 23px; height: 23px; font-size: 23px; }

  /* Blog entries maintain the same row layout, with more comfortable type. */
  .blog-card { grid-template-columns: 104px minmax(0,1fr); min-height: 126px; }
  .blog-visual { min-height: 126px; }
  .blog-card-body { padding: 11px 12px; }
  .blog-card h3 { font-size: 15px; line-height: 1.5; }
  .blog-card p { font-size: 12px; line-height: 1.55; }
  .blog-category, .blog-draft { font-size: 11px; }
  .blog-actions .button { min-height: 46px; line-height: 1.5; }
}

@media (max-width: 390px) {
  .hero, .hero-content { min-height: 320px; }
  .hero h1 { font-size: 24px; }
  .hero p { font-size: 12.5px; }
  .service-grid { gap: 9px; }
  .service-card-body { padding: 9px 7px 11px; }
  .service-card h3 { font-size: 15px; }
  .service-card p { font-size: 11.5px; line-height: 1.6; }
  .blog-card { grid-template-columns: 92px minmax(0,1fr); }
  .blog-card-body { padding: 9px 10px; }
  .blog-card h3 { font-size: 14px; }
  .blog-card p { font-size: 11.5px; }
}

@media (max-width: 340px) {
  .hero h1 { font-size: 22px; }
  .hero p { font-size: 12px; }
  .button-hero { font-size: 12px; padding-inline: 10px; }
  .service-card h3 { font-size: 14px; }
  .service-card p { font-size: 11px; }
  .blog-card { grid-template-columns: 84px minmax(0,1fr); }
}
