/* ============================================================
   1) Footer — rebuilt in HTML/CSS to match bakuraku.jp
   ============================================================ */
.bk-footer{background:#fff;color:#233447;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.5;font-weight:400}
.bk-footer a{color:inherit;text-decoration:none}
.bk-footer__row{display:grid;grid-template-columns:360px 1fr;justify-content:space-between;gap:80px;width:min(1200px,calc(100% - 80px));margin-inline:auto;padding:80px 0}
.bk-footer__logo{max-width:345px;margin-bottom:40px}
.bk-footer__logo-img{display:block;width:100%;height:auto}
.bk-footer__name{margin-bottom:12px;font-size:24px;font-weight:600;line-height:1.25;letter-spacing:.05em}
.bk-footer__address{margin-bottom:56px;font-size:14px;line-height:1.75;letter-spacing:.02em}
.bk-footer__marks{display:flex;height:75px;gap:16px;margin-bottom:12px}
.bk-footer__marks img{display:block;width:150px;height:75px;max-width:100%}
.bk-footer__marks-memo{margin:0;font-size:8px;font-weight:400;line-height:1.5}
.bk-footer__links{display:flex;flex-wrap:wrap;gap:24px 16px;margin:20px 0 72px;justify-content:space-between}
.bk-footer__link{display:block;color:#0e63c4!important;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:.02em}
.bk-footer__service-title{margin-bottom:12px;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:.02em}
.bk-footer__service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:.5px}
.bk-footer__service-item{position:relative;display:flex;align-items:center;justify-content:center;height:70px;padding:10px 15px;outline:.5px solid #b3c1cf}
.bk-footer__service-logo{display:block;width:auto;height:18px;max-width:100%}
.bk-footer__bottom{background:#eaedf1;color:#7e90a3}
.bk-footer__bottom-inner{display:flex;align-items:center;justify-content:space-between;height:50px;width:min(1200px,calc(100% - 80px));margin-inline:auto}
.bk-footer__bottom-links{display:flex;align-items:center;gap:32px}
.bk-footer__bottom-link{display:block;font-size:12px;line-height:1.25;letter-spacing:.02em}
.bk-footer__bottom-copyright{font-size:14px;line-height:1.75;letter-spacing:.02em}
@media (max-width:1259px){
  .bk-footer__row{gap:40px}
  .bk-footer__links{gap:12px}
  .bk-footer__link{font-size:clamp(14px,1.1111111111vw,16px)}
}
@media (max-width:1079px){
  .bk-footer__row{display:flex;flex-direction:column-reverse;gap:40px;width:100%;padding:56px 0}
  .bk-footer__info{padding:0 24px;text-align:center}
  .bk-footer__logo{max-width:240px;margin:0 auto 24px}
  .bk-footer__name{margin-bottom:8px;font-size:16px;line-height:1.5;letter-spacing:.02em}
  .bk-footer__address{margin-bottom:40px}
  .bk-footer__marks{justify-content:center}
  .bk-footer__marks-memo{white-space:nowrap;margin:0 -10px}
  .bk-footer__links{display:block;width:fit-content;margin:0 auto 64px}
  .bk-footer__link{margin-bottom:24px;text-align:center;font-size:16px}
  .bk-footer__link:last-child{margin-bottom:0}
  .bk-footer__service{max-width:320px;margin:auto;padding:24px;border-radius:8px;background:#f2f5f9}
  .bk-footer__service-title{margin-bottom:24px;text-align:center}
  .bk-footer__service-list{grid-template-columns:1fr;gap:8px}
  .bk-footer__service-item{outline:0;border:.5px solid #b3c1cf;border-radius:6px;background:#fff;padding:24px}
  .bk-footer__bottom-inner{display:block;height:auto;padding:24px 0}
  .bk-footer__bottom-links{justify-content:center;margin-bottom:16px}
  .bk-footer__bottom-copyright{text-align:center}
}
@media (max-width:400px){.bk-footer__marks-memo{white-space:normal}}
/* ============================================================
   2) Feature section right frame — match FV chrome colors
   ============================================================ */
.workflow-sticky .browser-bar{background:#f5f5f3;border-bottom-color:#edeee7}
.workflow-sticky .browser-bar .window-dots{gap:5px}
.workflow-sticky .browser-bar .window-dots i{width:7px;height:7px}
.workflow-sticky .browser-bar .window-dots i:nth-child(1){background:#d9aaa0}
.workflow-sticky .browser-bar .window-dots i:nth-child(2){background:#ddca83}
.workflow-sticky .browser-bar .window-dots i:nth-child(3){background:#a1b37e}
.workflow-sticky .sa-sidebar{background:#f5f5f3;border-right-color:#edeee7}
/* ============================================================
   3) CV buttons — stronger presence, same tone
   ============================================================ */
:root{--cv-green:#4c6600;--cv-green-hi:#6d8a12;--cv-green-lo:#3a4d0c;--cv-lime:#daeb57;--cv-lime-ink:#243201}
.btn.primary,.closing .btn{transition:background .25s,box-shadow .25s,transform .25s,border-color .25s,color .25s}
.btn.primary{
  position:relative;gap:14px;border:0;color:#fff;font-weight:700;letter-spacing:.04em;
  background:linear-gradient(135deg,var(--cv-green-hi) 0%,var(--cv-green) 55%,var(--cv-green-lo) 100%);
  box-shadow:0 12px 26px -10px rgba(76,102,0,.75),0 3px 8px rgba(36,50,1,.14),inset 0 1px 0 rgba(255,255,255,.22);
}
.btn.primary::after{
  content:"";flex:none;width:24px;height:24px;border-radius:50%;
  background:var(--cv-lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23243201' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 12h8M12.5 8.5 16 12l-3.5 3.5'/%3E%3C/svg%3E") center/100% no-repeat;
  box-shadow:0 0 0 3px rgba(218,235,87,.22);transition:transform .25s
}
.btn.primary:hover{
  background:linear-gradient(135deg,#6d8a12 0%,#4c6600 55%,#4c6600 100%);
  transform:translateY(-3px);
  box-shadow:0 18px 32px -12px rgba(76,102,0,.85),0 4px 10px rgba(36,50,1,.16),0 0 0 4px rgba(218,235,87,.35),inset 0 1px 0 rgba(255,255,255,.25)
}
.btn.primary:hover::after{transform:translateX(3px)}
.btn.primary:active{transform:translateY(-1px)}
.contact-dialog .btn.primary::after{display:none}
/* sizes */
.header-actions{gap:12px}
.header-actions .btn{padding:10px 20px;font-size:12px;line-height:1.2;min-height:42px}
.header-actions .btn.primary{padding:8px 9px 8px 20px;gap:10px}
.header-actions .btn.primary::after{width:24px;height:24px}
.hero-cta{gap:16px;margin-top:36px}
.hero-cta .btn{min-height:60px;font-size:15px}
.hero-cta .btn.primary{padding:12px 14px 12px 34px}
.hero-cta .btn.primary::after{width:32px;height:32px}
.closing .cta-row{gap:18px}
.closing .btn{min-height:64px;font-size:16px}
.closing .btn.primary{padding:14px 16px 14px 38px}
.closing .btn.primary::after{width:34px;height:34px}
.closing .btn.primary{box-shadow:0 16px 30px -10px rgba(76,102,0,.7),0 3px 8px rgba(36,50,1,.16),inset 0 1px 0 rgba(255,255,255,.22)}
@media (max-width:800px){
  .hero-cta{gap:12px;margin-top:28px}
  .hero-cta .btn{min-height:56px;font-size:14px}
  .hero-cta .btn.primary{padding:10px 12px 10px 28px}
  .closing .btn{min-height:58px;font-size:14px}
  .closing .btn.primary{padding:10px 12px 10px 30px}
  .closing .btn.primary::after{width:30px;height:30px}
}
@media (max-width:560px){
  .hero-cta,.closing .cta-row{flex-direction:column;align-items:stretch}
  .hero-cta .btn,.closing .btn{width:100%;justify-content:center}
  .hero-cta .btn.primary,.closing .btn.primary{padding-left:24px;justify-content:space-between}
  .hero-cta .btn.primary::before,.closing .btn.primary::before{content:"";width:30px;flex:none}
}
@media (prefers-reduced-motion:reduce){
  .btn.primary,.closing .btn,.btn::after{transition:none}
}
