.contact-root.work-footer { margin: 0; padding: 0; background: #f5f5f5; }
.contact-root.work-footer::before { display: none; }
.ct-surface, .ct-form-section { position: relative; isolation: isolate; background: #f5f5f5; color: #050505; font-weight: 600; }
.ct-surface::before, .ct-form-section::before { content: ''; position: absolute; inset: 0; opacity: .03; z-index: -1; background: url('./paper-grain.png') repeat; background-size: 256px; pointer-events: none; }
.ct-container { width: 100%; max-width: 1200px; padding: 0 20px; margin: auto; }
.ct-section { padding: 80px 0; }
.ct-talk { position: relative; display: flex; align-items: center; justify-content: space-between; width: 100%; height: 130px; padding: 0; overflow: hidden; text-decoration: none; color: #050505; }
.ct-copy { position: relative; display: flex; align-items: center; width: max-content; min-width: 0; height: 130px; transition: transform .4s cubic-bezier(.22,.8,.36,1); }
.ct-title-box { width: calc(var(--ct-title-size,140px) * 4.007); height: 130px; position: relative; display: flex; align-items: center; justify-content: center; }
.ct-title { width: max-content; margin: 0; padding: 0; font-size: var(--ct-title-size,140px); font-weight: 600; line-height: 1; letter-spacing: -.05em; white-space: nowrap; text-align: center; }
.ct-word, .ct-letter { display: inline-block; }
.ct-word { white-space: nowrap; }
.ct-arrow-wrap { display: grid; place-items: center; width: 130px; height: 130px; flex: none; }
.ct-arrow-wrap svg { display: block; overflow: visible; }
.ct-arrow-wrap .ct-arrow-small { display: none; }
.ct-arrow-leading { position: absolute; left: -140px; top: 0; }
.ct-arrow-trailing { position: absolute; right: 0; top: 0; transition: transform .4s cubic-bezier(.22,.8,.36,1); }
.ct-talk:hover .ct-copy, .ct-talk:focus-visible .ct-copy { transform: translateX(140px); }
.ct-talk:hover .ct-arrow-trailing, .ct-talk:focus-visible .ct-arrow-trailing { transform: translateX(140px); }
@supports (animation-timing-function: linear(0,1)) {
  .ct-copy, .ct-arrow-trailing { transition-timing-function: linear(0,.1803,.4551,.6711,.8122,.8966,.9445,.9708,.9848,.9922,.996,.998,1); }
}
.ct-footer { padding: 0 0 20px; }
.ct-footer-rule { height: 1px; width: 100%; background: #05050526; }
.ct-footer-main { display: flex; gap: 40px; padding: 40px 0; }
.ct-profile { flex: 2 1 0; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 50px; }
.ct-name { color: #050505; font-size: 20px; font-weight: 600; line-height: 1.4; letter-spacing: -.06em; text-decoration: none; }
.ct-introduction { max-width: 400px; margin: 10px 0 0; font-size: 16px; line-height: 1.4; font-weight: 600; letter-spacing: -.06em; color: #05050580; }
.ct-local-time { display: flex; align-items: center; gap: 6px; font-size: 14px; line-height: 1.4; letter-spacing: -.06em; }
.ct-local-time time { color: #05050599; }
.ct-menu { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.ct-label { display: block; color: #05050580; font-size: 12px; font-weight: 600; line-height: 1.4; letter-spacing: -.06em; }
.ct-menu .ct-label { margin-bottom: 2px; }
.ct-menu a { display: block; position: relative; color: #050505; text-decoration: none; font-size: var(--ct-menu-size,36px); line-height: 1.2; font-weight: 600; letter-spacing: -.06em; transition: transform .3s cubic-bezier(.2,.8,.2,1); }
.ct-menu a::after { content: ''; position: absolute; left: 0; right: 0; bottom: 1px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .3s; }
.ct-menu a:hover { transform: translateX(4px); }
.ct-menu a:hover::after { transform: scaleX(1); }
.ct-channels { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.ct-contact-links { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.ct-contact-links a { display: inline-flex; max-width: 100%; align-items: center; gap: 8px; color: #050505; font-size: 14px; line-height: 1.4; letter-spacing: -.035em; text-decoration: none; overflow-wrap: anywhere; }
.ct-contact-links svg { flex: none; }
.ct-contact-links a:hover span { text-decoration: underline; text-underline-offset: 4px; }
.ct-footer-bottom { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 20px; border-top: 1px solid #05050526; font-size: 12px; line-height: 1.4; letter-spacing: -.06em; }
.ct-footer-bottom a { color: #050505; text-decoration: none; }
.ct-form-section { padding: 160px 0 80px; }
.ct-form-layout { display: flex; align-items: flex-start; gap: 60px; }
.ct-form-intro { flex: 1; max-width: 500px; }
.ct-form-intro h1 { margin: 0; font-weight: 600; font-size: 24px; line-height: 1.3; letter-spacing: -.06em; text-wrap: balance; }
.ct-page-channels { margin-top: 30px; }
.ct-inquiry-form { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.ct-inquiry-form label { font-size: 14px; line-height: 1.4; letter-spacing: -.06em; }
.ct-inquiry-form input, .ct-inquiry-form textarea { display: block; margin-top: 10px; padding: 14px 16px; border: 1px solid transparent; border-radius: 0; width: 100%; background: #e5e5e5; color: #050505; font-size: 16px; line-height: 1.4; }
.ct-inquiry-form input:focus, .ct-inquiry-form textarea:focus { outline: 0; border-color: #050505; }
.ct-inquiry-form textarea { resize: vertical; min-height: 160px; }
.ct-inquiry-form input::placeholder, .ct-inquiry-form textarea::placeholder { color: #05050566; }
.ct-form-actions { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.ct-send { display: inline-flex; align-items: center; justify-content: center; gap: 16px; border: 0; border-radius: 50px; padding: 13px 22px; background: #050505; color: #f5f5f5; font-size: 14px; line-height: 1.4; }
.ct-send span { transition: transform .3s; }
.ct-send:hover span { transform: translate(3px,-3px); }
.ct-copy-message { background: none; color: #050505; border: 0; padding: 0; text-decoration: underline; text-underline-offset: 4px; font-size: 12px; }
.ct-form-help, .ct-form-status { margin: 0; font-size: 12px; line-height: 1.7; color: #05050580; }
.ct-form-status:empty { display: none; }
.ct-copy-fallback { display: block; width: 100%; min-height: 150px; font-size: 14px; padding: 12px; border: 1px solid #bbb; }
.contact-editor { width: min(660px,calc(100vw - 28px)); max-width: 660px; max-height: calc(100svh - 36px); padding: 0; border: 0; margin: auto; background: #f5f5f5; color: #050505; box-shadow: 0 25px 100px #0004; }
.contact-editor::backdrop { background: #05050588; backdrop-filter: blur(6px); }
.contact-editor-head { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; align-items: center; padding: 20px 26px; border-bottom: 1px solid #ddd; background: #f5f5f5; }
.contact-editor-head h2 { font-size: 24px; margin: 0; line-height: 1.3; letter-spacing: -.06em; font-weight: 600; }
.contact-editor-close { width: 34px; height: 34px; border: 0; border-radius: 50%; font-size: 22px; background: #e5e5e5; color: #050505; padding: 0; }
.contact-editor-body { padding: 20px 26px 26px; }
.contact-editor-note, .contact-editor-status { font-size: 12px; line-height: 1.7; color: #777; margin: 0 0 16px; }
.contact-editor label { display: block; font-size: 12px; line-height: 1.5; color: #555; margin: 15px 0 0; }
.contact-editor input, .contact-editor textarea { display: block; width: 100%; border: 1px solid #d5d5d5; border-radius: 0; padding: 10px 12px; background: #fff; color: #050505; font-size: 14px; line-height: 1.6; margin-top: 7px; }
.contact-editor textarea { resize: vertical; }
.contact-editor details { border: 0; border-bottom: 1px solid #ddd; }
.contact-editor summary { display: flex; justify-content: space-between; padding: 20px 0; cursor: pointer; font-size: 15px; list-style: none; }
.contact-editor summary::after { content: '+'; }
.contact-editor details[open] summary::after { content: '−'; }
.contact-editor-fields { padding-bottom: 20px; }
.contact-editor-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 25px; }
.contact-editor-actions button { background: #050505; color: #fff; border: 1px solid #050505; padding: 10px 15px; font-size: 12px; }
.contact-editor-status { min-height: 21px; margin: 16px 0 0; }
@media (max-width: 809px) {
  .ct-container { padding: 0 16px; }
  .ct-section { padding: 60px 0; }
  .ct-talk { height: 60px; }
  .ct-copy { height: 60px; }
  .ct-title-box { width: calc(var(--ct-mobile-title-size,50px) * 4); height: 50px; }
  .ct-title { font-size: var(--ct-mobile-title-size,50px); }
  .ct-arrow-wrap { width: 80px; height: 50px; }
  .ct-arrow-wrap .ct-arrow-big { display: none; }
  .ct-arrow-wrap .ct-arrow-small { display: block; }
  .ct-arrow-leading { left: -90px; top: 5px; }
  .ct-arrow-trailing { top: 5px; }
  .ct-talk:hover .ct-copy, .ct-talk:focus-visible .ct-copy { transform: translateX(90px); }
  .ct-talk:hover .ct-arrow-trailing, .ct-talk:focus-visible .ct-arrow-trailing { transform: translateX(100px); }
  .ct-footer-main { flex-direction: column; gap: 40px; }
  .ct-profile { flex: none; gap: 30px; }
  .ct-menu, .ct-channels { flex: none; align-items: flex-start; }
  .ct-menu a { font-size: 30px; }
  .ct-footer-bottom { flex-wrap: wrap; row-gap: 16px; }
  .ct-form-section { padding: 96px 0 60px; }
  .ct-form-layout { flex-direction: column; gap: 40px; }
  .ct-form-intro { width: 100%; max-width: none; }
  .ct-inquiry-form { flex: none; width: 100%; }
  .contact-editor-head { padding: 18px 20px; }
  .contact-editor-body { padding: 18px 20px 24px; }
}
@media (hover: hover) and (pointer: fine) {
  .contact-interactive .ct-talk, .contact-interactive .ct-footer, .contact-interactive .ct-footer a, .contact-interactive .ct-form-intro, .contact-interactive .ct-form-intro a { cursor: none; }
}
@media (prefers-reduced-motion: reduce) {
  .ct-copy, .ct-arrow-trailing, .ct-menu a { transition: none; }
}
