:root{--white:#fff;--navy:#17242f;--gold:#a5854e;--orange:#e0762a;--line:#dfe3e5;--soft:#f3f5f6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--navy);background:var(--white);font-family:'Manrope','Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:6px}header{height:100px;margin:0 4.5%;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{font-size:30px;font-weight:800;letter-spacing:-1.3px;display:flex;align-items:center;gap:9px}.logo-dot{color:var(--gold);margin-left:-9px}.mark{font-size:35px;position:relative;line-height:1}.mark b{position:absolute;color:var(--gold);font-size:24px;right:-7px;top:-5px}nav{display:flex;gap:32px;font-size:14px;font-weight:600}.contact-link{font-size:14px;background:var(--navy);color:var(--white);padding:15px 21px;border-radius:40px}.contact-link span{margin-left:23px}.hero{min-height:700px;height:calc(100svh - 100px);max-height:960px;position:relative;padding:54px 6% 0;overflow:hidden}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;display:flex;align-items:center;gap:14px}.mini-plus{font-size:22px;color:var(--gold)}.hero-copy{position:relative;z-index:2;pointer-events:none;margin-top:65px;width:65%}.hero-copy a{pointer-events:auto}h1{font-size:clamp(44px,5.2vw,80px);line-height:1.5;letter-spacing:-.05em;margin:0;font-weight:800}h1 span{position:relative}h1 span:after{content:'';position:absolute;right:-30px;bottom:18px;width:12px;height:12px;background:var(--orange);border-radius:50%}.hero-copy p{font-size:16px;line-height:2.2;margin:27px 0 30px}.text-link{display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid var(--navy);padding:12px 0;font-size:14px;font-weight:600}.text-link span{font-size:23px;transition:transform .2s}.text-link:hover span{transform:translate(3px,3px)}.playground{position:absolute;right:-5%;top:0;width:64%;height:90%;touch-action:pan-y}canvas{width:100%;height:100%;display:block;cursor:grab}canvas:active{cursor:grabbing}.orbit-label{position:absolute;letter-spacing:3px;font-size:12px;pointer-events:none}.label-one{left:27%;top:19%;transform:rotate(-12deg)}.label-two{right:13%;top:35%;transform:rotate(12deg)}.label-three{right:27%;bottom:20%;transform:rotate(-8deg)}.play-button{position:absolute;bottom:9%;left:43%;border:0;background:transparent;white-space:nowrap;display:flex;align-items:center;gap:10px;font-size:25px}.play-button span{font-size:12.5px}.motion{position:absolute;right:17%;bottom:1%;font-size:12px;border:0;background:transparent;color:#57636d}.hero-bottom{position:absolute;bottom:30px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.5px}.hero-bottom span:last-child{font-size:12px;letter-spacing:2px}.fallback{display:none}.no-webgl .fallback{display:flex;position:absolute;inset:10%;align-items:center;justify-content:center;font-size:220px}.fallback b{color:var(--gold);font-size:120px}.ticker{overflow:hidden;background:var(--navy);color:white;padding:19px 0;white-space:nowrap;font-size:22px;font-weight:500;letter-spacing:3px}.ticker span{display:block;word-spacing:28px}.ticker b{color:var(--gold);font-weight:400}.section{padding:110px 8%}.section-top{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:60px;gap:30px}h2{font-size:clamp(32px,3.5vw,52px);line-height:1.6;letter-spacing:-.045em;margin:22px 0 0;font-weight:700}.section-top p{font-size:14px;line-height:2.1}.project-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:6%}.project-offset{padding-top:100px}.project-cover{height:410px;display:flex;flex-direction:column;justify-content:space-between;padding:30px;overflow:hidden;transition:transform .4s}.project-cover:hover{transform:translateY(-7px)}.cover-meta{font-size:12px;letter-spacing:2px}.local-art{background:var(--navy);color:white;border-radius:2px 80px 2px 2px}.local-title{font-size:48px;font-weight:700;line-height:1.3;letter-spacing:-2px}.local-title strong{color:#d7bc8e}.cover-bottom{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:1px}.cover-bottom b{font-size:28px;font-weight:400}.movie-art{background:var(--soft);border-radius:2px 2px 2px 80px}.movie-title{font-size:46px;line-height:1.35;letter-spacing:-2px;font-weight:800}.movie-title em{font-style:normal;color:var(--gold)}.project-caption{display:flex;justify-content:space-between;align-items:center;margin:23px 0}.project-caption p{font-size:12px;color:#5b666e;margin:0 0 9px}.project-caption h3{font-size:21px;margin:0}.project-caption>span{font-size:12px;color:var(--gold)}details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px}summary{padding:16px 0;cursor:pointer;display:flex;justify-content:space-between;list-style:none}summary::-webkit-details-marker{display:none}details p{line-height:2;margin:4px 0 22px}.services{background:var(--soft)}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:64px}.service-grid article{border-top:1px solid #bec5cb;padding-top:24px}.service-number{display:flex;justify-content:space-between;color:var(--gold);font-size:13px;letter-spacing:1px}.service-number span{color:var(--navy)}.service-grid h3{font-size:29px;line-height:1.6;margin:27px 0 18px}.service-grid p{font-size:15px;line-height:2.2}.tags{display:flex;flex-wrap:wrap;gap:8px;min-height:86px;margin:26px 0}.tags span{border:1px solid #cdd2d6;border-radius:30px;padding:6px 13px;font-size:12px;height:fit-content}.about{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:135px;padding-bottom:135px}.wordmark{font-size:46px;font-weight:800;margin-top:40px;letter-spacing:-2px}.wordmark span{color:var(--gold);font-weight:400;margin:0 10px}.about-copy{padding-top:27px}.about-copy p{font-size:15px;line-height:2.2;margin:0 0 30px}.about-copy .lead{font-size:20px;font-weight:600}.signature{display:flex;gap:25px;align-items:center;font-weight:700}.signature span{font-weight:400;font-size:14px}.contact{position:relative;overflow:hidden;background:var(--navy);color:white;padding-top:84px;padding-bottom:84px}.contact .eyebrow{color:#d7bc8e}.contact h2{font-size:44px}.contact p{font-size:15px;line-height:2.2}.contact-note{display:inline-block;font-size:14px;border-bottom:1px solid #88919a;padding:12px 0;margin-top:15px}.contact-plus{position:absolute;font-size:390px;right:6%;top:-50px;color:var(--gold);font-weight:400;transform:rotate(12deg);pointer-events:none}footer{padding:35px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}footer .logo{font-size:24px}footer span,footer small{font-size:12px;letter-spacing:1px}footer>a:last-child{border:1px solid var(--line);border-radius:50%;width:40px;height:40px;display:grid;place-items:center}.mobile-only{display:none}@media(min-width:1500px){.hero-copy{margin-top:100px}}@media(max-width:900px){nav{gap:16px;font-size:12px}.hero-copy{width:80%}.playground{right:-16%;width:75%;opacity:.95}.local-title{font-size:36px}.movie-title{font-size:36px}.project-cover{height:340px}.contact-plus{right:-5%;opacity:.4}}@media(max-width:650px){header{height:78px;margin:0 6%;gap:12px}.logo{font-size:26px}.mark{font-size:29px}nav{display:none}.contact-link{font-size:12px;padding:12px 15px}.contact-link span{margin-left:12px}.hero{height:auto;min-height:850px;padding:32px 7% 0}.eyebrow{font-size:12px;letter-spacing:1.4px}.hero-copy{margin-top:28px;width:100%}h1{font-size:clamp(34px,8.7vw,52px);line-height:1.6}h1 span:after{width:8px;height:8px;right:-20px;bottom:12px}.hero-copy p{font-size:14px;line-height:2;margin:19px 0 16px}.mobile-only{display:block}.text-link{font-size:12px;gap:20px}.playground{top:370px;right:-8%;width:113%;height:405px;opacity:1}.label-one{top:12%;left:20%}.label-two{right:9%;top:38%}.label-three{bottom:18%;right:14%}.play-button{left:30%;bottom:3%}.motion{right:12%;bottom:-6%}.hero-bottom{bottom:20px;font-size:12px;left:7%;right:7%}.hero-bottom span:last-child{display:none}.ticker{font-size:16px;padding:15px 0}.ticker span{word-spacing:16px}.section{padding:72px 7%}.section-top{display:block;margin-bottom:32px}h2{font-size:31px}.section-top p{margin-top:23px;font-size:13px}.project-grid{grid-template-columns:1fr;gap:35px}.project-offset{padding-top:0}.project-cover{height:355px;padding:27px}.local-title,.movie-title{font-size:42px}.project-caption h3{font-size:19px}.service-grid{grid-template-columns:1fr;gap:45px;margin-top:38px}.service-grid h3{font-size:26px}.tags{min-height:0}.about{grid-template-columns:1fr;gap:30px}.about-copy{padding-top:0}.about-copy .lead{font-size:18px}.wordmark{font-size:42px;margin-top:27px}.contact h2{font-size:30px;position:relative;z-index:1}.contact p,.contact-note{position:relative;z-index:1;font-size:13px}.contact-plus{font-size:260px;top:40px;right:-60px;opacity:.2}footer{flex-wrap:wrap;padding:30px 7%}footer span{display:none}footer small{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Keep the brand geometry visible when a device cannot initialize WebGL. */
.no-webgl canvas{visibility:hidden}
.no-webgl .fallback{display:block;position:absolute;inset:0;font-size:0;pointer-events:none}
.no-webgl .fallback span{position:absolute;left:26%;top:28%;width:43%;aspect-ratio:1;border-radius:50%;font-size:0;border:1px solid rgba(23,36,47,.42);background:radial-gradient(ellipse at 27% 22%,rgba(255,255,255,.96) 0%,rgba(255,255,255,.5) 8%,transparent 28%),radial-gradient(circle at 42% 38%,rgba(23,36,47,.10) 20%,rgba(23,36,47,.23) 61%,rgba(23,36,47,.53) 95%);box-shadow:inset -10px -9px 20px rgba(23,36,47,.12),inset 8px 8px 15px rgba(255,255,255,.8)}
.no-webgl .fallback b{position:absolute;left:62%;top:23%;width:20%;aspect-ratio:1;font-size:0;transform:rotate(-12deg);filter:drop-shadow(2px 3px 1px rgba(165,133,78,.25))}
.no-webgl .fallback b:before,.no-webgl .fallback b:after{content:'';position:absolute;background:linear-gradient(115deg,rgba(225,207,172,.38),rgba(165,133,78,.6));border:1px solid rgba(165,133,78,.65);border-radius:3px}
.no-webgl .fallback b:before{width:100%;height:15%;left:0;top:42.5%}.no-webgl .fallback b:after{height:100%;width:15%;top:0;left:42.5%}
@media(max-width:650px){.hero{min-height:790px}.playground{top:345px;height:355px;right:-3%;width:106%}.motion{bottom:-4%}.label-three{bottom:15%}.no-webgl .fallback span{left:23%;top:24%;width:43%}.no-webgl .fallback b{left:60%;top:19%}}

.ingredient{pointer-events:auto;touch-action:none;width:78px;height:78px;border-radius:50%;border:1px solid rgba(var(--ingredient-color),.45);background:radial-gradient(circle at 30% 20%,white,rgba(var(--ingredient-color),.14));box-shadow:inset -3px -4px 9px rgba(var(--ingredient-color),.12),0 8px 20px rgba(23,36,47,.04);color:var(--navy);font-size:12px;font-weight:700;letter-spacing:1px;cursor:grab;z-index:4;user-select:none;-webkit-user-select:none;transform:none}
.ingredient.label-one{--ingredient-color:224,118,42;left:24%;top:12%}.ingredient.label-two{--ingredient-color:165,133,78;right:15%;top:27%}.ingredient.label-three{--ingredient-color:23,36,47;right:23%;bottom:21%;font-size:12px}
.ingredient.dragging{cursor:grabbing;box-shadow:0 10px 25px rgba(23,36,47,.15);z-index:8}.mix-hint{position:absolute;left:0;right:0;bottom:3%;text-align:center;font-size:12px;pointer-events:none;color:#52606b}.play-button{bottom:10%}.motion{bottom:-3%}
.playground.mixing .fallback span{box-shadow:inset -10px -9px 20px rgba(var(--mixed-color),.18),inset 8px 8px 15px rgba(255,255,255,.8);background:radial-gradient(ellipse at 27% 22%,rgba(255,255,255,.96),transparent 28%),radial-gradient(circle at 42% 38%,rgba(var(--mixed-color),.2) 20%,rgba(var(--mixed-color),.4) 61%,rgba(var(--mixed-color),.65) 95%)}
@media(max-width:650px){.ingredient{width:65px;height:65px}.ingredient.label-one{left:12%;top:7%}.ingredient.label-two{right:10%;top:12%}.ingredient.label-three{right:10%;bottom:22%}.mix-hint{bottom:-2%}.motion{bottom:-10%}.play-button{bottom:5%}}

.ingredient[aria-pressed="true"]{outline:2px solid rgb(var(--ingredient-color));outline-offset:4px}
.playground.mixing .fallback span{background:radial-gradient(ellipse at 27% 22%,rgba(255,255,255,.95),transparent 28%),radial-gradient(circle at 42% 38%,rgba(var(--mixed-color),.48) 20%,rgba(var(--mixed-color),.65) 61%,rgba(var(--mixed-color),.85) 95%);border-color:rgba(var(--mixed-color),.8)}

/* Give each numbered chapter a clearer pause before it begins. */
.projects,.services,.about{padding-top:155px}

@media(max-width:650px){
  .projects,.services,.about{padding-top:104px}
  .project-grid{row-gap:76px}
}
.haseaki-art{background:#efe8dc;color:var(--navy);border-radius:80px 2px 2px 2px;position:relative}
.haseaki-art:after{content:'H';position:absolute;right:25px;bottom:-45px;font-size:210px;font-weight:800;color:rgba(165,133,78,.14);line-height:1;pointer-events:none}
.haseaki-title,.diagnosis-title{position:relative;z-index:1;font-size:46px;line-height:1.35;letter-spacing:-2px;font-weight:800}
.haseaki-title em,.diagnosis-title em{font-style:normal;color:var(--gold)}
.diagnosis-project{grid-column:1/-1;width:47%;margin:22px auto 0}
.diagnosis-art{background:linear-gradient(145deg,#edf1f3 0%,#fff 68%);border:1px solid #e0e5e8;border-radius:2px 80px 2px 80px;color:var(--navy);position:relative}
.diagnosis-art:after{content:'?';position:absolute;right:32px;bottom:-28px;font-size:225px;line-height:1;font-weight:800;color:rgba(224,118,42,.12);pointer-events:none}
.project-link{display:inline-flex;margin:0 0 22px;border-bottom:1px solid var(--navy);padding:5px 0;font-size:13px;font-weight:600}
@media(max-width:650px){
  .diagnosis-project{grid-column:auto;width:100%;margin:0}
  .haseaki-title,.diagnosis-title{font-size:40px}
  .haseaki-art:after,.diagnosis-art:after{font-size:175px}
}
/* Brand story */
.about{display:block}
.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}
.about-intro .about-copy{padding-top:27px}
.origin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:82px}
.origin-grid article{border-top:1px solid var(--line);padding:24px 22px 28px 0}
.origin-grid article>span{font-size:12px;letter-spacing:1px;color:var(--gold)}
.origin-grid h3{font-size:42px;margin:20px 0 16px;letter-spacing:-2px}
.origin-grid p,.origin-grid li{font-size:14px;line-height:2}
.origin-grid ul{list-style:none;padding:0;margin:18px 0 0;color:#56636d}
.origin-grid strong{font-weight:700}
.about-root{width:min(680px,65%);margin:96px 0 0 auto;padding:58px 0 0;position:relative}
.about-root:before{content:'＋';position:absolute;top:0;left:0;color:var(--gold);font-size:31px;font-weight:400;line-height:1}
.about-root p{font-size:15px;line-height:2.2;margin:0 0 24px}
.about-root .lead{font-size:24px;font-weight:700}
.about-root blockquote{font-size:28px;line-height:1.8;font-weight:700;margin:48px 0;letter-spacing:-.025em}
.contact{padding-right:42%}
.contact-copy{position:relative;z-index:1;max-width:700px}
.contact-copy p{margin:22px 0}
.contact-lead{font-size:18px!important;font-weight:600}
@media(max-width:650px){
  .about-intro{grid-template-columns:1fr;gap:28px}
  .about-intro .about-copy{padding-top:0}
  .origin-grid{grid-template-columns:1fr;margin-top:58px;gap:42px}
  .origin-grid article{padding-right:0}
  .origin-grid h3{font-size:36px}
  .about-root{width:100%;margin-top:70px;padding:50px 0 0}
  .about-root blockquote{font-size:23px;margin:38px 0}
  .contact{padding-right:7%}
  .contact-copy p{font-size:13px}
  .contact-lead{font-size:16px!important}
}
/* 実績カードの中のブラウザ窓。中身は works/*.jpg の実物スクリーンショット */
.project-cover{height:470px}
.local-title,.haseaki-title,.diagnosis-title{font-size:29px;line-height:1.45;letter-spacing:-1px}
.haseaki-title em,.diagnosis-title em{margin-left:.3em}
.site-window{position:relative;z-index:2;width:88%;height:210px;margin:12px auto 8px;background:#fff;border:1px solid rgba(23,36,47,.18);border-radius:9px;overflow:hidden;box-shadow:0 20px 38px rgba(6,18,27,.18);transform:perspective(800px) rotateX(2deg) rotateY(-3deg)}
.window-bar{height:22px;padding:8px 10px;display:flex;gap:5px;background:#f0f2f3;border-bottom:1px solid #dfe3e5}
.window-bar i{display:block;width:6px;height:6px;border-radius:50%;background:#c0c6ca}
.window-body{height:calc(100% - 22px);padding:15px;position:relative;overflow:hidden}
.shop-window{transform:perspective(800px) rotateX(2deg) rotateY(3deg)}
.diagnosis-window{width:92%;transform:perspective(800px) rotateX(2deg) rotateY(-2deg)}
@media(max-width:900px){.project-cover{height:430px}.site-window{height:185px}}
@media(max-width:650px){.project-cover{height:445px}.site-window{width:92%;height:195px}.local-title,.haseaki-title,.diagnosis-title{font-size:26px}}

/* 問い合わせフォーム（CONTACT・紺地の上に置く）。
   ★巨大な「＋」の装飾より前に出す。z-indexを外すと入力欄が押せなくなる。 */
.contact-form{position:relative;z-index:1;margin-top:38px;max-width:620px}
.contact-form .cf-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact-form .fld{margin-bottom:20px}
.contact-form label{display:block;font-size:14px;font-weight:500;margin-bottom:7px;line-height:1.6}
.contact-form .req{font-size:12px;color:var(--orange);margin-left:8px;letter-spacing:.05em}
.contact-form .opt{font-size:12px;color:#8d99a3;margin-left:8px;letter-spacing:.05em}
.contact-form .hint{display:block;font-size:12.5px;color:#9aa5ae;font-weight:400;margin-top:4px;line-height:1.7}
.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea,.contact-form select{
 width:100%;font-family:inherit;font-size:16px;padding:12px 14px;border-radius:6px;
 border:1px solid #46545f;background:#1e2d39;color:#fff}
.contact-form textarea{min-height:150px;resize:vertical;line-height:1.8}
.contact-form ::placeholder{color:#7b8892}
.contact-form input:focus-visible,.contact-form textarea:focus-visible,.contact-form select:focus-visible{
 outline:2px solid var(--gold);outline-offset:1px}
/* 罠の欄。人には見えない。名前を company 等にするとブラウザの自動入力が埋めて問い合わせが消える */
.contact-form .hp{display:none}
.cf-send{font-family:inherit;font-size:15px;font-weight:600;padding:14px 38px;border-radius:40px;
 border:1px solid var(--gold);background:var(--gold);color:#17242f}
.cf-send:hover{background:#b8975c;border-color:#b8975c}
.cf-send:disabled{opacity:.5;cursor:progress}
.cf-note{font-size:12.5px;color:#8d99a3;line-height:1.9;margin-top:18px}
.cf-msg{white-space:pre-line;margin-top:20px;padding:16px 18px;border-radius:6px;font-size:14.5px;line-height:1.8}
.cf-msg.ok{background:#1b3a33;color:#8fd3c0;border:1px solid #3f7a6b}
.cf-msg.ng{background:#3a211f;color:#e8a49e;border:1px solid #8a4a44}
.contact-note strong{color:#d7bc8e}
@media(max-width:650px){
 .contact-form{margin-top:30px}
 .contact-form .cf-row{grid-template-columns:1fr;gap:0}
 .cf-send{width:100%;padding:16px}
 .contact-plus{z-index:0}
}

/* 料金（PLANS）。紹介で来た人が一番見るところなので、数字を最優先で読ませる */
.plan-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.plan{display:grid;grid-template-columns:minmax(300px,1fr) 1.2fr;gap:6%;
 padding:32px 0;border-bottom:1px solid var(--line);align-items:start}
.plan-head{display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:baseline}
.plan-no{font-size:12px;color:var(--gold);letter-spacing:1px}
.plan-head h3{font-size:22px;margin:0;line-height:1.5}
.plan-price{grid-column:2;font-size:15px;margin:10px 0 0;color:#5b666e}
.plan-price strong{font-size:27px;font-weight:800;color:var(--navy);letter-spacing:-.02em}
.plan-body p{font-size:14.5px;line-height:2.1;margin:0}
.plan-limit{font-size:13px;color:#5b666e;margin-top:12px!important;line-height:1.9}
/* 無料の行だけ、金額ではなく「無料」を立たせる */
.plan-free .plan-price strong{color:var(--orange);font-size:22px}
.plan-foot{font-size:13px;line-height:2.1;color:#5b666e;margin-top:34px}
@media(max-width:900px){.plan{grid-template-columns:1fr;gap:16px}}
@media(max-width:650px){
 .plan{padding:26px 0}
 .plan-head h3{font-size:19px}
 .plan-price strong{font-size:24px}
 .plan-body p{font-size:14px}
}

/* 実績のスクリーンショット。窓の枠は残して、中身だけ実物に差し替える */
.window-body.has-shot{padding:0;background:#fff}
.window-body.has-shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}

/* 料金からの出口。ここが無いと、料金を読み終えた人がABOUTを越えないとフォームに着けない */
.plan-cta{display:inline-flex;align-items:center;gap:22px;margin-top:30px;padding:16px 34px;
 border-radius:40px;background:var(--navy);color:var(--white);font-size:15px;font-weight:600}
.plan-cta span{font-size:20px;transition:transform .2s}
.plan-cta:hover span{transform:translate(3px,-3px)}
/* フォームが落ちたときの逃げ道 */
.cf-alt{position:relative;z-index:1;font-size:13.5px;line-height:2;color:#9aa5ae;margin-top:24px}
.cf-alt a{color:#d7bc8e;border-bottom:1px solid #6b7680}
noscript .cf-note a{color:#d7bc8e}
@media(max-width:650px){.plan-cta{width:100%;justify-content:space-between;padding:16px 26px}}

/* 送信ボタンはオレンジ（2026-09-20 決定・実機で見比べて選択）。
   design-rules.md §1「ゴールドは飾り。目立たせたいところに使わない（目立たないため）。そこはオレンジ」
   文字は紺。白字だと 3.0:1 で足りない。紺なら 5.11:1。 */
.cf-send{background:var(--orange);border-color:var(--orange);color:#17242f}
.cf-send:hover{background:#c9651f;border-color:#c9651f}
/* 入力欄のプレースホルダ。紺地で 3.88:1 しかなかったので上げる */
.contact-form ::placeholder{color:#96a1aa}

/* 04 BLOOM WAVE（自社の会員サイト）。3枚目・4枚目を2列に並べるため、
   診断カードの「中央に1枚だけ」指定を解除する */
.diagnosis-project{grid-column:auto;width:100%;margin:0}
.bloom-art{background:var(--navy);color:#fff;border-radius:2px 2px 80px 2px}
.bloom-title{font-size:29px;line-height:1.45;letter-spacing:-1px;font-weight:700}
.bloom-title em{font-style:normal;color:#d7bc8e;margin-left:.3em}
.bloom-window{transform:perspective(800px) rotateX(2deg) rotateY(3deg)}

/* 由来の01〜02〜03は畳んでおく。スマホでここが長く、CONTACTまで届かないため
   （読みたい人だけ開く。中身は消していない） */
.origin-fold{margin:34px 0 0}
.origin-fold>summary{font-size:15px;font-weight:600;padding:18px 0}
.origin-fold[open]>summary{border-bottom:1px solid var(--line);margin-bottom:6px}
.origin-fold>summary span{font-size:20px;color:var(--gold);transition:transform .2s}
.origin-fold[open]>summary span{transform:rotate(45deg)}

/* 画面を出さない実績カード（先方の了解が取れていないもの）。窓が無いぶん、文字で見せる */
.no-shot{justify-content:space-between}
.no-shot .local-title{font-size:40px;margin:auto 0}
.project-note{font-size:12.5px;color:#7b858d;margin-top:14px!important}
@media(max-width:650px){.no-shot .local-title{font-size:30px}}
/* 進行中であることの印 */
.ongoing{font-size:12px;font-weight:600;border:1px solid #6d7b86;border-radius:20px;padding:5px 12px;color:#d7bc8e}

/* TOOLS。無料で配っている判断ツールへの入口。実体は tool.cococrea.jp（未割当のうちは pages.dev） */
.tool-box{border:1px solid var(--line);border-radius:2px;padding:44px 6%}
.tool-lead p{font-size:15px;line-height:2.2;margin:0}
.tool-lead .tool-sub{font-size:13px;color:#5b666e;margin-top:12px}
.tool-list{margin:38px 0 34px;border-top:1px solid var(--line)}
.tool-list article{border-bottom:1px solid var(--line);padding:26px 0}
.tool-list h3{font-size:20px;margin:0 0 12px}
.tool-list p{font-size:14.5px;line-height:2.1;margin:0}
.tool-list .tags{margin:18px 0 0;min-height:0}
.tool-cta{display:inline-flex;align-items:center;gap:26px;padding:15px 32px;border-radius:40px;
 background:var(--navy);color:var(--white);font-size:15px;font-weight:600}
.tool-cta span{font-size:19px;transition:transform .2s}
.tool-cta:hover span{transform:translate(3px,-3px)}
@media(max-width:650px){.tool-box{padding:30px 7%}.tool-cta{width:100%;justify-content:space-between}}
/* 事業と人生、2つの枠をつなぐ一文。なぜ両方やるのかを書かないと別事業に見える */
.service-bridge{font-size:16px;line-height:2.1;margin:26px 0 0;max-width:34em}
@media(max-width:650px){.service-bridge{font-size:15px;margin-top:20px}}

/* TOOLS：道具の名前ではなく、相手の困りごとで並べる。
   人は道具を探していない。困りごとを抱えている */
.tool-q{list-style:none;margin:34px 0 26px;padding:0;border-top:1px solid var(--line)}
.tool-q li{position:relative;padding:19px 0 19px 26px;border-bottom:1px solid var(--line);
 font-size:16px;line-height:1.9}
.tool-q li::before{content:"";position:absolute;left:0;top:1.62em;width:9px;height:9px;
 border-radius:50%;background:var(--gold)}
.tool-note{font-size:13.5px;line-height:2;color:#5b666e;margin:0 0 28px}
@media(max-width:650px){.tool-q li{font-size:15px;padding:16px 0 16px 22px}.tool-q li::before{top:1.55em;width:8px;height:8px}}

/* オレンジの点の位置（2026-09-20）。
   句点の右に浮いていると打ち間違いに見える → 見出しと本文の間に置いて「区切り」にする */
h1 span:after{display:none}
.hero-copy p::before{content:"";display:block;width:10px;height:10px;border-radius:50%;
 background:var(--orange);margin:0 0 26px}
@media(max-width:650px){.hero-copy p::before{width:8px;height:8px;margin-bottom:18px}}

/* 04 WHY COCOCREA。「なぜこの人に頼むのか」が無いと、実績は並んでいるだけになる */
.why{background:var(--soft)}
.why-body{max-width:44em;margin-top:44px}
.why-body p{font-size:16px;line-height:2.2;margin:0 0 28px}
.why-body .why-lead{font-size:20px;line-height:2;font-weight:600;margin:44px 0 20px;
 padding-top:36px;border-top:1px solid #cdd3d8}
.why-body .why-close{font-size:19px;font-weight:700;margin-top:44px;line-height:1.9}
@media(max-width:650px){
 .why-body{margin-top:30px}
 .why-body p{font-size:15px;line-height:2.1;margin-bottom:22px}
 .why-body .why-lead{font-size:17px;margin:32px 0 16px;padding-top:26px}
 .why-body .why-close{font-size:17px;margin-top:32px}
}

/* 05 kumamade（自社ブランドのイベントカレンダー）／06 判断ツール置き場 */
.kuma-art{background:#f6eef0;border-radius:2px 80px 2px 2px}
.kuma-title{font-size:29px;line-height:1.45;letter-spacing:-1px;font-weight:700}
.kuma-title em{font-style:normal;color:#9c5a6b;margin-left:.3em}
.kuma-window{transform:perspective(800px) rotateX(2deg) rotateY(-3deg)}
.tool-art{background:var(--navy);color:#fff;border-radius:2px 2px 2px 80px}
.tool-title{font-size:29px;line-height:1.45;letter-spacing:-1px;font-weight:700}
.tool-title em{font-style:normal;color:#d7bc8e;margin-left:.3em}
.tool-window{transform:perspective(800px) rotateX(2deg) rotateY(2deg)}
@media(max-width:650px){.kuma-title,.tool-title{font-size:26px}}
