/* =============================================================
   施術内容ページ — .tx-page でスコープ
   ============================================================= */
.tx-page {
  --tx-b50:#F0F4FA;--tx-b100:#DCE5F4;--tx-b200:#B8CBE8;--tx-b300:#8AAAD6;
  --tx-b400:#5C89C4;--tx-b500:#3A6DAE;--tx-b600:#1E4F8E;--tx-b700:#183F72;
  --tx-b800:#123058;--tx-b900:#0C2240;
  --tx-gold:#C5A55A;--tx-gold-lt:#DCC88E;
  --tx-g50:#F5F6F8;--tx-g100:#ECEEF2;--tx-g200:#DDE0E6;--tx-g300:#BFC3CC;
  --tx-g400:#9A9FAB;--tx-g500:#787E8A;--tx-g600:#5E636E;--tx-g700:#464A54;
  --tx-g800:#32363E;--tx-g900:#1F2228;--tx-w:#FFFFFF;
  --tx-fd:'Cormorant Garamond','Noto Serif JP',serif;
  --tx-fh:'Noto Serif JP','Hiragino Mincho ProN',serif;
  --tx-fb:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif;
}
.tx-page {
  font-family:var(--tx-fb)!important;font-weight:300!important;
  color:var(--tx-g800)!important;line-height:1.8!important;
  letter-spacing:0.03em!important;-webkit-font-smoothing:antialiased;
  margin-top:-8em!important;margin-bottom:-6em!important;padding:0!important;
}
.tx-page *,.tx-page *::before,.tx-page *::after{box-sizing:border-box!important;}

/* Hero */
.tx-page .tx-hero{
  position:relative!important;
  background:linear-gradient(135deg,var(--tx-b800) 0%,var(--tx-b600) 50%,var(--tx-b500) 100%)!important;
  padding:clamp(5rem,12vw,9rem) 2rem clamp(3rem,8vw,5rem)!important;
  text-align:center!important;overflow:hidden!important;
  margin:0!important;border:none!important;
  margin-left:calc(-50vw + 50%)!important;margin-right:calc(-50vw + 50%)!important;
  width:100vw!important;
}
.tx-page .tx-hero::before{
  content:''!important;position:absolute!important;top:-50%!important;right:-20%!important;
  width:600px!important;height:600px!important;border-radius:50%!important;
  background:radial-gradient(circle,rgba(197,165,90,0.08) 0%,transparent 70%)!important;
  pointer-events:none!important;
}
.tx-page .tx-hero::after{
  content:''!important;position:absolute!important;bottom:0!important;left:0!important;
  width:100%!important;height:80px!important;
  background:linear-gradient(180deg,transparent,var(--tx-w))!important;
  pointer-events:none!important;
}
.tx-page .tx-hero__en{
  font-family:var(--tx-fd)!important;font-size:clamp(0.7rem,1.2vw,0.82rem)!important;
  font-weight:400!important;letter-spacing:0.35em!important;text-transform:uppercase!important;
  color:var(--tx-gold-lt)!important;margin:0 0 1rem 0!important;
  padding:0!important;border:none!important;background:none!important;
}
.tx-page .tx-hero__title{
  font-family:var(--tx-fh)!important;font-size:clamp(1.6rem,4vw,2.4rem)!important;
  font-weight:400!important;letter-spacing:0.15em!important;color:var(--tx-w)!important;
  margin:0!important;padding:0!important;border:none!important;background:none!important;
}
.tx-page .tx-hero__line{
  display:block!important;width:40px!important;height:1px!important;
  background:linear-gradient(90deg,var(--tx-gold),var(--tx-gold-lt))!important;
  margin:1.5rem auto 0!important;border:none!important;
}

/* Container */
.tx-page .tx-con{max-width:960px!important;margin:0 auto!important;padding:0 clamp(1.5rem,4vw,3rem)!important;}
.tx-page .tx-sec{padding:clamp(3rem,7vw,5rem) 0!important;margin:0!important;border:none!important;background:none!important;}

/* Anchor Nav */
.tx-page .tx-nav{max-width:960px!important;margin:0 auto!important;padding:2.5rem clamp(1.5rem,4vw,3rem) 0!important;}
.tx-page .tx-nav__grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:0.8rem!important;list-style:none!important;margin:0!important;padding:0!important;}
.tx-page .tx-nav__item{list-style:none!important;margin:0!important;padding:0!important;}
.tx-page .tx-nav__item a{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:0.4rem!important;padding:1rem 0.5rem!important;background:var(--tx-w)!important;border:1px solid var(--tx-g100)!important;border-radius:8px!important;text-decoration:none!important;transition:all 0.25s ease!important;min-height:80px!important;}
.tx-page .tx-nav__item a:hover{border-color:var(--tx-b300)!important;background:var(--tx-b50)!important;transform:translateY(-2px)!important;box-shadow:0 4px 16px rgba(30,79,142,0.08)!important;}
.tx-page .tx-nav__num{font-family:var(--tx-fb)!important;font-size:0.65rem!important;font-weight:400!important;letter-spacing:0.2em!important;color:var(--tx-b400)!important;margin:0!important;padding:0!important;border:none!important;background:none!important;}
.tx-page .tx-nav__name{font-family:var(--tx-fh)!important;font-size:0.78rem!important;font-weight:500!important;letter-spacing:0.04em!important;color:var(--tx-g800)!important;margin:0!important;padding:0!important;border:none!important;background:none!important;text-align:center!important;}

/* Section Header */
.tx-page .tx-sh{display:flex!important;align-items:center!important;gap:1.2rem!important;margin:0 0 2rem 0!important;padding:0 0 1.2rem 0!important;border:none!important;border-bottom:1px solid var(--tx-g100)!important;background:none!important;}
.tx-page .tx-sh__num{width:44px!important;height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:var(--tx-b600)!important;color:var(--tx-w)!important;font-family:var(--tx-fb)!important;font-size:0.9rem!important;font-weight:600!important;border-radius:50%!important;flex-shrink:0!important;}
.tx-page .tx-sh__text{flex:1!important;}
.tx-page .tx-sh__en{font-family:var(--tx-fb)!important;font-size:0.68rem!important;font-weight:400!important;letter-spacing:0.3em!important;text-transform:uppercase!important;color:var(--tx-b500)!important;margin:0 0 0.15rem 0!important;padding:0!important;border:none!important;background:none!important;}
.tx-page .tx-sh__ja{font-family:var(--tx-fh)!important;font-size:clamp(1.1rem,2vw,1.4rem)!important;font-weight:500!important;letter-spacing:0.08em!important;color:var(--tx-g900)!important;margin:0!important;padding:0!important;border:none!important;border-left:none!important;background:none!important;border-radius:0!important;}
.tx-page .tx-sh__sub{font-size:0.78rem!important;color:var(--tx-g400)!important;margin:0.2rem 0 0 0!important;padding:0!important;border:none!important;background:none!important;}

/* Desc */
.tx-page .tx-desc{font-size:0.88rem!important;line-height:2!important;color:var(--tx-g600)!important;margin:0 0 2rem 0!important;padding:0!important;border:none!important;background:none!important;}

/* Items */
.tx-page .tx-items{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))!important;gap:1rem!important;list-style:none!important;margin:0!important;padding:0!important;}
.tx-page .tx-item{display:flex!important;align-items:center!important;gap:0.8rem!important;padding:1rem 1.2rem!important;background:var(--tx-b50)!important;border:1px solid var(--tx-b100)!important;border-radius:8px!important;list-style:none!important;margin:0!important;}
.tx-page .tx-item__dot{width:6px!important;height:6px!important;border-radius:50%!important;background:var(--tx-b500)!important;flex-shrink:0!important;}
.tx-page .tx-item__name{font-family:var(--tx-fh)!important;font-size:0.9rem!important;font-weight:500!important;color:var(--tx-g800)!important;margin:0!important;padding:0!important;border:none!important;background:none!important;}

/* Detail Card */
.tx-page .tx-detail{background:var(--tx-w)!important;border:1px solid var(--tx-g100)!important;border-radius:10px!important;padding:1.5rem!important;margin:0 0 1rem 0!important;}
.tx-page .tx-detail__title{font-family:var(--tx-fh)!important;font-size:0.95rem!important;font-weight:500!important;color:var(--tx-g900)!important;margin:0 0 0.5rem 0!important;padding:0 0 0.5rem 0!important;border:none!important;border-bottom:1px solid var(--tx-g100)!important;background:none!important;border-left:none!important;border-radius:0!important;}
.tx-page .tx-detail__text{font-size:0.84rem!important;line-height:1.8!important;color:var(--tx-g600)!important;margin:0!important;padding:0!important;border:none!important;background:none!important;}

/* Penguin */
.tx-page .tx-penguin-hero{display:grid!important;grid-template-columns:1fr 1fr!important;gap:clamp(2rem,4vw,3rem)!important;align-items:center!important;margin:0 0 3rem 0!important;}
.tx-page .tx-penguin-hero__img{border-radius:10px!important;overflow:hidden!important;border:none!important;padding:0!important;margin:0!important;}
.tx-page .tx-penguin-hero__img img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important;}
.tx-page .tx-penguin-hero__text{padding:0!important;}
.tx-page .tx-penguin-badge{display:inline-block!important;font-family:var(--tx-fb)!important;font-size:0.72rem!important;font-weight:500!important;letter-spacing:0.1em!important;color:var(--tx-w)!important;background:var(--tx-b600)!important;padding:4px 14px!important;border-radius:20px!important;margin:0 0 1rem 0!important;}
.tx-page .tx-penguin-title{font-family:var(--tx-fh)!important;font-size:clamp(1.3rem,3vw,1.8rem)!important;font-weight:500!important;letter-spacing:0.08em!important;color:var(--tx-g900)!important;margin:0 0 1rem 0!important;padding:0!important;border:none!important;border-left:none!important;background:none!important;border-radius:0!important;}
.tx-page .tx-penguin-lead{font-size:0.88rem!important;line-height:2!important;color:var(--tx-g600)!important;margin:0!important;padding:0!important;border:none!important;background:none!important;}
.tx-page .tx-func-grid{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:1.2rem!important;margin:0!important;padding:0!important;}
.tx-page .tx-func{background:var(--tx-w)!important;border:1px solid var(--tx-g100)!important;border-radius:10px!important;overflow:hidden!important;margin:0!important;padding:0!important;}
.tx-page .tx-func__img{aspect-ratio:4/3!important;overflow:hidden!important;background:var(--tx-b50)!important;}
.tx-page .tx-func__img img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important;}
.tx-page .tx-func__body{padding:1rem 1.2rem 1.2rem!important;}
.tx-page .tx-func__num{font-family:var(--tx-fb)!important;font-size:0.65rem!important;font-weight:600!important;letter-spacing:0.15em!important;color:var(--tx-b500)!important;margin:0 0 0.2rem 0!important;padding:0!important;border:none!important;background:none!important;}
.tx-page .tx-func__name{font-family:var(--tx-fh)!important;font-size:0.92rem!important;font-weight:500!important;color:var(--tx-g900)!important;margin:0 0 0.5rem 0!important;padding:0!important;border:none!important;background:none!important;border-left:none!important;border-radius:0!important;}
.tx-page .tx-func__desc{font-size:0.78rem!important;line-height:1.7!important;color:var(--tx-g500)!important;margin:0!important;padding:0!important;border:none!important;background:none!important;}

/* Divider */
.tx-page .tx-div{display:flex!important;align-items:center!important;justify-content:center!important;gap:1rem!important;padding:0 2rem!important;margin:0!important;border:none!important;background:none!important;}
.tx-page .tx-div::before,.tx-page .tx-div::after{content:''!important;flex:1!important;height:1px!important;max-width:160px!important;border:none!important;}
.tx-page .tx-div::before{background:linear-gradient(90deg,transparent,var(--tx-b200))!important;}
.tx-page .tx-div::after{background:linear-gradient(90deg,var(--tx-b200),transparent)!important;}
.tx-page .tx-div__d{width:6px!important;height:6px!important;background:var(--tx-gold)!important;transform:rotate(45deg)!important;flex-shrink:0!important;border:none!important;padding:0!important;margin:0!important;}

/* CTA */
.tx-page .tx-cta{text-align:center!important;padding:clamp(2rem,4vw,3rem) 2rem!important;margin:0!important;background:linear-gradient(135deg,var(--tx-b50) 0%,var(--tx-b100) 100%)!important;border:none!important;margin-left:calc(-50vw + 50%)!important;margin-right:calc(-50vw + 50%)!important;width:100vw!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;}
.tx-page .tx-cta__text{font-family:var(--tx-fh)!important;font-size:1rem!important;font-weight:400!important;color:var(--tx-g700)!important;letter-spacing:0.05em!important;margin:0 0 2rem 0!important;padding:0!important;line-height:2!important;border:none!important;background:none!important;}
.tx-page .tx-cta__btn{display:inline-flex!important;align-items:center!important;gap:0.6rem!important;padding:16px 44px!important;font-family:var(--tx-fb)!important;font-size:0.88rem!important;font-weight:400!important;letter-spacing:0.15em!important;color:var(--tx-w)!important;background:linear-gradient(135deg,var(--tx-b600),var(--tx-b700))!important;border:none!important;border-radius:50px!important;text-decoration:none!important;box-shadow:0 4px 20px rgba(30,79,142,0.25)!important;cursor:pointer!important;}
.tx-page .tx-cta__btn svg{width:16px!important;height:16px!important;stroke:currentColor!important;fill:none!important;stroke-width:2!important;}

/* Responsive */
@media(max-width:768px){
  .tx-page .tx-nav__grid{grid-template-columns:repeat(2,1fr)!important;}
  .tx-page .tx-items{grid-template-columns:1fr!important;}
  .tx-page .tx-penguin-hero{grid-template-columns:1fr!important;}
  .tx-page .tx-func-grid{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:480px){
  .tx-page .tx-func-grid{grid-template-columns:1fr!important;}
}
