/* --- ベースカラーとフォント --- */
body {
    background-color: #F8F8F8;
    /* オフホワイト */
    color: #333333;
    /* ダークグレー - 本文基本色 */
    /*font-family: 'Noto Sans JP', sans-serif;*/
    font-family: 'Noto Sans JP', 'Arial', 'ns';
    /* 基本ゴシック体 */
}

/* サイト全体のリンク色 (メインカラーに) */
a {
    color: #333333;
    /* ディープネイビー */
    text-decoration: none;
    /* 下線を消す場合 */
}


/* 主要な見出し (明朝体、メインカラー) */
h1,
h2,
h3.entry-title {
    /* Snow Monkeyの投稿タイトルなど */
    /* 明朝体 */
    color: #333333;
    /* ディープネイビー */
    font-weight: 700;
    /* Bold */
}

/* 小見出し (ゴシック体、メインカラー) */
h3:not(.entry-title),
h4,
h5,
h6 {
    font-family: 'Noto Sans JP', sans-serif;
    /* ゴシック体 */
    color: #333333;
    /* ディープネイビー */
    font-weight: 500;
    /* Medium */
}

@media (max-width: 767px) {

    .entry-content p,
    .entry-content li {
        font-size: 16px;
    }
}

/* ヘッダーエリア
    ヘッダーの背景色 (カスタマイザーで設定できる場合が多い) */
/* .l-header { background-color: #FFFFFF; } */

/* ヘッダーロゴ下のタグライン (キャッチフレーズ) の調整 */
.c-site-branding__tagline {
    font-size: 0.8rem;
    color: #808080;
    /* ミディアムグレー */
    margin-top: 4px;
}

/* グローバルナビゲーションの調整 */
.c-global-nav__item>a {
    font-weight: 500;
    /* Medium */
    padding: 15px 12px;
    /* 余白調整 */
}

.c-global-nav__item>a:hover,
.c-global-nav__item.current-menu-item>a {
    color: #808080;
    /* ソフトゴールド - ホバー/カレント */
    background-color: transparent;
    /* 背景色なし */
}

/* ヘッダーのお問い合わせボタン (ショートコードやHTMLで記述した場合の例) */
.header-contact-button a {
    background-color: #808080;
    /* ソフトゴールド */
    color: #FFFFFF !important;
    /* 文字色 白 (重要度高) */
    padding: 10px 20px;
    border-radius: 4px;
    font-weight: bold;
    transition: background-color 0.3s ease;
}

.header-contact-button a:hover {
    background-color: #001E62;
    /* ディープネイビー - ホバー時 */
    color: #FFFFFF !important;
}

/* ファーストビュー (Snow Monkey Blocks の「セクション (背景全面)」や「スライダー」を想定)
  セクション(背景全面)ブロック内のコンテンツの最大幅 (広がりすぎないように) */
.smb-section--full-width>.smb-section__inner>.smb-section__inner__content {
    max-width: 1100px;
    /* 例: コンテンツ幅に合わせて調整 */
    margin-left: auto;
    margin-right: auto;
}

/* ヒーローイメージのキャッチコピー */
.hero-section .smb-richtext h1,
/* セクションに .hero-section クラスを付与した場合 */
.hero-section .smb-richtext h2 {
    font-size: 2.5rem;
    /* 大きめに */
    line-height: 1.3;
    margin-bottom: 0.5em;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
    /* 文字の視認性向上のため */
}

.hero-section .smb-richtext p {
    font-size: 1.1rem;
    margin-bottom: 1.5em;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
}

@media (max-width: 767px) {

    .hero-section .smb-richtext h1,
    .hero-section .smb-richtext h2 {
        font-size: 1.8rem;
    }

    .hero-section .smb-richtext p {
        font-size: 1rem;
    }
}

/* ヒーローイメージ内のボタン */
.hero-section .smb-btn {
    margin-right: 10px;
    /* ボタンが複数ある場合の間隔 */
}

.hero-section .smb-btn--primary a {
    /* Snow Monkey のボタンスタイルを上書きする場合 */
    background-color: #B08D57;
    color: #FFFFFF;
    border-color: #B08D57;
    padding: 12px 28px;
    font-size: 1rem;
}

.hero-section .smb-btn--primary a:hover {
    background-color: #001E62;
    border-color: #001E62;
}

.hero-section .smb-btn--secondary a {
    /* 2つ目のボタンなど */
    background-color: transparent;
    color: #FFFFFF;
    /* 背景画像によっては要調整 */
    border: 2px solid #FFFFFF;
    /* 背景画像によっては要調整 */
    padding: 10px 26px;
    /* 1つ目とパディングを合わせる */
    font-size: 1rem;
}

.hero-section .smb-btn--secondary a:hover {
    background-color: #808080;
    border-color: #FFFFFF;
}

/* JP留学プラン (Snow Monkey Blocks「最近の投稿」パネルレイアウト想定)
  「最近の投稿」ブロックの親要素に .plan-list などのクラスを付与して限定 */
.plan-list .smb-post-list--panel .smb-post-list__item {
    background-color: #FFFFFF;
    /* カードの背景色 白 */
    border: 1px solid #E0E0E0;
    /* 薄い枠線 */
    border-radius: 8px;
    /* 角丸 */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    /* 薄い影 */
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.plan-list .smb-post-list--panel .smb-post-list__item:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    transform: translateY(-3px);
}

/* プランカード内のタイトル */
.plan-list .smb-post-list__item .smb-post-list__title a {
    font-family: 'Noto Serif JP', serif;
    color: #001E62;
    font-size: 1.3rem;
    font-weight: 600;
}

/* プランカード内の抜粋 (ここにプラン概要などを入れる想定) */
.plan-list .smb-post-list__item .smb-post-list__excerpt {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #808080;
    margin-bottom: 1em;
    /* ボタンとの間隔 */
}

/* プランカード内の「詳細を見る」ボタン (Snow Monkey標準のものを調整) */
.plan-list .smb-post-list__item .smb-post-list__btn a {
    background-color: #001E62;
    /* ディープネイビー */
    color: #FFFFFF;
    border-radius: 4px;
    padding: 8px 16px;
    font-size: 0.9rem;
}

.plan-list .smb-post-list__item .smb-post-list__btn a:hover {
    background-color: #808080;
    /* ソフトゴールド */
}

/* スマホ2カラム表示の調整 (Snow Monkey Blocksの設定で可能ならそちらを優先) */
/* 例: .plan-list .smb-post-list--panel[data-columns-sm="2"] など、テーマのクラスを確認 */

/* JP留学の特徴 (Snow Monkey Blocks「カラム」や「メディアとテキスト」想定)
    特徴セクションの親要素に .feature-section などのクラスを付与 */
.feature-section .smb-column__inner,
/* カラムの場合 */
.feature-section .smb-media__body {
    /* メディアとテキストの場合 */
    padding: 20px;
    /* 内容の余白 */
}

.feature-section .smb-icon__svg,
/* アイコンブロックのSVG */
.feature-section .feature-icon-image {
    /* 画像ブロックにクラス付与した場合 */
    width: 60px;
    /* アイコンサイズ */
    height: 60px;
    margin-bottom: 15px;
    fill: #B08D57;
    /* アイコンの色 ソフトゴールド (SVGの場合) */
}

.feature-section h3 {
    /* 特徴のタイトル */
    font-size: 1.4rem;
    margin-bottom: 0.5em;
}

.feature-section p {
    /* 特徴の説明 */
    font-size: 1rem;
    color: #808080;
}

/* よくある質問 (Snow Monkey Blocks「アコーディオン」想定)
    アコーディオンブロックの親要素に .faq-section などのクラスを付与 */
.faq-section .smb-accordion__item {
    margin-bottom: 10px;
    /* 各質問の間隔 */
    border: 1px solid #E0E0E0;
    border-radius: 4px;
}

.faq-section .smb-accordion__title {
    /* 質問部分 */
    background-color: #F5F5DC;
    /* ライトベージュ */
    color: #001E62;
    padding: 15px 20px;
    font-weight: 500;
    font-size: 1.1rem;
}

.faq-section .smb-accordion__title:hover {
    background-color: #E8E4D1;
    /* 少し濃いベージュ */
}

.faq-section .smb-accordion__title .smb-accordion__icon {
    /* 開閉アイコン */
    color: #001E62;
}

.faq-section .smb-accordion__content {
    /* 回答部分 */
    background-color: #FFFFFF;
    padding: 20px;
    border-top: 1px solid #E0E0E0;
}

.faq-section .smb-accordion__content p {
    font-size: 1rem;
    line-height: 1.7;
}

/* ボタンの共通スタイル (Snow Monkey標準ボタンを調整)
    プライマリボタン (例: ソフトゴールド背景) */
.smb-btn--primary a,
button.smb-btn--primary,
input[type="submit"].smb-btn--primary {
    background-color: #B08D57 !important;
    /* !important でテーマスタイルを上書き */
    color: #FFFFFF !important;
    border-color: #B08D57 !important;
    border-radius: 4px;
    padding: 10px 25px;
    /* 用途に応じて調整 */
    font-weight: bold;
    text-shadow: none;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.smb-btn--primary a:hover,
button.smb-btn--primary:hover,
input[type="submit"].smb-btn--primary:hover {
    background-color: #001E62 !important;
    border-color: #001E62 !important;
}

/* セカンダリボタン (例: 枠線のみディープネイビー) */
.smb-btn--secondary a,
button.smb-btn--secondary {
    background-color: transparent !important;
    color: #001E62 !important;
    border: 2px solid #001E62 !important;
    border-radius: 4px;
    padding: 8px 23px;
    /* プライマリより少し小さめ */
    font-weight: bold;
    text-shadow: none;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.smb-btn--secondary a:hover,
button.smb-btn--secondary:hover {
    background-color: #001E62 !important;
    color: #FFFFFF !important;
}

.image-overlap-top {
    margin-bottom: -50px;
    /* はみ出させたい量（マイナス値で指定） */
    position: relative;
    /* 他の要素との重なり順を制御しやすくするため */
    z-index: 10;
    /* 他の要素より手前に表示させるため（必要に応じて調整） */
}

.image-overlap-right {
    margin-right: -50px;
    /* はみ出させたい量 */
    position: relative;
    z-index: 10;
    /* 必要に応じて float: right; や display: block; margin-left: auto; などで右寄せ */
}


/*
2025.07.30 ADD Hiroshi 
*/


@media(min-width: 641px) {
    .c-entries--text .c-entry-summary__body>.c-entry-summary__meta {
        width: auto !important;
    }

    /* PC用ヘッダーの右上に要素非表示 */
    .pc-no-disp {
        display: none;
    }
}

.c-entry-summary__meta .c-meta__item--categories {
    display: inline !important;
}

@media(max-width: 640px) {

    /* スマホ用タイトルのサイズコントロール */
    .main-title h2.wp-block-heading {
        --_font-size-level: 2;
    }

    .c-site-branding__description {
        font-size: calc(var(--_font-size) * 0.9);
    }

    .smb-section__title {
        --_font-size-level: 3;
    }

    /*
    .c-container {
        --_container-margin-right: calc(var(--_container-margin) * .5);
        --_container-margin-left: calc(var(--_container-margin) * .5);
    }

    .c-fluid-container {
        --_container-margin-right: calc(var(--_container-margin) * .5);
        --_container-margin-left: calc(var(--_container-margin) * .5);
    }
    */

    .c-entries--simple .c-entry-summary__figure {
        margin-right: var(--_margin-2);
        width: 50%;
    }

    /* スマホ用ヘッダーの右上にヘッダーコンテンツ要素を挿入 */
    .u-invisible-md-down {
        display: block !important;
        padding-left: calc(var(--_gap) * .2) !important;
        padding-right: calc(var(--_gap) * .2) !important;
    }

    .u-invisible-md-down .p-global-nav {
        display: none;
    }

    /* スマホ用ヘッダーの右上に要素非表示 */
    .phone-no-disp {
        display: none;
    }

    .c-copyright {
        font-size: small;
    }

    .smb-section__lede-wrapper {
        text-align: left;
    }

    .smb-faq__item__question__label,
    .smb-faq__item__answer__label {
        margin-right: 10px !important;
    }

    .smb-faq__item__answer {
        margin-left: 0px !important;
    }

    /* スマホ用ボタンサイズの調整 */
    .wp-block-buttons>.wp-block-button.wp-block-button__width-50 {
        width: calc(70% - var(--wp--style--block-gap, .5em) * .5);
    }

    /* スマホ用ドロワー展開時メニューアイコン非表示 */
    .c-drawer .navi-icon {
        display: none;
    }

}

/* サイト全体のリンク色 (メインカラーに) */
p>a {
    color: #EB6000;
    /* ディープネイビー */
    font-weight: bold;
    margin: 0 2px;
}

p>a:hover {
    text-decoration: underline;
}

.c-breadcrumbs__item>a {
    color: #EB6000;
    /* ディープネイビー */
    text-decoration: none;
    /* 下線を消す場合 */
}


/* ボタンの共通スタイル (Snow Monkey標準ボタンを調整)
    ゴーストスタイル */
.is-style-ghost a.smb-btn:hover {
    background-color: var(--wp--preset--color--sm-accent);
    color: #FFFFFF !important;
}


/* 本文のフォントサイズと行間 (保護者層向けに少し大きめ) */
.entry-content p,
.entry-content li {
    font-size: 17px;
    /* 例: 16px-18pxの範囲で調整 */
    line-height: 1.8;
}

/* コピーライト中央寄せ */
.c-row--between {
    justify-content: center;
}

/* 見出しの下線の除去 */
.smb-section__title::after {
    display: none;
}

/* フッターウィジットエリア上下部にある余白の除去 */
.l-footer--default .l-footer-widget-area {
    background-color: #333333;
    /* 背景色 */
    color: #fff;
    /* 文字色 */
    padding-bottom: var(--_padding1);
    padding-top: calc(var(--_padding1)* .5);
}

.l-footer--footer-3 .l-footer__body {
    border-top: 0px solid #0000;
}

/* フッター固定ナビの背景カスタマイズ */
.p-footer-sticky-nav {
    width: 100%;
    background: rgba(0, 0, 0, 0.8);
    padding: 5px 15px;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 99;
}

/* ヘッダーとメインビジュアルの間にある余白の除去 */
.l-contents__main .c-section:first-child {
    padding-top: 0;
}

.l-contents__main .c-section:last-child {
    padding-bottom: 0;
}

.l-contents__inner:first-child {
    padding-top: 0;
}


/* モバイルでの1ブロック増やしたヘッダーコンテンツを非表示 */
.p-header-content--sm {
    display: none;
}

/* ヘッダーのドロップダウンナビゲーション右上にヘッダーコンテンツ要素を挿入 */
.c-site-button-hover {
    padding-left: var(--_padding-2);
    padding-bottom: var(--_padding-2);
    padding-top: var(--_padding-2);
}

/* スマホ用のコンタクトボタン背景のサイズのカスタマイズ */
.c-header-content>a.smart-button {
    padding-right: calc(var(--_padding-1) * .5);
    padding-left: calc(var(--_padding-1) * .5);
}

/* 投稿記事文末の左側に表示されるタグを非表示 */
.c-entry__body .c-entry-tags {
    display: none;
}

.l-header {
    border-bottom: 4px solid #EB6000;
}

/* ヘッダーのドロップダウンナビゲーション下部に下線 */
.p-drop-nav {
    border-bottom: 4px solid #EB6000;
}

.c-meta__item--author {
    display: none;
}

/*
メニュー上部に画像を配置
*/
/* 1. 親要素を基準点にする */
li.c-navbar__item a span {
    position: relative;
    /* この要素がアイコン配置の基準になります */
    display: inline-block;
    /* paddingを正しく適用するため */
    padding-top: 30px;
    /* アイコンを置くためのスペースを上に確保 */
    margin: 0px;
}

.p-global-nav .c-navbar__item>a {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* 2. アイコンを絶対位置で配置する */
.navi-icon {
    filter: brightness(0) saturate(100%) invert(57%) sepia(1%) saturate(1888%) hue-rotate(48deg) brightness(90%) contrast(84%);
    position: absolute;

    /* 水平方向の中央に配置 */
    left: 50%;
    transform: translateX(-50%);

    /* 親要素の上端に配置 */
    top: 0;
    /* もしくは、テキストの真上に配置したい場合は 'bottom' を使うと直感的です */
    /* bottom: 100%; */
    /* margin-bottom: 5px; */
    /* テキストとの間に少し隙間を空ける場合 */
}

/* ヘッダーメニューの余白除去 */
.l-2row-header__row:first-child {
    padding-bottom: 0;
    padding-top: 0;
}

/* ヘッダーメニューの余白除去 */
[data-has-global-nav=true] .l-2row-header__row:last-child,
[data-has-global-nav=true] .l-center-header__row:last-child {
    margin-top: 0;
}


/* ドロワーメニューのカスタマイズ */
.c-drawer__inner {
    color: #333333;
    background-color: #fff
}

.c-drawer .c-hamburger-btn__bar {
    background-color: #333333;
}

.c-drawer .c-ic-angle-right:before {
    border-color: #333333;
}


/* フッターのロゴ、キャッチフレーズを非表示に */
.l-footer--footer-3 .l-footer__header {
    display: none;
}

/* フッターのコピーライトをセンターに */
.l-footer--footer-3 .p-social-nav .c-navbar {
    justify-content: center;
}


/* フッターのカラー設定 */
.l-footer__body {
    color: #fff;
    background-color: #808080;
}

.l-footer__body a {
    color: #fff;
}

/* フッターナビ部のカスタマイズ */
.l-footer__widget-area {
    padding-top: var(--_padding1) !important;
}

h2.c-widget__title {
    color: #fff;
    margin: var(--_margin-1) 0 calc(var(--_margin-1) * 0.1) !important;
}

h2.c-widget__title::before,
h2.c-widget__title::after {
    background-color: #fff;
}

h4.wp-block-heading {
    color: #fff;
    margin: var(--_margin-1) 0 calc(var(--_margin-1) * 0.1) !important;
    justify-content: flex-start !important;
}

h4.wp-block-heading::before,
h4.wp-block-heading::after {
    background-color: #fff !important;
    content: none !important;
}

#block-14 a:hover {
    color: #EB6000;
    text-decoration: underline;
}

#block-23 a:hover {
    color: #EB6000;
    text-decoration: underline;
}

#block-17 a:hover {
    color: #EB6000;
    text-decoration: underline;
}


/* ソーシャルナビのアイコンサイズ拡大 */
.p-social-nav svg {
    height: 2em !important;
    width: 1.95em !important;
}

/* =========================================================
  # お知らせNEWS
  ========================================================= */

.c-entries--text .c-entries__item>a,
.c-entries--text2 .c-entries__item>a {
    padding-bottom: 0;
    padding-top: 0;
}

/*
  # カテゴリーの色分け
  ---------------------------------- */
/*
.c-entry-summary__term--category-5 {
    background-color: var(--wp--preset--color--vivid-cyan-blue);
}

.c-entry-summary__term--category-7 {
    background-color: var(--wp--preset--color--luminous-vivid-orange);
}

.c-entry-summary__term--category-8 {
    background-color: #09af25;
}

.c-entry-summary__term--category-9 {
    background-color: #256ba0;
}

.c-entry-summary__term--category-10 {
    background-color: var(--wp--preset--color--luminous-vivid-amber);
}
*/

.category-seminar>.smb-btn {
    /* background-color: var(--wp--preset--color--luminous-vivid-amber); */
    border: 1px solid transparent;
}

.category-news>.smb-btn {
    /* background-color: #256ba0; */
    border: 1px solid transparent;
}

.category-seminar>.smb-btn:hover {
    background-color: #fff;
    color: #EB6000;
    border: 1px solid #EB6000;
}

.category-news>.smb-btn:hover {
    background-color: #fff;
    color: #EB6000;
    border: 1px solid #EB6000;
}

/* メインタイトル用の帯 */
.main-title {
    padding-top: 10px;
    padding-bottom: 10px;
    /* background-color: var(--wp--preset--color--luminous-vivid-amber); */
    border-bottom: 4px solid #EB6000;
}


/* メインタイトル用のアイコン各種 */
.title-icon-news::before {
    content: "";
    display: inline-block;
    width: 43px;
    height: 43px;
    margin-right: 6px;
    background: url(/wdps/wp-content/plugins/my-snow-monkey/uploads/news-icon.svg ) no-repeat center center;
    background-size: 46px;
    vertical-align: -10px;
}


.title-icon-taikendan::before {
    content: "";
    display: inline-block;
    width: 43px;
    height: 43px;
    margin-right: 6px;
    background: url(/wdps/wp-content/plugins/my-snow-monkey/uploads/taikendan-icon.svg ) no-repeat center center;
    background-size: 42px;
    vertical-align: -10px;
}


.title-icon-qanda::before {
    content: "";
    display: inline-block;
    width: 43px;
    height: 43px;
    margin-right: 6px;
    background: url(/wdps/wp-content/plugins/my-snow-monkey/uploads/qanda-icon.svg ) no-repeat center center;
    filter: brightness(0) saturate(100%) invert(57%) sepia(1%) saturate(1888%) hue-rotate(48deg) brightness(90%) contrast(84%);
    background-size: 51px;
    vertical-align: -10px;
}


.title-icon-lounge::before {
    content: "";
    display: inline-block;
    width: 43px;
    height: 43px;
    margin-right: 6px;
    background: url(/wdps/wp-content/plugins/my-snow-monkey/uploads/lounge-icon.svg ) no-repeat center center;
    filter: brightness(0) saturate(100%) invert(57%) sepia(1%) saturate(1888%) hue-rotate(48deg) brightness(90%) contrast(84%);
    background-size: 46px;
    vertical-align: -10px;
}


.title-icon-check::before {
    content: "";
    display: inline-block;
    width: 43px;
    height: 43px;
    margin-right: 6px;
    background: url(/wdps/wp-content/plugins/my-snow-monkey/uploads/check-icon.svg ) no-repeat center center;
    filter: brightness(0) saturate(100%) invert(57%) sepia(1%) saturate(1888%) hue-rotate(48deg) brightness(90%) contrast(84%);
    background-size: 46px;
    vertical-align: -10px;
}


.title-icon-plan::before {
    content: "";
    display: inline-block;
    width: 43px;
    height: 43px;
    margin-right: 6px;
    background: url(/wdps/wp-content/plugins/my-snow-monkey/uploads/plan-icon.svg ) no-repeat center center;
    background-size: 40px;
    vertical-align: -10px;
}


.title-icon-free-dial::before {
    content: "";
    display: inline-block;
    width: 56px;
    height: 43px;
    margin-right: 6px;
    background: url(/wdps/wp-content/plugins/my-snow-monkey/uploads/free-dial-icon.svg ) no-repeat center center;
    background-size: 56px;
    vertical-align: -6px;
}


/* お問い合わせボタンのホバー */
.jp-btn {
    background: var(--smb-btn--background-color);
    border: 2px solid var(--smb-btn--background-color);
    border-radius: 10px;
    color: #fff;
    display: block;
    font-weight: bold;
    text-align: center;
}

.jp-btn.press {
    box-shadow: 0 4px 0 #008D00;
}

.jp-btn.press:hover {
    transform: translateY(4px);
    box-shadow: none;
}

/*
  # ホバーアクション（パネル）
  ---------------------------------- */
.smb-panels__item--vertical {
    position: relative;
    overflow: hidden;
    box-shadow: none;
    border-radius: 10px;
    background-color: #FAFAFA;
    border: solid 1px #E4E4E4;
    transition: transform 1s ease, background-color 0.5s ease;
}

.smb-panels__item--vertical:hover {
    transform: scale(1.05);
}

.smb-panels__item--vertical::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    /* 背景色 */
    transform: scaleY(0);
    transform-origin: center;
    /* 変形の原点を中央に設定 */
    transition: transform 0.5s ease;
    z-index: -1;
}

.smb-panels__item--vertical:hover::before {
    transform: scaleY(1);
}

/*
  # ホバーアクション（リッチメディア・エントリーサマリー）
  ---------------------------------- */
.c-entries--rich-media .c-entry-summary {
    position: relative;
    overflow: hidden;
    box-shadow: none;
    border-radius: 10px;
    background-color: #FAFAFA;
    border: solid 1px #E4E4E4;
    transition: transform 1s ease, background-color 0.5s ease;
}

.c-entries--rich-media .c-entry-summary:hover {
    transform: scale(1.05);
}

.c-entries--rich-media .c-entry-summary::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    /* 背景色 */
    transform: scaleY(0);
    transform-origin: center;
    /* 変形の原点を中央に設定 */
    transition: transform 0.5s ease;
    z-index: -1;
}

.c-entries--rich-media .c-entry-summary:hover::before {
    transform: scaleY(1);
}

.c-entries__item>a .c-entry-summary__body {
    padding: 6px;
}

/* =========================================================
  # JP留学プラン
  ========================================================= */
/*
/* アクセント用にセクションの背景に横線（JP留学プラン用） */
.background-svg-gray {
    background-image: url('data:image/svg+xml,<svg width="35" height="6" xmlns="http://www.w3.org/2000/svg"><line x1="0" y1="3" x2="35" y2="3" stroke="%23cccccc" stroke-width="0.2"/></svg>');
}


.wpco {
    padding: var(--_padding1) calc(var(--_padding-1) * 0.5);
}

.jp-plan .smb-panels__item__body {
    text-align: left;
}


/* =========================================================
  # よくある質問
  ========================================================= */
/*
/* FAQブロックのカスタマイズ */
.wp-block-snow-monkey-blocks-faq-item {
    padding-top: 1.8em;
    padding-bottom: 1.5em;
}

/* Q&Aマーク */
.smb-faq__item__question__label,
.smb-faq__item__answer__label {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 52px;
    height: 52px;
    padding: 10px 26px;
    border-radius: 100%;
    margin-right: 16px;
}

/* Qマーク */
.smb-faq__item__question__label {
    background-color: #808080;
    color: #000;
}

/* Aマーク */
.smb-faq__item__answer__label {
    background-color: #EB6000;
    color: #fff;
}

/* 質問文 */
.smb-faq__item__question {
    display: flex;
    align-items: center;
    font-size: larger;
}

.smb-faq__item__question__body {
    border-bottom: 1px dashed var(--_darkest-color-gray);
}

/* 回答文 */
.smb-faq__item__answer {
    display: flex;
    line-height: 1.4375;
    margin-left: 70px;
}

.smb-faq__item__answer p {
    margin-bottom: 0;
    padding-top: 12px;
}

/* オフィス案内 */
.access_image img {
  max-width: 60%;
  width: 100%;
}
.access_table {
  font-size: 14px;
  margin-top: 15px;
}
.access_table tr th, .access_table tr td {
  border: none;
  border-bottom: 1px solid #B6B6B6;
}
.access_table tr th:nth-child(1), .access_table tr td:nth-child(1) {
  width: 25%;
}
.access_map {
  padding: 0;
}
.access_map iframe {
  max-width: 100%;
  height: 100%;
  min-height: 250px;
}