@charset "utf-8";

/* ==============================

    サイト設定　適宜変更箇所

============================== */
body,
html {
    font-size: 62.5%;
}

:root {
    /* ベースカラー設定 */
    --main-color: #181A20;
    --border-color: #C8D0DA;
    --light-gray: #F5F5F5;
    --blue: #1D264D;
    --light-blue: #EDF2F3;
    --gold: #C2A83E;
    --red: #9A2921;
    --line-gray: #B5B5B5;
    --bg-opacity: rgba(255, 255, 255, .6);
    --base-shadow: 0 0 1.2rem rgba(58, 58, 58, .08);

    /* フォント・サイズ */
    --base-font-size: 1.8rem;
    --heading-size-h2: 3.2rem;
    --heading-size-h3: 2.4rem;
    --heading-size-h4: 1.8rem;

    --base-line-height: 1.5;
    --heading-line-height: 1.5;
    --base-letter-spacing: 0.02em;

    --base-font: "Noto Serif JP", serif;
    --ja-font: "Noto Sans JP", sans-serif;
    --num-font: "Crimson Text", serif;

    /* 余白 */
    --section-padding: 80px 0;

    /* インナー幅 */
    --section-inner-l: 144rem;
    --section-inner: 128rem;
    --section-inner-s: 96rem;
}

body {
    font-size: var(--base-font-size);
    background-color: var(--light-gray);
    color: var(--main-color);
    font-family: var(--base-font);
    font-optical-sizing: auto;
    font-weight: 500;
    line-height: var(--base-line-height);
    letter-spacing: var(--base-letter-spacing);
}

html {
    scroll-behavior: smooth;
}

html.modal-open {
    scroll-behavior: auto;
}

a,
a img {
    color: var(--main-color);
    text-decoration: none;
    transition: all 0.2s ease 0s;
}

figure {
    overflow: hidden;
}

figure.wp-block-image img {
    height: 100%;
    object-fit: cover;
}

section {
    position: relative;
    z-index: 0;
    overflow: hidden;
}

.material-symbols-outlined {
    vertical-align: text-top;
    font-variation-settings:
        'FILL' 0,
        'wght' 200,
        'GRAD' 0,
        'opsz' 24;
}

h2 {
    font-size: var(--heading-size-h2);
}

h3 {
    font-size: var(--heading-size-h3);
    margin-bottom: 4rem;
}

h4 {
    font-size: var(--heading-size-h4)
}

h1,
h2,
h3,
h4 {
    font-weight: 700;
}

.wp-block-button[data-name]::before {
    font-size: 14px;
    font-weight: bold;
}

.phone-num {
    font-family: var(--num-font);
}


/*ハンバーガーメニュー　PCでは不要な場合*/
.nav-wrapper {
    display: none;
}

/* ==============================

    サイト設定

============================== */

.inner,
.inner-s,
.inner-l {
    width: 90%;
    margin: 0 auto;
}

.inner {
    max-width: var(--section-inner);
}

.inner-s {
    max-width: var(--section-inner-s);
}

.inner-l {
    max-width: var(--section-inner-l);
}

/*画像ホバー時*/
.img-hover {
    transition: .6s;
}

.img-hover:hover {
    opacity: .6;
}

.flex-row {
    flex-direction: row-reverse;
}

.pc,
.pc-tab {
    display: block;
}

.sp,
.mobile {
    display: none;
}

/* ==============================

　　固定メニュー

　============================== */

.fix_nav.sp_disp.sp {
    position: fixed;
    z-index: 300;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: var(--blue);
}

.fix_nav.sp_disp.sp>.wp-block-group__inner-container {
    border-top: .1rem solid var(--border-color);
}

.wp-block-group.fix_nav.sp_disp-inner {
    gap: 0;
}

.kotei-menu {
    color: #fff;
    padding: 5px 0;
    text-align: center;
    border-right: 0.5px solid var(--border-color);
    position: relative;
}

.kotei-menu:last-child {
    border-right: none;
}

/*メニュー数*/

.sp_disp-4 .kotei-menu {
    width: 25%;
}

.sp_disp-3 .kotei-menu {
    width: 33.3333333333%;
}

.sp_disp-2 .kotei-menu {
    width: 50%;
}

.sp_disp-1 .kotei-menu {
    width: 100%;
}

/* ==============================

ヘッダーの設定

　============================== */

header {
    width: 100%;
    transition: .6s;
}

.header-inner {
    transition: .6s;
}

.header-inner {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 300;
}

.scroll-nav .header-inner {
    padding-bottom: 1.6rem;
    background-color: var(--light-gray);
}

.header--top>.wp-block-group__inner-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header--top .logo {
    width: 31.2rem;
    margin-left: 2.5%;
}

.is-layout-flex>.header-contact {
    background-color: var(--blue);
    font-weight: 700;
    border-radius: 0 0 .2rem .2rem;
    padding: .6rem 1.2rem .8rem;
    margin-right: 2.4rem;
}

.header-contact__title {
    color: #fff;
    font-size: 1.5rem;
    margin-bottom: .4rem;
}

.wp-block-group.is-layout-flex.header-contact__btns {
    gap: 1.2rem !important;
}

.header-contact__btn {
    width: 18rem;
    height: 4rem;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: .2rem;
}

.header-contact__btn p {
    font-size: 1.5rem;
}

.header-contact__btn span.material-symbols-outlined {
    display: inline-block;
    font-size: 2rem;
    margin-right: .6rem;
}

.header-contact__btn .phone-num {
    font-size: 2rem;
    font-weight: 500;
}

.header-business__btn .wp-block-button__link {
    width: 17.8rem !important;
    height: 8rem !important;
    background-color: var(--gold);
    border-radius: 0 0 0 .2rem;
    font-size: 1.6rem;
}

nav.header-inner-menu {
    margin: 2rem 2.5% 0 0;
}

ul.header-inner-menu {
    justify-content: end;
    gap: 2.8rem;
}

.header-inner-menu .wp-block-navigation-item__content {
    font-size: 1.6rem;
}

.fix_nav.sp_disp.sp {
    display: none;
}

/* 改行 */
.br-tab,
.br-sp {
    display: none;
}

.br-pc {
    display: block;
}

/* ==============================

共通パーツ

　============================== */
/* 上下に青グラデの入った背景 */
.bg-fog {
    position: relative;
}

.bg-fog::before,
.bg-fog::after {
    content: '';
    width: 100%;
    max-width: 78.7rem;
    height: 55rem;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    z-index: -1;
}

.bg-fog::before {
    background-image: url(../img/bg-fog--top.png);
    top: 0;
    left: 0;
}

.bg-fog::after {
    background-image: url(../img/bg-fog--bottom.png);
    bottom: 0;
    right: 0;
}

/* 水色グラデーションの背景 */
.bg-grad {
    position: relative;
    background-image: linear-gradient(-45deg, #b7dce8, #effafd 32%, #d6f0f8 70%, #eaf3f5);
    z-index: 0;
}

.bg-grad::before,
.bg-grad::after {
    content: '';
    width: 50%;
    max-width: 86rem;
    aspect-ratio: 13 / 10;
    background-image: url(../img/bg-grad-circle.png);
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    z-index: -1;
}

.bg-grad::before {
    opacity: 0.35;
    top: 40%;
    left: -5%;
}

.bg-grad::after {
    opacity: .7;
    bottom: 5%;
    right: 0;
}


/* セクションタイトル英字装飾 */
.section__ttl {
    position: relative;
    display: flex;
    justify-content: center;
    margin-bottom: 5.6rem;

}

.section__ttl--small {
    margin-bottom: 2.4rem;
}

.title-decor {
    position: absolute;
    height: clamp(52px, 7.3vw, 112px);
    width: max-content;
    left: 50%;
    transform: translate(-50%, -90%);
}

figure.wp-block-image.title-decor img {
    object-fit: contain !important;
}

.title-decor.mobile {
    height: 10rem;
}

.title-decor figure {
    width: auto;
}

.section__ttl--left {
    justify-content: left;
}

.section__ttl--left .title-decor {
    left: 0;
    transform: translate(0, -90%);
}

/* ボタン */
.btn-basic>.wp-block-button__link {
    position: relative;
    background-color: var(--blue);
    border-radius: 0;
    padding: 1.6rem 4rem 1.6rem 3.2rem;
    margin-top: 4rem;
    min-width: 20rem;
    font-size: 1.6rem;
    font-family: var(--base-font) !important;
    font-weight: 700 !important;
}

.btn-basic>.wp-block-button__link::before {
    content: '';
    width: 1.5rem;
    height: .1rem;
    background-color: #fff;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

.btn-basic>.wp-block-button__link::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: -1.5rem;
    width: 12px;
    height: 1px;
    border-radius: 9999px;
    background-color: var(--blue);
    transform: rotate(35deg);
    transform-origin: calc(100% - 0.5px) 50%;
}

.btn-basic .arrow-right {
    position: absolute;
    display: block;
    width: 1.5rem;
    height: .1rem;
    top: 50%;
    right: -1.5rem;
    transform: translateY(-50%);
    background-color: var(--blue);
}

.btn-gold>.wp-block-button__link,
.btn-gold>.wp-block-button__link::after,
.btn-gold .arrow-right {
    background-color: var(--gold);
}

.btn--white>.wp-block-button__link {
    color: var(--main-color) !important;
}

.btn--white>.wp-block-button__link::before {
    background-color: var(--blue);
}

.btn--white>.wp-block-button__link,
.btn--white>.wp-block-button__link::after,
.btn--white .arrow-right {
    background-color: #fff;
}

/* ホバー */
.btn-basic>.wp-block-button__link,
.header-business__btn .wp-block-button__link,
.header-contact__btn,
.btn-dia>.wp-block-button__link,
.btn-anchorlink>.wp-block-button__link,
.btn--small>.wp-block-button__link,
.benefit-business-link,
.wealtpark-link__item,
.course-box .accordion-003 summary,
.float-btn a,
.business-new__list a,
.document-list__more-btn,
.document-list__item a {
    transition: opacity 0.3s ease;
}

.btn-basic>.wp-block-button__link:hover,
.header-business__btn .wp-block-button__link:hover,
.header-contact__btn:hover,
.btn-dia>.wp-block-button__link:hover,
.btn-anchorlink>.wp-block-button__link:hover,
.btn--small>.wp-block-button__link:hover,
.benefit-business-link:hover,
.wealtpark-link__item:hover,
.float-btn a:hover {
    opacity: .8 !important;
}

.course-box .accordion-003 summary:hover,
.business-new__list a:hover,
.document-list__more-btn:hover,
.document-list__item a:hover {
    opacity: .7 !important;
}


/* テキストボックス余白 */
.gap-8>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    gap: .8rem;
}

.gap-16>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.gap-24>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

/* テキスト強調 */
.txt-red {
    color: var(--red);
    font-weight: 700 !important;
}

/* 画像左右交互のカラムレイアウト */
.flex-no__list>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    gap: 4rem;
}

.flex-no__item {
    padding: 4rem 0;
}

.flex-no__item:nth-child(even) {
    flex-direction: row-reverse;
}

.flex-no__img {
    width: 50%;
}

.is-layout-flex>.flex-no__content {
    position: relative;
    width: 50%;
    display: flex;
    align-items: center;
}

.flex-no__item:nth-child(even) .flex-no__content::before {
    content: '';
    width: calc(100% + 6.4rem);
    height: calc(100% + 8rem);
    background-color: var(--light-blue);
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    z-index: -1;
}

.flex-no__content>.wp-block-group__inner-container {
    margin: 0 8% 0 6.4rem;
    max-width: 58rem;
}

.flex-no__item:nth-child(even) .flex-no__content {
    justify-content: flex-end;
}

.flex-no__item:nth-child(even) .flex-no__content>.wp-block-group__inner-container {
    margin: 0 6.4rem 0 8%;
}

.flex-no-no {
    height: 10.8rem;
}

figure.wp-block-image.flex-no-no img {
    width: auto;
}

/* 右寄せボックス */
.bg-fog-before {
    position: relative;
    margin-top: 12rem;
    margin-left: 5%;
    box-shadow: 0 0 1.2rem rgba(58, 58, 58, .08);
    padding: 5.6rem 5% 4rem;
}

.bg-fog-before::before,
.bg-fog-before::after {
    content: '';
    width: 100%;
    max-width: 78.7rem;
    height: 55rem;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    z-index: -1;
}

.bg-fog-before::before {
    background-image: url(../img/bg-fog--top.png);
    top: 0;
    left: 0;
}

.bg-fog-before::after {
    background-image: url(../img/bg-fog--bottom.png);
    bottom: 0;
    right: 0;
}


.bg-fog-before .section__ttl {
    justify-content: left;
}

.bg-fog-before .title-decor {
    left: 0;
    transform: translate(0, -90%);
}

/* 代表ご挨拶 */
.message__header {
    aspect-ratio: 5 / 1;
}

.message__inner {
    margin-top: 6.4rem;
}

.message__inner .section__ttl {
    justify-content: flex-start;
}

.message__inner .title-decor {
    left: 0;
    transform: translate(0, -90%);
}

.message__content {
    font-family: var(--ja-font);
    font-weight: 400;
}

.message__img {
    float: right;
    margin: -10.4rem 0 4rem 4rem;
    width: 35%;
    height: auto;
}

.message__img img {
    margin-bottom: 4rem;
}

.message__txt p,
.message-ul__block {
    margin-bottom: 1.6rem;
}

.message-ul__block p {
    margin-bottom: 0;
}

.normal__list li {
    position: relative;
    padding-left: 1.8rem;
}

.normal__list li::before {
    content: '';
    width: .4rem;
    aspect-ratio: 1;
    background-color: var(--main-color);
    border-radius: 50%;
    position: absolute;
    top: 1.2rem;
    left: .8rem;
}

.message-sign {
    margin-top: 4rem;
    font-family: var(--base-font);
}

.message-sign strong {
    font-size: 2rem;
}

/* 横並びボタン */
.wp-block-group.is-layout-flex.btns-flex {
    gap: 5.6rem !important;
}

/* 追従ボタン */
.footer-hidden {
    transition: opacity 0.4s ease, visibility 0.4s ease;
}


/* ==============================
    
    メインビジュアル
    
　============================== */
.mv {
    height: 100vh;
    overflow-x: hidden;
}

.mv::before {
    content: '';
    width: 80%;
    max-width: 80rem;
    height: 60rem;
    background-image: url(../img/bg-grad-circle.png);
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    top: -20%;
    right: -10%;
    z-index: -1;
    opacity: 0.5;
}

.mv>.wp-block-group__inner-container {
    padding-top: 17.1rem;
}

.mv figure {
    margin-right: 8%;
    height: calc(100vh - 17.1rem);
}

.mv-catch {
    position: absolute;
    bottom: 15%;
    left: 5%;
    font-weight: 700;
}

.mv-subcatch {
    font-size: 2rem;
    margin-bottom: .4rem;
}

.txt-box {
    background-color: var(--blue);
    border-radius: .2rem;
    padding: .2rem 1.2rem;
    color: #fff;
    margin-right: .8rem;
}

.mv-maincatch {
    font-size: clamp(28px, 7vw, 58px);
    line-height: 1.25;
    margin-bottom: 2.4rem;
}

.scroll-box {
    position: absolute;
    bottom: 12rem;
    right: 2.5%;
    writing-mode: vertical-rl;
}

.scroll-box::before {
    animation: scroll 2s infinite;
    background-color: var(--main-color);
    bottom: -11rem;
    content: "";
    height: 10.4rem;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    width: .1rem;
    z-index: 2;
}

.scroll-box::after {
    background-color: #ccc;
    bottom: -11rem;
    content: "";
    height: 10.4rem;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    width: .1rem;
}

@keyframes scroll {
    0% {
        transform: scale(1, 0);
        transform-origin: 0 0;
    }

    50% {
        transform: scale(1, 1);
        transform-origin: 0 0;
    }

    51% {
        transform: scale(1, 1);
        transform-origin: 0 100%;
    }

    100% {
        transform: scale(1, 0);
        transform-origin: 0 100%;
    }
}

/* ==============================
    
    特定商取引に基づく表記・テーブル
    
　============================== */

.wp-block-group.tokusho-wrap {
    padding: var(--section-padding);
}

figure.wp-block-table td,
figure.wp-block-table th {
    border: none;
    padding: 18px 17px;
}

figure.wp-block-table {
    border: 1px solid var(--border-color);
    line-height: var(--base-line-height);
}

.wp-block-table td:first-of-type {
    width: 50%;
    background-color: #ccc;
    border-bottom: 1px solid #fff;
}

.wp-block-table tr td {
    border-bottom: 1px solid var(--border-color);
}

.wp-block-table tr:last-of-type td {
    border-bottom: none;
}

/* ==============================
    
    個人情報保護方針
    
　============================== */

.wp-block-group.policy-wrap {
    padding: var(--section-padding);
    font-size: 16px;
    line-height: var(--base-line-height);
}

.wp-block-group.policy-wrap p {
    margin-bottom: 35px;
}

.wp-block-group.policy-wrap li {
    margin-bottom: 26px;
}

ul {
    line-height: var(--base-line-height);
    font-size: var(--base-font-size);
}


/* ==============================
    
    お知らせ共通CSS
    
　============================== */

/* 2カラム時の横並びのベース設定（グリッドを採用） */
.news-main-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    align-items: start;
}

/* パターンA：サイドバー【あり】のとき */
.-has-sidebar .news-main-layout {
    grid-template-columns: minmax(0, 72%) minmax(0, 24%);
    column-gap: 4%;
}

.-has-sidebar .sidebar {
    display: block;
}

/* パターンB：サイドバー【なし】のとき */
.-full-width .news-main-layout {
    grid-template-columns: 1fr;
}

.-full-width .news-page-body {
    width: 100%;
}

.-full-width .sidebar {
    display: none;
}

.news-main-layout {
    padding-top: 0;
    margin-bottom: 60px;
}

.news-wrap {
    margin-bottom: 24rem;
}

.news-wrap .under-v {
    padding-top: 20rem;
}

.single-post .news-wrap {
    padding-top: 20rem;
}

.nav_select {
    display: flex;
    justify-content: right;
    margin-top: 50px;
}

.widget.widget_categories {
    margin-bottom: 23px;
}

/* ==============================

　　↓　PC版テーマ専用CSSは下記から記述　↓

　============================== */
/*----------------------
 フッター 
----------------------*/
footer {
    padding-top: 3.2rem;
    overflow: hidden;
}

.wp-block-cover.signup {
    overflow: visible;
    padding: 6.4rem 5% 8rem;
}

.signup__inner {
    max-width: 120rem;
    margin: auto;
}

.signup__txt {
    margin-bottom: 4rem;
}

.btn-dia__flex .wp-block-buttons {
    width: 28%;
}

.btn-dia,
.btn-dia>.wp-block-button__link {
    width: 100% !important;
}

.btn-dia>.wp-block-button__link {
    width: 100% !important;
    height: 10.4rem;
    border-radius: .2rem;
    font-size: 2.4rem;
    font-weight: 700;
    box-shadow: var(--base-shadow);
}

.btn-dia--red>.wp-block-button__link {
    background-color: var(--red);
}

.btn-dia--white>.wp-block-button__link {
    background-color: rgba(241, 245, 246, .9);
    color: var(--main-color) !important;
}

.btn-icon span.btn-dia-add,
footer span.btn-dia-add {
    display: inline-block;
    font-size: 1.8rem;
    margin-bottom: .4rem;
}

.btn-icon span.material-symbols-outlined {
    font-size: 3rem;
    margin-right: .8rem;
    vertical-align: sub;
}

.btn-icon .phone-num {
    font-size: 3.2rem;
}

.footer-block {
    background-color: var(--blue);
    color: #fff;
    padding: 8rem 0 1.6rem;
}

figure.wp-block-image.size-full.footer-logo {
    width: 36rem;
    max-width: 100%;
    margin-bottom: 4rem;
}

.footer-block h4 {
    margin-bottom: 1.6rem;
}

.footer-address {
    font-family: var(--ja-font);
    font-weight: 400;
}

.footer-info td a {
    color: #fff;
}

.footer-block figure.wp-block-table {
    margin: 1.2rem 0 0;
    border: none;
    font-size: 1.6rem;
    font-family: var(--ja-font);
    font-weight: 400;
}

.footer-block figure.wp-block-table td {
    padding: 0 0 .6rem 0;
}

.footer-block figure.wp-block-table tr:last-child {
    padding: 0;
}

.footer-block .wp-block-table tr td {
    border: none;
}

.footer-block .wp-block-table td:first-of-type {
    width: 5.4rem;
    background-color: unset;
    border: none;
}

.footer-info {
    width: 42rem;
}

nav.footer-nav {
    width: calc(100% - 42rem - 10%);
    max-width: 60rem;
}

ul.footer-nav {
    flex-wrap: wrap;
    height: 52rem;
    flex-direction: column;
    align-items: flex-start;
    align-content: space-between;
    gap: 3.2rem;
}

.footer-nav .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
    position: sticky;
    height: auto;
    overflow: visible;
    visibility: visible;
    width: auto;
    opacity: 1;
    margin: 1.2rem 0 0 .8rem;
    background-color: unset;
    border: unset;
    color: #fff;
}

.footer-nav .wp-block-navigation .wp-block-navigation-item {
    display: block;
    position: relative;
}

.footer-nav .wp-block-navigation .wp-block-navigation__submenu-icon {
    display: none;
}

.footer-nav .wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content {
    padding: 0 0 0 1.6rem;
    font-size: 1.6rem;
    font-family: var(--ja-font);
    font-weight: 400;
    color: #D1D1D1;
}

.footer-nav .wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content::before {
    content: '';
    width: .8rem;
    height: .1rem;
    background-color: #D1D1D1;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.footer-nav .wp-block-navigation__submenu-container .wp-block-navigation-item {
    margin-bottom: 1.2rem;
}

.footer__content {
    margin-bottom: 8rem;
}

.copyright {
    font-family: var(--ja-font);
    font-size: 1.2rem;
    margin-right: 5%;
}

#about footer {
    margin-top: -3.2rem;
}



/*----------------------
 トップページ 
----------------------*/
/* トップ - キャンペーン */
.campaign {
    padding: 12rem 0 16rem 0;
}

.campaign__inner {
    position: relative;
    background-color: #fff;
    border-radius: .2rem;
    padding: 7.2rem 2.5% 5.6rem;
}

.campaign__inner .title-decor {
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
}

.campaign__inner h3 {
    margin-bottom: 3.2rem;
}

.campaign__inner p {
    margin-bottom: 4rem;
}

.campaign-img-container {
    width: 100%;
    max-width: 61.4rem;
    margin: auto;
}

.campaign-img-container p {
    font-family: var(--ja-font);
    font-size: 1.4rem;
    font-weight: 700;
    margin-top: .6rem;
    margin-bottom: 0;
}

/* トップ - アバウト */
.top-about__inner {
    padding: 24rem 0 12rem;
}

.top-about__content {
    width: 45%;
}

.top-about__txt {
    font-family: var(--ja-font);
    font-weight: 400;
}

.top-about__image {
    width: 45%;
    max-width: 52rem;
    font-weight: 700;
}

.top-about-circles {
    position: relative;
}

.top-about-circles::before {
    content: '';
    width: 16rem;
    aspect-ratio: 1;
    border-radius: 50%;
    border: .1rem dashed var(--line-gray);
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
}

.top-about-circle {
    width: 20rem;
    aspect-ratio: 1;
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 700;
}

.is-layout-flex>.top-about-circle:last-child {
    margin-top: -3.2rem;
}

.top-about-circle span.txt-red {
    font-weight: 700 !important;
}

.top-about__image figure.wp-block-image.size-full {
    width: 7.2rem;
    margin: 0 auto 2.4rem;
}

.top-merit {
    margin-top: 14.4rem;
}

.top-merit__list {
    flex-wrap: wrap;
}

.top-merit__item {
    background-color: var(--bg-opacity);
    border-radius: .2rem;
    padding: 4rem 1.2rem 2.4rem;
}

.top-merit__item figure {
    width: 10rem;
    margin: auto;
}

.top-merit__item h4 {
    margin-top: 3.2rem;
}

.top-merit .btn-basic>.wp-block-button__link {
    margin-top: 8rem;
}

/* トップ - 5つの特徴 */
.top-features {
    padding-top: 22.4rem;
}

/* トップ - 申し込みから合格までの流れ */
.top-process {
    overflow: visible;
}

.top-process__item {
    position: relative;
    width: 20%;
    height: 27.6rem;
    background-color: rgba(231, 237, 239, .2);
    box-shadow: 0 0 1.2rem rgba(29, 38, 77, .08);
    padding-top: 4rem;
    display: flex;
    justify-content: center;
}

.top-process__item figure {
    width: 12rem;
}

.top-process__item h4 {
    margin-top: 3.2rem;
}

.top-process-arrow {
    width: 2.4rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

figure.wp-block-image.top-process-arrow img {
    width: 100%;
    height: auto;
}

/* トップ - 受講者様の声 */
.top-voice {
    padding-top: 20rem;
}

.voice__inner {
    position: relative;
    padding: 5.6rem 2.5% 4rem;
}

.voice__inner::before {
    content: '';
    width: 100%;
    height: 100%;
    background-color: var(--bg-opacity);
    border-radius: .2rem;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.voice__list.wp-block-group.is-layout-flex {
    margin-top: 5.6rem;
    row-gap: 4rem !important;
}

.voice__item {
    position: relative;
    width: 28%;
    font-family: var(--ja-font);
}

.voice__item::before {
    content: '';
    width: .1rem;
    height: 100%;
    background-color: var(--border-color);
    position: absolute;
    top: 0;
    right: -12%;
}

.voice__item:nth-child(3n):before {
    content: unset;
}

.voice__item figure {
    width: 5.2rem;
    margin: auto !important;
}

.voice__txt {
    margin-top: 4rem;
    margin-bottom: 1.6rem;
    font-weight: 400;
}

/* トップ - 代表者ご挨拶 */
.top-message {
    margin-top: 16rem;
}

/* トップ - オンライン講座 */
.top-online {
    margin-top: 16rem;
}

.wp-block-cover.top-online-cover {
    padding: 0;
}

.is-layout-flex>.top-online__content {
    width: 60rem;
    position: sticky;
    z-index: 2;
    margin: 20rem auto;
    background-color: var(--bg-opacity);
    padding: 4rem 2.5% 4.8rem 2.5%;
}

.top-online__ttl {
    font-weight: 700 !important;
    margin-bottom: 5.6rem;
}

.top-online__ttl h4 {
    margin-bottom: 2.4rem;
}

.top-online__ttl h2 {
    margin-top: .4rem;
}

.top-online__ttl h2 .txt-red {
    font-size: 4rem;
}

.top-online__txt {
    font-family: var(--ja-font);
    font-weight: 400;
}

.top-online__img--top,
.top-online__img--bottom {
    position: relative;
    z-index: 1;
    width: calc((100% - 60rem) / 2);

}

.top-online__img--top figure,
.top-online__img--bottom figure {
    position: absolute;
}

.top-online__img1 {
    width: 80%;
    max-width: 46rem;
    left: 50%;
    top: 2.4rem;
    transform: translateX(-50%);
    z-index: 2;
}

.top-online__img2 {
    width: 60%;
    max-width: 22rem;
    left: -20%;
    top: 30%;
}

.top-online__img3 {
    width: 100%;
    max-width: 52rem;
    bottom: 2.4rem;
    right: -5%;
}

.top-online__img4 {
    width: 90%;
    max-width: 52rem;
    top: 4rem;
    right: 0;
}

.top-online__img5 {
    width: 80%;
    max-width: 28rem;
    right: 0;
    bottom: 4rem;
    z-index: 2;
}

/* トップ - お知らせ・コラム */
.top-post {
    margin-top: 16rem;
}

.top-post__item {
    width: 46%;
}

/* トップ - ビジネス会員ページ */
.top-business {
    margin: 0 auto 20rem;
    padding-top: 26.4rem;
}

.top-business .section__ttl {
    margin-bottom: 0;
}

/*----------------------
 下層ページ
 共通
----------------------*/
/* 下層共通 - FV */
.fv {
    padding-top: 17.1rem;
}

.fv__ttl {
    position: absolute;
    top: 56%;
    left: 5%;
    color: var(--blue);
    font-weight: 700;
}

.fv__ttl p {
    position: relative;
    padding-left: .6rem;
    z-index: 2;
}

.fv__ttl p::before {
    content: '';
    transform: skewX(-30deg);
    width: 1.4rem;
    height: 1.6rem;
    background-color: #C2D9E6;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.fv__ttl h1 {
    font-size: 4rem;
}

/* 下層共通 - 番号付きのリスト */
.row-no-flex__list>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    gap: 12rem;
}

.row-no-flex__content {
    width: 50%;
}

.row-no-flex__ttl figure {
    width: 13.8rem;
}

.row-no-flex__item p {
    font-family: var(--ja-font);
    font-weight: 400;
}

.row-no-flex__img {
    width: 45%;
}

/* 下層共通 - 透過背景付のふきだし */
.message-bra {
    position: relative;
    margin-top: 9.6rem;
    background-color: var(--bg-opacity);
    border-radius: .2rem;
    padding: 3.2rem 5%;
}

.message-bra::before,
.message-bra::after {
    content: '';
    width: 5.2rem;
    height: 7.4rem;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
}

.message-bra::before {
    background-image: url(../img/bracket--left.svg);
    top: -1.2rem;
    left: -1.2rem;
}

.message-bra::after {
    background-image: url(../img/bracket--right.svg);
    bottom: -1.2rem;
    right: -1.2rem;
}

.message-bra h3 {
    margin-bottom: 0;
}

/* 下層共通 - アンカーリンク */
.anchorlink-flex {
    padding: 6.4rem 0 20rem;
}

.anchorlink-flex .wp-block-buttons {
    padding-right: 3.2rem;
    margin-right: 3.2rem;
    border-right: .1rem solid var(--main-color);
}

.anchorlink-flex .wp-block-buttons:last-child {
    padding: 0;
    margin: 0;
    border: unset;
}

.btn-anchorlink>.wp-block-button__link {
    background-color: unset;
    color: var(--main-color) !important;
    font-size: 1.6rem;
    font-weight: 700;
    padding: 0 0 0 2.8rem;
    position: relative;
}

.btn-anchorlink .arrow-down {
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    width: 2rem;
    aspect-ratio: 1;
    background-color: var(--blue);
    border-radius: 50%;
    margin-right: .8rem;
    vertical-align: sub;
}

.btn-anchorlink .arrow-down::before,
.btn-anchorlink .arrow-down::after {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(50% - 1px);
    width: .2rem;
    height: .8rem;
    border-radius: 9999px;
    background-color: #fff;
    transform-origin: 50% calc(100% - 1px);
    transform: translateY(10px);
}

.btn-anchorlink .arrow-down::before {
    transform: translateY(-50%) rotate(45deg);
}

.btn-anchorlink .arrow-down::after {
    transform: translateY(-50%) rotate(-45deg);
}

/* 下層共通 - 料金表 */
.fee-table {
    width: 100%;
    max-width: 64rem;
    margin: 0 auto 12rem;
    padding: 1.6rem 0;
    background-color: var(--bg-opacity);
    border-radius: .2rem;
    font-weight: 700;
}

.fee-table h3 {
    width: 30%;
    border: unset;
    border-right: .1rem dashed var(--border-color);
    display: flex;
    justify-content: center;
    align-items: center;
}

.fee-table>.wp-block-group {
    width: 70%;
    padding: 3.2rem 5%;
}

.fee-table>.wp-block-group .is-layout-flex {
    gap: 4rem !important;
}

.fee-table span.txt-red {
    font-size: 3.6rem;
    font-weight: 700 !important;
}

.fee-table__add {
    margin-top: 1.6rem;
    font-family: var(--ja-font);
    font-size: 1.6rem;
    font-weight: 400;
}

/* 下層共通 - 等分横並びレイアウト */
.flex-half__content {
    width: 48%;
}

/*----------------------
 下層ページ
 SC相続手続カウンセラー®とは(/about)
----------------------*/
/* 相続手続カウンセラーとは - お悩み */
.about-worried {
    background-color: #EAEDEE;
    padding: 12rem 0 16rem;
}

.about-worried::after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 92px solid transparent;
    border-left: 92px solid transparent;
    border-top: 64px solid #eaedee;
    border-bottom: 0;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 100%);
}

.about-worried .center-flex__img {
    display: flex;
    justify-content: flex-end;
}

.about-worried .center-flex__img::before {
    content: '';
    width: 90%;
    height: 100%;
    background-color: #DFDFDF;
    position: absolute;
    top: 5.4rem;
    left: -5.4rem;
    z-index: -1;
}

.about-worried .center-flex__img img {
    width: 90%;
}

.about-worried .center-flex__content ul.wp-block-list {
    font-family: var(--ja-font);
    font-weight: 400;
}

.about-worried .center-flex__content ul.wp-block-list li {
    position: relative;
    padding-left: 1.8rem;
    margin-bottom: 1.2rem;
}

.about-worried .center-flex__content ul.wp-block-list li::before {
    content: '';
    width: .6rem;
    aspect-ratio: 1;
    background-color: var(--main-color);
    border-radius: 50%;
    position: absolute;
    top: 1.2rem;
    left: 0;
}

.center-flex__img-block {
    position: relative;
    width: 45%;
}

.center-flex__content {
    width: 48%;
}

/* 相続手続カウンセラーとは - 7つの安心 */
.about-safe {
    padding: 9.6rem 0;
}

.about-safe__txt {
    margin-bottom: 8rem;
}

.wp-block-group.is-layout-flex.about-safe__list {
    flex-wrap: wrap;
    gap: 2.4rem !important;
    margin-bottom: 12rem;
}

.about-safe__item {
    width: 27rem;
    background-color: var(--bg-opacity);
    border-radius: .2rem;
    padding: 2.4rem 1.6rem;
}

.about-safe__item figure {
    width: 100%;
}

.about-safe__item h4 {
    margin: 2.4rem 0 1.2rem;
}

.about-safe__item p {
    font-family: var(--ja-font);
    font-weight: 400;
}

.about-choice {
    padding: 16rem 5% 8rem;
}

.about-choice .wp-block-cover__inner-container {
    background-color: var(--bg-opacity);
    width: 100%;
    max-width: 60rem;
    padding: 4rem 2.5%;
}

.about-choice__inner h3 {
    margin-bottom: 2.4rem;
}

.about-choice__inner ul {
    list-style: none;
    font-family: var(--ja-font);
    font-weight: 400;
}

.about-choice__inner li {
    position: relative;
    padding-left: 2.8rem;
    margin-bottom: 1.2rem;
}

.about-choice__inner li::before {
    content: '';
    width: 2.2rem;
    height: 2.4rem;
    background-image: url(../img/icon-checkmark.svg);
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
}

/* 相続手続カウンセラーとは - 養成講座とは */
.about-sc {
    padding-top: 15.4rem;
}

.about-sc-bg-img {
    position: relative;
    background-image: url(../img/aboutus-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 4rem;
}

.about-sc-bg-img h3 {
    padding-bottom: 24rem;
}

.about-sc__list {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 64%);
}

.about-sc__item {
    position: relative;
    width: 23%;
    background-color: #fff;
    border-radius: .2rem;
    padding: 6rem 1.6rem 3.2rem;
}

.about-sc__img {
    width: 12rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
}

.about-sc__cat {
    font-size: 1.4rem;
    font-weight: 700;
    background-color: var(--blue);
    color: #fff;
    padding: .4rem 1.6rem;
    width: fit-content;
    margin: 0 auto .8rem;
}

.about-sc__ttl {
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 1.2rem;
}

.about-sc__txt {
    font-family: var(--ja-font);
    font-weight: 400;
    font-size: 1.6rem;
}

.about-sc__item {
    width: 23%;
}

.btn-row {
    margin-top: 1.6rem;
}

.btn-row .wp-block-buttons:first-child {
    margin-bottom: 1.2rem;
}

.btn-link>.wp-block-button__link {
    position: relative;
    background-color: unset;
    color: var(--main-color) !important;
    font-weight: 700;
    font-size: 1.6rem;
    padding: 0 3.6rem 0 0;
}

.btn-link>.wp-block-button__link::before {
    content: '';
    width: calc(100% - 3.6rem);
    height: .1rem;
    background-color: var(--main-color);
    position: absolute;
    bottom: 0;
    left: 0;
}

.btn-link>.wp-block-button__link::after {
    content: '';
    width: 2.4rem;
    aspect-ratio: 1;
    background-image: url(../img/btn-link-arrow.svg);
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 0;
    right: 0;
}

.about-merit {
    background-color: var(--blue);
    color: #fff;
    padding: 42rem 0 14.6rem;
}

.about-merit__img {
    width: 40%;
}

.about-merit__img>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
}

.about-merit__img--big {
    width: 90%;
}

.about-merit__img--small {
    width: 60%;
    align-self: flex-end;
    margin-top: -2.4rem;
}

.about-merit__content {
    width: 50%;
}

.about-merit__list>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    gap: 4.8rem;
}

.about-merit__ttl {
    align-items: end;
    margin-bottom: 1.6rem;
}

.about-merit__ttl figure {
    width: 6rem;
    margin-right: .8rem;
}

/* 相続手続カウンセラーとは - 理由 */
.about-reason {
    padding: 20rem 0;
}

.trouble-ex {
    margin-top: 4rem;
}

.wp-block-group.is-layout-flex.trouble-ex__list {
    margin-top: 1.6rem;
    flex-wrap: wrap !important;
    column-gap: 2% !important;
    row-gap: 2.4rem !important;
}

.trouble-ex__item {
    width: 32%;
    background-color: var(--bg-opacity);
    border-radius: .2rem;
    padding-bottom: 2.4rem;
}

.trouble-ex__ttl {
    background-color: var(--blue);
    color: #fff;
    padding: .4rem;
    margin-bottom: 1.6rem;
}

.trouble-ex__item ul {
    padding: 0 1.6rem;
}

.trouble-ex__item ul li {
    position: relative;
    padding-left: 1.6rem;
}

.trouble-ex__item ul li::before {
    content: '';
    width: .4rem;
    aspect-ratio: 1;
    background-color: var(--main-color);
    border-radius: 50%;
    position: absolute;
    top: 1.2rem;
    left: 0;
}

/*----------------------
 下層ページ
 取得の流れ・費用(/flow)
----------------------*/
/* 取得の流れ - 受講セット */
.fees__inner {
    position: relative;
    padding-bottom: 14.4rem;
}

.fees__inner::after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 92px solid transparent;
    border-left: 92px solid transparent;
    border-top: 64px solid var(--light-gray);
    border-bottom: 0;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 100%);
    z-index: 2;
}

.set__content {
    width: 48%;
    background-color: var(--bg-opacity);
    border-radius: .2rem;
    padding-bottom: 2.4rem;
}

.set__content .set__ttl {
    display: inline-block;
    background-color: var(--blue);
    color: #fff;
    padding: .4rem 1.6rem;
}

.set__content ul {
    padding: 1.2rem 0 0 1.6rem;
    font-family: var(--ja-font);
    font-weight: 400;
}

.set__content ul li {
    position: relative;
    padding-left: 1.6rem;
}

.set__content ul li::before {
    content: '';
    width: .4rem;
    aspect-ratio: 1;
    background-color: var(--main-color);
    border-radius: 50%;
    position: absolute;
    top: 1.2rem;
    left: 0;
}

.set-info__list {
    margin-top: 5.6rem;
    background-color: var(--bg-opacity);
    border-radius: .2rem;
    padding: 4rem;
}

.set-info__item:first-child {
    padding-bottom: 3.2rem;
    margin-bottom: 3.2rem;
    border: unset;
    border-bottom: .1rem solid var(--border-color);
}

.set-info__item h4 {
    margin-bottom: 1.6rem;
}

.set-info__img {
    width: 16rem;
}

.set-info__content {
    width: calc(100% - 16rem - 4rem);
    font-family: var(--ja-font);
    font-weight: 400;
}

.set-movie__list {
    margin-top: 4rem;
}

.set-movie__item {
    width: 48%;
}

.set-movie-info__list {
    margin-top: .8rem;
    font-size: 1.6rem;
}

.set-movie-info__list>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    gap: .2rem;
}

.set-movie-info__item p:first-child {
    width: 5.8rem;
}

.set-movie-info__item p:last-child {
    width: calc(100% - 5.8rem - .8rem);
}

/* 取得の流れ - 受講から合格までの流れ */
.process {
    padding: 12rem 0 8rem;
}

.process__item {
    background-color: var(--bg-opacity);
    border-radius: .2rem;
    padding: 4rem 3.2rem 4rem 4.8rem;
}

.process__icon {
    width: 12rem;
}

.process__icon figure {
    width: 100%;
    margin-bottom: 1.2rem;
}

.process__content {
    width: calc(100% - 12rem - 8rem);
}

.process__content p {
    font-family: var(--ja-font);
    font-weight: 400;
}

.wp-block-group.is-layout-flex.btns--small {
    margin-top: 1.6rem;
    gap: 1.2rem !important;
}

.btn--small>.wp-block-button__link {
    background-color: var(--blue);
    padding: 1rem 1.6rem;
    border-radius: .2rem;
    font-size: 1.6rem;
}

.btn--small span.material-symbols-outlined {
    margin-right: .4rem;
}

.process__list .chevron-down {
    width: 7.2rem;
    margin: 3.2rem auto;
}

.process__item--big .process__icon {
    width: 20rem;
    margin: 0 auto 3.2rem;
}

.process__item--big h4 {
    font-size: 2.4rem;
}

.process__item--big .process__content {
    width: 100%;
}

.process__item--big .process__content p:first-child {
    margin-bottom: 3.2rem;
}

/* 取得の流れ - ポイント */
.process-point {
    padding-top: 20rem;
}

/* 取得の流れ - 受講者様の声 */
.process-voice {
    padding-top: 24rem;
}

.process-voice .voice__item figure {
    width: 7.4rem;
}

.process-voice h4.voice__ttl {
    margin-top: 4rem;
    font-family: var(--base-font);
}

.process-voice .voice__txt {
    margin-top: 2.4rem;
}

.voice__item.is-hidden {
    display: none;
}

.voice__list .voice__item.is-visible {
    animation: fadeIn 0.5s ease forwards;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 取得の流れ - よくある質問 */
.process-faq {
    padding: 24rem 0;
}

.process-faq .vk_tab.wp-block-vk-blocks-tab .vk_tab_labels {
    max-width: 64rem;
    margin: 0 auto 4rem;
}

.process-faq .vk_tab_labels .vk_tab_labels_label {
    background-color: #DFE0E4 !important;
    color: var(--main-color) !important;
    font-size: 2rem;
    font-weight: 700;
    padding: 1.6rem .8rem;
}

.process-faq .vk_tab_labels .vk_tab_labels_label:hover,
.process-faq .vk_tab_labels .vk_tab_labels_label-state-active {
    background-color: var(--blue) !important;
    color: #fff !important;
    opacity: 1;
}

.process-faq .vk_tab_labels .vk_tab_labels_label-state-active::before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    border-top: 16px solid var(--blue);
    border-bottom: 0;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 100%);
}

.process-faq .has-border-top {
    border: unset;
}

.process-faq .wp-block-vk-blocks-tab-item>.wp-block-group {
    border: none !important;
    padding: 0 !important;
    background-color: unset !important;
}

.process-faq .wp-block-vk-blocks-tab-item>.wp-block-group>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.process-faq .wp-block-vk-blocks-accordion {
    background-color: #fff;
    border: unset;
    margin: 0;
    padding: 1.6rem;
    border-radius: 0.2rem;
}

.process-faq .vk_accordion-trigger {
    position: relative;
    font-size: 1.8rem;
    font-weight: 700;
    margin: 0;
    padding: .8rem 0 .8rem 4rem;
}

.process-faq .vk_accordion-trigger::before {
    content: 'Q';
    font-size: 2.4rem;
    font-weight: 700;
    position: absolute;
    top: 0;
    left: .8rem;
}

.process-faq .vk_accordion-trigger .vk_accordion-toggle-open {
    border-bottom: none !important;
}

.process-faq .vk_accordion-target-open {
    font-family: var(--ja-font);
    font-weight: 400;
}

.process-faq .vk_accordion-target {
    padding: 0;
}

.process-faq .vk_accordion-target .accordion__content {
    padding: 1.6rem;
    margin-top: 1.6rem;
    border: unset;
    border-top: .1rem solid var(--border-color);
}

.process-faq .vk_accordion-target .btn-link {
    margin-top: 3.2rem;
}

.process-faq .accordion__content ol {
    padding-left: 2.4rem;
    margin-top: 1.6rem;
}


/*----------------------
 下層ページ
 合格後特典(/benefits)
----------------------*/
/* 合格後特典 - リード文 */
.benefit-lead {
    padding: 16rem 0;
    overflow: hidden;
}

.benefit-lead__inner {
    position: relative;
    background-color: var(--bg-opacity);
    border-radius: .2rem;
    padding: 7.2rem 5%;
    font-weight: 700;
}

.benefit-lead__inner figure {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* 合格後特典 - ビジネス会員とは */
.benefit-business .wp-block-cover {
    padding: 18rem 5% 10.4rem;
}

.benefit-business .fee-table {
    margin: 8rem auto 0;
}

.fee-table>.wp-block-group .is-layout-flex.benefit-fee-flex {
    gap: 2.4rem !important;
}

.benefit-point {
    padding-top: 20rem;
}

.benefit-news-ex li {
    font-size: 1.6rem;
}

.benefit-fee-flex--top {
    margin: .8rem 0 .4rem;
}

.benefit-fee-flex p:first-child {
    width: 9rem;
}

.benefit-fee-flex p:last-child {
    width: calc(100% - 9rem - 2.4rem);
}

.benefit-fee-flex p.txt-red {
    font-size: 2.4rem;
}

/* 合格後特典 - ビジネス会員バナー */
.benefit-business-link {
    margin: 16rem auto 24rem;
    padding: 4rem 3.2rem 2.4rem 4rem;
    height: 32.8rem;
    min-height: unset;
}

.benefit-business-link .wp-block-cover__inner-container {
    width: 100% !important;
    height: stretch;
}

.benefit-business-link__inner {
    width: 100%;
    height: 100%;
}

.benefit-business-link__inner>.wp-block-group__inner-container {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}


/*----------------------
 下層ページ
 上級試験(/advance)
----------------------*/
/* 上級試験 - SSC */
.advanced-ssc--top {
    padding: 6.4rem 0 14.4rem;
}

.advanced__lead {
    font-weight: 700;
}

.advanced__lead .anchorlink-flex {
    padding-bottom: 0;
}

.advanced-ssc-content {
    padding-top: 20rem;
}

.advanced-ssc--top .flex-half__content {
    font-family: var(--ja-font);
    font-weight: 400;
}

.advanced-ssc--top .fee-table {
    margin: 12rem auto 0;
}

.advanced-ssc--bottom {
    padding: 8rem 0 10.4rem;
}

.sec-sub__ttl--en {
    position: relative;
    font-size: 1.6rem;
    color: var(--blue);
    margin: 0 auto.8rem;
    width: fit-content;
    z-index: 0;
}

.sec-sub__ttl--en::before {
    content: '';
    transform: skewX(-30deg);
    width: 1.4rem;
    height: 1.6rem;
    background-color: #C2D9E6;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.advanced-ssc--bottom .process__list {
    margin-top: 5.6rem;
}

.advanced-ssc--bottom .process__content figure {
    width: 4.8rem;
    margin: 1.6rem 0 1.6rem 12rem;
}

.advanced-ssc--bottom .process__item {
    padding-left: 0;
}

.advanced-ssc--bottom .process__icon {
    width: 26.3rem;
    border: none;
    border-right: .1rem solid var(--border-color);
    display: flex;
    justify-content: center;
    align-items: center;
}

.advanced-ssc--bottom .process__icon figure {
    width: 12rem;
    margin: 0 auto 1.2rem;
}

.advanced-ssc--bottom .process__content {
    width: calc(100% - 26.3rem - 5.6rem);
}

.advanced-ssc--bottom ul li {
    position: relative;
    padding-left: 1.8rem;
    margin-bottom: .8rem;
}

.advanced-ssc--bottom .flex-half ul li {
    width: 100%;
}

.advanced-ssc--bottom ul li::before {
    content: '';
    width: .6rem;
    aspect-ratio: 1;
    background-color: var(--main-color);
    border-radius: 50%;
    position: absolute;
    top: 1rem;
    left: 0;
}

.advanced-ssc--bottom .set__content ul {
    list-style: none;
    padding: 1.2rem 1.6rem 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}


.advanced-ssc-fix {
    margin-top: 12rem;
}

/* 上級試験 - MSC */
.advanced-msc {
    padding: 22.4rem 0;
}

.advanced-msc .flex-half__content p {
    font-family: var(--ja-font);
    font-weight: 400;
}


/*----------------------
 下層ページ
 動画講座について(/online)
----------------------*/
/* 動画講座について - リード */
.online-lead {
    padding: 24rem 0 16rem;
}

.online-lead .btn-basic>.wp-block-button__link {
    margin-top: 0;
}

.online-lead .wp-block-buttons:first-child .btn-basic>.wp-block-button__link {
    margin-bottom: 1.2rem;
}

/* 動画講座について - アバウト */
.online-about {
    padding: 18.4rem 5% 8rem;
}

/* 動画講座について - メリット */
.online-merit {
    padding-top: 28rem;
}

/* 動画講座について - 講座内容一覧 */
.online-content {
    padding-top: 28rem;
}

.section__ttl--nom {
    margin-bottom: 1.2rem;
}

.online-content .vk_tab {
    margin: 4rem auto 0;
}

.online-content .vk_tab_labels .vk_tab_labels_label {
    background-color: #DFE0E4 !important;
    color: var(--main-color) !important;
    font-size: 2rem;
    font-weight: 700;
    padding: 1.6rem .8rem;
}

.online-content .vk_tab_labels .vk_tab_labels_label:hover,
.online-content .vk_tab_labels .vk_tab_labels_label-state-active {
    background-color: var(--blue) !important;
    color: #fff !important;
    opacity: 1;
}

.online-content .vk_tab.wp-block-vk-blocks-tab .vk_tab_labels {
    margin: 0 auto 5.6rem;
}

.online-content .vk_tab_labels .vk_tab_labels_label-state-active::before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    border-top: 16px solid var(--blue);
    border-bottom: 0;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 100%);
}

.online-content .has-border-top {
    border: unset;
}

.online-content .wp-block-vk-blocks-tab-item>.wp-block-group {
    border: none !important;
    padding: 0 !important;
    background-color: unset !important;
}

.online-content__block {
    position: relative;
    margin-top: 5.6rem;
    padding: 5.6rem 5.6rem 4.8rem;
    background-color: var(--bg-opacity);
    border-radius: .2rem;
    font-family: var(--ja-font);
    font-weight: 400;
}

h4.online-content-cat__ttl {
    position: absolute;
    padding: .4rem 1.6rem;
    background-color: var(--blue);
    color: #fff;
    border-radius: .2rem;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
}

.online-content__item {
    padding-bottom: 1.2rem;
    margin-bottom: .8rem;
    border: unset;
    border-bottom: .1rem solid var(--border-color);
}

.online-content__item .online-content__header,
.online-content__item .online-content-chevron,
.online-content__item .online-content__ttl {
    opacity: 0.4;
}

.online-content__item.has-link .online-content__header,
.online-content__item.has-link .online-content-chevron,
.online-content__item.has-link .online-content__ttl {
    opacity: 1;
}

.online-content__item:last-child {
    margin-bottom: 0;
}

.online-content__header {
    width: calc(100% - 2rem - 2.4rem);
}

.online-content__no {
    width: 2.8rem;
}

.online-content__ttl {
    width: calc(100% - 2.8rem);
}

.online-content-chevron {
    width: 2rem;
    height: 2rem;
    background-color: var(--blue);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
}

.online-content-chevron .material-symbols-outlined {
    font-size: 2rem;
}

.online-content-rec__block .online-content__item {
    padding-bottom: 2.4rem;
    margin-bottom: 4rem;
}

.online-content-rec__block .online-content__header {
    width: 100%;
}

.online-content-rec__block .online-content__item>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    gap: .8rem;
}

.online-cat-special .online-content__no {
    width: 3.8rem;
}

.online-cat-special .online-content__ttl {
    width: calc(100% - 3.8rem);
}

.online-cat-topicks .online-content__no {
    width: 4.4rem;
}

.online-cat-topicks .online-content__ttl {
    width: calc(100% - 4.4rem);
}

/* 動画講座について - 動画サンプル */
.online-preview {
    margin-top: 12rem;
    padding-bottom: 8rem;
}

.online-preview-lead {
    font-family: var(--ja-font);
    font-weight: 400;
    margin-bottom: 5.6rem;
}

.wp-block-group.is-layout-flex.preview__list {
    flex-wrap: wrap;
    row-gap: 4rem !important;
}

.preview__item {
    width: 46%;
}

.preview-info {
    font-family: var(--ja-font);
    font-weight: 700;
    margin-bottom: 1.2rem;
}

.preview__ttl {
    margin-bottom: .4rem;
}

.preview__add {
    font-size: 1.6rem;
}

.preview__item .wp-block-embed {
    aspect-ratio: 16 / 9;
    margin: 0;
}

.preview__item .wp-block-embed__wrapper,
.preview__item .wp-block-embed-youtube iframe {
    height: 100%;
}

/* 動画講座について - Youtube */
.online-youtube {
    margin: 12rem 0;
    padding-bottom: 8rem;
}

.youtube__item {
    width: 31%;
}

.youtube__item .wp-block-embed {
    aspect-ratio: 3 / 2;
    margin: 0;
}

.youtube__item .wp-block-embed .wp-block-embed__wrapper,
.wp-block-embed-youtube iframe {
    height: 100%;
}


/*----------------------
 下層ページ
 協会概要(/information)
----------------------*/
/* 協会概要 - コンセプト */
.overview-concept {
    padding-top: 24rem;
}

.overview-concept__img--first,
.overview-concept__img--second {
    position: relative;
    width: 27%;
}

.overview-concept__img--first figure,
.overview-concept__img--second figure {
    position: absolute;
}

.overview__container {
    position: relative;
    padding-bottom: 4rem;
    width: 46%;
    z-index: 2;
}

.overview__container::before {
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, .6);
    filter: blur(4rem);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.overview-concept__img1 {
    width: 110%;
    top: 2.4rem;
    right: -20%;
}

.overview-concept__img2 {
    width: 70%;
    bottom: 10%;
    left: 0;
}

.overview-concept__img3 {
    width: 80%;
    bottom: 0;
    right: 5%;
}

.overview-concept__img--second::before {
    content: '';
    width: 80%;
    aspect-ratio: 3 / 4;
    background-image: linear-gradient(-45deg, #b7dce8, #effafd 32%, #d6f0f8 70%, #eaf3f5);
    position: absolute;
    bottom: -2.4rem;
    right: calc(5% + 6.4rem);
}

.overview-concept.bg-fog::after {
    content: unset;
}

/* 協会概要 - 協会理念 */
.overview-vision {
    padding-top: 28rem;
}

.overview-vision .flex-half__content p {
    font-family: var(--ja-font);
    font-weight: 400;
}

/* 協会概要 - 協会について */
.overview-overview {
    padding-top: 28rem;
    overflow: visible;
}

.overview-overview figure.wp-block-table {
    border: unset;
    background-color: var(--bg-opacity);
    border-radius: .2rem;
    padding: 4rem 3.2rem;
}

.overview-overview .wp-block-table .has-fixed-layout td {
    width: calc(100% - 12rem - 6.4rem);
    padding: 2.4rem .8rem 2.4rem 0;
    border: unset;
    border-bottom: .1rem solid var(--border-color);
    counter-reset: item;
}

.overview-overview .wp-block-table td:first-of-type {
    width: calc(12rem + 6.4rem);
    background-color: unset;
    border: unset;
    border-bottom: .1rem solid var(--border-color);
    padding: 2.4rem 0 2.4rem .8rem;
    font-weight: 700;
}

.overview-overview .wp-block-table td:last-child {
    font-family: var(--ja-font);
    font-weight: 400;
}

.overview-overview .wp-block-table tr:last-child td {
    padding-bottom: 0;
    border: unset;
}

.overview-overview .wp-block-table td .custom-marker {
    position: relative;
    font-weight: bold;
    display: inline-block;
    padding-left: 2.4rem;
    margin-bottom: .4rem;
    counter-increment: item;
}

.overview-overview .wp-block-table td .custom-marker::before {
    content: counter(item) ". ";
    position: absolute;
    left: 0;
}

/* 協会概要 - 代表挨拶 */
.overview-message {
    padding: 20rem 0 24rem;
}

.overview-message-tables {
    margin-top: 8rem;
}

.overview-message-tables>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    gap: 4rem;
}

.table-whitebg {
    background-color: var(--bg-opacity);
    border-radius: .2rem;
    padding: 3.2rem;
}

.table-whitebg h4 {
    padding-bottom: 1.6rem;
    margin-bottom: 2.4rem;
    border: unset;
    border-bottom: .1rem solid var(--border-color);
}

.table-whitebg__content {
    font-family: var(--ja-font);
    font-weight: 400;
}

.table-whitebg__content ul {
    display: flex;
    flex-direction: column;
    gap: .4rem;
}

.table-whitebg__content ul li {
    position: relative;
    padding-left: 1.6rem;
}

.table-whitebg__content ul li::before {
    content: '';
    width: .4rem;
    aspect-ratio: 1;
    background-color: var(--main-color);
    border-radius: 50%;
    position: absolute;
    top: 1.2rem;
    left: 0;
}

.wealtpark-link {
    margin-top: 5.6rem;
}

.wealtpark__ttl {
    position: relative;
    font-family: var(--base-font);
    font-weight: 700;
    padding-left: 1.6rem;
    margin-bottom: 1.6rem;
}

.wealtpark__ttl::before {
    content: '';
    width: .8rem;
    height: 100%;
    background-color: var(--blue);
    position: absolute;
    top: 0;
    left: 0;
}

.wealtpark-link__item {
    width: 48%;
    max-width: 40rem;
}

.wealtpark-link__ttl {
    margin-top: .8rem;
}

.wealtpark-link__ttl p:first-child {
    font-size: 1.6rem;
}

.table-whitebg.bg-grad {
    padding: 5.6rem 3.2rem;
}



/* ログイン画面 */
.login-page {
    padding-top: 20rem;
    margin-bottom: 12rem;
}

.login-page__title {
    text-align: center;
    margin-bottom: 5.6rem;
}

.login-form {
    max-width: 56rem;
    margin: auto;
}

.login-form__item--top {
    margin-bottom: 1.16rem;
}

.login-form__item label {
    display: inline-block;
    width: 14rem;
    margin-right: 1.6rem;
}

.login-form__item input {
    width: calc(100% - 14rem - 2.4rem);
    padding: .4rem .8rem;
}

.login-page__inner .btn-basic {
    display: flex;
    justify-content: center;
}

.login-error {
    text-align: center;
    margin-bottom: 2.4rem;
    color: var(--red);
    font-weight: 700;
}

/* ビジネス会員限定 - リード */
.business-lead {
    margin-top: 9.6rem;
}

.business-lead__inner {
    position: relative;
    padding: 8rem 5% 8.8rem;
    font-weight: 700;
}

.business-lead__inner::before {
    content: '';
    width: 100%;
    height: 100%;
    background-image: url(../img/gold-fleme.svg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.business-lead__subttl {
    font-size: 2.4rem;
    margin-bottom: 1.2rem;
}

.business-lead__ttl {
    margin-bottom: 5.6rem;
}

/* ビジネス会員限定 - コンテンツ */
.business-link__list {
    margin-top: 12rem;
    margin-bottom: 8rem;
}

.is-layout-flex>.business-link__item {
    padding-right: 1.2rem;
    margin-right: 1.2rem;
    border: unset;
    border-right: .1rem solid var(--border-color);
    font-weight: 700;
}

.is-layout-flex>.business-link__item:last-child {
    padding-right: 0;
    margin-right: 0;
    border-right: unset;
}

.business-link__item>.wp-block-group__inner-container {
    width: 20rem;
}

.business-link__ttl {
    font-size: 1.6rem;
}

.business-link__item figure {
    width: 6.4rem;
    margin: 0 auto .4rem;
}

.business-link__txt {
    font-size: 1.4rem;
}

.business-link__item .chevron-down {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    background-color: var(--blue);
    border-radius: 50%;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: .8rem auto 0;
}

.business-content__item {
    margin-bottom: 8rem;
}

.business-content-data {
    margin-bottom: 24rem;
}

.business-content__inner {
    background-color: var(--bg-opacity);
    border-radius: .2rem;
    padding: 4rem 3.2rem;
}

.business-content__inner p {
    font-family: var(--ja-font);
    font-weight: 400;
}

.business-content__ttl p {
    font-family: var(--base-font);
    font-weight: 700;
}

.business-content__ttl h3 {
    margin-top: 0.8rem;
}

.business-content-data .business-content__inner figure {
    margin-bottom: 2.4rem;
}

.document-list__item {
    border: unset;
    border-bottom: .1rem solid var(--border-color);
    font-family: var(--ja-font);
    font-weight: 400;
    position: relative;
}

.document-list__item a {
    padding: 2.4rem 0;
    display: block;
    width: 100%;
    padding-right: 5.6rem;
}

.document-list__new {
    font-weight: 700 !important;
    color: var(--red);
    position: absolute;
    top: 2.4rem;
    right: 0;
}

.document-list__item.is-hidden {
    display: none;
}

.document-list__more,
.voice-list__more {
    margin-top: 2.4rem;
    display: flex;
    justify-content: center;
}

.document-list__more-btn,
.voice-read-more {
    padding: 0;
    border: unset;
    background-color: unset;
    color: var(--main-color);
    font-family: var(--base-font);
    font-weight: 700;
    font-size: 1.8rem;
    padding-right: .8rem;
    position: relative;
}

.document-list__more-btn::before,
.voice-read-more::before {
    content: 'keyboard_arrow_down';
    font-family: 'Material Symbols Outlined';
    font-weight: 200;
    font-style: normal;
    font-size: 2rem;
    width: 2rem;
    height: 2rem;
    background-color: var(--blue);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(100%, -50%);
}

/* ビジネス会員限定 - 追従新着 */
.business-new {
    width: 22rem;
    background-color: #fff;
    border-radius: .2rem;
    box-shadow: var(--base-shadow);
    padding: 1.6rem 1.6rem 2.4rem;
    opacity: 1;
    visibility: visible;
}

.business-new.vk_fixed-display-position-right {
    right: 1.6rem;
    z-index: 500;
}

.business-new__header {
    color: var(--red);
    font-weight: 700;
    margin-bottom: 1.6rem;
}

.business-new__item:first-child {
    padding-bottom: 3.2rem;
    margin-bottom: 3.2rem;
    border: unset;
    border-bottom: .1rem solid var(--border-color);
}

.business-new__item a {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    text-decoration: underline;
    text-underline-offset: .4rem;
}

.business-new__ttl {
    font-weight: 700;
    margin-bottom: .4rem;
}

.footer-hidden.footer-hidden-on {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}



/*----------------------
 下層ページ
 お問い合わせ(/contact)
----------------------*/
.contact>.wp-block-group__inner-container>h4 {
    margin: 8rem auto 3.2rem !important;
}

.contact-call {
    margin: 0 auto;
    padding: 1.6rem 0;
    width: 30rem;
    background-color: var(--bg-opacity);
    border-radius: .2rem;
    box-shadow: var(--base-shadow);
    font-weight: 700;
}

.contact-call h4 {
    margin-bottom: .8rem;
}

.contact-call-flex p:last-child {
    font-size: 3.2rem;
    font-family: var(--num-font);
}

.contact-call-flex .material-symbols-outlined {
    font-size: 3rem;
    margin-right: .8rem;
}

.contact-call__txt {
    font-size: 1.4rem;
}

/* お問い合わせ - フォーム */
#snow-monkey-form-2113 {
    scroll-margin-top: 144px;
}

.contact {
    padding-bottom: 24rem;
}

.contact .snow-monkey-form {
    padding-top: 14.4rem;
}

body .contact .smf-item {
    display: flex !important;
    justify-content: space-between;
}

.contact .smf-form input::placeholder {
    color: #C8D0DA;
}

.contact .wp-block-snow-monkey-forms-item.smf-item .smf-item__col.smf-item__col--label {
    width: 24rem;
    font-weight: 700;
    margin-bottom: 0;
}

.contact .wp-block-snow-monkey-forms-item.smf-item .smf-item__col--controls {
    width: calc(100% - 24rem - 5.6rem);
}

.contact .smf-form .smf-text-control__control,
.contact .smf-form .smf-textarea-control__control {
    padding: 1.2rem 1.6rem !important;
    font-family: var(--ja-font);
    font-size: 1.6rem;
    border: .1rem solid #C8D0DA !important;
    box-shadow: unset;
}

.contact .smf-form .smf-text-control__control {
    max-width: 40rem;
}

.form-addtxt {
    font-family: var(--ja-font);
    font-weight: 400;
}

.address__flex {
    margin-top: .8rem;
    font-size: 1.6rem;
    font-family: var(--ja-font);
    /* font-weight: 700; */
    gap: .8rem !important;
}

.address__flex p:first-child {
    width: 6.6rem;
}

.address__flex .smf-placeholder {
    width: calc(100% - 6.6rem - .8rem);
}

.address__flex .smf-placeholder[data-name="pref"] {
    max-width: 22rem;
}

.smf-placeholder[data-name="type"] {
    max-width: 28rem;
    font-family: var(--ja-font);
    font-weight: 400;
}

body .contact .smf-item.policy-agree {
    justify-content: center;
    flex-direction: row-reverse;
    gap: .8rem;
    font-family: var(--ja-font);
}

.contact .wp-block-snow-monkey-forms-item.smf-item.policy-agree .smf-item__col.smf-item__col--label,
.contact .wp-block-snow-monkey-forms-item.smf-item.policy-agree .smf-item__col--controls {
    width: fit-content;
}

.policy-agree .smf-item__label {
    font-weight: 400;
}

.policy-agree .smf-checkbox-control__label {
    display: none !important;
}

.snow-monkey-form[data-screen="confirm"] .policy-agree {
    display: none !important;
}

/*----------------------
 下層ページ
 動画詳細ページ(/course)
----------------------*/
.course--top {
    padding-top: 20rem;
}

.course_header {
    margin-bottom: 4rem;
}

.course-category {
    font-size: 1.6rem;
    font-weight: 700;
    position: relative;
    padding-left: .6rem;
    z-index: 2;
}

.course-category::before {
    content: '';
    transform: skewX(-30deg);
    width: 1.4rem;
    height: 1.6rem;
    background-color: #C2D9E6;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.course__ttl {
    font-size: 4rem;
}

.course-overview {
    font-family: var(--ja-font);
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    row-gap: 1.6rem;
    column-gap: 8rem;
    margin-bottom: 6.4rem;
}

.course-overview--short,
.course-overview--long {
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.course-overview--long {
    width: 100%;
}

.course-overview__ttl {
    font-size: 1.6rem;
    padding: .8rem 1.6rem;
    background-color: var(--blue);
    color: #fff;
}

.course-instructor-info {
    font-size: 1.6rem;
    font-weight: 400;
}

.course--top h2 {
    font-size: 2.4rem;
    margin-bottom: 4rem;
}

.course-intro {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8rem;
}

.course-intro img {
    width: 45% !important;
}

.course-description {
    width: 50%;
    font-family: var(--ja-font);
    font-weight: 400;
}

.course-box {
    background-color: var(--bg-opacity);
    border-radius: .2rem;
    padding: 3.2rem;
}

.course-box h4 {
    padding-bottom: 1.6rem;
    margin-bottom: 2.4rem;
    border: unset;
    border-bottom: .1rem solid var(--border-color);
}

.course-box .accordion-003 {
    padding-bottom: 2.4rem;
    margin-bottom: 1.2rem;
    border: unset;
    border-bottom: .1rem solid var(--border-color);
    font-family: var(--ja-font);
    font-weight: 400;
}

.course-content__header {
    width: calc(100% - 2rem - 2.4rem);
    margin-bottom: .8rem;
}

.course-content-flex {
    margin-left: 2.4rem;
    display: flex;
    flex-wrap: wrap;
    row-gap: .4rem;
    column-gap: 6.4rem;
}

.course-content--long,
.course-content--short {
    display: flex;
    gap: 1.2rem;
}

.course-content--long {
    width: 100%;
}

.course-content__ttl {
    width: fit-content;
    font-size: 1.4rem;
    font-weight: 700;
    padding: .2rem .8rem;
    background-color: var(--blue);
    color: #fff;
    border-radius: .2rem;
}

.course-accordion__content {
    margin-top: .4rem;
    margin-left: 2.4rem;
}

.course-accordion__content .course-content--long {
    flex-direction: column;
    gap: .4rem;
}

.course-box .accordion-003 summary {
    position: relative;
    list-style: none;
    cursor: pointer;
}

.course-box .accordion-003 summary::before {
    content: 'keyboard_arrow_down';
    font-family: 'Material Symbols Outlined';
    font-weight: 200;
    font-style: normal;
    font-size: 2rem;
    width: 2rem;
    height: 2rem;
    background-color: var(--blue);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    position: absolute;
    top: 0;
    right: 0;
}

.course-box li {
    position: relative;
    padding-left: 1.6rem;
    margin-bottom: .4rem;
}

.course-box li:last-child {
    margin-bottom: 0;
}

.course-box li::before {
    content: '';
    width: .4rem;
    aspect-ratio: 1;
    background-color: var(--main-color);
    border-radius: 50%;
    position: absolute;
    top: 1.2rem;
    left: 0;
}

.course-content {
    margin-bottom: 4rem;
}

.course-voice {
    margin-bottom: 2.4rem;
}

.course-voice.course-box li {
    margin-bottom: 2.4rem;
}

.course-return-btn {
    margin-bottom: 12rem;
}

.float-btn {
    position: fixed;
    right: 1.6rem;
    bottom: 1.6rem;
    width: 22rem;
    background-color: #fff;
    border-radius: .2rem;
    box-shadow: var(--base-shadow);
    padding: 2.4rem 1.6rem;
    z-index: 5;
}

.float-btn .course__ttl {
    font-size: 1.8rem;
    margin-bottom: 1.6rem;
}

.float-btn p {
    font-family: var(--ja-font);
    font-weight: 400;
    margin-bottom: 3.2rem;
}

p.course-float-add {
        margin-bottom: 0;
    font-size: 1.2rem;
    letter-spacing: 0;
    margin-top: 1.2rem;
}

.float-btn a {
    position: relative;
    display: block;
    width: 17.8rem;
    height: 4.8rem;
    background-color: var(--red);
    color: #fff;
    font-weight: 700;
    font-size: 1.6rem;
    padding: 1.2rem 1.6rem;
}

.float-btn a::after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 1.2rem;
    width: 1rem;
    height: 1rem;
    border-top: .1rem solid #fff;
    border-right: .1rem solid #fff;
    transform: translateY(-50%) rotate(45deg);
}

/* ==============================

    タブレット横以下

============================== */

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

    .inner {
        width: 90%;
    }

}

@media screen and (max-width:1400px) {
    .wp-block-group.is-layout-flex.top-merit__list {
        max-width: 96rem;
        margin: auto;
        flex-wrap: wrap;
        gap: 2.4rem !important;
        justify-content: center;
    }

    .top-merit__item {
        width: 30%;
    }
}

/* ==============================

    スマホ・タブレット縦

============================== */

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

    /*ハンバーガーメニュー表示*/
    .nav-wrapper {
        display: block;
    }

    .is-layout-flex>nav.header-inner-menu {
        display: none;
    }

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    .br-pc {
        display: none;
    }

    .br-tab {
        display: block;
    }

    body {
        font-size: 1.6rem;
    }

    h2 {
        font-size: 2.8rem;
    }

    h3 {
        font-size: 2rem;
        margin-bottom: 3.2rem;
    }

    h4 {
        font-size: 1.6rem;
    }

    .section__ttl {
        margin-bottom: 4rem;
    }


    /* ==============================
    
    お知らせ共通CSS
    
　============================== */
    .-has-sidebar .news-main-layout {
        grid-template-columns: 1fr;
        row-gap: 40px;
    }

    .-has-sidebar .news-page-body {
        width: 100%;
    }

    .news-wrap {
        margin-bottom: 20rem;
    }

    .news-wrap .under-v {
        padding-top: 16rem;
    }

    /* ==============================
    
    ヘッダー
    
    ============================== */
    .scroll-nav .header-inner {
        padding-bottom: 0;
    }

    .header--top {
        height: 8rem;
        display: flex;
        align-items: center;
    }

    .header-right,
    nav.header-inner-menu {
        display: none !important;
    }

    .sp-nav-wrap .wp-block-navigation>.wp-block-navigation-item {
        display: block;
        position: relative;
        width: 100%;
        padding-bottom: 1.6rem;
        margin-bottom: 1.6rem;
        border: unset;
        border-bottom: .1rem solid var(--border-color);
    }

    .sp-nav-wrap .wp-block-navigation .wp-block-navigation__submenu-icon {
        display: none;
    }

    .sp-nav-wrap .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
        position: relative;
        height: auto;
        overflow: visible;
        visibility: visible;
        width: auto;
        opacity: 1;
        margin: 1.2rem 0 0 .8rem;
        background-color: unset;
        border: unset;
    }

    .sp-nav-wrap .wp-block-navigation__submenu-container .wp-block-navigation-item {
        margin-bottom: 1.2rem;
    }

    .sp-nav-wrap .wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content {
        padding: 0 0 0 1.6rem;
        font-size: 1.6rem;
        font-family: var(--ja-font);
        font-weight: 400;
    }


    /* ==============================
    
    フッター
    
    ============================== */
    .wp-block-cover.signup {
        padding: 4rem 5%;
    }

    .signup__txt p.has-text-align-center {
        text-align: left;
    }

    .wp-block-group.is-layout-flex.btn-dia__flex {
        flex-direction: column;
        gap: 1.6rem !important;
        max-width: 40rem;
        margin: auto;
    }

    .btn-dia__flex .wp-block-buttons {
        width: 100%;
    }

    .wp-block-group.is-layout-flex.footer__content {
        flex-direction: column;
        gap: 7.2rem !important;
    }

    .is-layout-flex>.footer-info {
        margin: auto;
    }

    nav.footer-nav {
        width: 100%;
        margin: auto;
    }

    /* ==============================
    
    トップページ
    
    ============================== */
    .mv {
        height: auto;
    }

    .mv>.wp-block-group__inner-container {
        padding-top: 8rem;
    }

    .mv figure {
        margin-right: 2.5%;
        height: calc(70svh - 8rem);
        max-height: 64rem;
    }

    .mv-catch {
        bottom: 10%;
    }

    .mv-subcatch {
        font-size: 1.6rem;
    }

    .txt-box {
        margin-right: .4rem;
    }

    .mv-txt {
        font-size: 1.6rem;
    }

    /* トップ - キャンペーン */
    .campaign {
        padding: 12rem 0 8rem 0;
    }

    .campaign__inner {
        padding: 5.6rem 2.5% 4.8rem;
    }

    .campaign__inner h3 {
        font-size: 2rem;
        margin-bottom: 2.4rem;
    }

    .campaign__inner p {
        margin-bottom: 2.4rem;
    }

    /* トップ - アバウト */
    .top-about__inner {
        padding: 12rem 0 8rem;
    }

    .wp-block-group.is-layout-flex.top-about__upper {
        flex-direction: column-reverse;
        gap: 8rem !important;
    }

    .top-about__content,
    .top-about__image {
        width: 100%;
    }

    .top-about__content h3 {
        text-align: center;
    }

    .top-merit {
        margin: 12rem auto 0;
    }

    .top-merit .btn-basic>.wp-block-button__link {
        margin-top: 4rem;
    }

    /* トップ - 特徴 */
    .top-features {
        padding-top: 16rem;
    }

    .flex-no-no {
        height: 6.4rem;
    }

    .flex-no__item {
        padding: 2.4rem 0;
    }

    .flex-no__img {
        height: fit-content;
        align-self: center;
    }

    figure.wp-block-image.flex-no__img img {
        height: auto;
    }

    /* トップ - 流れ */
    .bg-fog-before {
        padding: 4rem 2.5%;
        margin-left: 2.5%;
    }

    .bg-fog-before .section__ttl {
        justify-content: center;
    }

    .bg-fog-before .title-decor {
        left: 50%;
        transform: translate(-50%, -90%);
    }

    .top-process-arrow {
        width: 1.6rem;
    }

    .top-process__item {
        padding: 4rem 2%;
        height: auto;
    }

    /* トップ - 受講者様の声 */
    .top-voice {
        padding-top: 14.4rem;
    }

    .voice__inner {
        padding-top: 3.2rem;
    }

    .section__ttl--small {
        margin-bottom: 1.6rem;
    }

    /* トップ - 代表挨拶 */
    .message__header {
        aspect-ratio: 4 / 1;
    }

    .message__inner {
        margin-top: 4rem;
    }

    .message-ul__block .normal__list li {
        font-size: 1.6rem;
    }

    /* トップ - オンライン講座 */
    .top-online__img--top,
    .top-online__img--bottom {
        width: calc((100% - 54rem) / 2);
    }

    .top-online__img1 {
        min-width: 24.5rem;
        left: unset;
        right: 0;
        transform: translateX(50%);
    }

    .top-online__img2 {
        min-width: 11rem;
    }

    .top-online__img3 {
        min-width: 23.2rem;
        right: -17%;
    }

    .is-layout-flex>.top-online__content {
        width: 54rem;
    }

    .top-online__ttl {
        margin-bottom: 4rem;
    }

    .top-online__ttl h2 .txt-red {
        font-size: 3.2rem;
    }

    .top-online__img4 {
        min-width: 17.5rem;
    }

    .top-online__img5 {
        min-width: 12rem;
    }

    /* トップ - お知らせ・コラム */
    .top-post {
        margin-top: 12rem;
    }

    /* トップ - ビジネス会員 */
    .top-business {
        margin: 0 auto 20rem;
        padding-top: 20rem;
    }


    /* ==============================
    
    下層ページ
    
    ============================== */
    /* FV */
    .fv {
        padding-top: 8rem;
    }

    .fv figure {
        aspect-ratio: 3 / 1;
    }

    .fv__ttl h1 {
        font-size: 3.2rem;
    }


    /* 想像手続カウンセラーとは */
    .about-worried {
        padding: 8rem 0;
    }

    .wp-block-group.is-layout-flex.center-flex {
        flex-direction: column;
        gap: 4rem !important;
        max-width: 56rem;
        margin: auto;
    }

    .center-flex__img-block,
    .about-worried .center-flex__img img,
    .center-flex__content {
        width: 100%;
    }

    .about-worried .center-flex__img::before {
        width: 100%;
        top: 2.4rem;
        left: -2.4rem;
    }

    .about-worried .center-flex__content ul.wp-block-list li {
        font-size: 1.6rem;
        margin-bottom: .8rem;
    }

    .about-worried .center-flex__content ul.wp-block-list li::before {
        top: 1rem;
    }

    .about-safe__txt {
        margin-bottom: 5.6rem;
    }

    .wp-block-cover.about-choice {
        padding: 12rem 2.5% 4rem;
        justify-content: center !important;
    }

    .about-choice__inner li {
        font-size: 1.6rem;
    }

    .about-sc-bg-img h3 {
        padding-bottom: 32rem;
    }

    .wp-block-group.is-layout-flex.about-sc__list {
        flex-wrap: wrap;
        row-gap: 8rem !important;
        transform: translateX(-50%);
        bottom: -44rem;
    }

    .about-sc__item {
        width: 48%;
    }

    .about-merit {
        padding: 58rem 0 8rem;
    }

    .wp-block-group.is-layout-flex.about-merit__flex {
        flex-direction: column;
        gap: 4rem !important;
        /* max-width: 56rem; */
        margin: auto;
    }

    .about-merit__img {
        width: 100%;
    }

    .about-merit__img--big {
        width: 60%;
    }

    .about-merit__img--small {
        width: 50%;
        margin-top: -8rem;
    }

    .about-merit__content {
        width: 100%;
        max-width: 56rem;
    }

    .about-reason {
        padding: 14.4rem 0 20rem;
    }

    .row-no-flex__list>.wp-block-group__inner-container {
        gap: 8rem;
    }

    .wp-block-group.is-layout-flex.row-no-flex__item {
        flex-direction: column;
        gap: 4rem !important;
    }

    .row-no-flex__content {
        width: 100%;
    }

    .row-no-flex__ttl figure {
        width: 8rem;
    }

    .row-no-flex__img {
        width: 100%;
        max-width: 56rem;
    }

    .message-bra {
        margin-top: 8rem;
        padding: 2.4rem 2.5%;
    }

    /* 取得の流れ・費用 */
    .wp-block-group.is-layout-flex.anchorlink-flex {
        padding-bottom: 14.4rem;
    }

    .anchorlink-flex .wp-block-buttons {
        padding-right: 1.6rem;
        margin-right: 1.6rem;
    }

    .btn-anchorlink>.wp-block-button__link {
        font-size: 1.4rem;
    }

    .fees__inner {
        padding-bottom: 8rem;
    }

    .fee-table {
        margin-bottom: 8rem;
    }

    .fee-table span.txt-red {
        font-weight: bold;
        font-size: 2.8rem;
    }

    .fee-table__add {
        margin-top: .8rem;
    }

    .wp-block-group.is-layout-flex.set-movie__list {
        flex-direction: column;
        gap: 2.4rem !important;
    }

    .set-movie__item {
        width: 100%;
    }

    .fees__inner::after {
        content: unset;
    }

    .process-voice {
        padding-top: 16rem;
    }

    .process {
        padding: 8rem 0;
    }

    .process-point {
        padding-top: 14.4rem;
    }

    .process-faq {
        padding: 20rem 0;
    }

    .process-faq .vk_tab_labels .vk_tab_labels_label {
        font-size: 1.8rem;
        padding: 1.2rem .8rem;
    }

    .process-faq .vk_accordion-trigger {
        font-size: 1.6rem;
        padding: 0 0 0 3.2rem;
    }

    .process-faq .vk_accordion-trigger::before {
        font-size: 2rem;
        top: -.3rem;
        left: .8rem;
    }

    .process-faq .vk_accordion-target .accordion__content {
        padding: 1.6rem .8rem;
    }

    /* 合格後特典 */
    .benefit-lead {
        padding: 12rem 0;
        overflow: hidden;
    }

    .benefit-lead__inner {
        padding: 5.6rem 5%;
    }

    .benefit-lead__inner figure {
        width: 9.6rem;
    }

    .benefit-business .wp-block-cover {
        padding: 12rem 5% 8rem;
    }

    .benefit-business .fee-table {
        margin: 8rem auto 0;
    }

    .benefit-point {
        padding-top: 14.4rem;
    }

    .benefit-business-link {
        margin: 12rem auto 20rem;
        padding: 2.4rem;
        height: 28rem;
    }

    /* 上級試験 */
    .advanced-ssc--top {
        padding-bottom: 8rem;
    }

    .advanced__lead .wp-block-group.is-layout-flex.anchorlink-flex {
        padding-bottom: 0;
    }

    .advanced-ssc-content {
        padding-top: 14.4rem;
    }

    .advanced-ssc--top .fee-table {
        margin-top: 8rem;
    }

    .advanced-ssc--bottom {
        padding: 8rem 0;
    }

    .advanced-ssc--bottom .process__list {
        margin-top: 4rem;
    }

    .advanced-ssc--bottom ul li {
        font-size: 1.6rem;
        margin-bottom: .4rem;
    }

    .advanced-ssc-fix {
        margin-top: 8rem;
    }

    .advanced-msc {
        padding: 14.4rem 0 20rem;
    }

    /* 動画講座について */
    .online-lead {
        overflow: hidden;
        padding: 12rem 0 8rem;
    }

    .online-about {
        padding: 12rem 5% 8rem;
    }

    .online-merit {
        padding-top: 14.4rem;
    }

    .online-content {
        padding-top: 20rem;
        max-width: 72rem;
        margin: auto;
    }

    .online-content .vk_tab.wp-block-vk-blocks-tab .vk_tab_labels {
        margin-bottom: 4rem;
    }

    .online-content .vk_tab_labels .vk_tab_labels_label {
        font-size: 1.8rem;
        padding: 1.2rem .8rem;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .online-content__block {
        padding: 4rem 2.4rem;
    }

    .online-preview {
        margin-top: 4rem;
    }

    .online-youtube {
        margin: 4rem 0 20rem;
    }

    .wp-block-group.is-layout-flex.youtube__list {
        flex-wrap: wrap;
        row-gap: 2.4rem !important;
    }

    .youtube__item {
        width: 48%;
    }

    /* 動画詳細ページ */
    .course--top {
        padding-top: 12rem;
    }

    .course__ttl {
        font-size: 2.8rem;
    }

    .course-overview {
        row-gap: 2.4rem;
    }

    .course-overview--long {
        flex-direction: column;
        align-items: flex-start;
        gap: .8rem;
    }

    .course-overview__ttl {
        padding: .4rem 1.2rem;
    }

    .course-instructor-info {
        font-size: 1.4rem;
    }

    .course-overview--short {
        gap: .8rem;
    }

    .course-intro {
        flex-direction: column;
        gap: 4rem !important;
    }

    .course-intro img {
        width: 100% !important;
        max-width: 48rem;
    }

    .course-description {
        width: 100%;
    }

    /* 協会概要 */
    .overview-concept {
        padding-top: 12rem;
    }

    .overview-concept__img--first,
    .overview-concept__img--second {
        width: calc((100% - 56rem) / 2);
    }

    .overview__container {
        width: 56rem;
        padding-bottom: 8rem;
    }

    .overview-concept__img1 {
        min-width: 22rem;
        right: unset;
    }

    .overview-concept__img2 {
        min-width: 18rem;
        bottom: 5%;
    }

    .overview-concept__img3 {
        min-width: 12rem;
    }

    .overview-concept__img--second::before {
        min-width: 12rem;
        bottom: -1.6rem;
        right: calc(5% + 2.4rem);
    }

    .overview-vision,
    .overview-overview {
        padding-top: 20rem;
    }

    .overview-overview figure.wp-block-table {
        padding: 3.2rem 2.4rem;
    }

    .overview-message {
        padding: 14.4rem 0 20rem;
    }

    .table-whitebg__content ul li {
        font-size: 1.6rem;
    }

    .table-whitebg {
        padding: 3.2rem 2.4rem;
    }

    .table-whitebg.bg-grad {
        padding: 5.6rem 2.4rem;
    }

    /* お問い合わせ・お申し込み */
    .contact {
        padding-bottom: 20rem;
    }

    .contact .snow-monkey-form {
        padding-top: 8rem;
    }

    .contact>.wp-block-group__inner-container>h4 {
        margin-top: 6.4rem;
    }

    .contact-call-flex .material-symbols-outlined {
        font-size: 2.4rem;
    }

    .contact-call-flex p:last-child {
        font-size: 2.8rem;
    }

    .contact .wp-block-snow-monkey-forms-item.smf-item.policy-agree .smf-item__col.smf-item__col--label {
        width: 24rem !important;
    }

    .contact .wp-block-snow-monkey-forms-item.smf-item .smf-item__col.smf-item__col--label {
        width: 20rem !important;
    }

    .contact .wp-block-snow-monkey-forms-item.smf-item .smf-item__col--controls {
        width: calc(100% - 20rem - 2.4rem);
    }

    /* ビジネス会員限定 */
    .business-lead {
        margin-top: 4rem;
    }

    .business-link__list {
        margin-top: 8rem;
    }

    .business-content-data {
        margin-bottom: 20rem;
    }

    .login-page {
        padding-top: 14.4rem;
    }

    .login-page__title {
        margin-bottom: 4rem;
    }

}



/* ==============================

    タブレット縦のみ

============================== */

@media (max-width: 1100px) and (min-width: 710px) {

    /*MVの高さ適宜変更*/
    .mainv,
    .slider-01,
    .slider-01 .slide figure.wp-block-image.size-full,
    .slider-01 .slide figure.wp-block-image.size-full img {
        height: 60vh;
    }

    .tel-menu-flex {
        max-width: 374px;
    }

    .vk_spacer-display-tablet {
        display: block !important;
    }

    .vk_spacer-display-pc,
    .vk_spacer-display-mobile {
        display: none !important;
    }

}


/* ==============================

    スマホ以下　

============================== */

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

    .br-sp {
        display: block;
    }

    .br-tab {
        display: none;
    }

    .pc-tab {
        display: none;
    }

    .mobile {
        display: block;
    }

    .fix_nav.sp_disp.sp {
        display: block;
    }

    h2 {
        letter-spacing: 0;
    }

    /*スマホ版MVの高さ適宜変更*/
    .inner {
        width: 90%;
    }

    .vk_spacer-display-mobile {
        display: block !important;
    }

    .vk_spacer-display-pc,
    .vk_spacer-display-tablet {
        display: none !important;
    }

    .message-bra h3 {
        font-size: 1.8rem;
        line-height: 1.75;
    }

    /* ==============================
    
        特定商取引に基づく表記・テーブル

    ============================== */

    .wp-block-table tr td {
        display: block;
        width: 100%;
    }

    .wp-block-table td:first-of-type {
        width: 100%;
    }

    figure.wp-block-table td,
    figure.wp-block-table th {
        border: none;
        padding: 10px 13px;
    }


    /* ==============================
    
    個人情報保護方針
    
　============================== */

    .wp-block-group.policy-wrap p {
        margin-bottom: 23px;
    }

    .wp-block-group.policy-wrap li {
        margin-bottom: 20px;
    }

    /* ==============================
    
    お知らせ共通CSS
    
　============================== */

    section.entry_list {
        font-size: 14px;
    }

    .nav_select {
        margin-top: 21px;
    }

    .news-main-layout {
        padding-top: 0;
        margin-bottom: 0;
    }

    .-has-sidebar .news-main-layout {
        row-gap: 20px;
    }

    .news-wrap {
        margin-bottom: 12rem;
    }

    .news-wrap .under-v {
        padding-top: 12rem;
    }

    .single-post .news-wrap {
        padding-top: 12rem;
    }

    /* ==============================
    
        以下テーマ専用CSS
    
    ============================== */
    /*---------------------
     ヘッダー
    ---------------------*/
    .header--top {
        height: 6.4rem;
    }

    .header--top .logo {
        width: 26rem;
    }


    /*---------------------
     フッター
    ---------------------*/
    .footer-info {
        width: 100%;
    }

    ul.footer-nav {
        height: unset;
        gap: 0;
    }

    .footer-nav .wp-block-navigation>.wp-block-navigation-item {
        width: 100%;
        padding-bottom: 1.6rem;
        margin-bottom: 1.6rem;
        border: unset;
        border-bottom: .1rem solid var(--border-color);
    }

    .footer-nav .wp-block-navigation>.wp-block-navigation-item:last-child {
        padding-bottom: 0;
        margin-bottom: 0;
        border: unset;
    }

    .footer-block {
        padding-bottom: 8rem;
    }

    .btn-dia>.wp-block-button__link {
        font-size: 2rem;
        max-width: 30rem;
        height: 9.6rem;
    }

    .wp-block-buttons>.wp-block-button.btn-dia {
        display: flex;
        justify-content: center;
    }

    .footer-block figure.wp-block-table td {
        display: inline;
    }

    /*---------------------
     トップページ 
    ---------------------*/
    .mv {
        margin-bottom: 7.2rem;

    }

    .mv figure {
        height: calc(64svh - 8rem);
    }

    .mv-catch {
        position: unset;
        margin: 4rem 5% 0;
    }

    .scroll-box {
        position: absolute;
        bottom: 8rem;
        right: 2.5%;
        writing-mode: vertical-rl;
    }

    .scroll-box::before,
    .scroll-box::after {
        bottom: -8rem;
        height: 6.4rem;
    }

    .scroll_down {
        font-size: 1.2rem;
    }

    .campaign,
    .top-about {
        overflow: hidden;
    }

    .top-about__content h3 {
        text-align: left;
    }

    .wp-block-group.is-layout-flex.top-merit__list {
        flex-direction: column;
    }

    .top-merit__item {
        width: 100%;
        padding: 3.2rem 1.6rem;
    }

    .top-merit {
        max-width: 40rem;
    }


    .top-merit__item figure {
        width: 8rem;
    }

    .top-merit__item>.wp-block-group__inner-container {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }


    .top-merit__item h4 {
        width: calc(100% - 8rem - 2.8rem);
        margin-top: 0;
    }

    .flex-no__item.wp-block-group.is-layout-flex {
        position: relative;
        flex-direction: column;
        gap: 2.4rem !important;
        width: 100%;
        margin: auto;
        padding: 0;
    }

    .flex-no__img {
        width: 95%;
        align-self: flex-start;
    }

    .flex-no-no,
    .flex-no__item h3 {
        margin-left: 5%;
    }

    .flex-no__item:nth-child(even) .flex-no-no,
    .flex-no__item:nth-child(even) h3 {
        margin-left: 0;
    }

    .flex-no__item:nth-child(even) .flex-no__img {
        align-self: flex-end;
    }

    .is-layout-flex>.flex-no__content {
        width: 90%;
        margin: auto;
    }

    .flex-no__content>.wp-block-group__inner-container,
    .flex-no__item:nth-child(even) .flex-no__content>.wp-block-group__inner-container {
        margin: 0 0 3.2rem;
    }

    .flex-no__item:nth-child(even) .flex-no__content::before {
        content: unset;
    }

    .flex-no__item:nth-child(even)::before {
        content: '';
        width: 95%;
        height: calc(100% - 8rem);
        background-color: var(--light-blue);
        position: absolute;
        top: 8rem;
        left: 0;
        z-index: -1;

    }

    .wp-block-group.is-layout-flex.top-process__list {
        flex-direction: column;
    }

    .is-layout-flex>.top-process__item {
        width: 100%;
        max-width: 27rem;
        margin: auto;
        padding: 3.2rem 2.4rem;
    }

    .is-layout-flex>.top-process-arrow.top-process-arrow {
        transform: rotate(90deg);
        transform-origin: center;
        margin: auto;
    }

    .wp-block-group.is-layout-flex.voice__list {
        flex-direction: column;
        gap: 8rem !important;
    }

    .voice__item {
        width: 100%;
    }

    .voice__item::before {
        width: 100%;
        height: .1rem;
        top: unset;
        bottom: -4rem;
        right: unset;
        left: 0;
    }

    .message__header {
        aspect-ratio: 3 / 1;
    }

    .message__inner .section__ttl {
        justify-content: center;
    }

    .message__inner .title-decor {
        left: 50%;
        transform: translate(-50%, -90%);
    }


    .message__img {
        float: unset;
        margin: 0 auto;
        width: 28rem;
    }

    .wp-block-group.is-layout-flex.btns-flex {
        flex-direction: column;
        gap: 2.4rem !important;
        margin-top: 4rem;
    }

    .message__inner .btns-flex .btn-basic>.wp-block-button__link {
        margin-top: 0;
    }

    .top-online__img--top,
    .top-online__img--bottom {
        position: absolute;
        width: 100%;
        height: 100%;
    }

    .top-online__img1 {
        transform: unset;
        max-width: 24rem;
        /* transform: translateX(80%); */
    }

    .top-online__img2 {
        top: 20%;
        max-width: 11.4rem;
    }

    .top-online__img3 {
        max-width: 23.2rem;
        right: unset;
        left: 0;
        bottom: 8rem;
    }

    .is-layout-flex>.top-online__content {
        width: 95%;
    }

    .top-online__img4 {
        max-width: 17.5rem;
        top: unset;
        bottom: 1.6rem;
        right: 2.5%;
    }

    .top-online__img5 {
        display: none;
    }

    .wp-block-group.is-layout-flex.top-post__list {
        flex-direction: column;
        gap: 12rem !important;
    }

    .top-post__item {
        width: 100%;
    }

    .top-business {
        margin-bottom: 12rem;
    }

    /*---------------------
     下層ページ 
    ---------------------*/
    /* FV */
    .fv {
        padding-top: 6.4rem;
    }

    .fv__ttl {
        top: unset;
        bottom: 2.4rem;
    }

    .fv__ttl p {
        font-size: 1.4rem;
    }

    .fv__ttl h1 {
        font-size: 2.4rem;
    }

    /* 相続手続カウンセラーとは */
    .about-safe__txt p.has-text-align-center {
        text-align: justify;
    }

    .wp-block-cover.about-choice {
        padding: 4rem 2.5%;
    }

    .wp-block-cover.about-choice .wp-block-cover__image-background {
        object-position: top 0 right 10%;
    }

    .about-sc-bg-img h3 {
        padding-bottom: 72rem;
    }

    .wp-block-group.is-layout-flex.about-sc__list {
        bottom: unset;
        top: 34rem;
    }

    .about-sc__item {
        width: 100%;
    }

    .about-merit {
        padding-top: 100rem;
    }

    .wp-block-group.is-layout-flex.about-merit__ttl {
        flex-direction: column;
        align-items: flex-start;
    }

    .trouble-ex__item {
        width: 100%;
    }

    /* 取得の流れ・費用 */
    .wp-block-group.is-layout-flex.anchorlink-flex {
        flex-wrap: wrap;
        justify-content: space-between;
        row-gap: 1.6rem !important;
        align-items: flex-start;
    }

    .processfees .wp-block-group.is-layout-flex.anchorlink-flex {
        max-width: 30rem;
        margin: auto;

    }

    .anchorlink-flex .wp-block-buttons {
        width: 13rem;
        padding-right: 0;
        margin-right: 0;
        border-right: unset;
    }

    .btn-anchorlink>.wp-block-button__link {
        text-align: left !important;
    }

    .wp-block-group.is-layout-flex.fee-table {
        flex-direction: column;
        padding: 1.6rem 5%;
    }

    .fee-table h3 {
        width: 100%;
        padding-bottom: 1.6rem;
        border-right: unset;
        border-bottom: .1rem dashed var(--border-color);
    }

    .fee-table>.wp-block-group {
        width: 100%;
        padding: 3.2rem 0;
    }

    .flex-half__content,
    .set__content {
        width: 100%;
    }

    .set-info__list {
        padding: 4rem 5%;
    }

    .set-info__item h4 {
        text-align: center;
    }

    .set-info__item>.wp-block-group__inner-container>.wp-block-group.is-layout-flex {
        flex-direction: column;
        gap: 2.4rem !important;
    }

    .is-layout-flex>.set-info__img {
        margin: auto;
    }

    .set-info__content {
        width: 100%;
    }

    .wp-block-group.is-layout-flex.process__item,
    .process__item {
        padding: 4rem 5%;
        flex-direction: column;
        gap: 2.4rem !important;
    }

    .process__content {
        width: 100%;
    }

    .wp-block-group.is-layout-flex.btns--small {
        flex-direction: column;
    }

    .process__item--big h4 {
        font-size: 2rem;
    }

    .flow-features__list {
        margin-top: 4rem;
    }

    .process-faq .vk_tab_labels .vk_tab_labels_label {
        padding: 1.2rem .8rem;
        font-size: 1.6rem;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .process-faq .wp-block-vk-blocks-accordion {
        padding: 1.6rem 1.2rem;
    }

    .process-faq .vk_accordion-trigger {
        padding-left: 2.4rem;
        padding-right: 1.6rem;
    }

    .process-faq .vk_accordion-trigger::before {
        font-size: 1.8rem;
        left: .2rem;
    }

    .vk_accordion-trigger .vk_accordion-toggle-close::after,
    .vk_accordion-trigger .vk_accordion-toggle-open::after {
        right: 3.2rem !important;
        top: 1.2rem !important;
    }

    /* 合格者特典 */
    .benefit-business .gap-16 p.has-text-align-center {
        text-align: justify;
    }

    .benefit-business .fee-table {
        width: 90%;
    }

    .benefit-business-link {
        padding: 1.6rem;
    }

    /* 上級試験 */
    .advanced__lead .gap-16 p.has-text-align-center {
        text-align: justify;
    }

    .wp-block-group.is-layout-flex.flex-half {
        flex-direction: column;
        gap: 2.4rem !important;
    }

    .advanced-ssc--top .fee-table p {
        text-align: center;
    }

    .advanced-ssc--bottom .process__icon {
        border-right: unset;
        margin: auto;
    }

    .advanced-ssc--bottom .process__content {
        width: 100%;
    }


    /* 動画講座について */
    .online-about__inner .gap-16 p.has-text-align-center {
        text-align: justify;
    }

    .online-content .vk_tab.wp-block-vk-blocks-tab .vk_tab_labels {
        flex-wrap: wrap;
        gap: .1rem !important;
    }

    .online-content .vk_tab_labels .vk_tab_labels_label {
        font-size: 1.6rem;
        width: calc(50% - .05rem);
        white-space: nowrap;
    }

    .online-content .vk_tab_labels .vk_tab_labels_label-state-active::before {
        content: unset;
    }

    .online-about__inner .section__ttl {
            width: 108%;
    margin-left: -6%;
    }

    .has-text-align-center.online-content__ttl {
        width: 100%;
        text-align: justify;
    }

    .wp-block-group.is-layout-flex.online-content__header {
        align-items: flex-start;
    }

    .is-layout-flex>.online-content-chevron {
        margin-top: .4rem;
    }

    .preview__item,
    .youtube__item {
        width: 100%;
    }

    /* 動画詳細ページ */
    .float-btn {
        bottom: 7.2rem;
        width: unset;
        background-color: unset;
        padding: 0;
    }

    .float-btn .course__ttl,
    .float-btn p {
        display: none;
    }

    .float-btn a {
    width: 22rem;
    height: 6.4rem;
    }

    .float-btn a::before {
    content: '※会員登録・ログインが必要です';
    font-family: var(--ja-font);
    font-weight: 400;
    font-size: 1.2rem;
    letter-spacing: 0;
    line-height: 1.5;
    position: absolute;
    bottom: 1rem;
    left: 0;
    padding: 0 1.6rem;
    }

    .float-btn a::after {
        transform: rotate(45deg);
    top: 1.8rem;
    }

    .course-box {
        padding: 3.2rem 1.6rem;
    }

    .course-return-btn {
        margin-bottom: 8rem;
    }

    /* 上級試験 */
    .advanced__lead .wp-block-group.is-layout-flex.anchorlink-flex {
        justify-content: center;
        gap: 4rem !important;
    }


    .advanced__lead .anchorlink-flex .wp-block-buttons {
        width: unset;
    }

    .advanced__lead .btn-anchorlink {
        width: 13rem;
    }



    /* 協会概要 */
    .overview-concept__content {
        margin: auto;
    }

    .overview-concept__content h2 {
        font-size: 2rem;
    }

    .overview-concept__inner.wp-block-group.is-layout-flex {
            flex-direction: column;
    gap: 2.4rem !important;
    }

    .overview-concept__img--first, .overview-concept__img--second {
    width: 100%;
    }

    .overview-concept__img--first figure.overview-concept__img1 {
            position: unset;
    width: 40%;
    }

    .overview-concept__img2 {
            display: none;
    }

    .overview__container {
            width: 95%;
            margin: auto !important;
    padding-bottom: 0;
    }

    .overview-concept__img--second>.wp-block-group__inner-container {
            display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 56rem;
    margin: auto;
    }

    .overview-concept__img--second::before {
        content: none;
    }

    .overview__container .gap-16 p {
        letter-spacing: 0;
    }

    .overview-concept__img--second figure.overview-concept__img3 {
            position: unset;
    width: 30%;
    }

    .overview-concept__img--second figure.overview-concept__img2 {
        position: unset;
        display: block;
            width: 45%;
    }

    .overview-overview .wp-block-table .has-fixed-layout td {
        width: 100%;
        padding: 0 0 2.4rem;
    }

    .overview-overview .wp-block-table td:first-of-type,
    .overview-overview .wp-block-table tr:last-child td:first-child {
        width: 100%;
        padding: 1.6rem 0;
        border-bottom: unset;
    }

    .wp-block-group.is-layout-flex.wealtpark-link__list {
        flex-direction: column;
        gap: 2.4rem !important;
    }

    .wealtpark-link__item {
        width: 100%;
    }

    .table-whitebg {
        padding: 3.2rem 1.6rem;
    }

    .table-whitebg.bg-grad {
        padding: 4rem 1.6rem;
    }

    /* お問い合わせ */
    body .contact .smf-item {
        flex-direction: column;
        gap: .8rem !important;
        margin-bottom: 4rem !important;
    }

    .contact .wp-block-snow-monkey-forms-item.smf-item .smf-item__col.smf-item__col--label {
        font-size: 1.6rem;
    }

    .contact .wp-block-snow-monkey-forms-item.smf-item .smf-item__col--controls {
        width: 100%;
    }

    .wp-block-snow-monkey-forms-item.smf-item.requ .smf-item__col.smf-item__col--label {
        padding-left: 0;
    }

    body .contact .smf-item.policy-agree {
        margin-bottom: 0 !important;
    }

    .address__flex p {
        font-size: 1.4rem;
    }

    /* ビジネス会員限定 */
    .wp-block-group.is-layout-flex.business-link__list {
        margin-top: 6.4rem;
        justify-content: center;
        column-gap: 2% !important;
    }

    .business-link__txt {
        display: none;
    }

    .is-layout-flex>.business-link__item {
        padding: 0;
        margin: 0;
        border-right: unset;
        width: 10.8rem;
    }

    .business-link__item>.wp-block-group__inner-container {
        width: auto;
    }

    .document-list__item {
        font-size: 1.6rem;
    }

    .document-list__item a {
        padding: 1.6rem 0;
    }

    .document-list__new {
        display: block;
        position: unset;
    }

    .business-new {
        display: none !important;
    }

    .business-lead__inner::before {
        background-image: url(../img/gold-flame-sp.svg);
    }

    .business-content__inner {
            padding: 4rem 5%;
    }

    .business-content__inner>.wp-block-group__inner-container>p.has-text-align-center {
        text-align: left;
    }

    .login-page__title {
        font-size: 2.4rem;
    }

    .login-form {
        max-width: 40rem;
    }

    .login-form__item label {
        display: block;
        margin-bottom: .8rem;
    }

    .login-form__item input {
        width: 100%;
    }




}


/* ==============================

  その他適宜追加する場合は下記に記述

============================== */