/*見出し（下線あり）*/
.is-style-underline-accent{
    position:relative;
    width:fit-content;
    margin-inline:auto;
    &:after{
        display:block;
        content: "";
        width:100%;
        height:4px;
        background: var(--Object, linear-gradient(319deg, #4C85FF 15.17%, #A6F 37.94%, #C68CD9 64.72%, #FFA3C0 89.02%));
        margin-inline:auto;
        margin-top:10px;
    }
}
/*見出し（左に◎）*/
.is-style-left-point{
    position:relative;
    &:before{
        display:inline-block;
        content: url(../svg/left-point.svg);
        margin-right: .5em;
        width:20px;
        height:20px;
        transform:translateY(3px);
    }
}
/*段落内文字サイズ拡大*/
.is-inline-big{
    font-size: 150%;
    font-weight: 700; /* 太字にしたくなければ消してOK */
    line-height: 1.2;
}

/*リンク先がPDF時にアイコン出現*/
a[href$=".pdf"]::after{
    content: "PDF";
    margin-left: .4em;
    font-size: .75em;
    padding: .1em .35em;
    border: 1px solid currentColor;
    border-radius: .25em;
  }

a:where(:not(.wp-element-button)) {
    position: relative;
    text-decoration: none;

    &:after{
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -0.12em;          /* 文字との距離 */
        height: 1px;
        background: currentColor; /* 下線色＝文字色 */
        transform: scaleX(0);
        transform-origin: left;
        transition: transform .2s ease;
        @media (prefers-reduced-motion: reduce){
            transition: none;
        }
    }

    &:hover{
        opacity:0.8;
    }

    &:hover::after,
    &:focus-visible::after{
        transform: scaleX(1);
    }

}

body{
  overflow-x:hidden;
}

strong{
    font-weight:700;
}

:root :where(.wp-block-cover h1:not(.has-text-color)), :root :where(.wp-block-cover h2:not(.has-text-color)), :root :where(.wp-block-cover h3:not(.has-text-color)), :root :where(.wp-block-cover h4:not(.has-text-color)), :root :where(.wp-block-cover h5:not(.has-text-color)), :root :where(.wp-block-cover h6:not(.has-text-color)), :root :where(.wp-block-cover p:not(.has-text-color)){
    color:var(--wp--custom--color--primary) !important;
}

.mt-auto{
  margin-top:auto;
  margin-bottom:0;
}

/*登壇者カード用の記述*/
/*角丸時に隠したい用*/
.overflow-hidden{
    overflow:hidden;
}
/*.card{
  display:flex;
  flex-direction: column;
  height:100%;
}*/

/*登壇者カードの画像が小さかった場合もコンテナの幅に拡大させる*/
.card .size-full img{
    width:100%;
}

/*SP時のハンバーガー位置の調整*/
.wp-block-navigation{
    @media (max-width: 600px) {
        margin-top:0;
        margin-inline:0;
    }
}

.wp-block-navigation__responsive-dialog{
    margin-top:var(--wp--preset--spacing--40) !important;
}

.wp-block-navigation__responsive-container-close{
    margin-top:16px !important;
}

/*SP時メニュー開き時の装飾*/
.wp-block-navigation.is-responsive .wp-block-navigation__responsive-container.is-menu-open{
    border-top:4px solid #4954d7;
}

/*ナビゲーション内のロゴサイズ調整*/
.site-logo{
    @media (max-width: 600px) {
        width:140px;
        height:auto;
    }
}

/*ナビゲーション余白調整*/
.nav{
    @media (max-width: 1000px) {
        display:flex !important;
        justify-content: space-between;
        align-items: center;
    }
}

.l-footer-jp{
  justify-content: center;
}

/*ナビゲーション余白調整*/
.wp-block-navigation{
    margin-block-start:0 !important;
}

.wp-block-navigation__responsive-container-close{
    margin-top:8px !important;
}

.icon-english{
    position:relative;

    @media (max-width: 600px){
        display:flex;
    }

    &:before{
        height:24px;
        width:24px;
        display:inline-block;
        content:url(../svg/globe.svg);
        transform: translateY(6px);
        margin-right:8px;
        @media (max-width: 800px){
            transform: translateY(0);
        }
    }

}

/*白ボタン*/

/* 指定ボタン（.btn-wh）のhover/focus時に色を反転 */
.btn-wh .wp-block-button__link:hover,
.btn-wh .wp-block-button__link:focus-visible{
  background-color: var(--wp--custom--color--tertiary) !important;
  color: #fff !important;
  border-color: var(--wp--custom--color--tertiary) !important;
  transition:0.4s ease all;
}

/* strong など子要素も白に揃える（念のため） */
.btn-wh .wp-block-button__link:hover *,
.btn-wh .wp-block-button__link:focus-visible *{
  color: #fff !important;
}

/*青ボタン*/

/* btn-blue：ホバーで白背景をフェード＋文字色/枠線をtertiaryに */
.btn-blue .wp-block-button__link{
    position: relative;
    border: 2px solid transparent; /* 通常時は見せない */
    border-style:outset !important;
    border-radius:100px;
    transition: color .2s ease, border-color .2s ease;
    isolation: isolate;            /* z-index:-1 を安全に使う */
    background-size:calc(100% + 4px) calc(100% + 4px) !important;
    background-position:center !important;
}
  
  /* 白背景レイヤー（背面に置く） */
  .btn-blue .wp-block-button__link::before{
    content: "";
    position: absolute;
    inset: 0;
    background: #fff;
    border-radius:100px;
    opacity: 0;
    transition: opacity .2s ease;
    z-index: -1;                   /* ←文字より後ろに固定 */
    pointer-events: none;
  }
  
  /* hover/focusで白背景をフェードイン＋色反転＋枠線追加 */
  .btn-blue .wp-block-button__link:hover,
  .btn-blue .wp-block-button__link:focus-visible{
    color: var(--wp--custom--color--tertiary) !important;
    /* 枠線を“確実に”出す */
    border-style: solid !important;
    border-width: 2px !important;
    border-color: var(--wp--custom--color--tertiary) !important;
    border-radius:100px;
  }
  
  .btn-blue .wp-block-button__link:hover::before,
  .btn-blue .wp-block-button__link:focus-visible::before{
    opacity: 1;
  }
  
.l-join{
    height:340px;
}

.en-footer{
  width:100%;
}

.en-footer.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{
  flex: 0 0 auto;
  @media (max-width: 800px){
    flex:1;
  }
}

.popmake-close{
  right:20px !important;
  top:20px !important;
  transition: 0.4s ease all;

  &:hover,&:focus-visible{
    background-color: #4954d7 !important;
  }

}

/* ===== ナビ：切り替え境界を1000pxにする ===== */

/* 1000px未満：ハンバーガー表示 */
@media (max-width: 999.98px){
  /* ハンバーガーボタンを表示 */
  .wp-block-navigation__responsive-container-open{
    display: flex !important;
  }

  /* メニュー本体（レスポンシブコンテナ）は閉じてる時は非表示 */
  .wp-block-navigation__responsive-container{
    display: none !important;
  }
  /* 開いている時だけ表示（WPが付けるクラス） */
  .wp-block-navigation__responsive-container.is-menu-open{
    display: flex !important;
  }
}

/* 1000px以上：通常メニュー表示 */
@media (min-width: 1000px){
  /* ハンバーガーボタンを消す */
  .wp-block-navigation__responsive-container-open{
    display: none !important;
  }

  /* メニュー本体を常に表示（オーバーレイじゃなく通常表示に寄せる） */
  .wp-block-navigation__responsive-container{
    display: block !important;
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    background: transparent !important;
  }

  /* 閉じるボタンも不要なので消す（好みで） */
  .wp-block-navigation__responsive-container-close{
    display: none !important;
  }
}

/* エディタのキャンバス幅をコンテナとして扱う */
.editor-styles-wrapper{
    container-type: inline-size;
    container-name: editorcanvas;
  }
  
  /* ===== 基本：初期状態（PC想定） ===== */
  .disp-pc{ display:block; }
  .disp-flex-pc{ display:flex; }
  
  .disp-sp,
  .disp-flex-sp{ display:none !important; }
  .disp-flexrow-sp{ display:none !important; }
  
  /* ===== 800px 切替用：初期状態（>=800を想定） ===== */
  .disp-800up{ display:block; }
  .disp-flex-800up{ display:flex; }
  
  .disp-800down,
  .disp-flex-800down{ display:none !important; }
  
  /* ===== 1000px 切替用：初期状態（>=1000を想定） ===== */
  .disp-1000up{ display:block; }
  .disp-flex-1000up{ display:flex; }
  
  .disp-1000down,
  .disp-flex-1000down{ display:none !important; }

  .disp-flexrow-1000down{ display:none !important; flex-direction: row !important; }
  
  
  /* ===== SP(<=600) 切替ルール（共通） ===== */
  @media (max-width: 600px){
    .disp-pc,
    .disp-flex-pc{ display:none !important; }
  
    .disp-sp{ display:block !important; }
    .disp-flex-sp{ display:flex !important; }
  }
  
  /* ===== 800px 切替ルール（共通） ===== */
  @media (max-width: 800px){
    .disp-800up,
    .disp-flex-800up{ display:none !important; }
  
    .disp-800down{ display:block !important; }
    .disp-flex-800down{ display:flex !important; }
  
    .disp-flexrow-sp{
      display:flex !important;
      flex-direction: row !important;
    }
  }
  
  /* ===== 1000px 切替ルール（共通） ===== */
  @media (max-width: 1000px){
    .disp-1000up,
    .disp-flex-1000up{ display:none !important; }
  
    .disp-1000down{ display:block !important; }
    .disp-flex-1000down{ display:flex !important; }
    .disp-flexrow-1000down{ display:flex !important; flex-direction: row !important; }
  }
  
  
  /* ===== エディタのプレビュー幅(<=600) 切替ルール ===== */
  @container editorcanvas (max-width: 600px){
    .disp-pc,
    .disp-flex-pc{ display:none !important; }
  
    .disp-sp{ display:block !important; }
    .disp-flex-sp{ display:flex !important; }
  
    /* SP時の追加調整（必要なものだけ） */
    .nav{
      display:flex !important;
      align-items:center;
    }
    .site-logo{
      width:140px;
      height:auto;
    }
  }
  
  /* ===== エディタのプレビュー幅(<=800) 切替ルール ===== */
  @container editorcanvas (max-width: 800px){
    .disp-800up,
    .disp-flex-800up{ display:none !important; }
  
    .disp-800down{ display:block !important; }
    .disp-flex-800down{ display:flex !important; }
  
    .disp-flexrow-sp{
      display:flex !important;
      flex-direction: row !important;
    }
  }
  
  /* ===== エディタのプレビュー幅(<=1000) 切替ルール ===== */
  @container editorcanvas (max-width: 1000px){
    .disp-1000up,
    .disp-flex-1000up{ display:none !important; }
  
    .disp-1000down{ display:block !important; }
    .disp-flex-1000down{ display:flex !important; }
    .disp-flexrow-1000down{ display:flex !important; flex-direction: row !important; }
  }
  
