@charset "UTF-8";

/* --- Codex externalized page styles --- */
@media(max-width:899px){
html:has(body.page-about),html:has(body.page-contact),html:has(body.page-jiko-baikyaku),html:has(body.page-kodokushi-baikyaku),html:has(body.page-gomiyashiki-baikyaku),html:has(body.page-saikenchiku-fuka-baikyaku),html:has(body.page-kyoyu-mochibun-baikyaku),html:has(body.page-shakuchiken-baikyaku),html:has(body.page-sokochi-baikyaku),html:has(body.page-sozoku-fudosan-baikyaku),html:has(body.page-wakeari-kaitori),html:has(body.page-service),html:has(body.page-blog),html:has(body.page-blog-detail){width:100%;max-width:100%;overflow-x:hidden;}
body.page-about,body.page-contact,body.page-jiko-baikyaku,body.page-kodokushi-baikyaku,body.page-gomiyashiki-baikyaku,body.page-saikenchiku-fuka-baikyaku,body.page-kyoyu-mochibun-baikyaku,body.page-shakuchiken-baikyaku,body.page-sokochi-baikyaku,body.page-sozoku-fudosan-baikyaku,body.page-wakeari-kaitori,body.page-service,body.page-blog,body.page-blog-detail{border-top-width:7rem;width:100%;max-width:100%;overflow-x:hidden;}
.jiko-detail,.blog-page,.blog-detail,.service-page{width:100%;max-width:100vw;overflow-x:hidden;overflow-x:clip;}
.jiko-detail > section,.blog-page > section,.blog-detail > article,.service-page > section{width:100%;max-width:100vw;overflow-x:hidden;overflow-x:clip;}
.jiko-breadcrumb{padding:1rem 2rem;font-size:1.15rem;}
.jiko-detail-hero{display:flex;flex-direction:column;width:100%;padding:3.2rem 2rem 4.2rem;background:#FFF;overflow:hidden;}
.jiko-detail-hero::after{right:-5rem;bottom:-4rem;width:18rem;height:18rem;}
.jiko-detail-hero__text{order:2;width:100%;max-width:none;}
.jiko-detail-hero h1{font-size:2.7rem;line-height:1.35;overflow-wrap:anywhere;}
.jiko-detail-hero__catch{display:block;font-size:1.45rem;line-height:1.85;padding:1.45rem 1.5rem;}
.jiko-detail-hero__lead{font-size:1.45rem;}
.jiko-detail-hero__image{order:1;width:100%;max-width:34rem;margin:0 auto 2.4rem;}
.jiko-detail-hero__image img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;}
.jiko-hero__actions{gap:.8rem;}
.jiko-btn{width:100%;min-width:0;min-height:4.4rem;font-size:1.35rem;padding:1rem 1.4rem;}
.jiko-section,.jiko-message{padding:5rem 2rem;}
.jiko-section-title{margin-bottom:2.8rem;}
.jiko-detail .jiko-detail-hero + .jiko-section.bg .jiko-section-title::before{width:min(31rem,84vw);margin-bottom:1rem;}
.jiko-detail .jiko-section:has(.jiko-card-grid) .jiko-section-title::before{width:10rem;margin-bottom:.8rem;}
.jiko-detail .jiko-promise-section .jiko-section-title::before,.jiko-detail .jiko-flow-section .jiko-section-title::before,.jiko-detail .jiko-benefit-section .jiko-section-title::before{width:10rem;margin-bottom:.8rem;}
.jiko-detail .jiko-detail-hero + .jiko-section.bg:has(.jiko-check-list) .jiko-section-title::before{width:min(31rem,84vw);}
.jiko-section-title h2,.jiko-message h2{font-size:2.45rem;line-height:1.45;overflow-wrap:anywhere;}
.jiko-card-grid--3,.jiko-card-grid--4,.jiko-check-list,.jiko-type-list,.jiko-message{display:block;}
.jiko-card + .jiko-card,.jiko-flow-card + .jiko-flow-card,.jiko-check-list li + li,.jiko-type-list li + li{margin-top:1.2rem;}
.jiko-card,.jiko-flow-card,.jiko-check-list li,.jiko-type-list li,.jiko-text-block,.jiko-internal-link,.jiko-map,.jiko-company-table,.jiko-company-table dl,.jiko-final-cta,.blog-card,.service-card,.service-list{width:100%;max-width:100%;}
.jiko-card,.jiko-flow-card{padding:2.2rem 2rem;}
.jiko-card p,.jiko-flow-card p,.jiko-section p,.jiko-section li,.jiko-faq dd{font-size:1.45rem;line-height:1.95;}
.jiko-detail .jiko-flow-section .jiko-card-grid--4{display:block;max-width:none;}
.jiko-detail .jiko-flow-section .jiko-card-grid--4::before{content:"";position:absolute;left:3.9rem;right:auto;top:2.4rem;bottom:2.4rem;width:.24rem;height:auto;background:#085caf;background-size:auto;}
.jiko-detail .jiko-flow-section .jiko-flow-card{align-items:flex-start;text-align:left;min-height:0;padding:2rem 1.8rem 2rem 7.8rem;}
.jiko-detail .jiko-flow-section .jiko-flow-card + .jiko-flow-card{margin-top:2rem;}
.jiko-detail .jiko-flow-section .jiko-flow-card:not(:last-child)::after{top:auto;right:auto;left:3.15rem;bottom:-1.35rem;width:1.6rem;height:1.6rem;transform:none;background:#085caf;border:0;clip-path:polygon(50% 100%,0 0,32% 0,50% 56%,68% 0,100% 0);}
.jiko-detail .jiko-flow-section .jiko-flow-card span{position:absolute;left:1.5rem;top:1.8rem;width:4.8rem;height:4.8rem;margin:0;font-size:1rem;}
.jiko-detail .jiko-flow-section .jiko-flow-card h3{font-size:1.75rem;}
.jiko-detail .jiko-card-grid .jiko-card:has(> span){padding:5.4rem 2.3rem 2.7rem;min-height:28rem;background-size:100% 100%;}
.jiko-card span{left:1rem;font-size:8.8rem;}
.jiko-detail .jiko-card-grid .jiko-card:has(> span) h3{font-size:2.25rem;line-height:1.55;}
.jiko-check-list li{min-height:9.8rem;padding:2.6rem 2rem 2.6rem 6.2rem;}
.jiko-check-list li::before{left:.6rem;font-size:7.2rem;}
.jiko-text-block{padding:2.2rem 2rem;}
.jiko-text-block::after{right:-3rem;width:12rem;height:12rem;}
.jiko-type-list li{padding:1.5rem 1.5rem 1.5rem 4.3rem;}
.jiko-type-list li::before{left:1.5rem;}
.jiko-company-table dl{display:block;}
.jiko-company-table dt,.jiko-company-table dd{padding:1.4rem 1.6rem;}
.jiko-detail .jiko-message{display:flex;flex-direction:column;background:#FFF;background-image:none;}
.jiko-message__text{display:contents;}
.jiko-message__head{display:grid;grid-template-columns:10.4rem minmax(0,1fr);gap:1.6rem;align-items:center;margin-bottom:2.2rem;}
.jiko-message__head .jiko-eyebrow{margin-bottom:1rem;}
.jiko-message__head h2{font-size:clamp(2.05rem,5.8vw,2.35rem);line-height:1.55;}
.jiko-message__head h2 br:not(.sp_only){display:none;}
.jiko-message__icon{width:10.4rem;}
.jiko-message__text > .jiko-eyebrow,.jiko-message__text > h2{order:1;width:100%;}
.jiko-message__image{order:2;width:100%;margin:0 0 2.6rem;}
.jiko-message__head{order:1;}
.jiko-message__text > p{order:3;}
.page-about .jiko-message__image{margin:1.2rem 0 1.4rem;}
.page-about .jiko-message__image + p{margin-top:0;}
.page-about .jiko-message__image img{height:auto;aspect-ratio:auto;object-fit:contain;border-radius:0;}
.page-about .jiko-message__text > h2{font-size:clamp(2rem,5.35vw,2.28rem);line-height:1.45;overflow-wrap:normal;word-break:keep-all;}
.page-about .jiko-message__text > h2 span{white-space:nowrap;}
.about-ceo{display:block;}
.about-ceo__photo{max-width:28rem;margin:0 auto 2rem;}
.about-ceo__text{padding:2rem;border-radius:.8rem;}
.about-ceo__text p{font-size:1.43rem;line-height:1.95;}
.about-ceo__signature{text-align:left;}
.jiko-internal-link,.jiko-map{padding:2rem;}
.jiko-internal-link p{font-size:1.35rem;line-height:2;}
.jiko-section-lead--sp-left{text-align:left;}
.jiko-detail .jiko-faq__toggle{font-size:1.6rem;padding:1.5rem 4.8rem 1.5rem 5.6rem;}
.jiko-detail .jiko-faq__toggle::before{left:1.6rem;top:1.45rem;}
.jiko-detail .jiko-faq dd{padding-left:5.6rem;padding-right:1.6rem;}
.jiko-detail .jiko-faq dd.is-open{padding:1.6rem 1.6rem 1.9rem 5.6rem;}
.jiko-detail .jiko-faq dd::before{left:1.6rem;top:1.6rem;}
.jiko-detail .jiko-faq__toggle::before,.jiko-detail .jiko-faq dd::before{width:2.8rem;height:2.8rem;font-size:1.4rem;}
.jiko-detail .jiko-faq__icon{right:1.6rem;width:1.5rem;height:1.5rem;}
.contact-methods{display:block;max-width:none;}
.contact-method + .contact-method{margin-top:1.4rem;}
.contact-method{min-height:0;padding:2rem 1.6rem;}
.contact-method strong{font-size:2.2rem;}
.contact-form-card,.contact-message-card{padding:2rem;border-radius:.8rem;}
.contact-form-list > div,.contact-confirm-list > div{display:block;padding:1.7rem 0;}
.contact-form-list dt,.contact-confirm-list dt{margin-bottom:.8rem;}
body.page-contact .type_check01{grid-template-columns:1fr;}
body.page-contact .type_check01 label{min-height:0;font-size:1.35rem;}
.contact-form-list input[type="text"],.contact-form-list input[type="email"],.contact-form-list textarea{font-size:1.45rem;padding:1.2rem;}
.contact-caption{font-size:1.45rem;text-align:left;}
.contact-message-card p{font-size:1.45rem;}
.jiko-lower-animate--slide{transform:translateY(2.4rem);}
.jiko-lower-animate--slide.is-visible{transform:translateY(0);}
.jiko-final-cta{background-size:10rem auto;background-position:right 1rem bottom 1rem;}
.jiko-final-cta h2{font-size:2.4rem;}
.blog-hero{padding:5rem 2rem 4rem;}
.blog-hero h1{font-size:3.2rem;}
.blog-list{display:block;padding:5rem 2rem;}
.blog-card+.blog-card{margin-top:1.4rem;}
.blog-card__body{padding:2rem;}
.blog-pagination{padding:0 2rem 5rem;gap:.6rem;}
.blog-pagination__link{min-width:3.8rem;height:3.8rem;padding:0 1.1rem;font-size:1.3rem;}
.blog-detail__article{display:flex;flex-direction:column;padding:4rem 2rem 5rem;}
.blog-detail__title{position:relative;z-index:3;display:block;font-size:2.25rem;line-height:1.6;text-align:left;margin:0;word-break:normal;overflow-wrap:anywhere;}
.blog-detail__date{position:relative;z-index:3;font-size:1.2rem;margin:0 0 1rem;}
.blog-detail__header{position:relative;z-index:3;display:block;width:100%;text-align:left;margin:0 0 2.6rem;padding:0;background:#FFF;flex:none;}
.blog-detail__main-image{position:relative;z-index:1;display:block;width:100%;margin:0 0 3.4rem;flex:none;}
.blog-detail__body{font-size:1.5rem;line-height:2;}
.page-blog-detail .blog-detail__body a{color:#085caf;font-weight:700;text-decoration:underline;text-underline-offset:.18em;}
.blog-detail__gallery{grid-template-columns:repeat(2,1fr);gap:1.2rem;}
.blog-detail__back{width:100%;min-width:0;}
.blog-lightbox{padding:1.4rem;}
.blog-lightbox__image{max-width:92vw;max-height:78vh;}
.blog-lightbox__close{top:1rem;right:1rem;width:4rem;height:4rem;font-size:2.4rem;}
.blog-lightbox__nav{width:4.2rem;height:4.2rem;font-size:3.4rem;}
.blog-lightbox__nav--prev{left:1rem;}
.blog-lightbox__nav--next{right:1rem;}
.blog-lightbox__count{bottom:1rem;font-size:1.2rem;}
.service-hero{padding:5rem 2rem 4rem;background:#FFF;}
.service-hero::after{right:-5rem;bottom:-4rem;width:17rem;height:17rem;}
.service-hero h1{font-size:3.2rem;}
.service-lead{font-size:1.5rem;}
.service-section{padding:5rem 2rem;}
.service-section h2{font-size:2.6rem;}
.service-grid{display:block;}
.service-card + .service-card{margin-top:1.4rem;}
.service-card{min-height:12rem;padding:2.6rem 2rem 2.6rem 6.2rem;}
.service-card strong{left:.6rem;font-size:7.2rem;}
.service-list{padding:2rem;}
.service-list::after{right:-3rem;width:10rem;height:10rem;}
}
