/* Layout corrections: preserve the original 900px desktop design. */
html { scroll-behavior:smooth; }
body { overflow-wrap:break-word; }
img { max-width:100%; height:auto; }
a:focus-visible,input:focus-visible,textarea:focus-visible { outline:3px solid #2477b9; outline-offset:2px; }
@media (min-width:801px) {
  body { min-width:900px; }
  #hpb-container { width:100%; }
  #hpb-header,#hpb-inner,#hpb-footer { box-sizing:content-box; width:900px; max-width:none; margin-left:auto; margin-right:auto; }
  #hpb-headerLogo { width:265px; margin-left:0; }
  #hpb-nav { left:275px; top:-94px; width:620px; position:absolute; }
  #hpb-wrapper { width:655px; float:left; }
  #hpb-aside { width:225px; float:right; }
}
#contact input:not([type=submit]):not([type=hidden]),#contact textarea { box-sizing:border-box; max-width:100%; width:100%; padding:9px; border:1px solid #9ca3af; border-radius:4px; }
#contact textarea { min-height:170px; }
#contact .button { padding:10px 28px; cursor:pointer; }
#contact .form-alert { padding:12px; margin:12px 0; border:1px solid #bd4b4b; background:#fff4f4; color:#7d2020; }
#contact .form-success { padding:12px; margin:12px 0; border:1px solid #388455; background:#effaf1; color:#205b31; }
#contact table { width:100%; }
#contact th { text-align:left; }
#contact td,#contact th { vertical-align:top; }
#contact .required { color:#a52b2b; }
@media(max-width:800px) {
  body { min-width:0!important; width:auto!important; margin:0!important; padding:0!important; }
  #hpb-container { width:100%!important; min-width:0!important; }
  #hpb-header,#hpb-inner,#hpb-footer { box-sizing:border-box; width:100%!important; max-width:100%!important; min-width:0!important; margin:0 auto!important; }
  #hpb-header { height:auto!important; min-height:0; padding:8px 12px 12px; }
  #hpb-headerMain,#hpb-headerLogo,#hpb-headerExtra1 { float:none!important; clear:both!important; position:static!important; width:100%!important; height:auto!important; margin:0!important; padding:0!important; }
  #hpb-headerMain { min-height:28px; }
  #hpb-headerMain h1 { padding:3px 0!important; }
  #hpb-headerLogo a { height:71px; max-width:265px; background-size:contain; }
  #hpb-headerExtra1 { padding:5px 0!important; }
  #hpb-headerExtra1 p { float:none!important; position:static!important; text-align:left!important; margin:3px 0!important; }
  #hpb-inner { display:flex; flex-direction:column; background-image:none!important; }
  #hpb-nav { order:0; box-sizing:border-box; float:none!important; position:static!important; width:100%!important; height:auto!important; overflow:visible!important; background:#f2f2f2; border:0; }
  #hpb-nav ul { display:flex!important; flex-wrap:wrap; gap:4px; margin:0!important; padding:6px!important; }
  #hpb-nav li { box-sizing:border-box; float:none!important; display:block!important; flex:1 1 135px; width:auto!important; height:auto!important; border:0; }
  #hpb-nav li a { box-sizing:border-box; width:100%; min-height:44px; padding:12px 8px!important; background:#e9edf0; text-decoration:none; }
  #hpb-nav li span.ja { display:inline!important; }
  #hpb-nav li span.en { display:none!important; }
  #hpb-wrapper { order:1; float:none!important; width:100%!important; }
  #hpb-title,.hpb-layoutset-01 #hpb-title { box-sizing:border-box; width:100%!important; height:auto!important; min-height:0!important; margin:0!important; background-size:contain!important; background-repeat:no-repeat!important; aspect-ratio:900/280; }
  #hpb-main { box-sizing:border-box; width:100%!important; padding:12px!important; }
  #hpb-aside { order:2; box-sizing:border-box; float:none!important; width:100%!important; padding:12px!important; }
  #hpb-footer { box-sizing:border-box; height:auto!important; padding:15px 12px!important; }
  #hpb-footerMain,#hpb-footerExtra1 { float:none!important; box-sizing:border-box; width:100%!important; text-align:center!important; }
  #hpb-footerMain p { text-align:center!important; }
  #contact table,#contact tbody,#contact tr,#contact th,#contact td { display:block; box-sizing:border-box; width:100%!important; }
  #contact th { padding:10px 4px 2px!important; }
  #contact td { padding:3px 4px 10px!important; }
}
