/* Inner-page editorial system. Content is supplied by Gutenberg page blocks. */
.ok-page-replica { --orange:#f07800; --ink:#292929; --soft:#f7f7f5; --line:#e8e8e2; --mute:#727272; background:#fff; color:var(--ink); font-family:Arial,"Noto Sans JP",sans-serif; overflow-x:hidden; }
.ok-page-replica * { box-sizing:border-box; }
.ok-page-replica a { color:inherit; text-decoration:none; }
.ok-page-replica .ok-rep-header { height:64px; padding:0 38px; display:flex; align-items:center; justify-content:space-between; position:fixed; inset:0 0 auto; z-index:30; background:rgba(255,255,255,.82); backdrop-filter:blur(8px); }
.ok-page-replica .ok-rep-logo { font-size:13px; font-weight:800; letter-spacing:.08em; color:#4b4b4b; white-space:nowrap; }
.ok-page-replica .ok-rep-logo span { color:var(--orange); }
.ok-page-replica .ok-rep-header nav { display:flex; gap:27px; font-size:10px; color:#555; }
.ok-page-replica .ok-header-cta { border:1px solid var(--orange); color:var(--orange); padding:14px 30px; font-size:10px; font-weight:700; white-space:nowrap; }
.ok-inner-main { padding-top:64px; }
.ok-inner-title { width:min(1100px,calc(100% - 80px)); margin:0 auto; min-height:305px; padding:92px 0 48px; display:grid; align-content:end; border-bottom:1px solid var(--line); }
.ok-page-kicker { margin:0 0 16px; color:var(--orange); font-size:10px; letter-spacing:.08em; }
.ok-inner-title h1 { margin:0; font-size:clamp(39px,4.2vw,64px); letter-spacing:.02em; line-height:1.08; font-weight:800; }
.ok-inner-content { width:min(980px,calc(100% - 80px)); margin:0 auto; padding:0 0 110px; }
.ok-page-lead { display:grid; grid-template-columns:minmax(280px,.75fr) minmax(0,1.5fr); gap:48px; padding:76px 0; border-bottom:1px solid var(--line); }
.ok-page-lead .wp-block-heading { margin:0; font-size:30px; line-height:1.55; }
.ok-page-lead p { max-width:600px; margin:0; font-size:13px; line-height:2.25; color:#555; }
.ok-wide-image { margin:70px calc(50% - 50vw); width:100vw; background:var(--soft); padding:0 max(40px,calc((100vw - 980px)/2)); }
.ok-wide-image figure { max-width:980px; margin:0 auto; }
.ok-wide-image img { width:100%; height:clamp(250px,38vw,520px); display:block; object-fit:cover; }
.ok-section-label { display:flex; gap:15px; align-items:center; margin:120px 0 38px; }
.ok-section-label::before { content:""; width:18px; height:2px; background:var(--orange); }
.ok-section-label .wp-block-heading { margin:0; font-size:31px; line-height:1; letter-spacing:.03em; }
.ok-section-label + p { max-width:660px; font-size:12px; line-height:2.2; color:#666; margin:-15px 0 36px; }
.ok-editorial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.ok-editorial-grid > .wp-block-group { padding:30px 25px; background:#fff; min-height:225px; }
.ok-dynamic-tiles > article { padding:30px 25px; background:#fff; min-height:225px; }
.ok-editorial-grid h3 { margin:0 0 16px; font-size:14px; line-height:1.65; }
.ok-editorial-grid p { margin:0; font-size:11px; line-height:2; color:#666; }
.ok-editorial-grid h3::before { content:"0" counter(ok-card); counter-increment:ok-card; display:block; margin-bottom:18px; color:var(--orange); font-size:11px; letter-spacing:.12em; }
.ok-dynamic-tiles h3 { margin:0 0 16px; font-size:14px; line-height:1.65; }.ok-dynamic-tiles h3::before { content:"0" counter(ok-card); counter-increment:ok-card; display:block; margin-bottom:18px; color:var(--orange); font-size:11px; letter-spacing:.12em; }.ok-dynamic-tiles p{margin:0;font-size:11px;line-height:2;color:#666}
.ok-editorial-grid { counter-reset:ok-card; }
.ok-split-story { display:grid; grid-template-columns:1.02fr .98fr; background:var(--soft); margin-top:70px; }
.ok-split-story .wp-block-image { margin:0; min-height:385px; }
.ok-split-story .wp-block-image img { width:100%; height:100%; min-height:385px; object-fit:cover; display:block; }
.ok-split-story > .wp-block-group { padding:64px 58px; }
.ok-split-story h2 { margin:0 0 28px; font-size:30px; line-height:1.48; }
.ok-split-story p { font-size:12px; line-height:2.18; color:#5b5b5b; }
.ok-editorial-list { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.ok-editorial-list li { min-height:88px; padding:24px 0; border-bottom:1px solid var(--line); font-size:14px; line-height:1.7; }
.ok-editorial-list li::before { content:"→"; display:inline-block; width:48px; color:var(--orange); font-weight:700; }
.ok-process { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); counter-reset:process; }
.ok-process li { display:grid; grid-template-columns:100px 1fr; gap:30px; padding:30px 0; border-bottom:1px solid var(--line); font-size:15px; line-height:1.65; }
.ok-process li::before { counter-increment:process; content:"0" counter(process); color:var(--orange); font-weight:800; font-size:22px; }
.ok-note-band { margin:90px calc(50% - 50vw) 0; width:100vw; padding:78px max(40px,calc((100vw - 980px)/2)); background:#fff0e1; }
.ok-note-band > .wp-block-group { max-width:980px; margin:0 auto; }
.ok-note-band h2 { margin:0 0 20px; font-size:29px; }
.ok-note-band p { max-width:630px; margin:0; color:#555; font-size:12px; line-height:2.15; }
.ok-fee-table { overflow:auto; border:1px solid var(--line); }
.ok-fee-table table { width:100%; min-width:720px; border-collapse:collapse; font-size:12px; }
.ok-fee-table th,.ok-fee-table td { padding:17px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); vertical-align:top; }
.ok-fee-table th { color:#555; background:var(--soft); }
.ok-insight-list { border-top:1px solid var(--line); }
.ok-insight-row { display:grid; grid-template-columns:130px 1fr 38px; gap:25px; align-items:center; min-height:120px; padding:25px 0; border-bottom:1px solid var(--line); }
.ok-insight-row time,.ok-insight-row small { color:#777; font-size:10px; display:block; margin-bottom:9px; }
.ok-insight-row h3 { margin:0; font-size:17px; line-height:1.65; }
.ok-insight-row > span { color:var(--orange); font-size:23px; }
.ok-contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:52px; }
.ok-contact-layout > .wp-block-group { padding:60px; background:var(--soft); }
.ok-contact-layout > .wp-block-group:last-child { background:var(--orange); color:#fff; }
.ok-contact-layout h2 { margin:0 0 26px; font-size:29px; line-height:1.45; }
.ok-contact-layout p { font-size:12px; line-height:2.15; }
.ok-contact-layout label { display:block; margin:18px 0 7px; font-size:11px; font-weight:700; }
.ok-contact-layout input,.ok-contact-layout textarea { width:100%; padding:13px; border:1px solid rgba(255,255,255,.55); border-radius:0; background:rgba(255,255,255,.1); color:#fff; }
.ok-contact-layout input[type="submit"] { margin-top:16px; background:#fff; border-color:#fff; color:var(--orange); font-weight:700; cursor:pointer; }
.ok-contact-layout .wpcf7-not-valid-tip,.ok-contact-layout .wpcf7-response-output { color:#fff; border-color:#fff; }
.ok-page-replica .ok-bottom-cta { display:grid; grid-template-columns:1fr 1fr; }
.ok-page-replica .ok-bottom-cta a { min-height:185px; padding:50px 80px; position:relative; overflow:hidden; }
.ok-page-replica .ok-request { background:#f8f8f6; }.ok-page-replica .ok-contact { background:var(--orange); color:#fff; }
.ok-page-replica .ok-bottom-cta span { position:absolute; left:45px; top:20px; font-size:42px; color:#efefec; font-weight:900; }.ok-page-replica .ok-contact span{color:rgba(255,255,255,.25)}
.ok-page-replica .ok-bottom-cta strong { display:block; font-size:21px; margin-bottom:8px; }.ok-page-replica .ok-bottom-cta small { font-size:11px; }
.ok-page-replica .ok-footer { background:#252525; color:#fff; min-height:300px; padding:58px 70px 25px; display:grid; grid-template-columns:1.4fr 1fr; gap:60px; position:relative; }
.ok-page-replica .ok-footer::after { content:"OKU"; position:absolute; right:50px; bottom:20px; font-size:180px; color:rgba(255,255,255,.025); font-weight:900; }
.ok-page-replica .ok-footer h2 { margin:0 0 22px; letter-spacing:.07em; font-size:17px; }.ok-page-replica .ok-footer p { color:#ccc; font-size:11px; line-height:1.8; }
.ok-page-replica .ok-footer nav { display:grid; grid-template-columns:repeat(2,1fr); gap:14px 40px; align-content:start; font-size:11px; color:#ddd; }.ok-page-replica .ok-copy { grid-column:1/-1; text-align:center; margin:35px 0 0; }
@media (max-width:760px){.ok-page-replica .ok-rep-header{padding:0 20px}.ok-page-replica .ok-rep-header nav{display:none}.ok-page-replica .ok-header-cta{padding:11px 18px}.ok-inner-title,.ok-inner-content{width:min(100% - 40px,980px)}.ok-inner-title{min-height:245px;padding:75px 0 35px}.ok-page-lead,.ok-split-story,.ok-contact-layout,.ok-page-replica .ok-bottom-cta,.ok-page-replica .ok-footer{grid-template-columns:1fr}.ok-page-lead{gap:20px;padding:52px 0}.ok-page-lead .wp-block-heading{font-size:25px}.ok-wide-image{padding:0 20px}.ok-wide-image img{height:260px}.ok-section-label{margin-top:78px}.ok-editorial-grid{grid-template-columns:1fr}.ok-split-story > .wp-block-group,.ok-contact-layout > .wp-block-group{padding:42px 28px}.ok-split-story .wp-block-image,.ok-split-story .wp-block-image img{min-height:280px}.ok-insight-row{grid-template-columns:1fr 30px;gap:12px}.ok-insight-row time{grid-column:1/-1}.ok-process li{grid-template-columns:68px 1fr;gap:18px}.ok-note-band{padding:55px 20px}.ok-page-replica .ok-bottom-cta a{padding:45px 30px}.ok-page-replica .ok-bottom-cta span{left:24px;font-size:34px}.ok-page-replica .ok-footer{padding:48px 28px}.ok-page-replica .ok-footer::after{display:none}}
