@charset "UTF-8";

/* ヒーロースライダー */
.hero { overflow: hidden; }
/* 旧スライダー用（hero-swiperには適用しない） */
.hero > .swiper-container .swiper-slide {
  position: relative;
  height: 70vh;
  overflow: hidden;
}
.swiper-slide .main-visual {
  width: 100%; height: 100%; max-width: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 9s ease;
}
.swiper-slide-active .main-visual { transform: scale(1.2); }
.hero__title {
  position: absolute; top: 30%; left: 50%;
  color: #fff; text-align: center; width: 90vw;
  transform: translate(-50%, 20px);
  transition: opacity 1.2s ease 1.5s, transform 1.2s ease 1.5s;
  z-index: 1; opacity: 0;
}
.swiper-slide-active .hero__title { transform: translateX(-50%); opacity: 1; }
.hero__title h2 {
  color: #fff !important;
  font-size: 36px;
  text-shadow: 2px 3px rgb(0 0 0 / 80%);
  line-height: 2em;
}
.hero__title span { display: block; }
.hero__btn {
  position: absolute; bottom: 30%; left: 50%;
  font-size: 16px; color: #fff;
  transform: translate(-50%, 20px);
  transition: opacity 1.2s ease 2.5s, transform 1.2s ease 2.5s;
  opacity: 0; z-index: 1;
}
.swiper-slide-active .hero__btn { transform: translateX(-50%); opacity: 1; }
.hero__btn a {
  display: flex; justify-content: center; align-items: center;
  color: #fff; background-color: #1885EA;
  text-decoration: none; width: 240px; height: 60px;
}

/* フッター */
.info { border-top: 1px solid #ccc; background-color: #d3d3d34d; }
.info-inner {
  display: flex; align-items: center;
  max-width: 2000px !important;
  justify-content: space-between;
  padding: 100px 30px;
}
.info__logo { margin-right: 30px; }
.info__logo img { width: 150px; }
.footer_text { margin-top: 40px; display: flex; justify-content: center; }
.footer_text.address { flex-direction: column; padding-left: 150px; }
ul.social-nav { font-size: 1.7vmin; margin-left: 0; }
.company_name { font-size: 2.5vmin; }
.social-nav__icon { display: inline; margin: 0 10px; list-style: none; }
.social-nav__icon a { color: #212121; }
.footer_last {
  display: flex; justify-content: space-around;
  padding: 20px 0; background-color: black; color: #ccc;
}
.footer_last a { text-decoration: none; }
.footer_last p { color: white; }

/* フォーム (CF7) */
input { width: 350px; background-color: #DFEFF9 !important; }
textarea { background-color: #DFEFF9 !important; }
.wpcf7-textarea, textarea.wpcf7-text { height: 100px !important; max-width: 500px !important; }
input.wpcf7-form-control.wpcf7-submit {
  color: white; background: #0497ff !important; margin-top: 20px;
}
.wp-block-contact-form-7-contact-form-selector { text-align: left !important; max-width: 500px !important; margin: 0 !important; }
span.wpcf7-form-control.wpcf7-radio input { width: 50px; }
/* コンタクトページ: smb-section__body 直下の空 <p>（スペーサー）を潰す */
body.page-id-12 .smb-section__body > p {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
}
/* コンタクトフォーム: フォーム内テキストを左寄せ・白色に */
.smb-section-with-bgimage .wpcf7-form p { text-align: left !important; }
.smb-section-with-bgimage label { color: #fff !important; }

/* テーブル */
.wp-block-table table { max-width: 800px; margin: 0 auto; }

/* 投稿・アーカイブ */
.post-template-default.single.single-post h1 { font-size: 23px; text-align: left; }
.archive h1 { font-size: 23px; text-align: left; }

/* レスポンシブ */
@media (max-width: 1023px) {
  .hero__title h2 {
  color: #fff !important; font-size: 32px; }
  .info-inner { padding: 40px 30px; }
}
@media (max-width: 639px) {
  .hero__title { top: 15%; }
  .hero__title h2 {
  color: #fff !important; font-size: 20px; }
  .hero__btn { bottom: 20%; }
  .hero__btn a { width: 180px; height: 45px; }
  .footer_text.address { flex-direction: column; padding-left: 0; }
  ul.social-nav { font-size: 2.2vmin; }
  .company_name { font-size: 5vmin; }
  .info-inner { display: block; text-align: center; padding: 40px; }
  .info__logo { margin-right: 0; margin-bottom: 25px; }
  .info__logo img { width: 120px; }
  .footer_last { display: block; text-align: center; }
  .footer_last p { font-size: 10px; margin-bottom: 10px; }
}

/* 明朝体フォント（Noto Serif JP） */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&display=swap');

.hero__title h2,
.hero__title span {
  font-family: 'Noto Serif JP', serif;
}

/* サイトタイトル・キャッチフレーズ非表示 */
.site-title,
.site-description,
.ast-site-title-wrap .ast-site-name {
  display: none !important;
}

/* ================================================
   Snow Monkey ブロック 互換CSS
   ================================================ */

/* Astraデフォルトフッター非表示 */
footer.site-footer { display: none !important; }

/* セクション共通 */
.smb-section { padding: 60px 0; box-sizing: border-box; }
.smb-section.alignfull { width: 100%; }
.smb-section__inner { max-width: 1100px; margin: 0 auto; padding: 0 30px; box-sizing: border-box; }
.smb-section__title { font-size: 2em; text-align: center; margin-bottom: 30px; font-weight: bold; }
.smb-section__lede { text-align: center; margin-bottom: 30px; color: #555; }
.smb-section__body { max-width: 1100px; margin: 0 auto; }

/* 行(row)レイアウト */
.c-row { display: flex; flex-wrap: wrap; gap: 20px; }
.c-row__col { flex: 1; min-width: 250px; box-sizing: border-box; }
.c-row__col--lg-1-2 { flex: 0 0 calc(50% - 10px); max-width: calc(50% - 10px); }

/* パネル */
.smb-panels { padding: 0 20px; }
.smb-panels .c-row { display: flex; flex-wrap: wrap; align-items: stretch; }
.smb-panels__item { display: flex; flex-direction: column; overflow: hidden; border: 1px solid #eee; height: 100%; }
.smb-panels__item__figure { overflow: hidden; }
.smb-panels__item__figure img { width: 100%; height: 220px; object-fit: cover; display: block; }
.smb-panels__item__body { padding: 20px; flex: 1; }
.smb-panels__item__title { font-size: 1.2em; font-weight: bold; margin-bottom: 10px; }
.smb-panels__item__content { font-size: 0.9em; color: #555; }
.smb-panels__item__action { padding: 10px 20px 20px; text-align: center; }
.smb-panels__item__link a {
  display: inline-block; padding: 8px 20px;
  border: 1px solid #2a9dff; color: #2a9dff; text-decoration: none; font-size: 0.9em;
}
.wp-block-snow-monkey-blocks-panels--item { flex: 1; min-width: 220px; }

/* Break-the-grid (SERVICEセクション) */
.smb-section-break-the-grid { padding: 40px 0; overflow: hidden; }
.smb-section-break-the-grid .smb-section__body {
  display: flex; align-items: center; gap: 0;
  max-width: 1200px; margin: 0 auto;
}
.smb-section-break-the-grid--right .smb-section__body { flex-direction: row; }
.smb-section-break-the-grid--left .smb-section__body { flex-direction: row-reverse; }
.smb-section-break-the-grid__figure { flex: 0 0 50%; max-width: 50%; overflow: hidden; }
.smb-section-break-the-grid__figure img { width: 100%; height: 350px; object-fit: cover; display: block; }
.smb-section-break-the-grid__content { flex: 1; padding: 40px; }
.smb-section-break-the-grid__title { font-size: 1.5em; font-weight: bold; margin-bottom: 15px; }
.smb-section-break-the-grid__lede { color: #555; margin-bottom: 15px; line-height: 1.8; }
.smb-section-break-the-grid__shadow { display: none; }

/* ボタン */
.smb-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 240px; height: 60px;
  padding: 0; background-color: #1885EA;
  color: #fff !important; text-decoration: none !important;
  box-sizing: border-box;
}
.smb-btn-wrapper { text-align: center; margin: 20px auto; }
.smb-buttons { display: flex; gap: 10px; flex-wrap: wrap; }
.smb-buttons.is-content-justification-center { justify-content: center; }

/* NEWSセクション背景 */
.news-section .smb-section__inner { background: #f3f2f28f; padding: 40px; }

/* top-areaパネル */
.smb-panels.top-area .c-row { gap: 0; }

/* レスポンシブ */
@media (max-width: 768px) {
  .c-row { flex-direction: column; }
  .c-row__col--lg-1-2 { flex: 0 0 100%; max-width: 100%; }
  .smb-section-break-the-grid .smb-section__body { flex-direction: column !important; }
  .smb-section-break-the-grid__figure { flex: 0 0 100%; max-width: 100%; }
  .smb-section-break-the-grid__figure img { height: 250px; }
  .smb-panels { padding: 0 10px; }
}

/* ================================================
   Snow Monkey Editor レスポンシブ表示制御
   ================================================ */

/* スマホのみ表示（PC・タブレットで非表示） */
@media (min-width: 600px) {
  .sme-hidden-md { display: none !important; }
}
@media (min-width: 1024px) {
  .sme-hidden-lg-up { display: none !important; }
}

/* PCのみ表示（スマホで非表示） */
@media (max-width: 599px) {
  .sme-hidden-sm { display: none !important; }
}

/* ================================================
   UD ViewerX 単独パネル幅制限
   ================================================ */
.smb-panels .c-row .wp-block-snow-monkey-blocks-panels--item:only-child {
  flex: 0 0 calc(33.333% - 20px);
  max-width: calc(33.333% - 20px);
  margin: 0 auto;
}

/* ================================================
   情報セクション（seminer）- 高さ・位置はsinwa-overrideで制御
   ================================================ */
.seminer.smb-section-break-the-grid {
  padding: 0;
}
.seminer .smb-section-break-the-grid__shadow {
  display: none;
}
.seminer .smb-section-break-the-grid__title {
  text-align: left;
}

/* ================================================
   PRODUCT パネル UD ViewerX 中央揃え
   ================================================ */
.product .smb-panels .c-row {
  justify-content: center;
}
.smb-panels .c-row .wp-block-snow-monkey-blocks-panels--item:only-child {
  flex: 0 0 calc(25% - 20px) !important;
  max-width: calc(25% - 20px) !important;
}

/* ================================================
   ヘッダー（Astra Builder 2段レイアウト）
   ================================================ */
#ast-desktop-header .site-header-primary-section-left {
  padding: 8px 20px 4px !important;
}
#ast-desktop-header .site-header-primary-section-right {
  padding: 0 !important;
}

/* スティッキーヘッダー */
.site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  background-color: rgba(255,255,255,0.95) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
body.admin-bar .site-header {
  top: 32px !important;
}
@media screen and (max-width: 782px) {
  body.admin-bar .site-header {
    top: 46px !important;
  }
}
/* Astraのscroll-up-only動作による非表示を無効化 */
.site-header,
.ast-header-sticked .site-header,
.ast-sticky-active .site-header,
.ast-header-sticked {
  transform: translateY(0) !important;
  background-color: rgba(255,255,255,0.95) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
}

/* ================================================
   レスポンシブ
   ================================================ */
@media (max-width: 768px) {
  #ast-desktop-header { display: none !important; }

  .seminer .c-row {
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .seminer .c-row .c-row__col:first-child,
  .seminer .c-row .c-row__col:last-child {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
  }
  .seminer .smb-section-break-the-grid__figure img {
    position: relative !important;
    height: 220px !important;
    width: 100% !important;
    object-fit: cover !important;
  }
  .smb-panels .c-row .wp-block-snow-monkey-blocks-panels--item:only-child {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

/* ================================================
   Englishリンク（ロゴ行右端）
   ================================================ */
.site-header-primary-section-left {
  position: relative !important;
}
.sinwa-english-link {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 15px;
  color: #29ABE2 !important;
  text-decoration: none !important;
  white-space: nowrap;
  display: flex !important;
  align-items: center;
  gap: 5px;
}
.sinwa-english-link:hover {
  text-decoration: underline !important;
}
.sinwa-english-icon {
  width: 20px;
  height: auto;
  display: block;
}
@media (max-width: 768px) {
  .sinwa-english-link { display: none; }
}

/* ================================================
   お知らせバー（ナビゲーション下）
   ================================================ */
.sinwa-infobar {
  display: block;
  width: 100%;
  background-color: #1768d8;
  text-align: center;
  padding: 5px 20px;
  box-sizing: border-box;
}
.sinwa-infobar a {
  color: #fff !important;
  text-decoration: none !important;
  font-size: 15px;
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
}
.sinwa-infobar a:hover {
  text-decoration: underline !important;
}
@media (max-width: 768px) {
  .sinwa-infobar { display: none; }
}

/* Astra primaryヘッダーのmin-height余白を除去 */
.ast-primary-header-bar .site-primary-header-wrap {
  min-height: 0 !important;
}

/* ================================================
   フロントページ専用スタイル
   ================================================ */

/* 全体フォントを明朝体に */
body,
.entry-content,
.smb-section__title,
.smb-section__lede,
.smb-btn__label,
p, li {
  font-family: "Noto Serif JP", serif !important;
}

/* TOPページ タイトル・ヘッダー非表示 */
.home .entry-header {
  display: none !important;
}

/* top-area: ヒーロースライダー下部に重なるように配置 */
.home .smb-panels.top-area {
  position: relative;
  margin-top: -120px;
  z-index: 2;
  background: #f3f2f2;
  box-shadow: 0 -6px 8px rgba(0,0,0,0.2);
  padding: 0;
}
.home .smb-panels.top-area .smb-panels__item {
  box-shadow: none !important;
  background: transparent;
}
.home .smb-panels.top-area .smb-panels__item__body {
  padding: 60px 80px 20px;
  background: #f3f2f2;
}
.home .smb-panels.top-area h2,
.home .smb-panels.top-area h2.wp-block-heading {
  background-color: transparent !important;
  border: none !important;
  border-left: none !important;
  padding-left: 0 !important;
  text-align: center;
}
.home .smb-panels.top-area .smb-btn {
  height: 60px;
  line-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
/* topscrollバナー画像（ヒーロースライダー風に見えるため非表示） */
.wp-block-image.banners {
  display: none !important;
}
/* 全幅カバーブロック（背景画像付き）を非表示 */
.wp-block-cover.online {
  display: none !important;
}

/* ================================================
   PROFILE / CONTENT / HISTORY パネル
   ================================================ */

/* テキストを上、画像を下に並び替え */
.home .smb-panels.panels .c-row {
  gap: 0 !important;
}
.panels .smb-panels__item {
  display: flex !important;
  flex-direction: column !important;
  box-shadow: none !important;
  padding: 0 !important;
  border: 1px solid #cccccc !important;
}
/* 隣接するパネル間の左枠線を消して二重線を防ぐ */
.home .smb-panels.panels .c-row__col + .c-row__col .smb-panels__item {
  border-left: none !important;
}
.panels .smb-panels__item__body {
  order: 1 !important;
  box-shadow: 0 0 0 1px #ccc !important;
  padding: 20px !important;
  flex: none !important;
}
.panels .smb-panels__item__title {
  font-size: 22px !important;
  font-family: "Noto Serif JP", serif !important;
  font-weight: 700 !important;
  text-align: center !important;
}
.panels .smb-panels__item__content {
  font-size: 14px !important;
  text-align: center !important;
  color: #555 !important;
}
.panels .smb-panels__item__action {
  text-align: center !important;
}
.panels .smb-panels__item__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 240px !important;
  height: 60px !important;
  padding: 0 !important;
  border: 1px solid #2a9dff !important;
  color: #2a9dff !important;
  font-size: 14px !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
}
.panels .smb-panels__item__figure {
  order: 2 !important;
  position: relative !important;
  overflow: hidden !important;
}
.panels .smb-panels__item__figure img {
  transition: transform 0.6s ease !important;
}

/* ホバー時: 各パネルに固有テキストをオーバーレイ表示 */
.panels .smb-panels__item__figure::before {
  content: '';
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  white-space: pre;
  background: radial-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.9));
  color: #fff;
  font-size: 13px;
  font-family: "Noto Serif JP", serif;
  line-height: 1.8;
  text-align: center;
  transition: opacity 0.6s 70ms, transform 0.6s 70ms;
  opacity: 0;
  z-index: 1;
  transform: scale(1);
}
.panels .smb-panels__item:hover .smb-panels__item__figure::before {
  opacity: 1;
  transform: scale(1.4);
}
.panels .smb-panels__item:hover .smb-panels__item__figure img {
  transform: scale(1.2) !important;
}

/* 各パネル固有のホバーテキスト */
.panels .c-row__col.profile .smb-panels__item__figure::before {
  content: "ＣＡＤ / コンピュータシステムの\A開発・販売及び\A\Aインターネットサービスの提供\A\Aこれらを通じて\A社会貢献へ寄与します。";
}
.panels .c-row__col.content .smb-panels__item__figure::before {
  content: "CAD事業\AIT事業\A制御配電事業部\A\Aあらゆるニーズに対応していきます";
}
.panels .c-row__col.history .smb-panels__item__figure::before {
  content: "1980年から\AシーケンスＣＡＤの\Aリーディングカンパニー\AとしてＣＡＤ・ＣＡＭ等の\Aコンピュータシステム開発・販売";
}

/* ================================================
   NEWS ニュース一覧
   ================================================ */
.sinwa-recent-posts {
  width: 100%;
  max-width: 800px;
  margin: 0 auto 30px;
}
.sinwa-post-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid #ddd;
  flex-wrap: nowrap;
}
.sinwa-post-date {
  font-size: 15px;
  color: #555;
  white-space: nowrap;
  font-family: "Noto Serif JP", serif;
  min-width: 130px;
}
.sinwa-post-cat {
  display: inline-block;
  font-size: 13px;
  border: 1px solid #1885EA;
  color: #1885EA;
  padding: 2px 14px;
  border-radius: 20px;
  white-space: nowrap;
  font-family: "Noto Serif JP", serif;
}
.sinwa-post-title {
  font-size: 16px;
  color: #222 !important;
  text-decoration: none !important;
  font-family: "Noto Serif JP", serif;
  line-height: 1.5;
}
.sinwa-post-title:hover {
  color: #1885EA !important;
  text-decoration: none !important;
}

/* ================================================
   IT事業部・制御配電事業部パネル（SERVICEセクション内）
   ================================================ */
.service .smb-panels .smb-panels__item {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12) !important;
  border: none !important;
}
.service .smb-panels .smb-panels__item__body {
  text-align: center !important;
}
.service .smb-panels .smb-panels__item__title {
  text-align: center !important;
}
.service .smb-panels .smb-panels__item__content {
  text-align: center !important;
}

/* ================================================
   PRODUCT セクション
   ================================================ */

/* 3列レイアウト固定（gap:20px、2gap分=40pxを差し引き） */
.product .smb-panels .c-row .c-row__col {
  flex: 0 0 calc(33.333% - 14px) !important;
  max-width: calc(33.333% - 14px) !important;
  min-width: 0 !important;
}
/* レスポンシブ: 768px以下は2列、599px以下は1列 */
@media (max-width: 768px) {
  .product .smb-panels .c-row .c-row__col,
  body.page-id-3520 .smb-panels .c-row .c-row__col {
    flex: 0 0 calc(50% - 10px) !important;
    max-width: calc(50% - 10px) !important;
  }
}
@media (max-width: 599px) {
  .product .smb-panels .c-row .c-row__col,
  body.page-id-3520 .smb-panels .c-row .c-row__col {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

/* パネルに影 */
.product .smb-panels .smb-panels__item {
  box-shadow: 0 3px 15px rgba(0, 0, 0, 0.10) !important;
  border: none !important;
}

/* __body をフレックス列にして __action を常に下端に固定 */
.product .smb-panels .smb-panels__item__body {
  display: flex !important;
  flex-direction: column !important;
}
.product .smb-panels .smb-panels__item__content {
  flex: 1 !important;
}
.product .smb-panels .smb-panels__item__action {
  margin-top: auto !important;
}

/* タイトルのみ中央寄せ */
.product .smb-panels .smb-panels__item__title {
  text-align: center !important;
  font-family: "Noto Serif JP", serif !important;
  font-size: 1.2em !important;
  font-weight: 700 !important;
}

/* 詳細はこちらボタン（<a><div.smb-panels__item__link> 構造） */
.product .smb-panels__item__action a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #1885EA !important;
  color: #1885EA !important;
  text-decoration: none !important;
  padding: 7px 28px !important;
  font-size: 13px !important;
  font-family: "Noto Serif JP", serif !important;
}
.product .smb-panels__item__action a:hover {
  background-color: #1885EA !important;
  color: #fff !important;
}

/* ================================================
   製品情報（英語）product_en（page-id-3520）パネルボックス
   ================================================ */
body.page-id-3520 .smb-panels__item {
  box-shadow: 0 3px 15px rgba(0, 0, 0, 0.10) !important;
  border: none !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
body.page-id-3520 .smb-panels__item__body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  padding: 20px !important;
}
body.page-id-3520 .smb-panels__item__content {
  flex: 1 !important;
}
body.page-id-3520 .smb-panels__item__action {
  margin-top: auto !important;
  padding: 10px 20px 20px !important;
  text-align: center !important;
}
body.page-id-3520 .smb-panels__item__title {
  text-align: center !important;
  font-size: 1.2em !important;
  font-weight: 700 !important;
}
/* details ボタン */
body.page-id-3520 .smb-panels__item__action a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #1885EA !important;
  color: #1885EA !important;
  text-decoration: none !important;
  padding: 7px 28px !important;
  font-size: 13px !important;
}
body.page-id-3520 .smb-panels__item__action a:hover {
  background-color: #1885EA !important;
  color: #fff !important;
}

/* ================================================
   セミナーページ（page-id-2495）パネルボックス
   ================================================ */

/* 影あり・ボーダーなし */
.page-id-2495 .smb-panels__item {
  box-shadow: 0 3px 15px rgba(0, 0, 0, 0.10) !important;
  border: none !important;
  text-align: center !important;
}

/* タイトル中央 */
.page-id-2495 .smb-panels__item__title {
  text-align: center !important;
  font-size: 1.05em !important;
  font-weight: bold !important;
  margin-bottom: 16px !important;
  line-height: 1.7 !important;
}

/* ボタンエリア中央 */
.page-id-2495 .smb-panels__item__action {
  text-align: center !important;
}

/* リンクをボタン風に */
.page-id-2495 .smb-panels__item__action a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #1885EA !important;
  color: #1885EA !important;
  text-decoration: none !important;
  padding: 7px 28px !important;
  font-size: 13px !important;
  font-family: "Noto Serif JP", serif !important;
}
.page-id-2495 .smb-panels__item__action a:hover {
  background-color: #1885EA !important;
  color: #fff !important;
}
.page-id-2495 .smb-panels__item__link {
  color: inherit !important;
  font-size: 13px !important;
}

/* ================================================
   体験版ダウンロード（taiken）セクション
   ================================================ */

/* 3列レイアウト */
.taiken .smb-items .c-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 20px !important;
}
.taiken .smb-items .c-row .c-row__col {
  flex: 0 0 calc(33.333% - 14px) !important;
  max-width: calc(33.333% - 14px) !important;
  min-width: 0 !important;
}

/* ボックス: 影あり・ボーダーなし */
.taiken .smb-items__item {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  border: none !important;
  box-shadow: 0 3px 15px rgba(0, 0, 0, 0.10) !important;
  background: #fff !important;
  overflow: hidden !important;
}

/* 画像: 統一高さ */
.taiken .smb-items__item__figure img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  display: block !important;
}

/* 本文エリア */
.taiken .smb-items__item__body {
  padding: 20px !important;
  flex: 1 !important;
}

/* タイトル中央寄せ */
.taiken .smb-items__item__title {
  text-align: center !important;
  font-family: "Noto Serif JP", serif !important;
  font-size: 1.1em !important;
  font-weight: 700 !important;
  margin-bottom: 10px !important;
}
.taiken .smb-items__item__title center {
  display: block !important;
}

/* 説明文 */
.taiken .smb-items__item__content {
  font-size: 0.9em !important;
  color: #555 !important;
  line-height: 1.7 !important;
}

/* ボタンエリア */
.taiken .smb-items__item__action {
  padding: 10px 20px 20px !important;
  text-align: center !important;
}

/* 無料ダウンロードボタン */
.taiken .smb-items__item__btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #1885EA !important;
  background: transparent !important;
  color: #1885EA !important;
  text-decoration: none !important;
  padding: 8px 28px !important;
  font-size: 13px !important;
  font-family: "Noto Serif JP", serif !important;
  border-radius: 0 !important;
}
.taiken .smb-items__item__btn:hover {
  background-color: #1885EA !important;
  color: #fff !important;
}

/* レスポンシブ: タブレット2列 */
@media (max-width: 1023px) {
  .taiken .smb-items .c-row .c-row__col {
    flex: 0 0 calc(50% - 10px) !important;
    max-width: calc(50% - 10px) !important;
  }
}
/* レスポンシブ: スマホ1列 */
@media (max-width: 599px) {
  .taiken .smb-items .c-row .c-row__col {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

/* ================================================
   Snow Monkey Editor カラークラス補完
   ================================================ */
.has-lightest-grey-background-color {
  background-color: #f0f0f0 !important;
  border-left: 4px solid #1885EA !important;
  padding: 8px 16px !important;
  display: block !important;
}

/* 内部ページ h2 見出し: 薄グレー背景＋青い左ライン */
.entry-content h2.wp-block-heading:not(.has-background) {
  background-color: #f0f0f0 !important;
  border-left: 4px solid #1885EA !important;
  padding: 8px 16px !important;
}

/* ================================================
   製品ページ syouhin セクション（左画像右テキスト / 右画像左テキスト）
   ================================================ */

/* ボタンとUnidrafXタイトルの間に余白 */
.smb-items__item__action {
  margin-bottom: 30px !important;
}
/* 狭い画面でボタンを縦積みにする */
@media (max-width: 600px) {
  .smb-items__item__action {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 8px !important;
    text-align: right !important;
  }
  .smb-items__item__action a,
  .smb-items__item__action .smb-btn {
    margin-left: 0 !important;
  }
}

.syouhin.smb-section-break-the-grid {
  padding: 20px 0 !important;
  overflow: visible !important;
  margin-bottom: 10px !important;
}

/* --left: 画像を左、テキストを右に（列順を逆転） */
.syouhin.smb-section-break-the-grid--left .c-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}
.syouhin.smb-section-break-the-grid--left .c-row .c-row__col:first-child {
  order: 2 !important;
}
.syouhin.smb-section-break-the-grid--left .c-row .c-row__col:last-child {
  order: 1 !important;
}

/* --right: 画像を右、テキストを左 */
.syouhin.smb-section-break-the-grid--right .c-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}

/* テキスト左寄せ */
.syouhin .smb-section-break-the-grid__title,
.syouhin .smb-section-break-the-grid__lede {
  text-align: left !important;
}
.syouhin .smb-section-break-the-grid__content {
  text-align: left !important;
  padding: 0 !important;
}

/* 画像: ベースCSSの max-width: 50% を上書きして列全体を使う */
.syouhin .smb-section-break-the-grid__figure {
  max-width: 100% !important;
  flex: 0 0 50% !important;
  overflow: visible !important;
}
.syouhin .smb-section-break-the-grid__figure img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

/* syouhin コンテナを絞って中央寄せ（オリジナルに合わせて少し小さく） */
.syouhin .c-container {
  max-width: 960px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* モバイル: 縦積み */
@media (max-width: 768px) {
  .syouhin.smb-section-break-the-grid--left .c-row .c-row__col:first-child,
  .syouhin.smb-section-break-the-grid--left .c-row .c-row__col:last-child {
    order: unset !important;
  }
}

/* ================================================
   主な機能以降: 画像・YouTube を中央寄せ
   ================================================ */
body.page-template-one-column-slim figure.wp-block-image {
  text-align: center !important;
}
body.page-template-one-column-slim figure.wp-block-image img {
  display: inline-block !important;
}
body.page-template-one-column-slim .entry-content iframe {
  display: block !important;
  margin: 20px auto 0 !important;
}

/* ================================================
   パンくずリスト
   ================================================ */
.ast-breadcrumbs-wrapper {
  padding: 8px 20px;
  font-size: 13px;
  font-family: "Noto Serif JP", serif;
}
.ast-breadcrumbs-wrapper a {
  color: #555;
  text-decoration: none;
}
.ast-breadcrumbs-wrapper a:hover {
  color: #1885EA;
}
.trail-items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}
/* Astra自身がセパレーターを生成するため::beforeは不要 */

/* ================================================
   ページタイトル（パンくず直下の重複テキスト）非表示
   ================================================ */
.page .entry-header .entry-title,
.page .entry-header {
  display: none !important;
}

/* ================================================
   Google Map 中央寄せ（ACCESSページ）
   ================================================ */
.entry-content iframe[src*="google.com/maps"] {
  display: block !important;
  margin: 30px auto !important;
  max-width: 100% !important;
}

/* ================================================
   ナビゲーション プルダウン ホバー
   ================================================ */
#ast-desktop-header .sub-menu .menu-item a.menu-link {
  transition: background-color 0.2s, color 0.2s;
}
#ast-desktop-header .sub-menu .menu-item a.menu-link:hover {
  background-color: #1768d8 !important;
  color: #fff !important;
}

/* ================================================
   smb-section-with-bgimage（CADページ等 背景画像セクション）
   ================================================ */
.smb-section-with-bgimage {
  position: relative !important;
  min-height: 460px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
}
.smb-section-with-bgimage__bgimage {
  position: absolute !important;
  top: 0 !important; left: 0 !important;
  right: 0 !important; bottom: 0 !important;
  z-index: 0 !important;
  overflow: hidden !important;
}
/* inline style="opacity:0.4" を !important で上書き */
.smb-section-with-bgimage__bgimage img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important;
  opacity: 1 !important;
  display: block !important;
}
.smb-section-with-bgimage__mask {
  position: absolute !important;
  top: 0 !important; left: 0 !important;
  right: 0 !important; bottom: 0 !important;
  z-index: 1 !important;
  opacity: 0.6 !important;
}
.smb-section-with-bgimage .smb-section__inner,
.smb-section-with-bgimage > .c-container {
  position: relative !important;
  z-index: 2 !important;
  padding: 30px 20px 60px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.smb-section-with-bgimage .smb-section__title {
  color: #fff !important;
  text-align: center !important;
  font-family: "Noto Serif JP", serif !important;
  font-size: 2em !important;
  margin-bottom: 20px !important;
}
.smb-section-with-bgimage .smb-section__lede,
.smb-section-with-bgimage .smb-section__body,
.smb-section-with-bgimage p {
  color: #fff !important;
  text-align: center !important;
}
.smb-section-with-bgimage .smb-buttons {
  justify-content: center !important;
  margin-top: 30px !important;
}

/* ================================================
   内部ページ パンくず上部マージン削減
   ================================================ */
.page .ast-article-single {
  padding-top: 5px !important;
}


/* ================================================
   Snow Monkey Editor 警告ボックス
   ================================================ */
.is-style-sme-alert-warning {
  background-color: #fff0f0 !important;
  border-left: 5px solid #cc0000 !important;
  padding: 16px 20px !important;
  margin: 24px 0 !important;
  line-height: 1.9 !important;
  font-family: "Noto Serif JP", serif !important;
  font-size: 0.9em !important;
  color: #333 !important;
  box-sizing: border-box !important;
}

/* reCAPTCHA バッジ非表示（フッターに利用規約リンク記載済み） */
.grecaptcha-badge { visibility: hidden !important; }

/* trial_form: 外枠ボックス削除・幅調整 */
body.page-id-3137 .ast-article-single {
  background-color: transparent !important;
  padding: 1em !important;
}
body.page-id-3137 .trial-form-wrap {
  max-width: 560px;
  margin: 0 auto;
}
/* グレー枠テーブル */
body.page-id-3137 .trial-form-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 1px;
  background-color: #a9a9a9;
}
body.page-id-3137 .trial-form-table td {
  background-color: #fff;
  padding: 4px 6px;
}
body.page-id-3137 .trial-form-table td:first-child {
  white-space: nowrap;
  width: 130px;
  text-align: right;
}
body.page-id-3137 .trial-form-wrap input[type="text"],
body.page-id-3137 .trial-form-wrap input[type="email"],
body.page-id-3137 .trial-form-wrap input[type="tel"] {
  width: 100% !important;
  box-sizing: border-box !important;
}
body.page-id-3137 .trial-form-submit {
  margin-top: 1em;
  text-align: center;
}

/* supportform: フォーム横幅制限 */
body.page-id-1900 .entry-content {
  max-width: 500px !important;
}
body.page-id-1900 .wpcf7 {
  max-width: 100% !important;
}
body.page-id-1900 .wpcf7 input[type="text"],
body.page-id-1900 .wpcf7 input[type="email"],
body.page-id-1900 .wpcf7 input[type="tel"],
body.page-id-1900 .wpcf7 input[type="number"],
body.page-id-1900 .wpcf7 input[type="date"],
body.page-id-1900 .wpcf7 select,
body.page-id-1900 .wpcf7 textarea {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* support_login: ログインフォームレイアウト */
body.page-id-4108 .support-login-form { max-width: 420px; }
body.page-id-4108 .support-login-row {
  display: flex; align-items: center; margin-bottom: 8px;
}
body.page-id-4108 .login-label { width: 90px; flex-shrink: 0; text-align: left; }
body.page-id-4108 .support-login-row input[type="text"],
body.page-id-4108 .support-login-row input[type="password"] {
  width: 150px; flex-shrink: 0; padding: 2px 4px; height: 24px; box-sizing: border-box;
}
body.page-id-4108 .login-save {
  display: flex; align-items: center; margin-left: 10px; font-size: 12px; white-space: nowrap;
}
body.page-id-4108 .login-save input[type="checkbox"] { width: 20px; flex-shrink: 0; }
body.page-id-4108 .support-login-submit { padding-left: 90px; margin-top: 10px; }
body.page-id-4108 .support-login-submit button {
  width: 100px; font-size: 13px; cursor: pointer; padding: 6px 8px; height: auto;
}

/* ================================================
   ヒーロースライダー (hero-swiper / Swiper 8)
   ================================================ */
.hero-swiper {
  height: 70vh;
}
.hero-swiper .swiper-slide {
  height: 70vh;
  overflow: hidden;
}

/* ================================================
   Englishリンク・ENバッジ（ヘッダー右端）
   ================================================ */
.sinwa-english-link {
  position: fixed;
  top: 18px;
  right: 20px;
  z-index: 10000;
  display: flex !important;
  align-items: center;
  gap: 6px;
  color: #29ABE2 !important;
  text-decoration: none !important;
  font-size: 14px;
  font-weight: bold;
}
.sinwa-english-link:hover { text-decoration: underline !important; }
.sinwa-english-icon-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background-color: #29ABE2;
  color: #fff;
  font-size: 10px;
  font-weight: bold;
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .sinwa-english-link { display: none !important; }
}
