/**
Theme Name: IGNISYS
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ignisys
Template: astra
*/

/* ==========================
   Global / Base
   ========================== */
/* reCAPTCHA　表示位置調整 */
.grecaptcha-badge{
  margin-bottom: 60px;
}




/* Tokens */
:root {
  /* site */
  --site-bg: #fff;
  --accent: #6D8F8F;
  --soft-bg: #F0F5F5;
  --shadow: 0 8px 20px rgba(0,0,0,.12);
  --shadow-soft: 0 4px 10px rgba(0,0,0,.1);

  /* header */
  --header-bg: #fff;
  --header-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* Reset */
html, body { margin: 0 !important; padding: 0 !important; }
body { background: var(--site-bg) !important; }

/* アクセシビリティ枠の完全無効化 */
*:focus,
*:focus-visible,
button:focus,
button:focus-visible,
.ast-button:focus,
.ast-button:focus-visible,
.ast-mobile-popup-close:focus,
.ast-mobile-popup-close:focus-visible,
.menu-toggle:focus,
.menu-toggle:focus-visible,
.ast-mobile-popup-close::before,
.ast-mobile-popup-close::after {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
}

/* アドミンバーをページの下に移動 */
#wpadminbar {
  top: auto !important;
  bottom: 0 !important;
  position: fixed !important;
}

/* ページ内容が下のバーに隠れないよう調整 */
html {
  margin-top: 0 !important;
  margin-bottom: 32px !important; /* 管理バーの高さ分あける */
}

/* スマホ表示を調整（必要に応じて） */
@media screen and (max-width: 782px) {
  html {
    margin-bottom: 46px !important;
  }
}


/* レスポンシブ時のスペーサーheight強制 */
@media screen and (max-width: 768px) {
.wp-block-spacer.spacer_100px {
    height: 50px !important;
}

.wp-block-spacer.spacer_40px {
    height: 30px !important;
}
}

/* ==========================
   Header
   ========================== */

/* デスクトップ：ヘッダー上下余白を完全ゼロ化 */
body.ast-desktop .site-header {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* 行・内側コンテナの高さ/余白リセット */
body.ast-desktop .ast-primary-header-bar,
body.ast-desktop .ast-primary-header-bar .ast-container,
body.ast-desktop .ast-primary-header-bar .ast-builder-grid-row,
body.ast-desktop .ast-primary-header-bar .ast-builder-grid-row-container,
body.ast-desktop .ast-primary-header-bar .ast-builder-grid-row-container-inner {
  min-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border: 0 !important;
}

/* メニュー項目の高さ抑制 */
body.ast-desktop .ast-builder-menu .menu-item > .menu-link,
body.ast-desktop .main-header-menu > .menu-item > .menu-link {
  line-height: 1.2 !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

/* 透明ヘッダーや擬似要素の余白抑止 */
body.ast-desktop .ast-header-transparent .site-header,
body.ast-desktop .site-header::before,
body.ast-desktop .site-header::after {
  padding: 0 !important;
  margin: 0 !important;
  height: auto !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* 固定ヘッダー（透明時も強制固定） */
.site-header,
.main-header-bar,
.ast-primary-header-bar,
.ast-transparent-header .main-header-bar,
.ast-transparent-header .ast-primary-header-bar {
  position: fixed !important;
  top: 0; left: 0; right: 0;
  z-index: 9999;
  transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
}

/* 見た目 */
.main-header-bar {
  background: var(--header-bg);
  box-shadow: var(--header-shadow);
}
.ast-theme-transparent .main-header-bar { background: transparent; box-shadow: none; }
.body-scrolled .main-header-bar { background: var(--header-bg); box-shadow: var(--header-shadow); }

/* Masthead コンテナ / パンくず */
#masthead .ast-container,
.site-header-focus-item .ast-breadcrumbs-wrapper {
  max-width: 100%;
  padding-left: 35px;
  padding-right: 35px;
  background: rgba(0, 0, 0, 0.6) !important;
  backdrop-filter: blur(8px) !important;
}

/* ドロップダウン背景 */
.main-header-menu .sub-menu {
  background: rgba(0, 0, 0, 0.6) !important;
  backdrop-filter: blur(8px) !important;
}

/* 共通サイズ調整 */
.site-primary-header-wrap,
.ast-primary-header-bar { height: 50px !important; }
.ast-primary-header-bar { margin-top: 0 !important; }

/* Astra がコンテンツを押し下げないように */
.ast-transparent-header #content,
.ast-transparent-header .site-content,
.ast-transparent-header #primary,
#page, #masthead {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Hero 先頭余白 */
.s-hero { margin-top: 0 !important; padding-top: 0 !important; }

/* 特定メニュー項目（Products: #menu-item-39）の下線無効化 */
body.ast-desktop #menu-item-39 > a { border-bottom: none !important; }
body.ast-desktop .main-header-menu > li#menu-item-39 > a.menu-link {
  border-bottom: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
body.ast-desktop .main-header-menu > li#menu-item-39 > a.menu-link::before,
body.ast-desktop .main-header-menu > li#menu-item-39 > a.menu-link::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  box-shadow: none !important;
  background: none !important;
}

/* スクロールで隠す/表示用ユーティリティ */
.main-header-bar, .site-header, header {
  left: 0; width: 100%; z-index: 999;
}
.header-hide { transform: translateY(-100%); }
.header-show { transform: translateY(0); }

/* Header Responsive */
@media (max-width: 921px) {
  /* モバイル系背景 */
  .ast-header-break-point .ast-mobile-header-wrap,
  .ast-header-break-point .ast-primary-header-bar,
  .ast-header-break-point .main-header-bar,
  .ast-header-break-point #masthead .ast-container {
    background: rgba(0, 0, 0, 0.6) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    backdrop-filter: blur(8px) !important;
    box-shadow: 0 2px 5px rgba(0,0,0,.08);
  }
  .ast-header-break-point.ast-theme-transparent .main-header-bar {
    background: rgba(0, 0, 0, 0.6) !important;
    box-shadow: 0 2px 5px rgba(0,0,0,.08) !important;
  }
  .ast-header-break-point .main-header-menu .sub-menu {
    background: rgba(0, 0, 0, 0.6) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    backdrop-filter: blur(8px) !important;
  }
  .ast-header-break-point .ast-mobile-header-logo img,
  .ast-header-break-point .site-logo-img img {
    max-width: 100px !important;
    height: auto !important;
  }
  .ast-header-break-point .ast-mobile-header-wrap .ast-flex.stack-on-mobile {
    flex-wrap: wrap;
    padding: 60px 20px 20px 20px;
  }
}

@media (max-width: 544px) {
  .navbar-toggler-icon, .hamburger-icon {
    filter: none; background: transparent; color: #000;
  }
  /* 縦中央揃え＋サイズ */
  .ast-primary-header-bar,
  .main-header-bar {
    align-items: center !important;
    height: 50px !important;
    box-sizing: border-box !important;
    padding: 0 20px !important;
  }
}

@media (min-width: 922px) {
  .main-header-bar,
  .ast-primary-header-bar,
  .site-primary-header-wrap,
  .ast-builder-grid-row {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    min-height: unset !important;
  }
  .main-header-menu > .menu-item > a {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    line-height: 1.2 !important;
  }
  .site-branding img.custom-logo,
  .site-logo-img img {
    max-height: 48px !important;
    height: auto !important;
    width: auto !important;
  }
}


/* ==========================
   TOP（MV / Products）
   ========================== */


/* MV 背景 */
.wp-block-cover.my-cover {
  background-image: url('/wp-content/uploads/2025/10/Top_MV.jpg') !important;
  background-size: cover;
  background-position: center;
}
@media (max-width: 544px) {
  .wp-block-cover.my-cover {
    background-image: url('/wp-content/uploads/2025/10/sp_Top_MV-1.png') !important;
  }
}

/* Products タイトル左インデント（3ブロックまとめ） */
h2.wp-block-heading.has-text-color.has-link-color.wp-elements-5a47ee849f9c79eae568b5e32a3a8101,
h2.wp-block-heading.has-text-color.has-link-color.wp-elements-f6a81023765061224ed09b1c8b150941,
h2.wp-block-heading.has-text-color.has-link-color.wp-elements-ceed24b3d79759812a4ee21d5b959b3d {
  padding-left: 16px;
}

/* ボタン */
.view_detail_button { background-color: var(--soft-bg) !important; }
a.uagb-buttons-repeater.wp-block-button__link { width: 50% !important; }

/* hover アニメーション */
.zoom-on-hover {
  transition: transform 220ms ease, box-shadow 220ms ease, background-color 220ms ease;
  will-change: transform;
  transform-origin: center;
}
.zoom-on-hover:hover {
  transform: scale(1.04);
  box-shadow: var(--shadow);
}

/* “More View” を中央寄せ（products 含むリンク） */
a.uagb-buttons-repeater.wp-block-button__link[href*="products"] {
  margin-inline: auto !important;
}

/* TOP Responsive */
@media (max-width: 544px) {
  p.has-text-align-left.fadeIn.slow.delay-500ms.has-ast-global-color-4-color { font-size: 24px !important; }
  .o-anim-typing { font-size: 14px !important; }

  .wp-block-group.is-vertical.is-layout-flex.wp-container-core-group-is-layout-fe9cc265.wp-block-group-is-layout-flex {
    width: 350px !important;
    padding-top: 0 !important;
  }

  .wp-block-spacer { height: 20px !important; }

  /* ボタン中央寄せ（基本） */
  .uagb-button__wrapper {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  /* enter_btn は左寄せ */
  .enter_btn .uagb-button__wrapper { justify-content: flex-start !important; width: auto !important; margin: 0 !important; }
  .enter_btn .wp-block-button__link,
  .enter_btn .uagb-buttons-repeater { width: auto !important; text-align: left !important; }
  .uagb-buttons__wrap.uagb-buttons-layout-wrap .enter_btn { margin-left: 0 !important; margin-right: auto !important; text-align: left !important; }

  /* 詳細ボタンを左端へ */
  .uagb-buttons__wrap.uagb-buttons-layout-wrap > .wp-block-uagb-buttons-child._detail_button,
  .uagb-buttons__wrap.uagb-buttons-layout-wrap > .wp-block-uagb-buttons-child.detail_button {
    margin-left: 0 !important;
    margin-right: auto !important;
    align-self: flex-start !important;
    text-align: left !important;
  }

  /* ClickHere 左寄せ */
  .uagb-buttons__wrap .View_detail_button { margin-right: auto !important; }
  .View_detail_button .uagb-button__wrapper { justify-content: flex-start !important; text-align: left !important; }
}


/* ==========================
   TOP Case Studies Buttons
   ========================== */

.case-buttons {
  display: flex;
  justify-content: center;
  gap: 20px;
}
a.case-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 300px;
  height: 58px;
  background-color: #F0F5F5;
  border-radius: 8px;
  text-decoration: none;
  color: #111;
  font-weight: 600;
  font-size: 16px;
  transition: transform .3s ease, box-shadow .3s ease;
}
.case-btn img { width: 24px; height: 24px; }
.case-btn:hover { transform: translateY(-3px); box-shadow: var(--shadow-soft); }

.case-buttons {
  width: 80%;
}



/* Case Buttons Responsive */
@media (max-width: 544px) {
  .case-buttons {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    width: 80%;
  }

  .case-btn {
    width: 80%;
    margin-bottom: 0;
  }
}

.case-btn:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-soft);
  color: #6D8F8F;
}



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

[class*="contact_btn"].wp-block-uagb-buttons,
[class*="contact_btn"].wp-block-uagb-buttons-child,
[class*="contact_btn"] .uagb-buttons__outer-wrap,
[class*="contact_btn"] .uagb-buttons__wrap,
[class*="contact_btn"] .uagb-buttons-layout-wrap {
  display: flex !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
}
[class*="contact_btn"] .uagb-button__wrapper,
[class*="contact_btn"] .wp-block-button,
[class*="contact_btn"] .wp-block-button__link {
  margin-left: auto !important;
  margin-right: auto !important;
  align-self: center !important;
}
@media (min-width: 768px) and (max-width: 1024px) {
  [class*="contact_btn"] .uagb-buttons__outer-wrap,
  [class*="contact_btn"] .uagb-buttons__wrap,
  [class*="contact_btn"] .uagb-buttons-layout-wrap {
    justify-content: center !important;
  }
}


/* ==========================
   News
   ========================== */

.wp-block-latest-posts {
  list-style: none;
  padding: 0;
  margin: 2rem 0;
}
.wp-block-latest-posts li {
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid #e8e8e8;
}
.wp-block-latest-posts__post-title {
  order: 0;
  display: block;
  margin: .45rem 0 .4rem;
  font-weight: 600;
  font-size: 14px;
  color: #333;
  text-decoration: none;
}
.wp-block-latest-posts__post-title:hover { color: var(--accent); }
.wp-block-latest-posts__post-date {
  order: -1;
  font-size: 12px;
  color: #7a7a7a;
  letter-spacing: .02em;
}

/* TOP と News ページ：縦積み＆コンパクト */
body.home .wp-block-latest-posts,
body.page-id-NEWS_ID .wp-block-latest-posts {
  display: block !important;
  margin: 1rem 0 !important;
  gap: 0 !important;
  row-gap: 0 !important;
  columns: auto !important;
  column-count: 1 !important;
  grid-template-columns: none !important;
  flex-wrap: nowrap !important;
  border: 0 !important;
  box-shadow: none !important;
  padding-bottom: 0 !important;
}
body.home .wp-block-latest-posts li,
body.page-id-NEWS_ID .wp-block-latest-posts li {
  display: block !important;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: .35rem 0 .55rem !important;
  border: 0 !important;
}
/* 2件目以降のみ区切り線 */
body.home .wp-block-latest-posts li + li,
body.page-id-NEWS_ID .wp-block-latest-posts li + li {
  border-top: 1px solid #e6e6e6;
  margin-top: .45rem !important;
}
/* タイトル/日付の内側余白 */
body.home .wp-block-latest-posts__post-title,
body.page-id-NEWS_ID .wp-block-latest-posts__post-title {
  margin: .15rem 0 .25rem !important;
  line-height: 1.5;
}
body.home .wp-block-latest-posts__post-date,
body.page-id-NEWS_ID .wp-block-latest-posts__post-date {
  margin: 0 0 .15rem 0 !important;
  line-height: 1.4;
}
/* ホームは上下線消し、項目間のみ線 */
body.home .wp-block-latest-posts li { border: none !important; }
body.home .wp-block-latest-posts li + li { border-top: 1px solid #e8e8e8; }



/* ==========================
   Company
   ========================== */

/* 上ボーダーの色統一 */
.page-id-30 .entry-content [style*="border-top-width"]{
  border-top-color: #E5E8EB !important;
  border-top-style: solid !important;
  border-top-width: 1px !important; 
}
/* 下マージン調整（対象ブロック） */
.wp-block-group.is-layout-constrained.wp-container-core-group-is-layout-9eb9a864.wp-block-group-is-layout-constrained {
  margin-bottom: 30px;
}

/* Company Responsive */
@media (max-width: 544px) {
  html :where([style*=border-top-width]) {
    border-top-style: solid;
    display: none;
  }
}


/* ==========================
   ContactForm / EntryForm
   ========================== */

/* コンテナ */
.cf-style {
  max-width: 600px;
  margin: 0 auto !important;
  padding: 30px;
  background: #ffffff;
  font-family: "Helvetica Neue", Arial, sans-serif;

  /* 入場アニメーション */
  opacity: 0;
  transform: translateY(10px);
  animation: fadeInForm 0.8s ease-out 0.2s forwards;
}
@keyframes fadeInForm {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* 見出しラッパー */
.wp-block-group.contact-header{
  max-width: 480px;
  width: 100%;
  margin: 0 auto !important;
  padding: 30px;
  background: #ffffff;
  font-family: "Helvetica Neue", Arial, sans-serif;
}

/* ラベル/フィールド */
.cf-style p { margin-bottom: 20px; }

.cf-label {
  display: inline-block;
  font-weight: bold;
  margin-bottom: 6px;
  color: #333;
  position: relative;
  padding-left: 16px;
}
/* 見出し用の縦線 */
.cf-label::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background-color: #6D8F8F;
  border-radius: 2px;
}
/* badge（既定：必須） */
.cf-label::after {
  content: "必須";
  display: inline-block;
  font-size: 10px !important;
  color: #fff;
  background-color: #6D8F8F;
  padding: 2px 6px;
  margin-left: 8px;
  border-radius: 4px;
  vertical-align: middle;
}
/* 医療機関名は任意 */
p:has([name="your-org"]) .cf-label::after {
  content: "任意";
  background-color: #bbb;
}

/* 入力フィールド */
.cf-style input[type="text"],
.cf-style input[type="email"],
.cf-style input[type="tel"],
.cf-style textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 16px;
  transition: all 0.3s;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.cf-style input:focus,
.cf-style textarea:focus {
  border-color: #6D8F8F;
  box-shadow: 0 0 4px rgba(109,143,143,0.4);
  outline: none;
}
.cf-style textarea { min-height: 120px; resize: vertical; }

/* プライバシーボックス（統合） */
.privacy-box {
  margin: 30px auto !important;
  padding: 20px;
  background: #f6f9f9;
  border-radius: 10px;
  border-left: 4px solid #6D8F8F;
  max-height: 200px;
  overflow-y: auto;
  box-shadow: inset 0 2px 5px rgba(0,0,0,0.05);
  font-size: 13px;
  line-height: 1.5;
  color: #333;
  width: 480px;
}
.privacy-box h3 {
  margin-bottom: 10px;
  font-size: 18px;
  color: #6D8F8F;
  font-weight: bold;
}
.privacy-box p { margin-bottom: 5px !important; }

/* チェック/送信 */
.wpcf7-acceptance { display: block; margin: 20px 0; font-size: 14px; color: #333; }
.wpcf7-acceptance.optional { padding: 30px; }
span.wpcf7-list-item-label { font-size: 13px; }

.cf-style input[type="submit"] {
  display: block;
  width: 200px;
  margin: 0 auto;
  background: #6D8F8F;
  color: #fff;
  font-size: 18px;
  padding: 12px 0;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.3s, transform 0.2s;
}
.cf-style input[type="submit"]:hover {
  background: #557373;
  transform: translateY(-2px);
}

/* Contact Responsive */
@media (max-width: 480px) {
  .cf-style { padding: 20px; }
  .cf-label { font-size: 14px; }
  .cf-style input, .cf-style textarea { font-size: 14px; }

  .privacy-box {
    width: 100%;
    box-sizing: border-box;
    overflow-wrap: break-word;
    word-break: break-word;
    padding: 16px;
    font-size: 12.5px;
    line-height: 1.45;
    max-height: 180px;
  }
  .privacy-box h3 { font-size: 16px; }
  h2.form_title { font-size: 24px !important; }
}






/* ==========================
   Recruit
   ========================== */

/* PC/タブレット：MV */
.my_cover_recruit {
  background-image: url('/wp-content/uploads/2025/09/Recruit_MV.png') !important;
  background-size: cover;
  background-position: center;
}

/* Recruit Responsive */
@media (max-width: 544px) {
  /* SP：MV差し替え */
  .my_cover_recruit {
    background-image: url('/wp-content/uploads/2025/10/sp_Recruit_MV.png') !important;
  }

  /* SP：特定ボタンブロック（uagb-block-173c48e5）を幅100%で中央配置に統一 */
  .uagb-block-173c48e5 {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 auto !important;
    text-align: center !important;
  }
  .uagb-block-173c48e5 .uagb-button__wrapper {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    text-align: center !important;
  }
  .uagb-block-173c48e5 .uagb-button__link {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    text-align: center !important;
    margin: 0 auto !important;
  }
}

 /* 詳細ボタン */

.wp-block-details.readmore {
  margin: 0;           
  padding: 0;
  background: none;
  color: #141414;
  font-size: 12px;
}

/* ボタンの見た目は summary に付ける */
.wp-block-details.readmore > summary {
  width: 208px;
  height: 40px;
  background-color: #F0F5F5;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #141414;     
  font-size: 14px;
  font-weight: 400;
  list-style: none;    
}

/* Chrome / Safari 用：▼マーカー非表示 */
.wp-block-details.readmore > summary::-webkit-details-marker {
  display: none;
}

/* ホバー時の色変更 */
.wp-block-details.readmore > summary:hover {
  color: #6D8F8F;
}



/* ==========================
   Company
   ========================== */

/* 上記の縦積みグループの隙間ゼロ */
.wp-block-group.fadeIn.delay-500ms.is-vertical.is-layout-flex.wp-container-core-group-is-layout-fe9cc265.wp-block-group-is-layout-flex.o-anim-ready {
  gap: 0;
}

/* フェードイン（共通） */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Case Buttons のフェード（0.4s遅延） */
.case-buttons {
  opacity: 0;
  animation: fadeIn 1s ease forwards;
  animation-delay: 0.4s;
}

/* ヘッダー下線・影の抑止（Astraの複数ラッパーを網羅） */
.site-header,
.ast-header-break-point .main-header-bar,
.main-header-bar {
  border-bottom: none !important;
  box-shadow: none !important;
}


/* ==========================
   Footer
   ========================== */

/* フッター全体の背景 */
#colophon {
  background: #EFEFEF;
}

/* Astra のフッター行を基本 flex レイアウトにする */
#colophon .site-primary-footer-wrap .ast-builder-grid-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
  padding: 24px 40px;
  box-sizing: border-box;
}

/* 左：ロゴ / 右：ナビ */
#colophon .site-footer-primary-section-1 {
  flex: 0 0 auto;
}
#colophon .site-footer-primary-section-2 {
  flex: 1 1 auto;
}

/* ロゴ */
#colophon .ft-logo img {
  max-height: 80px;
  width: 170px !important;
  height: auto;
  display: block;
  
}





/* ========= フッターナビ共通 ========= */

#colophon .ft-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

#colophon .ft-group {
  margin: 0;
  padding: 0;
  list-style: none;
  min-width: 140px;  /* 各カラムの最小幅 */
}

#colophon .ft-head {
  font-size: 14px;
  font-weight: 700;
  color: #141414;
  margin: 0 0 6px;
}

#colophon .ft-group a {
  display: block;
  padding: 2px 0;
  font-size: 13px;
  color: rgba(20,20,20,.7);
  text-decoration: none;
}
#colophon .ft-group a:hover {
  color: #6D8F8F;
}

/* Products 縦並び（崩れないこと優先） */
#colophon .ft-products {
  display: flex;
  flex-direction: column;
}
#colophon .ft-products .ft-head {
  margin-bottom: 4px;
}

/* コピーライト行 */
#colophon .site-below-footer-wrap {
  padding: 12px 40px;
  text-align: center;
  background: #EFEFEF;
  border-top: 1px solid rgba(0,0,0,.08);
}

/* ========= レスポンシブ ========= */

/* 〜768px：ロゴとナビを縦積み、ナビは2カラム程度に詰める */
@media (max-width: 768px) {

  #colophon .site-primary-footer-wrap .ast-builder-grid-row {
    padding: 16px 20px;
  }

  #colophon .site-footer-primary-section-1,
  #colophon .site-footer-primary-section-2 {
    flex: 0 0 100%;
  }

  #colophon .ft-nav {
    gap: 24px;
  }

  #colophon .ft-group {
    min-width: 120px;
  }
}

/* PC では Products を3列グリッドにする */
@media (min-width: 1025px) {
  #colophon .ft-products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(120px, 1fr));
    column-gap: 24px;
    row-gap: 4px;
    text-align: left;
  }

  /* 見出し（Products）を1行目フル幅に */
  #colophon .ft-products .ft-head {
    grid-column: 1 / -1;
    margin-bottom: 6px;
  }

  /* 「プロダクト一覧」もフル幅1行で */
  #colophon .ft-products .ft-all {
    grid-column: 1 / -1;
    margin-bottom: 4px;
  }

  /* 各プロダクト行 */
  #colophon .ft-products li {
    margin: 0;
  }
}

/* スマホ・タブレット（〜1024px）では左揃え */
@media (max-width: 1024px) {

  /* フッターナビ全体を左寄せに */
  #colophon .ft-nav {
    justify-content: flex-start !important;
    text-align: left !important;
  }

  /* Products も左揃え */
  #colophon .ft-products {
    text-align: left !important;
    align-items: flex-start !important;
  }
}


 /*Footer */
.ast-builder-footer-grid-columns.site-primary-footer-inner-wrap.ast-builder-grid-row {
    max-width: 100% !important;
}


.site-primary-footer-wrap {
     padding-top: 0px; 
     padding-bottom: 0px; 
}


/* コピーライト */
#colophon .site-below-footer-wrap {
  background: #F9F9F9 !important;
  border-top: none !important;
  padding: 10px 40px !important;
  width: 100%;
}

@media (max-width: 544px) {
    .ast-header-break-point .site-primary-footer-wrap[data-section="section-primary-footer-builder"] {
        display: grid;
        display: none;
    }
}

/* ==========================
   CaseStudies
========================== */

/* --- CASE: タブ --- */
.case-tabs { display:flex; gap:.5rem; flex-wrap:wrap; margin: 16px 0; }
.case-tab {
  display:inline-block; padding:.4rem .8rem; border:1px solid #D9D9D9; border-radius:999px;
  text-decoration:none; color:#121717; font-size:14px;
}
.case-tab.is-active { background:#121717; color:#fff; }

/* --- CASE: MAP プレースホルダ --- */
.case-map {
  width:100%; height:280px; background:#F7F7F7; border:1px dashed #D9D9D9;
  border-radius:12px; display:flex; align-items:center; justify-content:center; margin:12px 0 20px;
  color:#666;
}

/* --- CASE: アコーディオン（<details>） --- */
.case-accordion { display:block; }
.case-item { border-top:1px solid #E9E9E9; padding:8px 0; }
.case-item:last-child { border-bottom:1px solid #E9E9E9; }
.case-item > summary {
  cursor:pointer; list-style:none; padding:12px 8px; font-weight:600; position:relative;
}
.case-item > summary::-webkit-details-marker { display:none; }
.case-item > summary::after {
  content:""; position:absolute; right:8px; top:50%; width:8px; height:8px; border-right:2px solid #999; border-bottom:2px solid #999; transform:translateY(-50%) rotate(-45deg);
}
.case-item[open] > summary::after { transform:translateY(-50%) rotate(45deg); }
.case-item__body { padding:0 8px 12px 8px; }

/* --- CASE: システム色タグ --- */
.case-tag {
  display:inline-flex; align-items:center;
  padding:2px 8px; border-radius:999px; font-size:12px; margin:2px;
  border:1px solid #dfe7ea; background:#f3f7f8;
}

/* 個別カラー（必要に応じて追加） */
.tag--my-view        { background:#123458; color:#fff; border-color:#123458; }
.tag--dash-board     { background:#5FA4A3;    color:#fff; border-color:#5FA4A3; }
.tag--libra          { background:#E0DEDE; color:#141414; border-color:#E0DEDE; }
.tag--carbuncle      { background:#D4C9BE; color:#141414; border-color:#D4C9BE; }
.tag--mobile-my-view { background:#030303; color:#fff; border-color:#030303; }
.tag--dose-eye       { background:#725579; color:#fff; border-color:#725579; }
.tag--sylph          { background:#C3C7DD; color:#141414; border-color:#C3C7DD; }
.tag--ixion          { background:#C8C8C8; color:#141414; border-color:#C8C8C8; }

.case-tag.tag--my-view { background:#123458; background-image:none; border-color:#c8e6df; }
.case-tag.tag--dash-board { background:#5FA4A3; background-image:none; border-color:#d6e5ff; }
.case-tag.tag--libra    { background:#E0DEDE; background-image:none; border-color:#f5d8b8; }
.case-tag.tag--carbuncle   { background:#D4C9BE; background-image:none; border-color:#dccbf5; }
.case-tag.tag--mobile-my-view  { background:#030303; background-image:none; border-color:#cfe9fb; }
.case-tag.tag--dose-eye    { background:#725579; background-image:none; border-color:#e3e6c5; }
.case-tag.tag--sylph { background:#C3C7DD; background-image:none; border-color:#ffd3e6; }
.case-tag.tag--ixion   { background:#C8C8C8; background-image:none; border-color:#d6dfe8; }
/* ===== タブ ===== */
.case-tabs {
  display:flex; gap:.5rem; margin: 16px 0 24px;
}
.case-tab {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:8px 14px; border:1px solid #cdd7d9; border-radius:999px;
  background:#f3f7f8; text-decoration:none; color:#203033; font-weight:600; font-size:14px;
}
.case-tab.is-active { background:#2e6b6a; color:#fff; border-color:#2e6b6a; }

/* ===== フィルター ===== */
.case-filter { background:#f7fafb; border:1px solid #e2ecef; border-radius:10px; padding:14px; margin: 0 0 20px; }
.case-filter__row { display:grid; grid-template-columns: 1fr 1.2fr 1fr auto; gap:12px; align-items:end; }
.case-filter__item { display:flex; flex-direction:column; gap:6px; }
.case-filter__label { font-size:12px; color:#5b6a6f; }
.case-input, .case-select {
  height:40px; padding:0 12px; border:1px solid #cfd9dc; border-radius:8px; background:#fff; font-size:14px;
}
.case-btn {
  height:40px; padding:0 16px; border-radius:8px; background:#2e6b6a; color:#fff; border:none; font-weight:600; text-decoration:none; display:inline-flex; align-items:center; justify-content:center;
}
.case-btn--ghost { background:#fff; color:#2e6b6a; border:1px solid #cfd9dc; margin-left:8px; }

/* マルチセレクト */
.case-multiselect { position:relative; }
.case-multiselect__button {
  height:40px; padding:0 12px; width:100%;
  border:1px solid #cfd9dc; border-radius:8px; background:#fff; text-align:left; font-size:14px;
}
.case-multiselect__panel {
  position:absolute; left:0; top:calc(100% + 6px); width:320px; max-height:280px; overflow:auto;
  border:1px solid #cfd9dc; border-radius:10px; background:#fff; box-shadow:0 6px 24px rgba(0,0,0,.08); padding:10px;
  z-index:5;
}
.case-multiselect__list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr; gap:8px; }
.case-checkbox { display:flex; align-items:center; gap:8px; }
.case-checkbox input { transform: translateY(1px); }

/* ===== レイアウト（左リスト / 右プレビュー） ===== */
.case-layout { display:grid; grid-template-columns: 1fr 1fr; gap:24px; }
.case-list { display:flex; flex-direction:column; gap:8px; }
.case-preview { position:sticky; top:80px; min-height:320px; border:1px solid #e2ecef; border-radius:12px; padding:16px; background:#fff; }
.case-preview__placeholder { color:#8aa0a6; }

/* ===== アコーディオン ===== */
.case-item { border:1px solid #e2ecef; border-radius:10px; background:#fff; overflow:hidden; }
.case-item__summary { list-style:none; display:flex; align-items:center; gap:10px; padding:14px 16px; cursor:pointer; }
.case-item__summary::-webkit-details-marker { display:none; }
.case-item__title { font-weight:600; }
.case-item__icon::before {
  content:""; width:10px; height:10px; border-right:2px solid #7f9a9a; border-bottom:2px solid #7f9a9a; transform:rotate(-45deg); margin-left:auto;
  transition:transform .2s ease;
}
.case-item[open] .case-item__icon::before { transform:rotate(45deg); }
.case-item__body { display:none; }
.case-item[open] .case-item__body { display:block; }

/* ===== バッジ/タグ ===== */
.case-badge.pref {
  display:inline-flex; align-items:center; padding:2px 8px; border-radius:999px;
  background:#eef5f4; color:#2e6b6a; font-size:12px; border:1px solid #d7e6e3; margin-left:6px;
}

.case-tag {
  display:inline-flex; align-items:center; padding:2px 8px; border-radius:999px; font-size:12px; margin:2px; border:1px solid #dfe7ea; background:#f3f7f8;
}

/* ===== 右側詳細 ===== */
.case-detail__header { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.case-detail__title { font-size:20px; margin:0; }
.case-detail__tags { display:flex; flex-wrap:wrap; gap:4px; }

/* ===== Map（ダミー） ===== */
.case-map { height: 0; }
@media (min-width: 980px) {
  .case-map { height: 0; } /* 実装時にマップに差し替え可 */
}

/* ==== アニメーション フェードイン（共通）==== */

/* js-fadein は「ただのマーカー」にしておく（透明にしない） */
.js-fadein {
  opacity: 1;
  transform: none;
}

/* map と case-list の両方をぬるっと表示 */
.cml-map.js-fadein,
.case-list.js-fadein {
  animation: cmlFadeUp 0.9s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

@keyframes cmlFadeUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}




/* ===== レスポンシブ ===== */
@media (max-width: 960px) {
  .case-filter__row { grid-template-columns: 1fr; }
  .case-layout { grid-template-columns: 1fr; }
  .case-preview { position:relative; top:auto; }
}


.cml-map{position:relative;margin:12px 0 20px;}
      .cml-map__img{width:100%;height:auto;display:block;border-radius:12px;opacity:.55;}
      .cml-map__pins{position:absolute;inset:0;z-index:2;}
      .cml-pin{
        position:absolute;
        transform:translate(-50%,-50%);
        display:flex !important;
        align-items:center;
        gap:6px;
        background:transparent;
        border:0;
        cursor:pointer;
        text-decoration:none;
      }
      .cml-pin__dot{
        width:10px;height:10px;border-radius:999px;
        background:#2F4A4A;
        box-shadow:0 0 0 3px rgba(47,74,74,.2);
      }
      .cml-pin__count{
        font:600 12px/1.2 system-ui;
        color:#2F4A4A;
        background:#fff;
        border:1px solid #2F4A4A;
        padding:2px 6px;
        border-radius:999px;
      }
      
      @media(max-width:640px){
        .cml-pin__count{display:none}
      }

.cml-pin__count { display:none !important; }
.cml-pin { gap: 4px; } /* 数字が無くなる分、隙間を少し詰める */
.cml-pin__count {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* 幅調整 */
a.case-btn.case-btn--ghost {
    margin-left: 0;
}

/* サマリー調整 */
.case-item > summary {
    cursor: pointer;
    list-style: none;
    padding: 12px 32px;
    font-weight: 600;
    position: relative;
}

.case-item > summary::after {
    content: "";
    position: absolute;
    right: 8px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid #999;
    border-bottom: 2px solid #999;
    transform: translateY(-50%) rotate(-45deg);
    margin-right: 16px;
}

span.case-item__title {
    color: #424242;
    font-size: 13px;
}

.case-item__name {
  position: relative;
  padding-left: 10px; 
}

.case-item__name::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;          
  width: 2px;        
  height: 16px;     
  background-color: #2F4A4A; 
  border-radius: 1px;
}


@media (max-width: 544px) {
  
 .case-tab {
    font-size: 13px;
}
  
  span.case-item__title {
        font-size: 11px !important;
    }
span.case-item__title {
    font-size: 12px;
}
  
  h2.wp-block-heading.has-text-color.has-link-color.wp-elements-930b996b31ef9652d48bea30ec47bc1b {  
    font-size: 20px !important;
  }
  
  .wp-block-group.fadeIn.delay-200ms.is-vertical.is-layout-flex.wp-container-core-group-is-layout-bc8cddf4.wp-block-group-is-layout-flex.o-anim-ready p {
    font-size: 12px !important;
  }
  
  .cml-pin__dot {
    width: 6px !important;
    height: 6px !important;
}
  
  .case-detail__title {
    font-size: 14px;
}
}

.cml-region{position:absolute;transform:translate(-50%,-50%);z-index:6;min-width:140px;--line-alpha:.35}
.cml-region--right{transform:translate(0,-50%)}
.cml-region--left{transform:translate(-100%,-50%)}
.cml-region__title{margin:0 0 6px;font:700 14px/1.2 system-ui;color:#2F4A4A}
.cml-region__list{margin:0;padding:0;list-style:none;font:500 12px/1.5 system-ui;color:#203033}
.cml-region__line{position:absolute;top:50%;height:1px;width:72px;background:rgba(47,74,74,var(--line-alpha))}
.cml-region--right .cml-region__line{left:-76px}
.cml-region--left  .cml-region__line{right:-76px}
.cml-region__line::after{content:"";position:absolute;width:1px;height:16px;top:calc(50% - 8px);background:rgba(47,74,74,var(--line-alpha))}
.cml-region--right .cml-region__line::after{left:-1px}
.cml-region--left  .cml-region__line::after{right:-1px}


/* ラベル：デフォルト非表示 → ホバーで表示 */
.cml-pin__label{
  position:absolute;
  top:-12px;         /* ピンの少し上 */
  left:14px;         /* 右側に出す（デフォルト） */
  padding:2px 8px;
  font:600 12px/1.2 system-ui;
  color:#203033;
  background:#fff;
  border:1px solid #cfd9dc;
  border-radius:999px;
  white-space:nowrap;
  box-shadow:0 2px 10px rgba(0,0,0,.04);
  opacity:0;
  visibility:hidden;
  transform:translateY(-4px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
  pointer-events:none;
  z-index:6;
}
.cml-pin:hover .cml-pin__label{
  opacity:1;
  visibility:visible;
  transform:translateY(-8px);
}
.cml-pin--left .cml-pin__label{
  left:auto; right:14px;  /* 右端ピンは左側へ出す */
}

.cml-pin__label{opacity:1 !important; visibility:visible !important;}

/* 導入実績ページのタグデザイン */
.case-detail__tags .case-tag {
  text-decoration: none !important;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all .2s ease;
  cursor: pointer;
}

/* ホバーでふわっと浮く */
.case-detail__tags .case-tag:hover {
  transform: scale(1.08);
  box-shadow: 0 4px 10px rgba(0,0,0,.1);
}

/* クリック時に軽く戻る */
.case-detail__tags .case-tag:active {
  transform: scale(0.96);
  box-shadow: 0 2px 6px rgba(0,0,0,.08);
}

/* フォーカス（Tabキー操作でも見えるように） */
.case-detail__tags .case-tag:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(80,150,150,.4);
}

/* 開いた詳細側の見出しだけ非表示にする */
.case-item__body .case-detail__title { display: none; }

.case-detail__header {
    display: none;
}

.case-detail__tags {
    padding: 12px 32px;
}
  
/* 通常時/擬似クラスも含めて確実に外す */
a.case-tag--my-view,
a.case-tag--my-view:visited,
a.case-tag--my-view:hover,
a.case-tag--my-view:active {
  text-decoration: none !important;
}

 
  a:hover, a:focus {
    color: #fff;
}
  
  

/* ==========================
   All Product Page
   ========================== */

/* ---------- Cover  ---------- */
/* PC */
.my-cover-products {
  background-image: url('/wp-content/uploads/2025/11/MYVIEW_MV.png');
  background-size: cover;
  background-position: center;
}

/* Tablet */
@media (max-width: 1024px) and (min-width: 545px) {
  .my-cover-products {
    background-image: url('/wp-content/uploads/2025/11/tb_MyView01.png');
  }
}

/* Mobile */
@media (max-width: 544px) {
  .my-cover-products {
    background-image: url('/wp-content/uploads/2025/11/sp_MyView01.png');
  }

  figure.wp-block-image.size-full { 
    text-align: center; 
  }
}



/* グループ内の見出しと段落の間隔を詰める */
.wp-block-group.is-layout-flex .wp-block-heading,
.wp-block-group.is-layout-flex .wp-block-paragraph {
  margin-top: 0;         
  margin-bottom: 0;      
}

p.has-text-align-left.has-text-color.has-link-color.wp-elements-7d7c3a0abd51e01edc76402bc1915d20 {
    margin-bottom: 10px;
}

@media (max-width: 544px) {

  /* スコープ：該当のグループだけ */
  body .products_subcopy,
  body .products_subcopy p,
  body .products_subcopy .wp-block-paragraph,
  body .products_subcopy .has-x-small-font-size,
  body .products_subcopy .has-small-font-size,
  body .products_subcopy .has-medium-font-size,
  body .products_subcopy .has-large-font-size,
  body .products_subcopy .has-x-large-font-size {
    font-size: 12px !important;
    line-height: 1.6; 
  }
}
  

/* ---------- Products Cards  ---------- */
.products-section {
  display: grid;

  column-gap: 0;          
  row-gap: 0;
}


/* ===== Products セクションの調整 ===== */
.products-section {
  display: grid;
  grid-template-columns: 14% 66% 20%; /* 左右14%・20%でパディング代わり */
  align-items: start; 
  column-gap: 0;
}

/* 各カラム内の縦位置リセット */
.products-section > * {
  display: flex;
  flex-direction: column;
  justify-content: flex-start; 
}

/* 見出しとリストを整える */
.products-title {
  margin: 0 0 1rem 0;
}

/* リンク */
.smooth-link-block a,
.smooth-link-block a.wp-element-link {
  color: #757575 !important;
  text-decoration: none !important;
  font-family: Helvetica, Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  transition: color 0.3s ease !important;
}

.smooth-link-block a:hover,
.smooth-link-block a.wp-element-link:hover {
  color: #6D8F8F !important;
  text-decoration: none !important;
}

@media (max-width: 544px) {
h2.wp-block-heading.has-text-color.has-link-color.wp-elements-7c12bee9ea467816ed19a987948241ca {
    margin-bottom: 20px;
}

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

 p.products_subtitle {
    font-size: 14px !important;
}

}




/* リンク下の区切り線スマホ表示では消す */
@media (max-width: 1024px) {
hr.wp-block-separator.has-text-color.has-ast-global-color-7-color.has-alpha-channel-opacity.has-ast-global-color-7-background-color.has-background.is-style-wide {
    display: none;
}
}

/* スマホ2カラムに */
@media (max-width: 544px) {

  .Products_columns {
    display: flex;
    flex-wrap: wrap;
    column-gap: 20px; 
    row-gap: 20px;   
    justify-content: center;
  }

  /* 行のカラムブロックは箱を透明に */
  .Products_columns .wp-block-columns {
    display: contents;
  }

  /* 個々のカラム（カード） */
  .Products_columns .wp-block-column {
    flex: 0 0 46%;
    max-width: 46%;
    padding: 10px;
    margin: 0;
  }

  h2.wp-block-heading.products_card_title {
    font-size: 14px !important;
  }

  p.products_subtitle,
  p.products_card_description {
    font-size: 10px !important;
  }

  .wp-block-button .wp-block-button__link,
  .wp-block-search .wp-block-search__button,
  body .wp-block-file .wp-block-file__button {
    border-color: #6d8f8f;
    background-color: #6d8f8f;
    color: #000000;
    font-family: inherit;
    font-weight: 500;
    line-height: 1em;
    font-size: 12px;
    padding: 15px 30px;
  }

  .pc-br br {
    display: none;
  }



  hr.wp-block-separator.has-text-color.has-ast-global-color-7-color
  .has-alpha-channel-opacity.has-ast-global-color-7-background-color
  .has-background.is-style-wide {
    display: none;
  }
  
   /* View Detail btn */
    .wp-block-button .wp-block-button__link, .wp-block-search .wp-block-search__button, body .wp-block-file .wp-block-file__button {
        font-size: 11px;
        padding: 10px 16px;
    }
}



/* 544px〜781px のときは、Products_columns 全体を 2列グリッド化 */
@media (min-width: 544px) and (max-width: 781px) {

  /* Products_columns をフレックスコンテナにする */
  .Products_columns {
    display: flex;
    flex-wrap: wrap;
  }

  /* 行用コンテナ(wp-block-columns)の“箱”を消して、中身だけ並べる */
  .Products_columns .wp-block-columns {
    display: contents;
  }

  /* 各カード（wp-block-column）を2列(45%)にする */
  .Products_columns .wp-block-column {
    flex: 0 0 45%;
    max-width: 45%;
    width: 45%;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  
  .entry-content[data-ast-blocks-layout] > * {
    max-width: var(--wp--custom--ast-content-width-size);
    margin-left: auto;
    margin-right: auto;
    gap: 24px;
    justify-content: center;
}
}


@media (max-width: 333px) {

  /* Products_columns 内のカラムブロックを縦並びにする */
  .Products_columns .wp-block-columns {
    flex-direction: column !important;
  }

  /* 各カラムを横幅いっぱいにする */
  .Products_columns .wp-block-column {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* ---------- Product List Link  ---------- */
.products-title {
  margin: 0 0 1rem 0;
}

.products-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)); /* デスクトップ：3列 */
  gap: 1.25rem 2rem; /* 行間 / 列間 */
}

.products-list a {
  display: inline-block;
  text-decoration: none;
  color: var(--ast-global-color-0, #1a1a1a);
  font-weight: 500;
  letter-spacing: .01em;
}

.products-list a:hover,
.products-list a:focus {
  text-decoration: underline;
  outline: none;
}

.wp-container-core-group-is-layout-478b6e6b {
    grid-template-columns: 1fr !important;
}

@media (max-width: 344px) {
.smooth-link-block a, .smooth-link-block a.wp-element-link {
    font-size: 10px !important;
}
}

/* 768px〜1024px：Products 見出し＋リンクの行だけ縦積み */
@media (min-width: 768px) and (max-width: 1024px) {

  .wp-block-columns.products_link_nav {
    display: flex !important;
    flex-direction: column !important;
    row-gap: var(--wp--style--block-gap, 2rem) !important;
  }

  .wp-block-columns.products_link_nav > .wp-block-column {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}







/* =========================================================
   Product Detail Pages  
   ========================================================= */
/* ---------- Cover  ---------- */

/* ==== MyView  ==== */
/* PC */
.my-cover-myview {
  background-image: url('/wp-content/uploads/2025/11/MYVIEW_MV.png');
  background-size: cover;
  background-position: center;
}

/* Tablet */
@media (max-width: 1024px) and (min-width: 545px) {
  .my-cover-myview {
    background-image: url('/wp-content/uploads/2025/11/tb_MyView01.png');
  }
}

/* Mobile */
@media (max-width: 544px) {
  .my-cover-myview {
    background-image: url('/wp-content/uploads/2025/11/sp_MyView01.png');
  }
  
 
}
  
  /* ==== DashBoard  ==== */
/* PC */
.my-cover-dashboard {
  background-image: url('/wp-content/uploads/2025/11/DASHBOARD_MV.png');
  background-size: cover;
  background-position: center;
}

/* Tablet */
@media (max-width: 1024px) and (min-width: 545px) {
  .my-cover-dashboard {
    background-image: url('/wp-content/uploads/2025/11/DASHBOARD_MV_tb.png');
  }
}

/* Mobile */
@media (max-width: 544px) {
  .my-cover-dashboard {
    background-image: url('/wp-content/uploads/2025/11/DASHBOARD_MV_sp.png');
  }
}


 figure.wp-block-image.size-full { 
    text-align: center; 
  }
 
  /* ==== Libra  ==== */
/* PC */
.my-cover-libra {
  background-image: url('/wp-content/uploads/2025/11/Libra_MV.png');
  background-size: cover;
  background-position: center;
}

/* Tablet */
@media (max-width: 1024px) and (min-width: 545px) {
  .my-cover-libra {
    background-image: url('/wp-content/uploads/2025/11/Libra_MV_tb.png');
  }
}

/* Mobile */
@media (max-width: 544px) {
  .my-cover-libra {
    background-image: url('/wp-content/uploads/2025/11/Libra_MV_sp.png');
  }
}


 figure.wp-block-image.size-full { 
    text-align: center; 
  }
 
 /* ==== Carbuncle  ==== */
/* PC */
.my-cover-carbuncle {
  background-image: url('/wp-content/uploads/2025/11/Carbuncle_MV-1.png');
  background-size: cover;
  background-position: center;
}

/* Tablet */
@media (max-width: 1024px) and (min-width: 545px) {
  .my-cover-carbuncle {
    background-image: url('/wp-content/uploads/2025/11/Carbuncle_MV_tb.png');
  }
}

/* Mobile */
@media (max-width: 544px) {
  .my-cover-carbuncle {
    background-image: url('/wp-content/uploads/2025/11/Carbuncle_MV_sp.png');
  }
}


 figure.wp-block-image.size-full { 
    text-align: center; 
  }
 /* ==== MobileMyView  ==== */
/* PC */
.my-cover-mobilemyview {
  background-image: url('/wp-content/uploads/2025/11/MobileMyVIEW_MV.png');
  background-size: cover;
  background-position: center;
}

/* Tablet */
@media (max-width: 1024px) and (min-width: 545px) {
  .my-cover-mobilemyview {
    background-image: url('/wp-content/uploads/2025/11/MobileMyVIEW_MV_tb.png');
  }
}

/* Mobile */
@media (max-width: 544px) {
  .my-cover-mobilemyview {
    background-image: url('/wp-content/uploads/2025/11/MobileMyView_MV_sp.png');
  }
}


 figure.wp-block-image.size-full { 
    text-align: center; 
  }

 /* ==== Doseeye  ==== */
/* PC */
.my-cover-doseeye {
  background-image: url('/wp-content/uploads/2025/11/DOSEEYE_MV.png');
  background-size: cover;
  background-position: center;
}

/* Tablet */
@media (max-width: 1024px) and (min-width: 545px) {
  .my-cover-doseeye {
    background-image: url('/wp-content/uploads/2025/11/DOSEEYE_MV_tb.png');
  }
}

/* Mobile */
@media (max-width: 544px) {
  .my-cover-doseeye {
    background-image: url('/wp-content/uploads/2025/11/DOSEEYE_MV_sp.png');
  }
}


 figure.wp-block-image.size-full { 
    text-align: center; 
  }
 
 /* ==== SYLPH  ==== */
/* PC */
.my-cover-sylph {
  background-image: url('/wp-content/uploads/2025/11/SYLPH_MV.png');
  background-size: cover;
  background-position: center;
}

/* Tablet */
@media (max-width: 1024px) and (min-width: 545px) {
  .my-cover-sylph {
    background-image: url('/wp-content/uploads/2025/11/SYLPH_MV_tb.png');
  }
}

/* Mobile */
@media (max-width: 544px) {
  .my-cover-sylph {
    background-image: url('/wp-content/uploads/2025/11/SYLPH_MV_sp.png');
  }
}


 figure.wp-block-image.size-full { 
    text-align: center; 
  }

/* ==== ixion  ==== */
/* PC */
.my-cover-ixion {
  background-image: url('/wp-content/uploads/2025/11/IXION_MV.png');
  background-size: cover;
  background-position: center;
}

/* Tablet */
@media (max-width: 1024px) and (min-width: 545px) {
  .my-cover-ixion {
    background-image: url('/wp-content/uploads/2025/11/IXION_MV_tb.png');
  }
}

/* Mobile */
@media (max-width: 544px) {
  .my-cover-ixion {
    background-image: url('/wp-content/uploads/2025/11/IXION_MV_sp.png');
  }
}


 figure.wp-block-image.size-full { 
    text-align: center; 
  }
}




 

/* ---------- Readmore / Details ---------- */
details.readmore summary,
details.readmore .wp-block-details__summary {
  background-color: #F0F5F5;
  color: #141414;
  display: inline-block;
  padding: 10px 14px;
  border-radius: 6px;
  line-height: 1.6;
  cursor: pointer;
}
details.wp-block-details.readmore.is-layout-flow.wp-block-details-is-layout-flow summary {
  width: 150px;
  text-align: center;
  font-weight: 600;
}


/* ---------- Section Title ---------- */
@media (max-width: 544px) {
    .wp-block-columns .wp-block-column:not(:last-child) {
        margin-bottom: 0px;
    }
}
/* ---------- Features（チップ群） ---------- */
/* ベースはGrid（整列安定） */
.features {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  justify-content: center;
}
/* Tablet: 2列 */
@media (min-width: 545px) and (max-width: 921px) {
  .features { grid-template-columns: repeat(2, 1fr); }
}
/* Mobile: 1列 */
@media (max-width: 544px) {
  .features { grid-template-columns: 1fr; }
}

/* チップ */
.f-item { position: relative; display: block; }
.f-chip{
  list-style: none;
  display: flex; align-items: center; justify-content: flex-start;
  width: 200px; 
  padding: .6rem .8rem; font-size: 11px;
  background: #fff; border: 1px solid #e5e7eb; border-radius: 10px;
  box-shadow: 0 1px 0 rgba(0,0,0,.02);
  cursor: pointer; white-space: nowrap;
  transition: box-shadow .2s, transform .06s, border-color .2s;
}

/* アイコンサイズ */
.f-ic img {
  width: 24px;
  height: 24px;
  object-fit: contain; 
  display: block;     
}



.f-chip:hover { box-shadow: 0 2px 8px rgba(0,0,0,.06); }
.f-chip:active { transform: translateY(1px); }
.f-item[open] .f-chip { border-color: #6D8F8F; box-shadow: 0 0 0 2px #ABDBDB inset; }
.f-ic { opacity: .75; }

/* ポップオーバー */
.f-pop{
  position: absolute; left: 0; top: calc(100% + 10px);
  width: 320px; max-width: min(90vw, 380px);
  padding: 14px 16px; font-size: 13px; background:#fff;
  border: 1px solid #e5e7eb; border-radius: 12px; box-shadow: 0 12px 30px rgba(0,0,0,.12);
  z-index: 20;
  opacity: 0; transform: scale(.98) translateY(-4px); pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}
.f-pop::before{
  content: ""; position: absolute; top: -6px; left: 16px;
  width: 12px; height: 12px; background: #fff;
  border-left: 1px solid #e5e7eb; border-top: 1px solid #e5e7eb; transform: rotate(45deg);
}
.f-item[open] .f-pop{ opacity: 1; transform: scale(1) translateY(0); pointer-events: auto; }


/* Mobile：チップ幅を広げて押しやすく */
@media (max-width: 544px) {
  .f-chip {
    width: 250px; 
    margin: 0 auto; 
  }
  
/* gridではなくflexで縦積みする */
  .features {
    display: flex;                 
    flex-direction: column;      
    align-items: center;          
    justify-content: center;
    gap: 16px;
  }

  
}


/* 最初は少し下 & 透明 */
.features {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease-out 0.2s, transform 0.8s ease-out 0.2s;
}

/* スクロールで .is-visible が付いたらフェードイン */
.features.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 544px) {
.f-item[open] .f-pop {
    opacity: 1;
    transform: scale(1) translateY(0);
    pointer-events: auto;
    width: 260px;
}
}


  
/* ---------- タブ行 ---------- */
.tabs-row{
  display: flex; align-items: center;
  gap: 24px; height: 54px;
  border-bottom: 1px solid #dbe5e5;
}
.tabs-row > .tab{
  flex: 0 0 160px;
  display: flex; align-items: center; justify-content: center;
  box-sizing: border-box;
}
.tabs-row .tab a,
.tabs-row .tab strong,
.tabs-row .tab span{
  white-space: nowrap;
  display: inline-flex; align-items: center; justify-content: center;
  width: 100%; height: 100%;
}

/* ---------- 見出しの調整 ---------- */
@media (max-width: 544px) {
  .products_maincopy {
    font-size: 30px !important;
    margin-bottom: 20px !important;
  }
}

/* ---------- UseCases ---------- */


.wp-block-column.is-layout-flow.wp-block-column-is-layout-flow {
    display: block;
}

/* 544px以下：1カラム（スマホ） */
@media (max-width: 544px) {
  .three-cols-545.wp-block-columns > .wp-block-column {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
  
    .wp-block-column.use_cases_card.is-layout-flow.wp-block-column-is-layout-flow {
        padding: 60px 20px !important;
    }
}

/* 545〜781px：Gutenberg の “強制1カラム” を上書きして 3カラムに */
@media (min-width: 545px) and (max-width: 781px) {
  .three-cols-545.wp-block-columns {
    display: flex;
    flex-wrap: wrap;
  }

  .three-cols-545.wp-block-columns > .wp-block-column {
    flex-basis: calc(100% / 3) !important;
    max-width: calc(100% / 3) !important;
  }
}

/* 545〜781px：3カラムを1行に収める */
@media (min-width: 545px) and (max-width: 781px) {
  .three-cols-545.wp-block-columns {
    display: flex;
    flex-wrap: nowrap;          
    gap: 16px;
    justify-content: center;
  }

  .three-cols-545.wp-block-columns > .wp-block-column {
    /* 幅を少しだけ小さめに＋margin削除 */
    flex: 0 0 31% !important;    
    max-width: 31% !important;
    margin: 0 !important;       
  }
  
  
 

}




/* ---------- Buttons ---------- */
/* 共通ボタン寸法（UAGボタンリンク） */
a.uagb-buttons-repeater.wp-block-button__link { width: 240px; height: 54px; }
/* 折り返し防止・中央寄せしやすい形 */
.uagb-button__wrapper .uagb-button__link{
  width: 240px; height: 50px;
  display: inline-flex; align-items: center; justify-content: center;
  white-space: nowrap; min-width: max-content; padding: 12px 24px;
}

/* “このグループだけ左寄せ” ユーティリティ */
.cta-left { align-items: flex-start !important; }
.cta-left .uagb-buttons__outer-wrap,
.cta-left .uagb-button__wrapper,
.cta-left .uagb-align-button-center {
  justify-content: flex-start !important;
  text-align: left !important;
  margin-left: 0 !important; margin-right: auto !important;
  align-self: flex-start !important;
}

/* .btn_centerを中央へ */
.wp-block-buttons .btn_center {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ボタンのラッパー内で中央寄せ */
.btn_center .uagb-button__wrapper {
  text-align: center !important;
}

/* a タグ中央寄せ */
.btn_center .uagb-buttons-repeater.wp-block-button__link {
  display: inline-flex !important;      /* a を中身サイズの flex に */
  justify-content: center !important;   /* 子要素（紫の div）を横中央 */
  align-items: center !important;       /* 縦方向も中央 */
}

/* テキスト中央寄せ */
.btn_center .uagb-button__link {
  text-align: center !important;
}

/* ---------- MYVIEW 認証番号枠 ---------- */

/* デフォルト（PC相当）：固定 680px */
p.has-border-color.has-text-color.has-link-color.wp-elements-e24f3207412a1affa751656c11ee17b1.o-anim-ready.fadeIn.delay-200ms{
  width: 680px;
  margin-left: auto;
  margin-right: auto; 
}

/* タブレット以下：可変 100% */
@media (max-width: 768px) {
    p.fadeIn.delay-200ms.has-border-color.has-text-color.has-link-color.wp-elements-e24f3207412a1affa751656c11ee17b1.o-anim-ready {
        width: 100%;
    }
}



/* ---------- SPのみ改行 ---------- */
.br-sp { display: none; }
@media (max-width: 544px) { .br-sp { display: block; } }

@media (max-width: 768px) {
    p.has-border-color.has-text-color.has-link-color.wp-elements-9e8fb45d21cff08ccccfd86f848acd5a {
        font-size: 12px;
    }
}

/* ==========================
   News
   ========================== */
/* entry-meta 非表示 */
.entry-meta {
    visibility: hidden !important;
}

/* 日付だけ再表示する */
.entry-meta .posted-on {
    visibility: visible !important;
}

/* 投稿者関連は完全に非表示にしておく */
.entry-meta .posted-by,
.entry-meta .author-name,
.entry-meta a[rel="author"] {
    display: none !important;
}




