/* V50 multilingual mobile typography: layout-only fixes, no visual redesign */
html:lang(en) .shell, html:lang(ja) .shell {overflow-wrap:break-word;}
html:lang(en) #home .product, html:lang(ja) #home .product {box-sizing:border-box;min-width:0;min-height:190px;padding:7px 4px 22px;gap:3px;}
html:lang(en) #home .product b, html:lang(ja) #home .product b {display:block;white-space:normal;overflow-wrap:anywhere;word-break:normal;font-size:clamp(10px,2.7vw,13px);line-height:1.3;min-height:2.6em;max-width:100%;text-align:center;}
html:lang(ja) #home .product b {word-break:normal;}
html:lang(en) #home .product .ks30-desc, html:lang(ja) #home .product .ks30-desc {display:block;position:static;width:100%;min-width:0;margin:0;white-space:normal;overflow-wrap:anywhere;word-break:normal;font-size:clamp(9px,2.25vw,11px);line-height:1.35;text-align:center;flex:1 0 auto;}
html:lang(en) #home .product .ks29-price, html:lang(ja) #home .product .ks29-price {display:block;min-width:0;max-width:100%;white-space:normal;text-align:center;overflow-wrap:anywhere;line-height:1.25;font-size:clamp(12px,3.35vw,18px);}
html:lang(en) #home .product .ks29-icon, html:lang(ja) #home .product .ks29-icon {width:min(75px,90%);height:62px;}
html:lang(en) #home .ks29-products .head, html:lang(ja) #home .ks29-products .head {min-width:0;flex-wrap:wrap;gap:5px;}
html:lang(en) #home .ks29-products .head small, html:lang(ja) #home .ks29-products .head small {white-space:normal;max-width:100%;}
html:lang(en) #home .ks29-products .head h2, html:lang(ja) #home .ks29-products .head h2 {min-width:0;overflow-wrap:anywhere;}
html:lang(en) #home .feature h2,html:lang(ja) #home .feature h2 {font-size:clamp(20px,5.7vw,26px);line-height:1.35;overflow-wrap:anywhere;word-break:normal;}
html:lang(en) #home .hero h1, html:lang(ja) #home .hero h1 {font-size:clamp(22px,7vw,36px);line-height:1.2;overflow-wrap:anywhere;}
html:lang(en) .v33-logo-words, html:lang(ja) .v33-logo-words {min-width:0;}
html:lang(en) .v33-login-card,html:lang(ja) .v33-login-card {min-width:0;overflow-wrap:anywhere;}
html:lang(en) .v33-login-card h2,html:lang(ja) .v33-login-card h2 {overflow-wrap:anywhere;}
html:lang(en) .tal-card h3, html:lang(ja) .tal-card h3,html:lang(en) .tal-card p,html:lang(ja) .tal-card p {overflow-wrap:anywhere;word-break:normal;}
html:lang(en) .freebox,html:lang(ja) .freebox {min-width:0;overflow-wrap:anywhere;}
html:lang(en) #home .product .price,html:lang(ja) #home .product .price {bottom:5px;right:7px;}
@media (max-width:375px){html:lang(en) #home .product,html:lang(ja) #home .product {padding-inline:3px;}html:lang(en) #home .card-grid,html:lang(ja) #home .card-grid {gap:6px;}html:lang(en) #home .product .ks29-icon,html:lang(ja) #home .product .ks29-icon {height:56px;}}
