*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#080808;color:#fff;font-family:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}.header{position:fixed;z-index:20;top:0;left:0;right:0;height:86px;background:rgba(0,0,0,.78);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:1px solid rgba(255,255,255,.08)}.brand{display:flex;align-items:center;gap:14px}.logo{font-size:34px;font-weight:900;letter-spacing:-2px}.tag{font-size:9px;line-height:1.2;letter-spacing:.5px}.nav{display:flex;align-items:center;gap:25px;font-size:12px}.nav a{opacity:.88;text-align:center}.nav a small{display:block;font-size:10px;margin-top:0}.nav a.active{border-bottom:2px solid #ff174f;padding-bottom:6px}.nav .contact{background:#ff174f;padding:12px 22px;opacity:1}.menuBtn{display:none;background:none;border:0}.hero{height:clamp(620px,56.25vw,900px);min-height:620px;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0;background-image:url("hero-clean.jpg");background-size:cover;background-position:center center;transform:none;animation:slowZoom 12s ease-out forwards}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.12),rgba(0,0,0,.55) 52%,rgba(0,0,0,.85))}.hero-copy{position:absolute;left:52%;top:50%;transform:translateY(-45%);max-width:650px}.eyebrow{font-size:11px;letter-spacing:3px;opacity:.65;margin-bottom:16px}.hero h1{font-size:clamp(70px,9vw,145px);line-height:.8;margin:0 0 20px;font-weight:900;letter-spacing:-6px}.hero h2{font-size:clamp(28px,3.3vw,52px);margin:0 0 8px;line-height:1.25}.hero-copy>p{font-size:24px;margin:0 0 20px}.hero-text{font-size:14px;opacity:.78}.scroll{display:inline-block;margin-top:42px;font-size:11px;letter-spacing:2px}.scroll span{margin-left:15px;font-size:20px}.section{padding:100px 5vw}.section-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid #333;padding-bottom:22px;margin-bottom:36px}.section-head span{font-size:36px;font-weight:800}.section-head small{margin-left:16px;font-size:13px;opacity:.6}.section-head>a{font-size:11px;letter-spacing:1px}.current-works-label{font-size:18px;font-weight:700;margin:-8px 0 24px;letter-spacing:.02em}.work-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.past-works-wrap{text-align:center;margin-top:52px}.past-works-btn{appearance:none;background:transparent;color:#fff;border:1px solid #555;padding:14px 30px;font:inherit;font-size:13px;cursor:pointer;transition:.3s;font-family:"Kaiti SC","Hannotate SC","Hiragino Mincho ProN","Yu Mincho",serif}.past-works-btn:hover{border-color:#fff;transform:translateY(-2px)}.past-works-note{margin-top:10px;font-size:11px;opacity:.55;font-family:"Kaiti SC","Hannotate SC","Hiragino Mincho ProN","Yu Mincho",serif;letter-spacing:.03em}.past-works-list{margin:24px auto 0;max-width:1100px;text-align:left}.past-works-list[hidden]{display:none}.work{min-width:0}.work-img{width:100%;aspect-ratio:16 / 9;height:auto;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900;font-size:25px;line-height:1.15;transition:.5s;overflow:hidden;background:#111}.work-img img{width:100%;height:100%;object-fit:contain;display:block}.work:hover .work-img{transform:translateY(-8px) scale(1.03)}.night{background:linear-gradient(135deg,#260000,#050505);font-size:22px}.asa{background:linear-gradient(135deg,#f5f5ef,#ddd);color:#e66d19}.sat{background:linear-gradient(135deg,#fff,#bde4ec);color:#0584a4}.aiseat{background:linear-gradient(135deg,#9e1d25,#5a0005);font-family:serif}.factory{background:linear-gradient(135deg,#1688b2,#073f67);color:#ffd72d}.work h3{font-size:14px;margin:15px 0 3px}.work p{font-size:10px;opacity:.55;margin:0}.statement{min-height:720px;padding:140px 10vw;display:flex;align-items:center;background:linear-gradient(135deg,#121212,#050505);border-top:1px solid #222;border-bottom:1px solid #222}.statement h2{font-size:clamp(45px,7vw,100px);line-height:1.1;margin:0 0 35px}.statement h2 strong{color:#ff174f}.statement p{max-width:650px;opacity:.65}.people-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.portrait{height:360px;display:flex;align-items:end;padding:25px;font-size:12px;letter-spacing:3px;font-weight:bold;background:linear-gradient(145deg,#303030,#111);transition:.5s}.p2{background:linear-gradient(145deg,#4a4a4a,#111)}.p3{background:linear-gradient(145deg,#222,#555)}.person:hover .portrait{transform:translateY(-8px)}.person h3{font-size:25px;margin:18px 0 2px}.person p{margin:0;opacity:.5;font-size:12px}.recruit{padding:130px 8vw;background:#ff174f}.recruit h2{font-size:clamp(45px,7vw,100px);line-height:1;margin:0 0 20px}.recruit p{font-size:18px}.outline-btn,.contact-big{display:inline-block;border:1px solid #fff;padding:14px 28px;margin-top:20px}.news-item{display:grid;grid-template-columns:130px 65px 1fr;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid #292929}.news-item time{font-size:12px;opacity:.5}.badge{font-size:9px;border:1px solid #555;padding:4px 8px;text-align:center}.news-item p{margin:0;font-size:14px}.contact-section{padding:150px 8vw;text-align:center;background:#111}.contact-section h2{font-size:clamp(40px,6vw,82px);margin:0}.contact-section p{opacity:.6}.contact-big{border-color:#ff174f;color:#ff174f}footer{padding:60px 5vw 30px;border-top:1px solid #222}footer p{font-size:10px;opacity:.5}footer small{font-size:9px;opacity:.35}.reveal{opacity:0;transform:translateY(30px);transition:1s}.reveal.show{opacity:1;transform:none}@keyframes slowZoom{from{transform:scale(1.03)}to{transform:scale(1.1)}}@media(max-width:900px){.header{height:70px}.nav{position:fixed;inset:70px 0 0;background:#080808;display:none;flex-direction:column;justify-content:center;gap:24px;font-size:15px}.nav.open{display:flex}.nav a small{font-size:10px}.menuBtn{display:block}.menuBtn span{display:block;width:25px;height:2px;background:#fff;margin:5px}.work-grid{grid-template-columns:repeat(2,1fr)}.hero-copy{left:8%;right:8%;top:52%}.hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.8))}.people-row{grid-template-columns:1fr}.portrait{height:280px}.section{padding:75px 7vw}.statement{padding:100px 8vw}.news-item{grid-template-columns:90px 55px 1fr}}@media(max-width:520px){.tag{display:none}.hero h1{font-size:74px}.hero h2{font-size:28px}.hero-copy>p{font-size:19px}.hero-text{font-size:12px}.work-grid{grid-template-columns:1fr 1fr}.work-img{height:145px;font-size:19px}.section-head span{font-size:28px}.section-head small{font-size:10px}.news-item{grid-template-columns:1fr 55px;gap:8px}.news-item p{grid-column:1/-1}.recruit{padding:100px 8vw}}
.office{display:grid;grid-template-columns:.82fr 1.18fr;gap:6vw;align-items:center;background:#0d0d0d;padding-top:120px;padding-bottom:120px}.office-copy h2{font-size:clamp(45px,6vw,86px);line-height:1.08;margin:0 0 28px}.office-copy h2 strong{color:#ff174f;white-space:nowrap}.office-copy p{max-width:500px;opacity:.58}.office-switch{display:flex;gap:8px;margin-top:35px}.office-tab{background:transparent;border:1px solid #444;color:#aaa;padding:10px 24px;font-size:10px;letter-spacing:2px;cursor:pointer}.office-tab.active{background:#ff174f;border-color:#ff174f;color:#fff}.office-photo{position:relative;overflow:hidden}.office-photo img{width:100%;height:min(650px,55vw);min-height:380px;display:block;object-fit:cover;object-position:center;transition:opacity .35s,transform 1s}.office-photo:hover img{transform:scale(1.035)}.photo-label{position:absolute;left:22px;bottom:18px;font-size:10px;letter-spacing:2px;background:rgba(0,0,0,.6);padding:7px 10px}@media(max-width:900px){.office{grid-template-columns:1fr;gap:40px}.office-photo img{height:65vw;min-height:300px}}
.brand-logo{height:42px;width:auto;object-fit:contain}.footer-logo{height:48px;width:auto;object-fit:contain}.portrait img{width:100%;height:100%;object-fit:cover;display:block}.portrait{padding:0;overflow:hidden}

.hero-main-logo{
  display:block;
  width:min(360px,34vw);
  height:auto;
  margin:0 0 18px 0;
  object-fit:contain;
}

.hero-clean{
  width:100%;
  height:auto;
  aspect-ratio:16 / 9;
  object-fit:cover;
  object-position:left center;
  display:block;
}

/* Hero image sizing correction: wide 16:9 presentation, no vertical stretching */
.hero, .hero-section, .hero-visual {
  overflow: hidden;
}

/* Final hero image/logo correction */
.hero-main-logo{
  display:block !important;
  width:min(360px,34vw) !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:0 0 18px 0 !important;
}
.hero-visual{
  aspect-ratio:16 / 9;
  overflow:hidden;
}
.hero-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:left center;
}

.hero-description{
  display:block;
  visibility:visible;
  opacity:1;
  position:relative;
  z-index:5;
}
/* 基本デザイン1 確定版：2枚目の承認バランスを固定 */
.hero{height:clamp(680px,56.25vw,900px);min-height:680px;position:relative;overflow:hidden;background:#050505;display:grid;grid-template-columns:58% 42%;}
.hero-camera{height:100%;overflow:hidden;background:#090909;}
.hero-camera img{width:100%;height:100%;display:block;object-fit:cover;object-position:center center;}
.hero-panel{height:100%;padding:90px 6vw 80px 4vw;display:flex;flex-direction:column;justify-content:center;background:#050505;position:relative;z-index:2;}
.hero-panel .eyebrow{margin-bottom:18px;}
.hero-main-logo{display:block;width:min(390px,92%);height:auto;margin:0 0 28px 0;object-fit:contain;object-position:center;}
.hero-panel h2{font-size:clamp(30px,3vw,52px);line-height:1.25;margin:0 0 8px;white-space:nowrap;}
.hero-panel>p{font-size:clamp(19px,1.7vw,28px);margin:0 0 22px;}
.hero-text{font-size:clamp(13px,1vw,17px);line-height:2.25;opacity:.88;}
.hero-text div{white-space:normal;overflow-wrap:anywhere;word-break:normal;}
.hero .scroll{position:absolute;left:0;right:0;bottom:20px;text-align:center;z-index:5;margin:0;}
@media(max-width:900px){.hero{height:auto;min-height:0;display:block;padding-bottom:0}.hero-camera{height:58vw;min-height:320px}.hero-panel{height:auto;padding:55px 8vw 85px}.hero-main-logo{width:min(430px,100%)}.hero-panel h2{white-space:normal}.hero-text div{white-space:normal}.hero .scroll{bottom:14px}.brand-logo{height:42px}}
.statement{position:relative;overflow:hidden;}
.funs-spirit-visible{
  position:absolute;
  right:6%;
  top:50%;
  transform:translateY(-50%);
  width:min(520px,42vw);
  z-index:2;
  pointer-events:none;
}
.funs-spirit-visible img{
  display:block;
  width:100%;
  height:auto;
}
@media(max-width:900px){
  .funs-spirit-visible{
    position:relative;
    right:auto;
    top:auto;
    transform:none;
    width:78%;
    margin:30px auto 0;
  }
}

/* ONLY: 登山で頂きメシ！ thumbnail — match the existing 16:9 WORKS cards */
.itadaki-thumb-card img {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  object-fit: cover !important;
  display: block;
}

/* PEOPLE section: compact, refined layout — source photos remain untouched */
.people-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:34px 20px;align-items:start;}
.people .person{min-width:0;}
.people .portrait{height:245px;padding:0;overflow:hidden;background:#111;border:1px solid rgba(255,255,255,.08);transition:transform .45s ease,box-shadow .45s ease;}
.people .portrait img{width:100%;height:100%;object-fit:cover;display:block;}
.people .person:hover .portrait{transform:translateY(-6px);box-shadow:0 16px 34px rgba(0,0,0,.35);}
.people .person h3{font-size:18px;line-height:1.3;margin:13px 0 4px;letter-spacing:.02em;}
.people .person p{line-height:1.65;font-size:11px;margin:0;opacity:.62;}
.p4{background:linear-gradient(145deg,#3a3a3a,#111)}
.p5{background:linear-gradient(145deg,#4a4a4a,#111)}
.p6,.p7{background:#151515;}
.p8{background:#111;}
.p9,.p10{background:#151515;}
@media(max-width:1100px){.people-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 14px;}.people .portrait{height:215px;}}
@media(max-width:900px){.people-row{grid-template-columns:repeat(2,1fr);gap:30px 18px;}.people .portrait{height:260px;}}
@media(max-width:520px){.people-row{grid-template-columns:1fr 1fr;gap:24px 12px;}.people .portrait{height:190px;}.people .person h3{font-size:16px;}.people .person p{font-size:10px;}}

/* COMPANY section - added only for company information */
.company-info{max-width:900px;margin:0 auto;padding:20px 0 10px}
.company-info dl{display:grid;grid-template-columns:180px 1fr;margin:0;border-top:1px solid rgba(0,0,0,.15)}
.company-info dt,.company-info dd{margin:0;padding:16px 12px;border-bottom:1px solid rgba(0,0,0,.15)}
.company-info dt{font-weight:700;letter-spacing:.08em}
@media(max-width:700px){.company-info dl{grid-template-columns:1fr}.company-info dt{padding-bottom:6px;border-bottom:0}.company-info dd{padding-top:0}}

/* ONLY: HARUNA IWASAKI / NAMIKO KANESADA silhouette size reduction */
.people .person .portrait.p7 img,
.people .person .portrait.p8 img{
  width:68%;
  height:68%;
  object-fit:contain;
  margin:auto;
}

.access-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw;align-items:start}.access-copy h2{font-size:clamp(40px,5vw,70px);margin:0 0 25px}.access-copy h3{font-size:28px;margin:40px 0 15px}.access-copy h4{font-size:14px;margin:24px 0 6px}.access-copy p{font-size:14px;opacity:.72}.access-map{min-height:520px;overflow:hidden}.access-map iframe{display:block}@media(max-width:900px){.access-grid{grid-template-columns:1fr;gap:40px}.access-map{min-height:350px}.access-map iframe{height:420px}}
.past-works-title{font-size:22px;margin:0 0 24px;letter-spacing:.02em}.past-works-items{border-top:1px solid #333}.past-work-item{padding:16px 0;border-bottom:1px solid #292929;white-space:pre-line;font-size:13px;line-height:1.8;opacity:.82}.past-work-item:first-child{border-top:0}

/* FINAL: hero introduction text must wrap inside the panel and never clip */
.hero-panel{min-width:0;overflow:hidden;}
.hero-text{width:100%;max-width:100%;min-width:0;white-space:normal !important;overflow:visible;}
.hero-text div{width:100%;max-width:100%;min-width:0;white-space:normal !important;overflow-wrap:anywhere !important;word-break:break-word !important;}
.hero-text br{display:block;}
@media(min-width:901px){.hero-text{font-size:clamp(12px,.92vw,16px);line-height:2.05;}}
