@charset "UTF-8";

a{
  text-decoration: none;
}


/* =========================
   Header
========================= */
.site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 3000;

    /* 背景：臼井城 */
    /* background-image: url('../img/header_background.jpg'); */
    /* background-size: cover;
    background-position: center; */
    background-color: rgba(255, 255, 255, 0.712);
}


.header-inner {
    position: relative;
    z-index: 1;
    max-width: 100%;

    margin: 0 auto;
    padding: 16px 32px;  /* ★左右に少し余裕 */
    box-sizing: border-box;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
}
.logo{
    width: 220px;
    height: 24px;
}
.logo-image{
    display: inline-block;
    height: 24px;
}

.logo img{
    max-width: 220px;
    width: 100%;
}
/* =========================
   Menu Button
========================= */
.menu-button{
    display: inline-block;
  padding:12px 28px;
  border:2px solid var(--color-secondary); /* メインカラー */
  color:var(--color-secondary);
  background:transparent;

  font-size:14px;
  letter-spacing:0.1em;
  font-weight:bold;

  cursor:pointer;
  transition:0.3s;

  /* 横長に見せる */
  border-radius:999px;
}
.menu-button:hover{
  background:var(--color-secondary);
  color: var(--color-text-white);
}


/* =========================
   Slide Menu
========================= */
.slide-menu {
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100vh;

    background-color: var(--color-body);
  backdrop-filter: blur(20px); 
    transition: right 0.45s ease;
    z-index: 2500;

    display: flex;
    flex-direction: column;
}

.slide-menu.open{
    right:0;
}

.slide-inner{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  height:100%;
  padding:120px 30px 40px;
}

/* ===== メニュー ===== */
.slide-menu-list{
  list-style:none;
}

/* 各項目 */
.slide-menu-list li{
  overflow:hidden;
}

.slide-menu-list a{
  display:flex;
  flex-direction:column;

  padding:12px 0 22px;
  border-bottom:1px solid rgba(255,255,255,0.08);

  color: var(--color-text-white);
  text-decoration:none;

  transform:translateY(20px);
  opacity:0;
  transition:0.5s;
}

/* 英語メイン */
.slide-menu-list span{
  font-size:22px;
  font-weight:700;
  letter-spacing:0.12em;
}

/* サブテキスト */
.slide-menu-list small{
  font-size:12px;
  opacity:0.5;
  margin-top:6px;
}

/* ホバー */
.slide-menu-list a:hover span{
  transform:translateX(8px);
  transition:0.3s;
}

/* ===== CTA ===== */
.slide-cta{
  margin-top:40px;
}

.slide-contact-btn{
  display:inline-block;
  padding:16px 40px;
  border-radius:999px;

  background: var(--color-text-white);
  color: var(--color-text);

  font-weight:bold;
  letter-spacing:0.1em;

  transition:0.3s;
}

.slide-contact-btn:hover{
  transform:translateY(-3px);
}

/* ===== SNS ===== */
.slide-menu-sns{
  display:flex;
  gap:20px;
  margin-top:40px;
}

.slide-menu-sns img{
  width:36px;
  height:36px;
  opacity:0.7;
  transition:0.3s;
}

.slide-menu-sns a:hover img{
  opacity:1;
  transform:translateY(-3px);
}

/* ===== 背景を今風に ===== */
.slide-menu{
  background:linear-gradient(
    135deg,
    var(--color-secondary-10),
    var(--color-secondary-50)
  );
}

/* ===== アニメーション ===== */
.slide-menu.open .slide-menu-list a{
  opacity:1;
  transform:translateY(0);
}

/* 順番に出る */
.slide-menu.open .slide-menu-list li:nth-child(1) a{ transition-delay:0.1s; }
.slide-menu.open .slide-menu-list li:nth-child(2) a{ transition-delay:0.15s; }
.slide-menu.open .slide-menu-list li:nth-child(3) a{ transition-delay:0.2s; }
.slide-menu.open .slide-menu-list li:nth-child(4) a{ transition-delay:0.25s; }
.slide-menu.open .slide-menu-list li:nth-child(5) a{ transition-delay:0.3s; }
.slide-menu.open .slide-menu-list li:nth-child(6) a{ transition-delay:0.35s; }



@media (max-width: 768px) {
.pc-menu{
display:none;
}

.header-inner{
    padding: 15px 25px;  /* ★左右に少し余裕 */
grid-template-columns:auto auto;
}
    /* メニュー文字を小さく */
    .slide-menu-list a {
        font-size: 20px;
        letter-spacing: 0.15em;
        line-height: 0em;
    }

    /* SNSアイコンを小さく */
    .slide-menu-sns img {
        width: 40px;
        height: 40px;
    }


    .slide-menu-list li:not(:last-child) {
    margin-bottom: 28px;
}
}

@media (max-width: 500px) {
    .header-inner{
    padding: 15px 15px;  /* ★左右に少し余裕 */
grid-template-columns:auto auto;
}
.menu-button{
    display: inline-block;
  padding:8px 15px;
  border:2px solid var(--color-secondary); /* メインカラー */
  color:var(--color-secondary);
  background:transparent;

  font-size:12px;
  letter-spacing:0.1em;
  font-weight:bold;

  cursor:pointer;
  transition:0.3s;

  /* 横長に見せる */
  border-radius:999px;
}
}



/* =========================
   PC HEADER
========================= */

.pc-menu{
    display:flex;
    align-items:center;
    gap:32px;
    justify-self:end;
}

.pc-menu-list{
    display:flex;
    gap:20px;
    list-style:none;
}

.pc-menu-list a{
    font-size:14px;
    font-size: bold;
    letter-spacing:0.08em;
    color:var(--color-text);
    
}

.pc-sns{
    display:flex;
    gap:15px;
    align-items: center;
}
.pc-sns a{
    width:30px;
    height:30px;
}

.pc-sns img{
    width:30px;
    height:30px;
}

.pc-contact-btn{
    background:var(--color-secondary);
    color:var(--color-text-white);
    padding:10px 20px;
    border-radius:999px;
    font-size:13px;
    letter-spacing:0.1em;
}

@media (max-width: 768px){

.pc-menu{
    display:none;
}

}

@media (min-width: 769px){

.menu-button{
    display:none;
}

}