@charset "UTF-8";
  *{ box-sizing:border-box }
  html,body{ margin:0; padding:0; background:transparent } 
  body{ -webkit-font-smoothing:antialiased; font-family:'Noto Sans JP',-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; color:#1A1A1A }
  a{ text-decoration:none; color:inherit }
  img{ max-width:100% }
  #bgGL{ position:fixed; inset:0; width:100vw; height:100vh; z-index:0; display:block; pointer-events:none }

  .site-header{
    position:fixed; z-index:50; left:30px; right:30px; top:20px;
    height:68px; padding:0 38px 0 30px;
    display:flex; align-items:center;
    background:#ffffff66; border-radius:40px;
    box-shadow:0px 0px 2px 1px #ffffff66 inset; 
    -webkit-backdrop-filter:blur(100px); backdrop-filter:blur(100px);
    font-family:-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  }
  .site-header .logo{ display:block; line-height:0; position:static; inset:auto; transform:none; }
  .site-header .logo img{ height:30px; width:auto; display:block }   
  .site-header .gnav{ display:flex; align-items:center; gap:28px; margin-left:auto; font-size:14px; font-weight:500 }
  .site-header .gnav a{ color:#15191d; white-space:nowrap; position:relative; padding:4px 0 }
  .site-header .gnav a::after{ content:""; position:absolute; left:0; right:100%; bottom:1px; height:1px; background:#7F0A1B; transition:right .25s } 
  .site-header .gnav a:hover::after{ right:0 }
  @media (max-width:860px){
    .site-header{ height:58px; top:14px; left:14px; right:14px; padding:0 18px }
    .site-header .logo img{ height:25px }
    .site-header .gnav a{ display:none }
  }

  .sp-menu-btn{ display:none; margin-left:auto; width:42px; height:42px; border:none; background:none; cursor:pointer; padding:0;
    flex-direction:column; align-items:center; justify-content:center; gap:7px; }
  .sp-menu-btn span{ display:block; width:24px; height:1px; background:#1A1A1A; transition:transform .35s cubic-bezier(.19,1,.22,1), opacity .3s; } 
  @media (max-width:860px){ .sp-menu-btn{ display:flex } }
  .sp-nav{ position:fixed; inset:0; z-index:300; background:rgba(227,232,236,.9); 
    -webkit-backdrop-filter:blur(28px); backdrop-filter:blur(28px);
    display:flex; flex-direction:column; padding:0 32px; 
    opacity:0; visibility:hidden; transition:opacity .35s ease, visibility .35s;
    font-family:'Noto Sans JP',-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; }
  html.sp-nav-open .sp-nav{ opacity:1; visibility:visible; }
  html.sp-nav-open{ overflow:hidden; }
  .sp-nav .sn-head{ display:flex; align-items:center; justify-content:space-between; height:58px; margin-top:14px; flex:none; }
  .sp-nav .sn-logo{ height:25px; width:auto; display:block; }
  .sp-nav .sn-close{ width:42px; height:42px; border:1px solid rgba(26,26,26,.22); border-radius:6px;
    background:none; cursor:pointer; color:#1A1A1A; font-size:16px; line-height:1; } 
  .sp-nav .sn-body{ flex:1; display:flex; flex-direction:column; justify-content:center; min-height:0; padding-bottom:80px; } 
  .sp-nav .sn-links{ display:flex; flex-direction:column; }
  .sp-nav .sn-links a{ display:block; padding:12px 2px 13px; border-bottom:1px solid rgba(26,26,26,.12);
    transform:translateY(14px); opacity:0; transition:transform .5s cubic-bezier(.19,1,.22,1), opacity .5s; } 
  .sp-nav .sn-links .l-en{ display:block; margin-bottom:0; line-height:1.1; font-family:'Cormorant Garamond',serif; font-weight:600;
    font-size:10.5px; letter-spacing:.28em; text-transform:uppercase; color:#7F0A1B; } 
  .sp-nav .sn-links .l-jp{ display:block; font-family:'Shippori Mincho',serif; font-weight:600;
    font-size:18px; letter-spacing:.05em; line-height:1.3; color:#1A1A1A; } 
  html.sp-nav-open .sp-nav .sn-links a{ transform:translateY(0); opacity:1; }
  .sp-nav .sn-links a:nth-child(1){ transition-delay:.05s } .sp-nav .sn-links a:nth-child(2){ transition-delay:.1s }
  .sp-nav .sn-links a:nth-child(3){ transition-delay:.15s } .sp-nav .sn-links a:nth-child(4){ transition-delay:.2s }
  .sp-nav .sn-links a:nth-child(5){ transition-delay:.25s }
  .sp-nav .sn-foot{ margin-top:36px; opacity:0; transform:translateY(10px); transition:transform .5s cubic-bezier(.19,1,.22,1) .3s, opacity .5s .3s; } 
  html.sp-nav-open .sp-nav .sn-foot{ opacity:1; transform:translateY(0); }
  .sp-nav .sn-foot .sd-btn{ width:100%; box-sizing:border-box; justify-content:center; }
  .sp-nav .sn-sns{ display:flex; justify-content:center; align-items:center; gap:30px; margin-top:20px; }
  .sp-nav .sn-sns a{ display:flex; color:#6B6660; }

  .page-hero{ position:relative; z-index:2; max-width:1120px; box-sizing:content-box; margin:0 auto; padding:150px 24px 68px; font-family:'Noto Sans JP',-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; }
  .page-hero .ph-crumb{ display:flex; gap:9px; flex-wrap:wrap; font-size:12.5px; color:rgba(255,255,255,.75); margin-bottom:40px; }
  .page-hero .ph-crumb a{ color:rgba(255,255,255,.75); }
  .page-hero .ph-crumb a:hover{ color:#fff; }
  .page-hero .ph-crumb .sep{ opacity:.5; }
  .page-hero .ph-en{ display:block; font-family:'Shippori Mincho',serif; font-style:italic; font-size:14px; letter-spacing:.14em; color:#fff; margin-bottom:14px; text-shadow:0 1px 12px rgba(10,20,40,.3); }
  .page-hero .ph-ttl{ font-family:'Shippori Mincho',serif; font-weight:600; font-size:clamp(30px,4vw,46px); line-height:1.32; letter-spacing:.04em; color:#fff; text-shadow:0 2px 18px rgba(10,20,40,.35); }
  .page-hero .ph-lead{ font-size:clamp(15px,1.5vw,17px); line-height:2.0; color:rgba(255,255,255,.9); margin-top:26px; max-width:none; text-shadow:0 1px 12px rgba(10,20,40,.3); }
  .page-hero .ph-ttl .em{ color:#fff; font-style:normal; }
  @media (max-width:600px){
    .page-hero{ padding-top:120px; padding-bottom:40px; } 
    .page-hero .ph-crumb{ margin-bottom:32px; }
    .page-hero .ph-ttl{ font-size:27px; }   
    .page-hero .ph-lead{ font-size:14px; margin-top:14px; } 
    .page-hero .ph-en{ margin-bottom:6px; } 
  }

  .sd-btn{ position:relative; z-index:0; display:inline-flex; align-items:center; gap:16px; padding:18px 34px 18px 38px;
    border:1px solid #1A1A1A; border-radius:999px; background:transparent; color:#1A1A1A; cursor:pointer; overflow:hidden;
    font-family:'Noto Sans JP',-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
    font-weight:700; font-size:13px; letter-spacing:.1em; line-height:1;
    transition:color .3s ease, border-color .3s ease; }
  .sd-btn::before{ content:""; position:absolute; inset:0; z-index:-1; background:#7F0A1B; transform:scaleX(0); transform-origin:left center; transition:transform .5s cubic-bezier(.19,1,.22,1); }
  .sd-btn:hover{ border-color:#7F0A1B; color:#fff; }
  .sd-btn:hover::before{ transform:scaleX(1); }
  .sd-btn .ar{ font-family:'Cormorant Garamond','Times New Roman',serif; font-size:15px; line-height:1; transition:transform .45s cubic-bezier(.19,1,.22,1); }
  .sd-btn:hover .ar{ transform:translateX(4px); }
  .sd-btn--light{ border-color:rgba(255,255,255,.85); color:#fff; }
  .sd-btn--light::before{ background:#fff; }
  .sd-btn--light:hover{ border-color:#fff; color:#7F0A1B; }
  .sd-btn--brand{ border-color:#06C755; color:#06C755; }
  .sd-btn--brand::before{ background:#06C755; }
  .sd-btn--brand:hover{ border-color:#06C755; color:#fff; }
  .sd-btn--full{ width:100%; justify-content:space-between; }
  @media (max-width:860px){
    .lt-item-meta .lt-cat, .lt-cat.lt-cat, .a-meta .a-cat, .rl-meta .rl-cat{ min-width:0; padding:0 10px 1px; height:23px; font-size:11.5px; } 
    .sd-btn:hover{ color:#1A1A1A; border-color:#1A1A1A; }
    .sd-btn:hover::before{ transform:scaleX(0); }
    .sd-btn:hover .ar{ transform:none; }
    .sd-btn--light:hover{ color:#fff; border-color:rgba(255,255,255,.85); }
    .sd-btn--brand:hover{ color:#06C755; border-color:#06C755; }
    .breadcrumb-foot a:hover{ color:#6B6660; }
  }
  @media (max-width:600px){
    .sd-btn:not(.sd-btn--mini):not(.sd-btn--full){
      display:flex; 
      width:min(300px, 100%);
      justify-content:space-between;
      margin-inline:auto;
      box-sizing:border-box;
    }
  }
  .sd-btn--mini{ padding:9px 16px 9px 18px; font-size:12px; gap:10px; }

  .breadcrumb-foot{ position:relative; z-index:2; margin:88px 0 0; padding:20px 24px 28px; border-top:1px solid rgba(26,26,26,.14); font-family:'Noto Sans JP',-apple-system,sans-serif; font-size:12.5px; color:#6B6660; }
  @media (max-width:600px){ .breadcrumb-foot{ padding-top:12px; padding-bottom:18px; } } 
  .breadcrumb-foot .bc-in{ display:flex; gap:9px; flex-wrap:wrap; justify-content:flex-start; }
  .breadcrumb-foot a{ color:#6B6660; transition:color .3s ease; }
  .breadcrumb-foot a:hover{ color:#7F0A1B; }
  .breadcrumb-foot .sep{ opacity:.5; }
