/* 全規則を .ottimo-middle 内に限定。既存サイトのCSSを変更しない。 */
.ottimo-middle{--om-navy:#142e48;--om-teal:#126b6b;--om-line:#bad2d0;background:#faf8f2;color:var(--om-navy);padding:64px 24px;font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;line-height:1.7}
.ottimo-middle *{box-sizing:border-box}.ottimo-middle .om-container{max-width:1200px;margin:auto}.ottimo-middle .om-heading{text-align:center;margin-bottom:36px}.ottimo-middle .om-eyebrow{color:var(--om-teal);letter-spacing:.14em;font-size:16px;margin:0 0 16px}.ottimo-middle h2,.ottimo-middle h3,.ottimo-middle p{padding:0}.ottimo-middle .om-heading h2{font-size:clamp(28px,3.4vw,46px);line-height:1.4;margin:0 0 14px;letter-spacing:.03em}.ottimo-middle .om-heading>p:last-child{margin:0;font-size:18px}.ottimo-middle .om-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.ottimo-middle .om-service{position:relative;min-width:0}.ottimo-middle .om-service+.om-service:before{content:"";position:absolute;left:-16px;top:0;bottom:0;border-left:1px solid var(--om-line)}.ottimo-middle .om-service>img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.ottimo-middle .om-service-body{padding:16px 6px 0}.ottimo-middle .om-number{color:var(--om-teal);font-size:18px}.ottimo-middle h3{font-size:clamp(21px,2.15vw,29px);margin:4px 0 8px;line-height:1.5}.ottimo-middle .om-service p{font-size:18px;margin:0 0 18px;min-height:3.4em}.ottimo-middle a{color:var(--om-teal);text-decoration:none}.ottimo-middle .om-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;border-bottom:1px solid var(--om-teal);font-size:17px;font-weight:600}.ottimo-middle a:hover{filter:brightness(.8)}.ottimo-middle a:focus-visible{outline:3px solid #a86615;outline-offset:5px}.ottimo-middle .om-assurance{list-style:none;display:flex;justify-content:center;gap:32px;padding:24px 0;margin:36px 0 0;border-top:1px solid var(--om-line);font-size:18px}.ottimo-middle .om-assurance li+li{border-left:1px solid var(--om-line);padding-left:32px}.ottimo-middle .om-consult{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;background:#e6f2ef;border-radius:8px;overflow:hidden}.ottimo-middle .om-consult-copy{padding:32px;position:relative;z-index:1}.ottimo-middle .om-consult h2{font-size:clamp(21px,2vw,27px);line-height:1.65;margin:0 0 24px}.ottimo-middle .om-button{display:inline-flex;gap:28px;align-items:center;justify-content:center;min-height:60px;padding:12px 28px;background:var(--om-teal);color:white;border-radius:4px;font-size:22px;font-weight:bold}.ottimo-middle .om-small{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:13px;margin:12px 0 24px}.ottimo-middle .om-signoff{font-size:19px;letter-spacing:.08em;color:var(--om-teal);margin:0}.ottimo-middle .om-team{display:block;width:100%;height:auto;min-width:0}
@media(max-width:760px){.ottimo-middle{padding:40px 20px}.ottimo-middle .om-heading>p:last-child{font-size:15px}.ottimo-middle .om-services{grid-template-columns:1fr;gap:28px}.ottimo-middle .om-service{display:grid;grid-template-columns:38% 1fr;gap:18px;padding-bottom:24px;border-bottom:1px solid var(--om-line)}.ottimo-middle .om-service+.om-service:before{display:none}.ottimo-middle .om-service-body{padding:0}.ottimo-middle h3{font-size:20px}.ottimo-middle .om-service p{font-size:15px;min-height:0;margin-bottom:8px}.ottimo-middle .om-service p br{display:none}.ottimo-middle .om-link{font-size:14px;gap:4px}.ottimo-middle .om-number{font-size:15px}.ottimo-middle .om-assurance{border:0;flex-direction:column;align-items:center;gap:4px;padding:8px 0 24px;margin:0;font-size:15px}.ottimo-middle .om-assurance li+li{border:0;padding:0}.ottimo-middle .om-consult{grid-template-columns:1fr}.ottimo-middle .om-consult-copy{padding:28px 20px 16px}.ottimo-middle .om-consult h2{font-size:21px}.ottimo-middle .om-button{width:100%;font-size:20px}.ottimo-middle .om-signoff{display:none}.ottimo-middle .om-small{margin-bottom:0}.ottimo-middle .om-team{max-height:360px;object-fit:contain}.ottimo-middle .om-heading{margin-bottom:28px}}
@media(prefers-reduced-motion:no-preference){.ottimo-middle a{transition:filter .15s}}

/* v2: モックに合わせた一体型背景と手書きメッセージ */
.ottimo-middle .om-consult{display:block;position:relative;isolation:isolate;min-height:420px;background:#e5f5f2;container-type:inline-size}
.ottimo-middle .om-team{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;z-index:-1}
.ottimo-middle .om-consult-copy{width:47%;padding:32px 28px;min-height:420px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.ottimo-middle .om-consult h2{font-size:clamp(19px,2.05cqw,27px);letter-spacing:-.035em;line-height:1.65;margin-bottom:22px}
.ottimo-middle .om-consult h2 span{display:block;white-space:nowrap}
.ottimo-middle .om-button{font-size:22px;min-height:62px;min-width:320px}
.ottimo-middle .om-signoff{display:block;width:260px;margin:8px 0 0 14px;transform:rotate(-3deg)}
.ottimo-middle .om-signoff img{display:block;width:100%;height:auto}
@media(max-width:1000px) and (min-width:761px){.ottimo-middle .om-consult-copy{padding:24px 16px;min-height:360px}.ottimo-middle .om-consult{min-height:360px}.ottimo-middle .om-consult h2{font-size:1.98cqw}.ottimo-middle .om-button{min-width:0;font-size:18px}.ottimo-middle .om-signoff{width:210px}.ottimo-middle .om-small{font-size:11px}}
@media(max-width:760px){.ottimo-middle .om-consult{min-height:0}.ottimo-middle .om-consult-copy{width:100%;min-height:0;padding:26px 20px 16px}.ottimo-middle .om-consult h2{font-size:clamp(16px,4.35vw,25px);letter-spacing:-.04em}.ottimo-middle .om-button{min-width:0;font-size:20px}.ottimo-middle .om-signoff{width:220px;max-width:85%;margin:20px 0 10px}.ottimo-middle .om-team{position:relative;inset:auto;z-index:0;height:260px;width:100%;object-fit:cover;object-position:right center}.ottimo-middle .om-small{font-size:11px}}

/* 見出しは「どんなことで／お困りですか？」の切れ目でだけ折り返す(スマホで「です／か？」に割れない) */
.ottimo-middle .om-nw{display:inline-block;white-space:nowrap}
/* ボタンの文字は1行(320px で「無料で相談す／る」に割れない) */
.ottimo-middle .om-button{white-space:nowrap}
/* 320px 前後: 文字の塊が欄に収まる大きさに */
@media(max-width:360px){.ottimo-middle .om-service{grid-template-columns:34% 1fr;gap:14px}.ottimo-middle h3{font-size:17px}.ottimo-middle .om-service p{font-size:14px}.ottimo-middle .om-heading>p:last-child{font-size:14px}.ottimo-middle .om-button{font-size:18px;gap:12px;padding:12px 16px}}
/* スマホ: 相談室の絵は3人の顔が切れない比率で(右寄せ・高さは幅から決める) */
@media(max-width:760px){.ottimo-middle .om-team{height:auto;aspect-ratio:3/2;object-position:100% 50%}}
