/*======================
common
======================*/
/*
Template: nana-Portfolio
*/


img {
    max-width: 100%;
    height: auto;
}

p {
    margin: 0;
    font-family: "Zen Maru Gothic", sans-serif;
}


body {
    box-sizing: border-box;
    font-size: 1.6rem;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 400;
    color: #6F6E7A;

    --c-0: hsla(150.8823529411765, 52%, 83%, 1);
    --y-0: 80%;
    --x-0: 85%;
    --y-1: 24%;
    --c-1: hsla(219.99999999999997, 100%, 82%, 1);
    --x-1: 60%;
    --c-2: hsla(297.7941176470588, 100%, 65%, 0.49);
    --y-2: 82%;
    --x-2: 13%;
    --c-3: hsla(182, 72%, 68%, 1);
    --y-3: 7%;
    --x-3: 24%;
    ;
    background-color: hsla(358.0000000000001, 0%, 100%, 1);
    background-image: radial-gradient(circle at var(--x-0) var(--y-0), var(--c-0) var(--s-start-0), transparent var(--s-end-0)), radial-gradient(circle at var(--x-1) var(--y-1), var(--c-1) var(--s-start-1), transparent var(--s-end-1)), radial-gradient(circle at var(--x-2) var(--y-2), var(--c-2) var(--s-start-2), transparent var(--s-end-2)), radial-gradient(circle at var(--x-3) var(--y-3), var(--c-3) var(--s-start-3), transparent var(--s-end-3));
    animation: hero-gradient-animation 10s linear infinite alternate;
    background-blend-mode: normal, normal, normal, normal;
    }



    @keyframes hero-gradient-animation {
        0% {
            --s-start-0: 9%;
            --s-end-0: 55%;
            --c-0: hsla(150.8823529411765, 52%, 83%, 1);
            --y-0: 80%;
            --x-0: 85%;
            --y-1: 24%;
            --s-start-1: 5%;
            --s-end-1: 72%;
            --c-1: hsla(219.99999999999997, 100%, 82%, 1);
            --x-1: 60%;
            --c-2: hsla(297.7941176470588, 100%, 65%, 0.49);
            --y-2: 82%;
            --s-start-2: 5%;
            --s-end-2: 52%;
            --x-2: 13%;
            --s-start-3: 13%;
            --s-end-3: 68%;
            --c-3: hsla(182, 72%, 68%, 1);
            --y-3: 7%;
            --x-3: 24%;
        }
    
        100% {
            --s-start-0: 9%;
            --s-end-0: 55%;
            --c-0: hsla(150.8823529411765, 52%, 83%, 1);
            --y-0: 94%;
            --x-0: 31%;
            --y-1: 25%;
            --s-start-1: 5%;
            --s-end-1: 72%;
            --c-1: hsla(220, 82%, 95%, 1);
            --x-1: 2%;
            --c-2: hsla(297.7941176470588, 100%, 65%, 0.49);
            --y-2: 20%;
            --s-start-2: 5%;
            --s-end-2: 52%;
            --x-2: 98%;
            --s-start-3: 13%;
            --s-end-3: 68%;
            --c-3: hsla(182, 72%, 68%, 1);
            --y-3: 92%;
            --x-3: 95%;
        }
    }
    
    @property --s-start-0 {
        syntax: '<percentage>';
        inherits: false;
        initial-value: 9%
    }
    
    @property --s-end-0 {
        syntax: '<percentage>';
        inherits: false;
        initial-value: 55%
    }
    
    @property --c-0 {
        syntax: '<color>';
        inherits: false;
        initial-value: hsla(150.8823529411765, 52%, 83%, 1)
    }
    
    @property --y-0 {
        syntax: '<percentage>';
        inherits: false;
        initial-value: 80%
    }
    
    @property --x-0 {
        syntax: '<percentage>';
        inherits: false;
        initial-value: 85%
    }
    
    @property --y-1 {
        syntax: '<percentage>';
        inherits: false;
        initial-value: 24%
    }
    
    @property --s-start-1 {
        syntax: '<percentage>';
        inherits: false;
        initial-value: 5%
    }
    
    @property --s-end-1 {
        syntax: '<percentage>';
        inherits: false;
        initial-value: 72%
    }
    
    @property --c-1 {
        syntax: '<color>';
        inherits: false;
        initial-value: hsla(219.99999999999997, 100%, 82%, 1)
    }
    
    @property --x-1 {
        syntax: '<percentage>';
        inherits: false;
        initial-value: 60%
    }
    
    @property --c-2 {
        syntax: '<color>';
        inherits: false;
        initial-value: hsla(297.7941176470588, 100%, 65%, 0.49)
    }
    
    @property --y-2 {
        syntax: '<percentage>';
        inherits: false;
        initial-value: 82%
    }
    
    @property --s-start-2 {
        syntax: '<percentage>';
        inherits: false;
        initial-value: 5%
    }
    
    @property --s-end-2 {
        syntax: '<percentage>';
        inherits: false;
        initial-value: 52%
    }
    
    @property --x-2 {
        syntax: '<percentage>';
        inherits: false;
        initial-value: 13%
    }
    
    @property --s-start-3 {
        syntax: '<percentage>';
        inherits: false;
        initial-value: 13%
    }
    
    @property --s-end-3 {
        syntax: '<percentage>';
        inherits: false;
        initial-value: 68%
    }
    
    @property --c-3 {
        syntax: '<color>';
        inherits: false;
        initial-value: hsla(182, 72%, 68%, 1)
    }
    
    @property --y-3 {
        syntax: '<percentage>';
        inherits: false;
        initial-value: 7%
    }
    
    @property --x-3 {
        syntax: '<percentage>';
        inherits: false;
        initial-value: 24%
    }
    

h1,
h2,
h3,
.inner,
.workLink,
small {
    font-family: "Marcellus", serif; 
    font-weight: 400;
    font-style: normal;
}

small {
    font-size: 1rem;
    color: #fff;
}

.uppercase {
    text-transform: uppercase;

}

.spBr {
    display: block;
}

.pcBr {
    display: none;
}

/* カラー */
header .nav_a,
header .menu-text,
header .nav__header a{
  color: #6F6E7A;
  font-size: 1.8rem;
}


/* ======================
   Glass / Sticky Header
   ====================== */

/* 高さはここで管理（必要なら数値変えてOK） */
:root{
    --header-h: 60px;
    --glass-bg: rgba(255, 255, 255, 0.42);
    --glass-border: rgba(255, 255, 255, 0.55);
    --glass-shadow: 0 10px 30px rgba(0,0,0,.08);
  }
  
  /* fixedヘッダー分、本文が隠れないように */
  body{
    padding-top: var(--header-h);
  }
  
  /* ヘッダー本体 */
  .site-header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--header-h);
    z-index: 1000;
  
    /* ガラス感 */
    background: var(--glass-bg);
    -webkit-backdrop-filter: blur(14px) saturate(1.2);
    backdrop-filter: blur(14px) saturate(1.2);
  
    border-bottom: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow);
  
    /* 角丸 */
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
  
    /* ほんのり光の反射 */
    position: fixed;
  }
  .site-header::before{
    content:"";
    position:absolute;
    inset: 0;
    pointer-events:none;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,.55) 0%,
      rgba(255,255,255,.18) 55%,
      rgba(255,255,255,0) 100%
    );
    border-bottom-left-radius: inherit;
    border-bottom-right-radius: inherit;
  }
  
  /* 中身のレイアウト */
  .site-header .inner{
    height: 100%;
    max-width: 1280px;       /* ななちゃんが今1280を触ってたので合わせた */
    margin: 0 auto;
    padding: 0 24px;
  
    display: flex;
    align-items: center;
    justify-content: space-between;
  
    position: relative; /* ::beforeより前に出す */
    z-index: 1;
  }
  
  /* ロゴ（左） */
  .header__topic{
    margin: 0;
  }
  .header__topic .nav_a{
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    height: 100%;
    font-size: 18px;
    letter-spacing: .02em;
  }
  
  /* 右側ナビ */
  .nav__header{
    list-style: none;
    margin: 0;
    padding: 0;
  
    display: flex;
    align-items: center;
    gap: 20px;
  }
  .nav__item{
    margin: 0;
  }
  .nav__header .nav_a{
    text-decoration: none;
    padding: 8px 10px;
    border-radius: 999px;
    transition: background-color .2s ease, transform .2s ease;
  }
  .nav__header .nav_a:hover{
    background: rgba(255,255,255,.35);
    transform: translateY(-1px);
  }
  
  /* 「Menu」ボタン（PCでは隠す想定） */
  .menu{
    display: none;
  }
  
  /* Safari/古い環境でbackdrop-filterが効かないときの保険 */
  @supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
    .site-header{
      background: rgba(255,255,255,.88);
    }
  }
  
  /* ======================
     SP（ハンバーガー表示）
     ※ 既存のJSで aria-expanded が切り替わる想定
     ====================== */
/* SP：Menuを押したら出るナビ */
@media (max-width: 900px){

    /* PCの横並びをやめて、ボタン＋ドロップダウンにする */
    .header__btn{
      position: relative;
    }
  
    /* ul をドロップダウン化（初期は閉じる） */
    #globalNav.nav__header{
      position: absolute;
      top: calc(var(--header-h) + 10px);
      right: 0;
  
      display: grid;
      gap: 8px;
  
      width: min(240px, calc(100vw - 32px));
      padding: 12px;
  
      /* ガラス */
      background: rgba(255,255,255,.55);
      -webkit-backdrop-filter: blur(16px) saturate(1.15);
      backdrop-filter: blur(16px) saturate(1.15);
      border: 1px solid rgba(255,255,255,.6);
      box-shadow: 0 18px 40px rgba(0,0,0,.12);
      border-radius: 16px;
  
      /* 閉じ */
      opacity: 0;
      visibility: hidden;
      transform: translateY(-6px);
      pointer-events: none;
      transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
    }
  
    /* 開き（JSで ul に .is-open を付ける） */
    #globalNav.is-open{
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
      pointer-events: auto;
    }
  
    /* SPのリンク押しやすく */
    #globalNav .nav_a{
      display: block;
      padding: 10px 12px;
      border-radius: 12px;
      text-decoration: none;
    }
    .site-header .menu{
        display: block !important;
      }
    
      .site-header .openbtn{
        display: inline-flex !important;
        align-items: center;
        gap: 8px;
        background: transparent;
        border: 0;
        padding: 8px 10px;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
      }
    
      .site-header .menu-text{
        display: inline !important;
        font-size: 18px;
        line-height: 1;
      }
    
      /* ハンバーガー線（もし消えててもこれで見える） */
      /* .site-header .hamburger{
        width: 22px;
        height: 16px;
        position: relative;
        display: inline-block;
      }
      .site-header .hamburger span{
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        border-radius: 999px;
        background: currentColor;
      }
      .site-header .hamburger span:nth-child(1){ top: 0; }
      .site-header .hamburger span:nth-child(2){ bottom: 0; }*/
    } 
  




/*======================
footer
======================*/
footer {
    color: #333;
    text-align: center;
    padding-bottom: 20px;
    padding-top: 35px;
    position: relative;
    /* height: 20vh; */
    border-top-left-radius: 50% 12%;
    border-top-right-radius: 50% 12%;
}


.sns {
    /* display: flex; */
    width: 100px;
    /* gap: 30px; */
    margin: 0 auto 40px;
}



@media screen and (min-width: 769px) {
    footer {
        padding-bottom: 80px;
        padding-top: 55px;
        position: relative;
        height: 30vh;
    }

    .sns {
        /* justify-content: space-between; */
        margin: 0 auto 20px;
        padding-top: 0;
    }
}




