/*
	Theme Name: diver_child
	Template: diver
	Description:  Diverの子テーマです。
	Theme URI: http://tan-taka.com/diver/
	Author: Takato Takagi
 */

/* カスタマイズする場合にはこれより下に追記してください  */

@charset "UTF-8";
:root {
    margin: 0 !important;
}
body {
    --max-width: 1366px;
    --cmn-width: 1100px;
    --c-base: #070707;
    --ff-en:
        "Alumni Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic",
        "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    --text-shadow: 1px 1px 1px #00000066;
    font-family:
        "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ",
        "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    font-weight: 500;
    font-size: 16px;
    color: var(--c-base);
}
@media all and (-ms-high-contrast: none) {
    /* IE表示用のCSS　*/
    body {
        font-family:
            "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    }
}
* {
    box-sizing: border-box;
}
a {
    display: inline-block;
    color: inherit;
    font-weight: inherit;
}
img,
svg {
    display: inline-block;
    max-width: 100%;
    vertical-align: bottom;
}

.ib {
    display: inline-block !important;
}
.inline {
    display: inline !important;
}
.block {
    display: block !important;
}
.hidden {
    display: none !important;
}
.justify-center {
    display: flex !important;
    justify-content: center !important;
}
.justify-end {
    display: flex !important;
    justify-content: flex-end !important;
}

.bold {
    font-weight: bold !important;
}
.ff-hiragino {
    font-family:
        "Hiragino Kaku Gothic ProN", "Hiragino Sans", "游ゴシック体", YuGothic,
        "游ゴシック", "Yu Gothic", "メイリオ", sans-serif !important;
}
.ff-en {
    font-family: var(--ff-en) !important;
}
.ff-en.bold {
    font-weight: 700 !important;
    font-style: italic !important;
}
.nowrap {
    white-space: nowrap;
}
.text-unselect {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.img-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.img-contain {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.text-justify {
    text-justify: inter-ideograph;
    text-align: justify;
    text-align-last: left;
}
.overflow-ellipsis {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
/* PC */
@media (min-width: 900px) {
    .tab {
        display: none !important;
    }
    .sp {
        display: none !important;
    }
    .tab-sp {
        display: none !important;
    }

    .pc-pl-0 {
        padding: 0 !important;
    }
    .pc-pr-0 {
        padding: 0 !important;
    }
}
/* TAB */
@media screen and (max-width: 899px) and (min-width: 481px) {
    .pc {
        display: none !important;
    }
    .sp {
        display: none !important;
    }
    .pc-sp {
        display: none !important;
    }

    .tab-pl-0 {
        padding: 0 !important;
    }
    .tab-pr-0 {
        padding: 0 !important;
    }
}
/* SP */
@media screen and (max-width: 480px) {
    .pc {
        display: none !important;
    }
    .tab {
        display: none !important;
    }
    .pc-tab {
        display: none !important;
    }

    .sp-pl-0 {
        padding: 0 !important;
    }
    .sp-pr-0 {
        padding: 0 !important;
    }

    .sp_fs-14 {
        font-size: 14px !important;
    }
    .sp_fs-16 {
        font-size: 16px !important;
    }
    .sp_fs-18 {
        font-size: 18px !important;
    }
}

/* 共通 */
.mainCntBox {
    overflow: hidden;
}
.cmnInner {
    width: 100%;
    max-width: var(--cmn-width);
    margin: 0 auto;
}

/* タイトル */
.cmnTitle-01 {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.cmnTitle-01 .title {
    margin-bottom: 10px;
    font-size: 75px;
    line-height: 1.2133;
    text-shadow: var(--text-shadow);
}
.cmnTitle-01 .subtitle {
    color: #909090;
    font-size: 16px;
    line-height: 1.3125;
}
/* TAB */
@media screen and (max-width: 899px) {
    .cmnTitle-01 .title {
        font-size: 60px;
    }
}
/* SP */
@media screen and (max-width: 480px) {
    .cmnTitle-01 .title {
        margin-bottom: 8px;
        padding-bottom: 3px;
        font-size: 40px;
    }
    .cmnTitle-01 .subtitle {
        font-size: 14px;
    }
}

/* ボタン */
.cmnButton-01:not(:has(.wpcf7-submit)) {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 217px;
    height: 56px;
    background: url(./images/common/btn-01.png) center/contain no-repeat;
    border-radius: 100px;
    box-shadow: 1px 1px 1px #00000029;
    overflow: hidden;
    outline: none;
    color: #525355;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
}
.cmnButton-01:not(.ja) {
    padding-left: 16px;
    font-family: var(--ff-en);
    font-size: 23px;
    font-weight: 700;
    font-style: italic;
}
.cmnButton-01.large {
    width: 337px;
    height: 87px;
    padding-left: 0;
}
.cmnButton-01.large:not(.ja) {
    font-size: 38px;
}
.cmnButton-01.back {
    padding-left: 0;
    padding-right: 16px;
}
/* .cmnButton-01::before {
    content: "";
    position: absolute;
    top: 0;
    left: -75%;
    width: 50%;
    height: 100%;
    background: linear-gradient(
        to right,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.3) 100%
    );
    transform: skewX(-25deg);
    cursor: pointer;
    z-index: 1;
} */
.cmnButton-01:hover::before {
    animation: shine 0.7s;
}
.cmnButton-01 .text {
    position: relative;
    margin-bottom: -1px;
    z-index: 2;
}
.cmnButton-01 .mark {
    position: relative;
    display: inline-block;
    width: 27px;
}
.cmnButton-01 .mark::before {
    content: "";
    position: absolute;
    top: -5px;
    display: block;
    width: 9px;
    height: 9px;
    border-top: 1px solid #525355;
    transition: all 0.3s;
}
.cmnButton-01:not(.back) .mark::before {
    right: 0;
    border-right: 1px solid #525355;
    transform: rotate(45deg);
}
.cmnButton-01.back .mark::before {
    left: 0;
    border-left: 1px solid #525355;
    transform: rotate(-45deg);
}
.cmnButton-01:not(.back):hover .mark::before {
    right: -5px;
}
.cmnButton-01.back:hover .mark::before {
    left: -5px;
}
@keyframes shine {
    100% {
        left: 125%;
    }
}
.cmnButton-02 {
    --color: #000;
}
.cmnButton-02 .text {
    display: inline;
    padding-bottom: 2px;
    background: linear-gradient(var(--color), var(--color)) 100% 100%/0 1px
        no-repeat;
    transition: background-size 0.4s;
}
@media (hover: hover) and (pointer: fine) {
    .cmnButton-02:hover .text {
        background-position-x: 0;
        background-size: 100% 1px;
    }
}
/* TAB */
@media screen and (max-width: 899px) {
    .cmnButton-01.large {
        width: 306px;
        height: 79px;
        font-size: 17px;
    }
}
/* SP */
@media screen and (max-width: 480px) {
    .cmnButton-01:not(.large) {
        width: 200px;
        height: 44px;
        background-image: url(./images/common/btn-01_sp.png);
        font-size: 18px;
    }
    .cmnButton-01.large {
        width: 217px;
        height: 56px;
        font-size: 15px;
    }
    .cmnButton-01.large:not(.ja) {
        font-size: 25px;
    }
    .cmnButton-01 .mark {
        width: 18px;
    }
    .cmnButton-01 .mark::before {
        width: 7px;
        height: 7px;
    }
}

/* ライン */
.cmnUnderline-01 {
    background: linear-gradient(to right, #525355, #cfd2d7) 0 100%/100% 5px
        no-repeat;
}
.cmnUnderline-01.thin {
    background-size: 100% 3px;
}

/* アニメ―ション */
.t-delay-4 {
    transition-delay: 0.4s !important;
    animation-delay: 0.4s !important;
}
.t-delay-6 {
    transition-delay: 0.6s !important;
    animation-delay: 0.6s !important;
}
.t-delay-8 {
    transition-delay: 0.8s !important;
    animation-delay: 0.8s !important;
}
.t-delay-10 {
    transition-delay: 1s !important;
    animation-delay: 1s !important;
}
.js-inview.fadeInLeft,
.js-inview.fadeInRight,
.js-inview.fadeUp {
    opacity: 0;
    animation-duration: 1s;
    animation-delay: 0.2s;
    animation-fill-mode: both;
}
.inview.fadeInLeft {
    animation-name: fadeInLeft;
}
.inview.fadeInRight {
    animation-name: fadeInRight;
}
.inview.fadeUp {
    animation-name: fadeUp;
}
@keyframes fadeInLeft {
    0% {
        opacity: 0;
        transform: translateX(-20px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}
@keyframes fadeInRight {
    0% {
        opacity: 0;
        transform: translateX(20px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}
@keyframes fadeUp {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* コンサルティングサービス */
#_consulting {
    padding: 80px 20px 100px;
    background: #fafafa;
}
#_consulting .cntInner {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}
#_consulting .cntTitle {
    margin-bottom: 68px;
}
#_consulting .cntList {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}
#_consulting .cntBox {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 50px 15px 24px;
    transition: all 0.3s;
}
#_consulting .cntBox:hover {
    background-color: #efefef;
}
#_consulting .cntBox:nth-of-type(n + 4) {
    border-top: 1px solid #b4b4b4;
}
#_consulting .cntBox:nth-of-type(3n-1),
#_consulting .cntBox:nth-of-type(3n) {
    border-left: 1px solid #b4b4b4;
}
#_consulting .cntImg {
    height: 69px;
    margin-bottom: 17px;
}
#_consulting .cntBox .title {
    margin-bottom: 5px;
    font-size: 16px;
    line-height: 1.5;
    text-align: center;
}
#_consulting .cntBox .arrow {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 57px;
    height: 100%;
    min-height: 13px;
}
#_consulting .cntBox .arrow span {
    position: absolute;
    bottom: 7px;
    left: -50%;
    display: block;
    width: 200%;
    height: 1px;
    background-color: var(--c-base);
    transform: scale(0.5);
    transition: left 0.3s;
}
#_consulting .cntBox:hover .arrow span {
    left: calc(-50% + 10px);
}
#_consulting .cntBox .arrow span::before {
    content: "";
    position: absolute;
    top: -10px;
    right: 0;
    display: block;
    width: 20px;
    height: 20px;
    border-top: 1px solid var(--c-base);
    border-right: 1px solid var(--c-base);
    transform: rotate(45deg);
}
/* TAB */
@media screen and (max-width: 899px) {
    #_consulting .cntTitle {
        margin-bottom: 48px;
    }
    #_consulting .cntBox {
        padding: 25px 10px 30px;
    }
    #_consulting .cntImg {
        height: 55px;
    }
    #_consulting .cntBox .title {
        margin-bottom: 3px;
        font-size: 14px;
    }
    #_consulting .cntBox .arrow {
        width: 37px;
        min-height: 8px;
    }
    #_consulting .cntBox .arrow span {
        bottom: 3px;
    }
    #_consulting .cntBox .arrow span::before {
        top: -6px;
        width: 12px;
        height: 12px;
    }
}
/* SP */
@media screen and (max-width: 480px) {
    #_consulting {
        padding: 60px 20px 70px;
    }
    #_consulting .cntList {
        grid-template-columns: repeat(2, 1fr);
    }
    #_consulting .cntBox:nth-of-type(3) {
        border-top: 1px solid #b4b4b4;
    }
    #_consulting .cntBox:nth-of-type(3n-1),
    #_consulting .cntBox:nth-of-type(3n) {
        border-left: none;
    }
    #_consulting .cntBox:nth-of-type(2n) {
        border-left: 1px solid #b4b4b4;
    }
    #_consulting .cntImg {
        height: 50px;
        margin-bottom: 14px;
    }
    #_consulting .cntBox .title {
        font-size: 12px;
    }
}

/* ページリンク(中) */
/* ページリンク(小) */
#_links-m,
#_links-s {
    padding: 20px;
}
#_links-m .cntInner,
#_links-s .cntInner {
    display: grid;
}
#_links-m .cntBox,
#_links-s .cntBox {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 30px;
    overflow: hidden;
    color: #fff;
}
#_links-m .cntBox::before,
#_links-s .cntBox::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: 0.43;
    z-index: -1;
    transition: all 0.5s;
}
#_links-m .cntBox:hover::before,
#_links-m .cntBox:focus::before,
#_links-s .cntBox:hover::before,
#_links-s .cntBox:focus::before {
    opacity: 0.65;
}
#_links-m .cntImg,
#_links-s .cntImg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
#_links-m .cntTitle,
#_links-s .cntTitle {
    font-size: 40px;
    line-height: 1.2;
    text-shadow: var(--text-shadow);
}
#_links-m .cntText,
#_links-s .cntText {
    font-size: 18px;
    line-height: 1.3333;
}
/* TAB */
@media screen and (max-width: 899px) {
    #_links-m .cntText,
    #_links-s .cntText {
        font-size: 16px;
    }
}
/* SP */
@media screen and (max-width: 480px) {
    #_links-m .cntTitle,
    #_links-s .cntTitle {
        font-size: 30px;
    }
}

/* ページリンク(中) */
#_links-m {
    padding-top: 100px;
    padding-bottom: 50px;
}
#_links-m .cntInner {
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}
#_links-m .cntBox {
    justify-content: flex-end;
    align-items: flex-start;
    width: 100%;
    max-width: 500px;
    min-height: 254px;
}
#_links-m .cntBox:nth-of-type(2n) {
    margin-left: auto;
}
#_links-m .cntTitle {
    margin-bottom: 12px;
}
/* TAB */
@media screen and (max-width: 899px) {
    #_links-m {
        padding-bottom: 35px;
    }
    #_links-m .cntInner {
        grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
    }
    #_links-m .cntBox {
        max-width: 100%;
    }
    #_links-m .cntBox:nth-of-type(2n) {
        margin-left: 0;
    }
}
/* SP */
@media screen and (max-width: 480px) {
    #_links-m {
        padding-top: 70px;
    }
    #_links-m .cntInner {
        grid-template-columns: 1fr;
    }
    #_links-m .cntBox {
        min-height: 170px;
        padding: 15px;
    }
    #_links-m .cntTitle {
        margin-bottom: 2px;
    }
}

/* ページリンク(小) */
#_links-s {
    padding-top: 50px;
    padding-bottom: 100px;
}
#_links-s .cntInner {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 25px;
}
#_links-s .cntBox {
    justify-content: center;
    align-items: center;
    min-height: 200px;
    text-align: center;
    /* transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    border-radius 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    box-shadow 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); */
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
#_links-s .cntBox:hover {
    /* border-radius: 20px;
  box-shadow: 0 5px 35px rgb(0 0 0 / 35%); */
    transform: scale(0.95);
}
#_links-s .cntBox:hover .cntImg {
    transform: scale(1.2);
}
/* TAB */
@media screen and (max-width: 899px) {
    #_links-s {
        padding-top: 35px;
    }
    #_links-s .cntInner {
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    }
    #_links-s .cntBox {
        min-height: 180px;
        padding-left: 20px;
        padding-right: 20px;
    }
}
/* SP */
@media screen and (max-width: 480px) {
    #_links-s {
        padding-bottom: 70px;
    }
    #_links-s .cntInner {
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }
    #_links-s .cntBox {
        min-height: 157px;
        padding: 10px;
    }
}

/* お問い合わせ */
#_contact {
    padding: 100px 20px;
    background-color: #070707;
}
#_contact .cntInner {
    padding: 80px 20px 90px;
    background-color: #fff;
}
#_contact .cntTitle {
    margin-bottom: 65px;
}
#_contact .cntText {
    margin-bottom: 37px;
    text-align: center;
}
#_contact .cntText .large {
    margin-bottom: 17px;
    font-size: 20px;
    line-height: 1.6;
}
#_contact .cntText p {
    margin-bottom: 10px;
    font-size: 16px;
    line-height: 1.625;
}
#_contact .btn-container {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 30px 50px;
    margin-bottom: 27px;
}
/* #_contact .btn-container .cntButton {
    margin-bottom: 20px;
} */
#_contact .cntBottom {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 0 20px;
    font-size: 18px;
}
#_contact .cntBottom p {
    margin-bottom: 10px;
}
#_contact .cntBottom .large {
    font-size: 22px;
    white-space: nowrap;
}
/* TAB */
@media screen and (max-width: 899px) {
    #_contact {
        padding: 70px 20px;
    }
    #_contact .cntInner {
        padding: 60px 20px;
    }
    #_contact .cntTitle {
        margin-bottom: 45px;
    }
    #_contact .cntText .large {
        font-size: 18px;
    }
}
/* SP */
@media screen and (max-width: 480px) {
    #_contact .cntInner {
        padding-left: 10px;
        padding-right: 10px;
    }
    #_contact .cntText {
        margin-bottom: 30px;
    }
    #_contact .cntText .large {
        font-size: 16px;
    }
    #_contact .cntText p {
        margin-bottom: 6px;
        font-size: 14px;
        line-height: 1.5714;
    }
    #_contact .btn-container {
        margin-bottom: 18px;
    }
    /* #_contact .btn-container .cntButton {
        margin-bottom: 15px;
    } */
    #_contact .cntBottom {
        font-size: 14px;
    }
    #_contact .cntBottom .large {
        font-size: 16px;
    }
}

#_returntop {
    display: flex;
    justify-content: center;
    margin-bottom: 100px;
    padding: 0 20px;
}
/* TAB */
@media screen and (max-width: 899px) {
    #_returntop {
        margin-bottom: 80px;
    }
}
/* SP */
@media screen and (max-width: 480px) {
    #_returntop {
        margin-bottom: 60px;
    }
}

#fix_sidebar {
    overflow-y: auto;
    max-height: 100vh;
}

#toc-widget-5 {
    margin-bottom: 60px;
}

.toc_widget_list.no_bullets {
    padding: 16px 0 25px 0;
}

#copyright {
    float: none;
}

/* BtoB向け CTAボタン（共通コンテンツ用） */
.btob-cta-wrapper {
    text-align: center;
    margin: 3em 0;
}
.btob-cta-microcopy {
    font-size: 0.9em;
    font-weight: bold;
    color: #333;
    margin-bottom: 15px;
}
/* マイクロコピー両脇の斜線を擬似要素でスマートに再現 */
.btob-cta-microcopy::before {
    content: "\\";
    color: #c0c0c0;
    margin-right: 10px;
    font-size: 1.1em;
}
.btob-cta-microcopy::after {
    content: "/";
    color: #c0c0c0;
    margin-left: 10px;
    font-size: 1.1em;
}
.btob-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #3e70a3; /* 既存の青色。より深いネイビー（#04296b等）に変更するとさらに堅めになります */
    color: #fff !important;
    text-decoration: none;
    font-weight: bold;
    padding: 16px 24px;
    border-radius: 4px; /* 丸みを抑えてBtoBらしい清潔感と信頼感を */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.08);
    transition: 0.3s ease-in-out;
    font-size: 1.1em;
    width: 100%;
    max-width: 600px;
}
.btob-cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
    opacity: 0.95;
}
.btob-cta-btn i {
    margin-left: 10px;
}

/* 1. SANGO見出しのアイコンを強制非表示 */
.wp-block-sgb-headings .sgb-heading__inner i {
    display: none !important;
}

/* ===================================================
   SANGO インラインスタイル強制リセット（BtoBトーン統一用）
   =================================================== */

/* 1. 見出し（H2）のリセット */
.wp-block-sgb-headings .sgb-heading__inner,
.wp-block-sgb-headings .sgb-heading__text {
    background-color: transparent !important;
    border-color: inherit !important;
    color: inherit !important;
    font-size: inherit !important;
}

/* 2. マイクロコピー（段落見出し）のリセット */
.wp-block-sgb-headings span.sgb-heading__inner {
    text-align: inherit !important;
    font-size: inherit !important;
}
.wp-block-sgb-headings span.sgb-heading__text {
    color: inherit !important;
}

/* 3. ボタンのリセット（Diverのボタンデザインに委ねる） */
.wp-block-sgb-btn a.btn {
    background-color: inherit !important; /* BtoB向けの落ち着いたネイビーなどを指定 */
}
/* ===================================================
   SANGO 吹き出しブロックを「BtoB専門家コラム枠」に上書き
   =================================================== */

/* 1. 大枠（Gridで画像を左、名前・本文を右に自動計算配置） */
.wp-block-sgb-say .sgb-block-say {
    display: grid !important;
    grid-template-columns: 80px 1fr !important; /* 左列80px、右列は残りすべて */
    gap: 8px 24px !important; /* 縦の余白8px、横の余白24px */
    border: 1px solid #dcdcdc !important;
    /* border-top: 4px solid #04296b !important; */
    background-color: #f9fbfd !important;
    padding: 24px !important;
    margin: 3em 0 !important;
}

/* 2. SANGOの不要なHTML枠を無効化し、中身だけをGridに従わせる魔法の指定 */
.wp-block-sgb-say .sgb-block-say-avatar {
    display: contents !important;
}

/* 3. 画像：左側（1列目）、上から下までぶち抜き（1行目〜2行目） */
.wp-block-sgb-say .sgb-block-say-avatar img {
    grid-column: 1 / 2 !important;
    grid-row: 1 / 3 !important;
    width: 80px !important;
    height: 80px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    border: 1px solid #eee !important;
    margin: 0 !important;
}

/* 4. 名前と肩書：右側（2列目）、上段（1行目） */
.wp-block-sgb-say .sgb-block-say-avatar__name {
    grid-column: 2 / 3 !important;
    grid-row: 1 / 2 !important;
    font-size: 0.95em !important;
    font-weight: bold !important;
    color: #04296b !important; /* 目立たせつつ上品なネイビーに */
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    line-height: 1.4 !important;
    text-align: left !important;
    display: flex !important;
    align-items: center !important;
}

/* 5. 本文テキスト：右側（2列目）、下段（2行目） */
.wp-block-sgb-say .sgb-block-say-text {
    grid-column: 2 / 3 !important;
    grid-row: 2 / 3 !important;
    margin: 0 !important;
    width: auto !important;
}

/* 6. インラインスタイルの強制リセット */
.wp-block-sgb-say .sgb-block-say-text__content {
    border: none !important;
    background-color: transparent !important;
    padding: 0 !important;
    color: #444 !important;
    font-size: 0.95em !important;
    line-height: 1.7 !important;
    box-shadow: none !important;
}
.wp-block-sgb-say .sgb-block-say-text__content p {
    margin-bottom: 0.5em !important;
}
.wp-block-sgb-say .sgb-block-say-text__content p:last-child {
    margin-bottom: 0 !important;
}

/* 7. 吹き出しの三角形を完全削除 */
.wp-block-sgb-say .sgb-block-say-text__before,
.wp-block-sgb-say .sgb-block-say-text__after {
    display: none !important;
}

/* 8. スマホ閲覧時の最適化（画像サイズや余白の微調整） */
@media (max-width: 600px) {
    .wp-block-sgb-say .sgb-block-say {
        grid-template-columns: 60px 1fr !important;
        gap: 8px 16px !important;
        padding: 20px 15px !important;
    }
    .wp-block-sgb-say .sgb-block-say-avatar img {
        width: 60px !important;
        height: 60px !important;
    }
}

/* ===================================================
   SANGO シンプルボックスのBtoBトーン一括上書き
   =================================================== */

/* 1. 大枠のデザイン（丸みを消し、シャープで洗練された枠へ） */
.wp-block-sgb-block-simple.sgb-box-simple {
    border: 1px solid #dcdcdc !important;
    /* border-top: 4px solid #04296b !important; */
    border-radius: 0 !important; /* 丸みを強制リセット */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important; /* 軽く浮き上がらせて視線を引く */
    margin: 3em 0 !important;
    overflow: hidden !important;
}

/* 2. ボックスタイトル（重いベタ塗りをやめ、スッキリした見出しに） */
.wp-block-sgb-block-simple .sgb-box-simple__title {
    background-color: #f9fbfd !important; /* ほんのり青みがかったグレー */
    color: #04296b !important; /* テキストをネイビーに */
    font-weight: bold !important;
    font-size: 1.1em !important;
    border-bottom: 1px solid #dcdcdc !important;
    padding: 16px 20px !important;
}

/* タイトル内のリンク色調整 */
.wp-block-sgb-block-simple .sgb-box-simple__title a {
    color: #0056b3 !important;
    text-decoration: underline !important;
}

/* 3. ボックスの中身（余白と背景色のリセット） */
.wp-block-sgb-block-simple .sgb-box-simple__body {
    border: none !important;
    background-color: #fff !important;
    padding: 24px !important;
}

/* 4. 画像の調整（枠線をつけて浮かないように） */
.wp-block-sgb-block-simple .sgb-box-simple__body figure {
    margin-top: 0 !important;
    margin-bottom: 2rem !important;
}

/* 5. リストの整理（入れ子構造をリセットし、ビジネスライクなチェックマークに） */
.wp-block-sgb-block-simple .wp-block-list {
    padding-left: 0 !important;
    margin: 0 !important;
}
.wp-block-sgb-block-simple .wp-block-list li {
    list-style-type: none !important;
    margin: 0 !important;
}
.wp-block-sgb-block-simple .wp-block-list ul li {
    position: relative !important;
    padding-left: 1.8em !important;
    margin-bottom: 12px !important;
    line-height: 1.6 !important;
    color: #333 !important;
}
.wp-block-sgb-block-simple .wp-block-list ul li::before {
    content: "\f00c" !important; /* FontAwesomeのチェックマーク */
    font-family: FontAwesome !important; /* Diver標準のv4.7.0を指定 */
    position: absolute !important;
    left: 0 !important;
    color: #04296b !important;
    font-weight: bold !important;
}

/* 6. 黄色マーカー（.keiko_yellow）の無効化とBtoB化 */
/* .keiko_yellow {
    background: transparent !important;
    color: #d13b3b !important;
    font-weight: bold !important;
    border-bottom: 1px dashed #d13b3b !important;
    } */

.wp-block-sgb-box.sng-box.box1 {
    display: none !important;
}

#main-wrap {
    max-width: 1200px;
    line-height: 1.6;
}

.wp-block-sgb-block-simple.sgb-box-simple.sgb-box-simple--title-center.sgb-box-simple--with-border.footer-cta {
    border: 1px solid #dcdcdc !important;
    /* border-top: 4px solid #04296b !important; */
    border-radius: 0 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
    overflow: hidden !important;
    margin: 0 !important;
}

.btob-cta-wrapper.footer-cta-btn {
    text-align: center;
    margin: 0 !important;
    padding-top: 15px;
}

.post_footer_author_title_post {
    margin-top: 24px;
}

.sgb-box-simple__body a {
    color: #0056b3 !important;
    text-decoration: underline !important;
}

@media screen and (max-width: 959px) {
    #logo,
    .logo {
        margin: 0 0 0 0;
    }
}
@media screen and (max-width: 768px) {
    #logo,
    .logo {
        width: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

.post-box-contents .post-author {
    bottom: 0 !important;
}

.wp-block-table {
    overflow-x: auto;
}

/* 追加クラス「scroll-table」を付けたテーブル用 */
.wp-block-table table,
.wp-block-table table.has-fixed-layout {
    table-layout: auto !important;

    /* スマホ幅(約375px)を確実に超える「最低幅」を指定してスクロールを誘発 */
    /* ※列数が多い場合は 800px などに調整してください */
    min-width: 960px !important;
}

/* ===================================================
   本文のテキストリンク最適化（目次やボタンは除外）
   =================================================== */

/* 
  段落(p)とリスト(ul,ol)の中にある、「クラスを持たない純粋なリンク」のみ適用。
  ※目次(ul.toc_list)の中身は除外する。
*/
#content_area p a:not([class]),
#content_area ul:not(.toc_list) li a:not([class]),
#content_area ol li a:not([class]) {
    color: #0056b3 !important;
    text-decoration: underline !important;
}

/* ===================================================
   目次(TOC+)内のリンクスタイルを強制リセット（詳細度強化版）
   =================================================== */
#content_area #toc_container ul li a {
    color: #333 !important;
    text-decoration: none !important;
}
