/*
 * Mobile touch feedback
 * PC の hover 表現を、hover を持たない端末の短いタップ中だけ再現する。
 * 状態の付与・解除は mobile-touch-feedback.js が担当する。
 */
@media (hover:none), (pointer:coarse){
  html.touch-feedback-ready a,
  html.touch-feedback-ready button,
  html.touch-feedback-ready summary,
  html.touch-feedback-ready [role="button"]{
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }

  .nav-burger{
    transition:transform .18s ease,opacity .18s ease;
  }
  .nav-burger.is-touch-active{
    transform:scale(.92);
    opacity:.72;
  }
  .nav-drawer a{
    transition:color .2s ease,transform .2s ease;
  }
  .nav-drawer a.is-touch-active{
    color:var(--cobalt-b);
    transform:translateX(4px);
  }
  .nav-links a.is-touch-active{
    color:var(--cobalt);
  }
  .nav-links a.is-touch-active::before{
    width:100%;
  }
  .nav-cta .btn.is-touch-active{
    background:var(--cobalt);
    transform:translateY(-1px);
  }

  .btn-ghost.is-touch-active{
    background:var(--navy);
    color:#fff;
    transform:translateY(-2px);
  }
  .btn-ghost.is-touch-active::after{
    transform:translateY(4px);
  }
  .btn-primary.is-touch-active{
    background:var(--cobalt);
    transform:translateY(-2px);
    box-shadow:0 10px 24px -8px rgba(0,150,217,.5);
  }
  .btn-primary.is-touch-active::after{
    transform:translateX(6px);
  }
  .btn-ghost.is-touch-active{
    color:var(--cobalt);
    border-bottom-color:var(--cobalt);
  }
  .works-hero-overlay .wh-cta .btn-ghost.is-touch-active{
    background:var(--navy);
    color:#fff;
    border-color:var(--navy);
  }

  .hero-biz.is-touch-active .learn::after{
    transform:translateX(4px);
  }
  .about-vis.is-touch-active .about-photo img{
    transform:scale(1.06);
  }
  .style-card.is-touch-active{
    transform:translateY(-10px) scale(1.02);
    box-shadow:0 40px 80px -20px rgba(3,76,150,.45);
  }
  .style-card.is-touch-active img{
    transform:scale(1.12);
    filter:saturate(1.1) brightness(1);
  }
  .style-card.is-touch-active::after{
    background:linear-gradient(180deg,transparent 30%,rgba(3,76,150,.4) 60%,rgba(2,47,94,.9) 100%);
  }
  .style-card.is-touch-active .style-info .desc,
  .style-card.is-touch-active .style-info .arrow{
    opacity:1;
    transform:translateY(0);
  }

  .svc.is-touch-active{
    transform:translateY(-8px);
    box-shadow:0 24px 60px -20px rgba(3,76,150,.2);
    border-color:transparent;
  }
  .svc.is-touch-active::before{
    transform:scaleX(1);
  }
  .svc.is-touch-active .svc-orb{
    transform:rotate(-6deg) scale(1.05);
  }
  .svc.is-touch-active .svc-more::after{
    transform:translateX(8px);
  }
  .story-phase-card.is-touch-active{
    transform:translateY(-4px);
    box-shadow:0 20px 40px -12px rgba(3,76,150,.2);
  }

  .works-film-sales-cta.is-touch-active{
    transform:translateY(-3px) scale(1.015);
    background:linear-gradient(128deg,var(--cobalt),#006ab0);
    box-shadow:0 23px 50px rgba(0,61,124,.5),0 0 0 1px rgba(255,255,255,.22) inset,0 0 36px rgba(246,196,83,.24);
  }
  .works-film-sales-cta.is-touch-active .works-film-sales-arrow{
    transform:translateY(3px);
    background:rgba(255,255,255,.22);
  }

  .news-card.is-touch-active{
    transform:translateY(-4px);
    box-shadow:0 20px 40px -20px rgba(3,76,150,.25);
    border-color:var(--cobalt);
  }
  .news-card.is-touch-active .n-thumb img{
    transform:scale(1.05);
  }
  .news-card.dk.is-touch-active{
    transform:translateY(-6px);
    box-shadow:none;
    border:none;
  }
  .news-card.dk.is-touch-active .n-img{
    box-shadow:0 0 36px rgba(0,150,217,.45),0 12px 44px -10px rgba(94,194,236,.35);
  }
  .news-card.dk.is-touch-active .n-img img,
  .news-card.dk.is-touch-active .n-img video{
    transform:scale(1.06);
  }

  .marquee-logo.is-touch-active{
    border-color:var(--cobalt);
    box-shadow:0 6px 18px -6px rgba(3,76,150,.25);
  }
  .work.is-touch-active{
    transform:translateY(-8px);
    box-shadow:0 26px 60px -20px rgba(3,76,150,.28);
    border-color:transparent;
  }
  .work.is-touch-active .work-photo img{
    transform:scale(1.08);
    filter:saturate(1.1);
  }
  .ai-photo.is-touch-active img{
    transform:scale(1.06);
  }
  .co-photo.is-touch-active img{
    transform:scale(1.08);
    filter:saturate(1.1);
  }
  .co-photo.is-touch-active::after{
    opacity:.7;
  }

  .door-form .row .chip.is-touch-active,
  .door-form .send.is-touch-active{
    background:var(--cobalt);
    color:#fff;
    border-color:var(--cobalt);
  }
  .door-form .send.is-touch-active{
    letter-spacing:.34em;
  }
  .footer-col li a.is-touch-active{
    color:#fff;
  }

  .modal-close.is-touch-active{
    background:var(--navy);
    transform:rotate(90deg);
  }
  .modal-close.is-touch-active::before,
  .modal-close.is-touch-active::after{
    background:#fff;
  }
  .m-style.is-touch-active img{
    transform:scale(1.06);
  }
  .modal-cta .mc-btn.is-touch-active{
    background:var(--cobalt);
    transform:translateY(-2px);
  }
  .modal-cta .mc-btn.is-touch-active::after{
    transform:translateX(6px);
  }

  .modal.is-sale-canvas .m-overview-point.is-touch-active{
    background:rgba(239,183,47,.1);
    transform:translateX(3px);
  }
  .modal.is-sale-canvas .m-overview-point.is-touch-active .n,
  .modal.is-sale-canvas .m-overview-point.is-touch-active .t{
    color:#b57d00;
  }
  .modal.is-point-detail .m-overview-point.is-touch-active .t,
  .modal.is-tech-detail .m-overview-point.is-touch-active .t{
    color:#006cb1;
    transform:translateX(3px);
  }
  .modal.is-point-detail .m-overview-point.is-touch-active::after,
  .modal.is-tech-detail .m-overview-point.is-touch-active::after{
    transform:scale(1.12);
  }
  .modal.is-housing .m-overview-point.is-touch-active{
    background:rgba(0,150,217,.04);
  }
  .modal.is-housing .m-overview-point.is-touch-active .n{
    color:#ad7600;
  }
  .modal.is-housing .m-overview-point.is-touch-active .t{
    color:#006cb1;
    transform:translateX(3px);
  }
  .modal.is-housing .m-overview-point.is-touch-active::after{
    color:#ad7600;
    transform:translate(2px,-2px);
  }
  .modal.is-housing .m-style.is-touch-active{
    transform:translateY(-5px);
    border-color:rgba(0,150,217,.38);
    background:#fbfdff;
    box-shadow:0 18px 34px -25px rgba(0,76,150,.72);
  }
  .modal.is-housing .m-style.is-touch-active::before{
    opacity:1;
  }
  .modal.is-housing .m-style.is-touch-active::after{
    transform:scaleX(1);
  }
  .modal.is-housing .m-style.is-touch-active .en{
    color:var(--cobalt);
    transform:translateX(3px);
  }
  .modal.is-visual-detail .m-step.is-touch-active{
    transform:translateY(-3px);
    border-color:rgba(0,150,217,.34);
    box-shadow:0 15px 28px -24px rgba(0,76,150,.75);
  }

  .ss-close.is-touch-active{
    background:#fff;
    transform:rotate(90deg);
  }
  .ss-node.is-touch-active{
    transform:translateY(-2px);
    color:var(--navy);
  }
  .ss-cta.is-touch-active{
    background:var(--cobalt);
    transform:translateY(-2px);
  }

  .ph-crumb a.is-touch-active,
  .faq-item summary.is-touch-active{
    color:var(--cobalt);
  }
  .phil-reveal-card.phil-on.is-touch-active{
    transform:translateY(-6px);
    border-color:rgba(0,150,217,.42);
    box-shadow:0 22px 52px -24px rgba(3,76,150,.34);
  }
  .phil-reveal-card.phil-on.is-touch-active .phil-media img{
    transform:scale(1.035);
  }
  .access-map-pin.is-touch-active .pin-halo{
    fill:rgba(242,196,93,.28);
    stroke:#fff0bc;
    transform:scale(1.16);
  }
  .access-detail.is-touch-active{
    border-color:rgba(142,223,255,.72);
    background:linear-gradient(145deg,rgba(8,51,89,.95),rgba(4,31,59,.97));
  }
  .result-filter.is-touch-active{
    background:var(--navy);
    border-color:var(--navy);
    color:#fff;
  }
}
