@charset "UTF-8";

/* =====================================================
  COMRADE TOP MINIMAL（NO LOADING / PURE）
===================================================== */

.cm-top{
  min-height:100vh;
  background:var(--cs-bg, #f3f3f1);
  color:var(--cs-ink, #111);
}

/* =====================================================
  HEADER HIDE
===================================================== */

body.page-template-page-top-minimal-php header{
  display:none !important;
}

/* =====================================================
  HERO
===================================================== */

.cm-top-hero{
  position:relative;
  min-height:100vh;
}

.cm-top-hero__inner{
  position:absolute;
  top:42%;
  left:0;
  width:100%;
  max-width:var(--cs-page-max, 1440px);
  margin:0 auto;
  padding-inline:var(--cs-base-left);
  transform:translateY(-50%);
}

@media (min-width:768px){
  .cm-top-hero__inner{
    left:50%;
    transform:translate(-50%, -50%);
  }
}

/* =====================================================
  INITIAL STATE（REVEAL ONLY）
===================================================== */

.cm-top-hero__logo,
.cm-top-hero__lead,
.cm-top-hero__enter{
  opacity:0;
  transform:translateY(8px);
  transition:
    opacity .8s cubic-bezier(.22,.61,.36,1),
    transform .8s cubic-bezier(.22,.61,.36,1);
}

.cm-top-hero__logo{
  transition-delay:.16s;
}

.cm-top-hero__lead{
  transition-delay:.32s;
}

.cm-top-hero__enter{
  transition-delay:.52s;
}

.cm-top-hero__logo.is-show,
.cm-top-hero__lead.is-show,
.cm-top-hero__enter.is-show{
  opacity:1;
  transform:none;
}

/* =====================================================
  LOGO
===================================================== */

.cm-top-hero__logo{
  margin:0 0 16px;
  line-height:1;
}

.cm-top-hero__logo a{
  display:inline-block;
  text-decoration:none;
}

.cm-top-hero__logo img{
  display:block;
  width:clamp(84px, 7.2vw, 112px);
}

/* =====================================================
  LEAD
===================================================== */

.cm-top-hero__lead{
  margin:0 0 16px;
  font-family:"Cormorant Garamond", serif;
  font-size:clamp(13px, 1.1vw, 16px);
  line-height:1.52;
  letter-spacing:.04em;
  color:#222;
  opacity:.68;
}

.cm-top-hero__lead span{
  display:block;
}

/* =====================================================
  ENTER（QUIET CTA / SINGLE LINE）
===================================================== */

.cm-top-hero__enter{
  margin-top:0;
}

.cs-enter-link{
  position:relative;
  display:inline-block;
  padding:0;
  font-family:"Cinzel", serif;
  font-size:12px;
  line-height:1;
  letter-spacing:.22em;
  color:#111;
  text-decoration:none;
  opacity:.78;
  transform:translateY(3px);
  transition:opacity .45s cubic-bezier(.22,.61,.36,1);
}

.cs-enter-link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:84px;
  height:1px;
  background:#111;
  transform-origin:left center;
  transform:scaleX(.22);
  opacity:.52;
  transition:
    transform .8s cubic-bezier(.22,.61,.36,1),
    opacity .6s cubic-bezier(.22,.61,.36,1);
}

.cs-enter-link:hover,
.cs-enter-link:focus-visible{
  opacity:.9;
}

.cs-enter-link:hover::after,
.cs-enter-link:focus-visible::after{
  transform:scaleX(1);
  opacity:.88;
}

/* =====================================================
  MOBILE
===================================================== */

@media (max-width:767px){

  .cm-top-hero__inner{
    top:44%;
    left:0;
    width:100%;
    max-width:none;
    padding-inline:var(--cs-base-left);
    transform:translateY(-50%);
  }

  .cm-top-hero__logo{
    margin-bottom:16px;
  }

  .cm-top-hero__lead{
    margin-bottom:16px;
  }

  .cm-top-hero__logo img{
    width:88px;
  }

  .cm-top-hero__enter{
    margin-top:0;
  }

  .cs-enter-link{
    transform:translateY(3px);
  }

  .cs-enter-link::after{
    width:72px;
  }
}