:root {
  --color-canvas: #f3f0e7;
  --color-paper: #fcfaf5;
  --color-ink: #272722;
  --color-muted: #64635b;
  --color-primary: #a5482c;
  --color-primary-hover: #87381f;
  --color-craft-green: #6f7e68;
  --color-soft-blue: #78909b;
  --color-warm-yellow: #d3ae55;
  --color-line: #cbc6b9;
  --font-display: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  --font-body: "Hiragino Sans", "Yu Gothic", "Meiryo", system-ui, sans-serif;
  --page-width: 1180px;
  --page-gutter: clamp(22px, 5vw, 64px);
  --motion-fast: 160ms;
  --motion-base: 280ms;
  --motion-emphasis: 520ms;
  --ease-enter: cubic-bezier(.16, 1, .3, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--color-canvas); color: var(--color-ink); font-family: var(--font-body); -webkit-font-smoothing: antialiased; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
a:focus-visible { outline: 3px solid var(--color-soft-blue); outline-offset: 4px; }
.skip-link { position: fixed; z-index: 100; top: 12px; left: 12px; transform: translateY(-150%); padding: 12px 18px; background: var(--color-ink); color: white; }
.skip-link:focus { transform: translateY(0); }
.page-width { width: min(calc(100% - var(--page-gutter) * 2), var(--page-width)); margin-inline: auto; }
.site-header { position: relative; z-index: 5; border-bottom: 1px solid #dedacf; }
.site-header__inner { display: flex; justify-content: space-between; align-items: center; gap: 24px; max-width: 1512px; min-height: 74px; padding-inline: var(--page-gutter); margin-inline: auto; }
.site-logo { font-family: var(--font-display); font-size: 17px; font-weight: 600; letter-spacing: .06em; text-decoration: none; white-space: nowrap; }
.header-link { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.header-link span { font-size: 17px; font-weight: 400; }
.hero { padding-top: 33px; }
.hero__intro { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 21px; }
.hero__mark, .hero__locale, .section-index, .scene-caption { font-size: 11px; font-weight: 700; letter-spacing: .14em; }
.hero__mark, .hero__locale { margin: 0; color: var(--color-muted); }
.hero__mark span { padding-inline: 8px; }
.hero__visual { width: min(calc(100% - 36px), 1512px); margin-inline: auto; height: clamp(350px, 35vw, 510px); }
.craft-scene { position: relative; overflow: hidden; isolation: isolate; background: #d7d0bf; }
.craft-scene::before { content: ""; position: absolute; inset: 0; z-index: -1; background: repeating-linear-gradient(91deg, transparent 0 68px, rgba(83, 64, 42, .045) 69px 70px, transparent 71px 111px); }
.craft-scene::after { content: ""; position: absolute; inset: 0; z-index: 8; border: 1px solid rgba(69, 56, 39, .08); pointer-events: none; }
.scene-caption { position: absolute; z-index: 10; right: 24px; bottom: 22px; color: rgba(39, 39, 34, .64); background: rgba(252, 250, 245, .78); padding: 8px 10px; font-size: 9px; }
.craft-scene--hero { background: #c8bda7; }
.craft-scene--hero::before { background: repeating-linear-gradient(94deg, transparent 0 126px, rgba(93, 69, 45, .045) 128px 130px, transparent 131px 210px), linear-gradient(145deg, #c4b7a1, #dbd1bf 62%, #bbae99); }
.scene-sheet { position: absolute; display: block; background: #eee8d9; box-shadow: 0 8px 22px rgba(58, 49, 37, .08); }
.scene-sheet--one { width: 30%; height: 91%; top: -13%; left: 17%; transform: rotate(-9deg); }
.scene-sheet--two { width: 35%; height: 99%; bottom: -34%; right: 17%; transform: rotate(11deg); background: #f5f0e5; }
.scene-wood { position: absolute; width: 14%; height: 9%; top: 24%; right: 27%; transform: rotate(-26deg); background: #9b7854; box-shadow: 5px 6px 0 rgba(65, 49, 33, .14); }
.scene-thread { position: absolute; width: 32%; height: 46%; left: 34%; top: 21%; border: 2px solid #786c5c; border-right-color: transparent; border-bottom-color: transparent; border-radius: 50%; transform: rotate(-25deg); opacity: .8; }
.scene-strip { position: absolute; display: block; width: 18%; height: 5%; background: #d0b356; }
.scene-strip--a { left: 31%; bottom: 20%; transform: rotate(18deg); }
.scene-strip--b { right: 9%; top: 22%; height: 4%; width: 16%; transform: rotate(-17deg); background: #75908b; }
.scene-chip { position: absolute; display: block; width: 6%; aspect-ratio: 1; box-shadow: 3px 5px 0 rgba(67, 52, 36, .11); }
.scene-chip--a { left: 10%; bottom: 18%; transform: rotate(-14deg); background: #ad6348; }
.scene-chip--b { left: 54%; top: 14%; transform: rotate(17deg); background: #829078; }
.scene-chip--c { right: 7%; bottom: 19%; transform: rotate(-8deg); background: #dfc58b; }
.hero__content { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .65fr); align-items: end; gap: 7%; padding-top: clamp(46px, 5.8vw, 86px); padding-bottom: 155px; }
.eyebrow { margin: 0 0 18px; font-size: 13px; font-weight: 700; letter-spacing: .14em; }
.hero h1 { margin: 0; font-family: var(--font-display); font-size: clamp(42px, 4.55vw, 68px); font-weight: 500; line-height: 1.47; letter-spacing: .025em; }
.hero__details { padding-bottom: 7px; }
.hero__description { max-width: 39ch; margin: 0 0 30px; font-size: clamp(15px, 1.18vw, 17px); line-height: 2.05; letter-spacing: .015em; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 35px; min-height: 58px; padding: 14px 21px 14px 25px; border: 1px solid transparent; text-decoration: none; font-size: 17px; font-weight: 700; letter-spacing: .025em; transition: background-color var(--motion-fast), transform var(--motion-fast); }
.button:hover { transform: translateY(-2px); }
.button:active { transform: translateY(0); }
.button--primary { background: var(--color-primary); color: #fff; }
.button--primary:hover { background: var(--color-primary-hover); }
.button span { font-size: 18px; font-weight: 400; }
.hero__note { margin: 16px 0 0; color: var(--color-muted); font-size: 12px; line-height: 1.7; }
.section-index { display: block; color: var(--color-muted); }
.section-lead h2, .flow h2, .schedule h2 { margin: 17px 0 0; font-family: var(--font-display); font-size: clamp(34px, 3.7vw, 54px); font-weight: 500; letter-spacing: .035em; line-height: 1.5; }
.audience { padding-bottom: 175px; }
.audience__voices { margin-top: 63px; }
.audience__voice { width: fit-content; max-width: 80%; margin: 0; padding: 24px 0 25px; border-top: 1px solid var(--color-line); font-family: var(--font-display); font-size: clamp(21px, 2.45vw, 34px); font-weight: 500; letter-spacing: .015em; line-height: 1.65; }
.audience__voice--one { margin-left: 4%; }
.audience__voice--two { margin-left: 22%; }
.audience__voice--three { margin-left: 11%; }
.audience__thought { display: flex; align-items: flex-start; gap: 40px; max-width: 850px; margin: 140px 0 0 auto; }
.audience__thought p { margin: 0; font-family: var(--font-display); font-size: clamp(24px, 2.6vw, 37px); line-height: 1.95; letter-spacing: .025em; }
.tiny-piece { display: block; flex: 0 0 48px; height: 12px; margin-top: 24px; transform: rotate(-11deg); }
.tiny-piece--green { background: var(--color-craft-green); }
.interlude { margin-bottom: 167px; }
.interlude__scene { width: min(100%, 1640px); height: clamp(320px, 44vw, 620px); margin-inline: auto; background: #d9d0bd; }
.interlude__scene::before { background: repeating-linear-gradient(92deg, transparent 0 90px, rgba(76, 59, 39, .045) 92px 93px, transparent 95px 160px), linear-gradient(120deg, #c9bda9, #e3dccc); }
.interlude__paper { position: absolute; width: 38%; height: 93%; top: -26%; left: 29%; background: #f0e9d9; transform: rotate(17deg); box-shadow: 8px 13px 20px #75665320; }
.interlude__tape { position: absolute; width: 28%; height: 8%; left: 15%; bottom: 23%; background: #e7d69e; opacity: .8; transform: rotate(-24deg); }
.interlude__wood { position: absolute; width: 35%; height: 22%; top: 35%; right: 12%; background: #a7825e; transform: rotate(-14deg); box-shadow: 8px 10px 0 #68503d2b; }
.interlude__color { position: absolute; width: 6%; aspect-ratio: 1; transform: rotate(9deg); }
.interlude__color--one { left: 22%; top: 23%; background: #738678; }
.interlude__color--two { left: 39%; bottom: 17%; background: #b86548; }
.interlude__color--three { right: 19%; bottom: 16%; background: #76909a; }
.workshop { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, 1fr); align-items: center; gap: clamp(40px, 6vw, 85px); padding-bottom: 177px; }
.workshop__media { aspect-ratio: 1.05; background: #d0c4ac; }
.workshop__media::before { background: repeating-linear-gradient(93deg, transparent 0 75px, rgba(77, 59, 38, .045) 77px 78px, transparent 79px 140px), linear-gradient(130deg, #c9b99e, #e1d5bd); }
.workshop__sheet { position: absolute; inset: 12% 18% -13% 13%; background: #f2eddf; transform: rotate(-6deg); box-shadow: 9px 14px 25px #71583b20; }
.workshop__piece { position: absolute; width: 17%; aspect-ratio: 1; box-shadow: 4px 5px 0 #5c46372c; }
.workshop__piece--one { top: 22%; left: 22%; background: #b8583d; transform: rotate(-14deg); }
.workshop__piece--two { top: 32%; right: 22%; background: #788b84; transform: rotate(19deg); }
.workshop__piece--three { bottom: 19%; left: 39%; background: #d3ad56; transform: rotate(10deg); }
.workshop__strip { position: absolute; width: 45%; height: 4%; bottom: 29%; right: -4%; background: #998264; transform: rotate(-32deg); }
.workshop__copy { padding-top: 15px; }
.section-label { margin: 54px 0 16px; font-size: 13px; font-weight: 700; letter-spacing: .12em; }
.workshop h2 { margin: 0; font-family: var(--font-display); font-size: clamp(32px, 2.85vw, 41px); line-height: 1.62; font-weight: 500; letter-spacing: .015em; }
.workshop__description { max-width: 34ch; margin: 31px 0 29px; font-size: 16px; line-height: 2.05; }
.text-link { display: inline-flex; align-items: center; gap: 24px; min-height: 48px; border-bottom: 1px solid currentColor; color: var(--color-primary); font-size: 17px; font-weight: 700; text-decoration: none; transition: color var(--motion-fast), transform var(--motion-fast); }
.text-link:hover { color: var(--color-primary-hover); transform: translateY(-2px); }
.text-link span { font-size: 19px; font-weight: 400; }
.material-swatches { display: flex; gap: 7px; width: fit-content; margin-top: 74px; transform: rotate(-3deg); }
.material-swatches i { display: block; width: 26px; height: 25px; background: var(--color-craft-green); }
.material-swatches i:nth-child(2) { width: 23px; background: var(--color-soft-blue); }
.material-swatches i:nth-child(3) { width: 20px; background: var(--color-warm-yellow); }
.material-swatches i:nth-child(4) { width: 14px; background: #b7795f; }
.flow { padding: 105px 0 125px; background: var(--color-paper); }
.flow__steps { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0; margin: 95px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--color-line); }
.flow__steps li { position: relative; padding: 30px 30px 15px 0; }
.flow__steps li::before { position: absolute; content: ""; top: -4px; left: 0; width: 7px; height: 7px; background: var(--color-primary); transform: rotate(45deg); }
.flow__number { font-family: var(--font-display); font-size: clamp(57px, 5.9vw, 86px); line-height: 1; color: #a29278; }
.flow__steps p { max-width: 21ch; margin: 26px 0 0; font-size: clamp(17px, 1.45vw, 21px); font-weight: 700; line-height: 1.75; }
.flow__reassurance { width: fit-content; max-width: 100%; margin: 75px 0 0 auto; padding-top: 19px; border-top: 1px solid var(--color-line); color: var(--color-muted); font-size: 15px; line-height: 1.8; }
.schedule { scroll-margin-top: 24px; padding: 132px 0 155px; }
.schedule__inner { display: grid; grid-template-columns: minmax(240px, .8fr) minmax(0, 1.2fr); gap: 9%; }
.schedule__body { align-self: end; min-height: 145px; border-top: 1px solid var(--color-ink); border-bottom: 1px solid var(--color-line); }
.schedule__empty { margin: 0; padding: 44px 0; font-family: var(--font-display); font-size: clamp(20px, 2vw, 27px); line-height: 1.8; }
[hidden] { display: none !important; }
.schedule__list { margin: 0; padding: 0; list-style: none; }
.schedule__item { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 25px 0; border-bottom: 1px solid var(--color-line); }
.schedule__item:last-child { border-bottom: 0; }
.schedule__item strong { display: block; font-size: 21px; }
.schedule__item span, .schedule__item p { display: block; margin: 8px 0 0; color: var(--color-muted); font-size: 14px; line-height: 1.6; }
.final-cta { background: #e9e2d3; text-align: center; }
.final-cta__inner { display: flex; flex-direction: column; align-items: center; padding-top: 112px; padding-bottom: 126px; }
.final-cta__rule { width: 57px; height: 2px; background: var(--color-primary); transform: rotate(-7deg); }
.final-cta h2 { margin: 41px 0 19px; font-family: var(--font-display); font-size: clamp(33px, 3.7vw, 55px); line-height: 1.65; font-weight: 500; }
.final-cta p { margin: 0 0 37px; color: var(--color-muted); font-size: 14px; line-height: 1.8; }
.site-footer { background: var(--color-ink); color: var(--color-paper); }
.site-footer__inner { display: flex; justify-content: space-between; align-items: end; gap: 40px; padding-top: 58px; padding-bottom: 54px; }
.site-footer__name { margin: 0 0 10px !important; font-family: var(--font-display); font-size: 19px !important; color: var(--color-paper) !important; }
.site-footer p { margin: 0; color: #d7d3c9; font-size: 13px; line-height: 1.8; }
.site-footer__fiction { max-width: 33ch; }

@media (prefers-reduced-motion: no-preference) {
  .hero h1 { animation: quiet-enter 800ms var(--ease-enter) 80ms both; }
  .hero__visual { animation: quiet-enter 750ms var(--ease-enter) both; }
  .section-lead.is-visible, .workshop__copy.is-visible, .flow__heading.is-visible, .schedule__heading.is-visible { animation: quiet-enter var(--motion-emphasis) var(--ease-enter) both; }
  @keyframes quiet-enter { from { opacity: .8; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
}

@media (max-width: 900px) {
  .hero__content { grid-template-columns: 1fr; gap: 35px; padding-bottom: 110px; }
  .hero__description { max-width: 48ch; }
  .audience__voice { max-width: 92%; }
  .workshop { display: flex; flex-direction: column; align-items: stretch; gap: 45px; }
  .workshop__media { width: min(100%, 620px); aspect-ratio: 1.18; }
  .workshop h2 { font-size: clamp(32px, 5vw, 40px); }
  .material-swatches { margin-top: 40px; }
}

@media (max-width: 700px) {
  .site-header__inner { min-height: 62px; }
  .site-logo { font-size: 15px; }
  .header-link { gap: 5px; font-size: 12px; }
  .hero { padding-top: 26px; }
  .hero__intro { margin-bottom: 0; }
  .hero__locale { display: none; }
  .hero__layout { display: flex; flex-direction: column; }
  .hero__content { order: 1; display: block; padding-top: 36px; padding-bottom: 41px; }
  .hero__visual { order: 2; width: calc(100% - 24px); height: 260px; }
  .hero h1 { font-size: clamp(27px, 8.5vw, 42px); line-height: 1.52; }
  .eyebrow { margin-bottom: 14px; font-size: 12px; }
  .hero__details { padding: 0; }
  .hero__description { margin: 22px 0 24px; font-size: 16px; line-height: 1.9; }
  .desktop-break { display: none; }
  .button { width: min(100%, 330px); min-height: 56px; gap: 14px; padding-inline: 18px; }
  .hero__note { margin-top: 13px; font-size: 11px; }
  .scene-caption { right: 12px; bottom: 12px; font-size: 8px; }
  .audience { padding-top: 109px; padding-bottom: 112px; }
  .section-lead h2, .flow h2, .schedule h2 { font-size: 38px; }
  .audience__voices { margin-top: 40px; }
  .audience__voice { max-width: 100%; margin-left: 0; padding: 20px 0; font-size: clamp(20px, 5.6vw, 27px); line-height: 1.7; }
  .audience__thought { gap: 15px; margin-top: 78px; }
  .audience__thought p { font-size: clamp(21px, 5.7vw, 28px); line-height: 1.85; }
  .tiny-piece { flex-basis: 22px; height: 8px; margin-top: 17px; }
  .interlude { margin-bottom: 105px; }
  .interlude__scene { height: 300px; }
  .workshop { padding-bottom: 118px; }
  .workshop__media { width: min(100%, 550px); }
  .workshop__copy { padding-top: 0; }
  .section-label { margin-top: 37px; }
  .workshop h2 { font-size: clamp(31px, 7.8vw, 40px); }
  .workshop__description { margin-top: 22px; }
  .material-swatches { margin-top: 35px; }
  .flow { padding: 88px 0 95px; }
  .flow__steps { display: block; margin-top: 47px; border-top: 0; border-left: 1px solid var(--color-line); }
  .flow__steps li { display: flex; align-items: baseline; gap: 25px; min-height: 132px; padding: 0 0 33px 29px; }
  .flow__steps li::before { top: 11px; left: -4px; }
  .flow__number { flex: 0 0 60px; font-size: 53px; }
  .flow__steps p { margin: 0; padding-top: 7px; font-size: 17px; }
  .flow__reassurance { margin-top: 36px; font-size: 14px; }
  .schedule { padding: 99px 0 106px; }
  .schedule__inner { display: block; }
  .schedule__body { margin-top: 40px; min-height: 115px; }
  .schedule__empty { padding: 31px 0; font-size: 21px; }
  .final-cta__inner { padding-top: 92px; padding-bottom: 98px; }
  .final-cta h2 { font-size: clamp(29px, 7.5vw, 40px); }
  .site-footer__inner { display: block; padding-top: 47px; padding-bottom: 48px; }
  .site-footer__fiction { max-width: none; margin-top: 30px !important; }
}

@media (max-width: 360px) {
  :root { --page-gutter: 20px; }
  .site-header__inner { padding-inline: 16px; }
  .site-logo { font-size: 14px; }
  .hero h1 { font-size: 27px; }
  .hero__visual { height: 230px; }
  .flow__steps li { gap: 13px; padding-left: 22px; }
  .flow__number { flex-basis: 54px; font-size: 48px; }
  .flow__steps p { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
/* Review v1: a cheerful booklet, vermilion / yellow / heavy sans. */
:root{--color-canvas:#f5f2e9;--color-paper:#fffcf5;--color-ink:#292b29;--color-primary:#ae3c28;--color-primary-hover:#8e2d1d;--color-warm-yellow:#efd374;--font-display:"Hiragino Sans","Yu Gothic",sans-serif}
figure{margin:0}img{display:block;width:100%;height:100%;object-fit:cover}
h1,h2,.site-logo,.audience__voice{font-weight:800!important;letter-spacing:-.035em!important}
.hero__visual{width:min(calc(100% - 100px),1380px);height:clamp(300px,30vw,420px);margin-right:0;position:relative;overflow:hidden}
.craft-photo{background:#e5d8be;position:relative;overflow:hidden}
.craft-photo img{object-position:center 50%}
.craft-photo figcaption{position:absolute;right:14px;bottom:12px;color:#34312b;background:#fffaf2e8;padding:6px 10px;font-size:10px;line-height:1.8;max-width:calc(100% - 28px)}
.hero__content{padding-top:43px;padding-bottom:100px;grid-template-columns:minmax(0,1.35fr) minmax(320px,.8fr);gap:5%}
.hero h1{font-size:clamp(38px,4vw,60px);line-height:1.5}
.hero__headline{position:relative}
.hero__headline::before{content:'';position:absolute;width:66px;height:14px;background:var(--color-warm-yellow);top:-26px;left:-12px;transform:rotate(-8deg)}
.hero__details .button{font-size:15px}
.audience__thought p{font-weight:700}.audience__voice{font-size:clamp(21px,2.2vw,32px)}
.interlude__scene{width:80%;margin-left:0;height:clamp(280px,34vw,480px)}
.interlude__scene img{object-position:50% 58%}
.workshop__media{aspect-ratio:1;height:auto}.workshop__media img{aspect-ratio:1}
.workshop__description{max-width:none}
.flow__number{font-weight:800;color:var(--color-primary)}
.final-cta{background:#f5e5b2}
.section-lead h2,.flow h2,.schedule h2{font-weight:800}
.schedule__empty{font-family:var(--font-body);font-weight:700;font-size:23px;padding-bottom:20px}
.schedule-demo-note{font-size:13px;line-height:1.9;color:var(--color-muted);margin:0 0 24px}
.application-demo{margin-bottom:28px;border-top:1px solid var(--color-line);padding-top:18px;font-size:14px;line-height:1.9}
.application-demo summary{cursor:pointer;min-height:44px;font-weight:700}
.application-demo label{display:block;margin:18px 0 9px}
.application-demo select{font:inherit;width:100%;min-height:50px;padding:10px;background:#fff;color:var(--color-ink);border:1px solid var(--color-line)}
.demo-button{font:inherit;width:100%;min-height:50px;padding:12px 15px;margin-top:15px;color:#fff;background:var(--color-primary);border:0;cursor:pointer}
.demo-button:hover{background:var(--color-primary-hover)}
button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--color-primary);outline-offset:5px}
.review-link{font-size:12px;min-height:44px;display:inline-flex;align-items:center;line-height:1.8}
.site-footer__inner{flex-wrap:wrap}
.hero h1,.hero__visual,.section-lead.is-visible,.workshop__copy.is-visible,.flow__heading.is-visible,.schedule__heading.is-visible{animation:none}
@media(max-width:900px){.hero__content{grid-template-columns:1fr}.hero__visual{width:calc(100% - 48px)}.interlude__scene{width:90%}}
@media(max-width:700px){.hero__visual{width:calc(100% - 24px);height:270px}.hero__content{padding-top:36px;padding-bottom:38px}.hero h1{font-size:clamp(26px,7.5vw,40px)}.hero__description{font-size:15px}.hero__headline::before{width:45px;height:10px;top:-17px;left:0}.craft-photo figcaption{font-size:8px}.interlude__scene{width:92%;height:300px}.site-header__inner{gap:12px}.site-logo{font-size:14px}.header-link{font-size:11px}.audience__thought p{font-size:23px}.schedule__empty{font-size:20px}.site-footer__fiction{margin-top:20px!important}.flow__steps p{font-size:16px}.button{font-size:15px}}

.mobile-action{display:none}
@media(max-width:700px){body{padding-bottom:88px}.mobile-action{display:block;position:fixed;bottom:0;left:0;right:0;z-index:30;padding:10px 18px max(10px,env(safe-area-inset-bottom));background:#fffffff2;border-top:1px solid #ddd}.mobile-action a{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:12px 18px;color:white;background:#ae3c28;text-decoration:none;font-size:17px;font-weight:700;line-height:1.5}.mobile-action a:focus-visible{outline:3px solid #212121;outline-offset:3px}}

.button{font-size:17px}

.hero__details .button{font-size:17px}.hero__description,.application-demo{font-size:16px}
@media(max-width:700px){.hero__description{font-size:16px}.button{font-size:17px}}

.flow__reassurance,.schedule-demo-note,.final-cta p{font-size:16px}

/* 2026-10-07: clarify the event and shorten the route to date selection. */
.mobile-break{display:none}
.tsukuru-fv .fv-subcopy{margin:20px 0 0;font-size:clamp(17px,1.5vw,22px);font-weight:700;line-height:1.8}
.tsukuru-fv .fv-note{font-size:12px}
.audience{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:8%;align-items:start;padding-bottom:64px}
.audience .section-lead h2{font-size:clamp(28px,2.5vw,38px)}
.audience__description p{margin:0 0 18px;font-size:17px;line-height:1.9;max-width:38ch}
.audience__description p:last-child{margin-bottom:0}
.interlude{margin-bottom:64px}
.interlude__scene{height:clamp(240px,26vw,360px)}
.workshop{padding-bottom:72px}
.workshop .section-label{margin:18px 0 12px}
.workshop__description{margin:22px 0 24px;line-height:1.9}
.material-swatches{margin-top:28px}
.flow{padding:64px 0 44px}
.flow__steps{margin-top:48px}
.flow__reassurance{margin-top:24px}
.schedule{padding:44px 0 56px}
.schedule__inner{display:block}
.schedule h2{margin-top:12px}
.schedule__intro{margin:12px 0 0;font-size:16px;line-height:1.8}
.schedule__body{margin-top:18px;min-height:0;border:0}
.schedule__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.schedule-status{margin:0 0 12px;padding:8px 12px;border:0;font-size:14px;line-height:1.7;background:#fff8e2}
/* AMIX Web BENTO "立体プッシュ": https://amix-design.com/tl/web-bento/parts/button.html */
.schedule-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;height:100%;min-height:140px;padding:18px 24px;border:0;border-radius:14px;background:var(--color-warm-yellow);box-shadow:0 6px 0 #b29342;color:var(--color-ink);text-align:left;font:inherit;cursor:pointer;transform:translateY(0);transition:transform .1s,box-shadow .1s,background .1s}
.schedule-card:hover:not(:disabled){background:#f5dc88}
.schedule-card[aria-pressed="true"],.schedule-card:active:not(:disabled){background:#e8c45d;transform:translateY(6px);box-shadow:0 0 0}
.schedule-card:focus-visible{outline:3px solid var(--color-primary);outline-offset:5px}
.schedule-card:disabled{opacity:.6;cursor:default}
.schedule-card__date{font-size:24px;font-weight:800;line-height:1.3}
.schedule-card__time{font-size:18px;font-weight:700}
.schedule-card__action{display:block;margin-top:6px;color:var(--color-primary-hover);font-size:17px;font-weight:700;line-height:1.5;text-decoration:underline;text-underline-offset:4px}
.schedule-card__note{font-size:14px;line-height:1.7}
.application-panel{margin-top:28px;padding:24px;border:1px solid #bcb2a0;border-radius:14px;background:var(--color-paper);scroll-margin-top:24px}
.application-panel h3{margin:0;font-size:23px;line-height:1.5}
.application-date{font-weight:700;font-size:18px;line-height:1.7;margin:16px 0 10px}
.application-note{font-size:14px;line-height:1.8;color:var(--color-muted)}
.application-panel form{max-width:480px}
.application-panel label{display:block;margin:20px 0 8px;font-weight:700}
.application-panel select{font:inherit;width:100%;min-height:48px;padding:10px;border:1px solid #bcb2a0;border-radius:6px;background:white;color:var(--color-ink)}
.application-panel .demo-button{border-radius:8px;max-width:480px}
.application-change{display:block;min-height:44px;margin-top:18px;border:0;background:none;padding:6px 0;color:var(--color-primary);font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.final-cta__inner{padding-top:56px;padding-bottom:32px}
.final-cta h2{margin:0 0 26px;font-size:clamp(27px,2.7vw,40px);line-height:1.6}
@media(max-width:900px){
.audience{grid-template-columns:1fr;gap:24px}
.workshop{gap:28px}
.workshop__media,.workshop__media img{aspect-ratio:1.5}
}
@media(max-width:700px){
.mobile-break{display:block}
.tsukuru-fv .fv-copy{padding-top:26px;padding-bottom:24px}
.tsukuru-fv .fv-subcopy{font-size:16px;margin-top:14px}
.audience{gap:20px;padding-bottom:36px}
.audience .section-lead h2{margin-top:12px;font-size:28px}
.audience__description p{font-size:16px;line-height:1.8;margin-bottom:14px}
.interlude{margin-bottom:36px}
.interlude__scene{height:220px}
.workshop{padding-bottom:44px;gap:24px}
.workshop__media,.workshop__media img{aspect-ratio:1.45}
.workshop h2{font-size:30px}
.workshop .section-label{margin:12px 0}
.workshop__description{margin:18px 0 22px}
.material-swatches{margin-top:22px}
.flow{padding:44px 0 28px}
.flow h2,.schedule h2{font-size:32px}
.flow__steps{margin-top:30px}
.flow__steps li{min-height:108px;padding-bottom:24px;gap:18px;padding-left:22px}
.flow__number{flex-basis:52px;font-size:48px}
.flow__steps p{font-size:16px;line-height:1.75}
.flow__reassurance{font-size:14px;line-height:1.8;margin-top:18px}
.schedule{padding:32px 0 44px}
.schedule__body{margin-top:16px}
.schedule__list{grid-template-columns:1fr;gap:14px}
.schedule-card{display:grid;grid-template-columns:1fr auto;gap:6px 12px;min-height:100px;padding:16px 20px}
.schedule-card__date{font-size:22px}
.schedule-card__time{font-size:18px}
.schedule-card__action,.schedule-card__note{grid-column:1/-1;margin-top:4px}
.application-panel{padding:18px;margin-top:20px}
.application-panel h3{font-size:21px}
.application-date{font-size:16px}
.final-cta__inner{padding-top:36px;padding-bottom:24px}
.final-cta h2{font-size:26px;margin:0 0 24px}
.site-footer__inner{padding-top:32px;padding-bottom:32px}
}

.narrow-break{display:none}
@media(max-width:350px){.narrow-break{display:block}}

.keep-phrase{white-space:nowrap}
@media(prefers-reduced-motion:reduce){.schedule-card{transition:none}}
