/* ===== .part-bg ← 0.13_W-190_R.design＋ 流体背景__0.html ===== */
.part-bg,.part-bg *{box-sizing:border-box}
.part-bg,.part-bg{margin:0;width:100%;height:100%;overflow:hidden;background:#f5ecf3}
.part-bg .fluid{position:relative;width:100%;height:100%;min-height:100svh;overflow:hidden;background:#f5ecf3}
.part-bg .blobs{position:absolute;inset:0;pointer-events:none}
.part-bg .blob{position:absolute;width:55%;aspect-ratio:1;filter:blur(40px);opacity:.85;border-radius:42% 58% 63% 37% / 41% 44% 56% 59%;animation:drift 22s ease-in-out infinite}
.part-bg .blob:nth-child(1){left:-12%;top:4%;background:#efdae4;animation-duration:18s}
.part-bg .blob:nth-child(2){width:60%;right:-14%;top:26%;background:#dce6ea;animation-duration:26s;animation-delay:-9s;animation-direction:reverse}
.part-bg .blob:nth-child(3){width:45%;left:18%;bottom:-8%;background:#e3e9e1;animation-duration:22s;animation-delay:-15s}
@keyframes drift{0%,100%{border-radius:42% 58% 63% 37% / 41% 44% 56% 59%;transform:translate(0,0) rotate(0)}33%{border-radius:58% 42% 35% 65% / 56% 62% 38% 44%;transform:translate(45%,-22%) rotate(18deg)}66%{border-radius:35% 65% 58% 42% / 63% 36% 64% 37%;transform:translate(-28%,32%) rotate(-14deg)}85%{border-radius:62% 38% 44% 56% / 37% 59% 41% 63%;transform:translate(24%,-15%) rotate(9deg)}}
.part-bg button{position:absolute;right:18px;bottom:18px;min-height:44px;padding:10px 15px;border:1px solid #c6c3c4;border-radius:999px;background:#f5ecf3;color:#636d68;font:12px/1.4 "Lato",sans-serif;cursor:pointer}
.part-bg button:focus-visible{outline:2px solid #697980;outline-offset:3px}
.part-bg .paused,.part-bg .paused *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.part-bg,.part-bg *,.part-bg *::before,.part-bg *::after{animation:none!important;transition:none!important}
.part-bg .blob{display:none}
.part-bg button{display:none}}
.part-bg button{display:none}
.part-bg .light-fragments{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.part-bg .light-fragment{--tilt:0deg;position:absolute;display:block;width:210px;height:120px;border-top:30px solid rgba(255,253,244,.68);border-radius:50%;filter:blur(22px);opacity:.38;-webkit-mask-image:linear-gradient(90deg,transparent 12%,#000 40%,#000 60%,transparent 88%);mask-image:linear-gradient(90deg,transparent 12%,#000 40%,#000 60%,transparent 88%);animation:light-drift 28s ease-in-out infinite alternate;will-change:transform}
.part-bg .light-fragment:nth-child(1){--tilt:-38deg;left:-56px;top:8%;animation-delay:-6s}
.part-bg .light-fragment:nth-child(2){--tilt:-42deg;right:-60px;top:52%;animation-duration:34s;animation-delay:-17s}
.part-bg .light-fragment:nth-child(3){--tilt:28deg;left:-48px;bottom:7%;animation-duration:31s;animation-delay:-12s}
@keyframes light-drift{from{transform:translate3d(-12px,-9px,0) rotate(var(--tilt)) scale(.93)}to{transform:translate3d(28px,24px,0) rotate(calc(var(--tilt) + 9deg)) scale(1.12)}}
@media(max-width:540px){.part-bg .light-fragment{width:145px;height:92px;border-top-width:25px;filter:blur(18px);opacity:.34}
.part-bg .light-fragment:nth-child(1){left:-44px}
.part-bg .light-fragment:nth-child(2){right:-48px}
.part-bg .light-fragment:nth-child(3){left:-40px}}
@media(prefers-reduced-motion:reduce){.part-bg .light-fragment{animation:none!important}}
.part-bg .feather-glows{position:absolute;inset:0;pointer-events:none;z-index:1}
.part-bg .feather{position:absolute;width:310px;height:160px;border-radius:85% 12% 80% 15%;background:repeating-linear-gradient(145deg,transparent 0 13px,rgba(255,253,244,.65) 18px 25px,transparent 34px 47px);filter:blur(12px);opacity:.3;mask-image:radial-gradient(ellipse,#000 12%,transparent 68%);animation:feather-float 25s ease-in-out infinite alternate}
.part-bg .feather:nth-child(1){left:8%;top:14%;transform:rotate(-25deg)}
.part-bg .feather:nth-child(2){right:2%;top:44%;animation-delay:-12s;animation-duration:31s}
.part-bg .feather:nth-child(3){left:18%;bottom:2%;animation-delay:-8s;animation-duration:28s}
@keyframes feather-float{from{translate:-15px -12px;rotate:-18deg}to{translate:20px 24px;rotate:-8deg}}
@media(max-width:540px){.part-bg .feather{width:215px;height:130px;opacity:.26;filter:blur(10px)}}
@media(prefers-reduced-motion:reduce){.part-bg .feather{animation:none}}
@keyframes organic-morph{0%,100%{border-radius:24% 76% 63% 37% / 30% 23% 77% 70%;transform:translate(0,0) rotate(0deg) scale(1,1)}25%{border-radius:68% 32% 21% 79% / 61% 78% 22% 39%;transform:translate(18%,-12%) rotate(24deg) scale(1.23,.8)}50%{border-radius:35% 65% 80% 20% / 75% 24% 76% 25%;transform:translate(-14%,20%) rotate(-18deg) scale(.83,1.2)}75%{border-radius:78% 22% 43% 57% / 28% 69% 31% 72%;transform:translate(14%,8%) rotate(35deg) scale(1.15,.88)}}
.part-bg .blob{animation-name:organic-morph;filter:blur(38px);will-change:transform,border-radius}
@media(max-width:540px){.part-bg .blob{filter:blur(30px)}}
@media(prefers-reduced-motion:reduce){.part-bg .blob{animation:none!important;will-change:auto}}

/* ===== .part-nav ← 0.2.0.0_W-075_メインナビゲーション__0.html ===== */
.part-nav{--nav-ink:#64605e;--nav-accent:#dbb57a}
.part-nav,.part-nav *{box-sizing:border-box}
.part-nav,.part-nav{margin:0;background:transparent}
.part-nav nav{display:flex;justify-content:center;align-items:center;gap:clamp(12px,4vw,36px);min-height:64px;padding:4px 8px}
.part-nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:6px 0;color:var(--nav-ink);font:400 14px/1.4 Georgia,'Times New Roman',serif;letter-spacing:.08em;text-decoration:none;white-space:nowrap}
.part-nav a::after{content:'';position:absolute;left:0;right:0;bottom:5px;height:2px;background:var(--nav-accent);transform:scaleX(0);transform-origin:center;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.part-nav a:hover::after,.part-nav a:focus-visible::after{transform:scaleX(1)}
.part-nav a:focus-visible{outline:2px solid var(--nav-ink);outline-offset:3px;border-radius:2px}
@media(max-width:420px){.part-nav nav{gap:12px;padding-inline:6px}
.part-nav a{font-size:11px;letter-spacing:.03em}}
@media(prefers-reduced-motion:reduce){.part-nav a::after{transition:none}}
.part-nav a[data-anchor=contact]{padding:10px 20px;border-radius:999px;background:var(--nav-accent);color:#403b35;font-weight:600;letter-spacing:.06em;transition:background .2s ease,box-shadow .2s ease}
.part-nav a[data-anchor=contact]::after{left:20px;right:20px;background:#625d5a;bottom:8px}
.part-nav a[data-anchor=contact]:hover{background:#d4aa6b;box-shadow:0 3px 12px #625d5a18}
@media(max-width:420px){.part-nav nav{gap:8px}
.part-nav a[data-anchor=contact]{padding:10px;letter-spacing:.02em}
.part-nav a[data-anchor=contact]::after{left:10px;right:10px}}
@media(prefers-reduced-motion:reduce){.part-nav a[data-anchor=contact]{transition:none}}

/* ===== .part-fv ← 0.5_FV_作品コラージュ__0.html ===== */
.part-fv,.part-fv *{box-sizing:border-box}
.part-fv,.part-fv{margin:0;background:transparent;color:#55504d;font-family:"Hiragino Kaku Gothic ProN",sans-serif}
.part-fv p,.part-fv h1{margin:0}
.part-fv a{color:inherit;text-decoration:none}
.part-fv a:focus-visible{outline:2px solid #a3895f;outline-offset:5px}
.part-fv .fv{max-width:1320px;margin:auto;padding:85px 5% 45px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;min-height:730px}
.part-fv .eyebrow{font:15px/1.5 Georgia,serif;letter-spacing:.1em}
.part-fv .fv h1{font:400 clamp(58px,6.5vw,100px)/1.3 Georgia,serif;letter-spacing:-.04em;margin-top:15px;white-space:nowrap}
.part-fv .signature{font:25px/1.5 Georgia,serif;color:#ae9363;letter-spacing:.12em}
.part-fv .short-rule{width:42px;border-top:1px solid #ae9363;margin:25px 0}
.part-fv .hero-message{font:27px/1.9 Georgia,serif}
.part-fv .hero-support{font-size:12px;line-height:2.2;margin-top:24px}
.part-fv .hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:26px}
.part-fv .pill{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:50px;padding:10px 24px;background:#d2bb91;border-radius:40px;font-size:13px}
.part-fv .text-link{display:inline-flex;align-items:center;gap:15px;min-height:44px;border-bottom:1px solid #b8a17c;font-size:12px}
.part-fv .fv-visual{position:relative;min-height:490px;padding:0 55px 80px 0}
.part-fv .hero-work{display:block;padding:5px;background:#fff;box-shadow:0 12px 28px #5e566512}
.part-fv .main-work{width:100%;position:relative;top:12px}
.part-fv .main-work img{display:block;width:100%;height:325px;object-fit:contain;object-position:top}
.part-fv .small-work{position:absolute;right:0;top:205px;width:42%;max-width:220px}
.part-fv .small-work img{display:block;width:100%;height:auto}
.part-fv .collage-caption{position:absolute;bottom:0;left:15px;font:11px/1.6 Georgia,serif;letter-spacing:.08em}
@media(max-width:700px){.part-fv .fv{display:flex;flex-direction:column;padding:45px 6% 25px;gap:30px;min-height:0;align-items:stretch}
.part-fv .fv h1{font-size:clamp(56px,13vw,78px)}
.part-fv .eyebrow{font-size:12px}
.part-fv .signature{font-size:21px}
.part-fv .hero-message{font-size:23px}
.part-fv .hero-support{font-size:11px}
.part-fv .hero-actions{gap:15px}
.part-fv .pill{padding:10px 19px}
.part-fv .fv-visual{min-height:390px;padding-right:42px;max-width:500px;width:100%;margin:auto}
.part-fv .main-work img{height:245px}
.part-fv .small-work{top:150px}
.part-fv .collage-caption{font-size:10px}
.part-fv .hero-actions .text-link{font-size:11px}}
@media(prefers-reduced-motion:no-preference){.part-fv .fv-copy{animation:appear .8s ease both}
.part-fv .fv-visual{animation:appear 1.1s ease both}
@keyframes appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}
@keyframes rd-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes rd-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.part-fv .rd-reveal{animation:rd-enter .9s cubic-bezier(.2,.7,.3,1) both}
.part-fv .main-work{animation:rd-float 10s ease-in-out infinite}
.part-fv .small-work{animation:rd-float 13s ease-in-out -4s infinite}
.part-fv .portrait{animation:rd-float 12s ease-in-out -3s infinite}
.part-fv .pill,.part-fv .text-link{transition:transform .25s ease,background .25s ease}
.part-fv .pill:hover,.part-fv .text-link:hover{transform:translateY(-2px)}
.part-fv.motion-paused *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.part-fv,.part-fv *,.part-fv *::before,.part-fv *::after{animation:none!important;transition:none!important}}
.part-fv .fv h1{font-kerning:normal}
.part-fv .logo-design{letter-spacing:-.015em}
.part-fv .signature{display:inline-flex;align-items:baseline;column-gap:.42em;letter-spacing:normal;font-kerning:normal}
.part-fv .signature>span{letter-spacing:.12em;margin-right:-.12em}
.part-fv .signature>span+span{letter-spacing:.13em;margin-right:-.13em}
@media(max-width:700px){.part-fv .logo-design{letter-spacing:-.02em}
.part-fv .signature{column-gap:.44em}}
.part-fv .brand-lockup{display:block;max-width:100%;text-align:left}
.part-fv .brand-lockup .eyebrow,.part-fv .brand-lockup h1,.part-fv .brand-lockup .signature{margin-left:0;text-align:left}
.part-fv .brand-lockup .signature{justify-content:flex-start}
.part-fv .brand-lockup h1{position:relative;left:-.035em}
.part-fv .fv h1{font-size:clamp(46.4px,5.2vw,80px)}
.part-fv .eyebrow{font-size:12px;letter-spacing:.08em}
.part-fv .hero-message{font-size:30px;line-height:1.85}
@media(max-width:700px){.part-fv .fv h1{font-size:clamp(44.8px,10.4vw,62.4px)}
.part-fv .eyebrow{font-size:10px;letter-spacing:.035em}
.part-fv .hero-message{font-size:24px;line-height:1.9}}
.part-fv .signature{font-size:29px}
@media(max-width:700px){.part-fv .signature{font-size:22px}}
.part-fv .hero-actions .pill,.part-fv .hero-actions .text-link{transition:transform .4s cubic-bezier(.2,.7,.3,1),box-shadow .4s ease,background .3s ease;transform-origin:center}
@media(hover:hover) and (pointer:fine){.part-fv .hero-actions .pill:hover,.part-fv .hero-actions .text-link:hover{transform:translateY(-7px) scale(1.025);box-shadow:0 13px 25px #85725b26}}
@media(prefers-reduced-motion:reduce){.part-fv .hero-actions .pill:hover,.part-fv .hero-actions .text-link:hover{transform:none!important;transition:none!important}}
.part-fv .eyebrow,.part-fv .signature,.part-fv .collage-caption{font-family:"Lato",sans-serif;font-weight:300}
.part-fv .eyebrow{font-size:13px;letter-spacing:.22em}
.part-fv .signature>span,.part-fv .signature>span+span{letter-spacing:.22em;margin-right:-.22em}
@media(max-width:700px){.part-fv .eyebrow{font-size:10px;letter-spacing:.14em}
.part-fv .signature>span,.part-fv .signature>span+span{letter-spacing:.18em;margin-right:-.18em}}
.part-fv .txf{width: 100%; padding: 0 8%; display: flex; flex-direction: column; align-items: flex-start; gap: 3cqh; --e: cubic-bezier(.22, 1, .36, 1); font-family: var(--fj, "Hiragino Kaku Gothic ProN", sans-serif);}
.part-fv .txf-demo{display: flex; flex-wrap: wrap; gap: .8cqw;}
.part-fv .txf-demo button{font: 700 clamp(7px, 1.7cqw, 13px)/1 var(--fd, "Manrope", sans-serif); padding: .9cqh 1.5cqw; border-radius: 99px; border: 1px solid var(--rule, #D3D3D9); background: var(--surface, #fff); color: var(--ink, #121214); cursor: pointer; transition: background .25s, color .25s;}
.part-fv .txf-demo button[aria-pressed="true"]{background: var(--ink, #121214); color: var(--surface, #fff); border-color: var(--ink, #121214);}
.part-fv .txf-demo button:focus-visible{outline: 2px solid var(--blue, #2563FF); outline-offset: 2px;}
.part-fv .txf-body{border-left: 3px solid var(--c3, #E85C30); padding-left: 3.2cqw; display: flex; flex-direction: column; gap: 2cqh;}
.part-fv .txf-k{margin: 0; font: 700 clamp(8px, 1.6cqw, 13px)/1 var(--fd, "Manrope", sans-serif); letter-spacing: .2em; color: var(--c3, #E85C30);}
.part-fv .txf-h{margin: 0; font: 900 clamp(20px, 6.8cqw, 64px)/1.25 var(--fj, "Hiragino Kaku Gothic ProN", sans-serif); letter-spacing: .02em; color: var(--ink, #121214);}
.part-fv .txf-h > span{display: block; white-space: nowrap;}
.part-fv .txf-h em{font-style: normal; color: var(--c3, #E85C30);}
.part-fv .txf-ch{display: inline-block; white-space: pre; opacity: 0; transform: var(--t0, none); filter: var(--b0, none);}
.part-fv .txf.is-in .txf-ch{opacity: 1; transform: none; filter: none; transition: opacity var(--dur, .7s) var(--e) calc(var(--n) * var(--gap, .04s)), transform var(--dur, .7s) var(--e) calc(var(--n) * var(--gap, .04s)), filter var(--dur, .7s) ease-out calc(var(--n) * var(--gap, .04s));}
.part-fv .txf-sub{margin: 0; font: 500 clamp(10px, 2.1cqw, 17px)/1.7 var(--fj, "Hiragino Kaku Gothic ProN", sans-serif); color: var(--muted, #6E6E78); opacity: 0;}
.part-fv .txf.is-in .txf-sub{opacity: 1; transition: opacity .5s .6s;}
.part-fv .txf .txf-ch{--n: var(--i);}
.part-fv [data-variant="left"] .txf-ch{--t0: translateX(-.6em);}
.part-fv [data-variant="right"] .txf-ch{--t0: translateX(.6em); --n: var(--r);}
.part-fv [data-variant="down"] .txf-ch{--t0: translateY(-.7em);}
.part-fv [data-variant="up"] .txf-ch{--t0: translateY(.7em);}
.part-fv [data-variant="jiwa"] .txf-ch{--b0: blur(10px); --dur: 1.1s; --gap: .06s;}
@media (prefers-reduced-motion: reduce){.part-fv .txf-ch,.part-fv .txf-sub{opacity: 1; transform: none; filter: none; transition: none !important;}}
.part-fv .fv-copy.txf{display:block;padding:0;gap:0;font-family:inherit;animation:none}
.part-fv .fv-copy .hero-message.txf-sub{font:30px/1.85 Georgia,serif;color:inherit;margin:0}
@media(max-width:700px){.part-fv .fv-copy .hero-message.txf-sub{font-size:24px;line-height:1.9}}
.part-fv .fv h1,.part-fv .fv h1 .logo-design{letter-spacing:.01em;font-kerning:normal}
.part-fv .signature>span,.part-fv .signature>span+span{letter-spacing:.14em;margin-right:-.14em;font-kerning:normal}
.part-fv .hero-actions .text-link{transition:transform .25s ease,background .25s ease,box-shadow .25s ease;touch-action:manipulation;-webkit-tap-highlight-color:#d5b77733;transform-origin:center}
.part-fv .hero-actions .text-link:hover{transform:none;box-shadow:none}
@media(hover:hover) and (pointer:fine){.part-fv .hero-actions .text-link:hover{transform:translateY(-2px);box-shadow:0 7px 20px #8c73472b}}
.part-fv .hero-actions .text-link:active{transform:translateY(0) scale(.98);box-shadow:none}
@media(prefers-reduced-motion:reduce){.part-fv .hero-actions .text-link,.part-fv .hero-actions .text-link:hover,.part-fv .hero-actions .text-link:active{transform:none!important;transition:none!important}}
.part-fv .hero-actions .text-link:active{transform:translateY(0) scale(.98)!important;transition:transform .25s ease!important;box-shadow:none!important}
@media(prefers-reduced-motion:reduce){.part-fv .hero-actions .text-link:active{transform:none!important;transition:none!important}}
.part-fv .hero-actions .text-link{gap:15px;min-height:52px;padding:11px 28px;border:1px solid #b9a580;border-radius:40px;background:transparent;transition:background .25s,color .25s,border-color .25s,transform .25s,box-shadow .25s}
.part-fv .hero-actions .text-link:hover,.part-fv .hero-actions .text-link:focus-visible{background:#d5b77733;color:#786443;border-color:#b79a62}

/* ===== .part-marquee ← 0.7_FV_下部の流れる英字__0.html ===== */
500&family=Noto+Sans+JP:wght@400;
500&display=swap');
.part-marquee,.part-marquee *{box-sizing:border-box}
.part-marquee,.part-marquee{margin:0;background:transparent;color:#6b625c;overflow-x:hidden}
.part-marquee{font-family:"Lato","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
.part-marquee .hero{padding:40px 0 48px}
.part-marquee .eyeline{width:calc(100% - 80px);max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:32px;min-height:64px;color:#DBB57A;font:400 clamp(24px,3.3vw,44px)/1.2 Georgia,serif;white-space:nowrap}
.part-marquee .main{width:calc(100% - 80px);max-width:1200px;margin:64px auto 0;display:grid;grid-template-columns:520px minmax(0,1fr);gap:72px;align-items:center}
.part-marquee .portrait{display:block;width:520px;height:700px;object-fit:cover;object-position:center;border-radius:260px 260px 0 0}
.part-marquee .copy{padding-bottom:8px}
.part-marquee .label{font-size:11px;font-weight:500;letter-spacing:.19em;line-height:1.8;margin:0 0 30px}
.part-marquee .catch{font-size:34px;font-weight:400;line-height:1.9;letter-spacing:.04em;margin:0;color:#55504d}
.part-marquee .catch span,.part-marquee .support span{display:block}
.part-marquee .support{font-size:15px;font-weight:400;line-height:2.1;letter-spacing:.045em;margin:30px 0 0}
.part-marquee .signature{font:400 34px/1.25 Georgia,serif;letter-spacing:.015em;margin:32px 0 0}
.part-marquee .motion{margin-top:72px}
@media(max-width:1100px){.part-marquee .eyeline{width:calc(100% - 80px);font-size:clamp(22px,3.3vw,36px)}
.part-marquee .main{width:calc(100% - 80px);max-width:520px;grid-template-columns:minmax(0,1fr);gap:42px;margin-top:40px}
.part-marquee .portrait{width:416px;height:560px;max-width:100%;margin:0 auto;border-radius:208px 208px 0 0}
.part-marquee .copy{width:416px;max-width:100%;margin:0 auto;padding:0}
.part-marquee .label{margin-bottom:20px}
.part-marquee .catch{font-size:30px;line-height:1.85}
.part-marquee .support{font-size:14px;margin-top:20px}
.part-marquee .signature{font-size:30px;margin-top:22px}
.part-marquee .motion{margin-top:48px}
.part-marquee .hero{padding-bottom:32px}}
@media(max-width:540px){.part-marquee .hero{padding-top:28px}
.part-marquee .eyeline{width:calc(100% - 48px);min-height:44px;gap:12px;font-size:10px;letter-spacing:.015em}
.part-marquee .main{width:calc(100% - 42px);max-width:375px;margin-top:34px;gap:36px}
.part-marquee .portrait{width:100%;height:auto;aspect-ratio:26/35;border-radius:50% 50% 0 0 / 37.15% 37.15% 0 0}
.part-marquee .copy{width:100%;padding:0 6px}
.part-marquee .label{font-size:9px;letter-spacing:.13em;margin-bottom:18px}
.part-marquee .catch{font-size:clamp(23px,6.5vw,28px);letter-spacing:.01em;line-height:1.95}
.part-marquee .support{font-size:12px;letter-spacing:.025em;line-height:2.1;margin-top:20px}
.part-marquee .signature{font-size:29px;margin-top:22px}
.part-marquee .motion{margin-top:48px}}
.part-marquee,.part-marquee *{box-sizing:border-box}
.part-marquee .marquee{width:100%;padding:12px 0 18px;overflow:hidden;}
.part-marquee .row{overflow:hidden}
.part-marquee .track{display:flex;width:max-content;animation:flow 24s linear infinite;will-change:transform}
.part-marquee .group{display:flex;align-items:center;justify-content:space-around;flex-shrink:0;min-width:max(1200px,100vw);gap:40px;padding-right:40px}
.part-marquee .headline{color:#6b625c;opacity:.15;font-size:clamp(28px,3.7vw,48px);line-height:1.2;font-family:Georgia,serif;font-weight:400;letter-spacing:.025em;white-space:nowrap}
.part-marquee .tags{margin-top:16px}
.part-marquee .tags .track{animation-duration:30s;animation-direction:reverse}
.part-marquee .tags .group{gap:16px;padding-right:16px}
.part-marquee .tag{display:block;padding:10px 23px;border:1px solid #c6c3c4;border-radius:999px;background:#edf0ec;color:#636d68;font-size:14px;line-height:1;white-space:nowrap}
.part-marquee .tag:nth-child(3n+2){background:#f4e6ec;color:#806d75}
.part-marquee .tag:nth-child(3n){background:#e8edef;color:#697980}
.part-marquee .marquee:hover .track,.part-marquee .marquee:focus-within .track{animation-play-state:paused}
@keyframes flow{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:540px){.part-marquee .group{min-width:1000px;gap:28px;padding-right:28px}
.part-marquee .tags .group{min-width:1000px}
.part-marquee .marquee{padding-top:14px}
.part-marquee .headline{font-size:28px}
.part-marquee .tag{font-size:12px;padding:10px 18px}}
@media(prefers-reduced-motion:reduce){.part-marquee .track{animation:none!important;transform:none!important;will-change:auto}}
@media(max-width:360px){.part-marquee .eyeline{font-size:13px}}
.part-marquee .eyeline{display:flex;overflow:hidden}
.part-marquee .hello-track{display:flex;width:max-content;animation:flow 24s linear infinite;will-change:transform}
.part-marquee .hello-group{display:flex;align-items:center;justify-content:space-between;min-width:1200px;flex-shrink:0;gap:120px;padding-right:120px}
.part-marquee .eyeline:hover .hello-track,.part-marquee .eyeline:focus-within .hello-track{animation-play-state:paused}
@media(max-width:1100px){.part-marquee .hello-group{min-width:1000px;gap:80px;padding-right:80px}}
@media(max-width:540px){.part-marquee .hello-group{min-width:740px;gap:64px;padding-right:64px}}
@media(prefers-reduced-motion:reduce){.part-marquee .hello-track{animation:none!important;transform:none!important;will-change:auto}}
.part-marquee .hello-group span:nth-child(2){color:transparent;-webkit-text-stroke:1px #DBB57A;paint-order:stroke fill}
@media(max-width:540px){.part-marquee .hello-group span:nth-child(2){-webkit-text-stroke-width:.7px}}

/* ===== .part-consult ← 0.8.0.0.0_相談の入口とAbout見出し__0.html ===== */
.part-consult,.part-consult *{box-sizing:border-box}
.part-consult,.part-consult{margin:0;background:transparent;color:#55504d;font:15px/2.2 "Hiragino Kaku Gothic ProN",sans-serif}
.part-consult .support-intro{max-width:1000px;margin:auto;padding:65px 28px 45px;text-align:center}
.part-consult .eyebrow{font:12px Georgia,serif;letter-spacing:.2em;color:#9c855e}
.part-consult h2{font:400 28px/1.8 Georgia,serif;margin:22px 0}
.part-consult ul{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:0;margin:32px 0;list-style:none}
.part-consult li{padding:22px 18px;border-top:1px solid #c6b38e;font-size:15px;line-height:2}
.part-consult a{display:inline-flex;align-items:center;min-height:44px;color:#786443;text-decoration:none;border-bottom:1px solid #b79d70}
.part-consult a:focus-visible{outline:2px solid #786443;outline-offset:4px}
.part-consult .about{text-align:center;padding:45px 22px 15px}
.part-consult .about h2{font:500 46px/1.4 "Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;margin:0 0 8px}
.part-consult .about p{margin:0;font-size:18px}
@media(max-width:700px){.part-consult ul{grid-template-columns:1fr;gap:4px;margin:18px 0}
.part-consult li{padding:12px}
.part-consult h2{font-size:23px}
.part-consult .support-intro{padding:35px 22px 25px}
.part-consult .about{padding-top:30px}
.part-consult .about h2{font-size:38px}}
@keyframes rd-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes rd-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.part-consult .rd-reveal{animation:rd-enter .9s cubic-bezier(.2,.7,.3,1) both}
.part-consult .main-work{animation:rd-float 10s ease-in-out infinite}
.part-consult .small-work{animation:rd-float 13s ease-in-out -4s infinite}
.part-consult .portrait{animation:rd-float 12s ease-in-out -3s infinite}
.part-consult .pill,.part-consult .text-link{transition:transform .25s ease,background .25s ease}
.part-consult .pill:hover,.part-consult .text-link:hover{transform:translateY(-2px)}
.part-consult.motion-paused *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.part-consult,.part-consult *,.part-consult *::before,.part-consult *::after{animation:none!important;transition:none!important}}
.part-consult .support-icon{display:block;width:68px;height:68px;margin:0 auto 14px;fill:none;stroke:#a88e65;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.part-consult li{padding:18px 12px}
@media(max-width:700px){.part-consult li{display:flex;align-items:center;gap:18px;text-align:left;padding:12px}
.part-consult .support-icon{flex:0 0 48px;width:48px;height:48px;margin:0}}
@keyframes type-rise{from{opacity:0;transform:translateY(.65em);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
.part-consult .text-ready .glyph{display:inline-block;animation:type-rise .8s cubic-bezier(.2,.7,.3,1) both;animation-delay:calc(var(--i)*35ms)}
.part-consult .text-ready .glyph.space{white-space:pre}
.part-consult .text-cue{animation:type-rise .95s ease both;animation-delay:.18s}
.part-consult.motion-paused *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.part-consult .glyph,.part-consult .text-cue{animation:none!important;filter:none!important;transform:none!important;opacity:1!important}}
.part-consult .support-intro .text-link{justify-content:center;gap:28px;min-height:56px;padding:13px 32px;border:1px solid #b79a62;border-radius:40px;background:#d5b777;color:#463e31;font-size:15px;font-weight:400;box-shadow:0 5px 16px #8c73471a}
.part-consult .support-intro .text-link:hover{background:#cbaa65;box-shadow:0 7px 20px #8c73472b}
@media(max-width:700px){.part-consult .support-intro .text-link{width:100%;max-width:340px;padding:13px 20px}}
.part-consult .about{padding-top:155px}
@media(max-width:700px){.part-consult .about{padding-top:120px}}
@media(max-width:700px){.part-consult #support-title .mobile-line{display:block}}
@media(hover:hover) and (pointer:fine){.part-consult .support-icon{transform-origin:50% 65%;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.part-consult .support-intro li:hover .support-icon{animation:rd-icon-hover .85s cubic-bezier(.22,1,.36,1) both}
@keyframes rd-icon-hover{0%{transform:translateY(0) rotate(0)}30%{transform:translateY(-6px) rotate(-5deg)}60%{transform:translateY(-6px) rotate(4deg)}100%{transform:translateY(-5px) rotate(0)}}}
@media(prefers-reduced-motion:reduce){.part-consult .support-intro li:hover .support-icon{animation:none!important;transform:none!important;transition:none!important}}
.part-consult .support-intro .text-link{transition:transform .25s ease,background .25s ease,box-shadow .25s ease;touch-action:manipulation;-webkit-tap-highlight-color:#d5b77733;transform-origin:center}
.part-consult .support-intro .text-link:hover{transform:none;box-shadow:none}
@media(hover:hover) and (pointer:fine){.part-consult .support-intro .text-link:hover{transform:translateY(-2px);box-shadow:0 7px 20px #8c73472b}}
.part-consult .support-intro .text-link:active{transform:translateY(0) scale(.98);box-shadow:none}
@media(prefers-reduced-motion:reduce){.part-consult .support-intro .text-link,.part-consult .support-intro .text-link:hover,.part-consult .support-intro .text-link:active{transform:none!important;transition:none!important}}
.part-consult .support-intro .text-link:active{transform:translateY(0) scale(.98)!important;transition:transform .25s ease!important;box-shadow:none!important}
@media(prefers-reduced-motion:reduce){.part-consult .support-intro .text-link:active{transform:none!important;transition:none!important}}

/* ===== .part-about ← 0.8.0.0.16_ABOUT_プロフィールと5つのR__0.html ===== */
.part-about,.part-about *{box-sizing:border-box}
.part-about,.part-about{margin:0;background:transparent;color:#55504d;font:14px/2.1 "Hiragino Kaku Gothic ProN",sans-serif}
.part-about .pmain{max-width:1160px;padding:35px 28px 60px;margin:auto}
.part-about p,.part-about h3{margin:0}
.part-about .about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}
.part-about .portrait{width:100%;max-width:340px;aspect-ratio:3/4;border-radius:50% 50% 0 0 / 37.5% 37.5% 0 0;overflow:hidden;background:#f3e9e9}
.part-about .portrait video,.part-about .portrait img{width:100%;height:100%;object-fit:cover;display:block}
.part-about .profile h3{font:400 30px/1.5 Georgia,serif}
.part-about .short-rule{width:42px;border-top:1px solid #ae9363;margin:15px 0}
.part-about .role{font:22px/1.6 Georgia,serif}
.part-about .profile-body{margin-top:25px}
.part-about .profile-body p+p{margin-top:18px}
.part-about .brand-values{margin-top:65px;border-top:1px solid #cbbda7;padding-top:27px}
.part-about .values-label{text-align:center;font-size:13px;letter-spacing:.1em;margin-bottom:24px}
.part-about .values-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.part-about .r-value{position:relative;display:grid;place-items:center;min-width:0;min-height:70px;width:100%;padding:8px 0;border:0;border-bottom:1px solid #cbbda7;background:transparent;overflow:hidden;color:inherit;cursor:pointer}
.part-about .r-value span{grid-area:1/1;transition:opacity .35s ease,transform .35s ease}
.part-about .r-en{font:26px/1.5 Georgia,serif;opacity:1;transform:translateY(0)}
.part-about .r-ja{font:13px/1.8 "Hiragino Kaku Gothic ProN",sans-serif;opacity:0;transform:translateY(14px)}
.part-about .values-note{text-align:center;font-size:12px;margin-top:28px}
.part-about .r-value:focus-visible{outline:2px solid #9c815b;outline-offset:4px}
@media(hover:hover){.part-about .r-value:hover .r-en{opacity:0;transform:translateY(-14px)}
.part-about .r-value:hover .r-ja{opacity:1;transform:translateY(0)}}
.part-about .r-value:focus-visible .r-en,.part-about .r-value[aria-pressed="true"] .r-en{opacity:0;transform:translateY(-14px)}
.part-about .r-value:focus-visible .r-ja,.part-about .r-value[aria-pressed="true"] .r-ja{opacity:1;transform:translateY(0)}
@media(max-width:700px){.part-about .pmain{padding:25px 22px 40px}
.part-about .about-grid{grid-template-columns:1fr;gap:32px}
.part-about .portrait{max-width:245px;margin:auto}
.part-about .profile-body{font-size:14px}
.part-about .values-grid{grid-template-columns:1fr 1fr;gap:12px 22px}
.part-about .r-value:last-child{grid-column:1/-1}
.part-about .brand-values{margin-top:40px}
.part-about .r-ja{font-size:13px}}
@media(prefers-reduced-motion:reduce){.part-about .r-value span{transition:none}}
@keyframes rd-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes rd-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.part-about .rd-reveal{animation:rd-enter .9s cubic-bezier(.2,.7,.3,1) both}
.part-about .main-work{animation:rd-float 10s ease-in-out infinite}
.part-about .small-work{animation:rd-float 13s ease-in-out -4s infinite}
.part-about .portrait{animation:rd-float 12s ease-in-out -3s infinite}
.part-about .pill,.part-about .text-link{transition:transform .25s ease,background .25s ease}
.part-about .pill:hover,.part-about .text-link:hover{transform:translateY(-2px)}
.part-about.motion-paused *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.part-about,.part-about *,.part-about *::before,.part-about *::after{animation:none!important;transition:none!important}}
.part-about details{margin-top:16px}
.part-about summary{cursor:pointer;min-height:44px;display:flex;align-items:center;width:max-content;border-bottom:1px solid #ae9363;color:#7a6238;list-style:none}
.part-about summary::-webkit-details-marker{display:none}
.part-about .close-label,.part-about details[open] .open-label{display:none}
.part-about details[open] .close-label{display:inline}
.part-about .more-profile{margin-top:18px}
.part-about .profile-body .area{font-size:12px;color:#6b625c}
.part-about .values-note{display:none}
@keyframes type-rise{from{opacity:0;transform:translateY(.65em);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
.part-about .text-ready .glyph{display:inline-block;animation:type-rise .8s cubic-bezier(.2,.7,.3,1) both;animation-delay:calc(var(--i)*35ms)}
.part-about .text-ready .glyph.space{white-space:pre}
.part-about .text-cue{animation:type-rise .95s ease both;animation-delay:.18s}
.part-about.motion-paused *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.part-about .glyph,.part-about .text-cue{animation:none!important;filter:none!important;transform:none!important;opacity:1!important}}
.part-about .values-brand{display:flex;align-items:center;justify-content:center;gap:24px;margin-bottom:24px}
.part-about .values-brand img{display:block;width:160px;height:160px;object-fit:contain}
.part-about .values-brand .values-label{margin:0}
.part-about .brand-values{margin-top:48px}
.part-about .pmain{padding-bottom:32px}
@media(max-width:700px){.part-about .values-brand{gap:16px}
.part-about .values-brand img{width:120px;height:120px}
.part-about .pmain{padding-bottom:24px}}
.part-about .about-title{text-align:center;padding:140px 22px 28px}
.part-about .about-title h2{font:500 46px/1.4 "Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;margin:0 0 8px}
.part-about .about-title p{font-size:18px;margin:0}
@media(max-width:700px){.part-about .about-title{padding:32px 22px 20px}
.part-about .about-title h2{font-size:38px}}
.part-about .role{font-family:"Lato",sans-serif;font-weight:300;letter-spacing:.09em}
.part-about .pmain{padding-bottom:0}
.part-about .profile-body{max-width:700px}

/* ===== .part-career ← 0.8.0.0.17.1.0.1_ABOUT_経歴・学習歴・制作ツール__0.html ===== */
.part-career,.part-career *{box-sizing:border-box}
.part-career,.part-career{margin:0;background:transparent;color:#55504d;font:14px/2.1 "Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
.part-career .pmain{max-width:700px;margin:auto;padding:14px 24px 30px;overflow-wrap:anywhere}
.part-career p{margin:0}
.part-career p+p{margin-top:16px}
.part-career .info-section{margin-top:28px;padding-top:22px;border-top:1px solid #cbbda7}
.part-career .en{font:300 11px/1.6 Lato,sans-serif;letter-spacing:.14em;color:#6b625c}
.part-career .jp{font:500 14px/1.8 "Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;margin:5px 0 14px}
.part-career ul{padding-left:1.2em;margin:0}
.part-career li+li{margin-top:8px}
.part-career .tools{line-height:2.2}
.part-career .note{font-size:12px;line-height:1.9;margin-top:10px;color:#6b625c}
@media(max-width:700px){.part-career .pmain{padding:12px 22px 28px}
.part-career .info-section{margin-top:24px;padding-top:20px}
.part-career .en{font-size:10px;letter-spacing:.11em}}
.part-career .pmain{max-width:none;width:100%;margin:0;padding:14px 16px 30px calc(40% + 45.2px)}
@media(max-width:676px){.part-career .pmain{padding:12px 10px 28px}}

/* ===== .part-values ← 0.8.0.0.18_ABOUT_5つのR__0.html ===== */
.part-values,.part-values *{box-sizing:border-box}
.part-values,.part-values{margin:0;background:transparent;color:#55504d;font:14px/2.1 "Hiragino Kaku Gothic ProN",sans-serif}
.part-values .pmain{max-width:1160px;padding:35px 28px 60px;margin:auto}
.part-values p,.part-values h3{margin:0}
.part-values .about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}
.part-values .portrait{width:100%;max-width:340px;aspect-ratio:3/4;border-radius:50% 50% 0 0 / 37.5% 37.5% 0 0;overflow:hidden;background:#f3e9e9}
.part-values .portrait video,.part-values .portrait img{width:100%;height:100%;object-fit:cover;display:block}
.part-values .profile h3{font:400 30px/1.5 Georgia,serif}
.part-values .short-rule{width:42px;border-top:1px solid #ae9363;margin:15px 0}
.part-values .role{font:22px/1.6 Georgia,serif}
.part-values .profile-body{margin-top:25px}
.part-values .profile-body p+p{margin-top:18px}
.part-values .brand-values{margin-top:65px;border-top:1px solid #cbbda7;padding-top:27px}
.part-values .values-label{text-align:center;font-size:13px;letter-spacing:.1em;margin-bottom:24px}
.part-values .values-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.part-values .r-value{position:relative;display:grid;place-items:center;min-width:0;min-height:70px;width:100%;padding:8px 0;border:0;border-bottom:1px solid #cbbda7;background:transparent;overflow:hidden;color:inherit;cursor:pointer}
.part-values .r-value span{grid-area:1/1;transition:opacity .35s ease,transform .35s ease}
.part-values .r-en{font:26px/1.5 Georgia,serif;opacity:1;transform:translateY(0)}
.part-values .r-ja{font:13px/1.8 "Hiragino Kaku Gothic ProN",sans-serif;opacity:0;transform:translateY(14px)}
.part-values .values-note{text-align:center;font-size:12px;margin-top:28px}
.part-values .r-value:focus-visible{outline:2px solid #9c815b;outline-offset:4px}
@media(hover:hover){.part-values .r-value:hover .r-en{opacity:0;transform:translateY(-14px)}
.part-values .r-value:hover .r-ja{opacity:1;transform:translateY(0)}}
.part-values .r-value:focus-visible .r-en,.part-values .r-value[aria-pressed="true"] .r-en{opacity:0;transform:translateY(-14px)}
.part-values .r-value:focus-visible .r-ja,.part-values .r-value[aria-pressed="true"] .r-ja{opacity:1;transform:translateY(0)}
@media(max-width:700px){.part-values .pmain{padding:25px 22px 40px}
.part-values .about-grid{grid-template-columns:1fr;gap:32px}
.part-values .portrait{max-width:245px;margin:auto}
.part-values .profile-body{font-size:14px}
.part-values .values-grid{grid-template-columns:1fr 1fr;gap:12px 22px}
.part-values .r-value:last-child{grid-column:1/-1}
.part-values .brand-values{margin-top:40px}
.part-values .r-ja{font-size:13px}}
@media(prefers-reduced-motion:reduce){.part-values .r-value span{transition:none}}
@keyframes rd-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes rd-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.part-values .rd-reveal{animation:rd-enter .9s cubic-bezier(.2,.7,.3,1) both}
.part-values .main-work{animation:rd-float 10s ease-in-out infinite}
.part-values .small-work{animation:rd-float 13s ease-in-out -4s infinite}
.part-values .portrait{animation:rd-float 12s ease-in-out -3s infinite}
.part-values .pill,.part-values .text-link{transition:transform .25s ease,background .25s ease}
.part-values .pill:hover,.part-values .text-link:hover{transform:translateY(-2px)}
.part-values.motion-paused *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.part-values,.part-values *,.part-values *::before,.part-values *::after{animation:none!important;transition:none!important}}
.part-values details{margin-top:16px}
.part-values summary{cursor:pointer;min-height:44px;display:flex;align-items:center;width:max-content;border-bottom:1px solid #ae9363;color:#7a6238;list-style:none}
.part-values summary::-webkit-details-marker{display:none}
.part-values .close-label,.part-values details[open] .open-label{display:none}
.part-values details[open] .close-label{display:inline}
.part-values .more-profile{margin-top:18px}
.part-values .profile-body .area{font-size:12px;color:#6b625c}
.part-values .values-note{display:none}
@keyframes type-rise{from{opacity:0;transform:translateY(.65em);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
.part-values .text-ready .glyph{display:inline-block;animation:type-rise .8s cubic-bezier(.2,.7,.3,1) both;animation-delay:calc(var(--i)*35ms)}
.part-values .text-ready .glyph.space{white-space:pre}
.part-values .text-cue{animation:type-rise .95s ease both;animation-delay:.18s}
.part-values.motion-paused *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.part-values .glyph,.part-values .text-cue{animation:none!important;filter:none!important;transform:none!important;opacity:1!important}}
.part-values .values-brand{display:flex;align-items:center;justify-content:center;gap:24px;margin-bottom:24px}
.part-values .values-brand img{display:block;width:160px;height:160px;object-fit:contain}
.part-values .values-brand .values-label{margin:0}
.part-values .brand-values{margin-top:48px}
.part-values .pmain{padding-bottom:32px}
@media(max-width:700px){.part-values .values-brand{gap:16px}
.part-values .values-brand img{width:120px;height:120px}
.part-values .pmain{padding-bottom:24px}}
.part-values .about-title{text-align:center;padding:140px 22px 28px}
.part-values .about-title h2{font:500 46px/1.4 "Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;margin:0 0 8px}
.part-values .about-title p{font-size:18px;margin:0}
@media(max-width:700px){.part-values .about-title{padding:32px 22px 20px}
.part-values .about-title h2{font-size:38px}}
.part-values .role{font-family:"Lato",sans-serif;font-weight:300;letter-spacing:.09em}
.part-values .pmain{padding-top:0}
.part-values .brand-values{margin-top:0;border-top:0;padding-top:12px}
.part-values .values-brand{margin-bottom:0}
.part-values .values-hint{height:34px;display:flex;align-items:center;justify-content:center;gap:7px;color:#9c815b;font:400 18px/1.2 "Caveat",cursive;letter-spacing:.035em}

/* ===== .part-service ← 0.16_SERVICE_サービス紹介__0.html ===== */
.part-service,.part-service *{box-sizing:border-box}
.part-service{margin:0;background:transparent;color:#55504d;font:14px/1.9 "Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
.part-service section{max-width:1160px;margin:auto;padding:55px 28px}
.part-service header{text-align:center}
.part-service h2{font:500 46px/1.4 "Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;margin:0 0 10px}
.part-service header p{margin:0}
.part-service .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:44px 0 30px}
.part-service article{padding:28px 22px;border-top:1px solid #cbbda7;background:linear-gradient(145deg,#fff8,transparent);text-align:center;border-radius:24px}
.part-service svg{width:108px;height:108px;stroke:#a88e65;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;background:radial-gradient(circle,#ecdce780,transparent 70%);padding:5px}
.part-service .en{font-size:12px;letter-spacing:.07em;color:#6b625c}
.part-service h3{font-weight:500;font-size:19px;margin:9px 0 14px}
.part-service p{margin:0}
.part-service .types{font-size:12px;color:#6b625c;margin:12px 0}
.part-service details{text-align:left}
.part-service summary{cursor:pointer;min-height:44px;display:flex;justify-content:center;align-items:center;color:#89714e;list-style:none}
.part-service summary::-webkit-details-marker{display:none}
.part-service details p{font-size:13px;margin-top:12px}
.part-service .close,.part-service details[open] .open{display:none}
.part-service details[open] .close{display:inline}
.part-service .cta{text-align:center}
.part-service .cta a{display:inline-flex;align-items:center;min-height:44px;color:#89714e;text-decoration:none;border-bottom:1px solid #ae9363}
.part-service .cta p{font-size:12px;margin-top:12px}
.part-service summary:focus-visible,.part-service a:focus-visible{outline:2px solid #a88e65;outline-offset:4px}
@media(max-width:700px){.part-service section{padding:35px 22px}
.part-service h2{font-size:38px}
.part-service .grid{grid-template-columns:1fr;gap:22px;margin-top:30px}
.part-service article{padding:22px}
.part-service svg{width:94px;height:94px}}
@media(prefers-reduced-motion:no-preference){.part-service article{animation:enter .8s ease both}
@keyframes enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}
@keyframes type-rise{from{opacity:0;transform:translateY(.65em);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
.part-service .text-ready .glyph{display:inline-block;animation:type-rise .8s cubic-bezier(.2,.7,.3,1) both;animation-delay:calc(var(--i)*35ms)}
.part-service .text-ready .glyph.space{white-space:pre}
.part-service .text-cue{animation:type-rise .95s ease both;animation-delay:.18s}
.part-service.motion-paused *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.part-service .glyph,.part-service .text-cue{animation:none!important;filter:none!important;transform:none!important;opacity:1!important}}
.part-service article{position:relative;transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s ease,background .35s ease}
@media(hover:hover) and (pointer:fine){.part-service article:hover{animation:none;transform:translateY(-8px);box-shadow:0 16px 32px #70636b1c;background:linear-gradient(145deg,#ffffffb3,#ffffff40)}}
.part-service article:focus-within{box-shadow:0 12px 26px #70636b17}
@media(prefers-reduced-motion:reduce){.part-service article{transition:none!important}
.part-service article:hover{transform:none!important}}
.part-service .cta a{justify-content:center;gap:28px;min-height:56px;padding:13px 32px;border:1px solid #b79a62;border-radius:40px;background:#d5b777;color:#463e31;font-size:15px;font-weight:400;box-shadow:0 5px 16px #8c73471a}
.part-service .cta a:hover{background:#cbaa65;box-shadow:0 7px 20px #8c73472b}
@media(max-width:700px){.part-service .cta a{box-sizing:border-box;width:100%;max-width:340px;padding:13px 20px}}
.part-service .cta a{transition:transform .25s ease,background .25s ease,box-shadow .25s ease;touch-action:manipulation;-webkit-tap-highlight-color:#d5b77733;transform-origin:center}
.part-service .cta a:hover{transform:none;box-shadow:none}
@media(hover:hover) and (pointer:fine){.part-service .cta a:hover{transform:translateY(-2px);box-shadow:0 7px 20px #8c73472b}}
.part-service .cta a:active{transform:translateY(0) scale(.98);box-shadow:none}
@media(prefers-reduced-motion:reduce){.part-service .cta a,.part-service .cta a:hover,.part-service .cta a:active{transform:none!important;transition:none!important}}
.part-service .cta a:active{transform:translateY(0) scale(.98)!important;transition:transform .25s ease!important;box-shadow:none!important}
@media(prefers-reduced-motion:reduce){.part-service .cta a:active{transform:none!important;transition:none!important}}
@media(hover:hover) and (pointer:fine){.part-service article svg{transform-origin:50% 65%;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.part-service article:hover svg{animation:rd-icon-hover .85s cubic-bezier(.22,1,.36,1) both}
@keyframes rd-icon-hover{0%{transform:translateY(0) rotate(0)}30%{transform:translateY(-6px) rotate(-5deg)}60%{transform:translateY(-6px) rotate(4deg)}100%{transform:translateY(-5px) rotate(0)}}}
@media(prefers-reduced-motion:reduce){.part-service article:hover svg{animation:none!important;transform:none!important;transition:none!important}}

/* ===== .part-works ← 0.17.0_WORKS_代表作と全作品__0.html ===== */
.part-works,.part-works *{box-sizing:border-box}
.part-works,.part-works{margin:0;background:transparent;color:#55504d;font:14px/1.9 "Hiragino Kaku Gothic ProN",sans-serif}
.part-works section{max-width:1160px;padding:70px 28px 45px;margin:auto}
.part-works header{text-align:center;margin-bottom:45px}
.part-works h2{font:500 46px/1.4 "Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;margin:0 0 10px}
.part-works p{margin:8px 0}
.part-works .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 38px}
.part-works button{font:inherit;color:inherit;cursor:pointer}
.part-works .card{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left}
.part-works .mat{display:flex;justify-content:center;align-items:center;gap:8px;height:300px;background:#ffffff70;border:1px solid #ffffff88;padding:18px;overflow:hidden}
.part-works .mat img{width:100%;height:100%;object-fit:contain;min-width:0}
.part-works .mat:has(img+img) img{max-width:46%}
.part-works h3{font:400 21px/1.6 Georgia,serif;margin:16px 0 3px}
.part-works .meta{font-size:12px;margin:0;color:#7d7267}
.part-works .more{display:inline-flex;min-height:44px;align-items:center;gap:14px;color:#92764c;border-bottom:1px solid #b9a580;transition:gap .2s}
.part-works .card:hover .more{gap:24px}
.part-works button:focus-visible{outline:2px solid #9b8059;outline-offset:6px}
.part-works .note{text-align:center;margin:40px 0 0;font-size:13px}
.part-works dialog{border:1px solid #d9cdc2;background:#faf7f6;color:#55504d;width:min(900px,95vw);max-height:90vh;padding:22px}
.part-works dialog::backdrop{background:#5555}
.part-works .bar{display:flex;justify-content:flex-end;position:sticky;top:0}
.part-works .close{min-width:80px;min-height:44px;border:1px solid #baa480;background:#fff;border-radius:30px}
.part-works .detail{text-align:center}
.part-works .detail img{display:block;max-width:100%;height:auto;margin:20px auto}
.part-works .detail a{display:inline-flex;min-height:44px;align-items:center;color:#806541;border-bottom:1px solid;text-decoration:none}
body:has(.part-works dialog[open]){overflow:hidden}
@media(max-width:700px){.part-works section{padding:45px 22px}
.part-works .grid{grid-template-columns:1fr;gap:36px}
.part-works h2{font-size:38px}
.part-works header{margin-bottom:30px}
.part-works .mat{height:260px}
.part-works h3{font-size:20px}
.part-works .note{margin-top:30px}}
@media(prefers-reduced-motion:reduce){.part-works,.part-works *{transition:none!important}}
@keyframes rd-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes rd-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.part-works .rd-reveal{animation:rd-enter .9s cubic-bezier(.2,.7,.3,1) both}
.part-works .main-work{animation:rd-float 10s ease-in-out infinite}
.part-works .small-work{animation:rd-float 13s ease-in-out -4s infinite}
.part-works .portrait{animation:rd-float 12s ease-in-out -3s infinite}
.part-works .pill,.part-works .text-link{transition:transform .25s ease,background .25s ease}
.part-works .pill:hover,.part-works .text-link:hover{transform:translateY(-2px)}
.part-works.motion-paused *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.part-works,.part-works *,.part-works *::before,.part-works *::after{animation:none!important;transition:none!important}}
.part-works .view-all{text-align:center;margin-top:44px}
.part-works .view-all button{display:inline-flex;align-items:center;gap:30px;min-height:52px;padding:11px 28px;background:transparent;border:1px solid #b9a580;border-radius:40px}
.part-works .view-all small{display:block;margin-top:10px;font:12px/1.6 Georgia,serif;color:#92764c}
.part-works dialog{max-height:600px;width:min(1000px,95vw);overflow-y:auto}
.part-works .bar{background:#faf7f6;z-index:2;gap:12px;padding-top:40px}
.part-works .back{margin-right:auto;min-height:44px;padding:8px 12px;border:0;background:transparent;border-bottom:1px solid #b9a580}
.part-works .gallery .grid{text-align:left;gap:28px}
.part-works .gallery .mat{height:190px}
.part-works .gallery h3{font-size:20px}
.part-works .gallery>h2{margin-bottom:24px}
.part-works .gallery .card{animation:none}
.part-works .gallery .meta{font-size:12px}
.part-works .gallery .more{font-size:13px}
.part-works [hidden]{display:none!important}
@media(max-width:700px){.part-works dialog{max-height:580px;padding:15px}
.part-works .gallery .grid{grid-template-columns:1fr}
.part-works .gallery .mat{height:210px}
.part-works .view-all{margin-top:30px}}
.part-works section{padding-top:140px}
.part-works .toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:25px 0}
.part-works .toolbar button,.part-works .pager button,.part-works .return{min-height:44px;border:1px solid #b9a580;border-radius:30px;padding:9px 18px;background:#faf7f6;color:#75634b;font:inherit;cursor:pointer}
.part-works .toolbar p{font-size:12px}
.part-works .pager{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:30px}
.part-works .pager button:disabled{opacity:.35;cursor:default}
.part-works .detail-view{max-height:1300px;overflow-y:auto;padding:0 12px 20px}
.part-works .detail-view img{display:block;width:auto;max-width:100%;max-height:800px;object-fit:contain;margin:25px auto}
.part-works .detail-view h3{font:500 26px/1.6 "Hiragino Kaku Gothic ProN",sans-serif}
.part-works .detail-view p{max-width:720px;margin:15px auto}
.part-works .detail-view a{display:inline-flex;min-height:44px;align-items:center;color:#7a6238}
.part-works .toolbar h3{font:500 22px/1.5 "Hiragino Kaku Gothic ProN",sans-serif;margin:0}
.part-works .toolbar button:focus-visible,.part-works .pager button:focus-visible{outline:2px solid #9c815b;outline-offset:4px}
@media(max-width:700px){.part-works section{padding-top:100px}
.part-works .toolbar{flex-wrap:wrap}
.part-works .detail-view{max-height:2400px}
.part-works .detail-view img{max-height:1100px}
.part-works .toolbar h3{font-size:20px}}
.part-works dialog{position:fixed;inset:auto;margin:0;width:calc(100% - 32px);left:16px;border:1px solid #d5c8b5;border-radius:18px;background:#faf7f6;padding:0;overflow:hidden;box-shadow:0 20px 60px #625d5a22}
.part-works dialog::backdrop{background:rgba(70,60,65,.23)}
.part-works .dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid #d8cebf;background:#faf7f6}
.part-works .dialog-bar h3{font:500 18px/1.5 "Hiragino Kaku Gothic ProN",sans-serif;margin:0}
.part-works .dialog-bar button{min-height:44px;border:1px solid #b9a580;background:transparent;border-radius:30px;padding:8px 15px;color:#75634b}
.part-works .dialog-content{height:calc(100% - 70px);overflow-y:auto;padding:20px;overscroll-behavior:contain}
.part-works .dialog-content .grid{grid-template-columns:1fr 1fr;gap:30px}
.part-works .dialog-content .mat{height:180px}
.part-works .dialog-content .card h3{font-size:19px}
.part-works .dialog-content .detail-view{max-height:none;overflow:visible}
.part-works .dialog-content .detail-view img{max-height:none;max-width:100%;width:auto}
.part-works .dialog-content .meta{font-size:12px}
@media(max-width:700px){.part-works .dialog-content{padding:16px}
.part-works .dialog-content .grid{grid-template-columns:1fr}
.part-works .dialog-content .mat{height:190px}
.part-works .dialog-bar h3{font-size:15px}
.part-works .dialog-bar{padding:9px 12px}}
.part-works dialog:has(.detail-view){width:min(760px,calc(100% - 32px));left:50%;transform:translateX(-50%)}
.part-works .detail-view{max-width:620px;margin:0 auto;text-align:left}
.part-works .dialog-content .detail-view img{width:auto;max-width:100%;max-height:680px;object-fit:contain;margin:28px auto;background:#fff}
.part-works .detail-view p{font-size:14px;line-height:2;max-width:560px;margin:10px auto 20px}
.part-works .detail-view a{margin-bottom:18px}
.part-works .dialog-bar h3{overflow-wrap:anywhere}
@media(max-width:700px){.part-works dialog:has(.detail-view){width:calc(100% - 24px)}
.part-works .dialog-content .detail-view img{max-height:780px}
.part-works .detail-view p{font-size:13px}}
@keyframes type-rise{from{opacity:0;transform:translateY(.65em);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
.part-works .text-ready .glyph{display:inline-block;animation:type-rise .8s cubic-bezier(.2,.7,.3,1) both;animation-delay:calc(var(--i)*35ms)}
.part-works .text-ready .glyph.space{white-space:pre}
.part-works .text-cue{animation:type-rise .95s ease both;animation-delay:.18s}
.part-works.motion-paused *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.part-works .glyph,.part-works .text-cue{animation:none!important;filter:none!important;transform:none!important;opacity:1!important}}
.part-works .dialog-content .mat{height:260px}
.part-works .dialog-bar{flex-shrink:0}
.part-works .dialog-close{flex-shrink:0}
@media(max-width:700px){.part-works .dialog-content .mat{height:240px}}
@media(max-width:700px){.part-works dialog,.part-works dialog:has(.detail-view){width:calc(100% - 12px);max-width:none;left:6px;transform:none;border-radius:12px}
.part-works .dialog-content{padding:10px;height:calc(100% - 64px)}
.part-works .dialog-bar{padding:8px 10px}
.part-works .detail-view{padding:0;max-width:none}
.part-works .dialog-content .detail-view img{width:100%;max-width:100%;max-height:none;margin:14px auto}
.part-works .dialog-content .mat{height:300px;padding:8px}
.part-works .dialog-content .grid{gap:28px}}
.part-works #view-all{transition:background .25s,color .25s,border-color .25s}
.part-works #view-all:hover,.part-works #view-all:focus-visible{background:#d5b77733;color:#786443;border-color:#b79a62}
@media(prefers-reduced-motion:reduce){.part-works #view-all{transition:none}}
.part-works dialog,.part-works dialog:has(.detail-view){width:calc(100% - 16px);max-width:none;left:8px;transform:none}
.part-works dialog[open]{display:flex;flex-direction:column}
.part-works .dialog-content{height:auto;min-height:0;flex:1}
.part-works .detail-view{max-width:1120px}
.part-works .dialog-content .detail-view img{width:100%;max-width:100%;max-height:none}
.part-works .detail-view p{max-width:960px}
@media(max-width:700px){.part-works dialog,.part-works dialog:has(.detail-view){width:calc(100% - 8px);left:4px;border-radius:8px}
.part-works .dialog-content{padding:10px}}

/* ===== .part-footer ← 0.24_R.design＋_フッター__0.html ===== */
.part-footer,.part-footer *{box-sizing:border-box}
.part-footer,.part-footer{margin:0;background:transparent;color:#55504d;font:14px/2.2 "Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
.part-footer footer{min-height:340px;padding:36px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:0}
.part-footer p{margin:0}
.part-footer .brand{font:400 42px/1.2 Georgia,"Times New Roman",serif;font-style:normal;letter-spacing:.025em}
.part-footer .gratitude{font:400 12px/2 "Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;letter-spacing:.04em;margin:12px 0 18px;max-width:100%;text-wrap:balance}
@media(max-width:540px){.part-footer .brand{font-size:36px}}
.part-footer .brand span{display:inline-block;white-space:pre}
.part-footer .ready .brand span{opacity:0;filter:blur(6px);transform:translateY(5px)}
.part-footer .in .brand span{opacity:1;filter:blur(0);transform:none;transition:opacity .8s ease calc(var(--i)*.04s),filter .8s ease calc(var(--i)*.04s),transform .8s cubic-bezier(.22,1,.36,1) calc(var(--i)*.04s)}
.part-footer .top{display:flex;flex-direction:column;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #b79a62;border-radius:50%;color:#786443;text-decoration:none;font:10px/1.2 "Lato",sans-serif;letter-spacing:.08em;gap:3px;margin-top:18px;transition:background .25s,transform .25s}
.part-footer .top span{font-size:18px;line-height:1}
.part-footer .top:hover{background:#d5b77733;transform:translateY(-3px)}
.part-footer .top:focus-visible{outline:2px solid #786443;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.part-footer .ready .brand span,.part-footer .in .brand span{opacity:1;filter:none;transform:none;transition:none}
.part-footer .top{transition:none}
.part-footer .top:hover{transform:none}}

/* 名刺の表・裏：元画像が小さいので拡大しすぎない */
.part-works .dialog-content .detail-view img[src*="work-salon-card-"]{width:100%;max-width:min(100%,420px);max-height:none;margin-left:auto;margin-right:auto;border:1px solid #e4dcd8;box-shadow:0 6px 18px rgba(118,109,115,.16);box-sizing:border-box}
