/* --- layer A : 変数の差し替え（SWELL の :root を上書きする） --- */
:root[data-mirai-theme='dark']{
	--mirai-bg:#15181c;
	--mirai-surface:#1d2126;
	--mirai-surface2:#262b32;
	--mirai-text:#e4e7ea;
	--mirai-text-sub:#aab2ba;
	--mirai-border:#39404a;
	--mirai-accent:#8ab4ff;
	color-scheme:dark;

	--color_bg:#15181c;
	--color_content_bg:#15181c;
	--color_text:#e4e7ea;
	--color_main:#8ab4ff;
	--color_link:#8ab4ff;
	--color_htag:#8ab4ff;
	--color_main_thin:rgba(138,180,255,.10);
	--color_main_dark:#b9d0ff;
	--color_gray:#8a929b;
	--color_border:#39404a;
	--color_header_bg:#181c21;
	--color_header_text:#e4e7ea;
	--color_footer_bg:#0e1620;
	--color_footer_text:#e4e7ea;
	--color_pale01:#2b2020;
	--color_pale02:#1e2530;
	--color_pale03:#1f2a20;
	--color_pale04:#2a2620;
	--color_deep02:#8ab4ff;
	--color_deep04:#8ab4ff;
	--color_icon_good_bg:#1c2a1c;
	--color_icon_bad_bg:#1b2530;
	--color_icon_info_bg:#2a2028;
	--color_icon_announce_bg:#2a2620;
	--color_icon_pen_bg:#24282d;
	--color_icon_book_bg:#26251f;
}
:root[data-mirai-theme='dark'] body{background:#15181c;color:#e4e7ea;}
:root[data-mirai-theme='dark'] a{color:#8ab4ff;}
:root[data-mirai-theme='dark'] img{opacity:.94;}
:root[data-mirai-theme='dark'] .l-header,
:root[data-mirai-theme='dark'] #header{background:#181c21;}
/* マーカー（明るい下地＋黒文字）は下地を残して文字だけ暗くする */
:root[data-mirai-theme='dark'] .swl-marker,
:root[data-mirai-theme='dark'] [class*='swl-mark']{color:#15181c;}

/* --- layer C : 商標記事の本文に直書きされた <style> を上回る ---
 * 本文の <style> は body 内にあり head の CSS より後に来る。
 * #body_wrap（id）を足して詳細度で上回る。本文は一切触らない。
 * この形は109本すべてで同一なので、1ブロックで全記事に効く。 */
:root[data-mirai-theme='dark'] #body_wrap .mirai-tbl th,
:root[data-mirai-theme='dark'] #body_wrap .mirai-tbl td{border-color:#39404a;}
:root[data-mirai-theme='dark'] #body_wrap .mirai-tbl tbody tr:nth-child(even){background:#22272e;}
:root[data-mirai-theme='dark'] #body_wrap .mirai-tbl tbody td:first-child{background:#262b32;color:#a9c6f5;}
:root[data-mirai-theme='dark'] #body_wrap .mirai-check{background:#1d2126;border-color:#39404a;}
:root[data-mirai-theme='dark'] #body_wrap .mirai-check-item{border-top-color:#39404a;}
:root[data-mirai-theme='dark'] #body_wrap .mirai-check-item:nth-of-type(even){background:#22272e;}
:root[data-mirai-theme='dark'] #body_wrap .mirai-check-item::before{color:#8ab4ff;}
:root[data-mirai-theme='dark'] #body_wrap .mirai-copybox{border-color:#39404a!important;background:#1d2126;}
:root[data-mirai-theme='dark'] #body_wrap .mirai-cta-foot{background:linear-gradient(180deg,#1e2734,#182029)!important;border-top-color:#4d86e0!important;}
:root[data-mirai-theme='dark'] #body_wrap .mirai-role{background:#22272e;border-color:#39404a;}
:root[data-mirai-theme='dark'] #body_wrap .mirai-memo-item{border-color:#39404a;}
:root[data-mirai-theme='dark'] #body_wrap .single_cta1{border-color:#39404a!important;}
:root[data-mirai-theme='dark'] #body_wrap .post_content ul:not([class]),
:root[data-mirai-theme='dark'] #body_wrap .post_content ol:not([class]){background:#1d2126;border-color:#39404a;border-left-color:#4d86e0;}
:root[data-mirai-theme='dark'] #body_wrap .post_content ul:not([class])>li,
:root[data-mirai-theme='dark'] #body_wrap .post_content ol:not([class])>li{border-bottom-color:#39404a;}

/* --- 切り替えボタン（両モード共通の見た目） --- */
.mirai-theme-toggle{
	display:inline-flex;align-items:center;gap:7px;
	background:transparent;color:inherit;cursor:pointer;
	border:1px solid rgba(128,140,155,.55);border-radius:999px;
	padding:5px 13px;font-size:13px;line-height:1.5;white-space:nowrap;
	font-family:inherit;
}
.mirai-theme-toggle:hover{border-color:currentColor;}
.mirai-theme-toggle:focus-visible{outline:2px solid #8ab4ff;outline-offset:2px;}
.mirai-theme-toggle__icon{
	width:14px;height:14px;flex:none;border-radius:50%;
	border:1.5px solid currentColor;
	background:linear-gradient(90deg,currentColor 50%,transparent 50%);
}
.mirai-subnav__theme{margin-left:auto;display:flex;align-items:center;}
.mirai-theme-toggle-sp{padding:14px 16px 20px;}
.mirai-theme-toggle-sp .mirai-theme-toggle{
	width:100%;justify-content:center;min-height:46px;font-size:15px;
}
@media screen and (max-width:959px){
	.mirai-subnav__theme{display:none;}
}
/* --- layer B : 子テーマの直書き色（gen_dark_layerb.py が生成） --- */
:root[data-mirai-theme='dark'] .cases-card,:root[data-mirai-theme='dark'] .com_misson .swell-block-column,:root[data-mirai-theme='dark'] .com_misson-icon img,:root[data-mirai-theme='dark'] .flow_list .swell-block-column,:root[data-mirai-theme='dark'] .form_container input[type="email"],:root[data-mirai-theme='dark'] .form_container input[type="tel"],:root[data-mirai-theme='dark'] .form_container input[type="text"],:root[data-mirai-theme='dark'] .form_container select,:root[data-mirai-theme='dark'] .form_container textarea,:root[data-mirai-theme='dark'] .post-type-archive-column ul.p-postList.-type-card .p-postList__item a,:root[data-mirai-theme='dark'] .profile_card,:root[data-mirai-theme='dark'] .pser_list1 .swell-block-column,:root[data-mirai-theme='dark'] .pser_list2 .swell-block-column,:root[data-mirai-theme='dark'] .pser_list3 .swell-block-column,:root[data-mirai-theme='dark'] .select_multiple_posts article,:root[data-mirai-theme='dark'] .select_single_post,:root[data-mirai-theme='dark'] .sort-btn,:root[data-mirai-theme='dark'] .supervisor_card,:root[data-mirai-theme='dark'] .tp_off-table td,:root[data-mirai-theme='dark'] .tp_off-table th,:root[data-mirai-theme='dark'] .tp_pri-table td,:root[data-mirai-theme='dark'] .tp_pri-table th,:root[data-mirai-theme='dark'] .voice-card,:root[data-mirai-theme='dark'] ol.tp_cta-top3 li img{border:1px solid var(--mirai-border);}
:root[data-mirai-theme='dark'] .cases-excerpt,:root[data-mirai-theme='dark'] .cases-meta > div,:root[data-mirai-theme='dark'] .select_multiple_posts article .meta-date,:root[data-mirai-theme='dark'] .select_multiple_posts article .row-card-excerpt,:root[data-mirai-theme='dark'] .select_single_post .card-excerpt,:root[data-mirai-theme='dark'] .select_single_post .meta-date,:root[data-mirai-theme='dark'] .single_cases-meta > div,:root[data-mirai-theme='dark'] .single_voice-info,:root[data-mirai-theme='dark'] .supc_con-job,:root[data-mirai-theme='dark'] .supc_con-no,:root[data-mirai-theme='dark'] .tp_faq-text,:root[data-mirai-theme='dark'] .tp_mes-prof > .title,:root[data-mirai-theme='dark'] .tp_off-table td span,:root[data-mirai-theme='dark'] .tp_pri-table td span,:root[data-mirai-theme='dark'] .tp_pri-text,:root[data-mirai-theme='dark'] .tp_works-text01,:root[data-mirai-theme='dark'] .voice-excerpt,:root[data-mirai-theme='dark'] .voice-info{color:var(--mirai-text-sub);}
:root[data-mirai-theme='dark'] .bana_bubble,:root[data-mirai-theme='dark'] .c-iconBtn__icon.icon-close-thin:before,:root[data-mirai-theme='dark'] .fqa_con ul.tp_cta-list li > div,:root[data-mirai-theme='dark'] .profile_card .pca_content-title,:root[data-mirai-theme='dark'] .single_cta1 ul.tp_cta-list li > div,:root[data-mirai-theme='dark'] .sort-btn,:root[data-mirai-theme='dark'] .step_content p,:root[data-mirai-theme='dark'] a,:root[data-mirai-theme='dark'] body,:root[data-mirai-theme='dark'] ul.arc_categorylist li{color:var(--mirai-text);}
:root[data-mirai-theme='dark'] #body_wrap.page .swell-block-accordion__body::before,:root[data-mirai-theme='dark'] .faq_answer::before,:root[data-mirai-theme='dark'] .fqa_con,:root[data-mirai-theme='dark'] .pl_sim-bottom .wp-block-column,:root[data-mirai-theme='dark'] .pl_step .pl_btn,:root[data-mirai-theme='dark'] .price_list1 .pl_btn,:root[data-mirai-theme='dark'] .price_table td:nth-child(2),:root[data-mirai-theme='dark'] .single_cta1,:root[data-mirai-theme='dark'] .sort-btn,:root[data-mirai-theme='dark'] .tp_flow-list li::after{background:var(--mirai-surface2);}
:root[data-mirai-theme='dark'] .bana_bubble,:root[data-mirai-theme='dark'] .cases-card,:root[data-mirai-theme='dark'] .com_misson .swell-block-column,:root[data-mirai-theme='dark'] .l-header .mirai-subnav,:root[data-mirai-theme='dark'] .pser_list2 .swell-block-column,:root[data-mirai-theme='dark'] .pser_list3 .swell-block-column,:root[data-mirai-theme='dark'] .select_multiple_posts article,:root[data-mirai-theme='dark'] .select_single_post,:root[data-mirai-theme='dark'] .voice-card,:root[data-mirai-theme='dark'] ul.arc_categorylist li{background:var(--mirai-surface);}
:root[data-mirai-theme='dark'] .cases-card-title,:root[data-mirai-theme='dark'] .select_multiple_posts article .row-card-title a,:root[data-mirai-theme='dark'] .select_single_post .card-title a,:root[data-mirai-theme='dark'] .sinc1_title,:root[data-mirai-theme='dark'] .supc_con-add a,:root[data-mirai-theme='dark'] .supc_con-name,:root[data-mirai-theme='dark'] .supc_title,:root[data-mirai-theme='dark'] .tp_cry-text,:root[data-mirai-theme='dark'] .voice-card-title{color:var(--mirai-accent);}
:root[data-mirai-theme='dark'] .com_access-add,:root[data-mirai-theme='dark'] .faq_item[open] .faq_answer::after,:root[data-mirai-theme='dark'] .l-header .mirai-subnav,:root[data-mirai-theme='dark'] .pl_step .wp-block-column:nth-child(1),:root[data-mirai-theme='dark'] .price_list3 .wp-block-column ul li,:root[data-mirai-theme='dark'] .tp_seac-case ul li,:root[data-mirai-theme='dark'] ul.column-category-list li,:root[data-mirai-theme='dark'] ul.tp_war-list li{border-bottom:1px solid var(--mirai-border);}
:root[data-mirai-theme='dark'] .form_container input[type="email"],:root[data-mirai-theme='dark'] .form_container input[type="tel"],:root[data-mirai-theme='dark'] .form_container input[type="text"],:root[data-mirai-theme='dark'] .form_container select,:root[data-mirai-theme='dark'] .form_container textarea{background-color:var(--mirai-surface);}
:root[data-mirai-theme='dark'] #body_wrap.page .swell-block-accordion__item.is-opened .swell-block-accordion__body,:root[data-mirai-theme='dark'] .l-header .mirai-subnav,:root[data-mirai-theme='dark'] .price_list3 .wp-block-column ul li:nth-child(1),:root[data-mirai-theme='dark'] ul.tp_war-list li:first-child{border-top:1px solid var(--mirai-border);}
:root[data-mirai-theme='dark'] .cases-img-wrapper,:root[data-mirai-theme='dark'] .select_multiple_posts article .row-card-thumbnail,:root[data-mirai-theme='dark'] .select_single_post .card-thumbnail,:root[data-mirai-theme='dark'] .voice-img-wrapper{background-color:var(--mirai-surface2);}
:root[data-mirai-theme='dark'] .button_overlay,:root[data-mirai-theme='dark'] .top_hope .button_overlay,:root[data-mirai-theme='dark'] .top_works .button_overlay{background:linear-gradient(transparent, var(--mirai-surface) 45%);}
:root[data-mirai-theme='dark'] .tp_point-bottom > div::after,:root[data-mirai-theme='dark'] .tp_point-bottom > div::before{border-top:5px solid var(--mirai-border);}
:root[data-mirai-theme='dark'] .tp_point-bottom > div::after,:root[data-mirai-theme='dark'] .tp_point-bottom > div::before{border-bottom:5px solid var(--mirai-border);}
:root[data-mirai-theme='dark'] .supc_con-overlay,:root[data-mirai-theme='dark'] .tp_mes-box .tp_mes-overlay{background:linear-gradient(transparent, var(--mirai-surface) 65%);}
:root[data-mirai-theme='dark'] .tp_point-bottom > div::after,:root[data-mirai-theme='dark'] .tp_point-bottom > div::before{border-top:4px solid var(--mirai-border);}
:root[data-mirai-theme='dark'] .tp_point-bottom > div::after,:root[data-mirai-theme='dark'] .tp_point-bottom > div::before{border-bottom:4px solid var(--mirai-border);}
:root[data-mirai-theme='dark'] .tp_point-arrow > div{border-color:var(--mirai-border) transparent transparent transparent;}
:root[data-mirai-theme='dark'] .tp_point-bottom > div::before{border-left:5px solid var(--mirai-border);}
:root[data-mirai-theme='dark'] .tp_point-bottom > div::after{border-right:5px solid var(--mirai-border);}
:root[data-mirai-theme='dark'] .damount_box > p{background:linear-gradient(transparent 60%, var(--mirai-surface2) 60%);}
:root[data-mirai-theme='dark'] .bana_bubble::after{border-color:transparent var(--mirai-border) transparent transparent;}
:root[data-mirai-theme='dark'] .price_table thead th{background:var(--mirai-surface2) !important;}
:root[data-mirai-theme='dark'] .price_table tbody th:nth-child(1){background:var(--mirai-surface) !important;}
:root[data-mirai-theme='dark'] .pl_step .wp-block-column:nth-child(1){border-right:1px solid var(--mirai-border);}
:root[data-mirai-theme='dark'] .tp_point-bottom > div::before{border-left:4px solid var(--mirai-border);}
:root[data-mirai-theme='dark'] .tp_point-bottom > div::after{border-right:4px solid var(--mirai-border);}
:root[data-mirai-theme='dark'] .l-header .mirai-subnav__list li + li{border-left:1px solid var(--mirai-border);}
