/* トップのヘッダー・フッターの意匠を下層へ引き継ぐ。本文へは適用しない。 */
:where(body>header,body>footer,body>div#c-ov){--ink:#21262D;--ink2:#171B21;--ivory:#F5F1E8;--ivory2:#EDE7D8;--paper:#FBF8F0;--brass:#A8842F;--brass-l:#CFA45C;--enji:#8E3D33;--head:#262420;--body:#4A463D;--note:#8C8576;--line:#E2DBC9;--board:#1d2126;--r-l:22px;--r-m:16px;--r-s:10px;--sh-s:0 1px 2px rgba(23,27,33,.04), 0 10px 24px -18px rgba(23,27,33,.22);--sh-m:0 2px 6px rgba(23,27,33,.05), 0 26px 52px -30px rgba(23,27,33,.34);--sh-l:0 6px 16px rgba(23,27,33,.06), 0 44px 88px -38px rgba(23,27,33,.42);--ease:cubic-bezier(.22,1,.36,1);}
:where(body>header,body>footer,body>div#c-ov) .c-bob{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none;
  background:radial-gradient(circle at 34% 30%,#f0d9a8,var(--brass) 55%,#7e5c28 100%);}
body>header.c-hd{position:sticky;top:0;z-index:60;background:rgba(245,241,232,.86);
  backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);
  box-shadow:0 1px 0 rgba(33,38,45,.06);transition:box-shadow .4s var(--ease),background .4s var(--ease);}
body.is-scrolled .c-hd{background:rgba(245,241,232,.92);box-shadow:0 1px 0 rgba(33,38,45,.05),0 14px 34px -22px rgba(33,38,45,.4);}
:where(body>header,body>footer,body>div#c-ov) .c-hd__in{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 28px;transition:padding .4s var(--ease);}
body.is-scrolled .c-hd__in{padding:9px 28px;}
:where(body>header,body>footer,body>div#c-ov) .c-hd__logo{display:flex;align-items:center;}
:where(body>header,body>footer,body>div#c-ov) .c-hd__logo img{height:42px;width:auto;transition:height .4s var(--ease);}
body.is-scrolled .c-hd__logo img{height:34px;}
:where(body>header,body>footer,body>div#c-ov) .c-hd__right{display:flex;align-items:center;gap:26px;}
:where(body>header,body>footer,body>div#c-ov) .c-hd__nav{display:flex;gap:8px;}
:where(body>header,body>footer,body>div#c-ov) .c-hd__nav a{color:var(--head);text-decoration:none;font-size:14px;font-weight:700;letter-spacing:.04em;position:relative;white-space:nowrap;padding:12px 10px;border-radius:var(--r-s);transition:color .25s;}
:where(body>header,body>footer,body>div#c-ov) .c-hd__nav a::after{content:"";position:absolute;left:10px;right:10px;bottom:6px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--brass),var(--brass-l));transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease);}
:where(body>header,body>footer,body>div#c-ov) .c-hd__nav a:hover{color:var(--brass);}
:where(body>header,body>footer,body>div#c-ov) .c-hd__nav a:hover::after{transform:scaleX(1);}
:where(body>header,body>footer,body>div#c-ov) .c-hd__nav a[aria-current="page"]{color:var(--brass);}
:where(body>header,body>footer,body>div#c-ov) .c-hd__nav a[aria-current="page"]::after{transform:scaleX(1);}
:where(body>header,body>footer,body>div#c-ov) .c-hd__conv{display:flex;align-items:center;gap:14px;}
:where(body>header,body>footer,body>div#c-ov) .c-hd__tel{text-align:right;line-height:1.1;}
:where(body>header,body>footer,body>div#c-ov) .c-hd__tel .num{font-family:'Space Grotesk',monospace;font-weight:700;font-size:20px;color:var(--ink);text-decoration:none;}
:where(body>header,body>footer,body>div#c-ov) .c-hd__tel .h{font-size:10px;color:var(--note);}
:where(body>header,body>footer,body>div#c-ov) .c-hd__cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;
  background:linear-gradient(115deg,#C94E58 0%,#D76A3C 32%,#B57A1E 54%,#C85C7A 78%,#A9466B 100%);color:#fff;font-weight:700;font-size:14px;letter-spacing:.04em;
  padding:12px 24px;border-radius:999px;text-decoration:none;white-space:nowrap;
  box-shadow:0 2px 4px rgba(201,78,88,.18),0 12px 24px -10px rgba(169,70,107,.48);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
:where(body>header,body>footer,body>div#c-ov) .c-hd__cta:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(201,78,88,.22),0 18px 32px -12px rgba(169,70,107,.58);}
:where(body>header,body>footer,body>div#c-ov) .c-hd__line{height:2px;background:linear-gradient(90deg,transparent,var(--brass) 18%,var(--brass-l) 50%,var(--enji) 82%,transparent);opacity:.8;}
:where(body>header,body>footer,body>div#c-ov) .c-burger{display:none;position:relative;z-index:80;width:50px;height:50px;border:none;border-radius:50%;background:var(--ink);cursor:pointer;}
:where(body>header,body>footer,body>div#c-ov) .c-burger i{position:absolute;left:50%;top:50%;width:19px;height:2px;background:#fff;transform:translate(-50%,-50%);transition:transform .4s,opacity .3s;}
:where(body>header,body>footer,body>div#c-ov) .c-burger i:nth-child(1){transform:translate(-50%,calc(-50% - 6px));}
:where(body>header,body>footer,body>div#c-ov) .c-burger i:nth-child(3){transform:translate(-50%,calc(-50% + 6px));}
body.c-menuopen .c-burger i:nth-child(1){transform:translate(-50%,-50%) rotate(45deg);}
body.c-menuopen .c-burger i:nth-child(2){opacity:0;}
body.c-menuopen .c-burger i:nth-child(3){transform:translate(-50%,-50%) rotate(-45deg);}
body>div.c-ov{position:fixed;inset:0;z-index:70;background:
    radial-gradient(60% 60% at 22% 80%, rgba(207,164,92,.16) 0%, transparent 60%),
    linear-gradient(150deg,var(--ink) 0%,var(--ink2) 100%);
  clip-path:circle(0px at calc(100% - 50px) 40px);
  transition:clip-path .75s cubic-bezier(.72,0,.18,1);visibility:hidden;}
body.c-menuopen .c-ov{clip-path:circle(150% at calc(100% - 50px) 40px);visibility:visible;}
:where(body>header,body>footer,body>div#c-ov) .c-ov__in{height:100%;display:flex;flex-direction:column;justify-content:center;max-width:1100px;margin:0 auto;padding:0 48px;}
:where(body>header,body>footer,body>div#c-ov) .c-ov__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 60px;}
:where(body>header,body>footer,body>div#c-ov) .c-ov__list a{display:flex;align-items:center;gap:16px;color:var(--ivory);text-decoration:none;padding:14px 0;
  opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s cubic-bezier(.22,1,.36,1),color .3s;}
body.c-menuopen .c-ov__list li:nth-child(1) a{transition-delay:.35s;}
body.c-menuopen .c-ov__list li:nth-child(2) a{transition-delay:.42s;}
body.c-menuopen .c-ov__list li:nth-child(3) a{transition-delay:.49s;}
body.c-menuopen .c-ov__list li:nth-child(4) a{transition-delay:.56s;}
body.c-menuopen .c-ov__list li:nth-child(5) a{transition-delay:.63s;}
body.c-menuopen .c-ov__list li:nth-child(6) a{transition-delay:.7s;}
body.c-menuopen .c-ov__list li:nth-child(7) a{transition-delay:.77s;}
body.c-menuopen .c-ov__list a{opacity:1;transform:none;}
:where(body>header,body>footer,body>div#c-ov) .c-ov__list a:hover{color:var(--brass-l);}
:where(body>header,body>footer,body>div#c-ov) .c-ov__tx{font-family:'Shippori Mincho',serif;font-weight:700;font-size:clamp(22px,3.2vw,34px);letter-spacing:.06em;}
:where(body>header,body>footer,body>div#c-ov) .c-ov__en{font-family:'Space Grotesk',monospace;font-size:10px;letter-spacing:.26em;color:rgba(245,241,232,.5);}
:where(body>header,body>footer,body>div#c-ov) .c-ov__foot{display:flex;gap:24px;margin-top:42px;opacity:0;transition:opacity .6s ease .8s;
  font-family:'Space Grotesk',monospace;font-size:10.5px;letter-spacing:.2em;color:rgba(245,241,232,.55);flex-wrap:wrap;}
body.c-menuopen .c-ov__foot{opacity:1;}
:where(body>header,body>footer,body>div#c-ov) .c-ov__foot a{color:var(--brass-l);text-decoration:none;}
:where(body>header,body>footer,body>div#c-ov) .c-msg__ln.who .nm{font-family:'Shippori Mincho',serif;font-size:clamp(19px,2.6vw,28px);letter-spacing:.34em;color:#51483F;}
:where(body>header,body>footer,body>div#c-ov) .c-msg__sign .nm{display:block;font-family:'Shippori Mincho',serif;font-size:22px;letter-spacing:.3em;color:#51483F;margin-top:10px;}
:where(body>header,body>footer,body>div#c-ov) .c-voice__by .nm{font-weight:700;font-size:15px;color:var(--head);}
:where(body>header,body>footer,body>div#c-ov) .c-staffsec__card .meta .nm{font-family:'Shippori Mincho',serif;font-size:21px;font-weight:700;margin-top:8px;color:var(--head);}
:where(body>header,body>footer,body>div#c-ov) .c-staffsec__card .meta .nm small{font-size:13px;font-weight:400;color:var(--note);margin-left:4px;}
:where(body>header,body>footer,body>div#c-ov) .c-vs__cmp .lbl{grid-column:1/-1;font-family:'Space Grotesk',monospace;font-size:11px;letter-spacing:.12em;color:var(--note);text-transform:uppercase;margin-bottom:-6px;}
:where(body>header,body>footer,body>div#c-ov) .c-price__plan .btn{display:flex;align-items:center;justify-content:center;min-height:48px;text-align:center;background:transparent;border:1.5px solid var(--ink);color:var(--ink);font-weight:700;font-size:14px;padding:12px;border-radius:99px;text-decoration:none;transition:background .3s,color .3s;}
:where(body>header,body>footer,body>div#c-ov) .c-price__plan .btn:hover{background:var(--ink);color:#fff;}
:where(body>header,body>footer,body>div#c-ov) .c-price__plan.reco .btn{background:#fff;border-color:#fff;color:#B84E4E;}
:where(body>header,body>footer,body>div#c-ov) .c-price__plan.reco .btn:hover{background:#51483F;border-color:#51483F;color:#fff;}
:where(body>header,body>footer,body>div#c-ov) .c-cta__tel .num{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(26px,4.2vw,42px);letter-spacing:.04em;color:#51483F;text-decoration:none;}
body>footer.c-ft{position:relative;}
:where(body>header,body>footer,body>div#c-ov) .c-ft__cta{position:relative;color:#fff;overflow:hidden;background:
  radial-gradient(circle at 15% 15%,rgba(255,220,145,.34) 0%,transparent 30%),
  linear-gradient(120deg,#C94E58 0%,#D76A3C 28%,#B57A1E 50%,#C85C7A 76%,#A9466B 100%);}
:where(body>header,body>footer,body>div#c-ov) .c-ft__cta::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1px);background-size:24px 24px;opacity:.5;-webkit-mask-image:linear-gradient(120deg,#000,transparent 70%);}
:where(body>header,body>footer,body>div#c-ov) .c-ft__cta .in{position:relative;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.4fr auto;gap:30px;align-items:center;padding:60px 32px;}
:where(body>header,body>footer,body>div#c-ov) .c-ft__cta .lbl{font-family:'Space Grotesk',monospace;font-size:12px;letter-spacing:.24em;opacity:.85;}
:where(body>header,body>footer,body>div#c-ov) .c-ft__cta h2{font-family:'Shippori Mincho',serif;font-weight:700;font-size:clamp(26px,4vw,44px);margin:10px 0 0;line-height:1.4;}
:where(body>header,body>footer,body>div#c-ov) .c-ft__cta .sub{font-size:14px;opacity:.88;margin-top:12px;}
:where(body>header,body>footer,body>div#c-ov) .c-ft__cta .actions{display:flex;flex-direction:column;gap:14px;}
:where(body>header,body>footer,body>div#c-ov) .c-ft__cta .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;background:#fff;color:#B84E4E;font-weight:700;font-size:15px;letter-spacing:.04em;padding:18px 40px;border-radius:999px;text-decoration:none;box-shadow:0 18px 36px -16px rgba(169,70,107,.4);transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
:where(body>header,body>footer,body>div#c-ov) .c-ft__cta .btn:hover{transform:translateY(-3px);box-shadow:0 24px 44px -18px rgba(169,70,107,.48);}
:where(body>header,body>footer,body>div#c-ov) .c-ft__cta .tel{text-align:center;font-family:'Space Grotesk',monospace;font-weight:700;font-size:22px;color:#fff;text-decoration:none;display:block;}
:where(body>header,body>footer,body>div#c-ov) .c-ft__cta .tel small{display:block;font-family:'Zen Kaku Gothic New';font-weight:400;font-size:11px;opacity:.85;letter-spacing:.04em;}
:where(body>header,body>footer,body>div#c-ov) .c-ft__info{color:#51483F;background:
  radial-gradient(circle at 10% 18%,rgba(255,193,116,.38) 0%,transparent 32%),
  radial-gradient(circle at 88% 24%,rgba(232,139,174,.3) 0%,transparent 34%),
  linear-gradient(135deg,#FFF8E3 0%,#FBEADF 48%,#FBE7F0 100%);}
:where(body>header,body>footer,body>div#c-ov) .c-ft__info .in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.2fr 2fr;gap:40px;padding:48px 32px 30px;}
:where(body>header,body>footer,body>div#c-ov) .c-ft__brand .nm img{height:38px;width:auto;}
:where(body>header,body>footer,body>div#c-ov) .c-ft__brand p{color:#7D746A;font-size:13px;max-width:24em;margin:14px 0 18px;line-height:1.8;}
:where(body>header,body>footer,body>div#c-ov) .c-ft__brand .nap{font-size:12.5px;color:#6F685F;line-height:1.9;}
:where(body>header,body>footer,body>div#c-ov) .c-ft__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
:where(body>header,body>footer,body>div#c-ov) .c-ft__col h4{font-family:'Space Grotesk',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#C35E4F;margin:0 0 12px;}
:where(body>header,body>footer,body>div#c-ov) .c-ft__col a{display:block;color:#51483F;text-decoration:none;font-size:13.5px;padding:9px 0;opacity:.82;transition:opacity .25s,color .25s,transform .3s var(--ease);}
:where(body>header,body>footer,body>div#c-ov) .c-ft__col a:hover{opacity:1;color:#C85C7A;transform:translateX(3px);}
:where(body>header,body>footer,body>div#c-ov) .c-ft__bottom{border-top:1px solid rgba(81,72,63,.12);}
:where(body>header,body>footer,body>div#c-ov) .c-ft__bottom .in{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:18px 32px;flex-wrap:wrap;gap:8px;}
:where(body>header,body>footer,body>div#c-ov) .c-ft__bottom .cp{font-family:'Space Grotesk',monospace;font-size:12px;color:#7D746A;}
:where(body>header,body>footer,body>div#c-ov) .c-ft__bottom .legal{display:flex;gap:18px;}
:where(body>header,body>footer,body>div#c-ov) .c-ft__bottom .legal a{color:#7D746A;text-decoration:none;font-size:12px;}
@media(max-width:820px){:where(body>header,body>footer,body>div#c-ov) .c-ft__cta .in{grid-template-columns:1fr;}
:where(body>header,body>footer,body>div#c-ov) .c-ft__info .in{grid-template-columns:1fr;gap:28px;}
:where(body>header,body>footer,body>div#c-ov) .c-ft__cols{grid-template-columns:1fr 1fr;}}
@media(max-width:1080px){:where(body>header,body>footer,body>div#c-ov) .c-hd__nav{display:none;}
:where(body>header,body>footer,body>div#c-ov) .c-burger{display:block;}}
@media(max-width:600px){:where(body>header,body>footer,body>div#c-ov) .c-hd__tel{display:none;}
:where(body>header,body>footer,body>div#c-ov) .c-hd__in{padding:12px 20px;}
body.is-scrolled .c-hd__in{padding:8px 20px;}}
@media(max-width:480px){:where(body>header,body>footer,body>div#c-ov) .c-ov__list{grid-template-columns:1fr;}
:where(body>header,body>footer,body>div#c-ov) .c-ov__in{padding:0 32px;}
:where(body>header,body>footer,body>div#c-ov) .c-ft__cta .in,:where(body>header,body>footer,body>div#c-ov) .c-ft__info .in,:where(body>header,body>footer,body>div#c-ov) .c-ft__bottom .in{padding-left:20px;padding-right:20px;}}