/* Scoped English typography; original Japanese layouts and contact assets stay unchanged. */
/* 52: natural English spacing, including Safari's prefixed hyphenation. */
html[lang="en"] {-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body.ym-english51,body.ym-english51 * {
    word-spacing:0!important;letter-spacing:normal!important;
    -webkit-hyphens:none!important;hyphens:none!important;
    word-break:normal!important;text-justify:none!important;
    text-align-last:auto!important;
}
body.ym-english51 h1,body.ym-english51 h2,body.ym-english51 h3,
body.ym-english51 p,body.ym-english51 .logo-text,
body.ym-english51 #ym-home-no-visit {font-family:Arial,"Helvetica Neue",sans-serif!important;}
body.ym-english51 #wn-exact-home .logo-text {text-align:left!important;}
body.ym-english51 #wn-exact-home h1,
body.ym-english51 #ym-home-no-visit {text-align:center!important;}
body.ym-english51 .wnd-align-justify {text-align:left!important;}
.ym-english51 {font-family:Arial,"Helvetica Neue",sans-serif; overflow-wrap:break-word;}
.ym-english51 #wn-exact-home h1 {font-size:clamp(26px,4vw,42px);line-height:1.4;}
.ym-english51 #wn-exact-home h1,.ym-english51 #wn-exact-home h1 * {word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;}
body.ym-webnode-replica.ym-english51.ym-en-sub:not(.ym-spouse-brand):not(.ym-blog-brand) #wn-exact-home footer a[href^="mailto:"][style*="background"] {display:none!important;}
.ym-english51 #wn-exact-home h2 {line-height:1.4;}
.ym-english51 #wn-exact-home .logo-text {font-size:clamp(13px,2vw,18px);line-height:1.5;}
.ym-english51 #wn-exact-home .logo-text a {white-space:normal;}
.ym-english51 #ym-home-no-visit strong {font-size:clamp(24px,5vw,32px)!important;}
.ym-english51 #ym-home-no-visit strong span {font-size:clamp(17px,3.5vw,21px)!important;}
.ym-english51 #wn-exact-home a[style*="background"] {max-width:100%;box-sizing:border-box;white-space:normal;}
.ym-english51 .wn-fixed-contact-link[href^="tel:"]::before {content:"Call Ryohei\A directly"!important;}
.ym-english51 .wn-fixed-contact-link {font-family:Arial,sans-serif!important;font-size:clamp(11px,2.7vw,14px)!important;line-height:1.2!important;}
.ym-english51 .wn-fixed-contact-link[href^="tel:"] {font-size:0!important;line-height:0!important;}
.ym-english51 .en-main {max-width:1060px;padding:40px 24px 64px;margin:auto;font-size:18px;line-height:1.85;color:#252c32;}
.ym-english51 .en-page-intro {padding:20px 0 35px;border-bottom:3px solid #1976d2;}
.ym-english51 .en-page-intro h1 {color:#176aa8;}
.ym-english51 .en-section {padding:32px 0;border-bottom:1px solid #dce8ee;}
.ym-english51 .en-section h2 {font-size:clamp(23px,3vw,31px);color:#1976b9;margin:0 0 20px;}
.ym-english51 .en-section h3 {font-size:22px;margin:24px 0 12px;}
.ym-english51 .en-main p {margin:0 0 20px;}
.ym-english51 .en-main ul {list-style:disc;padding-left:24px;}
.ym-english51 .en-main a:not(.en-line):not(.en-phone) {color:#176fb0;text-decoration:underline;}
.ym-english51 .en-contacts {display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:25px 0;}
.ym-english51 .en-contacts a {display:block;box-sizing:border-box;width:280px;max-width:100%;padding:15px 12px;border-radius:5px;text-align:center;font-size:19px;font-weight:700;color:white;text-decoration:none;line-height:1.4;}
.ym-english51 .en-line {background:#00c300;}
.ym-english51 .en-phone {background:#007bff;}
.ym-english51 .en-portrait {width:210px;max-width:65%;height:auto;display:block;margin:0 auto 25px;}
.ym-english51 .en-main table {width:100%;border-collapse:collapse;font-size:17px;}
.ym-english51 .en-main td,.ym-english51 .en-main th {padding:14px 10px;border:1px solid #cddfe9;text-align:left;overflow-wrap:anywhere;}
.ym-english51 .en-main th {background:#eaf5fa;}
.ym-english51 .en-main td:last-child {white-space:nowrap;}
.ym-english51 .en-main dt {font-weight:bold;margin-top:18px;color:#176aa8;}
.ym-english51 .en-main dd {margin:4px 0 16px;overflow-wrap:anywhere;}
.ym-english51 .en-main small {color:#65777e;font-size:13px;}
@media(max-width:600px){.ym-english51 .en-main{padding:25px 16px 40px;font-size:17px;}.ym-english51 .en-main table{font-size:14px;}.ym-english51 #wn-exact-home .logo-text{font-size:13px;}.ym-english51 #wn-exact-home p{overflow-wrap:break-word;}}
