:root{--sk-navy:#0d2e52;--sk-navy2:#153f6d;--sk-gold:#b99a62;--sk-ink:#17212b;--sk-muted:#687586;--sk-line:#dce3ea;--sk-bg:#f5f7f9;--sk-white:#fff}
*{box-sizing:border-box}.sokusan-official{margin:0;background:#fff;color:var(--sk-ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.8}.sokusan-official img{max-width:100%;display:block}.official-shell{width:min(1180px,calc(100% - 48px));margin:0 auto}.official-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(13,46,82,.08)}.official-header-inner{height:82px;width:min(1240px,calc(100% - 40px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:32px}.official-brand img{width:245px;height:auto}.official-nav{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:700}.official-nav a{color:#253647;text-decoration:none;white-space:nowrap}.official-nav a:hover{color:var(--sk-navy2)}.official-nav-cta{padding:12px 18px;border:1px solid var(--sk-navy)!important;color:var(--sk-navy)!important}.official-menu-btn{display:none;border:0;background:transparent;width:42px;height:42px;padding:8px}.official-menu-btn span{height:2px;background:var(--sk-navy);display:block;margin:6px 0}.official-mobile-nav{padding:10px 24px 20px;background:#fff;border-top:1px solid var(--sk-line)}.official-mobile-nav a{display:block;padding:12px 0;border-bottom:1px solid #edf1f4;color:var(--sk-ink);text-decoration:none;font-weight:700}
.official-hero{background:#091f38}.official-slider{position:relative;height:clamp(460px,43vw,680px);min-height:0;overflow:hidden}.official-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1s ease;display:flex;align-items:center;justify-content:center;background:#0a2542}.official-slide.is-active{opacity:1;z-index:1}.official-slide img{width:100%;height:100%;object-fit:cover;object-position:center center}.official-slide-shade{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(6,25,45,.78) 0%,rgba(6,25,45,.48) 36%,rgba(6,25,45,.08) 72%,rgba(6,25,45,.02) 100%);pointer-events:none}.official-hero-copy{position:absolute;z-index:3;left:max(36px,calc((100vw - 1180px)/2));top:50%;transform:translateY(-48%);width:min(610px,46vw);color:#fff}.official-eyebrow,.official-kicker{margin:0 0 14px;letter-spacing:.16em;font-size:12px;font-weight:800;color:var(--sk-gold)}.official-hero-copy h1{font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(34px,4.3vw,68px);line-height:1.25;margin:0 0 20px;font-weight:500;letter-spacing:.03em}.official-hero-copy>p:last-of-type{font-size:16px;max-width:570px;color:rgba(255,255,255,.9)}.official-hero-actions{display:flex;gap:12px;margin-top:30px}.official-hero-actions a{display:inline-flex;align-items:center;justify-content:center;min-width:160px;padding:13px 22px;text-decoration:none;border:1px solid rgba(255,255,255,.6);color:#fff;font-weight:700;font-size:14px}.official-hero-actions a:first-child{background:#fff;color:var(--sk-navy);border-color:#fff}.official-slider-ui{position:absolute;z-index:4;right:max(26px,calc((100vw - 1180px)/2));bottom:28px;display:flex;align-items:center;gap:12px}.official-slider-ui>button{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(8,32,56,.4);color:#fff;font-size:24px}.official-dots{display:flex;gap:8px}.official-dots button{width:26px;height:3px;padding:0;border:0;background:rgba(255,255,255,.4)}.official-dots button.is-active{background:#fff}
.official-intro{padding:100px 0 60px}.official-intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}.official-intro h2,.official-section-head h2,.official-association h2,.official-membership h2,.official-message h2,.official-contact h2{font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;color:var(--sk-navy);font-size:clamp(30px,3.5vw,48px);line-height:1.35;font-weight:500;margin:0}.official-lead-text{font-size:18px;line-height:2;color:#344454;margin:0}.official-rule{width:70px;height:2px;background:var(--sk-gold);margin-top:28px}.official-points{padding:0 0 100px}.official-point-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--sk-line);border-left:1px solid var(--sk-line)}.official-point{padding:28px 24px 34px;border-right:1px solid var(--sk-line);border-bottom:1px solid var(--sk-line);min-height:220px}.official-point span{font-family:Georgia,serif;color:#aab4be;font-size:14px}.official-point h3{color:var(--sk-navy);font-size:18px;margin:36px 0 12px}.official-point p{font-size:14px;color:var(--sk-muted);margin:0}
.official-feature-section{padding:105px 0;background:var(--sk-bg)}.official-section-head{max-width:720px;margin-bottom:55px}.official-section-head>p:last-child{color:var(--sk-muted);font-size:16px;margin-top:16px}.official-section-head.centered{text-align:center;margin-left:auto;margin-right:auto}.official-feature-list{display:grid;gap:36px}.official-feature{display:grid;grid-template-columns:1.18fr .82fr;background:#fff;min-height:390px;box-shadow:0 18px 45px rgba(20,46,72,.06)}.official-feature.is-reverse{grid-template-columns:.82fr 1.18fr}.official-feature.is-reverse .official-feature-media{order:2}.official-feature-media{display:flex;align-items:center;justify-content:center;background:#eef1f4;padding:24px;min-width:0}.official-feature-media img{width:100%;height:auto;max-height:520px;object-fit:contain}.official-feature-copy{padding:62px 54px;display:flex;flex-direction:column;justify-content:center}.official-feature-copy h3{font-family:Georgia,"Yu Mincho",serif;font-size:30px;line-height:1.45;color:var(--sk-navy);font-weight:500;margin:0 0 18px}.official-feature-copy>p:last-child{color:var(--sk-muted);margin:0}
.official-association{padding:110px 0;background:#fff}.official-association-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px;align-items:center}.official-association-logo{min-height:430px;background:#f4f6f8;display:flex;align-items:center;justify-content:center;padding:80px}.official-association-logo img{max-width:300px;max-height:300px;object-fit:contain}.official-profile{margin:36px 0 0;border-top:1px solid var(--sk-line)}.official-profile div{display:grid;grid-template-columns:110px 1fr;padding:14px 0;border-bottom:1px solid var(--sk-line)}.official-profile dt{font-weight:700;color:var(--sk-navy)}.official-profile dd{margin:0;color:#536271}
.official-certificate{padding:110px 0;background:#f7f8fa}.official-certificate-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:34px}.official-certificate-card{margin:0;background:#fff;border:1px solid #e0e6eb;padding:28px}.official-certificate-card>div{min-height:280px;display:flex;align-items:center;justify-content:center;background:#f2f4f6;padding:18px}.official-certificate-card img{width:100%;height:auto;object-fit:contain}.official-certificate-card figcaption{padding-top:18px;text-align:center;color:var(--sk-navy);font-weight:700}.official-certificate-card:last-child:nth-child(odd){grid-column:1/-1;max-width:620px;width:100%;justify-self:center}
.official-membership{padding:110px 0;background:var(--sk-navy);color:#fff}.official-membership-box{display:grid;grid-template-columns:1fr auto;gap:70px;align-items:end}.official-membership h2{color:#fff}.official-membership p{color:rgba(255,255,255,.78);max-width:800px}.official-membership h3{font-size:22px;margin:28px 0 6px}.official-membership a,.official-contact a{display:inline-flex;gap:28px;align-items:center;padding:16px 20px;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.55);font-weight:700;white-space:nowrap}.official-membership a span,.official-contact a span{font-size:22px}
.official-message{padding:115px 0;background:#fff}.official-message-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:80px;align-items:center}.official-message-photo{background:#edeff1;padding:0;overflow:hidden}.official-message-photo img{width:100%;height:auto;object-fit:contain}.official-message-copy>p:last-child{font-size:16px;line-height:2.05;color:#536271;margin-top:28px}.official-contact{padding:80px 0;background:#102944;color:#fff}.official-contact-inner{display:flex;align-items:center;justify-content:space-between;gap:50px}.official-contact h2{color:#fff}.official-contact p{color:rgba(255,255,255,.72)}.official-footer{padding:46px 0;background:#091c30;color:#a9b5c0}.official-footer .official-shell{display:flex;align-items:center;justify-content:space-between;gap:30px}.official-footer img{width:220px;filter:brightness(0) invert(1);opacity:.9}.official-footer p{font-size:12px}
@media (min-width:721px) and (max-width:1020px){
  .official-slider{height:clamp(440px,56vw,590px)}
  .official-slide img{object-fit:cover;object-position:center center}
}
@media(max-width:1020px){.official-nav{display:none}.official-menu-btn{display:block}.official-header-inner{height:72px}.official-brand img{width:210px}.official-hero-copy{width:min(560px,70vw)}.official-point-grid{grid-template-columns:repeat(2,1fr)}.official-feature,.official-feature.is-reverse{grid-template-columns:1fr}.official-feature.is-reverse .official-feature-media{order:0}.official-association-grid,.official-message-grid{gap:48px}.official-membership-box{grid-template-columns:1fr}.official-certificate-grid{grid-template-columns:1fr}.official-certificate-card:last-child:nth-child(odd){grid-column:auto;max-width:none}}
@media(max-width:720px){.official-shell{width:min(100% - 30px,1180px)}.official-brand img{width:185px}.official-slider{min-height:500px}.official-slide img{object-fit:contain;object-position:center top}.official-slide-shade{background:linear-gradient(180deg,rgba(6,25,45,.12) 0%,rgba(6,25,45,.2) 34%,rgba(6,25,45,.87) 72%,rgba(6,25,45,.95) 100%)}.official-hero-copy{left:22px;right:22px;top:auto;bottom:82px;transform:none;width:auto}.official-hero-copy h1{font-size:34px}.official-hero-copy>p:last-of-type{font-size:14px;line-height:1.65}.official-hero-actions a{min-width:0;flex:1;padding:11px 10px;font-size:13px}.official-slider-ui{left:22px;right:22px;bottom:24px;justify-content:center}.official-slider-ui>button{display:none}.official-intro{padding:72px 0 42px}.official-intro-grid{grid-template-columns:1fr;gap:24px}.official-intro h2,.official-section-head h2,.official-association h2,.official-membership h2,.official-message h2,.official-contact h2{font-size:31px}.official-lead-text{font-size:16px}.official-point-grid{grid-template-columns:1fr}.official-point{min-height:0}.official-points{padding-bottom:72px}.official-feature-section{padding:75px 0}.official-section-head{margin-bottom:36px}.official-feature{min-height:0}.official-feature-media{padding:12px;background:#eef1f4}.official-feature-media img{max-height:none;width:100%;height:auto;object-fit:contain}.official-feature-copy{padding:34px 25px}.official-feature-copy h3{font-size:25px}.official-association{padding:75px 0}.official-association-grid,.official-message-grid{grid-template-columns:1fr;gap:34px}.official-association-logo{min-height:280px;padding:55px}.official-profile div{grid-template-columns:85px 1fr;font-size:14px}.official-certificate{padding:75px 0}.official-certificate-card{padding:14px}.official-certificate-card>div{min-height:0;padding:8px}.official-membership{padding:75px 0}.official-message{padding:75px 0}.official-message-copy>p:last-child{font-size:15px}.official-contact{padding:65px 0}.official-contact-inner{display:block}.official-contact a{margin-top:18px}.official-footer .official-shell{display:block}.official-footer img{margin-bottom:20px}}

/* v3: official contact page / clean footer */
.official-contact-main{background:#f4f6f8;min-height:70vh}
.official-contact-hero{padding:90px 0 58px;background:linear-gradient(135deg,#f7f9fb 0%,#eef2f6 100%);border-bottom:1px solid var(--sk-line)}
.official-contact-hero h1{font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;color:var(--sk-navy);font-size:clamp(36px,4vw,56px);font-weight:500;line-height:1.3;margin:8px 0 20px}
.official-contact-hero>div>p:last-child{max-width:760px;margin:0;color:#526170;font-size:16px;line-height:2}
.official-contact-form-section{padding:72px 0 100px}
.official-contact-form-shell{max-width:1080px}
.official-contact-guide{display:grid;grid-template-columns:190px 1fr;column-gap:36px;row-gap:8px;align-items:start;margin-bottom:34px}
.official-contact-guide .official-kicker{grid-row:1/4;margin-top:6px}
.official-contact-guide h2{font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-size:30px;font-weight:500;color:var(--sk-navy);margin:0}
.official-contact-guide>p{margin:0;color:#64717e;line-height:1.8}
.official-contact-note{display:flex;gap:8px;margin-top:7px;color:#7b8792;font-size:13px}.official-contact-note p{margin:0}.official-contact-note span{color:var(--sk-gold)}
.official-contact-form-card{background:#fff;border:1px solid #dfe4e9;box-shadow:0 18px 50px rgba(11,31,52,.06);padding:18px 52px 50px}
.official-contact-form{display:grid;grid-template-columns:1fr 1fr;column-gap:36px}
.official-form-row{padding:28px 0 24px;border-bottom:1px solid #e5e9ed}.official-form-row.is-wide{grid-column:1/-1}.official-form-row:nth-last-child(2):not(.is-wide){ }
.official-form-label{display:flex;align-items:center;gap:12px;margin-bottom:12px;color:#162b40;font-weight:700;font-size:15px}.official-form-label em,.official-form-label small{font-style:normal;font-size:10px;letter-spacing:.08em;padding:3px 8px;border-radius:2px}.official-form-label em{background:#163e63;color:#fff}.official-form-label small{background:#edf0f3;color:#77838e}
.official-form-control input,.official-form-control textarea,.official-form-control select{width:100%;box-sizing:border-box;border:1px solid #ccd4dc;background:#fbfcfd;color:#172a3d;border-radius:0;padding:15px 16px;font:inherit;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}.official-form-control input{height:54px}.official-form-control textarea{resize:vertical;min-height:180px}.official-form-control select{height:54px}.official-form-control input:focus,.official-form-control textarea:focus,.official-form-control select:focus{background:#fff;border-color:#1c4c75;box-shadow:0 0 0 3px rgba(28,76,117,.08)}
.official-form-submit-wrap{grid-column:1/-1;text-align:center;padding-top:38px}.official-form-submit{min-width:310px;border:0;border-radius:0;background:#123b61;color:#fff;font-weight:700;font-size:16px;letter-spacing:.08em;padding:18px 28px;cursor:pointer;transition:transform .2s,background .2s}.official-form-submit:hover{background:#0c2e4d;transform:translateY(-2px)}.official-form-submit span{display:inline-block;margin-left:30px;font-size:20px;font-weight:400}
.official-contact-flash{margin:20px 0 4px;padding:16px 18px;border-left:3px solid #24734b;background:#f0f8f4;color:#24583d;line-height:1.7}.official-contact-flash.is-error{border-color:#a43c3c;background:#fff3f3;color:#7a3030}
.official-contact-back{margin:26px 0 0}.official-contact-back a{color:#315b7e;text-decoration:none;font-weight:700;font-size:14px}.official-contact-back a:hover{text-decoration:underline}
.official-footer-clean{padding:38px 0}.official-footer-clean-inner{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:28px}.official-footer-clean img{width:210px!important;margin:0!important;filter:brightness(0) invert(1);opacity:.92}.official-footer-clean p{margin:0;color:#91a0ad;font-size:12px;letter-spacing:.02em}

@media(max-width:780px){
 .official-contact-hero{padding:66px 0 42px}.official-contact-form-section{padding:50px 0 72px}.official-contact-guide{grid-template-columns:1fr;gap:9px}.official-contact-guide .official-kicker{grid-row:auto}.official-contact-guide h2{font-size:26px}.official-contact-form-card{padding:8px 22px 36px}.official-contact-form{grid-template-columns:1fr}.official-form-row,.official-form-row.is-wide{grid-column:1/-1;padding:22px 0}.official-form-submit{min-width:0;width:100%}.official-footer-clean-inner{display:block!important;text-align:left}.official-footer-clean img{width:190px!important;margin-bottom:14px!important}.official-footer-clean p{font-size:11px}
}


/* Search */
.official-search-section{padding:34px 0;background:#f5f7f9;border-bottom:1px solid #e3e8ec;}
.official-search-form{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(420px,1.45fr);align-items:end;gap:42px;}
.official-search-form h2{margin:4px 0 0;font-size:clamp(24px,2.3vw,34px);color:#172837;}
.official-search-box{display:flex;align-items:center;gap:10px;padding:8px 9px 8px 20px;background:#fff;border:1px solid #d8e0e6;border-radius:999px;box-shadow:0 12px 34px rgba(22,49,73,.07);}
.official-search-box>span{font-size:25px;color:#547087}.official-search-box input{min-width:0;flex:1;border:0;outline:0;background:transparent;font:inherit;font-size:16px;color:#172837}.official-search-box button{border:0;border-radius:999px;padding:14px 30px;background:#1e4c75;color:#fff;font-weight:800;cursor:pointer}.official-nav-search{font-size:23px!important;line-height:1;}
/* Blog */
.official-blog{padding:100px 0;background:#f5f7f9;}
.official-blog-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}.official-blog-head>div{max-width:760px}.official-text-link{color:#1e4c75;text-decoration:none;font-weight:800;white-space:nowrap}.official-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.official-blog-card{overflow:hidden;background:#fff;border:1px solid #e1e6ea;border-radius:22px;box-shadow:0 14px 38px rgba(22,49,73,.07)}.official-blog-image{display:block;aspect-ratio:16/9;background:#edf1f4}.official-blog-image img{width:100%;height:100%;object-fit:cover;display:block}.official-blog-body{padding:24px}.official-blog-body time{display:block;margin-bottom:10px;color:#73818c;font-size:13px;letter-spacing:.08em}.official-blog-body h3{margin:0 0 12px;font-size:20px;line-height:1.5}.official-blog-body h3 a{color:#172837;text-decoration:none}.official-blog-body p{margin:0 0 18px;color:#65737f;line-height:1.9}.official-blog-read{color:#1e4c75;text-decoration:none;font-weight:800}.official-blog-empty{padding:34px;border:1px solid #dbe2e7;border-radius:20px;background:#fff;color:#75828d;text-align:center}
@media(max-width:900px){.official-search-form{grid-template-columns:1fr;gap:18px}.official-blog-grid{grid-template-columns:1fr 1fr}.official-blog-head{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.official-search-section{padding:26px 0}.official-search-box{padding-left:15px}.official-search-box button{padding:12px 20px}.official-blog{padding:72px 0}.official-blog-grid{grid-template-columns:1fr}.official-blog-head{margin-bottom:24px}}


/* v6: official search - hardened against legacy form CSS */
body.sokusan-official .official-search-section{padding:30px 0 34px!important;background:linear-gradient(180deg,#f7f9fb 0%,#f2f5f7 100%)!important;border-top:1px solid #e3e8ec!important;border-bottom:1px solid #e0e6eb!important}
body.sokusan-official .official-search-section .official-shell{width:min(100% - 72px,1180px)!important;margin:0 auto!important}
body.sokusan-official form.official-search-form{display:grid!important;grid-template-columns:250px minmax(0,1fr)!important;align-items:center!important;gap:42px!important;margin:0!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important}
body.sokusan-official form.official-search-form>div{min-width:0!important}
body.sokusan-official form.official-search-form .official-kicker{margin:0 0 5px!important;color:#b4894b!important;font-size:12px!important;letter-spacing:.24em!important;font-weight:800!important}
body.sokusan-official form.official-search-form h2{margin:0!important;color:#102d49!important;font-size:clamp(24px,2.1vw,32px)!important;font-weight:700!important;line-height:1.25!important}
body.sokusan-official label.official-search-box{box-sizing:border-box!important;display:grid!important;grid-template-columns:32px minmax(0,1fr) 108px!important;align-items:center!important;gap:8px!important;width:100%!important;min-height:64px!important;margin:0!important;padding:6px 7px 6px 18px!important;background:#fff!important;border:1px solid #ccd7e0!important;border-radius:8px!important;box-shadow:0 12px 30px rgba(19,48,74,.08)!important;overflow:hidden!important}
body.sokusan-official label.official-search-box>span{display:block!important;color:#315d7e!important;font-size:23px!important;line-height:1!important;text-align:center!important}
body.sokusan-official label.official-search-box input[type="search"]{box-sizing:border-box!important;display:block!important;width:100%!important;height:50px!important;min-width:0!important;margin:0!important;padding:0 10px!important;border:0!important;border-radius:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:#17324a!important;font-family:inherit!important;font-size:16px!important;line-height:50px!important;-webkit-appearance:none!important;appearance:none!important}
body.sokusan-official label.official-search-box input[type="search"]::placeholder{color:#8a98a4!important;opacity:1!important}
body.sokusan-official label.official-search-box button[type="submit"]{box-sizing:border-box!important;display:block!important;width:108px!important;height:50px!important;min-width:108px!important;margin:0!important;padding:0 14px!important;border:1px solid #173f63!important;border-radius:5px!important;background:#173f63!important;color:#fff!important;box-shadow:none!important;font-family:inherit!important;font-size:15px!important;font-weight:800!important;letter-spacing:.04em!important;line-height:48px!important;text-align:center!important;cursor:pointer!important;-webkit-appearance:none!important;appearance:none!important;transition:background .2s,transform .2s!important}
body.sokusan-official label.official-search-box button[type="submit"]:hover{background:#0f3150!important;transform:translateY(-1px)!important}
body.sokusan-official label.official-search-box:focus-within{border-color:#315f85!important;box-shadow:0 0 0 3px rgba(30,76,117,.08),0 12px 30px rgba(19,48,74,.08)!important}

/* v6: association information archive */
.official-news-archive{background:#f5f7f9;min-height:70vh}.official-archive-hero{padding:84px 0 48px;background:#fff;border-bottom:1px solid #e2e7eb}.official-archive-hero h1{margin:6px 0 16px;font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(36px,4.4vw,58px);font-weight:500;color:#102d49}.official-archive-hero p:last-child{max-width:760px;color:#667581;line-height:1.9}.official-archive-body{padding:54px 0 90px}.official-archive-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px}.official-archive-pills a{padding:9px 16px;border:1px solid #d7e0e6;background:#fff;color:#456075;text-decoration:none;font-size:13px}.official-archive-pills a.is-active{background:#173f63;border-color:#173f63;color:#fff}.official-pager{display:flex;justify-content:center;gap:8px;margin-top:44px}.official-pager a{display:grid;place-items:center;width:42px;height:42px;border:1px solid #d4dde4;background:#fff;color:#315b7e;text-decoration:none}.official-pager a.is-active{background:#173f63;color:#fff;border-color:#173f63}

@media(max-width:760px){body.sokusan-official .official-search-section .official-shell{width:min(100% - 30px,1180px)!important}body.sokusan-official form.official-search-form{grid-template-columns:1fr!important;gap:16px!important}body.sokusan-official label.official-search-box{grid-template-columns:28px minmax(0,1fr) 88px!important;min-height:58px!important;padding:4px 5px 4px 13px!important;border-radius:7px!important}body.sokusan-official label.official-search-box input[type="search"]{height:48px!important;font-size:15px!important}body.sokusan-official label.official-search-box button[type="submit"]{width:88px!important;min-width:88px!important;height:48px!important;line-height:46px!important;padding:0 8px!important}.official-archive-hero{padding:64px 0 38px}.official-archive-body{padding:40px 0 70px}}

/* v7: official information strip */
.official-information{padding:64px 0 58px;background:#f5f7f9;border-top:1px solid rgba(16,55,89,.08);border-bottom:1px solid rgba(16,55,89,.08)}
.official-info-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px}
.official-info-head h2{margin:.25rem 0 .55rem;font-size:clamp(28px,3vw,42px);color:#0d3152;letter-spacing:.02em}.official-info-head p{margin:0;color:#667786;line-height:1.9}
.official-info-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.official-info-arrow{width:44px;height:44px;border:1px solid #c9d3dc;border-radius:50%;background:#fff;color:#123c61;font-size:28px;line-height:1;cursor:pointer;transition:.2s}.official-info-arrow:hover{background:#123c61;color:#fff;border-color:#123c61}
.official-info-scroller{display:flex;gap:18px;overflow-x:auto;padding:2px 2px 18px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b7c4cf transparent}.official-info-scroller::-webkit-scrollbar{height:7px}.official-info-scroller::-webkit-scrollbar-thumb{background:#b7c4cf;border-radius:99px}
.official-info-card{flex:0 0 min(350px,82vw);scroll-snap-align:start;background:#fff;border:1px solid rgba(16,55,89,.09);box-shadow:0 12px 30px rgba(16,46,73,.07);overflow:hidden;min-height:100%;display:flex;flex-direction:column}.official-info-image{display:block;aspect-ratio:16/9;background:#e7edf2;overflow:hidden}.official-info-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s}.official-info-card:hover .official-info-image img{transform:scale(1.025)}.official-info-body{padding:22px 23px 24px;display:flex;flex-direction:column;flex:1}.official-info-body time{font-size:12px;letter-spacing:.14em;color:#b28a4b;font-weight:700}.official-info-body h3{font-size:19px;line-height:1.55;margin:9px 0 10px}.official-info-body h3 a{color:#102f4a;text-decoration:none}.official-info-body p{font-size:14px;line-height:1.9;color:#6c7a87;margin:0 0 17px}.official-info-read{margin-top:auto;color:#174a75;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.04em}
@media(max-width:720px){.official-information{padding:44px 0}.official-info-head{align-items:flex-start;flex-direction:column}.official-info-actions{width:100%}.official-info-actions .official-text-link{margin-left:auto}.official-info-card{flex-basis:82vw}}

/* v9: mobile hero — copy/buttons stay inside the photo; dots sit just below */
@media (max-width:720px){
  .official-hero{background:#071d34}
  .official-slider{
    position:relative;
    min-height:0 !important;
    height:calc(clamp(330px,68vw,430px) + 44px) !important;
    padding:0 !important;
    overflow:hidden;
    background:#f5f7f9;
  }
  .official-slide{
    top:0;
    bottom:auto;
    height:clamp(330px,68vw,430px);
    min-height:0;
    background:#0a2542;
  }
  .official-slide img{
    width:100%;
    height:100%;
    object-fit:cover !important;
    object-position:center center !important;
    background:#0a2542;
  }
  .official-slide-shade{
    display:block !important;
    top:0;
    bottom:auto;
    height:clamp(330px,68vw,430px);
    background:linear-gradient(180deg,rgba(4,20,36,.06) 0%,rgba(4,20,36,.16) 32%,rgba(4,20,36,.68) 66%,rgba(4,20,36,.94) 100%) !important;
  }
  .official-hero-copy{
    position:absolute;
    z-index:3;
    left:22px !important;
    right:22px !important;
    top:auto !important;
    bottom:66px !important;
    width:auto !important;
    min-height:0 !important;
    box-sizing:border-box;
    transform:none !important;
    padding:0 !important;
    background:none !important;
    color:#fff;
  }
  .official-eyebrow{margin:0 0 7px;font-size:10px;letter-spacing:.12em}
  .official-hero-copy h1{
    margin:0 0 9px;
    font-size:clamp(25px,7.2vw,33px) !important;
    line-height:1.28;
    letter-spacing:.02em;
    text-shadow:0 2px 12px rgba(0,0,0,.22);
  }
  .official-hero-copy>p:last-of-type{
    margin:0;
    max-width:100%;
    font-size:12.5px;
    line-height:1.55;
    color:rgba(255,255,255,.94);
    text-shadow:0 1px 8px rgba(0,0,0,.22);
  }
  .official-hero-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin-top:14px;
  }
  .official-hero-actions a{
    width:100%;
    min-width:0;
    box-sizing:border-box;
    padding:10px 7px;
    font-size:12px;
    white-space:nowrap;
    backdrop-filter:blur(3px);
  }
  .official-slider-ui{
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    height:44px;
    width:100%;
    justify-content:center;
    background:#f5f7f9;
  }
  .official-slider-ui>button{display:none}
  .official-dots{gap:7px}
  .official-dots button{width:24px;height:3px;background:#c8d1d8}
  .official-dots button.is-active{background:#173f63}
}
@media (max-width:420px){
  .official-slider{height:calc(clamp(340px,92vw,390px) + 42px) !important}
  .official-slide,.official-slide-shade{height:clamp(340px,92vw,390px)}
  .official-hero-copy{left:18px !important;right:18px !important;bottom:60px !important}
  .official-hero-copy h1{font-size:27px !important}
  .official-hero-copy>p:last-of-type{font-size:12px;line-height:1.5}
  .official-hero-actions{margin-top:12px}
  .official-hero-actions a{padding:9px 6px;font-size:11.5px}
  .official-slider-ui{height:42px}
}

/* v10: conventional mobile hero layout — copy block vertically centered */
@media (max-width:720px){
  .official-hero-copy{
    top:50% !important;
    bottom:auto !important;
    transform:translateY(-50%) !important;
    max-width:520px;
  }
  .official-slide-shade{
    background:
      linear-gradient(90deg,rgba(4,20,36,.54) 0%,rgba(4,20,36,.30) 58%,rgba(4,20,36,.12) 100%),
      linear-gradient(180deg,rgba(4,20,36,.06) 0%,rgba(4,20,36,.12) 48%,rgba(4,20,36,.42) 100%) !important;
  }
  .official-eyebrow{margin-bottom:9px}
  .official-hero-copy h1{margin-bottom:11px}
  .official-hero-actions{margin-top:16px}
}
@media (max-width:420px){
  .official-hero-copy{
    top:50% !important;
    bottom:auto !important;
    transform:translateY(-50%) !important;
  }
}


/* v14: search page uses the same official header/footer as the top page */
.sokusan-official .search-page{
  min-height:calc(100vh - 82px - 120px);
  background:#f7f9fb;
  padding:62px 0 86px;
}
.sokusan-official .search-page .search-shell{
  width:min(1020px,calc(100% - 48px));
  margin:0 auto;
}
@media(max-width:1020px){
  .sokusan-official .search-page{min-height:calc(100vh - 72px - 120px);}
}
@media(max-width:720px){
  .sokusan-official .search-page{padding:42px 0 64px;}
  .sokusan-official .search-page .search-shell{width:min(100% - 30px,1020px);}
}

/* v16: sticky header anchor offset */
html{scroll-behavior:smooth;scroll-padding-top:102px}
body.sokusan-official #site-search,
body.sokusan-official #blog,
body.sokusan-official #digital,
body.sokusan-official #association,
body.sokusan-official #certificate,
body.sokusan-official #membership,
body.sokusan-official #message{scroll-margin-top:102px}
@media(max-width:1020px){
 html{scroll-padding-top:88px}
 body.sokusan-official #site-search,
 body.sokusan-official #blog,
 body.sokusan-official #digital,
 body.sokusan-official #association,
 body.sokusan-official #certificate,
 body.sokusan-official #membership,
 body.sokusan-official #message{scroll-margin-top:88px}
}
