/* Static behavior and accessibility; original visual styles are in styles.css. */
.main,#sub-page{opacity:1}.fadeIn,.fadeIn-02{visibility:visible}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
a:focus-visible,button:focus-visible,[role=button]:focus-visible{outline:2px solid #ed6c00;outline-offset:4px}
.local-form{min-width:0}.local-form iframe{display:block;width:100%;height:1350px;border:0;background:transparent}
body.menu-open{overflow:hidden}
#btn-close{cursor:pointer}
.sub-btn{background:none;border:0;cursor:pointer;padding:0}
header .nav__list.is-open>.hd-group{display:block}
header .nav__list.is-open>.nav__tit{color:#334d90}
header .nav__list.is-open>.nav__tit:before{width:100%}
/* Bridge the hover gap below each desktop title without changing its layout. */
@media(min-width:769px){
 header .gnavi .nav__list.dl-d>.nav__tit:after{content:"";position:absolute;top:100%;left:0;width:100%;height:20px}
 header .gnavi .hd-group{top:100%}
}
@media(max-width:768px){
 #navi.is-open{display:block}
 #navi .navi-inner{height:100dvh;overflow:auto;overscroll-behavior:contain}
 header .nav__list.is-open>.nav__tit{color:#fff}
 .local-form iframe{height:1450px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Local versions of controls originally populated by WordPress and E-IR. */
.local-ir-control{display:block;margin:0 0 20px;font-size:14px}.local-ir-control select{margin-left:12px;padding:7px 30px 7px 10px;border:1px solid #ccc;background:#fff;font:inherit}
.local-qir-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.local-qir-chart{padding:20px 10px;border:1px solid #e3e7eb;background:#fff;min-width:0}.local-qir-chart h3{font-size:17px;margin:0 0 12px}.local-qir-chart p{text-align:right;font-size:12px}.local-qir-chart svg{display:block;width:100%;height:auto}.local-qir-chart details{font-size:12px}.local-qir-chart summary{cursor:pointer;color:#334d90}.local-qir-chart table{font-size:12px}
.local-search{max-width:1000px;margin:70px auto;padding:0 20px}.local-search h1{font-size:36px;color:#334d90;margin-bottom:30px}.local-search form{display:flex;gap:12px;margin:25px 0}.local-search input{width:80%;padding:12px;border:1px solid #bbb;font:inherit}.local-search button{padding:12px 25px;border:0;background:#334d90;color:white;font:inherit}.local-search li{border-bottom:1px solid #ddd;padding:20px 0}.local-search li a{color:#334d90;font-size:18px;font-weight:bold}.local-search li p{margin-top:8px}
.js-accordion.is-open .js-accordionMoreContent{display:block}
@media(max-width:768px){.local-qir-grid{grid-template-columns:1fr}.local-search{margin-top:35px}}
.main [id],#new-service [id]{scroll-margin-top:90px}
section[id^="sys-navi"]{scroll-margin-top:90px}
@media(max-width:768px){.main [id],#new-service [id]{scroll-margin-top:65px}}
@media(max-width:768px){section[id^="sys-navi"]{scroll-margin-top:65px}}
/* Keep legacy article tables, captions and long URLs inside the page. */
.local-table-scroll{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.wp-caption{max-width:100%!important}.wp-caption img{max-width:100%;height:auto}
.ph2-blog .main,.news-article-block{overflow-wrap:anywhere}
.ph2-blog pre,.news-article-block pre{max-width:100%;overflow-x:auto}
.ph2-blog iframe{max-width:100%}
.contentsSide .w760,.contentsSide .left{min-width:0}
.main{overflow-wrap:anywhere}iframe{max-width:100%}
[data-local-carousel]{overflow:hidden;position:relative;width:100%;min-width:0;touch-action:pan-y}
[data-local-carousel]>.swiper-wrapper,[data-local-carousel] .swiper-wrapper{display:flex;width:100%;max-width:100%;transition:transform .3s}
[data-local-carousel] .swiper-slide{flex:0 0 100%;width:100%;max-width:100%}
.local-carousel-arrow{position:absolute;top:45%;z-index:2;border:0;border-radius:50%;width:32px;height:32px;background:#334d90;color:white;font-size:26px;cursor:pointer}.local-carousel-arrow.swiper-button-prev{left:8px}.local-carousel-arrow.swiper-button-next{right:8px}
.local-carousel-dot{width:8px;height:8px;margin:5px;border:0;padding:0;border-radius:50%;background:#bbb;cursor:pointer}.local-carousel-dot.is-active{background:#334d90}
.main video,#new-service video{max-width:100%;height:auto}
.news-post{overflow-wrap:anywhere}
.news-post img{max-width:100%;height:auto}
.local-unavailable{max-width:900px;margin:70px auto 100px;padding:0 24px;min-height:240px}
.local-unavailable h1{font-size:28px;line-height:1.7;color:#334d90;margin-bottom:24px}
.local-unavailable p{line-height:1.9;margin-bottom:32px}
.local-unavailable>div{display:flex;flex-wrap:wrap;gap:16px}
.local-unavailable a{display:inline-block;padding:15px 28px;background:#334d90;color:#fff;text-decoration:none}
@media(max-width:768px){.local-unavailable{margin:40px auto 60px}.local-unavailable h1{font-size:22px}}
.top .news-block .information-empty{padding:40px 0;text-align:center}
/* Business produce showcase: three complete cards on desktop, one on mobile. */
@media(min-width:769px) and (max-width:1280px){
 #produce #mv .inner{width:95%;max-width:1200px}
 #produce #mv .mv-txt{min-width:0;flex:1}
 #produce #mv .mv-txt .title{margin-left:0;font-size:clamp(28px,3.44vw,44px)}
 #produce #mv .mv-img{width:40%;flex-shrink:0}
}
#produce #showcase .showcase-content{height:auto;padding:0 25px;overflow:visible}
#produce #showcase #slider2[data-local-carousel]{padding-bottom:42px}
#produce #showcase #slider2 .showcase{margin:40px 0 24px;gap:36px;align-items:stretch}
#produce #showcase #slider2[data-local-carousel] .swiper-slide{flex:0 0 calc((100% - 72px)/3);width:calc((100% - 72px)/3);max-width:calc((100% - 72px)/3);height:auto;opacity:1;transition:none}
#produce #showcase #slider2 .swiper-slide a,#produce #showcase #slider2 .showcase-card{display:block;height:100%}
#produce #showcase #slider2 .swiper-slide img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#fff}
#produce #showcase #slider2 .swiper-pagination{bottom:10px}
#produce #showcase #slider2 .local-carousel-dot{background:#a98a83}
#produce #showcase #slider2 .local-carousel-dot.is-active{background:#e60012}
#produce #showcase #slider2 .swiper-button-prev,#produce #showcase #slider2 .swiper-button-next{top:auto;bottom:0;margin:0;width:24px;height:32px;background-size:18px 28px}
#produce #showcase #slider2 .swiper-button-prev{left:0}
#produce #showcase #slider2 .swiper-button-next{right:0}
/* Tablet widths must fit the viewport between the original mobile/desktop rules. */
#appbox_partner,#kit-curu{min-width:0}
@media(min-width:769px) and (max-width:1199px){
 #appbox_partner .inner,#kit-curu .inner{max-width:calc(100% - 48px)}
 #kit-curu #mv .mvTxt{flex:0 1 44%;min-width:0}
 #kit-curu #mv .mvImg{flex:0 1 56%;min-width:0}
 #kit-curu #casestudy .caseContent{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 #kit-curu #casestudy .caseContent .caseContentInner{min-width:0;max-width:100%}
 #kit-curu #casestudy .caseContent .caseContentInner dd{padding:24px;gap:20px}
 #kit-curu #casestudy .caseContent .caseContentInner dd .caseInnerImg{flex:0 0 80px}
 #kit-curu #casestudy .caseContent .caseContentInner dd .caseInnerTxt{width:auto;min-width:0;flex:1}
 #apprfp #issue .issue-trouble{max-width:100%}
 #works-case #bookoff #flow .project-flow .flow-list{width:calc(100% - 24px)}
}
@media(min-width:768px) and (max-width:1100px){
 .interview-image-weight1{left:0;width:40%}
 .interview-image-weight2{right:0;width:40%}
}
@media(max-width:768px){
 #produce #showcase .showcase-content{padding:0 16px}
 #produce #showcase #slider2 .showcase{margin:24px 0;gap:0}
 #produce #showcase #slider2[data-local-carousel] .swiper-slide{flex-basis:100%;width:100%;max-width:100%}
}
/* Separate the tag filters from the article grid and sidebar below. */
#iridge-tag-list{margin-bottom:48px}
@media(max-width:768px){#iridge-tag-list{margin-bottom:32px}}
@media(max-width:768px){.news-article-block img.alignright,.news-article-block img.alignleft,.news-post img.alignright,.news-post img.alignleft{float:none;margin-left:0!important;margin-right:0!important;max-width:100%}}
/* Keep the shared navigation available while scrolling. */
header, header.fixed, .top header { position: sticky; top: 0; background: #fff; }
.map-block .google-map iframe { display: block; width: 100%; height: 100%; border: 0; }
/* Keep interview cards aligned despite different department text lengths. */
.interview-top .interview-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:24px;align-items:stretch}
.interview-top .interview-list::before,.interview-top .interview-list::after{content:none}
.interview-top .interview-list>li{display:flex;flex-direction:column;float:none;width:auto;min-width:0;margin:0!important;padding:16px}
.interview-top .interview-list>li>img{display:block;width:100%;aspect-ratio:303/195;object-fit:cover;flex-shrink:0}
.interview-top .interview-list>li>br{display:none}
.interview-top .interview-list>li>.w200{max-width:100%;margin:auto auto 0}
@media(min-width:600px) and (max-width:1023px){.interview-top .interview-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.interview-top .interview-list{grid-template-columns:minmax(0,1fr);gap:20px}}
