/* 添付サイトの色・曲線・書体を継承 */
[hidden]{display:none!important}
section{scroll-margin-top:90px}
:focus-visible{outline:3px solid var(--teal);outline-offset:5px}
.skip-link{position:fixed;top:-80px;left:20px;background:var(--white);color:var(--teal);padding:8px 16px;z-index:100}
.skip-link:focus{top:12px}
.hero-count{transition:background .2s,color .2s}
.hero-count:hover{background:var(--teal);color:var(--white)}
.search-form{margin:26px 0 14px}
.search-form label{display:block;color:var(--brown);font-size:12px;letter-spacing:.12em;margin-bottom:8px}
.search-row{display:flex;gap:0;border:1px solid rgba(79,65,60,.2);border-radius:8px;background:white;overflow:hidden}
.search-row input{flex:1;min-width:0;border:0;background:transparent;padding:15px 13px;font:inherit;font-size:13px;letter-spacing:.06em;color:var(--brown)}
.search-row input:focus{outline:2px solid var(--teal);outline-offset:-3px;border-radius:8px}
.search-row button{background:var(--teal);color:var(--white);padding:12px 19px;font-size:13px;flex:none}
.all-videos-btn{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 4px;margin:0 0 24px;color:var(--teal);font-size:13px;letter-spacing:.1em;border-bottom:1px dotted var(--teal)}
.all-videos-btn span{font-size:12px}
.catalog-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:24px 0 10px}
.catalog-toolbar label{width:100%;font-size:12px;color:var(--gold2)}
.catalog-toolbar select{flex:1;min-width:0;max-width:100%;padding:12px 28px 12px 10px;border:1px solid #d6cfc1;border-radius:6px;background:white;color:var(--brown);font:inherit;font-size:12px;letter-spacing:.03em}
.reset-btn{font-size:11px;color:var(--teal);padding:9px 4px;text-decoration:underline;text-underline-offset:4px}
.result-count{font-size:12px;letter-spacing:.05em;margin:18px 0;color:var(--gold2);overflow-wrap:anywhere}
.video-list{display:grid;grid-template-columns:1fr;align-items:stretch}
.video-card{display:flex;flex-direction:column;height:100%}
.video-open{display:block;width:100%;text-align:left;flex:1}
.video-open .video-body{display:flex;flex-direction:column;align-items:flex-start}
.video-badge{max-width:100%;overflow-wrap:anywhere;letter-spacing:.03em}
.video-title{display:block;font-size:14px;overflow:visible;min-height:0;line-height:1.85;width:100%}
.video-cta{display:block;font-size:11px;letter-spacing:.08em}
.video-details{padding:0 16px 17px;letter-spacing:.04em}
.video-details p{color:var(--gold2);font-size:10px;line-height:1.8;margin-bottom:8px}
.video-details a{color:var(--teal);font-size:11px;display:inline-block;border-bottom:1px solid rgba(2,140,161,.25)}
.video-open:hover .play span{transform:scale(1.08)}
.play span{transition:transform .2s}
.empty-state{grid-column:1/-1;padding:34px 20px;background:white;border-radius:8px;text-align:center}
.empty-state h3{font-size:16px;color:var(--brown);letter-spacing:.05em}
.empty-state p{font-size:12px;margin:12px 0 24px;letter-spacing:.04em}
.empty-state .pill-btn{font-size:12px}
.more-btn{margin-top:30px;font-size:13px}
.player-modal{overflow-y:auto}
.player-actions{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:18px;flex-wrap:wrap}
.player-actions a{color:white;font-size:12px;letter-spacing:.06em;border-bottom:1px solid rgba(255,255,255,.7)}
.player-actions .player-close{margin:0}
.player-title{overflow-wrap:anywhere}
@media(min-width:720px){
  .wrap{max-width:1100px;padding:0 40px}
  .header-in{max-width:1100px;padding:20px 40px}
  .brand svg{width:42px;height:34px}
  .brand-name{font-size:17px}
  .hero{padding-top:106px}
  .hero-panel{max-width:1280px;margin:0 auto;padding:88px 40px 66px;border-radius:0 180px 0 180px}
  .hero-inner{max-width:900px}
  .hero-en{left:48px;top:16px;font-size:172px}
  .hero-catch{font-size:38px;line-height:1.9;margin-top:24px}
  .hero-sub{font-size:15px;line-height:2}
  .hero-count{font-size:14px;padding:10px 34px}
  .scroll-hint{margin-top:30px}
  section{padding-top:110px}
  .sec-head{margin-bottom:36px}
  .sec-en{font-size:110px}
  .sec-jp{font-size:30px}
  .sec-lead{font-size:15px}
  .cat-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .cat-card{padding:24px 20px;gap:14px}
  .cat-icon{width:52px;height:52px;font-size:26px}
  .cat-name{font-size:15px}
  .cat-desc{font-size:11px}
  .search-form{max-width:640px}
  .all-videos-btn{max-width:640px;margin-bottom:32px}
  .region-panel{max-width:1020px;margin:60px auto 0;padding:48px 56px;border-radius:110px 0 110px 0}
  .region-panel .wrap{max-width:none}
  .region-panel .cat-list{display:block}
  .region-panel .cat-card{max-width:740px}
  .video-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .video-cat-name{font-size:26px}
  .catalog-toolbar{max-width:680px}
  .contact-panel{max-width:1200px;margin:0 auto;border-radius:0 160px 0 160px;padding:80px 56px}
  .contact-panel .wrap{max-width:990px}
  .contact-panel .pill-list{flex-direction:row;gap:18px;margin-top:34px}
  .contact-panel .pill-btn{font-size:12px;letter-spacing:.08em;padding:14px 12px}
  .sns-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  .sns-card{display:flex;flex-direction:column}
  .sns-body{flex:1}
  .company-card{max-width:720px;padding:38px;margin:0 auto}
  .foot-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 26px}
  footer{margin-top:100px;padding:64px 0}
  .cta-bar{left:50%;right:auto;transform:translateX(-50%);width:min(660px,100%)}
  .cta-bar a{flex-direction:row;gap:9px;font-size:12px;padding:19px 8px}
}
@media(min-width:1024px){
  .video-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cat-name{font-size:17px}
  .cat-desc{font-size:12px}
  .cat-icon{width:60px;height:60px;font-size:30px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
