:root{--content-width:1150px;--design-max:2530px;--red:#BC002D;--ink:#555}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:#000;color:var(--ink);font-family:"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}img{display:block}.page{width:min(100%,var(--design-max));margin:auto;background:#fff;overflow:hidden}
.site-header{height:70px;position:relative;z-index:20;background:#fff}.site-header__inner{width:min(100%,var(--content-width));height:100%;margin:auto;padding:0 30px;display:flex;align-items:center;justify-content:flex-end;position:relative}
.site-logo{position:absolute;left:30px;top:13px;width:174.11px;overflow:visible}.site-logo img{width:174.11px;height:30px;max-width:none}.site-nav{margin-left:auto;position:relative;top:23px}.site-nav ul{display:flex;align-items:center;gap:54px;list-style:none;margin:0;padding:0}.site-nav a{display:block;white-space:nowrap;font-size:13px;line-height:1;letter-spacing:.08em}.site-nav a:hover,.site-nav a.is-current{color:var(--red)}.menu-toggle{display:none}
.profile-main{background:#fff;min-height:1390px}.profile-content{width:690px;margin:0 auto;padding:54px 0 72px;font-size:14px;line-height:1.55}
.profile-content h1{margin:0 0 62px;text-align:center;font-size:16px;font-weight:500;letter-spacing:.48em;color:#b8b8b8;text-shadow:0 2px 3px #ccc}.profile-content h2{margin:0 0 25px;font-size:14px;font-weight:500}.accent{color:#d00046}
.company-summary{display:block;margin-bottom:62px}.summary-text{width:100%}.summary-text dl,.history-list{margin:0}.summary-text dl>div{display:grid;grid-template-columns:80px 1fr;margin-bottom:10px}.summary-text dt{letter-spacing:.12em}.summary-text dd{margin:0}.company-name{font-size:16px}
.officer-row dd{
  display:flex;
  align-items:flex-start;
  white-space:nowrap;
}
.officer-title,.officer-name{
  line-height:1.55;
}
.officer-name{
  margin-right:60px;
}
.portrait{
  width:120px;
  height:auto;
  flex:0 0 auto;
  margin:0;
}

.history{margin-bottom:92px}.history-list>div{display:grid;grid-template-columns:82px 1fr;margin-bottom:14px}.history-list dt,.history-list dd{margin:0}
.links h2{margin-bottom:32px}.link-card{margin-bottom:48px}.link-head{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:5px;border-bottom:1px solid #777}.link-head strong{font-weight:500}.link-head a{color:#999}.link-card p{margin:10px 10px 0;line-height:1.65}
.site-footer{height:50px;background:#000;color:#aaa;display:flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:.1em}.site-footer p{margin:0}
@media(max-width:1149px){.site-header__inner{padding-inline:24px}.site-logo{left:24px}.site-nav ul{gap:clamp(18px,4vw,44px)}}
@media(max-width:900px){.site-nav ul{gap:18px}.site-nav a{font-size:11px}.profile-content{width:690px}}
@media(max-width:767px){.site-header{height:58px}.site-logo{left:16px;top:9px;width:139px}.site-logo img{width:139px;height:auto}.menu-toggle{display:block;margin-left:auto;border:0;background:transparent;position:relative;top:10px}.site-nav{display:none;position:absolute;top:58px;left:0;right:0;background:#fff}.site-nav.is-open{display:block}.site-nav ul{display:block;padding:10px 20px}.site-nav a{padding:12px 0;border-bottom:1px solid #eee}.profile-main{overflow:hidden}.profile-content{width:690px;margin-left:50%;transform:translateX(-50%)}}
