/* CECIL Official v1.0.90 — dispatch-contact page refinements */
/* =========================================================
   v1.0.47 — /dispatch/contact/ 出張予約・相談
========================================================= */
.dispatch-contact-page{background:#F7F3EA;color:#756A5D}
.dispatch-contact-page .container{width:min(calc(100% - 34px),1180px)}
.dispatch-contact-narrow{width:min(100%,900px);margin-inline:auto}.dispatch-contact-narrow-wide{width:min(100%,1040px);margin-inline:auto}
.dispatch-contact-hero-media img{object-position:center 48%!important;filter:saturate(.84) brightness(.72)}
.dispatch-contact-web-note{width:min(100%,680px);margin:28px auto 0;padding:19px 22px;border:1px solid rgba(201,216,166,.34);background:#FAF7EF;text-align:center}.dispatch-contact-web-note>span{display:block;font-size:.63rem;letter-spacing:.22em;color:#C9D8A6}.dispatch-contact-web-note strong{display:block;margin-top:7px;font-family:Georgia,"Yu Mincho",serif;font-size:1.15rem;font-weight:500;color:#4B4238}.dispatch-contact-web-note p{margin:7px 0 0;font-size:.8rem;line-height:1.7;color:#4B4238}
.dispatch-contact-primary-actions .btn{min-width:260px!important}
.dispatch-contact-methods,.dispatch-contact-info,.dispatch-contact-flow,.dispatch-contact-style,.dispatch-contact-faq{padding:82px 0}.dispatch-contact-methods{background:#FAF7EF}.dispatch-contact-info,.dispatch-contact-style{background:#F7F3EA}.dispatch-contact-flow{background:#FAF7EF}.dispatch-contact-faq{background:#FAF7EF}
.dispatch-contact-section-head{text-align:center;max-width:760px;margin:0 auto 40px}.dispatch-contact-section-head>span{display:inline-block;font-size:.7rem;letter-spacing:.24em;color:#C9D8A6}.dispatch-contact-section-head h2{margin:12px 0 12px;font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(1.9rem,3vw,2.8rem);font-weight:500;line-height:1.45;color:#756A5D}.dispatch-contact-section-head p{margin:0;font-size:.9rem;line-height:1.9;color:#4B4238}.dispatch-contact-section-head--dark h2{color:#756A5D}
.dispatch-contact-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dispatch-contact-method-card{position:relative;padding:34px 30px 28px;border:1px solid rgba(117,106,93,.13);background:#FAF7EF;box-shadow:0 20px 44px rgba(102,93,82,.06)}.dispatch-contact-method-icon{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:999px;border:1px solid rgba(201,216,166,.35);color:#C9D8A6}.dispatch-contact-method-icon svg{width:28px;height:28px}.dispatch-contact-method-card>span{display:block;margin-top:22px;font-size:.66rem;letter-spacing:.22em;color:#C9D8A6}.dispatch-contact-method-card h3{margin:8px 0 10px;font-family:Georgia,"Yu Mincho",serif;font-size:1.55rem;font-weight:500;color:#756A5D}.dispatch-contact-method-card p{margin:0;font-size:.84rem;line-height:1.85;color:#4B4238}.dispatch-contact-method-card>strong{display:block;margin-top:18px;font-size:1.2rem;letter-spacing:.04em;color:#756A5D;overflow-wrap:anywhere}.dispatch-contact-method-card>a{display:flex;align-items:center;justify-content:space-between;margin-top:22px;padding:14px 16px;border:1px solid rgba(117,106,93,.14);color:#756A5D}.dispatch-contact-method-card>a span{font-size:.84rem;letter-spacing:.06em}.dispatch-contact-method-card>a b{color:#C9D8A6;font-size:1.1rem}.dispatch-contact-method-card--phone{background:linear-gradient(180deg,#756A5D 0%,#665D52 100%);color:#FAF7EF}.dispatch-contact-method-card--phone .dispatch-contact-method-icon{border-color:rgba(201,216,166,.46);color:#C9D8A6}.dispatch-contact-method-card--phone>span{color:#C9D8A6}.dispatch-contact-method-card--phone h3,.dispatch-contact-method-card--phone>strong{color:#FAF7EF}.dispatch-contact-method-card--phone p{color:rgba(250,247,239,.76)}.dispatch-contact-method-card--phone>a{border-color:rgba(201,216,166,.36);color:#FAF7EF}.dispatch-contact-method-card--phone>a b{color:#C9D8A6}
.dispatch-contact-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dispatch-contact-info-grid article{padding:26px 22px;background:#FAF7EF;border:1px solid rgba(117,106,93,.12);min-height:220px}.dispatch-contact-info-grid b{font-size:.68rem;letter-spacing:.18em;color:#C9D8A6}.dispatch-contact-info-grid svg{display:block;width:28px;height:28px;margin:18px 0 14px;color:#756A5D}.dispatch-contact-info-grid h3{margin:0;font-family:Georgia,"Yu Mincho",serif;font-size:1.18rem;font-weight:500;color:#756A5D}.dispatch-contact-info-grid p{margin:10px 0 0;font-size:.82rem;line-height:1.8;color:#4B4238}
.dispatch-contact-flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dispatch-contact-flow-grid article{position:relative;padding:28px 22px 24px;border-top:1px solid rgba(201,216,166,.55);background:#FAF7EF;box-shadow:0 15px 32px rgba(102,93,82,.05)}.dispatch-contact-flow-grid b{font-family:Georgia,serif;font-size:1.2rem;font-weight:400;color:#C9D8A6}.dispatch-contact-flow-grid h3{margin:15px 0 8px;font-family:Georgia,"Yu Mincho",serif;font-size:1.08rem;font-weight:500;color:#756A5D}.dispatch-contact-flow-grid p{margin:0;font-size:.8rem;line-height:1.8;color:#4B4238}
.dispatch-contact-style-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.dispatch-contact-style-grid>a{display:grid;grid-template-rows:220px auto;overflow:hidden;background:#FAF7EF;border:1px solid rgba(117,106,93,.12);color:inherit;box-shadow:0 18px 40px rgba(102,93,82,.05)}.dispatch-contact-style-grid img{width:100%;height:100%;object-fit:cover}.dispatch-contact-style-grid>a>div{padding:20px}.dispatch-contact-style-grid span{font-size:.65rem;letter-spacing:.2em;color:#C9D8A6}.dispatch-contact-style-grid h3{margin:8px 0 8px;font-family:Georgia,"Yu Mincho",serif;font-size:1.35rem;font-weight:500;color:#756A5D}.dispatch-contact-style-grid p{margin:0;font-size:.8rem;line-height:1.8;color:#4B4238}.dispatch-contact-style-grid b{display:inline-block;margin-top:14px;color:#756A5D}
.dispatch-contact-faq-list{display:grid;gap:13px}.dispatch-contact-faq-list details{background:#FAF7EF;border:1px solid rgba(117,106,93,.12)}.dispatch-contact-faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:14px;list-style:none;padding:17px 18px;font-size:.9rem;font-weight:600;color:#756A5D;cursor:pointer}.dispatch-contact-faq-list summary::-webkit-details-marker{display:none}.dispatch-contact-faq-list summary b{font-size:1rem;color:#C9D8A6}.dispatch-contact-faq-list details p{margin:0;padding:0 18px 18px;font-size:.82rem;line-height:1.9;color:#4B4238}
.dispatch-contact-final{padding:82px 0;background:linear-gradient(180deg,#665D52,#665D52);color:#FAF7EF}.dispatch-contact-final-inner{text-align:center}.dispatch-contact-final-inner>span{font-size:.7rem;letter-spacing:.24em;color:#C9D8A6}.dispatch-contact-final h2{margin:14px 0;font-family:Georgia,"Yu Mincho",serif;font-size:clamp(2rem,3.2vw,3rem);font-weight:500;line-height:1.45;color:#FAF7EF}.dispatch-contact-final p{margin:0;color:rgba(250,247,239,.82);font-size:.9rem;line-height:1.9}.dispatch-contact-final-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:28px}.dispatch-contact-final-actions .btn{min-width:240px}.dispatch-contact-final small{display:block;margin-top:24px;font-size:.7rem;line-height:1.8;color:rgba(250,247,239,.58)}
@media (max-width:900px){.dispatch-contact-info-grid{grid-template-columns:1fr 1fr}.dispatch-contact-flow-grid{grid-template-columns:1fr 1fr}.dispatch-contact-style-grid{grid-template-columns:1fr}}
@media (max-width:760px){.dispatch-contact-page .container{width:calc(100% - 24px)}.dispatch-contact-methods,.dispatch-contact-info,.dispatch-contact-flow,.dispatch-contact-style,.dispatch-contact-faq{padding:50px 0}.dispatch-contact-section-head{margin-bottom:26px}.dispatch-contact-section-head h2{font-size:1.55rem}.dispatch-contact-section-head p{font-size:.74rem}.dispatch-contact-web-note{margin-top:22px;padding:15px 14px}.dispatch-contact-web-note strong{font-size:1rem}.dispatch-contact-web-note p{font-size:.72rem}.dispatch-contact-method-grid,.dispatch-contact-info-grid,.dispatch-contact-flow-grid{grid-template-columns:1fr}.dispatch-contact-method-card{padding:26px 20px 22px}.dispatch-contact-method-card h3{font-size:1.35rem}.dispatch-contact-method-card>strong{font-size:1rem}.dispatch-contact-info-grid article{min-height:0;padding:21px 18px}.dispatch-contact-style-grid>a{grid-template-rows:200px auto}.dispatch-contact-faq-list summary{font-size:.74rem;padding:15px 13px}.dispatch-contact-faq-list details p{font-size:.68rem;padding:0 13px 16px}.dispatch-contact-final{padding:56px 0}.dispatch-contact-final h2{font-size:1.8rem}.dispatch-contact-final p{font-size:.76rem}.dispatch-contact-final-actions{flex-direction:column}.dispatch-contact-final-actions .btn{width:100%;min-width:0}.dispatch-contact-primary-actions{flex-direction:column!important}.dispatch-contact-primary-actions .btn{width:100%!important;min-width:0!important}}


/* =========================================================
   v1.0.64 — /dispatch/contact/ mobile card contrast
   Keep image-led cards, but guarantee readable text and arrows.
========================================================= */
@media (max-width:760px){
  .dispatch-contact-style-grid>a{
    position:relative!important;
    display:block!important;
    min-height:clamp(360px,92vw,520px)!important;
    overflow:hidden!important;
    background:#665D52!important;
    border:1px solid rgba(201,216,166,.28)!important;
  }
  .dispatch-contact-style-grid>a>img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    filter:saturate(.88) brightness(.76)!important;
  }
  .dispatch-contact-style-grid>a:after{
    content:"";
    position:absolute;
    z-index:1;
    inset:0;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(102,93,82,.06) 12%,rgba(102,93,82,.28) 48%,rgba(102,93,82,.90) 100%);
  }
  .dispatch-contact-style-grid>a>div{
    position:absolute!important;
    z-index:2!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    padding:30px 24px 26px!important;
    background:transparent!important;
    text-shadow:0 2px 12px rgba(75,66,56,.58)!important;
  }
  .dispatch-contact-style-grid span{
    color:#C9D8A6!important;
    font-size:.68rem!important;
    text-shadow:0 1px 10px rgba(75,66,56,.55)!important;
  }
  .dispatch-contact-style-grid h3{
    color:#FAF7EF!important;
    font-size:1.65rem!important;
    line-height:1.45!important;
    text-shadow:0 2px 14px rgba(75,66,56,.68)!important;
  }
  .dispatch-contact-style-grid p{
    color:rgba(250,247,239,.94)!important;
    font-size:.82rem!important;
    line-height:1.8!important;
    text-shadow:0 2px 12px rgba(75,66,56,.72)!important;
  }
  .dispatch-contact-style-grid b{
    color:#C9D8A6!important;
    font-size:1.25rem!important;
    text-shadow:0 2px 12px rgba(75,66,56,.72)!important;
  }
}



/* v1.0.93: dispatch reservations are phone-only. */
.dispatch-contact-method-grid--phone-only{grid-template-columns:minmax(0,620px);justify-content:center}

/* v1.0.106: three clear dispatch reservation methods. */
.dispatch-contact-method-grid--multi{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:980px){.dispatch-contact-method-grid--multi{grid-template-columns:1fr 1fr}.dispatch-contact-method-grid--multi .dispatch-contact-method-card--phone{grid-column:1/-1}}
@media (max-width:760px){.dispatch-contact-method-grid--multi{grid-template-columns:1fr}.dispatch-contact-method-grid--multi .dispatch-contact-method-card--phone{grid-column:auto}}
