:root{--vk-color-border-hr:rgba(0,0,0,.07);--vk-color-bg-accent:rgba(0,0,0,.02);--vk-color-border-light:rgba(0,0,0,.07);--vk-color-border-zuru:rgba(255,255,255,.8);--vk-color-text-meta:#d44950;--vk-color-text-body:#555;--vk-color-text-link:#666;--vk-color-text-link-hover:#1e73be;--vk-size-radius:4px;--vk-size-radius-sm:2px;--vk-size-text:16px;--vk-size-text-meta:.75rem;--vk-size-text-lg:1.313rem;--vk-size-text-sm:.875rem;--vk-size-text-xs:.75rem;--vk-margin-meta:.5rem;--vk-margin-block-bottom:2rem}.veu_leadTxt,p.veu_leadTxt{font-size:2em;line-height:150%;padding:0}.veu_caption{font-size:.8em}.fa_v4 .btn.btn-blank:after{margin-left:.7em;font-family:FontAwesome;content:"\f08e"}.fa_v5_css .btn.btn-blank:after{margin-left:.7em;font-family:"Font Awesome 5 Free";content:"\f35d";font-weight:900}dl.veu_qaItem{display:block;overflow:hidden;border-bottom:1px dotted #ccc;padding:0 0 25px;margin:25px 0;width:100%;position:relative}dl.veu_qaItem dd,dl.veu_qaItem dt{border:none;padding-left:35px}dl.veu_qaItem dd:before,dl.veu_qaItem dt:before{position:absolute;left:0;font-size:24px;line-height:105%}dl.veu_qaItem dt{margin-bottom:15px;font-size:18px}dl.veu_qaItem dt:before{font-family:Arial;content:"Q ";color:#e50000}dl.veu_qaItem dd{margin-bottom:0}dl.veu_qaItem dd:before{font-family:Arial;content:"A ";color:#337ab7}.veu_flowBox{display:block;overflow:hidden}.veu_flowBox:after{content:"";background:url(//sato-umi.com/wp-content/plugins/vk-all-in-one-expansion-unit/assets/css/../images/arrow_bottom.svg) center 50% no-repeat;background-size:50px 50px;display:block;overflow:hidden;height:50px;width:50px;margin:0 auto}.veu_flowBox:last-child{padding-bottom:0;margin-bottom:30px}.veu_flowBox:last-child:after{content:"";font-size:0;background-image:none}.veu_flowBox dl{display:block;overflow:hidden;padding:20px 25px;border:3px solid #e5e5e5;margin:0}.veu_flowBox dl dd,.veu_flowBox dl dt{padding-left:0;border:none}.veu_flowBox dl dt{border-bottom:1px dotted #ccc;margin-bottom:10px;font-size:1.2em}.veu_flowBox dl dd{margin-bottom:0}.veu_flowBox dl dd h4{margin:0;padding:0}.veu_flowBox dl dd p{margin-bottom:10px}.veu_flowBox dl dd ul{margin-bottom:0}.veu_dummyImage{padding:20px;display:block;vertical-align:middle;text-align:center;background-color:#f5f5f5;border:1px solid #ccc;margin-bottom:15px}.veu_floatLeft{float:left;margin-right:20px}.veu_floatRight{float:right;margin-left:20px}.veu_feat_list{background:0 0;border:none;padding:0 0 0 2em;font-size:2em;margin-top:1.5em;position:relative}.veu_feat_list:after,.veu_feat_list:before{border:none;background:0 0}.veu_feat_list:before{position:absolute;left:0;top:-.2em;background-color:#4e7729;color:#fff;border-radius:100%;margin-right:.5em;padding:.2em .5em}.veu_feat_list_1:before{content:"1"}.veu_feat_list_2:before{content:"2"}.veu_feat_list_3:before{content:"3"}.veu_feat_list_4:before{content:"4"}.veu_feat_list_5:before{content:"5"}.veu_feat_list_6:before{content:"6"}.veu_feat_list_7:before{content:"7"}.veu_feat_list_8:before{content:"8"}.veu_feat_list_9:before{content:"9"}.link-list li{padding:.5em}iframe.wp-embedded-content{width:100%}.veu_adminEdit{margin-top:5px}.veu_contentAddSection{display:block;clear:both;overflow:hidden;margin-top:var(--vk-margin-block-bottom);margin-bottom:var(--vk-margin-block-bottom)}.veu_contentAddSection:first-child{margin-top:0}.btn{white-space:inherit}#wp-admin-bar-veu_adminlink .ab-veu-icon{position:relative;float:left;speak:never;padding:4px 0;margin-right:6px;display:block;width:20px;height:20px;background-image:url(//sato-umi.com/wp-content/plugins/vk-all-in-one-expansion-unit/assets/css/../images/ex-unit-icon.svg);background-repeat:no-repeat;background-position:center;background-size:20px!important}#wp-admin-bar-veu_adminlink:hover .ab-veu-icon{background-image:url(//sato-umi.com/wp-content/plugins/vk-all-in-one-expansion-unit/assets/css/../images/ex-unit-icon-hover.svg)}.veu_card{border:3px solid var(--vk-color-border-light);border-radius:var(--vk-size-radius)}.veu_card .veu_card_inner{position:relative;display:block;overflow:hidden;padding:1.5rem;box-shadow:inset 0 0 0 1px var(--vk-color-border-zuru)}.veu_card .veu_card_title{color:#464646;font-size:16px;line-height:1.4;padding:0 0 .4em;margin:0 0 1em;display:block;border-bottom:1px solid #e5e5e5;border-top:none;border-left:none;border-right:none;background:0 0;outline:unset;outline-offset:unset;box-shadow:unset;border-radius:unset;text-align:left}.veu_card .veu_card_title a{color:#464646}.veu_card .veu_card_title:after,.veu_card .veu_card_title:before{content:"";border:none;border-right:none;margin:0;background:0 0;height:0;left:inherit}.relatedPosts h2{margin-bottom:10px}.veu_autoEyeCatchBox{display:block;overflow:hidden;margin-bottom:2em}.veu_sitemap:where(:not(.veu_metabox_section)){display:flex;width:100%;flex-wrap:wrap;justify-content:space-between}.veu_sitemap:where(:not(.veu_metabox_section)) .sectionBox{padding-top:0}.veu_sitemap:where(:not(.veu_metabox_section)) .sitemap-col{margin-top:1em;padding-bottom:2em;width:100%}.veu_sitemap:where(:not(.veu_metabox_section)) .sitemap-col .link-list a{display:block;overflow:hidden}.veu_sitemap:where(:not(.veu_metabox_section)) .sitemap-col .page_item{padding:0}.veu_sitemap:where(:not(.veu_metabox_section)) .sitemap-col .cat-item{padding:0}.veu_sitemap:where(:not(.veu_metabox_section)) .sitemap-post-type-title{margin-bottom:.8em;font-size:18px}.veu_sitemap:where(:not(.veu_metabox_section)) .sitemap-taxonomy-title{margin:1em 0;padding:0 0 .2em;font-size:16px}.veu_sitemap:where(:not(.veu_metabox_section)) a{color:#464646}.veu_sitemap:where(:not(.veu_metabox_section)) ul{margin:0 0 0 1em;padding-left:0}.veu_sitemap:where(:not(.veu_metabox_section)) ul li{font-size:14px}.veu_sitemap:where(:not(.veu_metabox_section)) ul>li>a{position:relative;margin-bottom:1em}.veu_sitemap:where(:not(.veu_metabox_section)) .sitemap-term-list{margin-bottom:1.5em}.veu_socialSet{margin-bottom:1.5em}.veu_socialSet.veu_contentAddSection{margin-top:var(--vk-margin-block-bottom)}.veu_socialSet.veu_socialSet-position-before{margin-top:-1em;margin-bottom:2em}.veu_socialSet.veu_socialSet-auto.veu_socialSet-position-after{margin-top:3em}.veu_socialSet ul{display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0 0 3px;list-style:none}.veu_socialSet li{flex:1 1 135px;background:0 0;position:relative;display:block;overflow:visible;box-sizing:border-box;margin:0}.veu_socialSet .sb_icon .sb_icon_inner{display:block;overflow:hidden;width:100%;box-sizing:border-box;padding:5px 10px;border-radius:var(--vk-size-radius);color:#fff;text-decoration:none;line-height:100%;font-size:90%;text-align:left;border:none}.veu_socialSet .sb_icon .sb_icon_inner:hover{box-shadow:none!important;transform:translateY(2px);cursor:pointer;transition:all .3s ease-in-out;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out}.veu_socialSet .sb_icon .sb_icon_inner .sns_txt{position:relative;top:-1px}.veu_socialSet .sb_icon .sb_icon_inner .icon_sns{font-size:100%;padding:5px 8px 5px 0;display:inline-block}.veu_socialSet .sb_facebook a{background:#1877f2;box-shadow:0 2px 0 #344e84}.veu_socialSet .sb_bluesky a{background:#1877f2;box-shadow:0 2px 0 #344e84}.veu_socialSet .sb_hatena a{background:#007fc5;box-shadow:0 2px 0 #00679f}.veu_socialSet .sb_twitter a{background:#00abec;box-shadow:0 2px 0 #007eaa}.veu_socialSet .sb_x_twitter a{background:#0f1419;box-shadow:0 2px 0 #000}.veu_socialSet .sb_google a{background:#dd4b39;box-shadow:0 2px 0 #a03524}.veu_socialSet .sb_line a{background:#6ebd30;box-shadow:0 2px 0 #5b9c28}.veu_socialSet .sb_copy .sb_icon_inner{background:#555;box-shadow:0 2px 0 #333;padding-bottom:4px}.veu_socialSet .sb_copy .sb_icon_inner i{font-size:14px}.veu_count_sns_fb,.veu_count_sns_hb{position:absolute;bottom:5px;right:5px;font-size:77%;line-height:1;font-weight:700}.veu_socialSet.veu_contentAddSection ul{padding:0}.veu_socialSet.veu_contentAddSection ul li{padding:0;margin:0}[class*=" vk_icon_w_r_sns_"],[class^=vk_icon_w_r_sns_]{text-transform:none;font-weight:400;font-style:normal;font-variant:normal;font-family:"vk_sns";line-height:1;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.vk_icon_w_r_sns_fb:before{content:"\e600"}.vk_icon_w_r_sns_google:before{content:"\e601"}.vk_icon_w_r_sns_hatena:before{content:"\e602"}.vk_icon_w_r_sns_line:before{content:"\e603"}.vk_icon_w_r_sns_twitter:before{content:"\e605"}.vk_icon_w_r_sns_x_twitter:before{content:"\e606"}.vk_icon_w_r_sns_bluesky:before{content:"\e607"}.veu_childPage_list{margin-top:2.5em;display:flex;align-items:stretch;flex-wrap:wrap;-webkit-flex-wrap:wrap;justify-content:space-between;-webkit-justify-content:space-between}.veu_childPage_list:first-child{margin-top:0}.veu_childPage_list .childPage_list_box{margin-bottom:1.5em;width:100%;text-decoration:none}.veu_childPage_list .childPage_list_box_inner{display:flex;flex-direction:column;height:100%;box-sizing:border-box}.veu_childPage_list .wp-post-image{float:left;margin-right:1em;margin-bottom:1em;width:30%;height:auto;border:solid 1px #ddd}.veu_childPage_list .childPage_list_body{position:relative;overflow:hidden;color:#333;font-size:14px;height:100%}.veu_childPage_list .childPage_list_body:hover{text-decoration:underline}.veu_childPage_list .childPage_list_text{overflow:hidden;line-height:1.5em;margin-top:0;margin-bottom:3.5em}.veu_childPage_list .childPage_list_more{position:absolute;bottom:0;right:0}.veu_pageList_ancestor{clear:both;margin:2.5em 0 1em}.veu_pageList_ancestor:first-child{margin-top:0}.veu_pageList_ancestor .pageList_ancestor_title{margin-bottom:.5em}.veu_pageList_ancestor .pageList{margin-top:0;margin-bottom:0;padding-left:0}.veu_pageList_ancestor .pageList a{display:block;padding:8px 5px;border-bottom:solid 1px #ddd;color:#333;font-size:14px}.veu_pageList_ancestor .pageList a:hover{text-decoration:underline}.veu_pageList_ancestor .pageList>.page_item{list-style:none}.veu_pageList_ancestor .pageList li{margin-bottom:0}.veu_pageList_ancestor .pageList ul{margin:0;padding-left:0;padding-bottom:0}.veu_pageList_ancestor .pageList ul li{position:relative;list-style:none}.veu_pageList_ancestor .pageList ul li:before{position:absolute;top:.26em;left:5px;display:inline-block}.veu_pageList_ancestor .pageList ul li a{padding-left:20px}.veu_pageList_ancestor .pageList ul li li a{padding-left:30px}.veu_pageList_ancestor .pageList ul li li li a{padding-left:40px}.veu_pageList_ancestor .current_page_item>a{font-weight:700}.veu_followSet{margin:30px 0;display:table;table-layout:fixed;width:100%;background-color:#2b2b2b;color:#fff}.veu_followSet iframe{margin-bottom:10px}.veu_followSet .followSet_img{display:table-cell;min-width:240px;background-position:center;background-size:cover}.veu_followSet .followSet_body{display:table-cell;padding:15px;text-align:center;vertical-align:middle;line-height:1.4;font-size:20px}.veu_followSet .followSet_fb_page{margin-top:0;display:block;width:100%;transform:scale(1.2)}.veu_followSet .followSet_tw_follow{width:100%;padding:0}.veu_followSet .followSet_tw_follow iframe{margin-bottom:0}.veu_followSet .followSet_feedly{text-align:center}.veu_contact.veu_contentAddSection{margin-top:var(--vk-margin-block-bottom)}.veu_contact .contact_frame{display:block;overflow:hidden;background-color:var(--vk-color-bg-accent)}.veu_contact .contact_txt_catch,.veu_contact .contact_txt_tel,.veu_contact .contact_txt_time{display:block;overflow:hidden}.veu_contact .contact_txt_catch,.veu_contact .contact_txt_time{font-size:14px;line-height:128.6%}.veu_contact .contact_txt_tel{padding:5px 0;font-size:28px;line-height:105%;font-weight:700;color:var(--vk-color-primary)}.veu_contact .contact_txt_tel_icon{margin-right:.3rem}.veu_contact .contact_bt_subTxt{display:block;overflow:hidden;font-size:12px;margin-top:.2rem}.veu_contact .contact_txt{text-align:center}.veu_contact .contact_bt{display:block;text-decoration:none;line-height:1.2;padding:.5rem 1.5rem .6rem}.veu_contact .contact_bt_subTxt,.veu_contact .contact_bt_txt{color:#fff}.widget_vkexunit_contact_section{margin-bottom:var(--vk-margin-block-bottom)}.widget_vkexunit_contact_section .veu_contentAddSection{margin:0}.c-widget .veu_contact .customize-partial-edit-shortcut-button,.widget .veu_contact .customize-partial-edit-shortcut-button{top:45px}.veu_insertAds{margin-top:1em;margin-bottom:2em}.veu_relatedPosts.veu_contentAddSection{margin-top:var(--vk-margin-block-bottom)}.veu_relatedPosts a{color:var(--vk-color-text-body);text-decoration:none}.veu_relatedPosts .relatedPosts_title{font-size:var(--vk-size-text-lg)}.veu_relatedPosts>.row{display:flex;margin:0;margin-right:-3%;flex-wrap:wrap}.veu_relatedPosts .relatedPosts_item{float:none;margin-right:2.9%;padding-right:0;padding-left:0;width:47%;border-bottom:solid 1px var(--vk-color-border-hr);flex:initial}.veu_relatedPosts .relatedPosts_item>.media:first-child{border:none}.veu_relatedPosts .relatedPosts_item>.media{display:flex;padding:1em 0 .8em;margin-top:0;border:none}.veu_relatedPosts .relatedPosts_item>.media .media-body{font-size:var(--vk-size-text-xs)}.veu_relatedPosts .relatedPosts_item>.media .postList_thumbnail{width:80px;min-width:80px;padding-right:15px;margin-bottom:0}.veu_relatedPosts .relatedPosts_item>.media .postList_thumbnail img{border:1px solid var(--vk-color-border-hr);max-width:100%;height:auto;-o-object-fit:contain;object-fit:contain}.veu_relatedPosts .relatedPosts_item>.media .media-heading{font-size:var(--vk-size-text-sm);margin-bottom:var(--vk-margin-meta)}.veu_relatedPosts .relatedPosts_item:nth-child(1){border-top:solid 1px var(--vk-color-border-hr)}.veu_relatedPosts .relatedPosts_item:nth-child(2){border-top:solid 1px var(--vk-color-border-hr)}.page_top_btn{position:fixed;right:2%;bottom:3%;z-index:99999;width:40px;height:38px;color:transparent;border:none;background:rgba(0,0,0,.8);box-shadow:0 0 0 1px rgba(255,255,255,.8),0 0 0 2px rgba(0,0,0,.8);background-image:var(--ver_page_top_button_url,var(--veu_page_top_button_url));background-size:50%;background-repeat:no-repeat;background-position:center;opacity:0;transition:opacity .3s;text-decoration:none}.page_top_btn.has-image{background-size:contain;background-color:transparent;box-shadow:none;width:var(--veu_page_top_button_width,40px);height:var(--veu_page_top_button_height,38px)}.page_top_btn:hover{transition:opacity .3s;color:transparent;text-decoration:none}.page_top_btn .customize-partial-edit-shortcut-button{left:-40px}.scrolled .page_top_btn{display:block;opacity:1;color:transparent}.veu_fbPagePlugin .fbPagePlugin_body{margin:0 auto;border:4px solid #efefef;background-color:#f9f9f9;text-align:center}iframe.twitter-timeline{margin-right:auto;margin-left:auto;width:740px!important}.veu_postList{margin-bottom:30px}.veu_postList .subSection-title,.veu_postList h1.mainSection-title{margin-bottom:0}.veu_postList ul.postList{margin:0;padding:0}.veu_postList ul.postList li{display:block;clear:both;overflow:hidden;margin:0;padding:15px 0;border-bottom:1px solid var(--vk-color-border-hr);line-height:1.4em}.veu_postList .postList a{color:var(--vk-color-text-body);text-decoration:none}.veu_postList .postList a:hover{text-decoration:underline}.veu_postList .postList_title{display:block;clear:both;margin:3px 0 0}.veu_postList .postList_meta_items{font-size:14px;color:#666}.veu_postList .postList_date{margin-right:10px;color:var(--vk-color-text-meta)}.veu_postList .postList_date:before{content:"";margin-right:0}.veu_postList .postList_terms{position:relative}.veu_postList .postList_terms a{margin-right:3px;padding:2px 5px 2px;border-radius:var(--vk-size-radius-sm);background-color:#efefef;font-size:10px;line-height:1;position:relative;top:-1px}.veu_postList .postList_terms a:hover{text-decoration:none}.veu_postList .postList_more{margin:10px 5px 0 0;text-align:right}.veu_postList .postList_miniThumb .postList_item{display:block;overflow:hidden;clear:both;position:relative;padding:15px 0;border-bottom:1px solid var(--vk-color-border-hr);margin-bottom:0}.veu_postList .postList_miniThumb .postList_thumbnail{float:left;margin-right:15px}.veu_postList .postList_miniThumb .postList_thumbnail a{position:relative;display:block;overflow:hidden;border:1px solid #e5e5e5}.veu_postList .postList_miniThumb .postList_thumbnail img{width:80px;height:auto;display:block}.veu_postList .postList_miniThumb .postList_body{display:block;overflow:hidden;width:auto}.veu_postList .postList_miniThumb .postList_title{font-size:14px}.veu_profile .profile{overflow:hidden}.veu_profile .media_outer{position:relative;display:block;overflow:hidden;margin:.8em 0 .8em;box-sizing:border-box}.veu_profile .media_outer img{max-width:100%;height:auto}.veu_profile .media_round{border-radius:50%;width:120px;height:120px;position:relative}.veu_profile .media_round img{position:absolute;left:-9999px}.veu_profile .media_center{margin-left:auto;margin-right:auto}.veu_profile .media_center img{display:block;margin-left:auto;margin-right:auto}.veu_profile .media_float{float:left;margin-right:1em}.veu_profile .media_float+.profile_text{padding-top:.8em}.veu_profile .profile_text{margin-bottom:1em;font-size:14px}.veu_profile .sns_btns{margin:0;padding:0;width:100%}.veu_profile .sns_btns li{float:left;margin-right:.45em;list-style:none;text-align:center}.veu_profile .sns_btns li a{display:block;position:relative;width:40px;height:40px;border-radius:23px;color:#fff;text-decoration:none;font-size:20px}.veu_profile .sns_btns li a:hover{color:#fff;text-decoration:none;opacity:.8}.veu_profile .sns_btns li a.bg_fill .icon{color:#fff}.veu_profile .sns_btns .icon{position:absolute;top:50%;left:50%;transform:translateY(-50%) translateX(-50%)}.veu_profile .sns_btns .facebook_btn a{background:#3b5998;border:1px solid #3b5998}.veu_profile .sns_btns .facebook_btn a .icon{color:#3b5998}.veu_profile .sns_btns .twitter_btn a{background:#0f1419;border:1px solid #0f1419}.veu_profile .sns_btns .twitter_btn a .icon{color:#0f1419}.veu_profile .sns_btns .mail_btn a{background:#2f915f;border:1px solid #2f915f}.veu_profile .sns_btns .mail_btn a .icon{color:#2f915f}.veu_profile .sns_btns .youtube_btn a{background:#c81d1c;border:1px solid #c81d1c}.veu_profile .sns_btns .youtube_btn a .icon{color:#c81d1c}.veu_profile .sns_btns .rss_btn a{background:#f26522;border:1px solid #f26522}.veu_profile .sns_btns .rss_btn a .icon{color:#f26522}.veu_profile .sns_btns .instagram_btn a{background:#3f729b;border:1px solid #3f729b}.veu_profile .sns_btns .instagram_btn a .icon{color:#3f729b}.veu_profile .sns_btns .linkedin_btn a{background:#0077b5;border:1px solid #0077b5}.veu_profile .sns_btns .linkedin_btn a .icon{color:#0077b5}.veu_3prArea .prArea{padding-bottom:3.5em}.veu_3prArea .subSection-title{font-size:18px;margin-top:.8em}.veu_3prArea .summary{margin-bottom:.5em;font-size:14px;line-height:1.6em}.veu_3prArea .linkurl{position:absolute;bottom:0;right:15px}.veu_3prArea .linkurl a{text-decoration:none}.veu_3prArea_image{margin-bottom:.8em;border:1px solid #e5e5e5}.veu_3prArea_image .image_pc{display:block}.veu_3prArea_image .image_sp{display:none}.veu_3prArea_image img{width:100%}.veu_3prArea_image_link{border:1px solid #fff;display:block;overflow:hidden}.prBlock a{color:#333}.prBlock a:hover{color:#333;text-decoration:none}.prBlock a .prBlock_summary:hover{text-decoration:underline}.prBlock .prBlock_icon_outer{display:block;position:relative;margin:0 auto;width:80px;height:80px;border-radius:50%}.prBlock .prBlock_icon{position:absolute;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);font-size:36px}.prBlock .prBlock_title{margin-top:.9em;margin-bottom:.7em;text-align:center;font-size:18px;line-height:1.4em}.prBlock .prBlock_image{position:relative;display:block;width:120px;height:120px;margin:0 auto;overflow:hidden;border-radius:50%;text-indent:-9999px}.prBlock .prBlock_summary{margin-bottom:.5em;text-align:center;font-size:14px;line-height:1.6em}.veu_button i,.veu_button svg{margin-left:.3em;margin-right:.3em}.veu_button .button_mainText,.veu_button .button_subText{display:block}.veu_button .btn.btn-sm{padding-top:.6em;padding-bottom:.45em}.veu_button .btn{padding-top:.8em;padding-bottom:.6em}.veu_button .btn.btn-lg{padding-top:.8em;padding-bottom:.7em}.veu_banner{text-align:center;display:block;overflow:hidden}@media (min-width:481px){.veu_followSet .followSet_body{padding:40px}.veu_followSet .followSet_title{font-size:18px;margin-bottom:10px}}@media (min-width:541px){.veu_childPage_list .childPage_list_box{width:48%}}@media (min-width:768px){.veu_leadTxt,p.veu_leadTxt{margin-bottom:.7em}.veu_sitemap:where(:not(.veu_metabox_section)) .sitemap-col{width:48%}}@media (min-width:1200px){.veu_contact-layout-horizontal p.contact_txt{margin-bottom:0}.veu_contact-layout-horizontal .contact_txt{float:left;text-align:left}.veu_contact-layout-horizontal .contact_bt{float:right;padding:.7em 1.5em}}@media screen and (max-width:992px){.prBlock{margin-bottom:1.5em}}@media (max-width:971px){.veu_insertAds{margin-bottom:.5em}.veu_insertAds .col-md-6{margin-bottom:1em}}@media (max-width:768px){.veu_relatedPosts .relatedPosts_item{max-width:100%}.veu_relatedPosts .relatedPosts_item{display:block;width:100%}.veu_relatedPosts .relatedPosts_item:nth-child(2){border-top:none}}@media (max-width:767px){.veu_socialSet .veu_count_sns_fb,.veu_socialSet .veu_count_sns_hb{bottom:2px}.veu_socialSet .sb_icon a{padding:8px 10px}.veu_childPage_list .wp-post-image{width:25%}}@media screen and (max-width:767px){.veu_3prArea .prArea{margin-bottom:1em;display:block;overflow:hidden}.veu_3prArea .image_pc{display:none}.veu_3prArea .image_sp{display:block}.veu_3prArea .linkurl{margin-bottom:1.5em}.veu_3prArea_image{width:138px;margin:0 1em 0 0;float:left}}@media (max-width:576px){.veu_contact .contact_txt_tel{font-size:25px}}@media (max-width:480px){.veu_followSet .followSet_title{font-size:12px;margin-bottom:0}}
.global-nav-list>li{float:left}.global-nav-list>li:hover .global-nav-description,.global-nav-list>li[class*=current]:where(:not(.menu-item-anchor)) .global-nav-description{opacity:1}.global-nav-list>li:hover:before,.global-nav-list>li[class*=current]:where(:not(.menu-item-anchor)):before{width:100%}.global-nav-list>li:before{position:absolute;left:0;bottom:0;content:"";width:0;border-bottom:1px solid var(--vk-color-primary);transition:all .5s ease-out}.global-nav-list>li.menu-item-has-children::after{transition:all .2s ease-out;content:"";position:absolute;padding:0;bottom:-10px;left:50%;transform:translateX(-50%);border:10px solid transparent;z-index:1000;opacity:0;border-bottom-color:var(--vk-color-primary)}.device-pc .global-nav-list>li.menu-item-has-children:hover::after,.global-nav-list>li.acc-parent-open::after{opacity:1;bottom:1px}.global-nav-list>li.acc-parent-close::after{opacity:0}.global-nav-list>li>ul.sub-menu{margin-top:-1px}.global-nav-list ul li a:hover{background-color:var(--vk-color-primary)}body:not(.header_scrolled) .global-nav--text-layout--vertical .global-nav-list>li:before{left:unset;bottom:unset;border-bottom:none;border-right:1px solid var(--vk-color-primary);top:14px;right:0;height:0}body:not(.header_scrolled) .global-nav--text-layout--vertical .global-nav-list>li.acc-parent-open::after,body:not(.header_scrolled) .global-nav--text-layout--vertical .global-nav-list>li.menu-item-has-children:hover::after{bottom:0}body:not(.header_scrolled).device-pc .global-nav--text-layout--vertical .global-nav-list>li:hover:before,body:not(.header_scrolled).device-pc .global-nav--text-layout--vertical .global-nav-list>li[class*=current]:before{height:calc(100% - 14px - 14px)}body:not(.header_scrolled).device-mobile .global-nav--text-layout--vertical .global-nav-list>li.acc-parent-open:before,body:not(.header_scrolled).device-mobile .global-nav--text-layout--vertical .global-nav-list>li[class*=current]:before{height:calc(100% - 14px - 3em)}body,html{font-family:Lato,"Noto Sans JP","ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif}.entry-title--post-type--page,h2:where(:not(.wp-block-post-title)){padding:.5em 0;border-top:2px solid var(--vk-color-primary);border-bottom:1px solid var(--vk-color-border-hr)}.site-footer-title,.sub-section-title,h3:where(:not(.wp-block-post-title)){position:relative;border-bottom:1px solid var(--vk-color-border);background:0 0;padding:0 0 .5em;border-radius:0}.site-footer-title:after,.sub-section-title:after,h3:where(:not(.wp-block-post-title)):after{content:".";line-height:0;display:block;overflow:hidden;position:absolute;bottom:-1px;width:30%;border-bottom:1px solid var(--vk-color-primary)}h4:where(:not(.wp-block-post-title)){padding:.5em;background-color:var(--vk-color-border-hr);border-radius:var(--vk-size-radius)}h5:where(:not(.wp-block-post-title)){padding-bottom:.5em;border-bottom:1px solid var(--vk-color-border-hr)}.wp-block-button__link{padding-top:calc(.6em + 2px);padding-bottom:calc(.6em + 2px)}.vk_button{margin-top:0}.vk_button .vk_button_link.btn,.wp-block-button.is-style-outline .wp-block-button__link{border-width:1px;padding-top:.6em;padding-bottom:.6em}body,html{font-family:Lato,"Noto Sans JP","ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif}.site-header{background-color:#fff}.page-header{color:#fff;background-color:var(--vk-color-primary)}.breadcrumb{border-top:1px solid var(--vk-color-border-hr);border-bottom:1px solid var(--vk-color-border-hr)}.site-footer{border-top:1px solid var(--vk-color-primary)}.footer-nav{border-bottom:1px solid var(--vk-color-border-hr)}.footer-nav-list li:first-child{border-left:1px solid var(--vk-color-border)}.footer-nav-list li{border-right:1px solid var(--vk-color-border)}@media (max-width:767.98px){.footer-nav{border-bottom:none}.footer-nav-list li:first-child{border-left:none}.footer-nav-list li{border-right:none;border-bottom:1px solid var(--vk-color-border-hr)}}
/* ===== CLS対策: 画像コンテナのアスペクト比固定 ===== */
.wp-block-image img {
	aspect-ratio: attr(width) / attr(height);
	height: auto;
	max-width: 100%;
}

.wp-block-image.size-large img,
.wp-block-image.size-full img {
	aspect-ratio: 4 / 3;
	width: 100%;
	height: auto;
	object-fit: cover;
}

/* VK ExUnit 関連記事・投稿リスト画像 */
.vk_post .vk_post_imgOuter {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	contain: layout;
}

.vk_post .vk_post_imgOuter_img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* VK カード型投稿リスト */
.card .vk_post_imgOuter {
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

/* Webフォント読み込み時のCLS軽減 */
.site-header,
.entry-title,
h1, h2, h3 {
	font-synthesis: none;
}

/* ===== ピラー記事リンク ===== */
.wakka-pillar-section {
	margin: 2.5em 0 1.5em;
	border: 2px solid var(--wakka-gold, #d4a017);
	border-radius: 10px;
	overflow: hidden;
	background: var(--wakka-cream, #fff8f0);
}

.wakka-pillar-label {
	background: var(--wakka-gold, #d4a017);
	color: #fff;
	padding: 6px 16px;
	font-size: 0.85em;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.wakka-pillar-link {
	display: flex;
	align-items: center;
	padding: 14px 16px;
	text-decoration: none !important;
	color: var(--wakka-black, #3a3a3a) !important;
	border-top: 1px solid rgba(212, 160, 23, 0.2);
	transition: background 0.2s;
}

.wakka-pillar-link:first-of-type {
	border-top: none;
}

.wakka-pillar-link:hover {
	background: rgba(212, 160, 23, 0.08);
}

.wakka-pillar-thumb {
	flex-shrink: 0;
	width: 72px;
	height: 72px;
	margin-right: 14px;
	border-radius: 6px;
	overflow: hidden;
}

.wakka-pillar-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wakka-pillar-title {
	font-weight: 700;
	font-size: 1em;
	line-height: 1.5;
}

/* ===== 関連記事グリッド ===== */
.wakka-related-posts {
	margin: 2.5em 0 1em;
}

.wakka-related-heading {
	font-size: 1.25em !important;
	border-left: 4px solid var(--wakka-gold, #d4a017);
	border-bottom: none !important;
	padding: 4px 0 4px 12px;
	margin-bottom: 1em;
}

.wakka-related-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.wakka-related-item {
	display: block;
	text-decoration: none !important;
	color: var(--wakka-black, #3a3a3a) !important;
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid #e0e0e0;
	background: #fff;
	transition: box-shadow 0.25s, transform 0.25s;
}

.wakka-related-item:hover {
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
	transform: translateY(-2px);
}

.wakka-related-thumb img {
	width: 100%;
	height: 130px;
	object-fit: cover;
	display: block;
}

.wakka-related-title {
	padding: 10px 12px;
	font-size: 0.88em;
	font-weight: 600;
	line-height: 1.45;
}

/* ===== レスポンシブ ===== */
@media (max-width: 768px) {
	.wakka-related-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}

	.wakka-related-thumb img {
		height: 100px;
	}

	.wakka-related-title {
		padding: 8px 10px;
		font-size: 0.82em;
	}

	.wakka-pillar-thumb {
		width: 56px;
		height: 56px;
	}

	.wakka-pillar-title {
		font-size: 0.9em;
	}
}

/* ===== AdSense 広告ユニット ===== */
.wakka-ad-unit {
	margin: 2em 0;
	text-align: center;
	overflow: hidden;
	clear: both;
}

.wakka-ad-unit ins {
	max-width: 100%;
}


.blog-card{border:1px solid var(--vk-color-border);border-radius:var(--vk-size-radius);display:flex;flex-direction:row;flex-wrap:wrap-reverse}.blog-card-image-outer,.blog-card-body-outer{padding:1.5rem}@media (min-width: 576px){.blog-card-image-outer{width:calc( 100% / 3)}}.blog-card-body-outer{padding-top:0}@media (min-width: 576px){.blog-card-body-outer{padding:1.5rem;width:calc( 100% / 3 * 2)}}.blog-card-title{font-size:1.125rem}.blog-card-title a{color:var(--vk-color-text-body)}.blog-card-image-frame{border-radius:var(--vk-size-radius);border:1px solid var(--vk-color-border);display:block;overflow:hidden}.blog-card-image-src{display:block}.blog-card-site-title a{display:flex;align-items:center}.blog-card-site-title a img{margin-right:10px}
.veu_adminEdit_cta{position:absolute;margin-top:-2.4em!important;margin-left:1em!important;z-index:999}.veu_adminEdit_cta>.btn{font-size:12px;text-box:trim-both text;background-color:var(--vk-color-primary);border:1px solid var(--vk-color-primary);color:#fff}.veu_adminEdit_cta>.btn:hover{background-color:rgba(255,255,255,.9);color:var(--vk-color-primary)}.veu_adminEdit_cta .btn-block{width:initial}.veu_cta{display:block;overflow:hidden;margin-top:30px;margin-bottom:30px;background-color:#efefef}.veu_cta .cta_title{display:block;overflow:hidden;margin:0;padding:12px 20px 10px;background-color:#333;color:#fff;font-size:22px;line-height:1.2em}.veu_cta .cta_body{display:block;overflow:hidden;padding:1.5em 1.5em 2em;line-height:170%}.veu_cta .cta_body_image{margin-bottom:1.5em}.veu_cta .cta_body_image img{max-width:250px;height:100%}.veu_cta .cta_body_image_center{display:block;overflow:hidden;text-align:center}.veu_cta .cta_body_image_center img{display:block;margin:0 auto 15px;max-width:100%}.veu_cta .cta_body_txt{display:block;overflow:hidden}.veu_cta .cta_body_link{clear:both;margin-top:1.5em}@media (min-width:768px){.veu_cta .cta_body_image_right{float:right;margin-left:30px}.veu_cta .cta_body_image_left{float:left;margin-right:30px}}@media (max-width:767px){.veu_cta .cta_body_image img{display:block;margin:0 auto 1.5em;max-width:100%}}
/*
Theme Name: Wakka Hokuriku (Lightning Child)
Theme URI: https://sato-umi.com
Template: lightning
Description: わっか北陸 - 北陸3県の地域交流コミュニティサイト
Author: Wakka Hokuriku Team
Tags: community, buddypress, hokuriku, japan
Version: 1.0.0
*/

/**
 * わっか北陸 カスタムCSS
 * 北陸らしい和モダンデザイン
 */

/* ===============================
   デザインシステム正規トークン
================================== */
:root {
    /* Palette A — 和モダン（主要サーフェス共通） */
    --kincha:        #b08a4a;   /* 金茶 */
    --kincha-dark:   #9a7a3a;
    --ai:            #1c3a5c;   /* 藍 */
    --ai-deep:       #122439;
    --hanada:        #3A5B95;   /* 縹 */
    --asagi:         #5B8A9E;   /* 浅葱 */
    --sumi:          #1a1714;   /* 墨 */
    --sumi-soft:     #3a342d;
    --kasumi:        #6b6258;   /* 霞 */
    --hi:            #9a3a2c;   /* 緋 */
    --washi:         #f4ede0;   /* 和紙 */
    --washi-deep:    #ece2cf;
    --paper:         #faf6ee;
    --hairline:      #d9cfbb;
    --hairline-2:    #c2b59c;

    /* Palette B — Bright-web（記事装飾専用） */
    --gold:          #D4A017;
    --gold-light:    #e8c050;
    --gold-dark:     #a87c10;
    --teal:          var(--teal);
    --teal-dark:     var(--ai);
    --red:           #E60012;
    --green:         #8FBC8F;
    --cream:         #FFF8F0;

    /* 季節アクセント（記事コールアウト専用） */
    --season-spring: #F8BBD0;
    --season-summer: #4FC3F7;
    --season-autumn: #FF8A65;
    --season-winter: #B0BEC5;

    /* 後方互換エイリアス — UI面は和モダンへ */
    --wakka-gold:    var(--kincha);
    --wakka-black:   var(--sumi);
    --wakka-red:     var(--hi);
    --wakka-green:   var(--green);
    --wakka-white:   var(--paper);
    --wakka-gray:    var(--washi-deep);
    --wakka-cream:   var(--cream);
    --wakka-teal:    var(--ai);
    --wakka-spring:  var(--season-spring);
    --wakka-summer:  var(--season-summer);
    --wakka-autumn:  var(--season-autumn);
    --wakka-winter:  var(--season-winter);
}

/* 記事本文内は Bright-web パレットで上書き */
.entry-content,
.entry-body {
    --wakka-gold:  var(--gold);
    --wakka-teal:  var(--teal);
    --wakka-cream: var(--cream);
}

/* ===============================
   基本フォント設定
================================== */
html {
    scrollbar-gutter: stable;
}
body {
    font-family: -apple-system, BlinkMacSystemFont, "Yu Gothic", "游ゴシック", YuGothic, "Yu Gothic Medium", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    color: var(--wakka-black);
}


/* ===============================
   イベント一覧
================================== */
.wakka-event-card {
    background: white;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 20px;
    transition: all 0.3s ease;
}

.wakka-event-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    border-color: var(--wakka-gold);
}

.wakka-event-date {
    background: var(--wakka-gold);
    color: white;
    text-align: center;
    padding: 15px;
    border-radius: 8px;
    font-weight: bold;
}

.wakka-event-details h3 {
    margin-top: 0;
    color: var(--wakka-black);
}

.wakka-event-details h3 a {
    color: var(--wakka-black);
    text-decoration: none;
}

.wakka-event-details h3 a:hover {
    color: var(--wakka-red);
}

.wakka-event-meta {
    display: flex;
    gap: 15px;
    margin: 10px 0;
    font-size: 0.9em;
    color: #666;
}

/* ===============================
   フィルター（部活検索）
================================== */
.wakka-filters {
    background: var(--wakka-white);
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 30px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

.wakka-filters .filter-section {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.wakka-filters label {
    font-weight: 600;
    color: var(--wakka-black);
}

.wakka-filters select {
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: white;
}

.wakka-filters select:focus {
    border-color: var(--wakka-gold);
    outline: none;
    box-shadow: 0 0 0 2px rgba(212, 160, 23, 0.2);
}

/* ===============================
   ページヘッダー
================================== */
.page-header {
    background: linear-gradient(135deg, var(--wakka-gold) 0%, var(--wakka-green) 100%);
    color: white;
    padding: 40px 20px;
    text-align: center;
    border-radius: 8px;
    margin-bottom: 30px;
}

.page-header h1 {
    color: white;
    margin: 0;
}

/* ===============================
   モバイルレスポンシブ
================================== */
@media (max-width: 768px) {
    .wakka-event-card {
        grid-template-columns: 1fr;
    }

    .wakka-event-date {
        width: 100%;
    }

    .wakka-filters {
        grid-template-columns: 1fr;
        gap: 15px;
    }
}

/* ===============================
   ユーティリティクラス
================================== */
.wakka-text-gold {
    color: var(--wakka-gold);
}

.wakka-text-red {
    color: var(--wakka-red);
}

.wakka-bg-gold {
    background-color: var(--wakka-gold);
    color: white;
}

.wakka-bg-green {
    background-color: var(--wakka-green);
    color: white;
}

.wakka-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 0.85em;
    font-weight: 600;
}

.wakka-badge-gold {
    background-color: var(--wakka-gold);
    color: white;
}

.wakka-badge-green {
    background-color: var(--wakka-green);
    color: white;
}

.wakka-badge-red {
    background-color: var(--wakka-red);
    color: white;
}

/* ===============================
   アニメーション
================================== */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.wakka-fade-in {
    animation: fadeIn 0.3s ease-in;
}

/* ===============================
   フッター上部エリア（.site-body-bottom）
================================== */
.site-body-bottom {
    background: var(--ai, #1c3a5c);
    padding: 56px 0 48px;
    position: relative;
    overflow: hidden;
}

/* 上部 kincha アクセントライン */
.site-body-bottom::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--kincha, #b08a4a);
}

.site-body-bottom::after { display: none; }

.site-body-bottom > .container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 48px;
    max-width: 1200px;
    position: relative;
    z-index: 1;
}

/* ウィジェットカード */
.site-body-bottom aside.widget {
    background: rgba(244, 237, 224, 0.05);
    border: 1px solid rgba(244, 237, 224, 0.12);
    border-radius: 0;
    padding: 32px;
    transition: background 0.25s;
}

.site-body-bottom aside.widget:hover {
    background: rgba(244, 237, 224, 0.09);
}

/* 見出し */
.site-body-bottom h2.wp-block-heading {
    color: var(--washi, #f4ede0);
    font-family: "Shippori Mincho B1", serif;
    font-size: 1.1em;
    font-weight: 500;
    letter-spacing: 0.1em;
    margin: 0 0 20px 0;
    padding-bottom: 14px;
    border-bottom: none;
    position: relative;
}

.site-body-bottom h2.wp-block-heading::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 1px;
    background: var(--kincha, #b08a4a);
}

/* リスト共通 */
.site-body-bottom ul { list-style: none; padding: 0; margin: 0; }
.site-body-bottom ul li { margin: 0; padding: 0; }

.site-body-bottom ul li a {
    display: flex;
    align-items: center;
    padding: 9px 0;
    color: rgba(244, 237, 224, 0.65);
    text-decoration: none;
    font-size: 0.9em;
    border-bottom: 1px solid rgba(244, 237, 224, 0.08);
    transition: color 0.2s;
}

.site-body-bottom ul li a::before {
    content: '';
    width: 4px;
    height: 4px;
    background: var(--kincha, #b08a4a);
    border-radius: 50%;
    margin-right: 10px;
    flex-shrink: 0;
}

.site-body-bottom ul li a:hover {
    color: var(--washi, #f4ede0);
    padding-left: 0;
}

.site-body-bottom ul li a:hover::before {
    background: var(--kincha, #b08a4a);
}

/* ===============================
   フッター（和モダン）
================================== */
.site-footer,
footer.site-footer {
    background: #122439;
    color: rgba(244, 237, 224, 0.65);
    border-top: 1px solid rgba(244, 237, 224, 0.12);
}

.site-footer .container,
.site-footer .inner {
    max-width: 1200px;
    margin: 0 auto;
}

/* フッターウィジェットタイトル */
.site-footer .widget-title,
.site-footer h2,
.site-footer h3,
.footer-widget h2,
.footer-widget h3 {
    color: #f4ede0;
    font-family: "Shippori Mincho B1", serif;
    font-size: 1.0em;
    font-weight: 600;
    letter-spacing: 0.08em;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(244, 237, 224, 0.2);
    position: relative;
}

.site-footer .widget-title::after,
.footer-widget h2::after,
.footer-widget h3::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 32px;
    height: 1px;
    background: #b08a4a;
}

/* フッターリンク */
.site-footer a,
.site-footer .menu li a,
.site-footer .widget ul li a {
    color: rgba(244, 237, 224, 0.65);
    text-decoration: none;
    transition: color 0.2s ease;
    display: block;
    padding: 6px 0;
}

.site-footer a:hover,
.site-footer .menu li a:hover,
.site-footer .widget ul li a:hover {
    color: #f4ede0;
    padding-left: 6px;
}

/* フッター内テキスト */
.site-footer .textwidget,
.site-footer .widget_text {
    color: rgba(244, 237, 224, 0.65);
    line-height: 1.8;
}

/* フッター最新投稿 */
.site-footer .wp-block-latest-posts__list,
.site-footer .widget_recent_entries ul {
    list-style: none;
    padding: 0;
}

.site-footer .wp-block-latest-posts__list li a,
.site-footer .widget_recent_entries ul li a {
    padding: 8px 0;
    border-radius: 0;
    font-size: 0.92em;
    border-bottom: 1px solid rgba(244, 237, 224, 0.08);
}

.site-footer .wp-block-latest-posts__list li a:hover,
.site-footer .widget_recent_entries ul li a:hover {
    background: transparent;
    color: #f4ede0;
}

/* フッターナビメニュー */
.site-footer .menu {
    list-style: none;
    padding: 0;
}

.site-footer .menu li {
    margin: 0;
}

.site-footer .menu li a {
    padding: 8px 0;
    border-radius: 0;
    font-size: 0.92em;
    border-bottom: 1px solid rgba(244, 237, 224, 0.08);
}

.site-footer .menu li a:hover {
    background: transparent;
}

/* フッターコピーライト */
.site-footer-copyright,
.footer-copyright {
    background: #0d1c2e;
    color: rgba(244, 237, 224, 0.35);
    text-align: center;
    padding: 16px 0;
    font-size: 0.85em;
    border-top: 1px solid rgba(244, 237, 224, 0.08);
}

.site-footer-copyright a {
    color: #b08a4a;
}

/* ===============================
   フッターレスポンシブ
================================== */
@media (max-width: 768px) {
    .site-body-bottom {
        padding: 40px 0 32px;
    }

    .site-body-bottom > .container {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .site-body-bottom aside.widget {
        padding: 24px;
    }

    .site-body-bottom h2.wp-block-heading {
        font-size: 1.1em;
    }
}

/* ===============================
   記事コンテンツ: スタイルボックス共通
================================== */

/* ボックス内の見出し装飾リセット */
.wakka-article-timeline h3,
.wakka-article-infocard h3,
.wakka-article-season h3,
.wakka-article-access h3,
.wakka-article-checklist h2,
.wakka-article-checklist h3 {
    border: none !important;
    padding-left: 0 !important;
    margin-top: 0 !important;
    background: none !important;
}

.wakka-article-timeline h3::before,
.wakka-article-timeline h3::after,
.wakka-article-infocard h3::before,
.wakka-article-infocard h3::after,
.wakka-article-season h3::before,
.wakka-article-season h3::after,
.wakka-article-access h3::before,
.wakka-article-access h3::after,
.wakka-article-checklist h2::before,
.wakka-article-checklist h2::after,
.wakka-article-checklist h3::before,
.wakka-article-checklist h3::after {
    display: none !important;
}

/* ===============================
   1. タイムラインボックス（モデルコース）
================================== */
.wakka-article-timeline {
    background: var(--wakka-cream);
    border: 1px solid #e8e0d0;
    border-radius: 12px;
    padding: 28px 28px 20px;
    margin: 28px 0;
}

.wakka-article-timeline h3 {
    font-size: 1.1em;
    font-weight: 700;
    color: var(--wakka-black);
    margin: 0 0 20px 0 !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid var(--wakka-gold) !important;
}

.wakka-article-timeline .wp-block-paragraph {
    position: relative;
    padding-left: 24px;
    margin-bottom: 0;
    line-height: 2.2;
    border-left: 2px solid var(--wakka-gold);
    margin-left: 6px;
}

.wakka-article-timeline .wp-block-paragraph::before {
    content: '';
    position: absolute;
    left: -6px;
    top: 10px;
    width: 10px;
    height: 10px;
    background: var(--wakka-gold);
    border-radius: 50%;
    border: 2px solid var(--wakka-cream);
}

.wakka-article-timeline .wp-block-paragraph strong {
    color: var(--wakka-gold);
    font-weight: 700;
}

/* ===============================
   2. インフォカード（スポット情報）
================================== */
.wakka-article-infocard {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-left: 4px solid var(--wakka-teal);
    border-radius: 0 12px 12px 0;
    padding: 24px 28px;
    margin: 24px 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.wakka-article-infocard h3 {
    font-size: 1.1em;
    font-weight: 700;
    color: var(--wakka-black);
    margin: 0 0 14px 0 !important;
}

.wakka-article-infocard ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.wakka-article-infocard ul li {
    padding: 8px 0;
    border-bottom: 1px dashed #e8e8e8;
    font-size: 0.95em;
    line-height: 1.6;
}

.wakka-article-infocard ul li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.wakka-article-infocard ul li strong {
    color: var(--wakka-black);
    min-width: 80px;
    display: inline-block;
}

/* 金色バリエーション（重要文化財等） */
.wakka-article-infocard.is-style-gold {
    border-left-color: var(--wakka-gold);
    background: linear-gradient(135deg, #fff 0%, var(--wakka-cream) 100%);
}

/* ===============================
   3. 季節ボックス
================================== */
.wakka-article-season {
    background: #fff;
    border-radius: 12px;
    padding: 24px 28px;
    margin: 16px 0;
    border: 1px solid #e8e8e8;
    border-top: 3px solid #ccc;
}

.wakka-article-season h3 {
    font-size: 1.05em;
    font-weight: 700;
    margin: 0 0 10px 0 !important;
}

.wakka-article-season .wp-block-paragraph {
    margin: 0;
    font-size: 0.95em;
    line-height: 1.9;
}

.wakka-article-season.is-spring {
    border-top-color: var(--wakka-spring);
    background: linear-gradient(180deg, rgba(248, 187, 208, 0.07) 0%, #fff 40%);
}

.wakka-article-season.is-summer {
    border-top-color: var(--wakka-summer);
    background: linear-gradient(180deg, rgba(79, 195, 247, 0.07) 0%, #fff 40%);
}

.wakka-article-season.is-autumn {
    border-top-color: var(--wakka-autumn);
    background: linear-gradient(180deg, rgba(255, 138, 101, 0.07) 0%, #fff 40%);
}

.wakka-article-season.is-winter {
    border-top-color: var(--wakka-winter);
    background: linear-gradient(180deg, rgba(176, 190, 197, 0.07) 0%, #fff 40%);
}

/* ===============================
   4. アクセスボックス
================================== */
.wakka-article-access {
    background: #f0f7fa;
    border: 1px solid #d0e8f0;
    border-radius: 12px;
    padding: 24px 28px;
    margin: 24px 0;
    position: relative;
}

.wakka-article-access::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(to right, var(--wakka-teal), var(--green));
    border-radius: 12px 12px 0 0;
}

.wakka-article-access h3 {
    font-size: 1.1em;
    font-weight: 700;
    color: var(--wakka-teal);
    margin: 0 0 14px 0 !important;
}

.wakka-article-access ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.wakka-article-access ul li {
    padding: 8px 0 8px 24px;
    border-bottom: 1px solid rgba(23, 162, 184, 0.12);
    position: relative;
    font-size: 0.95em;
    line-height: 1.7;
}

.wakka-article-access ul li:last-child {
    border-bottom: none;
}

.wakka-article-access ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 14px;
    width: 8px;
    height: 8px;
    background: var(--wakka-teal);
    border-radius: 50%;
}

.wakka-article-access ul li strong {
    color: var(--wakka-black);
    font-weight: 700;
}

/* ===============================
   5. チェックリストボックス
================================== */
.wakka-article-checklist {
    background: linear-gradient(135deg, #fff 0%, #f8faf5 100%);
    border: 1px solid #d4e8d0;
    border-radius: 12px;
    padding: 28px 28px 20px;
    margin: 28px 0;
}

.wakka-article-checklist h2 {
    font-size: 1.15em;
    font-weight: 700;
    color: var(--green);
    margin: 0 0 16px 0 !important;
}

.wakka-article-checklist ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.wakka-article-checklist ul li {
    padding: 10px 0 10px 32px;
    position: relative;
    font-size: 0.95em;
    line-height: 1.7;
    border-bottom: 1px solid rgba(47, 133, 90, 0.08);
}

.wakka-article-checklist ul li:last-child {
    border-bottom: none;
}

.wakka-article-checklist ul li::before {
    content: '\2713';
    position: absolute;
    left: 0;
    top: 10px;
    width: 22px;
    height: 22px;
    background: var(--green);
    color: #fff;
    border-radius: 50%;
    font-size: 0.7em;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wakka-article-checklist ul li strong {
    color: var(--wakka-black);
    font-weight: 700;
}

/* ===============================
   記事スタイルボックス: ダークモード
================================== */
body.dark-mode .wakka-article-timeline {
    background: #1a2240;
    border-color: #2a3a5c;
}

body.dark-mode .wakka-article-timeline h3 {
    color: #e0e0e0;
    border-bottom-color: var(--wakka-gold) !important;
}

body.dark-mode .wakka-article-timeline .wp-block-paragraph {
    color: #ccc;
    border-left-color: rgba(212, 160, 23, 0.5);
}

body.dark-mode .wakka-article-timeline .wp-block-paragraph::before {
    border-color: #1a2240;
}

body.dark-mode .wakka-article-infocard {
    background: #16213e;
    border-color: #2a3a5c;
    border-left-color: var(--wakka-teal);
}

body.dark-mode .wakka-article-infocard.is-style-gold {
    border-left-color: var(--wakka-gold);
    background: linear-gradient(135deg, #16213e 0%, #1a2240 100%);
}

body.dark-mode .wakka-article-infocard h3 {
    color: #e0e0e0;
}

body.dark-mode .wakka-article-infocard ul li {
    border-bottom-color: #2a3a5c;
    color: #bbb;
}

body.dark-mode .wakka-article-infocard ul li strong {
    color: #ddd;
}

body.dark-mode .wakka-article-season {
    background: #16213e;
    border-color: #2a3a5c;
}

body.dark-mode .wakka-article-season h3 {
    color: #e0e0e0;
}

body.dark-mode .wakka-article-season .wp-block-paragraph {
    color: #bbb;
}

body.dark-mode .wakka-article-season.is-spring {
    border-top-color: #F48FB1;
    background: linear-gradient(180deg, rgba(244, 143, 177, 0.08) 0%, #16213e 40%);
}

body.dark-mode .wakka-article-season.is-summer {
    border-top-color: #29B6F6;
    background: linear-gradient(180deg, rgba(41, 182, 246, 0.08) 0%, #16213e 40%);
}

body.dark-mode .wakka-article-season.is-autumn {
    border-top-color: #FF7043;
    background: linear-gradient(180deg, rgba(255, 112, 67, 0.08) 0%, #16213e 40%);
}

body.dark-mode .wakka-article-season.is-winter {
    border-top-color: #90A4AE;
    background: linear-gradient(180deg, rgba(144, 164, 174, 0.08) 0%, #16213e 40%);
}

body.dark-mode .wakka-article-access {
    background: #142030;
    border-color: #1e3450;
}

body.dark-mode .wakka-article-access h3 {
    color: #4fc3d9;
}

body.dark-mode .wakka-article-access ul li {
    border-bottom-color: rgba(79, 195, 217, 0.1);
    color: #bbb;
}

body.dark-mode .wakka-article-access ul li strong {
    color: #ddd;
}

body.dark-mode .wakka-article-access ul li::before {
    background: #4fc3d9;
}

body.dark-mode .wakka-article-checklist {
    background: linear-gradient(135deg, #16213e 0%, #162a30 100%);
    border-color: #1e3a30;
}

body.dark-mode .wakka-article-checklist h2 {
    color: var(--wakka-green);
}

body.dark-mode .wakka-article-checklist ul li {
    color: #bbb;
    border-bottom-color: rgba(143, 188, 143, 0.1);
}

body.dark-mode .wakka-article-checklist ul li strong {
    color: #ddd;
}

/* ===============================
   記事内目次 (Table of Contents)
================================== */
.wakka-article-toc {
    background: linear-gradient(135deg, #fff 0%, var(--wakka-cream) 100%);
    border: 1px solid #e8e0d0;
    border-radius: 12px;
    padding: 24px 28px 20px;
    margin: 28px 0;
    position: relative;
}

.wakka-article-toc::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--wakka-gold), transparent);
    border-radius: 12px 12px 0 0;
}

.wakka-article-toc h3,
.wakka-article-toc h2 {
    font-size: 1.05rem;
    color: var(--wakka-gold);
    margin: 0 0 12px;
    padding: 0;
    border: none;
    background: none;
    letter-spacing: 0.08em;
}

.wakka-article-toc h3::before,
.wakka-article-toc h3::after,
.wakka-article-toc h2::before,
.wakka-article-toc h2::after {
    display: none;
}

.wakka-article-toc ol {
    list-style: none;
    counter-reset: toc-counter;
    margin: 0;
    padding: 0;
}

.wakka-article-toc ol li {
    counter-increment: toc-counter;
    margin-bottom: 0;
    padding: 8px 0;
    border-bottom: 1px dotted #e0d8c8;
    font-size: 0.92rem;
    line-height: 1.6;
}

.wakka-article-toc ol li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.wakka-article-toc ol li::before {
    content: counter(toc-counter);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    background: var(--wakka-gold);
    color: #fff;
    border-radius: 50%;
    font-size: 0.75rem;
    font-weight: 700;
    margin-right: 10px;
    flex-shrink: 0;
    vertical-align: middle;
}

.wakka-article-toc ol li a {
    color: var(--wakka-black);
    text-decoration: none;
    transition: color 0.2s;
}

.wakka-article-toc ol li a:hover {
    color: var(--wakka-gold);
}

/* ダークモード対応 */
body.dark-mode .wakka-article-toc {
    background: linear-gradient(135deg, #2a2a2a 0%, #333 100%);
    border-color: #555;
}

body.dark-mode .wakka-article-toc ol li {
    border-bottom-color: #555;
}

body.dark-mode .wakka-article-toc ol li a {
    color: #e0e0e0;
}

/* ===============================
   路線図（Route Map）
================================== */
.wakka-route-map {
    background: var(--wakka-cream);
    border: 1px solid #e8e0d0;
    border-radius: 12px;
    padding: 28px 28px 20px;
    margin: 28px 0;
}

.wakka-route-map h3 {
    font-size: 1.05rem;
    color: var(--wakka-gold);
    margin: 0 0 8px;
    padding: 0;
    border: none;
    background: none;
    letter-spacing: 0.08em;
}

.wakka-route-map h3::before,
.wakka-route-map h3::after {
    display: none;
}

/* 各路線ブロック */
.wakka-route-line {
    margin: 20px 0 24px;
}

.wakka-route-line:last-child {
    margin-bottom: 8px;
}

/* 路線ラベル */
.wakka-route-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.88rem;
    font-weight: 700;
    margin-bottom: 12px;
    line-height: 1;
}

.wakka-route-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 4px;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    white-space: nowrap;
    background: #2B4B6F;
}

.wakka-route-total {
    font-size: 0.82rem;
    color: #888;
    font-weight: 400;
}

/* 駅の並び（横型） */
.wakka-route-stations {
    display: flex;
    align-items: flex-start;
    position: relative;
    padding: 0 4px;
}

/* 各駅 */
.wakka-route-station {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 1;
    flex-shrink: 0;
}

.wakka-route-station-name {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--wakka-black);
    margin-bottom: 6px;
    white-space: nowrap;
}

.wakka-route-station.is-terminal .wakka-route-station-name {
    font-size: 0.92rem;
    color: #2B4B6F;
}

.wakka-route-station-dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid #2B4B6F;
    position: relative;
    z-index: 2;
    flex-shrink: 0;
}

.wakka-route-station.is-terminal .wakka-route-station-dot {
    width: 18px;
    height: 18px;
    background: #2B4B6F;
    border-color: #2B4B6F;
}

/* 駅間セグメント（線と所要時間） */
.wakka-route-segment {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    min-width: 40px;
    position: relative;
}

.wakka-route-segment-line {
    width: 100%;
    height: 4px;
    background: #2B4B6F;
    margin-top: 11px; /* align with dot center (name height + 6px gap + 7px half dot) */
    position: relative;
}

.wakka-route-segment-time {
    font-size: 0.72rem;
    color: #888;
    margin-top: 4px;
    white-space: nowrap;
}

/* 駅注釈テキスト */
.wakka-route-station-note {
    font-size: 0.68rem;
    color: #888;
    margin-top: 4px;
    white-space: nowrap;
    line-height: 1.3;
    text-align: center;
}

/* 景勝区間のハイライト */
.wakka-route-segment.is-scenic .wakka-route-segment-line {
    background: linear-gradient(90deg, #0ea5e9, #06b6d4);
}

.wakka-route-segment.is-scenic .wakka-route-segment-time {
    color: #0891b2;
    font-weight: 600;
}

/* ハイライト駅 */
.wakka-route-station.is-highlight .wakka-route-station-dot {
    border-color: #0ea5e9;
    box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.2);
}

.wakka-route-station.is-highlight .wakka-route-station-name {
    color: #0c4a6e;
}

/* 乗り換え情報 */
.wakka-route-transfer {
    font-size: 0.7rem;
    color: #666;
    margin-top: 2px;
    white-space: nowrap;
}

/* ダークモード対応 */
body.dark-mode .wakka-route-station-note {
    color: #aaa;
}

body.dark-mode .wakka-route-station.is-highlight .wakka-route-station-dot {
    border-color: #38bdf8;
    box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.2);
}

body.dark-mode .wakka-route-station.is-highlight .wakka-route-station-name {
    color: #7dd3fc;
}

body.dark-mode .wakka-route-segment.is-scenic .wakka-route-segment-line {
    background: linear-gradient(90deg, #38bdf8, #22d3ee);
}

body.dark-mode .wakka-route-segment.is-scenic .wakka-route-segment-time {
    color: #22d3ee;
}

body.dark-mode .wakka-route-transfer {
    color: #aaa;
}

body.dark-mode .wakka-route-map {
    background: #2a2a2a;
    border-color: #555;
}

body.dark-mode .wakka-route-badge {
    background: #5B9BD5;
}

body.dark-mode .wakka-route-station-name {
    color: #ddd;
}

body.dark-mode .wakka-route-station.is-terminal .wakka-route-station-name {
    color: #fff;
}

body.dark-mode .wakka-route-station-dot {
    background: #2a2a2a;
    border-color: #5B9BD5;
}

body.dark-mode .wakka-route-station.is-terminal .wakka-route-station-dot {
    background: #5B9BD5;
    border-color: #5B9BD5;
}

body.dark-mode .wakka-route-segment-line {
    background: #5B9BD5;
}

body.dark-mode .wakka-route-segment-time {
    color: #bbb;
}

body.dark-mode .wakka-route-total {
    color: #bbb;
}

body.dark-mode .wakka-route-map p {
    color: #bbb;
}

body.dark-mode .wakka-route-map p a {
    color: #7BB3E0;
}

/* ===============================
   記事スタイルボックス: レスポンシブ
================================== */
@media (max-width: 768px) {
    .wakka-article-timeline,
    .wakka-article-infocard,
    .wakka-article-season,
    .wakka-article-access,
    .wakka-article-checklist {
        padding: 20px 16px;
    }

    .wakka-article-toc {
        padding: 20px 16px;
    }

    .wakka-route-map {
        padding: 20px 12px;
        overflow-x: auto;
    }

    .wakka-route-stations {
        min-width: 420px;
    }

    .wakka-route-station-name {
        font-size: 0.75rem;
    }

    .wakka-route-station.is-terminal .wakka-route-station-name {
        font-size: 0.82rem;
    }
}

/* ===== from wakka_global_search_css ===== */
/* ===== グローバル検索バー ===== */
	.wakka-search-bar {
		background: #faf6ee;
		border-bottom: none;
		padding: 8px 0;
		margin-top: 24px;
	}

	.wakka-search-bar-inner {
		max-width: 1320px;
		margin: 0 auto;
		padding: 0 220px 0 10px;
		display: flex;
		justify-content: flex-end;
	}

	.wakka-search-form {
		display: flex;
		align-items: center;
		background: #faf6ee;
		border: 1px solid #d9cfbb;
		border-radius: 0;
		padding: 0;
		width: 340px;
		max-width: 100%;
		transition: width 0.3s ease, border-color 0.2s ease;
		overflow: hidden;
	}

	.wakka-search-form:focus-within {
		border-color: #1c3a5c;
		box-shadow: none;
		width: 450px;
	}

	.wakka-search-icon {
		width: 18px;
		height: 18px;
		fill: #6b6258;
		margin-left: 14px;
		flex-shrink: 0;
	}

	.wakka-search-input {
		flex: 1;
		border: none;
		outline: none;
		padding: 9px 12px;
		font-size: 0.9em;
		background: transparent;
		color: #1a1714;
		min-width: 0;
	}

	.wakka-search-input::placeholder {
		color: #a09585;
	}

	.wakka-search-submit {
		background: #1c3a5c;
		color: #f4ede0;
		border: none;
		padding: 9px 18px;
		font-size: 0.85em;
		font-weight: 600;
		cursor: pointer;
		transition: background 0.2s ease;
		white-space: nowrap;
	}

	.wakka-search-submit:hover {
		background: #122439;
	}

	/* ===== ダークモード切替ボタン ===== */
	.wakka-darkmode-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 38px;
		height: 38px;
		border: 1px solid #d0d7de;
		border-radius: 50%;
		background: white;
		cursor: pointer;
		margin-right: 12px;
		flex-shrink: 0;
		transition: all 0.3s ease;
		color: #555;
	}
	.wakka-darkmode-toggle:hover {
		border-color: var(--teal);
		color: var(--teal);
		background: #f0fafb;
	}
	.wakka-dm-icon { display: block; }
	.wakka-dm-moon { display: none; }
	body.dark-mode .wakka-dm-sun { display: none; }
	body.dark-mode .wakka-dm-moon { display: block; }

	@media (max-width: 768px) {
		.wakka-search-bar {
			padding: 6px 0;
		}

		.wakka-search-bar-inner {
			padding: 0 12px;
			padding-right: 12px;
			justify-content: center;
		}

		.wakka-darkmode-toggle {
			width: 34px;
			height: 34px;
			margin-right: 8px;
		}

		.wakka-search-form {
			width: 100%;
			flex: 1;
		}

		.wakka-search-form:focus-within {
			width: 100%;
		}

		.wakka-search-input {
			font-size: 0.85em;
			padding: 8px 10px;
		}

		.wakka-search-submit {
			padding: 8px 14px;
			font-size: 0.8em;
		}
	}

/* ===== from wakka_darkmode_css ===== */
/* ===== ダークモード ===== */
	body.dark-mode {
		background-color: #1a1a2e;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='80' viewBox='0 0 160 80'%3E%3Cpath d='M28 40A12 12 0 0 1 52 40M108 40A12 12 0 0 1 132 40M-12 80A12 12 0 0 1 12 80M68 80A12 12 0 0 1 92 80M148 80A12 12 0 0 1 172 80' fill='none' stroke='%2317A2B8' stroke-width='1.5' opacity='0.12'/%3E%3Cpath d='M16 40A24 24 0 0 1 64 40M96 40A24 24 0 0 1 144 40M-24 80A24 24 0 0 1 24 80M56 80A24 24 0 0 1 104 80M136 80A24 24 0 0 1 184 80' fill='none' stroke='%231B5E7F' stroke-width='1.2' opacity='0.1'/%3E%3Cpath d='M4 40A36 36 0 0 1 76 40M84 40A36 36 0 0 1 156 40M-36 80A36 36 0 0 1 36 80M44 80A36 36 0 0 1 116 80M124 80A36 36 0 0 1 196 80' fill='none' stroke='%232F855A' stroke-width='1' opacity='0.07'/%3E%3C/svg%3E");
		color: #ddd;
	}

	/* ヘッダー */
	body.dark-mode .site-header,
	body.dark-mode header.site-header {
		background: #0d1c2e;
		border-bottom: 1px solid rgba(244, 237, 224, 0.1);
	}

	body.dark-mode .site-header-logo a {
		color: #f4ede0;
	}
	body.dark-mode .site-header-logo img {
		filter: brightness(1.3);
	}

	/* 検索バー */
	body.dark-mode .wakka-search-bar {
		background: #0d1c2e;
	}
	body.dark-mode .wakka-search-form {
		background: #122439;
		border-color: rgba(244, 237, 224, 0.15);
	}
	body.dark-mode .wakka-search-input {
		color: rgba(244, 237, 224, 0.85);
	}
	body.dark-mode .wakka-search-input::placeholder {
		color: rgba(244, 237, 224, 0.35);
	}
	body.dark-mode .wakka-search-icon {
		fill: rgba(244, 237, 224, 0.45);
	}

	/* ダークモードトグル */
	body.dark-mode .wakka-darkmode-toggle {
		background: #1a2744;
		border-color: #2a3a5c;
		color: #f0c040;
	}
	body.dark-mode .wakka-darkmode-toggle:hover {
		border-color: #f0c040;
		background: #1f2f50;
	}

	/* ナビゲーション */
	body.dark-mode #global-nav .global-nav-list > li > a {
		color: rgba(244, 237, 224, 0.75);
	}
	body.dark-mode #global-nav .global-nav-list > li > a:hover {
		color: #f4ede0;
		border-bottom-color: #b08a4a;
	}
	body.dark-mode #global-nav .global-nav-list > li.current-menu-item > a,
	body.dark-mode #global-nav .global-nav-list > li.current_page_item > a {
		color: #f4ede0;
		border-bottom-color: rgba(244, 237, 224, 0.5);
	}

	/* 記事カード・セクション */
	body.dark-mode .news-card,
	body.dark-mode .odekake-card,
	body.dark-mode .area-card,
	body.dark-mode .category-card {
		background: #16213e;
		border-color: #2a3a5c;
	}
	body.dark-mode .news-card:hover,
	body.dark-mode .odekake-card:hover,
	body.dark-mode .area-card:hover,
	body.dark-mode .category-card:hover {
		box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4);
	}
	body.dark-mode .news-card-title,
	body.dark-mode .odekake-title a,
	body.dark-mode .area-name,
	body.dark-mode .category-name {
		color: #ddd;
	}
	body.dark-mode .news-card:hover .news-card-title {
		color: var(--teal);
	}
	body.dark-mode .news-card-excerpt,
	body.dark-mode .odekake-excerpt,
	body.dark-mode .category-desc {
		color: #888;
	}
	body.dark-mode .news-card-date {
		color: #777;
	}
	body.dark-mode .news-card-noimage {
		background: linear-gradient(135deg, #1a2744, #16213e);
		color: #555;
	}
	body.dark-mode .area-count,
	body.dark-mode .category-count {
		color: #777;
	}

	/* セクションヘッダー */
	body.dark-mode .section-header {
		border-bottom-color: #2a3a5c;
	}
	body.dark-mode .section-title {
		color: #ddd;
	}

	/* ニュースリスト */
	body.dark-mode .news-item {
		border-bottom-color: #2a3a5c;
	}
	body.dark-mode .news-item:hover {
		background: rgba(23, 162, 184, 0.05);
	}
	body.dark-mode .news-title-link {
		color: #ccc;
	}
	body.dark-mode .news-title-link:hover {
		color: var(--teal);
	}
	body.dark-mode .news-date-year {
		color: #666;
	}
	body.dark-mode .news-date-md {
		color: #999;
	}

	/* タグクラウド */
	body.dark-mode .tag-item {
		background: #1a2744;
		border-color: #2a3a5c;
		color: #bbb;
	}
	body.dark-mode .tag-item:hover {
		background: var(--teal);
		color: white;
		border-color: var(--teal);
	}
	body.dark-mode .tag-count {
		background: rgba(255, 255, 255, 0.08);
	}

	/* CTA */
	body.dark-mode .cta-box {
		background: linear-gradient(135deg, #0f2b4a 0%, #0e4f6e 100%);
	}

	/* 記事ページ本文
	   背景 #122439（藍深 ai-deep）に合わせ、テーブル・ボーダーを藍系に統一 */
	body.dark-mode .entry-body,
	body.dark-mode .entry-content,
	body.dark-mode .main-section {
		color: #d8d0c4;
	}
	body.dark-mode .entry-body h1,
	body.dark-mode .entry-body h2,
	body.dark-mode .entry-body h3,
	body.dark-mode .entry-body h4,
	body.dark-mode .entry-content h1,
	body.dark-mode .entry-content h2,
	body.dark-mode .entry-content h3,
	body.dark-mode .entry-content h4 {
		color: #ede5d9;
	}
	body.dark-mode .entry-body a {
		color: #7ecad8;
	}
	body.dark-mode .entry-body table,
	body.dark-mode .entry-content table {
		border-color: #2a3a5c;
	}
	body.dark-mode .entry-body th,
	body.dark-mode .entry-content th {
		background: #1a2744;
		color: #d8d0c4;
		border-color: #2a3a5c;
	}
	body.dark-mode .entry-body td,
	body.dark-mode .entry-content td {
		background: #16213e;
		color: #c8c0b4;
		border-color: #2a3a5c;
	}
	body.dark-mode .wp-block-table table {
		border-color: #2a3a5c;
	}
	body.dark-mode .wp-block-table td,
	body.dark-mode .wp-block-table th {
		border-color: #2a3a5c;
	}

	/* サイドバー */
	body.dark-mode .sub-section .widget {
		color: #c8c0b4;
	}
	body.dark-mode .sub-section .widget-title,
	body.dark-mode .sub-section .sub-section-title,
	body.dark-mode .sub-section h2,
	body.dark-mode .sub-section h4 {
		color: #ede5d9;
	}
	body.dark-mode .sub-section a {
		color: #7ecad8;
	}
	body.dark-mode .sub-section .cat-item a,
	body.dark-mode .sub-section .widget_recent_entries a,
	body.dark-mode .sub-section .widget_link_list a,
	body.dark-mode .sub-section .widget_nav_menu a,
	body.dark-mode .sub-section .widget_block a {
		color: #d8d0c4;
	}
	body.dark-mode .sub-section .cat-item a:hover,
	body.dark-mode .sub-section .widget_recent_entries a:hover,
	body.dark-mode .sub-section .widget_link_list a:hover,
	body.dark-mode .sub-section .widget_nav_menu a:hover,
	body.dark-mode .sub-section .widget_block a:hover {
		color: #7ecad8;
	}
	body.dark-mode .sub-section .widget_link_list ul li {
		border-bottom-color: #2a3a5c;
	}

	/* パンくずリスト */
	#breadcrumb,
	.breadcrumb {
		background: #f0f7fa !important;
		border-bottom: 1px solid #e0ecf0;
		padding: 12px 0 !important;
		font-size: 0.85em;
	}
	.breadcrumb-list {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		list-style: none;
		margin: 0;
		padding: 0;
		gap: 4px;
	}
	.breadcrumb-list__item {
		display: flex;
		align-items: center;
		color: #888;
	}
	.breadcrumb-list__item a {
		color: var(--ai) !important;
		text-decoration: none !important;
		padding: 3px 6px;
		border-radius: 4px;
		transition: all 0.2s ease;
	}
	.breadcrumb-list__item a:hover {
		color: var(--teal) !important;
		background: rgba(23, 162, 184, 0.08);
	}
	.breadcrumb-list__item--home a {
		font-size: 1.1em;
	}
	.breadcrumb-list__item + .breadcrumb-list__item::before {
		content: '\203A';
		color: #aab;
		font-size: 1.2em;
		margin: 0 2px;
		font-weight: 300;
	}
	.breadcrumb-list__item:last-child span {
		color: #555 !important;
		font-weight: 600;
	}

	/* パンくず ダークモード */
	body.dark-mode #breadcrumb,
	body.dark-mode .breadcrumb {
		background: #16213e !important;
		border-bottom-color: #2a3a5c;
		color: #999 !important;
	}
	body.dark-mode .breadcrumb-list__item a {
		color: #7ecad8 !important;
	}
	body.dark-mode .breadcrumb-list__item a:hover {
		color: #a0dce8 !important;
		background: rgba(126, 202, 216, 0.1);
	}
	body.dark-mode .breadcrumb-list__item + .breadcrumb-list__item::before {
		color: #556;
	}
	body.dark-mode .breadcrumb-list__item:last-child span {
		color: #d8d0c4 !important;
	}

	/* 記事フッター（カテゴリー・タグ） */
	body.dark-mode .entry-footer {
		color: #999;
		border-color: #2a3a5c;
	}
	body.dark-mode .entry-footer dt,
	body.dark-mode .entry-meta-data-list dt {
		background-color: #1a2744;
		color: #ede5d9;
	}
	body.dark-mode .entry-footer dd,
	body.dark-mode .entry-meta-data-list dd {
		color: #c8c0b4;
	}
	body.dark-mode .entry-footer dd a,
	body.dark-mode .entry-meta-data-list dd a {
		color: #d8d0c4;
	}
	body.dark-mode .entry-footer dd a:hover,
	body.dark-mode .entry-meta-data-list dd a:hover {
		color: #7ecad8;
	}

	/* フォローセクション */
	body.dark-mode .veu_followSet {
		background: #16213e;
		border-color: #2a3a5c;
	}
	body.dark-mode .veu_followSet .followSet_title {
		color: #d8d0c4;
	}

	/* ソーシャルボタン */
	body.dark-mode .veu_socialSet .sns_txt {
		color: #fff;
	}

	/* コメント */
	body.dark-mode .comments-area,
	body.dark-mode #comments {
		color: #d8d0c4;
	}
	body.dark-mode .comment-reply-title {
		color: #ede5d9;
	}
	body.dark-mode .comment-notes,
	body.dark-mode .comment-form label {
		color: #c8c0b4;
	}
	body.dark-mode .logged-in-as {
		color: #c8c0b4;
	}
	body.dark-mode .logged-in-as a {
		color: #7ecad8;
	}
	body.dark-mode .logged-in-as a:hover {
		color: #a0dce8;
	}
	body.dark-mode .comment-body {
		background: #16213e;
		border-color: #2a3a5c;
	}

	/* フッター（既にダーク系なので微調整のみ） */
	body.dark-mode .site-body-bottom {
		background: linear-gradient(135deg, #0f1620 0%, #0e3048 100%);
	}
	body.dark-mode .site-body-bottom .widget {
		color: #bbb;
	}
	body.dark-mode .site-body-bottom h2.wp-block-heading,
	body.dark-mode .site-body-bottom .widget-title {
		color: #ddd;
	}
	body.dark-mode .site-body-bottom a {
		color: #ccc;
	}
	body.dark-mode .site-body-bottom a:hover {
		color: #4fc3d9;
	}
	body.dark-mode .site-body-bottom .cat-item a,
	body.dark-mode .site-body-bottom .wp-block-categories a,
	body.dark-mode .site-body-bottom .wp-block-archives a {
		color: #ccc;
	}
	body.dark-mode .site-body-bottom .cat-item a:hover,
	body.dark-mode .site-body-bottom .wp-block-categories a:hover,
	body.dark-mode .site-body-bottom .wp-block-archives a:hover {
		color: #4fc3d9;
	}
	body.dark-mode .site-footer,
	body.dark-mode footer.site-footer {
		background: #0a1018 !important;
		border-top-color: rgba(244, 237, 224, 0.08);
	}
	body.dark-mode .site-footer a {
		color: rgba(244, 237, 224, 0.5) !important;
	}
	body.dark-mode .site-footer a:hover {
		color: #f4ede0 !important;
	}
	body.dark-mode .site-footer-copyright,
	body.dark-mode .footer-copyright {
		background: #060a10 !important;
	}

	/* フォーム要素 */
	body.dark-mode input[type="text"],
	body.dark-mode input[type="email"],
	body.dark-mode input[type="url"],
	body.dark-mode input[type="search"],
	body.dark-mode textarea,
	body.dark-mode select {
		background: #1a2744;
		color: #d8d0c4;
		border-color: #2a3a5c;
	}

	/* no-content */
	body.dark-mode .no-content {
		background: #16213e;
		color: #777;
	}

	/* モバイルナビ */
	body.dark-mode #global-nav.is-open {
		background: rgba(13, 28, 46, 0.98) !important;
	}
	body.dark-mode #global-nav .global-nav-list > li {
		border-bottom-color: rgba(244, 237, 224, 0.1);
	}
	body.dark-mode #global-nav .global-nav-list > li > a {
		color: rgba(244, 237, 224, 0.75) !important;
	}
	body.dark-mode #global-nav .global-nav-list > li > a:hover {
		color: #f4ede0 !important;
		background: rgba(28, 58, 92, 0.3);
	}

	/* ハンバーガー */
	body.dark-mode .hamburger-lines span {
		background-color: rgba(244, 237, 224, 0.8);
	}

	/* ===== アーカイブ投稿リスト（VK Component Posts） ===== */
	body.dark-mode .vk_post {
		background: #16213e;
		border-color: #2a3a5c;
	}
	body.dark-mode .vk_post_title a,
	body.dark-mode .media-title a,
	body.dark-mode .card-title a {
		color: #e0e0e0;
	}
	body.dark-mode .vk_post_title a:hover,
	body.dark-mode .media-title a:hover,
	body.dark-mode .card-title a:hover {
		color: #4fc3d9;
	}
	body.dark-mode .vk_post_excerpt,
	body.dark-mode .media-text,
	body.dark-mode .card-text {
		color: #aab;
	}
	body.dark-mode .vk_post_date,
	body.dark-mode .media-date,
	body.dark-mode .card-date {
		color: #888;
	}
	body.dark-mode .vk_post_title_new {
		color: #ff6b6b;
	}
	body.dark-mode .vk_post_btn {
		background: var(--teal);
		border-color: var(--teal);
		color: #fff;
	}
	body.dark-mode .vk_post_btn:hover {
		background: #138496;
		border-color: #138496;
	}
	body.dark-mode .vk_post_imgOuter_singleTermLabel {
		background: rgba(23, 162, 184, 0.85);
	}
	body.dark-mode .vk_post_taxonomies,
	body.dark-mode .vk_post_taxonomy_terms a {
		color: #999;
	}
	body.dark-mode .vk_post_taxonomy_terms a:hover {
		color: #4fc3d9;
	}
	body.dark-mode .vk_post_author_name {
		color: #999;
	}

	/* メディアレイアウト区切り線 */
	body.dark-mode .media.vk_post {
		border-bottom-color: #2a3a5c;
	}

	/* カードレイアウト */
	body.dark-mode .card.vk_post,
	body.dark-mode .card-post {
		background: #16213e;
		border-color: #2a3a5c;
	}
	body.dark-mode .card-body {
		background: #16213e;
		color: #ccc;
	}

	/* ページネーション */
	body.dark-mode .nav-links a,
	body.dark-mode .page-numbers {
		color: #ccc;
		border-color: #2a3a5c;
		background: #16213e;
	}
	body.dark-mode .nav-links a:hover,
	body.dark-mode .page-numbers:hover {
		background: #1a2744;
		color: #4fc3d9;
		border-color: var(--teal);
	}
	body.dark-mode .page-numbers.current {
		background: var(--teal);
		border-color: var(--teal);
		color: #fff;
	}

	/* ===== 部活動・イベントページ ===== */
	body.dark-mode .bukatsu-intro {
		background: #1a2744;
		border-left-color: var(--teal);
		color: #ccc;
	}
	body.dark-mode .bukatsu-intro h2 {
		color: #4fc3d9;
	}
	body.dark-mode .bukatsu-intro p {
		color: #bbb;
	}
	body.dark-mode .bukatsu-section h2 {
		color: #4fc3d9;
		border-bottom-color: #2a3a5c;
	}
	body.dark-mode .bukatsu-card {
		background: #16213e;
		box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
		border-top-color: var(--teal);
	}
	body.dark-mode .bukatsu-card:nth-child(2) {
		border-top-color: var(--green);
	}
	body.dark-mode .bukatsu-card:nth-child(3) {
		border-top-color: var(--ai);
	}
	body.dark-mode .bukatsu-card:hover {
		box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
	}
	body.dark-mode .bukatsu-card h3 {
		color: #e0e0e0;
	}
	body.dark-mode .bukatsu-card p {
		color: #aaa;
	}
	body.dark-mode .bukatsu-events {
		background: #16213e;
		box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
	}
	body.dark-mode .event-item {
		border-bottom-color: #2a3a5c;
	}
	body.dark-mode .event-item:hover {
		background: #1a2744;
	}
	body.dark-mode .event-info h3 {
		color: #e0e0e0;
	}
	body.dark-mode .event-info p {
		color: #aaa;
	}
	body.dark-mode .event-tag {
		background: rgba(23, 162, 184, 0.15);
		color: #4fc3d9;
	}

/* ===== ページヘッダー帯 ===== */
	.page-header {
		background: var(--washi, #f4ede0);
		border-bottom: 1px solid var(--hairline, #d9cfbb);
		padding: 48px 0 40px;
		position: relative;
		text-align: center;
	}
	.page-header::before,
	.page-header::after { display: none; }
	.page-header-inner { position: relative; z-index: 1; }
	.page-header-title {
		font-family: "Shippori Mincho B1", serif;
		color: var(--sumi, #1a1714) !important;
		font-size: clamp(1.4rem, 3.5vw, 2rem);
		font-weight: 500;
		letter-spacing: 0.12em;
		margin: 0;
		line-height: 1.4;
	}
	.page-header-desc {
		color: var(--kasumi, #6b6258) !important;
		font-size: 0.88em;
		margin: 10px 0 0;
		line-height: 1.8;
	}

	body.dark-mode .page-header {
		background: #0d1c2e;
		border-bottom-color: rgba(244, 237, 224, 0.1);
	}
	body.dark-mode .page-header-title { color: var(--washi, #f4ede0) !important; }
	body.dark-mode .page-header-desc { color: rgba(244, 237, 224, 0.5) !important; }

	@media (max-width: 768px) {
		.page-header { padding: 36px 0 28px; }
		.page-header-title { font-size: 1.35em; }
	}

/* ===== body 背景 — wamodern 和紙色に統一 ===== */
	body {
		background-color: var(--paper, #faf6ee);
		background-image: none;
	}

	.site-header {
		background: var(--paper, #faf6ee) !important;
	}
	.site-body {
		background: var(--paper, #faf6ee);
	}
	.main-section--base--on,
	.sub-section--base--on {
		background-color: var(--paper, #faf6ee);
	}
	.site-body-bottom {
		position: relative;
	}

	/* ダークモード: ページ本体・コンテンツエリア背景
	   藍深 (ai-deep) #122439 — 和モダンパレットの深藍。
	   site-header は !important 競合のため個別に !important で上書き。 */
	body.dark-mode .site-body,
	body.dark-mode .main-section--base--on,
	body.dark-mode .sub-section--base--on {
		background: #122439;
	}
	body.dark-mode .site-header,
	body.dark-mode header.site-header {
		background: #0d1c2e !important;
		border-bottom-color: rgba(244, 237, 224, 0.1);
	}

	/* ===== サイト全体のコンテナ幅拡張 ===== */
	.container,
	.container-sm,
	.container-md,
	.container-lg,
	.container-xl {
		max-width: 1320px !important;
		padding-right: 10px;
		padding-left: 10px;
	}

	/* ===== ヘッダー（固定） ===== */
	.site-header,
	header.site-header {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		z-index: 9999 !important;
		display: block !important;
		visibility: visible !important;
		background: #faf6ee;
		border-bottom: 1px solid #d9cfbb;
		transition: transform 0.3s ease;
	}

	/* 下スクロールで非表示・上スクロールで再表示 */
	.site-header.header-hidden {
		transform: translateY(-100%) !important;
	}

	/* CLS防止: ヘッダー固定によるbody padding-topをCSSで事前確保 */
	/* JSのadjustBodyPadding()を排除し、初回描画時からスペースを確保 */
	body:not(.home) {
		padding-top: 120px;
	}
	/* アンカーリンク遷移時に固定ヘッダーで見出しが隠れないようオフセット */
	html {
		scroll-padding-top: 130px;
	}
	@media (max-width: 768px) {
		body:not(.home) {
			padding-top: 100px;
		}
		html {
			scroll-padding-top: 110px;
		}
	}

	/* Lightningテーマのスクロール時ヘッダー変更を無効化 */
	.header_scrolled .site-header {
		animation: none !important;
	}
	.header_scrolled .site-header-logo {
		display: block !important;
		width: 100% !important;
	}
	.header_scrolled .site-header-logo img {
		max-height: unset !important;
	}
	.header_scrolled .header-top,
	.header_scrolled .site-header-sub,
	.header_scrolled .vk-campaign-text {
		display: none;
	}
	/* スクロール時もナビの配置を維持（中央寄せを防止） */
	.header_scrolled .site-header .global-nav {
		display: flex !important;
		justify-content: flex-end !important;
		align-items: center !important;
		margin-left: unset !important;
		margin-right: unset !important;
		flex: 1;
	}
	.global-nav--layout--float-right {
		display: flex !important;
		justify-content: flex-end !important;
		align-items: center !important;
	}
	/* スクロール時もコンテナのflex配置を維持 */
	.header_scrolled .site-header-container {
		display: flex !important;
		flex-direction: row !important;
	}

	.site-main,
	main {
		position: relative;
		z-index: 1;
	}

	/* デフォルトのモバイルメニューボタンを非表示 */
	.vk-mobile-nav-menu-btn {
		display: none !important;
	}

	/* オーバーレイ専用ヘッダー行はデスクトップで非表示 */
	.wakka-nav-overlay-hdr {
		display: none;
	}

	/* ===== デスクトップナビ ===== */
	#global-nav .global-nav-list > li {
		margin: 0 15px;
	}

	#global-nav .global-nav-list > li > a {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		padding: 10px 5px;
		font-weight: 500;
		font-size: 0.95em;
		transition: color 0.2s ease, border-color 0.2s ease;
		text-decoration: none;
		background: transparent;
		color: #1a1714;
		border-bottom: 1px solid transparent;
	}

	#global-nav .global-nav-list > li > a:hover {
		color: #1c3a5c;
		border-bottom: 1px solid #b08a4a;
	}

	#global-nav .global-nav-list > li.current-menu-item > a,
	#global-nav .global-nav-list > li.current_page_item > a {
		color: #1c3a5c;
		border-bottom: 1px solid #1c3a5c;
	}

	/* ===== ヘッダー右端ボタングループ（デスクトップ：絶対配置、モバイル：固定下部タブバー） ===== */
	.wakka-bottom-nav {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		z-index: 10002;
		display: flex;
		align-items: stretch;
	}

	/* ちょっと一息タブ：デスクトップでは非表示（ナビに表示済み） */
	.wakka-break-btn {
		display: none;
	}

	.wakka-contact-btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		padding: 0 32px;
		height: auto;
		border-radius: 0;
		background: #1c3a5c;
		color: #f4ede0;
		text-decoration: none;
		font-size: 1.0em;
		font-weight: 600;
		letter-spacing: 0.06em;
		transition: background 0.2s ease;
		white-space: nowrap;
		border-left: 1px solid rgba(176, 138, 74, 0.4);
	}

	.wakka-contact-btn:hover {
		background: #122439;
		color: #f4ede0;
	}

	.wakka-contact-btn svg {
		width: 22px;
		height: 22px;
		fill: white;
		flex-shrink: 0;
	}

	/* ナビゲーションがボタンに重ならないよう右側に余白を確保 */
	.global-nav--layout--float-right .global-nav-list,
	#global-nav .global-nav-list {
		padding-right: 220px;
	}

	/* ナビのお問い合わせを非表示（ボタンに置き換え） */
	#menu-item-109 {
		display: none !important;
	}

	/* カスタムハンバーガーボタン（デスクトップでは非表示） */
	.wakka-hamburger {
		display: none;
	}

	/* ===== ノートPC（中間サイズ）対応 ===== */
	@media (min-width: 1101px) and (max-width: 1300px) {
		.wakka-contact-btn {
			padding: 0 24px;
			font-size: 0.95em;
			gap: 8px;
		}
		.wakka-contact-btn svg {
			width: 20px;
			height: 20px;
		}
		.global-nav--layout--float-right .global-nav-list,
		#global-nav .global-nav-list {
			padding-right: 200px;
		}
		#global-nav .global-nav-list > li {
			margin: 0 10px;
		}
		.wakka-search-bar-inner {
			padding-right: 200px;
		}
	}

	/* ===== タブレット（中間サイズ）対応 ===== */
	@media (min-width: 769px) and (max-width: 1100px) {
		.wakka-contact-btn {
			padding: 0 18px;
			font-size: 0.9em;
			gap: 6px;
		}
		.wakka-contact-btn svg {
			width: 18px;
			height: 18px;
		}
		.global-nav--layout--float-right .global-nav-list,
		#global-nav .global-nav-list {
			padding-right: 170px;
		}
		#global-nav .global-nav-list > li {
			margin: 0 8px;
		}
		#global-nav .global-nav-list > li > a {
			font-size: 0.85em;
		}
		.wakka-search-bar-inner {
			padding-right: 170px;
		}
	}

	/* ===== モバイルナビ ===== */
	@media (max-width: 768px) {
		.site-header-container {
			display: flex !important;
			flex-direction: row !important;
			align-items: center;
			justify-content: space-between;
			padding: 10px 16px;
		}

		.site-header-logo {
			margin-bottom: 0 !important;
			width: auto !important;
			margin-right: 0 !important;
			font-size: 1.5rem;
		}

		/* モバイル：2タブ固定下部ナビバー */
		.wakka-bottom-nav {
			position: fixed;
			top: auto;
			bottom: 0;
			left: 0;
			right: 0;
			height: auto;
			border-radius: 0;
			border-top: 1px solid rgba(176, 138, 74, 0.3);
			z-index: 10002;
		}

		/* ちょっと一息タブ：モバイルでは非表示 */
		.wakka-break-btn {
			display: none;
		}

		.wakka-contact-btn {
			flex: 1;
			height: auto;
			padding: 14px 0;
			border-radius: 0;
			border-left: none;
			font-size: 0.9em;
			text-align: center;
			justify-content: center;
		}

		.wakka-contact-btn svg {
			width: 18px;
			height: 18px;
		}

		/* ハンバーガーボタン表示 */
		.wakka-hamburger {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 44px;
			height: 44px;
			background: none;
			border: none;
			cursor: pointer;
			padding: 0;
			z-index: 10001;
			position: relative;
		}

		.hamburger-lines {
			width: 24px;
			height: 18px;
			position: relative;
		}

		.hamburger-lines span {
			display: block;
			position: absolute;
			left: 0;
			width: 100%;
			height: 1px;
			background: #1a1714;
			border-radius: 0;
			transition: all 0.3s ease;
		}

		.hamburger-lines span:nth-child(1) { top: 0; }
		.hamburger-lines span:nth-child(2) { top: 8px; }
		.hamburger-lines span:nth-child(3) { top: 16px; }

		/* ハンバーガー → バツ変形 */
		.wakka-hamburger.is-open .hamburger-lines span:nth-child(1) {
			top: 8px;
			transform: rotate(45deg);
		}
		.wakka-hamburger.is-open .hamburger-lines span:nth-child(2) {
			opacity: 0;
		}
		.wakka-hamburger.is-open .hamburger-lines span:nth-child(3) {
			top: 8px;
			transform: rotate(-45deg);
		}

		/* ナビゲーション: 初期状態は非表示 */
		#global-nav {
			display: none !important;
			position: fixed;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			background: #faf6ee;
			z-index: 10000;
			overflow-y: auto;
		}

		#global-nav.is-open {
			display: block !important;
			animation: menuFadeIn 0.25s ease;
		}

		@keyframes menuFadeIn {
			from { opacity: 0; transform: translateY(-6px); }
			to   { opacity: 1; transform: translateY(0); }
		}

		/* ===== オーバーレイヘッダー（ロゴ + CLOSE） ===== */
		#global-nav .wakka-nav-overlay-hdr {
			position: sticky;
			top: 0;
			z-index: 10;
			background: rgba(250, 246, 238, 0.98);
			border-bottom: 1px solid #d9cfbb;
			display: flex;
			align-items: center;
			justify-content: space-between;
			padding: 14px 20px;
			grid-column: 1 / -1;
		}

		.wakka-nav-overlay-logo {
			font-family: "Shippori Mincho B1", serif;
			font-size: 1.05em;
			font-weight: 500;
			color: #1a1714 !important;
			text-shadow: none !important;
			text-decoration: none;
			letter-spacing: 0.1em;
		}

		.wakka-nav-overlay-close {
			display: flex;
			flex-direction: column;
			align-items: center;
			gap: 2px;
			background: none;
			border: none;
			cursor: pointer;
			color: #1a1714;
			padding: 6px 8px;
			font-family: "Cormorant Garamond", serif;
			font-style: italic;
			font-size: 0.62em;
			letter-spacing: 0.14em;
			line-height: 1;
		}

		.wakka-nav-overlay-close svg {
			width: 22px;
			height: 22px;
			fill: #1a1714;
		}

		/* ===== ナビグリッド（2カラム） ===== */
		#global-nav .global-nav-list {
			display: grid;
			grid-template-columns: 1fr 1fr;
			width: 100%;
			max-width: none;
			padding: 0;
			margin: 0;
		}

		#global-nav .global-nav-list > li {
			margin: 0;
			width: auto;
			border-bottom: 1px solid #e8e0d4;
		}

		/* 左カラム → 右ボーダーで縦区切り線 */
		#global-nav #menu-item-106,
		#global-nav #menu-item-3038 {
			border-right: 1px solid #e8e0d4;
		}

		/* ちょっと一息は最終行で単独 → 全幅で中央揃え */
		#global-nav #menu-item-110 {
			grid-column: 1 / -1;
			border-right: none;
			border-bottom: none;
		}

		/* ナビ項目リンク */
		#global-nav .global-nav-list > li > a {
			display: flex;
			align-items: center;
			gap: 14px;
			width: 100%;
			padding: 22px 18px;
			font-size: 1em;
			font-weight: 500;
			color: #1a1714 !important;
			text-shadow: none !important;
			border-bottom: none;
			font-family: "Shippori Mincho B1", serif;
			letter-spacing: 0.1em;
			transition: background 0.18s ease;
		}

		#global-nav #menu-item-110 > a {
			justify-content: center;
			padding: 20px 18px;
			font-size: 0.95em;
		}

		/* アイコン */
		.wakka-menu-icon {
			display: flex;
			align-items: center;
			justify-content: center;
			flex-shrink: 0;
			width: 24px;
			height: 24px;
		}

		.wakka-menu-icon svg {
			width: 22px;
			height: 22px;
			fill: #b08a4a;
			transition: fill 0.18s ease;
		}

		#global-nav .global-nav-list > li > a:hover,
		#global-nav .global-nav-list > li > a:active,
		#global-nav .global-nav-list > li.current-menu-item > a {
			color: #1c3a5c !important;
			background: rgba(28, 58, 92, 0.04);
			text-shadow: none !important;
		}

		#global-nav .global-nav-list > li > a:hover .wakka-menu-icon svg,
		#global-nav .global-nav-list > li > a:active .wakka-menu-icon svg {
			fill: #1c3a5c;
		}
	}

/* ===== from wakka_category_filter_css ===== */
/* ===== 地域アーカイブ カテゴリフィルター ===== */
	.wakka-category-filter {
		background: #fff;
		border-radius: 12px;
		padding: 20px 24px;
		margin-bottom: 28px;
		box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
	}

	.wakka-filter-label {
		font-size: 0.85em;
		font-weight: 700;
		color: #888;
		margin-bottom: 12px;
		letter-spacing: 0.03em;
	}

	.wakka-filter-buttons {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
	}

	.wakka-filter-btn {
		display: inline-flex;
		align-items: center;
		gap: 5px;
		padding: 8px 16px;
		border: 1px solid #ddd;
		border-radius: 20px;
		background: #fff;
		color: #555;
		font-size: 0.88em;
		font-weight: 500;
		text-decoration: none;
		transition: all 0.25s ease;
		white-space: nowrap;
	}

	.wakka-filter-btn:hover {
		border-color: var(--teal);
		color: var(--teal);
		background: rgba(23, 162, 184, 0.05);
	}

	.wakka-filter-btn.is-active {
		background: var(--teal);
		border-color: var(--teal);
		color: #fff;
	}

	.wakka-filter-btn.is-active:hover {
		background: #138496;
		border-color: #138496;
		color: #fff;
	}

	.wakka-filter-icon {
		font-size: 1.1em;
		line-height: 1;
	}

	.wakka-filter-count {
		background: rgba(0, 0, 0, 0.08);
		padding: 1px 7px;
		border-radius: 10px;
		font-size: 0.8em;
		font-weight: 600;
		line-height: 1.4;
	}

	.wakka-filter-btn.is-active .wakka-filter-count {
		background: rgba(255, 255, 255, 0.25);
	}

	/* ダークモード */
	body.dark-mode .wakka-category-filter {
		background: #16213e;
		box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
	}

	body.dark-mode .wakka-filter-label {
		color: #999;
	}

	body.dark-mode .wakka-filter-btn {
		background: #1a2744;
		border-color: #2a3a5c;
		color: #ccc;
	}

	body.dark-mode .wakka-filter-btn:hover {
		border-color: var(--teal);
		color: #4fc3d9;
		background: rgba(23, 162, 184, 0.1);
	}

	body.dark-mode .wakka-filter-btn.is-active {
		background: var(--teal);
		border-color: var(--teal);
		color: #fff;
	}

	body.dark-mode .wakka-filter-count {
		background: rgba(255, 255, 255, 0.08);
	}

	body.dark-mode .wakka-filter-btn.is-active .wakka-filter-count {
		background: rgba(255, 255, 255, 0.25);
	}

	/* レスポンシブ */
	@media (max-width: 768px) {
		.wakka-category-filter {
			padding: 16px;
			border-radius: 8px;
			margin-bottom: 20px;
		}

		.wakka-filter-buttons {
			gap: 6px;
		}

		.wakka-filter-btn {
			padding: 6px 12px;
			font-size: 0.82em;
		}

		.wakka-filter-icon {
			font-size: 1em;
		}
	}

/* ===== from wakka_custom_footer_css ===== */
/* ===== カスタムフッターナビ ===== */
	.wakka-footer-nav {
		background: linear-gradient(135deg, #1a2744 0%, #16213e 100%);
		color: #ccc;
		padding: 60px 0 40px;
	}

	.wakka-footer-nav-inner {
		max-width: 1320px;
		margin: 0 auto;
		padding: 0 20px;
		display: grid;
		grid-template-columns: 1.5fr 1fr 1fr 1fr;
		gap: 40px;
	}

	/* サイト情報カラム */
	.wakka-footer-logo {
		font-size: 1.8em;
		font-weight: 900;
		color: white;
		margin-bottom: 12px;
		letter-spacing: 0.05em;
	}

	.wakka-footer-desc {
		font-size: 0.88em;
		line-height: 1.8;
		color: #999;
		margin: 0;
	}

	/* カラム見出し */
	.wakka-footer-heading {
		color: white;
		font-size: 1em;
		font-weight: 700;
		margin: 0 0 16px 0;
		padding-bottom: 10px;
		border-bottom: 2px solid var(--teal);
		display: inline-block;
	}

	/* リンクリスト */
	.wakka-footer-links {
		list-style: none;
		padding: 0;
		margin: 0;
	}

	.wakka-footer-links li {
		margin-bottom: 10px;
	}

	.wakka-footer-links a {
		color: #bbb;
		text-decoration: none;
		font-size: 0.9em;
		transition: all 0.3s ease;
		display: inline-block;
	}

	.wakka-footer-links a:hover {
		color: var(--teal);
		transform: translateX(4px);
	}

	/* 既存フッターを非表示（カスタムフッターに置き換え） */
	.site-footer,
	footer.site-footer {
		display: none !important;
	}

	/* カスタム Copyright */
	.wakka-footer-copyright {
		background: #0a1020;
		text-align: center;
		padding: 16px 20px;
		color: #999;
		font-size: 0.85em;
	}

	.wakka-footer-copyright p {
		margin: 0;
	}

	/* ダークモード */
	body.dark-mode .wakka-footer-nav {
		background: linear-gradient(135deg, #0f1a2e 0%, #0c1424 100%);
	}

	/* レスポンシブ */
	@media (max-width: 768px) {
		.wakka-footer-nav {
			padding: 40px 0 30px;
		}

		.wakka-footer-nav-inner {
			grid-template-columns: 1fr 1fr;
			gap: 30px 20px;
		}

		.wakka-footer-site-info {
			grid-column: 1 / -1;
			text-align: center;
		}

		.wakka-footer-logo {
			font-size: 1.5em;
		}

		.wakka-footer-heading {
			font-size: 0.95em;
		}

		.wakka-footer-links a {
			font-size: 0.85em;
		}
	}

	@media (max-width: 480px) {
		.wakka-footer-nav-inner {
			grid-template-columns: 1fr;
			gap: 24px;
			text-align: center;
		}

		.wakka-footer-heading {
			display: block;
			border-bottom: none;
			padding-bottom: 0;
		}

		.wakka-footer-heading::after {
			content: '';
			display: block;
			width: 40px;
			height: 2px;
			background: var(--teal);
			margin: 8px auto 0;
		}

		.wakka-footer-links a:hover {
			transform: none;
		}
	}

/* ===============================
   Lightning テーマ必須CSS補完
   style-theme-json.css がフロントページで除外されるため、
   ナビゲーション・ヘッダーの必要なルールをここに含める
================================== */

/* Bootstrap リセット（lightning-common-style 無効化時の補完） */
*,::after,::before{box-sizing:border-box}
body,html{overflow-x:hidden}

/* コンテナ基本ルール */
.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}
@media (min-width:576px){.container,.container-sm{max-width:540px}}
@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}
@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}
@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}

/* サイトヘッダー基本 */
.site-header{background-color:#fff}
.site-header,.entry-title,h1,h2,h3{font-synthesis:none}
.site-header-container{position:relative}
.site-header-logo{text-align:center;font-weight:700;line-height:1.2;padding:.5rem}
.site-header-logo a{text-decoration:none;color:inherit}
.site-header-logo img{max-height:72px;display:block}
/* ロゴ文字: Mac/Windows共通で游ゴシック（Windows風）に統一 */
.site-header-logo span{font-family:"Yu Gothic","游ゴシック",YuGothic,"Hiragino Sans","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}
/* Wordmark Final — 既存のLightningロゴ要素を非表示にしてHTMLロゴで置き換え */
.site-header-logo{display:none!important}
.wakka-logo-wrap{display:flex;align-items:center;flex:1 0 auto;margin-right:2em;padding:.5rem 0;text-decoration:none;color:inherit}
.wakka-logo{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1;gap:0}
.wakka-logo__top{display:flex;align-items:baseline;gap:12px}
.wakka-logo__name{font-family:"Shippori Mincho B1","Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;font-weight:600;font-size:19px;letter-spacing:.10em;color:#1a1714;white-space:nowrap;line-height:1}
.wakka-logo__gold{color:#b08a4a}
.wakka-logo__latin{font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;font-style:italic;font-size:8px;letter-spacing:.30em;color:#6b6258;text-transform:uppercase;white-space:nowrap}
.wakka-logo__rule{width:40px;height:1.2px;background:#b08a4a;margin-top:7px;margin-bottom:4px;flex-shrink:0}
.wakka-logo__tagline{font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;font-weight:500;font-size:9px;letter-spacing:.14em;color:#6b6258;white-space:nowrap;line-height:1}
/* スクロール後に縮小 */
.header_scrolled .wakka-logo__name{font-size:16px}
.header_scrolled .wakka-logo__latin{font-size:7px}
.header_scrolled .wakka-logo__tagline{display:none}
.header_scrolled .wakka-logo__rule{margin-top:5px;margin-bottom:0}
/* ダークモード */
body.dark-mode .wakka-logo__name{color:#faf6ee}
body.dark-mode .wakka-logo__latin{color:rgba(244,237,224,.72)}
body.dark-mode .wakka-logo__tagline{color:rgba(244,237,224,.72)}

/* グローバルナビ リスト基本レイアウト */
.global-nav-list{margin:0 auto;padding:0;display:flex;list-style:none;position:relative;width:-moz-min-content;width:min-content}
.global-nav-list a{color:var(--vk-color-text-header)}
.global-nav-list li{margin:0;list-style:none;line-height:1.4;font-size:12px;position:relative}
.global-nav-list li img{min-width:80px}
.global-nav-list>li{text-align:center}
.global-nav-list>li>a{position:relative;display:flex;flex-wrap:wrap;justify-content:center;align-items:center}

/* グローバルナビ名・説明 */
.global-nav-list>li .global-nav-name{font-size:14px;display:block;width:100%;white-space:nowrap}
.global-nav-list>li .global-nav-description{display:block;overflow:hidden;font-size:10px;line-height:14px;opacity:.6;text-align:center;white-space:nowrap}
.device-mobile .global-nav-list>li .global-nav-name{font-size:12px}

/* サブメニュー */
.global-nav-list>li>ul.sub-menu{background-color:var(--vk-color-primary);box-shadow:1px 1px 3px rgba(0,0,0,.2);left:50%;margin-left:-120px;width:240px}
.global-nav-list .sub-menu{margin:0;padding:0;text-align:left;transition:all .3s ease-in}
.global-nav-list .sub-menu li a,.global-nav-list .sub-menu li a:hover{color:#fff}
.global-nav-list .sub-menu li a{padding:14px 1.2em;border-bottom:1px solid rgba(255,255,255,.15);display:block}
.global-nav-list .sub-menu li a:focus-within,.global-nav-list .sub-menu li a:hover{background-color:var(--vk-color-primary-vivid)}
.global-nav-list .sub-menu li.menu-item-has-children>a{padding:14px 3.5em 14px 1.2em}
.device-pc .global-nav-list>li>ul.sub-menu{position:absolute;z-index:10;display:block;overflow:hidden;opacity:0;max-height:0;transition:all .3s}
.device-pc .global-nav-list>li:focus-within>ul.sub-menu,.device-pc .global-nav-list>li:hover>ul.sub-menu{opacity:1;max-height:80vh;overflow-y:auto}
.device-pc .global-nav-list>li>.acc-btn{display:none}

/* アコーディオンボタン */
.global-nav-list .acc-btn{color:var(--vk-color-text-header);background-image:var(--g_nav_main_acc_icon_open_url)}
.global-nav-list .acc-btn.acc-btn-close{background-image:var(--g_nav_main_acc_icon_close_url)}
.device-mobile .global-nav-list .acc-btn{width:20px;height:20px;right:6px;top:12px}
.global-nav-list.vk-menu-acc .sub-menu .acc-btn{right:1.2em}

/* ナビレイアウトバリエーション */
.global-nav--layout--float-right{display:flex;justify-content:flex-end;align-items:center}

/* ナビフロートレイアウト */
.site-header--layout--nav-float .site-header-container{display:flex;flex-direction:row}
.site-header--layout--nav-float .site-header-logo{margin-right:2em;width:100%}
.site-header--layout--nav-float .site-header-logo img{margin-left:0}
.site-header--layout--nav-float .site-header-logo a{display:block;width:-moz-fit-content;width:fit-content}

/* スクロール時ヘッダー */
.header_scrolled .global-nav-list{height:100%}
.header_scrolled .site-header-logo{width:auto}
.header_scrolled .site-header-logo img{max-height:48px}

/* アコーディオンメニュー */
.vk-menu-acc{position:relative}
.vk-menu-acc li{position:relative;margin-bottom:0}
.vk-menu-acc li.menu-item-has-children>a{padding-right:3em}
.vk-menu-acc .acc-btn{position:absolute;right:8px;top:8px;width:28px;height:28px;border:1px solid #333;border-radius:2px;background:var(--vk-menu-acc-icon-open-black-bg-src) center 50% no-repeat;background-size:28px 28px;cursor:pointer;z-index:1000;transition:transform .5s ease-out}
.vk-menu-acc .acc-btn-close{background:var(--vk-menu-acc-icon-close-black-bg-src) center 50% no-repeat}
.vk-menu-acc ul.sub-menu{max-height:0;opacity:0;overflow:hidden;transition:all .5s ease-in;position:relative;z-index:1;display:block}
.vk-menu-acc ul.sub-menu li a{display:block;overflow:hidden}
.vk-menu-acc ul.acc-child-open{transition:all .5s ease-in;max-height:80vh;overflow-y:auto;opacity:1}
.vk-menu-acc ul.acc-child-close{transition:all .5s ease-in;max-height:0;opacity:0}

/* モバイルナビ非表示（カスタムハンバーガー使用） */
.vk-mobile-nav-menu-btn{display:none!important}

/* スクリーンリーダー */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal}

/* ページトップボタン */
@media (max-width:991px){.mobile-fix-nav_enable .page_top_btn{bottom:72px;right:10px}}

/* ===============================
   北陸インタラクティブマップ（画像+SVGオーバーレイ）
================================== */
.area-map-container {
    max-width: 800px;
    margin: 0 auto;
    position: relative;
}

/* --- 画像とオーバーレイの重ね合わせ --- */
.area-map-wrapper {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
    border: 1px solid rgba(0, 0, 0, 0.08);
}

.hokuriku-map-img {
    width: 100%;
    height: auto;
    display: block;
}

.hokuriku-map-img--dark {
    display: none;
}

.hokuriku-map-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* --- クリック領域（通常は透明） --- */
.map-region {
    fill: transparent;
    stroke: none;
    cursor: pointer;
    transition: fill 0.3s ease;
}

/* --- ホバー：半透明のハイライト --- */
.map-region-link:hover .map-region {
    fill: rgba(255, 255, 255, 0.28);
}

.map-region-link:focus {
    outline: none;
}

.map-region-link:focus .map-region {
    fill: rgba(255, 215, 0, 0.25);
    stroke: #FFD700;
    stroke-width: 2.5;
}

/* --- 地域名ラベル --- */
.map-label {
    font-size: 28px;
    font-weight: 700;
    fill: #fff;
    stroke: rgba(0, 0, 0, 0.5);
    stroke-width: 3;
    paint-order: stroke fill;
    pointer-events: none;
    letter-spacing: 2px;
}

/* --- ポップアップ（カード風デザイン） --- */
.map-popup {
    position: absolute;
    z-index: 20;
    width: 30%;
    max-width: 260px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    pointer-events: none;
    opacity: 0;
    transform: scale(0.9) translateY(6px);
    transition: none;
}

.map-popup.is-visible {
    opacity: 1;
    transform: scale(1) translateY(0);
    transition: opacity 0.25s ease, transform 0.25s ease;
}

/* 県別ポジション
 * 能登・石川: 左側海エリア（幅30%=右端32%, 陸地min 38%+で安全）
 * 富山: 右上海エリア
 * 福井: 幅を26%に縮小（右端27%, 陸地min 31.6%で安全）
 */
.map-popup[data-region="noto"]     { left: 20%; top: 3%; }
.map-popup[data-region="toyama"]   { left: 90%; top: 20%; }
.map-popup[data-region="ishikawa"] { left: 15%; top: 15%; }
.map-popup[data-region="fukui"]    { left: 1%; top: 42%; width: 26%; max-width: 220px; }

/* --- ヒーロー画像 + 地域名オーバーレイ --- */
.map-popup-hero {
    position: relative;
    line-height: 0;
}

.map-popup-img {
    width: 100%;
    height: 80px;
    object-fit: cover;
    display: block;
}

.map-popup-name {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0;
    padding: 24px 12px 6px;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.55));
    color: #fff;
    font-size: 0.95em;
    font-weight: 700;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
    line-height: 1.3;
}

/* --- 地域カラーライン --- */
.map-popup-hero::after {
    content: '';
    display: block;
    height: 3px;
    background: #999;
}
.map-popup[data-region="noto"] .map-popup-hero::after     { background: #4A90E2; }
.map-popup[data-region="ishikawa"] .map-popup-hero::after { background: var(--kincha); }
.map-popup[data-region="toyama"] .map-popup-hero::after   { background: #50C878; }
.map-popup[data-region="fukui"] .map-popup-hero::after    { background: #9B59B6; }

/* --- 本文エリア --- */
.map-popup-body {
    padding: 10px 12px 12px;
}

.map-popup-desc {
    font-size: 0.8em;
    color: #555;
    margin: 0 0 8px;
    line-height: 1.6;
}

.map-popup-spots {
    font-size: 0.76em;
    color: #666;
    margin: 0 0 6px;
    line-height: 1.5;
}

.map-popup-spots-label {
    font-weight: 600;
    color: #444;
}

.map-popup-count {
    font-size: 0.76em;
    font-weight: 600;
    color: #3498db;
    margin: 0;
    text-align: right;
}

/* --- レスポンシブ --- */
@media (max-width: 768px) {
    .area-map-wrapper {
        border-radius: 12px;
    }

    .map-hint {
        font-size: 0.75em;
    }
}

/* スマホ: 地図の下にフォールバック */
@media (max-width: 600px) {
    .map-popup {
        position: static !important;
        width: auto !important;
        max-width: none !important;
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        margin-top: 0;
        border-radius: 10px;
        transform: none;
        transition: max-height 0.3s ease, opacity 0.25s ease, margin 0.3s ease;
    }
    .map-popup.is-visible {
        max-height: 350px;
        opacity: 1;
        margin-top: 10px;
        transform: none;
    }
    .map-popup-img {
        height: 100px;
    }
}

/* --- ダークモード --- */
body.dark-mode .area-map-wrapper {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

body.dark-mode .hokuriku-map-img--light {
    display: none;
}

body.dark-mode .hokuriku-map-img--dark {
    display: block;
}

body.dark-mode .map-region-link:hover .map-region {
    fill: rgba(255, 255, 255, 0.18);
}

body.dark-mode .map-hint {
    color: #aaa;
}

body.dark-mode .map-popup {
    background: #1e1e1e;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
}

body.dark-mode .map-popup-desc {
    color: #aaa;
}

body.dark-mode .map-popup-spots {
    color: #999;
}

body.dark-mode .map-popup-spots-label {
    color: #bbb;
}

body.dark-mode .map-popup-count {
    color: #5dade2;
}

/* ===============================
   目次（Table of Contents）
================================== */
.wakka-toc {
    background: var(--wakka-gray, #F5F5F5);
    border-left: 4px solid var(--wakka-gold);
    border-radius: 6px;
    padding: 1.2em 1.5em;
    margin: 1.5em 0 2em;
    max-width: 600px;
}
.wakka-toc-title {
    font-weight: 700;
    font-size: 1.05em;
    margin: 0 0 0.6em;
    padding: 0;
    color: var(--wakka-black, #3A3A3A);
}
.wakka-toc-list {
    margin: 0;
    padding-left: 1.4em;
    list-style: decimal;
    line-height: 1.9;
}
.wakka-toc-list li {
    font-size: 0.92em;
    padding: 0;
    margin: 0;
}
.wakka-toc-list li a {
    color: var(--wakka-black, #3A3A3A);
    text-decoration: none;
    border-bottom: 1px dotted #ccc;
    transition: color 0.2s;
}
.wakka-toc-list li a:hover {
    color: var(--wakka-gold);
    border-bottom-color: var(--wakka-gold);
}

/* ダークモード対応 */
body.dark-mode .wakka-toc {
    background: #2a2a2a;
    border-left-color: var(--wakka-gold);
}
body.dark-mode .wakka-toc-title {
    color: #eee;
}
body.dark-mode .wakka-toc-list li a {
    color: #ddd;
    border-bottom-color: #555;
}
body.dark-mode .wakka-toc-list li a:hover {
    color: var(--wakka-gold);
}

/* 記事アイキャッチ画像 */
.wakka-eyecatch-wrap {
    margin: 0 0 2rem;
    border-radius: 6px;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}
.wakka-eyecatch-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ─── プログレスバー ─── */
#wakka-progress-bar {
	position: fixed;
	top: 0; left: 0; z-index: 10003;
	height: 4px; width: 0%;
	background: linear-gradient(90deg, var(--ai), var(--kincha));
	transition: width 0.1s linear;
	pointer-events: none;
}

/* ─── h2 ─── */
.entry-content h2,
.entry-body h2 {
	font-size: 1.45rem;
	font-weight: 900;
	color: #1e1e1e;
	margin: 3em 0 0.8em;
	letter-spacing: .04em;
	line-height: 1.4;
	padding-bottom: .6em;
	border-bottom: 2px solid #e6e6e2;
	position: relative;
}
.entry-content h2::after,
.entry-body h2::after {
	content: '';
	position: absolute;
	bottom: -2px; left: 0;
	width: 60px; height: 2px;
	background: linear-gradient(to right, var(--gold), var(--teal));
}

/* ─── h3 ─── */
.entry-content h3,
.entry-body h3 {
	font-size: 1.12rem;
	font-weight: 700;
	color: #1e1e1e;
	margin: 2.2em 0 0.7em;
	letter-spacing: .04em;
	display: flex;
	align-items: center;
	gap: 10px;
}
.entry-content h3::before,
.entry-body h3::before {
	content: '';
	width: 4px;
	height: 1.2em;
	background: var(--gold);
	flex-shrink: 0;
	border-radius: 2px;
	display: block;
}

/* ボックスコンポーネント内は h3::before を無効化（既存ルールと競合回避） */
.wakka-article-timeline h3::before,
.wakka-article-infocard h3::before,
.wakka-article-season h3::before,
.wakka-article-access h3::before,
.wakka-article-checklist h3::before {
	display: none !important;
}

/* ─── strong ─── */
.entry-content p strong,
.entry-body p strong {
	font-weight: 700;
	color: #1e1e1e;
	background: linear-gradient(to bottom, transparent 60%, rgba(212,160,23,.22) 60%);
}

/* ─── シェアバー ─── */
.wakka-share-bar {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin: 2.4em 0;
	padding: 20px 24px;
	background: white;
	border: 1.5px solid #e6e6e2;
	border-radius: 12px;
	box-shadow: 0 2px 12px rgba(0,0,0,.06);
}
.wakka-share-label {
	font-size: .78rem;
	font-weight: 800;
	color: #888;
	letter-spacing: .08em;
	flex-shrink: 0;
}
.wakka-share-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	border-radius: 6px;
	font-size: .78rem;
	font-weight: 700;
	cursor: pointer;
	border: none;
	transition: all .2s;
	text-decoration: none;
}
.wakka-share-btn-x { background: #000; color: white; }
.wakka-share-btn-x:hover { background: #333; color: white; }
.wakka-share-btn-line { background: #06C755; color: white; }
.wakka-share-btn-line:hover { background: #05a347; color: white; }
.wakka-share-btn-copy { background: #e6e6e2; color: #1e1e1e; }
.wakka-share-btn-copy:hover { background: #ddd; }

/* ─── ダークモード上書き（暖色系） ─── */
body.dark-mode .entry-body,
body.dark-mode .entry-content,
body.dark-mode .main-section {
	color: #ddd8ce;
}
body.dark-mode .entry-body h1,
body.dark-mode .entry-body h2,
body.dark-mode .entry-body h3,
body.dark-mode .entry-body h4,
body.dark-mode .entry-content h1,
body.dark-mode .entry-content h2,
body.dark-mode .entry-content h3,
body.dark-mode .entry-content h4 {
	color: #f0ebe2;
}
body.dark-mode .entry-content h2,
body.dark-mode .entry-body h2 {
	border-bottom-color: #38342c;
}
body.dark-mode .entry-content h3::before,
body.dark-mode .entry-body h3::before {
	background: var(--wakka-gold);
}
body.dark-mode .entry-content p strong,
body.dark-mode .entry-body p strong {
	color: #f2cb60;
	background: none;
}
body.dark-mode .wakka-share-bar {
	background: #242018;
	border-color: #38342c;
}
body.dark-mode .wakka-share-label {
	color: #a09888;
}
body.dark-mode .wakka-share-btn-copy {
	background: #38342c;
	color: #e8e2d8;
}
body.dark-mode .wakka-share-btn-copy:hover {
	background: #48443c;
}
body.dark-mode .wakka-share-btn-line {
	background: #0ddd60;
}
body.dark-mode .wakka-share-btn-line:hover {
	background: #0bc954;
}

/* ─── 記事ヒーローセクション ─── */
.wakka-article-hero {
	position: relative;
	width: 100%;
	min-height: calc(100vh - 120px);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	overflow: hidden;
	padding-bottom: 60px;
}
.wakka-hero-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-color: var(--ai);
	transform: scale(1.04);
	animation: wakka-kbz 10s ease-out forwards;
}
@keyframes wakka-kbz {
	from { transform: scale(1.04); }
	to   { transform: scale(1); }
}
.wakka-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to bottom,
		rgba(0,0,0,.08) 0%,
		rgba(0,0,0,.18) 40%,
		rgba(0,0,0,.72) 80%,
		rgba(0,0,0,.88) 100%
	);
}
.wakka-hero-body {
	position: relative;
	z-index: 2;
	max-width: 860px;
	width: 100%;
	padding: 0 28px;
	color: #fff;
}
.wakka-hero-meta {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
	flex-wrap: wrap;
}
.wakka-hero-cat {
	display: inline-block;
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .12em;
	padding: 5px 14px;
	border-radius: 3px;
	background: var(--wakka-gold);
	color: #fff;
}
.wakka-hero-cat-sub {
	display: inline-block;
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .12em;
	padding: 5px 14px;
	border-radius: 3px;
	background: rgba(255,255,255,.18);
	color: #fff;
	border: 1px solid rgba(255,255,255,.3);
}
.wakka-hero-date {
	font-size: .78rem;
	color: rgba(255,255,255,.65);
	font-weight: 500;
}
.wakka-hero-readtime {
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: .78rem;
	color: rgba(255,255,255,.6);
}
.wakka-hero-readtime svg {
	width: 12px;
	height: 12px;
	flex-shrink: 0;
}
.wakka-hero-title {
	font-size: clamp(1.45rem, 3.2vw, 2.5rem);
	font-weight: 900;
	line-height: 1.42;
	color: #fff;
	margin: 0 0 18px;
	text-shadow: 0 3px 24px rgba(0,0,0,.4);
	letter-spacing: .02em;
}
.wakka-hero-excerpt {
	font-size: clamp(.88rem, 1.3vw, .97rem);
	color: rgba(255,255,255,.85);
	line-height: 1.9;
	margin: 0 0 22px;
}
.wakka-hero-author {
	display: flex;
	align-items: center;
	gap: 12px;
}
.wakka-hero-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	overflow: hidden;
	border: 2px solid rgba(255,255,255,.4);
	flex-shrink: 0;
	background: linear-gradient(135deg, #e8c050, var(--wakka-teal));
}
.wakka-hero-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.wakka-hero-author-name {
	font-size: .85rem;
	font-weight: 700;
	color: #fff;
	line-height: 1.4;
}
.wakka-hero-author-role {
	font-size: .72rem;
	color: rgba(255,255,255,.55);
}
@media (max-width: 767px) {
	.wakka-article-hero {
		min-height: 78vh;
		padding-bottom: 36px;
	}
	.wakka-hero-readtime {
		display: none;
	}
}

/* ─── 著者ボックス ─── */
.wakka-author-box {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	margin-top: 3em;
	padding: 28px;
	background: #fff;
	border: 1.5px solid #e6e6e2;
	border-radius: 12px;
	box-shadow: 0 2px 12px rgba(0,0,0,.06);
}
.wakka-author-avatar {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	flex-shrink: 0;
	overflow: hidden;
	border: 3px solid #e6e6e2;
	background: linear-gradient(135deg, #e8c050, var(--wakka-teal));
}
.wakka-author-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.wakka-author-name {
	font-size: 1rem;
	font-weight: 800;
	color: #1e1e1e;
	margin-bottom: 3px;
}
.wakka-author-role {
	font-size: .76rem;
	color: var(--wakka-teal);
	font-weight: 700;
	letter-spacing: .05em;
	margin-bottom: 8px;
}
.wakka-author-bio {
	font-size: .84rem;
	color: #555;
	line-height: 1.8;
}
body.dark-mode .wakka-author-box {
	background: #242018;
	border-color: #38342c;
}
body.dark-mode .wakka-author-name { color: #f0ebe2; }
body.dark-mode .wakka-author-role { color: var(--wakka-teal); }
body.dark-mode .wakka-author-bio  { color: #b0a898; }
@media (max-width: 480px) {
	.wakka-author-box {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
}

/* hokuriku-charm (page-id-169): ページタイトル・パンくずを非表示 */
body.page-id-169 .page-header,
body.page-id-169 #breadcrumb { display: none; }

/* model-course category: 和柄SVGパターンを非表示 */
body.category-model-course { background-image: none; }

/* front-page: 和柄SVGパターンを非表示・和紙色背景 */
body.home { background-image: none; background-color: #f4ede0; }

/* contact (page-id-23): 和柄SVGパターンを非表示・和紙色背景・ページヘッダー・パンくず非表示 */
body.page-id-23 { background-image: none; background-color: #f4ede0; }
body.page-id-23 .page-header,
body.page-id-23 #breadcrumb { display: none; }

/* games (page-id-105): 和柄SVGパターンを非表示・和紙色背景・ページヘッダー・パンくず非表示 */
body.page-id-105 { background-image: none; background-color: #f4ede0; }
body.page-id-105 .page-header,
body.page-id-105 #breadcrumb { display: none; }

/* privacy-policy (page-id-3): 和柄SVGパターンを非表示・和紙色背景・ページヘッダー・パンくず非表示 */
/* body背景をpaper(#faf6ee)に統一してヘッダーとの色差をなくす */
body.page-id-3 { background-image: none; background-color: #faf6ee; }
body.page-id-3 .page-header,
body.page-id-3 #breadcrumb { display: none !important; }
body.dark-mode.page-id-3 { background-color: #1a1a2e; }
/* site-body の padding-top (Lightning G3 由来 2.5rem) が帯として見えるため打ち消す */
body.page-id-3 .site-body { padding-top: 0 !important; }
body.dark-mode.page-id-3 .site-body { padding-top: 0 !important; }

/* travel-planner (page-id-3037): 和柄SVGパターンを非表示・和紙色背景 */
body.page-id-3037 { background-image: none; background-color: #f4ede0; }

/* hokuriku-charm (page-id-169): 和柄SVGパターンを非表示 */
body.page-id-169 { background-image: none; }
body.page-id-169 .heroV2::before,
body.page-id-169 .histV2::before,
body.page-id-169 .ctaV2::before { background-image: none; }

/* philosophy (page-id-104): ページタイトル・パンくず・和柄・背景 */
body.page-id-104 .page-header,
body.page-id-104 #breadcrumb { display: none; }
body.page-id-104 { background-image: none; background-color: #f4ede0; }
body.page-id-104 .philosophy-page .philosophy-hero::before,
body.page-id-104 .philosophy-page .philosophy-section.is-activities::before { background-image: none; }

/* h2 の border-top（Lightning G3 origin3 スキン由来）を打ち消す */
body.page-id-104 .philosophy-page h2 {
	border-top: none !important;
	border-bottom: none !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin-top: 0 !important;
}
body.page-id-104 .philosophy-page h2::before,
body.page-id-104 .philosophy-page h2::after {
	display: none !important;
	content: none !important;
}

/* ===== ダークモード除外: /philosophy/ & /hokuriku-charm/ ===== */
/* ヘッダー・フッター以外はダークモードの影響を受けない */
body.dark-mode.page-id-104 {
	background-color: #f4ede0 !important;
	background-image: none !important;
	color: #1a1714 !important;
}
body.dark-mode.page-id-169 {
	background-color: #f4ede0 !important;
	background-image: none !important;
	color: #1a1714 !important;
}
body.dark-mode.page-id-104 .entry-body,
body.dark-mode.page-id-104 .entry-content,
body.dark-mode.page-id-104 .main-section,
body.dark-mode.page-id-169 .entry-body,
body.dark-mode.page-id-169 .entry-content,
body.dark-mode.page-id-169 .main-section {
	color: unset !important;
}
body.dark-mode.page-id-104 .entry-body h1,
body.dark-mode.page-id-104 .entry-body h2,
body.dark-mode.page-id-104 .entry-body h3,
body.dark-mode.page-id-104 .entry-body h4,
body.dark-mode.page-id-104 .entry-content h1,
body.dark-mode.page-id-104 .entry-content h2,
body.dark-mode.page-id-104 .entry-content h3,
body.dark-mode.page-id-104 .entry-content h4,
body.dark-mode.page-id-169 .entry-body h1,
body.dark-mode.page-id-169 .entry-body h2,
body.dark-mode.page-id-169 .entry-body h3,
body.dark-mode.page-id-169 .entry-body h4,
body.dark-mode.page-id-169 .entry-content h1,
body.dark-mode.page-id-169 .entry-content h2,
body.dark-mode.page-id-169 .entry-content h3,
body.dark-mode.page-id-169 .entry-content h4 {
	color: unset !important;
}
body.dark-mode.page-id-104 .entry-body h2,
body.dark-mode.page-id-104 .entry-content h2,
body.dark-mode.page-id-169 .entry-body h2,
body.dark-mode.page-id-169 .entry-content h2 {
	border-bottom-color: unset !important;
}
body.dark-mode.page-id-104 .entry-body h3::before,
body.dark-mode.page-id-104 .entry-content h3::before,
body.dark-mode.page-id-169 .entry-body h3::before,
body.dark-mode.page-id-169 .entry-content h3::before {
	background: unset !important;
}
body.dark-mode.page-id-104 .entry-body p strong,
body.dark-mode.page-id-104 .entry-content p strong,
body.dark-mode.page-id-169 .entry-body p strong,
body.dark-mode.page-id-169 .entry-content p strong {
	color: unset !important;
	background: unset !important;
}
body.dark-mode.page-id-104 .entry-body a,
body.dark-mode.page-id-169 .entry-body a {
	color: unset !important;
}
body.dark-mode.page-id-169 .hokuriku-page .ctaV2 a.cta-btn {
	color: #122439 !important;
}
body.dark-mode.page-id-104 .entry-body table,
body.dark-mode.page-id-104 .entry-content table,
body.dark-mode.page-id-169 .entry-body table,
body.dark-mode.page-id-169 .entry-content table {
	border-color: unset !important;
}
body.dark-mode.page-id-104 .entry-body th,
body.dark-mode.page-id-104 .entry-content th,
body.dark-mode.page-id-169 .entry-body th,
body.dark-mode.page-id-169 .entry-content th {
	background: unset !important;
	color: unset !important;
	border-color: unset !important;
}
body.dark-mode.page-id-104 .entry-body td,
body.dark-mode.page-id-104 .entry-content td,
body.dark-mode.page-id-169 .entry-body td,
body.dark-mode.page-id-169 .entry-content td {
	color: unset !important;
	border-color: unset !important;
}

/* ===============================
   フッター前カテゴリ タグチップ表示
================================== */
.site-body-bottom .wp-block-categories,
.site-body-bottom .widget_categories ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
}

.site-body-bottom .wp-block-categories li,
.site-body-bottom .widget_categories ul li {
    margin: 0 !important;
    border-bottom: none !important;
}

.site-body-bottom .wp-block-categories li a,
.site-body-bottom .widget_categories ul li a {
    display: inline-block !important;
    padding: 5px 12px !important;
    border: 1px solid #c2b59c !important;
    color: #3a342d !important;
    font-size: 0.82em !important;
    letter-spacing: 0.05em;
    text-decoration: none !important;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    white-space: nowrap;
    background: #faf6ee;
}

.site-body-bottom .wp-block-categories li a:hover,
.site-body-bottom .widget_categories ul li a:hover {
    background: #1c3a5c !important;
    border-color: #1c3a5c !important;
    color: #f4ede0 !important;
    padding-left: 12px !important;
}

body.dark-mode .site-body-bottom .wp-block-categories li a,
body.dark-mode .site-body-bottom .widget_categories ul li a {
    background: transparent !important;
    border-color: rgba(244, 237, 224, 0.2) !important;
    color: rgba(244, 237, 224, 0.65) !important;
}

body.dark-mode .site-body-bottom .wp-block-categories li a:hover,
body.dark-mode .site-body-bottom .widget_categories ul li a:hover {
    background: rgba(176, 138, 74, 0.15) !important;
    border-color: #b08a4a !important;
    color: #f4ede0 !important;
}

/* ===== タブコンポーネント (.wakka-tabs) ===== */
.wakka-tabs {
    margin: 1.5em 0;
}

.wakka-tab-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    border-bottom: 2px solid var(--wakka-gold, #d4a017);
    margin-bottom: 0;
}

.wakka-tab-btn {
    padding: 10px 18px;
    border: 1px solid #ddd;
    border-bottom: none;
    border-radius: 6px 6px 0 0;
    background: #f0ede8;
    color: #555;
    font-size: 0.88em;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    line-height: 1.4;
}

.wakka-tab-btn:hover {
    background: #ffe8c0;
    color: #3a3a3a;
}

.wakka-tab-btn.is-active {
    background: var(--wakka-gold, #d4a017);
    color: #fff;
    border-color: var(--wakka-gold, #d4a017);
}

/* wp:group がデフォルトで padding を持つので上書き */
.wakka-tabs > .wp-block-group.wakka-tab-panel {
    display: none;
    padding: 20px 24px;
    border: 1px solid #ddd;
    border-top: none;
    border-radius: 0 0 8px 8px;
    margin-top: 0;
}

.wakka-tabs > .wp-block-group.wakka-tab-panel.is-active {
    display: block;
}

@media (max-width: 600px) {
    .wakka-tab-btn {
        padding: 8px 10px;
        font-size: 0.82em;
        flex: 1 1 0;
        text-align: center;
    }
}

/* ダークモード */
body.dark-mode .wakka-tab-btn {
    background: #1a2240;
    border-color: #2a3a5c;
    color: #bbb;
}
body.dark-mode .wakka-tab-btn:hover {
    background: #1c3a5c;
    color: #eee;
}
body.dark-mode .wakka-tab-btn.is-active {
    background: var(--wakka-gold, #d4a017);
    color: #fff;
    border-color: var(--wakka-gold, #d4a017);
}
body.dark-mode .wakka-tabs > .wp-block-group.wakka-tab-panel {
    border-color: #2a3a5c;
    background: #16213e;
}

/* ===== タイムラインコンポーネント (.wakka-timeline) ===== */
.wakka-timeline {
    margin: 1em 0 1.4em;
}

/* タブ内のセクション間余白: タイムライン下 + 次セクション見出し上の両側から確保 */
.wakka-tab-panel .wakka-timeline {
    margin-bottom: 2.4em;
}
.wakka-tab-panel h3.wp-block-heading:not(:first-child) {
    margin-top: 2.8em;
}
.wakka-tl-item {
    display: grid;
    grid-template-columns: 48px 20px 1fr;
    column-gap: 8px;
}
.wakka-tl-time {
    text-align: right;
    font-size: 0.76rem;
    font-weight: 700;
    color: #8b6914;
    padding-top: 2px;
    line-height: 1.3;
    white-space: nowrap;
}
.wakka-tl-marker {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.wakka-tl-dot {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #c9973a;
    border: 2px solid #ffffff;
    box-shadow: 0 0 0 2px #c9973a;
    flex-shrink: 0;
    margin-top: 3px;
}
.wakka-tl-marker::after {
    content: '';
    flex: 1;
    width: 2px;
    background: linear-gradient(to bottom, #c9973a 0%, #e4c87a 100%);
    margin-top: 5px;
    min-height: 12px;
}
.wakka-tl-item:last-child .wakka-tl-marker::after {
    display: none;
}
.wakka-tl-content {
    padding-bottom: 18px;
    line-height: 1.72;
    font-size: 0.92rem;
}
.wakka-tl-item:last-child .wakka-tl-content {
    padding-bottom: 0;
}
.wakka-tl-label {
    font-weight: 700;
    font-size: 0.96rem;
    display: block;
    margin-bottom: 2px;
}
body.dark-mode .wakka-tl-time { color: #d4a853; }
body.dark-mode .wakka-tl-dot { border-color: #16213e; }
body.dark-mode .wakka-tl-marker::after { background: linear-gradient(to bottom, #c9973a 0%, #4a3a1a 100%); }

/* ===== ダークモード: 宿泊予約CTAセクション ===== */
/* booking セクションは背景色が明るい固定値のため、ダークモードでも文字を暗色に強制 */
body.dark-mode .wp-block-group:has([id^="booking"]),
body.dark-mode .wp-block-group:has([id^="booking"]) p,
body.dark-mode .wp-block-group:has([id^="booking"]) h2 {
    color: #3a3a3a !important;
}

/* ===== about (page-id-22): kanazawa prototype design ===== */
body.page-id-22 .page-header,
body.page-id-22 #breadcrumb { display: none !important; }
body.page-id-22 {
    background-image: none !important;
    background-color: #eeeeee;
}
body.page-id-22 .about-page h2 {
    border-top: none !important;
    border-bottom: none !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
}
body.page-id-22 .about-page h2::before,
body.page-id-22 .about-page h2::after {
    display: none !important;
    content: none !important;
}

/* ===== 周辺スポットリンクカード ===== */
.wakka-spot-links {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin: 20px 0;
}
.wakka-spot-links__item {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 16px 18px;
    background: #fff;
    border: 1px solid #e8e0d0;
    border-left: 3px solid var(--wakka-gold);
    border-radius: 0 8px 8px 0;
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.2s, transform 0.2s;
}
.wakka-spot-links__item:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    transform: translateY(-2px);
    text-decoration: none;
}
.wakka-spot-links__name {
    font-weight: 700;
    font-size: 1em;
    color: var(--wakka-teal);
}
.wakka-spot-links__item:hover .wakka-spot-links__name {
    color: var(--wakka-gold);
}
.wakka-spot-links__desc {
    font-size: 0.875em;
    color: #6b6258;
    line-height: 1.6;
}
@media (max-width: 600px) {
    .wakka-spot-links { grid-template-columns: 1fr; }
}
body.dark-mode .wakka-spot-links__item {
    background: #16213e;
    border-color: #2a3a5c;
    border-left-color: var(--wakka-gold);
}
body.dark-mode .wakka-spot-links__name { color: #5bc0d3; }
body.dark-mode .wakka-spot-links__desc { color: #888; }

/* ===== 記事テーブル ライトモード罫線 ===== */
/* WPコアの is-style-stripes が border-color:#0000 を設定するため明示的に上書き */
.entry-content table,
.entry-body table {
    border-collapse: collapse;
}
.entry-content td,
.entry-content th,
.entry-body td,
.entry-body th {
    border: 1px solid #d0c8bc;
    padding: 0.5em 0.75em;
}
.entry-content th,
.entry-body th {
    background: #f5f1eb;
}
.wp-block-table.is-style-stripes td,
.wp-block-table.is-style-stripes th {
    border: 1px solid #d0c8bc !important;
}

/* ===============================
   Phase 1: 記事ページ（single）
================================== */

/* ─── 2列グリッドレイアウト ─── */
.single .wakka-single-layout {
    display: block;
}
@media (min-width: 1100px) {
    .single .wakka-single-layout {
        display: grid;
        grid-template-columns: 1fr 280px;
        gap: 56px;
        align-items: start;
    }
    .single .wakka-single-sidebar {
        position: sticky;
        top: 90px;
        max-height: calc(100vh - 110px);
        overflow-y: auto;
        scrollbar-width: thin;
        scrollbar-color: var(--hairline) transparent;
    }
}

/* ─── 記事本文フォント（Noto Serif JP） ─── */
.single .entry-content,
.single .entry-body {
    font-family: "Noto Serif JP", "Noto Serif CJK JP", "Noto Serif", serif;
    line-height: 2.1;
    letter-spacing: 0.04em;
}
.single .entry-content h2,
.single .entry-body h2 {
    font-family: "Shippori Mincho B1", serif;
    letter-spacing: 0.08em;
}
.single .entry-content h3,
.single .entry-body h3 {
    font-family: "Shippori Mincho B1", serif;
    letter-spacing: 0.06em;
}

/* ─── サイドバー TOC ─── */
.wakka-sidebar-toc {
    background: var(--washi);
    border: 1px solid var(--hairline);
    padding: 18px 20px;
    margin-bottom: 20px;
}
.wakka-sidebar-toc-title {
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    font-size: 0.72rem;
    letter-spacing: 0.24em;
    color: var(--kincha);
    margin: 0 0 12px;
    padding: 0 0 10px;
    border-bottom: 1px solid var(--hairline);
}
.wakka-sidebar-toc-list {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: toc-counter;
}
.wakka-sidebar-toc-list li {
    counter-increment: toc-counter;
    border-bottom: 1px solid var(--hairline);
}
.wakka-sidebar-toc-list li:last-child {
    border-bottom: none;
}
.wakka-sidebar-toc-list a {
    display: flex;
    align-items: baseline;
    gap: 8px;
    padding: 8px 0;
    font-size: 0.8rem;
    line-height: 1.45;
    color: var(--sumi-soft);
    text-decoration: none;
    transition: color 0.2s;
}
.wakka-sidebar-toc-list a::before {
    content: counter(toc-counter, decimal-leading-zero);
    font-family: "Cormorant Garamond", serif;
    font-size: 0.7rem;
    color: var(--kincha);
    flex-shrink: 0;
}
.wakka-sidebar-toc-list a:hover {
    color: var(--ai);
}
.wakka-sidebar-toc-list a.is-active {
    color: var(--ai);
    font-weight: 600;
}
.wakka-sidebar-toc-list a.is-active::before {
    color: var(--ai);
}
body.dark-mode .wakka-sidebar-toc {
    background: #1e1c18;
    border-color: #38342c;
}

/* ─── サイドバー著者カード ─── */
.wakka-sidebar-author {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    background: var(--paper);
    border: 1px solid var(--hairline);
    margin-bottom: 20px;
}
.wakka-sidebar-author img {
    border-radius: 50%;
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    object-fit: cover;
}
.wakka-sidebar-author-name {
    font-size: 0.84rem;
    font-weight: 700;
    color: var(--sumi);
    margin-bottom: 3px;
}
.wakka-sidebar-author-desc {
    font-size: 0.71rem;
    color: var(--kasumi);
    line-height: 1.45;
}

/* ─── サイドバー関連記事 ─── */
.wakka-sidebar-related {
    background: var(--paper);
    border: 1px solid var(--hairline);
    padding: 16px 18px;
}
.wakka-sidebar-section-title {
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    font-size: 0.72rem;
    letter-spacing: 0.24em;
    color: var(--kincha);
    margin: 0 0 10px;
    padding: 0 0 10px;
    border-bottom: 1px solid var(--hairline);
}
.wakka-sidebar-related ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.wakka-sidebar-related-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid var(--hairline);
    text-decoration: none !important;
}
.wakka-sidebar-related-item:last-child {
    padding-bottom: 0;
    border-bottom: none;
}
.wakka-sidebar-related-thumb {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    overflow: hidden;
    display: block;
}
.wakka-sidebar-related-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.wakka-sidebar-related-title {
    font-size: 0.78rem;
    line-height: 1.45;
    color: var(--sumi);
    transition: color 0.2s;
}
.wakka-sidebar-related-item:hover .wakka-sidebar-related-title {
    color: var(--ai);
}
body.dark-mode .wakka-sidebar-author,
body.dark-mode .wakka-sidebar-related {
    background: #1e1c18;
    border-color: #38342c;
}
body.dark-mode .wakka-sidebar-author-name,
body.dark-mode .wakka-sidebar-related-title {
    color: #e8e0d4;
}
@media (max-width: 1099px) {
    .wakka-sidebar-toc { display: none; }
}

/* ════════════════════════════════════════════
   404 ページ
   ════════════════════════════════════════════ */

/* body の青海波パターンと青背景を和紙色で上書き */
body.error404,
body.error404 .site-body,
body.error404 .main-section--base--on,
body.error404 .sub-section--base--on {
    background-color: var(--paper) !important;
    background-image: none !important;
}

.wakka-404-page {
    width: 100%;
    background: var(--paper);
    color: var(--sumi);
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
    font-feature-settings: "palt" 1;
}
.wakka-404-page * { box-sizing: border-box; }

.w404-hero {
    padding: 96px 24px 80px;
    background:
        radial-gradient(ellipse at 30% 120%, rgba(176,138,74,0.06), transparent 50%),
        var(--washi);
    border-bottom: 1px solid var(--hairline);
    text-align: center;
}
.w404-number {
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    font-size: clamp(5rem, 14vw, 10rem);
    font-weight: 400;
    line-height: 1;
    color: var(--hairline-2);
    letter-spacing: -0.02em;
    display: block;
    margin-bottom: 8px;
}
.w404-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    font-size: 11px;
    letter-spacing: 0.28em;
    color: var(--kincha);
    margin-bottom: 24px;
}
.w404-eyebrow::before,
.w404-eyebrow::after {
    content: "";
    display: block;
    width: 36px;
    height: 1px;
    background: var(--hairline-2);
}
.w404-title {
    font-family: "Shippori Mincho B1", serif;
    font-size: clamp(1.4rem, 3.5vw, 2.2rem);
    font-weight: 500;
    letter-spacing: 0.12em;
    color: var(--sumi);
    margin: 0 0 16px;
    line-height: 1.4;
    border: none !important;
    background: none !important;
    padding: 0 !important;
}
.w404-title::before, .w404-title::after { display: none !important; content: none !important; }
.w404-desc {
    font-size: 0.9rem;
    color: var(--kasumi);
    line-height: 1.9;
    max-width: 460px;
    margin: 0 auto 32px;
}

/* 再検索フォーム */
.w404-form {
    display: flex;
    gap: 0;
    border: 1px solid var(--hairline-2);
    background: var(--paper);
    max-width: 440px;
    margin: 0 auto 48px;
}
.w404-form-input {
    flex: 1;
    padding: 12px 18px;
    font-size: 0.95rem;
    font-family: "Noto Sans JP", sans-serif;
    border: none;
    background: transparent;
    color: var(--sumi);
    outline: none;
}
.w404-form-input::placeholder { color: var(--kasumi); opacity: 0.7; }
.w404-form-btn {
    padding: 12px 22px;
    background: var(--ai);
    color: var(--washi);
    border: none;
    cursor: pointer;
    font-size: 0.8rem;
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    letter-spacing: 0.1em;
    transition: background 0.2s;
}
.w404-form-btn:hover { background: var(--ai-deep); }

/* カテゴリーリンク */
.w404-links {
    max-width: 760px;
    margin: 0 auto;
    padding: 48px 24px 72px;
}
.w404-links-label {
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    font-size: 0.75rem;
    letter-spacing: 0.25em;
    color: var(--kasumi);
    text-align: center;
    margin-bottom: 24px;
}
.w404-links-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--hairline);
    border-left: 1px solid var(--hairline);
}
.w404-link-item {
    border-right: 1px solid var(--hairline);
    border-bottom: 1px solid var(--hairline);
}
.w404-link-item a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 22px 16px;
    text-decoration: none !important;
    color: var(--sumi);
    transition: background 0.2s, color 0.2s;
    gap: 4px;
}
.w404-link-item a:hover { background: var(--washi); color: var(--ai); }
.w404-link-en {
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    font-size: 0.65rem;
    letter-spacing: 0.2em;
    color: var(--kincha);
}
.w404-link-ja {
    font-size: 0.88rem;
    font-weight: 600;
    letter-spacing: 0.06em;
}

@media (max-width: 600px) {
    .w404-hero { padding: 64px 20px 56px; }
    .w404-links-grid { grid-template-columns: repeat(2, 1fr); }
    .w404-form { max-width: 100%; }
}

/* ===== 没入型ヒーローページ: /philosophy/ & /hokuriku-charm/ ===== */


/* ヘッダー: 遷移アニメーションを常時有効化 */
body.page-id-104 .site-header,
body.page-id-104 header.site-header,
body.page-id-169 .site-header,
body.page-id-169 header.site-header {
    transition: background 0.45s ease, border-bottom-color 0.45s ease, box-shadow 0.45s ease !important;
}
body.page-id-104 .site-header-logo img,
body.page-id-169 .site-header-logo img {
    transition: filter 0.45s ease;
}
body.page-id-104 #global-nav .global-nav-list > li > a,
body.page-id-169 #global-nav .global-nav-list > li > a {
    transition: color 0.45s ease !important;
}
body.page-id-104 #global-nav.is-open .global-nav-list > li > a,
body.page-id-169 #global-nav.is-open .global-nav-list > li > a {
    transition: none !important;
    color: #1a1714 !important;
    text-shadow: none !important;
}


/* ===== スクロール reveal ===== */
.page-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
.page-reveal.in {
    opacity: 1;
    transform: translateY(0);
}

/* ===== 共通ヒーローアニメーション @keyframes ===== */
@keyframes heroKenBurns {
    from { transform: scale(1); }
    to   { transform: scale(1.07); }
}
@keyframes heroFadeInUp {
    from { opacity: 0; transform: translateY(28px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes heroFadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@keyframes heroLineGrow {
    from { height: 0; }
    to   { height: 44px; }
}
@keyframes heroBounce {
    0%, 100% { transform: translateY(0); }
    50%       { transform: translateY(10px); }
}

/* ===== 宿泊検索CTA ===== */
.wakka-hotel-cta {
	margin: 2.5em 0;
	background: #f4ede0;
	border: 1px solid #d9cfbb;
	border-top: 3px solid #b08a4a;
	border-radius: 0 0 4px 4px;
	padding: 28px 24px;
}

.wakka-hotel-eyebrow {
	display: block;
	font-family: Georgia, serif;
	font-style: italic;
	font-size: 11px;
	letter-spacing: 0.28em;
	color: #b08a4a;
	text-transform: lowercase;
	margin-bottom: 8px;
}

.wakka-hotel-title {
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.08em;
	color: #1a1714;
	margin-bottom: 18px;
}

.wakka-hotel-cta .wakka-hotel-main-cta {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background: #bf0000 !important;
	color: #fff !important;
	text-decoration: none !important;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.04em;
	padding: 15px 20px;
	border-radius: 4px;
	transition: background 0.2s;
	width: 100%;
	margin-bottom: 16px;
}

.wakka-hotel-cta .wakka-hotel-main-cta:hover {
	background: #9e0000 !important;
	color: #fff !important;
}

.wakka-hotel-badge {
	font-size: 10px;
	font-weight: 400;
	background: rgba(255, 255, 255, 0.25);
	padding: 2px 7px;
	border-radius: 2px;
	letter-spacing: 0.06em;
	flex-shrink: 0;
}

.wakka-hotel-sub-label {
	font-size: 11px;
	letter-spacing: 0.1em;
	color: #6b6258;
	text-align: center;
	margin-bottom: 10px;
}

.wakka-hotel-sub-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
}

.wakka-hotel-sub-link {
	display: inline-block;
	color: #3a342d !important;
	text-decoration: none !important;
	font-size: 13px;
	letter-spacing: 0.04em;
	padding: 7px 14px;
	border: 1px solid #d9cfbb;
	border-radius: 20px;
	transition: border-color 0.2s, color 0.2s;
	white-space: nowrap;
}

.wakka-hotel-sub-link:hover {
	border-color: #b08a4a;
	color: #1a1714 !important;
}

@media (max-width: 480px) {
	.wakka-hotel-sub-links {
		flex-direction: column;
		align-items: stretch;
	}

	.wakka-hotel-sub-link {
		text-align: center;
		border-radius: 4px;
		white-space: normal;
	}
}

/* ダークモード */
body.dark-mode .wakka-hotel-cta {
	background: #2a2218;
	border-color: #3d3020;
	border-top-color: #b08a4a;
}

body.dark-mode .wakka-hotel-title {
	color: #f0ebe2;
}

body.dark-mode .wakka-hotel-sub-label {
	color: #8a7e72;
}

body.dark-mode .wakka-hotel-sub-link {
	color: #d4c8b8 !important;
	border-color: rgba(240, 235, 226, 0.15);
}

body.dark-mode .wakka-hotel-sub-link:hover {
	border-color: #c4a060;
	color: #f0ebe2 !important;
}

/* 自動挿入CTA（多エリア・グルメ）用ボタン */
.wakka-hotel-label {
	font-size: 1em;
	font-weight: 600;
	color: #f0ebe2;
	margin-bottom: 14px;
	letter-spacing: 0.06em;
}

.wakka-hotel-buttons {
	display: flex;
	gap: 10px;
	justify-content: center;
	flex-wrap: wrap;
}

.wakka-hotel-btn {
	display: inline-block;
	padding: 11px 22px;
	border-radius: 4px;
	font-weight: 700;
	font-size: 0.9em;
	text-decoration: none !important;
	color: #fff !important;
	transition: background 0.2s;
}

.wakka-hotel-btn:hover {
	color: #fff !important;
}

.wakka-hotel-rakuten {
	background: #bf0000;
}

.wakka-hotel-rakuten:hover {
	background: #9e0000;
}

.wakka-hotel-jalan {
	background: #1a5276;
}

.wakka-hotel-jalan:hover {
	background: #154360;
}

@media (max-width: 480px) {
	.wakka-hotel-buttons {
		flex-direction: column;
		align-items: center;
	}

	.wakka-hotel-btn {
		width: 100%;
		max-width: 280px;
		text-align: center;
	}

	.wakka-hotel-cta .wakka-hotel-main-cta {
		flex-direction: column;
		text-align: center;
		gap: 8px;
	}
}

/* =====================================================
   サイトマップページ (.veu_sitemap) — ライト／ダーク
   ===================================================== */

/* ライトモード: リンクを読みやすい濃色に（visited 含む） */
.veu_sitemap .link-list a,
.veu_sitemap .link-list a:visited,
.veu_sitemap .sitemap-term-list a,
.veu_sitemap .sitemap-term-list a:visited {
    color: #3a3a3a;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-color: rgba(58,58,58,0.3);
}
.veu_sitemap .link-list a:hover,
.veu_sitemap .sitemap-term-list a:hover {
    color: var(--wakka-gold, #d4a017);
    text-decoration-color: var(--wakka-gold, #d4a017);
}
.veu_sitemap .sitemap-post-type-title a {
    color: #3a3a3a;
    font-weight: 700;
}
.veu_sitemap .sitemap-taxonomy-title {
    color: #6b6258;
    font-size: 0.88em;
    font-weight: 600;
    border-bottom: 1px solid #e8e0d5;
    padding-bottom: 4px;
    margin-bottom: 8px;
}

/* ダークモード: サイトマップ */
body.dark-mode .veu_sitemap .link-list a,
body.dark-mode .veu_sitemap .sitemap-term-list a {
    color: #d8d0c4;
    text-decoration-color: rgba(216,208,196,0.3);
}
body.dark-mode .veu_sitemap .link-list a:hover,
body.dark-mode .veu_sitemap .sitemap-term-list a:hover {
    color: #c9973a;
    text-decoration-color: #c9973a;
}
body.dark-mode .veu_sitemap .sitemap-post-type-title a {
    color: #ede5d9;
}
body.dark-mode .veu_sitemap .sitemap-taxonomy-title {
    color: #a09890;
    border-bottom-color: #2a3a5c;
}
body.dark-mode .veu_sitemap .sectionBox {
    color: #d8d0c4;
}

/* =====================================================
   Aboutページ — ダークモード対応
   about-body.html の CSS変数を上書き
   ===================================================== */

body.dark-mode .about-page {
    --bg:       #0d1c2e;
    --text:     #d8d0c4;
    --text-sub: #a09890;
    --border:   #2a3a5c;
    --accent:   #ede5d9;
}

body.dark-mode .about-page .about-hero::before {
    color: rgba(255,255,255,0.04);
}

body.dark-mode .about-page .hero-label::before,
body.dark-mode .about-page .hero-label::after {
    background: #3a5070;
}

body.dark-mode .about-page .about-table th {
    background: rgba(255,255,255,0.06);
}

body.dark-mode .about-page .about-table td a {
    color: #7ecad8;
}

/* about-body.html で color が #333 ハードコードされている要素を上書き */
body.dark-mode .about-page .about-text,
body.dark-mode .about-page .about-text p {
    color: #d8d0c4;
}
body.dark-mode .about-page .about-list li {
    color: #d8d0c4;
}
body.dark-mode .about-page .about-list li::before {
    background: #ede5d9;
}

/* CTAは --accent が明色になるため個別上書き */
body.dark-mode .about-page .about-cta {
    background: #1c3a5c;
}
body.dark-mode .about-page .cta-btn {
    background: #ede5d9;
    color: #1c3a5c;
}
body.dark-mode .about-page .cta-btn:hover {
    background: #d8d0c4;
}

/* ===== カルーセル（wakka-carousel） ===== */
.wakka-carousel {
	position: relative;
	display: flex;
	align-items: center;
	gap: 4px;
}

.wakka-carousel-viewport {
	overflow: hidden;
	flex: 1;
	min-width: 0;
}

.wakka-carousel-track {
	display: flex;
	gap: 16px;
	will-change: transform;
}

.wakka-carousel-track .wakka-related-item {
	flex: 0 0 calc((100% - 32px) / 3);
}

/* 写真カルーセル（1枚ずつ表示） */
.wakka-carousel-track .wakka-photo-item {
	flex: 0 0 100%;
	margin: 0;
}
.wakka-photo-item img {
	width: 100%;
	height: auto;
	display: block;
}
.wakka-photo-item figcaption {
	text-align: center;
	font-size: 0.85em;
	color: #666;
	padding: 6px 0 2px;
}

.wakka-carousel-btn {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1px solid var(--kincha, #b08a4a);
	background: #fff;
	color: var(--kincha, #b08a4a);
	font-size: 1.5em;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s, color 0.2s, opacity 0.2s;
	padding: 0;
}
.wakka-carousel-btn:hover:not(:disabled) {
	background: var(--kincha, #b08a4a);
	color: #fff;
}
.wakka-carousel-btn:disabled {
	opacity: 0.25;
	cursor: default;
}
/* ループ仕様のためボタンは常にアクティブ */
.wakka-carousel .wakka-carousel-btn { opacity: 1; cursor: pointer; }

@media (max-width: 768px) {
	.wakka-carousel-track { gap: 12px; }
	.wakka-carousel-track .wakka-related-item {
		flex: 0 0 calc((100% - 12px) / 2);
	}
}

@media (max-width: 480px) {
	.wakka-carousel-track .wakka-related-item {
		flex: 0 0 80%;
	}
}

/* わっか北陸 情報サイト トップページ CSS — 和モダンスタイル */

/* ===== CSS カスタムプロパティ（デザインシステムトークンへの alias） ===== */
:root {
    --fp-gold:       var(--kincha);
    --fp-gold-dark:  var(--kincha-dark);
    --fp-teal:       var(--ai);
    --fp-teal-dark:  var(--ai-deep);
    --fp-black:      var(--sumi);
    --fp-border:     var(--hairline);
    --fp-washi:      var(--washi);
    --fp-washi-deep: var(--washi-deep);
    --fp-paper:      var(--paper);
    --fp-kasumi:     var(--kasumi);
    --fp-hairline:   var(--hairline);
    --fp-hairline-2: var(--hairline-2);
    --fp-ai:         var(--ai);
    --fp-ai-deep:    var(--ai-deep);
    --fp-kincha:     var(--kincha);
    --fp-sumi:       var(--sumi);
    --fp-sumi-soft:  var(--sumi-soft);
    --fp-hi:         var(--hi);
}

/* ===== アニメーション定義 ===== */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@keyframes scrollBounce {
    0%, 100% { transform: translateY(0); }
    50%       { transform: translateY(10px); }
}
@keyframes popIn {
    from { opacity: 0; transform: scale(0.92) translateY(8px); }
    to   { opacity: 1; transform: scale(1) translateY(0); }
}
@keyframes lineGrow {
    from { height: 0; }
    to   { height: 40px; }
}

/* ===== フルスクリーン ヒーロースライドショー ===== */
.wakka-hero-fullscreen {
    position: relative;
    width: 100%;
    height: 100vh;
    min-height: 600px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-slide {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-size: cover;
    background-position: center 40%;
    background-repeat: no-repeat;
    opacity: 0;
    transition: opacity 1.5s ease-in-out;
    transform: scale(1);
}
.hero-slide.active {
    opacity: 1;
    animation: heroZoom 7s ease-out forwards;
}
@keyframes heroZoom {
    from { transform: scale(1); }
    to   { transform: scale(1.05); }
}

.hero-overlay-gradient {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0.25) 0%,
        rgba(0,0,0,0.05) 40%,
        rgba(0,0,0,0.18) 70%,
        rgba(0,0,0,0.55) 100%
    );
    z-index: 1;
}

.hero-content-center {
    position: relative;
    z-index: 3;
    text-align: center;
    color: white;
    padding: 0 20px;
}

/* ヒーロー eyebrow — Cormorant Garamond italic */
.hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    font-size: 0.78rem;
    letter-spacing: 0.38em;
    font-weight: 400;
    color: rgba(255,255,255,0.75);
    margin-bottom: 22px;
    text-transform: uppercase;
}
.hero-eyebrow::before,
.hero-eyebrow::after {
    content: '';
    width: 36px;
    height: 1px;
    background: rgba(255,255,255,0.45);
}

/* ヒーロータイトル — Shippori Mincho B1 */
.hero-main-title {
    font-family: "Shippori Mincho B1", serif;
    font-size: clamp(3rem, 7vw, 6.5rem);
    font-weight: 500;
    margin: 0 0 28px 0;
    color: white;
    text-shadow: 0 4px 20px rgba(0,0,0,0.45), 0 2px 4px rgba(0,0,0,0.25);
    letter-spacing: 0.18em;
    line-height: 1.2;
    animation: fadeInUp 1.2s ease-out;
}

/* ヒーロー区切り線 */
.hero-rule {
    width: 1px;
    height: 48px;
    margin: 0 auto 22px;
    background: rgba(255,255,255,0.45);
    position: relative;
}
.hero-rule::after {
    content: '';
    position: absolute;
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
    width: 7px; height: 7px;
    background: transparent;
    border: 1px solid rgba(255,255,255,0.7);
    border-radius: 50%;
}

.hero-main-subtitle {
    font-family: "Shippori Mincho B1", serif;
    font-size: clamp(0.9rem, 1.8vw, 1.3rem);
    margin: 0;
    color: rgba(255,255,255,0.9);
    font-weight: 400;
    text-shadow: 0 2px 10px rgba(0,0,0,0.45);
    line-height: 2.2;
    letter-spacing: 0.08em;
    animation: fadeInUp 1.2s ease-out 0.3s both;
}

/* スクロールインジケーター */
.hero-scroll-indicator {
    position: absolute;
    bottom: -120px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    animation: fadeIn 1s ease-out 1.5s both;
}
.hero-scroll-indicator span {
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    font-size: 0.68rem;
    letter-spacing: 0.32em;
    color: rgba(255,255,255,0.75);
}
.scroll-line {
    width: 1px;
    height: 0;
    background: rgba(255,255,255,0.6);
    animation: lineGrow 1.5s ease-out 2s both, scrollBounce 2s ease-in-out 3.5s infinite;
}

/* スライドインジケーター */
.hero-slide-indicators {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    display: flex;
    gap: 12px;
}
.slide-dot {
    width: 8px; height: 8px;
    border-radius: 0;
    border: 1px solid rgba(255,255,255,0.65);
    background: transparent;
    cursor: pointer;
    padding: 0;
    transition: all 0.3s ease;
}
.slide-dot:hover { background: rgba(255,255,255,0.45); }
.slide-dot.active {
    background: white;
    border-color: white;
}

/* 写真クレジット */
.hero-photo-credit {
    position: absolute;
    bottom: 12px; right: 16px;
    z-index: 3;
    font-family: "Cormorant Garamond", serif;
    font-size: 0.65rem;
    color: rgba(255,255,255,0.5);
    text-shadow: 0 1px 3px rgba(0,0,0,0.5);
    transition: opacity 0.5s ease;
    letter-spacing: 0.04em;
}

/* 地域タグ */
.hero-region-tag {
    position: absolute;
    left: 28px; bottom: 120px;
    z-index: 3;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    font-size: 0.68rem;
    letter-spacing: 0.28em;
    color: rgba(255,255,255,0.5);
    font-weight: 400;
    pointer-events: none;
}

/* ===== コンテナ ===== */
.wakka-info-site .container {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 10px;
}
.wakka-info-site { background: transparent; position: relative; }

/* ===== セクション共通 ===== */
.wakka-section {
    margin-bottom: 80px;
    padding-top: 20px;
}

.section-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 32px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--fp-hairline);
    position: relative;
}
.section-header::after {
    content: '';
    position: absolute;
    bottom: -1px; left: 0;
    width: 60px; height: 1px;
    background: var(--fp-kincha);
}

.section-title {
    font-family: "Shippori Mincho B1", serif;
    font-size: clamp(1.3rem, 2.2vw, 1.75rem);
    color: var(--fp-sumi);
    margin: 0;
    font-weight: 500;
    letter-spacing: 0.12em;
}
.wakka-front-page .section-title small {
    display: block;
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    font-size: 0.62rem;
    font-weight: 400;
    letter-spacing: 0.28em;
    color: var(--fp-kincha);
    text-transform: uppercase;
    margin-bottom: 4px;
}

.section-link {
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    color: var(--fp-kincha);
    text-decoration: none;
    font-weight: 400;
    font-size: 0.9rem;
    letter-spacing: 0.1em;
    transition: color 0.2s;
    white-space: nowrap;
}
.section-link:hover { color: var(--fp-ai); }

/* ===== ニューステッカー ===== */
@keyframes ticker {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}
.wakka-ticker {
    display: flex;
    align-items: stretch;
    height: 42px;
    overflow: hidden;
    background: var(--fp-ai-deep);
    color: white;
}
.ticker-label {
    background: var(--fp-kincha);
    color: white;
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    font-size: 0.72rem;
    font-weight: 400;
    letter-spacing: 0.14em;
    padding: 0 18px;
    display: flex;
    align-items: center;
    white-space: nowrap;
    flex-shrink: 0;
}
.ticker-body { overflow: hidden; flex: 1; display: flex; align-items: center; }
.ticker-inner {
    display: flex;
    white-space: nowrap;
    animation: ticker 32s linear infinite;
}
.ticker-item {
    padding: 0 44px;
    font-family: "Shippori Mincho B1", serif;
    font-size: 0.78rem;
    font-weight: 400;
    letter-spacing: 0.06em;
    border-right: 1px solid rgba(255,255,255,0.12);
    display: flex;
    align-items: center;
    height: 42px;
    color: rgba(255,255,255,0.78);
    text-decoration: none;
    cursor: pointer;
    transition: color 0.2s;
}
a.ticker-item:hover { color: var(--fp-kincha); text-decoration: none; }
.ticker-item::before {
    content: '—';
    margin-right: 12px;
    opacity: 0.4;
    font-size: 0.65rem;
    font-family: "Cormorant Garamond", serif;
}

/* ===== 新着情報セクション ===== */
.wakka-news-section { margin-top: 80px; }

.news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-top: 1px solid var(--fp-hairline);
    border-left: 1px solid var(--fp-hairline);
}

.news-card {
    background: var(--fp-paper);
    border-radius: 0;
    overflow: hidden;
    box-shadow: none;
    border-right: 1px solid var(--fp-hairline);
    border-bottom: 1px solid var(--fp-hairline);
    transition: background 0.25s;
    display: flex;
    flex-direction: column;
}
.news-card:hover { background: var(--fp-washi); transform: none; box-shadow: none; }

.news-card-link {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.news-card-image {
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
    background: var(--fp-washi-deep);
}
.news-card-image img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 0.55s ease;
}
.news-card:hover .news-card-image img { transform: scale(1.04); }

.news-card-noimage {
    width: 100%; height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--fp-washi-deep);
    color: var(--fp-kasumi);
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    font-size: 0.85rem;
    letter-spacing: 0.1em;
}

.news-card-category {
    position: absolute;
    top: 10px; left: 10px;
    background: var(--fp-ai);
    color: var(--fp-washi);
    padding: 3px 10px;
    border-radius: 0;
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    font-size: 0.72rem;
    font-weight: 400;
    letter-spacing: 0.1em;
}

.news-card-body { padding: 18px 20px; flex: 1; }

.news-card-date {
    display: block;
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    font-size: 0.75rem;
    color: var(--fp-kasumi);
    margin-bottom: 8px;
    letter-spacing: 0.08em;
}

.news-card-title {
    font-family: "Shippori Mincho B1", serif;
    font-size: 0.95rem;
    margin: 0 0 10px 0;
    line-height: 1.65;
    font-weight: 500;
    color: var(--fp-sumi);
    letter-spacing: 0.04em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.news-card:hover .news-card-title { color: var(--fp-ai); }

.news-card-excerpt {
    font-size: 0.82rem;
    color: var(--fp-kasumi);
    line-height: 1.75;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ===== 非対称ニュースグリッド ===== */
.news-asym {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 0;
    border-top: 1px solid var(--fp-hairline);
    border-left: 1px solid var(--fp-hairline);
}

/* 大カード */
.news-feat {
    grid-row: 1 / 3;
    grid-column: 1;
    border-radius: 0;
    overflow: hidden;
    background: var(--fp-paper);
    box-shadow: none;
    border-right: 1px solid var(--fp-hairline);
    border-bottom: 1px solid var(--fp-hairline);
    cursor: pointer;
    transition: background 0.25s;
    display: flex;
    flex-direction: column;
}
.news-feat:hover { background: var(--fp-washi); transform: none; box-shadow: none; }
.news-feat > a { display: flex; flex-direction: column; flex: 1; text-decoration: none; color: inherit; }
.news-feat-img { height: 300px; overflow: hidden; flex-shrink: 0; }
.news-feat-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.55s; }
.news-feat:hover .news-feat-img img { transform: scale(1.04); }
.news-feat-body { padding: 22px; flex: 1; }
.news-feat-cat {
    display: inline-block;
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    font-size: 0.68rem;
    font-weight: 400;
    letter-spacing: 0.14em;
    padding: 3px 10px;
    border-radius: 0;
    background: var(--fp-ai);
    color: var(--fp-washi);
    margin-bottom: 12px;
}
.news-feat-title {
    font-family: "Shippori Mincho B1", serif;
    font-size: 1.05rem;
    font-weight: 500;
    line-height: 1.65;
    color: var(--fp-sumi);
    margin: 0 0 10px;
    letter-spacing: 0.04em;
    transition: color 0.2s;
}
.news-feat:hover .news-feat-title { color: var(--fp-ai); }
.news-feat-excerpt { font-size: 0.82rem; color: var(--fp-kasumi); line-height: 1.8; margin: 0 0 14px; }
.news-feat-date { font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 0.72rem; color: var(--fp-kasumi); letter-spacing: 0.08em; }

/* 小カード */
.news-sm {
    background: var(--fp-paper);
    border-radius: 0;
    overflow: hidden;
    box-shadow: none;
    border-right: 1px solid var(--fp-hairline);
    border-bottom: 1px solid var(--fp-hairline);
    cursor: pointer;
    transition: background 0.25s;
    display: flex;
    flex-direction: column;
}
.news-sm:hover { background: var(--fp-washi); transform: none; box-shadow: none; }
.news-sm > a { display: flex; flex-direction: column; flex: 1; text-decoration: none; color: inherit; }
.news-sm-img { height: 150px; overflow: hidden; position: relative; flex-shrink: 0; }
.news-sm-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s; }
.news-sm:hover .news-sm-img img { transform: scale(1.04); }
.news-sm-cat {
    position: absolute;
    top: 8px; left: 8px;
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    font-size: 0.66rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    padding: 3px 8px;
    border-radius: 0;
    background: rgba(28,58,92,0.88);
    color: var(--fp-washi);
}
.news-sm-body { padding: 14px 16px; flex: 1; }
.news-sm-date { font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 0.7rem; color: var(--fp-kasumi); display: block; margin-bottom: 5px; letter-spacing: 0.06em; }
.news-sm-title {
    font-family: "Shippori Mincho B1", serif;
    font-size: 0.88rem;
    font-weight: 500;
    line-height: 1.6;
    color: var(--fp-sumi);
    margin: 0;
    letter-spacing: 0.04em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.2s;
}
.news-sm:hover .news-sm-title { color: var(--fp-ai); }

/* ミニカード行 */
.news-row3 {
    grid-column: 1 / 4;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
}
.news-mini {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    background: var(--fp-paper);
    border-radius: 0;
    padding: 16px 18px;
    box-shadow: none;
    border-right: 1px solid var(--fp-hairline);
    border-bottom: 1px solid var(--fp-hairline);
    cursor: pointer;
    transition: background 0.22s;
}
.news-mini:hover { background: var(--fp-washi); transform: none; box-shadow: none; }
.news-mini > a { display: flex; gap: 14px; align-items: flex-start; text-decoration: none; color: inherit; width: 100%; }
.news-mini-img { width: 80px; height: 80px; border-radius: 0; overflow: hidden; flex-shrink: 0; }
.news-mini-img img { width: 100%; height: 100%; object-fit: cover; }
.news-mini-body { flex: 1; min-width: 0; }
.news-mini-cat { font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 0.64rem; font-weight: 400; color: var(--fp-kincha); letter-spacing: 0.1em; }
.news-mini-title {
    font-family: "Shippori Mincho B1", serif;
    font-size: 0.84rem;
    font-weight: 500;
    color: var(--fp-sumi);
    margin: 4px 0 4px;
    line-height: 1.55;
    letter-spacing: 0.04em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.2s;
}
.news-mini:hover .news-mini-title { color: var(--fp-ai); }
.news-mini-date { font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 0.68rem; color: var(--fp-kasumi); letter-spacing: 0.06em; }
.news-noimg {
    width: 100%; height: 100%;
    background: var(--fp-washi-deep);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--fp-kasumi);
    font-size: 0.72rem;
}

/* ===== 地域別ナビ（SVGマップ） ===== */
.wakka-area-nav-section .area-map-container {
    display: block !important;
    max-width: none !important;
    position: relative !important;
}
.wakka-area-nav-section .area-map-wrapper {
    position: relative !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    box-shadow: none !important;
    border: 1px solid var(--fp-hairline) !important;
    background: #e8f0f4 !important;
}
.hokuriku-map-svg { width: 100%; height: auto; display: block; }

.wakka-area-nav-section .map-region {
    fill: rgba(176,138,74,0.12) !important;
    stroke: rgba(176,138,74,0.5) !important;
    stroke-width: 1.5 !important;
    cursor: pointer;
    transition: fill 0.25s, stroke 0.25s;
}
.wakka-area-nav-section .map-region-link:hover .map-region,
.wakka-area-nav-section .map-region.active {
    fill: rgba(176,138,74,0.32) !important;
    stroke: var(--fp-kincha) !important;
    stroke-width: 2 !important;
}
.wakka-area-nav-section .map-label {
    font-size: 13px !important;
    fill: var(--fp-sumi) !important;
    stroke: rgba(244,237,224,0.85) !important;
    stroke-width: 3 !important;
    font-weight: 600;
    pointer-events: none;
    paint-order: stroke fill;
    letter-spacing: 0 !important;
}

/* ポップアップ */
.wakka-area-nav-section .map-popup {
    position: absolute !important;
    width: 26% !important;
    max-width: 240px !important;
    min-width: 180px !important;
    top: 2% !important; left: 1% !important;
    z-index: 20 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: scale(0.92) translateY(6px) !important;
    transition: opacity 0.2s ease, transform 0.2s ease !important;
    border-radius: 0 !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.16) !important;
    overflow: hidden !important;
    background: var(--fp-paper) !important;
    border: 1px solid var(--fp-hairline) !important;
}
.wakka-area-nav-section .map-popup.is-visible {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: scale(1) translateY(0) !important;
}

/* 県別配置 */
.wakka-area-nav-section .map-popup[data-region="noto"]     { top: 10% !important; left: 32% !important; }
.wakka-area-nav-section .map-popup[data-region="ishikawa"] { top: 25% !important; left: 27% !important; }
.wakka-area-nav-section .map-popup[data-region="toyama"]   { top: 58% !important; right: 10% !important; left: auto !important; }
.wakka-area-nav-section .map-popup[data-region="fukui"]    { top: 45% !important; left: 7% !important; }

.wakka-area-nav-section .map-popup-hero { position: relative !important; line-height: 0 !important; }
.map-popup-img-wrap { width: 100%; height: 140px; overflow: hidden; display: block; }
.wakka-area-nav-section .map-popup-img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }

.wakka-area-nav-section .map-popup-name {
    position: absolute !important;
    bottom: 0 !important; left: 0 !important; right: 0 !important;
    margin: 0 !important;
    padding: 22px 12px 10px !important;
    background: linear-gradient(to top, rgba(0,0,0,0.68), transparent) !important;
    color: #fff !important;
    font-family: "Shippori Mincho B1", serif !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-shadow: none !important;
    line-height: 1.3 !important;
}
.wakka-area-nav-section .map-popup-body { padding: 10px 12px 12px !important; }
.wakka-area-nav-section .map-popup-desc { font-size: 0.77rem !important; color: var(--fp-kasumi) !important; line-height: 1.65 !important; margin: 0 0 6px !important; }
.wakka-area-nav-section .map-popup-spots { font-size: 0.73rem !important; color: var(--fp-kasumi) !important; margin: 0 0 4px !important; line-height: 1.5 !important; }
.map-popup-spots-label { font-weight: 500; color: var(--fp-sumi-soft); }

.map-popup-link {
    display: block;
    text-align: center;
    background: var(--fp-ai);
    color: var(--fp-washi) !important;
    padding: 8px 12px;
    border-radius: 0;
    text-decoration: none !important;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 400;
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    margin-top: 8px;
    transition: background 0.2s;
}
.map-popup-link:hover { background: var(--fp-ai-deep); color: var(--fp-washi) !important; }

/* ===== カテゴリ横並びカード ===== */
.cat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-top: 1px solid var(--fp-hairline);
    border-left: 1px solid var(--fp-hairline);
}
.cat-card {
    display: flex;
    align-items: center;
    gap: 16px;
    background: var(--fp-paper);
    border-radius: 0;
    padding: 20px 22px;
    border-right: 1px solid var(--fp-hairline);
    border-bottom: 1px solid var(--fp-hairline);
    text-decoration: none;
    transition: background 0.22s;
    position: relative;
    overflow: hidden;
}
.cat-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 0; height: 2px;
    background: var(--cat-c, var(--fp-kincha));
    transition: width 0.3s;
}
.cat-card:hover::before { width: 100%; }
.cat-card:hover { background: var(--fp-washi); transform: none; box-shadow: none; }

.cat-icon-wrap {
    width: 48px; height: 48px;
    border-radius: 0;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    transition: transform 0.25s;
    border: 1px solid var(--fp-hairline);
}
.cat-card:hover .cat-icon-wrap { transform: scale(1.08); }
.cat-info { flex: 1; min-width: 0; }
.cat-name { font-family: "Shippori Mincho B1", serif; font-size: 0.95rem; font-weight: 500; color: var(--fp-sumi); margin: 0 0 3px; letter-spacing: 0.06em; }
.cat-desc { font-size: 0.72rem; color: var(--fp-kasumi); margin: 0 0 4px; letter-spacing: 0.04em; }
.cat-count { font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 0.72rem; color: var(--fp-kincha); font-weight: 400; letter-spacing: 0.08em; }

/* ===== タグクラウド ===== */
.tags-cloud { display: flex; flex-wrap: wrap; gap: 8px; }

.tag-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--fp-paper);
    color: var(--fp-kasumi);
    padding: 6px 14px;
    border-radius: 0;
    text-decoration: none;
    font-family: "Shippori Mincho B1", serif;
    font-size: 0.82rem;
    font-weight: 400;
    letter-spacing: 0.06em;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
    border: 1px solid var(--fp-hairline);
}
.tag-item:hover {
    background: var(--fp-ai);
    color: var(--fp-washi);
    border-color: var(--fp-ai);
    transform: none;
}
.tag-count {
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    font-size: 0.75rem;
    color: var(--fp-kincha);
    padding: 0;
    background: none;
    border-radius: 0;
}
.tag-item:hover .tag-count { color: rgba(244,237,224,0.65); }

/* ===== CTA ===== */
@keyframes wavePat {
    from { background-position: 0 0; }
    to   { background-position: 160px 0; }
}
.cta-wrap {
    border-radius: 0;
    overflow: hidden;
    position: relative;
    padding: 72px 60px;
    text-align: center;
    background: var(--fp-ai-deep);
}
.cta-wrap::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='80' viewBox='0 0 160 80'%3E%3Cpath d='M28 40A12 12 0 0 1 52 40M108 40A12 12 0 0 1 132 40M-12 80A12 12 0 0 1 12 80M68 80A12 12 0 0 1 92 80M148 80A12 12 0 0 1 172 80' fill='none' stroke='%23f4ede0' stroke-width='1' opacity='0.06'/%3E%3C/svg%3E");
    background-size: 160px 80px;
}
.cta-body { position: relative; z-index: 1; }
.cta-label {
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    font-size: 0.72rem;
    font-weight: 400;
    letter-spacing: 0.3em;
    color: var(--fp-kincha);
    margin-bottom: 14px;
    text-transform: uppercase;
}
.cta-label::before,
.cta-label::after {
    content: '——';
    margin: 0 8px;
    opacity: 0.5;
}
.cta-title {
    font-family: "Shippori Mincho B1", serif;
    font-size: clamp(1.4rem, 2.5vw, 2rem);
    font-weight: 500;
    color: var(--fp-washi);
    margin: 0 0 16px;
    letter-spacing: 0.12em;
}
.cta-desc {
    font-family: "Shippori Mincho B1", serif;
    font-size: 0.95rem;
    color: rgba(244,237,224,0.75);
    line-height: 2.2;
    margin: 0 0 36px;
    letter-spacing: 0.06em;
}
.cta-btn {
    display: inline-block;
    background: var(--fp-washi);
    color: var(--fp-ai-deep) !important;
    padding: 14px 52px;
    border-radius: 0;
    font-family: "Shippori Mincho B1", serif;
    font-size: 0.92rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-decoration: none !important;
    cursor: pointer;
    box-shadow: none;
    border: 1px solid rgba(244,237,224,0.3);
    transition: background 0.25s, color 0.25s;
}
.cta-btn:hover {
    background: var(--fp-kincha);
    color: white !important;
    transform: none;
    box-shadow: none;
}

/* ===== コンテンツなし ===== */
.no-content {
    text-align: center;
    color: var(--fp-kasumi);
    padding: 40px 20px;
    background: var(--fp-paper);
    border: 1px solid var(--fp-hairline);
    border-radius: 0;
    font-size: 0.9rem;
    font-family: "Shippori Mincho B1", serif;
    letter-spacing: 0.08em;
}

/* ===== スムーススクロール ===== */
html { scroll-behavior: smooth; }

/* ===== スクロールrevealアニメーション ===== */
.reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}
.reveal.in { opacity: 1; transform: translateY(0); }

/* ===== ダークモード ===== */
body.home.dark-mode .section-title { color: var(--fp-sumi) !important; }
body.dark-mode .section-header { border-bottom-color: #38342c; }
body.dark-mode .section-header::after { background: var(--fp-kincha); }
body.dark-mode .section-link { color: var(--fp-kincha); }

body.dark-mode .wakka-ticker { background: #0d1a28; }

body.dark-mode .news-grid { border-color: #38342c; }
body.dark-mode .news-feat,
body.dark-mode .news-sm,
body.dark-mode .news-mini,
body.dark-mode .cat-card {
    background: #252015;
    border-color: #38342c;
}
body.dark-mode .news-feat:hover,
body.dark-mode .news-sm:hover,
body.dark-mode .news-mini:hover,
body.dark-mode .cat-card:hover { background: #1e1a14; }
body.dark-mode .news-feat-title,
body.dark-mode .news-sm-title,
body.dark-mode .news-mini-title,
body.dark-mode .cat-name,
body.dark-mode .news-card-title { color: #e8e2d8; }
body.dark-mode .news-feat-excerpt,
body.dark-mode .news-card-excerpt { color: #8a8070; }
body.dark-mode .news-sm-date,
body.dark-mode .news-mini-date,
body.dark-mode .news-feat-date,
body.dark-mode .news-card-date { color: #6b6258; }
body.dark-mode .news-card { background: #252015; border-color: #38342c; }
body.dark-mode .news-card:hover { background: #1e1a14; }
body.dark-mode .news-card-noimage { background: #1e1a14; }
body.dark-mode .cat-grid { border-color: #38342c; }
body.dark-mode .cat-icon-wrap { border-color: #38342c; }
body.dark-mode .cat-desc { color: #6b6258; }

body.dark-mode .tag-item { background: #252015; border-color: #38342c; color: #8a8070; }
body.dark-mode .tag-item:hover { background: var(--fp-ai); color: #f4ede0; border-color: var(--fp-ai); }

body.dark-mode .wakka-area-nav-section .map-popup { background: #252015 !important; border-color: #38342c !important; }
body.dark-mode .wakka-area-nav-section .map-popup-desc { color: #8a8070 !important; }
body.dark-mode .wakka-area-nav-section .map-popup-spots { color: #6b6258 !important; }
body.dark-mode .wakka-area-nav-section .area-map-wrapper { border-color: #38342c !important; }

/* ===== ヒーロー透明ヘッダー ===== */
.home #site-header {
    transition: background 0.35s ease, box-shadow 0.35s ease !important;
}
.home #site-header.hero-top {
    background: transparent !important;
    box-shadow: none !important;
    border-bottom: none !important;
}
.home #site-header .wakka-search-bar { background: transparent !important; }
.home #site-header:not(.hero-top) .wakka-search-form {
    transition: background 0.35s ease, border-color 0.35s ease !important;
}
.home #site-header.hero-top .wakka-search-form {
    background: rgba(0,0,0,0.32) !important;
    border-color: transparent !important;
    transition: background 0.35s ease, border-color 0.35s ease !important;
}
.home #site-header.hero-top .wakka-search-input { color: #fff !important; background: transparent !important; }
.home #site-header.hero-top .wakka-search-input::placeholder { color: rgba(255,255,255,0.7) !important; }
.home #site-header.hero-top .wakka-search-icon { fill: #fff !important; }
.home #site-header.hero-top .wakka-search-submit { color: #fff !important; background: transparent !important; }
.home #site-header.hero-top .site-header-logo a,
.home #site-header.hero-top #global-nav:not(.is-open) .global-nav-name,
.home #site-header.hero-top #global-nav:not(.is-open) a {
    color: #fff !important;
    text-shadow: 0 1px 4px rgba(0,0,0,0.4) !important;
}
.home #site-header.hero-top .wakka-hamburger .hamburger-lines span { background: #fff !important; }
.home #site-header.hero-top .wakka-darkmode-toggle {
    color: #fff !important;
    background: rgba(0,0,0,0.32) !important;
    border-radius: 50% !important;
    padding: 5px !important;
}
.home #site-header.hero-top #global-nav:not(.is-open) a:hover .global-nav-name {
    color: var(--fp-kincha) !important;
    text-shadow: none !important;
}
.home #site-header.hero-top .wakka-contact-btn {
    border-color: rgba(255,255,255,0.75) !important;
    color: #fff !important;
}

/* ===== レスポンシブ ===== */
@media (max-width: 768px) {
    .ticker-item { padding: 0 28px; font-size: 0.72rem; }

    .news-asym { grid-template-columns: 1fr; border-left: none; border-top: none; }
    .news-feat { grid-row: 1; grid-column: 1; border-left: 1px solid var(--fp-hairline); }
    .news-feat-img { height: 220px; }
    .news-row3 { grid-template-columns: 1fr; grid-column: 1; }

    .news-grid { grid-template-columns: 1fr; }
    .news-card-image { height: 180px; }

    .cat-grid { grid-template-columns: 1fr; }

    .cta-wrap { padding: 44px 20px; }
    .cta-title { font-size: 1.35rem; }
    .cta-desc { font-size: 0.88rem; margin-bottom: 24px; }
    .cta-btn { padding: 12px 32px; font-size: 0.88rem; }

    .hero-region-tag { display: none; }

    .wakka-area-nav-section .area-map-container { grid-template-columns: 1fr !important; }

    .wakka-area-nav-section .map-popup {
        position: static !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        top: auto !important; left: auto !important;
        right: auto !important; bottom: auto !important;
        opacity: 1 !important;
        transform: none !important;
        pointer-events: none !important;
        display: none !important;
        border-radius: 0 !important;
        box-shadow: 0 2px 12px rgba(0,0,0,0.1) !important;
        border-top: 2px solid var(--fp-kincha) !important;
    }
    .wakka-area-nav-section .map-popup.is-visible {
        display: flex !important;
        pointer-events: auto !important;
        flex-direction: row !important;
        align-items: stretch !important;
    }
    .wakka-area-nav-section .map-popup[data-region="noto"],
    .wakka-area-nav-section .map-popup[data-region="ishikawa"],
    .wakka-area-nav-section .map-popup[data-region="toyama"],
    .wakka-area-nav-section .map-popup[data-region="fukui"] {
        top: auto !important; left: auto !important;
        right: auto !important; bottom: auto !important;
    }
    .wakka-area-nav-section .map-popup-hero {
        display: flex !important;
        flex-direction: column !important;
        flex-shrink: 0 !important;
        width: 100px !important;
    }
    .map-popup-img-wrap { width: 100px !important; height: 100% !important; min-height: 80px !important; flex: 1 !important; }
    .wakka-area-nav-section .map-popup-img { height: 100% !important; }
    .wakka-area-nav-section .map-popup-name {
        position: static !important;
        background: var(--fp-ai) !important;
        color: var(--fp-washi) !important;
        padding: 4px 6px !important;
        font-size: 0.72rem !important;
        font-weight: 500 !important;
        text-align: center !important;
        line-height: 1.2 !important;
    }
    .wakka-area-nav-section .map-popup-body {
        padding: 10px 12px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        flex: 1 !important;
    }
    .wakka-area-nav-section .map-popup-desc { display: none !important; }
    .wakka-area-nav-section .map-popup-spots { font-size: 0.72em !important; margin: 0 0 8px !important; }
    .wakka-area-nav-section .map-popup-link { margin-top: 0 !important; padding: 7px 10px !important; font-size: 0.78em !important; }

    .wakka-hero-fullscreen { min-height: 100vh; }
    .hero-main-title { font-size: 2.6rem; letter-spacing: 0.12em; }
    .hero-main-subtitle { font-size: 0.9rem; line-height: 2; }
    .hero-photo-credit { font-size: 0.58rem; bottom: 8px; right: 8px; left: 8px; text-align: right; }
    .hero-slide-indicators { bottom: 28px; }
    .slide-dot { width: 6px; height: 6px; }
    .wakka-news-section { margin-top: 50px; }
    .wakka-section { margin-bottom: 60px; }
    .section-header { flex-direction: column; align-items: flex-start; gap: 8px; }
}

/* タブレット */
@media (min-width: 769px) and (max-width: 1024px) {
    .hero-main-title { font-size: 3.8rem; }
    .news-grid { grid-template-columns: repeat(2, 1fr); }
    .cat-grid { grid-template-columns: repeat(2, 1fr); }
}

/* 大画面 */
@media (min-width: 1400px) {
    .hero-main-title { font-size: 6.5rem; }
    .hero-main-subtitle { font-size: 1.35rem; }
}