/* Shared desktop content, with layout adaptations only. */
.motoyoshi-nav { background: #0953d1; margin-top: 14px; clear: both; padding: 0; }
.motoyoshi-nav > ul { display: flex; justify-content: center; flex-wrap: wrap; max-width: 1100px; margin: 0 auto; padding: 0; list-style: none; }
.motoyoshi-nav > ul::after { display: none; }
.motoyoshi-nav li { margin: 0; padding: 0; }
.motoyoshi-nav a { display: flex; align-items: center; justify-content: center; min-height: 46px; padding: 8px 12px; box-sizing: border-box; color: #fff; font-size: 16px; text-decoration: none; }
.motoyoshi-nav a:hover, .motoyoshi-nav a[aria-current="page"] { background: #3977de; }
.motoyoshi-menu-toggle { display: none; }
.motoyoshi-nav .mobile-contact { display: none; }
.motoyoshi-nav [hidden] { display: none !important; }
.motoyoshi-nav a:focus-visible, .motoyoshi-menu-toggle:focus-visible { outline: 3px solid #ffb83e; outline-offset: -3px; }
@media (max-width: 991px) {
  body.motoyoshi-unified { font-size: 16px; line-height: 1.75; overflow-wrap: break-word; }
  .motoyoshi-unified img { max-width: 100%; height: auto; }
  .motoyoshi-unified iframe, .motoyoshi-unified video { max-width: 100%; }
  .motoyoshi-unified #container { width: 100%; max-width: 100%; }
  .motoyoshi-unified .breadcrumbs { font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
  .motoyoshi-unified > header:not(.n_head) { box-sizing: border-box; min-height: 72px; padding: 18px 16px; }
  .motoyoshi-unified > header > .container { padding: 0; max-width: none; width: 100%; }
  .motoyoshi-unified > header h1 img { width: min(50vw, 255px); height: auto; }
  .motoyoshi-unified > header h2 { display: none !important; }
  .motoyoshi-nav { margin-top: 0; }
  .motoyoshi-nav > ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; padding: 8px; }
  .motoyoshi-nav li { min-width: 0; }
  .motoyoshi-nav .mobile-contact { display: block; }
  .motoyoshi-nav a { justify-content: flex-start; font-size: 15px; min-height: 48px; padding: 10px 12px; }
  .motoyoshi-menu-toggle:not([hidden]) { display: flex; align-items: center; justify-content: center; gap: 5px; position: absolute; z-index: 20; top: 12px; right: 12px; min-height: 44px; padding: 8px 10px; border: 1px solid #0953d1; border-radius: 5px; background: #fff; color: #0953d1; font: bold 14px/1.4 Meiryo, sans-serif; cursor: pointer; }
  .motoyoshi-menu-toggle span { font-size: 20px; }
  .motoyoshi-unified #common_footer { height: auto; min-height: 178px; background: #595757; }
  .motoyoshi-unified #footer_wrap { box-sizing: border-box; width: 100%; max-width: 960px; padding: 30px 16px 20px; }
  .motoyoshi-unified #common_footer #foot_address, .motoyoshi-unified #common_footer #foot_add .p_right { float: none; width: auto; text-align: center; }
  .motoyoshi-unified #common_footer #foot_add .p_right { margin-top: 20px; font-size: 14px; line-height: 1.9; }
  .motoyoshi-unified #common_footer .foot_nav { padding-top: 10px; }
  .motoyoshi-unified #common_footer a { display: inline-block; padding: 6px 2px; }
  .motoyoshi-unified #copy { font-size: 12px; overflow-wrap: anywhere; }
  /* Older templates retain their content, with columns stacked on small screens. */
  .legacy-layout #common_head { width: 100%; height: auto; margin: 0; position: static; }
  .legacy-layout #common_head #logo { position: static; }
  .legacy-layout #common_head #catch, .legacy-layout #common_head #tell, .legacy-layout #common_head #contact { display: none; }
  .legacy-layout #container { box-sizing: border-box; padding: 0 16px; }
  .legacy-layout .top_wrap, .legacy-layout .recruit_wrap, .legacy-layout #contact_wrap, .legacy-layout .contact_text, .legacy-layout #form_wrap { width: 100%; max-width: 100%; box-sizing: border-box; }
  .legacy-layout #contents_wrap { display: flex; flex-direction: column; }
  .legacy-layout #main_right, .legacy-layout #news_right, .legacy-layout #right_contents { width: 100%; float: none; order: 0; min-width: 0; }
  .legacy-layout .cat_left, .legacy-layout .s_cat_left, .legacy-layout #n_cat_left, .legacy-layout #left_contents { width: 100%; float: none; order: 1; margin: 32px 0 16px; }
  .legacy-layout #follow_menu { position: static !important; top: auto !important; width: 100% !important; }
  .legacy-layout .cat_left ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .legacy-layout .cat_left ul::after { display: none; }
  .legacy-layout .cat_left li { margin: 0; font-size: 15px; }
  .legacy-layout .cat_left a { padding: 12px; min-height: 44px; box-sizing: border-box; }
  .legacy-layout #item_main section div.right, .legacy-layout #item_main p.item_img, .legacy-layout .solution_main section.medium .m_text, .legacy-layout .m_img, .legacy-layout .solution_customer span, .legacy-layout .news_mamin { float: none; width: 100%; max-width: 100%; box-sizing: border-box; }
  .legacy-layout #item_main p.item_img { width: 140px; margin: 12px auto; }
  .legacy-layout #item_main p.right { width: auto; margin-top: 12px; }
  .legacy-layout .detail_dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
  .legacy-layout .detail_dl::after { display: none; }
  .legacy-layout .detail_dl dl { float: none; margin: 0 0 16px; min-width: 0; }
  .legacy-layout .detail_dl dt { display: flex; align-items: center; justify-content: center; width: 100%; max-width: none; min-height: 120px; box-sizing: border-box; }
  .legacy-layout .detail_dl dd { overflow-wrap: anywhere; }
  .legacy-layout .solution_main section.large img, .legacy-layout .m_img img { max-width: 100%; }
  .legacy-layout #news_right article h2 { width: auto; font-size: 22px; }
  .legacy-layout header.n_head .sns_list, .legacy-layout header.n_head p.n_cat { position: static; }
  .legacy-layout #about1 section, .legacy-layout #about3 table, .legacy-layout #about4 section, .legacy-layout #about4 div.right, .legacy-layout #about6, .legacy-layout #about6 section, .legacy-layout #about9, .legacy-layout #about9 div { float: none; width: 100%; box-sizing: border-box; }
  .legacy-layout #about1 > img, .legacy-layout #about3 > img { float: none; display: block; margin: 24px auto; }
  .legacy-layout #about4 section { display: flow-root; }
  .legacy-layout #about4 div.right { margin-top: 16px; }
  .legacy-layout #about6 section { padding-left: 45px; background-size: 32px auto; }
  .legacy-layout #about5, .legacy-layout #about8 { height: auto; min-height: 160px; background-size: cover; }
  .legacy-layout #about3 table th, .legacy-layout #about3 table td { display: block; width: auto; padding: 10px; background-image: none; }
  .legacy-layout #about3 table th { font-weight: bold; background-color: #edf3fa; }
  .legacy-layout .sdgs_text p, .legacy-layout .sdgs_text img { float: none; width: auto; max-width: 100%; }
  .legacy-layout .sdgs_text img { display: block; margin: 20px auto; }
  .legacy-layout #partner_top { height: auto; background: none; }
  .legacy-layout #partner_top p, .legacy-layout #partner1 .left, .legacy-layout #partner1 .right, .legacy-layout #partner2 section span { float: none; width: 100%; }
  .legacy-layout #partner4 li, .legacy-layout #partner4 li:nth-child(3n) { float: none; width: 100%; margin: 0 0 16px; }
  /* Identical form and validation for desktop and mobile. */
  .legacy-layout #contact_main table { width: 100%; }
  .legacy-layout #contact_main table, .legacy-layout #contact_main tbody, .legacy-layout #contact_main tr, .legacy-layout #contact_main th, .legacy-layout #contact_main td { display: block; box-sizing: border-box; }
  .legacy-layout #contact_main tr { background: #1052d9; }
  .legacy-layout #contact_main th, .legacy-layout #contact_main td { width: 100%; padding: 10px 16px !important; border: 0 !important; border-radius: 0 !important; }
  .legacy-layout #contact_main th { padding-top: 24px !important; padding-bottom: 0 !important; font-weight: bold; }
  .legacy-layout #contact_main td p { font-size: 14px; }
  .legacy-layout .mw_wp_form input:not([type=hidden]):not([type=radio]):not([type=checkbox]), .legacy-layout .mw_wp_form textarea, .legacy-layout .mw_wp_form select { font-size: 16px; box-sizing: border-box; max-width: 100%; min-height: 44px; }
  .legacy-layout .mw_wp_form input[type=text], .legacy-layout .mw_wp_form input[type=email], .legacy-layout .mw_wp_form textarea { width: 100%; padding: 10px; }
  .legacy-layout .mw_wp_form .mwform-tel-field input { width: 25% !important; padding: 8px 3px; }
  .legacy-layout .mw_wp_form input[type=submit] { width: 100%; padding: 14px !important; margin: 8px 0 !important; white-space: normal; }
  .legacy-layout .mw_wp_form label { display: inline-block; padding: 6px 0; }
  .legacy-layout .mw_wp_form input[type=radio], .legacy-layout .mw_wp_form input[type=checkbox] { width: 20px; height: 20px; vertical-align: middle; }
  .legacy-layout #partner3 th, .legacy-layout #partner3 td { display: block; width: 100%; box-sizing: border-box; padding: 12px; }
  .legacy-layout .mw_wp_form .error { color: #fff; background: #9d1222; padding: 4px 8px; margin-top: 6px; }
  /* Existing responsive pages: readable business panels and recruitment links. */
  .modern-layout .item-link { position: relative; }
  .modern-layout .bg-green h3, .modern-layout .bg-blue h3, .modern-layout .bg-green p, .modern-layout .bg-blue p { margin-left: 24px; margin-right: 24px; }
  .modern-layout .reason-area { padding-top: 48px; padding-bottom: 48px; }
  .modern-layout .reason-area .reason-container { padding-left: 20px; padding-right: 20px; box-sizing: border-box; }
  .modern-layout .reason-area ul { padding: 24px; margin-top: 32px; flex-wrap: wrap; gap: 24px; }
  .modern-layout .reason-area ul li { width: 100%; border-right: 0; padding: 0; }
  .modern-layout .end-link01, .modern-layout .end-link02 { flex-wrap: wrap; }
  .modern-layout .end-link01 figure, .modern-layout .end-link02 figure { width: 100%; order: 0; }
  .modern-layout .end-link01 figure img, .modern-layout .end-link02 figure img { width: 100%; }
  .modern-layout .end-link01 > div, .modern-layout .end-link02 > div { order: 1; padding: 24px; box-sizing: border-box; }
}
@media (prefers-reduced-motion: reduce) {
  .motoyoshi-unified *, .motoyoshi-unified *::before, .motoyoshi-unified *::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
.modern-layout .business-area > .row { margin-left: 0; margin-right: 0; }
.modern-layout .business-area > .row > [class*="col-"] { padding-left: 0; padding-right: 0; }
@media (max-width: 767px) {
  .modern-layout .support-hed-text > p br { display: none; }
  .modern-layout .support-hed-text > h3 { font-size: 14px; line-height: 1.8; }
  .modern-layout .support-hed-text > h2 { font-size: clamp(22px, 6vw, 30px); line-height: 1.6; }
  .modern-layout .support-hed > h3 { padding: 14px 20px; font-size: 20px; max-width: calc(100% - 32px); box-sizing: border-box; line-height: 1.6; }
  .legacy-layout #item_main p.item_img img { max-width: 100%; }
}
