:root{
  --content-width:1150px;
  --design-max:2354.4px;
  --accent:#BE003F; /* RGB 190,0,63 */
  --ink:#4a4a4a;
}
*,
*::before,
*::after{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{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}

.page{
  width:min(100%,var(--design-max));
  margin-inline:auto;
  background:#fff;
  overflow:hidden;
}

/* Header: align nav baseline to TOP Revision 04 */
.site-header{
  height:70px;
  position:relative;
  z-index:20;
  background:#fff;
}
.site-header__inner{
  width:min(100%,var(--content-width));
  height:100%;
  margin-inline:auto;
  padding:0 30px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  position:relative;
}

/* left logo: use supplied SVG as-is; no clipping/cropping */
.site-logo{
  position:absolute;
  left:30px;
  top:13px;
  width:174.11px;
  height:auto;
  overflow:visible;
}
.site-logo img{
  display:block;
  width:174.11px;
  height:30px;
  max-width:none;
  overflow:visible;
  transform:none;
}

/* same vertical nav position as TOP page */
.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:focus-visible,
.site-nav a.is-current{
  color:#BC002D;
}
.menu-toggle{display:none}

/* Main */
.consulting{
  position:relative;
  min-height:812px;
  isolation:isolate;
}
.consulting__bg{
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:url("../img/consulting-bg.jpg");
  background-repeat:no-repeat;
  background-position:center top;
  background-size:2530px 5500px;
}

/* central logo area */
.consulting__intro{
  height:255px;
  display:flex;
  justify-content:center;
  align-items:flex-end;
  padding-bottom:20px;
}
.consulting__logo{
  display:block;
  width:280px;
  transform:none;
}

/*
 * Red band:
 * thinner than initial version, aligned to source Illustrator proportions.
 * Multiply blend lets the red tone ride over the supplied background texture.
 */
.zero-one{
  position:relative;
  height:116px;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  isolation:isolate;
}
.zero-one::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgb(190,0,63);
  mix-blend-mode:multiply;
  z-index:-1;
}
.zero-one__inner{
  text-align:center;
  transform:translateX(30px);
}
.zero-one h1{
  margin:0;
  display:flex;
  align-items:baseline;
  justify-content:center;
  line-height:.88;
  font-weight:400;
}
.zero-one .number{
  font-family:Arial,"Helvetica Neue",sans-serif;
  font-size:66px;
  font-weight:300;
  letter-spacing:-.03em;
}
.zero-one .jp{
  margin:0 7px;
  font-size:34px;
  font-weight:400;
}
.zero-one p{
  margin:9px 0 0;
  font-size:13px;
  font-weight:600;
  letter-spacing:.08em;
}

/* copy block shifted 30px right */
.consulting__copy{
  min-height:441px;
  padding:52px 20px 76px;
}
.consulting__copy-inner{
  width:535px;
  max-width:calc(100% - 40px);
  margin-inline:auto;
  transform:translateX(30px);
}
.consulting__copy p{
  margin:0 0 8px;
  font-size:14px;
  line-height:1.65;
  letter-spacing:.015em;
}

/* black footer plus black outside area when viewport is taller than content */
.site-footer{
  height:50px;
  background:#000;
  color:#b0b0b0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:Arial,sans-serif;
  font-size:11px;
  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(20px,4vw,44px)}
}

@media(max-width:900px){
  .site-logo{width:174.11px;height:auto;overflow:visible}
  .site-logo img{width:174.11px;height:30px}
  .site-nav ul{gap:20px}
  .site-nav a{font-size:11px}
  .consulting__intro{height:230px}
  .consulting__logo{width:260px}
}

@media(max-width:767px){
  .site-header{height:58px}
  .site-header__inner{padding-inline:16px}
  .site-logo{left:16px;top:9px;width:139.29px;height:auto;overflow:visible}
  .site-logo img{width:139.29px;height:24px}
  .menu-toggle{
    display:block;
    margin-left:auto;
    border:0;
    background:transparent;
    padding:10px 0;
    font-size:12px;
    letter-spacing:.12em;
    cursor:pointer;
    position:relative;
    top:10px;
  }
  .site-nav{
    display:none;
    position:absolute;
    top:58px;
    left:0;
    right:0;
    margin:0;
    background:#fff;
    border-bottom:1px solid #ddd;
  }
  .site-nav.is-open{display:block}
  .site-nav ul{display:block;padding:8px 20px 18px}
  .site-nav a{padding:12px 0;border-bottom:1px solid #eee;font-size:12px}

  .consulting{min-height:auto}
  .consulting__intro{height:205px;padding-bottom:22px}
  .consulting__logo{width:min(250px,72vw);transform:none}

  .zero-one{height:108px}
  .zero-one__inner{transform:none}
  .zero-one .number{font-size:56px}
  .zero-one .jp{font-size:28px;margin-inline:5px}
  .zero-one p{font-size:12px;margin-top:8px}

  .consulting__copy{padding:40px 28px 58px}
  .consulting__copy-inner{transform:none;max-width:100%}
  .consulting__copy p{font-size:13px;margin-bottom:11px}
  .site-footer{font-size:9px}
}
