/* v44: content and role hierarchy. Existing approved visual system is retained. */
.v44{font-family:"Noto Sans JP","Yu Gothic",sans-serif;color:#060922}
.v44 p{font-size:22px;line-height:1.8;margin:0 0 20px;white-space:normal}
.v44 h2{font-size:36px;line-height:1.55;font-weight:700;margin:0 0 24px}
.v44 h3{font-size:28px;line-height:1.5;font-weight:700;margin:0 0 16px}
.v44 h4{font-size:24px;line-height:1.5;font-weight:700;margin:0 0 14px}
.v44 .eyebrow{font-size:16px;letter-spacing:.1em;line-height:1.5;font-weight:700;color:#bf0e58;margin-bottom:18px}
.v44 small{font-size:16px;line-height:1.6}
.v44 .section-band h2,.v44 .section-band p{color:white}
.v44 .section-band h2{font-size:40px}
.v44 .section-band .eyebrow{font-size:17px}
.v44 a:not(.v44-button){color:#bf0e58;text-decoration:underline;text-underline-offset:5px}
.v44-button{display:inline-flex;justify-content:center;align-items:center;gap:16px;min-height:64px;padding:18px 28px;background:linear-gradient(110deg,#c21654,#272078);color:white!important;font:700 20px/1.5 "Noto Sans JP",sans-serif;text-decoration:none!important;border:0;cursor:pointer;text-align:center;transition:filter .2s}
.v44-button:hover{filter:brightness(1.15)}
.v44-button:focus-visible,.v44 input:focus-visible,.dialog-close:focus-visible{outline:3px solid #eb1674;outline-offset:4px}
.v44-button:disabled{opacity:.6;cursor:wait}
.header-download{border:0;cursor:pointer;gap:14px!important}
.header-download svg{flex:none}
#overview .scale-highlight{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:35px 45px;background:#080922;color:white;border-top:5px solid #eb1674;margin:0 0 16px;position:relative;overflow:hidden}
.scale-highlight:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,#bf0e5833);pointer-events:none}
.scale-label{display:block;font-size:25px;font-weight:700}
.scale-number{font-size:88px;line-height:1.25;font-weight:800;color:#ff75ab;letter-spacing:-.025em;white-space:nowrap;display:block}
.scale-number span{font-size:32px;margin-left:12px}
.scale-highlight small{display:block;color:#e9dfe8}
.osaka-support{border-left:1px solid #8c6379;padding-left:45px;font-size:32px;font-weight:700;line-height:1.6}
.osaka-support span{display:block}.osaka-support strong{font-size:54px}
.online-note{font:400 16px/1.5 "Noto Sans JP",sans-serif!important;color:#060922;display:block;margin-top:8px;order:3}
.recruitment-section{padding-top:20px!important;background:white}
.recruitment-heading{max-width:1000px}
.target-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:24px;margin-top:30px}
.target-grid article{padding:26px;border-top:3px solid #e91971;background:#fff2f7}
.target-grid article:first-child{background:#090c29;color:#fff}
.target-grid article>span{font-size:20px;font-weight:700;display:block}
.target-grid strong{display:block;font-size:64px;line-height:1.5;font-weight:800;color:#bf0e58}
.target-grid article:first-child strong{color:#ff91bc}
.target-grid strong small{font-size:26px;margin-left:8px}
.target-grid p{font-size:18px;margin:0}.target-note{display:block;margin-top:14px}
.audience-two{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px!important}
.audience-image-pair{display:grid;grid-template-columns:1fr 1fr;min-width:0;height:290px;overflow:hidden;background:#fff}
.audience-image-pair .audience-photo{height:290px!important;min-height:0!important;object-fit:cover!important;width:100%!important;position:static!important}
.audience-two>.audience-photo-card>.audience-photo{height:290px!important;object-fit:cover!important}
.audience-two .audience-photo-copy>a{color:#fff!important;border-bottom:1px solid #6c6074;padding-bottom:8px;width:fit-content;margin-top:auto!important}
.audience-two .audience-photo-copy{gap:10px}
.section-band h2.exhibition-heading{font-size:38px!important;line-height:1.5!important;color:white!important;margin-bottom:18px}
.exhibition-heading span{display:block;font-size:28px;line-height:1.5;margin-top:5px}
.content-grid .content-panel>img,.photo-experience-art,.content-grid .music-art{width:100%;height:290px!important;object-fit:cover;display:block}
.photo-experience-art{display:flex;align-items:center;justify-content:center;gap:30px;background:#fff4f8;padding:35px}
.photo-experience-art img{width:170px;height:170px;object-fit:contain}
.photo-experience-art span{font-size:22px;font-weight:800;letter-spacing:.09em;color:#bf0e58;max-width:130px}
.content-panel.v44 .panel-body{padding:28px}
.experience-summary{padding-top:36px;text-align:center}.experience-summary strong{font-size:30px;color:#bf0e58}.experience-summary p{margin:12px 0 0}
.team-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.team-three article{border-top:4px solid #eb1674;padding-top:22px}
.team-layout span{display:block;font-size:16px;line-height:1.5;margin-bottom:3px;color:#060922}
.team-layout h3{color:#bf0e58;margin-bottom:18px}
.team-layout p{font-size:20px}
.production-row{display:grid;grid-template-columns:minmax(260px,.75fr) 1.6fr;gap:36px;margin-top:34px;padding:30px;background:#f5f5f9;border-top:1px solid #c6c6d2}
.production-row small{color:#bf0e58;font-weight:700;display:block;margin-bottom:15px;letter-spacing:.08em}
.production-row a{font-size:17px}
.client-records,.luca-record{margin-top:50px;border-top:3px solid #eb1674;padding-top:30px}
.client-heading{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap;color:#bf0e58;margin-bottom:22px}
.client-heading h3{margin:0}.client-heading small{color:#bf0e58}
.client-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.client-grid article{border:1px solid #dfd8de;padding:28px;background:white}
.client-logo{height:130px;display:flex;align-items:center;justify-content:center;margin-bottom:22px}
.client-logo img{max-width:100%;max-height:105px;object-fit:contain}
.client-grid h4{color:#bf0e58}.client-grid p{font-size:20px;margin:0}
.cynthia-partner-logo{width:100%!important;max-width:420px!important;max-height:135px!important;height:auto!important;object-fit:contain!important}
.cynthia-partner-card{grid-template-columns:minmax(250px,.65fr) 1.35fr!important;align-items:center!important}
.luca-main-images{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:26px 0}
.luca-main-images img{width:100%;aspect-ratio:16/9;object-fit:contain;background:#fafafa}
.luca-metrics{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}
.luca-metrics article{padding:24px;background:#fff3f8;border-top:3px solid #eb1674}
.luca-metrics dt{font-size:18px;line-height:1.5}.luca-metrics dd{font-size:32px;font-weight:800;color:#bf0e58;margin:4px 0 18px}.luca-metrics dd:last-child{margin-bottom:0}
.luca-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.luca-posts img{width:100%;height:auto;object-fit:contain}
.casting-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.sound-record-body{padding-top:45px}.osaka-records{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:30px 0 20px}
.osaka-records article{padding:35px;background:linear-gradient(115deg,#100f30,#382055);color:white;border-top:4px solid #eb1674}
.osaka-records span{font-size:22px;color:#ffa0c1}.osaka-records h4{font-size:36px;margin:18px 0}.osaka-records p{margin:0}
.source-links{display:flex;gap:28px;margin-top:24px;font-size:18px}
.business-body,.creator-body{padding-top:40px}
.business-example-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:30px 0}
.business-example-grid article,.estimate-row article{border:1px solid #e5cfd9;background:white;padding:28px;border-top:5px solid #eb1674}
.business-example-grid article>span{font-size:16px;color:#bf0e58;letter-spacing:.07em;font-weight:700;display:block;margin-bottom:18px}
.business-example-grid h3{font-size:25px;color:#bf0e58}.business-example-grid p{font-size:20px}
.estimate-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:30px 0}
.estimate-row h3{background:#fff0f6;padding:14px 20px;margin:-28px -28px 20px;font-size:24px}
.estimate-row p{font-size:20px}.creator-fee{font-size:28px;color:#bf0e58;font-weight:700}
.route-alias{display:block;scroll-margin-top:110px}
.customize-section>.page-width>h2{max-width:960px;color:#bf0e58;font-size:40px}
.document-consult-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch;margin-top:40px}
.document-card{background:#fff1f7;border-top:5px solid #eb1674;padding:34px;display:flex;flex-direction:column;align-items:flex-start}
.document-card p{font-size:20px}.document-card h2{font-size:30px}.document-card .v44-button{margin-top:auto}
.consult-card{display:flex;flex-direction:column;padding:34px;border:1px solid #e0d7df}.consult-card h3{font-size:27px}.consult-card .v44-button{margin-top:auto}
.sponsor-document-more{background:#090c29;color:white}
.sponsor-document-more>.page-width{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.sponsor-document-more .eyebrow{color:#ff91bc}.sponsor-document-more .document-card{color:#060922}.sponsor-document-more .document-card .eyebrow{color:#bf0e58}
.document-dialog{width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:40px;border:0;border-top:5px solid #eb1674;box-shadow:0 15px 70px #0004;overflow-y:auto}
.document-dialog::backdrop{background:#060922bb}.document-dialog h2{font-size:28px;margin-right:20px}.document-dialog p{font-size:18px}
.dialog-close{position:absolute;right:12px;top:8px;background:white;border:0;cursor:pointer;font:32px/1 sans-serif;padding:8px;color:#060922}
.document-dialog label{display:block;font-size:19px;font-weight:700;margin:20px 0 8px}.document-dialog label span{font-size:14px;color:#bf0e58;margin-left:10px}
.document-dialog input{width:100%;font:20px/1.5 "Noto Sans JP",sans-serif;padding:12px;border:1px solid #9c96a0;background:white;color:#060922;border-radius:0}
.document-dialog .data-use-note{font-size:14px;line-height:1.7;margin:20px 0}.document-dialog .v44-button{width:100%;font-size:19px}
#document-status{font-size:17px;line-height:1.6;margin:15px 0 0;color:#bf0e58}
.visitor-page{font-family:"Noto Sans JP",sans-serif;background:#fff;color:#060922;margin:0;font-size:20px;line-height:1.8}
.visitor-header{display:flex;gap:18px;align-items:center;padding:22px max(24px,5vw);border-bottom:1px solid #f0cadb;background:white;position:sticky;top:0;z-index:50}
.visitor-header img{width:45px;height:45px;object-fit:contain}.visitor-header span{font:700 25px/1.5 "BIZ UDPMincho",serif;color:#bf0e58}.visitor-header small{font-size:20px}
.visitor-intro,.visitor-footer{padding:35px 5vw}.visitor-footer{background:#090c29;color:white}.visitor-footer a{color:#ff91bc}
.visitor-page .section-band h2{font-size:40px;margin:10px 0}.visitor-page .section-band p{font-size:21px;color:white}.visitor-page .section-band .eyebrow{font-size:16px}
.visitor-page .content-panel h3{font-size:27px;font-weight:700}.visitor-page .content-panel p{font-size:20px;line-height:1.8}
@media(max-width:720px){.section-band h2.exhibition-heading{font-size:28px!important}.exhibition-heading span{font-size:24px}}
@media(max-width:980px){.v44 p{font-size:20px}.v44 h2{font-size:32px}.team-three{gap:20px}.team-layout p{font-size:18px}.team-layout h3{font-size:24px}.production-row{grid-template-columns:1fr 1.4fr;gap:24px}.business-example-grid{grid-template-columns:1fr}.target-grid{gap:16px}.target-grid article{padding:20px}.target-grid article>span{font-size:18px}.osaka-support{font-size:27px}.scale-number{font-size:72px}}
@media(max-width:720px){.v44 p{font-size:20px}.v44 h2,.v44 .section-band h2{font-size:28px}.v44 h3{font-size:25px}.v44 small{font-size:15px}.v44-button{font-size:18px;padding:16px 20px;min-height:60px}.v44 .section-band{padding-left:0;padding-right:0}.scale-highlight{padding:25px!important;gap:20px!important;flex-direction:column;align-items:flex-start!important}.scale-label{font-size:22px}.scale-number{font-size:70px}.scale-number span{font-size:28px}.osaka-support{border-left:0;border-top:1px solid #8c6379;padding:18px 0 0;width:100%;font-size:23px}.osaka-support span,.osaka-support strong{display:inline;font-size:23px}.target-grid{grid-template-columns:1fr 1fr}.target-grid article:first-child{grid-column:1/-1}.target-grid strong{font-size:48px}.target-grid article>span{font-size:16px}.target-grid p{font-size:16px}.audience-two{grid-template-columns:1fr!important}.audience-image-pair,.audience-image-pair .audience-photo,.audience-two>.audience-photo-card>.audience-photo{height:240px!important}.content-grid .content-panel>img,.photo-experience-art{height:220px!important}.photo-experience-art{gap:14px;padding:25px}.photo-experience-art img{width:125px;height:125px}.photo-experience-art span{font-size:18px}.team-three,.production-row,.client-grid,.luca-main-images,.luca-metrics,.estimate-row,.document-consult-grid,.sponsor-document-more>.page-width,.osaka-records{grid-template-columns:1fr}.team-layout p{font-size:20px}.production-row{padding:24px}.client-grid article{padding:24px}.client-logo{height:100px}.client-logo img{max-height:85px}.cynthia-partner-card{grid-template-columns:1fr!important}.luca-posts{grid-template-columns:1fr;max-width:470px;margin:auto;gap:24px}.luca-metrics dd{font-size:30px}.source-links{flex-direction:column;gap:14px}.customize-section>.page-width>h2{font-size:30px}.document-card,.consult-card{padding:26px}.document-card h2{font-size:28px}.document-dialog{padding:30px 24px}.document-dialog h2{font-size:24px}.document-dialog .v44-button{font-size:17px}.visitor-header{gap:10px;padding:16px}.visitor-header img{width:33px;height:33px}.visitor-header span{font-size:18px}.visitor-header small{font-size:16px}.visitor-page .section-band h2{font-size:32px}.visitor-page .section-band p{font-size:20px}.visitor-page .content-panel h3{font-size:25px}.visitor-footer a{display:block}}
@media(max-width:720px){.content-grid .music-art{height:220px!important}}

/* v45: keep attendance and Osaka support together; two recruitment categories. */
#overview .scale-highlight{justify-content:flex-start;gap:56px}
.osaka-support{padding-left:40px;align-self:center}
.osaka-support>span{display:block;font-size:25px;color:#fff;margin-bottom:12px}
.osaka-support>strong{display:block;font-size:clamp(25px,2.6vw,38px);font-weight:800;line-height:1.5;color:#ff75ab;white-space:nowrap}
#overview .stat-grid .stat-card strong.activity-value{display:flex!important;align-items:flex-start;gap:10px;font-size:28px!important;font-weight:800!important;line-height:1.5!important;color:#bf0e58!important;order:2;white-space:nowrap}
.activity-value .online-count{display:flex;flex-direction:column}
.activity-value .online-note{margin-top:0!important;font-size:16px!important;line-height:1.4!important;font-weight:400!important}
.target-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.target-grid article{background:#090c29;color:#fff}
.target-grid strong{color:#ff91bc}
@media(max-width:980px){#overview .scale-highlight{gap:28px;padding:30px}.osaka-support{padding-left:28px}.osaka-support>span{font-size:22px}.osaka-support>strong{font-size:27px}}
@media(max-width:720px){#overview .scale-highlight{gap:20px}.osaka-support{padding:18px 0 0;align-self:stretch}.osaka-support>span{font-size:20px;margin-bottom:7px}.osaka-support>strong{font-size:clamp(18px,5.7vw,26px)}.target-grid{grid-template-columns:1fr}.target-grid article:first-child{grid-column:auto}.target-grid article>span{font-size:21px}.target-grid p{font-size:18px}}
