/*
Theme Name: unilifej
Theme URI:
Author: TAISEINET CO., LTD.
Author URI: https://www.taiseinet.com/
Description: ユニ・ライフ・ジャパン様 公式ウェブサイト専用のカスタム子テーマです。ブロックテーマ「X-T9」をベースに、独自のデザインカスタマイズおよび機能拡張を適用しています。サイト全体のデザイン一貫性と運用の安定性を維持するためのシステム専用資材のため、テーマの変更や削除は行わないでください。
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 5.7
Version:
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: x-t9
Text Domain: unilifej
Tags:
*/
/* ▼ヘッダー */
/* ▽▼ PC：横並びメニュー */
header .vk_hidden-xs .wp-block-navigation li a {
  font-size: var(--wp--preset--font-size--x-large);
  font-weight: 700;
  line-height: 0.5;
}

header .vk_hidden-xs .wp-block-navigation > li > a {
  width: 100%;
  justify-content: center;
  line-height: 2;
}

header .vk_hidden-xs .wp-block-navigation li:hover {
  background-color: var(--wp--preset--color--primary-hover);
}

header .vk_hidden-xs .wp-block-navigation li ul.wp-block-navigation-submenu {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transform-origin: top;
  transition: max-height .25s ease, opacity .2s ease;
}

header .vk_hidden-xs .wp-block-navigation li:hover > ul.wp-block-navigation-submenu {
  max-height: 500px;
  opacity: 1;
  visibility: visible;
}

/* ▽▼ SP：ハンバーガーメニュー */
@media (hover: none) and (pointer: coarse), (991px >=width) {
  html.menu_open body {
    overflow: hidden;
  }

  header .vk_hidden-lg {
    display: block !important;
  }

  header .vk_hidden-xs {
    display: none
  }
}

header .vk_hidden-lg nav {
  z-index: 100000;
  position: fixed;
  top: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 0;
  background-color: var(--wp--preset--color--primary);
}

header .vk_hidden-lg nav button.wp-block-navigation__responsive-container-open,
header .vk_hidden-lg nav button.wp-block-navigation__responsive-container-close {
  position: absolute;
  top: 20px;
  left: initial;
  right: 20px;
}

header .vk_hidden-lg nav button.wp-block-navigation__responsive-container-open {
  background: #ffa600;
  border-radius: 10px;
  padding: 0;
}

header .vk_hidden-lg nav button svg {
  width: 40px;
  height: 40px;
}

html header .vk_hidden-lg nav .wp-block-navigation__responsive-container {
  overflow-y: scroll;
  position: absolute;
  top: 0;
  right: 0;
  display: block !important;
  width: 100%;
  height: auto;
  min-height: 100vh;
  padding: 0;
}

html:not(.menu_open) header .vk_hidden-lg nav .wp-block-navigation__responsive-container {
  transform: translateX(-100%);
  visibility: hidden;
  transition: transform .4s ease-out, visibility 0s linear .4s;
}

html.menu_open header .vk_hidden-lg nav .wp-block-navigation__responsive-container {
  transform: translateX(0);
  visibility: visible;
  transition: transform .4s ease-out, visibility 0s;
}

html.menu_open header .vk_hidden-lg nav .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
  position: absolute;
  top: 70px;
  width: 100%;
}

header .vk_hidden-lg nav .wp-block-navigation__responsive-container ul.wp-block-navigation__container {
  display: block;
}

header .vk_hidden-lg nav ul.wp-block-navigation__container > li.wp-block-navigation-item {
  position: relative;
  display: block;
  border-bottom: 1px solid var(--wp--preset--color--border-normal);
}

header .vk_hidden-lg nav ul.wp-block-navigation__container > li.wp-block-navigation-item > button.wp-block-navigation__submenu-icon {
  position: absolute;
  top: 0;
  right: 0;
  width: auto;
  height: auto;
  padding: .8em 1em;
  margin-right: initial;
}

header .vk_hidden-lg nav ul.wp-block-navigation__container > li.wp-block-navigation-item > button.wp-block-navigation__submenu-icon svg {
  width: 1.5em;
  height: 1.5em;
  transform: rotate(0);
  transition: transform .2s ease;
}

header .vk_hidden-lg nav ul.wp-block-navigation__container > li.wp-block-navigation-item.list_open > button.wp-block-navigation__submenu-icon svg {
  transform: rotate(180deg);
}

header .vk_hidden-lg nav ul.wp-block-navigation__container > li.wp-block-navigation-item > ul.wp-block-navigation__submenu-container,
header .vk_hidden-lg nav ul.wp-block-navigation__container > li.wp-block-navigation-item:hover > ul.wp-block-navigation__submenu-container {
  display: block;
  height: auto;
  overflow: hidden !important;
  visibility: visible;
  opacity: 1;
  transition: max-height .4s linear;
}

header .vk_hidden-lg nav ul.wp-block-navigation__container > li.wp-block-navigation-item:not(.list_open) > ul.wp-block-navigation__submenu-container {
  max-height: 0;
}

header .vk_hidden-lg nav ul.wp-block-navigation__container > li.wp-block-navigation-item.list_open > ul.wp-block-navigation-submenu {
  max-height: 100vh;
}

header .vk_hidden-lg nav ul.wp-block-navigation__container > li.wp-block-navigation-item > ul.wp-block-navigation-submenu li {
  position: relative;
  display: block;
}

/* ==========================================================================
   iOS Safari特有のページ遷移時ちらつき防止（通常アニメーション維持版）
   ========================================================================== */

/* ページ読み込み中の「一瞬の隙」だけ、アニメーションと変形を強制無効化して非表示にする */
html.is-loading header .vk_hidden-lg .wp-block-navigation__responsive-container,
html.is-loading header .vk_hidden-lg .wp-block-navigation__responsive-container * {
  transition: none !important;
  transform: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  display: none !important;
}

/* ▼サイドバー */
.page aside nav li {
  justify-content: center;
}

.page aside nav li:hover {
  background-color: var(--wp--preset--color--primary);
}

.page aside nav li.current-menu-item {
  background-color: var(--wp--preset--color--primary);
}

.page aside nav li a {
  line-height: 2.8;
  font-weight: 700;
  width: 100%;
}

/* ▼見出し・テキスト */
article.entry-content {
  counter-reset: policy;
  counter-reset: number;
}

/* ▽▼ポリシー用見出し */
article.entry-content .text_policy {
  counter-increment: policy;
  position: relative;
  left: -0.5em;
}

article.entry-content .text_policy::before {
  content: "（" counter(policy)"）";
  word-break: keep-all;
  padding-left: 0;
}

article.entry-content .text_policy p {
  display: none;
}

article.entry-content .text_policy h3 {
  position: relative;
  left: -0.3em;
}

/* ▽▼ポリシー用見出し */
article.entry-content .text_number {
  counter-increment: number;
}

article.entry-content .text_number p {
  display: none;
}

article.entry-content .text_number::before {
  content: counter(number)".";
  word-break: keep-all;
  display: inline-block;
  padding-left: 0;
}

/* ▼ボタン・リンク */
article.entry-content button {
  cursor: pointer;
}

article.entry-content .wp-block-button .wp-block-button__link:hover {
  color: var(--wp--preset--color--text-normal-darkbg);
  filter: none;
  box-shadow: 0 0 2px #6c757dbd;
  opacity: 0.7;
}

article.entry-content iframe {
  margin-block-start: 0;
}

/* ▼表・グループ */
article.entry-content ol.wp-block-list,
article.entry-content ul.wp-block-list {
  -webkit-padding-start: 1.5em;
  padding-inline-start: 1.5em;
  margin: 0 0 0.75em 0;
}

article.entry-content ol.wp-block-list > li,
article.entry-content ul.wp-block-list > li {
  padding-left: 0;
  margin: 0.25em 0;
}

article.entry-content ol.wp-block-list li::before,
article.entry-content ul.wp-block-list li::before {
  left: -1.25em;
}

article.entry-content ol.wp-block-list ul.wp-block-list > li,
article.entry-content ul.wp-block-list ul.wp-block-list > li {
  list-style: disc;
  content: normal;
}

article.entry-content ol.wp-block-list ul.wp-block-list > li::before,
article.entry-content ul.wp-block-list ul.wp-block-list > li::before {
  content: none;
}

/* ▽▼三角リスト  */
article.entry-content .wp-block-list.is-style-vk-triangle-mark li::before {
  left: -1em;
}

/* ▽▼チェックリスト  */
article.entry-content .wp-block-list.is-style-vk-check-mark li::before {
  left: -1.15em;
}

/* ▽▼チェックボックスリスト  */
article.entry-content .wp-block-list.is-style-vk-check-square-mark li::before {
  left: -1.2em;
}

/* ▽▼丸数字リスト */
article.entry-content .wp-block-list.is-style-vk-numbered-circle-mark li::before {
  width: 1.5em;
  height: 1.5em;
  top: 0.15em;
  left: 0;
  font-size: 0.8em;
  line-height: 1.5;
  font-weight: 500;
  background: #fff;
  color: var(--wp--preset--color--text-normal);
  border: 1px solid var(--wp--preset--color--text-normal);
}

/* ▽▼四角数字リスト */
article.entry-content .wp-block-list.is-style-vk-numbered-square-mark li::before {
  width: 1.5em;
  height: 1.5em;
  left: 0;
  top: 0.18em;
  font-size: 0.8em;
  line-height: 1.5em;
  margin-left: -1.75em;
}

/* ▽▼デフォルトの表 */
article.entry-content .wp-block-table td {
  padding: 0.25rem 0;
}

/* ▽▼概要表 */
article.entry-content .list_table {
  grid-template-columns: minmax(5.5rem, auto) minmax(5.5rem, auto) minmax(70%, 1fr);
}

article.entry-content .list_table > .has-bg-secondary-color {
  display: flex;
  align-items: center;
}

article.entry-content .list_table a {
  font-size: 1em;
}

@media (640px >=width) {
  body article.entry-content .list_table {
    grid-template-columns: 1fr;
  }
}

/* ▼メインレイアウト */
main article {
  max-width: 750px;
  margin: auto;
}

/* ▼トップトップページ */
body.home main .wp-block-vk-blocks-slider .swiper-button-mobile-bottom {
  top: 50%;
  bottom: 50%;
}

body.home main .wp-block-query li:has(a:hover) {
  background: #eee;
}

body.home main .wp-block-query li a {
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
}

body.home main .wp-block-query li a:hover {
  color: var(--wp--preset--color--text-normal);
}

body.home main .is-layout-grid {
  align-items: center;
}

body.home main .is-layout-grid.colum3 {
  justify-content: center;
  grid-template-columns: repeat(auto-fit, minmax(30%, 180px));
}

body.home main .is-layout-grid .unilifej-banner {
  margin: 0 auto;
}

body.home main .is-layout-grid .wp-block-image {
  text-align: center;
}

/* body.home main .is-layout-grid .wp-block-image img {
  object-fit: contain;
} */
@media (600px >=width) {
  .service-links {
    flex-direction: column;
  }
}

/* ▼記事一覧、各投稿記事 */
aside.wp-block-template-part ul.wp-block-archives-list a,
aside.wp-block-template-part li > * {
  font-size: 1rem;
  border: 0;
  padding: 0;
  margin: 0.25rem 0;
}

aside.wp-block-template-part ul.wp-block-archives-list a:hover,
aside.wp-block-template-part li a:hover {
  color: var(--wp--preset--color--complementary);
  background-color: transparent;
}

article ul.wp-block-post-template li a.wp-block-post-excerpt__more-link {
  font-size: var(--wp--preset--font-size--medium);
  color: var(--wp--preset--color--text-normal);
  background-color: transparent;
}

article ul.wp-block-post-template li a.wp-block-post-excerpt__more-link:hover {
  color: var(--wp--preset--color--complementary);
}

article nav.wp-block-query-pagination .wp-block-query-pagination-numbers {
  display: flex;
  gap: 0.5rem;
}

article nav.wp-block-query-pagination a,
article nav.wp-block-query-pagination span.page-numbers,
article nav.wp-block-query-pagination a.page-numbers {
  display: block;
  height: auto;
  width: auto;
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  line-height: 1;
  padding: 10px 1rem;
}

/* ▼お問い合わせ、応募フォーム */
.fluentform .ff-el-input--content label input[type=checkbox],
.fluentform .ff-el-input--content label input[type=radio] {
  accent-color: var(--wp--preset--color--danger);
}