/*
Theme Name: 石川植木
Description: 石川植木の公式ホームページ用テーマ。外観→カスタマイズから写真・文章・料金を編集できます。
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: ishikawa-ueki
*/

:root{--green:#203c31;--green-deep:#172e26;--paper:#f6f5ef;--ink:#27352e;--muted:#646d65;--line:#d8dcd1;--accent:#a3ad79;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #a37738;outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}h2{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.65;letter-spacing:.08em}p{overflow-wrap:anywhere}.section-width{width:min(1160px,calc(100% - 112px));margin-inline:auto}.section-pad{padding-block:104px}.eyebrow{font-size:.875rem;letter-spacing:.18em;margin-bottom:20px;color:var(--muted)}.site-header{height:100px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);gap:24px}.brand{display:flex;gap:14px;align-items:center;flex-shrink:0;font-family:var(--serif);font-size:1.9rem;letter-spacing:.12em;line-height:1.3}.brand small{display:block;font-family:var(--sans);font-size:.65rem;letter-spacing:.17em;margin-top:7px}.seal{display:grid;place-content:center;border:1px solid var(--green);width:37px;height:49px;font-size:1rem;writing-mode:vertical-rl;letter-spacing:.22em}.site-header nav{display:flex;align-items:center;gap:26px;font-size:.875rem}.site-header nav>a:hover,.text-link:hover{color:#65734d}.nav-contact{background:var(--green);color:white;padding:15px 23px}.site-header nav>.nav-contact:hover{color:white;background:#365444}.nav-contact span{margin-left:16px}.menu-toggle{display:none}.hero{position:relative;display:grid;grid-template-columns:43% 57%;padding:22px 0 0 8%;}.hero-copy{padding:34px 28px 52px 0;z-index:1}.hero h1{font-size:clamp(2.8rem,4.4vw,4.6rem);line-height:1.55;letter-spacing:.1em;white-space:nowrap}.hero h1 span{color:#5c7048}.hero-description{margin-top:26px;line-height:2.1;color:#536055}.button{background:var(--green);color:white;display:flex;align-items:center;justify-content:space-between;gap:30px;width:fit-content;min-height:58px;padding:14px 26px;margin-top:30px;font-size:.9375rem}.button:hover{background:#365444}.hero-phone{font-size:.8rem;margin-top:15px}.hero-phone a{font-size:1.125rem;letter-spacing:.04em;margin-left:12px}.hero-photo{position:relative;min-height:660px;overflow:hidden}.hero-photo img{position:absolute;inset:0;object-position:55% center}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 50%,#11271770)}.photo-caption{position:absolute;z-index:1;top:50px;right:10%;writing-mode:vertical-rl;font-family:var(--serif);color:white;font-size:1.8rem;letter-spacing:.22em;line-height:1.9;text-shadow:0 1px 12px #18241d}.hero-photo figcaption{position:absolute;right:20px;bottom:16px;font-size:.75rem;color:white;z-index:1;background:#172e2680;padding:2px 8px}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding:22px 6% 20px 0;font-size:.8rem;letter-spacing:.13em}.hero-bottom a{font-size:.75rem}.hero-bottom a span{margin-left:32px}.intro{text-align:center;padding-block:110px 120px}.intro h2{margin-bottom:30px}.intro>p:last-child{line-height:2.4;color:#536055}.mobile-break{display:none}.services{background:#e9ece3}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:50px}.section-heading>p{color:var(--muted);line-height:2}.service-grid{display:grid;grid-template-columns:repeat(4,1fr)}.service-card{padding:0 25px;border-left:1px solid #c7cebf}.service-card:first-child{padding-left:0;border:0}.service-card:last-child{padding-right:0}.service-number{font-size:.75rem;letter-spacing:.12em;color:#53634a}.service-card h3{font-size:2rem;margin:25px 0 18px}.service-card h3 span{display:block;font-family:var(--sans);font-size:.875rem;margin-top:8px;font-weight:500;line-height:1.8}.service-card>p{font-size:.9375rem;color:#596259}.service-card .service-tags{margin-top:24px;font-size:.75rem;border-top:1px solid #c7cebf;padding-top:16px}.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:58px}.reason-grid article>span{display:inline-grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;font-family:var(--serif);font-size:1.25rem}.reason-grid h3{font-size:1.35rem;margin:24px 0 15px}.reason-grid p{color:var(--muted)}.works{background:#edece5}.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.work-placeholder{aspect-ratio:1.45;border:1px solid #cdd1c5;background:#e3e6dc;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;color:#69755e}.work-placeholder>span{position:absolute;top:15px;left:20px;font-size:.75rem;letter-spacing:.1em}.work-placeholder p{font-family:var(--serif);letter-spacing:.15em}.work-placeholder small{font-size:.7rem;letter-spacing:.16em;margin-top:8px}.work-category{font-size:.75rem;margin:22px 0 5px;color:#60704c}.works-grid h3{font-size:1.3rem}.works-grid article>p:last-child{font-size:.875rem;color:var(--muted);margin-top:8px}.price-table-wrap{width:100%}table{border-collapse:collapse;width:100%;text-align:left}caption{text-align:left;font-size:.875rem;color:var(--muted);padding-bottom:18px}th,td{padding:22px 24px;border-bottom:1px solid var(--line);font-size:.9375rem}thead{background:#e9ece3}thead th{font-weight:500;font-size:.875rem}tbody th{font-weight:500}td:last-child{white-space:nowrap}.price-note{font-size:.875rem;color:var(--muted);margin-top:22px;max-width:850px}.text-link{display:inline-flex;gap:35px;margin-top:26px;padding-bottom:5px;border-bottom:1px solid var(--green);font-size:.9375rem}.area{background:#e4e9dd}.area-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.area-layout h2{margin-bottom:22px}.area-note{font-size:.875rem;color:var(--muted);margin-top:22px}.area-names{border-top:1px solid #b9c4ac}.area-names>span{padding:17px 10px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #b9c4ac;font-family:var(--serif);font-size:1.8rem;letter-spacing:.1em}.area-names small{font-family:var(--sans);font-size:.75rem;letter-spacing:.15em;color:#60704c}.contact{background:var(--green);color:#f8f7ed}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact .eyebrow{color:#c3cda9}.contact h2{font-size:clamp(2rem,3.5vw,3.2rem);margin-bottom:25px}.contact-layout>div>p{color:#d4ddce}.contact-detail{padding-top:10px}.contact-detail>p{font-size:.875rem}.contact-phone{display:flex;align-items:center;justify-content:space-between;font-family:Georgia,serif;font-size:clamp(1.9rem,3vw,2.8rem);letter-spacing:.035em;line-height:1.5;padding:12px 0 20px;border-bottom:1px solid #788977;white-space:nowrap}.contact-phone span{font-family:var(--sans);font-size:1.7rem}.contact-note{margin-top:16px;color:#d4ddce}.contact-guide{border-top:1px solid #60735f;margin-top:28px;padding-top:24px}.contact-guide h3{font-family:var(--sans);font-size:.875rem;margin-bottom:10px}.contact-guide p{font-size:.875rem;color:#d4ddce;line-height:2.2}.site-footer{padding-block:46px 24px}.footer-top{display:flex;align-items:center;gap:45px}.footer-top>p{font-size:.875rem;color:var(--muted)}.back-top{margin-left:auto;font-size:.8rem}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:35px;padding-top:22px;font-size:.75rem;color:var(--muted)}.mobile-cta{display:none}.skip{position:fixed;left:16px;top:-100px;z-index:10;background:white;padding:12px}.skip:focus{top:12px}
@media(min-width:1600px){.hero{padding-left:max(8%,calc((100vw - 1360px)/2))}.hero-photo{min-height:780px}}
@media(max-width:1150px){.site-header nav{gap:14px;font-size:.8rem}.site-header{padding-inline:3%;gap:15px}.brand{font-size:1.6rem}.nav-contact{padding:12px}.section-width{width:calc(100% - 72px)}.hero{padding-left:6%;grid-template-columns:46% 54%}.hero h1{font-size:3.5rem}.hero-photo{min-height:670px}.service-grid{grid-template-columns:repeat(2,1fr);gap:45px 0}.service-card:nth-child(3){padding-left:0;border:0}.service-card:nth-child(2){padding-right:0}.reason-grid{gap:30px}.contact-layout{gap:42px}}
@media(max-width:850px){.site-header{height:auto;min-height:86px;flex-wrap:wrap;padding:20px 24px}.site-header nav{width:100%;flex-wrap:wrap;padding:10px 0;justify-content:center}.js .menu-toggle{display:block;background:none;border:1px solid var(--line);padding:8px 12px;font-size:.875rem;cursor:pointer}.menu-toggle span{margin-left:12px}.js .site-header nav{display:none}.js .site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.js .site-header nav a{padding:13px 12px;border-bottom:1px solid var(--line)}.hero h1{font-size:2.8rem}.hero{padding-left:5%;grid-template-columns:48% 52%}.hero-copy{padding-top:20px}.hero-photo{min-height:615px}.photo-caption{font-size:1.3rem;right:8%;top:30px}.hero-description{font-size:.9rem}.hero-phone a{display:block;margin:0}.section-heading{align-items:flex-start}.section-heading>p{font-size:.9375rem}.section-pad{padding-block:75px}.area-layout{gap:40px}.contact-layout{grid-template-columns:1fr;gap:40px}.contact-detail{max-width:600px}.contact-phone{font-size:2.6rem}.footer-top{gap:25px}}
@media(max-width:600px){html{scroll-padding-top:20px}.section-width{width:calc(100% - 40px)}.site-header{padding:17px 20px;min-height:82px}.brand{font-size:1.55rem;gap:10px}.brand small{font-size:.6rem}.seal{width:31px;height:42px;font-size:.875rem}.hero{display:flex;flex-direction:column;padding:0}.hero-copy{padding:33px 25px 31px}.hero .eyebrow{font-size:.75rem;margin-bottom:17px}.hero h1{font-size:clamp(2.3rem,8vw,3.4rem);line-height:1.55;letter-spacing:.08em}.hero-description{margin-top:20px;font-size:.9375rem}.button{margin-top:24px;min-width:270px}.hero-phone{margin-top:12px;display:flex;align-items:center;gap:12px}.hero-phone a{font-size:1.05rem}.hero-photo{min-height:330px;margin-left:20px}.hero-photo img{object-position:center 57%}.photo-caption{font-size:1.3rem;right:24px}.hero-bottom{padding:19px 20px;font-size:.65rem;letter-spacing:.02em;gap:12px}.hero-bottom a{font-size:.65rem}.hero-bottom a span{margin-left:12px}.intro{padding-block:68px 75px}.intro h2{font-size:1.8rem}.intro>p:last-child{font-size:.875rem;line-height:2.35}.mobile-break{display:block}.eyebrow{font-size:.75rem;margin-bottom:14px}.section-pad{padding-block:64px}.section-heading{display:block;margin-bottom:34px}.section-heading>p{margin-top:23px;font-size:.875rem}.service-grid{gap:32px 0}.service-card{padding-inline:15px}.service-card h3{font-size:1.65rem;margin-top:20px}.service-card h3 span{font-size:.875rem}.service-number{font-size:.65rem;letter-spacing:.05em}.service-card>p{font-size:.875rem}.service-card .service-tags{font-size:.75rem}.reason-grid{grid-template-columns:1fr;gap:28px}.reason-grid article{display:grid;grid-template-columns:44px 1fr;gap:0 18px;border-top:1px solid var(--line);padding-top:24px}.reason-grid article>span{grid-row:1/3;width:40px;height:40px}.reason-grid h3{margin:3px 0 10px;font-size:1.2rem}.reason-grid p{font-size:.9375rem}.works-grid{grid-template-columns:1fr;gap:35px}.work-placeholder{aspect-ratio:1.7}.work-category{margin-top:15px}th,td{padding:17px 8px;font-size:.8125rem}thead th{font-size:.75rem}th:first-child{width:21%}td:nth-child(2){width:43%}.price-note{font-size:.8125rem}.area-layout{grid-template-columns:1fr;gap:30px}.area-names>span{font-size:1.6rem}.contact-layout{gap:30px}.contact h2{font-size:2.1rem}.contact-layout>div>p{font-size:.875rem}.contact-phone{font-size:clamp(1.7rem,7.5vw,2.5rem)}.footer-top{flex-wrap:wrap;gap:22px}.footer-top>p{font-size:.75rem;margin-left:auto}.back-top{margin-left:0;width:100%;text-align:right}.site-footer{padding-bottom:105px}.footer-bottom{font-size:.7rem}.mobile-cta{position:fixed;bottom:0;left:0;right:0;z-index:5;display:flex;justify-content:center;align-items:center;gap:14px;background:var(--green-deep);color:white;border-top:1px solid #748368;padding:15px 12px calc(15px + env(safe-area-inset-bottom));box-shadow:0 -4px 22px #172e261a}.mobile-cta span{font-size:.75rem}.mobile-cta strong{font-size:1.05rem;font-weight:500;letter-spacing:.015em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.mobile-cta,.menu-toggle,.hero-bottom,.back-top{display:none!important}.section-pad{padding-block:32px}.hero-photo{min-height:400px}.site-header nav{display:none}.section-width{width:100%}.site-footer{padding-bottom:20px}body{font-size:12pt}.contact{color:#203c31;background:white}.contact p,.contact .eyebrow{color:#203c31!important}}

/* Friendly garden palette and soft contours */
:root{--green:#3d6045;--green-deep:#2d4c36;--paper:#faf8f1;--accent:#c9a55e}
.button,.nav-contact{border-radius:40px}.hero-photo{border-radius:100px 0 0 8px}.service-card h3{color:#3d6045}.work-placeholder{border-radius:12px}.menu-toggle{border-radius:8px}.reason-grid article>span{background:#edf0df;border-color:#d9dfc6}.hero h1{font-size:clamp(2.6rem,3.9vw,4.2rem)}
@media(max-width:850px){.hero h1{font-size:2.6rem}}
@media(max-width:600px){.hero h1{font-size:clamp(2rem,7.5vw,3rem)}.hero-photo{border-radius:65px 0 0 8px}}


.instagram-link{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #a5b59c;border-radius:12px;padding:20px 24px;margin-top:28px;color:#fff}.instagram-link:hover{background:#ffffff10}.instagram-link small{display:block;font-size:.75rem;letter-spacing:.16em;color:#d4ddce}.instagram-link strong{display:block;font-size:.875rem;font-weight:400;color:#d4ddce}.instagram-link>span:nth-child(2){font-size:1.6rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.footer-bottom{gap:16px;flex-wrap:wrap}


.line-link{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#eff7e8;border:1px solid #d5e8c9;border-radius:12px;padding:20px 24px;margin-top:16px;color:#274e34}.line-link:hover{background:#dfeeda}.line-link small{display:block;font-size:.75rem;letter-spacing:.16em}.line-link strong{display:block;font-size:.875rem;font-weight:400}.line-link>span:nth-child(2){font-size:1.6rem}
@media(max-width:600px){.mobile-cta{padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:12px}.mobile-phone{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-height:48px;line-height:1.6}.mobile-cta .mobile-phone strong{font-size:.9375rem}.mobile-line{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 20px;background:#eff7e8;color:#274e34;border-radius:28px;font-size:.875rem;font-weight:600}.site-footer{padding-bottom:120px}}


.hero-tagline{font-family:var(--serif);font-size:clamp(1rem,1.4vw,1.25rem);letter-spacing:.06em;line-height:1.9;margin-top:24px;color:var(--green)}


.work-photo{overflow:hidden;border-radius:12px;background:#e3e6dc}.work-photo img{width:100%;height:auto;object-fit:contain}.work-photo figcaption{display:grid;grid-template-columns:1fr 1fr;text-align:center;padding:7px 0;font-size:.75rem;letter-spacing:.1em;color:var(--green);background:#e3e6dc}.work-photo figcaption span+span{border-left:1px solid #bdc7b4}


/* Preserve supplied photos without cropping, rounding, or enlargement. */
.work-photo{width:100%;max-width:360px;margin-inline:auto;border-radius:0;background:transparent;overflow:visible}.work-photo img{display:block;width:100%;max-width:360px;height:auto;object-fit:contain;border-radius:0}


/* Two photos above, one centered below. */
.works-grid{grid-template-columns:repeat(2,minmax(0,360px));justify-content:center;gap:40px 32px}.works-grid>article:last-child{grid-column:1/-1;width:100%;max-width:360px;justify-self:center}
@media(max-width:600px){.works-grid{grid-template-columns:minmax(0,360px);gap:35px}.works-grid>article:last-child{grid-column:auto}}


/* Keep the complete before/after image within each available column. */
.works-grid>article{min-width:0;max-width:100%}.works-grid .work-photo{width:100%;max-width:360px;height:auto;overflow:visible}.works-grid .work-photo img{width:auto;height:auto;max-width:100%;max-height:240px;object-fit:contain;margin-inline:auto}.works{scroll-margin-top:16px}
@media(min-width:601px){.works{padding-block:48px}.works .section-heading{margin-bottom:26px}.works-grid{gap:24px 32px}.works-grid .work-photo img{max-height:min(240px,24vh)}.works-grid .work-category{margin-top:12px}.works-grid article>p:last-child{margin-top:4px}}


.works-grid .work-photo img{width:100%;height:auto;max-height:none;object-fit:contain}


.contact-layout>div>p.estimate-free{display:inline-block;margin-top:24px;padding:14px 22px;border:1px solid #b8c9aa;border-radius:12px;color:#fff;font-size:1.15rem}.estimate-free span{font-size:.875rem;font-weight:400;color:#d4ddce}


.price-estimate-free{display:flex;align-items:center;flex-wrap:wrap;gap:8px 22px;margin-bottom:26px;padding:16px 22px;background:#e9ece3;border-left:3px solid var(--green);color:var(--green)}.price-estimate-free strong{font-size:1.125rem;font-weight:600}.price-estimate-free span{font-size:.875rem}


.iu-content h1{font-size:2rem;margin-bottom:24px}.iu-content article{margin-bottom:40px}.iu-content p{margin-bottom:20px}.iu-content img{height:auto;max-width:100%}.iu-content a{text-decoration:underline}.hero h1{white-space:normal}.price-table-wrap{overflow-x:auto}
.site-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
}

.site-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.brand-logo {
  width: 120px;
  height: auto;
  display: block;
}