*{box-sizing:border-box}
a{text-decoration:none;transition:color .25s ease}
html{scroll-behavior:smooth}
body{margin:0;background:#ffffff;color:#141414;font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
html,body{overflow-x:clip}
a{color:inherit;text-decoration:none;transition:color .25s ease}
a:hover{color:#c8102e}
img{display:block;max-width:100%}
::selection{background:#c8102e;color:#fff}
@keyframes fadeup{0%{opacity:0;transform:translateY(24px)}100%{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important}}
@media(max-width:640px){body{--padx:18px}}
@media(min-width:900px) and (max-width:1199px){body{--padx:60px}}
/* rwd-hardening */
img,video{max-width:100%;height:auto}
p,li,dd,td{overflow-wrap:break-word}
@media(max-width:640px){html,body{overflow-x:hidden}}
image-slot::part(ring){display:none!important}
@keyframes lu-marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.lu-track{scrollbar-width:none}
.lu-track::-webkit-scrollbar{display:none}
image-slot#cert-g::part(frame),image-slot#cert-kenko::part(frame){background:#ffffff}
/* ===== 動的ブロック（Cuezilla parts222系）＝ add.css 相当 ===== */
.parts222_section{background:#f4f3f1;padding:clamp(56px,8vw,110px) var(--padx,clamp(20px,10vw,100px))}
.parts222_section > h2{max-width:1800px;margin:0 auto clamp(30px,4vw,52px);font:700 clamp(22px,2.6vw,32px)/1.4 'Noto Sans JP';color:#141414;letter-spacing:.03em}
.parts222_wrap{max-width:1800px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:clamp(30px,4vw,60px)}
@media(min-width:1000px){.parts222_wrap{grid-template-columns:minmax(0,1fr) clamp(280px,26vw,340px)}}
.parts222_post_list{display:grid;grid-template-columns:1fr;gap:clamp(18px,2.2vw,28px)}
@media(min-width:600px){.parts222_post_list{grid-template-columns:1fr 1fr}}
.parts222_post_wrap{display:flex;flex-direction:column;background:#fff;color:#141414;text-decoration:none;transition:transform .3s ease}
.parts222_post_wrap:hover{transform:translateY(-4px)}
.parts222_post_img{position:relative;aspect-ratio:16/10;overflow:hidden;background:#e5e4e1}
.parts222_post_img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.parts222_post_wrap:hover .parts222_post_img img{transform:scale(1.05)}
.parts222_post_status{display:flex;align-items:center;gap:14px;padding:20px clamp(18px,2vw,26px) 0}
.parts222_post_date{font:400 13px/1 'Barlow';letter-spacing:.06em;color:#8a8a8a}
.parts222_post_category{font:600 11px/1 'Noto Sans JP';letter-spacing:.06em;color:#c8102e;border:1px solid #c8102e;padding:5px 10px}
.parts222_post_title-excerpt{padding:12px clamp(18px,2vw,26px) clamp(22px,2.4vw,30px)}
.parts222_post_title{margin:0;font:600 clamp(16px,1.6vw,19px)/1.65 'Noto Sans JP';color:#141414}
.parts222_pagenation{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:clamp(34px,4vw,54px)}
.parts222_pagenation a,.parts222_pagenation span{display:flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;font:500 14px/1 'Barlow';color:#141414;border:1px solid #d8d6d2;background:#fff;text-decoration:none;transition:background .25s ease,color .25s ease}
.parts222_pagenation a:hover{background:#141414;color:#fff;border-color:#141414}
.parts222_pagenation .pagination_num.current{background:#141414;color:#fff;border-color:#141414}
.parts222_sidebar_wrap{background:#fff;padding:clamp(22px,2vw,30px)}
.parts222_sidebar_wrap + .parts222_sidebar_wrap{margin-top:clamp(20px,2vw,28px)}
.parts222_sidebar_wrap h3{margin:0 0 6px;padding:0 0 14px;border-bottom:2px solid #141414;font:700 15px/1.4 'Noto Sans JP';color:#141414;letter-spacing:.06em}
.parts222_sidebar_wrap ul{list-style:none;margin:0;padding:0}
.parts222_sidebar_wrap li{border-bottom:1px solid #e6e4e0}
.parts222_sidebar_wrap li a{display:block;padding:14px 0;text-decoration:none;color:#141414}
.parts222_sidebar_date{display:block;font:400 12px/1 'Barlow';color:#8a8a8a;margin-bottom:6px}
.parts222_sidebar_post_title{margin:0;font:500 14px/1.65 'Noto Sans JP';color:#141414}
.category_post_count li a{display:flex;align-items:center;justify-content:space-between;gap:10px}
.parts222_sidebar_post_category{margin:0;font:500 14px/1.5 'Noto Sans JP';color:#141414}
.parts222_sidebar_post_category_count{font:500 12px/1 'Barlow';color:#8a8a8a;border:1px solid #d8d6d2;padding:5px 9px;min-width:30px;text-align:center}
.parts222_sidebar_wrap li a:hover .parts222_sidebar_post_title,.parts222_sidebar_wrap li a:hover .parts222_sidebar_post_category{color:#c8102e}
/* ===== 導入文（parts210系） ===== */
.parts210_section_content{background:#fff;padding:clamp(56px,7vw,96px) var(--padx,clamp(20px,10vw,100px)) 0}
.parts210_content_wrap{max-width:1800px;margin:0 auto}
.parts210_content{max-width:880px;margin:0 auto;font:400 clamp(16px,1.6vw,20px)/1.95 'Noto Sans JP';color:#3a3a3a}
.parts210_content p{margin:0 0 1em}
.parts210_content p:last-child{margin-bottom:0}
/* ===== フォーム本体（parts213系・フラット／装飾枠なし） ===== */
.contact_section{background:#fff;padding:clamp(36px,4.5vw,64px) var(--padx,clamp(20px,10vw,100px)) clamp(64px,9vw,120px)}
.parts213_section_form{max-width:1800px;margin:0 auto}
.parts213_form_wrap{max-width:880px;margin:0 auto}
.parts213_form_wrap form{display:flex;flex-direction:column;gap:clamp(24px,3vw,38px)}
.parts213_form_wrap dl{margin:0;display:flex;flex-direction:column;gap:12px}
.parts213_form_wrap dt{display:flex;align-items:center;gap:12px;font:700 clamp(15px,1.5vw,17px)/1.6 'Noto Sans JP';color:#141414}
.parts213_form_wrap .form_text_dt{align-items:flex-start;flex-wrap:wrap}
.parts213_form_wrap .form_text_dt > span:first-child{display:flex;flex-direction:column;gap:6px}
.required{flex:none;font:600 11px/1 'Noto Sans JP';letter-spacing:.06em;color:#fff;background:#c8102e;padding:5px 9px}
.attention{font:400 13px/1.6 'Noto Sans JP';color:#c8102e}
.parts213_form_wrap dd{margin:0}
.parts213_form_wrap input[type=text],.parts213_form_wrap input[type=email],.parts213_form_wrap textarea{width:100%;font:400 16px/1.7 'Noto Sans JP';color:#141414;background:#fff;border:1px solid #c9c7c3;padding:14px 16px}
.parts213_form_wrap input[type=text]:focus,.parts213_form_wrap input[type=email]:focus,.parts213_form_wrap textarea:focus{outline:2px solid #141414;outline-offset:1px;border-color:#141414}
.parts213_form_wrap textarea{min-height:200px;resize:vertical}
.parts213_form_wrap dd label{display:inline-flex;align-items:center;gap:10px;font:400 15px/1.6 'Noto Sans JP';color:#141414;margin:0 22px 12px 0;cursor:pointer}
.parts213_form_wrap dd input[type=checkbox]{width:20px;height:20px;accent-color:#c8102e;cursor:pointer}
.error{margin:8px 0 0;min-height:0;font:400 13px/1.5 'Noto Sans JP';color:#c8102e}
.contact_submit{margin-top:10px}
.contact_submit input[type=submit]{appearance:none;-webkit-appearance:none;cursor:pointer;font:600 16px/1 'Noto Sans JP';letter-spacing:.1em;color:#fff;background:#141414;border:none;padding:20px 52px;transition:background .25s ease}
.contact_submit input[type=submit]:hover{background:#c8102e}
@keyframes scrollcue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@keyframes ttl-overlay{0%{clip-path:inset(100% 0 0 0)}100%{clip-path:inset(0 0 0 0)}}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-delay:0ms!important}}

/* === レスポンシブ/hover 自動生成（renderVals束縛の静的化） === */
@media(max-width:899px){.dcx1{display:none!important;}}
.dcx2:hover{color:#c8102e;}
.dcx3:hover{background:#f4f3f1;color:#c8102e;}
.dcx4:hover{background:#a50d24;color:#fff;}
@media(max-width:899px){.dcx5{display:flex!important;}}
.dcx6:hover{color:#fff;}
.dcx7:hover{border-color:#c8102e;color:#c8102e;}
.dcx8:hover{--sc:1.15;}
@media(max-width:899px){.dcx9{grid-template-columns:1fr!important;}}
@media(max-width:639px){.dcx10{grid-template-columns:1fr!important;}}
.dcx11:hover{--sc:1.12;--bg:#141414;}
@media(max-width:899px){.dcx12{grid-template-columns:1fr 1fr!important;}}
@media(max-width:639px){.dcx12{grid-template-columns:1fr!important;}}
.dcx13:hover{--z:1.06;--o:.72;}
.dcx14:hover{--sc:1.15;background:#e01234;}
@media(max-width:899px){.dcx15{grid-template-columns:minmax(0,1fr)!important;}}
@media(max-width:899px){.dcx16{top:74px!important;z-index:20!important;background:#ffffff!important;padding:12px 0 10px!important;box-shadow:0 8px 18px rgba(0,0,0,.07)!important;}}
.dcx17:hover{--sc:1.12;--bg:#ffffff;}
@media(max-width:639px){.dcx18{grid-template-columns:64px 1fr!important;}}
@media(max-width:899px){.dcx19{order:1!important;}}
@media(max-width:899px){.dcx20{width:100%!important;display:none!important;}}
@media(max-width:1199px){.dcx21{padding:84px 0 44px 24px!important;}}
@media(max-width:899px){.dcx21{right:0!important;display:none!important;}}
@media(max-width:899px){.dcx22{color:#ffffff!important;text-shadow:0 2px 20px rgba(0,0,0,0.5)!important;}}
@media(max-width:899px){.dcx23{color:rgba(255,255,255,0.85)!important;text-shadow:0 2px 20px rgba(0,0,0,0.5)!important;}}
@media(max-width:899px){.dcx24{text-shadow:0 2px 20px rgba(0,0,0,0.5)!important;}}
@media(max-width:1199px){.dcx25{grid-template-columns:1fr!important;}}
@media(max-width:1199px){.dcx26{padding-right:0px!important;}}
.dcx27:hover{--cta:#141414;--sc:1.14;}
.dcx28:hover{animation-play-state:paused;}
@media(max-width:899px){.dcx29{text-align:center!important;}}
@media(max-width:899px){.dcx30{max-width:480px!important;}}
.dcx31:hover{--cta:#4d4d4d;--sc:1.14;}
@media(max-width:899px){.dcx32{grid-template-columns:1fr!important;width:100%!important;}}
.dcx33:hover{background:#c8102e;border-color:#c8102e;color:#141414;}
@media(max-width:899px){.dcx34{border-left:none!important;padding-left:0px!important;}}

/* ── decompose追補（ヘッダー/レスポンシブ/JS安全装置）───────────────── */
/* ヘッダー：スクロール影・現在ページ・PCドロップダウン(hover) */
header.is-scrolled{box-shadow:0 1px 20px rgba(0,0,0,.06);}
/*header nav a.is-current{color:#c8102e!important;}*/
.hdr-dd:hover .hdr-dd-menu{display:block!important;}
.hdr-dd:hover .hdr-caret{color:#c8102e!important;}
/* JS不動時のフォールバック（初期非表示要素を必ず見せる＝白画面/欠落防止） */
html:not(.js) #ov-menu{display:none!important;}
html:not(.js) [data-reveal]{clip-path:none!important;}


/* ===== 22_override.css ===== */
/* ============================================================
   案件override（追加CSS末尾に結合）。skinは不採用（cz-judgment §3）。
   受領CSSが CMSパーツ（お知らせ一覧 parts222／お問い合わせ parts213／導入 parts210）を
   自前でフルstyleしているため、汎用skinの!importantは逆に受領デザインを崩す。
   ============================================================ */
/* CueZilla自動パンくずを全ページ非表示（各下層ページが独自パンくずを持つ＝重複回避） */
[class*="_breadcrumb"],.p-breadcrumb{display:none!important;}
/* stickyヘッダー対策：theme_default の body{overflow-x:hidden} が position:fixed/sticky周辺を阻害するため clip へ */
body{overflow-x:clip;}

 .parts222_sidebar .parts222_sidebar_wrap h3{
    background-color: #ffffff!important;
    color: #000000!important;
    border-bottom: 2px solid!important;
}
.category_post_count ul li {
    border-left: none!important;
    border-right: none!important;
}
.parts222_section h2{
        color: #000000!important;
    text-align: left!important;
}
.p-top-blog .c-more:hover .c-more__arrow{background:#141414;transform:scale(1.14)}
.p-top-blog a img{transition:transform .6s cubic-bezier(.2,.6,.2,1)}
.p-top-blog a:hover img{transform:scale(1.04)}
.parts131415_blog_Z8VOAbl4yn.bg-color{
        padding-top: 1px!important;
    padding-bottom: 1px!important;
}
.parts213_section_form .contact_submit{
        margin: 0!important;
}
.parts222_post_wrap,.parts222_sidebar{
        max-width: 100%!important;
}

@media screen and (max-width: 991px){
    .required{
        padding: 2px!important;
    }
}
@media screen and (max-width: 520px) {
    .parts222_post_wrap .parts222_post_img{
        height: auto!important;
    }
    
}

@media screen and (max-width:1600px) and (min-width: 1200px){
	.dcx20{
	    width: 78%!important;
	}
}