/* Yawata Renewal Preview — 対象2ページのみ読み込み */
.ykpm *{box-sizing:border-box;}
html,body.ykp{overflow-x:hidden;}
html{scroll-behavior:smooth;}
.ykpm,.ykpFooter{background:#ffffff;font-family:'Noto Sans JP',system-ui,sans-serif;color:#23262b;-webkit-font-smoothing:antialiased;line-height:1.5;}
.ykpm{animation:pageFadeIn .6s ease both;}
.ykpFooter{background:#181b21;}
@keyframes pageFadeIn{0%{opacity:0;}100%{opacity:1;}}
.ykpm img{max-width:100%;}
.ykpm h1,.ykpm h2,.ykpm h3,.ykpm p{margin:0;font-family:'Noto Sans JP',sans-serif;}
.ykpm a{text-decoration:none;color:inherit;}
.ykpm button{font-family:inherit;border:none;background:none;padding:0;}
.ykpm .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 32px;font-size:14px;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:opacity .2s ease,transform .2s ease,box-shadow .2s ease;}
.ykpm .btn:hover{opacity:.86;transform:translateY(-2px);box-shadow:0 8px 16px rgba(22,56,154,.14);}
.ykpm .heroSlide{position:absolute;inset:0;opacity:0;animation:heroFade 10s infinite;background-color:#16389A;}
.ykpm .heroSlide:nth-child(2){animation-delay:5s;}
@keyframes heroFade{0%{opacity:0;}5%{opacity:1;}45%{opacity:1;}50%{opacity:0;}100%{opacity:0;}}
.ykpm .heroTag{position:absolute;left:28px;bottom:28px;background:rgba(0,0,0,.45);color:#fff;font-size:11px;letter-spacing:.08em;padding:6px 12px;}
.ykpm .heroTitle,.ykpm .heroInner p{animation:heroRise .8s ease both;}
.ykpm .heroInner p{animation-delay:.12s;}
@keyframes heroRise{0%{opacity:0;transform:translateY(14px);}100%{opacity:1;transform:translateY(0);}}
.ykpm .card{display:block;background:#ffffff;border:1px solid #e7e3da;transition:transform .25s ease,box-shadow .25s ease;overflow:hidden;}
.ykpm .card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(22,56,154,.10);}
.ykpm .workImg{aspect-ratio:4/3;background:linear-gradient(135deg,#e9e6dd,#d9d5c9);transition:transform .35s ease;}
.ykpm .card:hover .workImg{transform:scale(1.04);}
.ykpm .star{width:16px;height:16px;fill:#fff100;}
.ykpFooter .snsIcon{width:38px;height:38px;border-radius:50%;background:#242830;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,opacity .2s ease;}
.ykpFooter .snsIcon:hover{transform:translateY(-3px);opacity:.85;}
.ykpm .catRow{transition:padding-left .2s ease,background .2s ease;}
.ykpm .catRow:hover{padding-left:20px !important;background:#faf9f6;}
.ykpm .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1);}
.ykpm .reveal.is-in{opacity:1;transform:translateY(0);}
.no-js .reveal{opacity:1;transform:none;}
/* 管理バー表示時のsticky調整 */
@media (prefers-reduced-motion: reduce){
 .ykpm .reveal{opacity:1;transform:none;transition:none;}
 .ykpm *{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;}
 html{scroll-behavior:auto;}
}
@media (max-width:860px){
 .ykpm #top{min-height:360px;}
 .ykpm .heroInner{padding-top:64px !important;padding-bottom:64px !important;}
 .ykpm .heroTitle{font-size:36px !important;}
 .ykpm .entryCard{flex-direction:column !important;}
 .ykpm .entryImgPanel{flex:1 1 auto !important;width:100% !important;border-right:none !important;border-left:none !important;border-bottom:4px solid #ff5136;}
 .ykpm .philoGrid,.ykpm .philoHero,.ykpm .newsGrid{grid-template-columns:1fr !important;}
 .ykpm .philoHero{gap:32px !important;}
 .ykpm .worksGrid,.ykpm .igGrid{grid-template-columns:repeat(2, minmax(0,1fr)) !important;}
 .ykpFooter .footerGrid{grid-template-columns:1fr !important;gap:32px !important;}
 .ykpm .voiceCard{padding:24px 20px !important;}
}
@media (max-width:640px){
 .ykpm section,.ykpFooter{padding-left:20px !important;padding-right:20px !important;}
 .ykpm .btn{padding:13px 20px !important;font-size:13px !important;}
 .ykpm #service,.ykpm #philosophy{padding-top:64px !important;padding-bottom:56px !important;}
 .ykpm #service h2{font-size:21px !important;}
 .ykpm .entryText{padding:26px 22px !important;}
 .ykpm #philosophy h2{font-size:24px !important;}
 .ykpm .philoLead{font-size:21px !important;line-height:1.7 !important;}
 .ykpm .philoPanel{padding:28px 22px !important;}
 .ykpm #works{padding-top:56px !important;}
 .ykpm .worksSubtitle{font-size:19px !important;}
 .ykpm .ratingBanner{padding:40px 20px 8px !important;}
 .ykpm .ratingBanner svg{width:24px !important;height:24px !important;}
 .ykpm #voice{padding-top:40px !important;padding-bottom:56px !important;}
 .ykpm .budgetSection,.ykpm .igSection,.ykpm .newsSection{padding-top:56px !important;padding-bottom:56px !important;}
 .ykpm .budgetCases{grid-template-columns:1fr !important;}
 .ykpm .infoCard{padding:24px !important;}
 .ykpm #contact{padding-top:48px !important;padding-bottom:48px !important;}
 .ykpFooter{padding-top:40px !important;padding-bottom:20px !important;}
 .ykpFooter .footerBrand{text-align:center;}
 .ykpFooter .footerBrand > div,.ykpFooter .footerSns{justify-content:center !important;}
}
@media (max-width:520px){
 .ykpm .heroTitle{font-size:28px !important;}
 .ykpm .worksGrid{grid-template-columns:1fr !important;}
 .ykpm .catRow > div:nth-child(2) > div{font-size:15px !important;}
 .ykpm .catRow > div:first-child{width:64px !important;height:52px !important;}
}

/* footer scope */
.ykpFooter *{box-sizing:border-box;}
.ykpFooter a{text-decoration:none;color:inherit;}
.ykpFooter p{margin:0;}
/* ===== 既存ヘッダー：住宅リフォーム プルダウン ===== */
.ykp-dd{position:relative;}
.ykp-dd-panel{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#fff;box-shadow:0 16px 32px rgba(0,0,0,.18);min-width:190px;padding:8px 0;margin:0;list-style:none;z-index:1000;}
.ykp-dd:hover > .ykp-dd-panel,.ykp-dd:focus-within > .ykp-dd-panel{display:block;}
.ykp-dd-panel li{display:block;margin:0;padding:0;}
.ykp-dd-panel a{display:block;padding:11px 20px;font-size:13px;color:#2b2f36;white-space:nowrap;text-decoration:none;}
.ykp-dd-panel a:hover{background:#faf9f6;color:#16389A;}
.ykpm .ykpReview{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;}
/* テーマの .btn（幅240px固定）を打ち消し、ボタン内改行を防止 */
.ykpm .btn{width:auto !important;max-width:100% !important;height:auto !important;min-height:0 !important;white-space:nowrap;line-height:1.4;}
