*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{margin:0;background:#EDEDED;color:#161616;font-family:'Zen Kaku Gothic New',sans-serif;font-size:17px;line-height:1.9;font-feature-settings:"palt";overflow-x:clip;}
main{background:#fff;position:relative;overflow-x:clip;display:block;}
img{max-width:100%;}
@keyframes drift{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes cueMove{0%{transform:translateY(0);opacity:1}70%{opacity:.2}100%{transform:translateY(20px);opacity:0}}
@keyframes spinSlow{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
@keyframes amLoaderFailsafe{to{opacity:0;visibility:hidden;pointer-events:none;}}
[data-loader]{animation:amLoaderFailsafe 0s linear 12s forwards;}
@media (prefers-reduced-motion: reduce){*{animation:none !important;}[data-loader]{display:none !important;}}
[data-burger]{display:none;}
@media (max-width:920px){
  [data-navlink]{display:none !important;}
  [data-burger]{display:flex !important;}
}
@media (min-width:921px){ [data-drawer]{display:none !important;} }
@media (max-width:840px){
  [data-g2]{grid-template-columns:1fr !important;}
  [data-g2] [data-order-first]{order:-1;}
  [data-g2] > div:has(img){order:-1 !important;}
}
@media (max-width:640px){
  [data-specrow]{grid-template-columns:1fr !important;}
  [data-specrow] dt{padding-bottom:6px !important;}
  [data-scrollcue]{display:none !important;}
  [data-edge-flow]{right:14px !important;bottom:-22px !important;width:132px !important;height:94px !important;}
}
@media (max-width:840px){ [data-g3]{grid-template-columns:1fr !important;gap:32px !important;} }
@media (min-width:641px){ [data-msg-pad]{min-height:auto !important;padding-top:clamp(56px,6vh,88px) !important;padding-bottom:clamp(56px,6vh,88px) !important;} [data-msg-grad]{height:clamp(300px,42vh,440px) !important;} }
@media (max-width:600px){ header a[href="/"] [data-brandsub]{display:none !important;} header a[href="/"] [data-brandname]{font-size:16px !important;} }
@media (max-width:1024px){
  [data-career]{flex-direction:column !important;align-items:center !important;gap:0 !important;}
  [data-career] [data-cstep]{flex-direction:column !important;gap:0 !important;width:min(340px,100%);align-items:center;}
  [data-career] [data-cstep] > span:nth-child(1){width:100%;text-align:center;box-sizing:border-box;}
  [data-career] [data-cstep] > span:nth-child(2){transform:rotate(90deg);margin:9px 0;font-size:18px;}
}
[data-flowlist] li:last-child{padding-bottom:4px !important;}
.btn-cta{display:inline-flex;align-items:center;gap:14px;background:#E85D0C;color:#fff;text-decoration:none;font-weight:700;font-size:17px;letter-spacing:.06em;padding:19px 44px;border-radius:2px;}
.cta-band{position:relative;background:#102E4E;color:#fff;padding:clamp(76px,10vw,140px) 0;text-align:center;overflow:hidden;}
.cta-band-inner{max-width:900px;margin:0 auto;padding:0 clamp(18px,4vw,52px);}
.head-bar{font-family:'Shippori Mincho B1',serif;font-weight:700;font-size:clamp(21px,2.5vw,30px);letter-spacing:.03em;padding-left:16px;border-left:5px solid #E85D0C;line-height:1.5;}
.page-hero{position:relative;min-height:clamp(400px,56vh,600px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;isolation:isolate;}
.ghost{font-family:'Anton',sans-serif;line-height:.8;color:transparent;white-space:nowrap;pointer-events:none;}
header a,header button,[data-drawer] a,main a,main button,footer a{transition:color .25s ease,background-color .25s ease,opacity .25s ease,transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s ease,border-color .25s ease;}
main a.btn-cta:hover{opacity:1;transform:translateY(-3px);box-shadow:0 16px 34px rgba(232,93,12,.42);}
main a:hover{opacity:.9;transform:translateY(-2px);}
header [data-navlink]:not([href="/form/inquiry"]):hover{color:#E85D0C;opacity:1;transform:translateY(-2px);}
header a[href="/form/inquiry"]:hover{opacity:1;transform:translateY(-3px);box-shadow:0 14px 30px rgba(232,93,12,.45);}
main a[style*="1.5px solid #153C63"]:hover{background:#153C63;color:#fff;transform:translateY(-3px);}
main a[style*="1.5px solid rgba(255,255,255"]:hover{background:#fff;color:#153C63;transform:translateY(-3px);}
main a[style*="background:#fff"]:hover{transform:translateY(-8px);box-shadow:0 24px 46px rgba(21,60,99,.24);opacity:1;}
main a[data-blogcard]:hover{transform:translateY(-6px);opacity:1;}
main a[data-blogcard]:hover h2{color:#E85D0C;}
footer a:hover{opacity:1;color:#ffb27a;text-decoration:underline;text-underline-offset:5px;}
footer a[href="/form/inquiry"]:hover{transform:translateX(5px);box-shadow:none;color:#F5883B;text-decoration:none;opacity:1;}
header a span[style*="Archivo"],main a span[style*="Archivo"]{transition:transform .3s cubic-bezier(.22,.61,.36,1);}
header a:hover span[style*="Archivo"],main a:hover span[style*="Archivo"]{display:inline-block;transform:translateX(7px);}
main a[style*="border-bottom:1.5px solid #153C63"]:hover{opacity:1;transform:translateY(-2px);border-color:#E85D0C;color:#E85D0C;}
main a[style*="background:#153C63"]:hover{opacity:1;transform:translateY(-3px);box-shadow:0 14px 30px rgba(21,60,99,.42);}
main a[style*="border-top:1px solid #dcdcdc"]:hover{opacity:1;transform:translateX(10px);background:rgba(232,93,12,.06);}
header [data-navgroup]:hover [data-submenu]{opacity:1 !important;visibility:visible !important;transform:translateX(-50%) translateY(0) !important;}
header [data-submenu] a:hover{background:#F0F0F0;color:#E85D0C;opacity:1;transform:none;}
[data-drawer] a:hover{color:#F5883B;opacity:1;transform:translateX(6px);}
footer [data-smlink]:hover,footer [data-smhead]:hover{color:#F5883B;transform:translateX(5px);text-decoration:none;opacity:1;}

:root{
  
  --dyn-bg:        var(--background-color, #ffffff);   
  --dyn-surface:   var(--temporary-color, #f4f4f2);    
  --dyn-text:      var(--text-color, #222222);         
  --dyn-heading:   var(--text-color, #111111);         
  --dyn-muted:     var(--sub-color, #8a8a8a);          
  --dyn-border:    var(--sub-color, #dddddd);          
  --dyn-accent:    var(--main-color, #1e3a5f);         
  --dyn-accent-2:  var(--link-color, var(--main-color, #1e3a5f)); 
  --dyn-on-accent: #ffffff;                             

  --dyn-font-display: var(--font-display, "Noto Serif JP","Yu Mincho",serif);
  --dyn-font-body:    var(--font-body, "Noto Sans JP","Yu Gothic",sans-serif);
  --dyn-font-numeric: var(--font-numeric, "EB Garamond","Noto Serif JP",serif);

  --dyn-radius: 6px;
  
  --dyn-card-min: 300px;
  --dyn-gap: 32px;
}

[class*="_breadcrumb"], .p-breadcrumb{ background:var(--dyn-bg) !important; }
.p-breadcrumb__inner{
  list-style:none; margin:0 auto; padding:14px 24px;
  max-width:1200px; display:flex; flex-wrap:wrap; align-items:center;
}
.p-breadcrumb__item{
  display:inline-flex; align-items:center;
  color:var(--dyn-muted) !important; font-family:var(--dyn-font-body);
  font-size:.78rem; letter-spacing:.04em;
}
.p-breadcrumb__item a{ color:var(--dyn-muted) !important; text-decoration:none; }
.p-breadcrumb__item a:hover{ color:var(--dyn-accent-2) !important; text-decoration:underline; }
.p-breadcrumb__item:last-child{ color:var(--dyn-text) !important; }   

.p-breadcrumb__item + .p-breadcrumb__item::before{
  content:"\203A"; margin:0 .6em; color:var(--dyn-border) !important; font-size:.95em;
}
.p-breadcrumb meta{ display:none; }   

[class*="_article_header"] .ja, [class*="_article_header"] h1, [class*="_article_header"] h2{
  color:var(--dyn-heading) !important; font-family:var(--dyn-font-display) !important;
  text-shadow:0 2px 14px rgba(0,0,0,.5) !important;
}
[class*="_article_header"] .en{ color:var(--dyn-muted) !important; font-family:var(--dyn-font-numeric) !important; letter-spacing:.1em; text-shadow:0 1px 10px rgba(0,0,0,.5) !important; }

.pagination_num, .pagination_prev, .pagination_next{
  font-family:var(--dyn-font-numeric); color:var(--dyn-text) !important;
  border:1px solid var(--dyn-border) !important; border-radius:var(--dyn-radius);
  min-width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; text-decoration:none;
}
.pagination_num.current{ background:var(--dyn-accent) !important; border-color:var(--dyn-accent) !important; color:var(--dyn-on-accent) !important; }
.pagination_num:hover, .pagination_prev:hover, .pagination_next:hover{ border-color:var(--dyn-accent-2) !important; color:var(--dyn-accent-2) !important; }

[class*="_pagenation"] a{ border-color:var(--dyn-accent) !important; color:var(--dyn-text) !important; }
[class*="_pagenation"] span.current, [class*="_pagenation"] .current, [class*="_pagenation"] .active{
  background:var(--dyn-accent) !important; border-color:var(--dyn-accent) !important; color:var(--dyn-on-accent) !important;
}
[class*="_pagenation"] a:hover{ border-color:var(--dyn-accent-2) !important; color:var(--dyn-accent-2) !important; }
.pe-none{ opacity:.3; pointer-events:none; }

[class*="_post_list"], [class*="_post_wrap"]{ } 

[class*="_post_list"]{ display:grid !important; grid-template-columns:repeat(auto-fill, minmax(var(--dyn-card-min), 1fr)) !important; gap:var(--dyn-gap) !important; }

[class*="_post_wrap"]{
  display:block !important; width:auto !important; max-width:none !important; text-decoration:none;
  background:var(--dyn-surface) !important; border:1px solid var(--dyn-border) !important;
  border-radius:var(--dyn-radius); overflow:hidden;
  transition:transform .3s ease, border-color .3s ease;
}
[class*="_post_wrap"]:hover{ transform:translateY(-4px); border-color:var(--dyn-accent-2) !important; }
[class*="_post_img"]{ width:100%; display:block; border-radius:0; }

[class*="_post_status"]{ border:none !important; background:transparent !important; margin:14px 16px 0 !important; padding:0 !important; display:flex !important; gap:10px; align-items:center; }
[class*="_post_title-excerpt"]{ padding:10px 16px 16px !important; }
[class*="_post_title"]{ font-family:var(--dyn-font-display) !important; color:var(--dyn-heading) !important; }
[class*="_post_excerpt"]{ color:var(--dyn-muted) !important; }
[class*="_post_date"]{ font-family:var(--dyn-font-numeric) !important; color:var(--dyn-muted) !important; }

[class*="_post_category"], [class*="_post_status"] > span:last-child{
  width:auto; max-width:none !important;
  background:var(--dyn-bg) !important; border:1px solid var(--dyn-accent) !important;
  border-radius:var(--dyn-radius); padding:2px 8px; color:var(--dyn-accent) !important;
}
.parts-blog-ex-tag_wrap{ display:flex; flex-wrap:wrap; gap:6px; padding:0 16px 14px; }
.parts-blog-ex_tag{ font-size:.72rem; color:var(--dyn-muted) !important; background:var(--dyn-surface) !important; border:1px solid var(--dyn-border); border-radius:var(--dyn-radius); padding:2px 8px; }

[class*="_section"]:has([class*="_post_list"]) > h2,
[class*="_section"] > h2.f_meiryo{ display:none !important; }

[class*="_post_list"]::after{ content:none !important; display:none !important; }

[class*="_sidebar"], .recent_posts_wrap{ color:var(--dyn-text); }
[class*="_sidebar_post_title"], .recent_post_title{ font-family:var(--dyn-font-display) !important; color:var(--dyn-heading) !important; }
[class*="_sidebar_date"], .recent_post_date{ font-family:var(--dyn-font-numeric) !important; color:var(--dyn-muted) !important; }

[class*="_sidebar_post_category_count"]{ background:var(--dyn-surface) !important; color:var(--dyn-text) !important; border:1px solid var(--dyn-border); border-radius:var(--dyn-radius); padding:0 8px !important; }

.parts-blog-ex_text{ font-family:var(--dyn-font-body); color:var(--dyn-text) !important; line-height:1.9; }
.parts-blog-ex_text h2, .parts-blog-ex_text h3{ font-family:var(--dyn-font-display) !important; color:var(--dyn-heading) !important; }
.signature_wrap{ font-family:var(--dyn-font-display); color:var(--dyn-muted) !important; border-top:1px solid var(--dyn-border); padding-top:16px; }
.slick-prev, .slick-next{ color:var(--dyn-accent-2) !important; }

.contact_section, [class*="_section_form"], [class*="_section_content"], [class*="_content_wrap"], [class*="_content"]{ background:var(--dyn-bg) !important; color:var(--dyn-text) !important; }
[class*="_form_wrap"]{ max-width:720px; margin:0 auto; }
[class*="_form_wrap"] label, [class*="_form_wrap"] dt, [class*="_form_wrap"] .ja, [class*="_form_wrap"] .en{ color:var(--dyn-text) !important; }

[class*="_form_wrap"] dd input:not([type="checkbox"]):not([type="radio"]),
[class*="_form_wrap"] dd select{ width:100% !important; max-width:none !important; padding:14px 16px !important; font-size:16px !important; min-height:54px !important; background:var(--dyn-surface) !important; color:var(--dyn-text) !important; border:1px solid var(--dyn-border) !important; border-radius:var(--dyn-radius); }
[class*="_form_wrap"] textarea, .form_textarea textarea{ width:100% !important; padding:14px 16px !important; font-size:16px !important; min-height:220px !important; background:var(--dyn-surface) !important; color:var(--dyn-text) !important; border:1px solid var(--dyn-border) !important; border-radius:var(--dyn-radius); }

[class*="_form_wrap"] input[type="checkbox"], [class*="_form_wrap"] input[type="radio"]{ width:18px !important; height:18px !important; min-height:0 !important; padding:0 !important; margin:0 8px 0 0 !important; vertical-align:-3px; accent-color:var(--dyn-accent); flex:none !important; }

.required{ display:inline-flex !important; align-items:center !important; justify-content:center !important; line-height:1 !important; white-space:nowrap !important; padding:6px 12px !important; border-radius:var(--dyn-radius) !important; background:var(--dyn-accent) !important; color:var(--dyn-on-accent) !important; }
.error{ color:var(--dyn-accent-2) !important; }

.form_textarea, .form_text_dt{ border:none !important; background:transparent !important; }

.contact_submit, .contact_submit button, .contact_submit input{ background:var(--dyn-accent) !important; color:var(--dyn-on-accent) !important; border:none !important; border-radius:var(--dyn-radius) !important; }

.contact_submit input[name="back"]{ background:transparent !important; color:var(--dyn-text) !important; border:1px solid var(--dyn-border) !important; }

.contact_submit input[disabled]{ opacity:.5; cursor:not-allowed; }

.label_file_upload{ display:block; width:100%; padding:12px 14px; cursor:pointer;
  background:var(--dyn-surface) !important; color:var(--dyn-text) !important;
  border:1px solid var(--dyn-border) !important; border-radius:var(--dyn-radius); }
.label_file_upload button{ background:var(--dyn-bg) !important; color:var(--dyn-text) !important;
  border:1px solid var(--dyn-border) !important; border-radius:var(--dyn-radius) !important; pointer-events:none; }
.label_file_upload span, #file-chosen, [id$="filechosen"]{ color:var(--dyn-muted) !important; }
.des{ color:var(--dyn-muted) !important; }

.attention{ color:var(--dyn-muted) !important; }

[class*="_form_wrap"] dd input.zip:not([type="checkbox"]):not([type="radio"]){ width:9em !important; max-width:9em !important; display:inline-block; margin-right:8px; }

.privacypolicy{ background:var(--dyn-surface) !important; border:1px solid var(--dyn-border); border-radius:var(--dyn-radius); padding:16px; color:var(--dyn-muted) !important; }
.privacypolicy-link{ color:var(--dyn-accent-2) !important; }

[class*="_content"] [class*="btn"], [class*="_content"] a[class*="round"]{ border-radius:var(--dyn-radius) !important; }

.formWrapbg, .formWrap, .form, [class*="formSec"]{ background:var(--dyn-bg) !important; color:var(--dyn-text) !important; }
.formWrap{ max-width:720px; margin:0 auto; }
.formBox{ margin-bottom:20px; }
.formBox dt, .formBox label{ color:var(--dyn-text) !important; }
.formBox dd input:not([type="checkbox"]):not([type="radio"]),
.formBox dd select,
.formWrap input[type="text"], .formWrap input[type="email"], .formWrap input[type="tel"]{
  width:100% !important; max-width:none !important; padding:14px 16px !important; font-size:16px !important;
  min-height:54px !important; background:var(--dyn-surface) !important; color:var(--dyn-text) !important;
  border:1px solid var(--dyn-border) !important; border-radius:var(--dyn-radius);
}
.formBox dd textarea, .formWrap textarea{
  width:100% !important; padding:14px 16px !important; font-size:16px !important; min-height:220px !important;
  background:var(--dyn-surface) !important; color:var(--dyn-text) !important;
  border:1px solid var(--dyn-border) !important; border-radius:var(--dyn-radius);
}
.formWrap input[type="checkbox"], .formWrap input[type="radio"]{
  width:18px !important; height:18px !important; min-height:0 !important; padding:0 !important; margin:0 8px 0 0 !important;
  vertical-align:-3px; accent-color:var(--dyn-accent); flex:none !important;
}

.req, .formBox .req{
  display:inline-flex !important; align-items:center !important; justify-content:center !important; line-height:1 !important;
  white-space:nowrap !important; padding:6px 12px !important; border-radius:var(--dyn-radius) !important;
  background:var(--dyn-accent) !important; color:var(--dyn-on-accent) !important;
}
.wpcf7-not-valid-tip, .wpcf7-response-output{ color:var(--dyn-accent-2) !important; }

input.wpcf7-submit, .formWrap button[type="submit"]{
  background:var(--dyn-accent) !important; color:var(--dyn-on-accent) !important;
  border:none !important; border-radius:var(--dyn-radius) !important;
  min-height:54px !important; padding:14px 28px !important; font-size:16px !important; cursor:pointer;
}

[class*="_section"] h2, [class*="_section"] h3{
  border-radius:0 !important; background:transparent !important; border:none !important; text-align:inherit !important;
}

.parts040506_notice-news{ background:var(--dyn-bg) !important; color:var(--dyn-text) !important; }
.parts040506_notice-news *{ color:var(--dyn-text) !important; }
.parts040506_notice-news .title, .parts040506_notice-news .title a{ color:var(--dyn-heading) !important; }
.parts040506_notice-news [class*="date"], .parts040506_notice-news .f_yugothic{ font-family:var(--dyn-font-numeric) !important; color:var(--dyn-muted) !important; }
.parts040506_notice-news .more{ white-space:nowrap !important; color:var(--dyn-accent-2) !important; }
.parts040506_notice-news a{ color:var(--dyn-accent-2) !important; }

[class*="_blog_title_wrap"]{ font-family:var(--dyn-font-display) !important; color:var(--dyn-heading) !important; }
[class*="_blog_thumbnail"]{ border-radius:var(--dyn-radius); }

[class*="_blog"] .card{ background:var(--dyn-surface) !important; border-color:var(--dyn-border) !important; border-radius:var(--dyn-radius) !important; }
[class*="_blog"] .card-title, [class*="_blog"] .card-text{ color:var(--dyn-text) !important; }
[class*="_blog"] .card-title{ font-family:var(--dyn-font-display) !important; }

[class*="parts"] .text-dark{ color:var(--dyn-text) !important; }
[class*="parts"] .bg-light{ background:var(--dyn-surface) !important; }
.card-header.bg-light{ background:var(--dyn-accent) !important; color:var(--dyn-on-accent) !important; }

.privacy{ max-width:880px; margin:0 auto; padding:64px 24px; color:var(--dyn-text); font-family:var(--dyn-font-body); line-height:1.9; }
.privacy__title{ font-family:var(--dyn-font-display); color:var(--dyn-heading); font-size:clamp(1.8rem,4vw,2.6rem); }
.privacy__subtitle{ font-family:var(--dyn-font-display); color:var(--dyn-heading); font-size:1.2rem; margin-top:8px; }
.privacy__lead{ color:var(--dyn-muted); margin:24px 0 40px; }
.privacy-item{ margin-bottom:32px; }
.privacy-item__title{ font-family:var(--dyn-font-display); color:var(--dyn-heading); border-left:3px solid var(--dyn-accent); padding-left:12px; margin-bottom:12px; }
.privacy-item__body{ color:var(--dyn-text); }

.privacy-item__list{ list-style:none; counter-reset:pp; margin:8px 0; padding:0; }
.privacy-item__list li{ counter-increment:pp; padding-left:2.2em; text-indent:-2.2em; margin:4px 0; color:var(--dyn-text); }
.privacy-item__list li::before{ content:"(" counter(pp) ") "; }

.subpage-header{ position:relative; padding:calc(72px + var(--fixed-header-h, 0px)) 24px 72px; background:var(--dyn-surface); text-align:center; overflow:hidden; }
.subpage-header__bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.45; z-index:0; }
.subpage-header__inner{ position:relative; z-index:1; }
.subpage-header__title{ font-family:var(--dyn-font-display); color:var(--dyn-heading); font-size:clamp(1.8rem,5vw,3rem); line-height:1.3; text-shadow:0 2px 14px rgba(0,0,0,.5); }
.subpage-header__en{ font-family:var(--dyn-font-numeric); color:var(--dyn-muted); letter-spacing:.12em; margin-top:8px; }

.thanks, .notfound{ max-width:760px; margin:0 auto; padding:calc(80px + var(--fixed-header-h, 0px)) 24px 96px; text-align:center; }

.not-found{ padding-top: calc(var(--fixed-header-h, 0px) + 24px); }
.thanks__title, .notfound__title{ font-family:var(--dyn-font-display); color:var(--dyn-heading); font-size:clamp(1.8rem,5vw,2.6rem); line-height:1.3; margin-bottom:28px; }
.thanks__lead, .notfound__lead{ color:var(--dyn-text); line-height:2; margin-bottom:40px; }
.thanks__action, .notfound__action{ margin-top:8px; }

mark, .mark{
  background-color:transparent !important; color:inherit !important;
  padding:0 !important; border-radius:0 !important;
}

a:hover{ color:inherit; }

a[href^="tel:"]{ white-space:nowrap; }





/* 追加*/
/* ブログ */
.recent_posts_wrap .recent_post_title {
    color: #ffffff !important;
}
.parts222_sidebar_post_category {
    color:#000000 !important;
}

/* 施工実績*/
.parts228_post_wrap {
    border: none !important;
    background: #ffffff !important;
    border-radius: 0 !important;
}
/* お問い合わせ*/
.contact_submit input[name="back"] {
    color: #ffffff !important;
}