/* Scoped supplemental frontend styles for xn-course-menu. Most visual variables are printed inline by PHP. */
.xncm,.xncm *{box-sizing:border-box}.xncm{position:relative;width:100%;max-width:100%;overflow-x:hidden;background:var(--xncm-bg);color:var(--xncm-text)}
.xncm-container{width:min(100% - 32px,var(--xncm-max-width,1180px));margin-left:auto;margin-right:auto}.xncm [hidden]{display:none!important}
.xncm-hero{position:relative;min-height:var(--xncm-hero-height,320px);background:var(--xncm-hero-bg);background-image:linear-gradient(90deg,var(--xncm-hero-bg) 0%,rgba(255,255,255,.58) 48%,rgba(255,255,255,.12) 100%),var(--xncm-hero-image);background-size:cover;background-position:center;border-bottom:1px solid var(--xncm-border)}
.xncm-hero__inner{min-height:var(--xncm-hero-height,320px);display:flex;align-items:center}.xncm-hero__copy{max-width:720px}.xncm-kicker{margin:0 0 10px;color:var(--xncm-gold);font-weight:800;letter-spacing:.18em}.xncm-title{margin:0;color:var(--xncm-text);font-size:clamp(34px,4.6vw,64px);line-height:1.1;font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;letter-spacing:.08em}.xncm-subtitle{margin:14px 0 0;color:var(--xncm-muted);line-height:1.8}
.xncm-hero__notes{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px!important;margin:18px 0 0!important;padding:0!important;list-style:none!important}.xncm-hero__notes li{display:flex!important;align-items:center!important;gap:8px!important;padding:10px 12px!important;border:1px solid color-mix(in srgb,var(--xncm-border) 75%,transparent);border-radius:999px;background:color-mix(in srgb,var(--xncm-card-bg) 82%,transparent);font-size:13px;line-height:1.35;color:var(--xncm-text)}.xncm-hero__note-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;border-radius:50%;background:color-mix(in srgb,var(--xncm-gold) 22%,transparent);line-height:1}.xncm-mobile-benefits{display:none}
.xncm-section-heading{display:flex;align-items:center;justify-content:center;gap:18px;margin:var(--xncm-desktop-section-gap,54px) auto 22px}.xncm-section-heading span{display:block;width:88px;height:1px;background:linear-gradient(90deg,transparent,var(--xncm-gold),transparent)}.xncm-section-heading h2{margin:0;color:var(--xncm-text);font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;letter-spacing:.08em}
.xncm-cards{display:grid;grid-template-columns:repeat(var(--xncm-columns,3),minmax(0,var(--xncm-pc-card-width,330px)));justify-content:center;gap:var(--xncm-pc-card-gap,28px);overflow:visible}.xncm-card{position:relative;min-width:0;background:var(--xncm-card-bg);color:var(--xncm-text);border:1px solid var(--xncm-border);border-radius:var(--xncm-radius,14px);overflow:hidden;box-shadow:0 18px 48px var(--xncm-shadow);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.xncm-card:hover{transform:translateY(-6px);box-shadow:0 24px 58px var(--xncm-shadow);border-color:color-mix(in srgb,var(--xncm-gold) 60%,var(--xncm-border))}.xncm-card__media{position:relative;width:100%;padding-top:var(--xncm-image-ratio,42%);overflow:hidden}.xncm-card__image,.xncm-card__media img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;display:block!important;object-fit:var(--xncm-card-image-fit,cover);object-position:var(--xncm-card-image-position,center center);transition:transform .35s ease}.xncm-card:hover .xncm-card__image,.xncm-card:hover .xncm-card__media img{transform:scale(1.045)}.xncm-card__badge{--xncm-badge-diameter:clamp(58px,calc(var(--xncm-card-badge-size,18px) * 4),84px);position:relative;z-index:5;display:flex;align-items:center;justify-content:center;width:var(--xncm-badge-diameter);height:var(--xncm-badge-diameter);margin:calc(var(--xncm-badge-diameter) * -.5) auto calc(var(--xncm-badge-diameter) * -.5);border-radius:50%;background:var(--xncm-red);color:#fff;font-size:var(--xncm-card-badge-size,18px);font-weight:800;line-height:1;white-space:nowrap}.xncm-card__ribbon{position:absolute;top:14px;right:14px;z-index:4;padding:6px 10px;border-radius:999px;background:var(--xncm-gold);color:#fff;font-size:var(--xncm-card-ribbon-size,13px);font-weight:800}.xncm-card__body{padding:var(--xncm-desktop-card-padding,24px);padding-top:calc(var(--xncm-desktop-card-padding,24px) + 22px);min-height:var(--xncm-desktop-card-min-height,0)}.xncm-card__title{margin:0 0 8px;color:var(--xncm-text);font-size:var(--xncm-card-title-size,24px)}.xncm-card__subtitle{margin:0;color:var(--xncm-muted);font-size:var(--xncm-card-subtitle-size,14px);line-height:1.65}.xncm-card__price{margin:16px 0;color:var(--xncm-red);font-size:var(--xncm-card-price-size,40px);font-weight:900;line-height:1}.xncm-card__price span{font-size:.48em}.xncm-card__price small{display:block;margin-top:6px;color:var(--xncm-muted);font-size:.34em}.xncm-card__features{margin:14px 0 0;padding:0;list-style:none;color:var(--xncm-muted)}.xncm-card__features li{padding:7px 0;border-top:1px solid var(--xncm-border)}.xncm-card__button{margin-top:16px;border:0;border-radius:999px;padding:11px 18px;background:var(--xncm-red);color:#fff;font-size:var(--xncm-card-button-size,14px);font-weight:800;cursor:pointer}
.xncm-course-panel{display:none;background:var(--xncm-panel-bg);border:1px solid var(--xncm-border);border-radius:var(--xncm-radius,14px);padding:28px;box-shadow:0 18px 48px var(--xncm-shadow);color:var(--xncm-text)}.xncm-course-panel.is-active{display:block}.xncm-course-panel__head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.xncm-course-panel__head h2{margin:0 0 8px;color:var(--xncm-text);font-size:var(--xncm-detail-title-size,34px)}.xncm-course-panel__head p{margin:0;color:var(--xncm-muted);line-height:1.7;font-size:var(--xncm-detail-text-size,15px)}.xncm-course-panel__price{text-align:right}.xncm-course-panel__price strong{display:block;color:var(--xncm-red);font-size:32px}.xncm-course-panel__price span{display:block;color:var(--xncm-muted)}
.xncm-category-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:24px 0}.xncm-category-tab{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border:1px solid var(--xncm-border);border-radius:16px;background:var(--xncm-card-bg);color:var(--xncm-text);cursor:pointer}.xncm-category-tab.is-active{border-color:var(--xncm-gold);box-shadow:0 10px 28px var(--xncm-shadow)}.xncm-category-tab__icon{display:inline-flex;align-items:center;justify-content:center;width:var(--xncm-category-icon-size,54px);height:var(--xncm-category-icon-size,54px);font-size:calc(var(--xncm-category-icon-size,54px) * .62);overflow:visible}.xncm-category-panel{display:none;grid-template-columns:var(--xncm-content-image-width,180px) 1fr;gap:22px;align-items:stretch}.xncm-category-panel.is-active{display:grid}.xncm-category-image{position:relative;min-height:150px;border-radius:16px;overflow:hidden;background:var(--xncm-card-bg)}.xncm-category-image img{width:100%;height:100%;object-fit:var(--xncm-category-image-fit,cover);object-position:var(--xncm-category-image-position,center center);display:block}.xncm-category-panel__body h3{margin:0 0 8px;color:var(--xncm-text)}.xncm-category-panel__body p{margin:0 0 14px;color:var(--xncm-muted);font-size:var(--xncm-detail-text-size,15px)}.xncm-menu-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}.xncm-menu-list li{padding:10px 12px;border:1px solid var(--xncm-border);border-radius:12px;background:color-mix(in srgb,var(--xncm-card-bg) 88%,transparent);font-size:var(--xncm-menu-item-size,14px);color:var(--xncm-text)}
html[data-xnhs-theme="dark"] .xncm,html[data-xncm-theme="dark"] .xncm,.xncm.xncm-theme-dark,.xncm[data-theme="dark"]{background:var(--xncm-bg)!important;color:var(--xncm-text)!important}.xncm.xncm-theme-dark .xncm-hero,.xncm[data-theme="dark"] .xncm-hero,html[data-xnhs-theme="dark"] .xncm .xncm-hero,html[data-xncm-theme="dark"] .xncm .xncm-hero{background-image:linear-gradient(90deg,var(--xncm-hero-bg) 0%,rgba(18,12,8,.82) 48%,rgba(18,12,8,.22) 100%),var(--xncm-hero-image)!important}.xncm.xncm-theme-dark .xncm-card,.xncm.xncm-theme-dark .xncm-course-panel,.xncm.xncm-theme-dark .xncm-category-tab,.xncm[data-theme="dark"] .xncm-card,.xncm[data-theme="dark"] .xncm-course-panel,.xncm[data-theme="dark"] .xncm-category-tab,html[data-xnhs-theme="dark"] .xncm .xncm-card,html[data-xnhs-theme="dark"] .xncm .xncm-course-panel,html[data-xnhs-theme="dark"] .xncm .xncm-category-tab{background:var(--xncm-card-bg)!important;color:var(--xncm-text)!important;border-color:var(--xncm-border)!important}
@media(max-width:900px){.xncm-container{width:min(100% - 18px,var(--xncm-max-width,1180px))}.xncm-hero{min-height:var(--xncm-hero-mobile-height,220px)}.xncm-hero__inner{min-height:var(--xncm-hero-mobile-height,220px);padding-top:22px;padding-bottom:22px}.xncm-hero__notes{display:none!important}.xncm-mobile-benefits{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--xncm-mobile-benefits-gap,6px);width:min(100% - 18px,var(--xncm-max-width,1180px));margin:10px auto 0;padding:0;list-style:none}.xncm-mobile-benefits li{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;min-width:0;padding:var(--xncm-mobile-benefits-padding,8px) 5px;border:1px solid var(--xncm-border);border-radius:var(--xncm-mobile-benefits-radius,12px);background:var(--xncm-card-bg);box-shadow:0 8px 22px var(--xncm-shadow);color:var(--xncm-text);text-align:center}.xncm-mobile-benefits__icon{display:inline-flex;align-items:center;justify-content:center;width:var(--xncm-mobile-benefits-icon-size,24px);height:var(--xncm-mobile-benefits-icon-size,24px);min-width:var(--xncm-mobile-benefits-icon-size,24px);border-radius:50%;background:color-mix(in srgb,var(--xncm-gold) 22%,transparent);line-height:1}.xncm-mobile-benefits__text{display:block;width:100%;font-size:var(--xncm-mobile-benefits-font-size,11px);line-height:1.28;letter-spacing:-.03em;overflow-wrap:anywhere}.xncm .xncm-course-section.xncm-container{width:100%;max-width:none;padding-left:0;padding-right:0;overflow:visible}.xncm-cards{display:flex!important;flex-wrap:nowrap;width:100vw;max-width:100vw;justify-content:flex-start;gap:var(--xncm-mobile-card-gap,14px);padding:8px var(--xncm-mobile-edge-padding,12px) 22px;overflow-x:auto;overflow-y:visible;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.xncm-card{flex:0 0 var(--xncm-mobile-card-width,76%);width:var(--xncm-mobile-card-width,76%);min-width:var(--xncm-mobile-card-width,76%);max-width:var(--xncm-mobile-card-width,76%);scroll-snap-align:start;transform:none!important}.xncm-card__media{padding-top:var(--xncm-mobile-image-ratio,50%)}.xncm-card__body{padding:var(--xncm-mobile-card-padding,14px);padding-top:calc(var(--xncm-mobile-card-padding,14px) + 22px);min-height:var(--xncm-mobile-card-min-height,0)}.xncm-card__title{font-size:var(--xncm-mobile-card-title-size,17px)}.xncm-card__subtitle{font-size:var(--xncm-mobile-card-subtitle-size,12px)}.xncm-card__price{font-size:var(--xncm-mobile-card-price-size,25px)}.xncm-card__button{font-size:var(--xncm-mobile-card-button-size,12px)}.xncm-card__badge{--xncm-badge-diameter:clamp(46px,calc(var(--xncm-mobile-card-badge-size,13px) * 4),62px);font-size:var(--xncm-mobile-card-badge-size,13px)}.xncm-course-panel{padding:18px}.xncm-course-panel__head{display:block}.xncm-course-panel__price{text-align:left;margin-top:12px}.xncm-category-tabs{display:flex;flex-wrap:nowrap;gap:10px;overflow-x:auto;overflow-y:visible;padding-top:max(12px,calc(var(--xncm-mobile-category-icon-size,46px) * .12));padding-bottom:18px;-webkit-overflow-scrolling:touch}.xncm-category-tab{flex:0 0 auto;min-width:max(104px,calc(var(--xncm-mobile-category-icon-size,46px) + 50px));min-height:calc(var(--xncm-mobile-category-icon-size,46px) + 46px);overflow:visible}.xncm-category-tab__icon{width:var(--xncm-mobile-category-icon-size,46px);height:var(--xncm-mobile-category-icon-size,46px);font-size:calc(var(--xncm-mobile-category-icon-size,46px) * .62);flex:0 0 var(--xncm-mobile-category-icon-size,46px);line-height:1;overflow:visible}.xncm-category-panel,.xncm-category-panel.is-active{display:block}.xncm-category-image{min-height:160px;margin-bottom:16px}.xncm-menu-list{grid-template-columns:repeat(2,minmax(0,1fr))}.xncm-menu-list li{font-size:var(--xncm-mobile-menu-item-size,12px)}}
@media(min-width:901px){.xncm-mobile-benefits{display:none!important}.xncm-hero__notes{display:grid!important}}

/* v1.1.9 refinement: keep course cards visually aligned and restore previous category tab block style. */
.xncm-detail-section{margin-top:var(--xncm-detail-top-gap,36px)}
.xncm-cards{align-items:stretch}.xncm-card{height:100%;display:flex;flex-direction:column;contain:paint}.xncm-card__body{flex:1;display:flex;flex-direction:column}.xncm-card__features{margin-bottom:16px}.xncm-card__button{align-self:flex-start;margin-top:auto}.xncm-card__price{min-height:calc(var(--xncm-card-price-size,40px) * 1.42)}
.xncm-category-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin:28px 0 30px;padding:0;overflow:visible;border:0}.xncm-category-tab{min-height:96px;padding:18px 22px;border:1px solid var(--xncm-border);border-radius:22px;background:var(--xncm-card-bg);color:var(--xncm-text);display:flex;flex-direction:row;align-items:center;justify-content:center;gap:24px;font-weight:800;font-size:18px;line-height:1.25;box-shadow:none;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,color .22s ease;background-color .22s ease}.xncm-category-tab:hover,.xncm-category-tab.is-active{border-color:var(--xncm-gold);color:var(--xncm-text);box-shadow:0 12px 32px var(--xncm-shadow);transform:translateY(-2px)}.xncm-category-tab__icon{width:var(--xncm-category-icon-size,54px);height:var(--xncm-category-icon-size,54px);min-width:var(--xncm-category-icon-size,54px);font-size:var(--xncm-category-icon-size,54px);line-height:1;display:inline-flex;align-items:center;justify-content:center;overflow:visible}.xncm-category-panel__image{display:block;width:100%;aspect-ratio:3/2;object-fit:var(--xncm-category-image-fit,cover);object-position:var(--xncm-category-image-position,center center);border-radius:16px;border:1px solid var(--xncm-border);background:var(--xncm-card-bg)}
@media(max-width:900px){.xncm-detail-section{margin-top:var(--xncm-mobile-detail-top-gap,22px)}.xncm-card__price{min-height:calc(var(--xncm-mobile-card-price-size,25px) * 1.55)}.xncm-category-tabs{display:flex!important;flex-wrap:nowrap!important;gap:10px!important;margin:20px 0 18px!important;padding-top:max(12px,calc(var(--xncm-mobile-category-icon-size,46px) * .12))!important;padding-bottom:18px!important;overflow-x:auto!important;overflow-y:visible!important}.xncm-category-tab{flex:0 0 auto!important;min-width:max(132px,calc(var(--xncm-mobile-category-icon-size,46px) + 86px))!important;min-height:calc(var(--xncm-mobile-category-icon-size,46px) + 50px)!important;padding:12px 16px!important;border-radius:18px!important;gap:12px!important;font-size:15px!important;transform:none!important}.xncm-category-tab__icon{width:var(--xncm-mobile-category-icon-size,46px)!important;height:var(--xncm-mobile-category-icon-size,46px)!important;min-width:var(--xncm-mobile-category-icon-size,46px)!important;font-size:var(--xncm-mobile-category-icon-size,46px)!important;flex:0 0 var(--xncm-mobile-category-icon-size,46px)!important;line-height:1!important;overflow:visible!important}.xncm-category-panel__image{width:100%;margin-bottom:16px}}

/* v1.2.1 category frame controls and no-image safe layout */

.xncm-category-tabs{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;grid-template-columns:none!important;gap:var(--xncm-category-box-gap,16px)!important}.xncm-category-tab{width:var(--xncm-category-box-width,320px)!important;max-width:100%!important;height:var(--xncm-category-box-height,84px)!important;min-height:var(--xncm-category-box-height,84px)!important;padding:0 22px!important;border-radius:var(--xncm-category-box-radius,999px)!important;gap:var(--xncm-category-box-gap,16px)!important}.xncm-category-tab__icon{width:var(--xncm-category-icon-circle-size,72px)!important;height:var(--xncm-category-icon-circle-size,72px)!important;min-width:var(--xncm-category-icon-circle-size,72px)!important;flex:0 0 var(--xncm-category-icon-circle-size,72px)!important;font-size:var(--xncm-category-icon-size,54px)!important;border-radius:50%!important}.xncm-category-tab>span:last-child{font-size:var(--xncm-category-text-size,20px)!important}.xncm-category-panel--no-image,.xncm-category-panel--no-image.is-active{grid-template-columns:1fr!important}.xncm-category-panel--no-image .xncm-category-panel__body{min-width:0!important;width:100%!important}.xncm-category-panel--no-image>.xncm-category-panel__image{display:none!important}.xncm-category-panel__image{display:block;width:100%;max-width:100%;aspect-ratio:3/2;object-fit:var(--xncm-category-image-fit,cover);object-position:var(--xncm-category-image-position,center center);border-radius:16px;border:1px solid var(--xncm-border,#eadbc0);background:var(--xncm-card-bg,#fff)}@media(max-width:900px){.xncm-category-tab{min-width:var(--xncm-mobile-category-box-width,138px)!important;width:var(--xncm-mobile-category-box-width,138px)!important;height:var(--xncm-mobile-category-box-height,72px)!important;min-height:var(--xncm-mobile-category-box-height,72px)!important;padding:0 12px!important;border-radius:var(--xncm-mobile-category-box-radius,999px)!important;gap:var(--xncm-mobile-category-box-gap,10px)!important}.xncm-category-tab__icon{width:var(--xncm-mobile-category-icon-circle-size,56px)!important;height:var(--xncm-mobile-category-icon-circle-size,56px)!important;min-width:var(--xncm-mobile-category-icon-circle-size,56px)!important;flex:0 0 var(--xncm-mobile-category-icon-circle-size,56px)!important;font-size:var(--xncm-mobile-category-icon-size,46px)!important}.xncm-category-tab>span:last-child{font-size:var(--xncm-mobile-category-text-size,15px)!important}.xncm-category-panel--no-image,.xncm-category-panel--no-image.is-active{display:block!important}.xncm-category-panel__image{margin-bottom:16px}}


/* v1.2.2 category frame controls */
.xncm .xncm-category-tabs{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;grid-template-columns:none!important;gap:var(--xncm-category-box-gap,16px)!important}
.xncm .xncm-category-tab{width:var(--xncm-category-box-width,320px)!important;max-width:100%!important;height:var(--xncm-category-box-height,84px)!important;min-height:var(--xncm-category-box-height,84px)!important;padding:0 22px!important;border-radius:var(--xncm-category-box-radius,999px)!important;gap:var(--xncm-category-box-gap,16px)!important}
.xncm .xncm-category-panel--no-image>.xncm-category-panel__image{display:none!important}
@media(max-width:900px){.xncm .xncm-category-tabs{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start!important;overflow-x:auto!important}.xncm .xncm-category-tab{width:var(--xncm-mobile-category-box-width,138px)!important;min-width:var(--xncm-mobile-category-box-width,138px)!important;height:var(--xncm-mobile-category-box-height,72px)!important;min-height:var(--xncm-mobile-category-box-height,72px)!important;padding:0 12px!important;border-radius:var(--xncm-mobile-category-box-radius,999px)!important;gap:var(--xncm-mobile-category-box-gap,10px)!important}}


/* v1.3.4: course ribbon iOS-style frosted glass, more transparent and neutral */
.xncm .xncm-card__ribbon{
    background:rgba(255,255,255,.24)!important;
    border:1px solid rgba(255,255,255,.30)!important;
    box-shadow:0 3px 10px rgba(0,0,0,.08)!important;
    backdrop-filter:blur(16px) saturate(1.28)!important;
    -webkit-backdrop-filter:blur(16px) saturate(1.28)!important;
}
.xncm.xncm-theme-dark .xncm-card__ribbon,.xncm[data-theme=dark] .xncm-card__ribbon,html[data-xnhs-theme="dark"] .xncm .xncm-card__ribbon{
    background:rgba(255,255,255,.18)!important;
    border-color:rgba(255,255,255,.24)!important;
    box-shadow:0 3px 10px rgba(0,0,0,.12)!important;
}

/* v1.3.7: align course card lower content without changing category icons */
.xncm .xncm-card__subtitle{min-height:calc(var(--xncm-card-subtitle-size,14px) * 1.65 * 2)!important}
@media(max-width:900px){.xncm .xncm-card__subtitle{min-height:calc(var(--xncm-mobile-card-subtitle-size,12px) * 1.65 * 2)!important}}
