@charset "UTF-8";
/* WordPress-only integration. Approved static styles remain unchanged. */
.admin-bar { --wp-bar-offset: 32px; }
.admin-bar .site-header { top: var(--wp-bar-offset); }
.admin-bar .site-header__nav.is-open { top: calc(var(--header-height) + var(--wp-bar-offset)); }
.shirase-empty { margin-block: 48px 70px; color: var(--color-muted); line-height: 2; }
.shirase-empty .c-button { margin-top: 25px; }
.shirase-no-photo { display: grid; place-items: center; background: var(--color-pale); color: var(--color-muted); font-size: 16px; min-height: 120px; }
.works-slider--single .works-slider__track { justify-content: center; }
.work-card > a { display: block; }
.blog-article__body > *:first-child { margin-top: 0; }
.blog-article__body p { margin-block: 20px; }
.blog-article__body h4 { margin-block: 24px 12px; font-size: 20px; }
.blog-article__body ol { margin-block: 20px 30px; padding-left: 1.5em; list-style: decimal; }
.blog-article__body figure { margin-block: 30px; max-width: 100%; }
.blog-article__body figure img { margin: 0; }
.blog-article__body figcaption { margin-top: 10px; font-size: 13px; color: var(--color-muted); text-align: center; }
.blog-article__body blockquote { margin: 30px 0; padding: 20px 25px; border-left: 3px solid var(--color-blue); background: var(--color-pale); }
.blog-article__body .wp-block-table { overflow-x: auto; }
.blog-article__body table { width: 100%; border-collapse: collapse; }
.blog-article__body th, .blog-article__body td { padding: 12px; border: 1px solid var(--color-line); text-align: left; }
.blog-article__body iframe, .blog-article__body video { max-width: 100%; }
.blog-article__body .alignwide, .blog-article__body .alignfull { width: 100%; max-width: 100%; margin-inline: 0; }
.shirase-content-pages { display: flex; justify-content: center; flex-wrap: wrap; gap: 15px; margin-block: 30px; }
.contact-form .wpcf7-form-control-wrap { display: block; }
.contact-form .contact-form__row > div > p { margin: 0; }
.contact-form .contact-form__row > div > p:empty { display: none; }
.contact-form .contact-form__row > div > p .contact-form__helper { margin-top: 9px; }
.contact-form .wpcf7-not-valid-tip { margin-top: 8px; color: #a32d28; font-size: 14px; }
.contact-form [aria-invalid="true"] { border-color: #a32d28 !important; }
.contact-form .contact-form__consent .wpcf7-list-item { margin: 0; }
.contact-form .contact-form__consent label { display: flex; align-items: flex-start; gap: 12px; text-align: left; }
.contact-form .contact-form__consent .contact-form__badge { margin-left: 12px; }
.contact-form .contact-form__consent p { margin: 0; }
.contact-form__submit-wrap { position: relative; width: min(100%, 390px); margin: 30px auto; }
.contact-form input[type="submit"].contact-form__submit { width: 100%; margin: 0; padding: 18px 60px; border: 1px solid var(--color-green); background: var(--color-green); color: #fff; cursor: pointer; font-weight: 700; text-align: center; }
.contact-form input[type="submit"].contact-form__submit:disabled { opacity: .55; cursor: not-allowed; }
.contact-form__submit-arrow { position: absolute; right: 25px; top: 50%; width: 30px; height: 24px; transform: translateY(-50%); filter: brightness(0) invert(1); pointer-events: none; }
.contact-form__submit-wrap > p { margin: 0; }
.contact-form__submit-wrap .wpcf7-spinner { position: absolute; left: calc(50% - 12px); bottom: -34px; margin: 0; }
.contact-form .wpcf7-response-output { margin: 28px 0; padding: 18px; font-size: 16px; line-height: 1.9; }
@media (max-width: 782px) { .admin-bar { --wp-bar-offset: 46px; } }
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } .admin-bar .site-header__nav.is-open { top: var(--header-height); } }
@media (prefers-reduced-motion: reduce) { .works-slider__track { transition: none !important; } }
