/**
 * レイアウト
 */
body :where(.wp-block-columns.has-background) {
    padding-top: 80px;
    padding-bottom: 80px;

    @media screen and (max-width: 767px) {/* SP */
        padding-top: 1.25em;
        padding-bottom: 1.25em;
    }
}

body :where(.wp-block-columns) {
    margin-bottom: 0;
}

main > :where([class^="wp-block-"],p) {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    @media screen and (max-width: calc(1201px + 2rem + 60px)){/* PC */
        margin-left: 1rem;
        margin-right: 1rem;
    }
}
main > :where(.wp-block-columns,.wp-block-cover) {
    max-width: calc(100% + 2rem);
    margin-left: 0;
    margin-right: 0;

    @media screen and (min-width: 768px){/* PC */
        padding-left: 1rem;
        padding-right: 1rem;
    }

    @media screen and (min-width: calc(1200px + 2rem + 60px)){/* PC */
        padding-left: calc(50% - 600px) !important;
        padding-right: calc(50% - 600px) !important;
    }

    @media screen and (max-width: 767px) {/* SP */
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

main > *:last-child:not(.wp-block-cover) {
    padding-bottom: 100px;
}

.wp-block-embed-youtube {
    iframe {
        height: calc(100vw * 0.504);
    }
}
.wp-block-columns.narrow-box .wp-block-column {
	max-width: 1000px;
	margin: auto;
}
/* エディタ用スタイル */
.editor-styles-wrapper {/* エディタエリアをコンテナ指定 */
    container-type: inline-size;
}
@container (min-width: 1201px) {/* エディタエリアが1201px以上の場合 */
    /* ブロック要素 */
    .editor-styles-wrapper :where(:not(.is-layout-flex,.is-layout-grid))>.wp-block:not(p,h1,h2,h3,h4,h5,h6) {
        margin-left: 0;
        margin-right: 0;
        max-width: 100%;
    }
    /* カラムブロック、カバーブロック */
    .is-root-container > :where(.wp-block-columns,.wp-block-cover) {
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding-left: calc(50% - 600px);
        padding-right: calc(50% - 600px);
    }
    .is-root-container > :where(p,h1,h2,h3,h4,h5,h6) {
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
    }
}
@container (max-width: 1200px){/* エディタエリアが1200px以下の場合 */
    /* ブロック要素 */
    .editor-styles-wrapper :where(:not(.is-layout-flex,.is-layout-grid))>.wp-block {
        margin-left: 0;
        margin-right: 0;
    }

    /* カラムブロック、カバーブロック */
    .is-root-container > :where(.wp-block-columns,.wp-block-cover) {
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .is-root-container > :where(p,h1,h2,h3,h4,h5,h6) {
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
}



/**
 * Gutenbergのカラー設定
 */
/* 背景色 */
.has-primary-background-color {
    background-color: #1571da;
}
.has-secondary-background-color {
    background-color: #00BF00;
}
.has-gray-background-color {
    background-color: #F2F2F2;
}
.has-black-background-color {
    background-color: #000000;
}
.has-white-background-color {
    background-color: #ffffff;
}
/* 文字色 */
.has-primary-color {
    color: #1571da;
}
.has-secondary-color {
    color: #00BF00;
}
.has-gray-color {
    color: #F2F2F2;
}
.has-black-color {
    color: #000000;
}
.has-white-color {
    color: #ffffff;
}

/* グラデーション */
.has-transparent-color-shikenki-gradient-background {
    background: linear-gradient(to right, #4D5CD4 45%, #825EDF 55%);
}
.has-transparent-color-engineering-gradient-background {
    background: linear-gradient(to right, #2d7186 30%, #41b649 70%);
}
.has-transparent-color-astom-gradient-background {
    background: linear-gradient(135deg,rgb(113,14,14) 0%,rgb(248,128,0) 61%);
}
.has-transparent-gray-twotone-170-gradient-background {
    background: linear-gradient(170deg, rgba(255, 255, 255, 0), 50%, #F2F2F2 50%);
}
.has-transparent-gray-twotone-90-gradient-background {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0), 30%, #F2F2F2 70%);
}








/**
 * 追加CSS
 */
.display-inline-block {
    display: inline-block;
}
.display-inline-flex {
    display: inline-flex;
}
.display-block {
    display: block;
}
.display-flex {
    display: flex;
}
.display-none {
    display: none;
}





/**
 * Gutenbergのボタンスタイル
 */
.wp-block-button__link {
    /* font-size: 14px; */
    padding-top: 8px;
    padding-bottom: 8px;
    transition: .3s;
}
.wp-block-button__link:hover {
    opacity: 0.8;
    transition: .3s;
}

/* デフォルトボタン */
.is-style-default-btn .wp-block-button__link{
    background-color: #1571da;
    color: #ffffff;
    border-radius: 1000px;
}

/* 白ボタン */
.is-style-white-btn .wp-block-button__link{
    background-color: #ffffff;
    color: #1571da;
    border-radius: 1000px;
}

/* アウトラインボタン */
.is-style-outline-btn .wp-block-button__link{
    color: #1571da;
    border: 2px solid #1571da;
    background-color: transparent;
}

/* アウトラインホワイトボタン */
.is-style-outline-white-btn .wp-block-button__link{
    color: #ffffff;
    border: 1px solid #ffffff;
    background-color: transparent;
}

/**
 * 矢印ボタン
 */
/* 矢印 */
.is-style-arrow-btn .wp-block-button__link{
    color: #ffffff;
    border: 2px solid transparent;
    background-color: #1571da;
}
.is-style-arrow-btn .wp-block-button__link::after {
    content: "";
    width: 12px;
    height: 12px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 50%;
    margin-left: 10px;
    margin-top: -6px;
}

/* 矢印白 */
.is-style-arrow-white-btn .wp-block-button__link{
    color: #1571da;
    border: 2px solid transparent;
    background-color: #ffffff;
}
.is-style-arrow-white-btn .wp-block-button__link::after {
    content: "";
    width: 12px;
    height: 12px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 50%;
    margin-left: 10px;
    margin-top: -6px;
}

/* 矢印輪郭 */
.is-style-arrow-outline-btn .wp-block-button__link{
    color: #1571da;
    border: 2px solid #1571da;
    background-color: transparent;
    position: relative;
    padding: 3px 45px 3px 30px;
}
.is-style-arrow-outline-btn .wp-block-button__link::after {
    content: "";
    width: 12px;
    height: 12px;
    border-top: solid 1px #1571da;
    border-right: solid 1px #1571da;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 50%;
    right: 20px;
    position: absolute;
    margin-top: -6px;
}

/* 矢印輪郭白 */
.is-style-arrow-outline-white-btn .wp-block-button__link{
    color: #ffffff;
    border: 2px solid #ffffff;
    background-color: transparent;
    position: relative;
    padding: 3px 45px 3px 30px;
}
.is-style-arrow-outline-white-btn .wp-block-button__link::after {
    content: "";
    width: 12px;
    height: 12px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 50%;
    right: 20px;
    position: absolute;
    margin-top: -6px;
}

/* 矢印輪郭なし */
.wp-block-button.is-style-noline-arrow {
    width: 100%;
}
.wp-block-button.is-style-noline-arrow a {
    width: 100%;
    position: relative;
    color: #1571da;
    font-size: 24px;
    background-color: transparent;
    border-radius: inherit;
    font-weight: 600;
    padding: 0 30px 0 0;
    text-align: left;
    margin: 10px auto;

}
.wp-block-button.is-style-noline-arrow a::before {
    position: absolute;
    content: '';
    right: 0px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    top: calc(50% - 12px);
    background-color: #1571da;
}

.wp-block-button.is-style-noline-arrow a::after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 50%;
    right: 10px;
    position: absolute;
    margin-top: -4px;
}



/**
 * 見出しブロック
 */
/* 大見出し */
.is-style-large-heading{
    border-left: 4px solid #1571da;
    padding-left: 20px;
    padding-top: 8px;
    padding-bottom: 8px;
}

/* 大見出し白 */
.is-style-large-heading-white{
    border-left: 4px solid #ffffff;
    padding-left: 20px;
    padding-top: 8px;
    padding-bottom: 8px;
}

/* 中見出し */
.is-style-middle-heading{
    border-bottom: 1px solid #b3b3b3;
    position: relative;
    padding-top: 8px;
	padding-left: 8px;
    padding-right: 8px;
    padding-bottom: 8px;
}
.is-style-middle-heading::before {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 100px;
    height: 5px;
    background-color: #1571da;
}


/* 中見出し白 */
.is-style-middle-heading-white{
    border-bottom: 1px solid #b3b3b3;
    position: relative;
    padding-top: 8px;
    padding-bottom: 8px;
}
.is-style-middle-heading-white::before {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 100px;
    height: 5px;
    background-color: #ffffff;
}


.wp-block-separator {
    border: none;
    border-top: 1px solid;
}

/* 小見出し */
.is-style-small-heading{
    border-left: 8px solid #1571da;
    padding-left: 20px;
    padding-top: 4px;
    padding-bottom: 4px;
}

/* 小見出し白 */
.is-style-small-heading-white{
    border-left: 8px solid #ffffff;
    padding-left: 20px;
    padding-top: 4px;
    padding-bottom: 4px;
}


/**
 * FAQブロック
 */
.vk_faq{
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
    padding-bottom: 0;
    border: none;
    @media screen and (max-width: 1290px) {/* SP */
        max-width: calc(100% + 2rem - 60px);
        margin-left: 1rem;
        margin-right: 1rem;
    }
 }
.vk_faq-body {
    margin-top: 30px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
    padding-bottom: 1rem;
    border-bottom: 1px solid #b3b3b3;
}
.vk_faq .vk_faq_title {
    padding-left: 80px;
    position: relative;
    border-bottom: none;
}
.vk_faq .vk_faq_title:before {
    content: "Q";
    background-color: #1571da;
    color: #fff;
    font-weight: 500;
    border-radius: 50%;

    width: 50px;
    height: 50px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin-top: -20px;
}
.vk_faq .vk_faq_title:after {
content: "";
    display: block;
    border-top: 15px solid #1571da;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    position: absolute;
    left: 25px;
    top: 13px;
    transform: rotate(-70deg);
}
.vk_faq .vk_faq_content {
    padding-top: 0;
    padding-left: 80px;
}
.vk_faq .vk_faq_content:before {
    visibility: hidden;
}

.has-primary-background-color {
    .vk_faq {
        @media screen and (max-width: 1290px) {/* SP */
            max-width: 100%;
            margin-left: 0;
            margin-right: 0;
        }
     }
    .vk_faq-body {
        border-color: #fff;
    }
    .vk_faq .vk_faq_title {
        color: #fff;
    }
    .vk_faq .vk_faq_title:before {
        background-color: #fff;
        color: #1571da;
    }
    .vk_faq .vk_faq_title:after {
        border-top: 15px solid #fff;
    }
    .vk_faq .vk_faq_content {
        color: #fff;
    }
}

/* デフォルトテーブル */
.wp-block-table.is-style-regular {

}
.wp-block-table.is-style-regular table {
    table-layout: auto;
}
.wp-block-table.is-style-regular table thead {
    border-bottom: none;
}
.wp-block-table.is-style-regular table thead tr th {
    background-color: #1571da;
    color: white;
    white-space: nowrap;
    border: none;
    padding: 1em;
    border-right: 2px solid white;
}
.wp-block-table.is-style-regular table thead tr th:first-of-type {
    background-color: #f7f7f7;
    color: #000000;
    white-space: nowrap;
    border-right: none;
}
.wp-block-table.is-style-regular table thead tr th:last-of-type {
    border-right: none;
}
.wp-block-table.is-style-regular table tbody tr {
    
}
.wp-block-table.is-style-regular table tbody tr th {
    border: none;
    border-right: 2px solid white;
    background-color: #1571da;
    color: white;
    border: none;
    padding: 1em;
    border-right: 2px solid white;
    border-bottom: 2px solid white;
}
.wp-block-table.is-style-regular table tbody tr td {
    border: none;
    background-color: #f7f7f7;
    padding: 1em;
    border-right: 2px solid white;
    border-bottom: 2px solid #B3B3B3;
}
.wp-block-table.is-style-regular table tbody tr td:first-of-type {
    background-color: white;
    border-right: none;
}
.wp-block-table.is-style-regular table tbody tr td:last-of-type {
    border-right: none;
}
/* 独自スタイル（デフォルトテーブル） */

.wp-block-table.is-style-default {
    position: relative;
    overflow-x: auto;
    white-space: nowrap;
}
.wp-block-table.is-style-default table {
    border-collapse: collapse;
    border-spacing: 0;
    table-layout: auto;
}
.wp-block-table.is-style-default table thead {
    border-bottom: none;
}
.wp-block-table.is-style-default table th {
    white-space: nowrap;
    background-color: #F2F2F2;
}
.wp-block-table.is-style-default table td {
    background-color: white;
}
@media screen and (max-width: 767px) {/* SPのみ */
    .wp-block-table.is-style-default table td {
        white-space: nowrap;
    }
}
.wp-block-table.is-style-default {

}
.wp-block-table.is-style-default table {
    table-layout: auto;
}
.wp-block-table.is-style-default table thead {
    border-bottom: none;
}
.wp-block-table.is-style-default table thead tr th {
    background-color: #1571da;
    color: white;
    white-space: nowrap;
    border: none;
    padding: 1em;
    border-right: 2px solid white;
}
.wp-block-table.is-style-default table thead tr th:first-of-type {
    background-color: #f7f7f7;
    color: #000000;
    white-space: nowrap;
    border-right: none;
}
.wp-block-table.is-style-default table thead tr th:last-of-type {
    border-right: none;
}

.wp-block-table.is-style-default table tbody tr {
    
}
.wp-block-table.is-style-default table tbody tr th {
    border: none;
    border-right: 2px solid white;
    background-color: #1571da;
    color: white;
    border: none;
    padding: 1em;
    border-right: 2px solid white;
    border-bottom: 2px solid white;
}
.wp-block-table.is-style-default table tbody tr td {
    border: none;
    background-color: #f7f7f7;
    padding: 1em;
    border-right: 2px solid white;
    border-bottom: 2px solid #B3B3B3;
}
.wp-block-table.is-style-default table tbody tr td:first-of-type {
    background-color: white;
    border-right: none;
}
.wp-block-table.is-style-default table tbody tr td:last-of-type {
    border-right: none;
}



.wp-block-table.is-style-default .scroll-hint {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 10px;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    font-weight: 700;
    line-height: 1.4;
    display: none;
    animation: scroll-hint-animation 2s infinite ease;
}
@keyframes scroll-hint-animation {
0% {
    transform: translate(-50%, -50%);
}
50% {
    transform: translate(-40%, -50%);
}
100% {
    transform: translate(-50%, -50%);
}
}
@media screen and (max-width: 600px) {
  .wp-block-table.is-style-default .scroll-hint--show {
    display: block;
  }
}
/* flexible-table追加用css */
.flexible-table-nowrap {
	white-space: nowrap;
}
/* 資料ダウンロード関係 */
.wp-block-file {
    border: 1px solid #1571da;
    background-color: white;
    width: fit-content;
    text-decoration: none;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    border-radius: 20px;
    box-sizing: border-box;
}
.wp-block-file a:first-of-type {
    text-decoration: none;
    color: #1571da;
    display: block;
    transition: .3s;
    font-weight: bold;
    padding: 10px 20px;
	min-width: 150px;
}
.wp-block-file a:first-of-type:hover {
    transition: .3s;
    opacity: .8;
}
.wp-block-file a.wp-block-file__button {
    background: #1571da;
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
    display: flex;
    font-weight: bold;
    align-items: center;
    border-radius: 0 20px 20px 0;
    margin-right: -1px;
    transition: .3s;
    padding: .5em 1em .5em 3.5em;
    position: relative;
}
.wp-block-file a.wp-block-file__button::before {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    left: 15px;
    background-image: url("../images/logo/download-icon.png");
    background-repeat: no-repeat;
    display: inline-block;
    background-position: center;
    background-size: contain;
}
.wp-block-file a.wp-block-file__button:hover {
    transition: .3s;
    opacity: .8;
}
.wp-block-columns.is-style-download {
    margin-bottom: 2em;
}
.wp-block-columns.is-style-download .wp-block-columns {
    border: 1px solid #1571da;
    padding: 20px;
}

/* ページネーションスタイル */
.c-pagenation {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 3rem auto;
}
.c-pagenation .c-pagenation__body {
    list-style: none;
    margin-block-start: 0;
    margin-block-end: 0;
    padding-inline-start: 0;
    display: flex;
}
.c-pagenation .c-pagenation__body li {
    text-align: center;
    width: 2.5rem;
    height: 2.5rem;
    line-height: 2.5rem;
}
.c-pagenation .c-pagenation__body li a {
    text-decoration: none;
    color: #000000;
    transition: .3s;
    font-size: 1rem;
    display: inline-block;
    text-align: center;
    width: 100%;
    height: 100%;
}
.c-pagenation .c-pagenation__body li a:hover {
    color: #1571da;
    transition: .3s;
}
.c-pagenation .c-pagenation__body .c-pagenation__current {
    text-decoration: none;
    color: #fff;
    background-color: #1571da;
    transition: 0;
    font-size: 1rem;
    width: 2.5rem;
    height: 2.5rem;
    display: inline-block;
    text-align: center;
    line-height: 2.5rem;
}

.c-pagenation .c-pagenation__body .c-pagenation__prev {
    text-align: center;
    width: 4rem;
    height: 4rcap;
    line-height: 4rem;
}
.c-pagenation .c-pagenation__body .c-pagenation__prev a {
    color: #000000;
    font-size: 2rem;
    display: inline-block;
    text-align: center;
    width: 100%;
    height: 100%;
}
.c-pagenation .c-pagenation__body .c-pagenation__prev a:hover {
    color: #1571da;
    transition: .3s;
}
.c-pagenation .c-pagenation__body .c-pagenation__next {
    text-align: center;
    width: 4rem;
    height: 4rem;
    line-height: 4rem;
}
.c-pagenation .c-pagenation__body .c-pagenation__next a {
    color: #000000;
    font-size: 2rem;
    display: inline-block;
    text-align: center;
    width: 100%;
    height: 100%;
}
.c-pagenation .c-pagenation__body .c-pagenation__next a:hover {
    color: #1571da;
    transition: .3s;
}

/* ギャラリー用 */
.icon-gallery {
    @media screen and (max-width: 768px) {
        justify-content: center;
    }
}
.icon-gallery .wp-block-image {
    max-width: 31%!important;
}


/* テーブル/青色テーブル */
/* 1. テーブル全体とリセット */
.wp-block-table.is-style-tks-table,
.wp-block-flexible-table-block-table.is-style-tks-table
 {
    border-collapse: collapse; /* 境界線を重ねて隙間をなくす */
    width: 100%;
}

.wp-block-table.is-style-tks-table table,
.wp-block-flexible-table-block-table.is-style-tks-table table {
    width: 100%;
    border-collapse: separate;
}

/* 2. ヘッダー行のスタイル */
.wp-block-table.is-style-tks-table thead,
.wp-block-flexible-table-block-table.is-style-tks-table thead {
    border-bottom: 0;
}

.wp-block-table.is-style-tks-table thead th,
.wp-block-flexible-table-block-table.is-style-tks-table thead th {
    /* 濃い青色の背景色 */
    background-color: #1571da;
    /* 白い文字 */
    color: #FFFFFF;
    /* ヘッダーの境界線をなくす */
    border: none; 
    padding: 15px 10px;
    
    /* 連結・個別の列の見出し文字を中央寄せにしない */
    /* text-align: left;  */
    font-size: 16px;
    font-weight: bold;
}

/* 3. 本文セルのスタイル */
.wp-block-table.is-style-tks-table td,
.wp-block-flexible-table-block-table.is-style-tks-table td {
    /* セル内の上下左右の余白 */
    padding: 15px 10px;
    border: none; /* デフォルトの罫線を削除 */
    
    /* 連結・個別の列（2列目以降）のフォントサイズを調整 */
    font-size: 14px;
    border-bottom: 1px solid #1571da; /* 非常に薄い青/グレーの下線 */
}


/* 最終行の下線は削除 */
.wp-block-table.is-style-tks-table tbody tr:last-child,
.wp-block-flexible-table-block-table.is-style-tks-table tbody tr:last-child {
    border-bottom: none;
}

/* 5. 2列目以降のテキスト揃えとスタイル調整 */
/* 2列目（連結業績）と3列目（個別業績）の数値を中央寄せにしない（左寄せのまま維持） */
/* .wp-block-table.is-style-tks-table td:nth-child(n+2) {
    text-align: left; 
} */


/* テーブル/役員経歴 */
/* =======================================
   役員経歴風テーブルスタイル (exe-table)
   ======================================= */

/* テーブル全体のスタイルをリセット・調整 */
.wp-block-flexible-table-block-table.is-style-exe-table table {
    /* テーブル全体の幅を調整 */
    width: 100%;
    border-collapse: separate !important; /* 罫線を結合 */
    border-spacing: 0 20px;
    table-layout: fixed; /* カラム幅を固定 */
}

/* ヘッダー（<th>）とボディ（<td>）のセルの共通設定 */
.wp-block-flexible-table-block-table.is-style-exe-table th,
.wp-block-flexible-table-block-table.is-style-exe-table td {
    padding: 0; /* セル内の余白を一旦リセット */
    border: none !important; /* 標準の罫線をすべて削除 */
    vertical-align: top; /* セル内の内容を上揃えに */
    font-size: 14px;
    line-height: 1;
    padding: 2px 15px 3px 15px !important;
}

/* --- 1. 日付カラム（1列目）のスタイル --- */
/* 通常、1列目（日付）はヘッダーセル（<th>）または最初の<td>に設定されていると仮定 */
.wp-block-flexible-table-block-table.is-style-exe-table td:nth-child(1),
.wp-block-flexible-table-block-table.is-style-exe-table th:nth-child(1) {
    width: 15%; /* 日付カラムの幅を調整（例: 20%） */
    padding-right: 15px; /* 右側に少し余白を設ける */
    color: #1571da; /* 日付の色を青系に (Wordpressの標準青色など) */
    text-align: right; /* 右寄せにする */
    padding-left: 0 !important;
}

/* --- 2. 縦線と役職カラム（2列目以降）のスタイル --- */
.wp-block-flexible-table-block-table.is-style-exe-table td:nth-child(2),
.wp-block-flexible-table-block-table.is-style-exe-table th:nth-child(2) {
    width: 80%; /* 役職カラムの幅を調整 */
    padding-left: 15px; /* 左側に余白を設ける */

    /* 縦線を擬似要素で作成 */
    position: relative;
    padding-bottom: 5px; /* 下部にも少し余白 */
}

/* 縦線の擬似要素（::before） */
.wp-block-flexible-table-block-table.is-style-exe-table td:nth-child(2)::before,
.wp-block-flexible-table-block-table.is-style-exe-table th:nth-child(2)::before {
    content: ""; /* 擬似要素には必須 */
    position: absolute;
    left: 0; /* 縦線の位置調整 */
    top: 0;
    bottom: 0;
    width: 1px; /* 縦線の太さ */
    background-color: #1571da; /* 縦線の色 */
}

/* 縦線と日付の間の空白を調整するためのpadding */
.wp-block-flexible-table-block-table.is-style-exe-table td {
    padding-top: 5px;
}

@media (max-width: 767px) {/* SPのみ */

    /* テーブルのセルをブロック要素として扱う */
    .wp-block-flexible-table-block-table.is-style-exe-table th,
    .wp-block-flexible-table-block-table.is-style-exe-table td {
        display: block; /* セルを縦に積み重ねて表示 */
        width: 100% !important; /* 幅を100%にリセット */
        box-sizing: border-box; /* paddingやborderを含めて幅100%を計算 */
        text-align: left !important; /* テキストを左寄せに統一 */
        padding: 5px 10px; /* 余白をモバイル用に調整 */
        line-height: 1.2;
    }

    /* TR (行) の表示方法を調整 (必要に応じて) */
    .wp-block-flexible-table-block-table.is-style-exe-table tr {
        display: block;
        margin-bottom: 20px; /* 行ごとに区切りとなる余白 */
    }
    
    /* === 1. 年月（1列目）の表示調整 === */
    .wp-block-flexible-table-block-table.is-style-exe-table td:nth-child(1),
    .wp-block-flexible-table-block-table.is-style-exe-table th:nth-child(1) {
        white-space: nowrap; /* 年月を折り返さないようにする（1行表示の実現） */
        padding-right: 10px; /* PC版の右寄せの余白をリセット */
        padding-left: 0 !important;
    }
    
    /* === 2. 縦線（2列目以降）の調整 === */
    /* 縦線はPCレイアウトの飾りなので、モバイルでは非表示にするか、上下の区切り線に変更 */
    .wp-block-flexible-table-block-table.is-style-exe-table td:nth-child(2)::before,
    .wp-block-flexible-table-block-table.is-style-exe-table th:nth-child(2)::before {
        content: none; /* 縦線を非表示にする */
    }
    
    /* 年月（1列目）と役職（2列目）の間に区切り線を入れる場合（オプション） */
    .wp-block-flexible-table-block-table.is-style-exe-table td:nth-child(1) {
        border-bottom: 1px solid #ccc;
        margin-bottom: 5px;
    }
}