/*
Theme Name: Lightning Child
Theme URI: https://lightning.vektor-inc.co.jp/setting/customize/
Template: lightning
Description:「Lightning Child」は、親テーマ「Lightning」の機能を継承しながらカスタマイズをおこなうための子テーマです。
Author: はなウェブ
Tags:
Version: 0.6.1
*/

/* 比較表 */
.hw-comparison { width: 100%; border-collapse: collapse; }
.hw-comparison td { font-size: 0.89rem; padding: 20px 15px; background-color: #fff; }
.hw-comparison table td span.title { color: var(--wp--preset--color--vk-color-custom-1); font-weight: 700; font-size: 1rem; display: inline-block; height: 35px; }
@media (max-width:767px) {
 .hw-comparison td { max-width: 100%; display: block; border: none; word-break:break-all; }
}

/* フォント・リンク */
:root { --vk-color-text-body: #333; --vk-color-text-link-hover: var(--wp--preset--color--vk-color-primary); }
@media (max-width: 991.98px) { body, html { font-size: calc(var(--vk-size-text)* 1); } }
h1 { font-size: 2rem; }
h2,h3,h4,h5,h6 { color: var(--wp--preset--color--vk-color-custom-1); }
h2 { font-size: 1.56rem; background-color: var(--wp--preset--color--vk-color-custom-2); border-top: 2px solid var(--wp--preset--color--vk-color-custom-1); }
h3 { font-size: 1.39rem; border-top: 2px solid var(--wp--preset--color--vk-color-custom-1); }
h4 { font-size: 1.34rem; }
h4::after { border-bottom: 1px solid var(--wp--preset--color--vk-color-custom-1); }
h5 { font-size: 1.12rem; }
@media (max-width: 991px) {
    h1, .page-header-title, h1.page-header-title { font-size: 1.78rem; }
    h2 { font-size: 1.67rem; }
    h3 { font-size: 1.39rem;}
    h4,h5,h6 { font-size: 1.27rem;}
}
strong { color: var(--wp--preset--color--vk-color-custom-4); font-weight: 500; }
em { color: #3c2517; font-style: normal; font-weight: 600; }
a:link { text-decoration: none; }

/* 見出しの一部テキスト装飾変更 */
.small-text { font-size: 0.7em; line-height: 1.5; display: inline-block; }
.spacer { display: block; height: 20px; }

/* パンくずリスト */
.breadcrumb-list li:after, .vk_breadcrumb_list_item:after { content: ">"; }
li.vk_breadcrumb_list_item a { color: #222; }
.breadcrumb { border-top: none; border-bottom: none; }
.breadcrumb a:hover,
li.vk_breadcrumb_list_item a:hover { color: var(--wp--preset--color--vk-color-primary); }

/* アーカイブ */
.vk_post .vk_post_title { font-size: 1rem; }
.vk_post .vk_post_date { font-size: 0.89rem; }
.vk_post .vk_post_excerpt { font-size: 0.89rem; line-height: 1.5; opacity: 1; }
.vk_post_taxonomy_title_inner { background-color: var(--wp--preset--color--vk-color-primary); }
.vk_post_taxonomy_terms a { color: var(--vk-color-text-link); }
.vk_post_imgOuter:before, .vk_post_imgOuter>a:after  { transition: 0.8s; }
.vk_post_imgOuter:hover::before, .vk_post_imgOuter>a:hover::after  { background-color: rgba(0, 0, 0, 0.3); }
.vk_post_title_new { color: #d9552b; }

.sub-section .vk_post .vk_post_title { font-size: 0.83rem; }

/* ----- ボタン ----- */

/* 「続きを読む」ボタン */
.card-horizontal-inner-row a.btn-primary,
.vk_post_btnOuter a.btn-primary { border-color: transparent; color: var(--vk-color-text-link); background-color: transparent; }
.card-horizontal-inner-row a.btn-primary:before,
.vk_post_btnOuter a.btn-primary:before { font-family: "Font Awesome 6 Free"; font-weight: 900; content:'\f054'; width: 16px; height: 16px;  display: inline-block; padding-right: 10px; }
.card-horizontal-inner-row a.btn-primary:hover,
.vk_post_btnOuter a.btn-primary:hover { color: var(--wp--preset--color--vk-color-primary); transition: .3s; }
.vk_post .vk_post_btn { font-size: 14px; }

/* CTA ボタン */
.cta-btn .btn { box-shadow: 3px 3px 5px rgba(87,87,87,0.3); border: solid 1px #fff; font-weight: 500; letter-spacing: 0.1rem; }
.cta-btn a.btn:hover { transition:0.5s; background-color: var(--wp--preset--color--vk-color-primary)!important; border: 1px solid var(--wp--preset--color--vk-color-primary); color:#fff; }

/* TOPへ戻るボタン */
.scrolled .page_top_btn { opacity: .8; }
.page_top_btn { width: 50px; height: 50px; bottom: 20px; right: 20px; border: 2px solid #fff; background-color: #23522a; box-shadow: 0 2px 10px -6px rgba(0,0,0,.5), 0 3px 10px -4px rgba(0,0,0,.2); border-radius: 50px; }
.page_top_btn:hover { box-shadow:none; }
@media (min-width: 992px){ .header_scrolled .global-nav--scrolled--nav-container .global-nav-list>li:first-child { border-left: none;} }
@media (max-width: 991px) { .mobile-fix-nav_enable .page_top_btn { width: 40px; height: 40px; bottom: 72px; right: 10px;} }

/* SNSシェアボタン */
.veu_socialSet { overflow: visible; }
.veu_socialSet-position-after { margin-top: 100px; }
.veu_socialSet ul::before { position: absolute; box-sizing: border-box; content: "役立つと思ったら、ぜひシェアをお願いします！"; font-size: 0.8em; top: -30px; left: 50%; transform: translate(-50%, 0); white-space: nowrap; }
.veu_socialSet.veu_contentAddSection ul { position: relative; justify-content: center; }
.veu_socialSet.veu_contentAddSection ul li { margin: 0 10px; }
.veu_socialSet .sb_icon .sb_icon_inner { width: 30px; align-items: center; padding: 0; display: flex; }
.veu_socialSet li { width: unset; flex: 0 1 1px; }
.veu_socialSet .sb_facebook a,
.veu_socialSet .sb_x_twitter a,
.veu_socialSet .sb_hatena a,
.veu_socialSet .sb_line a,
.veu_socialSet .sb_pocket a,
.veu_socialSet .sb_copy button,
.veu_socialSet .sb_copy .sb_icon_inner { background: transparent; box-shadow: none; }
.veu_socialSet .sb_icon a,
.veu_socialSet .sb_icon button { background: transition; box-shadow: none; }
.veu_socialSet .sb_icon .sb_icon_inner .sns_txt { display: none; }
.veu_socialSet .sb_icon .sb_icon_inner .icon_sns,
.veu_socialSet .sb_copy .sb_icon_inner i { background: transition; font-size: 30px; padding: 0; text-align: center; width: 1.25em; }
.veu_socialSet .sb_icon.sb_facebook .sb_icon_inner { color: #0865fe; }
.veu_socialSet .sb_icon.sb_x_twitter .sb_icon_inner { color: #000; }
.veu_socialSet .sb_icon.sb_hatena .sb_icon_inner { color: #00a4de; }
.veu_socialSet .sb_icon.sb_line .sb_icon_inner { color: #06c755; }
.veu_socialSet .sb_icon.sb_pocket .sb_icon_inner { color: #ef4154; }
.veu_socialSet .sb_icon.sb_copy .sb_icon_inner { color: #666; font-size: 30px; }

/* カラム：モバイルでは縦に並べるOFF */
@media screen and (max-width:575px){ .xs_column_block { flex-direction:column; } }
@media screen and (max-width:767px){ .sm_column_block, .wp-block-columns.wp-block-columns.is-vk-row-reverse.sm_column_block { flex-direction:column; } }
@media screen and (max-width:991px){ .md_column_block, .wp-block-columns.wp-block-columns.is-vk-row-reverse.md_column_block { flex-direction:column; } }
@media screen and (max-width:1199px){ .lg_column_block, .wp-block-columns.wp-block-columns.is-vk-row-reverse.lg_column_block { flex-direction:column; } }

/* カラム 中央寄せ */
.hw-text-boxCenter { width: fit-content; margin: auto; }

/* アコーディオン */
.hw-accordion .vk_accordion-trigger .vk_accordion-toggle-close::after,
.hw-accordion .vk_accordion-trigger .vk_accordion-toggle-open::after { width: 15px; height: 15px; top: 50%; right: 3rem; border-right: 4px solid var(--vk-color-text-link);  border-top: 4px solid var(--vk-color-text-link); }


/* ----- お問い合わせフォーム ----- */
.contact_item { margin-bottom: 25px; }
.contact_item_title { margin-bottom: 10px; }
.contact_title { font-weight: 700; padding: 0.1rem 0.5rem; background: transparent; margin-bottom: 5px; border-left: solid 8px var(--wp--preset--color--vk-color-primary); }
.contact_mandatory, .contact_optional { color: #fff; margin-left: 5px; padding: 2px 5px; text-align: center; font-size: 0.8rem; border-radius: 3px; white-space: nowrap; }
.contact_mandatory { background: var(--wp--preset--color--vk-color-primary); white-space: nowrap; }
.contact_optional { background: #b6b6b6; }
.contact-checkbox { border: 1px solid #ccc; border-radius: var(--vk-size-radius); padding: 5px; }
input[type="checkbox"], input[type="radio"] { transform: scale(1.5); margin: 10px 10px 10px 0; accent-color: var(--wp--preset--color--vk-color-custom-1); }
input[type="submit"] { font-weight: 700; font-size: 20px; letter-spacing: 0.2em; background-color: #d9552b; padding: 20px 40px; margin: 10px 10px 8px; box-shadow: 3px 3px 5px rgba(87, 87, 87, 0.3); border: solid 1px #fff; }
input[type="submit"]:not(:disabled):hover { background-color: var(--wp--preset--color--vk-color-primary); transition: 0.5s; }
span.wpcf7-list-item { display: block; }
.wpcf7-spinner { display: none !important; }
.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors { color: #cc2b3a; background-color: #fff48a; padding: 10px; margin-bottom: 15px; }
.wpcf7-validation-errors,
.wpcf7-acceptance-missing { color: #cc2b3a; background: #fff48a; border: 1px solid #fff382; padding: 10px; }
.wpcf7-mail-sent-ng { color: #cc2b3a; background: #fbedee; border: 1px solid #f7dbdd; padding: 10px; }
.wpcf7-spam-blocked { color: #916900; background: #ffedbd; border: 1px solid #ffeab3; padding: 10px; }
.wpcf7-mail-sent-ok { color:#22502c; background:#dcf0e0; border:1px solid #d2ecd7; padding:10px; }
.wpcf7-form.sent .form-contact { display:none; }

/* ----- ヘッダー ----- */
.site-header-logo img { width: auto; }
.site-header, .header_scrolled .site-header { box-shadow: 0 3px 5px 0 rgba(0,0,0,.3); }
.site-header-sub { margin-top: 0; }

.header_scrolled .site-header,
.header_scrolled .global-nav { background-color: #fff; }
.header_scrolled strong.global-nav-name { color: var(--wp--preset--color--vk-color-custom-1); }

.header-top .header-top-description { font-size: 14px; padding: 10px 20px 5px 95px; font-family: "Noto Serif JP", serif;  }

@media (min-width: 992px) {
	.site-header-logo { padding-top: 5px; margin-bottom: 0.5rem; }
}
@media (max-width: 991.98px) {
	.site-header-logo { padding-top: 0; }
    .header-top .header-top-description { text-align: center; padding: 10px 20px 10px 10px; font-family: "Noto Serif JP", serif; }
    .header-top { display: block; border-bottom: none;}
    .header-top nav { display: none; }
}

/* ----- グローバルナビ・モバイルナビ ----- */
.global-nav-list .unclick_menu a,
.vk-mobile-nav-menu-outer .unclick_menu a,
.global-nav-list .sub-menu .unclick_menu a,
.vk-mobile-nav-menu-outer .sub-menu .unclick_menu a { pointer-events: none; }

/* グローバルナビ 親 */
strong.global-nav-name { color: #fff; }
.vk-menu-acc li { transition: background-color 0.5s ease; }
.global-nav-list>li .global-nav-name { font-size: 16px; }
.vk-menu-acc li:hover { background-color: var(--wp--preset--color--vk-color-custom-2); }
.vk-menu-acc li:hover a strong.global-nav-name { color: var(--wp--preset--color--vk-color-custom-1); }

/* モバイルの親メニューボタン以外をタップしても子メニューを表示させる */
@media (max-width: 991px) {
    .vk-menu-acc .acc-btn { border: none; background: var(--vk-menu-acc-icon-open-black-bg-src) right 50% no-repeat; width: 100%; right: 0; top: 0; height: calc( 24px + 1.4em ); background-size: 30px; }
    .vk-menu-acc .acc-btn-close { background: var(--vk-menu-acc-icon-close-black-bg-src) right 50% no-repeat; background-size: 30px; }
}

/* グローバルナビ 子 */
.global-nav-list>li>ul.sub-menu { background-color: #fff; box-shadow: 2px 2px 5px rgba(0,0,0,.4); width: 320px; }
.global-nav-list ul.sub-menu li a { color: var(--wp--preset--color--vk-color-custom-1); font-size: 16px; font-weight: 500; pointer-events: auto; }
.global-nav-list ul.sub-menu li a:hover  { color: var(--wp--preset--color--vk-color-custom-1); background-color: var(--wp--preset--color--vk-color-custom-2); font-weight: 500; }

/* モバイルナビ 親 */
.vk-mobile-nav-menu-outer  { color: #000; background-color: var(--wp--preset--color--vk-color-custom-2); }
.vk-mobile-nav-menu-outer .vk-menu-acc li:hover { background-color: var(--wp--preset--color--vk-color-custom-3); border-radius: 0; }
.vk-mobile-nav nav ul li a { font-size: 18px; padding-left: 15px; }
/* モバイルナビ 親メニュー拡張 */
@media (max-width: 991px) {
    .vk-menu-acc .acc-btn { border: none; background: var(--vk-menu-acc-icon-open-black-bg-src) right 50% no-repeat; width: 100%; right: 0; top: 0; height: calc( 24px + 1.4em ); background-size: 30px; }
    .vk-menu-acc .acc-btn-close { background: var(--vk-menu-acc-icon-close-black-bg-src) right 50% no-repeat; background-size: 30px; }
}
/* モバイルナビ 子 */
.vk-mobile-nav-menu-outer ul.sub-menu { background-color: #fff; }
.vk-mobile-nav-menu-outer ul.sub-menu li a { color: #333; font-size: 18px; font-weight: 500; pointer-events: auto; }

/* ----- スマホ 固定ナビ ----- */
.mobile-fix-nav-menu a[href^="https://nodig.jp/contact-us/"] { color: #d9552b !important;}
.mobile-fix-nav { box-shadow: 0 -3px 5px rgba(0,0,0,.2); }
.mobile-fix-nav .mobile-fix-nav-menu li .vk-mobile-nav-menu-btn, .mobile-fix-nav .mobile-fix-nav-menu li a { font-size: 12px; }
span.menu-open .fa-bars:before { content:"\f057"; }