.page-head{border-bottom:1px solid var(--color-divider)}.page-head .wrap{padding-block:var(--space-8) var(--space-5)}.page-head .label{font:var(--text-meta);color:var(--color-primary);margin-bottom:var(--space-1);font-weight:700}.page-head .t-lead{margin-top:var(--space-3);max-width:40em}.prose{max-width:42em}.prose p{margin-top:var(--space-3)}.prose p:first-child{margin-top:0}.prose h2{font:var(--text-h3);margin-top:var(--space-5)}.prose ul{margin-top:var(--space-3);padding-left:1.2em;list-style:outside}.prose li{margin-top:var(--space-1)}.prose strong{font-weight:700}.prose img{border-radius:var(--radius-image);margin-top:var(--space-5)}.split{gap:var(--space-8);grid-template-columns:280px 1fr;align-items:start;display:grid}.split+.split{margin-top:var(--space-12);padding-top:var(--space-12);border-top:1px solid var(--color-divider)}.split .side .label{font:var(--text-meta);color:var(--color-primary);margin-bottom:var(--space-1);font-weight:700}.split .side .t-sub{margin-top:var(--space-3)}.dl{border-top:1px solid var(--color-divider)}.dl div{gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-divider);grid-template-columns:10em 1fr;display:grid}.dl dt{color:var(--color-text-sub)}.dl dd{margin:0}.feature{gap:var(--space-5);margin-top:var(--space-5);grid-template-columns:1fr 1fr;align-items:start;display:grid}.feature .photo{border-radius:var(--radius-image);aspect-ratio:4/3;overflow:hidden}.feature .photo img{object-fit:cover;width:100%;height:100%}.feature h3{font:var(--text-h3)}.feature p{margin-top:var(--space-2)}.feature ul{margin-top:var(--space-2);color:var(--color-text-sub)}.feature li{text-indent:-1em;padding-left:1em}.feature li:before{content:"・"}.works{border-top:1px solid var(--color-divider);margin-top:var(--space-3)}.works li{gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-divider);grid-template-columns:1fr 1fr;display:grid}.works li span:last-child{color:var(--color-text-sub)}.year{font:var(--text-h3);margin-top:var(--space-8)}.year:first-child{margin-top:0}.year+.news-list{margin-top:var(--space-3)}.article .meta{gap:var(--space-3);align-items:center;display:flex}.article .gallery{gap:var(--space-2);margin-top:var(--space-8);grid-template-columns:1fr 1fr;display:grid}.article .gallery img{border-radius:var(--radius-image);aspect-ratio:4/3;object-fit:cover;width:100%}.article .gallery.one{grid-template-columns:1fr;max-width:720px}.article .back{margin-top:var(--space-8)}.members{gap:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}.members .photo{border-radius:var(--radius-image);aspect-ratio:3/4;overflow:hidden}.members .photo img{object-fit:cover;object-position:top;width:100%;height:100%}.members .role{margin-top:var(--space-3);color:var(--color-text-sub)}.members .name{font:var(--text-h3)}.members .en{color:var(--color-text-sub)}.form{max-width:640px}.form .field{margin-top:var(--space-3)}.form label{margin-bottom:var(--space-1);font-weight:700;display:block}.form label .req{color:#b3261e;margin-left:8px;font-weight:400}.form .hint{color:var(--color-text-sub);margin-bottom:var(--space-1)}.form input,.form textarea,.form select{width:100%;font:var(--text-body);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-button);background:#fff;min-height:56px;padding:12px 16px}.form textarea{resize:vertical;min-height:200px}.form input:focus-visible,.form textarea:focus-visible,.form select:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;box-shadow:0 0 0 4px #000}.form .actions{margin-top:var(--space-5)}.form .note{margin-top:var(--space-3);color:var(--color-text-sub)}.form .error{color:#b3261e;margin-top:var(--space-1)}.contact-aside{gap:var(--space-3);display:grid}.contact-aside .tel{font:var(--text-h3);text-decoration:none}.contact-aside .tel small{font:var(--text-meta);color:var(--color-text-sub);display:block}@media (width<=767px){.split,.feature,.works li,.members,.article .gallery{grid-template-columns:1fr}.split+.split{margin-top:var(--space-8);padding-top:var(--space-8)}.dl div{grid-template-columns:1fr;gap:4px}.members .photo{max-width:360px}}
