/* C base — 岡﨑工務店。既存style.cssはそのまま使用します。 */
.cb-page,.cb-banner { --cb-ink:#2f4638; --cb-paper:#f8f5ee; --cb-muted:#626859; --cb-line:#dcded2; color:#30382f; background:var(--cb-paper); }
.cb-page *, .cb-banner * { box-sizing:border-box; }
.cb-wrap { width:min(90%,1200px); margin-inline:auto; }
.cb-breadcrumb { padding-block:22px; font-size:.8rem; color:var(--cb-muted); }
.cb-breadcrumb a { color:inherit; text-underline-offset:4px; }
.cb-hero { display:grid; grid-template-columns:1fr 1fr; gap:7%; align-items:center; padding:22px 0 70px; }
.cb-eyebrow { color:#657451; font:12px/1.8 Arial,"Yu Gothic",sans-serif; letter-spacing:.16em; margin:0 0 22px; }
.cb-brand { font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.6rem,4.5vw,4rem); letter-spacing:.02em; line-height:1.1; color:#36271c; margin:0 0 36px; }
.cb-brand span { display:block; font-size:12px; letter-spacing:.14em; margin-top:10px; }
.cb-page h1,.cb-page h2,.cb-banner h2 { color:var(--cb-ink); font-weight:600; line-height:1.65; letter-spacing:.055em; }
.cb-page h1 { font-size:clamp(1.8rem,3.1vw,2.9rem); margin:0 0 25px; }
.cb-page h2,.cb-banner h2 { font-size:clamp(1.5rem,2.6vw,2.2rem); margin:0 0 28px; }
.cb-page p,.cb-banner p { line-height:2; }
.cb-hero-copy>p:not(.cb-brand):not(.cb-eyebrow) { font-size:.95rem; margin:0 0 18px; }
.cb-hero-copy>.cb-lead { font-size:1.15rem!important; }
.cb-text-link { display:inline-flex; gap:40px; align-items:center; margin-top:10px; padding:12px 0; border-bottom:1px solid #7e8d6b; color:var(--cb-ink); text-decoration:none; }
.cb-image-caption { font-size:.8rem; text-align:right; letter-spacing:.13em; margin:12px 0 0; color:var(--cb-muted); }
/* 資料画像の写真部分をCSSで表示。元画像自体は加工していません。 */
.cb-crop { position:relative; overflow:hidden; background:#e9e4d8; }
.cb-crop img { position:absolute; display:block; height:auto; max-width:none; }
.cb-crop-hero { aspect-ratio:614/680; }
.cb-crop-hero img { width:171.661%; left:-71.661%; top:0; }
.cb-crop-product { aspect-ratio:333/354; }
.cb-crop-product img { width:316.517%; left:-6.006%; top:-277.119%; }
.cb-crop-hands { aspect-ratio:565/355; }
.cb-crop-hands img { width:186.726%; left:-86.726%; top:-67.606%; }
.cb-section-nav { border-top:1px solid var(--cb-line); border-bottom:1px solid var(--cb-line); }
.cb-section-nav>.cb-wrap { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 36px; padding-block:18px; }
.cb-section-nav a { color:var(--cb-ink); text-decoration:none; font-size:.85rem; padding:7px 0; }
.cb-section-nav a:hover { text-decoration:underline; text-underline-offset:6px; }
.cb-section { padding-block:95px; scroll-margin-top:95px; }
.cb-about { display:grid; grid-template-columns:1fr 1.3fr; gap:10%; }
.cb-prose p { margin:0 0 22px; }
.cb-prose .cb-signature { color:var(--cb-ink); margin-top:32px; font-size:1.15rem; }
.cb-product { background:#eceee4; }
.cb-product-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:9%; align-items:center; }
.cb-product-copy h2 { font-size:3.4rem; letter-spacing:.16em; margin-bottom:25px; }
.cb-product-copy h2 span { display:block; font-size:.8rem; font-weight:400; letter-spacing:.12em; }
.cb-product-copy h3 { font-size:1.35rem; font-weight:500; margin:0 0 20px; color:var(--cb-ink); }
.cb-product-copy>p { margin:0 0 18px; }
.cb-facts { margin:28px 0 15px; border-top:1px solid #cbd1c0; font-size:.9rem; }
.cb-facts>div { display:grid; grid-template-columns:135px 1fr; gap:15px; padding:14px 0; border-bottom:1px solid #cbd1c0; }
.cb-facts dt { color:#556343; }.cb-facts dd { margin:0; }.cb-facts dd span { display:block; font-size:.8rem; }
.cb-small { font-size:.78rem; color:var(--cb-muted); line-height:1.8!important; }
.cb-product-visual>.cb-small { margin-top:15px; text-align:center; }
.cb-craft-intro { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:8%; margin-bottom:50px; }
.cb-craft-intro p { margin-bottom:15px; }
.cb-steps { list-style:none; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; }
.cb-steps li { border-top:1px solid #98a387; padding-top:20px; }
.cb-step-number { display:block; font:italic 32px Georgia,serif; color:#879570; margin-bottom:18px; }
.cb-steps h3 { font-size:1rem; color:var(--cb-ink); line-height:1.7; margin:0 0 12px; }
.cb-steps p { font-size:.85rem; margin:0; }
.cb-living { background:#fffdf8; }
.cb-section-heading { text-align:center; margin-bottom:45px; }.cb-section-heading>p:last-child { font-size:.95rem; }
.cb-living-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.cb-crop-living { aspect-ratio:322/275; }
.cb-crop-living img { width:327.64%; top:-360%; }
.cb-crop-plant img { left:-11.49%; }.cb-crop-flower img { left:-114.286%; }.cb-crop-object img { left:-216.77%; }
.cb-living-grid h3 { margin:20px 0 12px; font-size:1.2rem; color:var(--cb-ink); }
.cb-living-grid p { font-size:.9rem; margin:0; }
.cb-display-note { margin-top:32px; text-align:center; }
.cb-contact { background:#2f4638; text-align:center; color:#f8f5ee; }
.cb-contact h2 { color:#fff; }.cb-contact .cb-eyebrow { color:#c7d4b8; }.cb-contact .cb-small { color:#d4dccd; }
.cb-button { display:inline-flex; align-items:center; justify-content:space-between; gap:30px; padding:17px 27px; background:#2f4638; color:#fff; border:1px solid #2f4638; text-decoration:none; font-size:.95rem; line-height:1.7; margin-top:25px; max-width:100%; }
.cb-button:hover { background:#405843; }
.cb-contact .cb-button { background:#f8f5ee; color:#2f4638; border-color:#f8f5ee; }.cb-contact .cb-button:hover { background:#e1e8d7; }
.cb-contact-email { margin:23px 0 8px; font-size:.9rem; overflow-wrap:anywhere; }.cb-contact-email a { color:inherit; text-underline-offset:5px; }
.cb-page a:focus-visible,.cb-banner a:focus-visible { outline:3px solid #a98645; outline-offset:5px; }
.cb-banner { padding-block:75px; border-top:1px solid #dcded2; border-bottom:1px solid #dcded2; }
.cb-banner-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:9%; align-items:center; }
.cb-banner-copy>.cb-brand { margin-bottom:24px; }.cb-banner-copy>p:not(.cb-brand):not(.cb-eyebrow) { font-size:.95rem; }.cb-banner-image-link { display:block; }
.cb-banner .cb-crop-hero { max-height:460px; }
/* メニュー追加に合わせ、1025px付近でも収まる幅へ。 */
@media(min-width:1025px) {
    .header_container { justify-content:space-between; gap:16px; padding-inline:2%; }
    #main-title { font-size:1.4rem; }
    #main-menu nav ul li { font-size:.9rem; padding-inline:.5rem; }
    #main-menu .member-main-menu a { padding-inline:.7rem; }
}
@media(max-width:900px) {
    .cb-hero { gap:5%; }.cb-brand { margin-bottom:25px; }
    .cb-about,.cb-product-grid { gap:6%; }
    .cb-steps { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .cb-facts>div { grid-template-columns:1fr; gap:5px; }
}
@media(max-width:639px) {
    .cb-breadcrumb { padding-block:18px; }
    .cb-hero { grid-template-columns:1fr; padding-top:15px; padding-bottom:40px; gap:32px; }
    .cb-hero-copy>p br { display:none; }.cb-hero-copy>.cb-lead br { display:initial; }
    .cb-hero-copy>.cb-brand { margin-bottom:28px; }
    .cb-section-nav>.cb-wrap { gap:4px 20px; justify-content:flex-start; }
    .cb-section-nav a { font-size:.8rem; }
    .cb-section { padding-block:58px; }
    .cb-about,.cb-product-grid,.cb-craft-intro,.cb-banner-grid { grid-template-columns:1fr; gap:30px; }
    .cb-product-copy { grid-row:1; }.cb-product-copy h2 { font-size:2.8rem; }
    .cb-facts>div { grid-template-columns:115px 1fr; gap:10px; }
    .cb-steps { grid-template-columns:1fr; gap:24px; }
    .cb-steps li { display:grid; grid-template-columns:42px 1fr; gap:0 15px; }
    .cb-step-number { grid-row:1/3; }.cb-steps p { grid-column:2; }
    .cb-living-grid { grid-template-columns:1fr; gap:35px; }
    .cb-section-heading { text-align:left; }.cb-display-note { text-align:left; }
    .cb-contact p br { display:none; }.cb-contact .cb-button { font-size:.85rem; gap:14px; padding:16px 18px; }
    .cb-banner { padding-block:50px; }.cb-banner-copy>p br { display:none; }
    .cb-banner .cb-crop-hero { max-height:none; }
}
