@charset "utf-8";

/*--------------------------------------------------------
目次
--------------------------------------------------------
1. テーマ情報
2. ルート変数
3. body, html設定
   -- for Apple
4. for Apple
5. テキスト要素のスタイル
6. ブロックエディタのデフォルト設定とレイアウト・ブレークポイントを合わせる
7. コンテナのスタイル
8. 下層ページメインビジュアル
9. パンクズリストのスタイル
10. 見出しのスタイル
11. オリジナルブロックのスタイル
12. フッターのスタイル
13. SNSリンク
14. トップに戻るボタン
15. モバイルナビボタン
16. モバイルナビ
17. ロゴ
18. サイトヘッダー
19. ブログ関連のスタイル
20.トップページメインビジュアル
21.スマホ用下部固定メニュー
22.スクロールヒント
--------------------------------------------------------*/

/*--------------------------------------------------------
1. テーマ情報
--------------------------------------------------------*/
/*
Theme Name: anshin2025
Theme URI:
Template: lightning
Description:
Author: 
Tags:
Version: 
*/

/*--------------------------------------------------------
2. ルート変数
--------------------------------------------------------*/
:root {
    
    --vk-color-text-body: #1c2733;
    --vk-color-text-link: #1b94d3;
    --vk-color-text-link-hover: #76bfe5;
    --vk-color-border-hr: #ccc;
    --vk-color-primary: #1b94d3;
    --vk-color-primary-vivid: #76bfe5;
    --vk-size-text: 16px;
    --vk-size-radius: 10px;
    --radius: min(10vw, 72px);
    
    --text-light: #777d85;
    --gray: #82888E;
    
    /*背景色*/
    --bg: #f3f9fa;
    /*--bg-dark: ;*/
    --bg-light: #e6e6e6;
    
    /*ボックスシャドウ*/
    --filter-box-shadow: drop-shadow(1px 1px 3px rgba(171,206,211,0.75));
    --box-shadow: 4px 4px 6px rgba(171,206,211,0.75);
    /*トランジション（ボタン）*/
    --transition: all 0.3s ease;
    
    /*ヘッダーの高さ*/
    --header-height: 120px;
}
@media screen and (max-width: 991.98px) {
    :root {
        /*ヘッダーの高さ*/
        --header-height: 72px;
    }
}
@media screen and (min-width: 1200px) {
    :root {
        /*ヘッダーの高さ*/
        --header-height: 144px;
        --header-height-scrolled: 96px;
    }
}

/*--------------------------------------------------------
3. body, html設定
--------------------------------------------------------*/
body, html {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-feature-settings: "kern" 1;
}
@media (max-width: 991.98px) {
    body, html {
        font-size: var(--vk-size-text);
    }
}
@media print {
    body, html {
        background-color: transparent;
    }
    body.custom-background {
        background: none!important;
    }
}
body {
    background-color: var(--bg);
}

/*--------------------------------------------------------
-- for Apple
--------------------------------------------------------*/
body {
    -webkit-text-size-adjust: 100%;
}
a[href^="tel:"] {
    color: currentColor;
    text-decoration: none;
}
.device-pc a[href^="tel:"] {
    pointer-events: none;
}

/*--------------------------------------------------------
4. リンクのスタイル
--------------------------------------------------------*/

a, li a, p a {
    text-decoration: none;
}
a:hover, li a:hover, p a:hover {
    text-decoration: underline solid 1px;
    text-underline-offset: 2px;
}
a:hover {
    opacity: .8;
}

/*▼▼ ターゲットブランク設定*/
/* 外部リンクにアイコンを付ける（基本） */
.entry a[target="_blank"]::after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    background-color: currentColor;
    -webkit-mask-image: url("img/svg-icon/blank-icon.svg");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: cover;
    mask-image: url("img/svg-icon/blank-icon.svg");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: cover;
    margin-inline-start: 4px; 
}
/* 中身が画像のリンクには付けない（主要ブラウザ対応） */
.entry a[target="_blank"]:has(img)::after {
    content: none;
}
/* PDFなどのファイルリンクは除外 */
.entry a[target="_blank"][href$=".pdf" i]::after,
.entry a[target="_blank"][href$=".doc" i]::after,
.entry a[target="_blank"][href$=".docx" i]::after,
.entry a[target="_blank"][href$=".xls" i]::after,
.entry a[target="_blank"][href$=".xlsx" i]::after,
.entry a[target="_blank"][href$=".ppt" i]::after,
.entry a[target="_blank"][href$=".pptx" i]::after,
.entry a[target="_blank"][href$=".zip" i]::after,
.entry a[target="_blank"][download]::after { 
    content: none;
}
/* メール・電話リンクを除外 */
.entry a[target="_blank"][href^="mailto:"]::after,
.entry a[target="_blank"][href^="tel:"]::after {
    content: none;
}
/* 手動で除外したいとき用 */
.entry a[target="_blank"].no-ext-icon::after {
    content: none;
}
/*▲▲ ターゲットブランク設定*/

/*アンカーリンク調整*/
h1[id], h2[id], h3[id], h4[id], h5[id], h6[id] {
  scroll-margin-top: var(--header-height);
}

/*--------------------------------------------------------
5. テキスト要素のスタイル
--------------------------------------------------------*/
/* フロント用（通常表示） */
b, strong {
  font-weight: 500;
}
/* 管理画面用（WordPress Admin） */
.editor-styles-wrapper p b,
.editor-styles-wrapper p strong {
  font-weight: bold;
}

li {
    line-height: var(--vk-line-height);
}
address {
    font-style: normal;
    line-height: var(--vk-line-height);
}

/*--------------------------------------------------------
6. ブロックエディタのデフォルト設定とレイアウト・ブレークポイントを合わせる
--------------------------------------------------------*/

/* カラムブロックのブレイクポイントを992pxにあわせる */
@media screen and (max-width: 991.98px) {
    .wp-block-columns {
        flex-wrap: wrap !important;
    }
    .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
        flex-basis: 100% !important;
    }
}

/* カラムブロック 印刷時は横に並べる */
@media print {
    .wp-block-columns {
        flex-wrap: nowrap;
    }
    .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
        flex-basis:auto;
    }
}

/* 不要な左右マージンが入るのを回避 */
.is-layout-constrained > * {
    max-width: none;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* 囲み（グループ）内 不要な左右マージンが入るのを回避 */
.wp-block-group h1,
.wp-block-group h2,
.wp-block-group h3,
.wp-block-group h4,
.wp-block-group h5,
.wp-block-group h6 {
    margin-left: 0!important;
    margin-bottom:  var(--vk-margin-headding-bottom)!important;
}

/*--------------------------------------------------------
7. コンテナのスタイル
--------------------------------------------------------*/

/*common*/
.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl {
    max-width: none;
    padding-right: 16px;
    padding-left: 16px;
}

.site-body {
    padding-top: 64px;
    padding-bottom: 120px;
}
.site-header-container.container,
.breadcrumb .container {
}
@media screen and (min-width: 576px) {
    .container {
        max-width: calc( 1200px + 40px + 40px );
        padding-right: 40px;
        padding-left: 40px;
    }
    .site-header-container,
    .breadcrumb .container {
    }
}
@media screen and (min-width: 1200px) {
    .container {
        max-width: calc( 1200px + 64px + 64px );
        padding-right: 64px;
        padding-left: 64px;
    }
    .site-header-container,
    .breadcrumb .container {
        max-width: none;
    }
}
@media print {
    .container {
        max-width: none;
    }
}

/*--------------------------------------------------------
8. 下層ページメインビジュアル
--------------------------------------------------------*/
.page-header {
    min-height: auto;
    text-align: left;
    margin-top: calc( var(--header-height) + 24px );
}
.page-header-inner {
    width: 100%;
    background-color: #fff;
    padding: 24px;
    margin: 0;
    border-radius: var(--vk-size-radius);
}
@media print, screen and (min-width: 992px) {
    .page-header-inner {
        padding: 40px 48px;
    }
}
.page-header-title, h1.page-header-title {
    font-size: min(8.4vw, 36px);
    font-weight: 500;
}

/*--------------------------------------------------------
9. パンクズリストのスタイル
--------------------------------------------------------*/

.breadcrumb {
    font-size: 14px;
    line-height: var(--vk-line-height);
}
.breadcrumb-list {
    padding: 16px 0 6px;
}
.breadcrumb-list li:first-child i,
.breadcrumb-list__item--home a svg {
    display: none;
}

/*文字色 まとめて設定*/
.breadcrumb-list li:after,
.breadcrumb-list a,
.breadcrumb-list span,
.breadcrumb-list a:hover {
    color: var(--vk-color-text-body);
}

.breadcrumb-list li:after {
    content: "＞";
}

/*--------------------------------------------------------
10. 見出しのスタイル
--------------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
    font-weight: 500;
    font-feature-settings: "palt" 1;
}
/* 見出しの太字をエディタ側にも反映 */
.editor-styles-wrapper h1,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3,
.editor-styles-wrapper h4,
.editor-styles-wrapper h5,
.editor-styles-wrapper h6 {
    font-weight: bold !important;
}
.is-style-custom-heading-style-2 {
    font-size: 32px;
}
/*
見出し3（h3）下線ありなし
見出し4（h4）オビ
見出し5（h5）アイコン
*/
.is-style-custom-heading-style-3-default,
.is-style-custom-heading-style-3 {
    font-size: 24px;
}
.is-style-custom-heading-style-3 {
    position: relative;
    margin-bottom: calc( var(--vk-margin-headding-bottom) + 8px );
    display: inline-block;
}
.is-style-custom-heading-style-3::after {
    position: absolute;
    bottom: -8px;
    left: 0;
    right: 0;
    content: "";
    display: block;
    width: 100%;
    height: 3px;
    border-radius: 1.5px;
    background-color: var(--vk-color-primary-vivid);
}
.is-style-custom-heading-style-4 {
    font-size: 28px;
    background-color: var(--vk-color-primary);
    padding: 8px 24px;
    border-radius: var(--vk-size-radius);
    color: #fff;
}
.is-style-custom-heading-style-5,
.is-style-custom-heading-style-5sm,
.widget-title.sub-section-title {
    font-size: 24px;
    position: relative;
    padding-left: 40px;
}
.is-style-custom-heading-style-5sm {
    font-size: 14px;
}
.is-style-custom-heading-style-5::before,
.is-style-custom-heading-style-5sm::before,
.widget-title.sub-section-title::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 0;
    display: block;
    width: 24px;
    height: 19px;
    background-color: var(--vk-color-primary-vivid);
    -webkit-mask-image: url("img/svg-icon/h4-icon.svg");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: cover;
    mask-image: url("img/svg-icon/h4-icon.svg");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: cover;
}
.is-style-custom-heading-style-5sm::before {
    top: 0;
}
/*下層ページ冒頭用*/
.is-style-custom-heading-style-6 {
    font-size: min(8vw, 32px);
}

.KihonHoushin h4 {
    margin-bottom: 0!important;
}

/*トップページ見出し*/
.largettl_h2, .largettl_h3 {
    line-height: 1;
}
.largettl_h3, .medttl_h2 {
    font-family: "Work Sans", sans-serif;
    font-weight: 500;
    letter-spacing: -0.02em;
    font-feature-settings: "kern" 1, "liga" 1, "lnum" 1, "pnum" 1;
}
.largettl_h2 {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 0;
    letter-spacing: 0.02em;
}
.largettl_h3 {
    font-size: min(23.4vw, 96px);
    margin-left: -0.05em;
    margin-bottom: 16px;
}
.largettl_h3::first-letter {
    color: var(--vk-color-primary);
}
.largettl_p {
    margin-bottom: 0;
}
@media screen and (min-width: 351px) {
    .largettl_p span {
        display: inline-block;
    }
}

.subtitle__h4 {
    font-size: min(6.4vw, 32px);
}
.subtitle__p {
    font-weight: 500;
    margin-bottom: 48px;
}

.medttl {
    display: flex;
    flex-direction: column;
    gap: 4px 64px;
    margin-bottom: 32px;
}
@media print, screen and (min-width: 992px) {
    .medttl {
        flex-direction: row;
        align-items: flex-end;
    }
}
.medttl_h2 {
    margin-bottom: 0;
    font-size: 32px;
}
@media print, screen and (min-width: 992px) {
    .medttl_h2 {
        font-size: 40px;
    }
}
.medttl_h2.is-style-custom-heading-style-5::before {
    top: 50%;
    transform: translateY(-50%);
}
.medttl_h3 {
    font-size: 14px;
    padding-left: 56px;
    position: relative;
}
@media print, screen and (min-width: 992px) {
    .medttl_h3 {
        padding-left: 0;
    }
}
.medttl_h3::before {
    content: "";
    position: absolute;
    top: 3px;
    left: 40px;
    width: 1px;
    bottom: 2px;
    background-color: var(--vk-color-text-body);
}
@media print, screen and (min-width: 992px) {
    .medttl_h3::before {
        left: -24px;
    }
}

/*お問合せセクション見出し*/
.contact-section .largettl_h2,
.contact-section .largettl_h3,
.contact-section .largettl_h3::first-letter,
.contact-section .largettl_p {
    color: #fff;
}

/*フリーダイヤル*/
.freenumber-grid {
    display: flex;
    align-items: center;
    gap: 8px;
}
.freenumber-grid__number {
    white-space: nowrap;
}
a.freenumber-grid__number__address_link {
    font-family: "Work Sans", sans-serif;
    font-weight: 500;
    letter-spacing: 0.02em;
    font-size: min(9.4vw, 40px);
    pointer-events: none;
}
@media screen and (min-width: 1200px) {
    a.freenumber-grid__number__address_link {
        font-size: min(9.4vw, 56px);
    }
}
.freenumber p {
    margin-bottom: 8px;
}
.freenumber-grid__img {
    width: min(22%, 80px);
}
@media screen and (min-width: 1200px) {
    a.freenumber-grid__number__address_link {
        width: min(22%, 96px);
    }
}
.freenumber-grid__img img {
    width: 100%;
}
/*モバイル*/
.vk-mobile-nav .freenumber {
    margin-bottom: 24px;
}
/*ヘッダ*/
.site-header .freenumber p {
    font-size: 12px;
    margin-bottom: 4px;
}
.site-header .freenumber-grid__img {
    width: 44px;
}
.site-header a.freenumber-grid__number__address_link {
    font-size: min(9.4vw, 24px);
}
/*フッタ*/
.contact-section .freenumber {
    color: #fff;
}


/*--------------------------------------------------------
11. オリジナルブロックのスタイル
--------------------------------------------------------*/

/* 囲み（グループ） */
.is-style-custom-block-wrapper-1,
.is-style-custom-block-wrapper-2,
.footer-policy-wrapper {
    max-width: none;
    padding: 32px;
    border-radius: var(--vk-size-radius);
}
.is-style-custom-block-wrapper-1 {
    background-color: #fff;
}
.is-style-custom-block-wrapper-2 {
    border: 1px solid var(--vk-color-text-body);
}
.footer-policy-wrapper {
    background-color: var(--bg);
    font-size: 12px;
    margin-bottom: 40px;
}
.is-style-custom-block-wrapper-1 p:last-child,
.is-style-custom-block-wrapper-2 p:last-child,
.footer-policy-wrapper p:last-child,
.wp-block-group[class*=wp-container-]>:is(p):last-child {
    margin-bottom: 0;
    margin-block-end: 0;
}

/* カラム */
.wp-block-columns.is-style-justify {
    justify-content: space-between;
}
.wp-block-columns.is-style-center {
    justify-content: center;
}

/*テーブル デフォルト*/
.wp-block-table tr td:first-child {
    background-color: var(--bg-light);        
}
.wp-block-table td {
    font-size: 1rem;
    padding: 1rem;
    line-height: var(--vk-line-height);
    border: 1px solid #ccc;
    border-left: none;
    border-right: none;
}
.wp-block-table {
    position: relative;
    padding-top: 2rem;
}
.wp-block-table figcaption {
    margin-top: 0;
    text-align: right;
    font-size: 1rem;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}
.wp-block-flexible-table-block-table tr th {
    font-weight: 500;
}

/*テーブル 縦積みのときは線を重ねる*/
@media screen and (max-width: 768px) {
    .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table.is-stacked-on-mobile tr:not(:last-child) th,
    .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table.is-stacked-on-mobile tr:not(:last-child) td,
    .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table.is-stacked-on-mobile tr:last-child th:not(:last-child),
    .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table.is-stacked-on-mobile tr:last-child td:not(:last-child) {
        border-bottom-color: transparent!important;
    }
}

/* ボタン 共通 */
.wp-block-button__link {
    transition: none;
}
.wp-block-button__link:hover {
    filter: none!important;
}

/*ボタン オリジナル*/
[class*="is-style-button-"] .wp-block-button__link {
    text-align: left;
    
    border-radius: var(--vk-size-radius);
    font-weight: 500;
    position: relative;
    /*余白*/
    padding: 16px 88px 16px 32px;
    /*背景色*/
    background-color: var(--vk-color-primary);
    /*文字色*/
    color: #fff;
    /*線色*/
    border: 1px solid var(--vk-color-primary);
}

/*文字が黒いボタンの文字色を設定*/
.is-style-button-2 .wp-block-button__link,
.is-style-button-4 .wp-block-button__link,
.is-style-button-5 .wp-block-button__link {
    color: var(--vk-color-text-body);
}

/*ボタン1 メインカラー*/
.is-style-button-1 .wp-block-button__link:hover,
.editor-styles-wrapper .wp-block-buttons .is-style-button-1 .wp-block-button__link:hover {
    background-color: #fff;
    color: var(--vk-color-primary);
    border-color: currentColor;
}
/*ボタン2 白*/
.is-style-button-2 .wp-block-button__link,
.editor-styles-wrapper .wp-block-buttons .is-style-button-2 .wp-block-button__link {
    background-color: #fff;
    color: var(--vk-color-text-body);
    border-color: #fff;
}
.is-style-button-2 .wp-block-button__link:hover,
.editor-styles-wrapper .wp-block-buttons .is-style-button-2 .wp-block-button__link:hover {
    color: var(--vk-color-primary);
    border-color: currentColor;
}
/*ボタン3 黒*/
.is-style-button-3 .wp-block-button__link,
.editor-styles-wrapper .wp-block-buttons .is-style-button-3 .wp-block-button__link {
    background-color: var(--vk-color-text-body);
    color: #fff;
    border-color: var(--vk-color-text-body);
}
.is-style-button-3 .wp-block-button__link:hover,
.editor-styles-wrapper .wp-block-buttons .is-style-button-3 .wp-block-button__link:hover {
    background-color: #fff;
    color: var(--vk-color-text-body);
    border-color: currentColor;
}
/*ボタン4 枠線*/
.is-style-button-4 .wp-block-button__link,
.editor-styles-wrapper .wp-block-buttons .is-style-button-4 .wp-block-button__link {
    background-color: #fff;
    color: var(--vk-color-text-body);
    border-color: currentColor;
}
.is-style-button-4 .wp-block-button__link:hover,
.editor-styles-wrapper .wp-block-buttons .is-style-button-4 .wp-block-button__link:hover {
    background-color: var(--vk-color-text-body);
    color: #fff;
    border-color: var(--vk-color-text-body);
}
/*ボタン5 テキスト*/
.is-style-button-5 .wp-block-button__link,
.editor-styles-wrapper .wp-block-buttons .is-style-button-5 .wp-block-button__link {
    background-color: transparent;
    color: var(--vk-color-text-body);
    border: none;
    padding-top: 0;
    padding-bottom: 0;
}
.editor-styles-wrapper .wp-block-buttons .is-style-button-5 .wp-block-button__link:hover {
    color: var(--vk-color-primary);
    text-decoration: underline;
}
.editor-styles-wrapper .wp-block-buttons .is-style-button-5 .wp-block-button__link::after {
    content: "（→）";
}

/* ボタン共通：矢印アイコンを右側に表示 */
.wp-block-button__link .btn-icon-wrap {
    display: block;
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    width: 40px;
    height: 16px;
}
/* 丸い背景 */
.wp-block-button__link .btn-icon {
    display: block;
    position: relative;
    width: 40px;
    height: 16px;
    border-radius: 99px;
    background-color: #fff;
    border: 1px solid #fff;
}
.is-style-button-2 .wp-block-button__link .btn-icon {
    background-color: var(--vk-color-primary);
    border: 1px solid var(--vk-color-primary);
}
/* 矢印（横棒） */
.wp-block-button__link .btn-icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 12px;
  width: 16px;
  height: 1px;
  background-color: var(--vk-color-primary);
  transform: translateY(-50%);
  transition: var(--transition);
}
/* 矢印（三角） */
.wp-block-button__link .btn-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
    width: 6px;    /* 長さ（調整可） */
    height: 6px;   /* 長さ（調整可） */
    border-right: 1px solid var(--vk-color-primary); /* → の棒 */
    border-bottom: 1px solid var(--vk-color-primary); /* ↓ の棒 */
    transform: translateY(-50%) rotate(-45deg); /* 「く」型にする角度 */
  transition: var(--transition);
}
/* ホバー時に矢印だけ右へ */
.wp-block-button__link:hover .btn-icon {
    border-color: currentColor;
}
.is-style-button-2 .wp-block-button__link:hover .btn-icon {
    background-color: #fff;
    border-color: currentColor;
}
.wp-block-button__link:hover .btn-icon::before {
  width: 35px;
    background-color: currentColor;
}
.wp-block-button__link:hover .btn-icon::after {
  right: -9px;
    border-right-color: currentColor;
    border-bottom-color: currentColor;
}
.is-style-button-2 .wp-block-button__link .btn-icon::before {
    background-color: #fff;
    
}
.is-style-button-2 .wp-block-button__link .btn-icon::after {
    border-right-color: #fff;
    border-bottom-color: #fff;
    
}
.is-style-button-2 .wp-block-button__link:hover .btn-icon::before {
    background-color: currentColor;
}
.is-style-button-2 .wp-block-button__link:hover .btn-icon::after {
    border-right-color: currentColor;
    border-bottom-color: currentColor;
}
.is-style-button-4 .wp-block-button__link .btn-icon {
    background-color: currentColor;
    border-color: currentColor;
}
.is-style-button-4 .wp-block-button__link .btn-icon::before {
    background-color: #fff;
}
.is-style-button-4 .wp-block-button__link .btn-icon::after {
    border-right-color: #fff;
    border-bottom-color: #fff;
}
.is-style-button-3 .wp-block-button__link .btn-icon::before {
    background-color: var(--vk-color-text-body);
}
.is-style-button-3 .wp-block-button__link .btn-icon::after {
    border-right-color: var(--vk-color-text-body);
    border-bottom-color: var(--vk-color-text-body);
}
.is-style-button-4 .wp-block-button__link:hover .btn-icon {
    background-color: var(--vk-color-text-body);
}

.is-style-button-5 .wp-block-button__link .btn-icon-wrap,
.is-style-button-5 .wp-block-button__link .btn-icon {
    height: 24px;
}
.tilebtn-card.wp-block-button__link .btn-icon,
.blue-bnr.wp-block-button__link .btn-icon {
    width: 56px;
    height: 24px;
    color: var(--vk-color-primary);
}
.blue-bnr.wp-block-button__link .btn-icon {
    border-color: #fff;
}
.is-style-button-5 .wp-block-button__link .btn-icon,
.tilebtn-card.wp-block-button__link .btn-icon {
    background-color: currentColor;
    border-color: currentColor;
}
.is-style-button-5 .wp-block-button__link .btn-icon::before {
    background-color: #fff;
}
.tilebtn-card.wp-block-button__link .btn-icon::before,
.blue-bnr.wp-block-button__link .btn-icon::before {
    left: 20px;
}
.tilebtn-card.wp-block-button__link .btn-icon::before {
    background-color: #fff;
}
.is-style-button-5 .wp-block-button__link .btn-icon::after {
    border-right-color: #fff;
    border-bottom-color: #fff;
}
.tilebtn-card.wp-block-button__link .btn-icon::after,
.blue-bnr.wp-block-button__link .btn-icon::after {
    right: 18px;
}
.tilebtn-card.wp-block-button__link .btn-icon::after {
    border-right-color: #fff;
    border-bottom-color: #fff;
}
.is-style-button-5 .wp-block-button__link:hover .btn-icon,
.tilebtn-card.wp-block-button__link:hover .btn-icon {
    background-color: transparent;
}
.is-style-button-5 .wp-block-button__link:hover .btn-icon::before,
.tilebtn-card.wp-block-button__link:hover .btn-icon::before {
    background-color: currentColor;
}
.is-style-button-5 .wp-block-button__link:hover .btn-icon::after {
    border-right-color: currentColor;
    border-bottom-color: currentColor;
}
.tilebtn-card.wp-block-button__link:hover .btn-icon::after,
.blue-bnr.wp-block-button__link:hover .btn-icon::after {
    right: -16px;
}
.tilebtn-card.wp-block-button__link:hover .btn-icon::after,
.blue-bnr.wp-block-button__link:hover .btn-icon::after {
    border-right-color: currentColor;
    border-bottom-color: currentColor;
}
.tilebtn-card.wp-block-button__link:hover .btn-icon::before,
.blue-bnr.wp-block-button__link:hover .btn-icon::before {
    width: 50px;
}
.blue-bnr.wp-block-button__link:hover .btn-icon::before,
.blue-bnr.wp-block-button__link:hover .btn-icon::after {
    mix-blend-mode: multiply;
}

/*--------------------------------------------------------
12. フッターのスタイル
--------------------------------------------------------*/
/*お問い合わせセクション*/

/*印刷しない*/
@media print {
    .contact-section {
        display: none;
    }
}

@media print, screen and (min-width: 992px) {
    .contact-section {
        padding-left: 32px;
        
        position: relative;
        z-index: 0;
    }
    .contact-section::before {
        pointer-events: none;
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #fff;
        z-index: -1;
    }
}
@media screen and (min-width: 1200px) {
    .contact-section {
        padding-left: 64px;
    }
}
.contact-section-bg {
    background-color: var(--vk-color-primary);
    padding-top: 80px;
    padding-bottom: 80px;
    
    z-index: 0;
    position: relative;
}
@media print, screen and (min-width: 992px) {
    .contact-section-bg {
        border-top-left-radius: 80px;
        border-bottom-left-radius: 80px;
        padding-right: 32px;
    }
}
@media screen and (min-width: 1200px) {
    .contact-section-bg {
        padding-right: 64px;
    }
}
.contact-grid {
    display: flex;
    flex-direction: column;
    gap: 64px;
}
@media print, screen and (min-width: 992px) {
    .contact-grid {
        padding-left: 56px;
        padding-right: 56px;
        
        position: relative;
    }
    .contact-grid::before {
        content: "";
        display: block;
        width: 160px;
        height: 246px;
        position: absolute;
        bottom: -72px;
        left: 0;
        background-image: url("img/top/section-01-right-bg.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        z-index: -1;
    }
    .contact-grid::after {
        content: "";
        display: block;
        width: 239px;
        height: 354px;
        position: absolute;
        top: -24px;
        right: -56px;
        background-image: url(img/top/section-04-bg.png);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        z-index: -1;
        animation-name: floater;
        -webkit-animation-name: floater;
        animation-duration: 8s;
        -webkit-animation-duration: 8s;
        animation-iteration-count: infinite;
        -webkit-animation-iteration-count: infinite;
    }
}
@media screen and (min-width: 1600px) {
    .contact-grid::before {
        left: -4%;
    }
}
/* 各段 */
.contact-grid__row{
  display: flex;
  flex-direction: column;
  row-gap: 32px;
  column-gap: 32px;
}
@media screen and (min-width: 768px) {
    .tilebtns {
        flex-direction: row;
    }
    .tilebtns .tilebtns__item {
        flex: 1 1 0;              /* 均等2分割 */
    }
}
@media print, screen and (min-width: 992px){
    .contact-grid__row {
        flex-direction: row;
        column-gap: 56px;
    }
    .contact-grid__row.flex-end {
        align-items: flex-end;
    }
    .contact-grid__row__item {
        flex: 1 1 0;              /* 均等2分割 */
    }
}

/*カード*/
a.tilebtn-card {
    background-color: #fff;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 64px 32px 32px;
    transition: var(--transition);
    position: relative;
}
a.tilebtn-card,
a.tilebtn-card:hover {
    color: var(--vk-color-text-body);
}
a.tilebtn-card:hover {
    opacity: 1;
}
a.tilebtn-card::before {
    pointer-events: none;
    content: "";
    display: block;
    border-radius: 20px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    box-shadow: var(--box-shadow);
    mix-blend-mode: multiply;
}
a.tilebtn-card:hover::before {
    opacity: 0.75;
    transition: var(--transition);
}
.tilebtn-card__icon {
    display: block;
    background-color: var(--vk-color-primary);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: cover;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: cover;
    margin-bottom: 16px;
    transition: var(--transition);
}
a.tilebtn-card:hover .tilebtn-card__icon {
    background-color: var(--vk-color-primary-vivid);
}
.tilebtn-card__icon.mail {
    mask-image: url("img/svg-icon/mail-icon.svg");
    -webkit-mask-image: url("img/svg-icon/mail-icon.svg");
    width: 55px;
    height: 43px;
}
.tilebtn-card__icon.mtg {
    mask-image: url("img/svg-icon/mtg-icon.svg");
    -webkit-mask-image: url("img/svg-icon/mtg-icon.svg");
    width: 57px;
    height: 50px;
}
.tilebtn-card__icon.building,
.tilebtn-card__icon.human {
    width: 78px;
    height: 88px;
}
.tilebtn-card__icon.building {
    mask-image: url("img/svg-icon/building-icon.svg");
    -webkit-mask-image: url("img/svg-icon/building-icon.svg");
}
.tilebtn-card__icon.human {
    mask-image: url("img/svg-icon/human-icon.svg");
    -webkit-mask-image: url("img/svg-icon/human-icon.svg");
}
.tilebtn-card__h2 {
    font-size: 24px;
    margin-bottom: 0;
    line-height: 1.1;
}
.tilebtn-card__p {
    color: var(--text-light);
    margin-bottom: 0;
}
.blank-icon::after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    background-color: currentColor;
    -webkit-mask-image: url("img/svg-icon/blank-icon.svg");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: cover;
    mask-image: url("img/svg-icon/blank-icon.svg");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: cover;
    margin-inline-start: 4px;
}

/*footer*/
.site-footer {
    background-color: #fff;
    padding-top: 96px;
    font-size: 1rem;
}

.site-footer-grid{
  display: flex;
  flex-direction: column;
  gap: 64px;
}
/* 各段 */
.site-footer-grid__row{
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    row-gap: 40px;
    column-gap: 40px;
}
/*※印刷に反映する*/
@media print, screen and (max-width: 991.98px) {
    .site-footer-grid__row__item.ipadhalf {
        display: inline-block;
        margin: 0 auto;
    }
}
/*※印刷に反映しない*/
@media screen and (min-width: 992px){
    .site-footer-grid__row {
        flex-direction: row;
    }
}
/*LINE*/
.bnr-LINE {
    display: flex;
    justify-content: center;
}
.bnr-LINE a, .bnr-LINE img {
    display: block;
}
@media screen and (min-width: 1200px) {
    .bnr-LINE {
        width: 600px;
    }
}

/*ロゴ*/
.site-footer-logo {
    margin-bottom: 48px;
}
.site-footer-logo a {
    display: block;
    margin: 0 auto;
    width: min(72vw, 410px);
}
.site-footer-logo img {
    display: block;
}
@media print, screen and (min-width: 992px) {
    .site-footer-logo a {
        margin: 0;
    }
}

/*address*/
.site-footer-address address {
    font-feature-settings: "palt" 1;
}
.site-footer-address span {
    display: inline-block;
}
@media screen and (max-width: 767.98px) {
    span.address-slash {
        display: none;
    }
    span.address-br {
        display: block;
    }
}
a.site-footer-address__Gmapbtn {
    border: 1px solid var(--vk-color-text-body);
    border-radius: 3px;
    display: inline-block;
    line-height: 24px;
    width: 120px;
    font-size: 14px;
    text-align: center;
    color: var(--vk-color-text-body);
    font-family: "Work Sans", sans-serif;
    font-weight: 500;
    font-feature-settings: "kern" 1, "liga" 1, "lnum" 1, "pnum" 1;
    margin-inline-start: 4px;
}
a.site-footer-address__Gmapbtn:hover {
    text-decoration: none;
    background-color: var(--vk-color-text-body);
    color: #fff;
}
/*iPhoneSE*/
@media screen and (max-width: 374.98px) {
    a.site-footer-address__Gmapbtn {
        margin-inline-start: 0;
    }
}

/*メニュー*/
.site-footer ul li a:hover {
    text-decoration: none;
}
/*※印刷に反映する*/
@media print, screen and (max-width: 991.98px) {
    .footer-nav {
        display: none;
    }    
}
.footer-nav {
    padding: 0;
    margin-bottom: 48px;
}
.footer-nav ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
.footer-nav ul li {
    flex: 0 0 24%; /* 4等分 */
    padding: 8px 0;
}
.footer-nav ul li a {
    font-size: 16px;
    white-space: nowrap;
}
.footer-nav ul li a:hover {
    color: var(--vk-color-primary);
}

/*小さなナビ*/
.footer-nav-min ul {
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
    row-gap: 8px;
}
.footer-nav-min ul li, 
.footer-nav-min ul li a {
    font-size: min(4.2vw, 14px);
}
.footer-nav-min ul li {
    margin: 0;
    position: relative;
}
.footer-nav-min ul li a {
    color: var(--vk-color-text-body);
    margin: 0 min(9vw, 32px);
}
.footer-nav-min ul li:first-child {
    width: 100%;
}
.footer-nav-min ul li:first-child a {
    margin: 0;
}
.footer-nav-min ul li:last-child a {
    margin-right: 0;
}
.footer-nav-min ul li::before {
    content: "";
    position: absolute;
    top: 3px;
    left: 0;
    width: 1px;
    bottom: 2px;
    background-color:  var(--vk-color-text-body);
}
.footer-nav-min ul li:first-child::before {
    content: none;
}
/*※印刷に反映する*/
@media print, screen and (min-width: 768px) {
    .footer-nav-min ul li:first-child {
        width: auto;
    }
    .footer-nav-min ul li:first-child a {
        margin-right: 32px;
    }
}

/*コピーライト*/
.copyright {
    border-top: 1px solid var(--bg-light);
    font-size: 12px;
    font-family: "Work Sans", sans-serif;
    font-weight: 500;
    font-feature-settings: "kern" 1, "liga" 1, "lnum" 1, "pnum" 1;
    display: flex;
    align-content: center;
    padding: 24px 0;
    margin-top: 48px;
}
@media print, screen and (min-width: 992px) {
    .copyright {
        justify-content: center;
    }
}
.copyright p {
    margin-bottom: 0;
    line-height: var(--vk-line-height-low);
}

/*--------------------------------------------------------
13. SNSリンク
--------------------------------------------------------*/

/*--------------------------------------------------------
14. トップに戻るボタン
--------------------------------------------------------*/
.page_top_btn {
    right: 0;
    bottom: 0;
    width: 50px;
    height: 50px;
    background-color: var(--vk-color-primary);
    box-shadow: none;
    border-radius: 0;
    
    z-index: 1999;
}

/*--------------------------------------------------------
15. モバイルナビボタン
--------------------------------------------------------*/

/*モバイルナビボタン シカク*/
.vk-mobile-nav-menu-btn {
    background: url("img/parts/open.svg")center 50% no-repeat;
    filter: var(--filter-box-shadow);
}
.vk-mobile-nav-menu-btn.menu-open {
    background: url("img/parts/close.svg") center 50% no-repeat;
}
.vk-mobile-nav-menu-btn.position-right {
    right: 16px;
}
.vk-mobile-nav-menu-btn, .vk-mobile-nav-menu-btn.menu-open {
    top: 16px;
    left: auto;
    border: none;
    border-radius: 5px;
    width: 42px;
    height: 42px;
    background-size: 23px 17px;
    background-color: #fff;
}

/*--------------------------------------------------------
16. モバイルナビ
--------------------------------------------------------*/

/*警告を非表示*/
.veu_adminEdit.alert {
    display: none;
}

/*クリックさせない*/
.pointer-events-none>a {
    pointer-events: none;
}

/*メニューの背景*/
.vk-mobile-nav {
    background-color: rgba(255,255,255,0.9);
    border-bottom: none;
    padding: 75px 16px;
    height: 100%;
}
.vk-mobile-nav .vk-mobile-nav-menu-outer {
    border-bottom: 1px solid var(--bg-light);
    padding-bottom: 16px;
}

/*メニュー1個1個*/
.vk-mobile-nav nav>ul, .vk-mobile-nav nav ul li a {
    border: none;
}
.vk-mobile-nav nav ul li a {
    font-size: 18px;
    font-weight: 500;
    padding: 8px;
}
/*子をひらくアイコン スマホ*/
.vk-menu-acc .acc-btn {
    /*border-radius: 4px;*/
    background-size: 65%;
    width: 20%;
    height: 40px;
    top: 13.125px;
}
/*子をひらくアイコン タブレット*/
.device-mobile .global-nav-list>li .acc-btn {
    background-color: #fff;
    width: 2rem;
    right: -5px;
}

/*--------------------------------------------------------
17. ロゴ
--------------------------------------------------------*/
.site-header-logo {
    text-align: left; /*消さないで*/
}
.site-header-logo img {
    margin: 0; /*消さないで*/
}

.site-header-logo {
    display: flex;
    align-items: center;
}
.site-header-container,
.site-header-logo {
    height: 100%;
}
@media print, screen and (min-width: 992px) {
    .site-header-logo {
        padding: 16px 0;
        margin-bottom: 0;
    }
    .site-header--layout--nav-float .site-header-logo {
        margin-right: 16px;
    }
    .site-header-logo img {
        max-height: min(6vw, 99px);
    }
    .scrolled .site-header-logo img {
        max-height: min(6vw, 64px);
    }
}

/*--------------------------------------------------------
18. サイトヘッダー
--------------------------------------------------------*/

.site-header,
.site-header-logo img,
.site-header-container__layout {
    transition: max-height .15s ease-out, height .15s ease-out, opacity .15s ease-out, background-color .3s ease-out;
}
.scrolled .site-header,
.scrolled .site-header-logo img,
.scrolled .site-header-container__layout {
    transition: max-height .075s ease-out, height .075s ease-out, opacity .075s ease-out;
}
.site-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    height: var(--header-height);
    background-color: #fff;
}
@media screen and (min-width: 992px) {
    .site-header {
        position: fixed;
    }
}
@media print, screen and (min-width: 992px) {
    .site-header {
        background-color: transparent;
        padding-bottom: 0;
        box-shadow: none;
    }
    .scrolled .site-header {
        height: var(--header-height-scrolled);
        background-color: #fff;
    }
    .device-pc .global-nav-list>li>a:hover {
        text-decoration: none;
    }
}

/*文字サイズ タブレットとか関係なく強制的に統一*/
.device-mobile .global-nav-list>li .global-nav-name,
.global-nav-list>li .global-nav-name {
    font-size: min(1.61vw, 18px);
}
.scrolled .device-mobile .global-nav-list>li .global-nav-name,
.scrolled .global-nav-list>li .global-nav-name {
    font-size: min(1.61vw, 16px);
}
.global-nav-list>li>a:hover {
    color: var(--vk-color-primary);
}
.global-nav-name {
    text-shadow: 0 2px 4px rgba(255,255,255,0.775);
}

/*サブメニューのスクロールバーが気になるのを解決*/
.device-pc .global-nav-list>li:focus-within li:focus-within>.sub-menu, 
.device-pc .global-nav-list>li:focus-within>.sub-menu, 
.device-pc .global-nav-list>li:hover li:focus-within>.sub-menu, 
.device-pc .global-nav-list>li:hover>.sub-menu {
    overflow-y: hidden;
}

.global-nav-list {
    align-items: center;
}
.device-mobile .global-nav-list>li,
.device-pc .global-nav-list>li>a {
    padding: 16px 1.5em;
}
.scrolled.device-mobile .global-nav-list>li,
.scrolled.device-pc .global-nav-list>li>a {
    padding-left: 8px;
    padding-right: 8px;
}
.device-mobile .global-nav-list>li:first-child,
.device-pc .global-nav-list>li:first-child>a {
    padding-left: 0;
}

/*site-header-container__layout*/
@media print, screen and (min-width: 992px) {
    .site-header-container__layout {
        display: flex;
        flex-flow: column;
        justify-content: flex-end;
        height: var(--header-height);
    }
    .scrolled .site-header-container__layout {
        height: var(--header-height-scrolled);
        justify-content: center;
    }
}
.site-header-container__layout__min {
    display: none;
}
@media print, screen and (min-width: 992px) {
    .site-header-container__layout__min {
        display: flex;
        justify-content: flex-end;
        column-gap: 16px;
    }
    .scrolled .site-header-container__layout__min {
        opacity: 0;
        max-height: 0;
    }
}
/*nav-header-nav-min*/
@media print, screen and (min-width: 992px) {
    .nav-header-nav-min {
        display: flex;
        align-items: center;
    }
}
.nav-header-nav-min__ul {
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: space-between;
    height: 160px;
}
@media print, screen and (min-width: 992px) {
    .nav-header-nav-min__ul {
        height: 40px;
        column-gap: 16px; 
    }
}
@media screen and (max-width: 991.98px) {
    .nav-header-nav-min__ul li {
        width: calc( ( 100% - 16px ) / 2 );
    }    
}
.nav-header-nav-min__ul li a {
    height: 100%;
    display: flex!important;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    border-radius: var(--vk-size-radius);
    white-space: nowrap;
    font-weight: 500;
    font-size: 18px;
    line-height: 1;
    column-gap: 16px;
    row-gap: 24px;
    filter: var(--filter-box-shadow);
    padding: 0 24px;
}
@media print, screen and (min-width: 992px) {
    .nav-header-nav-min__ul li a {
        font-size: 14px;
        flex-flow: row;
    }
}
.nav-header-nav-min__ul li a::before {
    content: "";
    display: block;
    width: 42px;
    height: 33px;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: cover;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
}
.nav-header-nav-min__ul li a:hover {
    text-decoration: none;
}

.nav-header-nav-min__ul li:nth-child(odd) a {
    background-color: var(--vk-color-primary);
    color: #fff;
}
.nav-header-nav-min__ul li:nth-child(even) a {
    background-color: #fff;
    color: var(--vk-color-text-body);
}
.nav-header-nav-min__ul li:nth-child(odd) a::before {
    background-color: #fff;
    -webkit-mask-image: url("img/svg-icon/mail-icon.svg");
    mask-image: url("img/svg-icon/mail-icon.svg");
    width: 42px;
    height: 33px;
}
.nav-header-nav-min__ul li:nth-child(even) a::before {
    background-color: var(--vk-color-text-body);
    -webkit-mask-image: url("img/svg-icon/mtg-icon.svg");
    mask-image: url("img/svg-icon/mtg-icon.svg");
    width: 41px;
    height: 36px;
}
@media print, screen and (min-width: 992px) {
    .nav-header-nav-min__ul li:nth-child(odd) a::before {
        width: 18px;
        height: 14px;
    }
    .nav-header-nav-min__ul li:nth-child(even) a::before {
        width: 19px;
        height: 17px;
    }
}

/*header-square-envelope*/
.header-square-envelope {
    display: none;
}

.header-square-envelope {
    justify-content: center;
    align-items: center;
}
.device-mobile .global-nav-list>li.header-square-envelope, .device-pc .global-nav-list>li.header-square-envelope>a {
    padding: 0!important;
}
.header-square-envelope,
.header-square-envelope a {
    width: 42px;
    height: 42px;
}
.header-square-envelope a {
    display: block;
    background-color: var(--vk-color-primary);
    position: relative;
    border-radius: 5px;
    filter: var(--filter-box-shadow);
    text-indent: -9999px;
}
.header-square-envelope a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    display: block;
    width: 42px;
    height: 42px;
    background-color: #fff;
    -webkit-mask-image: url("img/svg-icon/mail-icon.svg");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: 18px 14px;
    mask-image: url("img/svg-icon/mail-icon.svg");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: 18px 14px;
}
@media screen and (max-width: 991.98px) {
    .header-square-envelope {
        display: flex;
        position: fixed!important;
        top: 16px;
        right: 72px;
    }
}
@media print, screen and (min-width: 992px) {
    .scrolled .site-header li.header-square-envelope {
        display: flex;
        margin-left: 16px;
    }    
}

/*--------------------------------------------------------
19.ブログ関連のスタイル
--------------------------------------------------------*/
.vk_posts {
    margin-left: 0;
    margin-right: 0;
}
.vk_post {
    margin-left: 0;
    margin-right: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    position: relative;
}

.post-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.postListText {
    background-color: #fff;
    border-radius: var(--vk-size-radius);
    border: none;
    padding: 24px 32px 20px 32px;
    gap: 8px 16px;
}

/*日*/
.postListText_date {
    font-size: 14px;
    color: var(--vk-color-primary);
    float: none;
    min-width: auto;
    margin-right: 0;
    font-family: "Work Sans", sans-serif;
    font-weight: 500;
    font-feature-settings: "kern" 1, "liga" 1, "lnum" 1, "pnum" 1;
}
/*カテゴリ*/
.postListText_singleTermLabel {
    float: none;
    margin: 0;
    min-width: inherit;
}
.postListText_singleTermLabel a {
    background-color: transparent!important;
    border: 1px solid var(--vk-color-primary);
    color: var(--vk-color-primary)!important;
    text-decoration: none;
    display: block;
    overflow: hidden;
    font-size: 12px;
    white-space: nowrap;
    padding: 0 1rem;
    line-height: 16px;
    border-radius: 2px;
    text-align: center;
}
/*題名*/
.postListText_title {
    font-size: 16px;
    width: 100%;
}
.postListText_title a {
    text-decoration: none;
}
.postListText_title a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

/*ページネーション*/
ul.page-numbers li {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    margin-right: 1rem;
}
ul.page-numbers li:last-child {
    margin-right: 0;
}
ul.page-numbers li a, ul.page-numbers li span.page-numbers {
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    margin-left: 0;
    width: 100%;
    height: 100%;
}
ul.page-numbers li a {
    background-color: var(--bg-light);
}
ul.page-numbers li span.page-numbers {
    width: 100%;
    height: 100%;
}
/*詳細記事*/
.entry-header {
    display: flex;
    flex-direction: column-reverse;
    row-gap: 16px;
    margin-bottom: 40px;
}
.entry-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
    line-height: var(--vk-line-height);
}
.entry-title {
    position: relative;
}
.entry-title::after {
    position: absolute;
    bottom: -24px;
    left: 0;
    right: 0;
    content: "";
    display: block;
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background-color: var(--vk-color-primary-vivid);
}
.next-prev {
    display: none;
}

li a[target="_blank"]::after {
    margin-inline-end: 8px;
}

/*トップページの記事*/
.home .newswrap {
    margin-bottom: 72px;    
}
.home .newswrap .vk_posts .vk_post:nth-child(n+4) {
    display: none;
}
.home .newswrap__more {
    padding: 24px 0;
}

/*--------------------------------------------------------
20.トップページメインビジュアル
--------------------------------------------------------*/
.swiper {
    overflow: visible;
}
.swiper-slide picture img {
    width: 100%;
    height: 100vh;
    object-fit: cover;
    border-bottom-left-radius: var(--radius);
    border-bottom-right-radius: var(--radius);
}
@media screen and (max-width: 991.98px) {
    .swiper {
        margin-top: var(--header-height);
    }
    .swiper-slide picture img {
        height: 40vh;
    }
}

.swiper-button-next, .swiper-button-prev {
    transition: opacity .3s;
}
.swiper-button-next:not(:hover), .swiper-button-prev:not(:hover) {
    opacity: 0;
}

/*印刷のみ設定*/
@media print {
    .swiper-wrapper {
        transform: none !important; /* スライド位置を固定 */
        transition: none !important; /* アニメーションを無効化 */
      }
    .swiper-slide {
        width: 100%!important;
    }
    .swiper-slide picture img {
        height: 40vh;
    } 
}

/*ページネーション*/
.swiper-pagination {
    display: none;
}
/*.swiper-pagination-bullets {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    column-gap: 5px;
        
    top: auto;
    left: auto;
    right: 30px;
    bottom: -40px!important;
    width: auto!important;
}
@media print, screen and (min-width: 992px) {
    .swiper-pagination-bullets {
        right: calc( 60px + 15px );
    }
}
.swiper-pagination-bullet {
    border-radius: 50%;
    width: 10px;
    height: 10px;
    outline: none;

    display: inline-block;
    margin: 0!important;
}
.swiper-pagination-bullet-active {
    background-color: var(--vk-color-primary);
}*/

/*--------------------------------------------------------
21.スマホ用下部固定メニュー
--------------------------------------------------------*/
@media screen and (max-width: 767.98px) {
    footer {
        margin-bottom: 50px;
    }
    .bottommenu {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        display: flex;
        justify-content: flex-start;
        z-index: 1;
        font-size: 14px;
        margin-right: 50px;
        
        opacity: 0;
        transition: opacity .3s;
    }
    .scrolled .bottommenu {
        opacity: 1;
    }
    .bottommenu__item {
        width: 100%;
    }
    .bottommenu__item a {
        display: flex;
        justify-content: center;
        align-items: center;
        line-height: 50px;
        width: 100%;
        height: 100%;
        padding-left: 16px;
        padding-right: 16px;
    }
    .bottommenu__item a:hover {
        text-decoration: none;
    }
    .bottommenu__item__tel-a, .bottommenu__item__tel-a:hover,
    a.bottommenu__item__tel-a[href^="tel:"] {
        background-color: var(--vk-color-primary-vivid);
        color: #fff;
    }
    .bottommenu__item__line-a, .bottommenu__item__line-a:hover {
        background-color: #06c755; /*LINE公式色*/
        color: #fff;
    }
}
@media print, screen and (min-width: 768px) {
    .bottommenu {
        display: none;
    }
}

/*--------------------------------------------------------
22.スクロールヒント
--------------------------------------------------------*/
.scroll-hint-icon {
    border-radius: var(--vk-size-radius);
    background: var(--vk-color-primary);
}
.scroll-hint-text {
    margin-top: 5px;
    margin-bottom: 5px;
    line-height: 1;
}
.c-scrollHint {
    -webkit-animation: FloatHorizontal 2s ease-in-out infinite alternate;
    animation: FloatHorizontal 2s ease-in-out infinite alternate;
    margin-bottom: 2px!important;
    margin-top: 3em;
    text-align: right;
}
.c-scrollHint span {
    align-items: center;
    display: inline-flex;
    font-size: 12px;
    line-height: 1;
    opacity: .75;
    vertical-align: middle;
}
@media (min-width: 768px){
    .sp_, .sp_only {
        display: none!important;
    }
}
.c-scrollHint span i {
    font-size: 16px;
    margin-left: 4px;
}


/*--------------------------------------------------------
ページ
--------------------------------------------------------*/
.vk_prBlocks .vk_prBlocks_item:not(.is-style-outline) .vk_prBlocks_item_icon_outer:not(.has-background) {
    width: 176px;
    height: 176px;
    background-color: transparent;
}
@media screen and (min-width: 768px) {
    .vk_prBlocks .vk_prBlocks_item:not(.is-style-outline) .vk_prBlocks_item_icon_outer:not(.has-background) {
        width: min(23vw, 280px);
        height: min(23vw, 280px);
    }
}
.vk_prBlocks .vk_prBlocks_item:not(.is-style-outline) .vk_prBlocks_item_icon {
    color: var(--vk-color-primary);
    font-size: 176px;
    margin: 0;
}
@media screen and (min-width: 768px) {
    .vk_prBlocks .vk_prBlocks_item:not(.is-style-outline) .vk_prBlocks_item_icon {
        font-size: min(23vw, 280px);
    }
}
.vk_prBlocks .vk_prBlocks_item .vk_prBlocks_item_title {
    font-size: 24px;
    white-space: nowrap;
    color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 176px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding-bottom: 14px;
}
@media screen and (min-width: 768px) {
    .vk_prBlocks .vk_prBlocks_item .vk_prBlocks_item_title {
        height: min(23vw, 280px);
    }
}
.vk_prBlocks .vk_prBlocks_item .vk_prBlocks_item_summary {
    text-align: left;
    font-size: 14px;
}
@media screen and (min-width: 576px) {
    .vk_prBlocks .vk_prBlocks_item.col-sm-4 {
        flex: auto;
        max-width: none;
    }
}
@media print, screen and (min-width: 768px) {
    .vk_prBlocks .vk_prBlocks_item.col-sm-4 {
        flex: 0 0 33.33333333%;
        max-width: 33.33333333%;
    }
}
/*--------------------------------------------------------
トップページコンテンツ
--------------------------------------------------------*/

.section01 {
    padding: 64px 0;
    position: relative;
    z-index: 0;
}
@media print, screen and (min-width: 992px) {
    .section01 {
        padding: 192px 0;
    }
}
.section01 h2 {
    font-size: 36px;
    text-align: center;
    margin-bottom: 56px;
}
@media screen and (max-width: 767.98px) {
    .section01::after {
        content: "";
        display: block;
        position: absolute;
        top: -88px;
        left: 0;
        right: 0;
        bottom: 0;
        background-image: url("img/top/bg-01-oxi.png");
        background-position: center top;
        background-repeat: no-repeat;
        background-size: 375px;
        z-index: -1;
        
        animation-name: floater;
	-webkit-animation-name: floater;
	animation-duration: 8s;	
	-webkit-animation-duration: 8s;
	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
	visibility: visible !important;
    }
}
.section01::before {
    content: "";
    display: block;
    position: absolute;
    top: -272px;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #f3f9fa;
    z-index: -1;
}
.movie__bg {
    position: absolute;
    width: 200%;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    -webkit-object-fit: cover;
    object-fit: cover;
    z-index: -1;
    -webkit-mix-blend-mode: multiply;
    mix-blend-mode: multiply;
    opacity: .2;
    pointer-events: none;
}
@media print, screen and (min-width: 768px) {
    .movie__bg {
        width: 120%;
        top: -80px;
        transform: translateX(-50%) rotate(25deg);
        z-index: 0;
    }
}

.page-ashirai {
    max-width: 100%;
    overflow: hidden;
}
@media screen and (max-width: 767.98px) {
    .page-ashirai, .page-ashirai video {
        display: none;
    }   
}

.section01 h2 {
    font-size: 36px;
    text-align: center;
    margin-bottom: 56px;
    font-feature-settings: "kern" 1;
}
@media print, screen and (min-width: 992px) {
    .section01 h2 {
        font-size: 48px;
        margin-bottom: 80px;
    }
}
.section01 p {
    font-weight: 500;
    font-size: min(5vw, 18px);
    line-height: 2;
}
@media screen and (min-width: 768px) {
    .section01 p {
        text-align: center;
    }
}
@media print, screen and (min-width: 992px) {
    .section01 p {
        font-size: 20px;
    }
}
.section01 h2 span,
.section01 p span {
    display: inline-block;
}
.section01__pwrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
}  
@media screen and (max-width: 575.98px) {
    .section01__pwrap {
        padding-left: 16px;
    }   
}
.section01__img-01 {
    padding-left: 50%;
    height: 264px;
}
.section01__img-02 {
    display: none;
}
.section01__img-01 img,
.section01__img-02 img {
    display: block;
}
.section01__img-01 img {
    max-height: 100%;
    width: auto;
}
@media screen and (max-width: 767.98px) {
    .section01__img-01::before {
        content: "";
        display: block;
        width: 160px;
        height: 246px;
        position: absolute;
        top: 40px;
        left: 60%;
        background-image: url("img/top/section-01-right-bg.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        z-index: -1;
    }
}
@media screen and (min-width: 768px) {
    .section01__img-02 {
        display: block;
        position: absolute;
        top: 120px;
        left: -168px;
        z-index: 0;
    }
    .section01__img-02::before {
        content: "";
        display: block;
        width: 535px;
        height: 688px;
        position: absolute;
        top: 72px;
        left: -88px;
        background-image: url("img/top/section-01-left-bg.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        z-index: -1;
    }
    .section01__img-01 {
        padding-top: 0;
        padding-left: 0;
        position: absolute;
        top: 232px;
        right: -80px;
        z-index: 0;
    }
}
@media screen and (min-width: 1200px) {
    .section01__img-01 {
        height: auto;
    }
    .section01__img-01::before {
        content: "";
        display: block;
        width: 232px;
        height: 356px;
        position: absolute;
        top: -144px;
        right: -80px;
        background-image: url("img/top/section-01-right-bg.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        z-index: -2;
    }
}
@media screen and (min-width: 1366px) {
    .section01__img-02 {
        left: 2%;
    }
    .section01__img-01 {
        right: 4%;
    }
}

.floater{
	animation-name: floater;
	-webkit-animation-name: floater;
	animation-duration: 8s;	
	-webkit-animation-duration: 8s;
	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
	visibility: visible !important;	
}
@keyframes floater {
	0% {
		transform: translateY(0%);	
	}
	50% {
		transform: translateY(-2%);	
	}	
	100% {
		transform: translateY(0%);
	}			
}
@-webkit-keyframes floater {
	0% {
		-webkit-transform: translateY(0%);	
	}
	50% {
		-webkit-transform: translateY(-2%);	
	}	
	100% {
		-webkit-transform: translateY(0%);
	}			
}

/*セクション2*/
.section02 {
    position: relative;
    z-index: 0;
}
.section02::before {
    pointer-events: none;
    content: "";
    display: block;
    position: absolute;
    top: 240px;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #fff;
    z-index: -1;
}
@media print, screen and (min-width: 992px) {
    .section02::before {
        border-top-left-radius: var(--radius);
        border-top-right-radius: var(--radius);
    }
}
.section02::after {
    content: "";
    display: block;
    width: 240px;
    height: 359px;
    position: absolute;
    top: -64px;
    right: 4%;
    background-image: url("img/top/section-02-right-bg.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -2;
    animation-name: floater;
	-webkit-animation-name: floater;
	animation-duration: 8s;	
	-webkit-animation-duration: 8s;
	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
	visibility: visible !important;	
}
@media screen and (max-width: 767.98px) {
    .section02 .tilebtns {
        padding-left: 8px;
        padding-right: 8px;
    }    
}
.section02 a.tilebtn-card {
    padding-top: 80px;
    padding-bottom: 64px;
}
.section02 .tilebtn-card__icon {
    margin-bottom: 40px;
}
.section02 .tilebtn-card__h2 {
    margin-bottom: 24px;
}
.section02 .tilebtn-card__p {
    text-align: left;
    margin-bottom: 32px;
}
@media screen and (min-width: 768px) {
    .section02 .tilebtn-card__p {
        height: 164px;
    }
}
@media screen and (min-width: 1043px) {
    .section02 .tilebtn-card__p {
        height: 137px;
    }
}
@media screen and (min-width: 1284px) {
    .section02 .tilebtn-card__p {
        height: 109px;
    }
}
@media print, screen and (min-width: 992px) {
    .section02 a.tilebtn-card {
        padding-left: 72px;
        padding-right: 72px;
    }
}

/* ---- ブルーバナー ---- */
.section02__blue-bnr-wrap {
    padding: 104px 0 48px;
}
.blue-bnrs__item {
    max-width: 750px;
    margin: 0 auto;
}
@media screen and (max-width: 767.98px) {
    .blue-bnrs__item {
        padding-left: 8px;
        padding-right: 8px;
    }
}
a.blue-bnr {
    display: grid;
    gap: 24px 32px;
    grid-template-columns: 1fr 3fr;
    grid-template-areas:
    "icon title"
    "desc desc"
    "btn  btn";
    align-items: center;
    padding: 40px 32px 24px;
    border-radius: var(--vk-size-radius);
    background-color: var(--vk-color-primary);
    color: #fff;
    text-align: left;
    position: relative;
}
a.blue-bnr::before {
    pointer-events: none;
    content: "";
    display: block;
    border-radius: var(--vk-size-radius);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    box-shadow: var(--box-shadow);
    mix-blend-mode: multiply;
}
a.blue-bnr:hover::before {
    opacity: 0.75;
    transition: var(--transition);
}

/* ---- items ---- */
.blue-bnr__icon {
    grid-area: icon;
    display: block;
    background-color: #fff;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: cover;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: cover;
}
.blue-bnr__icon.mtg {
    mask-image: url(img/svg-icon/mtg-icon.svg);
    -webkit-mask-image: url(img/svg-icon/mtg-icon.svg);
    width: 57px;
    height: 50px;
}
.blue-bnr__h2 {
    grid-area: title;
    font-size: 24px;
    margin-bottom: 0;
    line-height: 1.3;
}
.blue-bnr__h2 span {
    display: inline-block;
}
.blue-bnr__p {
    grid-area: desc;
    margin-bottom: 0;
    font-size: 14px;
}
.blue-bnr.wp-block-button__link .btn-icon {
    grid-area: btn;
    justify-self: center;           /* SP: 中央配置 */
    align-self: center;
}

/* ---- PC >= 768px ---- */
@media screen and (min-width: 768px) {
    a.blue-bnr {
        align-items: flex-start;
        gap: 0 32px;
        padding: 40px 32px 20px 64px;
        grid-template-columns: 57px 1fr;
        grid-template-areas:
          "icon title"
          "icon desc"
          "icon btn";
    }
    .blue-bnr__h2 {
        margin-bottom: 8px;
    }
    .blue-bnr.wp-block-button__link .btn-icon {
        justify-self: end;                      /* PC: 右下寄せ */
        align-self: end;
    }
}

/*取扱保険*/
.insurance {
    display: flex;
    flex-direction: column;
    gap: 24px 32px;
}
@media screen and (min-width: 768px) {
    .insurance {
        flex-direction: row;
        flex-wrap: wrap;
    }
}
a.insurance__item,
a.insurance__item img {
    display: block;
    height: 84px;
}
a.insurance__item {
    background-color: #fff;
    display: flex;
    justify-content: center;
    filter: var(--filter-box-shadow);
}

/*セクション3*/
.section03 {
    padding-top: 48px;
    padding-bottom: 80px;
    position: relative;
    z-index: 1;
}
@media screen and (max-width: 1365.98px) {
    .section03__inner {
        max-width: 750px;
        margin: 0 auto;
    }
}
@media print, screen and (min-width: 992px) {
    .section03 {
        background-color: #fff;
        border-bottom-left-radius: var(--radius);
        border-bottom-right-radius: var(--radius);
    }
}

/*セクション4*/
.section04 {
    position: relative;
}
@media screen and (max-width: 991.98px) {
    .section04 .movie__bg {
        display: none;
    }
}
@media screen and (min-width: 768px) {
    .section04 .movie__bg {
        width: 100%;
        top: 0%;
        left: 0;
        transform: translateX(-50%) rotate(0deg);
    }
}

@media screen and (min-width: 992px) {
    .visual-wrap {
        width: 56%;
        position: absolute;
        top: calc( var(--radius) * -1 );
        right: 0;
        bottom: 0;
        background-color: #fff;
    }
}
.about-wrap {
    padding-top: 64px;
    padding-bottom: 32px;
    position: relative;
    z-index: 0;
}
.about-wrap::before {
    pointer-events: none;
    content: "";
    display: block;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
}
@media screen and (min-width: 768px) {
    .about-wrap p span {
        display: inline-block;
    }
}
@media print, screen and (min-width: 992px) {
    .about-wrap {
        padding-top: min(6vw, 304px);
    }
    .about-wrap::before {
        top: min(11vw, 352px);
        width: 52%;
        border-top-right-radius: var(--radius);
    }
    .about-wrap p {
        width: 50%;
    }
    .section-04-bg {
        position: relative;
    }
    .section-04-bg::before {
        content: "";
        display: block;
        width: 126px;
        height: 194px;
        position: absolute;
        top: -20vw;
        left: 5%;
        background-image: url(img/top/section-01-right-bg.png);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        z-index: -1;
        animation-name: floater;
        -webkit-animation-name: floater;
        animation-duration: 8s;
        -webkit-animation-duration: 8s;
        animation-iteration-count: infinite;
        -webkit-animation-iteration-count: infinite;opacity: .75;
    }
    .section-04-bg::after {
        content: "";
        display: block;
        width: 239px;
        height: 354px;
        position: absolute;
        top: -72px;
        left: 36%;
        background-image: url(img/top/section-04-bg.png);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        z-index: -1;
        animation-name: floater;
        -webkit-animation-name: floater;
        animation-duration: 8s;
        -webkit-animation-duration: 8s;
        animation-iteration-count: infinite;
        -webkit-animation-iteration-count: infinite;
    }
}
@media screen and (min-width: 1200px) {
    .about-wrap {
        padding-top: 304px;
    }
    .about-wrap::before {
        top: 352px;
    }
}
@media screen and (min-width: 1400px) {
    .section-04-bg::after {
        left: -208px;
    }
}

/*セクション5*/
.section05 {
    padding-top: 56px;
    padding-bottom: 144px;
    background-color: #fff;
    border-bottom-left-radius: var(--radius);
    border-bottom-right-radius: var(--radius);
    position: relative;
    z-index: 1;
}

.blue-bnrs-vivid .blue-bnrs__item {
    width: 100%;
}
@media screen and (min-width: 768px) {
    .blue-bnrs-vivid .blue-bnrs__item {
        flex: 1 1 0;
    }
}

.blue-bnrs-vivid a.blue-bnr {
    background-color: var(--bg);
    color: var(--vk-color-text-body);
    gap: 24px 14px;
}
@media screen and (min-width: 768px) {
    .blue-bnrs-vivid a.blue-bnr {
        gap: 0 24px;
        grid-template-columns: 120px 1fr;
        padding: 24px 32px 20px 24px;
        align-items: center;
    }
}

.blue-bnrs-vivid .blue-bnr__icon {
    width: 72px;
    height: 98px;
    background-color: #fff;
    border-radius: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.blue-bnrs-vivid .blue-bnr__icon img {
    display: block;
    max-width: calc( 100% - 16px );
}
@media screen and (min-width: 768px) {
    .blue-bnrs-vivid .blue-bnr__icon {
        width: 120px;
        height: 164px;
    }
}
@media screen and (min-width: 768px) {
    .blue-bnrs-vivid  .blue-bnr__h2 {
        margin-bottom: 0;
    }
}
.blue-bnrs-vivid .blue-bnr__p {
    color: var(--text-light);
    font-size: 16px;
}

/*採用ページへ*/
.recruit-bnr-wrap {
    padding: 72px 8px;
    margin-bottom: 56px;
}
.recruit-bnr-wrap.has-a {
    display: flex;
    justify-content: center;
}
@media screen and (min-width: 768px) {
    .recruit-bnr-wrap {
        padding-left: 0;
        padding-right: 0;
    }
}

.recruit-bnr-wrap a.wp-block-button__link {
    background-color: transparent;
    border-radius: 0;
    border:none;
    padding: 0;position: relative;
}
.recruit-bnr-wrap a::before {
    pointer-events: none;
    content: "";
    display: block;
    border-radius: var(--vk-size-radius);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    box-shadow: var(--box-shadow);
    mix-blend-mode: multiply;
}
.recruit-bnr-wrap a:hover::before {
    opacity: 0.75;
    transition: var(--transition);
}
.recruit-bnr-wrap a.wp-block-button__link .btn-icon-wrap {
    position: absolute;
    top: 50%;
    right: 14%;
    width: 40px;
    height: 16px;
}
@media screen and (min-width: 768px) {
    .recruit-bnr-wrap a.wp-block-button__link .btn-icon-wrap {
        top: auto;
        right: 40px;
        bottom: 40px;
    }
}

.recruit-picture {
    display: flex;
    justify-content: center;
}
.recruit-picture img {
    display: block;
}
@media screen and (min-width: 768px) {
    .recruit-picture img {
        width: 1200px;
    }    
}

/*ネットワーク*/
.network {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
    .network {
        flex-direction: row;
        flex-wrap: wrap;
    }
}
a.network__item,
a.network__item img {
    display: block;
}
a.network__item {
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    filter: var(--filter-box-shadow);
    padding: 16px 32px;
    color: var(--vk-color-text-body);
    text-decoration: none;
    border-radius: var(--vk-size-radius);
}
@media screen and (max-width: 767.98px) {
    a.network__item {
        width: 90%;
        margin: 0 auto;
    }
}
@media screen and (min-width: 768px) {
    a.network__item {
        width: calc( ( 100% - 32px ) / 2 );
        margin: 0;
    }
}
@media print, screen and (min-width: 992px) {
    a.network__item {
        width: calc( ( 100% - 32px - 32px ) / 3 );
    }
}

a.network__item::after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    background-color: currentColor;
    -webkit-mask-image: url("img/svg-icon/blank-icon.svg");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: cover;
    mask-image: url("img/svg-icon/blank-icon.svg");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: cover;
    margin-inline-start: 4px; 
}

.network-description-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.network-description {
    font-size: 14px;
    margin-bottom: 16px;
}
/*.wp-block-buttons .wp-block-button.voice__more {
    min-width: 100%;
}
.wp-block-buttons .wp-block-button.voice__more .wp-block-button__link {
    min-height: 80px;
    text-align: center;
    font-size: 32px;
    padding: 16px 40px 16px 16px;
    font-weight: 400;
    font-feature-settings: "palt" 1;
    letter-spacing: 0.02em;
}
.wp-block-buttons .wp-block-button.voice__more .wp-block-button__link .btn-icon-wrap {
    right: min(9vw, 168px);
    height: 40px;
}
.wp-block-buttons .wp-block-button.voice__more .wp-block-button__link .btn-icon {
    height: 40px;
    border-radius: 50%;
}
@media print, screen and (min-width: 992px) {
    .wp-block-buttons .wp-block-button.voice__more {
        min-width: 624px;
    }
}*/


/*セクション6*/
.section06 {
    padding-top: 128px;
    position: relative;
    z-index: 0;
}
.section06 .movie__bg {
    top: 50vw;
}
@media screen and (min-width: 992px) {
    .section06 .movie__bg {
        width: 150%;
        top: auto;
        left: -12vw;
        bottom: -400px;
        transform: translateX(0%) rotate(-14deg);
        z-index: -1;
    }   
}

@media screen and (max-width: 991.98px) {
    .section06::after {
        content: "";
        display: block;
        position: absolute;
        top: -88px;
        left: 0px;
        right: 0px;
        bottom: 0px;
        background-image: url(img/top/bg-01-oxi.png);
        background-repeat: no-repeat;
        background-size: 375px;
        z-index: -1;
        animation-name: floater;
        animation-duration: 8s;
        animation-iteration-count: infinite;
        visibility: visible !important;
        background-position: center top;
    }
}
@media screen and (min-width: 992px) {
    .section06::before {
        content: "";
        display: block;
        width: 126px;
        height: 194px;
        position: absolute;
        top: 20vw;
        left: 5%;
        background-image: url(img/top/section-01-right-bg.png);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        z-index: -1;
        animation-name: floater;
        -webkit-animation-name: floater;
        animation-duration: 8s;
        -webkit-animation-duration: 8s;
        animation-iteration-count: infinite;
        -webkit-animation-iteration-count: infinite;
        opacity: .75;
    }
    .section06::after {
        content: "";
        display: block;
        width: 240px;
        height: 359px;
        position: absolute;
        top: -64px;
        right: 4%;
        background-image: url("img/top/section-02-right-bg.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        z-index: -2;
        animation-name: floater;
        -webkit-animation-name: floater;
        animation-duration: 8s;	
        -webkit-animation-duration: 8s;
        animation-iteration-count: infinite;
        -webkit-animation-iteration-count: infinite;
        visibility: visible !important;	
    }
}

.YouTubechannel {
    display: flex;
    flex-direction: column;
    gap: 24px 24px;
    margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
    .YouTubechannel {
        flex-direction: row;
        flex-wrap: wrap;
        row-gap: 56px; 
    }
}
.YouTubechannel__item,
.YouTubechannel__item a {
    overflow: hidden;
    border-radius: var(--vk-size-radius);
}
.YouTubechannel__item {
    width: 100%;
    background-color: #fff;
    /*box-shadow: var(--box-shadow);*/
}
@media screen and (min-width: 768px) {
    .YouTubechannel__item {
        width: calc( ( 100% - 24px ) / 2 )
    }
}
.YouTubechannel__item a {
    display: flex;
    justify-content: space-between;
    color: var(--vk-color-text-body);
    text-decoration: none;
    height: 180px;
}
.YouTubechannel__item h4 {
    font-size: 16px;
    line-height: var(--vk-line-height);
    margin-bottom: 0;
    
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5; /* ← 表示する行数 */
    overflow: hidden;
}

.YouTubechannel__item__imgwrap {
    width: 56%;
    background-repeat: no-repeat;
    background-size: 86vw;
    background-position: center 50%;
    position: relative;
}
@media screen and (min-width: 768px) {
    .YouTubechannel__item__imgwrap {
        background-size: 41vw;
    }
}
@media print, screen and (min-width: 992px) {
    .YouTubechannel__item__imgwrap {
        background-size: 34vw;
    }
}
.YouTubechannel__item__imgwrap img {
    position: absolute;
    left: -9999px;
}
.YouTubechannel__item__txtwrap {
    width: 44%;
    padding: 16px;
}
@media screen and (min-width: 768px) {
    .YouTubechannel__item__txtwrap {
        padding: 32px;
    }
}

.youtube-more {
    display: flex;
    justify-content: center;
}
.youtube-more a, .youtube-more img {
    display: block
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*固定ページ お問合せ form CSS*/
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.form__wrap {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
.wpcf7 .template01 {
  color: var(--vk-color-text-body);
  font-size: 16px;
}
.wpcf7 .template01 a {
  margin: 0;
  padding: 0;
  text-decoration: underline;
  color: inherit;
  transition: opacity .25s;
}
.wpcf7 .template01 a:hover {
  opacity: .5;
  transition: opacity .25s;
}
.wpcf7 .template01 div.form__row {
  margin: 0;
  padding: 0;
  margin-bottom: 15px;
}
.wpcf7 .template01 div.form__row.row-privacy {
  margin-top: 3.5em;
  text-align: center;
}
.wpcf7 .template01 div.form__row.row-submit {
  margin-top: 3em;
  text-align: center;
}
.wpcf7 .template01 p.form__txt,
.wpcf7 .template01 p.form__label,
.wpcf7 .template01 p.form__body {
  margin: 0;
  margin-bottom: .5em;
  padding: 0;
  box-sizing: border-box;
}
.wpcf7 .template01 p.form__txt {
    font-size: 14px;
}
.wpcf7 .template01 p.form__label label {
  position: relative;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.wpcf7 .template01 p.form__label.is-required label {
  padding-right: calc( 42px + 15px );
}
.wpcf7 .template01 p.form__label.is-required label::after {
    content: "必須";
    display: block;
    position: absolute;
    top: calc( 50% - ( 21px / 2 ) );
    right: 0;
    width: 42px;
    padding: 0 5px;
    background-color: var(--vk-color-primary);
    color: #fff;
    font-size: 12px;
    text-align: center;
    box-sizing: border-box;
    border-radius: 4px;
    line-height: 24px;
}
/* テキストフィールド */
.wpcf7 .template01 input[type=text],
.wpcf7 .template01 input[type=tel],
.wpcf7 .template01 input[type=email],
.wpcf7 .template01 input[type=url],
.wpcf7 .template01 input[type=date],
.wpcf7 .template01 input[type=number],
.wpcf7 .template01 textarea {
  width: 100%;
  /*margin: 0;*/
  border: 1px solid #ccc;
  border-radius: var(--vk-size-radius);
  box-shadow: none;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
  font-size: inherit;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.wpcf7 .template01 input[type=text],
.wpcf7 .template01 input[type=email],
.wpcf7 .template01 input[type=url],
.wpcf7 .template01 input[type=date],
.wpcf7 .template01 input[type=number] {
    width: 443px;
    max-width: 100%;
}
.wpcf7 .template01 input[type=tel] {
    width: 268px;
    max-width: 100%;
}
.wpcf7 .template01 .width-m input[type=text] {
    width: 686px;
    max-width: 100%;
}
/* テキストフィールド placeholder */
.wpcf7 .template01 input[type=text]::placeholder,
.wpcf7 .template01 input[type=tel]::placeholder,
.wpcf7 .template01 input[type=email]::placeholder,
.wpcf7 .template01 input[type=url]::placeholder,
.wpcf7 .template01 input[type=date]::placeholder,
.wpcf7 .template01 input[type=number]::placeholder,
.wpcf7 .template01 textarea::placeholder {
  color: #ccc;
}
.wpcf7 .template01 input[type=text]:-ms-input-placeholder,
.wpcf7 .template01 input[type=tel]:-ms-input-placeholder,
.wpcf7 .template01 input[type=email]:-ms-input-placeholder,
.wpcf7 .template01 input[type=url]:-ms-input-placeholder,
.wpcf7 .template01 input[type=date]:-ms-input-placeholder,
.wpcf7 .template01 input[type=number]:-ms-input-placeholder,
.wpcf7 .template01 textarea:-ms-input-placeholder {
  color: #ccc;
}
.wpcf7 .template01 input[type=text]::-ms-input-placeholder,
.wpcf7 .template01 input[type=tel]::-ms-input-placeholder,
.wpcf7 .template01 input[type=email]::-ms-input-placeholder,
.wpcf7 .template01 input[type=url]::-ms-input-placeholder,
.wpcf7 .template01 input[type=date]::-ms-input-placeholder,
.wpcf7 .template01 input[type=number]::-ms-input-placeholder,
.wpcf7 .template01 textarea::-ms-input-placeholder {
  color: #ccc;
}
/* テキストフィールド フォーカス時 */
.wpcf7 .template01 input[type=text]:focus,
.wpcf7 .template01 input[type=tel]:focus,
.wpcf7 .template01 input[type=email]:focus,
.wpcf7 .template01 input[type=url]:focus,
.wpcf7 .template01 input[type=date]:focus,
.wpcf7 .template01 input[type=number]:focus,
.wpcf7 .template01 textarea:focus {
  outline: 0;
  border: 1px var(--vk-color-text-body) solid;
}
/* チェックボックス */
.wpcf7 .template01 input[type=checkbox] {
  display: none;
}
.wpcf7 .template01 input[type=checkbox] + span {
  cursor: pointer;
  position: relative;
  margin: 0;
  padding: 0 1em 0 1.8em;
  font-size: inherit;
  box-sizing: border-box;
  transition: opacity .25s ease;
}
.wpcf7 .template01 input[type=checkbox] + span::before {
  content: "";
  opacity: 1;
  display: block;
  position: absolute;
  top: 3px;
  left: 0;
  width: 1.24em;
  height: 1.24em;
  border: 1px solid #ccc;
  border-radius: var(--vk-size-radius);
  background-color: #fff;
  box-sizing: border-box;
  transition: opacity .25s ease;
  z-index: 1;
}
.wpcf7 .template01 input[type=checkbox] + span::after {
  content: "";
  opacity: 0;
  display: block;
  position: absolute;
  top: calc( 0.15em + 3px );
  left: 0.44em;
  width: 0.4em;
  height: .8em;
  border-bottom: 3px solid #000;
  border-right: 3px solid #000;
  box-sizing: border-box;
  transform: rotate(40deg);
  transition: opacity .25s ease;
  z-index: 10;
}
.wpcf7 .template01 input[type=checkbox]:checked + span {
  color: var(--gray); /*アクセシビリティ無視*/
  transition: all .25s ease;
}
.wpcf7 .template01 input[type=checkbox]:checked + span::before {
  opacity: 1;
  transition: opacity .25s ease;
}
.wpcf7 .template01 input[type=checkbox]:checked + span::after {
  opacity: 1;
  border-bottom: 2px solid var(--gray); /*アクセシビリティ無視*/
  border-right: 2px solid var(--gray); /*アクセシビリティ無視*/
  transition: opacity .25s ease;
}
/* ラジオボタン */
.wpcf7 .template01 input[type=radio] {
  display: none;
}
.wpcf7 .template01 input[type=radio] + span {
  cursor: pointer;
  position: relative;
  margin: 0;
  padding: 0 1em 0 1.8em;
  font-size: inherit;
  transition: opacity .25s ease;
}
.wpcf7 .template01 input[type=radio] + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  border: 1px solid #ccc;
  border-radius: 50%;
  background-color: #fff;
  box-sizing: border-box;
  transition: opacity .25s ease;
}
.wpcf7 .template01 input[type=radio] + span::after {
  content: "";
  display: block;
  opacity: 0;
  position: absolute;
  box-sizing: border-box;
  transition: opacity .25s ease;
}
.wpcf7 .template01 input[type=radio]:checked + span {
  color: var(--gray);
  transition: opacity .25s ease;
}
.wpcf7 .template01 input[type=radio]:checked + span::after {
  opacity: 1;
  top: .2em;
  left: .2em;
  width: .6em;
  height: .6em;
  background-color: var(--gray); /*アクセシビリティ無視*/
  border-radius: 50%;
  box-sizing: border-box;
  transition: opacity .25s ease;
}
/* セレクト */
.wpcf7 .template01 span.select-wrap {
  position: relative;
  width: 250px;
  margin: 0;
  padding: 0;
}
.wpcf7 .template01 select {
  cursor: pointer;
  width: 250px;
  max-width: 100%;
  margin: 0;
  /*padding: .5em 2.5em .5em 1em;*/
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: none;
  color: inherit;
  line-height: 1;
  box-sizing: border-box;
  transition: border-color 0.2s ease, outline 0.2s ease;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
    
    font-family: inherit;
    font-size: 14px;
}
.wpcf7 .template01 select::-ms-expand {
  display: none;
}
.wpcf7 .template01 span.select-wrap::after {
  content: "";
  pointer-events: none;
  position: absolute;
  display: block;
  width: .6em;
  height: .6em;
  top: 50%;
  right: 1em;
  margin-top: -3px;
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
  transform: rotate(45deg) translateY(-50%);
  transform-origin: 50% 0;
  box-sizing: border-box;
}
.wpcf7 .template01 select:focus {
  outline: 0;
  border: 1px var(--vk-color-text-body) solid;
}
.wpcf7 .template01 span.select-wrap:focus-within::after {
  border-bottom: 1px solid var(--vk-color-text-body);
  border-right: 1px solid var(--vk-color-text-body);
}
/* 送信ボタン */
.wpcf7 .template01 .submit-btn {
  position: relative;
  width: 248px;
  height: 65px;
  max-width: 100%;
  margin: 0;
  padding: 0;
  margin-left: auto;
  margin-right: auto;
}
.wpcf7 .template01 input[type="submit"] {
  cursor: pointer;
  width: 248px;
  max-width: 100%;
  padding: 18px;
  border-radius: 0;
  box-shadow: none;
  border: 1px solid var(--vk-color-text-body);
  background-color: var(--vk-color-text-body);
  color: #fff;
  font-size: 16px;
  text-align: center;
  box-sizing: border-box;
  transition: opacity .25s;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
    
    border-radius: 999px;
        font-family: inherit;
        font-weight: inherit;
        font-size: inherit;
    letter-spacing: .5em;
}
.wpcf7 .template01 input[type="submit"]:disabled {
  cursor: not-allowed;
  box-shadow: none!important;
  border: 1px solid #f8f8f8!important;
  background-color: #f8f8f8!important;
  color: #999!important;
}
.wpcf7 .template01 input[type="submit"]:hover {
  border: 1px solid var(--vk-color-text-body);
  background-color: var(--bg-dark);
  color: #fff;
  /*transition: opacity .25s, background-color .25s;*/
}
.wpcf7 .template01 input[type="submit"]:not(:disabled):hover {
    color: var(--gray);
}
.wpcf7 .template01 input[type="submit"]:focus {
  outline: 1px #eee solid;
  border: 1px var(--vk-color-text-body) solid;
}
.wpcf7 .template01  span.wpcf7-list-item {
  margin: 0 1em .2em 0;
}
.wpcf7 .template01 .ajax-loader {
  display: block;
}
.wpcf7 form .wpcf7-response-output {
    margin: 2em 0 1em!important;
    padding: 30px!important;
    border-width: 1px!important;
    text-align: center;
    position: relative;
    z-index: 1;
}
.wpcf7-spinner {
    background-color: var(--vk-color-text-body)!important;
    margin-top: 24px!important; 
}
/*バリデーション*/
.wpcf7 .template01 input[type=text].wpcf7-not-valid, 
.wpcf7 .template01 input[type=tel].wpcf7-not-valid, 
.wpcf7 .template01 input[type=email].wpcf7-not-valid, 
.wpcf7 .template01 input[type=url].wpcf7-not-valid, 
.wpcf7 .template01 input[type=date].wpcf7-not-valid, 
.wpcf7 .template01 input[type=number].wpcf7-not-valid, 
.wpcf7 .template01 textarea.wpcf7-not-valid {
    background-color: rgba(255, 75, 0, .1) !important;
}
/*CF7を利用した問い合わせフォーム送信時にコンテンツを消す*/
.wpcf7-form.sent div.form__wrap  {
    display: none;
}
@media only screen and (max-width: 768px) {
    .wpcf7 .template01 span.wpcf7-list-item {
        display: block;
    }
    .wpcf7 .template01 p.form__label.is-required label {
        display: inline-block;
    }
    .wpcf7 .template01 p.form__label.is-required label::after {
        top: 2px;
    }
}

/*pcで横並びにする*/
.wpcf7 .template01 p.form__label label {
    font-size: 20px;
}
.wpcf7 .template01 .form__body p.form__label label[for=select] {
    font-size: 18px;
}
@media screen and (min-width: 992px) {
    .wpcf7 .template01 div.form__row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-bottom: 1px solid var(--bg-light);
        padding-bottom: 50px;
        margin-bottom: 50px;
    }
    .wpcf7 .template01 div.form__row.row-select {
        align-items: flex-start;
    }
    .wpcf7 .template01 .form__body div.form__row {
        display: block;
    }
    .wpcf7 .template01 .form__body div.form__row:last-child {
        border-bottom: none;
        margin-bottom: 0;
        padding-bottom: 0;
    }
    .wpcf7 .template01 .form__body p.form__label {
        margin-bottom: 15px;
    }
    .wpcf7 .template01 div.form__row.row-submit {
        border: none;
    }
    .wpcf7 .template01 div.form__row.row-message {
        margin-bottom: 60px;
    }
    
    input[type=date], input[type=email], input[type=number], input[type=password], input[type=tel], input[type=text], input[type=url], textarea {
        margin-top: 5px;
    }
    .wpcf7 .template01 p.form__txt, .wpcf7 .template01 p.form__label, .wpcf7 .template01 p.form__body {
        margin-bottom: 0;
    }
    
    .form__body {
        width: 75%;
    }
    .form__label br {
        display: none;
    }
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*フッター下部*/
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.home .site-body-bottom {
    display: none;
}
.site-body-bottom {
    /*background: linear-gradient(90deg,rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);*/
}
.site-body-bottom .veu_postList {
    background-color: #fff;
    padding: 16px;
    border-radius: 20px;
    padding: 32px;
    margin-bottom: 120px;
}
.veu_postList .postList_miniThumb {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 24px;
}
.veu_postList .postList_miniThumb .postList_item {
    width: 100%;
}
@media screen and (min-width: 576px) {
    .veu_postList .postList_miniThumb .postList_item {
        flex: 1 1 0;
        width: auto;
    }
}
.veu_postList .postList_miniThumb .postList_meta_items {
    display: none;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*固定ページ スタッフ*/
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.vk_staff {
    overflow: visible;
}
@media screen and (max-width: 575.98px) {
    .vk_staff {
        display: flex;
        flex-direction: column;
    }
    .vk_staff_text,
    .vk_staff_photo {
        float: none;
        width: 100%;
    }
}
.vk_staff_text_name {
    font-family: "Noto Sans JP", sans-serif!important;
    font-weight: 500!important;
    font-size: 32px!important;
}
.vk_staff_text_role {
    letter-spacing: 0.06em;
}
.vk_staff_text_profileTitle {
    padding-bottom: 8px!important;
    font-feature-settings: "kern" 1;
}
.vk_staff_photo-border-default {
    border: none!important;
    padding: 0!important;
}
.vk_staff_photo {
    position: relative;
    z-index: 0;
}
@media screen and (max-width: 575.98px) {
    .vk_staff_photo {
        margin-left: auto;
        width: 64%;
    }
}
.vk_staff_photo::before {
    content: "";
    display: block;
    width: 160px;
    height: 246px;
    position: absolute;
    bottom: -9%;
    right: -12%;
    background-image: url(img/top/section-01-right-bg.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1;
}
@media print, screen and (min-width: 992px) {
    .vk_staff_photo::before {
        width: 232px;
        height: 356px;
        right: -18%;
    }
}
@media screen and (min-width: 576px) {
    .vk_staff_text {
    width: 58%;
    }
    .vk_staff_photo, .vk_staff_photo-border-default {
        width: 35.5%;
    }
}
.vk_staff_photo_image {
    -webkit-mask-image: var(--vk_image-mask-wave01);
    mask-image: var(--vk_image-mask-wave01);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: 45% 50%;
    mask-position: 45% 50%;
    -webkit-mask-size: contain;
    mask-size: contain;
    
    -webkit-aspect-ratio: 1 / 1;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}
.omura .vk_staff_photo_image,
.tochi .vk_staff_photo_image {
    -webkit-mask-position: 60% 50%;
    mask-position: 100% 50%;
}
/*.shape1 .vk_staff_photo_image{
    -webkit-mask-image: var(--vk_image-mask-wave01);
    mask-image: var(--vk_image-mask-wave01);
}
.shape2 .vk_staff_photo_image {
    -webkit-mask-image: var(--vk_image-mask-wave02);
    mask-image: var(--vk_image-mask-wave02);
}*/

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*固定ページ 会社案内*/
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.imgopacity{
    opacity: 0.5;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*固定ページ 個人法人保険*/
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/* WordPress生成CSSを上書き */
.HOKEN-card-wrap.is-layout-grid {
  display: grid;
  gap: var(--wp--style--block-gap, 2rem);
  grid-template-columns: 1fr; /* デフォルト1列 */
}

/* 768px以上で2列 */
@media screen and (min-width: 768px) {
  .HOKEN-card-wrap.is-layout-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* 1200px以上で3列 */
@media screen and (min-width: 1200px) {
  .HOKEN-card-wrap.is-layout-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.HOKEN-card-wrap .wp-block-group.is-style-custom-block-wrapper-1 > .wp-block-buttons .wp-block-button {
    width: 100%;
}
.HOKEN-card-wrap .wp-block-group.is-style-custom-block-wrapper-1 > .wp-block-buttons .wp-block-button.is-style-button-4 .wp-block-button__link {
    padding: 16px 56px 16px 8px;
    text-align: center;
}

@media screen and (min-width: 768px) {

/* カード本体：6段グリッドにして高さを揃える */
.HOKEN-card-wrap > .wp-block-group.is-style-custom-block-wrapper-1 {
  display: grid;
  grid-template-rows:
    auto   /* 1) アイコン */
    auto   /* 2) 大見出し */
    auto   /* 3) 中見出し */
    1fr    /* 4) 説明（余白吸収）*/
    auto   /* 5) リンク見出し */
    auto;  /* 6) ボタン */
  height: 100%;
  gap: 0;
  align-items: start;
}

/* 1) アイコン（wp-block-image） */
.HOKEN-card-wrap .wp-block-group.is-style-custom-block-wrapper-1 > .wp-block-image {
  /* 必要なら大きさを統一 */
  place-self: start;
}

/*見出しのマージンをとる*/
.HOKEN-card-wrap .wp-block-group.is-style-custom-block-wrapper-1 > .wp-block-heading:not(:first-of-type) {
    margin-bottom: 0!important;
}

/* 2) 大見出し（最初の見出しを1行固定） */
.HOKEN-card-wrap .wp-block-group.is-style-custom-block-wrapper-1 > .wp-block-heading:first-of-type {
  line-height: 1.3;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  min-height: calc(1em * 1.3 * 1);          /* 1行ぶんの器＝高さ固定 */
}

/* 3) 中見出し（2つ目の見出しを2行固定） */
.HOKEN-card-wrap .wp-block-group.is-style-custom-block-wrapper-1 > .wp-block-heading:nth-of-type(2) {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;                     /* 2行でトリミング */
  overflow: hidden;
  line-height: 1.4;
  min-height: calc(1em * 1.4 * 2.2);           /* 2行ぶんの高さを確保 */
}

/* 4) 説明（最初の段落を5行固定、余った分は4段目で吸収） */
.HOKEN-card-wrap .wp-block-group.is-style-custom-block-wrapper-1 > p:first-of-type {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;/* 行数 */
    min-height: calc(1em * var(--vk-line-height) * 6);/* 高さ */
    overflow: hidden;
    line-height: var(--vk-line-height);
    margin-bottom: 1em!important;
}

/* 5) リンク見出し（最後の見出しを1〜2行固定） */
.HOKEN-card-wrap .wp-block-group.is-style-custom-block-wrapper-1 > .wp-block-heading:last-of-type {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;                     /* 1〜2行にしたいなら2 */
  overflow: hidden;
  line-height: 1.5;
  min-height: calc(1em * 1.5 * 2);
    margin-bottom: 1em!important;
}

/* 6) ボタン行を最下段に固定（Gridでも明示しておくと安心） */
.HOKEN-card-wrap .wp-block-group.is-style-custom-block-wrapper-1 > .wp-block-buttons {
  grid-row: 6;
  align-self: end;
    width: 100%;
}

/* 念のため：カードを等高に伸ばす */
.wp-container-core-group-is-layout-44ffb00b { align-items: stretch; }

}

@media print, screen and (min-width: 992px) {
    /* 4) 説明（最初の段落を5行固定、余った分は4段目で吸収） */
    .HOKEN-card-wrap .wp-block-group.is-style-custom-block-wrapper-1 > p:first-of-type {
      -webkit-line-clamp: 5;/* 行数 */
    min-height: calc(1em * var(--vk-line-height) * 5);/* 高さ */
    }
}
@media screen and (min-width: 1200px) {
    .HOKEN-card-wrap .wp-block-group.is-style-custom-block-wrapper-1 > p:first-of-type {
      margin-bottom: var(--vk-line-height)!important;
    }
}