/* Mobile footer fix 2026-10-15 */
@media(max-width:767px){
#footer_top{padding:44px 20px 28px!important;text-align:center}
#footer_logo{margin:0 auto 22px!important}
#footer_sns{display:flex!important;justify-content:center;align-items:center;gap:18px;margin:0 auto!important;padding:0!important;float:none!important;width:auto!important}
#footer_sns li{float:none!important;margin:0!important;display:flex;align-items:center;justify-content:center;width:40px;height:40px;line-height:1}
#footer_sns li a{display:flex!important;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#f1f4f7;line-height:1!important;position:relative}
#footer_sns li a:before{position:static!important;margin:0!important;transform:none!important;top:auto!important;left:auto!important;line-height:1!important}
#footer_menu{display:block!important;width:auto!important;margin:0 20px 32px!important;padding:0!important}
#footer_menu .footer_menu{width:auto!important;float:none!important;margin:0 0 20px!important;padding:0!important;border:none!important;background:#f6f8fa;border-radius:10px;overflow:hidden}
#footer_menu .footer_menu ul{display:grid;grid-template-columns:1fr 1fr;margin:0!important;padding:0!important;border:none!important}
#footer_menu .footer_menu li{margin:0!important;padding:0!important;border-bottom:1px solid #e3e9ee;border-right:1px solid #e3e9ee;list-style:none}
#footer_menu .footer_menu li:nth-child(2n){border-right:none}
#footer_menu .footer_menu li:first-child{grid-column:1/-1;border-right:none;background:#112a44}
#footer_menu .footer_menu li:first-child a{color:#fff!important;font-weight:700}
#footer_menu .footer_menu li a{display:block;padding:14px 12px!important;font-size:12.5px!important;line-height:1.5!important;color:#243c50;text-align:left}
}

/* Hide comments on all blog posts 2026-10-15 */
body.single-post #comments,body.single-post #respond,body.single-post .comment_message{display:none!important}

/* Responsive fixes 2026-10-15 (audit issues 1-4) */
/* (1) Translate trigger: small pill bottom-left, clear of CTA / return_top */
@media screen and (max-width:1024px){
html body #glt-translate-trigger{left:10px!important;right:auto!important;bottom:calc(120px + env(safe-area-inset-bottom,0px))!important;width:auto!important;max-width:110px;top:auto!important;padding:4px 10px!important;font-size:11px!important;line-height:1.4!important;height:auto!important;border-radius:999px!important;opacity:.85!important;box-shadow:0 1px 4px rgba(0,0,0,.25)!important}
}
@media screen and (min-width:768px) and (max-width:1024px){html body #glt-translate-trigger{bottom:calc(20px + env(safe-area-inset-bottom,0px))!important}}
/* (2) Post tables fit on mobile */
@media screen and (max-width:767px){
.post_content .s_table{overflow-x:visible}
.post_content .s_table table{width:100%!important;min-width:0!important;table-layout:auto;font-size:12px}
.post_content .s_table th,.post_content .s_table td{min-width:0!important;width:auto!important;white-space:normal!important;word-break:break-word;overflow-wrap:anywhere;padding:8px 10px!important}
}
/* (3) Header slider: media covers full height on tablet; button visible */
@media screen and (min-width:768px) and (max-width:1024px){
#header_slider .item{background-size:cover!important;background-position:center!important}
#header_slider .video_wrap.type2{left:0!important;transform:none!important;width:100%!important;height:100%!important;object-fit:cover}
#header_slider .slick-active .design_button.animate{opacity:1!important}
}
/* (4) Global menu legible over slider (transparent header only) */
body:not(.header_fix) #header:not(.active) #global_menu > ul > li > a{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.7),0 0 8px rgba(0,0,0,.45)}

/* Hide back-to-top button 2026-10-15 */
#return_top,#return_top2{display:none!important}

/* Design fixes 2026-10-15e */
/* (a) Hide mobile LINE footer bar on desktop widths; keep on mobile */
@media screen and (min-width:768px){
body #dp-footer-bar,body .dp-footer-bar,body #dp-footer-bar.type2{display:none!important}
}
/* (b) Hero titles readable on mobile: dark overlay + text-shadow */
@media screen and (max-width:767px){
html body#body #page_header .overlay{background-color:rgba(9,26,44,.58)!important;z-index:2}
html body#body #page_header h1,html body#body #page_header .catch{color:#fff!important;text-shadow:0 2px 6px rgba(0,0,0,.75),0 0 14px rgba(0,0,0,.55)!important}
}
/* (c) Mobile top page header logo always visible */
@media screen and (max-width:767px){
html body.home #header_logo,html body.home #header_logo a{opacity:1!important;visibility:visible!important}
}
/* (d) Featured blog card image fills its box */
body.home #cb_content_9 .blog_list .item:first-child .image_link,
body.home #cb_content_9 .blog_list .item:first-child .image_wrap,
body.home #cb_content_9 .blog_list .item:first-child .image{display:block;box-sizing:border-box;width:100%!important;max-width:none!important;height:100%!important;margin:0!important}
body.home #cb_content_9 .blog_list .item:first-child .image{background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important}
body.home #cb_content_9 .blog_list .item:first-child img{display:block;width:100%;height:100%;object-fit:cover}
/* (e) Footer X icon aligned with the other social icons */
#footer_sns li.twitter a:before{top:0}
@media(max-width:767px){#footer_sns li.twitter a:before{top:auto!important}}
/* (f) Mobile footer link tables: borders drawn by grid gap so they are never clipped */
@media(max-width:767px){
#footer_menu .footer_menu{border:1px solid #e3e9ee!important;box-sizing:border-box}
#footer_menu .footer_menu ul{gap:1px;background:#e3e9ee}
#footer_menu .footer_menu li{border:0!important;background:#f6f8fa}
#footer_menu .footer_menu li:first-child{background:#112a44}
#footer_menu .footer_menu li:last-child:nth-child(2n){grid-column:1/-1}
}
/* (d2) Featured card (desktop): image cell stretches to the full card height/width, no grey strip */
@media screen and (min-width:768px){
body.home #cb_content_9 .blog_list .item:first-child{align-items:stretch}
body.home #cb_content_9 .blog_list .item:first-child .image_link{position:relative;display:block;aspect-ratio:auto!important;height:auto!important;min-height:310px;align-self:stretch;width:100%!important;overflow:hidden}
body.home #cb_content_9 .blog_list .item:first-child .image_wrap{position:absolute!important;top:0;left:0;right:0;bottom:0;width:100%!important;height:100%!important}
body.home #cb_content_9 .blog_list .item:first-child .image{position:absolute!important;top:0;left:0;width:100%!important;height:100%!important;background-size:cover!important;background-position:center center!important}
}
/* (d3) The featured image file (…-1792022451.jpg, 1280x720) has grey margins baked in (right 405px, top 72px, bottom 92px).
   Crop to the real picture area (x 0-875, y 72-628) so the card shows no grey strip. Re-uploading a clean image makes this rule unnecessary. */
body.home #cb_content_9 .blog_list .item:first-child .image[style*="1792022451"]{background-size:146.2% auto!important;background-position:left 52% !important}