/*
Theme Name: Arbeaon Studios Child
Theme URI: https://arbeaonstudios.com/
Author: Arbeaon Studios
Description: 最新05案と提供アイコンを反映した子テーマです。
Template: arbeaon-studios
Version: 1.5.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: arbeaon-studios-child
*/
.as05-icon { flex: 0 0 auto; object-fit: contain; }
.slide picture, .studio-intro-media picture, .work-tile picture, .portfolio-media picture { display: block; width: 100%; height: 100%; }
.portfolio-card > div { position: relative; display: grid; gap: 15px; }
@media (min-width: 1051px) { .board-photo:nth-of-type(n+5) { grid-column: span 4; grid-row: auto; } }
body.has-static-header .site-header { position: relative; }
body.has-no-reveal [data-reveal] { opacity: 1; transform: none; }
body { font-size: var(--as05-font-size, 17px); }
.wide-shell { max-width: var(--as05-content-max, none); margin-inline: auto; }
.contact-section { background: var(--as05-contact-bg, radial-gradient(circle at 12% 18%, rgba(255,255,255,.24), transparent 24%), linear-gradient(135deg, var(--cta-start) 0%, var(--cta-end) 100%)); }
.site-footer { background: var(--as05-footer-bg, radial-gradient(circle at 10% 12%, rgba(255,255,255,.09), transparent 24%), linear-gradient(118deg,#155dde 0%,#0b48cb 55%,#093bae 100%)); color: var(--as05-footer-ink, #fff); }
@media (min-width: 761px) {
  .studio-intro h1 { font-size: var(--as05-statement-size, clamp(56px, 5.2vw, 82px)); }
  .section-heading h2, .process-intro h2, .news-intro h2, .faq-intro h2, .contact-section h2, .form-heading h2 { font-size: var(--as05-section-size, clamp(48px, 4.8vw, 72px)); }
}
.page-numbers { display: flex; flex-wrap: wrap; gap: 18px; list-style: none; padding: 0; margin-block: 32px; }
.service-item { grid-template-columns: max(84px, var(--as05-service-icon-size, 68px)) minmax(0, 1fr); }
.service-item--game { --as05-service-icon-size: var(--as05-icon-game-size, 68px); }
.service-item--illustration { --as05-service-icon-size: var(--as05-icon-illustration-size, 68px); }
.service-item--music { --as05-service-icon-size: var(--as05-icon-music-size, 68px); }
.service-item--web { --as05-service-icon-size: var(--as05-icon-web-size, 68px); }
.service-item > .as05-icon { width: var(--as05-service-icon-size, 68px); height: var(--as05-service-icon-size, 68px); }
.as05-heading { display: flex; align-items: center; gap: 18px; }
.as05-heading > .as05-icon { width: var(--as05-heading-icon-size, 56px); height: var(--as05-heading-icon-size, 56px); }
.as05-heading > .as05-icon--portfolio { --as05-heading-icon-size: var(--as05-icon-portfolio-size, 56px); }
.as05-heading > .as05-icon--qa { --as05-heading-icon-size: var(--as05-icon-qa-size, 56px); }
.form-heading .as05-icon--mail { --as05-heading-icon-size: var(--as05-icon-form-size, 56px); }
.faq-intro .as05-heading { display: block; }
.faq-intro .as05-icon { display: block; margin-bottom: 18px; }
.header-contact .as05-icon { flex: 0 0 auto; width: var(--as05-icon-header-size, 24px); height: var(--as05-icon-header-size, 24px); }
.contact-button .as05-icon { flex: 0 0 auto; width: var(--as05-icon-cta-size, 28px); height: var(--as05-icon-cta-size, 28px); }
.as05-nowrap { white-space: nowrap; }
.confirmation-list dd { overflow-wrap: anywhere; }
@media (max-width: 760px) {
  .confirmation-actions { flex-direction: column; align-items: stretch; }
  .confirmation-actions button { width: 100%; min-width: 0; }
  .form-heading .as05-heading { font-size: clamp(22px, 6.2vw, 30px); gap: 12px; }
}
.as05-document { padding-block: 56px 100px; max-width: 1100px; }
.as05-document h1 { font-size: clamp(28px, 4vw, 48px); line-height: 1.5; margin-block: 0 32px; }
.as05-prose { overflow-wrap: anywhere; }
.as05-prose a { color: var(--blue-main); text-decoration: underline; }
.as05-prose img, .as05-prose video, .as05-prose iframe { max-width: 100%; }
.as05-prose table { display: block; max-width: 100%; overflow-x: auto; }
.as05-article-image { margin-block: 32px; width: 100%; height: auto; }
.contact-form-status { padding: 16px 20px; border: 1px solid var(--blue-main); background: var(--surface-blue); margin-bottom: 24px; }
.contact-form-status--error, .contact-form-status--invalid { border-color: #b53434; background: #fff0f0; }
.as05-contact-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
body.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .site-header { top: 0; } .as05-heading { gap: 14px; } }
@media (max-width: 760px) { .board-photo:nth-of-type(n+5) { grid-column: 1; grid-row: auto; } }
