/*
Theme Name: LINQWEB
Theme URI: 
Template: lightning
Description: 
Author: Yukari Hiramatsu BY LINQWEB https://linqweb.com
Tags: 
Version: 0.6.0
*/

/* =============================================
   1. 基本設定
   ============================================= */
body {
    font-family: "Zen Kaku Gothic New", sans-serif !important;
}
p {
  /* 最小 14px / 推奨 16px(1vwで微調整) / 最大 16.5px 程度の設定 */
  font-size: clamp(0.875rem, 0.95rem + 0.1vw, 1.03rem) !important;
  line-height: 1.8;
  text-align: justify;
}

/* 通常のH2 */
h2 {
  font-family: "Zen Kaku Gothic New", sans-serif;
font-size: clamp(1.75rem, 0.9vw + 1.54rem, 2.25rem);
  font-weight: 600;
  letter-spacing: 2px;
  line-height: 1.4;
}

/* サブタイトル付きH2 */
h2.vk_heading_title.vk_heading_title-style-plain {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(1.25rem, 1.35vw + 0.93rem, 2rem) !important;
  font-weight: 600;
  letter-spacing: 2px;
  line-height: 0.8 !important; 
  margin-bottom: 0.2rem !important; 
}

h2.vk_heading_title.vk_heading_title-style-plain br.vk_responsive-br {
  display: block;
  content: "";
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  height: 0 !important;
}

h4 {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(1rem, 1.1vw + 0.74rem, 1.25rem);
  font-weight: 600;
  letter-spacing: 2px;
  line-height: 1.4;
}

/* =============================================
   1. 背景塗りつぶし・数字ありタイプ (.h2_green 系)
   ============================================= */
.h2_green, .h2_pink, .h2_yellow {
  counter-increment: demo-counter;
  position: relative;
  display: block;
  width: 100% !important;
  color: #fff !important;
  font-size: clamp(1.4rem, 3vw, 1.8rem) !important;
  font-weight: bold;
  line-height: 1.5;
  padding: 62px 34px 21px 20px !important;
  margin: 50px 0;
  border: none !important;
}

/* 背景デザイン */
.h2_green  { background: linear-gradient(to bottom, #EEF2EF 45px, #9cb8a6 45px) !important; }
.h2_pink   { background: linear-gradient(to bottom, #F7ECEB 45px, #D5A19C 45px) !important; }
.h2_yellow { background: linear-gradient(to bottom, #F8F6F0 45px, #DCD2B4 45px) !important; }

/* 数字部分 */
.h2_green::before, .h2_pink::before, .h2_yellow::before {
  content: counter(demo-counter, decimal-leading-zero);
  position: absolute;
  top: 10px; left: 20px;
  color: #fff !important;
  font-size: clamp(2.5rem, 5vw, 3.2rem);
  font-style: italic; font-weight: bold; line-height: 1;
}

/* =============================================
   2. シンプル下線タイプ (h2.green, h2.pink)
   ============================================ */
h2.green, h2.pink {
  /* 数字付きタイプの背景を打ち消す */
  background-color: transparent !important;
  background-image: none !important;
  width: fit-content;
  display: block;
  color: #333 !important;
  font-size: clamp(1.25rem, 3.5vw, 1.75rem) !important; /* 小さめに調整 */
  padding-bottom: clamp(15px, 6vw, 20px) !important; /* 余白調整 */
  letter-spacing: 3px;
  line-height: 1.5;
}

/* ★ 必須：下線のデザイン設定（リセット後に再定義） */
h2.green { background-image: linear-gradient(to right, #A8BFAE, #A8BFAE) !important; }
h2.pink  { background-image: linear-gradient(to right, #D5A19C, #D5A19C) !important; }

h2.green, h2.pink {
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 55% 1px; /* ここで下線の太さと長さを維持 */
}

/* ★ 必須：数字を出さない設定 */
h2.green::before, h2.pink::before {
  content: none !important;
  display: none !important;
}

/* =============================================
   3. 破線タイプ: green_line 系
   ============================================= */
.pink_line, .yellow_line, .green_line {
  display: block !important;
  background: none !important; 
  padding-bottom: 10px !important;
  font-size: clamp(1.1rem, 2.5vw, 1.4rem) !important;
  margin: clamp(30px, 5vw, 50px) 0 !important;
}

.pink_line    { border-bottom: 3px dashed #D5A19C !important;}
.yellow_line  { border-bottom: 3px dashed #DCD2B4 !important;}
.green_line   { border-bottom: 3px dashed #A8BFAE !important;}

/* =============================================
   5. 実線（solid 1px）タイプ: green_line2 
   ============================================= */
.green_line2 { 
  display: block !important;
  background: none !important; 
  padding-bottom: 10px !important;
  font-size: clamp(1.1rem, 2.5vw, 1.4rem) !important;
  margin: clamp(30px, 5vw, 50px) 0 !important;
  border-bottom: 1px solid #A8BFAE !important; 
  color: #A8BFAE !important; 
}

/* =============================================
   6. 破線（dotted 3px）右側ラインタイプ: line_r-yellow 
   Lighting　スタイルを　左右線にしたのちに設定
   ============================================= */
.line_r-yellow::before {
    content: none !important;
}
.line_r-yellow::after {
    border-bottom: 2px dotted #BDAC6F !important;
    margin-bottom: 0.2em; 
    content: "" !important;
    flex-grow: 1 !important;
    border-top: none !important;
    height: 0 !important;
   font-size: clamp(1.1rem, 2.5vw, 1.4rem) !important;
}

h3.line_r-yellow {
    display: flex !important;
    align-items: center !important;
    text-align: left !important;
}

/* スマホ時（画面幅480px以下）の微調整 */
@media screen and (max-width: 480px) {
    .line_r-yellow {
        /* 最小値を 1.1rem → 0.95rem（お好みで）に下げ、
           可変値（2.5vw）も少し小さく調整 */
        font-size: clamp(0.95rem, 4vw, 1.1rem) !important;
    }
}
/* =============================================
   6. 破線（dotted 2px）右側ラインタイプ: line_r-green 
   Lightning スタイルを左右線にしたのちに設定
   ============================================= */

.line_r-green::before {
    content: none !important;
}

.line_r-green::after {
    content: "" !important;
    flex-grow: 1 !important;
    height: 0 !important;
    border-top: none !important;
    /* 下線をドットに変更して位置調整 */
    border-bottom: 2px dotted #A8BFAE !important;
    margin-bottom: 0.2em; 
    margin-left: 1em; /* 文字との隙間 */
}

h3.line_r-green {
    display: flex !important;
    align-items: center !important;
    text-align: left !important;
    /* フォントサイズはここに記述 */
    font-size: clamp(1.1rem, 2.5vw, 1.4rem) !important;
}

/* スマホ時（画面幅480px以下）の微調整 */
@media screen and (max-width: 480px) {
    h3.line_r-green {
        font-size: clamp(0.95rem, 4vw, 1.1rem) !important;
    }
}

/* =============================================
   7. 破線（dotted 2px）右側ラインタイプ: line_r-pink 
   Lightning スタイルを左右線にしたのちに設定
   ============================================= */

.line_r-pink::before {
    content: none !important;
}

.line_r-pink::after {
    content: "" !important;
    flex-grow: 1 !important;
    height: 0 !important;
    border-top: none !important;
    /* 下線をドットに変更して位置調整 */
    border-bottom: 2px dotted #D8A19C !important;
    margin-bottom: 0.2em; 
    margin-left: 1em; /* 文字との隙間 */
}

h3.line_r-pink {
    display: flex !important;
    align-items: center !important;
    text-align: left !important;
    /* フォントサイズはここに記述 */
    font-size: clamp(1.1rem, 2.5vw, 1.4rem) !important;
    color:#D8A19C;
}

/* スマホ時（画面幅480px以下）の微調整 */
@media screen and (max-width: 480px) {
    h3.line_r-pink {
        font-size: clamp(0.95rem, 4vw, 1.1rem) !important;
    }
}



/* =============================================
   8.背景色　#A8BFAE　: lisk_green
   ============================================= */
/* 文字部分だけに背景色をつける */

h4.lisk_green {
    background-color: #a8bfae !important;
    padding: 2px 8px;
    display: inline-block;
    line-height: 1.4;
    color: #ffffff !important;
}

/* =============================================
   9.背景色　#DCD2B4　: lisk_yerrow
   ============================================= */
/* 文字部分だけに背景色をつける */

h4.lisk_yerrow {
    background-color: #DCD2B4 !important;
    padding: 2px 8px;
    display: inline-block;
    line-height: 1.4;
    color: #ffffff !important;
}
/* =============================================
   10.背景色　#DCD2B4　: method
   ============================================= */
/* 文字部分だけに背景色をつける */

h4.method {
    background-color: #DCD2B4 !important;
    padding: 2px 8px;
    display: inline-block;
    line-height: 1.4;
    color: #ffffff !important;
}
/* =============================================
   11.SP時センタリング解除
============================================= */
/* PC（デフォルト）: 中央揃え */
.uncentering {
  text-align: center;
}

/* スマホ時（767px以下）: 左寄せに上書き */
@media screen and (max-width: 767px) {
  .uncentering {
    text-align: left;
  }
}
/* =============================================
   12.虫歯リスト文字列
============================================= */
ul.tooth.decay.is-style-vk-check-square-mark li {
  font-family: "Zen Kaku Gothic New", sans-serif;
  /* 最小 16px (1rem) 〜 最大 20px (1.25rem) */
  font-size: clamp(1rem, 0.45vw + 0.89rem, 1.25rem) !important;
  font-weight: 600; /* strongタグが入っているので太字を維持 */
  letter-spacing: 1px;
  line-height: 1.4;
}

ul.tooth.decay li strong {
  font-size: inherit !important;
}
/*+++++++++++++++++++++++++++++++++++++++++++
        ヘッダー設定　　
+++++++++++++++++++++++++++++++++++++++++++*/


/* --- アクティブ（現在選択中）のリンク色 --- */
.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation .current-menu-ancestor > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-item__content[aria-current="page"] {
    color: #dcd2b4 !important;
}

/* --- メインメニューの基本とホバー設定 --- */
.wp-block-navigation .wp-block-navigation-item__content {
    display: inline-block;
    color: #000000;
    text-decoration: none;
    transition: all 0.3s ease;
    transform: translateY(0);
}

/* メインメニューのホバー時（5px移動あり） */
.wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover {
    color: #dcd2b4;
    transform: translateY(-5px);
}

/* --- サブメニュー（プルダウン）内のホバー設定 --- */
/* ホバー時は白、移動はなし */
.wp-block-navigation-submenu .wp-block-navigation-item__content:hover {
    color: #ffffff !important;
    transform: none !important;
}

/* サブメニュー内の項目がアクティブな場合も、色は #dcd2b4 を維持 */
.wp-block-navigation-submenu .current-menu-item > .wp-block-navigation-item__content {
    color: #dcd2b4 !important;
}

/*============================================
         24時間Web予約ページ
=============================================*/

/*初来院予約ボタン*/
.first_reserve .vk_button_link {
    position: relative;
    overflow: hidden; 
    z-index: 1; 
    background-color: transparent !important;
}

.first_reserve .vk_button_link::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background-color: #A8BFAE;
    z-index: -1; 
    transition: width 0.4s ease-out;
}

.first_reserve .vk_button_link:hover::before {
    width: 100% !important;
}

.first_reserve .vk_button_link:hover {
    color: #ffffff !important;
    border-color: #A8BFAE !important; 
    background-color: transparent !important; 
}

/*会員予約ボタン*/
.member_reserve .vk_button_link {
    position: relative;
    overflow: hidden; 
    z-index: 1; 
    background-color: transparent !important;
}

.member_reserve .vk_button_link::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background-color: #D5A19C;
    z-index: -1; 
    transition: width 0.4s ease-out;
}

.member_reserve .vk_button_link:hover::before {
    width: 100% !important;
}

.member_reserve .vk_button_link:hover {
    color: #ffffff !important;
    border-color: #D5A19C !important; 
    background-color: transparent !important; 
}


/*============================================
        当院の施設基準についてページ
=============================================*/


h2.facility-standards {
    border-left: 6px solid #A8BFAE;
    color: #333;
    /* 最小1.2rem、画面幅に応じて可変、最大1.5rem */
    font-size: clamp(1.2rem, 2vw + 0.5rem, 1.5rem);
    padding-top: 0px;
    padding-left: 20px;
    border-radius: 5px;
    margin-top: clamp(40px, 8vw, 80px); 
    margin-bottom: 30px;
    line-height: 1.4; /* 改行された時のために行間を確保 */
}


/*+++++++++++++++++++++++++++++++++++++++++++
        フッター設定　　
+++++++++++++++++++++++++++++++++++++++++++*/


/*footerカラム*/
.wp-block-columns.footer_div > .wp-block-column {
    margin-left: auto;
    margin-right: auto;
}
/*footerボタン*/
.footer_b .vk_button_link_txt {
    font-size: 1.8rem; 
    font-weight: bold;
}
.footer_b .vk_button_link_subCaption {
    text-align: center;
    display: block;
    width: 100%;
}

/*footerカレンダー*/
.wpsbc-container.wpsbc-calendar-1 {
    margin-top: 0px !important;
}
.wpsbc-container h2 {
    display: none !important;
}
/* 日付セルの高さを一括変更*/
.wpsbc-container .wpsbc-date-inner {
 height:32px !important;
 line-height: 32px !important;
}
/* カレンダー全体の最低高さを自動に設定（中身に合わせる） */
.wpsbc-container .wpsbc-calendar-wrapper {
    min-height: auto !important;
}
.wpsbc-calendar
{max-width:425px!iportant;
 margin-bottom: 0px !important;
}
.wpsbc-container.wpsbc-calendar-1 .wpsbc-legend-item-icon-1 div:first-of-type {
    background-color: #ddffcc!important;
    background-color: #ffffff!important;
    border: 1px solid #e0e0e0!important;
}

/*スマホ時設定*/
@media screen and (max-width: 767px) {
    .wp-block-column.vk_block-margin-0--margin-bottom.has-background.is-layout-flow.wp-block-column-is-layout-flow {
        padding: 10px !important;
    }
 /*フッターボタン*/
a.vk_button_link.btn.has-text-color.is-style-outline.has-white-color.btn-lg {
    width: 100%!important;
}
.wp-block-vk-blocks-button.vk_button.vk_button-color-custom.vk_button-width-50.footer_b {
    width: 100% !important;
}
/*フッターロゴサイズ*/
img.wp-image-188 {
    width: 80% !important;
}
}

/*+++++++++++++++++++++++++++++++++++++++++++
        上へボタン　　　　　　　　　　　　　　　　　
+++++++++++++++++++++++++++++++++++++++++++*/
.page_top_btn
 {
    box-shadow: none !important;
}
a#page_top{
  background-color: #dda8a2!important;
  border-radius: 50px;
  border:1px solid #ffffff;
}
@media screen and (max-width: 767px) {
    .scrolled .page_top_btn {
        top: 540px;
    }
}

/*+++++++++++++++++++++++++++++++++++++++++++
       右側追従ボタン　　　　　　　　　　　　　　　　　　
+++++++++++++++++++++++++++++++++++++++++++*/

/* pc時の右端固定追従ボタン */
.fixed-side-btns {
  position: fixed;
  top: 25%;
  right: 0;
  z-index: 9999;
}

.fixed-side-btns ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.fixed-side-btns li {
  margin-bottom: 8px;
  text-align: right;
}

.fixed-side-btns img {
  display: block;
  width: 80px;
  height: auto;
  transition: opacity 0.3s ease;
}

.fixed-side-btns a:hover img {
  opacity: 0.8;
}

/* スマホでは非表示（任意） */
@media (max-width: 768px) {
  .fixed-side-btns {
    display: none;
  }
}


/*+++++++++++++++++++++++++++++++++++++++++++
 モバイルフッターフローティングボタン (隙間なしタイプ）　　　　　　　　　　　　　　　　
+++++++++++++++++++++++++++++++++++++++++++*/


/* 画面幅が769px以上（PCやタブレット）のときは非表示にする */
@media screen and (min-width: 769px) {
    #footerFloatingMenu,
    .footerFloatingMenu {
        display: none !important;
    }
}

/* フローティングメニュー全体のスタイル */
#footerFloatingMenu,
.footerFloatingMenu {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 8px 0;
  background: rgba(255, 255, 255, 0.95);
  z-index: 9999;
  overflow: visible;
}

/* 横並びを安定させる */
#footerFloatingMenu ul {
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* 画像サイズ調整（はみ出さない高さ） */
#footerFloatingMenu ul li a img {
  max-height: 70px;
  height: auto;
  width: auto;
  display: block;
}

/* リンク共通のスタイル（ボタン風ではない） */
.footerFloatingMenu__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-weight: bold;
  width: 50%;
  height: auto;
  transition: all 0.3s ease;
}

/* アイコンのスタイル */
.footerFloatingMenu__btn i {
  margin-right: 8px;
  font-size: 1.5em;
  color: #ffffff;
}

/*+++++++++++++++++++++++++++++++++++++++++++
  投稿　次へ　前へカスタマイズ　　　　　　　　　　　　　　　　
+++++++++++++++++++++++++++++++++++++++++++*/

.next-prev-prev.card-horizontal .card-body {
display: flex;
padding: 0;
align-items: center;
justify-content: flex-start;
}

.next-prev-prev.card-horizontal .card-body:before {
font-family: "Font Awesome 5 Free";
content: "\f053";
font-weight: bold;
position: absolute;
font-size: 3rem;
color: rgba(0,0,0,0.1);
top: calc(50% - 1.5rem);
left: 1rem;
}

.next-prev-prev.card-horizontal.vk_post .card-body .vk_post_title a {
display: block;
padding: 1.5rem 1.0rem 1.5rem 3.5rem;
}

.next-prev-next.card-horizontal .card-body {
display: flex;
padding: 0;
align-items: center;
justify-content: flex-end;
}

.next-prev-next.card-horizontal .card-body:before {
font-family: "Font Awesome 5 Free";
content: "\f054";
font-weight: bold;
position: absolute;
font-size: 3rem;
color: rgba(0,0,0,0.1);
top: calc(50% - 1.5rem);
right: 1rem;
}

.next-prev-next.card-horizontal.vk_post .card-body .vk_post_title a {
display: block;
padding: 1.5rem 3.5rem 1.5rem 1.0rem;
}


/*+++++++++++++++++++++++++++++++++++++++++++
 投稿アーカイブ　　　　　　　　　　　　　　
+++++++++++++++++++++++++++++++++++++++++++*/

/*投稿
span.vcard.author {
    display: none;
}
span.entry-meta-item.entry-meta-item-date {
    display: none;
}*/

/*カード内、カテゴリーボタン非表示*/
dt.vk_post_taxonomy_title {
    display: none;
}

/*カード内　タクソノミーカスタマイズ*/
dd.vk_post_taxonomy_terms {
    background-color: #A8BFAE !important;
    border-radius: 20px;
    padding: 5px;
}

dd.vk_post_taxonomy_terms a{
    color:#ffffff!important;
    font-weight:bold;
}


/*+++++++++++++++++++++++++++++++++++++++++++
 カスタム投稿タイプ column のシングルページのスタイル　　　　　　　　　　　　　　
+++++++++++++++++++++++++++++++++++++++++++*/

/*ページヘッダー*/
.single-column .page-header{
    display: none!important;
}


/*title(h1) */
.single-column .entry-title {
    font-size: clamp(1.2rem, 2vw + 0.5rem, 1.5rem);
}

/* カスタム投稿 column のメタ情報エリアを横並びにする */
.single-column .entry-meta {
    display: flex !important;
    flex-wrap: wrap;       /* 幅が狭い時は折り返す */
    align-items: center;   /* 縦方向を中央で揃える */
    gap: 15px;             /* アイテム同士の隙間 */
}

/* 更新日時を一番左（1番目）に配置 */
.single-column .entry-meta-item-updated {
    order: 1 !important;
    margin: 0 !important;
}

/* カテゴリーを二番目に配置 */
.single-column .entry-meta-data-list--cat {
    order: 2 !important;
    margin: 0 !important;
}

/* 「コラムカテゴリー」という見出し(dt)を装飾または非表示にする場合 */
.single-column .entry-meta-data-list--cat dl {
    display: flex;
    margin: 0;
}

.single-column .entry-meta-data-list--cat dt {
    margin-right: 5px;
    font-weight: bold;
}

/*h2*/
body.single-column h2 {
    position: relative !important;
    background: #A8BFAE !important;
    color: #fff !important;
    padding: .75em 1em !important;
    border: none !important;
    margin-top: 60px !important;
    margin-bottom: 60px !important;
    font-size: clamp(1.2rem, 2vw + 0.5rem, 1.5rem);
}

/* h2（上下の線） */
body.single-column h2::before {
    content: "" !important;
    position: absolute !important;
    top: -5px !important;
    left: 0 !important;
    right: 0 !important;
    height: calc(100% + 10px) !important;
    border-top: 2px solid #A8BFAE !important;
    border-bottom: 2px solid #A8BFAE !important;
    pointer-events: none !important;
    display: block !important;
    margin-bottom:30px!important;

}

/* h3 */
body.single-column h3 {
    position: relative !important;
    border: none !important;
    font-size: clamp(1.0rem, 1.5vw + 0.5rem, 1.25rem);
}
/* h3（下の線） */
body.single-column h3::after {
    content: ".";
    line-height: 0;
    display: block;
    overflow: hidden;
    position: absolute;
    bottom: -1px;
    width: 30%;
    border-bottom: 1px solid #A8BFAE !important;
}
/* --- フッター内のh2・h3装飾を解除するための打ち消し設定 --- */
body.single-column #block-site-footer h2,
body.single-column #block-site-footer h3 {
    background: transparent !important;
    color: inherit !important;
    padding: 0 !important;
    margin: 0 !important;
    position: static !important;
}

body.single-column #block-site-footer h2::before,
body.single-column #block-site-footer h3::after {
    content: none !important;
    display: none !important;
}

/* カスタム投稿タイプのメタデータのカスタマイズ */
body.single-column .entry-meta-data-list dt {
    display: none!important;
}
body.single-column .entry-meta-data-list dd {
    background-color: #A8BFAE !important; /* お好みの色に変更してください */
    color: #fff !important;               /* 文字色（白） */
    padding: 0.2em 0.8em !important;      /* 内側の余白 */
    border-radius: 10px !important;        /* 角を少し丸める場合 */
    display: inline-block !important;     /* 背景を文字幅に合わせる場合 */
    color:#ffffff!important;

}
body.single-column .entry-meta-data-list dd a{
    color:#ffffff!important;
}

/*目次のカスタマイズ*/
.vk_tableOfContents-style-default {
    border: 1px dotted #A8BFAE !important;
    padding: 2px;
    padding: 10px !important;
}

li.vk_tableOfContents_list_item.vk_tableOfContents_list_item-h-2 {
    padding: 3px !important;
}

a.vk_tableOfContents_list_item_link {
    font-size: 0.8rem !important;
}

/*執筆者情報のカスタマイズ*/
div#latestEntries {
    display: none !important;
}
