/**********************************
 * スマホメニュー（全体）
 *********************************/
#sp-menu{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.35);
  opacity:0;
  visibility:hidden;
  transition:0.3s;
  z-index:9999;
}
#sp-menu.active{
  opacity:1;
  visibility:visible;
}

/**********************************
 * メニュー本体（ここがスクロールの核）
 *********************************/
.sp-menu-inner{
  position:fixed;
  top:0;
  right:0;
  width:95%;
  height:100%;
  background:#fffef8;
  padding:70px 20px 40px;
  box-sizing:border-box;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  transform:translateX(100%);
  transition:0.3s;
}
#sp-menu.active .sp-menu-inner{
  transform:translateX(0);
}

/**********************************
 * ハンバーガー（SVG）
 *********************************/
.site-header{
  position:relative;
}
.site-header__content{
  position:relative;
}

.sp-menu-btn{
  display:none;
  position:absolute;
  top:0;
  right:0;
  width:52px;
  height:52px;
  background:#22a7b3;
  border-left:1px solid rgba(0,0,0,0.08);
  border-bottom:1px solid rgba(0,0,0,0.08);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:10000;
}

/* SVG */
.sp-menu-btn svg{
  width:26px;
  height:26px;
  stroke:#ffffff;
  stroke-width:2;
  fill:none;
}

.icon-close{
  display:none;
}
.sp-menu-btn.active .icon-menu{
  display:none;
}
.sp-menu-btn.active .icon-close{
  display:block;
}

/**********************************
 * スマホのみ
 *********************************/
@media(max-width:880px){
  .sp-menu-btn{
    display:flex;
  }
  .site-header .container{
    padding:0!important;
  }
}

/**********************************
 * メニューリスト
 *********************************/
.sp-menu-list{
  list-style:none;
  margin:0;
  padding:0;
}
.sp-menu-list li{
  border-bottom:1px solid rgba(0,0,0,0.1);
}

.sp-menu-list a,
.sp-menu-list span{
  display:block;
  padding:15px 10px;
  font-size:16px;
  color:#333;
  text-decoration:none;
}

/**********************************
 * サブメニュー
 *********************************/
.sub-menu{
  display:none;
  list-style:none;
  margin:0;
  padding:0;
  background:#4bacb2;
}

.sub-menu li{
  list-style:none;
}

.sub-menu li a{
  padding:12px 12px;
  font-size:14px;
  color:#fff;
}

.has-sub.active .sub-menu{
  display:block;
}

/**********************************
 * ▼アイコン
 *********************************/
.has-sub > a{
  position:relative;
  display:block;
  padding-right:30px;
}

.has-sub > a::after{
  content:"▼";
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  font-size:12px;
}

.has-sub.active > span::after{
  transform:translateY(-50%) rotate(180deg);
}

/**********************************
 * 背景スクロール止める
 *********************************/
body.menu-open{
  overflow:hidden;
}

@media(min-width:881px){
  .sp-menu-btn{
    display:none!important;
  }

  #sp-menu{
    display:none!important;
  }
}

/**********************************
 * スマホだけヘッダー固定
 *********************************/
@media(max-width:880px){

  /* ヘッダー固定 */
  #masthead{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:9998;
    background:rgba(255,255,255,0.85);
  }

  /* 高さを強制的に整える */
  .site-header .container{
    padding:0!important;
  }

  .site-header__content{
    height:60px;              /* ←ここで高さ固定 */
    display:flex;
    align-items:center;
  }

  /* ロゴ位置 */
  .site-header__content img{
    max-height:40px;
  }

  /* コンテンツを押し下げる */
  #content{
    margin-top:60px!important;
	}
}

/* PCヘッダーメニュー */
.pc-header-menu{
  margin-left:auto;
}

.pc-header-menu ul{
  display:flex;
  align-items:center;
  gap:30px;
  list-style:none;
  margin:0;
  padding:0;
}

.pc-header-menu li{
  position:relative;
}

.pc-header-menu li:not(:last-child)::after{
  content:"｜";
  position:absolute;
  right:-18px;
  color:#333;
}

.pc-header-menu a{
  text-decoration:none;
  color:#333;
  font-weight:600;
  font-size:14px;
}

/* PCだけ表示 */
@media(max-width:899px){
  .pc-header-menu{
    display:none;
  }
}

/**********************************
 * スマホメニューCTA
 *********************************/
.sp-menu-cta-buttons{
  margin-top:30px;
  display:flex;
  flex-direction:column;
  gap:15px;
}

/* ボタン本体 */
.sp-menu-cta-banner{
  position:relative;
  display:block;
  width:100%;
  min-height:95px;
  padding:18px 15px;
  border-radius:12px;
  overflow:hidden;
  text-decoration:none;
  box-sizing:border-box;
}

/* 背景 */
.sp-menu-cta-mail{
  background:url('/wp-content/themes/ystandard-child/image/mail-btn-bg.png') center / cover no-repeat;
}

.sp-menu-cta-line{
  background:url('/wp-content/themes/ystandard-child/image/line-btn-bg.png') center / cover no-repeat;
}

.sp-menu-cta-tel{
  background:url('/wp-content/themes/ystandard-child/image/tel-btn-bg.png') center / cover no-repeat;
}

/* マスク */
.sp-menu-cta-banner::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.35);
}

/* 文字 */
.sp-menu-cta-main,
.sp-menu-cta-desc{
  position:relative;
  z-index:1;
  display:block;
  color:#fff;
}

.sp-menu-cta-main{
  font-size:16px;
  font-weight:700;
  margin-bottom:6px;
}

.sp-menu-cta-desc{
  font-size:12px;
  line-height:1.5;
}