:root {
  --ink: #173238;
  --ink-2: #52676c;
  --paper: #f4f7f6;
  --paper-2: #e7efed;
  --white: #ffffff;
  --blue: #247980;
  --blue-deep: #174b51;
  --yellow: #d7eee8;
  --coral: #de704d;
  --line: rgba(23, 50, 56, .14);
  --radius: 12px;
  --shadow: 0 18px 50px rgba(23, 50, 56, .12);
}

/* Lightweight original line illustrations, shared by service and guide content. */
.print-illustration{display:block;width:80px;height:80px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;color:#24434a;}
.print-illustration .illustration-paper{fill:#fffdf6;stroke:none;}
.print-illustration .illustration-accent{fill:#efaf8b;stroke:none;}
.compact-flow:has(.illustrated-step){gap:18px;}
.compact-flow .illustrated-step{position:relative;min-height:280px;padding:24px;border:1px solid #17323825!important;border-radius:12px!important;background:#fffcf3;color:#173238;box-shadow:0 9px 0 -5px #17323814;align-items:flex-start;}
.compact-flow .illustrated-step>b{font:12px monospace;color:#a95739;}
.compact-flow .illustrated-step>.print-illustration{width:88px;height:88px;margin:20px auto 24px;}
.compact-flow .illustrated-step>strong{font-size:19px;}
.compact-flow .illustrated-step>span{color:#52676c;}
.compact-flow .illustrated-step:not(:last-child)::after{content:'→';position:absolute;right:-16px;top:48%;z-index:2;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#e6aa88;color:#173238;font-size:17px;}
.faq-home .faq-list{border-top:0;}
.faq-home .faq-list details{border:1px solid #17323825;border-radius:12px;background:#fffdf7;margin-bottom:13px;box-shadow:0 5px 0 -2px #17323808;overflow:hidden;}
.faq-home .faq-list summary.illustrated-question{align-items:center;justify-content:flex-start;gap:20px;padding:22px 26px;font-size:15px;}
.illustrated-question>.print-illustration{width:52px;height:52px;}
.faq-home .faq-list summary.illustrated-question>span{margin-left:auto;flex:none;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#f3e6d7;font-size:18px;line-height:1;}
.faq-home .faq-list details[open]{background:#fff8ee;border-color:#cf9b7c;}
.faq-home .faq-list details p{padding:0 26px 24px 98px;margin-bottom:0;font-size:14px;}
.company-mini dt{display:flex;align-items:center;gap:8px;}
.company-mini dt>.print-illustration{width:24px;height:24px;stroke-width:2;}
.illustrated-feature>.print-illustration{width:66px;height:66px;margin-bottom:22px;}
@media(max-width:980px) and (min-width:681px){
 .compact-flow .illustrated-step:nth-child(2)::after{display:none;}
}
@media(max-width:680px){
 .compact-flow:has(.illustrated-step){gap:16px;}
 .compact-flow .illustrated-step{display:grid;grid-template-columns:64px 1fr;column-gap:20px;row-gap:3px;min-height:142px;padding:22px;}
 .compact-flow .illustrated-step>.print-illustration{grid-column:1;grid-row:1/4;width:64px;height:64px;margin:0;align-self:center;}
 .compact-flow .illustrated-step>b,.compact-flow .illustrated-step>strong,.compact-flow .illustrated-step>span{grid-column:2;margin:0;}
 .compact-flow .illustrated-step:not(:last-child)::after{top:auto;bottom:-23px;right:calc(50% - 15px);transform:rotate(90deg);}
 .faq-home .faq-list summary.illustrated-question{gap:12px;padding:18px 16px;font-size:13px;}
 .illustrated-question>.print-illustration{width:38px;height:38px;}
 .faq-home .faq-list details p{padding:0 18px 22px 18px;font-size:13px;}
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: "Noto Sans JP", sans-serif; line-height: 1.75; }
section[id] { scroll-margin-top: 96px; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.skip-link { position: fixed; top: -80px; left: 16px; z-index: 1000; padding: 10px 16px; background: var(--ink); color: white; }
.skip-link:focus { top: 16px; }
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(251,254,255,.92); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.header-inner { width: min(1200px, calc(100% - 48px)); height: 76px; margin: auto; display: flex; align-items: center; gap: 28px; }
.brand { width: 232px; margin-right: auto; }
.brand img { width: 100%; height: auto; }
.global-nav { display: flex; align-items: center; gap: 25px; font-size: 13px; font-weight: 700; }
.global-nav a { position: relative; padding: 10px 0; }
.global-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 4px; height: 2px; background: var(--coral); transition: .25s; }
.global-nav a:hover::after { right: 0; }
.header-cta { padding: 13px 18px; border-radius: 999px; background: var(--ink); color: white; font-size: 13px; font-weight: 700; white-space: nowrap; }
.header-cta span { color: var(--yellow); }
.menu-button { display: none; background: transparent; border: 0; color: var(--ink); }
.hero { overflow: hidden; padding: 62px 0 0; background: #f7f9f8; }
.hero-grid { width: min(1200px, calc(100% - 48px)); min-height: 590px; margin: auto; display: grid; grid-template-columns: 1fr .95fr; align-items: center; gap: 72px; }
.eyebrow, .section-kicker { margin: 0 0 17px; color: var(--blue); font-size: 12px; font-weight: 800; letter-spacing: .18em; }
.eyebrow span { display: inline-block; margin-right: 14px; padding: 5px 10px; border: 1px solid var(--blue); border-radius: 999px; letter-spacing: .08em; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif; letter-spacing: -.035em; }
h1 { margin-bottom: 24px; font-size: clamp(43px, 4vw, 58px); line-height: 1.24; }
h1 em { color: var(--coral); font-style: normal; }
.hero-line, .heading-line { display: block; white-space: nowrap; }
.no-break { white-space: nowrap; }
.hero-lead { margin-bottom: 31px; color: var(--ink-2); font-size: 17px; line-height: 2; }
.hero-actions, .contact-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 22px; min-height: 54px; padding: 0 24px; border-radius: 8px; font-weight: 800; transition: transform .2s, box-shadow .2s; }
.button:hover { transform: translateY(-2px); box-shadow: 0 12px 25px rgba(23,50,61,.14); }
.button-primary { background: var(--coral); color: white; }
.button-secondary { border: 1px solid var(--line); background: rgba(255,255,255,.5); }
.button-light { background: var(--white); color: var(--ink); }
.hero-points { display: flex; flex-wrap: wrap; gap: 12px 22px; margin: 25px 0 0; padding: 0; list-style: none; font-size: 12px; font-weight: 700; }
.hero-points li::before { content: "✓"; margin-right: 7px; color: var(--coral); }
.hero-visual { position: relative; height: 500px; }
.hero-main-image { position: absolute; inset: 0 0 auto 0; margin: 0; overflow: hidden; border-radius: 12px; box-shadow: var(--shadow); }
.hero-main-image img { width: 100%; height: 390px; object-fit: cover; }
.hero-sub-image { position: absolute; right: -3%; bottom: 0; width: 39%; margin: 0; overflow: hidden; border: 6px solid var(--white); border-radius: 10px; box-shadow: var(--shadow); }
.hero-sub-image img { aspect-ratio: 1 / 1.12; object-fit: cover; }
.hero-note { position: absolute; left: -5%; bottom: 22px; width: 245px; padding: 18px 20px; border: 1px solid var(--line); border-left: 4px solid var(--coral); border-radius: 6px; background: var(--white); box-shadow: 0 12px 30px rgba(23,50,56,.13); }
.hero-note strong { display: block; margin-bottom: 7px; color: var(--coral); font-size: 11px; letter-spacing: .18em; }
.hero-note span { font-size: 13px; font-weight: 700; line-height: 1.7; }
.hero-note small { display: block; margin-top: 8px; color: var(--ink-2); font-size: 9px; font-weight: 700; letter-spacing: .08em; }
.quick-links { width: min(1200px, calc(100% - 48px)); margin: 34px auto 0; padding: 17px 0; display: flex; align-items: center; gap: 0; border-top: 1px solid var(--line); }
.quick-links span { margin-right: 20px; color: var(--ink-2); font-size: 11px; font-weight: 800; }
.quick-links a { padding: 2px 20px; border-left: 1px solid var(--line); color: var(--blue); font-size: 13px; font-weight: 700; }
.quick-links a:hover { text-decoration: underline; text-underline-offset: 4px; }
.section-pad { padding: 88px max(24px, calc((100% - 1160px) / 2)); }
.section-heading { max-width: 680px; margin-bottom: 54px; }
.section-heading h2, .ai-copy h2, .about h2, .contact h2 { margin-bottom: 18px; font-size: clamp(34px, 3.5vw, 50px); line-height: 1.32; }
.contact h2 { font-size: clamp(36px, 3.6vw, 52px); }
.section-heading > p:last-child { color: var(--ink-2); }
.split-heading { max-width: none; display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 80px; }
.split-heading > p { margin-bottom: 6px; }
.intro { background: #fbf8f5; }
.intro .section-kicker { color: var(--coral); }
.planner-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.planner-grid article { padding: 30px; border-top: 2px solid var(--coral); background: var(--white); }
.planner-grid span, .service-no { color: var(--coral); font-size: 12px; font-weight: 800; letter-spacing: .15em; }
.planner-grid h3 { margin: 17px 0 9px; font-size: 22px; }
.planner-grid p { margin-bottom: 0; color: var(--ink-2); font-size: 14px; }
.services { background: var(--paper); }
.service-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.service-card { min-height: 320px; padding: 34px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); transition: transform .25s, box-shadow .25s; }
.service-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.service-primary { background: var(--blue); color: white; }
.service-primary .service-no { color: #fff; }
.service-ai { background: var(--yellow); }
.service-label { margin: 22px 0 6px; font-size: 10px; font-weight: 800; letter-spacing: .18em; opacity: .7; }
.service-card h3 { margin-bottom: 14px; font-size: 26px; }
.service-card p:not(.service-label) { max-width: 500px; color: inherit; opacity: .86; }
.service-card a { margin-top: auto; font-size: 13px; font-weight: 800; }
.service-card a span { margin-left: 10px; }
.business-balance { margin: -18px 0 34px; }
.balance-label { display: block; margin-bottom: 9px; color: var(--ink-2); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.balance-bar { display: flex; min-height: 42px; overflow: hidden; border-radius: 10px; color: white; font-size: 11px; font-weight: 800; }
.balance-bar span { display: flex; align-items: center; padding: 0 16px; white-space: nowrap; }
.label-share { flex: 7; background: var(--blue); }
.paper-share { flex: 2; background: var(--coral); }
.design-share { flex: 1; background: var(--ink); }
.service-grid-business { grid-template-columns: repeat(6, 1fr); }
.service-grid-business .service-card { grid-column: span 3; }
.service-grid-business .service-card:nth-child(n+3) { grid-column: span 2; }
.card-tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 5px 0 25px; padding: 0; list-style: none; }
.card-tags li { padding: 5px 9px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; font-size: 10px; font-weight: 700; }
.service-sub { background: var(--yellow); }
.ai-service { background: var(--blue-deep); color: white; }
.ai-grid { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 90px; }
.light { color: var(--yellow); }
.ai-copy h2 em { color: var(--yellow); font-style: normal; }
.ai-copy > p:not(.section-kicker) { max-width: 650px; color: rgba(255,255,255,.75); }
.check-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 18px; margin: 30px 0 38px; padding: 0; list-style: none; font-size: 14px; font-weight: 600; }
.check-list li::before { content: "✓"; display: inline-grid; place-items: center; width: 22px; height: 22px; margin-right: 9px; border-radius: 50%; background: var(--yellow); color: var(--ink); font-size: 11px; }
.ai-process { padding: 35px; border: 1px solid rgba(255,255,255,.16); border-radius: 28px; background: rgba(255,255,255,.04); }
.ai-step { padding: 24px; border-radius: 16px; background: rgba(255,255,255,.08); text-align: center; }
.ai-step span { display: block; margin-bottom: 4px; color: var(--yellow); font-size: 9px; font-weight: 800; letter-spacing: .18em; }
.ai-step strong { display: block; font-size: 20px; }
.ai-step small { color: rgba(255,255,255,.6); }
.ai-step.featured { background: var(--yellow); color: var(--ink); }
.ai-step.featured span, .ai-step.featured small { color: var(--ink); }
.ai-arrow { padding: 7px 0; color: var(--yellow); text-align: center; }
.product-list { background: var(--white); }
.product-table { border-top: 1px solid var(--line); }
.product-table > div { display: grid; grid-template-columns: 240px 1fr; gap: 40px; padding: 25px 4px; border-bottom: 1px solid var(--line); }
.product-table strong { font-size: 17px; }
.product-table span { color: var(--ink-2); font-size: 14px; }
.materials { background: var(--paper-2); }
.material-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.material-grid article { min-height: 275px; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.88); }
.material-grid article > span { color: var(--coral); font-size: 10px; font-weight: 800; letter-spacing: .15em; }
.material-grid h3 { margin: 38px 0 12px; font-size: 21px; }
.material-grid p { color: var(--ink-2); font-size: 13px; }
.material-grid small { display: block; padding-top: 12px; border-top: 1px solid var(--line); color: var(--blue); font-size: 10px; font-weight: 700; }
.material-note { margin: 24px 0 0; color: var(--ink-2); font-size: 12px; }
.business-info { background: var(--paper); }
.info-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.info-grid article { min-height: 265px; padding: 26px; display: flex; flex-direction: column; border-top: 2px solid var(--blue); background: var(--white); }
.info-grid article > span { color: var(--coral); font-size: 11px; font-weight: 800; }
.info-grid h3 { margin: 28px 0 10px; font-size: 21px; }
.info-grid p { color: var(--ink-2); font-size: 13px; }
.info-grid a { margin-top: auto; color: var(--blue); font-size: 12px; font-weight: 800; }
.consumer-link { width: min(1160px, calc(100% - 48px)); margin: 42px auto; padding: 32px 38px; display: flex; align-items: center; justify-content: space-between; gap: 30px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); }
.consumer-link p { margin-bottom: 5px; color: var(--coral); font-size: 9px; font-weight: 800; letter-spacing: .18em; }
.consumer-link h2 { margin-bottom: 3px; font-size: 22px; }
.consumer-link span { color: var(--ink-2); font-size: 12px; }
.consumer-link > a { flex: 0 0 auto; padding: 13px 18px; border-radius: 999px; background: var(--ink); color: white; font-size: 12px; font-weight: 800; }
.consumer-link b { margin-left: 12px; color: var(--yellow); }
.works { background: var(--white); }
.works-grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: 18px; }
.works-grid figure { position: relative; min-height: 300px; margin: 0; overflow: hidden; border-radius: 8px; background: var(--paper-2); }
.works-grid .work-large { grid-row: span 2; }
.works-grid img { width: 100%; height: 100%; min-height: 300px; object-fit: cover; transition: transform .5s; }
.works-grid figure:hover img { transform: scale(1.03); }
.works-grid figcaption { position: absolute; left: 0; right: 30%; bottom: 0; padding: 16px 18px; border-radius: 0 6px 0 0; background: rgba(255,255,255,.94); backdrop-filter: blur(8px); }
.works-grid figcaption span { display: block; color: var(--coral); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.works-grid figcaption strong { font-size: 18px; }
.works-grid-business { grid-template-columns: repeat(3, 1fr); }
.works-grid-business .work-large { grid-column: span 2; grid-row: span 2; }
.works-grid-business figure { min-height: 330px; }
.sample-badge { position: absolute; top: 12px; left: 12px; z-index: 2; padding: 7px 10px; border-radius: 999px; background: rgba(23,50,56,.88); color: white; font-size: 9px; font-weight: 800; letter-spacing: .04em; backdrop-filter: blur(5px); }
.sample-disclaimer { margin: 24px 0 0; padding: 14px 17px; border-left: 3px solid var(--coral); background: var(--paper); color: var(--ink-2); font-size: 12px; }
.design-support { background: #f7f3ed; }
.design-support-grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 72px; }
.design-support figure { margin: 0; overflow: hidden; border-radius: 12px; box-shadow: var(--shadow); }
.design-support figure img { display: block; width: 100%; min-height: 480px; object-fit: cover; }
.design-support h2 { margin: 8px 0 22px; }
.design-support-grid > div > p:not(.section-kicker) { color: var(--ink-2); }
.design-points { margin: 26px 0 30px; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.design-points li { padding: 13px 0 13px 25px; position: relative; border-bottom: 1px solid var(--line); font-size: 13px; font-weight: 700; }
.design-points li::before { content: "✓"; position: absolute; left: 2px; color: var(--coral); }
.journal { background: var(--paper); }
.journal-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.journal-grid article { min-height: 270px; padding: 28px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 10px; background: var(--white); }
.journal-grid article > span { color: var(--coral); font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.journal-grid h3 { margin: 25px 0 12px; font-size: 19px; line-height: 1.55; }
.journal-grid p { margin: 0; color: var(--ink-2); font-size: 13px; }
.journal-grid small { margin-top: auto; padding-top: 24px; color: var(--blue); font-weight: 800; }
.journal-note { margin: 20px 0 0; color: var(--ink-2); font-size: 12px; }
.work-placeholder { display: grid; place-items: center; background: linear-gradient(135deg, var(--paper-2), var(--paper)); }
.work-placeholder > div { padding: 35px; text-align: center; }
.work-placeholder > div span { color: var(--coral); font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.work-placeholder > div strong { display: block; margin: 15px 0 3px; font-size: 20px; }
.work-placeholder > div small { color: var(--ink-2); }
.flow { background: #fbf8f5; }
.flow .section-kicker { color: var(--coral); }
.flow-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.flow-list li { display: grid; grid-template-columns: 100px 1fr; gap: 35px; padding: 29px 0; border-bottom: 1px solid var(--line); }
.flow-list > li > span { color: var(--coral); font-size: 12px; font-weight: 800; letter-spacing: .17em; }
.flow-list h3 { margin-bottom: 5px; font-size: 21px; }
.flow-list p { margin-bottom: 0; color: var(--ink-2); font-size: 14px; }
.faq { background: var(--white); }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { display: flex; justify-content: space-between; gap: 30px; padding: 28px 4px; cursor: pointer; font-weight: 700; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { color: var(--coral); font-size: 22px; transition: .2s; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { max-width: 840px; padding: 0 4px 28px; color: var(--ink-2); }
.about { background: #f7f9f8; }
.about .section-kicker { color: var(--coral); }
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; }
.about-grid > div > p:last-child { max-width: 570px; color: var(--ink-2); }
.about dl { margin: 0; border-top: 1px solid var(--line); }
.about dl div { display: grid; grid-template-columns: 110px 1fr; padding: 20px 0; border-bottom: 1px solid var(--line); }
.about dt { color: var(--blue); font-size: 12px; font-weight: 800; }
.about dd { margin: 0; font-weight: 600; }
.about dd a { text-decoration: underline; text-underline-offset: 3px; }
.access-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 44px; margin-top: 70px; }
.map-frame { min-height: 620px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper-2); }
.map-frame iframe { width: 100%; height: 100%; min-height: 620px; border: 0; }
.map-static { position: relative; display: block; width: 100%; height: 100%; min-height: 620px; overflow: hidden; color: var(--ink); }
.map-static > img { display: block; width: 100%; height: 100%; min-height: 620px; object-fit: cover; transition: transform .35s ease; }
.map-static:hover > img { transform: scale(1.015); }
.map-caption { position: absolute; right: 22px; bottom: 22px; left: 22px; display: grid; gap: 5px; padding: 17px 19px; border: 1px solid rgba(255,255,255,.8); border-radius: 12px; background: rgba(255,255,255,.94); box-shadow: 0 12px 34px rgba(31,45,48,.18); }
.map-caption strong { color: var(--blue); font-size: 16px; }
.map-caption span { font-size: 12px; font-weight: 650; line-height: 1.65; }
.map-static small { position: absolute; top: 10px; right: 10px; padding: 4px 7px; border-radius: 4px; background: rgba(255,255,255,.88); color: #4d5a5c; font-size: 9px; }
.visit-guide { padding: 38px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.visit-guide h3 { margin: 5px 0 26px; font-size: 30px; }
.visit-item { padding: 17px 0; border-top: 1px solid var(--line); }
.visit-item strong { display: block; margin-bottom: 7px; font-size: 16px; }
.visit-item p { margin: 0; color: var(--ink-2); font-size: 13px; }
.access-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; margin-top: 26px; }
.access-actions .button { padding: 15px 20px; font-size: 12px; }
.button-disabled { opacity: .62; cursor: default; pointer-events: none; }
.text-link { color: var(--blue); font-size: 12px; font-weight: 800; }
.line-reservation { display: grid; grid-template-columns: 112px 1fr; align-items: center; gap: 20px; margin-top: 24px; padding: 18px; border: 1px solid #b8dfbd; border-radius: 14px; background: #e8f6ea; }
.line-qr { display: block; overflow: hidden; border-radius: 8px; background: white; }
.line-qr img { display: block; width: 100%; }
.line-reservation strong { display: block; margin-bottom: 6px; color: #185c2a; font-size: 17px; }
.line-reservation p { margin: 0 0 9px; color: #376f43; font-size: 12px; }
.line-reservation div > a { color: #185c2a; font-size: 12px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.contact { background: var(--blue-deep); color: white; text-align: center; }
.contact-inner { max-width: 980px; margin: auto; }
.contact-inner > p:not(.section-kicker,.prototype-note) { color: rgba(255,255,255,.8); }
.contact-actions { justify-content: center; margin-top: 34px; }
.phone { display: flex; flex-direction: column; align-items: flex-start; padding: 6px 18px; }
.phone small { color: rgba(255,255,255,.7); font-size: 10px; }
.phone strong { font-size: 22px; letter-spacing: .05em; }
.prototype-note { margin: 26px 0 0; color: rgba(255,255,255,.65); font-size: 11px; }
.contact-route-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 32px 0 18px; text-align: left; }
.contact-route { padding: 20px 22px; display: flex; flex-direction: column; border: 1px solid rgba(255,255,255,.18); border-radius: 12px; background: rgba(255,255,255,.08); color: white; }
.contact-route span { color: rgba(255,255,255,.68); font-size: 11px; }
.contact-route strong { margin: 5px 0 2px; font-size: 21px; }
.contact-route small { color: rgba(255,255,255,.78); }
.contact-route.line-route { border-color: rgba(130,220,143,.44); background: rgba(56,170,79,.17); }
.consultation-booking { scroll-margin-top: 100px; }
#inquiry-form { scroll-margin-top: 100px; }
.line-benefits { grid-column: 1 / -1; border-left: 3px solid #25833b; padding: 4px 0 4px 18px; color: var(--ink); }
.line-benefits h2 { font-size: 18px; line-height: 1.6; margin: 0 0 12px; }
.line-benefits ul { padding-left: 1.2em; margin: 0; font-size: 14px; line-height: 1.8; }
.line-benefits li + li { margin-top: 8px; }
.page-hero .line-benefits p { font-size: 12px; line-height: 1.8; margin: 12px 0 0; color: var(--ink-2); }
.home-line-card { grid-column: 1 / -1; padding: 22px; border: 2px solid #c2e3c9; border-radius: 14px; background: #f4fbf5; color: #183c24; }
.home-line-card h3 { margin: 0 0 12px; font-size: 21px; line-height: 1.5; color: #17652c; }
.home-line-card ul { margin: 0 0 18px; padding-left: 1.25em; font-size: 15px; line-height: 1.8; }
.home-line-card li + li { margin-top: 6px; }
.home-line-card .button-line { display: flex; width: 100%; min-height: 50px; padding: 14px 12px; background: #167b32; color: #fff; white-space: normal; text-align: center; }
.booking-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.booking-options article { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding: 28px; border: 1px solid var(--line); border-top: 3px solid var(--blue); border-radius: 12px; background: var(--white); }
.booking-options h3, .booking-options p { margin: 0; }
.booking-options .booking-hours { color: var(--ink-2); font-size: 14px; line-height: 1.8; }
.booking-options .button { margin-top: auto; min-height: 48px; max-width: 100%; }
@media (max-width: 760px) { .booking-options { grid-template-columns: 1fr; gap: 16px; } .booking-options article { padding: 22px; } }
.contact-form { margin-top: 18px; padding: 30px; border-radius: 14px; background: var(--white); color: var(--ink); text-align: left; }
.form-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.form-heading span { color: var(--coral); font-size: 9px; font-weight: 800; letter-spacing: .15em; }
.form-heading h3 { margin: 4px 0 0; font-size: 24px; }
.form-heading p { margin: 0; color: var(--ink-2); font-size: 12px; }
.contact-form b { display: inline-block; margin-left: 5px; padding: 2px 5px; border-radius: 3px; background: #ffe8df; color: #a34327; font-size: 9px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.form-grid.three { grid-template-columns: repeat(3, 1fr); }
.contact-form label > span { display: block; margin-bottom: 7px; font-size: 12px; font-weight: 800; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; padding: 13px 14px; border: 1px solid #cbd2d1; border-radius: 7px; background: white; color: var(--ink); font: inherit; font-size: 14px; }
.contact-form textarea { resize: vertical; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { outline: 3px solid rgba(39,134,173,.2); border-color: var(--blue); }
.form-full { grid-column: 1 / -1; }
.quote-fields { margin-top: 18px; padding: 20px; border-radius: 9px; background: var(--paper); }
.quote-fields > p { margin: 0 0 15px; color: var(--ink-2); font-size: 12px; }
.form-footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-top: 20px; }
.file-field { flex: 1; }
.file-field input { padding: 9px; }
.contact-form .prototype-note { margin: 16px 0 0; color: var(--ink-2); }
.site-footer { min-height: 165px; padding: 42px max(24px, calc((100% - 1160px) / 2)); display: flex; justify-content: space-between; align-items: flex-end; background: var(--ink); color: white; }
.site-footer img { width: 210px; height:auto; filter:none; background:#fff; padding:8px; border-radius:4px; }
.site-footer p { margin: 9px 0 0; color: rgba(255,255,255,.55); font-size: 11px; }
.floating-consult { position: fixed; right: max(24px, calc((100vw - 1380px) / 2)); bottom: 24px; z-index: 45; min-width: 174px; padding: 13px 17px 14px; display: grid; grid-template-columns: 1fr auto; align-items: center; column-gap: 14px; border: 1px solid rgba(255,255,255,.62); border-radius: 12px; background: var(--coral); color: white; box-shadow: 0 14px 34px rgba(23,50,56,.24); transition: transform .2s, box-shadow .2s, background-color .2s; }
.floating-consult:hover { transform: translateY(-3px); background: #d86441; box-shadow: 0 18px 38px rgba(23,50,56,.3); }
.floating-consult:focus-visible { outline: 3px solid var(--yellow); outline-offset: 3px; }
.floating-consult-label { grid-column: 1 / -1; margin-bottom: 1px; font-size: 9px; font-weight: 700; letter-spacing: .08em; opacity: .86; }
.floating-consult strong { font-size: 15px; letter-spacing: .03em; }
.floating-consult-arrow { grid-column: 2; grid-row: 2; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: rgba(255,255,255,.17); font-size: 15px; }

/* 名刺・ショップカード詳細ページ */
.detail-page { background: var(--paper); }
.detail-hero { padding-top: 105px; background: radial-gradient(circle at 85% 15%, rgba(33,92,99,.12), transparent 28%), var(--white); }
.detail-hero h1 { max-width: 880px; margin: 10px 0 25px; }
.detail-hero > p:not(.section-kicker) { max-width: 720px; color: var(--ink-2); font-size: 17px; }
.detail-section { background: var(--white); }
.detail-section.alt { background: var(--paper); }
.price-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.price-table { width: 100%; min-width: 720px; border-collapse: collapse; }
.price-table th, .price-table td { padding: 20px 22px; border-bottom: 1px solid var(--line); text-align: left; }
.price-table thead th { background: var(--blue); color: white; font-size: 12px; letter-spacing: .04em; }
.price-table tbody th { color: var(--blue); font-size: 14px; }
.price-table tbody td { font-size: 14px; font-weight: 600; }
.price-table tbody tr:last-child th, .price-table tbody tr:last-child td { border-bottom: 0; }
.price-table.compact { min-width: 600px; }
.detail-note { margin: 22px 0 0; padding: 16px 18px; border-left: 3px solid var(--blue); background: rgba(39,134,173,.09); color: var(--ink-2); font-size: 12px; }
.detail-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.detail-card-grid.two { grid-template-columns: 1fr 1fr; }
.detail-card-grid article { padding: 34px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.detail-card-grid h3 { margin-bottom: 14px; font-size: 22px; }
.detail-card-grid p { margin: 0; color: var(--ink-2); font-size: 14px; }
.detail-card-grid a { display: inline-block; margin-top: 20px; color: var(--blue); font-size: 13px; font-weight: 800; }

/* AI画像印刷：個人・クリエイター向け独立ページ */
.ai-page { background: #eef8fc; }
.ai-page-nav { display: flex; gap: 25px; font-size: 13px; font-weight: 700; }
.ai-b2c-hero { overflow: hidden; padding: 88px max(24px, calc((100% - 1160px) / 2)) 100px; background: radial-gradient(circle at 84% 18%, rgba(89,184,222,.34), transparent 27%), var(--white); }
.ai-b2c-grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 80px; }
.ai-b2c-hero h1 { font-size: clamp(42px, 4.4vw, 60px); }
.ai-artboard { position: relative; min-height: 520px; border: 1px solid var(--line); border-radius: 32px; background: var(--paper-2); box-shadow: var(--shadow); }
.art-image { position: absolute; top: 45px; left: 45px; width: 62%; aspect-ratio: 1 / 1; display: grid; place-items: center; transform: rotate(-3deg); border: 12px solid var(--white); background: linear-gradient(135deg, #347aa3, #58b5d4 48%, #a6e3f2); color: white; font-size: 48px; font-weight: 800; line-height: 1; text-align: center; box-shadow: var(--shadow); }
.art-sticker { position: absolute; top: 55px; right: 25px; width: 128px; height: 128px; display: grid; place-items: center; border: 8px solid var(--white); border-radius: 50%; background: var(--blue); color: white; font-size: 13px; font-weight: 800; box-shadow: var(--shadow); }
.art-card { position: absolute; right: 38px; bottom: 48px; width: 190px; height: 115px; padding: 22px; transform: rotate(6deg); background: var(--yellow); color: var(--ink); font-size: 24px; font-weight: 800; line-height: 1; box-shadow: var(--shadow); }
.art-card small { font-size: 9px; letter-spacing: .18em; }
.ai-artboard > p { position: absolute; left: 35px; bottom: 22px; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.ai-problem { background: var(--paper); }
.problem-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.problem-grid article { padding: 30px; border-top: 3px solid var(--coral); background: var(--white); }
.problem-grid span { color: var(--coral); font-size: 11px; font-weight: 800; }
.problem-grid h3 { margin: 35px 0 10px; font-size: 21px; }
.problem-grid p { margin: 0; color: var(--ink-2); font-size: 13px; }
.ai-products { background: var(--white); }
.ai-product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.ai-product-grid > a { min-height: 220px; padding: 30px; display: flex; flex-direction: column; justify-content: flex-end; border-radius: 18px; background: var(--paper-2); color: var(--ink); text-decoration: none; border: 1px solid transparent; }
.ai-product-grid > a:nth-child(2) { background: #d1ebf6; }
.ai-product-grid > a:nth-child(3) { background: #e4f5fb; }
.ai-product-grid > a:nth-child(4) { background: #c5e6f3; }
.ai-product-grid > a:hover { border-color: #197b8d; box-shadow: 0 6px 18px #19383d12; }
.ai-product-grid > a:focus-visible { outline: 3px solid #197b8d; outline-offset: 4px; }
.ai-product-grid > a > span { margin-top: 20px; font-size: 12px; font-weight: 700; color: #185a68; }
.ai-product-grid strong { font-size: 19px; }
.ai-product-grid p { margin: 10px 0 0; color: var(--ink-2); font-size: 12px; }
.ai-b2c-flow { background: var(--blue-deep); color: white; }
.ai-b2c-flow ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 0; padding: 0; list-style: none; }
.ai-b2c-flow li { padding: 30px; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; background: rgba(255,255,255,.05); }
.ai-b2c-flow li span { color: var(--yellow); font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.ai-b2c-flow li strong { display: block; margin: 35px 0 10px; font-size: 20px; }
.ai-b2c-flow li p { margin: 0; color: rgba(255,255,255,.68); font-size: 13px; }
.ai-notes { background: var(--paper); }
.note-box { padding: 35px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); }
.note-box p { margin: 0; color: var(--ink-2); font-size: 13px; }
.note-box p + p { margin-top: 15px; padding-top: 15px; border-top: 1px solid var(--line); }
@media (max-width: 980px) {
  .header-inner { width: min(100% - 32px, 900px); }
  .brand { width: 220px; }
  .menu-button { width: 52px; height: 52px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; }
  .menu-button span { width: 24px; height: 2px; background: var(--ink); }
  .menu-button b { margin-top: 2px; font-size: 8px; }
  .global-nav { position: fixed; top: 76px; left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 22px 24px 34px; background: var(--white); border-bottom: 1px solid var(--line); }
  .global-nav.is-open { display: flex; }
  .global-nav a { padding: 15px 0; border-bottom: 1px solid var(--line); }
  .header-cta { display: none; }
  .hero { padding-top: 55px; }
  .hero-grid { min-height: auto; grid-template-columns: 1fr; gap: 50px; }
  .hero-visual { max-width: 650px; width: 100%; margin: auto; }
  .quick-links { flex-wrap: wrap; row-gap: 12px; }
  .quick-links span { width: 100%; }
  .quick-links a:first-of-type { padding-left: 0; border-left: 0; }
  .split-heading, .ai-grid, .about-grid, .ai-b2c-grid, .access-grid, .design-support-grid { grid-template-columns: 1fr; gap: 35px; }
  .planner-grid { grid-template-columns: 1fr; }
  .service-grid-business { grid-template-columns: 1fr 1fr; }
  .service-grid-business .service-card, .service-grid-business .service-card:nth-child(n+3) { grid-column: auto; }
  .service-grid-business .service-card:last-child { grid-column: span 2; }
  .material-grid, .ai-product-grid { grid-template-columns: 1fr 1fr; }
  .detail-card-grid { grid-template-columns: 1fr; }
  .info-grid { grid-template-columns: 1fr 1fr; }
  .works-grid-business { grid-template-columns: 1fr 1fr; }
  .works-grid-business .work-large { grid-column: span 2; grid-row: auto; }
  .journal-grid { grid-template-columns: 1fr 1fr; }
  .ai-page-nav { display: none; }
  .ai-artboard { max-width: 650px; width: 100%; margin: auto; }
  .section-pad { padding-top: 85px; padding-bottom: 85px; }
}
@media (max-width: 680px) {
  .header-inner { height: 72px; }
  .brand { width: 190px; }
  .global-nav { top: 72px; }
  .hero-grid { width: calc(100% - 32px); }
  .eyebrow span { display: block; width: max-content; margin-bottom: 8px; }
  h1 { font-size: clamp(31px, 8.6vw, 38px); }
  .ai-b2c-hero h1 { font-size: clamp(31px, 8.6vw, 38px); }
  .hero-lead { font-size: 15px; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .button { width: 100%; }
  .hero-visual { height: 420px; }
  .hero-main-image { inset: 0 0 auto; }
  .hero-main-image img { height: 280px; }
  .hero-note { left: 0; bottom: 20px; width: 185px; padding: 14px 16px; }
  .hero-sub-image { right: 0; bottom: 0; width: 41%; border-width: 5px; }
  .quick-links { width: calc(100% - 32px); margin-top: 26px; padding: 15px 0; display: grid; grid-template-columns: 1fr 1fr; }
  .quick-links span { grid-column: 1 / -1; margin: 0 0 2px; }
  .quick-links a { padding: 7px 10px 7px 0; border-left: 0; font-size: 12px; }
  .section-pad { padding-left: 20px; padding-right: 20px; }
  .section-heading h2, .ai-copy h2, .about h2, .contact h2 { font-size: 36px; }
  .service-grid, .check-list, .works-grid { grid-template-columns: 1fr; }
  .service-grid-business .service-card:last-child { grid-column: auto; }
  .service-card { min-height: 320px; padding: 29px; }
  .balance-bar { flex-direction: column; }
  .balance-bar span { min-height: 38px; }
  .product-table > div { grid-template-columns: 1fr; gap: 7px; }
  .material-grid, .info-grid, .ai-product-grid, .problem-grid, .ai-b2c-flow ol, .journal-grid, .contact-route-grid, .form-grid, .form-grid.three { grid-template-columns: 1fr; }
  .detail-card-grid.two { grid-template-columns: 1fr; }
  .detail-hero { padding-top: 72px; }
  .material-grid article { min-height: 260px; }
  .material-grid h3 { margin-top: 35px; }
  .consumer-link { width: calc(100% - 40px); align-items: flex-start; flex-direction: column; padding: 26px; }
  .consumer-link > a { width: 100%; text-align: center; }
  .ai-grid { gap: 50px; }
  .check-list { gap: 14px; }
  .works-grid .work-large { grid-row: auto; }
  .works-grid-business .work-large { grid-column: auto; }
  .works-grid figure, .works-grid img { min-height: 340px; }
  .design-support figure img { min-height: 320px; }
  .ai-b2c-hero { padding-top: 55px; }
  .ai-artboard { min-height: 410px; }
  .art-image { top: 35px; left: 25px; width: 67%; border-width: 8px; font-size: 38px; }
  .art-sticker { top: 45px; right: 12px; width: 95px; height: 95px; border-width: 5px; font-size: 10px; }
  .art-card { right: 20px; bottom: 42px; width: 155px; height: 96px; font-size: 20px; }
  .flow-list li { grid-template-columns: 48px 1fr; gap: 14px; }
  .about dl div { grid-template-columns: 95px 1fr; }
  .access-grid { margin-top: 48px; }
  .map-frame, .map-frame iframe, .map-static, .map-static > img { min-height: 360px; }
  .visit-guide { padding: 26px 22px; }
  .visit-guide h3 { font-size: 25px; }
  .access-actions { align-items: stretch; flex-direction: column; }
  .text-link { text-align: center; }
  .line-reservation { grid-template-columns: 88px 1fr; gap: 14px; padding: 14px; }
  .contact-actions { align-items: stretch; flex-direction: column; }
  .contact-form { padding: 22px 18px; }
  .form-heading, .form-footer { align-items: stretch; flex-direction: column; }
  .form-full { grid-column: auto; }
  .phone { align-items: center; }
  .site-footer { align-items: flex-start; flex-direction: column; gap: 35px; }
  .site-footer { padding-bottom: 112px; }
  .floating-consult { right: 16px; bottom: max(14px, env(safe-area-inset-bottom)); left: 16px; min-width: 0; padding: 12px 15px; grid-template-columns: 1fr auto auto; column-gap: 10px; border-radius: 10px; }
  .floating-consult-label { grid-column: 1; grid-row: 1; margin: 0; font-size: 9px; }
  .floating-consult strong { grid-column: 2; grid-row: 1; font-size: 14px; }
  .floating-consult-arrow { grid-column: 3; grid-row: 1; width: 26px; height: 26px; }
  .no-break { white-space: normal; }
}
/* 各サービス内のイメージ写真 */
.service-media { height: 210px; margin: -30px -30px 26px; overflow: hidden; border-radius: 7px 7px 0 0; background: var(--paper-2); }
.service-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.service-grid-business .service-card:first-child .service-media img { object-position: center 58%; }
.service-grid-business .service-card:nth-child(2) .service-media img { object-position: center 48%; }
.service-grid-business .service-card:nth-child(3) .service-media img { object-position: center; }
.service-grid-business .service-card:nth-child(4) .service-media img { object-position: center 58%; }
.material-visuals { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 28px; }
.material-visuals figure { margin: 0; overflow: hidden; border-radius: 10px; background: var(--white); box-shadow: var(--shadow); }
.material-visuals img { display: block; width: 100%; height: 330px; object-fit: cover; }
.material-visuals figcaption { padding: 20px 22px 22px; }
.material-visuals figcaption strong { display: block; margin-bottom: 5px; font-size: 17px; }
.material-visuals figcaption span { color: var(--ink-2); font-size: 12px; }
@media (max-width: 680px) {
  .service-media { height: 220px; margin: -29px -29px 24px; }
  .material-visuals { grid-template-columns: 1fr; }
  .material-visuals img { height: 260px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* 2026 renewal: short homepage and shared lower pages */
.home-new { background: var(--white); }
:where(h1,h2,h3,p,li,dd,summary,.button,.text-arrow) { line-break: strict; }
:where(p,li,dd,summary) { text-wrap: pretty; }
:where(h1,h2,h3) { text-wrap: balance; }
@supports (word-break: auto-phrase) {
  :where(h1,h2,h3,p,li,dd,summary,.button,.text-arrow) { word-break: auto-phrase; }
}
.button { white-space: nowrap; }
.home-new .hero-refined { padding: 70px max(24px, calc((100% - 1260px) / 2)) 66px; overflow: hidden; }
.hero-refined .hero-grid { width: 100%; grid-template-columns: .88fr 1.12fr; gap: 58px; align-items: center; }
.hero-refined .hero-product { margin: 0; overflow: hidden; border-radius: 22px; box-shadow: 0 24px 60px rgba(26,54,59,.16); }
.hero-refined .hero-product img { display: block; width: 100%; min-height: 490px; object-fit: cover; }
.hero-refined .hero-copy h1 { font-size: clamp(39px,4.4vw,64px); line-height: 1.2; }
.home-section { padding: 104px max(24px, calc((100% - 1160px) / 2)); }
.home-section .section-heading { margin-bottom: 46px; }
.home-section .section-heading > p:last-child { max-width: 680px; }
.entry-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.entry-card { display: grid; grid-template-columns: 42% 58%; min-height: 285px; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: #fff; color: var(--ink); box-shadow: 0 10px 28px rgba(32,57,61,.06); transition: transform .25s, box-shadow .25s; }
.entry-card:hover { transform: translateY(-4px); box-shadow: 0 17px 34px rgba(32,57,61,.12); }
.entry-card figure { margin: 0; overflow: hidden; }
.entry-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }
.entry-card:hover img { transform: scale(1.025); }
.entry-card > div { padding: 30px 28px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.entry-card small,.work-caption small { color: var(--coral); font-size: 9px; font-weight: 800; letter-spacing: .15em; }
.entry-card h3 { margin: 8px 0 10px; font-size: 24px; }
.entry-card p { margin: 0; color: var(--ink-2); font-size: 13px; }
.entry-card span,.text-arrow { margin-top: 22px; color: var(--blue); font-size: 13px; font-weight: 800; }
.design-home { background: var(--paper); }
.design-home-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 74px; }
.design-home-grid figure { margin: 0; overflow: hidden; border-radius: 18px; box-shadow: var(--shadow); }
.design-home-grid img { display: block; width: 100%; min-height: 430px; object-fit: cover; }
.design-home-grid h2,.company-mini h2 { margin: 8px 0 20px; font-size: clamp(32px,3.4vw,48px); }
.design-home-grid p,.company-mini > div > p { color: var(--ink-2); }
.plain-check { margin: 24px 0 0; padding: 0; list-style: none; }
.plain-check li { padding: 11px 0 11px 27px; border-bottom: 1px solid var(--line); position: relative; font-size: 14px; font-weight: 650; }
.plain-check li::before { content: "✓"; position: absolute; left: 2px; color: var(--coral); }
.text-arrow { display: inline-block; }
.real-work { background: #fff; }
.real-work-grid { display: grid; grid-template-columns: 1.25fr .88fr .88fr; gap: 16px; }
.real-work-grid figure { margin: 0; height: 410px; overflow: hidden; border-radius: 14px; background: var(--paper-2); }
.real-work-grid img { display: block; width: 100%; height: 100%; object-fit: cover; }
.work-caption { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; padding: 28px 0 0; }
.work-caption h3 { margin: 7px 0 0; font-size: 24px; }
.work-caption p { margin: 0; color: var(--ink-2); font-size: 13px; }
.home-flow { background: var(--blue-deep); color: #fff; }
.home-flow .section-heading > p { color: rgba(255,255,255,.7); }
.compact-flow { display: grid; grid-template-columns: repeat(4,1fr); margin: 0; padding: 0; list-style: none; }
.compact-flow li { min-height: 180px; padding: 27px; border: 1px solid rgba(255,255,255,.14); border-right: 0; display: flex; flex-direction: column; }
.compact-flow li:first-child { border-radius: 14px 0 0 14px; }
.compact-flow li:last-child { border-right: 1px solid rgba(255,255,255,.14); border-radius: 0 14px 14px 0; }
.compact-flow b { color: var(--yellow); font-size: 10px; letter-spacing: .14em; }
.compact-flow strong { margin-top: auto; font-size: 19px; }
.compact-flow span { margin-top: 5px; color: rgba(255,255,255,.68); font-size: 12px; }
.center-link { margin: 27px 0 0; text-align: center; }
.home-flow .text-arrow { color: #fff; }
.faq-home { padding-bottom: 92px; }
.faq-home .faq-list { max-width: 920px; }
.company-mini { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 72px; background: var(--paper); }
.company-mini dl { margin: 27px 0 5px; }
.company-mini dl div { display: grid; grid-template-columns: 90px 1fr; padding: 12px 0; border-top: 1px solid var(--line); font-size: 13px; }
.company-mini dt { font-weight: 800; }.company-mini dd { margin: 0; color: var(--ink-2); }
.map-mini { position: relative; display: block; overflow: hidden; min-height: 390px; border-radius: 17px; box-shadow: var(--shadow); }
.map-mini img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #f4f2ec; }
.map-mini span { position: absolute; right: 18px; bottom: 18px; padding: 12px 16px; border-radius: 8px; background: #fff; color: var(--blue); font-size: 12px; font-weight: 800; box-shadow: var(--shadow); }
.home-contact { padding: 82px max(24px, calc((100% - 1160px) / 2)); display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; background: var(--blue); color: #fff; }
.home-contact h2 { margin: 7px 0 14px; font-size: clamp(31px,3.6vw,48px); }
.home-contact p { margin: 0; color: rgba(255,255,255,.76); }
.contact-choice { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.button-light { background: #fff; color: var(--blue); }.button-line { background: #2bb342; color: #fff; }
.contact-phone { grid-column: 1 / -1; padding-top: 13px; display: flex; flex-direction: column; align-items: center; color: #fff; }
.contact-phone small { color: rgba(255,255,255,.67); }.contact-phone strong { font-size: 24px; letter-spacing: .05em; }
.page-shell { background: var(--paper); }
.page-hero { padding: 94px max(24px,calc((100% - 1160px)/2)) 78px; background: #fff; }
.page-hero-inner { display: grid; grid-template-columns: 1fr .85fr; align-items: center; gap: 70px; }
.page-hero h1 { margin: 10px 0 20px; font-size: clamp(39px,4.5vw,62px); }
.page-hero p { max-width: 650px; color: var(--ink-2); font-size: 16px; }
.page-hero figure { margin: 0; overflow: hidden; border-radius: 18px; }
.page-hero img { width: 100%; height: 390px; display: block; object-fit: cover; }
.page-section { padding: 88px max(24px,calc((100% - 1040px)/2)); background: #fff; }
.page-section.alt { background: var(--paper); }
.page-section h2 { margin: 6px 0 26px; font-size: clamp(30px,3vw,44px); }
.page-section > p { max-width: 740px; color: var(--ink-2); }
.feature-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 36px; }
.feature-grid article { padding: 30px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.feature-grid h3 { margin: 0 0 10px; font-size: 20px; }.feature-grid p { margin: 0; color: var(--ink-2); font-size: 13px; }
.spec-list { margin-top: 32px; border-top: 1px solid var(--line); }
.spec-list div { display: grid; grid-template-columns: 210px 1fr; gap: 28px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.spec-list dt { font-weight: 800; }.spec-list dd { margin: 0; color: var(--ink-2); }
.page-cta { padding: 68px max(24px,calc((100% - 1040px)/2)); display: flex; align-items: center; justify-content: space-between; gap: 35px; background: var(--blue-deep); color: #fff; }
.page-cta h2 { margin: 0 0 7px; font-size: 34px; }.page-cta p { margin: 0; color: rgba(255,255,255,.7); }
.form-status { margin: 18px 0 0; padding: 13px 15px; border-radius: 8px; background: #fff4df; color: #6a4a10; font-size: 12px; }
.page-hero .contact-route { border-color: var(--line); background: var(--blue-deep); box-shadow: 0 12px 28px rgba(24,52,58,.12); }
.page-hero .contact-route.line-route { border-color: #91d49b; background: #2cae47; }
.page-hero .contact-route span,.page-hero .contact-route small { color: rgba(255,255,255,.78); }
.visually-hidden { position: absolute!important; width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.js [data-reveal] { opacity: 0; transform: translateY(16px); transition: opacity .52s ease, transform .52s ease; }
.js [data-reveal="image"] { transform: translateY(14px); }
.js [data-reveal="work"] { transform: scale(1.02); transition: opacity .52s ease, transform .58s ease; }
.js [data-reveal].is-visible { opacity: 1; transform: none; }
.js .stagger > [data-reveal]:nth-child(2) { transition-delay: .07s; }
.js .stagger > [data-reveal]:nth-child(3) { transition-delay: .14s; }
.js .stagger > [data-reveal]:nth-child(4) { transition-delay: .21s; }
@media (max-width: 980px) {
  .hero-refined .hero-grid,.page-hero-inner,.design-home-grid,.company-mini,.home-contact { grid-template-columns: 1fr; }
  .hero-refined .hero-product img { min-height: 0; }
  .entry-card { grid-template-columns: 1fr; }.entry-card figure { height: 240px; }
  .real-work-grid { grid-template-columns: 1fr 1fr; }.real-work-grid figure:first-child { grid-column: 1/-1; }
  .compact-flow { grid-template-columns: 1fr 1fr; }.compact-flow li,.compact-flow li:first-child,.compact-flow li:last-child { border: 1px solid rgba(255,255,255,.14); border-radius: 0; }
}
@media (max-width: 680px) {
  .home-new .hero-refined { padding: 42px 16px 54px; }
  .hero-refined .hero-grid { gap: 34px; }.hero-refined .hero-product { border-radius: 13px; }
  .hero-refined .hero-copy h1 { font-size: 37px; }
  .hero-lead .mobile-line { display: block; }
  .hero-lead br { display: none; }
  .hero-lead-sub { display: block; margin-top: 8px; }
  .home-section,.page-section { padding: 70px 20px; }
  .entry-grid,.real-work-grid,.work-caption,.feature-grid { grid-template-columns: 1fr; }
  .entry-card { min-height: 0; }.entry-card figure { height: 220px; }.entry-card > div { padding: 25px 23px; }
  .design-home-grid { gap: 34px; }.design-home-grid img { min-height: 300px; }
  .real-work-grid figure,.real-work-grid figure:first-child { grid-column: auto; height: 300px; }
  .work-caption { gap: 12px; }
  .compact-flow { grid-template-columns: 1fr; }.compact-flow li { min-height: 120px; }
  .company-mini { gap: 38px; }.map-mini { min-height: 300px; }
  .home-contact { padding: 68px 20px 110px; gap: 35px; }.contact-choice { grid-template-columns: 1fr; }.contact-phone { grid-column: auto; }
  .page-hero { padding: 68px 20px 55px; }.page-hero-inner { gap: 30px; }.page-hero img { height: 290px; }
  .page-hero h1 { font-size: 30px; line-height: 1.4; }
  .page-hero h1 .mobile-line { display: block; }
  .page-hero h1 br { display: none; }
  .page-section h2 { font-size: 30px; line-height: 1.4; }
  .page-cta h2 { font-size: 28px; line-height: 1.45; }
  .home-section .section-heading h2,.design-home-grid h2,.company-mini h2,.home-contact h2 { font-size: 32px; line-height: 1.4; }
  .button { min-height: 52px; white-space: normal; text-align: center; }
  .design-home h2 .mobile-line { display: block; }
  .company-mini h2 .mobile-line,.home-contact h2 .mobile-line { display: block; }
  .spec-list div { grid-template-columns: 1fr; gap: 7px; }
  .page-cta { padding: 54px 20px 105px; align-items: stretch; flex-direction: column; }.page-cta .button { width:100%; }
  .js [data-reveal] { transform: translateY(8px); transition-duration: .36s; }.js .stagger > [data-reveal] { transition-delay: 0s!important; }
}
@media (prefers-reduced-motion: reduce) {
  .js [data-reveal],.js [data-reveal="work"] { opacity:1!important; transform:none!important; transition:none!important; }
}

/* Print studio motion concept: isolated from the approved classic layout. */
.sticker-link{isolation:isolate;}
.sticker-link:not(.floating-consult):not(.entry-card){position:relative;}
.sticker-corner{position:absolute!important;right:auto!important;top:auto!important;bottom:0!important;left:0!important;width:0;height:0;display:block!important;pointer-events:none;background:linear-gradient(45deg,#b9ae98 0%,#fffdf5 48%,#e9e1ce 85%);clip-path:polygon(0 0,100% 0,100% 100%);filter:drop-shadow(-3px 4px 3px #172c3340);border-radius:0 5px 0 0;z-index:8;transition:width .32s cubic-bezier(.2,.8,.2,1),height .32s cubic-bezier(.2,.8,.2,1);}
.sticker-link:focus-visible>.sticker-corner,.sticker-link.sticker-touch>.sticker-corner{width:24px;height:24px;}
@media(hover:hover) and (pointer:fine){
 .sticker-link:hover>.sticker-corner{width:24px;height:24px;}
}
.sticker-flight{position:fixed;z-index:999;pointer-events:none;transform-origin:top right;filter:drop-shadow(0 18px 18px #17323840);overflow:visible;}
.sticker-navigation-backdrop{position:fixed;inset:0;z-index:998;background:#f5f2ec;opacity:0;pointer-events:auto;}
.sticker-flight-face{pointer-events:none!important;box-shadow:none!important;}
.sticker-flight-back{position:absolute;inset:0;width:100%;height:100%;overflow:visible;filter:drop-shadow(-5px 6px 5px #17323830);}
.motion-off .sticker-corner{display:none!important;}
@media(prefers-reduced-motion:reduce){.sticker-corner{display:none!important;}}
html:has(.motion-home){overflow-x:clip;}
.motion-home{--paper:#f5f2ec;background:#f5f2ec;overflow-x:clip;}
.js .motion-home .hero-copy[data-reveal],.js .motion-home .hero-product[data-reveal]{opacity:1;}
.motion-home .site-header{background:rgba(250,248,243,.92);}
.motion-home .hero-refined{height:175vh;min-height:1200px;padding:0;overflow:visible;background:#f5f2ec;position:relative;}
.motion-home .hero-refined .hero-grid{position:sticky;top:76px;height:calc(100svh - 76px);min-height:670px;width:100%;max-width:none;padding:6vh 6vw 9vh;display:grid;grid-template-columns:1fr 1fr;gap:3vw;isolation:isolate;overflow:hidden;}
.print-word{position:absolute;left:3vw;top:2vh;font-family:Arial,sans-serif;font-weight:900;font-size:clamp(95px,16.4vw,260px);letter-spacing:-.075em;line-height:.84;color:#e8e4dc;z-index:-1;pointer-events:none;}
.print-word>span{display:block;}
.print-word>span:nth-child(1){color:#d9edf0;}
.print-word>span:nth-child(2){color:#f0dfe8;}
.print-word>span:nth-child(3){color:#f2edce;}
.motion-home .hero-copy{z-index:3;align-self:center;will-change:transform,opacity;}
.motion-home .hero-refined .hero-copy h1{font-size:clamp(40px,4.7vw,76px);letter-spacing:-.055em;line-height:1.24;}
.motion-home .hero-copy .eyebrow{font-size:10px;margin-bottom:27px;}
.motion-home .hero-copy .hero-lead{font-size:14px;max-width:510px;margin-top:28px;}
.motion-home .hero-copy .hero-points{font-size:10px;}
.motion-home .hero-product{position:relative;width:100%;height:60vh;max-height:660px;min-height:410px;overflow:visible;border-radius:3px!important;transform:rotate(2deg);transform-origin:70% 50%;z-index:2;background:#fff;padding:12px 12px 44px;box-shadow:0 30px 70px #172c3329!important;will-change:transform;}
.motion-home .hero-refined .hero-product img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:65% center;}
.print-caption{position:absolute;bottom:12px;left:15px;right:15px;display:flex;justify-content:space-between;font:8px monospace;letter-spacing:.12em;}
.print-collage{position:absolute;inset:0;pointer-events:none;z-index:4;}
.paper-piece{position:absolute;width:13vw;max-width:210px;margin:0;background:white;padding:7px 7px 22px;box-shadow:0 18px 40px #182b3226;}
.paper-piece img{width:100%;height:130px;object-fit:cover;}
.paper-piece figcaption{font:7px monospace;letter-spacing:.08em;position:absolute;bottom:7px;left:9px;}
.piece-a{right:2vw;top:3vh;transform:rotate(11deg);}
.piece-b{right:36vw;bottom:4vh;transform:rotate(-9deg);}
.print-seal{position:absolute;right:4vw;bottom:4vh;width:100px;height:100px;border-radius:50%;background:#df704d;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font:11px/1.15 monospace;transform:rotate(12deg);box-shadow:0 10px 25px #de704d33;}
.print-seal b{font:24px/1.1 Arial;}
.motion-toolbar{position:absolute;left:6vw;right:6vw;bottom:18px;display:flex;align-items:center;gap:20px;font:10px monospace;letter-spacing:.08em;z-index:5;}
.scroll-cue{margin-right:auto;display:flex;align-items:center;gap:18px;}
.scroll-cue i{font:25px sans-serif;font-style:normal;}
.motion-home .button-primary{border-radius:50px;background:#173238;}
.motion-home .button-secondary{border-radius:50px;}
.print-ribbon{overflow:hidden;padding:30px 0;background:#df704d;color:#f9f5ec;transform:rotate(-2deg) scale(1.01);position:relative;z-index:6;margin:0 0 55px;}
.print-ribbon>div{white-space:nowrap;font:900 clamp(32px,5.5vw,88px)/1.1 Arial,sans-serif;letter-spacing:-.04em;}
.print-ribbon span{font-family:"Noto Sans JP",sans-serif;font-size:.55em;vertical-align:middle;margin:0 60px;}
.motion-home .home-services{background:#f5f2ec;padding-top:65px;}
.motion-home .home-services .section-heading{display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:0 60px;margin-bottom:65px;max-width:none;}
.motion-home .home-services .section-kicker{grid-column:1/-1;}
.motion-home .home-services h2{font-size:clamp(36px,4vw,56px);margin-bottom:0;text-wrap:initial;}
.motion-home .entry-grid{display:block;perspective:1400px;}
.motion-home .entry-card{position:sticky;top:100px;margin-bottom:26px;display:grid;grid-template-columns:1.1fr 1fr;height:450px;border-radius:6px;padding:0;border:1px solid #17323825;box-shadow:0 18px 40px #17323813;transform-origin:center bottom;overflow:hidden;background:#fff;transition:box-shadow .3s;}
.motion-home .entry-card:nth-child(2){top:116px;}
.motion-home .entry-card:nth-child(3){top:132px;}
.motion-home .entry-card:nth-child(4){top:148px;}
.motion-home .entry-card figure{height:100%;}
.motion-home .entry-card>div{padding:55px;}
.motion-home .entry-card h3{font-size:clamp(24px,3vw,41px);}
.motion-home .entry-card p{max-width:360px;font-size:15px;}
.motion-home .entry-card small{margin-bottom:15px;}
.print-card-no{position:absolute;right:30px;bottom:18px;color:#17323818;font:100px/1 Arial,sans-serif;pointer-events:none;}
.motion-home .entry-card span{margin-top:30px;padding:12px 20px;border:1px solid #17323840;border-radius:40px;}
.motion-home .design-home{background:#19383d;color:#f7f3e9;}
.motion-home .design-home p,.motion-home .design-home .section-kicker,.motion-home .design-home .text-arrow{color:#c8d9d5;}
.motion-home .design-home figure{border-radius:4px;transform:rotate(-3deg);}
.motion-home .design-home .plain-check li{border-color:#ffffff26;}
.motion-home .real-work{background:#f5f2ec;}
.motion-home .real-work-grid figure{border-radius:2px;}
.motion-home .home-flow{background:#edf9fc;color:#173238;position:relative;}
.motion-home .home-flow::before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,#00a6ce 0 25%,#df3987 25% 50%,#f4ce25 50% 75%,#20363d 75%);}
.motion-home .home-flow .section-heading>p,.motion-home .compact-flow span{color:#52676c;}
.motion-home .compact-flow li{border-color:#17323833!important;}
.motion-home .compact-flow b{color:#de704d;}
.motion-home .home-flow .text-arrow{color:#173238;}
.motion-home .faq-home{background:#fff8fc;}
.motion-home .home-contact{background:#df704d;}
.motion-home .home-contact .section-kicker{color:#fff;}
.motion-ready .hero-copy .hero-line{animation:type-arrive .78s cubic-bezier(.16,1,.3,1) both;}
.motion-ready .hero-copy .hero-line:nth-child(2){animation-delay:.12s;}
.motion-ready .hero-copy .hero-line:nth-child(3){animation-delay:.24s;}
.motion-ready .hero-product img{animation:photo-arrive 1.05s cubic-bezier(.16,1,.3,1) both;}
.motion-ready .paper-piece{animation:paper-arrive 1.6s cubic-bezier(.16,1,.3,1) both;}
.motion-ready .piece-b{animation-delay:.2s;}
.motion-ready .entry-card{opacity:1!important;transform:perspective(1400px) rotateX(calc((1 - var(--enter,1))*9deg))!important;}
.motion-ready .design-home-grid figure,.motion-ready .real-work-grid figure{clip-path:inset(12% 0 12% 0);transition:clip-path 1.2s cubic-bezier(.16,1,.3,1),transform 1.2s!important;}
.motion-ready .design-home-grid figure.motion-seen,.motion-ready .real-work-grid figure.motion-seen{clip-path:inset(0);}
@keyframes type-arrive{from{clip-path:inset(0 0 18%);translate:0 14px;opacity:.55;}to{clip-path:inset(0);translate:0 0;opacity:1;}}
@keyframes photo-arrive{from{clip-path:inset(0 14% 0 0);filter:saturate(.72);opacity:.62;}to{clip-path:inset(0);filter:saturate(1);opacity:1;}}
@keyframes paper-arrive{from{opacity:0;translate:0 100px;rotate:15deg;}to{opacity:1;translate:0 0;rotate:0deg;}}
@media(max-width:1100px){
 .motion-home .hero-refined .hero-grid{padding:4vh 4vw 7vh;gap:25px;min-height:650px;}
 .motion-home .hero-refined .hero-copy h1{font-size:clamp(32px,4.8vw,52px);}
 .motion-home .hero-product{height:48vh;min-height:340px;}
 .paper-piece{width:15vw}.paper-piece img{height:100px;}
 .motion-home .hero-copy .hero-actions{gap:10px;}.motion-home .hero-copy .button{font-size:12px;padding:0 17px;}
}
@media(max-width:759px){
 .motion-home .hero-refined{height:auto;min-height:0;padding:0 0 64px;}
 .motion-home .hero-refined .hero-grid{position:relative;top:auto;height:auto;min-height:0;display:flex;flex-direction:column;padding:68px 22px 60px;gap:36px;}
 .print-word{top:12px;font-size:20vw;left:8px;color:#e8e4dc;}
 .motion-home .hero-copy{width:100%;align-self:auto;}
 .motion-home .hero-refined .hero-copy h1{font-size:clamp(29px,8.2vw,55px);}
 .motion-home .hero-copy .hero-lead{font-size:14px;line-height:1.9;margin-bottom:22px;}
 .motion-home .hero-copy .hero-actions{flex-direction:row;flex-wrap:nowrap;}
 .motion-home .hero-copy .button{width:auto;flex:1;min-height:49px;padding:8px;font-size:11px;}
 .motion-home .hero-product{width:94%;height:330px;min-height:0;max-height:none;transform:rotate(2deg);padding:8px 8px 30px;}
 .print-caption{font-size:6px;bottom:10px;left:10px;right:10px;}
 .piece-a{top:auto;bottom:7px;right:9px;width:108px;padding-bottom:18px;}.piece-a img{height:75px;}
 .piece-b{display:none;}.print-seal{width:68px;height:68px;bottom:305px;right:12px;font-size:8px;}
 .motion-toolbar{left:22px;right:22px;bottom:15px;gap:10px;font-size:8px;}.scroll-cue{gap:6px;}
 .print-ribbon{padding:22px 0;margin-bottom:15px;}.print-ribbon span{margin:0 28px;}
 .motion-home .home-services .section-heading{display:block;margin-bottom:36px;}
 .motion-home .home-services h2{font-size:34px;margin-bottom:20px;}
 .motion-home .entry-card{position:relative;top:auto!important;display:flex;flex-direction:column;height:auto;margin-bottom:22px;min-height:0;}
 .motion-home .entry-card figure{height:250px;flex:none;width:100%;}
 .motion-home .entry-card>div{padding:28px;}.motion-home .entry-card h3{font-size:25px;}
 .motion-home .entry-card p{font-size:13px;}
 .print-card-no{font-size:65px;right:16px;bottom:16px;}
}
.motion-off .hero-refined{height:auto;min-height:0;}
.motion-off .hero-refined .hero-grid{position:relative;top:auto;}
.motion-off .hero-product,.motion-off .hero-copy,.motion-off .print-word,.motion-off .print-collage{transform:none!important;opacity:1!important;}
.motion-off *{animation:none!important;}
.motion-off [data-reveal]{opacity:1!important;transform:none!important;transition:none!important;}
.motion-off .entry-card{position:relative;top:auto!important;transform:none!important;}
.motion-off .design-home-grid figure,.motion-off .real-work-grid figure{clip-path:none;}
@media(prefers-reduced-motion:reduce){
 .motion-home .hero-refined{height:auto;min-height:0;}
 .motion-home .hero-refined .hero-grid{position:relative;top:auto;}
 .motion-home .entry-card{position:relative;top:auto!important;transform:none!important;}
 .motion-home .design-home-grid figure,.motion-home .real-work-grid figure{clip-path:none;}
}

/* Gallery and CMYK accents, shared with the dedicated FAQ. */
.motion-home .entry-card{position:relative;top:auto!important;}
.motion-home #character-card{height:auto;min-height:0;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);}
.motion-home #character-card>.character-photo-grid{height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px 12px;padding:20px;}
.motion-home #character-card .character-photo-grid>figure{height:auto;min-height:0;width:100%;margin:0;overflow:visible;}
.motion-home #character-card .character-photo-grid img{display:block;height:auto;width:100%;aspect-ratio:1;object-fit:contain;transform:none;}
.motion-home #character-card figcaption{margin:0;padding:8px 0 0;font-size:12px;line-height:1.6;white-space:normal;}
.motion-home #character-card>div{padding:36px 32px 100px;min-width:0;}
@media(max-width:1000px){
 .motion-home #character-card{display:flex;flex-direction:column;}
 .motion-home #character-card>.character-photo-grid{width:100%;}
 .motion-home #character-card>div{padding:28px 28px 85px;}
}
@media(max-width:600px){
 .motion-home #character-card>.character-photo-grid{gap:14px 8px;padding:12px;}
 .motion-home #character-card figcaption{font-size:11px;}
}
.sticker-finish-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:28px 0 36px;}
.sticker-finish-gallery figure{margin:0;overflow:hidden;border:1px solid #17323818;border-radius:10px;background:#fff;}
.sticker-finish-gallery img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;}
.sticker-finish-gallery figcaption{display:grid;gap:7px;padding:20px 24px;}
.sticker-finish-gallery strong{font-size:20px;color:#173238;}
.sticker-finish-gallery figcaption span{font-size:14px;color:#52676c;line-height:1.7;}
@media(max-width:600px){.sticker-finish-gallery{grid-template-columns:1fr;gap:20px;}.sticker-finish-gallery figcaption{padding:18px 20px;}}
.motion-home .entry-card>.character-photo-pair{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10px;padding:18px;background:#fff;min-width:0;}
.motion-home .character-photo-pair>figure{margin:0;height:auto;min-width:0;overflow:visible;}
.motion-home .character-photo-pair img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;display:block;}
.character-photo-pair figcaption{font-size:12px;font-weight:700;color:#35545c;text-align:center;padding:12px 0 0;}
@media(max-width:760px){.motion-home .entry-card>.character-photo-pair{padding:12px;gap:8px;}.character-photo-pair figcaption{font-size:11px;padding-top:8px;}}
.quiet-link{transition:color .2s ease,background-color .2s ease,box-shadow .2s ease;}
.quiet-link:focus-visible{outline:3px solid #00b4d8;outline-offset:4px;}
.quiet-link:active{filter:brightness(.92);}
@media(hover:hover) and (pointer:fine){
 .quiet-link.button:hover,.quiet-link.header-cta:hover{box-shadow:0 6px 18px #17323825;}
 .quiet-link.text-arrow:hover,.global-nav .quiet-link:hover{color:#007f9e;text-decoration:underline;text-underline-offset:6px;}
 .quiet-link.ai-support-link:hover{background:#ffffff06;}
}
@media(prefers-reduced-motion:reduce){.quiet-link{transition:none;}}
.site-header .brand img{mix-blend-mode:multiply;}
.motion-home .design-home .ai-support-link{color:#f7f3e9;background:transparent;border:0;border-top:1px solid #ffffff45;border-radius:0;padding:28px 0 6px;gap:14px;}
.motion-home .design-home .ai-support-link small{color:#83dcee;font:600 11px/1.5 Arial,sans-serif;letter-spacing:.18em;display:flex;align-items:center;gap:14px;}
.motion-home .design-home .ai-support-link small::before{content:"";width:28px;height:4px;background:linear-gradient(90deg,#00b4d8 0 33%,#e54892 33% 66%,#efd332 66%);}
.motion-home .design-home .ai-support-link strong{font-size:clamp(22px,2.1vw,30px);font-weight:700;line-height:1.65;letter-spacing:.025em;}
.motion-home .design-home .ai-support-description{color:#c8d9d5;font-size:14px;line-height:1.9;}
.motion-home .design-home .ai-support-action{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#f7f3e9;font-size:13px;font-weight:700;margin-top:4px;}
.ai-support-action>span{display:grid;place-items:center;width:40px;height:40px;border:1px solid #ffffff60;border-radius:50%;font-size:20px;transition:background .2s,color .2s;}
.ai-support-link:hover .ai-support-action>span{background:#83dcee;color:#173238;border-color:#83dcee;}
#design-support{scroll-margin-top:100px;}
.motion-home .design-home figure.priken-working{transform:none;clip-path:none;border-radius:20px;box-shadow:none;background:#f8f5ef;}
.design-home-grid .priken-working img{display:block;width:100%;height:auto;min-height:0;object-fit:contain;}
.priken-heading{position:relative;padding-right:140px;min-height:120px;}
.priken-heading .priken-guide{position:absolute;right:0;top:0;width:112px;height:112px;object-fit:contain;pointer-events:none;}
@media(max-width:600px){.priken-heading{padding-right:0;min-height:0;}.priken-heading .priken-guide{position:static;float:right;width:70px;height:70px;margin:0 0 8px 12px;}.priken-heading::after{content:"";display:block;clear:both;}}
.motion-home .design-home figure.priken-intro{background:#f4f7f4;padding:24px;border-radius:24px;transform:none;box-shadow:none;clip-path:none;}
.design-home-grid .priken-intro img{width:100%;height:auto;min-height:0;max-height:430px;object-fit:contain;}
.priken-intro figcaption{display:grid;gap:8px;text-align:center;color:#18353a;padding:16px 4px 8px;}
.priken-intro figcaption small{font-size:12px;line-height:1.7;}
.priken-intro figcaption strong{font-size:25px;line-height:1.5;}
.priken-intro figcaption span{font-size:14px;line-height:1.8;}
@media(max-width:600px){.motion-home .design-home figure.priken-intro{padding:16px;}.design-home-grid .priken-intro img{max-height:300px;}.priken-intro figcaption strong{font-size:22px;}}
.motion-home .entry-card:nth-child(5){top:164px;}
.entry-card .character-photo-pending{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#eef2f3;color:#52676c;min-height:220px;}
.entry-card .character-photo-pending>span{font:700 13px Arial,sans-serif;letter-spacing:.12em;}
.entry-card .character-photo-pending>small{font-size:12px;letter-spacing:0;}
#character-card{scroll-margin-top:120px;}
#sticker-picks,#diecut,#hologram{scroll-margin-top:110px;}
.sticker-picks{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 0 40px;}
.sticker-picks>a{display:block;padding:28px;background:#e8faff;border:1px solid #00b4d840;border-top:5px solid #00b4d8;border-radius:10px;}
.sticker-picks>a:nth-child(2){background:#fff0f7;border-color:#e5489240;border-top-color:#e54892;}
.sticker-picks small{font-size:11px;letter-spacing:.12em;font-weight:800;color:#00738f;}
.sticker-picks>a:nth-child(2) small{color:#ad225f;}
.sticker-picks h3{font-size:clamp(22px,2.5vw,32px);line-height:1.5;margin:14px 0;}
.sticker-picks p{font-size:14px;line-height:1.9;max-width:36em;}
.sticker-picks a>span{font-size:13px;font-weight:800;}
.sticker-detail{background:#f0fbff;border-top:5px solid #00b4d8;}
.hologram-detail{background:#fff5fa;border-top:5px solid #e54892;}
.sticker-detail>p,.hologram-detail>p{max-width:76ch;line-height:1.9;}
.sticker-note{font-size:12px;color:#52676c;margin:24px 0;}
.hologram-types{display:flex;gap:12px;flex-wrap:wrap;list-style:none;padding:0;margin:25px 0;}
.hologram-types li{padding:16px 24px;background:#fff;border:1px solid #e5489260;border-radius:6px;font-size:18px;font-weight:700;}
@media(max-width:680px){.sticker-picks{grid-template-columns:1fr;gap:14px;}.sticker-picks>a{padding:22px;}.hologram-types{gap:8px;}.hologram-types li{padding:12px 18px;}}
.motion-home .hero-refined .hero-copy h1{font-size:clamp(30px,3.6vw,58px);line-height:1.4;letter-spacing:-.05em;}
.hero-role{font-weight:700;font-size:14px;margin:20px 0;color:#35545c;}
.motion-home .motion-toolbar{right:240px;}
.motion-home .print-seal{bottom:110px;}
@media(max-width:760px){.motion-home .motion-toolbar{right:22px;bottom:85px;}}
.hero-copy h1 em{color:#d92d38;}
.motion-home .print-seal{background:#80d8f0;color:#173238;box-shadow:0 10px 25px #00b4d830;}
.sticker-picks.character-pick{grid-template-columns:1fr;}
.character-pick .finish-tags{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0;}
.character-pick .finish-tags span{padding:6px 12px;border-radius:20px;background:#fff;font-size:12px;color:#173238;}
#character-stickers{scroll-margin-top:110px;}
.motion-home .print-ribbon{background:#007f9e;border-top:5px solid #00b4d8;border-bottom:5px solid #efd332;}
.motion-home .section-kicker::before{content:"";display:inline-block;width:36px;height:6px;margin-right:12px;vertical-align:middle;background:linear-gradient(90deg,#00b4d8 0 25%,#e54892 25% 50%,#efd332 50% 75%,#173238 75%);}
.motion-home .entry-card:nth-child(4n+1){--card-accent:#00b4d8;border-top:5px solid var(--card-accent);}
.motion-home .entry-card:nth-child(4n+2){--card-accent:#e54892;border-top:5px solid var(--card-accent);}
.motion-home .entry-card:nth-child(4n+3){--card-accent:#efd332;border-top:5px solid var(--card-accent);}
.motion-home .entry-card:nth-child(4n+4){--card-accent:#173238;border-top:5px solid var(--card-accent);}
.motion-home .entry-card .print-card-no{color:var(--card-accent);opacity:.24;}
.motion-home .floating-consult{background:#bd246a;position:fixed;z-index:80;}
.motion-home .floating-consult:hover{background:#a01d58;}
.ai-support-link{display:grid;gap:8px;margin-top:26px;padding:22px;border:1px solid #00b4d840;border-left:5px solid #00b4d8;background:#effbff;border-radius:8px;}
.ai-support-link small{color:#007f9e;letter-spacing:.1em;font-weight:800;}
.ai-support-link strong{font-size:20px;line-height:1.6;}
.ai-support-link>span{font-size:13px;line-height:1.9;}
.ai-photo-board img{display:block;width:100%;height:auto;border-radius:8px;}
.image-note{font-size:11px;color:#52676c;text-align:right;}
.service-heading-line{display:block;}
.jp-phrase{display:inline-block;}
@media(max-width:680px){
  .jp-phrase{max-width:100%;white-space:normal;word-break:normal;overflow-wrap:anywhere;}
  .page-hero h1{font-size:clamp(24px,7.2vw,30px);}
  .page-hero h1 .mobile-line{white-space:nowrap;}
  .page-section h2,.page-cta h2{font-size:clamp(24px,6.8vw,30px);line-height:1.5;}
  #design-support-title{font-size:clamp(26px,7.2vw,32px);line-height:1.5;}
  main :where(p,li,dd,summary){line-break:strict;overflow-wrap:break-word;}
}
@media(max-width:760px){.motion-home .hero-refined .hero-copy h1{font-size:clamp(26px,8vw,46px);line-height:1.4;}.motion-home .home-services h2{font-size:clamp(24px,7.3vw,34px);letter-spacing:-.03em;}.service-heading-line{white-space:nowrap;}.hero-role{font-size:12px;}.ai-support-link strong{font-size:18px;}}
.compact-flow .illustrated-step:nth-child(1){--step-ink:#007f9e;--step-bright:#00b4d8;--step-tint:#dcf7fc;}
.compact-flow .illustrated-step:nth-child(2){--step-ink:#b62669;--step-bright:#e54892;--step-tint:#ffe4f1;}
.compact-flow .illustrated-step:nth-child(3){--step-ink:#725b00;--step-bright:#efd332;--step-tint:#fff5b6;}
.compact-flow .illustrated-step:nth-child(4){--step-ink:#173238;--step-bright:#35545c;--step-tint:#e1edf0;}
.motion-home .compact-flow .illustrated-step{background:linear-gradient(180deg,var(--step-tint),#fff 60%);border-top:5px solid var(--step-bright)!important;box-shadow:0 12px 26px #1732380c;}
.compact-flow .illustrated-step>b{color:var(--step-ink);padding:4px 10px;background:#ffffffb8;border-radius:20px;}
.compact-flow .illustrated-step .print-illustration{color:var(--step-ink);}
.compact-flow .illustrated-step .illustration-accent{fill:var(--step-bright);}
.compact-flow .illustrated-step:not(:last-child)::after{background:var(--step-bright);color:var(--step-ink);box-shadow:0 0 0 4px #fff;}
.compact-flow .illustrated-step:nth-child(1)::after,.compact-flow .illustrated-step:nth-child(2)::after{color:#fff;}
.faq-home .faq-list details:nth-child(3n+1){--faq-ink:#007f9e;--faq-bright:#00b4d8;--faq-tint:#e8faff;}
.faq-home .faq-list details:nth-child(3n+2){--faq-ink:#b62669;--faq-bright:#e54892;--faq-tint:#fff0f7;}
.faq-home .faq-list details:nth-child(3n+3){--faq-ink:#725b00;--faq-bright:#efd332;--faq-tint:#fff9d9;}
.faq-home .faq-list details{background:#fff;border-left:5px solid var(--faq-bright);}
.faq-home .faq-list details[open]{background:var(--faq-tint);border-color:var(--faq-bright);}
.faq-home .illustrated-question .print-illustration{color:var(--faq-ink);}
.faq-home .illustrated-question .illustration-accent{fill:var(--faq-bright);}
.faq-home .faq-list summary.illustrated-question>span{background:var(--faq-tint);color:var(--faq-ink);}
.faq-more{margin-top:30px;}
.faq-more>.button{background:#173238;}
.faq-more>p{font-size:12px;color:#52676c;margin:12px 0 0;}
.work-preview{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden;color:#173238;}
.work-preview img{transition:transform .4s ease;}
.work-preview:hover img{transform:scale(1.035);}
.work-preview:focus-visible{outline:4px solid #00b4d8;outline-offset:-4px;}
.work-preview-hint{position:absolute;right:14px;bottom:14px;padding:8px 13px;background:#fffffff0;box-shadow:0 4px 16px #17323826;border-radius:30px;font-size:12px;font-weight:700;}
.work-lightbox{position:fixed;inset:0;width:min(1180px,95vw);max-width:95vw;max-height:95dvh;margin:auto;padding:20px 24px;border:1px solid #ffffff40;border-radius:16px;background:#14262bf5;color:#fff;box-shadow:0 30px 100px #0008;}
.work-lightbox::backdrop{background:#081619dc;backdrop-filter:blur(8px);}
.lightbox-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:13px;}
.lightbox-close{border:1px solid #ffffff55;border-radius:30px;background:transparent;color:#fff;padding:10px 16px;cursor:pointer;min-height:44px;}
.lightbox-stage{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:16px;}
.lightbox-stage img{width:100%;height:min(70dvh,780px);object-fit:contain;}
.lightbox-prev,.lightbox-next{width:48px;height:48px;box-sizing:border-box;padding:0;display:grid;place-items:center;border:1px solid #ffffff55;border-radius:50%;color:white;background:#ffffff18;line-height:1;cursor:pointer;}
.lightbox-prev svg,.lightbox-next svg{display:block;width:24px;height:24px;pointer-events:none;}
.work-lightbox button:focus-visible{outline:3px solid #00b4d8;outline-offset:3px;}
.lightbox-caption{margin:16px 0 0;text-align:center;font-size:14px;}
.lightbox-help{margin:8px 0 0;text-align:center;font-size:11px;color:#bed1d6;}
.faq-page-hero{background:linear-gradient(125deg,#e8faff,#fff 55%,#fff1f8);border-bottom:5px solid #00b4d8;}
.faq-page-hero h1{font-size:clamp(29px,4vw,54px);line-height:1.4;}
.faq-categories{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px;}
.faq-categories a{padding:12px 18px;border:1px solid #007f9e50;background:#fff;border-radius:30px;font-size:13px;font-weight:700;}
.faq-categories a:hover{background:#e8faff;}
.faq-category{--faq-bright:#00b4d8;--faq-ink:#007f9e;padding-top:60px;padding-bottom:60px;}
.faq-category:nth-of-type(3){--faq-bright:#e54892;--faq-ink:#b62669;background:#fff9fc;}
.faq-category:nth-of-type(4){--faq-bright:#efd332;--faq-ink:#725b00;background:#fffdf3;}
.faq-category:nth-of-type(5){--faq-bright:#00b4d8;--faq-ink:#007f9e;background:#f4fcff;}
.faq-category:nth-of-type(6){--faq-bright:#35545c;--faq-ink:#173238;}
.faq-category-heading{display:flex;gap:18px;align-items:center;margin-bottom:26px;}
.faq-category-heading>span{padding:8px 12px;font:18px monospace;color:var(--faq-ink);border:1px solid var(--faq-bright);border-radius:8px;}
.faq-category-heading h2{font-size:clamp(23px,3vw,36px);margin:0;}
.faq-category .faq-list{border-top:3px solid var(--faq-bright);}
.faq-category summary{align-items:center;font-size:16px;line-height:1.8;}
.faq-category summary::before{content:"Q";font:bold 21px Arial;color:var(--faq-ink);flex:none;}
.faq-category summary>span{margin-left:auto;flex:none;}
.faq-category details p{padding-left:52px;font-size:14px;line-height:1.9;}
@media(max-width:680px){
 .work-lightbox{padding:14px 12px;width:96vw;max-width:96vw;}
 .lightbox-stage{grid-template-columns:minmax(0,1fr);gap:0;}
 .lightbox-stage img{grid-column:1;grid-row:1;height:58dvh;}
 .lightbox-prev,.lightbox-next{position:absolute;top:calc(50% - 24px);z-index:1;background:#14262bcc;min-width:44px;}
 .lightbox-prev{left:0;}.lightbox-next{right:0;}
 .lightbox-caption{font-size:12px;}.work-preview-hint{font-size:11px;}
 .faq-category{padding:44px 20px;}
 .faq-category .faq-list summary{gap:12px;font-size:14px;}
 .faq-category details p{padding-left:0;}
 .faq-categories{gap:8px;}.faq-categories a{font-size:12px;padding:10px 13px;}
 .compact-flow .illustrated-step>b{padding:0;background:transparent;}
}
@media(prefers-reduced-motion:reduce){.work-preview img{transition:none;}}
.motion-home .entry-card.service-gallery-card{height:auto;min-height:0;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);}
.motion-home .service-gallery-card>.service-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;padding:20px;min-width:0;align-self:center;}
.motion-home .service-photo-grid>figure{height:auto;margin:0;overflow:visible;min-width:0;}
.motion-home .service-photo-grid img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;transform:none!important;}
.motion-home .service-photo-three>figure:first-child{grid-column:1/-1;}
.motion-home .service-photo-three>figure:first-child img{aspect-ratio:2/1;}
.motion-home .service-photo-grid figcaption{padding-top:8px;font-size:12px;line-height:1.6;color:#30383a;}
.motion-home .service-gallery-card>div{padding:36px 32px 100px;min-width:0;}
.service-detail-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px;margin-top:30px;}
.service-detail-gallery figure{margin:0;min-width:0;}
.service-detail-gallery img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#f5f4f1;border-radius:8px;}
.service-detail-gallery figcaption{margin-top:10px;font-size:14px;line-height:1.7;}
@media(max-width:1000px){.motion-home .entry-card.service-gallery-card{display:flex;flex-direction:column;}.motion-home .service-gallery-card>.service-photo-grid{width:100%;box-sizing:border-box;}.motion-home .service-gallery-card>div{width:100%;box-sizing:border-box;padding:28px 28px 85px;}.service-detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.motion-home .service-gallery-card>.service-photo-grid{padding:12px;gap:14px 8px;}.motion-home .service-photo-grid figcaption{font-size:11px;}.service-detail-gallery{gap:22px 12px;}.service-detail-gallery figcaption{font-size:12px;}}
.motion-home .entry-card .variable-print-note{border-left:3px solid #00a6cf;padding:10px 0 10px 14px;margin-top:20px;font-size:14px;line-height:1.8;color:#223b43;}
.variable-print-panel{padding:clamp(22px,4vw,48px);margin-bottom:60px;background:#f1f8fa;border-top:4px solid #00a6cf;border-radius:4px;}
.variable-number-demo{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0;}
.variable-number-demo span{padding:16px 20px;background:white;border:1px solid #d5e3e6;border-bottom:3px solid #dc2e7a;font:600 18px/1.3 monospace;color:#203940;border-radius:4px;}
.motion-home .hero-refined .hero-product img{object-position:50% center;object-fit:contain;background:#eeeae4;}
.work-photo-balanced{filter:brightness(1.06) saturate(.84);}
.special-photo-grid figcaption span{display:none;}
.special-detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
.special-detail-gallery figcaption strong,.special-detail-gallery figcaption span{display:block;}
.special-detail-gallery figcaption span{font-size:13px;color:#536269;margin-top:6px;}
.special-image-note{font-size:12px;color:#536269;line-height:1.8;margin-top:24px;}
.page-hero h1.special-hero-title{font-size:clamp(26px,3.2vw,42px);line-height:1.5;letter-spacing:0;}
.special-hero-title>span{display:block;white-space:nowrap;}
.hero-intro-with-priken{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.motion-home .hero-copy .hero-intro-with-priken .eyebrow{margin:0;min-width:0;}
.hero-priken{display:block;width:96px;height:96px;object-fit:contain;flex:none;pointer-events:none;}
.work-title-with-priken{display:flex;align-items:center;gap:20px;}
.work-title-with-priken>img{display:block;width:92px;height:92px;object-fit:contain;flex:none;pointer-events:none;}
.motion-home .design-home figure.design-product-photo{transform:none;clip-path:none;border-radius:16px;overflow:hidden;align-self:center;}
.design-home-grid .design-product-photo img{display:block;width:100%;height:auto;min-height:0;object-fit:contain;}
@media(max-width:600px){.hero-priken{width:64px;height:64px;}.hero-intro-with-priken{gap:8px;margin-bottom:14px;}.work-title-with-priken{gap:14px;}.work-title-with-priken>img{width:68px;height:68px;}}
@media(max-width:600px){.page-hero h1.special-hero-title{font-size:clamp(22px,7vw,30px);}}
.business-hours-note{max-width:1100px;margin:32px auto;padding:24px clamp(18px,4vw,36px);background:#eff7f8;border-left:4px solid #00a6cf;line-height:1.8;box-sizing:border-box;}
.business-hours-note p{margin:8px 0;}.business-hours-note a{color:#176574;}
.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0;}
.journal-card{display:flex;flex-direction:column;padding:26px;background:#fff;border:1px solid #ddd;border-top:4px solid #00a6cf;border-radius:8px;color:#1b3339;text-decoration:none;transition:box-shadow .2s;}
.journal-card:nth-child(2){border-top-color:#cf347c;}.journal-card:nth-child(3){border-top-color:#e8bd23;}
.journal-card h3{font-size:20px;line-height:1.6;margin:14px 0;}.journal-card p{font-size:14px;line-height:1.9;}.journal-card span{margin-top:auto;font-weight:700;}.journal-card:hover{box-shadow:0 6px 18px #163a3912;}.journal-card:focus-visible{outline:3px solid #167b91;outline-offset:4px;}
.journal-article{max-width:820px;line-height:2;}.journal-article h1{font-size:clamp(26px,4vw,40px);line-height:1.5;margin:28px 0;}.journal-article h2{font-size:24px;margin-top:40px;}.journal-article .journal-lead{font-size:18px;}.journal-article nav{font-size:13px;}
@media(max-width:760px){.journal-grid{grid-template-columns:1fr;}.journal-card{padding:20px;}.journal-card h3{font-size:18px;}.business-hours-note{margin:24px 16px;}.journal-article .business-hours-note{margin:30px 0;}}
.design-home-grid.design-text-only{align-items:start;gap:clamp(28px,5vw,64px);}
.design-text-heading h2{font-size:clamp(28px,3.2vw,44px);line-height:1.55;}
.flyer-work{min-width:0;}.flyer-work-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;}.page-hero .flyer-work-pair figure{margin:0;min-width:0;box-shadow:none;overflow:visible;}.page-hero .flyer-work-pair img{display:block;width:100%;height:auto;min-height:0;max-height:none;object-fit:contain;border-radius:0;}.flyer-work-pair figcaption{font-size:13px;margin-top:10px;}.flyer-work-pair a:focus-visible{outline:3px solid #008ca8;outline-offset:4px;}
.variable-card-visual{padding:clamp(24px,4vw,50px);background:#eef7f8;align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0;box-sizing:border-box;}
.motion-home .entry-card .variable-card-visual p{font:bold clamp(28px,4vw,48px)/1.7 monospace;color:#19383d;max-width:none;margin:20px 0;}
.variable-card-visual strong{font-size:13px;line-height:1.8;color:#176574;}

.service-shortcuts{max-width:1280px;margin:0 auto;padding:24px clamp(20px,4vw,56px);box-sizing:border-box;}
.service-shortcuts>p{font-size:14px;font-weight:700;margin:0 0 12px;color:#19383d;}
.service-shortcuts>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.service-shortcuts a{display:flex;align-items:center;gap:8px;min-height:56px;padding:10px 14px;box-sizing:border-box;border:1px solid #d6dfe0;background:#fff;border-radius:8px;text-decoration:none;color:#19383d;font-size:13px;font-weight:700;line-height:1.5;}
.service-shortcuts small{flex:none;color:#277f91;font-size:12px;}.service-shortcuts .shortcut-label{min-width:0;word-break:keep-all;}.service-shortcuts .shortcut-arrow{margin-left:auto;}
.service-shortcuts a:hover{background:#eef8fa;}.service-shortcuts a:focus-visible,.back-to-top:focus-visible{outline:3px solid #008ca8;outline-offset:4px;}
.home-new .entry-card[id]{scroll-margin-top:110px;}
.back-to-top{position:fixed;left:16px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:75;display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 13px;box-sizing:border-box;background:#fff;border:1px solid #c9d5d6;border-radius:24px;color:#19383d;font-size:12px;font-weight:700;text-decoration:none;box-shadow:0 3px 12px #19383d18;}
.back-to-top[hidden]{display:none;}
@media(max-width:1000px){.service-shortcuts>div{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:650px){.service-shortcuts{padding:20px 16px;}.service-shortcuts>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}.service-shortcuts a{min-height:56px;padding:10px 12px;font-size:13px;gap:6px;}.service-shortcuts .shortcut-arrow{display:none;}.service-shortcuts a:last-child{grid-column:1/-1;}.back-to-top{left:12px;bottom:calc(88px + env(safe-area-inset-bottom,0px));padding:8px 10px;font-size:11px;}}

/* Design support and the photo-led AI printing service card. */
.motion-home .entry-card.ai-service-card{height:auto;min-height:450px;background:#fff;scroll-margin-top:110px;}
.motion-home .ai-service-card h3 .jp-phrase,.motion-home .ai-service-card .ai-step-number{margin:0;padding:0;border:0;border-radius:0;}
.motion-home .ai-service-card h3 .jp-phrase{font:inherit;color:inherit;}
.motion-home .ai-service-card .ai-card-photo{margin:0;padding:24px;min-width:0;width:100%;height:auto;box-sizing:border-box;align-self:center;background:#fff;}
.motion-home .ai-service-card .ai-card-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;}
.ai-service-card .ai-card-photo figcaption{margin-top:10px;font-size:13px;font-weight:700;line-height:1.6;color:#19383d;}
.motion-home .ai-service-card>div{padding-bottom:100px;}
.motion-home .ai-service-card .ai-card-note{font-size:12px;line-height:1.8;}
@media(max-width:760px){.motion-home .entry-card.ai-service-card{grid-template-columns:1fr;}.motion-home .ai-service-card .ai-card-photo{padding:16px 16px 0;}.motion-home .ai-service-card>div{padding:24px 24px 90px;}}
.motion-home .support-compact{padding-top:64px;padding-bottom:56px;}
.support-intro,.ai-feature-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;}
.support-intro>div,.ai-feature-intro>div{min-width:0;}
.support-compact h2,.ai-print-feature h2{font-size:clamp(26px,2.8vw,38px);line-height:1.55;letter-spacing:.015em;margin:12px 0 0;}
.support-summary p{margin:0 0 20px;font-size:15px;line-height:1.9;}
.support-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:32px 0 0;border-top:1px solid #ffffff30;}
.support-options li{padding:20px 18px 0 0;font-size:14px;font-weight:700;line-height:1.8;}
.support-options span{font:700 12px/1.8 Arial,sans-serif;color:#80dce9;margin-right:12px;}
.support-options li:nth-child(2) span{color:#f4a1c5;}
.support-options li:nth-child(3) span{color:#f4de59;}
.motion-home .ai-print-feature{background:#f2f8f8;color:#19383d;padding-top:64px;padding-bottom:64px;}
.ai-print-feature h2 span{display:block;}
.ai-feature-intro>p{font-size:15px;line-height:1.9;margin:0;color:#425b60;}
.ai-feature-steps{list-style:none;padding:0;margin:32px 0 24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.ai-feature-steps li{background:#fff;padding:24px;border-top:4px solid #00a9cd;}
.ai-feature-steps li:nth-child(2){border-color:#e74189;}
.ai-feature-steps li:nth-child(3){border-color:#ead020;}
.ai-step-number{font:700 11px/1.5 Arial,sans-serif;letter-spacing:.12em;color:#52666b;}
.ai-feature-steps h3{font-size:19px;margin:10px 0;line-height:1.5;}
.ai-feature-steps p{font-size:14px;line-height:1.9;margin:0;color:#425b60;}
.ai-feature-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;}
.ai-feature-bottom p{font-size:12px;line-height:1.8;color:#52666b;margin:0;}
.ai-feature-bottom .button{font-size:14px;white-space:normal;text-align:left;}
@media(max-width:800px){
.support-intro,.ai-feature-intro{grid-template-columns:1fr;gap:20px;}
.support-options{gap:12px;}
.support-options li{padding-right:0;}
.support-options span{display:block;}
.ai-feature-steps{gap:12px;}
.ai-feature-steps li{padding:18px;}
.ai-feature-bottom{flex-direction:column;align-items:flex-start;gap:16px;}
}
@media(max-width:560px){
.motion-home .support-compact,.motion-home .ai-print-feature{padding-top:44px;padding-bottom:44px;}
.support-compact h2,.ai-print-feature h2{font-size:clamp(23px,6vw,30px);}
.support-options{grid-template-columns:1fr;gap:0;margin-top:24px;}
.support-options li{padding-top:12px;}
.support-options span{display:inline;}
.ai-feature-steps{grid-template-columns:1fr;margin-top:24px;}
.ai-feature-steps li{padding:18px 20px;border-top:0;border-left:4px solid #00a9cd;}
.ai-feature-steps h3{margin:6px 0;}
.ai-feature-bottom .button{width:100%;justify-content:space-between;}
}

.motion-home .service-photo-grid.variable-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.motion-home .variable-photo-grid img{aspect-ratio:3/2;object-fit:contain;}
.variable-detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
.variable-detail-gallery img{aspect-ratio:3/2;object-fit:contain;}
.variable-detail-gallery h3{font-size:20px;line-height:1.6;margin:12px 0 8px;}
.variable-detail-gallery p{font-size:14px;line-height:1.9;margin:0;}
@media(min-width:601px) and (max-width:1000px){.motion-home .service-photo-grid.variable-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.motion-home .service-photo-grid.variable-photo-grid{grid-template-columns:1fr;}.variable-detail-gallery{grid-template-columns:1fr;gap:32px;}}
.variable-code-list{margin:24px 0;border:1px solid #cbd6d6;border-radius:8px;background:#fff;padding:20px;}
.variable-code-list summary{cursor:pointer;font-weight:700;line-height:1.8;}
.variable-code-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px;}
.variable-code-groups h3{font-size:17px;line-height:1.6;}
.variable-code-groups ul{padding-left:20px;}
.variable-code-groups li{font-size:14px;line-height:1.8;margin:6px 0;overflow-wrap:anywhere;}
@media(max-width:600px){.variable-code-groups{grid-template-columns:1fr;}}
.variable-multi-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:start;margin-top:24px;}
.variable-multi-layout>div,.variable-multi-layout figure{min-width:0;}
.variable-multi-layout figure{margin:0;}
.variable-multi-layout img{display:block;width:100%;height:auto;border-radius:8px;}
.variable-multi-layout figcaption{font-size:14px;line-height:1.8;margin-top:12px;}
.variable-multi-layout figcaption small{color:#59686b;font-size:12px;}
.variable-multi-layout h3{font-size:20px;line-height:1.6;margin:0 0 16px;}
@media(max-width:800px){.variable-multi-layout{grid-template-columns:1fr;gap:24px;}}

.character-photo-grid .tomori-hologram-photo,.sticker-finish-gallery .tomori-hologram-photo{grid-column:1/-1;}
.motion-home .character-photo-grid .tomori-hologram-photo img,.sticker-finish-gallery .tomori-hologram-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;}
.sticker-finish-gallery .tomori-hologram-photo{width:100%;max-width:960px;margin:0 auto;}
