/* ===============================
   HAMBURGER
=============================== */

.hamburger {
  display: none;
}

@media screen and (max-width: 1100px) {
 .hamburger {
    display: block;
    width: 60px;
    height: 60px;
    position: fixed;
    top: 12px;
    right: 10px;
    z-index: 100000;  /* ← 18000から100000に変更 */
    box-sizing: border-box;
    padding-left: 10px;
    padding-top: 16px;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }
}

.hamburger__icon {
  position: relative;
  margin-top: 13px;
  margin-bottom: 11px;
}

.hamburger__icon,
.hamburger__icon:before,
.hamburger__icon:after {
  display: block;
  width: 40px;
  height: 2px;
  background-color: var(--color-blue);
  transition: background-color 0.4s, transform 0.4s;
}

.hamburger__icon:before,
.hamburger__icon:after {
  content: "";
  position: absolute;
}

.hamburger__icon:before {
  top: -10px;
}

.hamburger__icon:after {
  top: 10px;
}

.hamburger.active .hamburger__icon {
  background-color: transparent;
}

.hamburger.active .hamburger__icon:before {
  transform: translateY(10px) rotate(45deg);
}

.hamburger.active .hamburger__icon:after {
  transform: translateY(-10px) rotate(-45deg);
}


/* ===============================
   FAT NAV BASE
=============================== */

.fat-nav {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  width: 100%;
  height: 100%;
  background-color: #fff;
  overflow-y: auto;
  overflow-x: hidden;
}

.fat-nav.active {
  display: block;
}


.fat-nav__wrapper {
  width: 100%;
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}


/* ===============================
   MENU LAYOUT
=============================== */

.full-menu {
  width: 100%;
  max-width: 1000px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: 0 auto;
  padding: 0 40px;
  box-sizing: border-box;
}

.logo_name {
  width: 45%;
  text-align: center;
}

.logo_name .logo {
  width: 70%;
  margin: 0 auto 50px;
  filter: invert(1) contrast(100%);
}

.menu-area {
width: 80%;
margin: 0 auto;
padding: 0;
}

.menu-area ul {
display: flex;
flex-wrap: wrap;
  width: 100%;
  gap: 8px 12px;
  list-style: none;
}

.menu-area li {
  position: relative;
  width: calc(50% - 6px); /* gapの半分を引く */
  margin: 0 0 20px;
  padding: 10px 0;        /* li内の上下余白だけ残す */
  box-sizing: border-box;
}

.menu-area li .en {
color: var(--color-blue);
  text-align: left;
  font-size: 3rem;
  line-height: 1;
  font-weight: 700;
  font-family: "M PLUS Rounded 1c", sans-serif;
}

.menu-area li .ja {
	color: var(--color-pink);
	font-size: 0.9rem;
	line-height: 1;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
	margin-top: 15px;
}

.menu-area li a {
  position: absolute;
  inset: 0;
  display: block;
  text-decoration: none;
}

.menu-area li a:hover {
  background-color: rgba(255,255,255,0.4);
}



@media screen and (max-width: 820px) {
.menu-area {
        width: 90%;
        margin: 0 auto;
        padding: 0;
}
	
.menu-area li {
    width: calc(50% - 6px);
    margin: 0 0 20px;
    padding: 0;
}

.menu-area li .en {
font-size: 2rem;
}
}


@media screen and (max-width: 640px) {
  .hamburger {
    width: 50px;
    height: 60px;
    top: auto;
    right: 10px;
    padding-top: 18px;
  }
  
  .hamburger.active .hamburger__icon:before {
transform: translateY(8px) rotate(45deg);
}

.hamburger.active .hamburger__icon:after {
transform: translateY(-8px) rotate(-45deg);
}

  .hamburger__icon,
  .hamburger__icon:before,
  .hamburger__icon:after {
    width: 30px;
  }

  .hamburger__icon:before {
    top: -8px;
  }

  .hamburger__icon:after {
    top: 8px;
  }

  .logo_name .logo {
    width: 65%;
  }
  
.full-menu {
flex-direction: column;
align-items: flex-start;
padding: 50px 20px 0;
}

  .menu-area li {
    font-size: 1em;
    padding: 0 0 10px;
	width: 100%;
  }
  
.menu-area li .en {
font-size: 1.5rem;
}
}
