
  
  body{margin:0;background:var(--surface-100);color:var(--ink);font-family:var(--font-jp);}
  a{color:inherit;text-decoration:none;}
  .btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:4px;border:1px solid var(--border);color:var(--ink);font-weight:500;font-size:15px;background:transparent;cursor:pointer;}
  .btn-primary{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:4px;background:linear-gradient(135deg,var(--pts-green-deep),var(--brand-blue));color:#ffffff;font-weight:700;font-size:16px;border:none;cursor:pointer;}
  .nav-dd{position:relative;display:flex;align-items:center;}
  .nav-dd-trigger{display:flex;align-items:center;gap:6px;}
  .nav-dd-trigger svg{transition:transform .2s ease;}
  .nav-dd:hover .nav-dd-trigger svg,.nav-dd:focus-within .nav-dd-trigger svg{transform:rotate(180deg);}
  .nav-dd-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);padding-top:16px;display:none;z-index:30;}
  .nav-dd:hover .nav-dd-menu,.nav-dd:focus-within .nav-dd-menu{display:block;}
  .nav-dd-panel{background:#FFFFFF;border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 28px -12px rgba(22,35,61,0.2);padding:8px;min-width:200px;display:flex;flex-direction:column;}
  .nav-dd-panel a{padding:10px 14px;border-radius:6px;font-size:15px;color:var(--ink);white-space:nowrap;}
  .nav-dd-panel a:hover{background:var(--surface-200);}
  .t-hero{position:relative;background:#FAFAF8 url(../img/up-6465c5bc21.webp) right center/cover no-repeat;overflow:hidden;}
  .t-hero-inner{position:relative;z-index:1;max-width:1240px;margin:0 auto;padding:96px 40px;min-height:620px;display:flex;flex-direction:column;justify-content:center;gap:24px;box-sizing:border-box;}
  .t-catch{margin:0;font-family:"Outfit",var(--font-heading);font-weight:600;font-size:76px;line-height:1.1;letter-spacing:0.02em;background:linear-gradient(90deg,#0F7C5C,#0B7F86 45%,#1461D2);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .t-h2{margin:0;font-family:var(--font-heading);font-size:28px;}
  .t-eyebrow{font-family:"Outfit",var(--font-heading);font-size:14px;font-weight:600;letter-spacing:0.16em;color:var(--pts-teal-deep);}
  .t-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;}
  .t-more{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:700;color:var(--pts-teal-deep);}
  .t-news{display:flex;flex-direction:column;border-top:1px solid var(--pts-tint-border);}
  .t-news a{display:grid;grid-template-columns:120px 110px 1fr;align-items:center;gap:16px;padding:20px 12px;border-bottom:1px solid var(--pts-tint-border);font-size:15px;transition:background .2s ease;}
  .t-news a:hover{background:var(--pts-tint);}
  .t-news a .t-title{transition:color .2s ease;}
  .t-news a:hover .t-title{color:var(--pts-teal-deep);text-decoration:underline;text-underline-offset:4px;}
  .t-news time{font-family:"Outfit",var(--font-heading);font-size:15px;color:var(--ink-secondary);}
  .t-tag{justify-self:start;font-size:12px;font-weight:700;padding:3px 10px;border-radius:9999px;background:var(--pts-tint);color:var(--pts-teal-deep);border:1px solid var(--pts-tint-border);align-self:flex-start;width:fit-content;}
  .t-biz{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
  .t-biz a{display:flex;flex-direction:column;background:#FFFFFF;border:1px solid var(--pts-tint-border);border-radius:16px;overflow:hidden;}
  .t-biz-img{aspect-ratio:16/9;background-size:cover;background-position:center;}
  .t-biz-body{padding:28px;display:flex;flex-direction:column;gap:10px;}
  .t-prods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
  .t-prod{display:flex;flex-direction:column;background:#FFFFFF;border:1px solid var(--border);border-radius:16px;overflow:hidden;}
  .t-prod-img{aspect-ratio:4/3;background-size:cover;background-position:center;position:relative;}
  .t-prod-body{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1;}
  .t-prod-bar{height:4px;}
  .t-case{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;background:#FFFFFF;border:1px solid var(--pts-tint-border);border-radius:16px;padding:32px 36px;}
  .t-vision{position:relative;overflow:hidden;border-radius:24px;padding:88px 40px;text-align:center;background:linear-gradient(115deg,#E6F8EE,#E2F6F6 50%,#E3ECFA);box-sizing:border-box;}
  .t-vision p{margin:0;font-family:var(--font-heading);font-size:32px;font-weight:700;line-height:1.7;}
  .t-recruit{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;border-radius:16px;padding:40px;background:linear-gradient(135deg,var(--pts-green-deep),var(--brand-blue));color:#FFFFFF;}
  @media (max-width:1023px){
    .t-prods{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:767px){
    .t-hero{background-position:72% center;}
    .t-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(250,250,248,0.92) 0%,rgba(250,250,248,0.8) 60%,rgba(250,250,248,0) 100%);}
    .t-hero-inner{padding:64px 20px 200px;min-height:0;}
    .t-catch{font-size:44px;}
    .t-news a{grid-template-columns:1fr;gap:6px;}
    .t-biz,.t-prods,.t-case,.t-recruit{grid-template-columns:1fr;}
    .t-vision p{font-size:22px;}
  }

  .g-hdr-in{gap:16px;}
  .sp-nav{display:none;}
  .sp-nav summary{list-style:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;border:1px solid var(--pts-tint-border);background:#FFFFFF;color:var(--ink);cursor:pointer;}
  .sp-nav summary::-webkit-details-marker{display:none;}
  .sp-nav .sp-close{display:none;}
  .sp-nav[open] .sp-open{display:none;}
  .sp-nav[open] .sp-close{display:block;}
  .sp-panel{position:absolute;left:0;right:0;top:100%;background:#FFFFFF;border-bottom:1px solid var(--pts-tint-border);box-shadow:0 16px 32px -16px rgba(22,35,61,0.25);padding:8px 20px 24px;display:flex;flex-direction:column;max-height:calc(100vh - 72px);overflow-y:auto;box-sizing:border-box;}
  .sp-panel a{display:flex;align-items:center;justify-content:space-between;min-height:52px;border-bottom:1px solid var(--pts-tint-border);font-size:16px;font-weight:500;color:var(--ink);}
  .sp-panel a.sp-sub{padding-left:20px;font-size:15px;color:var(--ink-secondary);}
  .sp-panel .sp-label{padding:18px 0 6px;font-family:"Outfit",var(--font-heading);font-size:12px;font-weight:600;letter-spacing:.16em;color:var(--pts-teal-deep);}
  .sp-panel .sp-cta{margin-top:20px;justify-content:center;border:none;border-radius:4px;background:linear-gradient(135deg,var(--pts-green-deep),var(--brand-blue));color:#FFFFFF;font-weight:700;}
  @media (max-width:1023px){
    .g-nav,.g-contact{display:none !important;}
    .sp-nav{display:block;}
    .g-hdr-in{padding:14px 20px !important;}
  }

  /* --- トップ ヒーロー：光の流れ（奥行きのある粒子） --- */
  @keyframes hx-up{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
  .hx-in > *{animation:hx-up .9s cubic-bezier(.2,.7,.2,1) both;}
  .hx-in > *:nth-child(2){animation-delay:.15s;} .hx-in > *:nth-child(3){animation-delay:.3s;} .hx-in > *:nth-child(4){animation-delay:.45s;}
  @keyframes hx-shine{0%{background-position:0% 50%;}100%{background-position:200% 50%;}}
  .hx-catch{background:linear-gradient(90deg,#0F7C5C,#0B7F86 25%,#1461D2 50%,#0B7F86 75%,#0F7C5C) 0 50%/200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:hx-up .9s cubic-bezier(.2,.7,.2,1) both, hx-shine 9s linear 1s infinite;}
  @keyframes hx-orb1{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-80px,40px) scale(1.15);}}
  @keyframes hx-orb2{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(60px,-50px) scale(.9);}}
  @keyframes hx-orb3{0%,100%{transform:translate(0,0);}50%{transform:translate(-40px,-60px);}}
  @keyframes hx-rise-far{0%{transform:translateY(0);opacity:0;}20%{opacity:.55;}80%{opacity:.45;}100%{transform:translateY(-560px);opacity:0;}}
  @keyframes hx-rise-mid{0%{transform:translateY(0);opacity:0;}15%{opacity:.95;}85%{opacity:.75;}100%{transform:translateY(-600px);opacity:0;}}
  @keyframes hx-rise-near{0%{transform:translate(0,0);opacity:0;}20%{opacity:.4;}50%{transform:translate(-30px,-340px);}80%{opacity:.3;}100%{transform:translate(10px,-700px);opacity:0;}}
  .hx-a{position:relative;overflow:hidden;background:#FAFAF8;}
  .hx-a .hx-anim{position:absolute;inset:0;pointer-events:none;}
  .hx-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.75;}
  .hx-p{position:absolute;bottom:-40px;border-radius:50%;animation-timing-function:linear;animation-iteration-count:infinite;}
  .hx-far{filter:blur(1.2px);animation-name:hx-rise-far;}
  .hx-mid{box-shadow:0 0 12px 3px rgba(83,229,218,.5);animation-name:hx-rise-mid;}
  .hx-near{animation-name:hx-rise-near;}
  @media (max-width:767px){ .hx-near{display:none;} }
  @media (prefers-reduced-motion:reduce){ .hx-in > *,.hx-catch,.hx-orb,.hx-p{animation:none !important;} .hx-p{display:none;} }

/* --- WordPress 用の追加 --- */
.admin-bar .site-header{top:32px !important;}
@media (max-width:782px){ .admin-bar .site-header{top:46px !important;} }
.g-nav a[aria-current="page"]{color:var(--ink) !important;font-weight:700;}
.nav-dd-panel a[aria-current="page"]{font-weight:700;}
.sp-panel a[aria-current="page"]{color:var(--pts-teal-deep);font-weight:700;}
.n-pager .dots{width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--ink-secondary);}
.n-body img{max-width:100%;height:auto;}
.n-body > *:first-child{margin-top:0;}
.n-pager > *{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--pts-tint-border);background:#FFFFFF;font-family:"Outfit",var(--font-heading);font-size:15px;box-sizing:border-box;color:var(--ink);}
.n-pager > .on{background:var(--pts-teal-deep);border-color:transparent;color:#FFFFFF;}
.n-pager > .dots{border:none;background:none;}


/* --- 重要なボタン：マウスを乗せると色が流れる --- */
.btn-primary{background:linear-gradient(90deg,var(--pts-green-deep) 0%,var(--brand-blue) 50%,var(--pts-green-deep) 100%);background-size:200% 100%;background-position:0 0;transition:background-position .6s ease,box-shadow .3s ease;}
.btn-primary:hover{background-position:100% 0;box-shadow:0 8px 20px -10px rgba(22,35,61,0.45);}
@media (prefers-reduced-motion:reduce){ .btn-primary{transition:none;} }

/* --- スクロールでふわっと表示（JSが動いたときだけ隠す） --- */
.rv{opacity:0;transform:translateY(28px);}
.rv.rv-ready{transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1);}
.rv.is-in{opacity:1;transform:none;}

/* サブのボタン：押せそうに見える立体感（マウスを乗せると沈む） */
.btn-ghost{box-shadow:0 2px 0 #B5D6D4;transition:transform .15s ease,box-shadow .15s ease;}
.btn-ghost:hover,.btn-ghost:active{transform:translateY(2px);box-shadow:0 0 0 #B5D6D4;}

/* グローバルメニューの「お問い合わせ」だけ、影と沈みを1pxに */
.btn-ghost.g-contact{box-shadow:0 1px 0 #B5D6D4;}
.btn-ghost.g-contact:hover,.btn-ghost.g-contact:active{transform:translateY(1px);box-shadow:0 0 0 #B5D6D4;}
