@charset "utf-8";
/*--------------------------------------------------------------
  custom.css - 案件ごとのカスタムデザイン

  pencil-devで作成したデザインはここに書く。

  【記述の優先順位】
  1. CSS変数（色・フォント）→ style.css の :root に定義
  2. レイアウト骨格（カラム等）→ base.css を使う（触らない）
  3. デザイン・見た目 → このファイルに書く

  【構成】
  01. デザイントークン上書き（案件カラー・フォント）
  02. ヘッダー
  03. フッター
  04. トップページ
  05. 共通コンポーネント（ボタン・カード・バナー等）
  06. 投稿・固定ページ
  07. その他
--------------------------------------------------------------*/

/* ============================================================
   01. デザイントークン上書き
   pencil-devのカラー・フォント設定をここで :root に定義
   style.css の変数を上書きする

   【カラー管理】
   - 全カラーをこのブロックで一元管理（2026-03-18: カスタマイザーカラー出力を廃止）
   - --color-primary / --color-sub : 旧カスタマイザー管理 → CSS変数に移管

   【var() 置換済み】2026-03-18 完了（205箇所）
   残存する hardcoded 色はコンポーネント固有色（アコーディオン、サブメニュー等）
============================================================ */
:root {
    /* ---- レンタックス カラースキーム ---- */
    --color-main-dark:     #1F1F1F;  /* メインダーク背景 */
    --color-accent:        #FDD835;  /* アクセント（イエロー） */
    --color-bg-light:      #F5F5F5;  /* 背景ライト */
    --color-white:         #fff;     /* 白背景・白テキスト */
    --color-text-dark:     #1F1F1F;  /* 見出し・強調テキスト */
    --color-text-base:     #333;     /* 本文テキスト */
    --color-text-medium:   #666;     /* サブテキスト */
    --color-text-gray:     #AAAAAA;  /* グレーテキスト */
    --color-footer:        #111;     /* フッター背景 */
    --color-overlay:       rgba(31, 31, 31, 0.6);  /* オーバーレイ60% */

    /* ---- ボーダー・背景 ---- */
    --color-border-dark:   #ccc;     /* スライダー矢印・区切り */
    --color-border:        #ddd;     /* テーブルボーダー */
    --color-border-light:  #eee;     /* 薄い区切り線 */

    /* ---- プライマリ/セカンダリ（レンタックスカラーに統一） ---- */
    --color-primary:       #FDD835;  /* プライマリ（イエロー） */
    --color-primary-text:  #1F1F1F;  /* プライマリ上の文字色（ダーク） */
    --color-sub:           #1F1F1F;  /* サブカラー（ダーク） */
    --color-sub-text:      #ffffff;  /* サブカラー上の文字色（白） */
    --color-link:          #FDD835;  /* リンク・ボタンホバー */

    /* ---- フォント ---- */
    --font-family:         'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* フォントファミリーを全体に適用 */
body {
    font-family: var(--font-family);
}


/* ============================================================
   02. ヘッダー
============================================================ */
/* ---- base.css から移行: ヘッダー/グローバルナビ (2026-03-14) ---- */
/* ************************************************
  ヘッダー
* ************************************************ */
#hd-ex {
    font-size: 85%;
    line-height: 1.2;
    margin: 5px 0 0 0;
    padding: 0;
    font-feature-settings: "palt";
    letter-spacing: 0.02rem;
}

#hd-ex-in {
    position: relative;
    margin: 0 auto;
    padding: 0 30px;
}

#header {
    padding: 0;
}

#header-in {
    position: relative;
    margin: 0 auto;
    padding: 0 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 80px;
}

#header .align-left {
    /*display: none;*/
    width: 40%;
    /* ロゴの大きさに合わせて調整↓↓↓ */
    max-width: 200px;
    min-width: 120px;
    margin-right: 15px;
}

#header .is-fixed .align-left {
    display: none;
}

#header .align-left h1 img {
    width: 100%;
}

#header .align-left p {
    margin: 0;
}

#header .align-contact {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: nowrap;
    margin: 0 0 0 auto;
    gap: 20px;
}

/* --- Header Type: Business（電話+CTA大表示）--- */
.header-business #header .align-contact {
    flex-wrap: nowrap;
}

.tel-block {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
}

#header .align-right {
    margin: 0;
}

#header .align-center a:hover, #header .align-right a:hover, #header #sl-button a:hover {
    opacity: 0.8;
    text-decoration: none;
}

#header .tel a, #header .mail a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
}

#header .mail a::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    padding: 0 4px 0 0;
}

#header .tel {
    margin: 0;
    padding: 0;
    font-size: 180%;
    line-height: 1.0;
    white-space: nowrap;
}

#header .tel a {
    color: var(--color-text-dark);
    font-weight: bold;
}

#header .tel a::before {
    font-family: "Font Awesome 5 Free";
    font-size: 80%;
    content: "\f3cd";
    font-weight: 900;
    padding: 4px 4px 0px 0;
}

#header .tel-ex {
    margin: 0 0 0 10px;
    line-height: 1.2;
    font-size: 80%;
    font-weight: 600;
    text-align: left;
    font-feature-settings: "palt";
    letter-spacing: 0.02rem;
    white-space: nowrap;
}

#header .tel-hours {
    margin: 2px 0 0;
    font-size: 11px;
    color: #71717A;
    line-height: 1;
    white-space: nowrap;
}

#header .mail {
    margin: 0;
    font-weight: bold;
    /*text-align: right;*/
    letter-spacing: 0px;
    max-width: 224px;
}

#header .mail a {
    margin: 0;
    padding: 10px 24px;
    color: #fff;
    background-color: var(--color-text-dark);
    font-size: 14px;
    font-weight: 600;
    border-radius: 4px;
    height: auto;
}

#header .mail a::before {
    content: "\f0e0";
}

#header #sl-button a {
    color: var(--color-text-dark);
    background-color: var(--color-white);
}

#header .align-append {
    display: none;
}

#header-links>ul {
    display: flex;
    margin: 0;
    flex-wrap: wrap;
    justify-content: flex-end;
}

#header-links ul li {
    padding: 0 1em 0 0;
    font-size: 80%;
    white-space: nowrap;
    position: relative;
}

#header-links li a {
    display: block;
}

#header-links li a::before {
    font-family: "Font Awesome 5 Free";
    font-size: 100%;
    content: "\f105";
    font-weight: 900;
    margin-right: 0.3em;
}

#header-links ul.sub-menu {
    position: absolute;
    display: none;
    padding: 0 10px;
    margin-left: -10px;
    background-color: rgba(255, 255, 255, 0.85);
}

#header-links ul.sub-menu li {
    font-size: 100%;
}

#header-links li:hover ul.sub-menu {
    display: block;
    z-index: 100;
}
/* --- Header Type: Business（電話+CTA大表示）--- */
.header-set.header-business .mail a {
    width: 100%;
}

@media screen and (min-width: 681px) {
    .header-business #hd-ex, .header-business #hd-ex-in {
        margin: 0;
        padding: 0;
    }

    .header-business #header .align-left {
        width: auto;
        max-width: 40%;
    }

    .header-business #header .align-contact {
        padding-right: 390px;
    }

    .header-business #header .align-right.mail-block {
        height: 110px;
        width: 187px;
        position: absolute;
        top: -20px;
        right: 30px;
        margin-left: 0;
    }

    .header-business #header .mail.pc {
        height: 100%;
    }

    .header-business #header .align-center.tel-block {
        height: 110px;
        width: 200px;
        position: absolute;
        top: -20px;
        right: 217px;
        background-color: #f1f1f1;
        flex-direction: column;
        justify-content: center;
        padding: 5px;
    }

    .header-business #header .tel.pc {
        font-size: 170%;
    }

    .header-business #header .tel-ex {
        white-space: normal;
        margin-top: 5px;
    }
}

@media screen and (max-width: 960px) and (min-width: 681px) {
    .header-business #header .align-right.mail-block,
    .header-business #header .align-center.tel-block {
        position: relative;
        top: -20px;
        right: 0;
        height: auto;
        min-height: 60px;
    }

    .header-business #header .align-contact {
        padding-right: 0;
        margin-bottom: -20px;
    }
}

/* --- Header Type: Overlay（MV透過オーバーレイ）--- */
.header-set.header-overlay {
    position: absolute;
    width: 90%;
    top: 15px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 999;
    padding: 10px;
    background-color: rgba(255, 255, 255, 0.85);
    transition: background-color 0.3s, box-shadow 0.3s;
}

.header-set.header-overlay.is-sticky {
    position: fixed;
    top: 0;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.97);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.header-overlay #header, .header-overlay #gnavi-in {
    padding: 0;
}

.header-overlay #gnavi {
    margin: 0;
    padding: 0;
}

@media screen and (max-width: 960px) {
    .header-set.header-overlay {
        top: 0;
        width: 100%;
    }

    #header-in {
        padding: 0 15px;
    }

    #header .align-contact {
        justify-content: flex-end;
        align-items: stretch;
    }

    #hd-ex-in {
        padding: 0 15px;
    }
}

@media screen and (max-width: 680px) {
    #hd-ex {
        padding: 5px 0;
        font-size: 75%;
        line-height: 1.2;
        margin: 0;
    }

    #hd-ex p {
        margin: 0;
    }

    #header {
        padding: 10px;
    }

    #hd-ex-in, #header-in {
        width: 100%;
        margin: 0;
    }

    #header .align-left {
        margin-top: 0;
        display: block;
    }

    #header .align-contact {
        min-width: 52px;
        width: auto;
    }

    #header .align-center .sm a, #header .align-right .sm a, #header #sl-button a {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 44px;
        width: 42px;
        margin-left: 5px;
        padding: 0;
        border-radius: 5px;
        font-size: 20px;
    }

    #header .align-center .sm {
        min-width: auto;
        font-size: 100%;
    }

    #header .align-append #sl-button {
        margin: 0;
    }

    #header .tel a, #header #sl-button a {
        color: var(--color-text-dark);
        background-color: var(--color-white);
    }

    #header .mail a {
        color: var(--color-text-dark) !important;
        background-color: var(--color-white) !important;
    }

    #header .tel a::before, #header .mail a::before {
        content: none;
    }

    #header .align-right {
        margin: 0;
    }

    #header .align-append {
        display: block;
        margin: 0;
        text-align: center;
    }

    #header #sl-button a.clicked {
        background: var(--color-text-base);
    }
}

/* (max-width: 680px) */
@media screen and (max-width: 480px) {
    #header-in {
        padding: 0;
    }

    #header #sl-button a.clicked {
        background-color: #e7e5e4;
    }
}

/* (max-width: 480px) */
/* スライドメニュー(#slide-menu) */
#slide-menu {
    position: fixed;
    overflow-y: auto;
    top: 0;
    left: -240px;
    width: 240px;
    height: 100%;
    padding: 70px 0;
    background: var(--color-sub);
    color: var(--color-white);
    z-index: 2;
}

#slide-menu ul {
    margin: 0;
    padding: 0 20px;
}

#slide-menu li {
    width: 100%;
    margin: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

#slide-menu li a {
    border-left: 3px solid transparent;
    display: inline-block;
    width: 100%;
    padding: 1em 0;
    color: #e7e5e4;
    text-decoration: none;
}

#slide-menu ul.sub-menu li {
    margin: 0;
    border-bottom: none;
}

#slide-menu ul.sub-menu li a {
    padding: 2px 0;
}

#slide-layer {
    position: fixed;
    top: 0;
    z-index: 1;
    display: none;
    width: 100%;
    height: 100%;
    background-color: transparent;
}

#slide-menu .sns {
    padding: 0 20px;
    margin: 10px 0 20px;
    display: flex;
    justify-content: space-evenly;
}

/****************************************
     グローバルナビ(#gnavi)
****************************************/
#gnavi {
    background-color: transparent;
    font-size: 95%;
    font-weight: bold;
    /*2021.08.13 メインビジュアルの高さ調整にgnaviを含んだヘッダー部の高さを取得するため、上下余白をmarginではなくpaddingに変更*/
    padding: 15px 0;
    margin: 0;
}

#gnavi-in {
    position: relative;
    padding: 0 30px;
    margin: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

#gnavi-in h1, #gnavi-in p.header_logo {
    display: none;
    width: 200px;
    margin: 0 auto 0 0;
}

.sticky #gnavi-in h1, .sticky #gnavi-in p.header_logo {
    display: block;
}

#gnavi-in h1 img, #gnavi-in p.header_logo img {
    max-height: 50px;
    max-width: 400px;
}

#gnavi-in .menu-gnavi-container {
    /*width: 780px;*/
    width: 100%;
}

#gnavi ul {
    padding: 0;
    margin: 0;
    text-align: center;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: stretch;
}

#gnavi li {
    line-height: 1.2;
    /* border-left: 1px solid var(--color-border-dark); */
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
}

#gnavi li:last-child {
    /* border-right: 1px solid var(--color-border-dark); */
}

#gnavi li a {
    text-decoration: none;
    padding: 12px 0.5em 12px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--color-text-base);
    height: 100%;
    min-height: 2em;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#gnavi li span {
    font-size: 8px;
    color: #777;
    font-weight: 200;
}

#gnavi li a:hover {
    opacity: 0.8;
    text-decoration: none;
}

#gnavi ul li.menu-item {
    position: relative;
    z-index: 1;
}

#gnavi ul li.menu-item::after {
    content: '';
    display: block;
    position: absolute;
    height: 2px;
    width: 0;
    left: 0;
    background-color: var(--color-text-dark);
    transition: width 0.2s ease-in-out;
}

#gnavi ul li.menu-item::after {
    bottom: 0;
}

#gnavi ul li.menu-item:hover::after {
    width: 100%;
}

#gnavi ul li ul.sub-menu {
    display: none;
    position: absolute;
    float: none;
    top: 100%;
    left: 0;
    font-size: 95%;
    background-color: #f7dfa8;
}

#gnavi ul li:hover ul.sub-menu {
    display: block;
    min-width: 200px;
    padding: 10px 0;
}

#gnavi ul ul {
    display: block;
    table-layout: initial;
    width: initial;
}

#gnavi-in li li {
    text-align: left;
    border-left: none !important;
    border-right: none !important;
    display: block;
    vertical-align: initial;
}

#gnavi ul li ul.sub-menu li {
    float: none;
    margin: 0;
}

#gnavi-in li li:last-child {
    margin: 10px 0 0;
}

#gnavi ul li ul.sub-menu li a {
    text-align: left;
    margin: 0;
    padding: 10px 0.5em 10px 20px;
    align-items: flex-start;
    font-size: 90%;
}

#gnavi ul li ul.sub-menu li a::before {
    content: "\f054";
    color: var(--color-white);
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    top: 9.5px;
    left: 8px;
}

#gnavi ul li ul.sub-menu li.current-menu-item a {
    display: block;
    background-color: var(--color-text-base);
}

/* スクロール後の追随するgnavi */
@keyframes slide {
    from {
        max-height: 0px;
    }

    to {
        max-height: 100px;
    }
}

#header.sticky, #gnavi.sticky {
    /*background: #ffffffc9;*/
    background: rgba(255, 255, 255, 0.85);
    color: var(--color-text-dark) !important;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    margin: 0px !important;
    padding: 0px;
    z-index: 1000;
    animation-name: slide;
    animation-duration: 1s;
}

#gnavi.sticky #gnavi-in {
    padding: 15px 10px !important;
}

#gnavi.sticky li span {
    color: var(--color-white);
}

#gnavi.sticky+#eyecatch {
    padding-top: 54px;
}

/*タイル式メニュー*/
#gnavi.gnavi-tiles:not(.sticky) #gnavi-in, #gnavi.gnavi-tiles:not(.sticky) ul.menu>li, #gnavi.gnavi-tiles:not(.sticky) ul.menu>li>a {
    padding: 0;
    margin: 0;
}

#gnavi.gnavi-tiles:not(.sticky) ul.menu>li {
    position: relative;
    width: 100%;
}

#gnavi.gnavi-tiles:not(.sticky) ul.menu>li:before {
    content: "";
    display: block;
    padding-top: 50%;
    /* 高さを幅の50%に固定し、幅2:高さ1 にする */
    /*padding-top: 75%;*/
    /* 高さを幅の75%に固定し、幅4:高さ3 にする */
}

#gnavi.gnavi-tiles:not(.sticky) ul.menu>li>a {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: var(--color-border) no-repeat center center;
    background-size: cover;
}

#gnavi.gnavi-tiles:not(.sticky) ul.menu>li:nth-child(even)>a {
    background-color: #efefef;
}

/*タイル式メニュー背景画像サンプル*/
#gnavi.gnavi-tiles:not(.sticky) ul.menu>li:nth-child(1)>a {
    background-image: url("http://ae129ev2x2.smartrelease.jp/wps/wp-content/uploads/hm_ec02-1.jpg");
}

#gnavi.gnavi-tiles:not(.sticky) ul.menu>li:nth-child(2)>a {
    background-image: url("http://ae129ev2x2.smartrelease.jp/wps/wp-content/uploads/hm_ec01-1.jpg");
}

@media screen and (max-width: 960px) {
    #gnavi-in {
        /*width: 98%;*/ margin: 0 auto;
        padding: 0 15px;
    }

    #gnavi li a {
        font-size: 80%;
    }

    #gnavi-in h1 img, #gnavi-in p.header_logo img {
        max-width: 150px;
    }

}

/* --- Header Type: Business gnavi --- */
@media screen and (min-width: 681px) {
    .header-business #gnavi-in h1, .header-business #gnavi-in p.header_logo {
        display: block;
    }

    .header-business #gnavi-in .menu-gnavi-container {
        width: 780px;
    }
}

@media screen and (min-width: 961px) {
    .header-business #gnavi {
        margin-right: 400px;
    }
}

@media screen and (max-width: 680px) {
    #gnavi, #gnavi>#gnavi-in>div#mega-menu-wrap-navbar {
        display: none;
        margin: 0 0 20px;
    }

    #gnavi li {
        width: 100%;
        height: 40px;
        background-color: var(--color-sub);
        float: none;
        border-left: none;
        margin: 1px 0 0;
        text-align: center;
        line-height: 40px;
    }

    #gnavi li a {
        color: var(--color-white);
        text-decoration: none;
        display: block;
    }

    #header-in.is-fixed {
        position: fixed;
        z-index: 9999;
        top: 0;
        right: 0;
        left: 0;
        width: 100%;
        margin: auto;
        padding: 10px;
        background-color: rgba(255, 255, 255, 0.85);
    }

    #header-in.is-fixed .align-append {
    }
}

/* (max-width: 680px) */
@media screen and (max-width: 480px) {
    #gnavi li {
        border-left: none;
    }
}

/* (max-width: 480px) */

/* ---- base.css から移行: メガメニューCSS (2026-03-15) ---- */
/****************************************
     メガメニュー(#mega-menu-navbar)
****************************************/
#mega-menu-wrap-navbar #mega-menu-navbar>li.mega-menu-item {
    vertical-align: top !important;
}

#mega-menu-wrap-navbar #mega-menu-navbar>li.mega-menu-item>a.mega-menu-link {
    line-height: 1.4 !important;
    height: initial !important;
    min-height: initial !important;
    margin-top: 10px !important;
    margin-bottom: 0 !important;
}

#mega-menu-wrap-navbar #mega-menu-navbar li.mega-menu-flyout.mega-menu-item-has-children>a.mega-menu-link::after, #mega-menu-wrap-navbar #mega-menu-navbar li.mega-menu-flyout li.mega-menu-item-has-children>a.mega-menu-link::after, #mega-menu-wrap-navbar #mega-menu-navbar>li.mega-menu-item-has-children>a.mega-menu-link::after {
    margin-top: 0 !important;
}

/* ---- レンタックス トップページ用ダークヘッダー ---- */
.home .header-simple #header {
    background-color: var(--color-main-dark);
}

.home .header-simple #header-in {
    padding: 0 64px;
    height: 80px;
}

/* ロゴを黄色に */
.home .header-simple #header .align-left img {
    filter: brightness(0) saturate(100%) invert(85%) sepia(63%) saturate(446%) hue-rotate(358deg) brightness(103%) contrast(98%);
}

/* 電話番号・メールブロックを非表示（トップページはシンプルに） */
.home .header-simple #header .align-contact {
    display: none;
}

/* グローバルナビを白テキストに */
.home #gnavi {
    background-color: transparent;
}

.home #gnavi #mega-menu-navbar > li.mega-menu-item > a.mega-menu-link {
    color: var(--color-white);
    gap: 40px;
}

.home #gnavi #mega-menu-navbar > li.mega-menu-item > a.mega-menu-link:hover {
    color: var(--color-accent);
}

/* CTAボタンスタイル（黄色） */
.home .header-simple #header .mail a,
.home #gnavi .mega-menu-item.cta-button a {
    background-color: var(--color-accent);
    color: var(--color-primary-text);
    padding: 12px 32px;
    border-radius: 4px;
    font-weight: 600;
    transition: opacity 0.3s;
}

.home .header-simple #header .mail a:hover,
.home #gnavi .mega-menu-item.cta-button a:hover {
    opacity: 0.9;
}


/* ============================================================
   03. フッター
============================================================ */
/* ---- base.css から移行: フッター関連 (2026-03-14) ---- */
/****************************************
     フッター(#footer)
****************************************/
#footer {
    font-size: 90%;
    background-color: var(--color-sub);
    color: var(--color-white);
    margin: 100px 0 0;
    padding: 40px 0;
}

#footer a {
    color: var(--color-white);
}

#footer-in {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 1%;
}

#footer-in .align-left {
    float: left;
    width: 22.5%;
    margin-right: 2.5%;
}

#footer-in .align-center {
    float: left;
    width: 22.5%;
    margin-right: 2.5%;
}

#footer-in .align-right {
    float: right;
    padding-left: 2.5%;
    width: 50%;
    position: relative;
}

#footer-in .align-right:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    border-left: 1px solid #aaa;
}

#footer-in .shopinfo .shopinfo-logo {
    margin-right: 1em;
}

#footer-in .shopinfo h3 {
    margin: 0 0 10px;
    font-size: 110%;
    line-height: 1.4;
    padding: 0 0 0.5em;
}

#footer-in .shopinfo {
    display: flex;
    justify-content: space-around;
    align-items: center;
}

#footer-in .shopinfo table {
    margin-bottom: 0;
}

#footer-in .shopinfo table th, #footer-in .shopinfo table td {
    padding: 0 0 0.25em;
    font-size: 98%;
    vertical-align: baseline;
    line-height: 1.4;
}

#footer-in .shopinfo table th, #footer-in .shopinfo table td, #footer-in .shopinfo table span {
    background-color: initial;
    border: none;
}

#footer-in .shopinfo table th {
    font-weight: normal;
    width: 15%;
    text-align: left;
    min-width: 5em;
}

#footer-in ul.menu {
    margin-bottom: 0;
}

#footer-in .align-left ul.sub-menu li a, #footer-in .align-center ul.sub-menu li a {
    font-weight: 500;
    /*   font-size: 95%; */
}

#footer-in ul.menu li {
    padding: 0 0.5em 0.3em 0;
    line-height: 1.6;
}

#footer-in ul.menu li::before {
    padding: 0 5px 0 0;
    content: "\f0da";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

#footer-in .align-left ul.sub-menu, #footer-in .align-center ul.sub-menu {
    margin: 0;
}

#footer-in ul.sub-menu li {
    padding: 0.3em 5px 0 13px;
    line-height: 1.2;
}

#copyright {
    text-align: center;
    padding: 20px 0;
}

#copyright-in {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 10px;
}

#copyright p {
    margin: 0;
}

#page-top {
    z-index: 9999;
}

@media screen and (max-width: 960px) {
    #footer-in {
        width: 90%;
        margin: 0 auto;
        padding: 0;
    }
}

@media screen and (max-width: 680px) {
    #footer {
    }

    #footer-in {
        width: 96%;
    }

    .contact_ft .mailarea {
        margin-left: 10px;
        float: left;
    }

    #footer-in .align-left {
        width: 49%;
        margin-right: 2%;
        margin-bottom: 1em;
    }

    #footer-in .align-center {
        width: 49%;
        margin: 0 0 1em 0;
    }

    #footer-in .align-right {
        float: none;
        clear: both;
        width: 100%;
        padding-left: 0;
        /*     padding-top: 1em;
    border-top: 1px solid var(--color-text-medium); */
    }

    #footer-in .align-right:before {
        content: none;
    }

    #footer-in ul.menu {
        font-size: 15px;
    }

    #footer-in .align-left ul li, #footer-in .align-center ul li {
        padding: 0;
    }

    #footer-in ul.menu li {
        position: relative;
        line-height: 1.2;
    }

    #footer-in ul.menu li::before {
        position: absolute;
        top: 0.6em;
        left: 0;
    }

    #footer-in ul.sub-menu li::before {
        left: 1em;
    }

    #footer-in ul.menu li a {
        display: block;
        padding: 0.6em 0.5em 0.6em 1em;
    }

    #footer-in ul.menu>li {
        border-bottom: 1px solid var(--color-text-medium);
    }

    #footer-in ul.sub-menu li a {
        padding-left: 2em;
    }

    #footer-in ul.sub-menu li {
        border-top: 1px dotted var(--color-text-medium);
    }

    #footer-in .shopinfo h3 {
        padding: 1em 0 0.5em;
    }

    #copyright-in {
        width: 98%;
        margin: 0 auto;
    }

    #page-top {
        position: fixed;
        bottom: 100px;
        right: 10px;
    }
}

/* (max-width: 680px) */
@media screen and (max-width: 480px) {
    #footer {
        margin: 50px 0 0;
        padding: 20px 0;
    }

    #footer-in .align-left {
        float: none;
        width: 100%;
        margin: 0;
    }

    #footer-in .align-center {
        float: none;
        width: 100%;
        margin: 0;
    }

    #footer-in .align-right {
        margin: 40px 0 0;
        padding: 0;
        border-top: 0;
    }

    #footer-in .shopinfo {
        flex-direction: column;
    }

    #copyright {
        font-size: 80%;
        line-height: 1.2;
    }
}

/* (max-width: 480px) */
@media screen and (max-width: 410px) {
    #page-top {
        position: fixed;
        bottom: 85px;
        right: 10px;
    }
}

/* (max-width: 400px) */
/* 画面下固定 フッターインフォ */
#footer-info {
    background: rgba(238, 238, 238, 0.85);
    font-size: 90%;
}

#footer-info.sticky {
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 1000;
    /*   overflow: hidden; */
}

#footer-info-in {
    width: 100%;
    margin: 0 auto;
    max-width: 1160px;
}

#footer-info .contact_in {
    /*  -webkit-box-pack: end;
  justify-content: flex-end;*/
    justify-content: center;
    /*  -webkit-box-align: start;
  align-items: flex-start;*/
    align-items: center;
    border: none;
    margin: 0;
    padding: 10px 0 10px 0;
    max-width: 100%;
    background: transparent;
}

#footer-info .contact_in .tel-ex, #footer-info .contact_in .mail-ex {
    text-align: left;
}

#footer-info .contact_in .mailarea .mail a {
    padding: 0 15px;
}

#footer-info .contact_in .sns {
    display: flex;
    /*  justify-content: space-evenly;*/
}

#footer-info .contact_in .sns div {
    margin-left: 15px;
}

#footer-info .contact_in .sns div:first-child {
    margin-left: 0;
}

/*#footer-info .contact_in .telarea,
#footer-info .contact_in .mailarea {
  margin: 0 0 0 50px;
}*/
#footer-info .contact_in > div {
    margin: 0 25px;
}

@media screen and (min-width: 1365px) {
    #footer-info .contact_in .sns {
        display: none;
    }
}

@media screen and (max-width: 1160px) {
    #footer-info .contact_in {
        padding: 10px 80px 10px 0;
    }
}

@media screen and (max-width: 680px) {
    #footer-info .contact_in .telarea .tel {
        transform: scale(0.95, 1.1);
    }

    #footer-info .contact_in .telarea, #footer-info .contact_in .mailarea {
        margin: 0 auto;
    }

    #footer-info .contact_in {
        padding: 10px 0 10px 0;
    }
}

/* (max-width: 680px) */
@media screen and (max-width: 480px) {
    #footer-info {
    }

    #footer-info .contact_in .telarea, #footer-info .contact_in .mailarea {
    }

    #footer-info .contact_in .telarea {
        margin: 5px auto 5px 10px;
        font-size: 90%;
    }

    #footer-info .contact_in .mailarea {
        margin: 5px 10px 5px auto;
    }

    #footer-info .contact_in .tel-ex, #footer-info .contact_in .mail-ex {
        display: none;
    }
}

/* (max-width: 480px) */
#footer-info i {
    display: none;
}

/* 閉じるボタン */
#footer-info .close-btn {
    /*     display: none; */
}

#footer-info.sticky .close-btn {
    position: absolute;
    top: -26px;
    left: 0;
    background: rgba(238, 238, 238, 0.85);
    margin-left: 10px;
    border-radius: 10px 10px 0 0;
}

#footer-info.sticky .close-btn i {
    display: block;
    cursor: pointer;
    padding: 8px 10px 5px 10px;
}

#footer-info.sticky i:hover {
    opacity: 0.8;
}

/* ---- レンタックス トップページ専用ミニマルフッター ---- */
.home #footer {
    background-color: var(--color-footer);
    margin: 0;
    padding: 0;
    min-height: 64px;
}

.home #footer-in {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    padding: 20px 64px;
    margin: 0 auto;
}

.home #footer .align-left,
.home #footer .align-center {
    display: none;
}

.home #footer .align-right {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.home #footer .shopinfo {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.home #footer .shopinfo-logo {
    margin: 0;
}

.home #footer .shopinfo-logo img {
    height: 24px;
    width: auto;
    filter: brightness(0) saturate(100%) invert(85%) sepia(63%) saturate(446%) hue-rotate(358deg) brightness(103%) contrast(98%);
}

.home #footer .shopinfo h3,
.home #footer .shopinfo table,
.home #footer .shopinfo-col:not(.shopinfo-logo) {
    display: none;
}

.home #footer .copyright {
    font-size: 12px;
    color: var(--color-text-medium);
    margin: 0;
}

/* サイドSNSリンクを非表示 */
.home #side-lk {
    display: none;
}

/* レスポンシブ: タブレット以下 */
@media (max-width: 960px) {
    .home #footer-in {
        padding: 20px 40px;
    }
}

/* レスポンシブ: スマホ */
@media (max-width: 680px) {
    .home #footer-in {
        padding: 20px;
        flex-direction: column;
        text-align: center;
        gap: 12px;
    }

    .home #footer .shopinfo {
        flex-direction: column;
        gap: 12px;
    }
}


/* ============================================================
   04. トップページ
============================================================ */

/* ---- Heroセクション ---- */
.rentax-hero {
    position: relative;
    height: 700px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rentax-hero__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-overlay);
    z-index: 1;
}

.rentax-hero__content {
    position: relative;
    z-index: 2;
    text-align: center;
    color: var(--color-white);
    max-width: 900px;
    padding: 0 20px;
}

.rentax-hero__tag {
    display: inline-block;
    background-color: var(--color-accent);
    color: var(--color-primary-text);
    font-size: 12px;
    font-weight: 600;
    padding: 8px 24px;
    border-radius: 20px;
    margin-bottom: 32px;
    letter-spacing: 0.05em;
}

.rentax-hero__title {
    font-size: 60px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 24px;
    letter-spacing: 0.02em;
}

.rentax-hero__subtitle {
    font-size: 20px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.8);
    margin: 0 0 48px;
}

.rentax-hero__cta {
    display: flex;
    gap: 24px;
    justify-content: center;
    flex-wrap: wrap;
}

/* ---- レンタックス共通ボタンスタイル ---- */
.rentax-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 40px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 4px;
    text-decoration: none;
    transition: all 0.3s;
    white-space: nowrap;
}

.rentax-btn--primary {
    background-color: var(--color-accent);
    color: var(--color-primary-text);
}

.rentax-btn--primary:hover {
    opacity: 0.9;
    transform: translateY(-2px);
}

.rentax-btn--ghost {
    background-color: transparent;
    color: var(--color-white);
    border: 2px solid var(--color-white);
}

.rentax-btn--ghost:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

/* レスポンシブ: タブレット以下 */
@media (max-width: 960px) {
    .rentax-hero {
        height: 600px;
    }

    .rentax-hero__title {
        font-size: 48px;
    }

    .rentax-hero__subtitle {
        font-size: 18px;
    }
}

/* レスポンシブ: スマホ */
@media (max-width: 680px) {
    .rentax-hero {
        height: 500px;
    }

    .rentax-hero__title {
        font-size: 32px;
    }

    .rentax-hero__subtitle {
        font-size: 16px;
        margin-bottom: 32px;
    }

    .rentax-hero__cta {
        flex-direction: column;
        gap: 16px;
    }

    .rentax-btn {
        width: 100%;
        max-width: 300px;
    }
}

/* ---- Stats Bar（実績バー） ---- */
.rentax-stats-bar {
    background-color: var(--color-accent);
    padding: 0;
    display: flex;
    justify-content: space-around;
    align-items: stretch;
    min-height: 100px;
}

.rentax-stats-bar__item {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
    text-align: center;
    border-right: 1px solid rgba(31, 31, 31, 0.2);
}

.rentax-stats-bar__item:last-child {
    border-right: none;
}

.rentax-stats-bar__number {
    font-size: 24px;
    font-weight: 700;
    color: var(--color-text-dark);
    margin-bottom: 8px;
    line-height: 1.2;
}

.rentax-stats-bar__label {
    font-size: 14px;
    color: var(--color-text-dark);
    line-height: 1.4;
}

/* レスポンシブ: タブレット以下 */
@media (max-width: 960px) {
    .rentax-stats-bar {
        flex-wrap: wrap;
    }

    .rentax-stats-bar__item {
        flex: 0 0 50%;
        border-right: 1px solid rgba(31, 31, 31, 0.2);
        border-bottom: 1px solid rgba(31, 31, 31, 0.2);
    }

    .rentax-stats-bar__item:nth-child(2n) {
        border-right: none;
    }

    .rentax-stats-bar__item:nth-last-child(-n+2) {
        border-bottom: none;
    }
}

/* レスポンシブ: スマホ */
@media (max-width: 680px) {
    .rentax-stats-bar__item {
        flex: 0 0 100%;
        border-right: none;
    }

    .rentax-stats-bar__item:not(:last-child) {
        border-bottom: 1px solid rgba(31, 31, 31, 0.2);
    }

    .rentax-stats-bar__number {
        font-size: 20px;
    }

    .rentax-stats-bar__label {
        font-size: 13px;
    }
}

/* ---- Strengths（選ばれる3つの理由） ---- */
.rentax-strengths {
    background-color: var(--color-white);
    padding: 100px 120px;
}

.rentax-section-header {
    text-align: center;
    margin-bottom: 64px;
}

.rentax-section-label {
    color: var(--color-accent);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin: 0 0 16px;
}

.rentax-section-title {
    font-size: 40px;
    font-weight: 700;
    color: var(--color-text-dark);
    margin: 0;
    line-height: 1.4;
}

.rentax-strengths__cards {
    display: flex;
    gap: 32px;
    justify-content: space-between;
}

.rentax-strength-card {
    flex: 1;
    padding: 48px 32px;
    border-radius: 8px;
}

.rentax-strength-card--light {
    background-color: var(--color-bg-light);
}

.rentax-strength-card--dark {
    background-color: var(--color-main-dark);
    color: var(--color-white);
}

.rentax-strength-card__number {
    font-size: 48px;
    font-weight: 700;
    margin-bottom: 24px;
    line-height: 1;
}

.rentax-strength-card--light .rentax-strength-card__number {
    color: var(--color-accent);
}

.rentax-strength-card--dark .rentax-strength-card__number {
    color: var(--color-accent);
}

.rentax-strength-card__title {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 16px;
    line-height: 1.6;
}

.rentax-strength-card__text {
    font-size: 14px;
    line-height: 1.8;
    margin: 0;
    opacity: 0.9;
}

/* レスポンシブ: タブレット以下 */
@media (max-width: 960px) {
    .rentax-strengths {
        padding: 80px 40px;
    }

    .rentax-section-title {
        font-size: 32px;
    }

    .rentax-strengths__cards {
        flex-direction: column;
        gap: 24px;
    }
}

/* レスポンシブ: スマホ */
@media (max-width: 680px) {
    .rentax-strengths {
        padding: 60px 20px;
    }

    .rentax-section-title {
        font-size: 28px;
    }

    .rentax-strength-card {
        padding: 36px 24px;
    }

    .rentax-strength-card__number {
        font-size: 40px;
    }

    .rentax-strength-card__title {
        font-size: 18px;
    }
}

/* ---- トップページ 既存ウィジェットのスタイル調整 ---- */

body.home #contents {
    padding-top: 0;
}

/* ---- トップページ コンセプトセクション ---- */
.top_concept {
  background: #fff;
  padding: 80px 0;
}
.top_concept .widget_pageContent {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 40px;
}
.top_concept .imgtxt_full_l {
  display: flex;
  align-items: center;
  gap: 48px;
}
.top_concept .imgtxt_full_l .ttl {
  flex: 0 0 48%;
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
}
.top_concept .imgtxt_full_l .ttl > a,
.top_concept .imgtxt_full_l .ttl > img {
  margin: 0;
}
.top_concept .imgtxt_full_l .ttl img {
  width: 100%;
  height: 360px;
  object-fit: cover;
  display: block;
  border-radius: 8px;
}
.top_concept .imgtxt_full_l .txt {
  flex: 1;
}
.top_concept .top_concept_ttl {
  font-size: 12px;
  font-weight: bold;
  color: #FDD835;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin: 0 0 8px;
  font-family: "Inter", sans-serif;
}
.top_concept .top_concept_ttl::before {
  content: "CONCEPT";
  display: block;
  margin-bottom: 12px;
}
.top_concept .txt > p {
  font-size: 15px;
  line-height: 2;
  color: #333;
}
.top_concept .txt .blk {
  margin-top: 24px;
}
.top_concept .txt .blk a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #FDD835;
  color: #1F1F1F;
  font-weight: bold;
  font-size: 15px;
  padding: 14px 32px;
  border-radius: 4px;
  text-decoration: none;
  transition: opacity 0.2s;
}
.top_concept .txt .blk a:hover { opacity: 0.85; }
.top_concept .txt .blk a::after {
  content: "\203A";
  font-size: 20px;
  line-height: 1;
}
.top_concept .edit { display: none; }
@media screen and (max-width: 768px) {
  .top_concept { padding: 48px 0; }
  .top_concept .widget_pageContent { padding: 0 20px; }
  .top_concept .imgtxt_full_l {
    flex-direction: column;
    gap: 24px;
  }
  .top_concept .imgtxt_full_l .ttl {
    flex: none;
    width: 100%;
  }
  .top_concept .imgtxt_full_l .ttl img { height: 240px; }
}

.home h2 {
    text-align: center;
    font-size: 40px;
    font-weight: 700;
    color: var(--color-text-dark);
    margin: 0;
}

/* 1段目: 全体をフレックスレイアウトで縦並び */
.home-section--1 {
    display: flex;
    flex-direction: column;
}

.home-section--1 .home-section__main {
    display: flex;
    flex-direction: column;
    gap: 0;
    max-width: 100%;
    padding: 0;
}

/* 1段目-1: 実績バー（widget_my_widget301 col4） */
.home-section--1 .widget_my_widget301.jisseki {
    background-color: var(--color-accent);
    padding: 0;
    margin: 0;
}

.home-section--1 .widget_my_widget301.jisseki .colbox {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    min-height: 100px;
    gap: 0;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
}

.home-section--1 .widget_my_widget301.jisseki .colbox > div {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
    text-align: center;
    border-right: 1px solid rgba(31, 31, 31, 0.2);
}

.home-section--1 .widget_my_widget301.jisseki .colbox > div:last-child {
    border-right: none;
}

.home-section--1 .widget_my_widget301.jisseki .img_zoom {
    display: none;
}

.home-section--1 .widget_my_widget301.jisseki h3 {
    font-size: 24px;
    font-weight: 700;
    color: var(--color-text-dark);
    margin: 0 0 8px;
    line-height: 1.2;
}

.home-section--1 .widget_my_widget301.jisseki .bn_txt {
    font-size: 14px;
    color: var(--color-text-dark);
    line-height: 1.4;
}

/* 1段目-2: 新着情報（widget_my_widget102 最初の） */
.home-section--1 .widget_my_widget102.news {
    background-color: var(--color-bg-light);
    padding: 100px 120px;
}

.home-section--1 .widget_my_widget102.news .my_widget_header h2 {
    text-align: center;
    font-size: 40px;
    font-weight: 700;
    color: var(--color-text-dark);
    margin: 0 0 64px;
    position: relative;
}

.home-section--1 .widget_my_widget102.news .my_widget_header h2::before {
    content: 'NEWS';
    display: block;
    color: var(--color-accent);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: 16px;
}

.home-section--1 .widget_my_widget102.news .post-cat-widget {
    max-width: 1200px;
    margin: 0 auto;
}

/* 1段目-3: 選ばれる理由タイトル（widget_my_widget101 reason） */
.home-section--1 .widget_my_widget101.reason {
    background-color: var(--color-white);
    padding: 100px 120px 40px;
}

.home h2 small {
    display: block;
    color: var(--color-accent);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: 16px;
}

/* 1段目-4: 選ばれる理由カード（widget_my_widget301 2番目） */
.home-section--1 .widget_my_widget301:nth-of-type(2) {
    order: 4;
    background-color: var(--color-white);
    padding: 0 120px 100px;
}

.home-section--1 .widget_my_widget301:nth-of-type(2) .colbox {
    display: flex;
    gap: 32px;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
}

.home-section--1 .widget_my_widget301:nth-of-type(2) .colbox > div {
    flex: 1;
    border-right: none;
}

.home-section--1 .widget_my_widget301:nth-of-type(2) .bn_wrap {
    background-color: var(--color-bg-light);
    padding: 48px 32px;
    border-radius: 8px;
    height: 100%;
}

.home-section--1 .widget_my_widget301:nth-of-type(2) .colbox > div:nth-child(2) .bn_wrap {
    background-color: var(--color-main-dark);
    color: var(--color-white);
}

.home-section--1 .widget_my_widget301:nth-of-type(2) .img_zoom {
    display: none;
}

.home-section--1 .widget_my_widget301:nth-of-type(2) h3 {
    font-size: 48px;
    font-weight: 700;
    color: var(--color-accent);
    margin: 0 0 24px;
    line-height: 1;
}

.home-section--1 .widget_my_widget301:nth-of-type(2) .bn_txt {
    font-size: 14px;
    line-height: 1.8;
    margin: 12px 0;
}

.home-section--1 .widget_my_widget301:nth-of-type(2) .bn_txt:first-of-type {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 16px;
}

.home-section--1 .widget_my_widget301:nth-of-type(2) .colbox > div:nth-child(2) .bn_txt {
    color: var(--color-white);
}

/* 1段目-5: 実績（widget_my_widget102.jisseki） */
.home-section--1 .widget_my_widget102.jisseki {
    order: 5;
    background-color: var(--color-bg-light);
    padding: 100px 120px;
}

.home-section--1 .widget_my_widget102.jisseki .my_widget_header {
    margin-bottom: 64px;
    text-align: center;
}

.home-section--1 .widget_my_widget102.jisseki .my_widget_header::before {
    content: 'CASE STUDIES';
    display: block;
    color: var(--color-accent);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: 16px;
}

.home-section--1 .widget_my_widget102.jisseki .my_widget_header::after {
    content: '実績・事例紹介';
    display: block;
    font-size: 40px;
    font-weight: 700;
    color: var(--color-text-dark);
}

.home-section--1 .widget_my_widget102.jisseki .tab-link-list {
    display: none;
}

.home-section--1 .widget_my_widget102.jisseki .post-template-basic {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
}

.home-section--1 .widget_my_widget102.jisseki .post_wrap {
    flex: 0 0 calc(33.333% - 16px);
    background-color: var(--color-white);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.home-section--1 .widget_my_widget102.jisseki .large_post_thumb {
    width: 100%;
    height: 260px;
    overflow: hidden;
}

.home-section--1 .widget_my_widget102.jisseki .large_post_thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-section--1 .widget_my_widget102.jisseki .post_container_2 {
    padding: 24px;
}

.home-section--1 .widget_my_widget102.jisseki .post_title {
    font-size: 18px;
    font-weight: 700;
    margin: 12px 0;
    line-height: 1.6;
    color: var(--color-text-dark);
}

.home-section--1 .widget_my_widget102.jisseki .post_excerpt {
    font-size: 14px;
    line-height: 1.8;
    color: var(--color-text-medium);
}

.home-section--1 .widget_my_widget102.jisseki .post_categories {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.home-section--1 .widget_my_widget102.jisseki .post_cate {
    background-color: var(--color-bg-light);
    color: var(--color-text-dark);
    font-size: 12px;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 4px;
}

/* レスポンシブ: タブレット */
@media (max-width: 960px) {
    .home-section--1 .widget_my_widget102.news,
    .home-section--1 .widget_my_widget101.reason,
    .home-section--1 .widget_my_widget301:nth-of-type(2),
    .home-section--1 .widget_my_widget102.jisseki {
        padding-left: 40px;
        padding-right: 40px;
    }

    .home-section--1 .widget_my_widget301.jisseki .colbox {
        flex-wrap: wrap;
    }

    .home-section--1 .widget_my_widget301.jisseki .colbox > div {
        flex: 0 0 50%;
        border-right: 1px solid rgba(31, 31, 31, 0.2);
        border-bottom: 1px solid rgba(31, 31, 31, 0.2);
    }

    .home-section--1 .widget_my_widget301.jisseki .colbox > div:nth-child(2n) {
        border-right: none;
    }

    .home-section--1 .widget_my_widget301.jisseki .colbox > div:nth-last-child(-n+2) {
        border-bottom: none;
    }

    .home-section--1 .widget_my_widget301:nth-of-type(2) .colbox {
        flex-direction: column;
    }

    .home-section--1 .widget_my_widget102.jisseki .post_wrap {
        flex: 0 0 calc(50% - 12px);
    }
}

/* レスポンシブ: スマホ */
@media (max-width: 680px) {
    .home-section--1 .widget_my_widget102.news,
    .home-section--1 .widget_my_widget101.reason,
    .home-section--1 .widget_my_widget301:nth-of-type(2),
    .home-section--1 .widget_my_widget102.jisseki {
        padding: 60px 20px;
    }

    .home-section--1 .widget_my_widget301.jisseki .colbox > div {
        flex: 0 0 100%;
        border-right: none;
    }

    .home-section--1 .widget_my_widget301.jisseki .colbox > div:not(:last-child) {
        border-bottom: 1px solid rgba(31, 31, 31, 0.2);
    }

    .home-section--1 .widget_my_widget301.jisseki h3 {
        font-size: 20px;
    }

    .home-section--1 .widget_my_widget102.news .my_widget_header h2,
    .home-section--1 .widget_my_widget101.reason h2 {
        font-size: 28px;
    }

    .home-section--1 .widget_my_widget301:nth-of-type(2) h3 {
        font-size: 40px;
    }

    .home-section--1 .widget_my_widget102.jisseki .post_wrap {
        flex: 0 0 100%;
    }
}

/* 空の段の最小高さ調整 */
.home-section__main:empty,
.home-section__main:has(> :empty) {
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-section__main:empty::before,
.home-section__main:has(> :empty)::before {
    content: 'ウィジェットを配置してください';
    color: var(--color-text-gray);
    font-size: 14px;
    font-style: italic;
}

/* ログインユーザーのみ表示 */
body:not(.logged-in) .home-section__main:empty::before,
body:not(.logged-in) .home-section__main:has(> :empty)::before {
    content: '';
}

/* 3段目: Case Studies（実績・事例紹介）用のスタイル */
.home-section--3 {
    background-color: var(--color-bg-light);
    padding: 100px 0;
}

.home-section--3 .home-section__main {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 120px;
}

/* モジュールページ挿入ウィジェット内のスタイル調整 */
.home-section--3 h2,
.home-section--4 h2 {
    text-align: center;
    font-size: 40px;
    font-weight: 700;
    color: var(--color-text-dark);
    margin: 0 0 64px;
}

/* 4段目: Service Flow（ご相談から完了までの流れ）用のスタイル */
.home-section--4 {
    background-color: var(--color-white);
    padding: 100px 0;
}

.home-section--4 .home-section__main {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 120px;
}

/* 5段目: 新着情報用のスタイル */
.home-section--5 {
    background-color: var(--color-bg-light);
    padding: 100px 0;
}

.home-section--5 .home-section__main {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 120px;
}

/* 投稿リストウィジェット（my_widget102）のスタイル調整 */
.home-section--5 .my_widget102 h2,
.home-section--5 .widget_my_widget102 h2 {
    text-align: center;
    font-size: 40px;
    font-weight: 700;
    color: var(--color-text-dark);
    margin: 0 0 16px;
}

.home-section--5 .my_widget102 h2::before,
.home-section--5 .widget_my_widget102 h2::before {
    content: 'NEWS';
    display: block;
    color: var(--color-accent);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: 16px;
}

/* 投稿リストのカード調整 */
.home-section--5 .my_widget102 .post-list,
.home-section--5 .widget_my_widget102 .post-list {
    background-color: var(--color-white);
    border-radius: 8px;
    padding: 24px;
}

.home-section--5 .my_widget102 .post-item,
.home-section--5 .widget_my_widget102 .post-item {
    border-bottom: 1px solid var(--color-border-light);
    padding: 16px 0;
}

.home-section--5 .my_widget102 .post-item:last-child,
.home-section--5 .widget_my_widget102 .post-item:last-child {
    border-bottom: none;
}

/* 6段目: 会社情報用のスタイル */
.home-section--6 {
    background-color: var(--color-white);
    padding: 100px 0;
}

.home-section--6 .home-section__main {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 120px;
}

/* 会社情報ウィジェット（my_widget201）のスタイル調整 */
.home-section--6 .my_widget201 h2,
.home-section--6 .widget_my_widget201 h2 {
    text-align: center;
    font-size: 40px;
    font-weight: 700;
    color: var(--color-text-dark);
    margin: 0 0 16px;
}

.home-section--6 .my_widget201 h2::before,
.home-section--6 .widget_my_widget201 h2::before {
    content: 'COMPANY';
    display: block;
    color: var(--color-accent);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: 16px;
}

/* 会社情報のテーブル調整 */
.home-section--6 .my_widget201 table,
.home-section--6 .widget_my_widget201 table {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    background-color: var(--color-bg-light);
    border-radius: 8px;
    overflow: hidden;
}

.home-section--6 .my_widget201 table th,
.home-section--6 .widget_my_widget201 table th {
    background-color: var(--color-main-dark);
    color: var(--color-white);
    font-weight: 600;
    padding: 16px;
    text-align: left;
    width: 30%;
}

.home-section--6 .my_widget201 table td,
.home-section--6 .widget_my_widget201 table td {
    padding: 16px;
    border-bottom: 1px solid var(--color-border-light);
}

/* 7段目: Final CTA（問い合わせ誘導）用のスタイル */
.home-section--7 {
    background-color: var(--color-main-dark);
    padding: 100px 0;
    color: var(--color-white);
}

.home-section--7 .home-section__main {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 40px;
    text-align: center;
}

/* お問い合わせウィジェット（my_widget202）のスタイル調整 */
.home-section--7 .my_widget202 h2,
.home-section--7 .widget_my_widget202 h2 {
    color: var(--color-white);
    font-size: 48px;
    font-weight: 700;
    margin: 0 0 24px;
}

.home-section--7 .my_widget202 h2::before,
.home-section--7 .widget_my_widget202 h2::before {
    content: 'CONTACT';
    display: block;
    color: var(--color-accent);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: 16px;
}

.home-section--7 .my_widget202 .contact-info,
.home-section--7 .widget_my_widget202 .contact-info {
    color: var(--color-text-gray);
    font-size: 18px;
    margin-bottom: 48px;
}

/* お問い合わせ情報のスタイル */
.home-section--7 .my_widget202 .tel,
.home-section--7 .widget_my_widget202 .tel {
    font-size: 32px;
    font-weight: 700;
    color: var(--color-accent);
    margin: 24px 0;
}

.home-section--7 .my_widget202 .tel a,
.home-section--7 .widget_my_widget202 .tel a {
    color: var(--color-accent);
    text-decoration: none;
}

.home-section--7 .my_widget202 .btn,
.home-section--7 .widget_my_widget202 .btn {
    display: inline-block;
    background-color: var(--color-accent);
    color: var(--color-primary-text);
    padding: 16px 40px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 4px;
    text-decoration: none;
    margin-top: 24px;
    transition: opacity 0.3s;
}

.home-section--7 .my_widget202 .btn:hover,
.home-section--7 .widget_my_widget202 .btn:hover {
    opacity: 0.9;
}

/* レスポンシブ: タブレット以下 */
@media (max-width: 960px) {
    .home-section--3 .home-section__main,
    .home-section--4 .home-section__main,
    .home-section--5 .home-section__main,
    .home-section--6 .home-section__main {
        padding: 0 40px;
    }

    .home-section--3,
    .home-section--4,
    .home-section--5,
    .home-section--6,
    .home-section--7 {
        padding: 80px 0;
    }

    .home-section--3 h2,
    .home-section--4 h2,
    .home-section--5 .my_widget102 h2,
    .home-section--6 .my_widget201 h2 {
        font-size: 32px;
    }

    .home-section--7 .my_widget202 h2 {
        font-size: 36px;
    }
}

/* レスポンシブ: スマホ */
@media (max-width: 680px) {
    .home-section--3 .home-section__main,
    .home-section--4 .home-section__main,
    .home-section--5 .home-section__main,
    .home-section--6 .home-section__main {
        padding: 0 20px;
    }

    .home-section--3,
    .home-section--4,
    .home-section--5,
    .home-section--6,
    .home-section--7 {
        padding: 60px 0;
    }

    .home-section--3 h2,
    .home-section--4 h2,
    .home-section--5 .my_widget102 h2,
    .home-section--6 .my_widget201 h2 {
        font-size: 28px;
        margin-bottom: 40px;
    }

    .home-section--7 .my_widget202 h2 {
        font-size: 28px;
    }
}

/* ---- Case Studies（実績・事例紹介）カード ---- */
.rentax-case-studies {
    /* モジュールページ挿入で使用 */
}

.rentax-case-cards {
    display: flex;
    gap: 24px;
    justify-content: space-between;
}

.rentax-case-card {
    flex: 1;
    background-color: var(--color-white);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s, box-shadow 0.3s;
}

.rentax-case-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.rentax-case-card__image {
    width: 100%;
    height: 260px;
    overflow: hidden;
}

.rentax-case-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rentax-case-card__content {
    padding: 24px;
}

.rentax-case-card__tag {
    display: inline-block;
    background-color: var(--color-bg-light);
    color: var(--color-text-dark);
    font-size: 12px;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 4px;
    margin-bottom: 12px;
}

.rentax-case-card__title {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 12px;
    line-height: 1.6;
    color: var(--color-text-dark);
}

.rentax-case-card__description {
    font-size: 14px;
    line-height: 1.8;
    margin: 0;
    color: var(--color-text-medium);
}

/* ---- Service Flow（フロー） ---- */
.rentax-service-flow {
    /* モジュールページ挿入で使用 */
}

.rentax-flow-steps {
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.rentax-flow-step {
    flex: 1;
    padding: 36px 28px;
    border-radius: 8px;
    text-align: center;
}

.rentax-flow-step--dark {
    background-color: var(--color-main-dark);
    color: var(--color-white);
}

.rentax-flow-step--light {
    background-color: var(--color-bg-light);
    color: var(--color-text-dark);
}

.rentax-flow-step--accent {
    background-color: var(--color-accent);
    color: var(--color-primary-text);
}

.rentax-flow-step__number {
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 16px;
    opacity: 0.8;
}

.rentax-flow-step__title {
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 12px;
    line-height: 1.6;
}

.rentax-flow-step__description {
    font-size: 13px;
    line-height: 1.6;
    margin: 0;
    opacity: 0.9;
}

/* レスポンシブ: タブレット以下（Case Studies & Service Flow） */
@media (max-width: 960px) {
    .rentax-case-cards,
    .rentax-flow-steps {
        flex-direction: column;
    }

    .rentax-case-card__image {
        height: 220px;
    }

    .rentax-flow-step {
        padding: 32px 24px;
    }
}

/* レスポンシブ: スマホ（Case Studies & Service Flow） */
@media (max-width: 680px) {
    .rentax-case-card__image {
        height: 200px;
    }

    .rentax-case-card__content {
        padding: 20px;
    }

    .rentax-case-card__title {
        font-size: 16px;
    }

    .rentax-flow-step {
        padding: 28px 20px;
    }

    .rentax-flow-step__number {
        font-size: 32px;
    }

    .rentax-flow-step__title {
        font-size: 15px;
    }

    .rentax-flow-step__description {
        font-size: 12px;
    }
}


/* ============================================================
   05. 共通コンポーネント
============================================================ */
/* ---- base.css から移行: サイドバーデザイン詳細 (2026-03-15) ---- */
.col7_3 .sidebar h2 {
    margin: 15px 0 10px;
    padding: 0;
    font-size: 115%;
    line-height: 1.2;
}

.sidebar .widget:first-child h2 {
    margin: 0 0 15px;
}

.col7_3 .sidebar h3 {
    margin: 0;
    padding: 0.5em 0;
    font-size: 115%;
    line-height: 1.2;
}

.col7_3 .sidebar h4 {
    padding: 0.5em 0;
    font-size: 110%;
    color: var(--color-text-medium);
}

.sidebar .banner-wrapper h4 {
    color: inherit;
    font-size: 110%;
    line-height: 1.2;
}

.sidebar li {
    line-height: 2.0;
    padding: 0 0 0 1em;
}

.sidebar .menu li::before {
    padding: 0 0.5em 0;
    content: "\f0da";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

.sidebar .menu li li::before {
    padding-right: 0.5em;
    content: "\f0da";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

.sidebar table {
    font-size: 90%;
    border: none;
    line-height: 1.4;
}

.sidebar p {
    font-size: 85%;
    line-height: 1.5;
}

.sidebar .contact .contact_in {
    margin: 0;
}

/* ---- base.css から移行: ウィジェット関連CSS (2026-03-15) ---- */

/****************************************
    ウィジェット100％のとき　more ボタンがタイトル下orタイトル横の時のコンテナ
****************************************/
.widget.widget-full-width .my_widget_header {
    max-width: calc(1000px - 2%);
    width: calc(98% - 2%);
    margin: 0 auto;
}
@media screen and (max-width: 960px) {
    .widget.widget-full-width .my_widget_header {
        width: calc(98% - 40px);
    }
}
@media screen and (max-width: 680px) {
    .widget.widget-full-width .my_widget_header {
        width: calc(100% - 40px);
    }
}

/* ********************************************************

  08.ウィジェット関連のレイアウト

******************************************************** */
/******************************
     ウィジェット - 共通
******************************/
.main .widget {
    position: relative;
    margin: 0 auto;
    padding: 20px 0;
}

.my_widget_subtitle {
    margin: 0 0 15px;
}

.sidebar .widget {
    margin: 20px 0 20px;
}

.sidebar .widget:first-child {
    margin: 0 0 20px;
    padding: 0;
}

.sidebar .widget:first-child .contact_in {
    margin: 0 auto 0;
}

.main .widget h4, .sidebar .widget h4 {
    background: none;
    font-weight: normal;
    font-size: 110%;
    padding: 0;
    margin: 5px 0;
}

.widget_nav_menu span {
    display: none;
}

.col10 .widget.widget-full-width {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0;
    padding-right: 0;
}

.custom-field:empty {
    margin: 0;
}

/******************************
    #101モジュールページ挿入(My_Widget101)
******************************/
.home .colfull .widget_my_widget101 {
    max-width: 1000px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width: 960px) {
    .home .colfull .widget_pageContent {
        /*width: 95%;*/ max-width: initial;
    }
}

@media screen and (max-width: 680px) {
    .home .colfull .widget_pageContent {
        float: none;
        /*width: 98%;*/
        /*max-width: 650px;*/
        margin: 0 auto;
    }
}


/******************************
     投稿リスト（タブ形式）
******************************/
.tab-link-list {
    max-width: 1000px;
    margin: 0 auto 25px;
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
}

.tab-link:first-child {
    margin: 0 0 0 0;
}

.tab-link {
    display: block;
    background: #f1f1f1;
    color: var(--color-text-dark);
    border: none;
    border-bottom: none;
    outline: none;
    cursor: pointer;
    margin: 0 0 0 0.7em;
    padding: 1em 1.5em;
    transition: 0.3s;
    font-size: 85%;
    font-weight: 600;
    line-height: 1.4;
    flex-grow: 1;
}

.tab-link:hover {
    opacity: 0.8;
}

.tab-link.active {
    background: var(--color-sub);
    color: var(--color-white);
}

.tab-panel {
    display: none;
}

.tab-panel.active {
    display: block;
}

.col5_5 .tab-link {
    float: none;
    display: inline-block;
}

.col5_5 .tab-link-list {
    white-space: nowrap;
    height: 50px;
    overflow-y: hidden;
}

@media screen and (max-width: 680px) {
    .tab-link {
        float: none;
        display: inline-block;
    }

    .tab-link-list {
        white-space: nowrap;
        height: 50px;
        overflow-y: hidden;
    }
}

/******************************
    #102投稿リスト(My_Widget102)
******************************/
.widget_my_widget102 a {
    color: var(--color-text-dark);
}
.widget_my_widget102 a:hover {
    text-decoration: none;
}
.widget_my_widget102 ul li::after {
    content: "";
    display: block;
    clear: both;
}
.widget_my_widget102 ul li::before {
    content: none;
}
.sidebar .widget_my_widget102 .post_title {
    font-size: 85%;
}

.col7_3 .entry .widget_my_widget102 ul.post-template-basic,
.col10 .widget_my_widget102 ul.post-template-basic,
.colfull .widget_my_widget102 ul.post-template-basic {
    margin: 0 0 18px 0;
    padding: 0;
    /* column-count廃止 → flexboxカード型レイアウトに移行 */
}
.widget_my_widget102 ul li {
    list-style: none;
}
.widget_my_widget102 ul li.post_wrap {
    overflow: hidden;
    margin: 0 0 15px 0;
    padding: 5px 0 0 0;
    break-inside: avoid-column;
    position: relative;
    overflow: hidden;/*float解除用*/
}
.widget_my_widget102 div[class^="post_container"] {
    overflow: hidden;/*float解除用*/
}
/* .widget_my_widget102 a:hover>div *:not(.img_zoom) {
    opacity: 0.9;
} */
.widget_my_widget102 .large_post_thumb img,
.widget_my_widget102 .post_thumb img {
    display: block;
    width: 100%;
    max-width: 100%;
}

.widget_my_widget102 .large_post_thumb {
    margin-bottom: 1em;
}
.widget_my_widget102 .post_thumb {
    width: 75px;
    height: 75px;
    float: left;
    margin: 0 10px 10px 0;
}

.widget_my_widget102 .post_wrap .post_title {
    line-height: 1.2;
    margin: 0 0 0.5em;
}
.widget_my_widget102 .post_new {
    /* border: 1px solid #da3e5a; */
    display: inline-block;
    padding: 3px 5px;
    line-height: 1.2;
    border-radius: 3px;
    margin-right: 0.5em;
    letter-spacing: -0.03em;
    color: var(--color-white);
    background-color: var(--color-accent);
    font-size: 80%;
}
.widget_my_widget102 .post_date {
    margin-right: 0.5em;
    display: inline-block;
}
.widget_my_widget102 .post_cate {
    background: var(--color-sub);
    color: var(--color-white);
    display: inline-block;
    border-radius: 3px;
    padding: 3px 5px;
    margin-right: 0.5em;
    font-size: 80%;
    line-height: 1.2;
}
.widget_my_widget102 .post_excerpt {
    margin: 0 0 1em;
    font-size: 80%;
    line-height: 1.2;
    display: block;
}

.widget_my_widget102 .recruit_table,
.widget_my_widget102 .cf_table {
    margin-bottom: 1em;
}

.widget_my_widget102 .recruit_table th,
.widget_my_widget102 .recruit_table td,
.widget_my_widget102 .cf_table th,
.widget_my_widget102 .cf_table td {
    padding: 10px;
    font-size: 85%;
}

.widget_my_widget102 .slick-slider {
    margin: 0 25px;
}

.widget_my_widget102 .slick-slider .slick-slide {
    margin: 0 5px;
}

/******************************
     #105関連投稿(My_Widget105) およびyarppプラグイン関連投稿
******************************/
/* .widget_my_widget105 {
} */

.widget_my_widget105 a,
.yarpp-related a {
    color: var(--color-text-dark);
}

/* .sidebar .widget_my_widget105 ul {
} */

.sidebar .widget_my_widget105 ul li {
    padding: 0;
    margin: 0 0 15px 0;
}

.sidebar .widget_my_widget105 ul li::after {
    content: "";
    display: block;
    clear: both;
}

/* .col5_5 .entry .widget_my_widget105 ul li, .col7_3 .entry .widget_my_widget105 ul li, .col10 .entry .widget_my_widget105 ul li, .colfull .entry .widget_my_widget105 ul li, .colfull-no-margin .entry .widget_my_widget105 ul li { */
.entry .widget_my_widget105 ul li,
.entry .yarpp-related ul li {
    overflow: hidden;
    list-style: none;
    margin: 0 0 15px 0;
    padding: 0;
    break-inside: avoid-column;
}

/* .col7_3 .entry .widget_my_widget105 ul li .wd_thumbnail, .col10 .entry .widget_my_widget105 ul li .wd_thumbnail, .colfull .entry .widget_my_widget105 ul li .wd_thumbnail, .colfull-no-margin .entry .widget_my_widget105 ul li .wd_thumbnail { */
.entry .widget_my_widget105 ul li .wd_thumbnail,
.entry .yarpp-related ul li .wd_thumbnail {
    display: block;
    width: 75px;
    height: 75px;
    overflow: hidden;
    float: left;
    margin: 0 10px 10px 0;
    padding: 0;
}

.entry .yarpp-related h3 {/*yarppスタイルの打ち消し*/
    font-size: 22px;
    margin: 60px auto 15px;
    padding: 0.6em 0;
}
@media screen and (max-width: 480px) {
    .entry .yarpp-related h3 {/*yarppスタイルの打ち消し*/
        font-size: 4vw;
    }
}

.widget_my_widget105 .wp_rp_title,
.yarpp-related .wp_rp_title {
    display: block;
    line-height: 1.2;
    margin: 0 0 10px 0;
    padding: 0;
    font-weight: 400;
}

.widget_my_widget105 .wp_rp_thumbnail img,
.yarpp-related .wp_rp_thumbnail img {
    /* width: 110px; */
    /* height: 110px; */
    float: left;
    margin: 0 10px 10px 0;
    padding: 0;
    max-width: 100%;
}

.widget_my_widget105 ul .wp_rp_excerpt,
.yarpp-related ul .wp_rp_excerpt {
    display: block;
    line-height: 1.2;
    font-size: 80%;
}

.widget_my_widget105 a.wp_rp_thumbnail,
.yarpp-related a.wp_rp_thumbnail {
    display: block;
    width: 75px;
    height: 75px;
    overflow: hidden;
    float: left;
    margin: 0 10px 10px 0;
    padding: 0;
}

/********************
  #202お問い合わせ(My_Widget202)
********************/
.widget_my_widget202 p.lead span {
    white-space: nowrap;
    display: inline-block;
}

/********************
  #201会社情報(My_Widget201)
********************/
.widget_my_widget201 th span {
    white-space: nowrap;
    display: inline-block;
}

.widget_my_widget201 [itemprop="telephone"] a[href ^="tel:"]::after {
    content: "";
    /*telアイコンを表示しない*/
}

/********************
  #10グーグルマップ(My_Widget09)
********************/
.widget_my_widget203 .embed-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
    margin-top: 20px;
    margin-bottom: 20px;
}

.widget_my_widget203 .embed-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.widget_my_widget203 .embed-container .mce-preview-object {
    position: static;
}

/********************
  #11ソーシャルボタン(My_Widget10)
********************/
.widget_my_widget302 .sns {
    margin: 30px auto;
}

.widget_my_widget302 .sns ul {
    display: flex;
    justify-content: center;
}

.widget_my_widget302 .sns li {
    margin: 5px 0;
}

.widget_my_widget302 .sns .snsb li {
    margin: 0 10px 0 0;
    padding: 0px;
    list-style-type: none;
}

.widget_my_widget302 .sns .snsb li::before {
    padding: 0;
    margin: 0;
    content: none;
}

.widget_my_widget302 .sns .snsb.clearfix {
    padding-top: 20px 0;
}

/********************
  #12カテゴリ一覧(My_Widget15)
********************/
.widget_my_widget104 ul {
    text-align: center;
}

.widget_my_widget104 ul li {
    display: inline-block;
    margin: 0 5px 10px;
}

.widget_my_widget104 ul li::before {
    content: none;
}

.widget_my_widget104 ul li a {
    display: block;
    font-size: 0.9em;
    color: var(--color-text-base);
    border: 1px solid var(--color-text-base);
    min-width: 145px;
    line-height: 1.4;
    position: relative;
    margin: 0 auto;
    padding: 0.5em 2.5em;
    text-decoration: none;
    z-index: 1;
}

.widget_my_widget104 li a::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    transition: 0.3s ease all;
    background: var(--color-text-dark);
    z-index: -1;
}

.widget_my_widget104 li a::after {
    content: "\f101";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    display: inline-block;
    margin: 0 -0.5em 0 0.5em;
    line-height: 1.0;
}

.widget_my_widget104 ul li a:hover {
    color: var(--color-white);
}

.widget_my_widget104 ul li a:hover::before {
    width: 100%;
}

/******************************
  #15投稿リスト（カスタム投稿タイプ）(My_Widget20)
******************************/
.widget_my_widget103 a {
    color: var(--color-text-dark);
}
.widget_my_widget103 a:hover {
    text-decoration: none;
}
.widget_my_widget103 ul li::after {
    content: "";
    display: block;
    clear: both;
}
.widget_my_widget103 ul li::before {
    content: none;
}
.sidebar .widget_my_widget103 .post_title {
    font-size: 85%;
}

.col7_3 .entry .widget_my_widget103 ul.post-template-basic,
.col10 .widget_my_widget103 ul.post-template-basic,
.colfull .widget_my_widget103 ul.post-template-basic {
    margin: 0 0 18px 0;
    padding: 0;
    /* column-count廃止 → flexboxカード型レイアウトに移行 */
}
.widget_my_widget103 ul li {
    list-style: none;
}
.widget_my_widget103 ul li.post_wrap {
    overflow: hidden;
    margin: 0 0 15px 0;
    padding: 5px 0 0 0;
    break-inside: avoid-column;
    position: relative;
    overflow: hidden;/*float解除用*/
}
.widget_my_widget103 div[class^="post_container"] {
    overflow: hidden;/*float解除用*/
}
/* .widget_my_widget103 a:hover>div *:not(.img_zoom) {
    opacity: 0.9;
} */
.widget_my_widget103 .large_post_thumb img,
.widget_my_widget103 .post_thumb img {
    display: block;
    width: 100%;
    max-width: 100%;
}

.widget_my_widget103 .large_post_thumb {
    margin-bottom: 1em;
}
.widget_my_widget103 .post_thumb {
    width: 75px;
    height: 75px;
    float: left;
    margin: 0 10px 10px 0;
}

.widget_my_widget103 .post_wrap .post_title {
    line-height: 1.2;
    margin: 0 0 0.5em;
}
.widget_my_widget103 .post_new {
    /* border: 1px solid #da3e5a; */
    display: inline-block;
    padding: 3px 5px;
    line-height: 1.2;
    border-radius: 3px;
    margin-right: 0.5em;
    letter-spacing: -0.03em;
    color: var(--color-white);
    background-color: var(--color-accent);
    font-size: 80%;
}
.widget_my_widget103 .post_date {
    margin-right: 0.5em;
    display: inline-block;
}
.widget_my_widget103 .post_term {
    background: var(--color-sub);
    color: var(--color-white);
    display: inline-block;
    border-radius: 3px;
    padding: 3px 5px;
    margin-right: 0.5em;
    font-size: 80%;
    line-height: 1.2;
}
.widget_my_widget103 .post_excerpt {
    margin: 0 0 1em;
    font-size: 80%;
    line-height: 1.2;
    display: block;
}

.widget_my_widget103 .cf_table {
    margin-bottom: 1em;
}

.widget_my_widget103 .cf_table th,
.widget_my_widget103 .cf_table td {
    padding: 10px;
    font-size: 85%;
}

.widget_my_widget103 .slick-slider {
    margin: 0 25px;
}

.widget_my_widget103 .slick-slider .slick-slide {
    margin: 0 5px;
}

/******************************
  #16カテゴリリスト(My_Widget22)
******************************/

/******************************
  #301バナー(My_Widget301)
******************************/
.widget_my_widget301 .slick-slider,
.widget_my_widget301 .slick-slider {
    margin: 0 25px;
}
/*ショートコード用 スライダー形式の時、親要素の幅に合わせる*/
.widget_my_widget301.sw_banner,
.widget_my_widget301.sw_banner {
    width: 100%;
}
.widget_my_widget301.sw_banner a,
.widget_my_widget301.sw_banner a {
    margin: 0;
    width: auto;
}

/* 現行の #301 バナーショートコード用レイアウト調整 */
.widget_my_widget301.sw_banner .colbox.slick-slider {
    display: block;
}

.widget_my_widget301.sw_banner .slick-list {
    overflow: hidden;
}

.widget_my_widget301.sw_banner .slick-track {
    display: flex;
    align-items: stretch;
}

.widget_my_widget301.sw_banner .slick-slide {
    height: inherit !important;
}

.widget_my_widget301.sw_banner .slick-slide > div,
.widget_my_widget301.sw_banner .slick-slide > div > div,
.widget_my_widget301.sw_banner .bn_wrap,
.widget_my_widget301.sw_banner .bn_wrap > a {
    height: 100%;
}

.widget_my_widget301.sw_banner .bn_wrap {
    display: flex;
    flex-direction: column;
}

.widget_my_widget301.sw_banner .img_zoom {
    flex: 0 0 auto;
}


/* ============================================================
   06. 投稿・固定ページ
============================================================ */
/* ---- base.css から移行: 見出しデザイン (2026-03-15) ---- */
.col10 .entry h3 {
    text-align: center;
}

.col5_5 h2, .col7_3 h2, .col10 h2, .colfull h2, .error404 h2 {
    margin: 50px auto 25px;
    border-left: none;
}

.col5_5 h3, .col7_3 h3, .col10 h3, .colfull h3, .error404 h3 {
    margin: 40px auto 15px;
    border-left: none;
}

.col5_5 h4, .col7_3 h4, .col10 h4, .colfull h4 {
    margin: 30px auto 10px;
    border-left: none;
}

.col5_5 h5, .col7_3 h5, .col10 h5, .colfull h5 {
    margin: 25px auto 10px;
    border-left: none;
}

/* ---- base.css から移行: エントリーデザインCSS (2026-03-14) ---- */
.entry p {
    font-size: 16px;
    line-height: 1.8;
    font-weight: 400;
    letter-spacing: 0.03em;
    margin-bottom: 1.2em;
}

.entry h1 {
    margin: 1em 0;
    padding: 1.5em 0;
    font-size: 1.7em;
    border-bottom: var(--color-text-dark) 1px solid;
}

.entry p+h1 {
    margin-top: 2em;
}

.entry h2 {
    font-size: 24px;
    text-align: left;
    font-weight: bold;
    margin: 50px 0 25px;
    padding: 0 0 15px 0;
    border-bottom: 2px solid var(--color-text-dark);
}

.entry p+h2 {
    margin-top: 2em;
}

.entry h3 {
    font-size: 20px;
    padding: 0.5em 0;
    margin: 40px 0 15px;
}

.entry p+h3 {
    margin-top: 1.8em;
}

.entry h4 {
    font-size: 18px;
    margin: 30px 0 10px;
    padding: 0.4em 0;
    color: var(--color-text-dark);
    font-weight: bold;
}

.entry h5 {
    font-size: 1.1em;
    padding: 0.3em 0;
    margin: 25px 0 10px;
    font-weight: bold;
}

.entry p+h5 {
    margin-top: 2em;
}

.entry h6 {
    font-size: 1em;
    padding: 0.3em 0;
    margin: 20px 0 8px;
    font-weight: bold;
}

/*    10/10レイアウト   */
.page-template-10-layout .entry p.text_width {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    font-size: 20px;
}

.page-template-10-layout .entry .article-container>h2 {
    font-size: 2.5em
}

.page-template-10-layout .entry .article-container>h2, .page-template-10-layout .entry .article-container>h3, .page-template-10-layout .entry .article-container>h4 {
    text-align: center;
    max-width: 28em;
    margin-left: auto;
    margin-right: auto;
}

.page-template-10-layout .entry .article-container>h4 {
    display: table;
}

@media screen and (max-width: 680px) {
    .entry h1 {
        font-size: 1.6em;
    }

    .entry h2 {
        margin: 30px 0;
        padding: 0px 0 15px 0;
        font-size: 4.26666667vw;
        line-height: 1.7;
    }

    .entry h3 {
        font-size: 1.55em;
    }

    .page-template-10-layout .entry p.text_width {
        font-size: 14px;
    }

    .page-template-10-layout .entry .article-container>h2 {
        font-size: 2em
    }

    img.alignleft, img.alignright,img.aligncenter {
        width: 100%;
        object-fit: contain;
    }
}

@media screen and (max-width: 480px) {
    .entry h1 {
        font-size: 1.6em;
    }

    .entry h3 {
        font-size: 4vw;
    }
}

/* リンクオブジェクト */
.entry a.mark[target="_blank"]::after, .entry a.mark[target="blank"]::after, .entry a.mark[href$=".pdf"]::after, .entry a.mark[href$=".doc"]::after, .entry a.mark[href$=".docx"]::after, .entry a.mark[href$=".xls"]::after, .entry a.mark[href$=".xlsx"]::after, .entry a.mark[href$=".zip"]::after, .entry a.mark[href^="mailto:"]::after, .entry a.mark[href ^="tel:"]::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-left: 5px;
    font-size: 110%;
    line-height: 1.0;
}

.entry a.mark[target="_blank"]::after, .entry a.mark[target="blank"]::after {
    content: "\f0c1";
}

.entry a.mark[href$=".pdf"]::after {
    content: "\f1c1";
    color: var(--color-accent);
}

.entry a.mark[href$=".doc"]::after, .entry a.mark[href$=".docx"]::after {
    content: "\f1c2";
    color: var(--color-link);
}

.entry a.mark[href$=".xls"]::after, .entry a.mark[href$=".xlsx"]::after {
    content: "\f1c3";
    color: #18a011;
}

.entry a.mark[href$=".zip"]::after {
    content: "\f1c6";
}

.entry a.mark[href^="mailto:"]::after {
    content: "\f0e0";
}

.entry a.mark[href ^="tel:"]::after {
    content: "\f095";
    margin-left: 2px;
}

.entry .blank:after {
    display: none;
}

/* 引用 */
.entry blockquote {
    color: var(--color-text-dark);
    margin: 2em 0;
    padding: 15px 15px;
    border: 1px solid var(--color-text-dark);
    position: relative;
    z-index: 1;
}

.entry blockquote p {
    margin: 0;
    line-height: 1.4;
    position: relative;
    z-index: 2;
    font-style: normal;
}

.entry blockquote p strong:first-child {
    padding: 0 0 5px;
    font-size: 1.1em;
}

.entry blockquote p strong {
    background: none;
    padding: 5px 0;
    display: inline-block;
}

.entry blockquote.link_business {
    color: var(--color-text-dark);
    background-color: #ffff00;
    max-width: 600px;
    margin: 2em 0;
    padding: 15px 15px;
    border: none;
}

.entry blockquote.link_business p{
    margin-bottom:0;
}

@media screen and (max-width: 480px) {
    .entry blockquote {
        padding: 20px 10px;
        margin-left: 15px;
        border: none;
        border-left: 2px solid var(--color-border);
    }
}

/* 箇条書き */
.entry ul, .entry ol {
    list-style-position: inside;
}

.entry ul li, .entry ol li {
    padding-left: 1em;
}

.entry ul li {
    list-style: disc;
    list-style-position: inside;
}

.entry ol li {
    list-style-type: decimal;
}

/* 箇条書き - dl */
.entry dl {
    margin: 0 auto 1em;
    padding: 0;
}

.entry dt, .entry dd {
    line-height: 1.6;
}

.entry dt {
    padding: 0.5em 0 0.5em 0;
    font-weight: 600;
    /* border-bottom: var(--color-text-dark) 1px solid; */
}

.entry dd {
    padding: 0.6em 0 0.6em 0;
}

.entry dd+dt {
    margin-top: 1em;
}

@media screen and (max-width: 480px) {
    .entry dt {
        font-size: 1.15em;
    }

    .entry dd {
        font-size: 0.95em;
    }
}

/* テーブル */
.entry th, .entry td {
    border: 1px solid var(--color-border-light);
    background-color: var(--color-white);
    line-height: 1.5;
}

.entry th {
    color: var(--color-text-dark);
    background-color: var(--color-border-light);
    text-align: center;
    width: 25%;
}

.entry thead th, .entry thead td {
    padding: 20px 32px;
    background: var(--color-border-light);
    border: 1px solid #dcdcdc;
    color: var(--color-text-dark);
}

.entry thead td {
    font-weight: normal;
}

.entry tbody th, .entry tbody td {
    padding: 20px 28px;
    border: 1px solid var(--color-border-light);
}

.entry tfoot th, .entry tfoot td {
    font-size: 80%;
}

/* フォーム */
.entry form {
    padding-bottom: 50px;
}

.entry form table {
    display: block;
    padding: 0;
    border: none;
    margin: 0;
}

.entry form table tbody, .entry form table tr {
    display: block;
}

.entry form table tr {
    padding-bottom: 25px;
}

.entry form table th, .entry form table td {
    display: block;
    border: none;
    background: transparent;
    padding: 0 0 7px;
    width: 100% !important;
    color: var(--color-text-dark);
}

.entry form table th {
    text-align: left;
}

.entry form table input[type="text"], .entry form table input[type="email"] {
    width: 70%;
}

.entry form table input[type="date"]{
    width: 10em;
    padding-left: 1em;
    font-size: 16px;
    line-height: 1.4;
    border: 1px #bbb solid;
    padding: 0.4em 1em;
}

.entry form table input[type="number"]{
    font-size: 16px;
    line-height: 1.4;
    border: 1px #bbb solid;
    padding: 0.4em 1em;
}

.entry form table input[type="text"]#pref, .entry form table input[type="text"]#city {
    width: 10em;
}

.entry form table input[type="tel"]#zip {
    width: 9em;
}

.entry form table input[type="radio"], .entry form table input[type="checkbox"] {
    vertical-align: middle;
    margin: 6px 3px;
    width: auto;
}

.entry form table .mwform-tel-field input[type="text"], .entry form table .mwform-fax-field input[type="text"] {
    width: 6em;
}

.entry form table .mwform-radio-field.horizontal-item, .entry form table .mwform-checkbox-field.horizontal-item {
    margin: 0 10px 0 0;
}

.entry form table .mwform-radio-field label, .entry form table .mwform-checkbox-field label {
    cursor: pointer;
}

.entry form table .mwform-radio-field label [type="radio"], .entry form table .mwform-checkbox-field label [type="checkbox"] {
    display: none;
}

.entry form table .mwform-radio-field label .mwform-radio-field-text, .entry form table .mwform-checkbox-field label .mwform-checkbox-field-text {
    line-height: 1.6;
    display: inline-block;
}

.entry form table .mwform-radio-field label .mwform-radio-field-text::before, .entry form table .mwform-checkbox-field label .mwform-checkbox-field-text::before {
    font-family: "Font Awesome 5 Free";
    font-size: 18px;
    width: 18px;
    height: 18px;
    transition: 0.1s;
}

.entry form table .mwform-radio-field label .mwform-radio-field-text::before {
    content: "\f192";
    font-weight: 400;
    color: #bbb;
    display: inline-block;
    margin-right: 5px;
}

.entry form table .mwform-radio-field label [type="radio"]:checked+.mwform-radio-field-text::before {
    font-weight: 900;
    color: var(--color-text-base);
}

.entry form table .mwform-checkbox-field label .mwform-checkbox-field-text::before {
    content: "\f00c";
    font-weight: 900;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin: 0 5px -5px 0;
    border-radius: 3px;
    background: var(--color-border-light);
    border: #bbb 1px solid;
    color: transparent;
}

.entry form table .mwform-checkbox-field label [type="checkbox"]:checked+.mwform-checkbox-field-text::before {
    color: var(--color-text-base);
}

.entry form table textarea {
    width: 100%;
    min-height: 180px;
}

.entry form input[type="submit"], .entry form input[type="reset"], .entry form input[type="button"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    margin: 0 auto 25px;
    padding: 5px 20px;
    min-width: 160px;
    max-width: 300px;
    display: block;
    text-align: center;
    font-size: 15px;
    white-space: nowrap;
    font-weight: bold;
    border: 2px solid var(--color-text-base);
    border-radius: 3px;
}

.entry form input[type="submit"] {
    background: var(--color-text-base);
    color: var(--color-white);
     border: 2px solid var(--color-text-base);
}

.entry form input[type="reset"] {
    background: var(--color-white);
    color: var(--color-text-base);
}

.entry form input:hover[type="submit"], .entry form input:hover[type="reset"] {
    opacity: 0.8;
}

.entry form.post-password-form input[type="submit"] {
    margin: 10px 0;
    max-width: 200px;
    padding: 5px;
}

.entry form .asterisk {
    color: var(--color-accent);
}

.entry form .error {
    margin: 0.3em 0 0 0.5em;
}

@media screen and (max-width: 680px) {
    .entry form table input[type="text"], .entry form table input[type="email"] {
        width: 100%;
    }
}

@media screen and (max-width: 480px) {
    .entry form table {
        padding: 30px 0;
    }

    .entry form table .mwform-tel-field input[type="text"], .entry form table .mwform-fax-field input[type="text"] {
        width: 4.5em;
    }
}

/* ギャラリー */
.entry .gallery {
    overflow: hidden;
    margin: 30px 0;
}

.entry .gallery dl dt, .entry .gallery dl dd {
    border-left: none;
    border-bottom: none;
    padding: 0;
    position: relative;
}

.entry .gallery dl dd {
    padding-left: 10px;
    margin-left: 10px;
}

.entry .gallery-item {
    float: left;
    width: 50%;
    margin: 0 0 20px;
    padding: 0;
}

.entry .gallery-icon {
    text-align: center;
    margin: 0 1%;
}

.entry .gallery-caption {
    color: var(--color-text-base);
    font-size: 80%;
    margin: 0;
    padding: 5px 10px;
    text-align: left;
    line-height: 1.6;
}

.entry .gallery dl dd::before {
    content: "\f0da";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    top: 0px;
    left: 0px;
}

.entry .gallery-columns-1 .gallery-item {
    width: 100%;
    margin-right: 0;
}

.entry .gallery-columns-2 .gallery-item {
    width: 49%;
    margin-right: 1%;
}

.entry .gallery-columns-2 dl:nth-of-type(2n) {
    margin-left: 1%;
    margin-right: 0;
}

.col10 .entry .gallery {
    width: 100%;
    max-width: 1000px;
    margin: 30px auto;
}

.entry .gallery-columns-3 .gallery-item {
    width: 32%;
    margin-right: 1%;
}

.entry .gallery-columns-3 dl:nth-of-type(3n-1) {
    margin-left: 1%;
    margin-right: 1%;
}

.entry .gallery-columns-3 dl:nth-of-type(3n) {
    margin-left: 1%;
    margin-right: 0;
}

.entry .gallery-columns-4 .gallery-item {
    width: 23.5%;
    margin: 0 1% 2% 0;
}

.entry .gallery-columns-4 dl:nth-of-type(4n-1), .entry .gallery-columns-4 dl:nth-of-type(4n-2) {
    margin-left: 1%;
    margin-right: 1%;
}

.entry .gallery-columns-4 dl:nth-of-type(4n) {
    margin-left: 1%;
    margin-right: 0;
}

.entry .gallery-columns-5 .gallery-item {
    width: 18.4%;
    margin: 0 1% 2% 0;
}

.entry .gallery-columns-5 dl:nth-of-type(5n-1), .entry .gallery-columns-5 dl:nth-of-type(5n-2), .entry .gallery-columns-5 dl:nth-of-type(5n-3) {
    margin-left: 1%;
    margin-right: 1%;
}

.entry .gallery-columns-5 dl:nth-of-type(5n) {
    margin-left: 1%;
    margin-right: 0;
}

.entry .gallery-columns-6 .gallery-item {
    width: 15%;
    margin: 0 1% 2% 0;
}

.entry .gallery-columns-6 dl:nth-of-type(6n-1), .entry .gallery-columns-6 dl:nth-of-type(6n-2), .entry .gallery-columns-6 dl:nth-of-type(6n-3), .entry .gallery-columns-6 dl:nth-of-type(6n-4) {
    margin-left: 1%;
    margin-right: 1%;
}

.entry .gallery-columns-6 dl:nth-of-type(6n) {
    margin-left: 1%;
    margin-right: 0;
}

.entry p.wp-caption-text {
    font-size: 80%;
    line-height: 1.4;
}

@media screen and (max-width: 680px) {
    .col10 .entry .gallery {
        width: auto;
        max-width: initial;
        max-width: auto;
        margin: 30px auto;
    }
}

/* (max-width: 680px) */
@media screen and (max-width: 480px) {
    .entry .gallery-columns-2 .gallery-item, .entry .gallery-columns-2 .gallery-item, .entry .gallery-columns-3 .gallery-item, .entry .gallery-columns-4 .gallery-item {
        float: none;
        width: 100%;
        margin: 0 auto 2%;
    }

    .entry .gallery-columns-2 dl:nth-of-type(2n), .entry .gallery-columns-3 dl:nth-of-type(3n-1), .entry .gallery-columns-3 dl:nth-of-type(3n), .entry .gallery-columns-4 dl:nth-of-type(4n-1), .entry .gallery-columns-4 dl:nth-of-type(4n-2), .entry .gallery-columns-4 dl:nth-of-type(4n) {
        margin: 0 auto 2%;
    }

    /* .gallery-columns-4を2段組にする場合は コメント外す
  .entry .gallery-columns-4 .gallery-item {
    float: left;
    width: 50%;
    margin: 0 auto;
  }
  */
    .entry .gallery-item img {
        margin: 0 auto;
    }

    .entry .gallery br {
        display: none;
    }
}




/* ============================================================
   07. その他
============================================================ */
/* ---- base.css から移行: 03-07ページ別CSS (2026-03-14) ---- */
/* ********************************************************

  03.トップページのレイアウト

******************************************************** */
/* アイキャッチ(#eyecatch) */
.home #eyecatch.eyecatch-fullheight {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    min-height: 300px;
    position: relative;
}

.home #eyecatch-in {
    width: 100%;
    height: 100%;
    padding: 0;
}

#eyecatch-in .eyecatch-slider.pc {
    display: block!important;
}

#eyecatch-in .eyecatch-slider.sm {
    display: none!important;
}

@media screen and (max-width: 680px) {
    #eyecatch-in .eyecatch-slider.pc {
        display: none!important;
    }

    #eyecatch-in .eyecatch-slider.sm {
        display: block!important;
    }
}

#eyecatch-in #eyecatch-slider-wrapper, #eyecatch-in .eyecatch-slider, #eyecatch-in .eyecatch-slider .slick-list, #eyecatch-in .eyecatch-slider .slick-track {
    height: 100%;
}

#eyecatch-in .eyecatch-slider .slick-track {
    overflow: hidden;
    /*IEだと#eyecatch-inのoverflow: hiddenが効かなかったので*/
}

#eyecatch-in .eyecatch-slider img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

/* モバイルで横長画像を縦長コンテナに表示する際、上部を表示（2026-03-16） */
@media screen and (max-width: 680px) {
    #eyecatch-in .eyecatch-slider img {
        object-position: center 30%;
    }

    /* モバイルでバナー画像が異常に拡大される問題を修正（2026-03-16） */
    .sw_banner .img_zoom,
    .sw_banner .img_zoom img {
        max-width: 100% !important;
        width: auto !important;
        height: auto !important;
    }

    .sw_banner .bn_wrap {
        max-width: 100% !important;
    }
}
.eyecatch-fullheight .slick-dots {
    bottom: 10px;
}

/*フルワイズ画像zoom*/
#eyecatch-in .eyecatch-slider .slide-animation {
    /*スライドの切り替わりは5000msなので、ズーム効果が止まらないよう少し長めの秒数に*/
    animation: fadezoom 6500ms ease-out 0s forwards;
}

@keyframes fadezoom {
    0% {
        transform: scale(1);
    }

    100% {
        transform: scale(1.2);
    }
}

/*カルーセル時の左右矢印の位地調整*/
#eyecatch-in .eyecatch-slider .slick-arrow {
    z-index: 100;
}

#eyecatch-in .eyecatch-slider .slick-prev {
    left: 1rem;
}

#eyecatch-in .eyecatch-slider .slick-next {
    right: 1rem;
}

/*カルーセル時 スライド高さを揃える*/
#eyecatch-in .eyecatch-slider .slick-track {
    display: flex;
}

#eyecatch-in .eyecatch-slider .slick-slide {
    height: auto !important;
}

/*フルワイズ動画*/
#eyecatch-in #eyecatch-movie {
    height: 100%;
    width: 100%;
    position: relative;
}

#eyecatch-movie .eyecatch-content {
    color: #ffffff;
}

#eyecatch-movie video {
    object-fit: cover;
    width: 100%;
    height: 100%;
}


/*youtube動画(16:9)の比率を保ち、object-fit:coverのような挙動にする*/
.yt-js #eyecatch-in #eyecatch-movie {
    /*上下中央固定*/
    /*position: absolute;*/
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: auto;
    /*jsで親コンテナー#eyecatch-movieの横幅を調整*/
}

/*youtube動画の縦横比を黒い枠を出さずに保持*/
.yt-js #eyecatch-in #yt-player-wrapper {
    padding-bottom: 56.25%;
    /*高さ(親コンテナー横幅に依存)をpaddingで指定(16:9)=(横100%:縦56.25%)*/
    height: 0px;
    position: relative;
}

.yt-js #eyecatch-in #eyecatch-movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#eyecatch-movie .eyecatch-filter {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
}

#eyecatch-movie .eyecatch-filter.filter-on {
    background-color: #20202030;
    background-image: radial-gradient(#6f6f6f 1px, transparent 0px);
    background-size: 3px 3px;
}

/*#eyecatch-in .metaslider {
    margin: 0 auto 20px;
}*/
/* ********************************************************

  04.ページ共通のレイアウト

******************************************************** */
/****************************************
     アイキャッチ(#eyecatch)
****************************************/
.page #eyecatch-in, .single #eyecatch-in, .category #eyecatch-in {
    max-width: 100%;
    padding: 0;
}

.page #eyecatch-in img, .single #eyecatch-in img, .category #eyecatch-in img {
    width: 100%;
    min-height: 200px;
    object-fit: cover;
    margin: 0 auto;
}

@media screen and (max-width: 480px) {
    .page #eyecatch-in img, .single #eyecatch-in img, .category #eyecatch-in img {
        min-height: 180px;
        margin: 0 auto 50px;
    }
}

/* (max-width: 480px) */
/****************************************
     パンクズリスト(#breadcrumb)
****************************************/
.page #breadcrumb {
    max-width: 1000px;
    margin: 0 0 30px;
    padding: 0;
}

.page #breadcrumb li {
    float: left;
    padding-left: 0;
    padding-right: 10px;
    font-size: 70%;
    list-style-type: none;
}

/****************************************
     投稿情報
****************************************/
.page .post_contact {
    font-size: 80%;
    max-width: 480px;
    margin: 70px auto 0;
    text-align: right;
}

.page .post-meta {
    margin: 0 0 1em;
    padding: 0 0 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: flex-start;
}

.page .post-meta li {
    margin: 0;
    padding-left: 1em;
    line-height: 1.2;
    list-style: none;
    font-size: 12px;
}

.page .post-meta li::before {
    content: none;
}

.page .post-meta li a {
    color: var(--color-text-base);
}

/****************************************
     スライドメニュー目次(#toc)
****************************************/
.page #toc_container {
    background: #f9f9f9;
    border: 1px solid #aaa;
    padding: 10px 20px;
    margin: 50px 0 100px;
    width: auto;
    display: table;
    font-size: 95%;
}

.page #toc_container p.toc_title+ul.toc_list {
    margin-top: 5px;
}

.page #toc_container li, #toc_container ul {
    margin: 0;
    padding: 0;
    line-height: 1.6;
}

.page #toc_container ul li::before {
    padding-right: 1em;
    content: none;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

/****************************************
     ページナビ
****************************************/
.p-navi dl {
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* flex-wrap: wrap; */
    gap: 1rem;
}

.p-navi dl > div {
    display: flex;
    align-items: center;
}

.p-navi dl dt {
    min-width: 6em;
    margin: 0;
    border-bottom: var(--color-text-base) 1px solid;
}

.p-navi dl dd {
    flex-grow: 1;
}

.p-navi dl a {
    display: block;
    color: var(--color-text-base);
}

.p-navi dl dt, .p-navi dl dd {
    padding: 0;
}

.p-navi dl a {
    font-size: 0.9em;
    padding: 0.5em 0;
}


.p-navi dl > div:hover a {
    text-decoration: none;
    opacity: 0.8;
}

.p-navi dl .next dt {
    order: 1;
}

.p-navi dl .next dd {
    order: 2;
    margin: 0 auto 0 1em;
}

.p-navi dl .prev dt {
    order: 4;
}

.p-navi dl .prev dd {
    order: 3;
    margin: 0 1em 0 auto;
}

/* ********************************************************

  05.個別ページのレイアウト

******************************************************** */
/****************************************
     404ページ(.error404)
****************************************/
.error404 .error404-content h1 {
    padding: 1.5em 0 1.5em 45px;
    position: relative;
}

.error404 .error404-content h1::before {
    content: "\f071";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    top: 38px;
    left: 5px;
}

.error404 .error404-content h3 {
    border: none;
    margin: 0;
    padding: 0;
}

.error404 .error404-content p {
    margin: 10px 0;
    line-height: 1.5;
}

.error404 .error404-content .blk {
    margin-top: 30px;
}

/*カスタム著作情報*/
.custom_author_info {
    border: 1px solid #dcdcdc;
    padding: 2em;
    clear: both;
}

.custom_author_info h3 {
    margin-top: 0;
}

.custom_author_info .cai_wrapper {
    display: flex;
}

.custom_author_info .cai_column:nth-child(2) {
    padding-left: 1em;
}

.custom_author_info .custom_author_photo img {
    max-width: 100px;
    width: 100px;
    border-radius: 100px;
}

.custom_author_info .custom_author_text {
    margin-bottom: 0;
}

@media screen and (max-width: 680px) {
    .custom_author_info .cai_wrapper {
        flex-direction: column;
    }

    .custom_author_info .cai_column:nth-child(2) {
        padding-left: 0;
    }

    .custom_author_info .custom_author_photo, .custom_author_info .cai_column:nth-child(2) .custom_author {
        text-align: center;
    }

    .custom_author_info .custom_author_photo img {
        max-width: 150px;
        width: 100%;
    }
}

/* (max-width: 680px) */
/* ********************************************************

  06.カテゴリページのレイアウト

******************************************************** */
/*リクルート*/
.category .cat_recruit_table {
    margin: 15px 0 0 0px;
}

/****************************************
    共通部分
****************************************/
.category .post-cat, .archive .post-cat, .search-results .post-cat {
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
}

.category .post-cat .post-cat-col, .archive .post-cat .post-cat-col, .search-results .post-cat .post-cat-col {
    width: 49%;
    padding: 0;
    margin: 0 2% 15px 0;
}

.category .post-cat .post-cat-col:nth-child(2n), .archive .post-cat .post-cat-col:nth-child(2n), .search-results .post-cat .post-cat-col:nth-child(2n) {
    margin-right: 0;
}

.col10 .category .post-cat .post-cat-col, .colfull .category .post-cat .post-cat-col, .col10 .archive .post-cat .post-cat-col, .colfull .archive .post-cat .post-cat-col {
    width: 32.5%;
    margin-right: 1.25%;
}

.col10 .category .post-cat .post-cat-col:nth-child(3n), .colfull .category .post-cat .post-cat-col:nth-child(3n), .col10 .archive .post-cat .post-cat-col:nth-child(3n), .colfull .archive .post-cat .post-cat-col:nth-child(3n) {
    margin-right: 0;
}

.category .post-cat .post-cat-col .blog_info, .archive .post-cat .post-cat-col .blog_info, .search-results .post-cat .post-cat-col .blog_info {
    font-size: 13px;
    text-align: right;
    margin: 9px 0 0;
    width: 100%;
}
.category .post-cat .post-cat-col .blog_info p , .archive .post-cat .post-cat-col .blog_info p, .search-results .post-cat .post-cat-col .blog_info p{
   line-height: 1.0; 
}

.category .post-cat .post-cat-col .blog_info p > a, .archive .post-cat .post-cat-col .blog_info p > a, .search-results .post-cat .post-cat-col .blog_info p > a{
    font-size: 13px;
    line-height:1.0;
}

.category .post-cat .post-cat-col>a, .archive .post-cat .post-cat-col>a, .search-results .post-cat .post-cat-col>a {
    display: block;
}

.category .post-cat .post-cat-col img, .archive .post-cat .post-cat-col img, .search-results .post-cat .post-cat-col img {
    margin: 0 auto;
    object-fit: cover;
    width: 100%;
    max-height: 200px;
}

.category .post-cat .post-cat-col div, .archive .post-cat .post-cat-col div, .search-results .post-cat .post-cat-col div {
    /*max-width: 420px;*/
    /*comment out 2021.08.31*/
    margin: 10px auto 0;
}

.category .post-cat .post-cat-col div a, .archive .post-cat .post-cat-col div a, .search-results .post-cat .post-cat-col div a {
    /* font-size: 95%; */
    font-weight: bold;
}

.category .post-cat .post-cat-col h4, .archive .post-cat .post-cat-col h4, .search-results .post-cat .post-cat-col h4 {
    margin: 20px auto 5px;
    background: none;
    padding: 0;
    text-align: left;
}

.category .post-cat .post-cat-col div .cat-ex, .archive .post-cat .post-cat-col div .cat-ex, .search-results .post-cat .post-cat-col div .cat-ex {
}

.category .post-cat .post-cat-col p, .archive .post-cat .post-cat-col p, .search-results .post-cat .post-cat-col p {
    line-height: 2;
    width: 100%;
    margin: 0;
}

.category .post-cat .post-cat-col .cat_link, .archive .post-cat .post-cat-col .cat_link, .search-results .post-cat .post-cat-col .cat_link {
    text-align: right;
    max-width: 400px;
    margin: 0 auto;
}

.category .post-cat .post-cat-col .cat_link a, .archive .post-cat .post-cat-col .cat_link a, .search-results .post-cat .post-cat-col .cat_link a {
    color: var(--color-text-dark);
    text-shadow: none;
    font-size: 85%;
    display: inline-block;
    margin: 10px 0;
    padding: 2px 0;
    line-height: 2.5;
    text-decoration: none;
}

.category .post-cat .post-cat-col .cat_link a::before, .archive .post-cat .post-cat-col .cat_link a::before, .search-results .post-cat .post-cat-col .cat_link a::before {
    content: "\f101";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    display: inline-block;
    width: 1.5em;
    padding-right: 0.5em;
    transition: 0.2s;
}

.category .post-cat .post-cat-col .cat_link a:hover, .archive .post-cat .post-cat-col .cat_link a:hover, .search-results .post-cat .post-cat-col .cat_link a:hover {
    opacity: 0.8;
}

.category .post-cat .post-cat-col .cat_link a:hover::before, .archive .post-cat .post-cat-col .cat_link a:hover::before, .search-results .post-cat .post-cat-col .cat_link a:hover::before {
    padding-right: 0.1em;
}

@media screen and (max-width: 680px) {
    .category .post-cat, .archive .post-cat, .search-results .post-cat {
        min-height: 400px;
    }

    .col10 .category .post-cat .post-cat-col, .colfull .category .post-cat .post-cat-col, .col10 .archive .post-cat .post-cat-col, .colfull .archive .post-cat .post-cat-col {
        width: 49%;
        margin-right: 2%;
    }

    .col10 .category .post-cat .post-cat-col:nth-child(3n), .colfull .category .post-cat .post-cat-col:nth-child(3n), .col10 .archive .post-cat .post-cat-col:nth-child(3n), .colfull .archive .post-cat .post-cat-col:nth-child(3n) {
        margin-right: 2%;
    }

    .col10 .category .post-cat .post-cat-col:nth-child(2n), .colfull .category .post-cat .post-cat-col:nth-child(2n), .col10 .archive .post-cat .post-cat-col:nth-child(2n), .colfull .archive .post-cat .post-cat-col:nth-child(2n) {
        margin-right: 0;
    }
}

/* (max-width: 680px) */
@media screen and (max-width: 480px) {
    .category .post-cat .post-cat-col, .col10 .category .post-cat .post-cat-col, .colfull .category .post-cat .post-cat-col, .archive .post-cat .post-cat-col, .col10 .archive .post-cat .post-cat-col, .colfull .archive .post-cat .post-cat-col, .search-results .post-cat .post-cat-col {
        width: 100%;
        margin: 0 auto !important;
    }

    .category .post-cat .post-cat-col img, .archive .post-cat .post-cat-col img, .search-results .post-cat .post-cat-col img {
        margin: 0 auto;
        max-width: 420px;
    }

    .category .post-cat .post-cat-col div, .archive .post-cat .post-cat-col div, .search-results .post-cat .post-cat-col div {
        width: 100%;
    }
}

/* (max-width: 480px) */
/****************************************
     ページネーション
****************************************/
.category div.pagination, .archive div.pagination, .search-results div.pagination {
    clear: both;
    position: relative;
    font-size: 14px;
    padding: 2px;
    background-color: initial;
}

.category div.pagination a, .archive div.pagination a, .search-results div.pagination a {
    padding: 2px 7px;
    margin: 2px;
    border: solid #eee 1px;
    background-color: #fff;
    text-decoration: none;
}

.category div.pagination a:hover, .archive div.pagination a:hover, div.pagination a:active {
    background-color: #444444;
    color: var(--color-white);
}

.category div.pagination span.current, .archive div.pagination span.current, .search-results div.pagination span.current {
    padding: 2px 7px;
    margin: 2px;
    font-weight: bold;
    background-color: #000;
    color: var(--color-white);
}

.category div.pagination span.disabled, .archive div.pagination span.disabled, .search-results div.pagination span.disabled {
    padding: 2px 5px;
    margin: 2px;
    background-color: #c1c1c1;
    color: #797979;
}

/* ********************************************************

  07.投稿ページのレイアウト

******************************************************** */
/****************************************
     アイキャッチ(#eyecatch)
****************************************/
.single #eyecatch-in img {
    height: auto;
    max-height: 300px;
}

/* (max-width: 960px) */
/****************************************
     ブログページ(#blog)
****************************************/
#blog dd h4 {
    font-size: 100%;
    font-weight: bold;
    padding: 0px;
    margin: 0 0 5px;
    clear: none;
    line-height: 1.2;
    border: none;
    text-align: left;
}

#blog dd h4 a {
    text-decoration: none;
}

#blog dt {
    float: left;
    width: 100px;
    border: none;
    margin: 0;
    padding: 0 20px 0 0;
}

#blog dt img {
    width: 100px;
}

#blog dd {
    padding: 5px 0 0 110px;
    line-height: 1.2;
    border: none;
}

.main #blog dd {
    padding: 5px 0 0 120px;
}

.main #blog dd h4 {
    text-decoration: underline;
    font-weight: normal;
}

#blog dd p {
    margin: 0;
    text-align: left;
}

#blog dl {
    margin: 0 0 10px;
    padding: 0 0 10px;
    border-bottom-width: 1px;
    border-bottom-style: dotted;
    border-bottom-color: #e7e5e4;
}

#blog dl:last-child {
    margin-bottom: 20px;
    border-style: none;
}

/* ---- base.css から移行: 案件固有CSS (2026-03-14) ---- */

/****************************************
    XO Event Calendar - イベントリスト用CSS
    参考URL：https://xakuro.com/blog/wordpress/1376/
******************************************************** */
.xo-event-list * {
    font-size: 1rem;
}

.xo-event-list {
    list-style: none;
    display: block;
    margin: 30px 0;
    /*  前後余白  */
}

.main .entry .xo-event-list p {
    margin: 0 0 0.5rem;
    padding: 0;
    line-height: 1.2;
}

.xo-event-list>dl {
    display: block;
    margin: .7rem 0 0 0;
    padding: 0 0 .1rem 0;
    overflow: hidden;
    color: #444;
    border-bottom: dotted 1px var(--color-border-dark);
}

.xo-event-list>dl>dt, .xo-event-list>dl>dd {
    display: table-cell;
    vertical-align: top;
    border: none;
    padding: 0;
}

.xo-event-calendar table.xo-month>thead th {
    /*  base.cssの影響を受ける部分を調整*/
    line-height: 2.0;
    width: auto;
}

.xo-event-list>dl>dt>span, .xo-event-list>dl>dd>span {
    float: left;
    margin: 0 1rem 0 0;
    padding: 0;
    vertical-align: middle;
}

.xo-event-list .thumbnail {
    margin: .2rem 0;
}

.xo-event-list .thumbnail img {
    padding-right: 15px;
    width: 110px;
    min-width: 110px;
    height: auto;
    object-fit: cover;
}

.xo-event-list .date {
    margin-top: .1rem;
    font-size: .9rem;
}

.xo-event-list.type-short .date, .xo-event-list.type-standard .date {
    width: 7.5rem;
}

.xo-event-list .category {
    margin-top: .2rem;
    margin-bottom: .1rem;
    padding: 0 .5rem;
    text-align: center;
    font-size: .8rem;
    color: var(--color-white);
    border-radius: 2px;
}

.xo-event-list.type-short .category, .xo-event-list.type-standard .category {
    width: 8.5rem;
}

.xo-event-list.type-detail .category {
    margin-left: 0.5rem;
}

.xo-event-list .title {
    margin-top: .1rem;
}

.xo-event-list .event-date {
    font-size: .9rem;
}

.xo-event-list li br {
    display: block;
}

.xo-event-list.type-custom .event-date {
    width: 16rem;
    margin-top: .2rem;
}

/****************************************
    Google カレンダー
****************************************/
.simcal-default-calendar-grid .simcal-calendar-head .simcal-nav {
    width: auto;
    /* base.cssの影響を受ける部分を調整 */
}

.simcal-default-calendar-grid>table thead th {
    padding: 0.5em;
    width: auto;
}

.simcal-default-calendar .simcal-current h3 {
    background: inherit;
    color: var(--color-text-base);
}

/********************
  サンプルページ用
********************/
p.sample {
    position: relative;
    color: var(--color-white);
    max-width: 60%;
    font-size: 100%;
    padding: 5px 15px;
    margin: 100px auto;
    background-color: var(--color-link);
    border-radius: 3px;
    text-align: center;
}

p.sample2 {
    position: relative;
    color: var(--color-link);
    max-width: 50%;
    font-size: 100%;
    padding: 5px 25px;
    margin: 80px 0px 15px;
    border-bottom: var(--color-link) 1px solid;
    text-align: left;
}

p.sample2::before {
    content: "\f02d";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    top: 6px;
    left: 5px;
}

p.sample3 {
    position: relative;
    color: var(--color-link);
    max-width: 50%;
    font-size: 90%;
    padding: 5px 5px;
    margin: 30px 0px 10px;
    text-align: left;
}

@media print, screen and (max-width: 680px) {
    p.sample {
        max-width: 70%;
        padding: 5px 15px;
        margin: 50px auto 30px;
    }

    p.sample2, p.sample3 {
        max-width: 100%;
    }
}

/* (max-width: 680px) */
.sample-edit #slide-layer, .sample-edit #slide-menu, .sample-edit #hd-ex, .sample-edit #header, .sample-edit #eyecatch, .sample-edit #breadcrumb, .sample-edit .post-meta, .sample-edit #footer-info, .sample-edit #footer, .sample-edit #copyright, .sample-edit .map, .sample-edit .widget, .sample-edit .p-navi, .shopify-edit #slide-layer, .shopify-edit #slide-menu, .shopify-edit #hd-ex, .shopify-edit #header, .shopify-edit #eyecatch, .shopify-edit #breadcrumb, .shopify-edit .post-meta, .shopify-edit #footer-info, .shopify-edit #footer, .shopify-edit #copyright, .shopify-edit .map, .shopify-edit .widget, .shopify-edit .p-navi, .sample #slide-layer, .sample #slide-menu, .sample #hd-ex, .sample #header, .sample #eyecatch, .sample #breadcrumb:first-child, .sample #footer-info, .sample #footer, .sample #copyright, .sample .map, .sample .widget, .sample .p-navi, .sample-fullwidth #slide-layer, .sample-fullwidth #slide-menu, .sample-fullwidth #hd-ex, .sample-fullwidth #header, .sample-fullwidth #eyecatch, .sample-fullwidth #breadcrumb, .sample-fullwidth .post-meta, .sample-fullwidth #footer-info, .sample-fullwidth #footer, .sample-fullwidth #copyright, .sample-fullwidth .map, .sample-fullwidth .widget, .sample-fullwidth .p-navi, .sample-sliderparts #slide-layer, .sample-sliderparts #slide-menu, .sample-sliderparts #hd-ex, .sample-sliderparts #header, .sample-sliderparts #eyecatch, .sample-sliderparts #breadcrumb, .sample-sliderparts .post-meta, .sample-sliderparts #footer-info, .sample-sliderparts #footer, .sample-sliderparts #copyright, .sample-sliderparts .map, .sample-sliderparts .widget, .sample-sliderparts .p-navi {
    display: none !important;
}

/********************
   HTMLコード表示用
********************/
pre.htmlcopy {
    margin: 20px 0;
    border-radius: 4px;
    padding: 0;
    overflow: hidden;
}

pre.htmlcopy input:checked~label::after {
    color: #fff;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: " \f077";
}

pre.htmlcopy code {
    white-space: pre-wrap;
    overflow-wrap: break-word;
    height: 0px;
    padding: 0px;
    overflow: hidden;
    opacity: 0;
    transition: 0.5s;
    display: block;
    background: #2d2d2d;
    color: #f8f8f2;
    font-family: "Consolas", "Monaco", "Courier New", monospace;
    font-size: 14px;
    line-height: 1.6;
}

pre.htmlcopy input:checked~code {
    overflow: auto;
    height: auto;
    padding: 16px 20px;
    opacity: 1;
}

/****************************************
     未分類（案件固有レイアウト）
****************************************/
.col10 #blog {
    width: 67%;
    max-width: 640px;
    margin: 30px auto;
}

.col10 .shopinfo {
    width: 67%;
    max-width: 640px;
    margin: 0 auto;
    padding: 20px 0;
}

@media screen and (max-width: 680px) {
    .col10 .shopinfo {
        width: 100%;
    }
}


/* ================================================================
   以下：design.css から移行したスタイル (2026-03-10 フェーズ1)

   【セクション対応】
   design.css 01 ベーススタイル    -> 05 共通コンポーネント
   design.css 02 投稿パーツ        -> 06 投稿・固定ページ
   design.css 05 メインビジュアル  -> 04 トップページ
   design.css 05 フルワイズ用      -> 05 共通コンポーネント
   design.css 06 その他            -> 07 その他
================================================================ */
/* ********************************************************

  01.ベーススタイル(カスタマイズ)

******************************************************** */
/******************************
     カラムボックス(.colbox)
******************************/
.colbox {
    margin: 0 auto;
    padding: 0;
    display: grid;
    width: 100%;
}

.colbox img {
    display: block;
    width: 100%;
}

.colbox a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    color: var(--color-text-dark);
}

.colbox a:hover {
    text-decoration: none;
}

.main .colbox div h4 {
    text-align: left;
    color: var(--color-text-dark);
    font-weight: bold;
    display: block;
}

.colbox .bn_txt {
    font-size: 0.85em;
    line-height: 1.25;
    margin: 0;
}

.colbox .bn_link {
    margin: 10px 0;
}

.main .colbox .bn_txt h5 {
    margin: 10px 0;
    padding: 0;
    border-bottom: none;
}

.colbox.col1 {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px 20px;
    /** 余白: 縦 横 **/
}

.colbox.col2 {
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr))
        /** minmax(最小幅, 最大幅) **/
    ;
    gap: 20px 20px;
    /** 余白: 縦 横 **/
}

.colbox.col3 {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr))
        /** minmax(最小幅, 最大幅) **/
    ;
    gap: 20px 20px;
    /** 余白: 縦 横 **/
}

.colbox.col4 {
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr))
        /** minmax(最小幅, 最大幅) **/
    ;
    gap: 20px 20px;
    /** 余白: 縦 横 **/
}

/* (max-width: 480px) */
/******************************
     詳細リンク(.more-link)
******************************/
.more-link {
    margin: 0 auto;
    border: none;
    text-align: center;
    padding: 20px 0;
}

.more-link a {
    display: inline-block;
    padding: 10px 35px;
    border: 1px solid var(--color-text-base);
    border-radius: 20px;
    color: var(--color-text-base);
    font-size: 17px;
    font-weight: 600;
    text-decoration: none;
    position: relative;
    z-index: 1;
    line-height: 1.0;
}

.more-link a::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    transition: 0.3s ease all;
    background: var(--color-link);
    z-index: -1;
    border-radius: 20px;
}

.more-link a::after {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    position: absolute;
}

.more-link a:hover {
    color: #fff;
}

.more-link a:hover::before {
    width: 100%;
}

/*タイトル横の詳細リンク*/
.my_widget_header.more-link-head>*:first-child {
    /*h2*/
    display: flex;
    align-items: center;
}

.my_widget_header.more-link-head>* span {
    /*タイトル*/
    text-align: left;
}

.my_widget_header.more-link-head {
    position: relative;
}

.my_widget_header.more-link-head .more-link.top-r {
    padding: 0;
    margin: 0;
    position: absolute;
    right: 0;
    top: 0;
}

/* .post-cat-widget .more-link.top-r,
.post-cat-widget .more-link.top-m {
    display: none;
} */

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

    .my_widget_header.more-link-head .more-link.top-r,
    .my_widget_header.more-link-head .more-link.top-m {
        display: none;
    }

    .post-cat-widget .more-link.top-r,
    .post-cat-widget .more-link.top-m {
        display: block;
    }
}

/******************************
     お問い合わせ(.contact)
******************************/
.contact .contact_in {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border: var(--color-sub) 1px solid;
    background-color: var(--color-white);
    padding: 15px 15px;
    margin: 50px auto;
    max-width: 600px;
}

.contact .contact_in .lead {
    width: 100%;
    font-size: 14px;
    -webkit-box-flex: 3;
    -ms-flex: 3 3 auto;
    flex: 3 3 auto;
    margin: 0 0 10px;
    padding: 0 5px 10px;
    border-bottom: var(--color-sub) 1px dotted;
    line-height: 1.2;
}

.contact_in .telarea .tel a,
.contact_in .mailarea .mail a {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-decoration: none;
}

.contact_in .telarea .tel a::before,
.contact_in .mailarea .mail a::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    padding-right: 4px;
}

.contact_in .telarea .tel a:hover,
.contact_in .mailarea .mail a:hover {
    opacity: 0.8;
}

.contact_in .telarea .tel {
    margin: 0;
    font-size: 190%;
    line-height: 1.0;
}

.contact_in .telarea .tel a {
    color: var(--color-text-dark);
    font-weight: bold;
}

.contact_in .telarea .tel a::before {
    content: "\f3cd";
    font-size: 75%;
}

.contact_in .telarea a[href ^="tel:"]::after {
    content: none;
}

.contact_in .telarea .tel-ex {
    margin: 5px 0 0;
    line-height: 1.4;
    font-size: 80%;
    font-weight: 600;
    text-align: center;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: 0.02rem;
}

.contact_in .mailarea .mail {
    margin: 0;
    font-weight: bold;
    text-align: center;
    font-size: 110%;
}

.contact_in .mailarea .mail a {
    color: #fff;
    background-color: var(--color-sub);
    margin: 0;
    padding: 2px 15px;
    font-size: 85%;
}

.contact_in .mailarea .mail a::before {
    content: "\f0e0";
}

.contact_in .mailarea .mail-ex {
    margin: 5px 0 0;
    line-height: 1.4;
    font-size: 80%;
    font-weight: 600;
    text-align: center;
}

@media screen and (max-width: 480px) {
    .contact .contact_in {
        padding: 15px 20px;
    }

    .contact_in .telarea,
    .contact_in .mailarea {
        margin: 5px 0;
    }
}

/* (max-width: 480px) */
/* サイドバー */
.sidebar .my_widget_header+.contact {
    margin-top: 10px;
}

.sidebar .contact .contact_in .telarea {
    margin: 0 0 5px;
}

.sidebar .contact .contact_in .mailarea {
    margin: 0 0 0;
}

.sidebar .contact_in .mailarea .mail a {
    padding: 7px 15px;
}

/******************************
     会社情報(.shopinfo)
******************************/
/* .entry .shopinfo table th, .entry .shopinfo table td { */
.shopinfo table th,
.shopinfo table td {
    background: transparent;
    border: none;
    border-bottom: 1px solid #eee;
    padding: 1em 0.5em;
    line-height: 1.2;
    vertical-align: top;
}

/* .entry .shopinfo table th { */
.shopinfo table th {
    /*   width: 25%; */
    width: 15%;
    text-align: left;
    white-space: nowrap;
}

.entry .shopinfo table th {
    min-width: 7em;
}

/* サイドバー */
.sidebar .shopinfo h3 {
    padding: 0.8em 7.5px;
    border-bottom: 1px solid var(--color-border-dark);
    border-top: 1px solid var(--color-border-dark);
}

.sidebar .shopinfo table {
    font-size: 100%;
}

/******************************
     グーグルマップ(.map)
******************************/
.map {
    position: relative;
    padding: 30px 0 270px;
    height: 0;
    overflow: hidden;
}

.map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* ********************************************************

  02.投稿パーツ(カスタマイズ)

******************************************************** */
/******************************
     見出し - 小見出し付
******************************/
.entry h1 small,
.entry h2 small,
.entry h3 small,
.entry h4 small,
.entry h5 small,
.entry h6 small {
    font-size: 65%;
    display: inline-block;
    padding-left: 2.5em;
}

.entry h1 small,
.entry h2 small,
.entry h3 small {
    font-size: 70%;
}

/******************************
     本文
******************************/
/* リード文(.lead) */
.entry p.lead {
    text-align: center;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.6;
    max-width: 700px;
    margin: 0 auto 1.5em;
}

/* キャッチコピー(.catch-copy) */
.entry p.catch-copy {
    text-align: center;
    font-weight: bold;
    font-size: 17px;
    line-height: 1.6;
    max-width: 600px;
    margin: 0 auto 1.5em;
}

/* 色付きテーブル見出し(.h_table) */
.h_table {
    background-color: var(--color-border-dark);
}

.h_table td {
    text-align: center;
    border: none;
    font-weight: bold;
    font-size: 110%;
}

/******************************
     インラインテキスト
******************************/
.txt_underline {
    text-decoration: underline;
}

.txt_underlinew {
    text-decoration: underline double;
}

.tex_bluelight {
    background: linear-gradient(transparent 60%, #75b8e780 0%);
}

.tex_yellowlight {
    background: linear-gradient(transparent 60%, #efff0080 0%);
}

.tex_redlight {
    background: linear-gradient(transparent 60%, #fd85bd80 0%);
}

.tex_orangelight {
    background: linear-gradient(transparent 60%, #ffc87f 0%);
}

.italic {}

/******************************
     引用
******************************/
/* 引用 - 背景付(.bq_bk) */
.entry blockquote.bq_bk {
    margin: 2em 0;
    padding: 15px 15px;
    border: none;
    background-color: #fdfdfd;
    position: relative;
    z-index: 1;
}

.entry blockquote.bq_bk p {
    margin: 0;
    line-height: 1.4;
    position: relative;
    z-index: 2;
    font-style: normal;
}

.entry blockquote.bq_bk p strong:first-child {
    padding: 0 0 5px;
}

.entry blockquote.bq_bk p strong {
    background: none;
    padding: 5px 0;
    display: inline-block;
}

@media screen and (max-width: 480px) {
    .entry blockquote.bq_bk {
        padding: 15px;
    }
}

/* アラート(.bq_al) */
.entry blockquote.bq_al {
    margin: 2em 0;
    border: 3px solid #ff0000;
}

/******************************
     リスト
******************************/
/* チェックリスト(.ul_check) */
/* 背景付リスト(.ul_bk)*/
/* 丸番号リスト(.ol_circle) */
.entry .ul_check li {
    list-style-type: none;
    padding: 6px 25px;
    position: relative;
    border-radius: 10px;
    -webkit-border-radius: 10px;
}

.entry .ul_check li:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 10px;
    height: 6px;
    border-left: 4px solid #F17979;
    border-bottom: 4px solid #F17979;
    transform: translateY(-50%) rotate(-45deg);
    -webkit-transform: translateY(-50%) rotate(-45deg);
    -ms-transform: translateY(-50%) rotate(-45deg);
}

.entry .ul_bk {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.entry .ul_bk li {
    background: #efefef;
    margin-right: 4px;
    margin: 0 4px 5px 0;
    text-align: center;
    flex: 1 1 calc(100% / 3 - 4px);
    padding: 15px;
    position: relative;
    list-style-type: none;
}

@media only screen and (max-width: 1010px) {
    .entry .ul_bk li {
        flex: 1 0 100%;
        text-align: left;
        padding-left: 30px;
        margin-bottom: .5em;
    }
}

.entry ol.ol_circle {
    counter-reset: my-counter;
    list-style: none;
    padding: 0;
    margin: 0;
}

.entry ol.ol_circle li {
    font-size: 15px;
    padding-left: 30px;
    position: relative;
    margin-bottom: 15px;
    list-style: none;
}

.entry ol.ol_circle li:before {
    content: counter(my-counter);
    counter-increment: my-counter;
    background-color: #E7B050;
    border-radius: 50%;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 20px;
    width: 20px;
    color: var(--color-white);
    line-height: 2;
    position: absolute;
    top: 6px;
    left: 0;
}

/******************************
     テーブル
******************************/
/* テーブル – ミニテーブル(.table_mini)*/
.entry .table_mini {
    width: 50%;
    margin-bottom: 10px;
}

.entry .table_mini th,
.entry .table_mini td {
    font-size: 12px;
    padding: 10px;
    text-align: left;
    border: 1px solid var(--color-border-light);
    background-color: var(--color-white);
}

.entry .table_mini th {
    width: 45%;
    background-color: var(--color-border-light);
    color: var(--color-text-dark);
    min-width: 80px;
}

.entry .table_mini td {
    width: 55%;
}

.entry .table_ex {
    font-size: 11px;
}

@media screen and (max-width: 680px) {
    .entry .table_mini {
        width: 100%;
    }
}

/* テーブル - 水平スクロール(.table_scroll) */
@media screen and (max-width: 680px) {

    .entry tbody th,
    .entry tbody td {
        padding: 20px 15px;
    }

    .entry th,
    .entry td {
        padding: 20px 15px;
    }

    .entry table.table_scroll {}

    .entry table.table_scroll th,
    .entry table.table_scroll td {
        padding: 10px 10px;
        font-size: 14px;
    }
}

/*テーブル  - 二分割レイアウト(.table_2col) */
.entry .table_2col tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.entry .table_2col tr th,
.entry .table_2col tr td {
    width: calc(50% - 10px);
}

/* (max-width: 680px) */
@media screen and (max-width: 480px) {

    .entry tbody th,
    .entry tbody td {
        padding: 15px 5px;
        font-size: 80%;
        width: auto;
    }

    .entry th,
    .entry td {
        padding: 15px 5px;
        font-size: 80%;
    }

    .entry table.table_scroll {
        display: block;
        overflow-x: auto;
    }

    .entry table.table_scroll th,
    .entry table.table_scroll td {
        width: 700px;
        white-space: nowrap;
    }
}

/* (max-width: 480px) */
/* テーブル – 二分割レイアウト(.table_2col) */
/* テーブル – 線なし(.table_noborder) */
.entry .table_noborder tr,
.entry .table_noborder th,
.entry .table_noborder td {
    border: none;
    background-color: var(--color-white);
    COLOR: var(--color-text-dark);
}

/******************************
     投稿・固定ページスタイル
******************************/
/******************************
     カテゴリースタイル
******************************/
/******************************
     画像
******************************/
/* 画像 – フルワイズ画像(.full-width) */
/******************************
     画像＋文章
******************************/
/* 画像＋文章 */
[class^="imgtxt_"] {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-bottom: 30px;
}

.imgtxt_l .ttl,
.imgtxt_r .ttl {
    padding-bottom: 10px;
    flex-shrink: 0;
    max-width: 80%;
}

.imgtxt_l .txt .subtitle,
.imgtxt_r .txt .subtitle {
    display: block;
    clear: both;
    font-weight: bold;
}

.imgtxt_l .ttl {
    padding-top: 7px;
    padding-right: 15px;
}

.imgtxt_r>div {
    -webkit-box-ordinal-group: 11;
    -ms-flex-order: 10;
    order: 10;
}

.imgtxt_r>div:nth-of-type(2) {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

.imgtxt_r .ttl {
    padding-top: 7px;
    padding-left: 15px;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}

/******************************
     画像＋文章 - フルワイズ
******************************/
[class^="imgtxt_full"]>div {
    -webkit-box-flex: 3;
    -ms-flex: 3 1 55%;
    flex: 3 1 55%;
}

[class^="imgtxt_full"]>div:nth-of-type(2) {
    max-width: 55%;
}

[class^="imgtxt_full"] .ttl {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 40%;
    flex: 1 0 40%;
}

[class^="imgtxt_full"] .ttl:nth-of-type(2) {
    max-width: 100%;
}

[class^="imgtxt_full"] .ttl a {
    display: block;
}

[class^="imgtxt_full"] .ttl img {
    width: 100%;
}

.imgtxt_full_l .ttl {
    margin: 0 -38% 10px 0;
}

.imgtxt_full_l .ttl>a,
.imgtxt_full_l .ttl>img {
    margin: 0.5em 50% 0 -50%;
}

.imgtxt_full_r>div {
    -webkit-box-ordinal-group: 11;
    -ms-flex-order: 10;
    order: 10;
}

.imgtxt_full_r>div:nth-of-type(2) {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

.imgtxt_full_r .ttl {
    margin: 0 0 10px -38%;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}

.imgtxt_full_r .ttl>a,
.imgtxt_full_r .ttl>img {
    margin: 0.5em -50% 0 50%;
}

[class^="imgtxt_full"] .txt {
    z-index: 1;
    /*横並びの画像コンテナーが上に重なり、ビジュアルエディタで選択できなくなるのを避ける*/
}

@media print,
screen and (max-width: 640px) {
    [class^="imgtxt_full"]>div {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
        flex: 1 1 100%;
    }

    [class^="imgtxt_full"]>div:nth-of-type(2) {
        max-width: 100%;
    }

    [class^="imgtxt_full"] .ttl {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
        flex: 1 1 100%;
    }

    [class^="imgtxt_full"] .ttl:nth-of-type(2) {
        max-width: 100%;
    }

    .imgtxt_l .ttl,
    .imgtxt_r .ttl {
        max-width: 45%;
        padding-bottom: 10px;
        -webkit-box-flex: 1;
        -ms-flex: 1 0 45%;
        flex: 1 0 45%;
    }

    .imgtxt_l>div,
    .imgtxt_r>div {
        -webkit-box-flex: 3;
        -ms-flex: 3 0 55%;
        flex: 3 0 55%;
    }

    .imgtxt_full_r .ttl {
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
        order: 0;
    }

    [class^="imgtxt_full"] .ttl {
        margin: 0;
        max-width: 45%;
        padding-top: 7px;
        padding-right: 15px;
    }

    .imgtxt_full_l .ttl>a {
        margin: 0;
    }

    .imgtxt_full_l .ttl img,
    .imgtxt_full_r .ttl img {
        max-height: 300px;
        margin: 0;
        object-fit: cover;
    }
}

/* (max-width: 640px) */
@media screen and (max-width: 480px) {
    [class^="imgtxt_"] {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .imgtxt_r .ttl {
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
        order: 0;
    }

    .imgtxt_l>div,
    .imgtxt_r>div {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
        flex: 1 1 100%;
    }

    .imgtxt_l .ttl,
    .imgtxt_r .ttl {
        padding: 0 0 10px;
        -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
        flex: 1 1 100%;
        max-width: 100%;
    }

    .imgtxt_l .ttl img,
    .imgtxt_r .ttl img {
        width: 100%;
        margin: 0 auto;
    }

    .imgtxt_full_l .ttl,
    .imgtxt_full_r .ttl {
        padding: 0 0 10px;
        /*flex: 1 1 100%;*/
        max-width: 100%;
    }

    .imgtxt_full_l .ttl img,
    .imgtxt_full_r .ttl img {
        max-height: 50vw;
        -o-object-fit: cover;
        object-fit: cover;
    }
}

/* (max-width: 480px) */
/******************************
     パネルリンク
******************************/
.entry div[class*="panel_link"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.entry [class*="panel_link"] img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: "object-fit: cover";
}

.entry div.panel_link2>* {
    width: 50%;
    max-height: 150px;
}

.entry div.panel_link3>* {
    width: 33.3333%;
}

.entry .panel_link3:after {
    content: "";
    display: block;
    width: 33.33333%;
    height: 0;
}

.entry div.panel_link4>* {
    width: 25%;
}

.entry div.panel_link5>* {
    width: 20%;
}

.entry .panel_link5:after {
    content: "";
    display: block;
    width: 20%;
    height: 0;
}

@media screen and (max-width: 680px) {
    .entry div[class*="panel_link"]>* {
        width: 50%;
    }
}

/******************************
     ページ内リンク
******************************/
/* ページ内リンク(.inlink_link) */
.entry ul.inlink_link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

.entry ul.inlink_link li {
    list-style-type: none;
    padding-left: 0;
    margin: 15px 1px;
    background-color: var(--color-white);
    flex: 2 4 250px;
    display: block;
}

.entry ul.inlink_link li a {
    color: var(--color-text-dark);
    text-align: center;
    display: inline-block;
    width: 100%;
    padding: 8px 20px 8px;
    position: relative;
}

.entry ul.inlink_link li a:before {
    position: absolute;
    content: '';
    top: 47%;
    border-top: 5px solid #192c54;
    border-right: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 5px solid transparent;
    width: 0;
    height: 0;
    margin-left: -20px;
}

@media screen and (max-width: 768px) {
    .entry ul.inlink_link {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .entry ul.inlink_link li {
        width: 80%;
        margin: 5px auto;
        flex: 0 0 auto;
    }

    .entry ul.inlink_link li a {
        padding: 10px 10px 3px;
    }
}

/* ページ内リンク(.inlink_link2) */
.entry ul.inlink_link2 {
    text-align: center;
    width: 100%;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: stretch;
    align-items: stretch;
    border: 1px solid var(--color-border-dark);
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.entry ul.inlink_link2 li {
    -webkit-box-flex: 1;
    flex: 1 1 0px;
    list-style-type: none;
    border-right: 1px solid var(--color-border-dark);
    background-color: var(--color-white);
}

.entry ul.inlink_link2 li:last-child {
    border-right: none;
}

.entry ul.inlink_link2 li a {
    text-decoration: none;
    padding: 15px 0.5em;
    line-height: 1.3;
    color: rgb(51, 51, 51);
    height: 100%;
    min-height: 2em;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: flex-start;
    position: relative;
}

.entry ul.inlink_link2 li a:before {
    content: '\f0d7';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    color: var(--color-text-dark);
    right: 10px;
    font-size: 17px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

@media screen and (max-width: 680px) {
    .entry ul.inlink_link2 {
        border: none;
        margin-bottom: 40px;
    }

    .entry ul.inlink_link2:after {
        content: "";
        display: block;
        width: 50%;
        height: 0;
    }

    .entry ul.inlink_link2 li {
        flex: 0 0 auto;
        width: 50%;
        border-bottom: 1px solid var(--color-bg-beige);
    }

    .entry ul.inlink_link2 li:first-child {
        border-top: 1px solid var(--color-bg-beige);
    }

    .entry ul.inlink_link2 li:nth-child(2) {
        border-top: 1px solid var(--color-bg-beige);
    }

    .entry ul.inlink_link2 li:nth-child(odd) {
        border-left: 1px solid var(--color-bg-beige);
    }

    .entry ul.inlink_link2 li:last-child {
        border-right: 1px solid var(--color-bg-beige);
        border-bottom: 1px solid var(--color-bg-beige);
    }
}

/******************************
     説明入パネル
******************************/
.entry .panelex_link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 1em 10px;
}

.entry .panelex_link img {
    display: block;
}

.entry .panelex_link .panelex_link-in {
    position: relative;
    width: 32%;
    margin-right: 2%;
    padding-bottom: 6%;
}

.entry .panelex_link .panelex_link-in:nth-of-type(3n) {
    margin-right: 0;
}

.entry .panelex_link .panelex_link-in .sta {
    position: absolute;
    top: -1em;
    left: 0;
    display: inline-block;
    line-height: 1.4;
    padding: 0.3em 1em;
    background: var(--color-link);
    color: var(--color-white);
    font-size: 0.9em;
    border-radius: 1em;
    z-index: 1;
}

.entry .panelex_link .panelex_link-in .sta>span {
    font-size: 85%;
}

.entry .panelex_link .panelex_link-in .img {
    overflow: hidden;
    background: var(--color-border-dark);
}

.entry .panelex_link .panelex_link-in .img img {
    width: 100%;
}

/*.entry .panelex_link .panelex_link-in .img a:hover img {
    z-index: -1;
    position: relative;
}*/
.entry .panelex_link .panelex_link-in .ttl {
    text-align: center;
    font-weight: bold;
    font-size: 1.15em;
}

.entry .panelex_link .panelex_link-in .ttl>span {
    font-size: 85%;
}

.entry .panelex_link .panelex_link-in .ex {
    font-size: 0.9em;
    line-height: 1.4;
    padding: 0 0.5em;
}

@media screen and (max-width: 680px) {
    .entry .panelex_link .panelex_link-in {
        width: 49%;
    }

    .entry .panelex_link .panelex_link-in:nth-of-type(3n) {
        margin-right: 2%;
    }

    .entry .panelex_link .panelex_link-in:nth-of-type(2n) {
        margin-right: 0;
    }
}

@media screen and (max-width: 480px) {
    .entry .panelex_link .panelex_link-in {
        width: 100%;
        margin-right: 0 !important;
        min-height: 150px;
    }

    .entry .panelex_link .panelex_link-in .img {
        width: 120px;
        height: 120px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .entry .panelex_link .panelex_link-in .img img {
        max-width: initial;
        width: auto;
        height: 120px;
    }

    .entry .panelex_link .panelex_link-in .ttl {
        text-align: left;
        margin: -110px 0 0 auto;
        width: calc(100% - 130px);
    }

    .entry .panelex_link .panelex_link-in .ex {
        margin-left: auto;
        width: calc(100% - 130px);
        padding: 0;
    }
}

/******************************
     価格カード
******************************/
.entry .price_card {
    margin: 40px 0;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.entry .price_card .price_card-in {
    max-width: 300px;
    padding: 40px;
    background: var(--color-white);
    border: 1px solid #666666;
    width: 100%;
    position: relative;
    min-height: 1px;
    margin: 20px 15px;
}

.entry .price_card .ttl {
    font-size: 110%;
    margin: 0 20px;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
}

.entry .price_card .prc {
    padding: 10px 0;
    border-top: .5px solid var(--color-text-base);
    border-bottom: .5px solid var(--color-text-base);
    font-size: 180%;
    font-weight: bold;
    text-align: center;
    margin: 20px auto;
}

.entry .price_card .prc .cu {
    font-size: 50%;
    font-weight: bold;
    vertical-align: 1px;
}

.entry .price_card .ex {
    font-size: 80%;
    line-height: 1.2;
    margin: 10px;
    padding: 0;
}

.entry .price_card .buy {
    padding: 0;
}

.entry .price_card .buy a {
    background-color: var(--color-link);
    color: #fff;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    display: block;
    text-decoration: none;
    padding: 4px 8px;
    text-align: center;
}

@media screen and (max-width: 960px) {
    .entry .price_card .price_card-in {
        padding: 30px 2%;
        margin: 20px 1%;
    }
}

/* ( max-width: 960px) */
@media screen and (max-width: 680px) {
    .entry .price_card {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .entry .price_card .price_card-in {
        max-width: 100%;
        width: 75%;
        padding: 8%;
    }

    .entry .price_card .prc {
        padding: 5px 0;
        margin: 15px auto;
    }

    .entry .price_card .ex {
        margin-bottom: 1.5em;
    }
}

/* ( max-width: 680px) */
@media screen and (max-width: 480px) {
    .entry .price_card .price_card-in {
        max-width: 100%;
        width: 90%;
        padding: 7% 10%;
        margin: 20px auto;
    }
}

/* ( max-width: 480px) */
/******************************
     フロー図
******************************/
/* フロー図(.flow_chart) */
.entry .flow_chart {
    width: 100%;
}

.entry .flow_chart .ttl {
    font-weight: bold;
}

.entry .flow_chart .flow-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    margin: 0;
    padding: 0;
    position: relative;
    /* 縦方向中央揃え（Safari用） */
    /* 縦方向中央揃え */
}

.entry .flow_chart .flow-box:last-of-type {
    margin: 0;
}

.entry .flow_chart .flow-box::before {
    content: '';
    padding: 0;
}

.entry .flow_chart .flow-box:not(:last-of-type)::after {
    left: 40px;
}

.entry .flow_chart .flow-l,
.entry .flow_chart .flow-r {
    position: relative;
    padding: 20px 20px;
}

.entry .flow_chart .flow-l {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 30%;
    flex: 0 0 25%;
    text-align: center;
    max-width: 25%;
    font-weight: bold;
    background-color: var(--color-border-light);
    border: 1px solid var(--color-border-dark);
    color: var(--color-text-dark);
    line-height: 1.2;
}

.entry .flow_chart .flow-r {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
    border: 1px solid var(--color-border-dark);
    background-color: var(--color-white);
    border-left: none;
    line-height: 1.6;
    /* min-height: 80px; */
}

.entry .flow_chart .flow-box:not(:last-of-type)::after {
    content: "\f107";
    font-family: "Font Awesome 5 Free";
    font-size: 400%;
    font-weight: 900;
    line-height: 1.0;
    margin: 10px auto;
    color: var(--color-border);
}

@media print,
screen and (max-width: 680px) {
    .entry .flow_chart .flow-l {
        flex: 0 0 100%;
        max-width: 100%;
        border: 1px solid var(--color-border-dark);
    }

    .entry .flow_chart .flow-r {
        flex: 0 0 100%;
        max-width: 100%;
        border-top: none;
        border-left: 1px solid var(--color-border-dark);
    }
}

/* ( max-width: 680px) */
/* フロー図(.flow_chart2) */
.entry .flow_chart2 {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border: #eee 1px solid;
    background-color: var(--color-white);
    padding: 35px 40px;
    margin: 0;
}

.entry .flow_chart2 .img {
    max-width: 400px;
    width: 30%;
    margin: 5px 25px 0 0;
}

.entry .flow_chart2 .img img {
    width: auto;
}

.entry .flow_chart2 .txt {
    line-height: 1.8;
    width: 70%;
}

.entry .flow_chart2 .txt strong {
    display: block;
    background: none;
    font-size: 120%;
    margin: 0 0 5px 0;
}

@media screen and (max-width: 480px) {
    .entry .flow_chart2 {
        position: relative;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .entry .flow_chart2 .img {
        width: auto;
        margin: 0;
    }

    .entry .flow_chart2 .img img {
        width: 100%;
    }

    .entry .flow_chart2 .txt {
        margin: 0;
    }

    .entry .flow_chart2 .txt strong {
        margin: 15px 0 10px;
    }
}

/* ( max-width: 480px) */
.entry .flow_mark {}

.entry .flow_mark::after {
    display: block;
    content: "\f107";
    font-family: "Font Awesome 5 Free";
    font-size: 400%;
    font-weight: 900;
    line-height: 1.0;
    padding: 15px;
    margin: 0 auto;
    width: 40px;
    color: var(--color-border);
}

@media screen and (max-width: 680px) {
    .entry .flow>p {
        margin: 0 auto;
        width: 100%;
        float: none;
    }

    .entry .flow>p img {
        margin: 0 auto;
    }

    .entry .flow div {
        width: 100%;
        float: none;
    }

    .entry .flow h3 {
        margin: 10px 0 0;
        text-align: center;
    }

    .entry .flow p {
        margin: 10px 0;
    }
}

/* (max-width: 680px) */
/******************************
     イメージボックス(.image_box)
******************************/
.image_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border: #e7e5e4 1px solid;
    background-color: var(--color-white);
    padding: 35px 40px;
    margin-bottom: 20px;
}

.image_box .img {
    min-width: 200px;
    width: 30%;
    margin: 5px 20px 0 0;
}

.image_box .txt strong {
    line-height: 2.0;
    display: block;
    background: none;
    font-size: 120%;
}

.image_box .txt {
    line-height: 1.8;
    width: 70%;
}

@media screen and (max-width: 480px) {
    .image_box {
        position: relative;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .image_box .img {
        width: auto;
        margin: 0;
    }

    .image_box .img img {
        width: 100%;
    }

    .image_box .txt {
        margin: 0;
    }

    .image_box .txt strong {
        margin: 15px 0 10px;
    }
}

/* ( max-width: 480px) */
@media screen and (max-width: 480px) {
    .entry .image-box>p {
        margin: 0 auto;
        width: 100%;
        float: none;
    }

    .entry .image-box>p img {
        margin: 0 auto;
    }

    .entry .image-box div {
        width: 100%;
        float: none;
    }

    .entry .image-box h3 {
        margin: 10px 0 0;
        text-align: center;
    }

    .entry .image-box p {
        margin: 10px 0;
    }
}

/* (max-width: 480px) */
/******************************
     料金プラン
******************************/
.entry .rate_plan {
    width: 100%;
    max-width: 100%;
    margin: 40px auto;
}

.entry .rate_plan table {
    width: 100%;
    max-width: 950px;
    margin: 0 auto;
}

.entry .rate_plan table th {
    padding: 18px 0;
    font-weight: bold;
    background: var(--color-white);
}

.entry .rate_plan th,
.entry .rate_plan td {
    text-align: center;
    vertical-align: middle;
}

.entry .rate_plan .prc {
    padding: 16px 0;
}

.entry .rate_plan .prc td {
    font-size: 180%;
    font-weight: bold;
    padding: 30px 20px;
}

.entry .rate_plan .cu {
    padding: 0 0 0 2px;
    font-size: 60%;
}

.entry .rate_plan .buy {
    padding: 0;
    margin: 20px 0;
}

.entry .rate_plan .buy a {
    display: block;
    background-color: var(--color-link);
    color: var(--color-white);
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    display: block;
    text-decoration: none;
    padding: 10px 8px;
    text-align: center;
    width: 80%;
    margin: 0 auto;
}

@media print,
screen and (max-width: 680px) {
    .entry .rate_plan {
        margin: 0 auto;
        max-width: 100%;
        display: block;
        border-top: 1px solid #dcdcdc;
        border-left: 1px solid #dcdcdc;
    }

    .entry .rate_plan tbody {
        width: 100%;
        display: block;
    }

    .entry .rate_plan tr,
    .entry .rate_plan th,
    .entry .rate_plan td {
        width: 100%;
        display: block;
    }

    .entry .rate_plan th,
    .entry .rate_plan td {
        border: none;
        border-right: 1px solid #dcdcdc;
        border-bottom: 1px solid #dcdcdc;
    }

    .entry .rate_plan tr::after {
        content: '';
        display: block;
        clear: both;
    }

    .entry .rate_plan .ttl th:nth-of-type(n+2) {
        width: 33.3333%;
        float: left;
    }

    .entry .rate_plan td {
        padding: 15px 0;
        width: 33.3333%;
        float: left;
    }

    .entry .rate_plan .prc {
        padding: 0;
    }

    .entry .rate_plan .prc td {
        padding: 30px 0;
    }

    .entry .rate_plan .ttl th,
    .entry .rate_plan .buy th,
    .entry .rate_plan .feature {
        display: none;
    }

    .entry .rate_plan .buy {
        margin: 0;
    }
}

/* ( max-width: 680px) */
/******************************
     Q&A
******************************/
.entry .faq_list {
    width: 100%;
    margin: 0 auto;
    padding: 0;
}

.entry .faq_list .ttl {
    font-size: 1.2em;
    background: rgba(30, 115, 190, 0.1);
    padding: 0.5em 1em;
    margin: 1em auto;
}

.entry .faq_list dl+.ttl {
    margin-top: 2em;
}

.entry .faq_list dl {
    padding: 0;
    margin: 1em auto;
    border-bottom: 1px solid #999;
}

.entry .faq_list dt {
    font-weight: bold;
    position: relative;
    border-bottom: none;
    border-top: 1px solid #999;
    padding: 1.5em 30px 1.5em 55px;
    font-size: 1rem;
}

.entry .faq_list dd+dt {
    margin-top: 0;
}

.entry .faq_list dt::after {
    content: "\f107";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 1.6rem;
    position: absolute;
    right: 8px;
    top: 0;
    bottom: 0;
    margin: auto;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    transition: 0.3s;
}

.entry .faq_list dd {
    padding: 0 0.5em 0 55px;
    position: relative;
    overflow: hidden;
    height: 0;
    transition: 0.3s;
}

.entry .faq_list dt.open {
    padding-bottom: 1.2em;
}

.entry .faq_list dt.open::after {
    opacity: 0;
}

.entry .faq_list dt.open+dd {
    padding: 0 0.5em 1.5em 55px;
    height: auto;
}

.entry .faq_list dt::before,
.entry .faq_list dd::before {
    position: absolute;
    line-height: 1.0;
}

.entry .faq_list dt::before {
    content: "Q";
    color: var(--color-text-dark);
    left: 10px;
    top: 12px;
    font-size: 2.2rem;
}

.entry .faq_list dd::before {
    content: "A";
    color: #999;
    top: -2px;
    left: 19px;
    font-size: 1.8rem;
    font-weight: bold;
}

/******************************
     アコーディオン
******************************/
.p-accordion {
    margin-inline: auto;
}

.p-accordion:not(:first-child) {
    margin-top: 40px;
}

.p-accordion-desc {
    font-size: 15px;
    font-weight: 700;
}

.p-accordion__head {
    cursor: pointer;
    background-color: #26a69a;
    display: block;
    color: white;
    padding: 7px 20px;
    margin-top: 10px;
}

.p-accordion__head-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0;
}

.p-accordion__icon {
    display: block;
    position: relative;
    width: 24px;
    transition: transform 0.25s;
}

.p-accordion__icon:before {
    content: "";
    position: absolute;
    display: block;
    width: 15px;
    height: 2px;
    background-color: var(--color-white);
}

.p-accordion__icon:after {
    content: "";
    position: absolute;
    display: block;
    width: 15px;
    height: 2px;
    background-color: var(--color-white);
}

.p-accordion__icon:before {
    left: 0;
    transform: rotate(45deg);
}

.p-accordion__icon:after {
    right: 0;
    transform: rotate(-45deg);
}

.p-accordion__block.is-opened>.p-accordion__head>.p-accordion__head-inner .p-accordion__icon {
    transform: rotate(-180deg);
}

.p-accordion__head::-webkit-details-marker {
    display: none;
}

.p-accordion__content {
    height: 0;
    overflow: hidden;
    border: 3px solid var(--color-text-dark);
    border-top: none;
}

.p-accordion__main {
    padding: 20px;
}

/******************************
     ポイント説明
******************************/
.entry .point_list {
    margin: 40px 0;
    counter-reset: points;
}

.entry .point_list section {
    padding: 1.6em 0;
    counter-increment: points;
}

.entry .point_list section {
    clear: both;
}

.entry .point_list header {
    position: relative;
    padding: 22px 0 20px 4.5rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--color-text-base);
}

.entry .point_list header::before {
    content: counter(points);
    position: absolute;
    left: .6rem;
    top: -5px;
    font-size: 3.6rem;
    font-weight: bold;
    line-height: 1;
}

.entry .point_list header .ttl {
    border: none;
    font-size: 124%;
    text-align: left;
    width: initial;
    position: relative;
    padding: 0;
    margin: 0;
    line-height: 1.4;
    font-weight: bold;
}

.entry .point_list header .cap {
    color: #aaa;
}

.entry .point_list p:last-child {
    margin-bottom: 0px;
}

/******************************
     手順説明(.process_list)
******************************/
.process_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.process_list h4 {
    margin: 0 0 10px !important;
}

.process_list p {
    line-height: 1.6;
    margin: 0;
}

.process_list img {
    width: 100%;
}

.process_list>div {
    width: calc(33.3333% - 10px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-bottom: 20px;
}

@media screen and (max-width: 680px) {
    .process_list>div {
        width: calc(50% - 10px);
        margin-bottom: 20px;
    }
}

/******************************
     リンクボタン
******************************/
.blk {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.blk a,
.mce-content-body .blk>a[data-mce-selected] {
    display: block;
    padding: 0.5em 2.2em 0.5em 1.2em;
    color: var(--color-white);
    background: var(--color-link);
    line-height: 1.4;
    text-decoration: none;
    -webkit-border-radius: 5px;
    border-radius: 3px;
    position: relative;
}

.blk a::after,
.mce-content-body .blk>a[data-mce-selected]::after {
    font-size: 20px;
    content: "\203a";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1.0;
    height: 1em;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0.6em;
    margin: auto;
}

.blk a {
    margin: 0 0.35em 1em;
}

.blk a:hover {
    opacity: 0.8;
}

.blk-c {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.blk-odd,
.blk-even {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

.blk-odd a,
.blk-even a {
    margin: 0 1% 1em;
    text-align: center;
    padding: 5px 0.5em;
}

.blk-odd a {
    width: 31%;
}

.blk-even a {
    width: 23%;
}

@media screen and (max-width: 680px) {
    .blk-even a {
        width: 48%;
    }
}

/* (max-width: 680px) */
@media screen and (max-width: 480px) {
    .blk-odd a {
        width: 98%;
        margin: 0 auto 1em;
    }
}

/* (max-width: 480px) */
.blk.multi {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

.blk.multi a {
    margin: 0 0.5% 1em;
    text-align: center;
    padding: 5px 0.5em;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 24%;
    flex: 1 1 24%;
    max-width: 24%;
}

@media screen and (max-width: 960px) {
    .blk.multi a {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 32%;
        flex: 1 1 32%;
        max-width: 32%;
    }
}

@media screen and (max-width: 680px) {
    .blk.multi a {
        margin: 0 1% 1em;
        -webkit-box-flex: 1;
        -ms-flex: 1 1 48%;
        flex: 1 1 48%;
        max-width: 48%;
    }
}

@media screen and (max-width: 480px) {
    .blk.multi a {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 98%;
        flex: 1 1 98%;
        max-width: 98%;
        margin: 0 auto 1em;
    }
}

/******************************
     チャットスタイル
******************************/
.entry .chat_left {
    margin: 0 auto 20px;
}

.entry .chat_left .img {
    display: inline-block;
    width: 80px;
    height: 80px;
    position: relative;
}

.entry .chat_left .img img {
    width: 100%;
    height: 100%;
    border-radius: 100%;
}

.entry .chat_left .img .name {
    width: 100%;
    margin: auto;
    font-size: 90%;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: -0.05em;
    text-align: center;
    text-shadow: var(--color-white) 1px 0px, var(--color-white) -1px 0px, var(--color-white) 0px -1px, var(--color-white) 0px 1px, var(--color-white) 1px 1px, var(--color-white) -1px 1px, var(--color-white) 1px -1px, var(--color-white) -1px -1px;
    position: absolute;
    bottom: -0.3em;
}

.entry .chat_left .ex {
    text-indent: 80px;
    margin-top: -2em;
}

@media screen and (max-width: 680px) {
    .entry .chat_left .img {
        width: 70px;
        height: 70px;
    }

    .entry .chat_left .ex {
        text-indent: 70px;
    }
}

/* (max-width: 680px) */
@media screen and (max-width: 480px) {
    .entry .chat_left .img {
        width: 60px;
        height: 60px;
    }

    .entry .chat_left .img .name {
        width: auto;
        font-size: 100%;
        text-align: left;
        top: 0.2em;
        left: calc(60px - 0.8em);
        bottom: auto;
        word-break: keep-all;
    }

    .entry .chat_left .ex {
        text-indent: 60px;
    }
}

/* (max-width: 480px) */
.entry .chat_right {
    margin: 0 auto 20px;
}

.entry .chat_right .img {
    display: inline-block;
    width: 80px;
    height: 80px;
    position: relative;
    float: right;
    margin-top: -2em;
}

.entry .chat_right .img img {
    width: 100%;
    height: 100%;
    border-radius: 100%;
}

.entry .chat_right .img .name {
    width: 100%;
    margin: auto;
    font-size: 90%;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: -0.05em;
    text-align: center;
    text-shadow: var(--color-white) 1px 0px, var(--color-white) -1px 0px, var(--color-white) 0px -1px, var(--color-white) 0px 1px, var(--color-white) 1px 1px, var(--color-white) -1px 1px, var(--color-white) 1px -1px, var(--color-white) -1px -1px;
    position: absolute;
    bottom: -0.3em;
}

.entry .chat_right .ex {
    text-align: right;
}

@media screen and (max-width: 680px) {
    .entry .chat_right .img {
        width: 70px;
        height: 70px;
    }

    .entry .chat_right .ex {
        text-indent: 70px;
    }
}

/* (max-width: 680px) */
@media screen and (max-width: 480px) {
    .entry .chat_right .img {
        width: 60px;
        height: 60px;
    }

    .entry .chat_right .img .name {
        width: auto;
        font-size: 100%;
        text-align: left;
        top: 0.2em;
        right: calc(60px - 0.8em);
        bottom: auto;
        word-break: keep-all;
    }

    .entry .chat_right .ex {
        text-indent: 60px;
    }
}

/* (max-width: 480px) */
/******************************
     お問合せ
******************************/
/* お問い合わせ(.contact) */
/* お問合せ2カラム(.contact_row) */
/* お問合せ3カラム(.contact_row) */
.entry .contact_row {
    margin: 40px 0;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border: 2px solid var(--color-border);
    background-color: var(--color-white);
}

.entry .contact_row .contact_col {
    padding: 5px 3%;
    width: 100%;
    min-height: 1px;
    margin: 10px 0;
    border-right: 1px solid var(--color-border);
}

.entry .contact_row .contact_col:last-child {
    border-width: 0px;
}

.entry .contact_row .ttl {
    font-size: 110%;
    margin: 0;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    margin-bottom: 15px;
    padding-bottom: 15px;
    position: relative;
}

.entry .contact_row .ttl::after {
    content: "";
    height: 1px;
    width: 100%;
    position: absolute;
    border-bottom: 1px solid var(--color-border);
    bottom: 0;
    left: 0;
}

.entry .contact_row .em {
    font-size: 150%;
    margin: 0;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
}

.entry .contact_row .ex {
    font-size: 90%;
    line-height: 1.4;
    margin: 0;
    padding: 0;
    text-align: center;
}

.entry .contact_row .ex p {
    line-height: 1.4;
}

.entry .contact_row .blk {
    margin: 15px 0;
    justify-content: center;
}

.entry .contact_row .blk a {
    padding: 10px 60px;
    margin: 0;
}

@media screen and (max-width: 768px) {
    .entry .contact_row {
        border: none;
        flex-direction: column;
        background-color: transparent;
    }

    .entry .contact_row .contact_col {
        border: 2px solid #dddddd;
        padding: 15px 15%;
        background-color: var(--color-white);
    }

    .entry .contact_row .contact_col:last-child {
        border-width: 2px;
    }
}

/* ( max-width: 768px) */
/******************************
     ラベル
******************************/
/* ラベル(.info_label) */
.info_label ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.info_label ul li {
    list-style: none;
    font-size: 11px;
    font-weight: bold;
    background: var(--color-border-dark);
    padding: 5px 10px;
    color: var(--color-white);
    margin-right: 10px;
}

.info_label ul li:last-child {
    margin-right: 0;
}

.info_label ul li.label_red {
    background: #FE0D0D;
    border-radius: 0;
    padding: 5px 15px;
}

.info_label ul li.label_lightblue {
    background: #0DBCFE;
    border-radius: 0;
    padding: 5px 15px;
}

.info_label ul li.label_blue {
    background: #0D7DFE;
    border-radius: 0;
    padding: 5px 15px;
}

.info_label ul li.label_orange {
    background: #FCB769;
    border-radius: 0;
    padding: 5px 15px;
}

.info_label ul li.label_green {
    background: #37921C;
    border-radius: 0;
    padding: 5px 15px;
}

.info_label ul li.label_round {
    border-radius: 25px;
}

.info_label ul li.label_jas {
    /*JASマーク*/
    background: url(http://ae129ev2x2.smartrelease.jp/wps/wp-content/themes/sw/img/jas.png) no-repeat center center / contain;
    border-radius: 0;
    padding: 0;
    width: 48px;
    height: 28px;
}

@media screen and (max-width: 680px) {
    .info_label ul {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .info_label ul li {
        font-size: 10px;
        margin-bottom: 5px;
    }
}

/* 数値ラベル(num_label) */
.num_label {
    margin-top: 40px;
    width: 100%;
    max-width: 250px;
}

.num_label .row1 {
    width: 33.3333%;
    border-left: 1px solid #aaa;
}

.num_label .row2 {
    width: 33.3333%;
}

.num_label .row3 {
    width: 33.3333%;
}

.num_label dl {
    display: flex;
    flex-wrap: wrap;
    text-align: center;
    font-size: 12px;
    margin: 0px;
    border-bottom: 1px solid #aaa;
}

.num_label dl dt {
    padding: 32px 0px 5px;
    background: var(--color-white);
    color: rgb(0, 0, 0);
    border-top: 1px solid #aaa;
    border-bottom: none;
    border-right: 1px solid #aaa;
    position: relative;
    font-size: 13px;
}

.num_label dl dt:last-child {
    border-right: 1px solid #aaa;
}

.num_label dl dt::before {
    position: absolute;
    content: "";
    background: url("http://ae129ev2x2.smartrelease.jp/wps/wp-content/themes/sw/img/clock.png") center center / cover no-repeat;
    top: 7px;
    left: 50%;
    transform: translateX(-50%);
}

.num_label dl dt.row1::before {
    width: 23px;
    height: 23px;
    background: url("http://ae129ev2x2.smartrelease.jp/wps/wp-content/themes/sw/img/clock.png") center center / cover no-repeat;
}

.num_label dl dt.row2::before {
    top: 11px;
    width: 27px;
    height: 16px;
    background: url("http://ae129ev2x2.smartrelease.jp/wps/wp-content/themes/sw/img/energy.png") center center / cover no-repeat;
}

.num_label dl dt.row3::before {
    width: 27px;
    height: 21px;
    background: url("http://ae129ev2x2.smartrelease.jp/wps/wp-content/themes/sw/img/salt.png") center center / cover no-repeat;
}

.num_label dl dd {
    padding: 3px 0px;
    background: var(--color-white);
    color: rgb(0, 0, 0);
    border-bottom: none;
    border-right: 1px solid #aaa;
    margin: 0px;
    font-size: 15px;
    line-height: 1.2;
}

/* 買い物ガイド(.buy_guide) */
.buy_guide {}

.buy_guide h3 {
    background: none;
    color: var(--color-text-dark);
    margin: 30px 0 15px;
    padding: 10px 0;
    text-align: left;
    border-bottom: 1px solid var(--color-text-dark);
}

.buy_guide .emphasis {
    font-size: 15px;
    font-weight: 600;
}

.buy_guide p {
    font-size: 12px;
    line-height: 1.5;
}

.buy_guide .tel_num {
    font-size: 28px;
    font-weight: bold;
    color: #77082A;
}

/******************************
     カウントダウン
******************************/
#inner {
    width: 600px;
    margin: 0;
}

#countdown {
    font-weight: bold;
    width: 100%;
    color: #ff0000;
    letter-spacing: 3px;
}

.day,
.hou,
.min,
.sec,
.mil {
    /*カウントする数字の大きさ*/
    font-size: 300%;
}

.day {}

.hou {}

.min {}

.sec {}

.mil {}

.moji {
    /*日とか時間とか秒とかの文字の色と大きさ*/
    font-size: 200%;
    color: var(--color-text-base);
}

/* ボタン */
.button {
    color: var(--color-text-base);
    font-weight: bold;
    background-color: #e7e5e4;
    display: inline-block;
    margin: 0 5% 10px;
    min-width: 140px;
    text-decoration: none;
    text-align: center;
}

.button a {
    padding: 7px 5%;
    text-decoration: none;
}

.button a:hover {
    color: var(--color-white);
    background-color: var(--color-sub);
}

/* バナーボタン */
a.banner-btn {
    display: inline-block;
    font-size: 14px;
    letter-spacing: 1px;
    color: var(--color-text-base);
    border: 1px solid var(--color-text-dark);
    min-width: 145px;
    line-height: 1.8;
    text-align: center;
    position: relative;
    margin: 0 auto;
    padding: 5px 35px;
    text-decoration: none;
    z-index: 1;
}

a.banner-btn::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    transition: 0.3s ease all;
    background: var(--color-text-dark);
    z-index: -1;
}

a.banner-btn.angle-down::after {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-top: 1px solid var(--color-text-dark);
    border-right: 1px solid var(--color-text-dark);
    position: absolute;
    top: 50%;
    margin-top: -5px;
    right: 15px;
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
}

a.banner-btn:hover {
    color: var(--color-white);
}

a.banner-btn:hover::before {
    width: 100%;
}

a.banner-btn:hover::after {
    border-color: var(--color-white);
}

/* フルワイズ画像 */
.col10 .full-width,
.colfull .full-width {
    margin-bottom: 1em;
}

.col10 .full-width,
.colfull .full-width {
    margin-left: calc(((100vw - 100%) / 2) * -1) !important;
    margin-right: calc(((100vw - 100%) / 2) * -1) !important;
    margin-bottom: 1em;
    max-height: 250px;
    overflow: hidden;
    box-sizing: content-box;
}

.col10 .full-width img,
.colfull .full-width img {
    width: 100%;
}

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

    .col10 .full-width img,
    .colfull .full-width img {
        height: 150px;
        object-fit: cover;
    }
}

/* (max-width: 1200px) */
@media screen and (max-width: 680px) {

    .col10 .full-width img,
    .colfull .full-width img {
        height: 180px;
    }
}

/* (max-width: 680px) */
/* ********************************************************

  05.メインビジュアル用パーツ

******************************************************** */
.custom-eyecatch .metaslider .caption-wrap {
    background: transparent;
    opacity: unset;
    height: 100%;
    width: 100%;
}

.custom-eyecatch .metaslider .caption {
    height: 100%;
    width: 100%;
    display: flex;
    padding: 0;
    margin: 0;
}

.custom-eyecatch #eyecatch-movie .caption,
.custom-eyecatch #eyecatch-slider-wrapper .caption {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    display: flex;
    padding: 0;
    margin: 0;
}

.custom-eyecatch .eyecatch-content {
    padding: 30px 60px;
}

.custom-eyecatch .eyecatch-content>* {
    margin-bottom: 15px;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
}

.custom-eyecatch .caption-catchphrase {
    font-size: 4em;
    line-height: 120%;
}

.custom-eyecatch .caption-description {
    line-height: 150%;
}

.custom-eyecatch .caption-button {
    border: 2px solid var(--color-white);
    color: var(--color-white);
    display: inline-block;
    border-radius: 50px;
    -webkit-border-radius: 50px;
    padding: 0.5em 3em 0.5em 2em;
    position: relative;
}

.custom-eyecatch .caption-button.caption-button-dark {
    border: 0;
    background-color: #404040 !important;
    color: var(--color-white) !important;
}

.custom-eyecatch .caption-button.caption-button-light {
    border: 0;
    background-color: var(--color-bg-light) !important;
    color: #020202 !important;
}

.custom-eyecatch .caption-button::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f105";
    position: absolute;
    right: 1em;
}

.custom-eyecatch .caption-news {
    background-color: rgba(0, 0, 0, 0.5);
    padding: 0.2em 1em;
}

.custom-eyecatch .caption-news em {
    margin-right: 2em;
    font-style: normal;
}

.custom-eyecatch .metaslider .flexslider .slides p {
    margin-bottom: 15px;
}

.caption-lt .caption {
    /*左上*/
    align-items: flex-start;
    justify-content: flex-start;
}

.caption-lc .caption {
    /*左中央*/
    align-items: center;
    justify-content: flex-start;
}

.caption-lb .caption {
    /*左下*/
    align-items: flex-end;
    justify-content: flex-start;
}

.caption-cc .caption {
    /*中央寄せ*/
    align-items: center;
    justify-content: center;
}

.caption-rt .caption {
    /*右上*/
    align-items: flex-start;
    justify-content: flex-end;
}

.caption-rc .caption {
    /*右中央*/
    align-items: center;
    justify-content: flex-end;
}

.caption-rb .caption {
    /*右下*/
    align-items: flex-end;
    justify-content: flex-end;
}

.custom-eyecatch.txt-l .eyecatch-content,
.custom-eyecatch .eyecatch-content *.txt-l {
    text-align: left;
}

.custom-eyecatch.txt-c .eyecatch-content,
#eyecatch .eyecatch-content *.txt-c {
    text-align: center;
}

.custom-eyecatch.txt-r .eyecatch-content,
#eyecatch .eyecatch-content *.txt-r {
    text-align: right;
}

.custom-eyecatch .eyecatch-content.txt-bg-dark {
    background-color: rgba(0, 0, 0, 0.8);
}

.custom-eyecatch .eyecatch-content.txt-bg-dark * {
    color: var(--color-white);
}

.custom-eyecatch .eyecatch-content.txt-bg-dark .caption-button {
    background-color: var(--color-bg-light);
    color: #020202;
}

.custom-eyecatch .eyecatch-content.txt-bg-light {
    background-color: rgba(255, 255, 255, 0.8);
}

.custom-eyecatch .eyecatch-content.txt-bg-light *:not(.caption-button) {
    color: #020202;
}

.custom-eyecatch #eyecatch-in {
    position: relative;
}

.custom-eyecatch .eyecatch-scroll {
    position: absolute;
}

.custom-eyecatch .eyecatch-scroll a {
    color: var(--color-white);
    display: block;
    position: relative;
}

.custom-eyecatch .eyecatch-scroll a:hover,
.custom-eyecatch .eyecatch-scroll a:visited,
.custom-eyecatch .eyecatch-scroll a:active {
    color: var(--color-white);
    text-decoration: none;
}

.custom-eyecatch .eyecatch-scroll a:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    width: 100%;
}

.eyecatch-scroll.scroll-lower {
    bottom: 1.5em;
    margin: auto;
    right: 0;
    left: 0;
    width: 60px;
    text-align: center;
}

.eyecatch-scroll.scroll-lower a:after {
    content: "\f078";
    top: 20px;
    left: 0;
}

.eyecatch-scroll.scroll-leftside {
    bottom: 50px;
    left: 15px;
    transform: rotate(90deg);
}

.eyecatch-scroll.scroll-leftside a:after {
    content: "";
    bottom: 0;
    left: 0;
    width: 86px;
    border-top: 1px solid var(--color-white);
}

.eyecatch-scroll.scroll-rightside {
    bottom: 50px;
    right: 15px;
    transform: rotate(90deg);
}

.eyecatch-scroll.scroll-rightside a:after {
    content: "";
    top: 0;
    left: 0;
    width: 86px;
    border-bottom: 1px solid var(--color-white);
}

@media screen and (max-width: 680px) {
    .custom-eyecatch .caption-catchphrase {
        font-size: 2em;
    }

    .custom-eyecatch .eyecatch-content {
        padding: 15px;
    }

    .custom-eyecatch .eyecatch-content>* {
        margin-bottom: 10px;
    }
}

/* (max-width: 680px) */
/*サンプルページ用*/
.custom-eyecatch.sample-scroll-bg {
    position: relative;
    background-color: #d0d0d0;
    height: 100px;
}

/* ********************************************************

  05.フルワイズ用パーツ

******************************************************** */
/*チームメンバー*/
.entry .team_member p {
    margin: 0;
}

.widget-full-width .team_member,
.full-width-container .team_member {
    padding-right: 18px;
    padding-left: 18px;
    justify-content: center;
    max-width: 1600px;
    margin: 0 auto;
}

.widget-full-width .team_member .team_member-in,
.full-width-container .team_member .team_member-in {
    width: auto;
    max-width: 300px;
    margin-right: 1% !important;
    margin-left: 1%;
}

.team_member.col3 .team_member-in {
    width: 31%;
}

.team_member.col4 .team_member-in {
    width: 23%;
}

@media screen and (max-width: 768px) {
    .team_member.col4 .team_member-in {
        width: 55%;
    }
}

@media screen and (max-width: 680px) {
    .team_member.col3 .team_member-in {
        width: 55%;
    }
}

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

    .team_member.col3 .team_member-in,
    .team_member.col4 .team_member-in {
        width: 100%;
        max-width: none;
    }
}

/*肩書説明入パネル*/
.col-no-margin .entry .panelex_link {
    padding-right: 0;
    padding-left: 0;
    justify-content: space-around;
}

@media screen and (min-width: 681px) {
    .col-no-margin .entry .panelex_link.col4 .panelex_link-in {
        width: 23%;
        margin-right: 0;
    }
}

/*パネル型リンク*/
.full-stretch-panel {
    display: flex;
    max-width: 1600px;
    margin: 0 auto;
}

.stretch-panel {
    width: 100%;
}

.stretch-panel a {
    position: relative;
    display: block;
    color: var(--color-text-dark);
}

.stretch-panel.img-cover-like a {
    min-height: 250px;
    overflow: hidden;
}

.stretch-panel a:hover {
    opacity: 0.8;
}

.stretch-panel.img-cover-like img {
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    max-width: inherit;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.stretch-panel .panel-ttl {
    font-size: 160%;
    font-weight: bold;
    line-height: 150%;
    letter-spacing: 0.25em;
}

.stretch-panel .panel-txt {
    position: relative;
}

.stretch-panel .panel-txt::after {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    line-height: 225%;
    top: 0;
    right: -20px;
}

.stretch-panel .panel-ttl,
.stretch-panel .panel-txt {
    position: absolute;
    left: 10%;
}

.stretch-panel .panel-ttl {
    top: 30px;
}

.stretch-panel .panel-txt {
    top: 80px;
}

/*画像＋ショートディスクリプションのパネル型リンク*/
.full-stretch-panel.panel-with-box .stretch-panel {
    padding-bottom: 100px;
    margin-bottom: 1em;
}

.stretch-panel img {
    width: 100%;
}

.stretch-panel p {
    margin-bottom: 0;
}

.panel-with-box .stretch-panel .stretch-panel-txtarea {
    position: absolute;
    background-color: var(--color-white);
    min-height: 220px;
    margin: 0 10%;
    left: 0;
    right: 0;
    bottom: -100px;
    border: 1px solid #efefef;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px 10%;
}

.stretch-panel .stretch-panel-ttl {
    font-size: 130%;
    font-weight: bold;
    border-bottom: 1px solid var(--color-border);
    line-height: 150%;
    padding-bottom: 15px;
    margin-bottom: 15px;
}

@media screen and (max-width: 680px) {
    .full-stretch-panel {
        flex-direction: column;
        padding-bottom: 0;
        margin-bottom: 0;
    }
}

/* (max-width: 680px) */
/*画像＋重ね文章とリンク*/
.imgtxt-overwrap {
    position: relative;
    max-width: 1600px;
    margin: 0 auto 80px;
    padding-top: 1px;
}

.imgtxt-overwrap .img-box {
    position: absolute;
    z-index: -10;
    width: 100%;
}

.imgtxt-overwrap .img-box img {
    max-width: 70%;
    vertical-align: top;
}

.imgtxt-overwrap.img-r .img-box {
    text-align: right;
}

.imgtxt-overwrap.img-l .img-box {
    text-align: left;
}

.imgtxt-overwrap .txt-box {
    max-width: 700px;
}

.imgtxt-overwrap .txt-box.txt-white {
    color: var(--color-white);
}

.imgtxt-overwrap.img-l .txt-box {
    text-align: right;
}

.imgtxt-overwrap.img-r .txt-box {
    text-align: left;
}

.imgtxt-overwrap.img-l .txt-box {
    margin: 30px 30px 0 auto;
}

.imgtxt-overwrap.img-r .txt-box {
    margin: 30px auto 0 30px;
}

.imgtxt-overwrap.overwrap-basic .txt-box {
    margin-top: 0;
    padding-top: 1px;
}

.imgtxt-overwrap .imgtxt-ttl {
    font-size: 220%;
    margin-top: 1em;
    line-height: 125%;
}

.imgtxt-overwrap .imgtxt-ttl.txt-smaller {
    font-size: 180%;
}

.imgtxt-overwrap .imgtxt-txt {
    margin: 1em 0;
}

.imgtxt-overwrap.img-r .blk {
    justify-content: flex-start;
}

.imgtxt-overwrap .blk {
    margin-top: 3em;
}

.imgtxt-overwrap .blk a {
    margin: 0;
    padding: 1em 6em;
}

@media screen and (min-width: 1060px) {
    .imgtxt-overwrap.overwrap-basic .txt-box {
        padding-bottom: 15px;
    }
}

@media screen and (max-width: 768px) {
    .imgtxt-overwrap.overwrap-basic .img-box {
        position: relative;
    }

    .imgtxt-overwrap.overwrap-basic .img-box img {
        max-width: 100%;
    }

    .imgtxt-overwrap .imgtxt-ttl {
        font-size: 180%;
    }

    .imgtxt-overwrap.overwrap-basic .txt-box {
        padding: 0;
    }

    .imgtxt-overwrap .blk {
        margin-top: 2em;
    }
}

/* (max-width: 768px) */
@media screen and (max-width: 680px) {
    .imgtxt-overwrap .img-box img {
        width: 100%;
        max-width: 100%;
    }

    .imgtxt-overwrap .imgtxt-ttl {
        margin-bottom: 0;
    }

    .imgtxt-overwrap .blk {
        margin-top: 0;
    }

    .imgtxt-overwrap .imgtxt-txt {
        margin: 0;
        padding: 1em 0;
        position: relative;
    }

    .imgtxt-overwrap .img-box {
        /*padding: 0 1em;*/
    }

    .imgtxt-overwrap .txt-box {
        margin: 0;
        padding: 1em;
        position: relative;
    }
}

/* (max-width: 680px) */
/*画像＋重ねボックス（画像右）*/
.imgtxt-overwrap.overwrap-box {
    padding-top: 1px;
}

.imgtxt-overwrap.overwrap-box .txt-box {
    box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, .3);
    /*margin: 30px 30px 0;*/
    /*padding: 1px 3% 15px;*/
    padding: 5% 3%;
    background-color: #ffffffc9;
    max-width: 500px;
    width: 47%;
    position: relative;
    display: inline-block;
    margin: 0;
    bottom: -15%;
    left: 50%;
}

/*.imgtxt-overwrap.overwrap-box.img-l{
    text-align: right;
}*/
.imgtxt-overwrap.overwrap-box.img-l .txt-box {
    /*   transform: translateY(0%) translateX(0%);
    -webkit-transform: translateY(0%) translateX(0%);
    -ms-transform: translateY(0%) translateX(0%);*/
}

.imgtxt-overwrap.overwrap-box.img-r .txt-box {
    /*text-align: right;*/
    transform: translateY(0%) translateX(-100%);
    -webkit-transform: translateY(0%) translateX(-100%);
    -ms-transform: translateY(0%) translateX(-100%);
}

.imgtxt-overwrap .txt-box.txt-centering {
    text-align: center;
}

@media screen and (max-width: 960px) {
    .imgtxt-overwrap.overwrap-box .txt-box {
        padding: 3% 3%;
        bottom: -5%;
    }
}

/* (max-width: 960px) */
@media screen and (max-width: 768px) {
    .imgtxt-overwrap.overwrap-box .img-box {
        padding: 0;
        position: relative;
    }

    .imgtxt-overwrap.overwrap-box .img-box img {
        max-width: 100%;
    }

    .imgtxt-overwrap.overwrap-box .txt-box {
        /*position: relative;*/
        bottom: auto;
        left: auto;
        background-color: transparent;
        box-shadow: none;
        margin: 0;
        padding: 0 30px 30px;
        max-width: 100%;
        width: 100%;
    }

    .imgtxt-overwrap.overwrap-box.img-r .txt-box {
        transform: translateY(0%) translateX(0%);
        -webkit-transform: translateY(0%) translateX(0%);
        -ms-transform: translateY(0%) translateX(0%);
    }
}

/* (max-width: 768px) */
/*フルワイズ画像＋重ね文章と画像*/
.imgtxt-overwrap.img-full {
    height: 600px;
    position: relative;
}

.imgtxt-overwrap.img-full .img-box {
    height: 100%;
    position: relative;
    overflow: hidden;
}

.imgtxt-overwrap.img-full .img-box img {
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    max-width: inherit;
    max-height: none;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.imgtxt-overwrap.img-full .txt-box {
    position: absolute;
    top: 50%;
    padding: 0 30px 30px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.imgtxt-overwrap.txt-l .txt-box {
    left: 0;
    right: auto;
}

.imgtxt-overwrap.txt-r .txt-box {
    left: auto;
    right: 0;
}

.imgtxt-overwrap .img-list {
    margin: 0;
    padding: 0;
    display: flex;
}

.imgtxt-overwrap .txt-centering .img-list {
    justify-content: center;
}

.imgtxt-overwrap .img-list li {
    list-style: none;
}

.imgtxt-overwrap .img-list li:first-child {
    padding-left: 0;
}

.imgtxt-overwrap .img-list img {
    vertical-align: bottom;
}

@media screen and (min-width: 769px) {
    .imgtxt-overwrap.img-full .txt-box {
        position: absolute;
    }
}

@media screen and (max-width: 680px) {
    .imgtxt-overwrap.img-full .txt-box>* {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    .imgtxt-overwrap.img-full,
    .imgtxt-overwrap.img-full .img-box {
        height: auto;
        padding: 0;
    }

    .imgtxt-overwrap.img-full .img-box img {
        position: relative;
        width: 100%;
        min-height: auto;
        transform: unset;
        -webkit-transform: unset;
        -ms-transform: unset;
        left: auto;
    }

    .imgtxt-overwrap.img-full .imgtxt-txt {
        padding: 1em 0;
    }

    .imgtxt-overwrap.img-full .txt-box {
        transform: unset;
        -webkit-transform: unset;
        -ms-transform: unset;
        position: relative;
        top: auto;
        left: auto;
        bottom: auto;
        margin: 0;
        padding: 0 30px;
        width: auto;
    }
}

/* (max-width: 680px) */
/* ********************************************************

  06.その他

******************************************************** */
/* ---- base.css から移行: サイドリンク・ローディング・動画 (2026-03-15) ---- */
/****************************************
     サイドリンク(#side-lk)
****************************************/
#side-lk {
    max-width: 150px;
    position: fixed;
    right: 0;
    bottom: 82px;
    z-index: 9999;
}

#side-lk .colbox {
    display: block;
    font-size: 12px;
    line-height: 1;
}

#side-lk .colbox div {
    margin: 10px 0;
}

#side-lk .colbox div img, #side-lk .colbox p img {
    width: auto;
    margin: 0;
}

@media screen and (max-width: 1365px) {
    #side-lk {
        display: none;
    }
}

/* ローディング画面 */
#loading {
    width: 100vw;
    height: 100vh;
    transition: all 1s;
    position: fixed;
    z-index: 10000;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
}

#loading.loaded {
    opacity: 0;
    /*   display: none; */
    visibility: hidden;
}

/****************************************
     動画埋め込み
****************************************/
.embed-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
    margin-top: 20px;
    margin-bottom: 20px;
}

.embed-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/****************************************
     動画モーダル表示
****************************************/
.video-container {
    text-align: center;
}

.video-container a {
    display: inline-block;
    position: relative;
}

.video-container img.video-thumbnail {
    max-width: 100%;
}

.video-container a::before {
    /*background: url(../sw/img/video_play.png) center center / 64px 64px no-repeat;*/
    content: url(../sw/img/video_play.png);
    display: block;
    width: 64px;
    height: 64px;
    margin: -32px auto 0;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    z-index: 1;
}

.video-container a:hover::before {
    opacity: 0.8;
}

.slick-prev:before,
.slick-next:before {
    color: var(--color-border-dark) !important;
}

/* ウィジェット内スライダーの矢印をコンテナ内に配置 */
/* #103, #301: slick-listにパディングで矢印スペース確保 */
.widget_my_widget103 .slick-list,
.widget_my_widget301 .slick-list { padding: 0 25px !important; }
.widget_my_widget103 .slick-prev,
.widget_my_widget301 .slick-prev { left: 0; z-index: 1; }
.widget_my_widget103 .slick-next,
.widget_my_widget301 .slick-next { right: 0; z-index: 1; }
/* #102: 既存のmargin: 0 25pxで矢印スペース確保済み */

/* ============================================================
   08. テーマカラー適用（旧 customizer_color() からの移管）
   2026-03-18: カスタマイザーのインラインCSS出力を廃止し、
   custom.css のCSS変数で一元管理するために移管。
   既に custom.css 内で個別に定義済みのセレクタは省略。
============================================================ */
/* サイドバー問い合わせ */
.contact_sb .mail a {
    background: var(--color-primary);
    color: var(--color-primary-text);
}

/* 記事内詳細リンク */
.entry .detail a {
    background: var(--color-primary);
    color: var(--color-primary-text);
}

/* 編集リンク・ページトップ */
.edit a,
#page-top a {
    color: var(--color-primary-text);
    background-color: var(--color-primary);
}

/* カテゴリバッジ（投稿リスト） */
.widget_my_widget102 .categories .cate {
    background: var(--color-sub);
    color: var(--color-sub-text);
}

/* バナーウィジェット見出し */
.entry .widget_my_widget301 h4 {
    color: var(--color-primary);
}
/* ============================================================
   08. Gutenberg Block Styles (2026-03-20)
   ブロックエディターで作成したコンテンツのフロント表示用
   .entry 内のブロックにスタイルを適用
============================================================ */

/* ---- 幅広・全幅ブロック（align-wide サポート） ---- */
.entry .alignwide {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

.entry .alignfull {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}

/* 2カラムレイアウト（.col7_3）では alignfull が破綻する可能性があるため、
   alignwide にフォールバックする */
.col7_3 .main .entry .alignfull {
    width: auto;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

/* ---- カラムブロック ---- */
.entry .wp-block-columns {
    display: flex;
    gap: 2em;
    margin: 2em 0;
    width: 100%;
}

.entry .wp-block-column {
    flex: 1;
    min-width: 0;
}

/* スマホでは縦積み */
@media screen and (max-width: 782px) {
    .entry .wp-block-columns {
        flex-direction: column;
        gap: 1em;
    }
}

/* ---- ボタンブロック ---- */
.entry .wp-block-button {
    margin: 1.5em 0;
}

.entry .wp-block-button__link {
    background-color: var(--color-primary);
    color: var(--color-primary-text);
    padding: 12px 24px;
    border-radius: 4px;
    text-decoration: none;
    display: inline-block;
    transition: background-color 0.3s ease;
}

.entry .wp-block-button__link:hover {
    background-color: var(--color-link);
    color: var(--color-white);
}

/* アウトラインボタン */
.entry .wp-block-button.is-style-outline .wp-block-button__link {
    background-color: transparent;
    border: 2px solid var(--color-primary);
    color: var(--color-primary);
}

.entry .wp-block-button.is-style-outline .wp-block-button__link:hover {
    background-color: var(--color-primary);
    color: var(--color-primary-text);
}

/* ---- 画像ブロック ---- */
.entry .wp-block-image {
    margin: 2em 0;
}

.entry .wp-block-image img {
    max-width: 100%;
    height: auto;
}

.entry .wp-block-image figcaption {
    font-size: 0.9em;
    color: var(--color-text-medium);
    margin-top: 0.5em;
    text-align: center;
}

/* 角丸スタイル */
.entry .wp-block-image.is-style-rounded img {
    border-radius: 8px;
}

/* ---- グループブロック ---- */
.entry .wp-block-group {
    margin: 2em 0;
    padding: 2em;
}

.entry .wp-block-group.has-background {
    padding: 2em;
}

/* ---- カバーブロック ---- */
.entry .wp-block-cover {
    margin: 2em 0;
    min-height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.entry .wp-block-cover__inner-container {
    width: 100%;
    z-index: 1;
    color: var(--color-white);
}

/* ---- 区切り線ブロック ---- */
.entry .wp-block-separator {
    border: none;
    border-top: 2px solid var(--color-border);
    margin: 3em auto;
}

.entry .wp-block-separator.is-style-wide {
    border-top-width: 2px;
}

.entry .wp-block-separator.is-style-dots {
    border: none;
    text-align: center;
}

.entry .wp-block-separator.is-style-dots::before {
    content: '···';
    color: var(--color-border);
    font-size: 2em;
    letter-spacing: 1em;
    padding-left: 1em;
}

/* ---- スペーサーブロック ---- */
.entry .wp-block-spacer {
    clear: both;
}

/* ---- ギャラリーブロック（既存の .gallery との整合性） ---- */
.entry .wp-block-gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    list-style: none;
    padding: 0;
    margin: 2em 0;
}

.entry .wp-block-gallery .wp-block-image {
    margin: 0;
    flex: 1 1 calc(33.333% - 1em);
}

.entry .wp-block-gallery.columns-2 .wp-block-image {
    flex-basis: calc(50% - 0.5em);
}

.entry .wp-block-gallery.columns-4 .wp-block-image {
    flex-basis: calc(25% - 0.75em);
}

@media screen and (max-width: 782px) {
    .entry .wp-block-gallery .wp-block-image {
        flex-basis: 100%;
    }
}

/* ---- 埋め込みブロック（レスポンシブ対応） ---- */
.entry .wp-block-embed {
    margin: 2em 0;
}

.entry .wp-block-embed__wrapper {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    overflow: hidden;
}

.entry .wp-block-embed__wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* ---- テーブルブロック（既存の .entry table との統合） ---- */
.entry .wp-block-table {
    margin: 2em 0;
}

.entry .wp-block-table table {
    width: 100%;
    border-collapse: collapse;
}

.entry .wp-block-table th,
.entry .wp-block-table td {
    border: 1px solid var(--color-border);
    padding: 10px;
}

.entry .wp-block-table th {
    background-color: var(--color-bg-light);
    font-weight: bold;
}

/* ストライプスタイル */
.entry .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
    background-color: var(--color-bg-light);
}

/* ---- 引用ブロック（既存の blockquote スタイルを継承） ---- */
.entry .wp-block-quote {
    color: var(--color-text-dark);
    margin: 2em 0;
    padding: 15px 15px;
    border: 1px solid var(--color-text-dark);
    position: relative;
}

.entry .wp-block-quote p {
    margin: 0;
    line-height: 1.4;
}

.entry .wp-block-quote cite {
    display: block;
    margin-top: 1em;
    font-size: 0.9em;
    color: var(--color-text-medium);
}

/* ---- プルクォート ---- */
.entry .wp-block-pullquote {
    margin: 2em 0;
    padding: 2em;
    border-top: 4px solid var(--color-text-dark);
    border-bottom: 4px solid var(--color-text-dark);
    text-align: center;
}

.entry .wp-block-pullquote blockquote {
    border: none;
    padding: 0;
}

.entry .wp-block-pullquote p {
    font-size: 1.5em;
    line-height: 1.6;
}

.entry .wp-block-pullquote cite {
    display: block;
    margin-top: 1em;
    font-size: 0.9em;
    color: var(--color-text-medium);
}

/******************************
     HTML改善対応CSS（2026-03-23）
     - div→section wrapper
     - small→time/p
     - table→dl（cf_table, shopinfo, recruit）
     - clearFix→flexbox
     - h4→h3（バナー）
     - contact_in統合
******************************/

/* post-template-basic: カード型横並びレイアウト */
.post-template-basic {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    list-style: none;
    padding: 0;
}

/* 投稿カード: 横並びで均等幅、画像サイズ統一 */
.post-template-basic > .post_wrap {
    flex: 1 1 calc(50% - 20px);
    max-width: calc(50% - 10px);
    box-sizing: border-box;
    overflow: hidden;
}

/* 1カラム・フルワイズでは3列 */
.col10 .post-template-basic > .post_wrap,
.colfull .post-template-basic > .post_wrap {
    flex: 1 1 calc(33.333% - 20px);
    max-width: calc(33.333% - 14px);
}

/* サイドバーでは1列 */
.sidebar .post-template-basic > .post_wrap {
    flex: 1 1 100%;
    max-width: 100%;
}

/* アイキャッチ画像: アスペクト比統一、object-fitで切り抜き */
.post-template-basic .large_post_thumb {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    margin-bottom: 0.75em;
}
.post-template-basic .large_post_thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* 小サムネイル: 正方形に統一 */
.post-template-basic .post_thumb {
    width: 80px;
    height: 80px;
    overflow: hidden;
    flex-shrink: 0;
}
.post-template-basic .post_thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* スライダーモード時はflex幅制御を無効化（Slickが管理） */
.post-list-slider > .post_wrap,
.slick-slider .post_wrap {
    flex: none;
    max-width: none;
}

@media screen and (max-width: 680px) {
    .post-template-basic > .post_wrap,
    .col10 .post-template-basic > .post_wrap,
    .colfull .post-template-basic > .post_wrap {
        flex: 1 1 100%;
        max-width: 100%;
    }
}

/* time.post_date: small.post_dateと同じ見た目を維持 */
time.post_date {
    font-size: inherit;
    display: inline;
}

/* p.post_excerpt: small.post_excerptと同じ見た目を維持 */
.post_wrap p.post_excerpt {
    font-size: inherit;
    margin: 0;
}

/* post_wrap__link: aタグのスコープ変更対応 */
.post_wrap__link {
    display: block;
    text-decoration: none;
    color: inherit;
}

/* dl.cf_list: table.cf_tableと同じ見た目を維持 */
.cf_list {
    margin-bottom: 1em;
}
.cf_list .cf_item {
    display: flex;
    border-bottom: 1px solid #eee;
}
.cf_list .cf_ttl {
    padding: 10px;
    font-size: 85%;
    font-weight: bold;
    width: 30%;
    flex-shrink: 0;
}
.cf_list .cf_txt {
    padding: 10px;
    font-size: 85%;
    margin: 0;
}

/* dl.recruit_list: table.recruit_tableと同じ見た目を維持 */
.recruit_list {
    margin-bottom: 1em;
}
.recruit_list .recruit_item {
    display: flex;
    border-bottom: 1px solid #eee;
}
.recruit_list .recruit_item dt {
    padding: 10px;
    font-size: 85%;
    font-weight: bold;
    width: 30%;
    flex-shrink: 0;
}
.recruit_list .recruit_item dd {
    padding: 10px;
    font-size: 85%;
    margin: 0;
}

/* shopinfo__list: shopinfo tableと同じ見た目を維持 */
.shopinfo__list {
    margin: 0;
}
.shopinfo__item {
    display: flex;
    border-bottom: 1px solid #eee;
}
.shopinfo__item dt {
    background: transparent;
    border: none;
    padding: 1em 0.5em;
    line-height: 1.2;
    vertical-align: top;
    width: 15%;
    text-align: left;
    white-space: nowrap;
    font-weight: normal;
    min-width: 5em;
    flex-shrink: 0;
}
.shopinfo__item dd {
    background: transparent;
    border: none;
    padding: 1em 0.5em;
    line-height: 1.2;
    margin: 0;
}

/* sidebar shopinfo__list */
.sidebar .shopinfo__list {
    font-size: 100%;
}

/* contact: contact_in統合対応
   .contact_inが除去されたため、.contact直下に同等スタイルを適用 */
.contact:not(:has(.contact_in)) {
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
    border: var(--color-sub) 1px solid;
    background-color: var(--color-white);
    padding: 15px;
    max-width: 600px;
    margin: 0 auto;
}
.contact:not(:has(.contact_in)) .contact__lead {
    width: 100%;
    font-size: 14px;
    margin: 0 0 10px;
    padding: 0 5px 10px;
    border-bottom: var(--color-sub) 1px dotted;
    line-height: 1.2;
}

/* #301バナー h4→h3 対応 */
.widget_my_widget301 .bn_wrap h3 {
    font-size: inherit;
    margin: 0;
}

/* #301バナー: フルワイズ・1カラム時の最大幅制限 */
.col10 .widget_my_widget301 .colbox,
.colfull .widget_my_widget301 .colbox {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

/* フルワイズセクション: 情報系パネルウィジェットのスタイル
   デザインファイル参照: 会社情報・お問い合わせ・地図をカード風に */
.colfull .widget_my_widget201,
.colfull .widget_my_widget202,
.colfull .widget_my_widget203 {
    padding: 20px;
    box-sizing: border-box;
    background: var(--color-white);
    border: 1px solid #eee;
    margin-bottom: 10px;
}

/* ============================================================
   追加パーツ (2026-03-23)
============================================================ */

/* CTAセクション (.cta_section) */
.cta_section {
    background: var(--color-border-light);
    padding: 40px 30px;
    text-align: center;
    margin: 40px 0;
    border-radius: 4px;
}
.cta_section h3, .cta_section h4 {
    margin-top: 0;
}
.cta_section p {
    max-width: 600px;
    margin: 0 auto 20px;
}
.cta_section .blk {
    justify-content: center;
}

/* カード型レイアウト (.card_layout) */
.card_layout {
    display: grid;
    gap: 20px;
    margin: 30px 0;
}
.card_layout.card_col2 { grid-template-columns: repeat(2, 1fr); }
.card_layout.card_col3 { grid-template-columns: repeat(3, 1fr); }
.card_layout .card_item {
    border: 1px solid #ccc;
    border-radius: 4px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}
.card_layout .card_item img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
}
.card_layout .card_item .card_body {
    padding: 20px;
}
.card_layout .card_item .card_body h4 {
    margin: 0 0 10px;
    font-size: 16px;
}
.card_layout .card_item .card_body p {
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 15px;
}
@media screen and (max-width: 680px) {
    .card_layout.card_col2, .card_layout.card_col3 {
        grid-template-columns: 1fr;
    }
}

/* タイムライン (.timeline) */
.timeline {
    position: relative;
    padding-left: 30px;
    margin: 30px 0;
}
.timeline::before {
    content: "";
    position: absolute;
    left: 8px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--color-border);
}
.timeline .timeline_item {
    position: relative;
    padding-bottom: 30px;
}
.timeline .timeline_item::before {
    content: "";
    position: absolute;
    left: -26px;
    top: 4px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--color-link);
    border: 2px solid #fff;
}
.timeline .timeline_item h4 {
    margin: 0 0 5px;
    font-size: 16px;
}
.timeline .timeline_item p {
    margin: 0;
}

/* スタッフ紹介カード (.staff_card) */
.staff_cards {
    display: grid;
    gap: 20px;
    margin: 30px 0;
}
.staff_cards.staff_col2 { grid-template-columns: repeat(2, 1fr); }
.staff_cards.staff_col3 { grid-template-columns: repeat(3, 1fr); }
.staff_card {
    text-align: center;
    padding: 20px;
}
.staff_card img {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 15px;
}
.staff_card h4 {
    margin: 0 0 5px;
    font-size: 16px;
}
.staff_card .staff_role {
    font-size: 13px;
    color: #888;
    margin-bottom: 10px;
}
.staff_card p {
    font-size: 14px;
    line-height: 1.6;
    text-align: left;
}
@media screen and (max-width: 680px) {
    .staff_cards.staff_col2, .staff_cards.staff_col3 {
        grid-template-columns: 1fr;
    }
}

/* 区切り線バリエーション */
hr.hr_dotted {
    border: none;
    border-top: 2px dotted var(--color-border);
    margin: 40px 0;
}
hr.hr_bold {
    border: none;
    border-top: 3px solid var(--color-text-dark);
    margin: 50px 0;
}
hr.hr_space {
    border: none;
    margin: 60px 0;
}

/* 注意書きボックス (.alert_box) */
.alert_box {
    padding: 20px 25px;
    margin: 20px 0;
    border-radius: 4px;
    border-left: 4px solid;
}
.alert_box.alert_info {
    background: #e8f4fd;
    border-color: #2196f3;
}
.alert_box.alert_warning {
    background: #fff8e1;
    border-color: #ff9800;
}
.alert_box.alert_success {
    background: #e8f5e9;
    border-color: #4caf50;
}
.alert_box h4 {
    margin: 0 0 8px;
    font-size: 16px;
}
.alert_box p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
}

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

/* ============================================================
   09. ウィジェット: 3reasons (選ばれる3つの理由)
   デザインpen (rentax-top-mockup_v03.pen) をベースにしたスタイリング
   クラス名が数字で始まるため \33 でエスケープ
============================================================ */
/* ------------------------------------------------------------
   3reasons ウィジェット - 3 Strengths スタイル
   クラス名が数字で始まるため \33 でエスケープ
------------------------------------------------------------ */
.widget.\33reasons {
    max-width: 1200px;
    margin: 0 auto 64px;
}

.widget.\33reasons .colbox {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin: 0;
    counter-reset: reason-counter; /* カウンターをリセット */
}

.widget.\33reasons .bn_wrap {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 40px 36px;
}

/* 交互に背景色を変える */
.widget.\33reasons .colbox > div:nth-child(odd) .bn_wrap {
    background: #F5F5F5;
}

.widget.\33reasons .colbox > div:nth-child(even) .bn_wrap {
    background: #1F1F1F;
}

/* 画像エリアを非表示 */
.widget.\33reasons .img_zoom {
    display: none;
}

/* タイトル（h3）を番号として表示 */
.widget.\33reasons .bn_wrap h3 {
    margin: 0;
    padding: 0;
    font-family: 'Inter', sans-serif;
    font-size: 48px;
    font-weight: bold;
    letter-spacing: -2px;
    color: #FDD835;
    line-height: 1;
}

/* 1つ目の bn_txt をタイトルとして表示 */
.widget.\33reasons .bn_txt:first-of-type {
    margin: 0;
    padding: 0;
    font-family: 'Inter', sans-serif;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.4;
}

.widget.\33reasons .colbox > div:nth-child(odd) .bn_txt:first-of-type {
    color: #1F1F1F;
}

.widget.\33reasons .colbox > div:nth-child(even) .bn_txt:first-of-type {
    color: #FFFFFF;
}

/* 2つ目の bn_txt を説明文として表示 */
.widget.\33reasons .bn_txt:last-of-type {
    padding: 0;
    margin: 0;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: normal;
    line-height: 1.6;
}

.widget.\33reasons .colbox > div:nth-child(odd) .bn_txt:last-of-type {
    color: #666666;
}

.widget.\33reasons .colbox > div:nth-child(even) .bn_txt:last-of-type {
    color: #AAAAAA;
}

.widget.\33reasons .bn_txt_link {
    display: none; /* リンクテキストは非表示 */
}

/* タブレット対応 (2カラム) */
@media screen and (max-width: 960px) {
    .widget.\33reasons .colbox {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }

    .widget.\33reasons .bn_wrap {
        padding: 32px 28px;
    }

    .widget.\33reasons .bn_wrap h3 {
        font-size: 40px;
    }

    .widget.\33reasons .bn_txt:first-of-type {
        font-size: 20px;
    }

    .widget.\33reasons .bn_txt:last-of-type {
        font-size: 14px;
    }
}

/* スマートフォン対応 (1カラム) */
@media screen and (max-width: 680px) {
    .widget.\33reasons .colbox {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .widget.\33reasons .bn_wrap {
        padding: 28px 24px;
    }

    .widget.\33reasons .bn_wrap h3 {
        font-size: 36px;
    }

    .widget.\33reasons .bn_txt:first-of-type {
        font-size: 18px;
    }

    .widget.\33reasons .bn_txt:last-of-type {
        font-size: 13px;
    }
}
/* ============================================================
   10. ウィジェット: Service Flow (.widget_my_widget301.flow)
   rentax-top-mockup_v03.pen のデザイン準拠
============================================================ */

.widget_my_widget301.flow {
    background: #FFFFFF;
    padding: 100px 120px;
}

.widget_my_widget301.flow .colbox {
    display: flex;
    gap: 0;
    max-width: 1200px;
    margin: 0 auto;
}

.widget_my_widget301.flow .colbox > div {
    flex: 1;
}

.widget_my_widget301.flow .bn_wrap {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 36px 28px;
    height: 100%;
}

/* 交互背景: 奇数ダーク、偶数ライト、最後イエロー */
.widget_my_widget301.flow .colbox > div:nth-child(odd) .bn_wrap {
    background: #1F1F1F;
}

.widget_my_widget301.flow .colbox > div:nth-child(even) .bn_wrap {
    background: #F5F5F5;
}

.widget_my_widget301.flow .colbox > div:last-child .bn_wrap {
    background: #FDD835;
}

/* 画像非表示 */
.widget_my_widget301.flow .img_zoom {
    display: none;
}

/* 番号バッジ（h3） */
.widget_my_widget301.flow h3 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
    background: #FDD835;
    color: #1F1F1F;
}

/* 最後のカードの番号バッジは反転 */
.widget_my_widget301.flow .colbox > div:last-child h3 {
    background: #1F1F1F;
    color: #FDD835;
}

/* タイトル（1番目のbn_txt） */
.widget_my_widget301.flow .bn_txt:first-of-type {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.4;
    margin: 0;
    padding: 0;
    white-space: pre-line;
}

/* 説明文（2番目のbn_txt） */
.widget_my_widget301.flow .bn_txt:last-of-type {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: normal;
    line-height: 1.6;
    margin: 0;
    padding: 0;
}

/* ダークカードのテキスト色 */
.widget_my_widget301.flow .colbox > div:nth-child(odd) .bn_txt:first-of-type {
    color: #FFFFFF;
}

.widget_my_widget301.flow .colbox > div:nth-child(odd) .bn_txt:last-of-type {
    color: #AAAAAA;
}

/* ライトカードのテキスト色 */
.widget_my_widget301.flow .colbox > div:nth-child(even) .bn_txt:first-of-type {
    color: #1F1F1F;
}

.widget_my_widget301.flow .colbox > div:nth-child(even) .bn_txt:last-of-type {
    color: #666666;
}

/* 最後のカード（イエロー）のテキスト色 */
.widget_my_widget301.flow .colbox > div:last-child .bn_txt:first-of-type {
    color: #1F1F1F;
}

.widget_my_widget301.flow .colbox > div:last-child .bn_txt:last-of-type {
    color: rgba(31, 31, 31, 0.6);
}

/* リンクテキスト非表示 */
.widget_my_widget301.flow .bn_txt_link {
    display: none;
}

/* タブレット対応 */
@media screen and (max-width: 960px) {
    .widget_my_widget301.flow {
        padding: 60px 40px;
    }

    .widget_my_widget301.flow .colbox {
        flex-wrap: wrap;
    }

    .widget_my_widget301.flow .colbox > div {
        flex: 0 0 50%;
    }

    .widget_my_widget301.flow .bn_wrap {
        padding: 28px 24px;
    }
}

/* スマートフォン対応 */
@media screen and (max-width: 680px) {
    .widget_my_widget301.flow {
        padding: 60px 20px;
    }

    .widget_my_widget301.flow .colbox {
        flex-direction: column;
    }

    .widget_my_widget301.flow .colbox > div {
        flex: 0 0 100%;
    }

    .widget_my_widget301.flow .bn_wrap {
        padding: 24px 20px;
    }
}

/* ============================================================
   10a. ウィジェット: CTA見出し (.cta_h2)
   rentax-top-mockup_v04.pen Final CTA 準拠
============================================================ */

.home .colfull .widget.widget_my_widget101.cta_h2,
.home .colfull .widget.widget_my_widget202.cta {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0;
}

.widget_my_widget101.cta_h2 {
    background: #000000;
    padding: 80px 120px 0;
    text-align: center;
}

.widget_my_widget101.cta_h2 h2 {
    font-family: 'Inter', sans-serif;
    font-size: 48px;
    font-weight: bold;
    color: #FFFFFF;
    margin: 0;
    padding: 0;
    border: none;
    letter-spacing: -1px;
}

.widget_my_widget101.cta_h2 h2 small {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: bold;
    color: #FDD835;
    letter-spacing: 3px;
    margin-bottom: 16px;
}

/* タブレット対応 */
@media screen and (max-width: 960px) {
    .widget_my_widget101.cta_h2 {
        padding: 60px 40px 0;
    }
    .widget_my_widget101.cta_h2 h2 {
        font-size: 36px;
    }
}

/* スマートフォン対応 */
@media screen and (max-width: 680px) {
    .widget_my_widget101.cta_h2 {
        padding: 60px 20px 0;
    }
    .widget_my_widget101.cta_h2 h2 {
        font-size: 28px;
    }
}

/* ============================================================
   10b. ウィジェット: CTA (.widget_my_widget202.cta)
   rentax-top-mockup_v04.pen Final CTA 準拠
============================================================ */

.widget_my_widget202.cta {
    background: #000000;
    padding: 0;
    border: none;
}

.widget_my_widget202.cta .contact {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 400px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 80px 120px;
    gap: 32px;
    text-align: center;
    background-color: transparent;
    border: none;
}

.widget_my_widget202.cta .contact__lead {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    color: #AAAAAA;
    margin: 0;
    padding: 0;
    border: none;
}

/* 電話エリア */
.widget_my_widget202.cta .contact__tel {
    text-align: center;
}

.widget_my_widget202.cta .contact__tel .tel {
    margin: 0;
}

.widget_my_widget202.cta .contact__tel .tel a {
    font-family: 'Inter', sans-serif;
    font-size: 36px;
    font-weight: bold;
    color: #FFFFFF;
    text-decoration: none;
}

.widget_my_widget202.cta .contact__tel .tel a:hover {
    color: #FDD835;
}

.widget_my_widget202.cta .contact__tel .tel-ex {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #AAAAAA;
    margin: 8px 0 0;
}

/* お問い合わせボタン */
.widget_my_widget202.cta .contact__mail {
    text-align: center;
}

.widget_my_widget202.cta .contact__mail .mail {
    margin: 0;
}

.widget_my_widget202.cta .contact__mail .mail a {
    display: inline-block;
    padding: 18px 48px;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: bold;
    color: #1F1F1F;
    background: #FDD835;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.widget_my_widget202.cta .contact__mail .mail a:hover {
    opacity: 0.85;
}

.widget_my_widget202.cta .contact__mail .mail-ex {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #AAAAAA;
    margin: 12px 0 0;
}

/* タブレット対応 */
@media screen and (max-width: 960px) {
    .widget_my_widget202.cta .contact {
        padding: 60px 40px;
        min-height: 300px;
    }

    .widget_my_widget202.cta .contact__tel .tel a {
        font-size: 28px;
    }
}

/* スマートフォン対応 */
@media screen and (max-width: 680px) {
    .widget_my_widget202.cta .contact {
        padding: 60px 20px;
        min-height: auto;
        gap: 24px;
    }

    .widget_my_widget202.cta .contact__tel .tel a {
        font-size: 24px;
    }

    .widget_my_widget202.cta .contact__mail .mail a {
        padding: 14px 32px;
        font-size: 14px;
    }
}

/* ============================================================
   11. ウィジェット: 会社情報 (.widget_my_widget201.company)
   rentax デザイン言語に準拠
============================================================ */

.widget_my_widget201.company {
    background: #F5F5F5;
    padding: 80px 120px;
}

.widget_my_widget201.company .shopinfo {
    max-width: 800px;
    margin: 0 auto;
    display: block;
}

.widget_my_widget201.company .shopinfo h3 {
    font-family: 'Inter', sans-serif;
    font-size: 28px;
    font-weight: bold;
    color: #1F1F1F;
    margin: 0 0 40px;
    padding: 0;
    border: none;
    text-align: center;
}

.widget_my_widget201.company .shopinfo__list {
    margin: 0;
    max-width: 800px;
}

.widget_my_widget201.company .shopinfo__item {
    display: flex;
    border-bottom: 1px solid #E4E4E7;
    padding: 16px 0;
}

.widget_my_widget201.company .shopinfo__item:last-child {
    border-bottom: none;
}

.widget_my_widget201.company .shopinfo__item dt {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: bold;
    color: #FFFFFF;
    width: 100px;
    min-width: 100px;
    padding: 8px 16px;
    background: #1F1F1F;
    border: none;
    letter-spacing: 0.5px;
    text-align: center;
    line-height: 1;
    align-self: flex-start;
}

.widget_my_widget201.company .shopinfo__item dd {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    color: #1F1F1F;
    padding: 0 0 0 16px;
    margin: 0;
    background: transparent;
    border: none;
    line-height: 1.6;
}

.widget_my_widget201.company .shopinfo__item dd a {
    color: #1F1F1F;
    text-decoration: none;
}

.widget_my_widget201.company .shopinfo__item dd a:hover {
    color: #FDD835;
    text-decoration: underline;
}

/* タブレット対応 */
@media screen and (max-width: 960px) {
    .widget_my_widget201.company {
        padding: 60px 40px;
    }
}

/* スマートフォン対応 */
@media screen and (max-width: 680px) {
    .widget_my_widget201.company {
        padding: 60px 20px;
    }

    .widget_my_widget201.company .shopinfo__item {
        flex-direction: column;
        gap: 4px;
    }

    .widget_my_widget201.company .shopinfo__item dt {
        width: auto;
        min-width: auto;
    }
}

/* ============================================================
/* ============================================================
   12. ウィジェット: 新着情報 (.widget_my_widget102.news)
   一般的な新着情報リストデザイン
   rentax-top-mockup_v03.pen のデザイン言語に準拠
============================================================ */

.widget.widget_my_widget102.news {
    margin-bottom: 60px;
}

/* リストコンテナ */
.widget.widget_my_widget102.news .post-cat-widget {
    background: #FFFFFF;
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 24px;
}

.widget.widget_my_widget102.news ul.post-template-basic {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
}

/* 各投稿アイテム */
.widget.widget_my_widget102.news li.post_wrap {
    padding: 0;
    border-bottom: 1px solid #E4E4E7;
    width: 1000px;
    display: block;
    margin: 0 auto;
    flex: none;
    max-width: none;
}

.widget.widget_my_widget102.news li.post_wrap:last-child {
    border-bottom: none;
}

.widget.widget_my_widget102.news a.post_wrap__link {
    display: block;
    padding: 20px 0;
    text-decoration: none;
    transition: background-color 0.2s ease;
}

.widget.widget_my_widget102.news a.post_wrap__link:hover {
    background-color: #F5F5F5;
}

/* コンテンツエリア */
.widget.widget_my_widget102.news .post_container_2 {
    display: grid;
    grid-template-columns: 100px 1fr;
    grid-template-rows: auto auto;
    gap: 8px 24px;
    align-items: start;
}

/* 日付エリア */
.widget.widget_my_widget102.news time.post_date {
    grid-column: 1;
    grid-row: 1;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: normal;
    color: #71717A;
    padding-top: 2px;
}

/* タイトル */
.widget.widget_my_widget102.news p.post_title {
    grid-column: 2;
    grid-row: 1;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 500;
    color: #1F1F1F;
    margin: 0;
    line-height: 1.5;
    transition: color 0.2s ease;
}

.widget.widget_my_widget102.news a.post_wrap__link:hover p.post_title {
    color: #FDD835;
}

/* カテゴリータグ */
.widget.widget_my_widget102.news span.post_categories {
    grid-column: 2;
    grid-row: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.widget.widget_my_widget102.news span.post_cate {
    display: inline-block;
    padding: 3px 10px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: bold;
    background: #E4E4E7;
    color: #52525B;
    border-radius: 3px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 特定カテゴリーの色分け（オプション） */
.widget.widget_my_widget102.news span.post_cate.news {
    background: #FDD835;
    color: #1F1F1F;
}

/* moreリンク */
.widget.widget_my_widget102.news p.more-link {
    text-align: center;
    max-width: 1200px;
    margin: 32px auto 0;
    padding: 0 0 32px 0;
}

.widget.widget_my_widget102.news p.more-link a {
    display: inline-block;
    padding: 12px 40px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: bold;
    color: #1F1F1F;
    background: transparent;
    border: 2px solid #E4E4E7;
    border-radius: 4px;
    text-decoration: none;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.widget.widget_my_widget102.news p.more-link a:hover {
    background: #FDD835;
    border-color: #FDD835;
    color: #1F1F1F;
}

/* 編集ボタン（管理画面用） */
.widget.widget_my_widget102.news .edit {
    margin-top: 16px;
}

/* タブレット対応 (960px以下) */
@media screen and (max-width: 960px) {
    .widget.widget_my_widget102.news .my_widget_header h2 {
        font-size: 24px;
        margin-bottom: 24px;
    }

    .widget.widget_my_widget102.news a.post_wrap__link {
        padding: 16px 0;
    }

    .widget.widget_my_widget102.news .post_container_2 {
        grid-template-columns: 90px 1fr;
        gap: 8px 16px;
    }

    .widget.widget_my_widget102.news time.post_date {
        font-size: 13px;
    }

    .widget.widget_my_widget102.news p.post_title {
        font-size: 15px;
    }
}

/* スマートフォン対応 (680px以下) */
@media screen and (max-width: 680px) {
    .widget.widget_my_widget102.news .my_widget_header h2 {
        font-size: 22px;
        margin-bottom: 20px;
    }

    .widget.widget_my_widget102.news a.post_wrap__link {
        padding: 16px 0;
    }

    .widget.widget_my_widget102.news .post_container_2 {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
        gap: 8px;
    }

    .widget.widget_my_widget102.news time.post_date {
        grid-column: 1;
        grid-row: 1;
        font-size: 12px;
    }

    .widget.widget_my_widget102.news p.post_title {
        grid-column: 1;
        grid-row: 2;
        font-size: 14px;
    }

    .widget.widget_my_widget102.news span.post_categories {
        grid-column: 1;
        grid-row: 3;
    }

    .widget.widget_my_widget102.news span.post_cate {
        font-size: 10px;
        padding: 2px 8px;
    }

    .widget.widget_my_widget102.news p.more-link a {
        padding: 10px 32px;
        font-size: 13px;
    }
}
/* =============================================
   Section 08: ページテンプレート共通スタイル
   ============================================= */

/* --- Page Hero --- */
.rentax-page-hero {
  background: #1F1F1F;
  padding: 80px 120px;
  text-align: center;
}
.rentax-page-hero__en {
  display: block;
  color: #FDD835;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 3px;
  margin-bottom: 16px;
}
.rentax-page-hero__title {
  color: #fff;
  font-size: 48px;
  font-weight: bold;
  letter-spacing: -1px;
  margin: 0;
}
.rentax-page-hero__subtitle {
  color: #aaa;
  font-size: 18px;
  margin-top: 16px;
}

/* page-heroを持つ固定ページ: #contents / #footer の余白を除去 */
body.page #contents { padding: 0; }
body.page #footer { margin-top: 0; }

/* --- FAQ (Snow Monkey Blocks) Rentaxスタイル --- */
.smb-faq { margin-bottom: 32px; }
.smb-faq__item {
  border: 1px solid #E4E4E7;
  border-radius: 8px;
  margin-bottom: 16px;
  overflow: hidden;
  background: #fff;
}
.smb-faq__item__question {
  display: flex;
  align-items: flex-start;
  padding: 20px 24px;
  background: #F5F5F5;
  gap: 16px;
}
.smb-faq__item__question__label {
  color: #FDD835 !important;
  font-weight: bold;
  font-size: 18px;
  flex-shrink: 0;
  min-width: 36px;
  font-family: "Inter", sans-serif;
}
.smb-faq__item__question__body {
  font-weight: 600;
  font-size: 16px;
  color: #1F1F1F;
  line-height: 1.6;
}
.smb-faq__item__answer {
  display: flex;
  align-items: flex-start;
  padding: 20px 24px;
  gap: 16px;
}
.smb-faq__item__answer__label {
  color: #1F1F1F !important;
  font-weight: bold;
  font-size: 18px;
  flex-shrink: 0;
  min-width: 36px;
  font-family: "Inter", sans-serif;
}
.smb-faq__item__answer__body {
  font-size: 15px;
  color: #333;
  line-height: 1.8;
}
.smb-faq__item__answer__body p { margin: 0 0 0.5em; }

/* FAQ見出し */
h2.title_faq {
  font-size: 24px;
  font-weight: bold;
  color: #1F1F1F;
  padding: 16px 0 12px;
  margin: 48px 0 24px;
  border-bottom: 3px solid #FDD835;
}
h2.title_faq:first-of-type { margin-top: 0; }

/* FAQ内のh3カテゴリ見出し */
.entry h2.title_faq + .smb-faq + h3,
.article-container h3 {
  font-size: 18px;
  color: #1F1F1F;
  padding: 10px 16px;
  margin: 32px 0 16px;
  background: #F5F5F5;
  border-left: 4px solid #FDD835;
  border-radius: 0 4px 4px 0;
}

/* FAQページ本文エリアに余白追加 */
body.page-id-28 .article-container { padding: 48px 40px; }
@media screen and (max-width: 768px) {
  body.page-id-28 .article-container { padding: 32px 16px; }
  h2.title_faq { font-size: 20px; margin-top: 32px; }
}

/* --- Section Layout --- */
.rentax-section { width: 100%; }
.rentax-section--white { background: #fff; }
.rentax-section--gray { background: #F5F5F5; }
.rentax-section__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 40px;
}

/* --- Section Header --- */
.rentax-section-header {
  text-align: center;
  margin-bottom: 48px;
}
.rentax-section-header__en {
  display: block;
  color: #FDD835;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 3px;
  margin-bottom: 16px;
}
.rentax-section-header__title {
  font-size: 40px;
  font-weight: bold;
  color: #1F1F1F;
  letter-spacing: -1px;
}

/* --- CTA Section --- */
.rentax-cta {
  background: #1F1F1F;
  text-align: center;
  padding: 80px 40px;
}
.rentax-cta__inner { max-width: 800px; margin: 0 auto; }
.rentax-cta__en {
  display: block;
  color: #FDD835;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 3px;
  margin-bottom: 16px;
}
.rentax-cta__title {
  color: #fff;
  font-size: 36px;
  font-weight: bold;
  margin: 0 0 16px;
}
.rentax-cta__subtitle { color: #aaa; font-size: 16px; margin-bottom: 24px; }
.rentax-cta__phone {
  color: #fff;
  font-size: 40px;
  font-weight: bold;
  letter-spacing: 2px;
  margin-bottom: 8px;
}
.rentax-cta__hours { color: #aaa; font-size: 14px; margin-bottom: 32px; }
.rentax-cta__buttons { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* --- Buttons --- */
.rentax-btn {
  display: inline-block;
  padding: 16px 48px;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  border-radius: 4px;
  transition: opacity 0.2s;
  text-align: center;
  box-sizing: border-box;
}
.rentax-btn:hover { opacity: 0.85; }
.rentax-btn--primary { background: #FDD835; color: #1F1F1F; }
.rentax-btn--outline { background: transparent; color: #fff; border: 1px solid #fff; }
.rentax-btn--full { display: block; width: 100%; }

/* --- Service Cards --- */
.rentax-service-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.rentax-service-card {
  background: #F5F5F5;
  border-radius: 8px;
  overflow: hidden;
}
.rentax-service-card__image {
  width: 100%;
  height: 200px;
  background: #ddd center/cover no-repeat;
}
.rentax-service-card__body { padding: 24px 24px 32px; }
.rentax-service-card__num {
  display: block;
  font-size: 32px;
  font-weight: bold;
  color: #FDD835;
  margin-bottom: 8px;
}
.rentax-service-card__title {
  font-size: 18px;
  font-weight: bold;
  color: #1F1F1F;
  margin: 0 0 12px;
  line-height: 1.4;
}
.rentax-service-card__text {
  font-size: 14px;
  color: #666;
  line-height: 1.7;
}

/* --- Flow Steps (compact) --- */
.rentax-flow-steps { display: flex; gap: 0; }
.rentax-flow-step { flex: 1; padding: 32px 24px; background: #F5F5F5; }
.rentax-flow-step--dark { background: #1F1F1F; }
.rentax-flow-step--dark .rentax-flow-step__title { color: #fff; }
.rentax-flow-step--dark .rentax-flow-step__text { color: #aaa; }
.rentax-flow-step--accent { background: #FDD835; }
.rentax-flow-step--accent .rentax-flow-step__title { color: #1F1F1F; }
.rentax-flow-step--accent .rentax-flow-step__text { color: rgba(31,31,31,0.7); }
.rentax-flow-step__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: #FDD835;
  color: #1F1F1F;
  font-size: 18px;
  font-weight: bold;
  border-radius: 50%;
  margin-bottom: 12px;
}
.rentax-flow-step__badge--dark { background: #1F1F1F; color: #FDD835; }
.rentax-flow-step__title { font-size: 16px; font-weight: bold; color: #1F1F1F; margin: 0 0 8px; line-height: 1.4; }
.rentax-flow-step__text { font-size: 13px; color: #666; line-height: 1.6; }

/* --- Flow Detail --- */
.rentax-flow-detail__step { display: flex; gap: 32px; padding: 32px 0; }
.rentax-flow-detail__left {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 56px;
  flex-shrink: 0;
}
.rentax-flow-detail__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  background: #FDD835;
  color: #1F1F1F;
  font-size: 24px;
  font-weight: bold;
  border-radius: 50%;
}
.rentax-flow-detail__badge--last { background: #1F1F1F; color: #FDD835; }
.rentax-flow-detail__line { width: 2px; flex: 1; background: #E4E4E7; margin-top: 8px; }
.rentax-flow-detail__right { flex: 1; }
.rentax-flow-detail__title { font-size: 22px; font-weight: bold; color: #1F1F1F; margin: 0 0 8px; }
.rentax-flow-detail__meta { font-size: 13px; color: #FDD835; margin-bottom: 8px; }
.rentax-flow-detail__desc { font-size: 15px; color: #666; line-height: 1.8; }

/* --- FAQ --- */
.rentax-faq { max-width: 800px; margin: 0 auto; }
.rentax-faq__item { padding: 24px 0; border-bottom: 1px solid #E4E4E7; }
.rentax-faq__question { display: flex; gap: 12px; align-items: center; margin-bottom: 12px; }
.rentax-faq__q { font-size: 18px; font-weight: bold; color: #FDD835; }
.rentax-faq__q-text { font-size: 16px; font-weight: bold; color: #1F1F1F; }
.rentax-faq__answer { font-size: 14px; color: #666; line-height: 1.8; }

/* --- Company Message --- */
.rentax-company-message { display: flex; gap: 64px; align-items: flex-start; }
.rentax-company-message__image { width: 300px; flex-shrink: 0; border-radius: 8px; overflow: hidden; }
.rentax-company-message__image img { width: 100%; height: auto; display: block; }
.rentax-company-message__body { flex: 1; }
.rentax-company-message__body h2 { font-size: 28px; margin: 16px 0; }
.rentax-company-message__body p { font-size: 15px; color: #666; line-height: 1.8; margin-bottom: 16px; }
.rentax-company-message__name { font-size: 14px; font-weight: bold; color: #1F1F1F !important; }

/* --- Info Table --- */
.rentax-info-table { width: 100%; max-width: 800px; margin: 32px auto 0; border-collapse: collapse; }
.rentax-info-table th, .rentax-info-table td { padding: 16px; border-bottom: 1px solid #E4E4E7; text-align: left; font-size: 15px; }
.rentax-info-table th { background: #1F1F1F; color: #fff; font-size: 12px; font-weight: bold; width: 100px; text-align: center; }

/* --- Timeline --- */
.rentax-timeline { max-width: 800px; margin: 0 auto; }
.rentax-timeline__item { display: flex; gap: 24px; align-items: center; padding: 16px 0; border-bottom: 1px solid #E4E4E7; }
.rentax-timeline__year { font-size: 20px; font-weight: bold; color: #FDD835; width: 80px; flex-shrink: 0; }
.rentax-timeline__dot { width: 12px; height: 12px; background: #FDD835; border-radius: 50%; flex-shrink: 0; }
.rentax-timeline__text { font-size: 15px; color: #1F1F1F; flex: 1; }

/* --- Case Grid --- */
.rentax-filter-tabs { display: flex; margin-bottom: 40px; }
.rentax-filter-tab { padding: 12px 28px; background: #F5F5F5; color: #1F1F1F; font-size: 14px; text-decoration: none; transition: all 0.2s; }
.rentax-filter-tab--active { background: #1F1F1F; color: #fff; font-weight: bold; }
.rentax-case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.rentax-case-card { display: block; background: #F5F5F5; border-radius: 8px; overflow: hidden; text-decoration: none; color: inherit; transition: transform 0.2s, box-shadow 0.2s; }
a.rentax-case-card:hover { transform: translateY(-4px); box-shadow: 0 4px 16px rgba(0,0,0,0.12); }
.rentax-case-card__image { height: 220px; overflow: hidden; background: #ddd; }
.rentax-case-card__image img { width: 100%; height: 100%; object-fit: cover; }
.rentax-case-card__placeholder { width: 100%; height: 100%; background: #ccc; }
.rentax-case-card__body { padding: 20px; }
.rentax-case-card__tag { display: inline-block; background: #FDD835; color: #1F1F1F; font-size: 11px; font-weight: bold; padding: 4px 10px; border-radius: 2px; margin-bottom: 8px; }
.rentax-case-card__title { font-size: 16px; font-weight: bold; color: #1F1F1F; margin: 0 0 8px; }
.rentax-case-card__excerpt { font-size: 13px; color: #666; line-height: 1.6; }

/* --- Case Detail --- */
.rentax-case-detail-hero { width: 100%; max-height: 500px; overflow: hidden; }
.rentax-case-detail-hero img { width: 100%; height: auto; display: block; object-fit: cover; }
.rentax-case-detail-hero__placeholder { width: 100%; height: 300px; background: #ddd; }
.rentax-case-detail-layout { display: flex; gap: 64px; }
.rentax-case-detail__main { flex: 1; }
.rentax-case-detail__sidebar { width: 320px; flex-shrink: 0; }
.rentax-case-detail__title { font-size: 32px; font-weight: bold; color: #1F1F1F; margin: 16px 0 32px; }
.rentax-case-detail__content h2 { font-size: 22px; margin: 32px 0 12px; padding-bottom: 8px; border-bottom: 3px solid #FDD835; display: inline-block; }
.rentax-sidebar-cta { background: #1F1F1F; padding: 32px; border-radius: 8px; text-align: center; position: sticky; top: 100px; }
.rentax-sidebar-cta h3 { color: #fff; font-size: 16px; margin: 0 0 16px; line-height: 1.5; }

/* --- Rental Detail --- */
.rentax-breadcrumb-bar { background: #F5F5F5; padding: 12px 0; }
.rentax-breadcrumb-bar__inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; font-size: 12px; color: #666; }
.rentax-breadcrumb-bar__inner a { color: #666; text-decoration: none; }
.rentax-breadcrumb-bar__inner span { color: #1F1F1F; font-weight: bold; }
.rentax-rental-layout { display: flex; gap: 48px; }
.rentax-rental__main { flex: 1; }
.rentax-rental__sidebar { width: 300px; flex-shrink: 0; }
.rentax-rental__title { font-size: 28px; font-weight: bold; color: #1F1F1F; margin: 0 0 8px; }
.rentax-rental__subtitle { font-size: 15px; color: #666; margin-bottom: 24px; }
.rentax-rental__main-image { border-radius: 8px; overflow: hidden; margin-bottom: 24px; }
.rentax-rental__main-image img { width: 100%; height: auto; display: block; }
.rentax-rental__info { background: #F5F5F5; border-radius: 8px; overflow: hidden; margin-bottom: 24px; }
.rentax-rental__price-row { background: #1F1F1F; padding: 20px 28px; display: flex; align-items: baseline; gap: 8px; }
.rentax-rental__price-label { color: #FDD835; font-size: 14px; font-weight: bold; }
.rentax-rental__price-value { color: #fff; font-size: 36px; font-weight: bold; }
.rentax-rental__price-unit { color: #aaa; font-size: 14px; }
.rentax-rental__info-row { display: flex; gap: 16px; padding: 14px 28px; border-bottom: 1px solid #E4E4E7; font-size: 14px; }
.rentax-rental__info-label { font-weight: bold; color: #1F1F1F; width: 80px; flex-shrink: 0; }
.rentax-rental__tags { margin-bottom: 24px; }
.rentax-rental__tags h3 { font-size: 16px; font-weight: bold; color: #1F1F1F; margin: 0 0 12px; }
.rentax-tag-list { display: flex; gap: 8px; flex-wrap: wrap; }
.rentax-tag { display: inline-block; padding: 6px 16px; border-radius: 20px; font-size: 12px; text-decoration: none; background: #F5F5F5; color: #1F1F1F; border: 1px solid #E4E4E7; }
.rentax-tag--accent { background: #FDD835; color: #1F1F1F; border-color: #FDD835; font-weight: bold; }
.rentax-sidebar-search { margin-bottom: 24px; }
.rentax-sidebar-search h3, .rentax-sidebar-cats h3 { font-size: 16px; font-weight: bold; color: #1F1F1F; margin: 0 0 12px; }
.rentax-sidebar-cat-list { list-style: none; padding: 0; margin: 0; }
.rentax-sidebar-cat-list li { border-bottom: 1px solid #E4E4E7; }
.rentax-sidebar-cat-list li a { display: flex; align-items: center; gap: 12px; padding: 12px 0; color: #1F1F1F; font-size: 14px; text-decoration: none; }
.rentax-sidebar-cat-list li a::before { content: ""; width: 8px; height: 8px; background: #FDD835; border-radius: 50%; flex-shrink: 0; }

/* =============================================
   Responsive
   ============================================= */
@media (max-width: 768px) {
  .rentax-page-hero { padding: 48px 20px; }
  .rentax-page-hero__title { font-size: 28px; }
  .rentax-page-hero__subtitle { font-size: 14px; }
  .rentax-section__inner { padding: 48px 20px; }
  .rentax-section-header__title { font-size: 22px; }
  .rentax-service-cards { grid-template-columns: 1fr; gap: 16px; }
  .rentax-flow-steps { flex-direction: column; }
  .rentax-cta__title { font-size: 24px; }
  .rentax-cta__phone { font-size: 28px; }
  .rentax-cta__buttons { flex-direction: column; align-items: center; }
  .rentax-company-message { flex-direction: column; gap: 32px; }
  .rentax-company-message__image { width: 100%; }
  .rentax-case-grid { grid-template-columns: 1fr; }
  .rentax-filter-tabs { flex-wrap: wrap; }
  .rentax-case-detail-layout { flex-direction: column; }
  .rentax-case-detail__sidebar { width: 100%; }
  .rentax-case-detail__title { font-size: 22px; }
  .rentax-rental-layout { flex-direction: column; }
  .rentax-rental__sidebar { width: 100%; }
  .rentax-flow-detail__step { gap: 16px; }
  .rentax-flow-detail__title { font-size: 18px; }
  .rentax-flow-detail__desc { font-size: 13px; }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .rentax-service-cards { grid-template-columns: repeat(2, 1fr); }
  .rentax-case-grid { grid-template-columns: repeat(2, 1fr); }
  .rentax-page-hero__title { font-size: 36px; }
}


/* ============================================================
   Gallery / 画像ギャラリー
   WordPress標準ギャラリー (.gallery) 対応
   ============================================================ */

/* --- ギャラリー共通 --- */
.gallery {
    display: grid;
    gap: 16px;
    margin: 30px 0;
}

/* カラム数バリエーション */
.gallery-columns-1 { grid-template-columns: 1fr; }
.gallery-columns-2 { grid-template-columns: repeat(2, 1fr); }
.gallery-columns-3 { grid-template-columns: repeat(3, 1fr); }
.gallery-columns-4 { grid-template-columns: repeat(4, 1fr); }
.gallery-columns-5 { grid-template-columns: repeat(5, 1fr); }

/* WordPress が挿入する br タグを無効化 */
.gallery br { display: none; }

/* --- ギャラリーアイテム --- */
.gallery .gallery-item {
    margin: 0;
    padding: 0;
    overflow: hidden;
    border-radius: 8px;
    position: relative;
}

.gallery .gallery-icon {
    margin: 0;
}

.gallery .gallery-icon a {
    display: block;
    line-height: 0;
    overflow: hidden;
    border-radius: 8px;
}

.gallery .gallery-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 3 / 4;
    border-radius: 8px;
    transition: transform 0.4s ease, filter 0.4s ease;
}

/* ホバーエフェクト */
.gallery .gallery-icon a:hover img {
    transform: scale(1.05);
    filter: brightness(0.85);
}

/* キャプション */
.gallery .gallery-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 12px 16px;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
    color: #fff;
    font-size: 13px;
    line-height: 1.4;
    border-radius: 0 0 8px 8px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.gallery .gallery-item:hover .gallery-caption {
    opacity: 1;
}

/* --- サイズバリエーション --- */
.gallery-size-thumbnail .gallery-icon img { aspect-ratio: 1 / 1; }
.gallery-size-medium .gallery-icon img { aspect-ratio: 3 / 4; }
.gallery-size-large .gallery-icon img { aspect-ratio: 4 / 3; }
.gallery-size-full .gallery-icon img { aspect-ratio: auto; }

/* --- レスポンシブ --- */
@media screen and (max-width: 768px) {
    .gallery { gap: 8px; }
    .gallery-columns-4 { grid-template-columns: repeat(2, 1fr); }
    .gallery-columns-5 { grid-template-columns: repeat(2, 1fr); }
}

@media screen and (max-width: 480px) {
    .gallery-columns-3 { grid-template-columns: repeat(2, 1fr); }
}


/* ============================================================
   08. レンタル商品一覧ページ
============================================================ */

/* --- カテゴリバナーグリッド --- */
.rentax-rental-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.rentax-cat-banner {
    position: relative;
    display: block;
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    text-decoration: none;
    color: var(--color-white);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.rentax-cat-banner:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3);
}

.rentax-cat-banner__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-color: var(--color-main-dark);
    transition: transform 0.4s ease;
}
.rentax-cat-banner:hover .rentax-cat-banner__bg {
    transform: scale(1.06);
}

.rentax-cat-banner__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(31,31,31,0.2) 0%, rgba(31,31,31,0.75) 100%);
}

.rentax-cat-banner__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 24px;
    text-align: center;
}

.rentax-cat-banner__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--color-accent);
    color: var(--color-main-dark);
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 12px;
}
.rentax-cat-banner__icon::before {
    content: "\1F4E6";
    font-size: 22px;
}
.rentax-cat-banner__icon[data-icon="calendar"]::before  { content: "\1F4C5"; }
.rentax-cat-banner__icon[data-icon="sparkles"]::before   { content: "\1F3AA"; }
.rentax-cat-banner__icon[data-icon="building"]::before   { content: "\1F3DB"; }
.rentax-cat-banner__icon[data-icon="sun"]::before        { content: "\2600"; }
.rentax-cat-banner__icon[data-icon="gift"]::before       { content: "\1F381"; }
.rentax-cat-banner__icon[data-icon="users"]::before      { content: "\1F465"; }
.rentax-cat-banner__icon[data-icon="puzzle"]::before     { content: "\1F9E9"; }
.rentax-cat-banner__icon[data-icon="home"]::before       { content: "\1F3E0"; }
.rentax-cat-banner__icon[data-icon="briefcase"]::before  { content: "\1F4BC"; }
.rentax-cat-banner__icon[data-icon="shirt"]::before      { content: "\1F454"; }
.rentax-cat-banner__icon[data-icon="luggage"]::before    { content: "\1F9F3"; }
.rentax-cat-banner__icon[data-icon="box"]::before        { content: "\1F4E6"; }

.rentax-cat-banner__name {
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 4px;
    letter-spacing: 0.04em;
}

.rentax-cat-banner__count {
    font-size: 13px;
    opacity: 0.8;
    margin-bottom: 8px;
}

.rentax-cat-banner__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--color-accent);
    color: var(--color-main-dark);
    font-size: 16px;
    font-weight: 700;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.rentax-cat-banner:hover .rentax-cat-banner__arrow {
    opacity: 1;
    transform: translateY(0);
}

/* --- 利用シーンセクション --- */
.rentax-section--dark {
    background: var(--color-main-dark);
    padding: 64px 0;
}

.rentax-scene-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin-top: 32px;
}

.rentax-scene-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 40px;
    color: var(--color-white);
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    transition: all 0.25s ease;
}
.rentax-scene-chip:hover {
    background: var(--color-accent);
    color: var(--color-main-dark);
    border-color: var(--color-accent);
}

.rentax-scene-chip__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.15);
    font-size: 12px;
    font-weight: 700;
    padding: 0 6px;
}
.rentax-scene-chip:hover .rentax-scene-chip__count {
    background: rgba(31, 31, 31, 0.15);
}

/* --- レスポンシブ --- */
@media screen and (max-width: 1024px) {
    .rentax-rental-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
}
@media screen and (max-width: 600px) {
    .rentax-rental-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .rentax-cat-banner {
        aspect-ratio: 16 / 9;
    }
    .rentax-cat-banner__name {
        font-size: 18px;
    }
    .rentax-cat-banner__arrow {
        opacity: 1;
        transform: translateY(0);
    }
    .rentax-scene-list {
        gap: 8px;
    }
    .rentax-scene-chip {
        padding: 10px 16px;
        font-size: 13px;
    }
}


/* ============================================================
   09. 吸着サイドリンク（トップページ）
============================================================ */
.rentax-sticky-side {
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 100;
    writing-mode: vertical-rl;
}
.rentax-sticky-side__link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px 12px;
    background: var(--color-main-dark);
    color: var(--color-accent);
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    border-radius: 8px 0 0 8px;
    box-shadow: -2px 2px 12px rgba(0, 0, 0, 0.3);
    transition: background 0.25s ease, color 0.25s ease;
}
.rentax-sticky-side__link:hover {
    background: var(--color-accent);
    color: var(--color-main-dark);
    box-shadow: -4px 4px 16px rgba(253, 216, 53, 0.4);
}
.rentax-sticky-side__link::before {
    content: "\25BC";
    writing-mode: horizontal-tb;
    display: block;
    font-size: 10px;
    line-height: 1;
    text-align: center;
    margin-left: 2px;
}

@media screen and (max-width: 768px) {
    .rentax-sticky-side {
        display: none;
    }
}


/* ============================================================
   10. ピックアップ事例カード（トップページ）
============================================================ */
.rentax-pickup-cases {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 32px;
}

.rentax-pickup-card {
    display: block;
    text-decoration: none;
    color: var(--color-text-base);
    background: var(--color-white);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.rentax-pickup-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.rentax-pickup-card__image {
    aspect-ratio: 16 / 10;
    overflow: hidden;
}
.rentax-pickup-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}
.rentax-pickup-card:hover .rentax-pickup-card__image img {
    transform: scale(1.05);
}
.rentax-pickup-card__placeholder {
    width: 100%;
    height: 100%;
    background: var(--color-bg-light);
}

.rentax-pickup-card__body {
    padding: 20px;
}

.rentax-pickup-card__tag {
    display: inline-block;
    padding: 3px 10px;
    background: var(--color-accent);
    color: var(--color-main-dark);
    font-size: 11px;
    font-weight: 700;
    border-radius: 3px;
    margin-bottom: 8px;
}

.rentax-pickup-card__title {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    margin: 0 0 8px;
    color: var(--color-text-dark);
}

.rentax-pickup-card__excerpt {
    font-size: 13px;
    color: var(--color-text-medium);
    line-height: 1.6;
    margin: 0;
}

.rentax-pickup-more {
    text-align: center;
    margin-top: 32px;
}

@media screen and (max-width: 768px) {
    .rentax-pickup-cases {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}
