:root{--paper:#f7f6ef;--ink:#2d3c30;--muted:#61695d;--green:#466346;--line:#dbdfd2;--white:#fffef9;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN","Meiryo",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img,svg{max-width:100%}img{vertical-align:middle}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.55}a:focus-visible{outline:3px solid #9b5c33;outline-offset:5px;border-radius:5px}.wrap{width:min(1160px,calc(100% - 96px));margin-inline:auto}.skip-link{position:absolute;left:18px;top:-80px;z-index:20;background:var(--white);padding:10px 18px}.skip-link:focus{top:12px}.prototype-note{padding:7px 20px;text-align:center;color:#5e6659;background:#e9ecdf;font-size:11px;letter-spacing:.08em}.prototype-note span{margin-inline:9px;color:#8a927f}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:26px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;font-size:21px;font-weight:700;letter-spacing:.06em}.brand small{font-size:13px;font-weight:500;margin-left:4px;letter-spacing:.03em}.site-header nav{display:flex;gap:30px;font-size:13px;font-weight:600}.site-header nav a{padding-block:8px;border-bottom:1px solid transparent}.site-header nav a:hover{border-color:var(--green)}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:600;color:var(--green)}.hero{display:grid;grid-template-columns:1.14fr 1fr;gap:16px;align-items:center;padding-top:74px;padding-bottom:68px}.tiny-seed{display:inline-block;width:7px;height:12px;border-radius:8px 0 8px 0;background:#8ca66e;transform:rotate(22deg);margin-right:5px}.hero h1{font-family:var(--serif);font-size:clamp(32px,4.1vw,52px);font-weight:600;letter-spacing:.015em;line-height:1.65;margin:20px 0}.hero h1 span{display:block}.hero-description{font-size:15px;font-weight:600}.hero-subcopy{color:var(--muted);font-size:14px;margin-top:16px;line-height:2.05}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;padding:14px 24px;border-radius:999px;font-size:13px;font-weight:600;line-height:1.6;min-height:48px;transition:background .18s,transform .18s}.button-primary{background:var(--green);color:#fff}.button-primary:hover{background:#354e35;transform:translateY(-2px)}.hero .button{margin-top:29px}.garden{position:relative;align-self:center;max-width:490px}.garden svg{display:block;width:100%;height:auto;font-family:var(--sans)}.garden-caption{text-align:center;font-family:var(--serif);color:#69745c;font-size:13px;letter-spacing:.07em;margin-top:-14px}.section-space{padding-block:64px}.section-heading{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:30px}.section-heading h2{font-family:var(--serif);font-size:29px;font-weight:600;letter-spacing:.02em;margin-top:10px}.section-heading>p{font-size:13px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-card{border:1px solid var(--line);border-radius:19px;padding:24px;display:flex;flex-direction:column;min-width:0;background:var(--white);position:relative}.card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.card-category{font-size:11px;letter-spacing:.04em;font-weight:600;color:#69735e}.card-category span{margin-left:8px}.status{display:inline-flex;align-items:center;white-space:nowrap;border:1px solid #d8d5c3;background:#f3f0e5;border-radius:999px;padding:3px 9px;font-size:10px;font-weight:600;color:#716541;line-height:1.7}.status-ready{color:#456137;background:#edf3e5;border-color:#d3dfc6}.card-art{height:184px;display:grid;place-items:center;position:relative;border-radius:13px;margin-top:19px;margin-bottom:23px;overflow:hidden}.art-tools{background:#edf1e3}.art-web{background:#f0ebdd}.art-list{background:#f4e8de}.tool-window{display:block;position:relative;background:#fffef8;padding:12px 17px 14px;width:200px;min-height:119px;border:1px solid #cad3bf;border-radius:9px;transform:rotate(-5deg);box-shadow:5px 7px 0 #dce4ce;z-index:1}.tool-window>i{display:inline-block;width:5px;height:5px;background:#b9c4a9;border-radius:50%;margin-right:3px;vertical-align:top}.tool-window b{display:block;font-size:10px;margin:1px 0 9px;font-weight:600}.mini-check{display:block;background:#f0f3e8;color:#4f6945;border-radius:4px;margin:5px 0;padding:2px 8px;font-size:10px}.art-leaf{position:absolute;width:40px;height:68px;background:#a9bd8c;border-radius:40px 0 40px 0;right:18px;bottom:15px;transform:rotate(18deg)}.web-window{display:block;width:190px;height:128px;border:1px solid #d7ccb3;border-radius:8px;background:#fffefa;padding:7px 12px 12px;transform:rotate(4deg);z-index:1;box-shadow:5px 7px 0 #e4dbc7}.window-dots{font-size:7px;display:block;color:#c9bea4;letter-spacing:2px}.web-picture{height:55px;margin:5px 0 12px;border-radius:4px;background:#e3e5ce;position:relative;display:block;overflow:hidden}.web-picture:before,.web-picture:after{content:"";position:absolute;background:#bac99e;width:90px;height:80px;transform:rotate(45deg);left:5px;top:21px;border-radius:10px}.web-picture:after{background:#c9d4b6;width:100px;height:100px;left:76px;top:26px}.web-picture>span{position:absolute;width:15px;height:15px;border-radius:50%;background:#f6eac0;right:25px;top:9px}.web-line{height:4px;width:85%;background:#d8d8ca;display:block;margin:6px 0;border-radius:4px}.web-line.short{width:55%}.art-sun{position:absolute;background:#d5b777;width:53px;height:53px;border-radius:50%;right:24px;top:22px;opacity:.65}.list-paper{display:block;width:173px;padding:17px 17px 12px;background:#fffdf6;border:1px solid #dfcdb9;box-shadow:-6px 5px 0 #e6d8c6;transform:rotate(-4deg);border-radius:4px;z-index:1}.paper-label{font-family:var(--serif);font-size:10px;display:block;color:#7b624e;margin-bottom:13px}.paper-row{display:flex;align-items:center;gap:10px;margin-block:12px}.paper-row i{display:block;width:10px;height:10px;border:1px solid #b9c29f;border-radius:2px;background:#e9eddc}.paper-row b{display:block;background:#dfd6c8;width:99px;height:4px;border-radius:3px}.list-pencil{position:absolute;width:9px;height:100px;border-radius:2px;background:#bb8b5a;right:26px;bottom:20px;transform:rotate(27deg)}.list-pencil:after{content:"";position:absolute;bottom:-12px;border-top:13px solid #967b58;border-left:4px solid transparent;border-right:5px solid transparent}.service-card h3{font-size:22px;letter-spacing:.025em;margin-bottom:12px}.card-description{font-size:14px;line-height:1.9;font-weight:600;min-height:54px}.card-detail{font-size:12px;line-height:1.95;color:var(--muted);margin-top:13px}.small-note{font-size:11px;line-height:1.9;color:var(--muted);margin-top:12px}.card-link{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:23px;font-size:13px;font-weight:600;color:var(--green)}.card-link:hover{text-decoration:underline;text-underline-offset:5px}.about-section{background:#eceedf;margin-top:28px;padding-block:75px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-grid h2{font-family:var(--serif);font-size:36px;font-weight:600;line-height:1.75;margin-top:20px}.about-copy p{font-size:14px;line-height:2.15;margin-bottom:22px}.text-link{display:inline-block;font-size:13px;font-weight:600;color:var(--green);padding-block:7px;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#a5b39a}.site-footer{padding-block:35px 29px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.site-footer .brand{font-size:17px}.site-footer>p{font-size:11px;color:var(--muted);margin-left:auto}.site-footer>small{width:100%;font-size:10px;color:var(--muted);padding-top:15px;border-top:1px solid var(--line)}
/* 植物の枝・葉は元SVG、事業カードは同座標のHTMLで操作可能にする。 */
.garden-stage{position:relative}.garden-node{position:absolute;z-index:1}.garden-node--workkit{left:34.2%;top:6.5217%;width:35%;height:24.3478%;--card-tilt:-3deg;--garden-card-bg:#e0ead6;--garden-card-ink:#304b35}.garden-node--hp{left:9.2%;top:37.8261%;width:33.6%;height:22.1739%;--card-tilt:-8deg;--garden-card-bg:#efe8d4;--garden-card-ink:#6d5c36}.garden-node--list{left:58.6%;top:25.4348%;width:33%;height:23.6957%;--card-tilt:9deg;--garden-card-bg:#f0ded3;--garden-card-ink:#815640}.garden-card{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:0;border-radius:25px;background:var(--garden-card-bg);color:var(--garden-card-ink);font-family:var(--sans);padding:8px 4px;cursor:pointer;transform:rotate(var(--card-tilt));transition:transform .25s ease,box-shadow .25s ease;-webkit-tap-highlight-color:transparent}.garden-label{font-size:clamp(12px,1.5vw,19px);font-weight:700;line-height:1.5;white-space:nowrap}.garden-node--workkit .garden-label{font-size:clamp(13px,1.65vw,22px)}.garden-subtitle{font-size:clamp(9px,.95vw,12px);line-height:1.6}.garden-check{width:22px;height:22px;display:grid;place-items:center;background:#53724e;color:#fff;border-radius:50%;font-size:14px;line-height:1}.garden-node.is-open{z-index:5}.garden-node.is-open .garden-card{transform:rotate(var(--card-tilt)) scale(1.055);box-shadow:0 7px 18px #3f573418}.garden-card:focus-visible{outline:3px solid #8e5b32;outline-offset:5px}.garden-popover{position:absolute;left:50%;top:calc(100% + 12px);width:270px;max-width:calc(100vw - 64px);padding:18px 20px 13px;border:1px solid #d6ddc9;border-radius:16px;background:#fffef9;box-shadow:0 12px 30px #384b3020;color:var(--ink);font-size:13px;line-height:1.9;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,7px);transition:opacity .25s ease,transform .25s ease,visibility .25s}.garden-popover:before{content:"";position:absolute;left:0;right:0;top:-22px;height:22px}.garden-node--hp .garden-popover{left:0;transform:translateY(7px)}.garden-node--list .garden-popover{left:auto;right:0;transform:translateY(7px)}.garden-node.is-open .garden-popover{visibility:visible;opacity:1;pointer-events:auto;transform:translate(-50%,0)}.garden-node--hp.is-open .garden-popover,.garden-node--list.is-open .garden-popover{transform:translateY(0)}.garden-details{display:flex;align-items:center;justify-content:space-between;min-height:44px;margin-top:9px;border-top:1px solid var(--line);padding-top:7px;color:var(--green);font-size:13px;font-weight:700}.garden-details:hover{text-decoration:underline;text-underline-offset:4px}.service-card[id]{scroll-margin-top:0}.service-card[id]:focus-visible{outline:3px solid #8e5b32;outline-offset:5px}
.garden-node--workkit .garden-popover{top:250%}.garden-node--list .garden-popover{top:160%}.garden:has(.garden-node.is-open) .garden-caption{visibility:hidden}
@media(max-width:780px){.garden-label{font-size:16px}.garden-node--workkit .garden-label{font-size:18px}.garden-subtitle{font-size:10px}.garden-card{border-radius:20px}.garden-popover{width:260px}}
@media(max-width:420px){.garden-label{font-size:13px}.garden-node--workkit .garden-label{font-size:15px}.garden-check{width:18px;height:18px;font-size:12px}.garden-subtitle{font-size:9px}.garden-card{gap:4px;border-radius:18px}.garden-popover{font-size:12px;padding:15px 17px 10px}}
/* 独立した紹介ページ。追加セクションは既存クラスを使って拡張できる。 */
.breadcrumbs{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted);padding-top:25px;flex-wrap:wrap}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.sub-hero{padding:49px 0 54px;display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:45px}.title-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-block:12px 20px}.title-row h1{font-family:var(--serif);font-size:42px;font-weight:600;letter-spacing:.025em}.sub-tagline{font-size:24px;font-family:var(--serif);line-height:1.9;margin-bottom:19px}.sub-description{font-size:13px;line-height:2.1;color:var(--muted)}.sub-art{height:285px;margin:0;border-radius:28px}.sub-art .web-window{transform:rotate(4deg) scale(1.35)}.sub-art .art-sun{width:77px;height:77px;right:35px;top:35px}.sub-art .list-paper{transform:rotate(-4deg) scale(1.35)}.sub-art .list-pencil{right:38px;bottom:38px;height:140px;width:12px}.preparing-note{display:flex;gap:20px;align-items:center;background:#eeeee4;border:1px solid #dce0d0;border-radius:16px;padding:24px 30px}.note-mark{width:46px;height:46px;flex:none;display:grid;place-items:center;border:1px solid #c5d0b8;background:#e4ead9;border-radius:50%;font-family:var(--serif);font-size:19px;color:#647b52}.preparing-note h2{font-size:16px;margin-bottom:6px}.preparing-note p{font-size:12px;line-height:1.95;color:var(--muted)}.sub-section{padding-block:67px}.sub-section h2,.reference-box h2,.next-seed h2{font-family:var(--serif);font-size:28px;font-weight:600;margin-top:12px}.section-intro{font-size:12px;color:var(--muted);margin-top:12px}.idea-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:34px}.idea-grid article{border-top:1px solid #cbd2bf;padding-top:20px}.idea-number{font-family:var(--serif);font-size:21px;color:#788968}.idea-grid h3{font-size:16px;margin:11px 0}.idea-grid p{font-size:13px;color:var(--muted);line-height:2}.next-seed{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:32px;background:#e9eddf;border-radius:17px}.next-seed p:not(.eyebrow){font-size:12px;color:var(--muted);margin-top:13px}.next-seed .button{flex:none}.page-return{display:flex;justify-content:space-between;gap:20px;padding:42px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.reference-box{background:#f1ece0;border:1px solid #e0d7c5;border-radius:18px;padding:32px}.reference-box>p:not(.eyebrow){margin-top:15px;font-size:13px;max-width:740px}.reference-box .small-note{font-size:11px!important}.reference-box .text-link{margin-top:13px}
@media(min-width:1450px){.hero{gap:60px}}
@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.hero{padding-top:48px}.hero-description{font-size:13px}.service-card{padding:18px}.card-category span{margin-left:3px}.card-art{height:165px}.art-leaf{right:7px}.list-pencil{right:15px}.section-heading h2{font-size:26px}.sub-hero{gap:28px}.title-row h1{font-size:36px}.sub-art{height:260px}.sub-art .web-window,.sub-art .list-paper{transform:rotate(-3deg) scale(1.1)}}
@media(max-width:780px){.hero{grid-template-columns:1fr;gap:25px;padding-top:43px;padding-bottom:34px}.hero h1{font-size:clamp(31px,6.4vw,47px);line-height:1.65}.hero-description{font-size:14px}.garden{width:min(430px,100%);justify-self:center;margin-top:-9px}.garden-caption{font-size:12px}.section-space{padding-block:45px}.section-heading{display:block;margin-bottom:25px}.section-heading>p{margin-top:15px}.service-grid{grid-template-columns:1fr;gap:23px}.service-card{padding:24px}.card-art{height:195px}.card-category span{margin-left:8px}.card-description{min-height:0}.card-link{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.card-art .tool-window{transform:rotate(-4deg) scale(1.08)}.art-leaf{right:calc(50% - 133px);bottom:17px}.art-sun{right:calc(50% - 132px);top:22px}.list-pencil{right:calc(50% - 111px)}.about-grid{grid-template-columns:1fr;gap:28px}.about-grid h2{font-size:31px}.about-section{padding-block:45px}.site-footer{gap:14px}.site-footer>p{margin-left:0}.sub-hero{grid-template-columns:1fr;gap:30px;padding-block:35px 38px}.sub-art{height:240px;width:100%;max-width:500px;justify-self:center}.sub-art .art-sun{right:calc(50% - 140px)}.sub-art .list-pencil{right:calc(50% - 123px)}.idea-grid{grid-template-columns:1fr;gap:25px}.sub-section{padding-block:42px}.next-seed{flex-direction:column;align-items:start;padding:25px}.next-seed h2,.reference-box h2{font-size:24px}.preparing-note{padding:21px;align-items:start;gap:13px}.reference-box{padding:25px}.title-row h1{font-size:36px}.sub-tagline{font-size:24px}.desktop-break{display:none}}
@media(max-width:420px){.wrap{width:calc(100% - 36px)}.site-header{gap:14px;flex-wrap:wrap;padding-block:20px}.brand{font-size:19px}.site-header nav{width:100%;gap:25px;font-size:12px}.hero{padding-top:34px}.hero h1{font-size:30px;letter-spacing:0}.hero-description{font-size:13px}.eyebrow{font-size:11px;letter-spacing:.08em}.section-heading h2{font-size:23px}.service-card{padding:21px}.title-row h1{font-size:29px}.sub-tagline{font-size:22px}.note-mark{display:none}.sub-section h2{font-size:25px}.page-return{padding-block:29px;gap:12px}.prototype-note{font-size:10px}.site-footer>p{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.button-primary:hover{transform:none}}

/* 親サイトの事業紹介だけを縦3段・横長カードにする。 */
.services .service-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 28px;
}
.services .service-card {
  display: grid;
  grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr);
  grid-template-rows: auto auto auto 1fr auto auto;
  column-gap: 40px;
  min-height: 328px;
  padding: 30px;
}
.services .service-card > :not(.card-art) { grid-column: 2; }
.services .service-card > .card-art {
  grid-column: 1;
  grid-row: 1 / span 6;
  align-self: stretch;
  height: 100%;
  min-height: 250px;
  margin: 0;
}
.services .card-top { grid-row: 1; margin-bottom: 15px; }
.services .service-card h3 { grid-row: 2; margin-bottom: 10px; }
.services .card-description { grid-row: 3; min-height: 0; }
.services .card-detail { grid-row: 4; margin-top: 12px; }
.services .small-note { grid-row: 5; margin-top: 10px; }
.services .card-link {
  grid-row: 6;
  align-self: end;
  margin-top: 14px;
  padding-top: 13px;
  border-top: 1px solid var(--line);
}
@media (min-width: 781px) and (max-width: 1050px) {
  .services .service-card {
    grid-template-columns: minmax(220px, .85fr) minmax(0, 1.15fr);
    column-gap: 28px;
    padding: 24px;
  }
}
@media (max-width: 780px) {
  .services .service-grid { gap: 24px; }
  .services .service-card {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 24px;
  }
  .services .card-top { margin-bottom: 0; }
  .services .service-card > .card-art {
    align-self: auto;
    width: 100%;
    height: 195px;
    min-height: 195px;
    margin: 19px 0 23px;
  }
  .services .card-link { align-self: stretch; margin-top: 18px; padding-top: 16px; }
}
@media (max-width: 420px) {
  .services .service-card { padding: 21px; }
}

/* V001 V-01：正式原稿の狭幅見出しだけを調整する。 */
@media (max-width: 360px) {
  .hp-page .sub-tagline { font-size: 20px; }
}
