@charset "UTF-8";
.restaurant-lp{
    --lp-black:#080807;
    --lp-gold:#b88a2f;
    --lp-gold-light:#d7ad54;
    --lp-cream:#f5efe5;
    --lp-paper:#fbf7ef;
    --lp-text:#222;
    width:100%;
    overflow:hidden;
    background:var(--lp-black);
    color:var(--lp-text);
    font-family:"Noto Sans JP",sans-serif;
    line-height:1.9
}

.restaurant-lp *,
.restaurant-lp *::before,
.restaurant-lp *::after{box-sizing:border-box}
.restaurant-lp img{
    max-width:100%;
    height:auto;
    display:block
}

.restaurant-lp a{
    color:inherit
}

.lp-container{
    width:min(1180px,92%);
    margin:0 auto
}

.lp-narrow{
    max-width:760px
}

.lp-reveal{
    opacity:0;
    transform:
    translateY(28px);
    transition:
    opacity .9s ease,
    transform .9s ease
}

.lp-reveal.is-visible{
    opacity:1;
    transform:translateY(0)
}

.lp-hero{
    position:relative;
    min-height:100vh;
    background:
    linear-gradient(90deg,rgba(0,0,0,.36) 0%,
    rgba(0,0,0,.12) 54%,rgba(0,0,0,.34) 100%),
    url("lp-hero.png") center center/cover no-repeat;
    display:flex;
    align-items:center
}

/*.lp-hero{
    position:relative;
    min-height:100vh;
    background:
    linear-gradient(
        90deg,
        rgba(255,248,240,.18) 0%,
        rgba(255,248,240,.08) 50%,
        rgba(255,248,240,.18) 100%
    ),
    linear-gradient(
        90deg,
        rgba(0,0,0,.42) 0%,
        rgba(0,0,0,.18) 55%,
        rgba(0,0,0,.38) 100%
    ),
    url("lp-hero.png") center center / cover no-repeat;
    display:flex;
    align-items:center;
}*/

.lp-hero-copy{
    max-width:760px;
    color:#fff
}

.lp-hero-sub-en{
    margin:0 0 20px;
    color:var(--lp-gold-light);
    letter-spacing:.2em;
    text-transform:uppercase
}

.lp-hero h1{
    margin:0 0 30px;
    font-family:"Noto Serif JP",serif;
    font-size:clamp(40px,6vw,62px);
    line-height:1.35
}

.lp-hero-target{
    margin:0 0 14px;
    font-size:18px
}

.lp-hero-question{
    margin:0 0 40px;
    color:var(--lp-gold-light);
    font-size:clamp(22px,2.4vw,34px);
    font-weight:700
}

.lp-hero-buttons{
    display:flex;gap:16px;
    flex-wrap:wrap
}

.lp-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:58px;
    padding:0 34px;
    border-radius:999px;
    text-decoration:none;
    font-weight:700;
    letter-spacing:.03em;
    transition:.3s
}

.lp-btn-primary{
    background:var(--lp-gold);
    color:#fff
}

.lp-btn-primary:hover{
    background:#c89a3b;
    transform:translateY(-2px)
}

.lp-btn-secondary{
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.22);
    color:#fff
}

.lp-btn-secondary:hover{
    background:rgba(255,255,255,.22);
    transform:translateY(-2px)
}

.lp-large-btn{
    width:100%;
    margin-top:30px
}

.lp-transition-message{
    padding:100px 0;
    background:#111;
    color:#fff;
    text-align:center
}

.lp-transition-message p{
    margin:0;
    font-family:"Noto Serif JP",serif;
    font-size:clamp(28px,4vw,52px);
    line-height:1.7
}

.lp-section-label{
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    color:var(--lp-gold)
}

.lp-section-label span{
    font-size:36px;
    font-family:"Noto Serif JP",serif;
    line-height:1
}

.lp-section-label p{
    margin:0;
    letter-spacing:.08em
}

.lp-line{
    width:70px;
    height:1px;
    background:var(--lp-gold)
}

.lp-section-label-dark{
    color:var(--lp-gold-light)
}

.lp-empathy{
    padding:120px 0;
    background:var(--lp-paper)
}

.lp-empathy h2{
    margin:0 0 30px;
    font-family:"Noto Serif JP",serif;
    font-size:clamp(34px,4vw,64px);
    line-height:1.5
}

.lp-section-lead{
    max-width:760px;
    margin:0 0 50px
}

.lp-worry-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px
}

.lp-worry-card{
    display:flex;
    gap:14px;
    padding:24px;
    background:#fff;
    border:1px solid rgba(184,138,47,.18);
    box-shadow:0 12px 32px rgba(0,0,0,.04)
}

.lp-worry-card span{
    width:28px;
    height:28px;
    border-radius:50%;
    background:var(--lp-gold);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    flex-shrink:0
}

.lp-worry-card p{
    margin:0;
    font-weight:700
}

.lp-empathy-message{
    margin-top:50px;
    padding:34px;
    background:#111;
    color:#fff;
    border-left:8px solid var(--lp-gold)
}

.lp-empathy-message p{
    margin:0
}

.lp-position{
    padding:110px 0 0;
    background:#0d0c0b;
    color:#fff
}

.lp-position-block{
    padding:70px 0
}

.lp-position-grid{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:64px;
    align-items:center
}

.lp-position-block-02 
.lp-position-grid{
    grid-template-columns:.72fr 1.28fr
}

.lp-position h2,
.lp-position h3{
    margin:0 0 30px;
    font-family:"Noto Serif JP",serif;
    font-size:clamp(34px,4vw,55px);
    line-height:1.5
}

.lp-position h2 span{
    color:var(--lp-gold-light)
}

.lp-position-text p{
    margin:0;
    color:rgba(255,255,255,.86)
}

/*.lp-position-image img{
    border:1px solid rgba(184,138,47,.18);
    box-shadow:0 22px 60px rgba(0,0,0,.34)
}*/

/*.lp-career-list{
    display:grid;
    gap:14px;
    margin:0;
    padding:0;
    list-style:none
}

.lp-career-list li{
    padding-bottom:14px;
    border-bottom:1px solid rgba(255,255,255,.15);
    color:rgba(255,255,255,.88)
}*/

.lp-after-open {
  padding: 120px 0;
  background:
    radial-gradient(circle at center, rgba(197,162,74,.08), transparent 45%),
    #0b0b0b;
  color: #fff;
}

.lp-after-open .lp-container {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}

.lp-after-label {
  color: #c5a24a;
  text-align: center;
  font-size: 15px;
  letter-spacing: .12em;
  margin-bottom: 24px;
}

.lp-after-open h2 {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(38px, 5vw, 64px);
  line-height: 1.45;
  font-weight: 700;
  margin: 0 0 28px;
}

.lp-after-lead {
  text-align: center;
  font-size: 17px;
  line-height: 2;
  margin: 0 0 64px;
  color: rgba(255,255,255,.86);
}

.lp-after-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
}

.lp-after-card {
  background: linear-gradient(
    180deg,
    rgba(255,255,255,.08),
    rgba(255,255,255,.04)
  );
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 8px;
  padding: 34px 24px;
  text-align: center;
  min-height: 340px;
}

.lp-after-card span {
  display: block;
  color: #c5a24a;
  font-size: 28px;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 28px;
}

.lp-after-icon {
  width: 92px;
  height: 92px;
  margin: 0 auto 26px;
  border: 1px solid rgba(197, 162, 74, .55);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(197, 162, 74, .04);
}

.lp-after-icon svg {
  width: 52px;
  height: 52px;
  stroke: #c5a24a;
  stroke-width: 1.7;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.lp-after-card h3 {
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  line-height: 1.6;
  margin: 0 0 24px;
}

.lp-after-card h3::after {
  content: "";
  display: block;
  width: 48px;
  height: 1px;
  background: #c5a24a;
  margin: 20px auto 0;
}

.lp-after-card p {
  font-size: 14px;
  line-height: 2;
  color: rgba(255,255,255,.8);
  margin: 0;
}

.lp-after-message {
  margin: 64px auto 0;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(22px, 3vw, 34px);
  line-height: 1.9;
  color: #fff;
}

.lp-visualize {
  padding: 120px 0;
  background: #f5efe5;
  overflow: hidden;
}

.lp-visualize-grid {
  display: grid;
  grid-template-columns: 1.15fr 2.25fr;
  gap: 24px;
  align-items: center;
}

.lp-visualize-copy {
  max-width: 620px;
  position: relative;
  z-index: 2;
  padding-left: 24px;
}

.lp-visualize-copy h2 {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(36px, 4vw, 58px);
  line-height: 1.55;
  color: #151515;
  font-weight: 700;
}

.lp-visualize-copy h2 span {
  color: var(--lp-gold);
}

.lp-visualize-line {
  width: 80px;
  height: 1px;
  background: var(--lp-gold);
  margin: 34px 0 42px;
}

.lp-visualize-copy p {
  margin: 0 0 26px;
  color: #222;
  font-size: 17px;
  line-height: 2;
  font-weight: 500;
}

.lp-visualize-copy p:last-child {
  margin-bottom: 0;
}

.lp-visualize-last {
  font-weight: 700;
}

.lp-visualize-image {
  position: relative;
  margin-right: calc(50% - 50vw);
}

.lp-visualize-image::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 480px;
  background: linear-gradient(
    90deg,
    #f5efe5 0%,
    rgba(245,239,229,.92) 50%,
    rgba(245,239,229,.55) 62%,
    rgba(245,239,229,0) 100%
  );
  z-index: 1;
  pointer-events: none;
}

.lp-visualize-image img {
  width: 100%;
  max-width: none;
  min-height: 420px;
  object-fit: cover;
  object-position: center;
  border-radius: 4px 0 0 4px;
  box-shadow: 0 28px 70px rgba(0,0,0,.16);
}

.lp-position-reality{
    padding:72px 0;
    background:#f4efe6
}

.lp-position-reality picture,
.lp-position-reality img{
    width:100%
}

.lp-position-sheet{
    position:relative;
    min-height:520px;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:#f5efe5
}

.lp-position-sheet-bg{
    position:absolute;
    inset:0;
    background:url("lp03-4_pc.png") center center/cover no-repeat
}

.lp-position-sheet-text{
    position:relative;
    z-index:1;
    max-width:540px;
    padding:70px 0;
    color:#151515
}

.lp-small-copy{
    margin:0 0 14px;
    font-family:"Noto Serif JP",serif;
    font-size:clamp(22px,2vw,32px);
    line-height:1.6
}

.lp-frame-copy{
    display:inline-block;
    margin:10px 0 12px;
    padding:10px 28px;
    border:1px solid rgba(80,67,48,.55);
    background:rgba(255,255,255,.28);
    font-family:"Noto Serif JP",serif;
    font-size:clamp(20px,1.8vw,28px);
    line-height:1.5
}

.lp-highlight-copy{
    display:inline-block;
    margin:12px 0 14px;
    padding:10px 24px;
    background:var(--lp-gold);
    color:#fff;
    font-family:"Noto Serif JP",serif;
    font-size:clamp(20px,1.8vw,28px);
    line-height:1.5
}

.lp-center-copy{
    text-align:center
}

.lp-sheet-intro{
    padding:120px 0;
    background:var(--lp-cream)
}

.lp-sheet-grid,
.lp-cta-wrapper{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center
}

.lp-sheet-intro h2{
    margin:0 0 30px;
    font-family:"Noto Serif JP",serif;font-size:clamp(34px,4vw,46px);
    line-height:1.5
}

.lp-sheet-copy p{
    margin:0
}

.lp-sheet-image img{
    border:1px solid rgba(184,138,47,.18);
    box-shadow:0 22px 60px rgba(0,0,0,.18)
}

.lp-benefit-grid{
    margin-top:70px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px
}

.lp-benefit-card{
    padding:28px 24px;
    background:#fff;
    border:1px solid rgba(184,138,47,.15)
}

.lp-benefit-card h3{
    margin:0 0 14px;
    color:var(--lp-gold);
    font-size:20px
}

.lp-benefit-card p{
    margin:0
}

.lp-cta{
    padding:120px 0;
    background:linear-gradient(135deg,#080807 0%,#171412 100%);
    color:#fff
}

.lp-cta-wrapper{
    gap:30px
}

.lp-cta-box{
    padding:50px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08)
}

.lp-dark-box{
    background:rgba(255,255,255,.02)
}

.lp-mini-title{
    margin:0 0 12px;
    color:var(--lp-gold-light);
    letter-spacing:.08em
}

.lp-cta-box h2{
    margin:0 0 24px;
    font-family:"Noto Serif JP",serif;
    font-size:clamp(32px,3vw,48px)
}

.lp-cta-box p{
    margin:0
}

.lp-footer{
    padding:40px 20px;
    background:#050505;
    text-align:center;
    color:rgba(255,255,255,.5)
}

.lp-footer p{
    margin:0
}


@media screen and (max-width:960px){
    .lp-hero{
        min-height:auto;
        padding:140px 0
    }
    
    .lp-hero h1{
        font-size:54px
    }
    
    .lp-position-grid,
    .lp-position-block-02 
    .lp-position-grid,
    .lp-sheet-grid,
    .lp-cta-wrapper{
        grid-template-columns:1fr;
        gap:46px
    }
    
     .lp-visualize-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .lp-visualize-image {
        order: -1;
    }

    .lp-visualize-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .lp-visualize-image {
        order: -1;
        margin-right: 0;
    }

    .lp-visualize-image::before {
        display: none;
    }

    .lp-visualize-image img {
        min-height: auto;
        border-radius: 4px;
    }

    .lp-position-image{
        order:-1
    }

    .lp-after-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .lp-after-card {
        min-height: 280px;
    }
    
    .lp-benefit-grid{
        grid-template-columns:repeat(2,1fr)
    }
    
    .lp-position-sheet{
        min-height:480px
    }
    
    .lp-position-sheet-text{
        max-width:480px
    }
}


@media screen and (max-width:560px){
    .lp-container{
        width:min(100% - 40px,1180px)
    }
    
    .lp-hero{
        padding:110px 0 90px;
        background-position:70% center
    }
    
    .lp-hero h1{
        font-size:38px;
        line-height:1.5
    }
    
    .lp-hero-sub-en{
        font-size:12px
    }
    
    .lp-hero-target{
        font-size:15px
    }
    
    .lp-hero-question{
        font-size:24px
    }
    
    .lp-hero-buttons{
        flex-direction:column
    }
    
    .lp-btn{
        width:100%;
        padding:0 22px
    }
    
    .lp-transition-message{
        padding:70px 0
    }
    
    .lp-transition-message p{
        font-size:30px
    }
    
    .lp-empathy,
    .lp-sheet-intro,
    .lp-cta{
        padding:80px 0
    }
    
    .lp-position{
        padding:80px 0 0
    }
    
    .lp-position-block{
        padding:54px 0
    }
    
    .lp-worry-grid,
    .lp-position-grid,
    .lp-position-block-02 
    .lp-position-grid,
    .lp-sheet-grid,
    .lp-benefit-grid,
    .lp-cta-wrapper{
        grid-template-columns:1fr
    }
    
    .lp-worry-card,
    .lp-cta-box,
    .lp-benefit-card{
        padding:20px
    }
    
    .lp-section-label{
        gap:12px
    }
    
    .lp-section-label span{
        font-size:28px
    }
    
    .lp-line{
        width:42px
    }
    
    .lp-position h2,
    .lp-position h3,
    .lp-sheet-intro h2,
    .lp-empathy h2,
    .lp-cta-box h2{
        font-size:34px
    }

    .lp-after-open {
        padding: 80px 0;
    }

    .lp-after-label {
        text-align: left;
    }

    .lp-after-open h2,
    .lp-after-lead,
    .lp-after-message {
        text-align: left;
    }

    .lp-after-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .lp-after-card {
        min-height: auto;
        padding: 30px 24px;
    }

    .lp-after-card h3 {
        font-size: 22px;
    }

    .lp-after-icon {
        width: 78px;
        height: 78px;
        margin-bottom: 22px;
    }

    .lp-after-icon svg {
        width: 44px;
        height: 44px;
    }

    .lp-after-message {
        font-size: 22px;
    }
    
    .lp-position-reality{
        padding:52px 0
    }

    .lp-visualize {
        padding: 80px 0;
    }

    .lp-visualize-copy h2 {
        font-size: 32px;
    }

    .lp-visualize-copy p {
        font-size: 15px;
    }

    .lp-visualize-line {
        margin: 28px 0 34px;
    }
    
    .lp-position-sheet{
        min-height:760px;
        align-items:flex-start
    }
    
    .lp-position-sheet-bg{
        background-image:url("lp03-4_sp.png");
        background-position:center top
    }
    
    .lp-position-sheet-text{
        max-width:none;
        padding:72px 0 0
    }
    
    .lp-small-copy{
        font-size:22px
    }
    
    .lp-frame-copy,
    .lp-highlight-copy{
        font-size:18px
    }
}
