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

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

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

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

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

    @media screen and (min-width: calc(1090px)){/* PC */
        padding-left: calc(50% - 520px) !important;
        padding-right: calc(50% - 520px) !important;
    }

    @media screen and (max-width: 767px) {/* SP */
        padding-left: 25px;
        padding-right: 25px;
    }
}
main > *:last-child:not(.wp-block-cover) {
    padding-bottom: 170px;
    @media screen and (max-width: 769px){
        padding-bottom: 50px;
    }
}
main.front-content > *:last-child:not(.wp-block-cover) {
    padding-bottom: 0px;
}
.wp-block-embed-youtube {
    iframe {
        height: calc(100vw * 0.504);
    }
}

/* エディタ用スタイル */
.editor-styles-wrapper {/* エディタエリアをコンテナ指定 */
    container-type: inline-size;
}
@container (min-width: 1041px) {/* エディタエリアが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: 1040px;
        margin-left: auto;
        margin-right: auto;
    }
}
@container (max-width: 1040px){/* エディタエリアが1040px以下の場合 */
    /* ブロック要素 */
    .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: 25px;
        padding-right: 25px;
    }
    .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: #3E4297;
}
.has-secondary-background-color {
    background-color: #FFD11D;
}
.has-gray-background-color {
    background-color: #777;
}
.has-light-grey-background-color {
    background-color: #F5F5F5;
}
.has-black-background-color {
    background-color: #000000;
}
.has-white-background-color {
    background-color: #ffffff;
}
/* 文字色 */
.has-primary-color {
    color: #3E4297!important;
}
.has-secondary-color {
    color: #FFD11D;
}
.has-gray-color {
    color: #777;
}
.has-light-grey-color {
    color: #F5F5F5;
}
.has-black-color {
    color: #000000;
}
.has-white-color {
    color: #ffffff;
}

/**
 * 見出しブロック
 */

/* デフォルトの文字サイズ */
h1 {
    font-size: 53px;
    color: #3E4297;
    @media screen and (max-width: 769px){
        font-size: 26px;
    }
}
h2 {
    font-size: 24px;
    color: #3E4297;
    @media screen and (max-width: 769px){
        font-size: 18px;
    }
}
h3 {
    font-size: 17px;
    color: #3E4297;
}
h3.wp-block-heading {
    font-size: 19px;
    color: #3E4297;
    font-weight: 700;
    margin-block-start: 0px;
    margin-block-end: 30px;
    @media screen and (max-width: 769px){
        font-size: 16px;
        margin-block-start: 0px;
        margin-block-end: 20px;
    }
}
h4 {
    font-size: 16px;
    color: #3E4297;
    margin-block-start: 0;
    margin-block-end: 32px;
    @media screen and (max-width: 769px){
        margin-block-end: 16px;
    }
}
/* 下線黄色 */
.is-style-large-heading {
    padding-top: 0;
    padding-bottom: 0px;
    margin-bottom: 0;
    margin-block-start: 0;
    position: relative;
}
.is-style-large-heading::after {
    position: absolute;
    content: "";
    bottom: -3px;
    left: 0;
    height: 4px;
    width: 52px;
    border-radius: 10px;
    background-color: #FFD11D;
    @media screen and (max-width: 769px){
        height: 4px;
        width: 52px;
        bottom: -5px;
    }
}
.has-text-align-left.is-style-large-heading::after {
    left: 0;
}
.has-text-align-center.is-style-large-heading::after {
    left: calc(50% - 26px);

}
.has-text-align-right.is-style-large-heading::after {
    right: 0;
    left: auto;
}
.is-style-large-heading-text {
    letter-spacing: 1.44px;
        margin-block-start: 1em;
        margin-block-end: 1em;
    @media screen and (max-width: 769px){
        font-size: 13px!important;
        margin-block-start: 0.5em;
        letter-spacing: 0.65px;
    }
}
/* 下線黄色:ページタイトル用 */
h1.is-style-large-heading.page-title {
    font-size: 53px;
    padding-top: 0;
    margin-block-start: 80px;
    line-height: 1.2;
    letter-spacing: 2.12px;
    padding-bottom: 0;
    white-space: nowrap;
    font-family: Helvetica Neue;
    @media screen and (max-width: 769px){
        font-size: 26px;
        margin-block-start: 40px;
    }
}
p.is-style-large-heading-text.page-title {
    font-size: 18px;
    margin-block-end: 100px;
    font-weight: 700!important;
    margin-block-start: 22px;
    letter-spacing: 1.44px;
    white-space: nowrap;
    @media screen and (max-width: 769px){
        font-size: 13px;
        margin-block-end: 50px;
        margin-block-start: 12px;
    }
}
p.is-style-large-heading-text.page-title.title-supplement-text-ver {
    margin-block-end: 51px;
    @media screen and (max-width: 769px){
        margin-block-end: 40px;

    }
}
h1.is-style-large-heading.page-title::after {
    bottom: -12px;
    @media screen and (max-width: 769px){
        bottom: -9px;
    }
}
/* 下線黄色:H1用 */
h1.is-style-large-heading {
    font-size: 53px;
    @media screen and (max-width: 769px){
        font-size: 26px;
    }
}
h1.is-style-large-heading::after {
    position: absolute;
    content: "";
    bottom: 5px;
    left: 0;
    height: 4px;
    width: 52px;
    border-radius: 10px;
    background-color: #FFD11D;
    @media screen and (max-width: 769px){
        height: 4px;
        width: 45px;
        bottom: 5px;
    }
}
/* 下線黄色:H2センター用 */
h2.wp-block-heading.has-text-align-center.is-style-large-heading {
    font-size: 28px;
    margin-bottom: 48px;
    @media screen and (max-width: 769px){
        font-size: 17px;
        margin-bottom: 24px;
    }
}
h2.wp-block-heading.has-text-align-center.is-style-large-heading.is-style-large-heading::after {
    position: absolute;
    content: "";
    border-radius: 10px;
    background-color: #FFD11D;
    @media screen and (max-width: 769px){
        height: 4px;
        width: 45px;
    }
}

/* 下線黄色:背景文字 */
h2.is-style-large-heading.background-text {
    position: relative;
    font-size: 30px;
    z-index: 2;
    padding-top: 15px;
    margin-bottom: 50px;
    @media screen and (max-width: 769px){
        font-size: 22px;
        margin-bottom: 30px;
    }
}
h2.is-style-large-heading.background-text sub {
position: absolute;
    font-size: 43px;
    font-weight: 200;
    z-index: -1;
    top: 18px;
    line-height: 1;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    font-family: Helvetica Neue;
    font-weight: 100;
    @media screen and (max-width: 769px){
        font-size: 34px;
        top: 20px;
    }
}

/* 左線メインカラー */
.is-style-middle-heading {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 18px;
    margin-block-start: 0;
    line-height: 21.5px;
    margin-block-end: 40px;
    height: fit-content;
    position: relative;
    font-weight: 700 !important;
    @media screen and (max-width: 769px){
        margin-block-end: 30px;
    }
}
.is-style-middle-heading::before {
    content: "";
    position: absolute;
    width: 4px;
    background-color: #3E4297;
    border-radius: 2px;
    left: 0;
    top: 0;
    height: 100%;
}
h2.is-style-middle-heading {
    font-size: 24px;

    @media screen and (max-width: 769px){
        font-size: 18px;
    }
}


/**
 * ボタン
 */

/* 輪郭 */
.wp-block-buttons .wp-block-button.is-style-outline--1 .wp-block-button__link {
    padding-top: 5px;
    padding-right: 10px;
    padding-bottom: 5px;
    padding-left: 10px;
    line-height: 1;
}
/* 矢印(右) */
.is-style-arrow-right-btn {
    position: relative;
    z-index: 2;
}
.is-style-arrow-right-btn::before {
    position: absolute;
    content: "";
    width: 20px;
    height: 2px;
    top: 50%;
    right: 19px;
    background: #3E4297;
    @media screen and (max-width: 769px){
        width: 16px;
        right: 12.5px;
    }
}
.is-style-arrow-right-btn::after {
    content: "";
    position: absolute;
    right: 19px;
    top: 50%;
    width: 10px;
    height: 1.5px;
    background: #3E4297;
    transform: rotate(45deg);
    transform-origin: right center;
    @media screen and (max-width: 769px){
        right: 12px;
        width: 8px;
    }
}

.is-style-arrow-right-btn .wp-block-button__link {
    white-space: nowrap;
    background-color: transparent;
    border-radius: 0;
    padding: 0;
    padding-right: 100px;
    margin: 1em 0 1em 0;
    width: fit-content;
    display: inline-block;
    position: relative;
    font-size: 17px;
    @media screen and (max-width: 769px){
        padding-right: 45px;
        font-size: 14px!important;
    }
}
.is-style-arrow-right-btn .wp-block-button__link::before {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: #FFD11D;
    color: #3E4297;
    font-size: 14px;
    font-weight: normal;
    width: 60px;
    height: 60px;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: -1;
    transition: .3s;
    @media screen and (max-width: 769px){
        width: 40px;
        height: 40px;
    }
}
.is-style-arrow-right-btn a.wp-block-button__link:hover::before {
    width: 110%;
    border-radius: 30px;
}
.is-style-arrow-right-btn .wp-block-button__link::after {
    position: absolute;
    content: "";
    width: calc(100% - 40px);
    left: 0em;
    bottom: 0;
    height: 1px;
    background-color: currentColor;
    @media screen and (max-width: 769px){
        width: calc(100% - 25px);
    }
}
.is-style-arrow-right-btn a.wp-block-button__link:hover {
    opacity: 1;
}
/* 矢印(左) */
.is-style-arrow-left-btn {
    position: relative;
    z-index: 2;
}
.is-style-arrow-left-btn::before {
    position: absolute;
    content: "";
    width: 20px;
    height: 2px;
    top: 50%;
    left: 20px;
    background: #3E4297;
    @media screen and (max-width: 769px){/* PC */
        width: 16px;
        left: 12.5px;
    }
}
.is-style-arrow-left-btn::after {
    content: "";
    position: absolute;
    left: 12px;
    top: 50%;
    width: 10px;
    height: 1.5px;
    background: #3E4297;
    transform: rotate(135deg);
    transform-origin: right center;
    @media screen and (max-width: 769px){
        left: 6px;
        width: 8px;
    }
}

.is-style-arrow-left-btn .wp-block-button__link {
    white-space: nowrap;
    background-color: transparent;
    border-radius: 0;
    padding: 0;
    padding-left: 70px;
    margin: 1em 0 1em 0;
    width: fit-content;
    display: inline-block;
    position: relative;
    font-size: 17px;
    @media screen and (max-width: 769px){/* PC */
        padding-left: 45px;
        font-size: 14px!important;
    }
}
.is-style-arrow-left-btn .wp-block-button__link::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background: #FFD11D;
    color: #3E4297;
    font-size: 14px;
    font-weight: normal;
    width: 60px;
    height: 60px;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: -1;
    transition: .3s;
    @media screen and (max-width: 769px){/* PC */
        width: 40px;
        height: 40px;
    }
}
.is-style-arrow-left-btn a.wp-block-button__link:hover::before {
    width: 110%;
    border-radius: 30px;
}
.is-style-arrow-left-btn .wp-block-button__link::after {
    position: absolute;
    content: "";
    width: calc(100% - 40px);
    right: 0em;
    bottom: 0;
    height: 1px;
    background-color: currentColor;
    @media screen and (max-width: 769px){/* PC */
        width: calc(100% - 25px);
    }
}
.is-style-arrow-left-btn a.wp-block-button__link:hover {
    opacity: 1;
}

/* アイコン(右) */
.is-style-icon-right-btn {
    position: relative;
    z-index: 2;
}
.is-style-icon-right-btn::before {
    position: absolute;
    content: "";
    background-image: url(/wp-content/themes/nakanoshokai/assets/images/icon/m-vector.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 35px;
    height: 35px;
    top: calc( 50% - 17.5px);
    right: 11px;
    @media screen and (max-width: 769px){
        width: 25px;
        height: 25px;
        top: calc( 50% - 12.5px);
        right: 6px;
    }
}
.is-style-icon-right-btn .wp-block-button__link {
    white-space: nowrap;
    background-color: transparent;
    border-radius: 0;
    padding: 0;
    padding-right: 100px;
    margin: 1em 0 1em 0;
    width: fit-content;
    display: inline-block;
    position: relative;
    font-size: 17px;
    @media screen and (max-width: 769px){
        padding-right: 45px;
        font-size: 14px!important;
    }
}
.is-style-icon-right-btn .wp-block-button__link::before {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: #FFD11D;
    color: #3E4297;
    font-size: 14px;
    font-weight: normal;
    width: 60px;
    height: 60px;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: -1;
    transition: .3s;
    @media screen and (max-width: 769px){
        width: 40px;
        height: 40px;
    }
}
.is-style-icon-right-btn a.wp-block-button__link:hover::before {
    width: 110%;
    border-radius: 30px;
}
.is-style-icon-right-btn .wp-block-button__link::after {
    position: absolute;
    content: "";
    width: calc(100% - 40px);
    left: 0em;
    bottom: 0;
    height: 1px;
    background-color: currentColor;
    @media screen and (max-width: 769px){
        width: calc(100% - 25px);
    }
}
.is-style-icon-right-btn a.wp-block-button__link:hover {
    opacity: 1;
}

/* アイコン(左) */
.is-style-icon-left-btn {
    position: relative;
    z-index: 2;
}
.is-style-icon-left-btn::before {
    position: absolute;
    content: "";
    background-image: url(/wp-content/themes/nakanoshokai/assets/images/icon/m-vector.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 35px;
    height: 35px;
    top: calc( 50% - 17.5px);
    left: 16px;
    @media screen and (max-width: 769px){
        width: 25px;
        height: 25px;
        top: calc( 50% - 12.5px);
        left: 9px;
    }
}
.is-style-icon-left-btn .wp-block-button__link {
    white-space: nowrap;
    background-color: transparent;
    border-radius: 0;
    padding: 0;
    padding-left: 70px;
    margin: 1em 0 1em 0;
    width: fit-content;
    display: inline-block;
    position: relative;
    font-size: 17px;
    @media screen and (max-width: 769px){
        padding-left: 45px;
        font-size: 14px!important;
    }
}
.is-style-icon-left-btn .wp-block-button__link::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background: #FFD11D;
    color: #3E4297;
    font-size: 14px;
    font-weight: normal;
    width: 60px;
    height: 60px;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: -1;
    transition: .3s;
    @media screen and (max-width: 769px){/* PC */
        width: 40px;
        height: 40px;
    }
}
.is-style-icon-left-btn a.wp-block-button__link:hover::before {
    width: 110%;
    border-radius: 30px;
}
.is-style-icon-left-btn .wp-block-button__link::after {
    position: absolute;
    content: "";
    width: calc(100% - 40px);
    right: 0em;
    bottom: 0;
    height: 1px;
    background-color: currentColor;
    @media screen and (max-width: 769px){/* PC */
        width: calc(100% - 25px);
    }
}
.is-style-icon-left-btn a.wp-block-button__link:hover {
    opacity: 1;
}

/* 塗りつぶし矢印(右) */
.is-style-fill-arrow-right-btn .wp-block-button__link {
    position: relative;
    min-width: 180px;
    margin-top:1rem;
    margin-bottom: 1rem;
    border-radius: 30px;
    padding: 1em 2.5em 1em 1em;
    font-size: 17px;
    @media screen and (max-width: 769px){
        padding: 0.8em 2em 0.8em 0.8em;
        font-size: 14px!important;
    }
}
.is-style-fill-arrow-right-btn .wp-block-button__link::before {
    position: absolute;
    content: "";
    width: 20px;
    height: 2px;
    top: 50%;
    right: 1em;
    background-color: currentColor;
    @media screen and (max-width: 769px){
        width: 16px;
        right: 0.7em;
    }
}
.is-style-fill-arrow-right-btn .wp-block-button__link::after {
    content: "";
    position: absolute;
    right: 1em;
    top: 50%;
    width: 10px;
    height: 1.5px;
    background-color: currentColor;
    transform: rotate(45deg);
    transform-origin: right center;
    @media screen and (max-width: 769px){
        right: 0.75em;
        width: 8px;
    }
}

/* 塗りつぶし矢印(左) */
.is-style-fill-arrow-left-btn .wp-block-button__link {
    position: relative;
    min-width: 180px;
    margin-top:1rem;
    margin-bottom: 1rem;
    border-radius: 30px;
    padding: 1em 1em 1em 2.5em;
    font-size: 17px;
    @media screen and (max-width: 769px){
        padding: 0.8em 0.8em 0.8em 2em;
        font-size: 14px!important;
    }
}
.is-style-fill-arrow-left-btn .wp-block-button__link::before {
    position: absolute;
    content: "";
    width: 20px;
    height: 2px;
    top: 50%;
    left: 1em;
    background-color: currentColor;
    @media screen and (max-width: 769px){
        width: 16px;
        left: 0.7em;
    }
}
.is-style-fill-arrow-left-btn .wp-block-button__link::after {
    content: "";
    position: absolute;
    left: 0.45em;
    top: 50%;
    width: 10px;
    height: 1.5px;
    background-color: currentColor;
    transform: rotate(135deg);
    transform-origin: right center;
    @media screen and (max-width: 769px){
        left: 0.3em;
        width: 8px;
    }
}

/* 塗りつぶしアイコン(右) */
.is-style-fill-icon-right-btn .wp-block-button__link {
    position: relative;
    min-width: 120px;
    margin-top:0;
    margin-bottom: 0;
    border-radius: 30px;
    padding: 6px 33px 6px 20px;
    font-size: 12px;
    background-color: #3E4297;
}
.is-style-fill-icon-right-btn .wp-block-button__link::before {
    position: absolute;
    content: "";
    background-image: url(/wp-content/themes/nakanoshokai/assets/images/icon/w-vector.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 16px;
    height: 16px;
    top: calc( 50% - 8px);
    right: 11px;
}

/* ページ内リンク用ボタン */
.in-page-link-block {
    gap: 0;
    margin-bottom: 90px;
    @media screen and (max-width: 769px){
        margin-bottom: 50px;
    }
}
.is-style-in-page-link-btn {
    width: 100%;
}
.in-page-link-block .wp-block-column {
    border-right: #3E4297 1px solid;
    @media screen and (max-width: 769px){
        border-right: none;
        border-bottom:#3E4297 1px solid;
    }
}
.in-page-link-block .wp-block-column:last-of-type {
    border-right: none;
        @media screen and (max-width: 769px){
        border-bottom:none;
    }
}
.is-style-in-page-link-btn .wp-block-button__link {
    position: relative;
    min-width: 100%;
    margin-top:0;
    margin-bottom: 0;
    border-radius: 0px;
    padding: 12px 32px 12px 12px;
    font-size: 11px;
    font-weight: 700;
    background-color: rgba(236, 236, 244, 1);
    color: #3E4297;
    text-align: start;
}
.is-style-in-page-link-btn .wp-block-button__link::before {
    position: absolute;
    content: "";
    background-image: url(/wp-content/themes/nakanoshokai/assets/images/icon/triangle.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 11px;
    height: 7px;
    top: calc( 50% - 3.5px);
    right: 11px;
}
/* 画像付きボタン */
.wp-block-columns.img-btm-btn-column {
    @media screen and (max-width: 769px){/* PC */
        gap: 1em;
    }
}
.wp-block-columns.img-btm-btn-column .wp-block-column {
    @media screen and (max-width: 769px){/* PC */
        flex-basis: calc(50% - 2em) !important;
    }
}
.wp-block-button.is-style-img-btm-btn {
    width: 100%;
}
.is-style-img-btm-btn .wp-block-button__link {
    box-shadow: 0px 0px 9.7px 0px rgba(0, 0, 0, 0.25);
    display: block;
    width: 100%;
    border-radius: 15px;
    padding: 0;
    background-color: #3E4297;
    @media screen and (max-width: 769px){
        max-width: 100%;
        border-radius: 10px;
    }
}
.is-style-img-btm-btn .wp-block-button__link img {
    width: 100%!important;
    aspect-ratio: 1 / 0.65;
    border-radius: 15px 15px 0 0;
    object-fit: cover;
    
    @media screen and (max-width: 769px){
        max-height: 106px;
        aspect-ratio: 1 / 0.68;
        border-radius: 10px 10px 0 0;
    }
}
.is-style-img-btm-btn .wp-block-button__link strong {
    color: white;
    display: block;
    padding: 0.5rem 3rem 0.5rem 1.5rem;
    text-align: left;
    min-height: 68px;
    align-items: center;
    display: flex;
    position: relative;
    line-height: 1.4;
    font-weight: 700;
    font-size: 16px;

    @media screen and (max-width: 769px){
        padding: 0.5rem 1.5rem 0.5rem 0.5rem;
        font-size: 12px;
        min-height: 41px;
    }
}
.is-style-img-btm-btn .wp-block-button__link strong::before {
    position: absolute;
    content: "";
    width: 20px;
    height: 1.5px;
    top: 50%;
    right: 1rem;
    background: white;
    @media screen and (max-width: 769px){
        right: 0.4rem;
        width: 16px;
    }
}
.is-style-img-btm-btn .wp-block-button__link strong::after {
    content: "";
    position: absolute;
    right: 1rem;
    top: 50%;
    width: 10px;
    height: 1.5px;
    background: white;
    transform: rotate(45deg);
    transform-origin: right center;
    @media screen and (max-width: 769px){
        right: 0.4rem;
        width: 9px;
    }
}

/* 画像付きボタン調整 */
/* 画像付きボタン調整一段4 */
.wp-block-group.glid-btn-4.is-layout-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(auto-fill, minmax(min(245px, 100%), 1fr));
    @media screen and (max-width: 769px){
        grid-template-columns: repeat(2, 1fr);
    }
}
.glid-btn-4 .wp-block-buttons .is-style-img-btm-btn .wp-block-button__link img {
    max-height: 171px;
}
/* 画像付きボタン調整一段3 */
.wp-block-group.glid-btn-3.is-layout-grid {
    display: grid;
    gap: 34px;
    grid-template-columns: repeat(auto-fill, minmax(min(324px, 100%), 1fr));
    @media screen and (max-width: 769px){
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
}
.glid-btn-3 .wp-block-buttons .is-style-img-btm-btn .wp-block-button__link img {
    max-height: 201px;
}

/**
 * テキスト
 */
.is-style-backgrey-paragraph {
    font-size: 16px;
    font-weight: 400;
    color: #3E4297;
    padding: 10px 9px;
    line-height: 1;
    height: fit-content;
    width: fit-content;
    background-color: rgba(234, 234, 234, 1);
    margin-bottom: 15px;
    @media screen and (max-width: 769px){
        font-size: 14px;
        margin-bottom: 11px;
    }
}
.is-style-line-left-paragraph {
    position: relative;
    padding-left: 8px;
    font-weight: 700;
    font-size: 19px;
    color: #3E4297;
    margin-bottom: 30px;

    @media screen and (max-width: 769px){
        font-size: 16px;
        margin-bottom: 20px;
    }
}
.is-style-line-left-paragraph:before {
    position: absolute;
    content: "";
    height: 3px;
    width: 6px;
    background-color: #3E4297;
    left: 0;
    top: calc(50% - 1px);

    @media screen and (max-width: 769px){


    }
}
/**
 * テーブル
 */

.wp-block-table.is-style-regular {
    width: 100%;
}

.wp-block-table.is-style-regular table.has-fixed-layout {
    table-layout: auto !important;
    width: 100% !important;
    border-collapse: collapse;
    border-spacing: 0;
}

.wp-block-table.is-style-regular td,
.wp-block-table.is-style-regular th {
    border-top: none;
    border-right: none;
    border-left: none;
    border-bottom: 2px solid #9A9A9A;
    padding: 8px 12px;
    line-height: 1.8;
}

.wp-block-table.is-style-regular td:first-child,
.wp-block-table.is-style-regular th:first-child {
    border-bottom: 2px solid #3E4297;
    font-weight: 700;
    text-align: center;
    width: 1%;
    min-width: 120px;
    vertical-align: middle;
}

@media screen and (max-width: 769px) {
  .wp-block-table.is-style-regular td:first-child,
  .wp-block-table.is-style-regular th:first-child {
      vertical-align: top;
      width: 90px;
  }
}

/**
 * 年表用テーブル
 */

.wp-block-table.is-style-timeline-table {
    width: 100%;
}
.wp-block-table.is-style-timeline-table a {
    text-decoration: underline;
}
.wp-block-table.is-style-timeline-table table.has-fixed-layout {
    table-layout: auto !important;
    width: 100% !important;
    border-collapse: collapse;
    border-spacing: 0;
}

.wp-block-table.is-style-timeline-table td,
.wp-block-table.is-style-timeline-table th {
    border-top: none;
    border-right: none;
    border-left: none;
    border-bottom: none;
    vertical-align: top;
    padding: 15px 0px 40px 15px;
    line-height: 1.8;
    color: rgba(62, 66, 151, 1);
    white-space: nowrap;
}

.wp-block-table.is-style-timeline-table td:first-child,
.wp-block-table.is-style-timeline-table th:first-child {
border-bottom: none;
    font-weight: 200;
    letter-spacing: 3px;
    text-align: center;
    width: 1%;
    min-width: 76px;
    vertical-align: top;
    padding: 0;
    font-size: 30px;
    color: rgba(62, 66, 151, 1);
    font-family: Helvetica Neue;
}
.wp-block-table.is-style-timeline-table td:last-child,
.wp-block-table.is-style-timeline-table th:last-child {
  color: rgba(0, 0, 0, 1);
  vertical-align: top;
    white-space: wrap;
}

@media screen and (max-width: 769px) {
  .wp-block-table.is-style-timeline-table td:first-child,
  .wp-block-table.is-style-timeline-table th:first-child {
      vertical-align: top;
      min-width: 43px;
      font-size: 17px;
      letter-spacing: 1.7px;
  }
}
@media screen and (max-width: 769px) {
.wp-block-table.is-style-timeline-table td,
.wp-block-table.is-style-timeline-table th {
    font-size: 14px;
    padding: 3px 0px 23px 15px;;
}
}



/* 自作ブロック:横並びカード */
.card-link {
    text-decoration: none;
}
.card-block {
    display: flex;
    position: relative;
    align-items: stretch;
    background-color: white;
    border-radius: 8px;
    filter: drop-shadow(0px 0px 2px rgba(0, 0, 0, 0.25));
    margin: 1rem auto;
    text-decoration: none;
    min-height: 169px;
    @media screen and (max-width: 769px){
        min-height: 112px;
        margin: 0.6rem auto 1rem;

    }
}

.card-block .card-image {
    width: 240px;
    max-width: 50%;
    position: relative;
    overflow: hidden;
    border-radius: 8px 0 0 8px;
    margin: 0;
    box-sizing: border-box;
    @media screen and (max-width: 769px){
        max-width: 135px;
    }
}

.card-block .card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    max-height: 600px;
    position: absolute;
    box-sizing: border-box;
}

.card-block .card-text {
    flex: 1;
    padding: 20px;
    color: #9A9A9A;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    @media screen and (max-width: 769px){
        font-size: 12px;
        padding: 9px 14.5px 9px 14px;
    }
}

.card-block .card-text h3 {
    color: #3E4297;
    margin: 0;
    font-size: 18px;
    @media screen and (max-width: 769px){
        font-size: 15px;
    }
}

.card-block .card-text p {
    min-height: 80px;
    font-size: 13px;
    margin-block-start: 0.5em;
    line-height: 1.4;
    @media screen and (max-width: 769px){
        min-height: auto;
        font-size: 12px;
        line-height: 1.4;
        font-weight: 400;
    }
}
.card-block .card-icon {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 35px;
    height: 35px;
    background-color: #9A9A9A;
    border-radius: 0 0 8px 0;
    padding: 8px;
    @media screen and (max-width: 769px){
        width: 25px;
        height: 25px;
        padding: 4px;
    }
}

.card-block .card-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    margin-bottom: 4px;
}
/* 自作ブロック:Youtubeリンクカード */
.youtube-card-link {
    text-decoration: none;
}
.youtube-card-link .youtube-card-block {
    width: 100%;

}
.youtube-card-link .youtube-card-block .youtube-card-text p {
    font-size: 16px;
    line-height: 1.8;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    @supports (line-clamp: 2) {
        display: block;
        line-clamp: 2; /* 同じく2行でカットして "…" */
    }
    @media screen and (max-width: 769px){
        font-size: 14px;
        line-height: 23px;
    }
}
.youtube-card-link .youtube-card-block .youtube-card-image {
    width: 100%;
    position: relative;
}
.youtube-card-link .youtube-card-block .youtube-card-image::after {
    position: absolute;
    content: "";
    background-image: url(/wp-content/themes/nakanoshokai/assets/images/icon/youtube.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 60px;
    height: 60px;
    top: calc(50% - 30px);
    right:calc(50% - 30px);
    z-index: 1;
}
.youtube-card-link .youtube-card-block .youtube-card-image img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0 0 15px rgba(0, 0, 0, .35);
}

/* アコーディオンメニューカスタマイズ用 */
.wp-block-ub-content-toggle.wp-block-ub-content-toggle-block {
    margin-bottom: 60px;
    @media screen and (max-width: 769px){
        margin-bottom: 50px;
    }
}
.wp-block-ub-content-toggle-accordion .wp-block-ub-content-toggle-accordion-title {
    padding: 4px 10px 4px 0px;
    margin: 0;
    display: block;
}
.wp-block-ub-content-toggle-accordion-title-wrap .wp-block-ub-content-toggle-accordion-toggle-wrap {
    align-items: center;
    padding-top: 0;
}
.wp-block-ub-content-toggle-accordion-title-wrap {
    border-bottom: 1px solid rgba(189, 189, 189, 1);
}
.wp-block-ub-content-toggle-accordion-content-wrap {
    padding: 15px 24px 16px;
    @media screen and (max-width: 769px){
        padding: 13px 24px 16px;
    }
}
.wp-block-ub-content-toggle-accordion-content-wrap .wp-block-columns {
    gap: 23px;
    @media screen and (max-width: 769px){
        gap: 12px;
    }
}
.wp-block-ub-content-toggle-accordion-content-wrap p {
    line-height: 19px;
    font-size: 13px;
    margin-block-start: 0;
    margin-block-end: 0;
}



/* 背景画像付きテキストブロック */
main > :where(.wp-block-columns.content-img-area-pc) {
    @media screen and (min-width: calc(1130px)) {
        padding-left: calc(50% - 540px) !important;
        padding-right: calc(50% - 540px) !important;
    }
}
.content-img-area-pc {
    margin: 0 20px;
    border-radius: 42px;
    padding: 131px 25px 170px;
    display: flex;
    align-items: center!important;
    gap: 78px;
    flex-wrap: nowrap !important;
    @media screen and (max-width: 769px){
        flex-direction: column-reverse;
        border-radius: 8px;
    }
}
.content-img-area-pc .content-img-area-text {
    padding: 67px 57px 59px;
    background-color: rgba(255, 255, 255, 0.9)!important;
    width: 100%;
    max-width: 623px;
    flex-basis: unset!important;
    flex-grow: unset!important;
}
.content-img-area-pc .content-img-area-text .content-img-area-text-sub-title {
    font-weight: 700;
    font-size: 18px;
    line-height: 0.95;
}
.content-img-area-pc .content-img-area-text .content-img-area-text-title {
    font-weight: 500;
    font-size: clamp(20px, 4vw, 45px);
    line-height: 1.5;
    margin-top: 14px;
    margin-bottom: 36px;
}
.content-img-area-pc .content-img-area-text .content-img-area-text-text {
    font-weight: 400;
    font-size: 14px;
    line-height: 2.1;
}
.content-img-area-pc .content-img-area-img {
    height: fit-content;
    width: clamp(200px, 100%, 308px);
    flex-basis: unset !important;
    flex-grow: unset !important;
}
@media (max-width: 781px) {
    .wp-block-columns.content-img-area-pc:not(.is-not-stacked-on-mobile)>.wp-block-column {
        flex-basis: unset !important;
    }
}
.content-img-area-pc .content-img-area-img img {
    width: 100%;
}


main > :where(.wp-block-columns.content-img-area-sp) {
    @media screen and (max-width: 767px) {
        padding-left: 15px;
        padding-right: 15px;
    }
}
.content-img-area-sp {
}
.content-img-area-sp .content-img-area-sp-textarea {
    padding: 15px 20px;
    margin: -45px 20px 0;
    background-color: rgba(255, 255, 255, 0.9);
    box-shadow: 0px 0px 4.1px 0px rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(4px)
}
.content-img-area-sp .content-img-area-sp-textarea .content-img-area-text-sub-title {
    font-size: 12px;
    font-weight: 700;
    text-align: center;
}
.content-img-area-sp .content-img-area-sp-textarea .content-img-area-text-title {
    font-weight: 700;
    font-size: 18px;
    line-height: 1.5;
    margin-top: 10px;
    margin-bottom: 10px;
    text-align: center;
}
