@charset "utf-8";

/* STATIC.CSS — FORM + TERMS · JAPANESE + ENGLISH */

/* =========================
   STATIC PAGE BACKGROUND
   ========================= */

body.ns-form-page,
body.ns-static-page{
  position:relative;
  background-color:#0e0e0e;
  background-image:url("../images/stone.jpg");
  background-size:800px 800px;
  background-position:center;
  background-repeat:repeat;
  background-attachment:scroll;
}

body.ns-form-page .ns-wrap,
body.ns-static-page .ns-wrap{
  position:relative;
  z-index:0;
  min-height:0;
}

/* =========================
   SHARED COMPACT MASTHEAD
   FORM + TERMS
   ========================= */

.ns-form-masthead{
  position:relative;
  isolation:isolate;
  width:100%;
  min-height:clamp(250px, calc(214.7px + 9.8vw), 360px);
  overflow:hidden;
  background:transparent;
}

.ns-form-masthead__bg{
  position:absolute;
  inset:0;
  z-index:0;
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(
    180deg,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,1) 46%,
    rgba(0,0,0,.98) 56%,
    rgba(0,0,0,.92) 64%,
    rgba(0,0,0,.82) 72%,
    rgba(0,0,0,.68) 79%,
    rgba(0,0,0,.52) 85%,
    rgba(0,0,0,.36) 90%,
    rgba(0,0,0,.22) 94%,
    rgba(0,0,0,.10) 97%,
    rgba(0,0,0,0) 100%
  );
  mask-image:linear-gradient(
    180deg,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,1) 46%,
    rgba(0,0,0,.98) 56%,
    rgba(0,0,0,.92) 64%,
    rgba(0,0,0,.82) 72%,
    rgba(0,0,0,.68) 79%,
    rgba(0,0,0,.52) 85%,
    rgba(0,0,0,.36) 90%,
    rgba(0,0,0,.22) 94%,
    rgba(0,0,0,.10) 97%,
    rgba(0,0,0,0) 100%
  );
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
}

.ns-form-masthead__bg img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center center;
}

.ns-form-masthead__bg::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(
      620px 260px at 50% 44%,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.08) 58%,
      rgba(0,0,0,.22) 100%
    ),
    linear-gradient(
      90deg,
      rgba(0,0,0,.28) 0%,
      rgba(0,0,0,.06) 22%,
      rgba(0,0,0,0) 50%,
      rgba(0,0,0,.06) 78%,
      rgba(0,0,0,.28) 100%
    );
}

.ns-form-masthead__inner{
  position:relative;
  z-index:1;
  width:min(100%, 920px);
  min-height:clamp(250px, calc(214.7px + 9.8vw), 360px);
  margin:0 auto;
  padding:
    clamp(46px, 8vw, 76px)
    clamp(18px, 5vw, 42px)
    clamp(48px, 8vw, 72px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.ns-form-masthead__eyebrow{
  margin:0 0 clamp(12px, 2vw, 18px);
  font-family:var(--font-brand);
  font-size:clamp(12px, 1.8vw, 14px);
  font-weight:700;
  line-height:1.3;
  letter-spacing:.18em;
  color:#fff;
  text-shadow:
    0 1px 1px rgba(0,0,0,.95),
    0 2px 4px rgba(0,0,0,.88),
    0 5px 12px rgba(0,0,0,.72);
}

.ns-form-masthead__title{
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(32px, 7vw, 50px);
  font-weight:700;
  line-height:1.35;
  letter-spacing:.08em;
  filter:
    drop-shadow(0 2px 0 rgba(0,0,0,.82))
    drop-shadow(0 8px 18px rgba(0,0,0,.78))
    drop-shadow(0 18px 36px rgba(0,0,0,.68));
}

.ns-form-masthead__title-line{
  display:block;
  white-space:nowrap;
  background:var(--gold-gradient-text);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.ns-form-masthead__lead{
  margin:clamp(14px, 2.2vw, 20px) 0 0;
  font-size:clamp(16px, 2.3vw, 18px);
  font-weight:400;
  line-height:1.8;
  letter-spacing:.05em;
  color:rgba(255,255,255,.92);
  text-shadow:
    0 2px 0 rgba(0,0,0,.58),
    0 10px 22px rgba(0,0,0,.64);
}

/* =========================
   TERMS CONTENT
   ========================= */

body.ns-static-page{
  --static-font-display:"Cormorant Garamond","Source Sans 3",serif;
  --static-column-title-letter-spacing:.04em;
  --static-column-title-letter-spacing-desktop:.08em;
  --static-text-shadow:0 1px 1px rgba(0,0,0,.48);
}

html:lang(ja) body.ns-static-page{
  --static-font-display:"Shippori Mincho","Zen Kaku Gothic New",serif;
  --static-column-title-letter-spacing:.10em;
  --static-column-title-letter-spacing-desktop:.13em;
}

body.ns-static-page .ct-pill{
  position:relative;
  z-index:3;
  margin-top:clamp(20px, calc(12.4px + 2.11vw), 34px);
  padding:0;
}

body.ns-static-page .ct-pill._is-active._has-text{
  margin-top:clamp(20px, calc(12.4px + 2.11vw), 34px);
}

body.ns-static-page .ct-pill__content{
  position:relative;
  z-index:3;
  width:100%;
  max-width:960px;
  margin-left:auto;
  margin-right:auto;
  margin-bottom:clamp(48px, 7vw, 84px);
  padding:0;
  background:none;
  border:0;
  box-shadow:none;
}

body.ns-static-page .ct-pill__info{
  width:100%;
}

body.ns-static-page .ct-pill__text{
  width:100%;
  margin-top:0;
}

body.ns-static-page .column{
  position:relative;
  padding:clamp(22px, calc(13.3px + 2.42vw), 38px) 0;
  background:none;
  border:0;
  border-top:1px solid rgba(240,197,111,.26);
  box-shadow:none;
}

body.ns-static-page .column:first-child{
  border-top-color:rgba(240,197,111,.54);
}

body.ns-static-page .column:last-child{
  border-bottom:1px solid rgba(240,197,111,.26);
}

body.ns-static-page .column__head{
  display:flex;
  align-items:baseline;
  flex-wrap:nowrap;
  gap:clamp(12px, 2.2vw, 22px);
  width:100%;
  margin-bottom:clamp(13px, 1.8vw, 18px);
}

body.ns-static-page .column__title{
  flex:0 0 auto;
  margin:0;
  font-family:var(--static-font-display);
  font-weight:700;
  letter-spacing:var(--static-column-title-letter-spacing);
  font-size:clamp(18px, calc(15.8px + .61vw), 22px);
  line-height:1.25;
  white-space:nowrap;
  background:var(--gold-gradient-icons);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:0 8px 18px rgba(0,0,0,.34);
}

html:lang(en) body.ns-static-page .column__number{
  font-family:"Shippori Mincho", serif;
  font-weight:700;
}

body.ns-static-page .column__subtitle{
  min-width:0;
  margin:0;
  padding-left:clamp(11px, 1.8vw, 18px);
  border-left:1px solid rgba(240,197,111,.42);
  font-family:var(--font-body);
  font-weight:500;
  font-size:clamp(13px, calc(11.9px + .30vw), 15px);
  line-height:1.55;
  letter-spacing:.06em;
  color:rgba(247,241,230,.90);
  text-shadow:0 1px 1px rgba(0,0,0,.38);
}

body.ns-static-page .column__content{
  display:flex;
  flex-direction:column;
  gap:clamp(10px, 1.35vw, 14px);
}

body.ns-static-page .column__content > p{
  margin:0;
  font-size:clamp(14.5px, 3.8vw, 16.5px);
  font-weight:400;
  line-height:1.95;
  letter-spacing:.025em;
  color:rgba(247,241,230,.90);
  text-shadow:var(--static-text-shadow);
}

body.ns-static-page .column a{
  font-weight:500;
  color:var(--gold);
  text-decoration:underline;
  text-decoration-color:rgba(240,197,111,.42);
  text-underline-offset:4px;
  text-decoration-thickness:1px;
  transition:
    color var(--transition-fast),
    text-decoration-color var(--transition-fast);
}

body.ns-static-page .column a:hover{
  color:#fff1c8;
  text-decoration-color:rgba(255,241,200,.72);
}

body.ns-static-page .column b{
  font-weight:600;
  color:rgba(255,255,255,.97);
}

body.ns-static-page .column ul{
  display:flex;
  flex-direction:column;
  gap:clamp(9px, 1.25vw, 13px);
  margin:2px 0 4px clamp(2px, .8vw, 10px);
  font-size:clamp(14.5px, 3.8vw, 16.5px);
  font-weight:400;
  line-height:1.85;
  letter-spacing:.025em;
  color:rgba(247,241,230,.90);
  text-shadow:var(--static-text-shadow);
}

body.ns-static-page .column li{
  display:flex;
  align-items:flex-start;
  gap:clamp(8px, 1.2vw, 12px);
  line-height:1.85;
}

body.ns-static-page .column li i.icon-arrow{
  position:relative;
  width:clamp(14px, 1.5vw, 16px);
  height:clamp(14px, 1.5vw, 16px);
  flex:0 0 clamp(14px, 1.5vw, 16px);
  transform:translateY(.38em);
}

body.ns-static-page .column li i.icon-arrow::after{
  content:"";
  position:absolute;
  inset:0;
  background:var(--gold-gradient-icons);
  -webkit-mask:no-repeat center/contain;
  mask:no-repeat center/contain;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M10%2017l5-5-5-5%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%273%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M10%2017l5-5-5-5%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%273%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27/%3E%3C/svg%3E");
  filter:
    drop-shadow(0 2px 0 rgba(0,0,0,.42))
    drop-shadow(0 7px 14px rgba(0,0,0,.32));
}

body.ns-static-page .ns-band__head{
  gap:14px;
  padding:6px 0 12px;
}

body.ns-static-page .mailto{
  text-decoration:none;
  font-weight:200;
  font-size:clamp(13px, 1.7vw, 14px);
  letter-spacing:.06em;
}

body.ns-static-page .font--is-light{
  font-weight:300;
}

/* =========================
   RESPONSIVE
   ========================= */

@media (min-width:1024px){
  .ns-form-masthead__bg img{
    object-position:center 48%;
  }

  .ns-form-masthead__title-line{
    display:inline;
  }

  html:lang(ja) .ns-form-masthead__title-line + .ns-form-masthead__title-line::before{
    content:"、";
  }

  body.ns-static-page .column__title{
    letter-spacing:var(--static-column-title-letter-spacing-desktop);
  }

  body.ns-static-page .column__subtitle{
    letter-spacing:.08em;
  }
}

