@charset "utf-8";
/* CSS Document */

/* ===============================
HEADER
=============================== */

.header{
  position: fixed;
  top: 10px;
  left: 0;
  width: 100%;
  z-index: 2000;
}

.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 60px;
  width: 100%;
  margin: 0 auto;
  background-color: rgba(255, 255, 255, 0.6);
  border: 4px solid rgba(255, 255, 255, 0.1);
  padding: 0 3%;
  border-radius: 100px;
}

/* ロゴ */

.header__logo img{
height:40px;
}

/* 右エリア */

.header__right{
display:flex;
align-items:center;
gap:40px;
}

/* メニュー */

.header__menu{
display:flex;
gap:16px;
}

.header__menu li{
position:relative;
}

.header__menu a{
text-transform:uppercase;
font-weight:500;
}

.header__menu a:hover{
color:#ADADAD;
}

@media (max-width:1080px) and (min-width:769px){
  .header__menu a{
    font-size: clamp(12px, 1.2vw, 16px);
  }
}

/* CONTACTボタン */

.header__button{
    background:var(--main-blue);
    color:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:9px 31px;
    border-radius:30px;
    font-size:14px;
    font-weight:600;
    border:2px solid #0186ED; 
    transition: all .3s ease;    
}

.header__button:hover{
  background:#ffffff;
  border:2px solid #0186ED;
  color:#0186ED;
}

/* ===============================
HEADER DROPDOWN
=============================== */

.header__menu ul{
display:none;
position:absolute;
top:100%;
left:0;
background:#fff;
padding:10px 0;
box-shadow:0 4px 10px rgba(0,0,0,0.08);
}

.header__menu li:hover ul{
display:block;
}

.header__menu ul li{
white-space:nowrap;
padding:8px 20px;
}

.header__menu ul li:hover{
background:#f5f5f5;
}

/* ===============================
HAMBURGER
=============================== */

.hamburger{
display:none;
width:30px;
height:22px;
flex-direction:column;
justify-content:space-between;
background:none;
border:none;
cursor:pointer;
}

.hamburger span{
display:block;
height:3px;
background:var(--main-blue);
border-radius:2px;
}

/* ===============================
SP MENU
=============================== */

.sp-menu{
position:fixed;
top:0;
left:0;
width:100%;
height:100vh;
background:var(--main-blue);
color:#fff;
transform:translateX(100%);
transition:.4s;
z-index:1500;
}

.sp-menu.active{
transform:translateX(0);
}

.sp-menu__inner{
padding:20px 30px;
}

/* ヘッダー */

.sp-menu__header{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:30px;
}

.sp-menu__logo img{
height:40px;
}

.sp-menu__close{
background:none;
border:none;
color:#fff;
font-size:28px;
cursor:pointer;
}

/* ===============================
MENU LIST
=============================== */

.sp-menu__list{
margin:40px 0;
}

/* 親メニューだけ */
.sp-menu__list > li{
padding:20px 0;
border-bottom:1px solid rgba(255,255,255,0.3);
}

.sp-menu__list > li > a{
display:block;
font-size:18px;
font-weight:600;
color:#fff;
}

/* ===============================
SUB MENU
=============================== */

.sp-menu__list .sub-menu{
display:flex;
flex-wrap:wrap;
gap:8px 18px;
padding:12px 0 12px 10px;
}

.sp-menu__list .sub-menu li{
border:none;
padding:0;
}

.sp-menu__list .sub-menu a{
font-size:13px;
font-weight:400;
padding:0;
color:#BFE3FF;
}

/* ===============================
SP MENU TEXT
=============================== */

.sp-menu__list > li > a{
display:flex;
align-items:center;
gap:10px;
}

.sp-menu__list .en{
font-size:18px;
font-weight:700;
}

.sp-menu__list .jp{
font-size:12px;
color:#fff;
font-weight:600;
}

/* ===============================
BUTTON
=============================== */

.sp-menu__buttons{
margin-top:40px;
display:flex;
flex-direction:column;
gap:20px;
}

.sp-menu__btn{
display:block;
background:#fff;
color:var(--main-blue);
text-align:center;
padding:16px 0;
border-radius:40px;
font-weight:600;
}

.header__menu .menu-item-59 > a {
  pointer-events: none;
  cursor: default;
}

/* ===============================
SP
=============================== */

@media (max-width:768px){
    
.header {
    position: fixed;
    top: 10px;
    left: 0;
    width: 100%;
    z-index: 1000;
}    

/* PCナビ非表示 */
.header__nav{
display:none;
}

/* CONTACTボタン非表示 */
.header__button{
display:none;
}

/* ハンバーガー表示 */
.hamburger{
display:flex;
}
    
.header__inner{
display: flex;
  align-items: center;
  justify-content: space-between;
  height: 60px;
  width: 100%;
  background-color: transparent;
  border:none;
  
}    
    
.header{
  pointer-events: auto;
}    
.sp-menu{
  pointer-events: auto;
}
}
