/*
Theme Name: BCN Official
Theme URI: https://k-bcn.jp/
Author: BCN
Description: BCN公式サイト専用テーマ。ChatGPT Work版のデザインをWordPressへ移植。
Version: 1.0.9
Text Domain: bcn-official
*/
:root{--navy:#132538;--ink:#182536;--cream:#faf9f6;--gold:#ad9270;--line:#d8d5ce}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif}a{color:inherit;text-decoration:none}.bcn-site{overflow:hidden}.fixed-line,.intro-line{white-space:nowrap}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5vw;background:rgba(250,249,246,.96);position:relative;z-index:50}.brand{display:flex;align-items:center;gap:14px}.brand b{font:500 40px/1 Georgia;letter-spacing:-2px}.brand span{font:500 11px/1.25 Georgia;letter-spacing:.04em;border-left:1px solid #aaa;padding-left:14px}.site-header nav{display:flex;align-items:center;gap:38px;font:500 13px "Yu Gothic",sans-serif}.site-header nav a:not(.nav-contact){padding:35px 0 8px;border-bottom:1px solid transparent}.site-header nav a:hover{border-color:var(--ink)}.nav-contact{background:var(--navy);color:#fff;padding:15px 23px}.hero{min-height:calc(100vh - 88px);position:relative;overflow:hidden;display:flex;align-items:center}.hero-image{position:absolute;inset:0 0 0 34%;background-image:linear-gradient(90deg,rgba(250,249,246,.95),rgba(250,249,246,.18) 30%,rgba(10,30,45,.04)),var(--bcn-hero-image);background-size:cover;background-position:90% center;background-repeat:no-repeat}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,249,246,.95),rgba(250,249,246,.18) 30%,rgba(10,30,45,.04))}.hero-copy{width:58%;margin-left:7.5vw;position:relative;padding:70px 0;z-index:2}.eyebrow,.kicker{font:600 11px/1.4 Arial;letter-spacing:.2em;color:#7b6c5a}.hero h1,.bcn-section h2,.company h2{font-weight:500;font-size:clamp(38px,4.4vw,68px);line-height:1.45;letter-spacing:.08em;margin:26px 0}.hero-copy>p:last-of-type{font-size:16px;line-height:2}.text-link{display:inline-block;margin-top:22px;padding-bottom:10px;border-bottom:1px solid}.vertical{position:absolute;right:27px;top:50%;writing-mode:vertical-rl;transform:translateY(-50%);color:#fff;font:9px Arial;letter-spacing:.25em;z-index:2}.scroll{position:absolute;right:6%;bottom:28px;color:#fff;font:600 9px Arial;letter-spacing:.18em;z-index:2}.bcn-section{padding:120px 8vw}.intro{display:grid;grid-template-columns:1fr 1fr;gap:12vw;max-width:1500px;margin:auto}.intro .mobile-line{display:block;white-space:nowrap}.bcn-section h2,.company h2{font-size:clamp(31px,3.4vw,50px);margin:20px 0}.intro-text,.lead{font:400 15px/2.1 "Yu Gothic",sans-serif;padding-top:35px}.intro-text p{margin:0 0 22px}.intro-text .intro-choice{margin-bottom:34px}.intro-text i{color:#887862}.services{background:var(--navy);color:#f8f7f2}.light{color:#bca789}.section-heading{max-width:1340px;margin:0 auto 58px;display:flex;justify-content:space-between;align-items:end}.section-heading>p{width:390px;font:14px/2 "Yu Gothic";color:#c8d0d5}.service-grid{max-width:1340px;margin:auto;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #435363;border-left:1px solid #435363}.service-card{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;min-height:0;border-right:1px solid #435363;border-bottom:1px solid #435363;overflow:hidden}.service-photo{aspect-ratio:3/2;background:center/cover;filter:saturate(.55);transition:.5s}.service-card:hover .service-photo{transform:scale(1.025);filter:saturate(.9)}.service-body{padding:38px 34px;display:flex;flex-direction:column;position:relative;min-height:310px}.number{position:absolute;right:24px;top:20px;color:#556779;font:42px Georgia}.service-body small{color:#bca789;font:600 10px Arial;letter-spacing:.15em;margin:30px 0 15px}.service-body h3{font-size:21px;margin:0 0 20px}.service-body p{font:13px/1.9 "Yu Gothic";color:#e1e5e7;margin:0}.service-body a{margin-top:auto;font:600 12px Arial;display:flex;justify-content:space-between;border-bottom:1px solid #667583;padding-bottom:10px}.process{max-width:1500px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.process .lead,.contact .lead{padding:0;margin-top:28px}.process ol{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.process li{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:27px 0;border-bottom:1px solid var(--line)}.process li>span{color:var(--gold);font:18px Georgia}.process h3{font-size:18px;margin:0 0 8px}.process li p{font:13px/1.7 "Yu Gothic";margin:0;color:#66717b}.company{display:grid;grid-template-columns:55% 45%;min-height:660px}.company-photo{background-size:cover;background-position:center;position:relative}.company-photo:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.18)}.company-panel{background:#e8e4db;padding:90px 8vw 70px 7vw}.company-lead{font-size:18px;margin:25px 0 35px}.company dl>div{display:grid;grid-template-columns:90px 1fr;gap:22px;border-top:1px solid #c7c1b6;padding:19px 0;font:13px/1.7 "Yu Gothic"}.company dl>div:last-child{border-bottom:1px solid #c7c1b6}.company dt{color:#6c746f}.company dd{margin:0}.contact{max-width:1500px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:11vw}.bcn-form{display:grid;gap:24px}.bcn-form label{display:grid;grid-template-columns:1fr auto;gap:8px;font:600 13px "Yu Gothic"}.bcn-form label em{background:#806f5b;color:#fff;font:normal 9px "Yu Gothic";padding:4px 7px}.bcn-form input,.bcn-form select,.bcn-form textarea,.wpcf7 input,.wpcf7 select,.wpcf7 textarea{grid-column:1/-1;width:100%;border:1px solid #d0ccc3;background:#fff;padding:14px;border-radius:0;font:15px "Yu Gothic"}.bcn-form button,.wpcf7-submit{border:0!important;background:var(--navy)!important;color:#fff!important;padding:18px 25px!important;font:600 13px "Yu Gothic"!important;cursor:pointer}.submit-note{margin:-8px 0 0;color:#6f756f;font:400 11px/1.8 "Yu Gothic",sans-serif;letter-spacing:.02em}
.bcn-contact-thanks{min-height:420px;background:#f0ede6;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}
.bcn-contact-thanks[hidden]{display:none}
.bcn-contact-thanks>span{border:1px solid var(--gold);color:var(--gold);border-radius:50%;width:60px;height:60px;display:grid;place-items:center;font-size:26px}
.bcn-contact-thanks h3{font-size:22px;margin:20px 0 10px}
.bcn-contact-thanks p{font:13px/1.8 "Yu Gothic",sans-serif;margin:0 0 24px}
.bcn-contact-thanks button{border:0;background:var(--navy);color:#fff;padding:18px 25px;font:600 13px "Yu Gothic",sans-serif;cursor:pointer;min-width:140px}.bcn-footer{background:#0d1c2b;color:#e9ecef;min-height:250px;padding:65px 8vw 30px;display:grid;grid-template-columns:1fr auto;gap:70px}.bcn-footer>div{display:flex;gap:35px;font:12px "Yu Gothic";padding-top:14px}.bcn-footer>p{grid-column:1/-1;border-top:1px solid #304052;padding-top:20px;color:#84909c;font:10px Arial}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.site-header{height:auto;min-height:76px;padding:14px 5vw}.brand b{font-size:34px}.site-header nav{gap:15px;font-size:11px}.site-header nav a:first-child{display:none}.nav-contact{padding:12px}.hero{min-height:720px;align-items:flex-start}.hero-image{inset:44% 0 0 13%}.hero-copy{width:90%;margin:0 5vw;padding-top:75px}.vertical{display:none}.bcn-section{padding:82px 6vw}.intro,.process,.contact{grid-template-columns:1fr;gap:45px}.intro-text{padding-top:0}.service-grid{grid-template-columns:1fr}.company{grid-template-columns:1fr}.company-photo{min-height:390px}.company-panel{padding:70px 7vw}}
@media(max-width:600px){.site-header{position:sticky;top:0;z-index:50;transition:min-height .2s ease,padding .2s ease}.site-header.is-compact{min-height:0;padding-top:6px;padding-bottom:6px}.brand span{display:none}.site-header nav a:nth-child(2),.site-header nav a:nth-child(3){display:none}.hero{min-height:670px}.hero-copy{padding-top:34px;padding-bottom:24px}.hero-copy .eyebrow{margin:0 0 14px}.hero h1{font-size:clamp(27px,8.1vw,32px);line-height:1.45;letter-spacing:.04em;margin:0 0 14px}.hero h1 span{white-space:nowrap}.hero-copy>p:last-of-type{font-size:14px;line-height:1.8;margin:0}.hero-copy .text-link{margin-top:14px}.hero-image{inset:46% 0 0 8%;background-position:right center}.section-heading{align-items:start;flex-direction:column}.section-heading>p{width:auto}.service-card{grid-template-columns:1fr}.service-photo{min-height:210px}.service-body{min-height:290px}.company-photo{min-height:300px}.company dl>div{grid-template-columns:1fr;gap:5px}.bcn-footer{grid-template-columns:1fr;gap:40px}.bcn-footer>div{flex-wrap:wrap;gap:18px}.intro-text{font-size:clamp(12px,3.7vw,14px);line-height:2}.intro-text .intro-choice{margin-bottom:28px}}
​
/* Mobile layout correction v1.0.2 — 2026-08-30 */
@media(max-width:600px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  .bcn-site{width:100%;max-width:100%;overflow-x:clip}
  .bcn-section,.intro,.section-heading,.service-grid,.service-card,.service-body,.process,.process ol,.process li,.contact,.company,.company-panel{min-width:0;max-width:100%;box-sizing:border-box}
}

/* Contact Form 7 layout — BCN Official */
.contact .wpcf7{width:100%;min-width:0}
.contact .bcn-contact-form{display:grid;gap:20px;min-width:0}
.contact .bcn-form-field p,.contact .bcn-form-consent p,.contact .bcn-form-submit p{margin:0}
.contact .bcn-form-field label{font:600 13px/1.8 "Yu Gothic",sans-serif}
.contact .bcn-required{display:inline-block;margin-left:.5em;background:#806f5b;color:#fff;padding:2px 7px;font:normal 9px/1.6 "Yu Gothic",sans-serif}
.contact .wpcf7-form-control-wrap{display:block;margin-top:8px}
.contact .wpcf7 textarea{min-height:180px;resize:vertical}
.contact .bcn-form-consent .wpcf7-form-control-wrap{margin-top:0}
.contact .bcn-form-consent label{display:flex;align-items:flex-start;gap:8px;font:13px/1.8 "Yu Gothic",sans-serif}
.contact .bcn-form-consent input[type=checkbox]{flex:0 0 auto;width:auto;margin:.35em 0 0;padding:0}
.contact .bcn-form-consent a{text-decoration:underline}
.contact .bcn-form-submit .wpcf7-submit{width:100%;min-height:56px}
.contact .wpcf7-spinner{display:block;margin:10px auto 0}
@media(max-width:900px){.contact{gap:40px}}
@media(max-width:600px){.contact .wpcf7 input:not([type=checkbox]),.contact .wpcf7 select,.contact .wpcf7 textarea{max-width:100%;font-size:16px}.contact .bcn-contact-form{gap:18px}.contact .wpcf7 textarea{min-height:160px}}


/* BCN Official mobile service card width correction */
@media(max-width:600px){
  .service-card{grid-template-columns:minmax(0,1fr)}
  .service-photo,.service-body{width:100%;min-width:0}
}
