/* Customer presentation only. Payment and provisioning rules are unchanged. */
.mvpn-header .mvpn-logo { min-width:0; margin-left:0 !important; }
.mvpn-header .mvpn-logo img { width:230px !important; max-width:100% !important; }
.mvpn-header .mvpn-logo a, .mvpn-footer .mvpn-footer-logo { background:transparent !important; }
.mvpn-header .mvpn-logo img, .mvpn-footer .mvpn-footer-logo img { mix-blend-mode:lighten; }
.mvpn-header .mvpn-header-inner { min-height:88px !important; gap:24px; }
.mvpn-header a:focus-visible, .mvpn-footer a:focus-visible,
.mvpn-content-page a:focus-visible, .register a:focus-visible,
.register button:focus-visible { outline:3px solid #2c80db; outline-offset:4px; }
.mvpn-home, .mvpn-wrapper, .mvpn-service-order-page, .mvpn-mypage,
.mvpn-customer-login, .mvpn-service-page, .mvpn-service-detail {
    word-break:normal; overflow-wrap:break-word; letter-spacing:0;
}
.mvpn-home p, .mvpn-content-page p, .mvpn-content-page li,
.mvpn-content-page h1, .mvpn-content-page h2, .mvpn-policy-wrap,
.mvpn-service-order-page, .mvpn-mypage, .mvpn-customer-login,
.mvpn-service-hero, .mvpn-service-detail, .mvpn-service-page {
    word-break:keep-all; overflow-wrap:anywhere; letter-spacing:0;
}
.mvpn-home p, .mvpn-content-card p, .mvpn-content-card li,
.mvpn-policy-wrap p, .mvpn-policy-wrap li { font-size:16px; line-height:1.8; }
.mvpn-home .mvpn-feature-card p { font-size:15px; line-height:1.75; word-break:keep-all; overflow-wrap:anywhere; letter-spacing:0; }
.mvpn-wrapper p, .mvpn-footer p { word-break:keep-all; overflow-wrap:anywhere; }
.mvpn-home h1, .mvpn-home h2, .mvpn-home h3, .mvpn-home p,
.mvpn-content-page h1, .mvpn-content-page h2, .mvpn-content-page h3,
.mvpn-service-page h1, .mvpn-service-page h2, .mvpn-service-page h3 { letter-spacing:0 !important; }
.mvpn-content-card { margin-top:0 !important; padding:16px 0 32px !important; border:0 !important; box-shadow:none !important; background:transparent !important; }
.mvpn-content-page .mvpn-content-hero { min-height:0; padding:0 !important; }
.mvpn-content-page .mvpn-content-hero .mvpn-content-inner { padding-top:36px; padding-bottom:36px; }
.mvpn-content-page .mvpn-content-body { padding-top:20px; }
.mvpn-content-page .mvpn-content-cta { border-radius:0; }
.mvpn-company-info { display:grid; grid-template-columns:150px minmax(0,1fr); gap:12px 20px; margin:20px 0; line-height:1.75; }
.mvpn-company-info dt { font-weight:700; color:#263e5b; }
.mvpn-company-info dd { margin:0; }
.mvpn-content-card h2, .mvpn-content-card h3 { word-break:keep-all; line-height:1.45; }
.mvpn-content-hero h1, .mvpn-shop-title { letter-spacing:0; line-height:1.35; }
.mvpn-policy-wrap { max-width:900px; margin:0 auto; padding:40px 20px 64px; color:#233247; font-size:16px; line-height:1.8; }
.mvpn-policy-wrap h1 { margin:0 0 28px; font-size:30px; line-height:1.4; }
.mvpn-policy-wrap h2 { margin:32px 0 12px; font-size:21px; line-height:1.45; }
.mvpn-policy-wrap p { margin:12px 0; }
.mvpn-policy-wrap ul { padding-left:24px; }
.mvpn-policy-date { color:#526277; font-size:14px !important; }
.mvpn-policy-wrap a { color:#175aa5; text-decoration:underline; text-underline-offset:3px; }
.mvpn-shop-title { margin:0 0 24px; color:#13223a; font-size:28px; }
.mvpn-service-order-page #sod_fin { width:100%; float:none; }
.mvpn-service-order-page .tbl_wrap { overflow-x:auto; max-width:100%; }
.mvpn-service-order-page #sod_fin_list table { min-width:680px; }
.mvpn-service-order-page #sod_fin_list td { word-break:normal; }
.mvpn-service-order-page #sod_fin_list .td_numbig,
.mvpn-service-order-page #sod_fin_list .td_mngsmall { white-space:nowrap; }
.mvpn-service-order-page #sod_fin_list .td_prd { min-width:240px; }
.mvpn-service-order-page #sod_fin_list .td_prd.mvpn-digital-item { padding-left:15px; }
.mvpn-service-order-page #sod_fin_list .mvpn-digital-item .sod_name,
.mvpn-service-order-page #sod_fin_list .mvpn-digital-item .sod_opt { word-break:keep-all; overflow-wrap:anywhere; }
.mvpn-service-order-page #sod_fin_no { word-break:normal; overflow-wrap:anywhere; }
.mvpn-service-order-page #sod_fin_no strong { white-space:nowrap; }
.mvpn-service-order-page #sod_bsk { max-width:100%; }
.mvpn-service-order-page #sod_bsk table { min-width:680px; }
.mvpn-service-order-page #sod_fin section h3 { font-size:19px; line-height:1.4; }
.mvpn-service-order-page #sod_fin td { font-size:15px; line-height:1.7; }
.mvpn-service-order-page #sod_fin th { font-size:14px; line-height:1.6; }
.mvpn-order-notice { margin:16px 0; padding:16px; border-left:3px solid #2772bd; background:#f0f6fc; color:#243a54; font-size:15px; line-height:1.7; }
.mvpn-order-notice p { margin:5px 0; }
.mvpn-order-table { width:100%; border-collapse:collapse; font-size:15px; }
.mvpn-order-table th, .mvpn-order-table td { padding:16px 12px; border-bottom:1px solid #dce3eb; text-align:left; }
.mvpn-order-table th { background:#f3f6fa; color:#354760; font-size:14px; }
.mvpn-order-table .money, .mvpn-order-table .order-id { white-space:nowrap; font-variant-numeric:tabular-nums; }
.mvpn-order-table .money { text-align:right; }
.mvpn-order-table a { color:#155ba5; font-weight:700; }
.mvpn-order-table small { display:block; margin-top:5px; color:#5b6675; font-size:13px; line-height:1.5; }
.mvpn-order-status { display:inline-block; padding:4px 7px; border-radius:4px; background:#eef3f8; color:#284967; font-size:14px; }
.mvpn-order-status.is-cancelled { background:#f0f0f0; color:#555; }
.mvpn-member-summary { grid-template-columns:minmax(160px,1fr) repeat(2,minmax(80px,auto)) minmax(160px,auto) auto; }
.mvpn-member-cell { min-width:0; }
.mvpn-mypage .megavpn-account-table-wrap { max-width:100%; overflow-x:auto; }
.mvpn-mypage .megavpn-account-table { min-width:900px; }
.mvpn-support-note { color:#4a5d72; font-size:14px; line-height:1.7; margin:16px 0; }
.mvpn-member-cell strong { white-space:normal; overflow-wrap:anywhere; line-height:1.5; }
.mvpn-guide-nav { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 28px; }
.mvpn-guide-nav a { padding:10px 16px; border:1px solid #b6c9dc; border-radius:4px; color:#17599d !important; background:#fff; text-decoration:none; }
.mvpn-guide-section { padding:28px 0; border-top:1px solid #d8e1eb; scroll-margin-top:120px; }
.mvpn-guide-section ol { padding-left:24px; }
.mvpn-guide-section li { margin:12px 0; }
.mvpn-guide-section code { font-size:15px; word-break:normal; }
.mvpn-guide-intro { padding:0 0 20px; }
.mvpn-guide-intro strong { color:#133f70; }
#fregister textarea { width:100%; height:320px; padding:18px; font-size:15px; line-height:1.8; word-break:keep-all; resize:vertical; }
#fregister .fregister_agree { position:static; display:flex; align-items:flex-start; gap:10px; padding:16px !important; min-height:0; line-height:1.6; }
#fregister .fregister_agree input[type=checkbox] { position:static; z-index:0; opacity:1; appearance:auto; display:block; flex:0 0 20px; width:20px; height:20px; margin:2px 0 0; clip:auto; overflow:visible; }
#fregister .fregister_agree input[type=checkbox]:focus-visible { outline:3px solid #2c80db; outline-offset:3px; }
#fregister .fregister_agree label { display:block; padding:0; line-height:1.6; text-align:left; font-size:14px; word-break:keep-all; }
#fregister .fregister_agree label span { display:none !important; }
#fregister .mvpn-consent { padding:20px; border:1px solid #dbe2ea; font-size:15px; line-height:1.8; }
#fregister .mvpn-consent dl { margin:0; }
#fregister .mvpn-consent dt { margin-top:12px; color:#213d60; font-weight:700; }
#fregister .mvpn-consent dd { margin:4px 0 0; }
#fregister .mvpn-consent p { margin:16px 0 0; padding:0; height:auto; background:none; color:#233247; font-weight:400; line-height:1.8; text-align:left; }
#fregister .mvpn-consent p::before { display:none; }
#mb_login.mvpn-customer-login .mvpn-login-brand { background:#061428 !important; border-radius:8px 0 0 8px; }
#mb_login.mvpn-customer-login .mvpn-login-brand h1 { font-size:32px; line-height:1.45; letter-spacing:0; }
#mb_login.mvpn-customer-login .mvpn-login-logo img { max-width:240px; mix-blend-mode:lighten; }
#sit_sel_option.mvpn-selected-options h3 { position:static; width:auto; height:auto; font-size:19px; line-height:1.5; }
.mvpn-product-page p, .mvpn-product-page .mvpn-product-specs dd { word-break:keep-all; overflow-wrap:anywhere; letter-spacing:0; }
.mvpn-product-page .mvpn-product-description, .mvpn-product-page .mvpn-product-guide p { font-size:15px; line-height:1.75; }
.mvpn-product-page .mvpn-product-specs dd { font-size:14px; line-height:1.6; }
.mvpn-service-page .mvpn-service-count { color:#37526f; }
.mvpn-service-page .mvpn-service-hero { min-height:0; padding:0 !important; }
.mvpn-service-page .mvpn-service-hero-inner { padding:40px 0; }
.mvpn-service-page .mvpn-service-content { margin:0 auto; }
.mvpn-service-page .mvpn-service-heading { padding:30px 0 0; border:0; border-radius:0; box-shadow:none; background:transparent; }
.mvpn-service-page .mvpn-service-card { border-radius:8px; }
.mvpn-service-page .mvpn-service-card-title p { color:#52647b; font-size:15px; }
.mvpn-service-page .mvpn-service-price span { color:#52647b; font-size:13px; }
.mvpn-content-btn:visited { color:inherit; }
.mvpn-content-btn-primary:visited, .mvpn-content-btn-primary:focus { color:#fff !important; }
#bo_list .mvpn-qa-guide { margin:0 0 24px; padding:22px 24px; }
#bo_list .mvpn-qa-guide-text strong { font-size:21px; }
#bo_list .mvpn-qa-guide-text p { font-size:15px; line-height:1.7; }
#bo_w input, #bo_w select, #bo_w textarea, .register .frm_input { max-width:100%; }
#bo_w .qa_content_wrap { overflow-x:auto; }
#bo_w .qa_content_wrap iframe { min-width:0; max-width:100%; }
#bo_w .frm_info { font-size:14px; line-height:1.6; }
.mvpn-content-page .mvpn-content-hero, .mvpn-service-hero { padding-top:38px; padding-bottom:30px; }
@media (max-width:1100px) {
    .mvpn-header .mvpn-logo img { width:190px !important; }
    .mvpn-header .mvpn-header-inner { gap:16px; }
    .mvpn-member-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .mvpn-member-actions { grid-column:1/-1; justify-content:flex-start; }
}
@media (max-width:980px) {
    .mvpn-header .mvpn-logo img { width:190px !important; }
    .mvpn-header .mvpn-header-inner { min-height:72px !important; }
    .mvpn-header .mvpn-mobile-toggle { flex:0 0 44px; min-width:44px; width:44px; height:44px; padding:10px; }
    .mvpn-header .mvpn-mobile-toggle span { flex:none; width:22px; min-width:22px; }
    .mvpn-header .mvpn-mobile-menu { top:100%; max-height:calc(100dvh - 72px); overflow-y:auto; }
}
@media (max-width:600px) {
    .mvpn-company-info { grid-template-columns:1fr; gap:4px; }
    .mvpn-company-info dd { margin-bottom:14px; }
    .mvpn-header .mvpn-logo img { width:172px !important; }
    .mvpn-content-hero h1, .mvpn-shop-title { font-size:27px !important; }
    .mvpn-content-card p, .mvpn-content-card li { font-size:15px; line-height:1.8; }
    .mvpn-policy-wrap { padding:28px 18px 48px; }
    .mvpn-policy-wrap h1 { font-size:27px; }
    .mvpn-policy-wrap h2 { font-size:20px; }
    .mvpn-content-inner { width:calc(100% - 32px) !important; }
    .mvpn-member-summary { padding:12px; gap:6px; }
    .mvpn-member-actions { flex-wrap:wrap; }
    .mvpn-order-wrap { padding:0 !important; border:0 !important; }
    .mvpn-order-table thead { display:none; }
    .mvpn-order-table tbody, .mvpn-order-table tr { display:block; }
    .mvpn-order-table tr { padding:12px 0; border-bottom:1px solid #cfd9e4; }
    .mvpn-order-table td { display:grid; grid-template-columns:90px minmax(0,1fr); gap:8px; padding:7px 0; border:0; text-align:right; }
    .mvpn-order-table td::before { content:attr(data-label); text-align:left; color:#5b6b7e; font-size:14px; }
    .mvpn-order-table td.empty_table { display:block; text-align:center; }
    .mvpn-order-table td.empty_table::before { content:none; }
    .mvpn-order-table td small { grid-column:2; margin:0; }
    .mvpn-service-order-page #sod_fin section { width:100%; min-width:0; float:none; }
    .mvpn-service-order-page #sod_fin_pay, .mvpn-service-order-page #sod_fin_orderer { width:100%; float:none; }
    .mvpn-service-order-page #sod_fin #sod_fin_pay_info { width:100%; }
    .mvpn-service-order-page #sod_fin .tbl_head03 { overflow-x:auto; }
    .mvpn-service-order-page #sod_fin td, .mvpn-service-order-page #sod_fin th { font-size:14px; }
    #mb_login.mvpn-customer-login { padding:18px 14px; }
    #mb_login.mvpn-customer-login .mvpn-login-shell { display:flex; flex-direction:column; }
    #mb_login.mvpn-customer-login .mvpn-login-form-panel { order:0; padding:28px 22px; }
    #mb_login.mvpn-customer-login .mvpn-login-brand { order:1; padding:24px; border-radius:0 0 8px 8px; }
    #mb_login.mvpn-customer-login .mvpn-login-brand h1 { font-size:24px; }
    #mb_login.mvpn-customer-login .mvpn-login-benefits,
    #mb_login.mvpn-customer-login .mvpn-login-brand-footer { display:none; }
    #mb_login.mvpn-customer-login .mvpn-login-brand-desc { font-size:14px; }
    #fregister .mvpn-consent { padding:16px; }
    #fregister textarea { padding:14px; }
    #fregister .fregister_agree { padding:12px 0; }
    #register_form .half_input { float:none; width:100%; }
    #bo_list .mvpn-qa-guide { padding:20px 16px; }
    #bo_w .write_div, #bo_w .qa_content_wrap { width:100%; }
    #bo_w .qa_content_wrap iframe { min-width:600px; max-width:none; }
    #bo_w input[type=file] { width:100%; }
    #bo_list table:has(.empty_table) { min-width:0 !important; width:100% !important; }
    #bo_list table:has(.empty_table) thead { display:none; }
    #bo_list .empty_table { word-break:keep-all; padding:40px 16px; }
}
