/* PC?F???S?T?C?Y?2?R */
@media (min-width: 768px){
  .header{
    margin-bottom: 10px;
  }
  .header h1{
    width: 240px;   /* ?c ?}?}?d?2?R */
  }

  .header img.natsusobiku{
    width: 100%;
    height: auto;
    display: block;
  }
}


/* PC?F?z?o?[/?t?H?[?J?X?A?T?u???j???[?\?| */
@media (min-width: 768px) {
  .menu > ul > li { position: relative; }

  .menu > ul > li > ul {
    display: none;           /* ?u?÷?I?U?U?AOK */
    /* fade?A?U?-?ƒÊ???‘?E?c ?á */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .15s ease, visibility .15s ease;
  }

  .menu > ul > li:hover > ul,
  .menu > ul > li:focus-within > ul {
    display: block;          /* display ???P?A?aOK?B?1?p?E?e?E?c?o?a */
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .menu > ul > li > ul{
    left: 100%;          /* ?eli?I?E?~ */
    top: 0;              /* ?eli?I?a?[ */
    margin-top: 0;       /* ?}?C?i?X?I?e?U?a?s?e */
    height: auto;        /* 100%?A?e?d?a?s?e */
    max-height: 80vh;    /* ?a?E?a?E?u?s?e */
    overflow: auto;
  }
  /* ?e???j???[?I???d ?g?e?L?X?g???h ?E?k?s?e */
  .menu > ul{
    width: fit-content !important;  /* max-content ?a?e?Y?E?á?a???s */
  }
  .menu > ul > li{
    width: fit-content !important;
  }
  .menu > ul > li > a{
    display: inline-block !important; /* a?I??=?÷???? */
  line-height: 1.9;
  }

  /* ?T?u???j???[?d?e?e?L?X?g?I?E???O */
  .menu > ul > li > ul{
    left: calc(100% + 16px) !important;
    top: 0 !important;               /* ?e?????N?I?a?[?E???i?1?e */
    transform: none !important;
    margin-top: 0 !important;
  }
}

/* =========================================================
   Sub menu polish (visual only)
   - ?E?u/??/?J?A?E?I?G?e?E?‘
   ========================================================= */

/* ?T?u???j???[?I?E?i???A?U?3?{?e?d?T?|?s?E?j */
.menu > ul > li > ul{
  background: #fdfdfc;                 /* ?^?A???d?d?P?e */
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
  border: 1px solid rgba(0,0,0,.06);   /* ?U?U?c?|?E?‘?? */
}

/* ?€?U?I?c?|?u?i?]???E?÷???I?A?z?j */
.menu > ul > li > ul > li{
  margin: 0;
  padding: 0;
}

.menu > ul > li > ul > li > a{
  border-bottom: none;                 /* ?u?÷?I?u?I?A?E */
  letter-spacing: .08em;
  opacity: .78;
  transition: opacity .22s ease, transform .22s ease;
  padding: .55em 0;                    /* ?s?O?A?I?E?-?g?]???h?A?a???E */
  display: inline-block;
}

/* ?g?C?z?h?I?o?u?F?z?o?[?ƒÊ???????P?o?E */
.menu > ul > li > ul > li > a::after{
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  margin-top: 6px;
  background: rgba(0,0,0,.10);
  opacity: 0;
  transition: opacity .22s ease;
}

/* ?z?o?[?F2?4px???P?A?A?c?E */
.menu > ul > li > ul > li > a:hover{
  opacity: 1;
  transform: translateX(4px);
}

.menu > ul > li > ul > li > a:hover::after{
  opacity: 1;
}

/* ?e?€?U?d?c?A?‘?e?L?i?e?????N???P?-?ƒÊ?g?[???_?E???j */
@media (min-width: 768px){
  .menu > ul > li:hover > a{
    opacity: .62;
  }
}

/* ???o???P?]???d?-?ƒÊ?R?|?e?i?C?O?j */
.menu > ul > li > ul > li:last-child > a{
  padding-bottom: .35em;
}


@media (min-width: 768px){
  .menu > ul > li > ul::before{
    content: "";
    position: absolute;

    /* ?÷???E?L */
    left: -22px;
    width: 22px;

    /* ???a?o?E?a?á?-?‘?? */
    top: -24px;
    bottom: -24px;

    background: transparent;
    pointer-events: auto;
  }
    .menu > ul > li > a::after{
    content:"";
    position:absolute;
    right:-16px;
    top:-10px;
    bottom:-10px;
    width:16px;
    background:transparent;
  }
}
/* Submenu text color tuning */
.menu > ul > li > ul > li > a{
  color: rgba(0,0,0,.65);   /* ?E?i?F?a?a???s */
}

.menu > ul > li > ul > li > a:hover{
  color: rgba(0,0,0,.85);   /* ?z?o?[?F?ƒÊ?A?c?e */
}

  .menu > ul > li > ul > li > a{
    color: rgba(0,0,0,.75);
  }
/* =========================================================
   SP: opened parent indication (quiet, brand-fit)
   ========================================================= */
@media (max-width: 767px){

  /* ?e?€?U?I?????N */
  .menu > ul > li > a{
    position: relative;
    color: rgba(0,0,0,.78);
  }

  /* ?J?‘?A?‘?e?e?F?-?ƒÊ?Z?-?{?U?n?I?-?ƒÊ?E?E */
  .menu > ul > li.is-open > a{
    color: rgba(0,0,0,.92);
    transform: translateX(2px);
    transition: transform .2s ease, color .2s ease;
  }

  /* ?J?‘?A?‘?e?e?F?÷?E?g?~?‘?u?h?d?o?E?i?A?c?E?o?O?d?|?E?j */
  .menu > ul > li.is-open > a::before{
    content:"";
    position: absolute;
    left: -10px;     /* ?]???E?o?E */
    top: 50%;
    width: 14px;
    height: 1px;
    background: rgba(0,0,0,.20);
    transform: translateY(-50%);
  }

  /* ?T?u???j???[???a?U?n?I?-?ƒÊ?C???f???g?d?ƒÊ?|?e?i?C?Y?a?E?3?j */
  .menu > ul > li > ul{
    padding-left: 18px; /* ?u?÷?a?e?-?ƒÊ???P?R?|?e */
  }
}

@media (max-width: 767px){

  /* ???j???[?S?I?F?A?÷?A?e???E?]???a?c?c?E?‘?a???E?E?e */
  .menu > ul{
    display: block !important;     /* ?i?E?÷?Y */
    max-height: 0;                 /* ?A */
    overflow: hidden;
    opacity: 0;
    transform: translateY(-6px);

    /* ???}?}?a?d?v?F?A?÷?A?e???I?]???[?? */
    padding: 0 !important;
    margin: 0 !important;

    transition:
      max-height 360ms ease,
      opacity 240ms ease,
      transform 240ms ease;
    will-change: max-height, opacity, transform;
  }

  /* ?J?‘???o?O?iJS?A?t?- show-on-mobile?j */
  .menu > ul.show-on-mobile{
    max-height: 70vh;              /* ?K?v?E?c 80vh */
    opacity: 1;
    transform: translateY(0);

  }
}

@media (max-width: 767px){
  .menu > ul{
    overflow: visible; /* ?c?}?e?A?÷?E?I?Y?o?ƒÊ?a?O?e?E?‘ */
  }
}
/* ???j???[?a?I?????N???P transition ?d?3?o?â */
.menu a{
  transition: none !important;
}
.menu a:active,
.menu a:focus{
  opacity: 1 !important;
}

.topslide .slick-slide,
.topslide .slick-track,
.topslide img{
  cursor: default !important;
}

@media (min-width: 768px){

  /* ?ehover?I???w?i?I?A?E */
  .menu > ul > li:hover{
    background: transparent !important;
  }

  /* ?e?????N?F?o?u?I ::before ?E???e */
  .menu > ul > li > a{
    position: relative;
    display: inline-block;
  }

  .menu > ul > li > a::before{
    content: "";
    position: absolute;
    left: 1.5em;
    right: 1.5em;
    top: 50%;
    transform: translateY(0.85em);
    height: 1px;
    background: rgba(0,0,0,.18);
    opacity: 0;
    transition: opacity .22s ease;
    pointer-events: none;
  }

  .menu > ul > li:hover > a::before,
  .menu > ul > li:focus-within > a::before{
    opacity: 1;
  }

  /* ???L?i?e?N?T?u?O?j?Fa?A?I?E?- li ???E?i?e?i?’???ƒÊ?E?‘?j */
  .menu > ul > li{
    position: relative;
  }

  .menu > ul > li::after{
    content: "";
    position: absolute;

    /* ?e?????N?I?E???E ?g?˜???I?E?H?h ?d?i?e */
    right: -24px;
    top: -16px;
    bottom: -16px;
    width: 24px;

    background: transparent;
  }

  /* ???T?u???j???[???I?L?i???E???I ul::before?j?I?-?â?F?a?o?d?a???-?ƒÊ?L?‹?e */
  .menu > ul > li > ul::before{
    top: -36px;
    bottom: -36px;
    left: -24px;
    width: 24px;
  }

  /* ?O?I???s?F?e?????N?I ::after ?I ?g?3?o?â?h ?ƒÊ?A?’???d?R?S?E?f?A */
  .menu > ul > li > a::after{
    content: none !important;
  }
}

@media (min-width: 768px){
  .menu > ul > li > ul{
    display: block !important;  /* ?A?3?E?‘ */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  .menu > ul > li:hover > ul,
  .menu > ul > li:focus-within > ul{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

/* ===== base (quiet) ===== */
.ns-footer--quiet{
background: rgba(0,0,0,.02);
  font-family:'tims', serif;
  padding:56px 0 0;
}

.ns-footer__inner{
  width:min(1200px, 92vw);
  margin:0 auto;
  display:grid;
  grid-template-columns: 300px 1fr;
  gap:48px;
  align-items:start;
}

.ns-footer__logo img{ display:block; max-width:240px; height:auto; }

.ns-footer__tagline{
  margin:16px 0 22px;
  font-size:12px;
  letter-spacing:.08em;
  color:rgba(0,0,0,.52);
}

/* SNS‚ÍŠù‘¶ƒNƒ‰ƒX‚ðÃ‚©‚É */
.ns-footer .p-social-nav{
  margin:0; padding:0; list-style:none;
  display:flex; gap:14px;
}
.ns-footer .p-social-nav__item a{
  display:block; width:28px; height:28px;
  opacity:.62; transition: opacity .2s ease;
}
.ns-footer .p-social-nav__item a:hover{ opacity:1; }

/* links */
.ns-footer__list{ list-style:none; margin:0; padding:0; }
.ns-footer__list a{
  display:inline-block;
  padding:7px 0;
  font-size:12px;
  letter-spacing:.06em;
  line-height:1.95;
  text-decoration:none;
  color:rgba(0,0,0,.66);
  transition: color .2s ease;
}
.ns-footer__list a:hover{ color:rgba(0,0,0,.9); }

/* Bottom */
.ns-footer__bottom{
  margin-top:40px;
  padding:18px 0;
}
.ns-footer__bottomInner{
  width:min(1200px, 92vw);
  margin:0 auto;
}
.ns-footer__copy{ color:rgba(0,0,0,.52); letter-spacing:.08em; }

/* ===== PC: show as columns (details behave like sections) ===== */
@media (min-width: 768px){
  .ns-footer__nav{
    display:grid;
    grid-template-columns: repeat(5, minmax(150px, 1fr));
    gap:34px;
  }
  .ns-footer__acc{
    border:0;
  }
  .ns-footer__sum{
    list-style:none;
    cursor: default;
    padding:0;
    margin:0 0 18px;
    font-size:11px;
    letter-spacing:.18em;
    font-weight:400;
    color:rgba(0,0,0,.68);
  }
  /* PC‚Å‚Í–îˆó‚ðÁ‚· */
  .ns-footer__sum::-webkit-details-marker{ display:none; }
  .ns-footer__acc > summary::marker{ content:""; }

  /* PC‚Íí‚ÉŠJ‚¢‚½Œ©‚½–Ú‚É‚·‚é */
  .ns-footer__acc[open] > summary{ }
  .ns-footer__acc:not([open]){ }
  .ns-footer__acc > ul{ display:block; }

  /* PRODUCT‚ÍPC‚¾‚¯2—ñ */
  @media (min-width: 1000px){
    .ns-footer__list--cols{ columns:2; column-gap:30px; }
    .ns-footer__list--cols li{ break-inside: avoid; }
  }
}

/* ===== SP: accordion ===== */
@media (max-width: 767px){
  .ns-footer__inner{
    grid-template-columns: 1fr;
    gap:28px;
  }

  .ns-footer__nav{
    display:block;
  }

  .ns-footer__acc{
    padding: 14px 0;
  }

  .ns-footer__sum{
    list-style:none;
    cursor:pointer;
    padding: 10px 0;
    font-size:11px;
    letter-spacing:.18em;
    font-weight:400;
    color:rgba(0,0,0,.72);
    position: relative;
  }
  .ns-footer__sum::-webkit-details-marker{ display:none; }
  .ns-footer__acc > summary::marker{ content:""; }

  /* ‰E‘¤‚É‹É¬‚ÌƒTƒCƒ“i{/?‚¶‚á‚È‚­ü2–{‚ÅÃ‚©‚Éj */
  .ns-footer__sum::after,
  .ns-footer__sum::before{
    content:"";
    position:absolute;
    right: 0;
    top: 50%;
    width: 12px;
    height: 1px;
    background: rgba(0,0,0,.28);
    transform: translateY(-50%);
  }
  .ns-footer__sum::before{
    transform: translateY(-50%) rotate(90deg);
    transition: opacity .18s ease;
    opacity: 1;
  }
  .ns-footer__acc[open] > .ns-footer__sum::before{
    opacity: 0; /* ŠJ‚¢‚½‚çcü‚¾‚¯Á‚¦‚ég{‚ª?‚É‚È‚éh */
  }

  .ns-footer__acc > ul{
    padding: 6px 0 10px;
  }

  /* SP‚Í2—ñ‚É‚µ‚È‚¢ic‚Ì‰Â“Ç«—Dæj */
  .ns-footer__list--cols{ columns:1; }
}

.ns-footer{
  position: relative;
}

.ns-footer::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background: linear-gradient(
    to right,
    transparent,
    rgba(0,0,0,.08),
    transparent
  );
}
.ns-footer__brand{
  padding-top: 8px;
}
.ns-footer a:active{
  opacity: 1;
}
.ns-footer__bottomInner{
  display:flex;
  justify-content:flex-end;
}

@media (max-width: 767px){
  .ns-footer{
    padding-bottom: 24px;
  }
}

/* ƒƒS–³‚µF2ƒJƒ‰ƒ€\¬‚ð‚â‚ß‚ÄAƒiƒr‚ð’†‰›Šñ‚¹‚ÌgŽ†–Êh‚É */
.ns-footer__inner--noBrand{
  width: min(1200px, 92vw);
  margin: 0 auto;
}

/* SNSFƒiƒr‚ÆƒRƒs[‚ÌuŠÔv‚É’u‚­ */
.ns-footer__social{
  margin-top: 42px;     /* nav‚Æ‚Ì‹——£ */
  padding-top: 18px;    /* ŒÄ‹z */
  border-top: 1px solid rgba(0,0,0,.06);
}

/* ’†‰›Šñ‚¹‚É‚µ‚È‚¢B¶Šñ‚¹Ž†–ÊŠ´ */
.ns-footer__social .p-social-nav{
  display: flex;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* ƒAƒCƒRƒ“‚Íg‹C”zh */
.ns-footer__social .p-social-nav__item a{
  width: 28px;
  height: 28px;
  display: block;
  opacity: .55;
  transition: opacity .2s ease;
}

.ns-footer__social .p-social-nav__item a:hover{
  opacity: .95;
}
/* =========================================================
   natsusobiku footer (quiet + sitemap)
   - no logo in footer
   - PC: expanded / SP: accordion
   - SNS + copyright aligned
   ========================================================= */

.ns-footer{
@--ft-title: rgba(0,0,0,.84);   /* Œ©o‚µF‚µ‚Á‚©‚è */
  --ft-link:  rgba(0,0,0,.76);   /* ƒŠƒ“ƒNF“Ç‚ß‚é */
  --ft-sub:   rgba(0,0,0,.62);   /* •â•Fˆê’i—Ž‚Æ‚· */
  --ft-hover: rgba(0,0,0,.95);   /* hoverFuŠÔ‚¾‚¯’÷‚Ü‚é */
  background: rgba(0,0,0,.02);
  padding: 56px 0 60px;
  position: relative;
}

/* ƒtƒbƒ^[ã•”‚ÌgŽn‚Ü‚èüh‚¾‚¯iã‰ºü‚Í‘‚â‚³‚È‚¢j */
.ns-footer::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background: linear-gradient(
    to right,
    transparent,
    rgba(0,0,0,.08),
    transparent
  );
}

.ns-footer__inner--noBrand{
  width: min(1200px, 92vw);
  margin: 0 auto;
}

/* ---- Nav base ---- */
.ns-footer__list{
  list-style: none;
  margin: 0;
  padding: 0;
}

.ns-footer__list li{ margin: 0; }

.ns-footer__list a{
  display: inline-block;
  padding: 7px 0;
  font-size: 12px;
  letter-spacing: .06em;
  line-height: 1.95;
  text-decoration: none;
  color: rgba(0,0,0,.66);
  transition: color .2s ease;
}

.ns-footer__list a:hover{
  color: rgba(0,0,0,.9);
}

/* ABOUT‚Ì’†‚ÌJOURNAL‚ðg’i—Žh‚Æ‚µ‚Ä‹æØ‚é */
.ns-footer__gap{ margin-top: 14px; }

/* ---- Meta (SNS + copyright) ---- */
.ns-footer__meta{
  margin-top: 48px;
  display: flex;
  justify-content: flex-end; /* PC‚Í‰EŠñ‚¹‚Å”²‚¯‚ðì‚é */
  align-items: center;
  gap: 22px;
}

.ns-footer__copy{
  color: rgba(0,0,0,.52);
  letter-spacing: .08em;
}

/* SNSiŠù‘¶‚Ìp-social-nav‚ðgÃ‚©‚Éhj */
.ns-footer .p-social-nav{
  display: flex;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ns-footer .p-social-nav__item a{
  width: 28px;
  height: 28px;
  display: block;
  opacity: .52;
  transition: opacity .2s ease;
}

.ns-footer .p-social-nav__item a:hover{
  opacity: .95;
}

/* =========================================================
   PC layout (>=768px)
   ========================================================= */
@media (min-width: 768px){

  /* 5ƒJƒ‰ƒ€‚ÌƒTƒCƒgƒ}ƒbƒv */
  .ns-footer__nav{
    display: grid;
    grid-template-columns: repeat(5, minmax(150px, 1fr));
    gap: 34px;
  }

  /* details‚ðgƒZƒNƒVƒ‡ƒ“•—h‚ÉŒ©‚¹‚éiƒNƒŠƒbƒN‚ÍJS‚Å–³Œø‰»j */
  .ns-footer__acc{
    border: 0;
    padding: 0;
  }

  .ns-footer__sum{
    cursor: default;
    padding: 0;
    margin: 0 0 18px;
    font-size: 13px;
    letter-spacing: .18em;
    font-weight: 400;
    color: rgba(0,0,0,.68);
    list-style: none;
  }

  .ns-footer__sum::-webkit-details-marker{ display: none; }
  .ns-footer__acc > summary::marker{ content: ""; }

  /* PRODUCT‚¾‚¯2—ñiPC‚Ì’T‚µ‚â‚·‚³j */
  @media (min-width: 1000px){
    .ns-footer__list--cols{
      columns: 2;
      column-gap: 30px;
    }
    .ns-footer__list--cols li{ break-inside: avoid; }
  }
}

/* =========================================================
   SP layout (<=767px) : accordion
   ========================================================= */
@media (max-width: 767px){

  .ns-footer{ padding: 44px 0 52px; }

  .ns-footer__nav{padding: 0,44px 
  }

  .ns-footer__acc{
    padding: 14px 0;
  }

  .ns-footer__sum{
    cursor: pointer;
    padding: 10px 0;
    font-size: 11px;
    letter-spacing: .18em;
    font-weight: 400;
    color: rgba(0,0,0,.72);
    position: relative;
    list-style: none;
  }

  .ns-footer__sum::-webkit-details-marker{ display: none; }
  .ns-footer__acc > summary::marker{ content: ""; }

  /* ‹É¬‚Ìg{/?h‚ðü‚Åi‚â‚è‚·‚¬‚È‚¢j */
  .ns-footer__sum::after,
  .ns-footer__sum::before{
    content:"";
    position:absolute;
    right: 0;
    top: 50%;
    width: 12px;
    height: 1px;
    background: rgba(0,0,0,.28);
    transform: translateY(-50%);
  }
  .ns-footer__sum::before{
    transform: translateY(-50%) rotate(90deg);
    transition: opacity .18s ease;
    opacity: 1;
  }
  .ns-footer__acc[open] > .ns-footer__sum::before{
    opacity: 0;
  }

  .ns-footer__acc > ul{
    padding: 6px 0 10px;
  }

  /* SP‚Íc‚Å“Ç‚Ý‚â‚·‚­ */
  .ns-footer__list--cols{ columns: 1; }

  /* ƒƒ^‚ÍSP‚Å‚Í¶Šñ‚¹EcÏ‚Ý */
  .ns-footer__meta{
    justify-content: flex-start;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    margin-top: 28px;
  }
}
/* =========================================
   ns-footer FINAL LAYOUT FIX (place at end)
   ========================================= */

/* 1) ‚Ü‚¸ inner ‚ð flex ‚©‚ç‰ð•ú‚µ‚ÄgcÏ‚Ýh‚É–ß‚· */
.ns-footer .ns-footer__inner{
  display: block !important;
  width: min(1200px, 92vw) !important;
  margin: 0 auto !important;
}

/* 2) nav ‚ðƒy[ƒW•‚¢‚Á‚Ï‚¢‚ÉB—ñ‚ÍŽ©“®ƒtƒBƒbƒg‚Åg’×‚ê‚È‚¢h */
@media (min-width: 768px){
  .ns-footer .ns-footer__nav{
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
    gap: 34px !important;
  }

  /* details ‚ªÅ¬•Žå’£‚µ‚Ä’×‚·‚Ì‚ð–h‚® */
  .ns-footer .ns-footer__acc{
    min-width: 0 !important;
  }

  /* PC‚Å‚Í summary ‚ðŒ©o‚µˆµ‚¢iƒNƒŠƒbƒN‚Å•Â‚¶‚È‚¢‚Ì‚ÍJS‚Å§Œäj */
  .ns-footer .ns-footer__sum{
    cursor: default !important;
  }
}

/* 3) metaiSNS+ƒRƒs[j‚Í nav ‚Ì‰º’i‚ÉŒÅ’è */
.ns-footer .ns-footer__meta{
  width: 100% !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 22px !important;
  margin-top: 48px !important;
  position: relative !important;
}

/* 4) SNS‚ªŠù‘¶CSS‚Å absolute/float ‚É‚È‚Á‚Ä‚Ä‚àƒtƒbƒ^[“à‚¾‚¯–³Œø‰» */
.ns-footer .p-social-nav{
  display: flex !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  position: static !important;
  float: none !important;
}
.ns-footer .p-social-nav__item,
.ns-footer .p-social-nav__item a{
  float: none !important;
}

/* 5) SPFƒAƒR[ƒfƒBƒIƒ“‚ÍcÏ‚Ý */
@media (max-width: 767px){
  .ns-footer .ns-footer__nav{
    display: block !important;
  }
  .ns-footer .ns-footer__meta{
    justify-content: flex-start !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin-top: 28px !important;
  }
}

@media (min-width: 768px){

  /* meta ‚ðgŽ†–Ê‚Ì’†h‚Å‰E‘µ‚¦‚ÉB‰E‚Ö”ò‚Ñ‚·‚¬‚È‚¢ */
  .ns-footer .ns-footer__meta{
    width: 100% !important;
    max-width: 760px !important;        /* š‚±‚±‚ªŒø‚­F‰E‘¤‚ÉŠñ‚è‚·‚¬–hŽ~ */
    margin-left: auto !important;       /* ‰E‘¤‚ÖŠñ‚¹‚é‚ªAŽ†–Ê“à */
    margin-right: 0 !important;

    justify-content: flex-end !important;
    align-items: center !important;
    gap: 18px !important;

    padding-top: 18px !important;       /* nav‚Æ‚Ìg—]‰Ch */
    margin-top: 42px !important;
  }

  /* SNSƒAƒCƒRƒ“‚Ìƒx[ƒXƒ‰ƒCƒ“‚ð®‚¦‚é */
  .ns-footer .p-social-nav__item a{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
  }

  /* c‚ÌˆÊ’u‚ðSNS‚Æ‘µ‚¦‚éi•¶Žš‚ªã‚É•‚‚­‚Ì‚ð–h‚®j */
  .ns-footer .ns-footer__copy{
    display: inline-flex !important;
    align-items: center !important;
    height: 28px !important;            /* šSNS‚Æ“¯‚¶‚‚³ */
    line-height: 1 !important;
    font-size: 12px !important;
    letter-spacing: .08em !important;
    color: rgba(0,0,0,.52) !important;
    white-space: nowrap !important;     /* “r’†‰üs–hŽ~ */
  }
}

@media (min-width: 768px){
  .ns-footer .ns-footer__meta{
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 10px !important;
    max-width: 520px !important;
  }
}
.ns-footer .ns-footer__sum{
  color: rgba(0,0,0,.78) !important;   /* š‚±‚±‚ªŠî€ */
}
.ns-footer .ns-footer__list a{
  color: rgba(0,0,0,.70) !important;
}

.ns-footer .ns-footer__list a:hover{
  color: rgba(0,0,0,.92) !important;
}
@media (min-width: 768px){
  .ns-footer .ns-footer__meta{
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 10px !important;
  }
}.ns-footer .ns-footer__copy{
  color: rgba(0,0,0,.48) !important;
}.ns-footer .p-social-nav__item a{
  opacity: .58 !important;
}

.ns-footer .p-social-nav__item a:hover{
  opacity: .9 !important;
}

.ns-footer .ns-footer__list a{
  color: var(--ft-link) !important;
}

.ns-footer .ns-footer__list a:hover{
  color: var(--ft-hover) !important;
}
.ns-footer .ns-footer__list a{
  padding: 9px 0 !important;
  line-height: 2.05 !important;
}

.ns-footer__legal{
  display: flex;
  align-items: center;
  gap: 18px;
  color: rgba(0,0,0,.55);
}

.ns-footer__policy{
  text-decoration: none;
  color: rgba(0,0,0,.45);
  transition: opacity .2s ease;
    font-size:12px;
}

.ns-footer__policy:hover{
  opacity: .7;
}

.ns-footer__copy{
  color: rgba(0,0,0,.55);
}
.ns-footer__brand{
  margin-left: .35em; /* ‚±‚±‚Å—]”’‚ð’²® */
}