/* =========================================================
   DAIICHI BUSSAN / SITEMAP v111
   ========================================================= */

.sitemap-page .sub-hero-bgword{
  top:43%;
  font-size:clamp(92px,12.5vw,220px);
  color:rgba(15,15,15,.40);
}

.sitemap-intro{
  padding-top:clamp(100px,10vw,155px);
  padding-bottom:clamp(100px,9vw,145px);
}
.sitemap-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr);
  gap:clamp(55px,9vw,145px);
  align-items:end;
}
.sitemap-intro-title>p{
  margin:0 0 20px;
  color:var(--omega-red);
  font-size:9px;
  font-weight:850;
  letter-spacing:.24em;
}
.sitemap-intro-title h2{
  margin:0;
  font-size:clamp(42px,4.3vw,72px);
  line-height:1.24;
  letter-spacing:-.045em;
  font-weight:900;
}
.sitemap-intro-copy{
  border-top:2px solid var(--omega-red);
  padding-top:24px;
}
.sitemap-intro-copy p{
  margin:0 0 18px;
  color:#555;
  font-size:clamp(15px,1.05vw,18px);
  line-height:2.05;
}

.sitemap-main{
  background:#f5f5f3;
}
.sitemap-main-inner{
  padding-top:clamp(90px,9vw,140px);
  padding-bottom:clamp(100px,10vw,160px);
}
.sitemap-group{
  border-top:1px solid #202020;
}
.sitemap-group:last-child{
  border-bottom:1px solid #202020;
}
.sitemap-group-title{
  position:relative;
  min-height:145px;
  padding:32px 70px 30px 74px;
  display:grid;
  grid-template-columns:55px 1fr auto;
  align-items:center;
  color:#202020;
  transition:.25s ease;
}
.sitemap-group-title:not(.is-static):hover{
  background:#fff;
}
.sitemap-group-title>span{
  color:var(--omega-red);
  font-size:10px;
  font-weight:850;
  letter-spacing:.15em;
}
.sitemap-group-title small{
  display:block;
  margin-bottom:8px;
  color:#888;
  font-size:9px;
  font-weight:850;
  letter-spacing:.22em;
}
.sitemap-group-title h2{
  margin:0;
  font-size:clamp(28px,2.5vw,42px);
  line-height:1.25;
  letter-spacing:-.03em;
}
.sitemap-group-title>b{
  font-size:20px;
  font-weight:400;
  transition:.25s ease;
}
.sitemap-group-title:not(.is-static):hover>b{
  color:var(--omega-red);
  transform:translate(3px,-3px);
}

.sitemap-links{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  border-top:1px solid #d8d8d5;
  border-left:1px solid #d8d8d5;
}
.sitemap-links a{
  min-height:108px;
  padding:24px 52px 22px;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-rows:auto auto;
  align-content:center;
  border-right:1px solid #d8d8d5;
  border-bottom:1px solid #d8d8d5;
  background:#fff;
  transition:.25s ease;
}
.sitemap-links a:hover{
  background:#fafaf8;
}
.sitemap-links span{
  grid-column:1;
  margin-bottom:7px;
  color:var(--omega-red);
  font-size:8px;
  font-weight:850;
  letter-spacing:.18em;
}
.sitemap-links strong{
  grid-column:1;
  font-size:clamp(17px,1.35vw,22px);
  font-weight:750;
}
.sitemap-links b{
  grid-column:2;
  grid-row:1/3;
  align-self:center;
  color:#aaa;
  font-size:16px;
  font-weight:400;
  transition:.25s ease;
}
.sitemap-links a:hover b{
  color:var(--omega-red);
  transform:translate(3px,-3px);
}
.sitemap-group-utility .sitemap-group-title{
  background:#f5f5f3;
}

@media(max-width:900px){
  .sitemap-intro-grid{grid-template-columns:1fr;gap:42px}
}
@media(max-width:640px){
  .sitemap-page .sub-hero-bgword{font-size:20vw}
  .sitemap-intro{padding-top:78px;padding-bottom:90px}
  .sitemap-intro-title h2{font-size:35px}
  .sitemap-main-inner{padding-top:65px;padding-bottom:90px}
  .sitemap-group-title{
    min-height:118px;
    padding:25px 20px 24px;
    grid-template-columns:38px 1fr auto;
  }
  .sitemap-group-title h2{font-size:25px}
  .sitemap-links{grid-template-columns:1fr}
  .sitemap-links a{
    min-height:92px;
    padding:20px 22px;
  }
}
