/* ========================================================================
   JFAL セミナー特設ページ 共通CSS【Swellブロック対応版 v3】
   ------------------------------------------------------------------------
   v3修正内容:
   ・bodyクラス seminar-page-body でページタイトル非表示
   ・アイキャッチ用 sec-mainvisual の専用スタイル追加
   ・セクション間の余白(margin)を完全に潰す
   ・CTAボタンの詳細度を .wp-element-button まで巻き込んで強化
   ・merit-list PC時 36px に戻す
   ・SPEAKER の HTML修正(speaker-text グループ追加)前提のCSSに変更
   ======================================================================== */


/* ========================================================================
   0. body 全体への指定
   ======================================================================== */

/* ページタイトル非表示(セミナーページのみ) */
body h1.c-pageTitle {
    display: none !important;
}

/* body直下のメインコンテンツ余白を詰める(タイトル消した後の上余白対策) */
body.seminar-page-body .l-mainContent__inner {
    padding-top: 0 !important;
}
    .l-content {
        padding-top: 0;
    }

.l-mainContent__inner>.post_content {
    margin: 0;
}

.p-breadcrumb {
    padding: 8px 0 2px;
    display: none;
}

/* ========================================================================
   1. 共通ベース
   ======================================================================== */

@keyframes seminar-anime {
    0%  { transform: scale(1);      opacity: 0.9; }
    80% { opacity: 0.85; }
    90% { opacity: 0.8; }
    to  { transform: scale(1.1, 2); opacity: 0.1; }
}

.seminar-page * {
    letter-spacing: 0.1rem;
    color: #111;
    box-sizing: border-box;
}

/* セミナーページ親グループ自身も margin 潰す */
.seminar-page,
.seminar-page > .wp-block-group__inner-container {
    margin: 0 !important;
    padding: 0 !important;
    max-width: none !important;
    width: 100% !important;
}

/* 隣接ブロック間の margin を完全に潰す */
.seminar-page > .wp-block-group__inner-container > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.seminar-page .wp-block-group + .wp-block-group {
    margin-top: 0 !important;
}

/* セクション枠を画面幅に抜く + 余白 */
.seminar-page [class*="sec-"] {
    padding: 50px 0 !important;
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    position: relative !important;
}

/* sec-mainvisual(アイキャッチ画像)は padding 不要、画面幅で表示 */
.seminar-page .sec-mainvisual {
    padding: 0 !important;
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

.seminar-page .sec-mainvisual img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 !important;
}

.seminar-page .sec-voice {
    padding: 50px 0 0 !important;
}

/* セクション内側 inner-container をフル幅化 */
.seminar-page [class*="sec-"] > .wp-block-group__inner-container {
    max-width: none !important;
    width: 100% !important;
    padding: 0 !important;
}

/* main-wid:中央寄せのコンテンツ幅 */
.seminar-page .main-wid {
    width: 92.5vw !important;
    max-width: 92.5vw !important;
    margin: 0 auto !important;
}

.seminar-page .main-wid > .wp-block-group__inner-container {
    max-width: none !important;
    width: 100% !important;
}

.seminar-page .sec-archive .main-wid {
    width: 95vw !important;
    max-width: 95vw !important;
}

.seminar-page p {
    font-size: 3.75vw;
    font-weight: 400;
}


/* ------------------------------
   見出し midashi
   ------------------------------ */
.seminar-page h2.midashi {
    font-size: 10vw !important;
    line-height: 1 !important;
    margin: 0 0 30px !important;
    padding: 0 !important;
    color: #111;
}

.seminar-page .midashi .midashi-sub {
    font-size: 4.75vw;
    border-bottom: 3px solid #111;
    display: inline-block;
    line-height: 1.4;
    margin-top: 8px;
}

.seminar-page .strong-color.red    { color: #e7141a !important; }
.seminar-page .strong-color.blue   { color: #06659C !important; }
.seminar-page .strong-color.orange { color: #FEA201 !important; }

.seminar-page .mincho {
    font-family: 'Times New Roman', sans-serif;
    font-weight: 600;
    letter-spacing: -0.05em;
    display: inline !important;
}


/* ------------------------------
   CTAボタン(詳細度UP版)
   ------------------------------ */
.seminar-page .wp-block-buttons {
    justify-content: center !important;
    margin: 20px 0 !important;
    display: flex !important;
}

.seminar-page .wp-block-button.cta-btn {
    margin: 0 auto !important;
    display: block !important;
    width: 100%;
    max-width: 600px;
}

/* Swellのボタンを完全上書き */
.seminar-page .wp-block-button.cta-btn > .wp-block-button__link.wp-element-button,
.seminar-page .wp-block-button.cta-btn .wp-block-button__link {
    display: block !important;
    background-color: #e7141a !important;
    background-image: none !important;
    color: #fff !important;
    width: 100% !important;
    max-width: 300px !important;
    margin: 0 auto !important;
    padding: 22px 0 20px 0 !important;
    border-radius: 30px !important;
    border: none !important;
    position: relative !important;
    line-height: 1 !important;
    text-align: center !important;
    font-size: 16px !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.seminar-page .wp-block-button.cta-btn > .wp-block-button__link.wp-element-button:hover,
.seminar-page .wp-block-button.cta-btn .wp-block-button__link:hover {
    opacity: 1 !important;
    text-decoration: none !important;
    background-color: #fea201 !important;
    color: #fff !important;
}

/* --- CTAボタン wave装飾(切替パーツ:使う回のみコメント解除) ---
.seminar-page .wp-block-button.cta-btn .wp-block-button__link:before {
    content: "";
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border-radius: 30px;
    background: #FF6369;
    border: 1px solid #FF6369;
    transform: translate3d(0, 0, 0);
    animation: seminar-anime 2s ease-out 2s infinite;
}
--- wave装飾ここまで --- */

/* CTAボタン矢印(申込ボタン用・cta-end 以外) */
.seminar-page .wp-block-button.cta-btn:not(.cta-end) > .wp-block-button__link::before {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    right: 30px !important;
    transform: translateY(-50%) !important;
    width: 41px !important;
    height: 41px !important;
    background-color: #f2f2f2 !important;
    border-radius: 50vh !important;
    z-index: 1 !important;
    display: block !important;
}

.seminar-page .wp-block-button.cta-btn:not(.cta-end) > .wp-block-button__link::after {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    right: 47px !important;
    transform: translateY(-50%) rotate(45deg) !important;
    width: 10px !important;
    height: 10px !important;
    border-top: 3px solid #333 !important;
    border-right: 3px solid #333 !important;
    z-index: 2 !important;
    display: block !important;
    background: transparent !important;
}

/* 終了ボタン */
.seminar-page .wp-block-button.cta-btn.cta-end > .wp-block-button__link.wp-element-button,
.seminar-page .wp-block-button.cta-btn.cta-end .wp-block-button__link {
    background-color: #999 !important;
    padding: 20px 0 !important;
    text-align: center !important;
}

.seminar-page .wp-block-button.cta-btn.cta-end > .wp-block-button__link:hover {
    background-color: #999 !important;
    opacity: 0.85 !important;
}


/* ========================================================================
   2. information
   ======================================================================== */
.seminar-page .sec-information {
    background-color: #06659C !important;
    z-index: 1;
    padding: 25px 0 !important;
}

.seminar-page .sec-information .main-wid {
    width: 90vw !important;
    max-width: 90vw !important;
}

.seminar-page .sec-information .flex-ct {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 20px;
}

.seminar-page .sec-information .impact {
    font-size: 7vw;
    color: #fff !important;
    display: block;
    text-align: center;
    margin: 0 auto 10px;
}

.seminar-page .sec-information p {
    font-size: 4.25vw;
    line-height: 1.85;
    text-align: center;
    color: #fff !important;
}

.seminar-page .sec-information .caption {
    font-size: 3.25vw;
    line-height: 1.25;
    text-align: center;
    color: #fff !important;
    display: block;
}

.seminar-page .sec-information .wp-block-button.cta-btn:not(.cta-end) > .wp-block-button__link {
    background-color: #fff !important;
    color: #111 !important;
    padding: 20px 0 20px 40px !important;
}

.seminar-page .sec-information .wp-block-button.cta-btn:not(.cta-end) > .wp-block-button__link::before {
    background-color: #06659C !important;
}

.seminar-page .sec-information .wp-block-button.cta-btn:not(.cta-end) > .wp-block-button__link::after {
    border-top: 3px solid #fff !important;
    border-right: 3px solid #fff !important;
}


/* ========================================================================
   3. archive-view
   ======================================================================== */
.seminar-page .sec-archive {
    background-image: url("http://jfal.jp/wp-content/uploads/2026/05/archive-bg3-1.jpg") !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center !important;
    z-index: 1;
}

.seminar-page .sec-archive::before {
    background: rgba(255, 255, 255, 0.85) !important;
    content: "" !important;
    position: absolute !important;
    width: 100% !important;
    height: 100% !important;
    top: 0 !important;
    left: 0 !important;
    z-index: -1 !important;
    pointer-events: none;
}

.seminar-page .sec-archive p.av-impact {
    font-size: 7vw;
    color: #e7141a !important;
    display: block;
    text-align: center;
    font-weight: 600;
    margin: 0 0 20px !important;
}

.seminar-page .sec-archive p.av-small {
    font-size: 4.75vw;
    display: block;
    text-align: center;
    font-weight: 600;
}

.seminar-page .under-line {
    display: inline !important;
    background: linear-gradient(transparent 60%, #fea201 60%);
}

.seminar-page a.member-ship-link {
    text-align: center !important;
    text-decoration: underline !important;
    font-size: 14px !important;
    display: block !important;
    padding-top: 0;
    color: #4b4b4b !important;
    font-weight: 500;
}


/* ========================================================================
   4. merit
   ======================================================================== */
.seminar-page .sec-merit {
    background-image: url("http://jfal.jp/wp-content/uploads/2026/05/merit-bg.jpg") !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center !important;
    z-index: 1;
}

.seminar-page .sec-merit::before {
    background: rgba(0, 0, 0, 0.6) !important;
    content: "" !important;
    position: absolute !important;
    width: 100% !important;
    height: 100% !important;
    top: 0 !important;
    left: 0 !important;
    z-index: -1 !important;
    pointer-events: none;
}

.seminar-page .sec-merit .merit-lead-ttl {
    margin: 0 0 20px !important;
    color: #fff !important;
    font-size: 5.25vw;
    font-weight: 700;
    line-height: 1.5;
}

.seminar-page .sec-merit .merit-lead-text {
    color: #fff !important;
    margin: 0 0 30px !important;
}

.seminar-page .sec-merit .merit-lead-text.small{
    margin-top: -20px !important;
}

/* メリットボックス */
.seminar-page .merit-box {
    background-color: #fff !important;
    border: solid 1px #e7141a !important;
    padding: 20px 5px !important;
    margin: 0 0 50px !important;
    position: relative !important;
    width: 99%;
}

.seminar-page .merit-box::before {
    content: "" !important;
    position: absolute !important;
    bottom: -15px !important;
    right: -10px !important;
    width: 100% !important;
    height: 100% !important;
    z-index: -1 !important;
    background-color: #e7141a !important;
    pointer-events: none;
}

.seminar-page .merit-box > .wp-block-group__inner-container {
    max-width: none !important;
    width: 100% !important;
}

.seminar-page .merit-box .merit-box-ttl {
    font-size: 4.35vw !important;
    text-align: center !important;
    font-weight: 400 !important;
    margin: 0 0 4px !important;
    color: #111 !important;
}

/* 装飾ボーダー */
.seminar-page .merit-box p.border-bt {
    display: flex !important;
    width: 93% !important;
    justify-content: space-between !important;
    margin: 4px auto 30px !important;
    padding: 0 !important;
    line-height: 0;
}

.seminar-page .border-bt__left {
    width: 71% !important;
    height: 2px !important;
    display: inline-block !important;
    background: #e7141a !important;
}

.seminar-page .border-bt__right {
    width: 22% !important;
    height: 2px !important;
    display: inline-block !important;
    background: #e7141a !important;
    position: relative !important;
}

.seminar-page .border-bt__right::before {
    content: "" !important;
    width: 17px !important;
    height: 2px !important;
    display: inline-block !important;
    background: #e7141a !important;
    position: absolute !important;
    left: -16px !important;
    transform-origin: right center !important;
    transform: rotate(-45deg) !important;
}

/* チェックリスト */
.seminar-page ul.merit-list {
    list-style-type: none !important;
    padding: 0 10px 0 17% !important;
    margin: 0 !important;
}

.seminar-page ul.merit-list li {
    position: relative;
    line-height: 1.75;
    font-size: 4.25vw;
    margin-bottom: 10px;
    border-bottom: solid #e7141a 2px;
    display: inline-block;
}

.seminar-page ul.merit-list li::after {
    content: '✅';
    display: block;
    position: absolute;
    top: 1px;
    left: -40px;
}

/* 動画ボックス */
.seminar-page .ad-video {
    background-color: #fff !important;
    border: solid 1px #FEA201 !important;
    margin: 0 0 50px !important;
    position: relative !important;
    width: 99%;
}

.seminar-page .ad-video::before {
    content: "" !important;
    position: absolute !important;
    bottom: -15px !important;
    right: -10px !important;
    width: 100% !important;
    height: 100% !important;
    z-index: -1 !important;
    background-color: #FEA201 !important;
    pointer-events: none;
}

.seminar-page .ad-video > .wp-block-group__inner-container {
    max-width: none !important;
    width: 100% !important;
}

.seminar-page .ad-video-bg {
    padding: 10px 5px 20px 10px !important;
    position: relative !important;
    z-index: 1;
}

.seminar-page .ad-video-bg > .wp-block-group__inner-container {
    max-width: none !important;
    width: 100% !important;
}

.seminar-page .ad-video .ad-video-ttl {
    font-size: 4.75vw !important;
    text-align: center !important;
    font-weight: 400 !important;
    margin: 0 auto 10px !important;
    position: relative !important;
    display: table !important;
    color: #111 !important;
}

.seminar-page .ad-video .ad-video-ttl::after,
.seminar-page .ad-video .ad-video-ttl::before {
    font-family: 'Material Icons Outlined' !important;
    content: '\ef49' !important;
    position: absolute !important;
    top: 39% !important;
    transform: translateY(-50%) rotate(-26deg) !important;
    font-weight: 100 !important;
    font-size: 25px !important;
    color: #fea201 !important;
}

.seminar-page .ad-video .ad-video-ttl::after { right: -30px !important; }
.seminar-page .ad-video .ad-video-ttl::before { left: -30px !important; }

/* YouTube埋め込み */
.seminar-page figure.wp-block-embed.video-embed,
.seminar-page .video-embed {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding-top: 56.25% !important;
}

.seminar-page figure.wp-block-embed.video-embed .wp-block-embed__wrapper,
.seminar-page .video-embed .wp-block-embed__wrapper {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
}

.seminar-page figure.wp-block-embed.video-embed iframe,
.seminar-page .video-embed iframe {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
}


/* ========================================================================
   5. speaker(HTML側で speaker-text グループ追加前提)
   ======================================================================== */
.seminar-page .speaker-card {
    border: solid 1px #e7141a !important;
    padding: 10px 7.5px 20px !important;
    position: relative !important;
    margin: 0 0 50px !important;
    width: 99%;
    background-color: #fff !important;
}

.seminar-page .speaker-card::before {
    content: "" !important;
    position: absolute !important;
    bottom: -15px !important;
    right: -10px !important;
    width: 100% !important;
    height: 100% !important;
    z-index: -1 !important;
    background-color: #e7141a !important;
    pointer-events: none;
}

.seminar-page .speaker-card:last-of-type {
    margin-bottom: 0 !important;
}

.seminar-page .speaker-card > .wp-block-group__inner-container {
    max-width: none !important;
    width: 100% !important;
}

/* 画像(figureとimg両方制御) */
.seminar-page figure.speaker-img {
    width: 85vw !important;
    max-width: 85vw !important;
    height: auto !important;
    margin: 0 auto 20px !important;
    padding: 0 !important;
}

.seminar-page figure.speaker-img img {
    width: 85vw !important;
    height: 85vw !important;
    max-width: 85vw !important;
    object-fit: cover !important;
    border-radius: 50% !important;
    object-position: 0 0 !important;
    margin: 0 auto !important;
    display: block !important;
}

.seminar-page .speaker-card:first-of-type figure.speaker-img img {
    object-position: 50% 11% !important;
}

/* speaker-text(HTMLで追加するグループ) */
.seminar-page .speaker-text {
    width: 100%;
}

.seminar-page .speaker-text > .wp-block-group__inner-container {
    max-width: none !important;
    width: 100% !important;
}

.seminar-page .speaker-position {
    font-size: 3.75vw;
    display: block;
    margin: 0 0 10px !important;
}

.seminar-page .speaker-name {
    font-size: 7.5vw !important;
    margin: 0 0 10px !important;
    color: #111 !important;
}

.seminar-page .speaker-name .yomigana {
    font-size: 4.25vw !important;
}

.seminar-page .speaker-work {
    line-height: 1.75;
    margin: 0;
}

.seminar-page .speaker-mini {
    font-size: 3.75vw;
    color: #767676;
}


/* ========================================================================
   6. contents
   ======================================================================== */
.seminar-page .content-row {
    position: relative !important;
    margin: 0 0 50px !important;
}

.seminar-page .content-row > .wp-block-group__inner-container {
    max-width: none !important;
    width: 100% !important;
}

.seminar-page .content-midashi {
    width: 98% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 7.5px !important;
    border: solid 1px #06659C !important;
    z-index: 1 !important;
    background: #fff !important;
    position: absolute !important;
    top: -20px !important;
}

.seminar-page .content-midashi > .wp-block-group__inner-container {
    max-width: none !important;
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.seminar-page .content-midashi .cm-part,
.seminar-page .content-midashi .cm-speaker {
    font-size: 4.25vw !important;
    font-weight: 700 !important;
    margin: 0 !important;
}

.seminar-page .content-text {
    background: #06659C !important;
    padding: 40px 10px 20px !important;
    margin-left: 2vw !important;
    width: 99%;
}

.seminar-page .content-text > .wp-block-group__inner-container {
    max-width: none !important;
    width: 100% !important;
}

.seminar-page .content-text p {
    color: #fff !important;
    line-height: 1.75;
    margin: 0;
}


/* ========================================================================
   7. voice
   ======================================================================== */
.seminar-page .voice-box {
    background-color: #fff !important;
    border: solid 1px #FEA201 !important;
    padding: 20px 5px 20px 10px !important;
    margin: 0 0 25px !important;
    position: relative !important;
    width: 99%;
}

.seminar-page .voice-box::before {
    content: "" !important;
    position: absolute !important;
    bottom: -15px !important;
    right: -10px !important;
    width: 100% !important;
    height: 100% !important;
    z-index: -1 !important;
    background-color: #FEA201 !important;
    pointer-events: none;
}

.seminar-page .voice-box > .wp-block-group__inner-container {
    max-width: none !important;
    width: 100% !important;
}

.seminar-page .voice-box p {
    font-size: 3.75vw;
    margin: 0 0 10px;
}


/* ========================================================================
   8. digest
   ======================================================================== */
.seminar-page .sec-digest figure.wp-block-embed,
.seminar-page .sec-digest .video-embed {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-top: 0 !important;
    margin: 0 auto !important;
}


/* ========================================================================
   9. time-schedule
   ======================================================================== */
.seminar-page .ts-box {
    background-color: #fff !important;
    position: relative !important;
    width: 99%;
}

.seminar-page .ts-box::before {
    content: "" !important;
    position: absolute !important;
    bottom: -10px !important;
    right: -10px !important;
    width: 100% !important;
    height: 100% !important;
    z-index: -1 !important;
    background-color: #e7141a !important;
    pointer-events: none;
}

.seminar-page .ts-box > .wp-block-group__inner-container {
    max-width: none !important;
    width: 100% !important;
}

.seminar-page .wp-block-columns.ts-row,
.seminar-page .wp-block-columns.ts-head {
    display: flex !important;
    flex-wrap: nowrap !important;
    flex-direction: row !important;
    margin: 0 !important;
    gap: 0 !important;
    align-items: stretch !important;
}

.seminar-page .wp-block-columns.ts-head {
    background: #e7141a !important;
}

.seminar-page .wp-block-columns.ts-row {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
}

.seminar-page .wp-block-columns.ts-row .wp-block-column.ts-left,
.seminar-page .wp-block-columns.ts-head .wp-block-column.ts-left {
    flex: 0 0 33% !important;
    flex-basis: 33% !important;
    width: 33% !important;
    max-width: 33% !important;
    padding: 15px !important;
    margin: 0 !important;
}

.seminar-page .wp-block-columns.ts-row .wp-block-column.ts-right,
.seminar-page .wp-block-columns.ts-head .wp-block-column.ts-right {
    flex: 0 0 67% !important;
    flex-basis: 67% !important;
    width: 67% !important;
    max-width: 67% !important;
    padding: 15px !important;
    margin: 0 !important;
}

.seminar-page .ts-time {
    font-size: 3.75vw;
    margin: 0;
}

.seminar-page .ts-schedule {
    font-size: 4.25vw !important;
    margin: 0 !important;
    color: #111;
}

.seminar-page .ts-schedule-sub {
    font-size: 3.75vw;
}

.seminar-page .ts-head .ts-time,
.seminar-page .ts-head .ts-schedule {
    color: #fff !important;
    font-weight: 600;
    font-size: 4.25vw !important;
}


/* ========================================================================
   10. flow
   ======================================================================== */
.seminar-page .flow-box {
    background-color: #fff !important;
    border: solid 1px #e7141a !important;
    padding: 100px 5px 40px 10px !important;
    margin: 0 0 50px !important;
    position: relative !important;
    width: 99%;
}

.seminar-page .flow-box::before {
    content: "" !important;
    position: absolute !important;
    bottom: -15px !important;
    right: -10px !important;
    width: 100% !important;
    height: 100% !important;
    z-index: -1 !important;
    background-color: #e7141a !important;
    pointer-events: none;
}

.seminar-page .flow-box > .wp-block-group__inner-container {
    max-width: none !important;
    width: 100% !important;
}

.seminar-page .flow-box .flow-num {
    font-size: 16vw !important;
    opacity: 0.8;
    letter-spacing: 0 !important;
    font-style: italic;
    font-weight: 900;
    color: #e7141a !important;
    position: absolute !important;
    top: -10px !important;
    right: 10px !important;
    margin: 0 !important;
    line-height: 1 !important;
}

.seminar-page .flow-box .flow-ttl {
    font-size: 6vw !important;
    margin: 0 0 5px !important;
    color: #111 !important;
}

.seminar-page .flow-box p {
    margin: 0;
}

.seminar-page .flow-box a {
    color: #e7141a !important;
    border-bottom: solid #e7141a 1px;
}


/* ========================================================================
   11. overview
   ======================================================================== */
.seminar-page .ov-box {
    background-color: #fff !important;
    position: relative !important;
    width: 99%;
}

.seminar-page .ov-box::before {
    content: "" !important;
    position: absolute !important;
    bottom: -10px !important;
    right: -10px !important;
    width: 100% !important;
    height: 100% !important;
    z-index: -1 !important;
    background-color: #111 !important;
    pointer-events: none;
}

.seminar-page .ov-box > .wp-block-group__inner-container {
    max-width: none !important;
    width: 100% !important;
}

.seminar-page .wp-block-columns.ov-head {
    display: flex !important;
    flex-wrap: nowrap !important;
    flex-direction: row !important;
    background: #111 !important;
    margin: 0 !important;
    gap: 0 !important;
}

.seminar-page .wp-block-columns.ov-head .wp-block-column.ov-left {
    flex: 1 1 100% !important;
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 15px !important;
    margin: 0 !important;
}

.seminar-page .wp-block-columns.ov-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    flex-direction: row !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
    margin: 0 !important;
    gap: 0 !important;
    align-items: stretch !important;
}

.seminar-page .wp-block-columns.ov-row .wp-block-column.ov-left {
    flex: 0 0 33% !important;
    flex-basis: 33% !important;
    width: 33% !important;
    max-width: 33% !important;
    padding: 15px !important;
    margin: 0 !important;
}

.seminar-page .wp-block-columns.ov-row .wp-block-column.ov-right {
    flex: 0 0 67% !important;
    flex-basis: 67% !important;
    width: 67% !important;
    max-width: 67% !important;
    padding: 15px 5px !important;
    margin: 0 !important;
}

.seminar-page .ov-item {
    font-size: 3.75vw;
    margin: 0;
}

.seminar-page .ov-content {
    font-size: 4.25vw !important;
    overflow-wrap: break-word;
    margin: 0 !important;
    color: #111;
}

.seminar-page .ov-content-sub {
    font-size: 3.75vw;
    margin: 0;
}

.seminar-page .ov-head .ov-item {
    color: #fff !important;
    font-weight: 600;
    font-size: 4.25vw !important;
}


/* ========================================================================
   12. レスポンシブ:タブレット(751px以上)
   ======================================================================== */
@media only screen and (min-width: 751px) {

    .seminar-page [class*="sec-"]:not(.sec-mainvisual) {
        padding: 80px 0 !important;
    }

    .seminar-page .main-wid {
        width: 95vw !important;
        max-width: 1000px !important;
    }

    .seminar-page p {
        font-size: 16px;
    }

    /* --- CTAボタン --- */
    .seminar-page .wp-block-button.cta-btn > .wp-block-button__link.wp-element-button,
    .seminar-page .wp-block-button.cta-btn .wp-block-button__link {
        max-width: 600px !important;
        border-radius: 50px !important;
        font-size: 32px !important;
        padding: 32px 0 30px 0 !important;
    }

    .seminar-page .wp-block-button.cta-btn.cta-end > .wp-block-button__link.wp-element-button,
    .seminar-page .wp-block-button.cta-btn.cta-end .wp-block-button__link {
        padding: 32px 0 30px 0!important;
    }

    .seminar-page .wp-block-button.cta-btn:not(.cta-end) > .wp-block-button__link::before {
        right: 90px !important;
        width: 66px !important;
        height: 66px !important;
    }

    .seminar-page .wp-block-button.cta-btn:not(.cta-end) > .wp-block-button__link::after {
        right: 117px !important;
        width: 20px !important;
        height: 20px !important;
        border-top: 5px solid #333 !important;
        border-right: 5px solid #333 !important;
    }

    /* --- information --- */
    .seminar-page .sec-information { padding: 30px 0 !important; }
    .seminar-page .sec-information .flex-ct { margin-bottom: 40px; }
    .seminar-page .sec-information .impact { font-size: 56px; margin-bottom: 20px; }
    .seminar-page .sec-information p { font-size: 28px; }
    .seminar-page .sec-information .caption { font-size: 18px; }
    .seminar-page .sec-information .wp-block-button.cta-btn:not(.cta-end) > .wp-block-button__link {
        padding: 30px 0 30px 80px !important;
    }

    /* --- archive-view --- */
    .seminar-page .sec-archive p.av-impact { font-size: 56px; margin-bottom: 20px; }
    .seminar-page .sec-archive p.av-small { font-size: 28px; }
    .seminar-page a.member-ship-link { font-size: 16px !important; padding-top: 0; margin-top: -5px;}

    /* --- merit --- */
    .seminar-page .sec-merit .merit-lead-ttl { font-size: 40px; margin: 0 0 40px !important; }
    .seminar-page .sec-merit .merit-lead-text { font-size: 24px; margin: 0 0 80px !important; }
	.seminar-page .sec-merit .merit-lead-text.small{
		font-size:16px;
    margin-top: -70px !important;
}
    .seminar-page .merit-box { width: 100%; margin: 0 0 80px !important; }
    .seminar-page .merit-box .merit-box-ttl,
    .seminar-page .ad-video .ad-video-ttl {
        font-size: 36px !important;
        font-weight: 600 !important;
    }
    .seminar-page ul.merit-list { padding: 0 40px 0 15% !important; }
    .seminar-page ul.merit-list li {
        font-size: 36px;
        margin-bottom: 20px;
        font-weight: 600;
    }
    .seminar-page ul.merit-list li::after { top: 0; left: -80px; }
    .seminar-page .border-bt__left,
    .seminar-page .border-bt__right,
    .seminar-page .border-bt__right::before { height: 5px !important; }
    .seminar-page .ad-video { margin: 0 0 100px !important; }
    .seminar-page .ad-video-bg { padding: 30px 80px !important; }
    .seminar-page .ad-video .ad-video-ttl { margin: 0 auto 30px !important; }
    .seminar-page .ad-video .ad-video-ttl::after { right: -75px !important; font-size: 52px !important; }
    .seminar-page .ad-video .ad-video-ttl::before { left: -75px !important; font-size: 52px !important; }

    /* --- midashi --- */
    .seminar-page h2.midashi { font-size: 80px !important; margin: 0 0 50px !important; }
    .seminar-page .midashi .midashi-sub { font-size: 40px; }

    /* --- speaker(HTML側で speaker-text 追加前提) --- */
    .seminar-page .speaker-card {
        padding: 40px 10px 80px !important;
        margin: 0 0 95px !important;
    }
    .seminar-page .speaker-card > .wp-block-group__inner-container {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: flex-start !important;
        gap: 80px;
    }
    .seminar-page figure.speaker-img {
        flex: 0 0 320px !important;
        width: 320px !important;
        max-width: 320px !important;
        margin: 0 !important;
    }
    .seminar-page figure.speaker-img img {
        width: 310px !important;
        height: 310px !important;
        max-width: 310px !important;
    }
    .seminar-page .speaker-text {
        flex: 1 1 auto !important;
        padding-top: 40px;
        width: calc(100% - 400px) !important;
    }

	
    .seminar-page .speaker-position { font-size: 16px; line-height: 1.5; margin: 0 0 14px !important; }
    .seminar-page .speaker-name { font-size: 36px !important; }
    .seminar-page .speaker-name .yomigana { font-size: 18px !important; }
    .seminar-page .speaker-work { font-size: 16px; }
    .seminar-page .speaker-mini { font-size: 14px; }

    /* --- contents --- */
    .seminar-page .sec-contents .midashi { margin: 0 0 100px !important; }
    .seminar-page .content-row { margin: 0 0 75px !important; }
    .seminar-page .content-midashi { padding: 20px 25px !important; top: -40px !important; }
    .seminar-page .content-midashi .cm-part,
    .seminar-page .content-midashi .cm-speaker { font-size: 24px !important; }
    .seminar-page .content-text { padding: 80px 25px 40px !important; }
    .seminar-page .content-text p { font-size: 16px; }

    /* --- voice --- */
    .seminar-page .sec-voice { padding: 100px 0 50px !important; }
    .seminar-page .voice-box { margin: 0 !important; padding: 20px 10px !important; height: 100%; }
    .seminar-page .voice-box p { font-size: 16px; margin-bottom: 20px; }

    /* --- time-schedule --- */
    .seminar-page .ts-time,
    .seminar-page .ts-schedule,
    .seminar-page .ts-head .ts-time,
    .seminar-page .ts-head .ts-schedule {
        font-size: 24px !important;
        /*font-weight: 600;*/
    }
    .seminar-page .ts-schedule-sub { font-size: 16px; }

    /* --- flow --- */
    .seminar-page .flow-box {
        padding: 100px 25px 40px !important;
        margin: 0 0 60px !important;
        width: 100%;
    }
    .seminar-page .flow-box .flow-ttl { font-size: 36px !important; }
    .seminar-page .flow-box .flow-num { font-size: 72px !important; }
    .seminar-page .flow-box p { font-size: 16px; }

    /* --- overview --- */
    .seminar-page .ov-item,
    .seminar-page .ov-content,
    .seminar-page .ov-head .ov-item {
        font-size: 24px !important;
        /*font-weight: 600;*/
    }
    .seminar-page .ov-content-sub { font-size: 16px; }
}


/* ========================================================================
   13. レスポンシブ:PC(1024px以上)
   ======================================================================== */
@media only screen and (min-width: 1024px) {
    .seminar-page ul.merit-list { padding: 0 50px 0 200px !important; }
}

/* ========================================================================
   修正パッチ(v3.1)
   ======================================================================== */

/* ① ページタイトル非表示の確実化(セレクタ強化) */
body.seminar-page-body h1.c-pageTitle,
body.seminar-page-body .c-pageTitle {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ② CTAボタンの横並びを縦並びに */
.seminar-page .wp-block-buttons.is-layout-flex,
.seminar-page .wp-block-buttons {
    flex-direction: column !important;
    align-items: center !important;
    gap: 20px !important;
}

/* ③ CTAボタン矢印 ── overflow解除 + 疑似要素の重ね順を確実に */
.seminar-page .wp-block-button.cta-btn,
.seminar-page .wp-block-button.cta-btn > .wp-block-button__link,
.seminar-page .wp-block-button.cta-btn .wp-block-button__link {
    overflow: visible !important;
}

/* 申込ボタン(cta-end以外)の矢印を確実に表示 */
.seminar-page .wp-block-button.cta-btn:not(.cta-end) > .wp-block-button__link::before {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    top: 49% !important;
    right: 60px !important;
    transform: translateY(-50%) !important;
    width: 66px !important;
    height: 66px !important;
    background-color: #f2f2f2 !important;
    background-image: none !important;
    border-radius: 50% !important;
    border: none !important;
    z-index: 2 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.seminar-page .wp-block-button.cta-btn:not(.cta-end) > .wp-block-button__link::after {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    top: 50% !important;
    right: 87px !important;
    transform: translateY(-50%) rotate(45deg) !important;
    width: 20px !important;
    height: 20px !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border-top: 5px solid #333 !important;
    border-right: 5px solid #333 !important;
    border-left: none !important;
    border-bottom: none !important;
    border-radius: 0 !important;
    z-index: 3 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* SP時(750px以下)の矢印サイズ調整 */
@media only screen and (max-width: 750px) {
    .seminar-page .wp-block-button.cta-btn:not(.cta-end) > .wp-block-button__link::before {
        right: 20px !important;
        width: 41px !important;
        height: 41px !important;
    }

    .seminar-page .wp-block-button.cta-btn:not(.cta-end) > .wp-block-button__link::after {
        right: 38px !important;
        width: 10px !important;
        height: 10px !important;
        border-top-width: 3px !important;
        border-right-width: 3px !important;
    }
}

@media only screen and (min-width: 751px) {
    .seminar-page .ov-content-sub {
        font-size: 16px !important;
        line-height: 1.6 !important;
        color: #666 !important;
        margin-top: 0 !important;
    }
}





/* ========================================================================
   14. speaker-pickup(切替パーツ:使う回のみ)
   ------------------------------------------------------------------------
   配置:speaker-card の inner-container 直下、speaker-text の弟として配置
   ・PickUpを含む speaker-card のみ flex-wrap を許可(:has() 使用)
   ・PickUp自体は flex 子要素として、100%幅で次の行(画像とテキストの下)に
   ・PC時は内部で画像左+本文右の2カラム
   ・SP時は画像中央+本文下の縦並び
   ======================================================================== */

/* --- 北川氏など PickUpがない speaker-card に影響しないよう :has() で限定 --- */
.seminar-page .speaker-card:has(> .wp-block-group__inner-container > .speaker-pickup) > .wp-block-group__inner-container {
    flex-wrap: wrap !important;
}

/* PickUpブロックを次の行(フル幅)に配置 */
.seminar-page .speaker-card > .wp-block-group__inner-container > .speaker-pickup {
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 30px !important;
    order: 3 !important;
}

/* 見出し(赤い帯) */
.seminar-page .speaker-pickup .pickup-hed {
    font-size: 15px !important;
    letter-spacing: 0.05em !important;
    padding: 8px 18px !important;
    background-color: #e7141a !important;
    color: #fff !important;
    text-shadow: none !important;
    font-weight: 500 !important;
    font-family: 游明朝体, "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif !important;
    margin: 0 !important;
    line-height: 1.6 !important;
}

/* PickUpコンテンツ枠 */
.seminar-page .speaker-pickup .pickup {
    border: solid 1px #e7141a !important;
    border-top: none !important;
    padding: 20px !important;
    background-color: #fff !important;
}

/* リンクラッパー */
.seminar-page .speaker-pickup .pickup_wrap {
    display: block !important;
    text-decoration: none !important;
    color: #111 !important;
}

.seminar-page .speaker-pickup .pickup_wrap:hover {
    opacity: 0.85;
    text-decoration: none !important;
}

/* 画像 */
.seminar-page .speaker-pickup .pickup_img {
    margin: 0 auto 18px !important;
    text-align: center;
}

.seminar-page .speaker-pickup .pickup_img img {
    max-width: 180px !important;
    width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
}

/* テキスト */
.seminar-page .speaker-pickup .pickup_text {
    width: 100%;
}

.seminar-page .speaker-pickup .pickup_heading h3 {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #111 !important;
    margin: 0 0 12px !important;
    padding-bottom: 10px;
    border-bottom: 1px solid #d8dde5;
    line-height: 1.5 !important;
}

.seminar-page .speaker-pickup .pickup_paragraph p {
    font-size: 13px !important;
    line-height: 1.85 !important;
    color: #444 !important;
    margin: 0 0 10px !important;
}

.seminar-page .speaker-pickup .pickup_paragraph .pickup_paragraph--link {
    text-align: right !important;
    color: #e7141a !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    margin: 12px 0 0 !important;
}

/* PC時(751px以上):画像左 + テキスト右の2カラム */
@media only screen and (min-width: 751px) {
    .seminar-page .speaker-card > .wp-block-group__inner-container > .speaker-pickup {
        margin-top: 40px !important;
    }

    .seminar-page .speaker-pickup .pickup-hed {
        font-size: 18px !important;
        padding: 6px 22px !important;
    }

    .seminar-page .speaker-pickup .pickup {
        padding: 28px 35px !important;
    }

    .seminar-page .speaker-pickup .pickup_wrap {
        display: flex !important;
        align-items: flex-start;
        gap: 30px;
    }

    .seminar-page .speaker-pickup .pickup_img {
        flex: 0 0 300px !important;
        margin: 0 !important;
    }

    .seminar-page .speaker-pickup .pickup_img img {
        max-width: 300px !important;
        width: 100% !important;
    }

    .seminar-page .speaker-pickup .pickup_text {
        flex: 1 1 auto;
    }

    .seminar-page .speaker-pickup .pickup_heading h3 {
        font-size: 20px !important;
        margin-bottom: 14px !important;
        padding-bottom: 12px;
    }

    .seminar-page .speaker-pickup .pickup_paragraph p {
        font-size: 15px !important;
        line-height: 1.9 !important;
    }

    .seminar-page .speaker-pickup .pickup_paragraph .pickup_paragraph--link {
        font-size: 14px !important;
        margin-top: 16px !important;
    }
}

.seminar-page .merit-box-ttl + p{
	display:flex;
justify-content:space-around;
padding: 10px 0;
}