/* Styles used only by the English and Chinese pages. */
body.language-page {background-image: none; background-color: #fff;}
.language-page #hpb-wrapper {box-sizing: border-box;}
.language-page #hpb-title {margin: 0 0 20px;}
.language-page #hpb-title h2 {width: 100%; height: auto; min-height: 50px; line-height: 1.4; padding: 14px 18px; box-sizing: border-box; background: #37acd4; overflow: visible;}
.language-page #hpb-title h2 span.ja {display: block; padding: 0; font-size: 22px; line-height: 1.4;}
.language-page #hpb-main {font-size: 15px; line-height: 1.8; color: #354954;}
.language-page .language-content p {margin: 0 0 15px; line-height: 1.8;}
.language-page .language-lead {font-size: 18px; font-weight: 600; color: #155d7b;}
.language-page .language-contact-note {margin: 24px 0; padding: 18px; border-left: 4px solid #32a8cf; background: #edf7fb; overflow-wrap: anywhere;}
.language-page .language-contact-note strong {display: block; color: #155d7b; margin-bottom: 8px;}
.language-page .language-contact-note p {margin-bottom: 10px;}
.language-page .language-section {margin-top: 38px;}
.language-page .language-section > h2 {width: 100%; height: auto; margin: 0 0 20px; padding: 10px 14px; box-sizing: border-box; background: #e8f5fa; color: #155d7b; font-size: 21px; line-height: 1.5; overflow: visible;}
.language-page #hpb-wrapper .language-section > h3 {font-size: 18px; padding: 5px 0; margin: 22px 0 14px;}
.language-page .language-product {display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 20px; align-items: start; padding-bottom: 22px; margin-bottom: 22px; border-bottom: 1px solid #dce8ee;}
.language-page .language-product img {display: block; float: none; width: 100%; height: auto; max-width: 300px; margin: 0;}
.language-page .language-product h4 {margin: 0 0 9px; padding: 0; font-size: 17px; line-height: 1.5; color: #17688c;}
.language-page .language-product p:last-child {margin-bottom: 0;}
.language-page .language-profile,.language-page .language-history {margin: 0; padding: 0; display: grid; grid-template-columns: 155px minmax(0,1fr);}
.language-page .language-profile dt,.language-page .language-history dt,
.language-page .language-profile dd,.language-page .language-history dd {float: none; width: auto; margin: 0; padding: 12px 0; border: 0; border-bottom: 1px solid #dce8ee; background: none; overflow-wrap: anywhere;}
.language-page .language-profile dt,.language-page .language-history dt {padding-right: 16px; font-weight: 600; color: #17688c;}
.language-page .language-small {font-size: 13px;}
.language-page #companyinfo p {font-size: 12px; line-height: 1.7; overflow-wrap: anywhere;}
.language-page #hpb-headerExtra1 .office-phone {grid-template-columns: 7em max-content;}
.language-page #hpb-nav li a {font-size: 12px;}
.language-page #hpb-nav li a:hover {text-decoration: underline;}
.language-page #pagetop {margin-top: 24px;}
@media screen and (max-width: 899px) {
    .language-page #hpb-title h2 span.ja {font-size: 20px;}
    .language-page #hpb-main {font-size: 15px;}
    .language-page .language-product {grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px;}
    .language-page #hpb-nav li a {font-size: 12px; min-height: 48px;}
    .language-page #hpb-headerExtra1 p.tel {font-size: 15px;}
}
@media screen and (max-width: 599px) {
    .language-page .language-product {grid-template-columns: minmax(0, 1fr); gap: 14px;}
    .language-page .language-product img {width: 100%; max-width: 100%;}
    .language-page .language-profile,.language-page .language-history {display: block;}
    .language-page .language-profile dt,.language-page .language-history dt {padding: 14px 0 3px; border-bottom: 0;}
    .language-page .language-profile dd,.language-page .language-history dd {padding: 0 0 14px;}
}
@media screen and (max-width: 359px) {
    .language-page #hpb-headerExtra1 p.tel {font-size: 13px;}
}
