
  
  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;}
  .jump-nav a{font-size:14px;color:var(--ink-secondary);padding:8px 4px;border-bottom:2px solid transparent;}
  .avatar{width:56px;height:56px;border-radius:50%;background:var(--surface-200);border:1px solid var(--border);flex-shrink:0;}
  .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);}
  .r-hero{position:relative;background:#FAFAF8 url(../img/up-6465c5bc21.webp) center/cover no-repeat;overflow:hidden;}
  .r-fx{position:absolute;inset:0;width:100%;height:100%;}
  @media (prefers-reduced-motion:reduce){.r-fx g{display:none;}}
  .r-hero-inner{position:relative;z-index:1;max-width:1240px;margin:0 auto;padding:96px 40px 200px;min-height:600px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;}
  .r-hero-copy{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px;}
  .r-giant{position:absolute;left:50%;bottom:-0.18em;transform:translateX(-50%);font-family:"Outfit",var(--font-heading);font-weight:600;font-size:220px;letter-spacing:0.04em;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,0.8);white-space:nowrap;pointer-events:none;}
  .r-en{font-family:"Outfit",var(--font-heading);font-weight:600;letter-spacing:0.04em;background:linear-gradient(90deg,#0F7C5C,#0B7F86 45%,#1461D2);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .r-head{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;}
  .r-head .r-en{font-size:48px;line-height:1.1;}
  .r-head h2{margin:0;font-size:16px;font-weight:700;color:var(--ink-secondary);letter-spacing:0.1em;}
  .r-jump{position:sticky;top:64px;z-index:9;background:rgba(250,250,248,0.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--pts-tint-border);}
  .r-jump div{max-width:1120px;margin:0 auto;padding:0 40px;display:flex;justify-content:center;gap:32px;overflow-x:auto;}
  .r-jump a{padding:16px 0;font-size:15px;font-weight:700;color:var(--pts-green-deep);white-space:nowrap;border-bottom:2px solid transparent;transition:border-color .2s ease;}
  .r-jump a:hover{border-bottom-color:var(--pts-green-deep);}
  .r-msg{max-width:860px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px;}
  .r-msg-main{margin:0;font-family:var(--font-heading);font-size:36px;font-weight:700;line-height:1.6;}
  .r-line{width:64px;height:4px;border-radius:2px;background:linear-gradient(90deg,#2ED68A,#22C3C9,#3D7FDB);}
  .r-people{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#FFFFFF;border:1px solid var(--pts-tint-border);border-radius:16px;}
  .r-person{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:32px 22px;}
  .r-person + .r-person{border-left:1px solid var(--pts-tint-border);}
  .r-person b{font-size:17px;line-height:1.6;}
  .r-voices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
  .r-voice{background:#FFFFFF;border:1px solid var(--pts-tint-border);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:16px;}
  .r-avatar{width:72px;height:72px;border-radius:50%;background:var(--pts-tint);border:1px solid var(--pts-tint-border);display:flex;align-items:center;justify-content:center;color:var(--pts-teal-deep);flex:none;}
  .r-voice-q{position:relative;font-size:15px;line-height:1.9;}
  .r-env{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
  .r-env-item{background:#FFFFFF;border:1px solid var(--pts-tint-border);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:12px;}
  .r-bar{width:32px;height:3px;border-radius:2px;background:linear-gradient(90deg,#2ED68A,#22C3C9);}
  .r-sample{border:2px dashed #E3B341;border-radius:14px;background:#FFFBEF;padding:24px;display:flex;flex-direction:column;gap:14px;}
  .r-sample table{width:100%;border-collapse:collapse;font-size:14px;background:#FFFFFF;}
  .r-sample th,.r-sample td{border:1px solid #EADFC0;padding:10px 14px;text-align:left;}
  .r-sample th{background:#FFF4D6;}
  .r-table{max-width:860px;margin:0 auto;width:100%;border-top:1px solid var(--pts-tint-border);}
  .r-row{display:grid;grid-template-columns:160px 1fr;border-bottom:1px solid var(--pts-tint-border);}
  .r-row > div{padding:18px 20px;font-size:15px;line-height:1.8;}
  .r-row > div:first-child{color:var(--ink-secondary);font-weight:700;}
  .r-faq{max-width:860px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:12px;}
  .r-faq details{background:#FFFFFF;border:1px solid var(--pts-tint-border);border-radius:12px;padding:0 24px;}
  .r-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:20px 0;font-weight:700;font-size:16px;}
  .r-faq summary::-webkit-details-marker{display:none;}
  .r-faq summary::after{content:"+";margin-left:auto;font-family:"Outfit",var(--font-heading);font-size:24px;color:var(--pts-teal-deep);}
  .r-faq details[open] summary::after{content:"−";}
  .r-q{font-family:"Outfit",var(--font-heading);color:var(--pts-teal-deep);font-size:18px;}
  .r-faq p{margin:0 0 20px 32px;font-size:15px;line-height:1.9;color:var(--ink-secondary);}
  .r-cta{border-radius:20px;padding:56px 40px;text-align:center;background:linear-gradient(135deg,var(--pts-green-deep),var(--brand-blue));color:#FFFFFF;display:flex;flex-direction:column;align-items:center;gap:18px;}
  @media (max-width:1023px){
    .r-giant{font-size:140px;}
    .r-people{grid-template-columns:1fr 1fr;}
    .r-person:nth-child(3){border-left:none;}
    .r-person:nth-child(n+3){border-top:1px solid var(--pts-tint-border);}
    .r-voices,.r-env{grid-template-columns:1fr;}
  }
  @media (max-width:767px){
    .r-hero-inner{padding:64px 20px 110px;min-height:0;}
    .r-giant{font-size:84px;}
    .r-hero-copy h1{font-size:26px !important;}
    .r-msg-main{font-size:24px;}
    .r-people{grid-template-columns:1fr;}
    .r-person + .r-person{border-left:none;border-top:1px solid var(--pts-tint-border);}
    .r-row{grid-template-columns:1fr;}
  }
  .r-gallery{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;gap:16px;height:520px;}
  .r-gallery figure{margin:0;position:relative;border-radius:16px;overflow:hidden;background:#FFFFFF;}
  .r-gallery figure.big{grid-row:1 / 3;}
  .r-gimg{position:absolute;inset:0;background-size:cover;background-position:center;}
  .r-gallery figcaption{position:absolute;left:12px;bottom:12px;padding:6px 14px;border-radius:9999px;background:rgba(255,255,255,0.92);font-size:14px;font-weight:700;}
  @media (max-width:767px){ .r-gallery{grid-template-columns:1fr;grid-template-rows:none;height:auto;} .r-gallery figure{aspect-ratio:4/3;} .r-gallery figure.big{grid-row:auto;} }

  .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;}
  }
  @media (max-width:767px){ .r-head .r-en{font-size:34px;} }

  .r-prize{display:flex;flex-direction:column;gap:16px;padding:32px 36px;border-radius:16px;background:#FFFFFF;border:1px solid var(--pts-tint-border);}
  .r-prize-top{display:flex;flex-wrap:wrap;align-items:center;gap:12px;}
  .r-prize-list{display:flex;flex-direction:column;border-top:1px solid var(--pts-tint-border);}
  .r-prize-row{display:grid;grid-template-columns:52px 120px minmax(0,1fr);align-items:center;gap:20px;padding:16px 0;border-bottom:1px solid var(--pts-tint-border);}
  .r-prize-rank{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#FFFFFF;font-family:"Outfit",var(--font-heading);font-size:20px;font-weight:600;}
  .r-prize-amt{font-size:15px;font-weight:700;color:var(--ink);white-space:nowrap;}
  .r-prize-amt b{font-family:"Outfit",var(--font-heading);font-size:30px;font-weight:600;margin-right:2px;}
  .r-prize-certs{display:flex;flex-wrap:wrap;gap:8px;}
  .r-prize-certs span{padding:6px 12px;border-radius:8px;background:var(--pts-tint);font-size:14px;line-height:1.5;}
  .r-prize-certs em{font-style:normal;font-size:13px;color:var(--brand-blue);}
  @media (max-width:767px){ .r-prize{padding:24px 18px;} .r-prize-row{grid-template-columns:44px minmax(0,1fr);gap:8px 14px;} .r-prize-rank{width:40px;height:40px;font-size:18px;} .r-prize-certs{grid-column:1 / -1;} .r-prize-certs span{font-size:13px;} }

  .r-prize-notes{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:13px;line-height:1.7;color:var(--ink-secondary);}
  .r-prize-notes li::before{content:"※";margin-right:2px;}

  .r-prize-certs small{display:block;font-size:11px;color:var(--ink-secondary);}


/* --- 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;} }

/* サブのボタン：押せそうに見える立体感（マウスを乗せると沈む） */
.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;}
