/**
 * Theme Name: Digech Child
 * Description: Digech Child theme
 * Author: Digech
 * Template: blocksy
 * Text Domain: digech-child
 */





/* --- マイアカウントページの名前 --- */
.ct-account-user-box {
    font-weight: 700;
}


/* --- FSwooページ --- */
.fs_client_portal .fs_ticket_wrapper .fs_tickets_container .fs_filters_section .fs_filter_container .fs_filter_right .fs_search_filter .search-input .el-input__wrapper .el-input__inner {
    margin: 0;
}


 :root[data-color-mode*="dark"]  .fs_client_portal {
    --fs-primary: #0051dd;
    --fs-primary-dark: #2563eb;

    --fs-white: #121212;
    --fs-black: #ffffff;

    --fs-text-strong: #fff;
    --fs-text-sub: #d1d5db;
    --fs-text-light: #9ca3af;
    --fs-text-inactive: #6b7280;

    --fs-border-soft: #2d2d2d;
    --fs-border-light: #3a3a3a;

    --fs-bg-weak: #1a1a1a;
    --fs-bg-light: #202020;
    --fs-bg-lighter: #2a2a2a;
    --fs-bg-white: #121212;
    --fs-bg-hover: #2d2d2d;

    --fs-global-component-bg: #121212;
}

:root[data-color-mode*="dark"] .el-table {
    --el-table-border-color: #3a3a3a;
    --el-table-text-color: #e0e0e0;
    --el-table-header-text-color: #bdbdbd;

    --el-table-row-hover-bg-color: #2a2a2a;
    --el-table-current-row-bg-color: #303030;

    --el-table-header-bg-color: #1e1e1e;
    --el-table-bg-color: #121212;
    --el-table-tr-bg-color: #121212;
    --el-table-expanded-cell-bg-color: #1a1a1a;

    --el-table-fixed-box-shadow: none;
    --el-table-fixed-left-column: inset 10px 0 10px -10px rgba(0,0,0,.7);
    --el-table-fixed-right-column: inset -10px 0 10px -10px rgba(0,0,0,.7);
}
















:root[data-color-mode*="dark"] {
    color-scheme: dark;

    /* Element Plus */
    --el-color-white: #121212;
    --el-color-black: #ffffff;

    --el-bg-color: #121212;
    --el-bg-color-page: #0f0f0f;
    --el-bg-color-overlay: #1a1a1a;

    --el-text-color-primary: #f3f4f6;
    --el-text-color-regular: #d1d5db;
    --el-text-color-secondary: #9ca3af;
    --el-text-color-placeholder: #6b7280;
    --el-text-color-disabled: #525252;

    --el-border-color: #3a3a3a;
    --el-border-color-light: #444444;
    --el-border-color-lighter: #555555;
    --el-border-color-extra-light: #666666;

    --el-fill-color: #1e1e1e;
    --el-fill-color-light: #252525;
    --el-fill-color-lighter: #2d2d2d;
    --el-fill-color-extra-light: #353535;
    --el-fill-color-blank: #121212 !important;

    --el-mask-color: rgba(0, 0, 0, 0.8);
    --el-overlay-color: rgba(0, 0, 0, 0.75);

--el-input-text-color: #d1d5db !important;
}

 :root[data-color-mode*="dark"] .fs_client_portal {
    /* Fluent Support */
    --fs-primary: #0051dd;
    --fs-primary-dark: #2563eb;
    --fs-primary-hover: #60a5fa;

    --fs-white: #121212;
    --fs-black: #ffffff;

    --fs-global-component-bg: #121212;

    --fs-text-strong: #fff;
    --fs-text-sub: #d1d5db;
    --fs-text-light: #9ca3af;
    --fs-text-lighter: #6b7280;
    --fs-text-muted: #9ca3af;
    --fs-text-dark: #f3f4f6;
    --fs-text-inactive: #6b7280;

    --fs-border-soft: #333333;
    --fs-border-soft-rgb: 51, 51, 51;
    --fs-border-light: #404040;
    --fs-border-lighter: #4a4a4a;
    --fs-border-input: #555555;
    --fs-border-input-hover: #666666;
    --fs-border-focus: #3b82f6;

    --fs-bg-weak: #181818;
    --fs-bg-light: #1e1e1e;
    --fs-bg-lighter: #252525;
    --fs-bg-white: #121212;
    --fs-bg-disabled: #2d2d2d;
    --fs-bg-hover: #303030;

    --fs-status-success-bg: #153d2b;
    --fs-status-info-bg: #1a2f5d;
    --fs-status-error-bg: #4b1f24;

    --fs-inline-btn-text: #f3f4f6;
    --fs-btn-text: #000;

    --fs-link: #60a5fa;
    --fs-link-hover: #93c5fd;

    --fs-icon: #d1d5db;
    --fs-icon-light: #9ca3af;
}


:root[data-color-mode*="dark"] .el-select__placeholder {
    color: #ffffff !important;
}














:root[data-color-mode*="dark"] #mceu_18 {
    background: #1e1e1e !important;
    border-color: #3a3a3a !important;
}

:root[data-color-mode*="dark"] #mceu_18 .mce-toolbar-grp,
:root[data-color-mode*="dark"] #mceu_18 .mce-toolbar,
:root[data-color-mode*="dark"] #mceu_18 .mce-statusbar {
    background: #1e1e1e !important;
    border-color: #3a3a3a !important;
}

:root[data-color-mode*="dark"] #mceu_18 .mce-btn,
:root[data-color-mode*="dark"] #mceu_18 .mce-btn button {
    background: #1e1e1e !important;
    color: #fff !important;
}

:root[data-color-mode*="dark"] #mceu_18 .mce-ico,
:root[data-color-mode*="dark"] #mceu_18 .mce-caret {
    color: #fff !important;
}

:root[data-color-mode*="dark"] #mceu_18 .mce-edit-area {
    background: #121212 !important;
    border-color: #3a3a3a !important;
}





:root[data-color-mode*="dark"] .html-active .switch-html,
:root[data-color-mode*="dark"] .tmce-active .switch-tmce {
    background: #777;

    border-bottom-color: #777;
}



























.svg-img {
  fill: currentColor;
}

 /*---ログインモーダルリンク---*/
.ct-account-modal a {
    color: #2872fa!important;
}

 /*---モバイルフッターメニュー---*/
@media (max-width: 689px) {
  .ct-shortcuts-bar-items {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    overflow: hidden !important;
  }

  .ct-shortcuts-bar-items > li {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: auto !important;
  }

  .ct-shortcuts-bar-items > li > a {
    width: 100% !important;
    min-width: 0 !important;
    white-space: nowrap !important;
  }
}

 /*---woocommerce支払いページ---*/
.woocommerce-checkout-payment .place-order button[type=submit] ,
.ct-woocommerce-cart-form .cart_totals .checkout-button {
    width: 100%;
    height: 60px;
    font-size: 1.2rem;
}

.woocommerce-checkout-payment .place-order .woocommerce-terms-and-conditions-wrapper {
    font-size: 12px!important;
    margin-bottom: 15px!important;
}

.woocommerce-checkout-payment .place-order {
    margin-top: 15px!important;
}

.wc-stripe-gateway-desc {
    margin-bottom: 15px!important;
    color:#3eb370;
}


.Label {
    color: #000000 !important;
}

:root[data-color-mode*="dark"] .Label {
    color: #ffffff !important;
}


 /*---woocommerce新規登録ページ---*/
.woocommerce-password-strength {
    color: #fff;
    border-radius: 7px;
}

.woocommerce-password-strength.short {
    background-color: #ff3f3f!important;
}

.woocommerce-password-strength.bad {
    background-color: #ea5506!important;
}

.woocommerce-password-strength.good {
    background-color: #f39800!important;
}

.woocommerce-password-strength.strong {
    background-color: #3eb370!important;
}




 /*---上部から追加---*/

 /*---ダークモード：PWAボタン---*/
  /*
 :root[data-color-mode*="dark"] .pwa-buttons button {
    background: #222;
    color: #fff;
}
*/

/*---フッターウィジェットSNS---*/
.custom-social-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 30px;
  margin-bottom: 30px;
}

.custom-social-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  margin: 0;
  color: var(--theme-text-color);
  text-decoration: none;
  line-height: 1;
  transition: opacity 0.2s ease;
}

.custom-social-links a:hover {
  opacity: 0.9;
}

.custom-social-icon {
  display: block;
  width: 30px;
  height: 30px;
  fill: currentColor;
}



/*---フッターウィジェットSNSタイトル---*/
h3.custom-social {
  font-size: .8rem;
  font-weight: 400;
  margin-bottom: 20px;
}


/*---ウィジェット商品タイトル制御---*/
.product_list_widget .product-data > a.product-title {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
    


/* WooCommerce Multi Currency
   Blocksy Language Switcher風
-------------------------------------------------- */

.ct-header-text .entry-content > p {
    margin: 0;
}

.wmc-currency {
    position: relative;
    display: inline-flex;
    align-items: center;
}

/* 通貨セレクト */
.wmc-currency .wmc-select-currency-js {
    appearance: none;
    -webkit-appearance: none;

    margin: 0;
    padding: 0 13px 0 0;

    border: 0;
    outline: none;
    background: transparent;
    box-shadow: none;

    font-family: var(--theme-font-family);
    font-size: 12px;
    font-weight: 400;
    font-style: var(--theme-font-style, inherit);
    line-height: var(--theme-line-height);
    letter-spacing: var(--theme-letter-spacing);
    text-transform: capitalize;

    color: inherit;
    cursor: pointer;

    transition: color .2s ease, opacity .2s ease;
}



/* ▼ 矢印 */
.wmc-currency::after {
    content: "";

    position: absolute;
    right: 2px;
    top: 50%;

    width: 6px;
    height: 6px;

    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;

    transform: translateY(-65%) rotate(45deg);

    pointer-events: none;

    transition:
        opacity .2s ease,
        transform .2s ease;
}

/* ホバー */
.wmc-currency:hover .wmc-select-currency-js,
.wmc-currency:hover::after {
    opacity: .7;
}

/* フォーカス時 */
.wmc-currency .wmc-select-currency-js:focus,
.wmc-currency .wmc-select-currency-js:focus-visible {
    outline: none;
    box-shadow: none;
}

/* option */
.wmc-currency .wmc-select-currency-js option {
    font-family: var(--theme-font-family);
    font-size: 12px;
    font-weight: 400;
}

/* 商品ページ矢印非表示 */
.wmc-sub-currency .wmc-currency::after {
    display: none;
}

/* ダークモードCURCY currency switcher - dark mode */
[data-color-mode="dark"] .wmc-currency select.wmc-select-currency-js option {
    background-color: #1f1f1f;
    color: #ffffff;
}










 /*---ダークモード：エラー通知---*/
 [data-products] .entry-meta {
    --theme-text-transform: none;
}


 /*---ダークモード：エラー通知---*/
:root[data-color-mode*="dark"] :is(.woocommerce-info,.woocommerce-error,.woocommerce-message,.woocommerce-thankyou-order-received) {
  background: #172554;
}

 /*---ダークモード：いいね！---*/
:root[data-color-mode*="dark"] .ct-woo-card-extra .ct-icon-container svg {
  fill: #e198b4;
}

 /* 単一商品ページ：お支払い方法 */
 .ct-payment-methods  {
    border: none;
    background: #f3f3f3;
    border-radius: 7px;
}
:root[data-color-mode*="dark"]  .ct-payment-methods  {
    background: #222222;
}

 /* 商品メタ */
:is(.product .entry-summary-items,.ct-quick-view-card) .product_meta>span {
    text-transform: none!important;
}



 /* CURCY 通貨セレクター */
.wmc-currency .wmc-select-currency-js {
    height: 40px;
    font-size: 12px;
}

/* Blocksy特有ウィジェット */
.ct-widget li {
    line-height: 2;
}



/* =========================================
   全頁共通
   ========================================= */
 body, p {
    font-weight: 450!important;
    line-height: 1.6!important;
    letter-spacing: 0.02em;
}

.tb {
  margin: 0 auto;
  max-width: 600px;
  padding: 20px 0 50px;
}

.tb h2 {
  font-size: 2em;
  margin: 30px 0;
}

.tb h3 {
  margin: 24px 0;
}

.tb-1 {
  padding: 50px 0;
}

.tb-2 {
  margin: 0 auto;
  max-width: 800px;
  padding: 20px 0 50px;
}

/*---テーブル---*/
table {
  margin-bottom: 20px!important;
}

.table-1 {
  width: 100%;
  table-layout: fixed;
  font-size: 17px;
}

.table-1 th,
.table-1 td {
  width: 50%;
}

/*フォント*/
body, h1, h2, h3, h4, h5, h6, .heading-font, .off-canvas-center .nav-sidebar.nav-vertical > li > a, .nav > li > a {
    font-family:
    "Yu Gothic", "Hiragino Kaku Gothic", "Meiryo",
    -apple-system, system-ui, "Segoe UI", Helvetica, Arial,
    "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif!important;

}

.single-description{
  margin:50px 0 30px;
}


/* =========================================
   CPTアーカイブページ
   ========================================= */

.portfolio-archive,
.member-archive,
.affiliation-archive,
.project-archive,
.recruit-archive,

.portfolio-single,
.member-single,
.affiliation-single,
.project-single,
.recruit-single{
    width: var(--theme-container-width);
    max-width: var(--theme-normal-container-max-width);
    margin-inline: auto;
    box-sizing: border-box;
}


.portfolio-archive .content-wrapper,
.member-archive .content-wrapper,
.affiliation-archive .content-wrapper,
.project-archive .content-wrapper,
.recruit-archive .content-wrapper {
    display: flex;
    gap: 40px;
    box-sizing: border-box;
}


.portfolio-archive .content-area,
.member-archive .member-main,
.affiliation-archive .content-area,
.project-archive .content-area,
.recruit-archive .content-area {
    flex: 1 1 auto;
    min-width: 0;
    box-sizing: border-box;
}


.portfolio-archive .portfolio-grid,
.member-archive .member-grid,
.affiliation-archive .affiliation-grid,
.project-archive .portfolio-grid,
.recruit-archive .recruit-grid {
    box-sizing: border-box;
}








/* ==========================
   FF::fluentform
========================== */

.fluentform .ff-el-input--label {
    margin-bottom: 15px;
    margin-top: 30px;
}

.fluentform .ff-el-group {
    margin-bottom: 5px;
}

.fluentform .ff-el-tc {
    margin-top: 20px;
    margin-bottom: 20px;
}

/*---タイトルラベル---*/
.fluentform .ff-el-input--label {
    margin-bottom: 15px;
}

.ff-default .ff-el-input--label label {
    font-size: 1.2em;
    font-weight: 700 !important;
}

.fluentform .ff-sub-label {
    font-size: 1em;
    font-weight: 700;
    padding: 10px 0;
}

.fluentform .ff-el-ratings label {
    margin-bottom: 3px;
}


/*---項目ラベル---*/
.tb label{
  font-size: 1em;
  font-weight: 500;
}

/*---必須ラベル---*/
/*
.fluentform .ff-el-input--label.ff-el-is-required.asterisk-left label:before,
.fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label:after  {
    content: "\5fc5\9808" !important;
    display: inline-block;
    margin-left: 6px;
    padding: 1px 8px;
    background: #b91c1c !important;
    color: #fff !important;
    font-size: 15px;
    font-weight: 700;
    border-radius: 10px;
    vertical-align: middle;
}
    */

/*---小ラベル---*/
.ff-small-label{
  font-size: .8em;
}


/*---保守タイトル---*/
.fluentform .ff-operation-label {
    font-size: 1.2em;
    font-weight: 700;
    padding: 10px 0;
}

/*---保守ラベル---*/
.ff-main-label{
  font-size: 1em;
  padding: 10px 15px;
  background: #DBEAFE;
  border-radius:10px;
}

/*ダークモード*/
:root[data-color-mode*="dark"]  .ff-main-label{
  background: #172554;
}

/*---【ライト】保守プラン---*/
.operation-lite{
  padding: 10px 15px;
  background: #777;
  border-radius:10px;
}

.operation-lite label{
  color: #fff !important;
  font-size:19px;
  font-weight: 700;
}

/*---【スタンダード】保守プラン---*/
.operation-standard{
  padding: 10px 15px;
  background: #16a34a;
  border-radius:10px;
}

.operation-standard label{
  color: #fff !important;
  font-size:19px;
  font-weight: 700;
}

/*---【スタンダード】保守プラン---*/
.operation-pro{
  padding: 10px 15px;
  background: #d97706;
  border-radius:10px;
}

.operation-pro label{
  color: #fff !important;
  font-size:19px;
  font-weight: 700;
}

/*---チェックボックスサイズ---*/
.fluentform .ff-el-form-check-label .ff-el-form-check-input {
    position: relative;
    top: -2px;
    vertical-align: middle;
    transform: scale(1.5);
    margin-right: 6px;
}

/*---入力エリアフォントファミリー---*/
.ff-default .ff-el-form-control {
    font-family:
    "Yu Gothic", "Hiragino Kaku Gothic", "Meiryo",
    -apple-system, system-ui, "Segoe UI", Helvetica, Arial,
    "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
    line-height: 1.8;   
}

/*---送信ボタン---*/
.ff-default .ff-btn-lg {
  margin-top: 10px;
    padding: 10px 16px;
    font-weight: 700;
    width: 100%;
}

.ff-default textarea {
    min-height: 300px !important;
}

/*---入力エリアフォントファミリー---*/
.ff-default .ff-el-form-control {
    font-family:
    "Yu Gothic", "Hiragino Kaku Gothic", "Meiryo",
    -apple-system, system-ui, "Segoe UI", Helvetica, Arial,
    "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif!important;
    line-height: 1.8;   
}





/* =========================================
   見積ページ金額下部表示 Sticky Bar：FF fluent form
========================================= */

.ff-el-group:has(#ff_5_numeric_field) {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;

    z-index: 9999;
    background: #f3f3f3;
    padding: 12px 20px;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    box-sizing: border-box;
    margin-bottom: 0;
}

/* ラベル */
#label_ff_5_numeric_field {
    font-size: 12px;
    font-weight: 500;
    opacity: .9;
    line-height: 1;
    margin-bottom: 4px;
}

/* 金額表示 */
#ff_5_numeric_field {
    width: auto;
    max-width: 150px;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    font-size: 22px;
    font-weight: 700;
    color: #000;
    text-align: center;
    padding: 0 !important;
    margin: 0 !important;
    pointer-events: none;
}

/* 円～表示 */
.ff-el-group:has(#ff_5_numeric_field) .ff-el-input--content {
    display: flex;
    align-items: baseline;
    justify-content: center;
}

.ff-el-group:has(#ff_5_numeric_field) .ff-el-input--content::after {
    content: "円～";
    font-size: 18px;
    font-weight: 500;
    color: #777;
    margin-left: 4px;
}



/* Stickyバー内のラベルだけ上書き */
.ff-el-group:has(#ff_5_numeric_field) .ff-el-input--label {
    margin-top: 0 !important;   /* 上の余白リセット */
    margin-bottom: 4px !important; /* 下の余白 */
}

/* 送信ボタン */
.ff-btn-submit {
    height: 60px;
}

/* スマホで送信ボタンが隠れないように */
#fluentform_5 {
    padding-bottom: 100px;
}

/* スマホ対応 */

@media (max-width: 549px) {
/* 金額表示 */
#ff_5_numeric_field {
    font-size: 20px;
}
}


/* ダークモード */
:root[data-color-mode*="dark"]  .ff-el-group:has(#ff_5_numeric_field) {
    background: #222222;
}

:root[data-color-mode*="dark"]  #ff_5_numeric_field {
    color: #ffffff;
}











/* ==========================
   アーカイブ商品:FacetWP
========================== */

.facetwp-facet-search .facetwp-input-wrap{
    width: 100%;
    display:block;
}

.facetwp-facet-search input.facetwp-search{
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
    border-radius: 10px;
}


/* チェックボックス：画像からCSSに変更 */
.facetwp-checkbox {
    position: relative;
    padding-left: 25px!important;
    background: none !important;
}

.facetwp-checkbox::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 18px;
    height: 18px;
    transform: translateY(-50%);
    border: 1px solid #999;
    border-radius: 3px;
    background: #fff;
}

.facetwp-checkbox.checked::before {
    background: #2563eb;
    border-color: #2563eb;
}

.facetwp-checkbox.checked::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 50%;
    width: 5px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: translateY(-60%) rotate(45deg);
}


/*---ダークモード---*/
:root[data-color-mode*="dark"] .facetwp-icon {
  filter: brightness(0) invert(1) brightness(1.2);
}

/* ==========================
   シングル商品：EPO 合計金額下部表示
========================== */

/* ---EPO--- */
.tc-row h3 {
  font-size: 19px;
  padding: 13px 0 !important;
  margin: 10px 0 20px;
}

.tc-row h4 {
  margin: 10px 0;
}

.tc-extra-product-options label,
.tc-extra-product-options legend {
    font-size: 1rem;
}

.tm-extra-product-options .tmcp-field,
.tm-extra-product-options .tm-epo-field {
  border-radius: 10px;
}

.tm-description {
  background: #DBEAFE;
  padding: 20px 15px !important;
  border-radius: 10px;
  margin: 10px 0;
}

.tm-description p {
  font-size: 1em !important;

}

.tm-description ol ol, ol ul, ul ol, ul ul {
    margin: .5em 0 1.5em 0em;
}

/*---チェックボックスサイズ---*/
.tc-input-wrap {
    position: relative;
    top: -2px;
    vertical-align: middle;
    transform: scale(1.5);
    margin-left: 3px;
    margin-right: 6px;
}

/*---必須ラベル---*/
.tm-epo-required.tc-right {
    font-size: 0 !important;
}

.tm-epo-required.tc-right::before {
    content: "必須";
    display: inline-block;
    margin-left: 6px;
    padding: 1px 8px;
    background: #b91c1c;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    border-radius: 10px;

    position: relative;
    top:3px; /* 数値を増やすとさらに下がる */
}

/*---ダークモード---*/
:root[data-color-mode*="dark"] .tm-description{
  background: #172554;
}



/* 商品情報メタラベル */
.meta_label {
  display: inline-block;
  background: #121212;
  color: #fff;
  padding: 3px 13px;
  font-size: 12px;
  margin-bottom: 10px;
}

/* 商品ページツールチップ */
.tc-tooltip {
    color: #16A34A;
}


/* ---金額スティッキーフッターバー--- */
#epo-sticky-cart{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:1001;
    background:#f3f3f3;
    padding:12px 15px;
}

/* 中身の最大幅 */
.epo-sticky-inner{
    width:100%;
    max-width:1150px;
    margin:0 auto;
}

/* 金額 */
.sticky-price-wrap{
    display:flex;
    flex-direction:column;
}

.sticky-label{
    font-size:12px;
    opacity:.9;
}

#sticky-final-price{
    font-size:22px;
    font-weight:700;
    line-height:1.2;
}

/* 数量 */
.sticky-qty{
    display:flex;
    align-items:center;
    gap:8px;
}

.sticky-qty button{
  border-radius: 10px;
    width:50px;
    height:50px;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:0;
    margin:0;

    border:1px solid #ddd;
    background:#FAFAFA;
    cursor:pointer;

    font-size:18px;
    line-height:1;
}

#sticky-qty{
    width:50px;
    height:50px;
    text-align:center;
    border:1px solid #ddd;
    border-radius: 10px;
    margin: 0px;
}

/* ボタン */
#sticky-add-cart{
    background: var(--theme-palette-color-1);
    color: #fff;
    border: none;
    margin: 0;
    padding: 8px 15px;
    cursor: pointer;
    font-weight: 700;
    font-size: 17px;
    border-radius: 10px;
}


/* レスポンシブ：PC（850px以上） */

@media (min-width:850px){

    .epo-sticky-inner{
        display:flex;
        align-items:center;
        width:100%;
    }

    .sticky-price-wrap{
        margin-right:auto;
    }

    .sticky-qty{
        margin-right:20px;
    }

    #sticky-add-cart{
        min-width:220px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
    }

}

/* レスポンシブ：SP・タブレット（849px以下） */

@media (max-width:849px){

    .epo-sticky-inner{

        display:grid;

        grid-template-columns:1fr auto;

        grid-template-areas:
            "price button"
            "qty button";

        gap:8px 15px;

        align-items:center;
    }

    .sticky-price-wrap{
        grid-area:price;
        min-width:0;
    }

    .sticky-qty{
        grid-area:qty;

        display:flex;
        align-items:center;
        gap:6px;
    }

    #sticky-add-cart{
        grid-area:button;

        min-width:140px;

        display:flex;
        align-items:center;
        justify-content:center;
    }

    .sticky-label{
        display:none;
    }

    #sticky-final-price{
        font-size:20px;
        white-space:nowrap;
        line-height:1;
    }

    .sticky-qty button{
        width:30px;
        height:30px;
        padding:0;
    }

    #sticky-qty{
        width:45px;
        height:45px;
        padding:0;
    }

}

/*---ダークモード---*/
:root[data-color-mode*="dark"] #epo-sticky-cart {
    background: #222222;
}

:root[data-color-mode*="dark"] .sticky-qty button  {
    background: #222222;
    color:#fff;
}

:root[data-color-mode*="dark"] .meta_label {
  background: #ffffff;
  color: #000000;
}

/*---EPO注文内容---*/


.tc-epo-metadata {
    display: block !important;
}

.tc-epo-metadata dt,
.tc-epo-metadata dd {
    display: block;
}

.tc-epo-metadata dd {
    margin: 0 0 1em;
}






/* シングル商品ページ */
.product_meta>span {
    padding: 15px 0;
}
.product_meta {
    font-size: .9em;
}



/* =========================================
   上部固定フィルターボタン （CPT、woocommerceアーカイブページ共通対応）
   Mobile FacetWP Sidebar
   ========================================= */

@media (max-width: 999px) {

/* フィルターボタン */

  .mobile-facet-toggle {
    display: block !important;

    position: fixed !important;

    top: 70px;
    left: 0;
    right: 0;

    z-index: 9998;

    width: 100%;
    height: 48px;

    margin: 0 !important;
    padding: 12px 16px;

    border: 0;
    border-radius: 0;

    background: #eeeeee;
    color: #000;

    font-size: 15px;
    text-align: center;

    cursor: pointer;
  }

/* サイドバー */

  #sidebar {

    display: block !important;

    position: fixed !important;

    top: 0;
    left: 0;

    right: auto;

    width: min(90vw, 400px);

    height: 100dvh;

    z-index: 10001;

    margin: 0 !important;

    padding: 60px 20px 30px !important;

    overflow-y: auto;

    box-sizing: border-box;

    background: #fff;

    transform: translateX(-100%);

    transition: transform .3s ease;


  }


  /* ダークモード */

    :root[data-color-mode*="dark"] .mobile-facet-toggle {
    background: #222222;
    color: #fff;
  }


   :root[data-color-mode*="dark"] #sidebar {

    background: #121212;


  }



  /* 開いた状態 */

  #sidebar.mobile-facet-open {

    transform: translateX(0);

  }


/* 閉じるボタン */

  .mobile-facet-close {

    position: absolute;

    top: 12px;
    right: 15px;

    z-index: 10;

    padding: 0;

    border: 0;

    background: transparent;

    font-size: 30px;

    line-height: 1;

    cursor: pointer;

  }

  /* ダークモード */

    :root[data-color-mode*="dark"] .mobile-facet-close {

    color: #ffffff;

  }


/* 背景 */

  .mobile-facet-overlay {

    display: none;

    position: fixed;

    inset: 0;

    z-index: 10000;

    background: rgba(0,0,0,.4);

  }


  .mobile-facet-overlay.is-open {

    display: block;

  }

}


/* PC */

@media (min-width: 1000px) {

  .mobile-facet-toggle,
  .mobile-facet-overlay,
  .mobile-facet-close {

    display: none !important;

  }

}

/* サイドバーデザイン */
#sidebar h3 {

    font-size: 19px;

  }






/* =========================================
   固定ページデザイン
   ========================================= */
.dg-wrap img {
    border-radius: 10px;
}


.entry-content.is-layout-constrained > .dg-wrap {
    width: 100%;
    max-width: none;
    margin: 0 !important;
    padding: 0 !important;
}

.dg-wrap .container {
    width: var(--theme-container-width);
    max-width: var(--theme-normal-container-max-width);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.ct-container-full:has(.dg-wrap) {
    padding-top: 0 !important;
}


/* Aboutページ */

.ct-container-full:has(.about-hero) {
    padding-top: 0 !important;
}

.entry-content.is-layout-constrained > .about-hero {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    box-sizing: border-box;
}

.about-container {
    width: var(--theme-container-width);
    max-width: var(--theme-normal-container-max-width);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

/* 【blocksy特有】 */
.ct-footer {
    margin-top: 50px;
}
a {
    text-decoration: none!important;
}

/* 支払い方法 */
.pay-brands {
    display: flex;
    align-items: center;
    gap: 3px;
    flex-wrap: wrap;
}





























 /* =========================
  ★【スタッフ・ヘアスタイル共通】情報単一ページ
========================= */

/* --- コンテナ --- */

/* コンテナデザイン */

.member-wrapper, .portfolio-wrapper, .affiliation-wrapper, .recruit-wrapper {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}

.member-photo, .portfolio-photo, .affiliation-photo, .recruit-photo {
  width: 50%;
}

.member-photo img, .portfolio-photo img, .affiliation-photo img, .recruit-photo img {
  width: 100%;
  height: auto;
  display: block;
}

.member-info, .portfolio-info, .affiliation-info, .recruit-info {
  width: 50%;
}

@media (max-width: 1024px) {
  .member-wrapper, .portfolio-wrapper, .affiliation-wrapper, .recruit-wrapper {
    flex-direction: column;
  }

  .member-photo,
  .member-info,
  .portfolio-photo,
  .portfolio-info,
  .affiliation-photo,
  .affiliation-info,
  .recruit-photo,
  .recruit-info {
    width: 100%;
  }
}

/* --- ギャラリーコンテンツ --- */

/* ギャラリーデザイン */

.gallery-main {
  margin-bottom: 10px;
}

.gallery-main img,
.gallery-thumbs img {
  width: 100%;
  height: auto;
  display: block;
}

.gallery-main {
  width: 100%;
}

.swiper-slide {
  overflow: hidden;
}

.gallery-thumbs .swiper-slide {
  width: 80px;
  opacity: 0.5;
  cursor: pointer;
}

.gallery-thumbs .swiper-slide-thumb-active {
  opacity: 1;
}


/* スワイパーデザイン */

/* 制御【重要】 */
.gallery-main .swiper-slide {
  width: 100% !important;
}
.gallery-main img {
  width: 100%;
  height: auto;
  display: block;
}

.swiper-button-next::after,
.swiper-button-prev::after {
  content: ""!important;
}
.swiper-button-next,
.swiper-button-prev {
  width: 44px;
  height: 44px;
  width: calc(var(--swiper-navigation-size) / 50 * 50)!important;
  background: rgba(119, 119, 119, 0.5);
  border-radius: 50%;

}

/* 右矢印 */
.swiper-button-next::before {
  content: "";
  border: solid #fff;
  border-width: 0 3px 3px 0;
  display: inline-block;
  padding: 6px;
  transform: rotate(-45deg);
}

/* 左矢印 */
.swiper-button-prev::before {
  content: "";
  border: solid #fff;
  border-width: 0 3px 3px 0;
  display: inline-block;
  padding: 6px;
  transform: rotate(135deg);
}

/* スライド操作時のUX向上 */
 /* スライド操作時の選択防止 */
.swiper-wrapper,
.swiper-slide {
  user-select: none;        /* テキストや画像の選択禁止 */
  -webkit-user-select: none;
  -ms-user-select: none;
  -moz-user-select: none;
}

/* Next / Prev ボタンの選択禁止と画像ドラッグ防止 */
.swiper-button-next,
.swiper-button-prev {
  user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  -moz-user-select: none;

  -webkit-user-drag: none;  /* 画像のドラッグ防止 */
  cursor: pointer;
}

/* モバイルスワイプの快適化 */
.swiper-container {
  touch-action: pan-y; /* 縦スクロールはOK、横スワイプはSwiperが処理 */
}

/* 万が一選択色が残る場合に透明化 */
.swiper-slide::selection,
.swiper-button-next::selection,
.swiper-button-prev::selection {
  background: transparent;
}

@media (max-width: 1024px) {
.f-button.is-arrow.is-prev, .f-button.is-arrow.is-next {
  display: none!important;
}
}



/* --- 情報コンテンツ --- */

/* タイトル */
.member-name, .portfolio-name, .affiliation-name, .recruit-name {
  font-size: 25px;
  margin-bottom: 15px;
}

/* スタッフ役職 */
.member-position {
  font-size: 13px;
  margin-top: 5px;
  letter-spacing: 0.05em;
}

/* 情報ブロック */
.member-block, .portfolio-block, .affiliation-block, .recruit-block {
  margin-top: 20px;
}

/* 情報ラベル */
.member-label, .portfolio-label, .affiliation-label, .recruit-label {
  display: inline-block;
  background: #000;
  color: #fff;
  padding: 3px 13px;
  font-size: 12px;
  margin-bottom: 10px;
  border-radius: 10px;
}

/* ダークモード */
:root[data-color-mode*="dark"] .member-label,
:root[data-color-mode*="dark"] .portfolio-label,
:root[data-color-mode*="dark"] .affiliation-label,
:root[data-color-mode*="dark"] .recruit-label {
  display: inline-block;
  background: #333;
}

/* 情報内容 */
.member-content, .portfolio-content, .affiliation-content, .recruit-content {
  font-size: 15px;
}

/* SNSアイコン */
.member-sns, .affiliation-sns {
  display: flex;
  gap: 25px;
  margin: 15px 0 25px;
}

.sns-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
}

.sns-icon {
  width: 20px;
  height: 20px;
  fill: #121212;
  transition: 0.3s;
}

.sns-link:hover .sns-icon {
  opacity: 0.6;
}

/* 予約ボタン */
.member-booking, .affiliation-booking {
  margin-bottom: 25px;
}

.member-booking .btn, .affiliation-booking .btn {
  display: inline-block;
  padding: 13px 30px;
  background: #121212;
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
  border-radius: 3px;
  transition: 0.3s;
}

.member-booking .btn:hover, .affiliation-booking .btn:hover {
  opacity: 0.7;
}


/* レスポンシブ */
@media (max-width: 1024px) {
.member-name, .member-position, .member-booking {
  text-align: center!important;
}
.member-sns {
  justify-content: center;
}
}

/* 関連 */
.related-block {
  margin-top: 60px;
}

.related-title {
  text-align: left;
}





/* =========================
  情報一覧ページ
========================= */

/* --- 固定ページ --- */

/* PC */
.member-grid-1, .portfolio-grid-1, .affiliation-grid-1, .recruit-grid-1 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  margin: 39px 0;
}

/* タブレット */
@media (max-width: 1024px) {
  .container .member-grid-1, .container .portfolio-grid-1, .container .affiliation-grid-1, .container .recruit-grid-1 {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

/* スマホ */
@media (max-width: 549px) {
  .container .member-grid-1, .container .portfolio-grid-1, .container .affiliation-grid-1, .container .recruit-grid-1 {
    grid-template-columns: 1fr;
  }
}


/* --- テンプレート --- */

/* PC */
.member-grid, .portfolio-grid, .affiliation-grid, .recruit-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

/* タブレット */
@media (max-width: 1000px) {

    .member-archive .member-grid,
    .portfolio-archive .portfolio-grid,
    .affiliation-archive .affiliation-grid,
    .recruit-archive .recruit-grid,
    .recruit-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

}

/* スマホ */
@media (max-width: 690px) {

    .member-archive .member-grid,
    .portfolio-archive .portfolio-grid,
    .affiliation-archive .affiliation-grid,
    .recruit-archive .recruit-grid,
    .recruit-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

}



/* アーカイブページタイトル */
.single-page-title , .archive-title {
  font-size: 28px;
  margin-bottom: 50px;
}

/* ---カード--- */
.member-card, .portfolio-card, .affiliation-card, .recruit-card {
  display: block;
  margin-bottom: 20px;

  /* 滑らかに動かすための設定 */
  transition: transform 0.3s ease; /* transformのみアニメーション */
  will-change: transform;          /* GPUレイヤーの事前準備 */
  backface-visibility: hidden;     /* レンダリング負荷軽減 */
}

/* クリック領域 */
.member-card-link, 
.portfolio-card-link, .post-card-link, 
.affiliation-card-link, 
.recruit-card-link {
  display: block;
  text-decoration: none;
  color: #000;
}

:root[data-color-mode*="dark"] .member-card-link, 
:root[data-color-mode*="dark"] .portfolio-card-link, 
:root[data-color-mode*="dark"] .post-card-link, 
:root[data-color-mode*="dark"] .affiliation-card-link, 
:root[data-color-mode*="dark"] .recruit-card-link {
  display: block;
  text-decoration: none;
  color: #fff;
}

/* 画像 */
.member-card-img, .portfolio-card-img, .affiliation-card-img, .recruit-card-img {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.member-card-img img, .portfolio-card-img img, .affiliation-card-img img, .recruit-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  /* 必要に応じて軽いtransformを加える場合 */
  transition: transform 0.3s ease;
  will-change: transform;
}

/* ホバー */
.member-card:hover, .portfolio-card:hover, .affiliation-card:hover, .recruit-card:hover {
  transform: translateY(-3px);
}

/* テキスト */
.member-card-body, .portfolio-card-body, .affiliation-card-body, .recruit-card-body {
  margin-top: 12px;
}

.member-card-name, .portfolio-card-name, .affiliation-card-name, .recruit-card-name {
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 0px;
}

.member-card-position {
  font-size: 13px;
}

.portfolio-card-industry {
  font-size:.8em;
  color:#777;
}


/* 予約ボタン */
.member-booking-archive, .portfolio-booking-archive, .affiliation-booking-archive {
  margin-top: 10px;
}

.member-booking-archive .btn {
  display: inline-block;
  padding: 10px 20px;
  background: #121212;
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.05em;
  border-radius: 3px;
  transition: 0.3s;
}

.member-booking-archive .btn:hover {
  opacity: 0.7;
}















/* =========================
  【メンバーページ特化】情報単一ページ
========================= */




/* CPTシングルページ：もっと読むボタン */
.related-more {
    margin-top: 20px;
    text-align: center;
}

.related-more-button {
    display: inline-block;
    padding: 10px 24px;
    border-radius: 10px;
    font-size: 15px;
    text-decoration: none;
    background-color: #000 !important;
color:#fff!important;
font-weight: bold;
}

.related-more-button:hover {
    filter: brightness(80%);
}
/* ダークモード */
:root[data-color-mode*="dark"]  .related-more-button {
    background-color: #fff !important;
color:#000 !important;
}


.cpt-description{
padding-top:39px;
    max-width: 600px;
    margin: 0 auto;
}



.post-grid-entry-title{
    font-size: 18px;
margin-top:8px;
}

.related-grid.post-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
}

/* 1024px以下：2カラム */
@media screen and (max-width: 1024px) {
    .related-grid.post-grid {
    gap: 20px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* 549px以下：1カラム */
@media screen and (max-width: 549px) {
    .related-grid.post-grid {
    gap: 20px;
        grid-template-columns: 1fr;
    }
}




.product-grid.products {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.product-grid.products .product {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 0;
}



@media (max-width: 1024px) {
.product-grid.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}
}

@media (max-width: 549px) {
.product-grid.products {
    grid-template-columns: 1fr;
    gap: 20px;
}
}








/* =========================
  【ポートフォリオ特化】情報単一ページ
========================= */

/* --- コンテナ --- */
.portfolio-archive,
.affiliation-archive,
.recruit-archive,
.member-archive,
.portfolio-single,
.member-single,
.affiliation-single,
.recruit-single {
  margin-top: 50px;
  margin-bottom: 100px;
}

/* サイドバー */
.content-wrapper.has-sidebar {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}

.content-wrapper.has-sidebar .content-area {
  flex: 1;
  min-width: 0;
}

.content-wrapper.has-sidebar .sidebar {
  flex: 0 0 320px;
  max-width: 320px;
}

.content-wrapper.no-sidebar {
  display: block;
}

@media screen and (max-width: 849px) {
    .member-archive-layout {
        flex-direction: column;
    }

    .sidebar {
        width: 100%;
        order: 2; /* メインの下に */
    }

    .member-main {
        order: 1;
    }
}

/* PC */
/*
.member-archive-layout {
  display: flex;
  gap: 2rem;
}
  */



/* SP（1024px以下） */
@media (max-width: 1024px) {

  .member-archive-layout {
    flex-direction: column;
  }

  .sidebar {
    width: 100%;

    margin-bottom: 1rem;
  }

  .sidebar.active {
    display: block;
  }

  .filter-toggle {
    display: block;
    width: 100%;
    padding: 12px;
    background: #333;
    color: #fff;
    border: none;
    margin-bottom: 1rem;
    cursor: pointer;
  }
}

/* PCではボタン非表示 */
@media (min-width: 1025px) {
  .filter-toggle {
    display: none;
  }
}

/* 共通 */













/* PC 左固定（flex方式） */






/* wpc-sticky-buttonsの固定を無効化 */
.wpc-sticky-buttons {
    position: relative !important; /* fixed/stickyを解除 */
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    /* 幅や z-index は変更せずに残す */
}

/* --- 著者メンバー --- */

.portfolio-member-section {
margin-top: 20px;
}

/* メンバーリスト基本スタイル */
.portfolio-member-list, .portfolio-affiliation-list {
  margin: 29px 0 39px;
  display: flex;
  flex-direction: column; /* 縦に並べる */
  gap: 30px; /* メンバー間の行間 */
}

.portfolio-member-item, .portfolio-affiliation-item {
  display: flex;
  align-items: center;
  gap: 20px; /* アイコン・名前・ボタン間 */
}

/* メンバーリストの2人目以降にだけボーダー */
.portfolio-member-item:not(:first-child), .portfolio-affiliation-item:not(:first-child) {
  border-top: 1px solid #ddd;
  padding-top: 30px;
}

.portfolio-member-thumb, .portfolio-affiliation-thumb {
  flex-shrink: 0;
}

.portfolio-member-thumb img, .portfolio-affiliation-thumb img {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  object-fit: cover;

}

.portfolio-member-info, .portfolio-affiliation-info {
  flex: 1;
  min-width: 0;
}

.portfolio-member-name, .portfolio-affiliation-name {
  font-weight: 700;
  font-size: 19px;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.portfolio-member-link, .portfolio-affiliation-link {
  display: flex;
  align-items: center;
  gap: 20px;
  text-decoration: none;
  color: inherit;
  flex: 1;
  min-width: 0;
}

.portfolio-member-booking-personal, .portfolio-affiliation-booking-personal {
    margin-top: 0px !important;
  margin-left: auto; /* ボタンを右寄せ */
  flex-shrink: 0; /* ← ボタンを潰さない */
}

.portfolio-member-booking-personal .btn, .portfolio-affiliation-booking-personal .btn {
  background-color: #121212;
  color: #fff;
  padding: 15px 39px;
  border-radius: 3px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
}

.portfolio-member-booking-personal .btn:hover, .portfolio-affiliation-booking-personal .btn:hover {
  opacity: 0.7;
}

/* スマホ / 549px以下 */
@media (max-width: 549px) {

  .portfolio-member-item, .portfolio-affiliation-item {
    flex-direction: column; /* 縦並び */
    align-items: center;    /* 中央寄せ */
    text-align: center;
  }

  .portfolio-member-link, .portfolio-affiliation-link {
    flex-direction: column; /* 画像＋名前も縦 */
    align-items: center;
    justify-content: center;
  }

  .portfolio-member-thumb, .portfolio-affiliation-thumb {
    width: 100px;
    height: 100px;
  }

  .portfolio-member-thumb img, .portfolio-affiliation-thumb img {
    width: 100%;
    height: 100%;
  }

  .portfolio-member-booking-personal, .portfolio-affiliation-booking-personal {
    margin-top: 10px;
    margin-left: 0;       /* PCの右寄せ解除 */
    width: 100%;
    display: flex;
    justify-content: center;
  }
}


/* =========================
  共通；アイコン表示
========================= */
.post-grid-member-list-archive , .portfolio-grid-member-list-archive {
    margin-top: 5px;
}

/* 各メンバーアイテム */
.post-grid-member-item-archive , .portfolio-grid-member-item-archive {
    margin-bottom: 10px; /* メンバーごとに改行 */
}

/* メンバーリンク */
.post-grid-member-link-archive , .portfolio-grid-member-link-archive {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: inherit;
}

/* メンバーサムネイル */
.post-grid-member-thumb-archive , .portfolio-grid-member-thumb-archive {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    margin-right: 8px;
    object-fit: cover; /* 正方形アイコンでも崩れにくく */
}

/* メンバー名 */
.post-grid-member-name-archive , .portfolio-grid-member-name-archive {
    font-size: 14px;
}







/* --- 著者メンバー --- */

/* メンバーリスト基本スタイル */
.post-member-list, .post-affiliation-list {
  margin: 29px 0 39px;
  display: flex;
  flex-direction: column; /* 縦に並べる */
  gap: 30px; /* メンバー間の行間 */
}

.post-member-item, .post-affiliation-item {
  display: flex;
  align-items: center;
  gap: 20px; /* アイコン・名前・ボタン間 */
}

/* メンバーリストの2人目以降にだけボーダー */
.post-member-item:not(:first-child), .post-affiliation-item:not(:first-child) {
  border-top: 1px solid #ddd;
  padding-top: 30px;
}

.post-member-thumb, .post-affiliation-thumb {
  flex-shrink: 0;
}

.post-member-thumb img, .post-affiliation-thumb img {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  object-fit: cover;

}

.post-member-info, .post-affiliation-info {
  flex: 1;
  min-width: 0;
}

.post-member-name, .post-affiliation-name {
  font-weight: 700;
  font-size: 19px;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.post-member-link, .post-affiliation-link {
  display: flex;
  align-items: center;
  gap: 20px;
  text-decoration: none;
  color: inherit;
  flex: 1;
  min-width: 0;
}

.post-member-booking-personal, .post-affiliation-booking-personal {
    margin-top: 0px !important;
  margin-left: auto; /* ボタンを右寄せ */
  flex-shrink: 0; /* ← ボタンを潰さない */
}

.post-member-booking-personal .btn, .post-affiliation-booking-personal .btn {
  background-color: #121212;
  color: #fff;
  padding: 15px 39px;
  border-radius: 3px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
}

.post-member-booking-personal .btn:hover, .post-affiliation-booking-personal .btn:hover {
  opacity: 0.7;
}

/* スマホ / 549px以下 */
@media (max-width: 549px) {

  .post-member-item, .post-affiliation-item {
    flex-direction: column; /* 縦並び */
    align-items: center;    /* 中央寄せ */
    text-align: center;
  }

  .post-member-link, .post-affiliation-link {
    flex-direction: column; /* 画像＋名前も縦 */
    align-items: center;
    justify-content: center;
  }

  .post-member-thumb, .post-affiliation-thumb {
    width: 100px;
    height: 100px;
  }

  .post-member-thumb img, .post-affiliation-thumb img {
    width: 100%;
    height: 100%;
  }

  .post-member-booking-personal, .post-affiliation-booking-personal {
    margin-top: 10px;
    margin-left: 0;       /* PCの右寄せ解除 */
    width: 100%;
    display: flex;
    justify-content: center;
  }
}

































/*************************************************
ここから上はテンプレ
*************************************************/

/*************************************************
私たちについて：about us
*************************************************/
/* =====================
   Base
===================== */


.about-section {
  margin: 50px 0;
}

.about-section-title {
  font-size: 2.2em;
  margin-bottom: 30px;
}
.about-text {
  margin-bottom: 20px;
}

/* =====================
   Hero Section
===================== */
.about-hero {
  text-align: center;
  background: linear-gradient(135deg, #ffffff 0%, #eef4ff 45%, #dbeafe 100%);
  padding: 100px 20px;
  clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%);
}

.about-hero h1 {
  margin: 0;
  font-size: 3em;
  font-weight: 700;
}
.about-hero p {
  font-size: 1.3em;
  margin-top: 15px;
}

/* =====================
   Feature Cards
===================== */
.about-features {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

@media (max-width: 1000px) {
    .about-features {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}
.about-feature {
  background: #eee;
  border-radius: 12px;
  padding: 30px;
  transition: transform 0.3s, box-shadow 0.3s;
}
.about-feature-title {
  font-size: 1.5em;
  margin-bottom: 15px;
  font-weight: 600;
  color: #2563eb;
}

/* =====================
   Profile Section
===================== */
.about-profile {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  margin-top: 60px;
  align-items: center;
}
.about-profile img {
  border-radius: 50%;
  max-width: 220px;
  width: 100%;
  height: auto;
  border: 4px solid #2563eb;
}
.about-profile-text {
  flex: 1;
  min-width: 280px;
}
.about-profile-text ul {
  padding-left: 20px;
}

/* =====================
   Call to Action
===================== */
.about-cta {
  text-align: center;
  background: linear-gradient(135deg, #ffffff 0%, #eef4ff 45%, #dbeafe 100%);
  padding: 80px 20px;
  margin: 80px 0 100px;
  border-radius: 16px;
  transition: transform 0.3s;
}

.about-cta a {
  display: inline-block;
  margin-top: 20px;
  padding: 14px 40px;
  background: #2563eb;
  color: #fff;
  border-radius: 7px;
  font-weight: 700;
  font-size: 1.1em;
  transition: background 0.3s, color 0.3s;
}
.about-cta a:hover {
  filter: brightness(0.95);
  color: #fff;
}

/* ダークモード */
:root[data-color-mode*="dark"] .about-hero {
  background: linear-gradient(135deg, #000 0%, #555 45%, #999 100%);
}

:root[data-color-mode*="dark"] .about-feature {
  background: #222;
}

:root[data-color-mode*="dark"] .about-cta {
  background: linear-gradient(135deg, #000 0%, #555 45%, #999 100%);
}

:root[data-color-mode*="dark"] .about-cta a {
  color: #fff!important;
}

/* =====================
   Responsive
===================== */
@media(max-width:549px){
  .about-profile {
    flex-direction: column;
    text-align: center;
  }
  .about-profile-text {
    text-align: center;
  }
  .about-hero h1 {
    font-size: 2em;
  }

  .about-section-title{
    font-size: 1.9em;
}
}














.account-user.circle, .normal-title{display:none}
.page-wrapper.my-account.mb{padding:50px 0 50px}







/*************************************************
料金カード
*************************************************/
.digech-pricing-nav-wrap{
  max-width:1170px;
  margin:0px auto;
  padding:0 10px 80px;
}

.digech-pricing-nav{
  display:flex;
  gap:10px;
}

.digech-pricing-nav-card{
  flex:1;
  display:block;
  text-decoration:none;
  color:inherit;
  background:linear-gradient(135deg, #ffffff 0%, #eef4ff 45%, #dbeafe 100%);
  border:1px solid #e5e5e5;
  border-radius:12px;
  transition:all .2s ease;
}

.digech-pricing-nav-card:hover{
  transform:translateY(-4px);
  box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.digech-pricing-nav-content{
  padding:32px;
}

.digech-pricing-nav-card h2{
  margin:0 0 16px;
  font-size:28px;
  line-height:1.4;
  color:#111;
}

.digech-pricing-nav-price{
  margin:0 0 12px;
  font-size:32px;
  font-weight:700;
  color:#2563eb;
  line-height:1.2;
}

.digech-pricing-nav-content p:last-child{
  margin-bottom:0;
  color:#666;
  font-size:15px;
}

/* ダークモード */
:root[data-color-mode*="dark"] .digech-pricing-nav-card{
  background:#222;
  border:1px solid #555;
}

:root[data-color-mode*="dark"] .digech-pricing-nav-content p:last-child{
  color:#f3f3f3;
}

@media (max-width:849px){

  .digech-pricing-nav{
    flex-direction:column;
  }

  .digech-pricing-nav-content{
    padding:24px;
  }

  .digech-pricing-nav-card h2{
    font-size:24px;
  }

  .digech-pricing-nav-price{
    font-size:28px;
  }

}


/*************************************************
料金ページ
*************************************************/
.content-inner{
  padding: 80px 0 100px;
}

.price-hero{
  text-align:center;
}

.price-hero h1{
  font-size:56px;
  line-height:1.2;
}

.price-lead{
  max-width:700px;
  margin:50px auto;
  font-size:20px;
}





.price-inner-1 {
    max-width: 800px;
    margin: 0 auto;
}

.price-table .container {
    padding-left: 0px;
    padding-right: 0px;
}

.price-table table{
  font-size: 20px;
  width:100%;
  border-collapse:collapse;
  background:#fff;
  table-layout: fixed; /* 均等 */
}

.price-table th,
.price-table td{
  padding:16px;
  border:1px solid #000;
  word-wrap: break-word; /* 長い文字列でも折り返す */
}


/* ツールチップ */
.tooltip {
  position: relative;
  display: inline-block;
  margin-left: 6px;
  cursor: help;
}

.tooltip-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  background: #2563eb;
  color: #fff;
  font-size: 15px;
  font-weight: bold;
  border-radius: 50%;
  line-height: 1;
}

/* 上に出す */
.tooltip-text {
  visibility: hidden;
  opacity: 0;
  position: absolute;

  bottom: 130%;
  left: 120%;
  transform: none;

  background: #333;
  color: #fff;
  padding: 6px 8px;
  border-radius: 4px;
  font-size: 15px;
  transition: 0.2s;
  z-index: 10;

  white-space: normal;
  max-width: 220px;
  width: max-content;
  word-break: break-word;
}



/* hoverで表示 */
.tooltip:hover .tooltip-text {
  visibility: visible;
  opacity: 1;
}

@media (max-width: 849px) {
  .tooltip-text {
    max-width: 160px;
    font-size: 11px;
  }
}



/* プライスカード */
.price-cards {
  padding: 60px 0;
}

.price-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.price-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 24px;
  text-align: center;
  position: relative;
  transition: 0.2s;
}

/* ダークモード */
:root[data-color-mode*="dark"] .price-card{
  background:#121212;
}

:root[data-color-mode*="dark"] .price-cards .btn{
  color:#fff!important;
}

.price-cards .container {
    padding-left: 0px;
    padding-right: 0px;
}

.price-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

.price-card h3 {
  font-size: 18px;
  margin-bottom: 10px;
}

.price-card .price {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 20px;
}

.price-card .price span {
  font-size: 15px;
  color: #777;
  font-weight: normal;
}

.price-card ul {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
}

.price-card ul li {
  padding: 6px 0;
  border-bottom: 1px solid #f1f1f1;
  font-size: 14px;
}



.btn.primary {
  background: #1d4ed8;
}

.recommended {
  border: 2px solid #2563eb;
  transform: scale(1.03);
}

.price-card-badge {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  background: #2563eb;
  color: #fff;
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 999px;
}

/* レスポンシブ */
@media (max-width: 900px) {
  .price-grid {
    grid-template-columns: 1fr;
  }

  .recommended {
    transform: none;
  }
}




.price-group td{
  background:#000;
  color:#fff;
  font-weight:700;
}

.price-detail {
  display: block;
  font-size:.8em;
  color:#777;
}

.price-cta{
  text-align:center;
  padding: 60px 0 ;
}

.price-cta h2{
  font-size:42px;
}

/* レスポンシブ */
@media(max-width:549px){

  .price-hero h1{
    font-size:38px;
  }

  .price-cta h2{
    font-size:35px;
  }

}

/* ダークモード */
:root[data-color-mode*="dark"] .price-table table{
  background:#121212;
}

:root[data-color-mode*="dark"] .price-group td{
  background:#555;
}


:root[data-color-mode*="dark"] .price-table th,
:root[data-color-mode*="dark"] .price-table td{
  border:1px solid #555;
}



/*************************************************
トップページ：Top page
*************************************************/
/* ===================================
VARIABLES
=================================== */

:root{

--primary:#2563eb;
--primary-hover:#2563eb;

--text:#111827;
--text-light:#6b7280;

--bg:#f8fafc;
--white:#ffffff;

--border:#e5e7eb;

--radius-sm:10px;
--radius-md:16px;
--radius-lg:24px;

--shadow-sm:0 4px 12px rgba(0,0,0,.04);
--shadow-md:0 15px 35px rgba(0,0,0,.06);
--shadow-lg:0 30px 60px rgba(0,0,0,.12);

--transition:.3s ease;

}

/* ===================================
GLOBAL
=================================== */

html{
scroll-behavior:smooth;
}
/*
body{
font-family:
"Inter",
"Noto Sans JP",
sans-serif;
color:var(--text);
font-size:16px;
line-height:1.8;
font-weight:400;
}
*/
img{
max-width:100%;
height:auto;
display:block;
}

a{
transition:var(--transition);
}

.section-space{
padding:120px 0;
}

.section-space-sm{
padding:80px 0;
}

@media(max-width:849px){

.section-space{
padding:70px 0;
}

.section-space-sm{
padding:50px 0;
}

}

/* ===================================
HEADINGS
=================================== */

.section-label{
display:inline-block;
font-size:12px;
font-weight:700;
letter-spacing:2px;
text-transform:uppercase;
color:var(--primary);
margin-bottom:15px;
}

.section-title{
font-size:48px;
font-weight:800;
line-height:1.25;
margin-bottom:25px;
color:var(--text);
}

.section-desc{
font-size:16px;
color:var(--text-light);
max-width:650px;
}

@media(max-width:849px){

.section-title{
font-size:30px;
}

}

/* ===================================
BUTTONS
=================================== */

.btn-main{
display:inline-flex;
align-items:center;
justify-content:center;

padding:18px 36px;

background:var(--primary);
color:#fff;

border-radius:12px;

font-weight:700;
text-decoration:none;
}

.btn-main:hover{
background:var(--primary-hover);
transform:translateY(-2px);
color:#fff;
}

.btn-outline{
display:inline-flex;
align-items:center;
justify-content:center;

padding:18px 36px;

border:1px solid var(--border);

background:#fff;
color:var(--text);

border-radius:12px;

font-weight:700;
text-decoration:none;
}

.btn-outline:hover

/* ===================================
HERO
=================================== */

.hero-v2{

position:relative;

overflow:hidden;

padding:140px 0;

background:
linear-gradient(
135deg,
#ffffff 0%,
#f8fbff 50%,
#eef4ff 100%
);

}

.hero-v2:before{

content:"";

position:absolute;

width:1200px;
height:1200px;

right:-500px;
top:-350px;

border-radius:50%;

background:
radial-gradient(
circle,
rgba(37,99,235,.12),
transparent 70%
);

}

.hero-wrap{

display:grid;
grid-template-columns:1fr 560px;

gap:80px;

align-items:center;

position:relative;
z-index:2;

}

.hero-label{

font-size:12px;
font-weight:700;

letter-spacing:2px;

color:var(--primary);

display:block;

margin-bottom:20px;

}

.hero-v2 h1{

font-size:72px;
font-weight:800;

line-height:1.1;

margin-bottom:30px;

}

.hero-v2 p{

font-size:18px;
color:var(--text-light);

margin-bottom:40px;

max-width:620px;

}

.hero-btns{

display:flex;
gap:20px;

margin-bottom:40px;

}

.hero-points{

display:flex;
flex-wrap:wrap;
gap:20px;

font-size:14px;
font-weight:600;

}

.hero-card{

background:#fff;

padding:15px;

border-radius:24px;

box-shadow:var(--shadow-lg);

}

.hero-card img{

border-radius:16px;

}

/* ===================================
SERVICES
=================================== */

.services{
background:#fff;
}

.services-layout{

display:grid;

grid-template-columns:350px 1fr;

gap:60px;

align-items:start;

}

.services-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:25px;

}

.service-card{

background:#fff;

padding:40px;

border-radius:20px;

border:1px solid #edf2f7;

transition:var(--transition);

}

.service-card:hover{

transform:translateY(-6px);

box-shadow:var(--shadow-md);

}

.service-icon{

width:70px;
height:70px;

display:flex;

align-items:center;
justify-content:center;

background:
linear-gradient(
135deg,
#eff6ff,
#dbeafe
);

border-radius:18px;

margin-bottom:25px;

font-size:30px;

}

.service-card h3{

font-size:24px;

margin-bottom:15px;

}

.service-card p{

color:var(--text-light);

margin-bottom:20px;

}

/* ===================================
FEATURES
=================================== */

.features{

background:#fafafa;

}

.feature-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:25px;

}

.feature-item{

background:#fff;

padding:30px;

border-radius:16px;

box-shadow:var(--shadow-sm);

}

.feature-item h4{

font-size:18px;

margin-bottom:10px;

}

.feature-item p{

font-size:14px;

color:var(--text-light);

}

/* ===================================
PRICING
=================================== */

.pricing{

background:#0b1220;

color:#fff;

}

.pricing .section-title{
color:#fff;
}

.pricing-grid{

display:grid;

grid-template-columns:repeat(5,1fr);

margin-top:50px;

border:1px solid rgba(255,255,255,.12);

}

.price-box{

padding:45px 25px;

border-right:1px solid rgba(255,255,255,.12);

}

.price-box:last-child{
border-right:none;
}

.price-box h4{

font-size:14px;

color:#cbd5e1;

margin-bottom:20px;

}

.price-box strong{

display:block;

font-size:36px;

font-weight:700;

color:#fff;

}

/* ===================================
SUBSCRIPTION
=================================== */

.subscription-grid{

display:grid;

grid-template-columns:repeat(5,1fr);

gap:20px;

}

.subscription-item{

background:#fff;

padding:35px;

border-radius:16px;

text-align:center;

box-shadow:var(--shadow-sm);

}

/* ===================================
CORE
=================================== */

.core{

position:relative;

overflow:hidden;

background:
linear-gradient(
135deg,
#06111f,
#0f274d
);

color:#fff;

text-align:center;

}

.core:before{

content:"";

position:absolute;

width:1000px;
height:1000px;

top:-400px;
right:-300px;

border-radius:50%;

background:
radial-gradient(
circle,
rgba(37,99,235,.20),
transparent 70%
);

}

.core-content{

max-width:850px;

margin:auto;

position:relative;
z-index:2;

}

.core-content h2{
color:#fff;
}

.core-content p{

color:#d1d5db;

}

/* ===================================
CTA
=================================== */

.cta{

text-align:center;

}

.cta-grid{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

margin-top:40px;

}

/* ===================================
RESPONSIVE
=================================== */

@media(max-width:1024px){

.hero-wrap{
grid-template-columns:1fr;
}

.hero-right{
order:-1;
}

.services-layout{
grid-template-columns:1fr;
}

.services-grid{
grid-template-columns:repeat(2,1fr);
}

.feature-grid{
grid-template-columns:repeat(2,1fr);
}

.pricing-grid{
grid-template-columns:repeat(2,1fr);
}

.subscription-grid{
grid-template-columns:repeat(2,1fr);
}

.hero-v2 h1{
font-size:52px;
}

}

@media(max-width:849px){

.hero-v2{
padding:80px 0;
}

.hero-v2 h1{
font-size:38px;
}

.hero-btns{
flex-direction:column;
}

.hero-btns a{
width:100%;
}

.services-grid,
.feature-grid,
.pricing-grid,
.subscription-grid{
grid-template-columns:1fr;
}

.price-box{
border-right:none;
border-bottom:1px solid rgba(255,255,255,.12);
}

.service-card{
padding:28px;
}

.hero-points{
gap:12px;
font-size:13px;
}

}

















/* ===== HERO ===== */
.dg-hero{
padding:100px 0;
background: linear-gradient(
135deg,
#ffffff 0%,
#eef4ff 45%,
#dbeafe 100%
);
position:relative;
overflow:hidden;
}

.dg-hero-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:center;
}

.dg-hero h1{
font-size:52px;
line-height:1.3;
font-weight:800;
}

.dg-hero p{
color:#000;
margin:20px 0 30px;
}

.dg-label{
font-size:17px;
font-weight:700;
color:#2563eb;
letter-spacing:2px;
display:block;
margin-bottom:15px;
}

.dg-btns{
display:flex;
gap:15px;
flex-wrap:wrap;
}

.price-table .dg-btn-primary {
    background: #2563eb;
    font-size: 15px;
    color: #fff;
    padding: 10px;
    border-radius: 10px;
    display: inline-block;
    font-weight: 700;
    width: 100%;
    text-align: center;
}


.dg-btn-primary{
background:#2563eb;
color:#fff;
padding:14px 28px;
border-radius:10px;
display:inline-block;
font-weight:700;
}

.dg-btn-primary:hover{
color:#fff;
filter: brightness(0.95);
}

.dg-btn-secondary{
color:#2563eb;
border:1px solid #e5e7eb;
background:#fff;
padding:14px 28px;
border-radius:10px;
display:inline-block;
font-weight:700;
}

.dg-btn-secondary:hover{
color:#2563eb;
filter: brightness(0.95);
}

.dg-tags{
display:flex;
gap:15px;
flex-wrap:wrap;
margin-top:39px;
font-size:15px;
color:#555;
}

/* ===== レスポンシブ1024 ===== */
@media(max-width:1024px){

.dg-hero-grid{
display:flex;
flex-direction:column;
}


/* 画像を上に */
.dg-hero-right{
order:-1;
margin-bottom:10px;
}

/* テキストは下 */
.dg-hero-left{
order:1;
}

.dg-hero h1{
font-size:48px;
}



}

/* ===== レスポンシブ849 ===== */
@media(max-width:849px){

.dg-hero h1, .dg-section h2, .dg-core h2{
font-size:39px !important;
}


}

/* ===== グリッド：GRID ===== */
.dg-section{
padding:100px 0;
}

.dg-section.lite-gray{
background:#f3f3f3;
}

.dg-section.gray{
background:#e7e7eb;
}

.dg-section.dark{
background:#0b1220;
color:#fff;
}

.dg-section h2{
font-size:48px;
margin-bottom:15px;
font-weight:800;
}

.dg-section .accordion-grid {
margin-top:50px;
}

.dg-section .woocommerce-loop-product__title{
font-size:17px!important;
margin-bottom:15px;
font-weight:800;
text-align: left;
}
.products-block{
margin:39px 0 50px;;
}

.dg-grid-2{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:20px;
margin:39px 0 50px;
}

.dg-grid-3{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
margin:39px 0 50px;
}

.dg-card{
background:#fff;
padding:35px;
border-radius:16px;
border:1px solid #e5e7eb;
transition:.3s;
text-align: center;
}

.dg-card h3 {
  margin-top: 18px;
}


.dg-card svg, .dg-grid-2 svg, .dg-grid-3 svg, .dg-grid-4 svg, .dg-grid-5 svg {
  width: 40px;
  height: 40px;
  color: #2563eb; /* 線の色 */
}

.dg-card-inner{
  margin-top:30px;
background:#fafafa;
padding:15px;
border-radius:16px;
  display: flex;
  justify-content: center; /* 中の箱を中央寄せ */
}

/* ダークモード */
:root[data-color-mode*="dark"] .dg-card-inner{
background:#222;
}

.dg-card-inner-inner{
  max-width: 250px;
  padding: 15px;
  border-radius: 16px;

}

.dg-card-inner-inner,
.dg-card-inner-inner p,
.dg-card-inner-inner a{
  text-align: left;
}

.dg-card-inner-inner-title{
  font-size: 20px;
  font-weight: 700;
  padding: 3px 0 15px;
  margin-bottom: 0;
  text-align: center !important;
  display: block;
  width: 100%;
}

.card-main {
  font-size:28px;
  color: #2563eb;
  font-weight: 700;
  margin-bottom:5px;
}

.card-sub {
  font-size:18px;

  font-weight: 450;
  margin-bottom:5px;
}

/* ===== レスポンシブ849 ===== */
@media(max-width:549px){

.card-main {
  font-size:22px;
}


}

/*:::ダークモード:::*/

/* 背景 */
:root[data-color-mode*="dark"] .dg-hero {
    background: linear-gradient(135deg, #000 0%, #555 45%, #999 100%);
}

:root[data-color-mode*="dark"] .dg-section.gray {
    background: #111;
}

:root[data-color-mode*="dark"] .dg-section.lite-gray {
    background: #222;
}

:root[data-color-mode*="dark"] .dg-cta.lite-gray {
    background: #222;
}

:root[data-color-mode*="dark"] .dg-section.dark {
    background: #111;
}

:root[data-color-mode*="dark"] .dg-core {
    background: linear-gradient(135deg, #06111f, #121212);
}

:root[data-color-mode*="dark"] .dg-card,
:root[data-color-mode*="dark"] .dg-mini {
    background: #333;
    border: 1px solid #555;
}

:root[data-color-mode*="dark"] .dg-problem-list,
:root[data-color-mode*="dark"] .dg-problem-message {
    background: #222;
    border: 1px solid #555;
    color: #fff;
}

:root[data-color-mode*="dark"] .dg-tags,
:root[data-color-mode*="dark"] .dg-hero p,
:root[data-color-mode*="dark"] .dg-wrap p {
    color: #fff;
}

/* ボタン */
:root[data-color-mode*="dark"] .dg-btn-primary{
color: #fff !important;
}

:root[data-color-mode*="dark"] .dg-btn-secondary{
color:#2563eb !important;
}



/* =========================
   PROBLEM
========================= */
.dg-problem-boxes{
    display:grid;
    grid-template-columns: 8fr 4fr;
    gap:24px;
    margin: 39px 0 50px;
}

.dg-problem-list,
.dg-problem-message {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    padding: 32px 28px 20px;
}

.dg-problem-list ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px 15px;

    list-style: none;
    padding: 0;
    margin: 0;
}

.dg-problem-list li {
    position: relative;
    padding-left: 28px;
    font-size: 19px;
    font-weight: 700;
}

/* チェックマークを目立たせる */
.dg-problem-list li {
    position: relative;
    padding-left: 30px;
}

.dg-problem-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;

    width: 20px;
    height: 20px;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ff4500' d='M20.285 6.709l-11.025 11.025-5.545-5.545 1.414-1.414 4.131 4.131 9.611-9.611z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}



.dg-problem-message {
    text-align: center;

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.dg-problem-message h3 {
    margin: 0 0 16px;
    font-size: 28px;
    font-weight: 700;
}

.dg-problem-message p {
    margin: 0;
    line-height: 1.8;
    font-size: 16px;
}

/* SP */
@media (max-width: 849px) {

    .dg-problem {
        padding: 24px;
    }

    .dg-problem-content {
        padding-left: 0;
        padding-top: 60px;
    }

    .dg-problem-title {
        font-size: 24px;
    }

    .dg-problem-boxes {
        grid-template-columns: 1fr;
    }

    .dg-problem-list ul {
        grid-template-columns: 1fr;
    }

    .dg-problem-message h3 {
        font-size: 22px;
    }

}

/* ===== 特徴：FEATURES ===== */
.dg-grid-4{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
margin: 39px 0 50px;
}

.dg-mini{
background:#ffffff;
padding:30px;
border-radius:12px;
border: 1px solid #e5e7eb;
text-align: center;
}

.dg-mini h3{
font-size: 17px;
margin-top: 18px;
}

.dg-mini p{
margin-bottom: 0px;
font-size: 16px;
}

/* ===== 定期購入：SUBSCRIPTION ===== */
.dg-grid-5{
display:grid;
grid-template-columns:repeat(5,1fr);
gap:20px;
margin: 39px 0 50px;
}

.dg-grid-5 .dg-mini{
background:#ffffff;
padding:30px;
border-radius:12px;
border: 1px solid #e5e7eb;
text-align: center;
}

.dg-grid-5 .dg-mini h3{
font-size: 17px;
margin-top: 18px;
}

.dg-grid-5 .dg-mini p{
margin-bottom: 0px;
font-size: 16px;
}

/* ===== 料金：PRICE ===== */
.dg-price{
display:grid;
grid-template-columns:repeat(5,1fr);
border:1px solid rgba(255,255,255,.1);
margin: 39px 0 50px;
}

.dg-price > div{
padding:35px;
border-right:1px solid rgba(255,255,255,.1);
}

.dg-price strong{
font-size:25px;
display:block;
margin-top:15px;
}

/* ===== コア：CORE ===== */
.dg-core{
padding:120px 0;
background:linear-gradient(135deg,#06111f,#0f274d);
color:#fff;
text-align:center;
}

.dg-core h2{
font-size:44px;
margin:20px 0;
color:#fff;
}

/* ===== アクション：CTA ===== */
.dg-cta{
padding:100px 0;
text-align:center;
}

.dg-btns.center{
justify-content:center;
margin-top:30px;
}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){

.dg-hero-grid{
grid-template-columns:1fr;
}

.dg-grid-2,
.dg-grid-3,
.dg-grid-4,
.dg-grid-5,
.dg-price{
grid-template-columns:1fr;
}

}




/* ==========================
   アコーディオン本体
========================== */
.accordions {
  max-width: 100%;
  border-bottom: 1px solid #000;
}

/* summary（レイアウトの土台） */
.accordions summary {
  position: relative;
  padding: 1em 2em 1em 0; /* 右に矢印分スペース */
  color: #000;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
  display: block; /* ←重要：flex禁止 */
}

/* デフォルト矢印削除 */
.accordions summary::-webkit-details-marker {
  display: none;
}

/* ==========================
   矢印（右固定）
========================== */
.accordions summary::after {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 7px;
  height: 7px;
  border-bottom: 3px solid #000000b3;
  border-right: 3px solid #000000b3;
  content: '';
  transition: transform .3s;
}

.accordions[open] summary::after {
  transform: translateY(-50%) rotate(225deg);
}

/* ==========================
   バッジ（あれば上に表示）
========================== */
.summary-badges {
  display: flex;
  gap: 6px;
  margin-bottom: 6px;
}

/* ==========================
   タイトル
========================== */
.summary-title {
  display: block;
  font-size: 22px;
}

/* スマホ対応 */

@media (max-width: 549px) {
.summary-title {
  font-size: 18px;
}
}

/* ==========================
   アコーディオン中身
========================== */
.accordions-inner,
.accordions-answer {
  font-size: 17px;
  padding: 15px 20px !important;
  margin-bottom: 15px !important;
  background: #f3f3f3;
  border-radius: 10px;
}

.accordions-inner,
.accordions-answer p {
text-align: left !important;
}

/* ダークモード */
:root[data-color-mode*="dark"] .accordions-inner,
:root[data-color-mode*="dark"] .accordions-answer {
  background:  #2b2b2b;
}

/* ==========================
   グローバルダークモード
========================== */
:root[data-color-mode*="dark"] .has-border,
:root[data-color-mode*="dark"] h2,
:root[data-color-mode*="dark"] h3,
:root[data-color-mode*="dark"] h4,
:root[data-color-mode*="dark"] blockquote,
:root[data-color-mode*="dark"] .accordions,
:root[data-color-mode*="dark"] .accordions summary::after,
:root[data-color-mode*="dark"] li#tab-title-other_products_tab .other_products_tab_tab active,
:root[data-color-mode*="dark"] .ttl {
  border-color: #ffffff !important
}

.accordions-answer-2 {
  font-size: 17px;
  padding: 15px 0 !important;
  margin-bottom: 15px !important;
  border-radius: 10px;
}

/* ==========================
   バッジ本体
========================== */
.price-list-badge {
  display: inline-block;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 600;
  border-radius: 999px;
  line-height: 1;
  color: #fff;
}

/* カラー */
.badge-gray { background-color: #6b7280; }
.badge-blue { background-color: #2563eb; }
.badge-green { background-color: #16a34a; }
.badge-orange { background-color: #f59e0b; }
.badge-red { background-color: #dc2626; }


/* ==========================
   バッジ
========================== */
/* 共通バッジ */
.common-badge {
    display: inline-block;
    padding: 10px 20px;
    font-size: 17px;
    font-weight: 600;
    border-radius: 999px;
    line-height: 1;
    color: #fff;
    text-align: center;
}

/* ==========================
   アコーディオングリッド
========================== */
.accordion-grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  align-items: start;
  margin-bottom:30px;
}

/* スマホ対応 */
@media (max-width: 1024px) {
.accordion-grid{
  grid-template-columns:1fr;
}
}















.box-inner{
  padding: 30px 20px 50px !important;
  margin-bottom: 30px !important;
  background: #f3f3f3;
  border-radius: 10px;
}



/*---ダークモード---*/
:root[data-color-mode*="dark"] 
.accordions-inner,
:root[data-color-mode*="dark"] 
.accordions-answer{
  background: #222;
}

.accordions-inner h4,
.accordions-answer h4{
    padding: 5px 10px !important;
    margin: 10px 0 !important;
    border-left: 5px solid #000;
}

.accordions p {
  transform: translateY(-10px);
  opacity: 0;
  margin: 0;
  padding: .8em 0em;
  transition: transform .5s, opacity .5s
}

.accordions[open] p {
  transform: none;
  opacity: 1
}

.il a {
  pointer-events: none;
  color: #000
}

/* ==========================
   FAQよくある質問
========================== */
.faq-q{
  color: #2563eb;
  font-weight: 700;
}

.faq-a{
  color: #16a34a;
  font-weight: 700;
}

.faq-a{
  margin-right: 5px;
}









/* ==========================
   見積もり
========================== */
.btn-actions {
  display: flex;
  justify-content: center;
  gap: 15px;
  flex-wrap: wrap;
}

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

  height: 60px;

  display: flex;
  align-items: center;
  justify-content: center;

  box-sizing: border-box;

  color: #fff;
  text-decoration: none;
  border-radius: 10px;
}
