/* CHIRAYA public stylesheet - cleaned build */
.renewal-period-footnote{font-size:15px;line-height:1.8;white-space:nowrap;text-align:center;letter-spacing:-.02em;}
.renewal-period-footnote strong{font-weight:800;}
@media (max-width:560px){.renewal-period-footnote{font-size:10px;letter-spacing:-.05em;padding-left:6px!important;padding-right:6px!important;}}
#contact-link{scroll-margin-top:96px;}
@media (min-width: 901px){header nav ul,
.header nav ul,
.site-header nav ul,
.global-nav ul,
.nav-list{display:flex;}
.chiraya-shop-menu,
.dji-shop-menu,
.header-shop-link,
.shop-menu-item{order:9999!important;margin-left:auto!important;}}
.chiraya-shop-menu > a,
a.chiraya-shop-menu,
.chiraya-shop-menu .header-shop-link,
.chiraya-shop-menu .shop-link{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:nowrap!important;line-height:1.05!important;}
.chiraya-shop-menu .shop-main,
.chiraya-shop-menu .chiraya-main{display:block!important;font-size:13px!important;line-height:1.05!important;}
.chiraya-shop-menu .shop-sub,
.chiraya-shop-menu .dji-sub{display:block!important;font-size:10px!important;line-height:1.05!important;margin-top:2px!important;}
@media (max-width:1100px){.menu-button{position:relative!important;width:44px!important;height:44px!important;flex:0 0 44px!important;padding:10px!important;border:0!important;border-radius:10px!important;background:#006ab6!important;}
.menu-button span{display:block!important;width:100%!important;height:2px!important;margin:4px 0!important;border-radius:2px!important;background:#fff!important;}
.global-nav > a,
.global-nav > a.nav-update,
.global-nav > a.nav-shop{box-sizing:border-box!important;width:100%!important;min-height:50px!important;height:auto!important;margin:0!important;padding:10px 14px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;border-radius:10px!important;}
.global-nav > a.nav-shop{min-height:58px!important;flex-direction:column!important;}}
@media (max-width: 700px){.renewal-schedule-table-wrap,
  .schedule-table-wrap,
  .validity-table-wrap,
  .renewal-table-wrap{overflow-x:visible!important;width:100%!important;max-width:100%!important;}
.renewal-schedule-table,
  .schedule-table,
  .validity-table,
  table.renewal-table{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed!important;}
.renewal-schedule-table th,
  .renewal-schedule-table td,
  .schedule-table th,
  .schedule-table td,
  .validity-table th,
  .validity-table td,
  table.renewal-table th,
  table.renewal-table td{width:auto!important;min-width:0!important;padding-left:5px!important;padding-right:5px!important;box-sizing:border-box!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;text-align:center!important;vertical-align:middle!important;}}
@media (max-width:700px){.renewal-period-table-wrap{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;}
.renewal-period-table-scroll{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:visible!important;overflow-y:visible!important;-webkit-overflow-scrolling:auto!important;}
table.renewal-period-table{width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important;}
table.renewal-period-table th,
  table.renewal-period-table td{min-width:0!important;width:auto!important;box-sizing:border-box!important;padding:10px 4px!important;white-space:normal!important;overflow-wrap:normal!important;word-break:keep-all!important;text-align:center!important;vertical-align:middle!important;font-size:12px!important;line-height:1.4!important;}
table.renewal-period-table th:nth-child(1),
  table.renewal-period-table td:nth-child(1){width:29%!important;}
table.renewal-period-table th:nth-child(2),
  table.renewal-period-table td:nth-child(2){width:35%!important;}
table.renewal-period-table th:nth-child(3),
  table.renewal-period-table td:nth-child(3){width:36%!important;}
table.renewal-period-table thead th{font-size:12px!important;padding:10px 3px!important;}
.renewal-period-table .period-badge{display:inline-block!important;max-width:100%!important;padding:5px 7px!important;font-size:10px!important;line-height:1.2!important;white-space:nowrap!important;box-sizing:border-box!important;}}
@media (max-width:390px){table.renewal-period-table th,
  table.renewal-period-table td{padding:9px 2px!important;font-size:11px!important;}
table.renewal-period-table thead th{font-size:11px!important;}
.renewal-period-table .period-badge{padding:4px 5px!important;font-size:9px!important;}}
@media (max-width:700px){table.renewal-period-table th,
  table.renewal-period-table td{font-size:14px!important;line-height:1.45!important;padding:11px 3px!important;}
table.renewal-period-table thead th{font-size:13.5px!important;line-height:1.35!important;}
.renewal-period-table .period-badge{font-size:11.5px!important;line-height:1.2!important;padding:5px 6px!important;}}
@media (max-width:390px){table.renewal-period-table th,
  table.renewal-period-table td{font-size:12.5px!important;line-height:1.4!important;padding:10px 2px!important;}
table.renewal-period-table thead th{font-size:12px!important;}
.renewal-period-table .period-badge{font-size:10px!important;padding:4px 4px!important;}}
a[href*="#contact"],
a[href*="/contact"],
.contact-btn,
.contact-button,
.btn-contact,
.tel-btn,
.fax-btn,
.reveal-tel,
.reveal-fax,
button[data-reveal="tel"],
button[data-reveal="fax"],
.contact-actions a,
.contact-actions button,
.footer-contact a,
.footer-contact button,
.footer-tel,
.footer-fax{border-radius:10px!important;overflow:hidden;}
#contact a,
#contact button,
.contact-section a,
.contact-section button{border-radius:10px!important;}
footer a,
footer button{border-radius:10px;}
@media (max-width: 640px){#contact a,
  #contact button,
  .contact-section a,
  .contact-section button,
  .contact-actions a,
  .contact-actions button,
  .footer-contact a,
  .footer-contact button{border-radius:9px!important;}}
.chiraya-footer .chiraya-footer-contact-buttons button,
.chiraya-footer-contact-buttons .secure-tel,
.chiraya-footer-contact-buttons .secure-fax{border-radius:10px!important;overflow:hidden!important;}
.contact-info-card .secure-tel,
.contact-info-card button.tel{width:auto!important;min-width:0!important;max-width:100%!important;padding:10px 16px!important;font-size:20px!important;line-height:1.2!important;border-radius:10px!important;}
@media (max-width:640px){.contact-info-card .secure-tel,
  .contact-info-card button.tel{padding:9px 14px!important;font-size:18px!important;border-radius:9px!important;}
.chiraya-footer .chiraya-footer-contact-buttons button,
  .chiraya-footer-contact-buttons .secure-tel,
  .chiraya-footer-contact-buttons .secure-fax{border-radius:9px!important;}}
.student-voices{overflow:hidden;}
.student-voice-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;align-items:stretch!important;width:100%!important;max-width:1200px!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important;}
.student-voice-card{min-width:0!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;display:flex!important;flex-direction:column!important;box-sizing:border-box!important;overflow:visible!important;}
.student-voice-title{width:100%!important;min-width:0!important;max-width:100%!important;overflow-wrap:anywhere!important;word-break:normal!important;line-break:strict!important;white-space:normal!important;hyphens:auto!important;}
.student-voice-text{width:100%!important;min-width:0!important;max-width:100%!important;overflow-wrap:anywhere!important;word-break:normal!important;white-space:normal!important;}
.student-voice-person{margin-top:auto!important;padding-top:18px!important;}
@media (max-width: 980px){.student-voice-grid{grid-template-columns:1fr!important;gap:18px!important;max-width:760px!important;}
.student-voice-card{padding:24px 22px!important;}
.student-voice-title{font-size:18px!important;line-height:1.55!important;margin-bottom:14px!important;}
.student-voice-text{font-size:15px!important;line-height:1.9!important;}}
@media (max-width: 600px){.student-voices{padding-left:16px!important;padding-right:16px!important;}
.student-voice-grid{width:100%!important;gap:16px!important;}
.student-voice-card{padding:20px 18px!important;border-radius:14px!important;}
.student-voice-title{font-size:17px!important;line-height:1.5!important;}
.student-voice-text{font-size:14px!important;line-height:1.85!important;}
.student-voice-person{font-size:13px!important;padding-top:14px!important;}}
@media (max-width: 380px){.student-voices{padding-left:12px!important;padding-right:12px!important;}
.student-voice-card{padding:18px 15px!important;}
.student-voice-title{font-size:16px!important;}}
.update-flow-summary{width:min(100%, 980px);margin:28px auto 42px;padding:16px 24px;display:flex;align-items:center;justify-content:center;gap:10px;box-sizing:border-box;border:1px solid #cfe0ee;border-radius:18px;background:#fff;}
.update-flow-summary-step{flex:0 1 auto;min-width:0;padding:10px 17px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:999px;background:#edf7ff;color:#063f78;font-weight:700;line-height:1.25;white-space:nowrap;box-sizing:border-box;}
.update-flow-summary-step span{font-size:15px;font-weight:800;}
.update-flow-summary-step strong{font-size:17px;font-weight:800;}
.update-flow-summary-arrow{flex:0 0 auto;color:#f59a00;font-size:27px;line-height:1;font-weight:900;}
@media (max-width: 980px){.update-flow-summary{width:min(100%, 720px);padding:18px;gap:10px 8px;flex-wrap:wrap;}
.update-flow-summary-step{flex:1 1 calc(33.333% - 30px);min-width:180px;}
.update-flow-summary-arrow{font-size:24px;}}
@media (max-width: 680px){.update-flow-summary{width:100%;margin:22px auto 32px;padding:16px;display:grid;grid-template-columns:1fr;gap:8px;border-radius:15px;}
.update-flow-summary-step{width:100%;min-width:0;padding:11px 14px;}
.update-flow-summary-arrow{transform:rotate(90deg);justify-self:center;font-size:21px;height:18px;}
.update-flow-summary-step span{font-size:14px;}
.update-flow-summary-step strong{font-size:16px;}}
.renewal-other-school-note{margin:18px 0 22px;padding:13px 18px;border:1px solid #f0b23d;border-left:5px solid #f0a000;border-radius:8px;background:#fff8e6;color:#004b87;font-weight:700;line-height:1.75;}
@media (max-width:767px){.renewal-other-school-note{margin:15px 0 18px;padding:11px 13px;font-size:.95rem;}}
