/* =========================================================
   DAIICHI BUSSAN / AMUSEMENT v134 SHORT v106
   BUSINESS詳細ページ
   ========================================================= */

.amusement-page .sub-hero::before{
  z-index:0;
  background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.83) 37%,rgba(255,255,255,.55) 66%,rgba(255,255,255,.38) 100%);
}
.amusement-hero-photo{
  position:absolute;
  z-index:-2;
  inset:0 14.8vw 0 0;
  background:url("assets/business/amusement-main-rokujizo.webp?v=213") center 46%/cover no-repeat;
  filter:grayscale(1) contrast(.82) brightness(1.12);
  opacity:.42;
}
.amusement-page .sub-hero-bgword{
  z-index:1;
  top:43%;
  font-size:clamp(95px,12.8vw,225px);
  color:rgba(15,15,15,.40);
}
.amusement-page .sub-hero-inner{z-index:4}
.amusement-page .sub-hero-red{z-index:2}
.amusement-page .sub-hero-mark{z-index:3}

.business-detail-nav{
  position:relative;
  z-index:10;
  width:min(100% - 9vw,1280px);
  margin:-1px auto 0;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  background:#fff;
  box-shadow:0 16px 45px rgba(0,0,0,.09);
}
.business-detail-nav a{
  position:relative;
  min-height:112px;
  padding:27px 64px 24px 72px;
  border-right:1px solid #ddd;
  display:grid;
  grid-template-columns:42px 1fr;
  grid-template-rows:auto auto;
  align-content:center;
  transition:.25s ease;
}
.business-detail-nav a:last-child{border-right:0}
.business-detail-nav a::after{
  content:"↗";
  position:absolute;
  right:24px;
  top:25px;
  color:#aaa;
  font-size:16px;
  transition:.25s ease;
}
.business-detail-nav a:hover{background:#f7f7f5}
.business-detail-nav a:hover::after{color:var(--omega-red);transform:translate(3px,-3px)}
.business-detail-nav a.is-active{background:#f5f5f3}
.business-detail-nav a.is-active::after{color:var(--omega-red)}
.business-detail-nav span{grid-row:1/3;color:#aaa;font-size:9px;font-weight:800;letter-spacing:.12em;padding-top:3px}
.business-detail-nav b{font-size:clamp(18px,1.45vw,24px);letter-spacing:.025em}
.business-detail-nav small{margin-top:5px;color:#777;font-size:10px}

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

.amusement-main-visual{
  position:relative;
  width:min(100% - 6vw,1720px);
  height:clamp(360px,42vw,620px);
  margin:0 auto;
  overflow:hidden;
  background:#111;
}
.amusement-main-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.amusement-main-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.58) 100%);
}
.amusement-main-label{
  position:absolute;
  z-index:2;
  left:clamp(28px,4vw,72px);
  bottom:clamp(28px,4vw,62px);
  color:#fff;
}
.amusement-main-label span{
  display:block;
  font-size:clamp(42px,5vw,82px);
  line-height:.9;
  font-weight:950;
  letter-spacing:.04em;
}
.amusement-main-label small{
  display:block;
  margin-top:14px;
  font-size:9px;
  font-weight:800;
  letter-spacing:.24em;
  opacity:.75;
}

.amusement-concept{
  background:#f5f5f3;
  padding-top:clamp(82px,8vw,128px);
  padding-bottom:clamp(82px,8vw,128px);
}
.amusement-concept-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(330px,1fr);
  gap:clamp(55px,9vw,145px);
  align-items:end;
}
.amusement-concept-heading p{
  margin:0 0 20px;
  color:var(--omega-red);
  font-size:9px;
  font-weight:850;
  letter-spacing:.24em;
}
.amusement-concept-heading h2{
  margin:0;
  font-size:clamp(42px,4.2vw,70px);
  line-height:1.23;
  letter-spacing:-.045em;
  font-weight:900;
}
.amusement-concept-copy{
  border-top:1px solid #202020;
  padding-top:23px;
}
.amusement-concept-copy p{
  margin:0 0 18px;
  color:#555;
  font-size:clamp(14px,1vw,17px);
  line-height:2;
}

.amusement-points{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:clamp(46px,5vw,72px);
  border-top:1px solid #202020;
  border-bottom:1px solid #d6d6d4;
}
.amusement-point{
  position:relative;
  min-height:268px;
  padding:34px 30px 30px;
  border-right:1px solid #d6d6d4;
}
.amusement-point-photo{
  margin:0 0 26px;
  aspect-ratio: 16 / 10;
  overflow:hidden;
  background:#ececeb;
}
.amusement-point-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.amusement-point:last-child{border-right:0}
.amusement-point>span{
  position:absolute;
  right:22px;
  top:22px;
  color:#aaa;
  font-size:9px;
  font-weight:800;
}
.amusement-point small{
  display:block;
  margin-bottom:30px;
  color:var(--omega-red);
  font-size:9px;
  font-weight:850;
  letter-spacing:.22em;
}
.amusement-point h3{
  margin:0 0 22px;
  font-size:clamp(22px,1.8vw,30px);
  line-height:1.45;
}
.amusement-point p{
  margin:0;
  color:#666;
  font-size:14px;
  line-height:1.9;
}

.omega-brand{
  background:#fff;
}
.omega-brand-inner{
  padding-top:clamp(82px,8vw,128px);
  padding-bottom:clamp(82px,8vw,128px);
}
.omega-brand-head{
  display:grid;
  grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);
  border:1px solid #ddd;
  min-height:245px;
}
.omega-logo-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:38px;
  border-right:1px solid #ddd;
}
.omega-logo-wrap img{
  max-width:min(360px,80%);
  max-height:100px;
  object-fit:contain;
}
.omega-brand-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:42px 58px;
}
.omega-brand-copy>p{
  margin:0 0 10px;
  color:var(--omega-red);
  font-size:9px;
  font-weight:850;
  letter-spacing:.22em;
}
.omega-brand-copy h2{
  margin:0;
  font-size:clamp(48px,5.4vw,88px);
  line-height:.9;
  letter-spacing:-.045em;
  font-weight:950;
}
.omega-brand-copy span{
  margin-top:16px;
  color:#777;
  font-size:14px;
  font-weight:700;
}
.omega-brand-body{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);
  gap:clamp(50px,9vw,145px);
  margin-top:clamp(48px,6vw,85px);
  align-items:start;
}
.omega-brand-text{
  border-top:1px solid #202020;
  padding-top:24px;
}
.omega-brand-text p{
  max-width:850px;
  margin:0 0 18px;
  color:#555;
  font-size:clamp(15px,1vw,17px);
  line-height:2;
}
.omega-area{
  padding-top:24px;
  border-top:1px solid #bbb;
}
.omega-area small{
  display:block;
  margin-bottom:20px;
  color:var(--omega-red);
  font-size:9px;
  font-weight:850;
  letter-spacing:.22em;
}
.omega-area strong{
  display:block;
  padding:12px 0;
  border-bottom:1px solid #e4e4e2;
  font-size:clamp(22px,2vw,32px);
  letter-spacing:.08em;
}

.amusement-message{
  background:#fff;
}
.amusement-message-inner{
  padding-top:clamp(82px,8vw,128px);
  padding-bottom:clamp(82px,8vw,128px);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(55px,9vw,145px);
  align-items:end;
}
.amusement-message-title p{
  margin:0 0 20px;
  color:var(--omega-red);
  font-size:9px;
  font-weight:850;
  letter-spacing:.24em;
}
.amusement-message-title h2{
  margin:0;
  font-size:clamp(42px,4.3vw,72px);
  line-height:1.23;
  letter-spacing:-.045em;
}
.amusement-message-copy{
  border-top:1px solid #202020;
  padding-top:24px;
}
.amusement-message-copy p{
  margin:0;
  color:#555;
  font-size:clamp(15px,1vw,17px);
  line-height:2.05;
}

.business-detail-next{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  width:min(100% - 9vw,1540px);
  margin:0 auto;
  border-left:1px solid #ddd;
  border-right:1px solid #ddd;
  border-top:1px solid #ddd;
}
.business-detail-next-card{
  position:relative;
  min-height:180px;
  padding:40px 52px;
  display:grid;
  grid-template-columns:62px 1fr auto;
  align-items:center;
  border-right:1px solid #ddd;
  overflow:hidden;
}
.business-detail-next-card:last-child{border-right:0}
.business-detail-next-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--omega-red);
  transform:translateY(101%);
  transition:transform .38s cubic-bezier(.2,.7,.25,1);
}
.business-detail-next-card:hover::before{transform:none}
.business-detail-next-card>*{position:relative;z-index:2;transition:color .25s ease}
.business-detail-next-card:hover>*{color:#fff}
.business-detail-next-card>span{
  color:var(--omega-red);
  font-size:8px;
  font-weight:850;
  letter-spacing:.18em;
}
.business-detail-next-card small{
  display:block;
  margin-bottom:8px;
  color:#888;
  font-size:9px;
  font-weight:800;
  letter-spacing:.18em;
}
.business-detail-next-card strong{
  font-size:clamp(24px,2vw,34px);
}
.business-detail-next-card b{
  font-size:22px;
  font-weight:400;
}

@media(max-width:980px){
  .amusement-intro-grid,
  .amusement-concept-inner,
  .omega-brand-body,
  .amusement-message-inner{
    grid-template-columns:1fr;
    gap:42px;
  }
  .amusement-points{grid-template-columns:1fr}
  .amusement-point{
    min-height:220px;
    border-right:0;
    border-bottom:1px solid #d6d6d4;
  }
  .amusement-point:last-child{border-bottom:0}

  .amusement-point{
    min-height:0;
    padding:24px 18px 24px;
  }
  .amusement-point-photo{
    margin:0 0 20px;
  }

}

@media(max-width:640px){
  .amusement-hero-photo{inset:0 19vw 0 0}
  .amusement-page .sub-hero-bgword{font-size:20vw}

  .business-detail-nav{
    width:calc(100% - 24px);
    grid-template-columns:1fr;
  }
  .business-detail-nav a{
    min-height:76px;
    padding:17px 42px 14px 50px;
    border-right:0;
    border-bottom:1px solid #e5e5e5;
    grid-template-columns:34px 1fr;
  }
  .business-detail-nav a:last-child{border-bottom:0}
  .business-detail-nav a::after{right:16px;top:18px}

  .amusement-intro{padding-top:76px;padding-bottom:92px}
  .amusement-intro-title h2{font-size:36px}

  .amusement-main-visual{
    width:calc(100% - 24px);
    height:330px;
  }

  .amusement-concept,
  .omega-brand-inner,
  .amusement-design-inner,
  .amusement-message-inner{
    padding-top:78px;
    padding-bottom:92px;
  }
  .amusement-concept-heading h2,
  .amusement-design-heading h2,
  .amusement-message-title h2{
    font-size:35px;
  }
  .amusement-point{padding:34px 26px 32px}

  .omega-brand-head{grid-template-columns:1fr}
  .omega-logo-wrap{
    min-height:150px;
    border-right:0;
    border-bottom:1px solid #ddd;
  }
  .omega-brand-copy{padding:32px 28px}
  .omega-brand-copy h2{font-size:54px}

  .amusement-design-grid{grid-template-columns:1fr}
  .amusement-design-card>div{height:280px}

  .business-detail-next{
    width:calc(100% - 24px);
    grid-template-columns:1fr;
  }
  .business-detail-next-card{
    min-height:140px;
    padding:30px 24px;
    grid-template-columns:52px 1fr auto;
    border-right:0;
    border-bottom:1px solid #ddd;
  }
  .business-detail-next-card:last-child{border-bottom:0}
}
