/* 原文: spec/sections/06-footer.css */
.bl_header{z-index:9999;position:fixed;top:0;left:50%;width:37.5rem;padding:1.6rem 0;transform:translate(-50%)}
.bl_header_ctt{display:flex;align-items:center;justify-content:space-between;width:100%}
.bl_header_logo{display:block}
.bl_header_btn{display:block;appearance:none;position:relative;aspect-ratio:1;width:2.4rem}
.bl_header_btnBar{display:block;position:absolute;top:50%;left:50%;width:1.8rem;height:2px;transform:translate(-50%,-50%);border-radius:10rem;background-color:#fff}
.bl_header_btnBar.__is1{top:calc(50% - .5rem);transition:top .2s ease-out .2s,transform .2s ease-out}
.bl_header_btnBar.__is2{top:50%;transition:opacity .2s ease-out .2s}
.bl_header_btnBar.__is3{top:calc(50% + .5rem);transition:top .2s ease-out .2s,transform .2s ease-out}
.bl_header.is-menu-active .bl_header_btn .bl_header_btnBar.__is1{top:50%;transform:translate(-50%,-50%) rotate(45deg);transition:top .2s ease-out,transform .2s ease-out .2s}
.bl_header.is-menu-active .bl_header_btn .bl_header_btnBar.__is2{top:50%;opacity:0;transition:opacity .2s ease-out .2s}
.bl_header.is-menu-active .bl_header_btn .bl_header_btnBar.__is3{top:50%;transform:translate(-50%,-50%) rotate(-45deg);transition:top .2s ease-out,transform .2s ease-out .2s}
/* 明るい背景の上ではヘッダー文字が見えにくいため、薄い影で可読性を確保 */
.bl_header .el_textLogo,.bl_header_btnBar{filter:drop-shadow(0 0 .4rem rgba(0,0,0,.35))}
.bl_headerMenu{display:none;z-index:9995;position:fixed;top:0;left:50%;width:100%;max-width:37.5rem;padding-top:12rem;padding-bottom:8rem;transform:translate(-50%);border-radius:0 0 1.6rem 1.6rem;
  background-color:var(--color-blue);
  background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0 1px,transparent 1px 3.2rem),repeating-linear-gradient(-45deg,rgba(255,255,255,.04) 0 1px,transparent 1px 3.2rem)}
.bl_headerMenu_bg{display:none;z-index:9990;position:fixed;top:0;left:50%;width:100%;max-width:37.5rem;height:100lvh;transform:translate(-50%);background-color:#000000b3;cursor:pointer;opacity:0}
.bl_headerMenu_nav{padding-bottom:4rem;border-bottom:1px solid #fff}
.bl_headerMenu_links{display:grid;width:100%;max-width:23rem;gap:1.2rem}
.bl_headerMenu_linksItem{display:flex;position:relative;align-items:center;justify-content:space-between;padding:.6rem 0}
.bl_headerMenu_linksItemJa{display:block;margin-top:.2rem;color:#fff;font-weight:400;font-size:2rem;font-family:var(--font-ja-heading)}
.bl_headerMenu_linksItemIcon{display:grid;position:absolute;top:50%;right:0;place-items:center;aspect-ratio:1;width:2rem;transform:translateY(-50%);border-radius:50%;background-color:#fff;color:var(--color-text)}
.bl_headerMenu_linksItemIcon svg{display:block;width:.6rem;height:1.1rem}
.bl_headerMenu_link{display:block;margin-top:3.2rem;padding:2rem;border-radius:10rem;background-color:#fff;color:var(--color-blue);font-weight:700;font-size:1.4rem;text-align:center}
.bl_footer{padding:2.4rem 4.8rem 2.8rem;border-radius:1.6rem 1.6rem 0 0;background-color:var(--color-bg-blue);color:#fff}
.bl_footer_logo{display:block;padding-top:1.6rem}
.bl_footer_nav{padding-bottom:4rem;border-bottom:1px solid #fff}
.bl_footer_links{display:grid;width:100%;max-width:23rem;margin-top:5.3rem;gap:2.4rem}
.bl_footer_linksItem{display:block;position:relative}
.bl_footer_linksItemJa{display:block;margin-top:.2rem;color:#fff;font-weight:400;font-size:2rem;font-family:var(--font-ja-heading)}
.bl_footer_linksItemIcon{display:grid;position:absolute;top:50%;right:0;place-items:center;aspect-ratio:1;width:2rem;transform:translateY(-50%);border-radius:50%;background-color:#fff;color:var(--color-text)}
.bl_footer_linksItemIcon svg{display:block;position:relative;right:-.1rem;width:.6rem;height:1.1rem}
.bl_footer_sns{display:flex;align-items:center;margin-top:4rem;gap:1.6rem}
.bl_footer_snsItem{display:block;aspect-ratio:1;width:3rem;color:#fff;transition:opacity .3s}
.bl_footer_snsItem svg{width:100%;height:100%}
.bl_footer_copyright{display:block;margin-top:3.2rem;font-size:1rem;font-family:var(--font-en);letter-spacing:0;text-align:center}
@media screen and (max-width:960px){
  .bl_header{width:100%}
  .bl_headerMenu,.bl_headerMenu_bg{max-width:100%}
  .bl_headerMenu_links,.bl_footer_links{max-width:32rem;margin-right:auto;margin-left:auto}
}
@media (hover:hover){.bl_footer_snsItem:hover{opacity:.6}}
