@charset "UTF-8";
.page-faq{background:#fff;color:#000;overflow-x:hidden}.page-faq main{position:relative}.page-faq .page-title{width:min(1120px,calc(100% - 40px));margin-inline:auto;padding-bottom:0}.faq-intro{padding-top:clamp(44.241px,calc(31.487px + 3.401vw),80.466px)}.faq-intro p{font-size:15px;font-weight:300;line-height:32px}.faq-group{padding-top:clamp(72px,calc(47.352px + 6.573vw),142px)}.faq-group:first-of-type{padding-top:clamp(64px,calc(48.507px + 4.131vw),108px)}.faq__list{display:grid;gap:30px;margin-top:50px}
/* Same card composition as TOP / FAQ. */
.faq-item{overflow:hidden;border-radius:20px;background:rgba(255,255,255,.5);box-shadow:0 0 25px 3px rgba(0,0,0,.1);transition:background-color .35s ease,box-shadow .4s ease}@media(hover:hover) and (pointer:fine){.faq-item:hover{background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.14)}}.faq-item h3{margin:0;font-size:20px}.faq-item h3 button{display:grid;grid-template-columns:34px minmax(0,1fr) 26px;column-gap:21px;align-items:center;width:100%;min-height:0;padding:38px 44px 20px 33px;border:0;background:transparent;text-align:left;font:inherit;font-weight:600;line-height:1.5;letter-spacing:.1em}.faq-mark{--faq-mark-gradient:linear-gradient(200deg,#f9ca70 0%,#f08696 100%);position:relative;display:grid;place-items:center;width:34px;height:34px;font-family:var(--font-en);font-size:18px;font-weight:500;line-height:1}.faq-mark:not(.faq-mark--answer){border:0;background:var(--faq-mark-gradient);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-indent:1.5px}.faq-mark:not(.faq-mark--answer)::before{content:"";position:absolute;inset:0;border-radius:50%;padding:2px;background:var(--faq-mark-gradient);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.faq-mark--answer{border-radius:50%;background:var(--faq-mark-gradient);color:#fff;text-indent:1.5px}.faq-sign{position:relative;display:block;width:26px;height:26px;font-size:0}.faq-sign::before,.faq-sign::after{content:"";position:absolute;top:50%;left:50%;width:18px;height:2px;background:#111;transform:translate(-50%,-50%);transition:opacity .2s ease,transform .3s cubic-bezier(.4,0,.2,1)}.faq-sign::after{transform:translate(-50%,-50%) rotate(90deg)}.faq-item button[aria-expanded="false"] .faq-sign::before,.faq-item button[aria-expanded="false"] .faq-sign::after,.faq-item button[aria-expanded="true"] .faq-sign::before{width:26px}.faq-item button[aria-expanded="true"] .faq-sign::after{opacity:0;transform:translate(-50%,-50%) rotate(180deg)}.faq-answer{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:19px;align-items:start;min-height:0;padding:0 93px 30px 33px;font-size:16px;line-height:30px;letter-spacing:.0625em}.faq-answer p{padding-top:2px;font-size:16px;line-height:30px;letter-spacing:.0625em}.faq-answer a{color:#f08696;text-decoration:underline}.page-faq .breadcrumb{margin-top:clamp(90px,calc(65.352px + 6.573vw),160px)!important}.page-faq .site-footer{margin-top:0}
@media(max-width:767px){.faq-intro p{font-size:14px;line-height:30px}.faq__list{gap:14px;margin-top:35px}.faq-item{border-radius:18px}.faq-item h3{font-size:14px}.faq-item h3 button{grid-template-columns:29px minmax(0,1fr) 26px;column-gap:12px;padding:22px 16px 12px}.faq-mark{width:29px;height:29px;font-size:15px}.faq-answer{grid-template-columns:29px minmax(0,1fr);column-gap:12px;padding:0 20px 22px 16px}.faq-answer p{font-size:13px;line-height:2}}

/* Shared responsive spacing between FAQ title groups, cards, and breadcrumb. */
.page-faq .faq__list{
  margin-top:clamp(33px,calc(22.604px + 2.772vw),50.964px);
}
.page-faq .faq-group:not(:first-of-type){
  padding-top:clamp(90px,calc(65.352px + 6.573vw),160px);
}
.page-faq .breadcrumb{
  margin-top:0!important;
}

/* Keep the standalone FAQ cards identical to the FAQ cards on TOP. */
.page-faq .faq-item{
  overflow:visible;
}
.page-faq .faq-item h3 button{
  cursor:pointer;
  padding:38px 44px 38px 33px;
  font-size:20px;
}
.page-faq .faq-answer p{
  padding-top:0;
}

@media(max-width:767px){
  .page-faq .faq-item{
    box-shadow:0 6px 22px rgba(0,0,0,.12);
  }
  .page-faq .faq-item h3 button{
    grid-template-columns:29px minmax(0,1fr) 23px;
    column-gap:13px;
    align-items:start;
    padding:29px 20px 29px 17px;
    font-size:16px;
    line-height:28px;
    letter-spacing:.0625em;
  }
  .page-faq .faq-sign{
    align-self:start;
    justify-self:end;
    width:18px;
    height:18px;
    margin-top:6px;
  }
  .page-faq .faq-item button[aria-expanded="true"] .faq-sign::before,
  .page-faq .faq-item button[aria-expanded="false"] .faq-sign::before,
  .page-faq .faq-item button[aria-expanded="false"] .faq-sign::after{
    width:18px;
  }
  .page-faq .faq-answer{
    grid-template-columns:29px minmax(0,1fr);
    column-gap:13px;
    padding:0 56px 20px 17px;
    font-size:14px;
    line-height:28px;
    letter-spacing:.0714em;
  }
  .page-faq .faq-answer p{
    font-size:14px;
    line-height:28px;
    letter-spacing:.0714em;
  }
}

/* FAQ section index: SP only. */
.faq-toc{display:none}
@media(max-width:767px){
  .page-faq .faq-toc{
    display:block;
    margin-top:clamp(33px,calc(22.604px + 2.772vw),50.964px)!important;
    border-top:1px solid #000;
    border-bottom:1px solid #000;
  }
  .page-faq .faq-toc a{
    display:grid;
    grid-template-columns:minmax(0,1fr) 21px;
    gap:16px;
    padding:15px 0 15px 16px;
    align-items:center;
    color:#000;
    font-family:var(--font-ja);
    font-size:16px;
    font-weight:500;
    line-height:1.75;
  }
  .page-faq .faq-toc a+a{
    border-top:1px solid #c9c9c9;
  }
  .page-faq .faq-toc__arrow{
    position:relative;
    display:block;
    width:21px;
    height:21px;
    border-radius:50%;
    background:var(--faq-mark-gradient,linear-gradient(200deg,#f9ca70 0%,#f08696 100%));
  }
  .page-faq .faq-toc__arrow::before{
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    width:5px;
    height:5px;
    border-right:1.5px solid #fff;
    border-bottom:1.5px solid #fff;
    transform:translate(-50%,-65%) rotate(45deg);
  }
  .page-faq .faq-group{
    scroll-margin-top:24px;
  }
  .page-faq .faq-toc + .faq-group{
    padding-top:clamp(90px,calc(65.352px + 6.573vw),160px);
  }
}

/* CSS-native 0-to-auto accordion; JS only updates state and accessibility. */
.page-faq .faq-answer{
  --faq-answer-open-padding:30px;
  interpolate-size:allow-keywords;
  height:0;
  padding-bottom:0;
  overflow:clip;
  visibility:hidden;
  opacity:0;
  transition:
    height .2s cubic-bezier(.45,0,.55,1),
    padding-bottom .2s cubic-bezier(.45,0,.55,1),
    opacity .2s ease,
    visibility 0s linear .2s;
}

.page-faq .faq-item.is-open .faq-answer{
  height:auto;
  padding-bottom:var(--faq-answer-open-padding);
  visibility:visible;
  opacity:1;
  transition-delay:0s;
}

.page-faq .faq-answer__body>:first-child{
  margin-top:0;
}

.page-faq .faq-answer__body>:last-child{
  margin-bottom:0;
}

@media(max-width:767px){
  .page-faq .faq-answer{
    --faq-answer-open-padding:20px;
  }
}
