.tapb-circle-close{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;max-height:42px!important;margin:0!important;padding:0!important;border:0!important;border-radius:999px!important;background:#2457e6!important;color:#fff!important;box-shadow:none!important;cursor:pointer!important;font-size:22px!important;font-weight:400!important;line-height:1!important;text-decoration:none!important;appearance:none!important;-webkit-appearance:none!important}.tapb-circle-close:hover,.tapb-circle-close:focus{background:#1748d1!important;color:#fff!important}.tapb-circle-close:focus-visible{outline:3px solid rgba(36,87,230,.28)!important;outline-offset:2px!important}
.tapb-box{border:1px solid #dcdcde;background:#fff;padding:16px;margin:16px 0;border-radius:8px}.tapb-product-card input,.tapb-product-card textarea{max-width:460px;width:100%}.tapb-error{border-left:4px solid #b32d2e;background:#fff2f2;padding:10px 12px;margin:12px 0}.tapb-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:14px}.tapb-actions form{display:inline}.tapb-purchase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.tapb-qr-wrap{margin-top:12px}.tapb-qr-wrap-small .tapb-qr{transform:scale(.86);transform-origin:left top}.description{color:#646970;font-size:13px}.payjp-button iframe{max-width:100%}
.tapb-checkout-notice{color:#646970;font-size:var(--tapb-checkout-notice-font-size,13px)!important;line-height:1.7;margin-top:10px}.tapb-checkout-notice p{font-size:var(--tapb-checkout-notice-font-size,13px)!important;line-height:inherit;margin:.4em 0}
.tapb-notice{padding:10px 12px;border-radius:6px;margin:12px 0;border:1px solid #dcdcde;background:#f6f7f7}.tapb-notice-success{border-color:#00a32a;background:#edfaef}.tapb-notice-error{border-color:#d63638;background:#fcf0f1}.tapb-notice-info{border-color:#72aee6;background:#f0f6fc}

.tapb-purchase-list{display:flex;flex-direction:column;gap:12px}.tapb-portal-row{display:flex;align-items:center;gap:20px;justify-content:space-between}.tapb-portal-main{flex:1 1 420px;min-width:260px}.tapb-portal-main h4{margin:0 0 10px}.tapb-portal-meta{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}.tapb-portal-meta p{margin:0}.tapb-portal-qr{flex:0 0 auto}.tapb-portal-actions{flex:0 0 160px;min-width:160px;display:flex;flex-direction:column;align-items:stretch;gap:10px;justify-content:center}.tapb-danger-button:not(.tapb-portal-button),.tapb-danger-button:not(.tapb-portal-button):hover,.tapb-danger-button:not(.tapb-portal-button):focus{color:#fff !important}.tapb-danger-button:not(.tapb-portal-button){background:#d63638;border-color:#d63638}.tapb-danger-button:not(.tapb-portal-button):hover,.tapb-danger-button:not(.tapb-portal-button):focus{background:#b32d2e;border-color:#b32d2e}.tapb-muted{color:#646970;font-size:13px}@media (max-width: 920px){.tapb-portal-row{flex-direction:column;align-items:flex-start}.tapb-portal-actions{justify-content:flex-start;min-width:0;width:160px}.tapb-portal-qr .tapb-qr{transform:scale(.86);transform-origin:left top}}


.button.tapb-danger-button:not(.tapb-portal-button),.button.tapb-danger-button:not(.tapb-portal-button):hover,.button.tapb-danger-button:not(.tapb-portal-button):focus,.button.tapb-danger-button:not(.tapb-portal-button):visited{color:#fff !important}.button.tapb-danger-button:not(.tapb-portal-button){background:#d63638;border-color:#d63638}.button.tapb-danger-button:not(.tapb-portal-button):hover,.button.tapb-danger-button:not(.tapb-portal-button):focus{background:#b32d2e;border-color:#b32d2e}.tapb-qr-modal{display:none;position:fixed;inset:0;z-index:99999}.tapb-qr-modal.is-open{display:block}.tapb-qr-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}.tapb-qr-modal-dialog{position:relative;z-index:1;max-width:360px;margin:8vh auto;background:#fff;border-radius:12px;padding:20px 20px 28px;box-shadow:0 18px 48px rgba(0,0,0,.25)}.tapb-qr-modal-close{position:absolute!important;right:10px!important;top:8px!important}.tapb-qr-modal-title{margin:0 0 12px;font-weight:700;font-size:18px}.tapb-qr-modal-body{display:flex;justify-content:center;padding:8px 0 28px;line-height:0}.tapb-qr-modal-body .tapb-qr,.tapb-qr-modal-body canvas,.tapb-qr-modal-body img{display:block}.tapb-portal-actions .button{display:block;width:100%;margin:0;text-align:center;box-sizing:border-box}.tapb-portal-meta code{word-break:break-all}@media (max-width: 920px){.tapb-qr-modal-dialog{margin:5vh 16px}}


.tapb-registration-card{margin-bottom:20px}.tapb-registration-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 20px;margin:0 0 12px}.tapb-registration-summary div{display:flex;gap:10px;align-items:baseline}.tapb-registration-summary dt{font-weight:700;min-width:110px}.tapb-registration-summary dd{margin:0}.tapb-profile-edit-box{margin-top:8px}.tapb-profile-edit-box>summary{display:inline;cursor:pointer;color:#2271b1;text-decoration:underline}.tapb-profile-edit-body{margin-top:14px}.tapb-profile-edit-body .tu-wpmem-profile-shell{margin:0}.tapb-account-delete-section{margin-top:24px}.tapb-portal-button{box-shadow:none;text-decoration:none}.tapb-portal-button:hover,.tapb-portal-button:focus{filter:brightness(.95);color:inherit}.tapb-admin-action-links{white-space:nowrap}

.tapb-portal-card{margin:0}.tapb-section-title{margin:24px 0 12px}.tapb-portal-card>.tapb-section-title:first-child{margin-top:0}.tapb-registration-card{margin-top:0;margin-bottom:28px}.tapb-purchase-list{margin-top:0}.tapb-account-delete-section{margin-top:28px}.tapb-account-delete-section>.tapb-section-title{margin-top:0}


.tapb-channel-provider-groups{display:flex;flex-direction:column;gap:22px}.tapb-provider-group[hidden]{display:none}.tapb-provider-info{border:1px solid #dcdcde;background:#fff;padding:16px;margin:0 0 12px;border-radius:10px}.tapb-provider-info p{margin:.35em 0}.tapb-provider-info__featured-image,.tapb-channel-result-provider__featured-image{aspect-ratio:16/9;overflow:hidden;border-radius:8px;background:#f6f7f7;margin:0 0 14px}.tapb-provider-info__featured-image{width:100%}.tapb-channel-result-provider__featured-image{width:min(100%,360px)}.tapb-provider-featured-image__image{display:block;width:100%;height:100%;object-fit:cover}.tapb-provider-info__display-name{font-size:20px;font-weight:700;line-height:1.4;margin:0}.tapb-provider-info__display-name a{text-decoration:none}.tapb-provider-info__display-name a:hover{text-decoration:underline}.tapb-provider-detail{margin:0}.tapb-provider-detail__summary{display:flex;align-items:center;gap:14px;cursor:pointer;list-style:none}.tapb-provider-detail__summary::-webkit-details-marker{display:none}.tapb-provider-detail__summary::marker{content:"" }.tapb-provider-detail__summary .tapb-provider-info__display-name{min-width:0;flex:1 1 auto}.tapb-provider-detail__action{display:inline-flex;align-items:center;justify-content:center;border:1px solid #c3c4c7;border-radius:999px;background:#f6f7f7;padding:5px 13px;font-size:13px;font-weight:700;white-space:nowrap;margin-left:auto}.tapb-provider-detail[open] .tapb-provider-detail__action{background:#2271b1;border-color:#2271b1;color:#fff}.tapb-provider-detail__body{border-top:1px solid #dcdcde;margin-top:12px;padding-top:12px}.tapb-provider-info__link{font-size:13px}.tapb-provider-info__description{margin-top:10px}.tapb-provider-info__description p:last-child{margin-bottom:0}.tapb-channel-catalog{margin:20px 0}.tapb-channel-catalog__title{margin:0 0 14px}.tapb-channel-search{display:flex;gap:8px;align-items:center;margin:0 0 18px}.tapb-channel-search input[type=search]{flex:1 1 360px;min-width:0;max-width:620px}.tapb-channel-list{display:grid;gap:14px}.tapb-channel-card{border:1px solid #dcdcde;border-radius:12px;background:#fff;overflow:hidden}.tapb-channel-card[hidden]{display:none}.tapb-channel-accordion{margin:0}.tapb-channel-summary{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:14px;align-items:center;cursor:pointer;padding:14px;list-style:none}.tapb-channel-summary::-webkit-details-marker{display:none}.tapb-channel-summary::marker{content:""}.tapb-channel-thumb{display:block;width:96px;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#f0f0f1}.tapb-channel-thumb img{display:block;width:100%;height:100%;object-fit:cover}.tapb-channel-thumb__placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:11px;letter-spacing:.08em;color:#646970}.tapb-channel-summary__body{min-width:0;display:flex;flex-direction:column;gap:4px}.tapb-channel-name{font-weight:700;font-size:17px;line-height:1.35}.tapb-channel-access{color:#646970;font-size:13px}.tapb-channel-summary__action{display:inline-flex;align-items:center;justify-content:center;border:1px solid #c3c4c7;border-radius:999px;padding:5px 12px;font-size:13px;background:#f6f7f7;white-space:nowrap}.tapb-channel-accordion[open] .tapb-channel-summary__action{background:#2271b1;border-color:#2271b1;color:#fff}.tapb-channel-detail{border-top:1px solid #dcdcde;padding:16px}.tapb-channel-description{margin:0 0 14px}.tapb-channel-description p:first-child{margin-top:0}.tapb-channel-description p:last-child{margin-bottom:0}.tapb-channel-meta,.tapb-channel-tags{margin:.35em 0;color:#3c434a}.tapb-channel-purchase{margin-top:16px}.tapb-channel-purchase .tapb-product-card{margin-bottom:0}.tapb-channel-empty[hidden]{display:none}@media (max-width: 640px){.tapb-provider-detail__summary{align-items:flex-start;flex-direction:column}.tapb-provider-detail__action{margin-left:0}.tapb-channel-result-provider__summary{align-items:flex-start;flex-direction:column}.tapb-channel-result-provider__action{margin-left:0}.tapb-channel-search{flex-direction:column;align-items:stretch}.tapb-channel-search input[type=search]{max-width:none;width:100%}.tapb-channel-summary{grid-template-columns:76px minmax(0,1fr);gap:12px}.tapb-channel-thumb{width:76px}.tapb-channel-summary__action{grid-column:1/-1;justify-self:start}.tapb-channel-detail{padding:14px}}

.tapb-provider-school-pass{margin-top:14px;border-top:1px solid #dcdcde;padding-top:12px;text-align:right}.tapb-provider-school-pass__summary{display:inline-flex;align-items:center;justify-content:center;border:1px solid #c3c4c7;border-radius:999px;background:#f6f7f7;padding:5px 13px;font-size:13px;font-weight:700;cursor:pointer;list-style:none}.tapb-provider-school-pass__summary::-webkit-details-marker{display:none}.tapb-provider-school-pass__summary::marker{content:""}.tapb-provider-school-pass[open] .tapb-provider-school-pass__summary{background:#2271b1;border-color:#2271b1;color:#fff}.tapb-provider-school-pass__body{margin-top:12px;text-align:left}.tapb-provider-school-pass__item+.tapb-provider-school-pass__item{margin-top:14px}.tapb-provider-school-pass .tapb-product-card{margin:0}.tapb-provider-school-pass .tapb-product-card h3{font-size:17px;margin-top:0}

.tapb-channel-result-provider{padding:12px 14px;border-bottom:1px solid #dcdcde;background:#fbfbfc}.tapb-channel-result-provider[hidden]{display:none}.tapb-channel-result-provider__detail{margin:0}.tapb-channel-result-provider__summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none}.tapb-channel-result-provider__summary::-webkit-details-marker{display:none}.tapb-channel-result-provider__summary::marker{content:""}.tapb-channel-result-provider__name{font-weight:700;min-width:0;flex:1 1 auto}.tapb-channel-result-provider__action{display:inline-flex;align-items:center;justify-content:center;border:1px solid #c3c4c7;border-radius:999px;background:#f6f7f7;padding:5px 13px;font-size:13px;font-weight:700;white-space:nowrap;margin-left:auto}.tapb-channel-result-provider__detail[open] .tapb-channel-result-provider__action{background:#2271b1;border-color:#2271b1;color:#fff}.tapb-channel-result-provider__body{border-top:1px solid #dcdcde;margin-top:10px;padding-top:10px}.tapb-channel-result-provider__body .tapb-provider-school-pass{margin-top:12px}.tapb-channel-result-provider__body .tapb-product-card{background:transparent}

.tapb-product-card--catalog .tapb-product-price{font-weight:700;margin:.65em 0 1.65em!important}
.tapb-product-card--catalog .tapb-payjp-form{display:flex;flex-direction:column;align-items:center;text-align:center}
.tapb-product-card--catalog .tapb-checkout-notice{box-sizing:border-box;width:min(100%,280px)!important;max-width:280px!important;margin:12px auto 0!important;color:#646970!important;font-size:var(--tapb-checkout-notice-font-size,12px)!important;line-height:1.45!important;text-align:left!important}
.tapb-product-card--catalog .tapb-checkout-notice p{font-size:var(--tapb-checkout-notice-font-size,12px)!important;line-height:1.45!important;margin:.25em 0!important}
.tapb-product-card--catalog-channel{margin:0;padding:0;border:0;background:transparent}
.tapb-product-card--catalog-channel .tapb-product-desc{margin-bottom:12px}
.tapb-product-excluded-channels{margin:.65em 0}


/* 1.9.0: スクール情報とチャンネル一覧を2カラム表示 */
.tapb-channel-search input[type=search] {
    max-width: none;
}

.tapb-provider-group {
    display: grid;
    grid-template-columns: minmax(220px, 30%) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.tapb-provider-group[hidden] {
    display: none;
}

.tapb-provider-group__school,
.tapb-provider-group__channels {
    min-width: 0;
}

.tapb-provider-group__school .tapb-provider-info {
    margin: 0;
}

.tapb-provider-group__channels .tapb-channel-list {
    margin: 0;
}

.tapb-purchase-readmore {
    display: grid;
    gap: 14px;
}

.tapb-readmore-wrap {
    display: flex;
    justify-content: center;
    margin-top: 4px;
}

.tapb-readmore-button[hidden] {
    display: none;
}

@media (max-width: 900px) {
    .tapb-provider-group {
        grid-template-columns: minmax(0, 1fr);
    }
}


/* 1.10.0: ダッシュボードの契約一覧では操作ボタンを横並びにする */
.tapb-existing-contract-note {
    margin: 12px 0;
}

.tapb-portal-row--contract-list {
    align-items: flex-start;
}







@media (max-width: 640px) {
    

    
}


/* 1.19.0: 提供チャンネル一覧の検索表示・スクールパス常時表示・申込ボタン中央寄せ */
.tapb-provider-school-pass{
    margin-top:14px;
    border-top:1px solid #dcdcde;
    padding-top:12px;
    text-align:left;
}
.tapb-provider-school-pass__heading{
    margin:0 0 10px;
    font-weight:700;
    color:#1d2327;
}
.tapb-provider-school-pass__body{
    margin-top:0;
}
.tapb-provider-school-pass__item{
    text-align:center;
}
.tapb-provider-school-pass__item+.tapb-provider-school-pass__item{
    margin-top:14px;
}
.tapb-provider-school-pass .tapb-product-card{
    margin:0;
}
.tapb-provider-school-pass .tapb-product-card h3{
    font-size:17px;
    margin-top:0;
}
.tapb-product-card--catalog .tapb-payjp-form,
.tapb-product-card--catalog .tapb-saved-customer-form{
    display:flex;
    justify-content:center;
    text-align:center;
}
.tapb-product-card--catalog .button,
.tapb-product-card--catalog button{
    margin-left:auto;
    margin-right:auto;
}
.tapb-channel-purchase{
    text-align:center;
}
.tapb-channel-purchase .tapb-product-card--catalog-channel{
    text-align:left;
}
.tapb-channel-purchase .tapb-product-card--catalog-channel .tapb-payjp-form,
.tapb-channel-purchase .tapb-product-card--catalog-channel .tapb-saved-customer-form{
    text-align:center;
}
.tapb-channel-result-provider{
    display:none!important;
}



/* 1.20.0: 提供チャンネル一覧の詳細・申込ボタン分離、検索UI調整 */
.tapb-channel-catalog__head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px}
.tapb-channel-catalog__title{margin:0;line-height:1.35}
.tapb-channel-search{margin:0 0 0 auto;display:flex;align-items:center;gap:8px;width:min(430px,48vw)}
.tapb-channel-search input[type="search"]{width:100%;min-width:0;height:42px;border:1px solid #ccd6e3;border-radius:999px;background:#fff;padding:0 16px;font-size:14px;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.tapb-channel-search input[type="search"]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.14)}
.tapb-channel-search button{height:42px;border:0;border-radius:999px;background:#2455d9;color:#fff;font-weight:700;padding:0 18px;white-space:nowrap;cursor:pointer;box-shadow:0 6px 16px rgba(37,99,235,.18)}
.tapb-channel-search button:hover{filter:brightness(.96)}
.tapb-channel-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;cursor:default}
.tapb-channel-summary__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.tapb-channel-detail-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:92px;height:38px;padding:0 16px;border:1px solid #ccd6e3;border-radius:999px;background:#fff;color:#1f2937;font-weight:700;cursor:pointer}
.tapb-channel-detail-toggle[aria-expanded="true"]{border-color:#2455d9;color:#2455d9;background:#eef4ff}
.tapb-channel-apply-action{display:inline-flex;align-items:center}
.tapb-product-card--button-only{display:inline-flex;align-items:center;gap:8px;margin:0;background:transparent;border:0;box-shadow:none;padding:0}
.tapb-product-card--button-only .tapb-saved-customer-form,.tapb-product-card--button-only .tapb-payjp-form{margin:0}
.tapb-product-card--button-only .tapb-existing-contract-note{max-width:260px;margin:0;font-size:12px;text-align:left}
.tapb-channel-summary__body .tapb-channel-access{color:#d92d20;font-weight:700}
.tapb-confirm-modal__dialog{margin:3vh auto;padding-top:20px}
@media(max-width:900px){.tapb-channel-catalog__head{display:grid;gap:12px}.tapb-channel-search{width:100%;margin:0}.tapb-channel-summary{grid-template-columns:auto minmax(0,1fr);align-items:start}.tapb-channel-summary__actions{grid-column:1/-1;justify-content:center}.tapb-product-card--button-only .tapb-existing-contract-note{max-width:100%}}


/* 1.20.2: 詳細エリアをカード下部に固定し、検索枠を微調整 */
.tapb-channel-card{display:block!important}
.tapb-channel-detail{display:block;clear:both;width:100%;box-sizing:border-box;border-top:1px solid #dcdcde;padding:16px;background:#fff}
.tapb-channel-detail[hidden]{display:none!important}
.tapb-channel-description{margin:0}


/* 1.20.3: 提供チャンネル一覧の詳細開閉・ボタン横並び・検索欄位置を修正 */
.tapb-channel-catalog__head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin:0 0 18px;
}
.tapb-channel-catalog__title{
    margin:0;
    line-height:1.35;
}
.tapb-channel-search{
    margin:0 0 0 auto;
    display:flex;
    align-items:flex-start;
    gap:8px;
    width:min(560px,54vw);
}
.tapb-channel-search input[type="search"]{
    width:100%;
    min-width:0;
}
.tapb-channel-summary{
    display:grid;
    grid-template-columns:96px minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    padding:14px 16px;
}
.tapb-channel-summary__actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:nowrap;
    min-width:0;
}
.tapb-channel-detail-toggle{
    width:clamp(88px, calc(var(--button-width,260px) * 0.42), 120px);
    min-width:88px;
    max-width:120px;
    flex:0 0 auto;
    white-space:nowrap;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:calc(var(--button-font-size,16px) * 2.65);
    padding:var(--button-padding-y,10px) var(--button-padding-x,18px);
    border:var(--button-border-width,1px) solid var(--button-border,#2455d9);
    border-radius:var(--button-radius,999px);
    background:var(--button-bg,#2455d9);
    color:var(--button-text,#fff);
    font-size:var(--button-font-size,16px);
    font-weight:700;
    line-height:1.25;
    text-align:center;
    text-decoration:none;
    box-shadow:none;
    cursor:pointer;
}
.tapb-channel-detail-toggle:hover,
.tapb-channel-detail-toggle:focus{
    background:var(--button-hover-bg,var(--button-bg,#2455d9));
    color:var(--button-hover-text,var(--button-text,#fff));
    border-color:var(--button-hover-border,var(--button-border,#2455d9));
    text-decoration:none;
    filter:none;
}
.tapb-channel-detail-toggle[aria-expanded="true"]{
    background:var(--button-hover-bg,var(--button-bg,#2455d9));
    color:var(--button-hover-text,var(--button-text,#fff));
    border-color:var(--button-hover-border,var(--button-border,#2455d9));
}
.tapb-channel-apply-action{
    display:inline-flex;
    align-items:center;
    justify-content:flex-end;
    flex:0 0 auto;
}
.tapb-product-card--button-only{
    display:inline-flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
}
.tapb-product-card--button-only .tapb-saved-customer-form,
.tapb-product-card--button-only .tapb-payjp-form{
    margin:0;
}
.tapb-product-card--button-only .tapb-open-confirm,
.tapb-product-card--button-only .tapb-payjp-form > .tapb-open-confirm,
.tapb-product-card--button-only .tapb-payjp-form > input[type="button"],
.tapb-product-card--button-only .tapb-payjp-form > input[type="submit"]{
    width:min(100%,var(--button-width,260px));
    max-width:var(--button-width,260px);
    white-space:nowrap;
}
.tapb-channel-detail{
    display:block;
    clear:both;
    width:100%;
    box-sizing:border-box;
    grid-column:1 / -1;
    border-top:1px solid #dcdcde;
    padding:16px;
    background:#fff;
}
.tapb-channel-detail[hidden]{
    display:none!important;
}
.tapb-channel-description{
    margin:0;
}
@media(max-width:900px){
    .tapb-channel-catalog__head{
        display:grid;
        gap:12px;
    }
    .tapb-channel-search{
        width:100%;
        margin:0;
    }
    .tapb-channel-summary{
        grid-template-columns:76px minmax(0,1fr);
        align-items:start;
    }
    .tapb-channel-summary__actions{
        grid-column:1/-1;
        justify-content:flex-start;
        flex-wrap:wrap;
    }
}




/* 1.20.5: テーマのラウンドボタン設定を全ラウンドボタンへ再適用し、カタログ配置を固定 */
.entry-content .tapb-channel-catalog__head,
.tapb-channel-catalog__head{
display:grid!important;
grid-template-columns:minmax(0,1fr) auto!important;
align-items:start!important;
gap:18px!important;
margin:0 0 18px!important;
padding:0!important;
width:100%!important;
}
.entry-content .tapb-channel-catalog__head > h2.tapb-channel-catalog__title,
.tapb-channel-catalog__head > h2.tapb-channel-catalog__title,
.tapb-channel-catalog__title{
margin:0!important;
padding:0!important;
line-height:1.25!important;
align-self:start!important;
}
.entry-content .tapb-channel-search,
.tapb-channel-search{
display:flex!important;
align-items:start!important;
gap:8px!important;
width:min(620px,48vw)!important;
margin:0!important;
align-self:start!important;
justify-self:end!important;
transform:none!important;
}
.tapb-channel-search input[type="search"]{
height:42px!important;
min-height:42px!important;
line-height:42px!important;
box-sizing:border-box!important;
}
.tapb-channel-search button{
width:auto!important;
min-width:72px!important;
height:42px!important;
min-height:42px!important;
padding:0 18px!important;
border-radius:999px!important;
font-size:14px!important;
line-height:1!important;
align-self:start!important;
}
.tapb-channel-summary{
display:grid!important;
grid-template-columns:96px minmax(0,1fr) auto!important;
gap:14px!important;
align-items:center!important;
padding:14px 16px!important;
width:100%!important;
box-sizing:border-box!important;
}
.tapb-channel-summary__actions{
display:flex!important;
flex-direction:row!important;
flex-wrap:nowrap!important;
align-items:center!important;
justify-content:flex-end!important;
gap:10px!important;
min-width:0!important;
}
.tapb-channel-apply-action{
display:inline-flex!important;
align-items:center!important;
justify-content:flex-end!important;
flex:0 0 auto!important;
min-width:0!important;
}
.tapb-product-card--button-only{
display:inline-flex!important;
align-items:center!important;
justify-content:flex-end!important;
width:auto!important;
min-width:0!important;
margin:0!important;
padding:0!important;
background:transparent!important;
border:0!important;
box-shadow:none!important;
}
.tapb-product-card--button-only .tapb-saved-customer-form,
.tapb-product-card--button-only .tapb-payjp-form{
display:inline-flex!important;
align-items:center!important;
justify-content:center!important;
margin:0!important;
text-align:center!important;
}
.tapb-product-card--button-only .tapb-existing-contract-note{
display:none!important;
}
.tapb-channel-card{
display:block!important;
width:100%!important;
overflow:hidden!important;
}
.tapb-channel-detail{
display:block!important;
clear:both!important;
width:100%!important;
box-sizing:border-box!important;
grid-column:1 / -1!important;
border-top:1px solid #dcdcde!important;
padding:18px 16px!important;
background:#fff!important;
}
.tapb-channel-detail[hidden]{
display:none!important;
}
.tapb-channel-description{
margin:0!important;
}
.tapb-channel-description p:first-child{margin-top:0!important}
.tapb-channel-description p:last-child{margin-bottom:0!important}

/* 共通ラウンドボタン: 赤い解約ボタン以外の色・サイズをテーマ設定から制御 */
.tapb-channel-detail-toggle,
.tapb-product-card--catalog > .tapb-saved-customer-form > .tapb-open-confirm,
.tapb-product-card--button-only .tapb-open-confirm,
.tapb-product-card--catalog .tapb-payjp-form > .tapb-open-confirm,
.tapb-product-card--catalog .tapb-payjp-form > input[type="button"],
.tapb-product-card--catalog .tapb-payjp-form > input[type="submit"],
.tapb-confirm-modal__cancel,
.tapb-confirm-modal__submit:not([hidden]),
.tapb-card-update-form button,
.tapb-card-update-form input[type="button"],
.tapb-card-update-form input[type="submit"],
.tapb-profile-edit-open{
display:inline-flex!important;
align-items:center!important;
justify-content:center!important;
height:var(--button-height,46px)!important;
min-height:var(--button-height,46px)!important;
padding:0 var(--button-padding-x,24px)!important;
border:var(--button-border-width,1px) solid var(--button-border,#1d4ed8)!important;
border-radius:var(--button-radius,999px)!important;
background:var(--button-bg,#1d4ed8)!important;
color:var(--button-text,#fff)!important;
font-size:var(--button-font-size,16px)!important;
font-weight:700!important;
line-height:1.2!important;
text-align:center!important;
text-decoration:none!important;
box-shadow:none!important;
cursor:pointer!important;
filter:none!important;
box-sizing:border-box!important;
white-space:nowrap!important;
}
.tapb-product-card--catalog > .tapb-saved-customer-form > .tapb-open-confirm,
.tapb-product-card--button-only .tapb-open-confirm,
.tapb-product-card--catalog .tapb-payjp-form > .tapb-open-confirm,
.tapb-product-card--catalog .tapb-payjp-form > input[type="button"],
.tapb-product-card--catalog .tapb-payjp-form > input[type="submit"],
.tapb-confirm-modal__cancel,
.tapb-confirm-modal__submit:not([hidden]),
.tapb-card-update-form button,
.tapb-card-update-form input[type="button"],
.tapb-card-update-form input[type="submit"],
.tapb-profile-edit-open{
width:min(100%,var(--button-width,260px))!important;
max-width:100%!important;
}
.tapb-channel-detail-toggle{
width:clamp(96px,calc(var(--button-width,260px) * .45),140px)!important;
min-width:clamp(96px,calc(var(--button-width,260px) * .45),140px)!important;
max-width:clamp(96px,calc(var(--button-width,260px) * .45),140px)!important;
flex:0 0 auto!important;
}
.tapb-channel-detail-toggle:hover,
.tapb-channel-detail-toggle:focus,
.tapb-channel-detail-toggle[aria-expanded="true"],
.tapb-product-card--catalog > .tapb-saved-customer-form > .tapb-open-confirm:hover,
.tapb-product-card--catalog > .tapb-saved-customer-form > .tapb-open-confirm:focus,
.tapb-product-card--button-only .tapb-open-confirm:hover,
.tapb-product-card--button-only .tapb-open-confirm:focus,
.tapb-product-card--catalog .tapb-payjp-form > .tapb-open-confirm:hover,
.tapb-product-card--catalog .tapb-payjp-form > .tapb-open-confirm:focus,
.tapb-product-card--catalog .tapb-payjp-form > input[type="button"]:hover,
.tapb-product-card--catalog .tapb-payjp-form > input[type="button"]:focus,
.tapb-product-card--catalog .tapb-payjp-form > input[type="submit"]:hover,
.tapb-product-card--catalog .tapb-payjp-form > input[type="submit"]:focus,
.tapb-confirm-modal__cancel:hover,
.tapb-confirm-modal__cancel:focus,
.tapb-confirm-modal__submit:not([hidden]):hover,
.tapb-confirm-modal__submit:not([hidden]):focus,
.tapb-card-update-form button:hover,
.tapb-card-update-form button:focus,
.tapb-card-update-form input[type="button"]:hover,
.tapb-card-update-form input[type="button"]:focus,
.tapb-card-update-form input[type="submit"]:hover,
.tapb-card-update-form input[type="submit"]:focus,
.tapb-profile-edit-open:hover,
.tapb-profile-edit-open:focus{
background:var(--button-hover-bg,var(--button-bg,#1d4ed8))!important;
border-color:var(--button-hover-border,var(--button-border,#1d4ed8))!important;
color:var(--button-hover-text,var(--button-text,#fff))!important;
text-decoration:none!important;
filter:none!important;
}

/* 解約ボタンは赤色を維持し、サイズだけテーマ設定に合わせる */
.tapb-danger-button:not(.tapb-portal-button),
.button.tapb-danger-button:not(.tapb-portal-button){
display:inline-flex!important;
align-items:center!important;
justify-content:center!important;
width:min(100%,var(--button-width,260px))!important;
max-width:100%!important;
height:var(--button-height,46px)!important;
min-height:var(--button-height,46px)!important;
padding:0 var(--button-padding-x,24px)!important;
border:var(--button-border-width,1px) solid #d63638!important;
border-radius:var(--button-radius,999px)!important;
background:#d63638!important;
color:#fff!important;
font-size:var(--button-font-size,16px)!important;
font-weight:700!important;
line-height:1.2!important;
text-align:center!important;
text-decoration:none!important;
box-shadow:none!important;
cursor:pointer!important;
box-sizing:border-box!important;
white-space:nowrap!important;
}
.tapb-danger-button:not(.tapb-portal-button):hover,
.tapb-danger-button:not(.tapb-portal-button):focus,
.button.tapb-danger-button:not(.tapb-portal-button):hover,
.button.tapb-danger-button:not(.tapb-portal-button):focus{
background:#b32d2e!important;
border-color:#b32d2e!important;
color:#fff!important;
text-decoration:none!important;
}


@media(max-width:900px){
.entry-content .tapb-channel-catalog__head,
.tapb-channel-catalog__head{
display:grid!important;
grid-template-columns:1fr!important;
gap:12px!important;
}
.entry-content .tapb-channel-search,
.tapb-channel-search{
width:100%!important;
justify-self:stretch!important;
}
.tapb-channel-summary{
grid-template-columns:76px minmax(0,1fr)!important;
align-items:start!important;
}
.tapb-channel-summary__actions{
grid-column:1/-1!important;
justify-content:flex-start!important;
flex-wrap:wrap!important;
}
.tapb-product-card--button-only .tapb-open-confirm,
.tapb-product-card--button-only .tapb-payjp-form > .tapb-open-confirm,
.tapb-product-card--button-only .tapb-payjp-form > input[type="button"],
.tapb-product-card--button-only .tapb-payjp-form > input[type="submit"]{
width:min(100%,var(--button-width,260px))!important;
}


}

/* 1.21.1: ご契約中一覧の横幅不足時は操作ボタンを2行目へ回し、項目位置を維持する */
.tapb-purchase-list--contracts{
container-type:inline-size;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list{
display:grid!important;
grid-template-columns:minmax(0,1fr) max-content!important;
gap:12px 24px!important;
align-items:center!important;
overflow:hidden;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main{
display:grid!important;
grid-template-columns:minmax(170px,1.05fr) minmax(150px,.85fr) minmax(115px,.6fr) minmax(170px,.8fr) minmax(150px,.75fr)!important;
gap:8px 22px!important;
align-items:center!important;
min-width:0!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main h4{
grid-column:1!important;
margin:0!important;
white-space:nowrap!important;
min-width:0!important;
overflow:hidden;
text-overflow:ellipsis;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta{
display:contents!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta p{
margin:0!important;
white-space:nowrap!important;
min-width:0!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta code{
white-space:normal!important;
word-break:break-all!important;
}





@container (max-width:1120px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list{
grid-template-columns:minmax(0,1fr)!important;
}

}
@container (max-width:880px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main{
grid-template-columns:minmax(160px,1fr) minmax(145px,1fr) minmax(115px,.8fr)!important;
gap:8px 18px!important;
}
}
@container (max-width:640px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main{
grid-template-columns:1fr!important;
gap:6px!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main h4,
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta p{
white-space:normal!important;
overflow:visible!important;
text-overflow:clip!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta{
display:grid!important;
gap:6px!important;
}


}
@supports not (container-type: inline-size){
@media(max-width:1500px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list{grid-template-columns:minmax(0,1fr)!important}

}
@media(max-width:1180px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main{grid-template-columns:minmax(160px,1fr) minmax(145px,1fr) minmax(115px,.8fr)!important;gap:8px 18px!important}
}
@media(max-width:900px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main{grid-template-columns:1fr!important;gap:6px!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main h4,
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta p{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta{display:grid!important;gap:6px!important}


}
}


/* 1.21.2: ご契約中一覧の中幅レイアウトを再調整し、問い合わせ番号や接続ユーザーの折返し崩れを防ぐ */
.tapb-purchase-list--contracts{
container-type:inline-size;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list{
display:grid!important;
grid-template-columns:minmax(0,1fr) max-content!important;
gap:14px 24px!important;
align-items:center!important;
overflow:visible!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main{
display:grid!important;
grid-template-columns:minmax(150px,.95fr) minmax(158px,.9fr) minmax(112px,.65fr) minmax(198px,1fr) minmax(150px,.85fr)!important;
gap:8px 18px!important;
align-items:center!important;
min-width:0!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main h4{
grid-column:1!important;
margin:0!important;
white-space:nowrap!important;
min-width:0!important;
overflow:hidden!important;
text-overflow:ellipsis!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta{
display:contents!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item{
margin:0!important;
white-space:nowrap!important;
min-width:0!important;
overflow:visible!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item code{
white-space:nowrap!important;
word-break:normal!important;
overflow-wrap:normal!important;
}





@container (max-width:1180px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list{
grid-template-columns:minmax(0,1fr)!important;
}

}
@container (max-width:1020px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main{
grid-template-columns:minmax(180px,1fr) minmax(210px,1.05fr) minmax(180px,1fr)!important;
gap:8px 18px!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main h4{
grid-column:1!important;
grid-row:1!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--status{
grid-column:2!important;
grid-row:1!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--viewability{
grid-column:3!important;
grid-row:1!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry{
grid-column:1 / span 2!important;
grid-row:2!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection{
grid-column:3!important;
grid-row:2!important;
}
}
@container (max-width:700px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main{
grid-template-columns:1fr!important;
gap:6px!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main h4,
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item{
grid-column:1!important;
grid-row:auto!important;
white-space:normal!important;
overflow:visible!important;
text-overflow:clip!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta{
display:grid!important;
gap:6px!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item code{
white-space:normal!important;
word-break:break-all!important;
}


}
@supports not (container-type: inline-size){
@media(max-width:1500px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list{grid-template-columns:minmax(0,1fr)!important}

}
@media(max-width:1260px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main{grid-template-columns:minmax(180px,1fr) minmax(210px,1.05fr) minmax(180px,1fr)!important;gap:8px 18px!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main h4{grid-column:1!important;grid-row:1!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--status{grid-column:2!important;grid-row:1!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--viewability{grid-column:3!important;grid-row:1!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry{grid-column:1 / span 2!important;grid-row:2!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection{grid-column:3!important;grid-row:2!important}
}
@media(max-width:900px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main{grid-template-columns:1fr!important;gap:6px!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main h4,
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item{grid-column:1!important;grid-row:auto!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta{display:grid!important;gap:6px!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item code{white-space:normal!important;word-break:break-all!important}


}
}

/* 1.21.3: ご契約中一覧の契約情報を標準で2段グリッド化し、問い合わせ番号や接続ユーザーの途中折返しを防ぐ */
.tapb-purchase-list--contracts .tapb-portal-row--contract-list{
display:grid!important;
grid-template-columns:minmax(0,1fr)!important;
gap:12px!important;
align-items:start!important;
overflow:visible!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main{
display:grid!important;
grid-template-columns:minmax(150px,1fr) minmax(210px,1.12fr) minmax(145px,.9fr)!important;
gap:8px 18px!important;
align-items:center!important;
min-width:0!important;
width:100%!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main h4{
grid-column:1!important;
grid-row:1!important;
margin:0!important;
white-space:nowrap!important;
min-width:0!important;
overflow:hidden!important;
text-overflow:ellipsis!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta{
display:contents!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item{
display:flex!important;
align-items:center!important;
gap:4px!important;
margin:0!important;
white-space:nowrap!important;
min-width:0!important;
max-width:100%!important;
overflow:visible!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item strong{
flex:0 0 auto!important;
white-space:nowrap!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item code,
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item span[data-tapb-connection-label]{
display:inline-block!important;
flex:0 1 auto!important;
min-width:0!important;
white-space:nowrap!important;
word-break:normal!important;
overflow-wrap:normal!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--status{
grid-column:2!important;
grid-row:1!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--viewability{
grid-column:3!important;
grid-row:1!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry{
grid-column:1 / span 2!important;
grid-row:2!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection{
grid-column:3!important;
grid-row:2!important;
}





@container (min-width:1120px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main{
grid-template-columns:minmax(150px,.95fr) minmax(165px,.9fr) minmax(110px,.65fr) minmax(210px,1.15fr) minmax(150px,.85fr)!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry{
grid-column:4!important;
grid-row:1!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection{
grid-column:5!important;
grid-row:1!important;
}
}
@media (min-width:1440px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main{
grid-template-columns:minmax(150px,.95fr) minmax(165px,.9fr) minmax(110px,.65fr) minmax(210px,1.15fr) minmax(150px,.85fr)!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry{
grid-column:4!important;
grid-row:1!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection{
grid-column:5!important;
grid-row:1!important;
}
}
@container (max-width:700px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main{
grid-template-columns:1fr!important;
gap:6px!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main h4,
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item{
grid-column:1!important;
grid-row:auto!important;
white-space:normal!important;
overflow:visible!important;
text-overflow:clip!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta{
display:grid!important;
gap:6px!important;
}


}
@media (max-width:900px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main{
grid-template-columns:1fr!important;
gap:6px!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main h4,
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item{
grid-column:1!important;
grid-row:auto!important;
white-space:normal!important;
overflow:visible!important;
text-overflow:clip!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta{
display:grid!important;
gap:6px!important;
}


}
/* 1.22.1: ご契約中一覧は、横幅が足りる場合は契約情報と操作ボタンを原則1行に戻す */
.tapb-purchase-list--contracts{
container-type:inline-size;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list{
display:grid!important;
grid-template-columns:minmax(0,1fr) max-content!important;
gap:12px 24px!important;
align-items:center!important;
overflow:visible!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main{
display:grid!important;
grid-template-columns:minmax(150px,.95fr) minmax(160px,.9fr) minmax(110px,.62fr) minmax(210px,1.12fr) minmax(150px,.82fr)!important;
gap:8px 20px!important;
align-items:center!important;
min-width:0!important;
width:100%!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main h4{
grid-column:1!important;
grid-row:1!important;
margin:0!important;
white-space:nowrap!important;
min-width:0!important;
overflow:hidden!important;
text-overflow:ellipsis!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta{
display:contents!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item{
display:flex!important;
align-items:center!important;
gap:4px!important;
margin:0!important;
white-space:nowrap!important;
min-width:0!important;
max-width:100%!important;
overflow:visible!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item strong{
flex:0 0 auto!important;
white-space:nowrap!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item code,
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item span[data-tapb-connection-label]{
display:inline-block!important;
flex:0 1 auto!important;
min-width:0!important;
white-space:nowrap!important;
word-break:normal!important;
overflow-wrap:normal!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--status{
grid-column:2!important;
grid-row:1!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--viewability{
grid-column:3!important;
grid-row:1!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry{
grid-column:4!important;
grid-row:1!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection{
grid-column:5!important;
grid-row:1!important;
}






/* 1行では収まらない幅では、契約情報を優先してボタンだけを2行目へ回す */
@container (max-width:1240px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list{
grid-template-columns:minmax(0,1fr)!important;
align-items:start!important;
}

}

/* さらに狭い幅では契約情報を2段にし、途中で不自然に崩れないようにする */
@container (max-width:1040px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main{
grid-template-columns:minmax(150px,1fr) minmax(210px,1.15fr) minmax(145px,.9fr)!important;
gap:8px 18px!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main h4{
grid-column:1!important;
grid-row:1!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--status{
grid-column:2!important;
grid-row:1!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--viewability{
grid-column:3!important;
grid-row:1!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry{
grid-column:1 / span 2!important;
grid-row:2!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection{
grid-column:3!important;
grid-row:2!important;
}
}

/* スマホ幅では1列表示に切り替える */
@container (max-width:700px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main{
grid-template-columns:1fr!important;
gap:6px!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main h4,
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item{
grid-column:1!important;
grid-row:auto!important;
white-space:normal!important;
overflow:visible!important;
text-overflow:clip!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta{
display:grid!important;
gap:6px!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item code{
white-space:normal!important;
word-break:break-all!important;
}


}

/* container query 非対応ブラウザ向けの最低限のフォールバック */
@supports not (container-type: inline-size){
@media (max-width:1500px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list{grid-template-columns:minmax(0,1fr)!important}

}
@media (max-width:1260px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main{grid-template-columns:minmax(150px,1fr) minmax(210px,1.15fr) minmax(145px,.9fr)!important;gap:8px 18px!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main h4{grid-column:1!important;grid-row:1!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--status{grid-column:2!important;grid-row:1!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--viewability{grid-column:3!important;grid-row:1!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry{grid-column:1 / span 2!important;grid-row:2!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection{grid-column:3!important;grid-row:2!important}
}
@media (max-width:900px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main{grid-template-columns:1fr!important;gap:6px!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main h4,
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item{grid-column:1!important;grid-row:auto!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta{display:grid!important;gap:6px!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item code{white-space:normal!important;word-break:break-all!important}


}
}

/* 1.22.2: 契約一覧・お申込み履歴の状態表記を簡略化し、解約ボタン幅を縮小 */
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main{
grid-template-columns:minmax(180px,1fr) minmax(82px,.34fr) minmax(82px,.34fr) minmax(180px,.86fr) minmax(150px,.7fr)!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--status,
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--viewability,
.tapb-purchase-list--simple .tapb-portal-meta__item--status,
.tapb-purchase-list--simple .tapb-portal-meta__item--viewability{
justify-content:flex-start!important;
}



.tapb-purchase-list--simple .tapb-portal-main{
grid-template-columns:minmax(180px,1.1fr) minmax(82px,.4fr) minmax(82px,.4fr) minmax(170px,.85fr) minmax(150px,.8fr)!important;
}
@container (max-width:1080px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list{
grid-template-columns:minmax(0,1fr)!important;
align-items:start!important;
}

}
@container (max-width:700px){


}
@supports not (container-type: inline-size){
@media (max-width:1340px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list{grid-template-columns:minmax(0,1fr)!important}

}
@media (max-width:900px){


}
}

/* 1.23.1: 契約一覧・申込み履歴・提供チャンネル一覧のレスポンシブ崩れを最終調整 */
.tapb-purchase-list--contracts{
container-type:inline-size!important;
container-name:tapb-contract-list!important;
}
.tapb-purchase-list--simple{
container-type:inline-size!important;
container-name:tapb-history-list!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list{
display:grid!important;
grid-template-columns:minmax(0,1fr) max-content!important;
gap:12px 24px!important;
align-items:center!important;
overflow:visible!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main{
display:grid!important;
grid-template-columns:minmax(170px,1fr) minmax(82px,.35fr) minmax(82px,.35fr) minmax(178px,.82fr) minmax(150px,.72fr)!important;
gap:8px 18px!important;
align-items:center!important;
min-width:0!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main h4{
grid-column:1!important;
grid-row:1!important;
margin:0!important;
white-space:nowrap!important;
overflow:hidden!important;
text-overflow:ellipsis!important;
min-width:0!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta{
display:contents!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item{
display:flex!important;
align-items:center!important;
gap:4px!important;
margin:0!important;
min-width:0!important;
max-width:100%!important;
white-space:nowrap!important;
overflow:visible!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--status{grid-column:2!important;grid-row:1!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--viewability{grid-column:3!important;grid-row:1!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry{grid-column:4!important;grid-row:1!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection{grid-column:5!important;grid-row:1!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item strong{
flex:0 0 auto!important;
white-space:nowrap!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item code,
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item span[data-tapb-connection-label]{
display:inline-block!important;
flex:0 1 auto!important;
min-width:0!important;
white-space:nowrap!important;
word-break:normal!important;
overflow-wrap:normal!important;
}








/* 1列に収まらない幅では、契約カード内を「左:商品情報 / 右:番号・接続・操作」の2カラムへ切り替える */
@container tapb-contract-list (max-width:980px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list{
grid-template-columns:minmax(0,.95fr) minmax(190px,1.05fr)!important;
gap:12px 18px!important;
align-items:start!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main,
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta{
display:contents!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main h4{
grid-column:1!important;
grid-row:1!important;
white-space:normal!important;
overflow:visible!important;
text-overflow:clip!important;
line-height:1.45!important;
align-self:end!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item{
white-space:normal!important;
overflow:visible!important;
text-overflow:clip!important;
line-height:1.55!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--status{
grid-column:1!important;
grid-row:2!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--viewability{
grid-column:1!important;
grid-row:3!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry{
grid-column:2!important;
grid-row:1!important;
align-self:end!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection{
grid-column:2!important;
grid-row:2!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry code,
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection span[data-tapb-connection-label]{
white-space:nowrap!important;
word-break:normal!important;
overflow-wrap:normal!important;
}






}
@container tapb-contract-list (max-width:520px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list{
grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
gap:10px 12px!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item{
font-size:13px!important;
}

}

/* お申込み履歴も、横幅不足時は左に商品・状態、右に番号・日付を固定する */
.tapb-purchase-list--simple .tapb-portal-row--simple-list{
display:block!important;
overflow:visible!important;
}
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-main{
display:grid!important;
grid-template-columns:minmax(180px,1.1fr) minmax(82px,.4fr) minmax(82px,.4fr) minmax(180px,.9fr) minmax(150px,.75fr)!important;
gap:8px 18px!important;
align-items:center!important;
min-width:0!important;
}
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-main h4{
grid-column:1!important;
grid-row:1!important;
margin:0!important;
white-space:nowrap!important;
overflow:hidden!important;
text-overflow:ellipsis!important;
}
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta{
display:contents!important;
}
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item{
display:flex!important;
align-items:center!important;
gap:4px!important;
margin:0!important;
min-width:0!important;
white-space:nowrap!important;
overflow:visible!important;
}
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--status{grid-column:2!important;grid-row:1!important}
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--viewability{grid-column:3!important;grid-row:1!important}
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--inquiry{grid-column:4!important;grid-row:1!important}
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--application-date{grid-column:5!important;grid-row:1!important}
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item strong,
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item code{
white-space:nowrap!important;
word-break:normal!important;
overflow-wrap:normal!important;
}
@container tapb-history-list (max-width:820px){
.tapb-purchase-list--simple .tapb-portal-row--simple-list{
display:grid!important;
grid-template-columns:minmax(0,.95fr) minmax(190px,1.05fr)!important;
gap:10px 18px!important;
align-items:start!important;
}
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-main,
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta{
display:contents!important;
}
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-main h4{
grid-column:1!important;
grid-row:1!important;
white-space:normal!important;
overflow:visible!important;
text-overflow:clip!important;
line-height:1.45!important;
}
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item{
white-space:normal!important;
line-height:1.55!important;
}
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--status{
grid-column:1!important;
grid-row:2!important;
}
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--viewability{
grid-column:1!important;
grid-row:3!important;
}
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--inquiry{
grid-column:2!important;
grid-row:1!important;
}
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--application-date{
grid-column:2!important;
grid-row:2!important;
}
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--inquiry code{
white-space:nowrap!important;
word-break:normal!important;
overflow-wrap:normal!important;
}
}
@container tapb-history-list (max-width:520px){
.tapb-purchase-list--simple .tapb-portal-row--simple-list{
grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
gap:8px 12px!important;
}
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item{
font-size:13px!important;
}
}

/* container query 非対応ブラウザ向け */
@supports not (container-type:inline-size){
@media(max-width:1260px){
.tapb-purchase-list--contracts .tapb-portal-row--contract-list{grid-template-columns:minmax(0,.95fr) minmax(190px,1.05fr)!important;gap:12px 18px!important;align-items:start!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main,
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta{display:contents!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main h4{grid-column:1!important;grid-row:1!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--status{grid-column:1!important;grid-row:2!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--viewability{grid-column:1!important;grid-row:3!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry{grid-column:2!important;grid-row:1!important}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection{grid-column:2!important;grid-row:2!important}



}
@media(max-width:900px){
.tapb-purchase-list--simple .tapb-portal-row--simple-list{display:grid!important;grid-template-columns:minmax(0,.95fr) minmax(190px,1.05fr)!important;gap:10px 18px!important}
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-main,
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta{display:contents!important}
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-main h4{grid-column:1!important;grid-row:1!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--status{grid-column:1!important;grid-row:2!important}
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--viewability{grid-column:1!important;grid-row:3!important}
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--inquiry{grid-column:2!important;grid-row:1!important}
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--application-date{grid-column:2!important;grid-row:2!important}
}
}

/* 提供チャンネル一覧: 検索窓の巨大化・カード内の縦割れを防ぐ */
.tapb-channel-catalog{
container-type:inline-size!important;
container-name:tapb-channel-catalog!important;
}
.tapb-channel-catalog__head{
display:grid!important;
grid-template-columns:minmax(180px,1fr) minmax(280px,560px)!important;
align-items:start!important;
gap:16px!important;
width:100%!important;
margin:0 0 18px!important;
padding:0!important;
}
.tapb-channel-catalog__title{
margin:0!important;
line-height:1.3!important;
min-width:0!important;
}
.tapb-channel-search{
display:grid!important;
grid-template-columns:minmax(0,1fr) auto!important;
align-items:center!important;
gap:8px!important;
width:100%!important;
max-width:560px!important;
min-width:0!important;
margin:0!important;
justify-self:end!important;
align-self:start!important;
}
.tapb-channel-search input[type="search"]{
display:block!important;
width:100%!important;
min-width:0!important;
max-width:none!important;
height:42px!important;
min-height:42px!important;
max-height:42px!important;
line-height:1.2!important;
padding:0 16px!important;
border:1px solid #ccd6e3!important;
border-radius:999px!important;
background:#fff!important;
box-shadow:0 1px 2px rgba(15,23,42,.04)!important;
box-sizing:border-box!important;
appearance:none!important;
-webkit-appearance:none!important;
}
.tapb-channel-search button{
width:auto!important;
min-width:72px!important;
height:42px!important;
min-height:42px!important;
max-height:42px!important;
padding:0 18px!important;
border-radius:999px!important;
line-height:1!important;
white-space:nowrap!important;
box-sizing:border-box!important;
}
@container tapb-channel-catalog (max-width:760px){
.tapb-channel-catalog__head{
grid-template-columns:1fr!important;
gap:12px!important;
}
.tapb-channel-search{
justify-self:stretch!important;
max-width:none!important;
}
}
@media(max-width:760px){
.tapb-channel-catalog__head{
grid-template-columns:1fr!important;
gap:12px!important;
}
.tapb-channel-search{
justify-self:stretch!important;
max-width:none!important;
}
}
.tapb-provider-group__school,
.tapb-provider-group__channels,
.tapb-channel-list,
.tapb-channel-card,
.tapb-channel-summary,
.tapb-channel-summary__body{
min-width:0!important;
}
.tapb-channel-card{
container-type:inline-size!important;
container-name:tapb-channel-card!important;
overflow:hidden!important;
}
.tapb-channel-summary{
display:grid!important;
grid-template-columns:96px minmax(0,1fr) max-content!important;
gap:14px!important;
align-items:center!important;
width:100%!important;
box-sizing:border-box!important;
}
.tapb-channel-name{
display:block!important;
min-width:0!important;
line-height:1.45!important;
word-break:normal!important;
overflow-wrap:anywhere!important;
}
.tapb-channel-access{
display:block!important;
line-height:1.45!important;
white-space:normal!important;
word-break:keep-all!important;
overflow-wrap:normal!important;
}
.tapb-channel-summary__actions{
display:flex!important;
flex-direction:row!important;
align-items:center!important;
justify-content:flex-end!important;
gap:10px!important;
min-width:0!important;
max-width:100%!important;
}
@container tapb-channel-card (max-width:680px){
.tapb-channel-summary{
grid-template-columns:96px minmax(0,1fr)!important;
align-items:center!important;
}
.tapb-channel-summary__actions{
grid-column:1 / -1!important;
display:grid!important;
grid-template-columns:minmax(96px,130px) minmax(0,1fr)!important;
gap:10px!important;
justify-content:stretch!important;
width:100%!important;
}
.tapb-channel-detail-toggle,
.tapb-channel-apply-action,
.tapb-product-card--button-only,
.tapb-product-card--button-only .tapb-saved-customer-form,
.tapb-product-card--button-only .tapb-payjp-form,
.tapb-product-card--button-only .tapb-open-confirm,
.tapb-product-card--button-only .tapb-payjp-form > .tapb-open-confirm,
.tapb-product-card--button-only .tapb-payjp-form > input[type="button"],
.tapb-product-card--button-only .tapb-payjp-form > input[type="submit"]{
width:100%!important;
min-width:0!important;
max-width:none!important;
}
}
@container tapb-channel-card (max-width:420px){
.tapb-channel-summary{
grid-template-columns:76px minmax(0,1fr)!important;
gap:12px!important;
}
.tapb-channel-thumb{
width:76px!important;
}
.tapb-channel-summary__actions{
grid-template-columns:1fr!important;
}
}
@supports not (container-type:inline-size){
@media(max-width:1180px){
.tapb-channel-summary{grid-template-columns:96px minmax(0,1fr)!important}
.tapb-channel-summary__actions{grid-column:1/-1!important;display:grid!important;grid-template-columns:minmax(96px,130px) minmax(0,1fr)!important;width:100%!important}
.tapb-channel-detail-toggle,
.tapb-channel-apply-action,
.tapb-product-card--button-only,
.tapb-product-card--button-only .tapb-open-confirm{width:100%!important;min-width:0!important;max-width:none!important}
}
@media(max-width:460px){
.tapb-channel-summary{grid-template-columns:76px minmax(0,1fr)!important}
.tapb-channel-thumb{width:76px!important}
.tapb-channel-summary__actions{grid-template-columns:1fr!important}
}
}


.tapb-channel-intro-frame{
    margin:0 0 28px;
    padding:20px 22px;
    border:1px solid #d9e1ec;
    border-radius:14px;
    background:#fff;
    line-height:1.8;
}
.tapb-channel-intro-frame > :first-child{
    margin-top:0;
}
.tapb-channel-intro-frame > :last-child{
    margin-bottom:0;
}
.tapb-channel-summary{
    padding:18px 20px!important;
}
.tapb-provider-school-pass__body{
    margin-top:16px;
}
.tapb-provider-school-pass__item .tapb-product-card{
    padding:18px;
}
.tapb-provider-school-pass__item .tapb-payjp-form,
.tapb-provider-school-pass__item .tapb-saved-customer-form{
    margin-top:16px;
}
@media(max-width:760px){
    .tapb-channel-intro-frame{
        margin-bottom:22px;
        padding:18px;
    }
    .tapb-channel-summary{
        padding:16px!important;
    }
}

/* 1.23.2 / 1.41.10: 検索UIをクーポン登録UIと同じデザインへ統一 */
.entry-content .tapb-channel-catalog__head,
.tapb-channel-catalog__head{
    display:grid!important;
    grid-template-columns:minmax(180px,1fr) minmax(320px,560px)!important;
    align-items:start!important;
    gap:16px!important;
    width:100%!important;
    margin:0 0 18px!important;
    padding:0!important;
}
.entry-content form.tapb-channel-search,
form.tapb-channel-search,
.entry-content .tapb-channel-search,
.tapb-channel-search{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 74px!important;
    align-items:center!important;
    gap:8px!important;
    width:100%!important;
    max-width:560px!important;
    min-width:0!important;
    margin:0!important;
    justify-self:end!important;
    align-self:start!important;
    flex-wrap:nowrap!important;
}
.tapb-channel-search input[type="search"]{
    grid-column:1!important;
    grid-row:1!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    line-height:1.2!important;
    padding:0 12px!important;
    border:1px solid #c3c4c7!important;
    border-radius:10px!important;
    background:#fff!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
    appearance:none!important;
    -webkit-appearance:none!important;
}
.tapb-channel-search input[type="search"]:focus{
    border-color:#6b7280!important;
    box-shadow:0 0 0 3px rgba(107,114,128,.18)!important;
    outline:0!important;
}
.tapb-channel-search button,
.tapb-channel-search button[type="submit"]{
    grid-column:2!important;
    grid-row:1!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    align-self:center!important;
    width:74px!important;
    min-width:74px!important;
    max-width:74px!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    padding:0 8px!important;
    border:1px solid #6b7280!important;
    border-radius:10px!important;
    background:#6b7280!important;
    color:#fff!important;
    font-size:var(--button-font-size,16px)!important;
    font-weight:700!important;
    line-height:1.2!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
    white-space:nowrap!important;
    flex:0 0 74px!important;
    appearance:none!important;
    -webkit-appearance:none!important;
}
.tapb-channel-search button:hover,
.tapb-channel-search button:focus,
.tapb-channel-search button[type="submit"]:hover,
.tapb-channel-search button[type="submit"]:focus{
    border-color:#4b5563!important;
    background:#4b5563!important;
    color:#fff!important;
}
.tapb-channel-search button:focus-visible,
.tapb-channel-search button[type="submit"]:focus-visible{
    outline:3px solid rgba(107,114,128,.28)!important;
    outline-offset:2px!important;
}
@container tapb-channel-catalog (max-width:760px){
    .entry-content .tapb-channel-catalog__head,
    .tapb-channel-catalog__head{
        grid-template-columns:1fr!important;
        gap:12px!important;
    }
    .entry-content form.tapb-channel-search,
    form.tapb-channel-search,
    .entry-content .tapb-channel-search,
    .tapb-channel-search{
        justify-self:stretch!important;
        max-width:none!important;
        grid-template-columns:minmax(0,1fr) 74px!important;
    }
}
@media(max-width:760px){
    .entry-content .tapb-channel-catalog__head,
    .tapb-channel-catalog__head{
        grid-template-columns:1fr!important;
        gap:12px!important;
    }
    .entry-content form.tapb-channel-search,
    form.tapb-channel-search,
    .entry-content .tapb-channel-search,
    .tapb-channel-search{
        justify-self:stretch!important;
        max-width:none!important;
        grid-template-columns:minmax(0,1fr) 74px!important;
    }
}
@media(max-width:420px){
    .entry-content form.tapb-channel-search,
    form.tapb-channel-search,
    .entry-content .tapb-channel-search,
    .tapb-channel-search{
        grid-template-columns:minmax(0,1fr) 74px!important;
        gap:8px!important;
    }
    .tapb-channel-search input[type="search"]{
        padding:0 12px!important;
        font-size:13px!important;
    }
}

/* 1.23.2 / 1.41.10: 詳細ボタンを短くし、申込みボタンとの間隔を調整 */
.tapb-channel-summary__actions{
    display:grid!important;
    grid-template-columns:max-content max-content!important;
    align-items:center!important;
    justify-content:end!important;
    justify-items:center!important;
    gap:18px!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
}
.tapb-channel-detail-toggle{
    width:88px!important;
    min-width:88px!important;
    max-width:88px!important;
    flex:0 0 88px!important;
    padding-right:12px!important;
    padding-left:12px!important;
}
.tapb-channel-apply-action,
.tapb-product-card--button-only,
.tapb-product-card--button-only .tapb-saved-customer-form,
.tapb-product-card--button-only .tapb-payjp-form{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:0!important;
    max-width:180px!important;
}
.tapb-product-card--button-only .tapb-open-confirm,
.tapb-product-card--button-only .tapb-payjp-form > .tapb-open-confirm,
.tapb-product-card--button-only .tapb-payjp-form > input[type="button"],
.tapb-product-card--button-only .tapb-payjp-form > input[type="submit"]{
    width:168px!important;
    min-width:168px!important;
    max-width:168px!important;
    padding-right:18px!important;
    padding-left:18px!important;
    white-space:nowrap!important;
}
.tapb-product-card--catalog:not(.tapb-product-card--button-only) > .tapb-saved-customer-form,
.tapb-product-card--catalog:not(.tapb-product-card--button-only) .tapb-payjp-form{
    display:flex!important;
    justify-content:center!important;
}
.tapb-product-card--catalog:not(.tapb-product-card--button-only) > .tapb-saved-customer-form > .tapb-open-confirm,
.tapb-product-card--catalog:not(.tapb-product-card--button-only) .tapb-payjp-form > .tapb-open-confirm,
.tapb-product-card--catalog:not(.tapb-product-card--button-only) .tapb-payjp-form > input[type="button"],
.tapb-product-card--catalog:not(.tapb-product-card--button-only) .tapb-payjp-form > input[type="submit"]{
    width:min(100%,180px)!important;
    max-width:180px!important;
}
@container tapb-channel-card (max-width:680px){
    .tapb-channel-summary__actions{
        grid-column:1 / -1!important;
        grid-template-columns:88px 168px!important;
        justify-content:center!important;
        justify-items:center!important;
        width:100%!important;
    }
}
@container tapb-channel-card (max-width:360px){
    .tapb-channel-summary__actions{
        grid-template-columns:168px!important;
    }
    .tapb-channel-detail-toggle,
    .tapb-product-card--button-only .tapb-open-confirm,
    .tapb-product-card--button-only .tapb-payjp-form > .tapb-open-confirm,
    .tapb-product-card--button-only .tapb-payjp-form > input[type="button"],
    .tapb-product-card--button-only .tapb-payjp-form > input[type="submit"]{
        width:168px!important;
        min-width:0!important;
        max-width:168px!important;
    }
}
@media(max-width:460px){
    .tapb-channel-summary__actions{
        grid-column:1 / -1!important;
        grid-template-columns:88px 168px!important;
        justify-content:center!important;
        justify-items:center!important;
        width:100%!important;
    }
}
@media(max-width:380px){
    .tapb-channel-summary__actions{
        grid-template-columns:168px!important;
    }
    .tapb-channel-detail-toggle,
    .tapb-product-card--button-only .tapb-open-confirm,
    .tapb-product-card--button-only .tapb-payjp-form > .tapb-open-confirm,
    .tapb-product-card--button-only .tapb-payjp-form > input[type="button"],
    .tapb-product-card--button-only .tapb-payjp-form > input[type="submit"]{
        width:168px!important;
        min-width:0!important;
        max-width:168px!important;
    }
}

/* 1.23.3: 登録情報2枠の横並び、ボタン幅、未接続時の接続解除ボタン非表示調整 */
.tapb-portal-card--profile .tapb-registration-panels{
display:grid!important;
grid-template-columns:minmax(0,1fr) minmax(300px,.72fr)!important;
gap:22px!important;
align-items:stretch!important;
}
.tapb-portal-card--profile .tapb-registration-info-panel,
.tapb-portal-card--profile .tapb-registration-card,
.tapb-portal-card--profile .tapb-card-update-box,
.tapb-portal-card--profile .tapb-card-update-empty{
min-width:0!important;
box-sizing:border-box!important;
}
.tapb-portal-card--profile .tapb-registration-card,
.tapb-portal-card--profile .tapb-card-update-box,
.tapb-portal-card--profile .tapb-card-update-empty{
height:100%!important;
margin:0!important;
}
.tapb-portal-card--profile .tapb-registration-card{
display:flex!important;
flex-direction:column!important;
gap:14px!important;
}
.tapb-portal-card--profile .tapb-registration-summary{
margin:0!important;
}
.tapb-portal-card--profile .tapb-registration-summary dd{
overflow-wrap:anywhere!important;
}
.tapb-portal-card--profile .tapb-profile-edit-actions{
display:flex!important;
justify-content:flex-end!important;
align-items:center!important;
margin:auto 0 0!important;
padding:10px 0 0!important;
}
.tapb-portal-card--profile .tapb-profile-edit-open,
.tapb-portal-card--profile .tapb-card-update-form button,
.tapb-portal-card--profile .tapb-card-update-form input[type="button"],
.tapb-portal-card--profile .tapb-card-update-form input[type="submit"]{
width:auto!important;
min-width:132px!important;
max-width:180px!important;
padding-left:22px!important;
padding-right:22px!important;
}
.tapb-portal-card--profile .tapb-card-update-form{
display:flex!important;
justify-content:flex-start!important;
align-items:center!important;
margin:0!important;
}



@container tapb-contract-list (max-width:980px){


}
@media(max-width:900px){
.tapb-portal-card--profile .tapb-registration-panels{
grid-template-columns:1fr!important;
gap:16px!important;
}
.tapb-portal-card--profile .tapb-profile-edit-actions{
justify-content:flex-end!important;
}
}
@media(max-width:520px){
.tapb-portal-card--profile .tapb-profile-edit-open,
.tapb-portal-card--profile .tapb-card-update-form button,
.tapb-portal-card--profile .tapb-card-update-form input[type="button"],
.tapb-portal-card--profile .tapb-card-update-form input[type="submit"]{
width:min(100%,160px)!important;
min-width:128px!important;
max-width:160px!important;
}
}

.tapb-portal-card--profile .tapb-card-update-actions{
display:flex!important;
justify-content:flex-end!important;
align-items:flex-end!important;
gap:10px!important;
width:100%!important;
margin:auto 0 0!important;
padding-top:10px!important;
}
.tapb-portal-card--profile .tapb-card-update-actions form{
margin:0!important;
}
.tapb-portal-card--profile .tapb-card-reset-button{
min-width:132px!important;
}
@media(max-width:520px){
.tapb-portal-card--profile .tapb-card-update-actions{
flex-wrap:wrap!important;
justify-content:flex-end!important;
}
}



/* 1.23.4: 登録情報の各項目を縦並びにし、登録内容の左端を揃える */
.tapb-portal-card--profile .tapb-registration-summary{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    margin:0!important;
}
.tapb-portal-card--profile .tapb-registration-summary > div{
    display:grid!important;
    grid-template-columns:minmax(0,170px) minmax(0,1fr)!important;
    gap:14px!important;
    align-items:start!important;
}
.tapb-portal-card--profile .tapb-registration-summary dt{
    margin:0!important;
    font-weight:700!important;
    white-space:nowrap!important;
}
.tapb-portal-card--profile .tapb-registration-summary dd{
    margin:0!important;
    min-width:0!important;
    overflow-wrap:anywhere!important;
}
@media(max-width:520px){
    .tapb-portal-card--profile .tapb-registration-summary > div{
        grid-template-columns:1fr!important;
        gap:4px!important;
    }
}


/* 1.23.5: 登録情報2枠の均等幅、登録内容の間隔、カード変更ボタン右下配置 */
.tapb-portal-card--profile .tapb-registration-panels{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:22px!important;
}
.tapb-portal-card--profile .tapb-registration-summary > div{
    grid-template-columns:max-content minmax(0,1fr)!important;
    column-gap:28px!important;
    row-gap:0!important;
}
.tapb-portal-card--profile .tapb-registration-summary dt{
    min-width:0!important;
}
.tapb-portal-card--profile .tapb-card-update-box{
    display:flex!important;
    flex-direction:column!important;
}
.tapb-portal-card--profile .tapb-card-update-form{
    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    width:100%!important;
    margin:auto 0 0!important;
    padding-top:10px!important;
}
@media(max-width:900px){
    .tapb-portal-card--profile .tapb-registration-panels{
        grid-template-columns:1fr!important;
    }
}
@media(max-width:520px){
    .tapb-portal-card--profile .tapb-registration-summary > div{
        grid-template-columns:1fr!important;
        gap:4px!important;
    }
}


/* 1.23.6: 登録情報を実テーブルに変更し、登録内容の開始位置と余白を揃える */
.tapb-portal-card--profile .tapb-registration-table{
    width:auto!important;
    max-width:100%!important;
    border-collapse:separate!important;
    border-spacing:0 12px!important;
    table-layout:auto!important;
    margin:0!important;
}
.tapb-portal-card--profile .tapb-registration-table th,
.tapb-portal-card--profile .tapb-registration-table td{
    padding:0!important;
    vertical-align:top!important;
    line-height:1.6!important;
    border:0!important;
    background:transparent!important;
}
.tapb-portal-card--profile .tapb-registration-table th{
    width:200px!important;
    min-width:200px!important;
    padding-right:34px!important;
    color:inherit!important;
    font-weight:700!important;
    text-align:left!important;
    white-space:nowrap!important;
}
.tapb-portal-card--profile .tapb-registration-table td{
    min-width:0!important;
    font-weight:400!important;
    text-align:left!important;
    overflow-wrap:anywhere!important;
}
@media(max-width:520px){
    .tapb-portal-card--profile .tapb-registration-table,
    .tapb-portal-card--profile .tapb-registration-table tbody,
    .tapb-portal-card--profile .tapb-registration-table tr,
    .tapb-portal-card--profile .tapb-registration-table th,
    .tapb-portal-card--profile .tapb-registration-table td{
        display:block!important;
        width:100%!important;
        min-width:0!important;
    }
    .tapb-portal-card--profile .tapb-registration-table{
        border-spacing:0!important;
    }
    .tapb-portal-card--profile .tapb-registration-table tr{
        margin:0 0 12px!important;
    }
    .tapb-portal-card--profile .tapb-registration-table th{
        padding:0 0 2px!important;
        white-space:normal!important;
    }
}

/* 1.23.7: 登録情報テーブルの内側枠を非表示 */
.tapb-portal-card--profile .tapb-registration-table,
.tapb-portal-card--profile .tapb-registration-table tbody,
.tapb-portal-card--profile .tapb-registration-table tr,
.tapb-portal-card--profile .tapb-registration-table th,
.tapb-portal-card--profile .tapb-registration-table td{
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:transparent!important;
}
.tapb-portal-card--profile .tapb-registration-table{
    border-radius:0!important;
}


/* 1.23.8 / 1.41.7: 申込確認オーバーレイの上下余白・料金色・ボタン幅を調整 */
.tapb-confirm-modal.is-open{
display:flex!important;
align-items:flex-start!important;
justify-content:center!important;
padding:clamp(22px,6vh,64px) 16px!important;
overflow-y:auto!important;
box-sizing:border-box!important;
}
.tapb-confirm-modal__dialog{
--tapb-confirm-modal-y-space:clamp(28px,4.8vw,34px);
width:min(560px,100%)!important;
max-height:calc(100dvh - 44px)!important;
overflow:auto!important;
margin:0 auto!important;
padding:var(--tapb-confirm-modal-y-space) clamp(24px,5vw,34px)!important;
box-sizing:border-box!important;
text-align:center!important;
}
.tapb-confirm-modal__title{
margin:0 44px 18px!important;
font-size:20px!important;
line-height:1.45!important;
text-align:center!important;
}
.tapb-confirm-modal__text{
max-width:460px!important;
margin:0 auto 18px!important;
line-height:1.8!important;
text-align:center!important;
}
.tapb-confirm-modal__price,
.tapb-provider-school-pass .tapb-product-price{
color:#d63638;
font-weight:700;
}
.tapb-confirm-modal__actions{
display:flex!important;
flex-direction:column!important;
align-items:center!important;
justify-content:center!important;
gap:10px!important;
margin-top:var(--tapb-confirm-modal-y-space)!important;
}
.tapb-confirm-modal__actions[hidden]{
display:none!important;
margin-top:0!important;
}
.tapb-confirm-modal__actions .tapb-confirm-modal__submit{
margin:0!important;
}
.tapb-confirm-modal__cancel{
width:min(100%,140px)!important;
max-width:140px!important;
}
.tapb-confirm-modal__submit:not([hidden]){
width:min(100%,260px)!important;
max-width:260px!important;
}
.tapb-confirm-modal__submit[data-tapb-payjp-proceed]:not([hidden]){
width:min(100%,200px)!important;
max-width:200px!important;
}
@media(max-width:520px){
.tapb-confirm-modal.is-open{
padding:10px 12px!important;
align-items:flex-start!important;
}
.tapb-confirm-modal__dialog{
--tapb-confirm-modal-y-space:24px;
max-height:calc(100dvh - 20px)!important;
padding:var(--tapb-confirm-modal-y-space) 20px!important;
border-radius:14px!important;
}
.tapb-confirm-modal__title{
margin:0 40px 16px!important;
font-size:19px!important;
}
.tapb-confirm-modal__text{
margin-bottom:16px!important;
}
.tapb-confirm-modal__actions{
margin-top:var(--tapb-confirm-modal-y-space)!important;
}
}



/* 請求書ウェブ表示ボタン */
.tapb-invoice-card__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 16px;
}

.tapb-invoice-view-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 132px;
    border-radius: 999px !important;
    border-color: #1f76b5 !important;
    background: #1f76b5 !important;
    color: #fff !important;
    font-weight: 700;
    text-decoration: none !important;
}

.tapb-invoice-view-button:hover,
.tapb-invoice-view-button:focus {
    border-color: #165f93 !important;
    background: #165f93 !important;
    color: #fff !important;
}

.tapb-invoice-empty > p:first-child {
    margin-top: 0;
}

.tapb-invoice-admin-preview {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 14px 0 0;
    padding-top: 14px;
    border-top: 1px solid #d7deea;
    font-size: 13px;
}

.tapb-invoice-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}
.tapb-invoice-section-heading .tapb-section-title {
    margin-bottom: 0;
}
.tapb-invoice-sample-button {
    min-width: 176px;
}
@media (max-width: 640px) {
    .tapb-invoice-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* 1.30.4: 問い合わせ番号などの英数字を本文と同じフォントで表示 */
.tapb-portal-meta__item code,
.tapb-invoice-meta code,
.tapb-invoice-card code {
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit;
    font-style: normal;
    letter-spacing: normal;
    font-variant-numeric: proportional-nums;
}



/* 1.31.0: 書籍・グッズ／買い物かご */
.tapb-merch-store{display:grid;gap:28px}.tapb-merch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.tapb-merch-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #d6dff5;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.06)}.tapb-merch-card__image{aspect-ratio:4/3;background:#f6f7f7;overflow:hidden}.tapb-merch-card__image img{width:100%;height:100%;display:block;object-fit:cover}.tapb-merch-card__body{display:flex;flex:1;flex-direction:column;padding:18px}.tapb-merch-card__body h3{margin:0 0 10px;font-size:20px}.tapb-merch-card__description{color:#475467;line-height:1.7}.tapb-merch-card__price{margin:auto 0 4px;padding-top:16px;font-size:20px;font-weight:700}.tapb-merch-card__shipping{margin:0 0 14px;color:#646970;font-size:13px}.tapb-merch-add-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tapb-merch-add-form label{display:flex;align-items:center;gap:6px}.tapb-merch-add-form input[type=number]{width:72px}.tapb-merch-cart{padding:22px;border:1px solid #d6dff5;border-radius:16px;background:#fff}.tapb-merch-cart h2{margin-top:0}.tapb-merch-cart__items{border-top:1px solid #e4e7ec}.tapb-merch-cart__item{display:grid;grid-template-columns:minmax(0,1.5fr) auto auto auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid #e4e7ec}.tapb-merch-cart__item small{display:block;color:#667085}.tapb-merch-cart__item input[type=number]{width:72px}.tapb-merch-totals{margin:20px 0 22px auto;max-width:380px}.tapb-merch-totals>div{display:flex;justify-content:space-between;gap:20px;padding:7px 0}.tapb-merch-totals dt,.tapb-merch-totals dd{margin:0}.tapb-merch-totals__total{border-top:2px solid #1f2937;margin-top:6px;padding-top:12px!important;font-size:20px;font-weight:700}.tapb-merch-cart>.tapb-payjp-form,.tapb-merch-cart>.tapb-saved-customer-form{display:flex;justify-content:flex-end}.tapb-merch-cart .payjp-button iframe{max-width:100%}@media(max-width:720px){.tapb-merch-cart{padding:16px}.tapb-merch-cart__item{grid-template-columns:1fr auto;gap:8px 12px}.tapb-merch-cart__item>div:last-child{text-align:right}.tapb-merch-cart>.tapb-payjp-form,.tapb-merch-cart>.tapb-saved-customer-form{justify-content:stretch}.tapb-merch-cart>.tapb-saved-customer-form .button{width:100%}}

/* 1.34.3: ご契約中一覧の操作ボタンを整理
 * 接続中: 接続解除 + 解約
 * 未接続: QRコード + 解約
 * 表示切替は hidden 属性のみで制御する。
 */










/* 契約カードが縦積みになる幅では、操作ボタンも縦並びにする */
@container tapb-contract-list (max-width: 980px) {
    

    

    

    
}

/* container query 非対応環境向け */
@supports not (container-type: inline-size) {
    @media (max-width: 900px) {
        

        

        

        
    }
}


/* 1.36.0: 書籍・グッズ画面の配送先要約と変更モーダル */
.tapb-merch-shipping-card{
    display:grid;
    gap:18px;
    margin:24px 0;
    padding:22px;
}
.tapb-merch-shipping-card .tapb-registration-card__header{
    margin:0;
}
.tapb-merch-shipping-card .tapb-registration-card__header h3{
    margin:0;
    font-size:18px;
    line-height:1.4;
}
.tapb-merch-shipping-card .tapb-shipping-summary{
    min-height:0;
}
.tapb-merch-shipping-card .tapb-profile-edit-actions{
    display:flex;
    justify-content:flex-end;
    margin-top:0;
}
.tapb-merch-shipping-card .tapb-profile-edit-open{
    min-width:140px;
}
@media (max-width:767px){
    .tapb-merch-shipping-card{
        gap:16px;
        padding:20px;
    }
    .tapb-merch-shipping-card .tapb-profile-edit-actions{
        justify-content:center;
    }
}


/* 1.37.0: 発送元別送料 */
.tapb-merch-shipping-note{
    margin:18px 0 12px;
    padding:12px 14px;
    border-radius:10px;
    background:#f5f7fb;
    color:#344054
}
.tapb-merch-shipping-breakdown{
    margin:14px 0;
    padding:16px;
    border:1px solid #d9e1ec;
    border-radius:12px;
    background:#fff
}
.tapb-merch-shipping-breakdown h3{
    margin:0 0 10px;
    font-size:16px
}
.tapb-merch-shipping-breakdown__row{
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:8px 0;
    border-top:1px solid #edf1f5
}
.tapb-merch-shipping-breakdown__row:first-of-type{
    border-top:0
}
.tapb-merch-cart__item small{
    display:block;
    margin-top:4px
}


/* 1.38.0: 登録情報・配送先を要約カードと変更オーバーレイに整理 */
html.tapb-profile-modal-open,
body.tapb-profile-modal-open{
    overflow:hidden;
}
.tapb-portal-card--profile .tapb-registration-info-panel{
    display:grid;
    gap:18px;
}
.tapb-portal-card--profile .tapb-registration-info-panel .tapb-registration-card{
    height:auto!important;
}
.tapb-registration-card__header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}
.tapb-registration-card__header h4{
    margin:0;
    font-size:18px;
    line-height:1.4;
}
.tapb-shipping-summary{
    min-height:72px;
}
.tapb-shipping-summary p{
    margin:0;
}
.tapb-shipping-summary__details{
    display:grid;
    gap:12px;
    margin:0;
}
.tapb-shipping-summary__details>div{
    display:grid;
    grid-template-columns:minmax(140px,180px) minmax(0,1fr);
    gap:18px;
    align-items:start;
}
.tapb-shipping-summary__details dt{
    font-weight:700;
}
.tapb-shipping-summary__details dd{
    min-width:0;
    margin:0;
    overflow-wrap:anywhere;
}
.tapb-shipping-summary__address{
    display:grid;
    gap:3px;
    line-height:1.65;
}
.tapb-shipping-summary__empty{
    color:#646970;
}
.tapb-shipping-modal .tapb-profile-modal__dialog{
    width:min(760px,calc(100vw - 32px));
}
.tapb-shipping-modal .tapb-shipping-address-form{
    margin:0;
}
.tapb-shipping-modal .tapb-shipping-actions{
    justify-content:center;
    margin-top:24px;
}
.tapb-shipping-modal .tapb-shipping-actions .button{
    min-width:180px;
}

/* 1.38.1: 配送先変更モーダルの入力サイズと配置を整理 */
.tapb-shipping-modal .tapb-profile-modal__dialog{
    width:min(680px,100%);
    max-height:calc(100vh - 48px);
    margin:0;
    padding:28px 32px 26px;
    box-sizing:border-box;
}
.tapb-shipping-modal .tapb-profile-modal__title{
    margin:0 48px 22px 0;
    font-size:22px;
    line-height:1.4;
}
.tapb-shipping-modal .tapb-profile-modal__body{
    width:100%;
}
.tapb-shipping-modal .tapb-shipping-address-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px 20px;
}
.tapb-shipping-modal .tapb-shipping-field{
    gap:7px;
    min-width:0;
}
.tapb-shipping-modal .tapb-shipping-field--postal,
.tapb-shipping-modal .tapb-shipping-field--wide{
    grid-column:1 / -1;
}
.tapb-shipping-modal .tapb-shipping-field label{
    margin:0;
    font-size:15px;
    line-height:1.5;
}
.tapb-shipping-modal .tapb-shipping-field input{
    width:100%;
    height:46px;
    min-height:46px;
    padding:0 14px;
    border-radius:10px;
    box-sizing:border-box;
    font-size:16px;
    line-height:1.2;
}
.tapb-shipping-modal .tapb-postal-lookup-row{
    display:flex;
    align-items:center;
    gap:12px;
}
.tapb-shipping-modal .tapb-split-input--postal input:first-child,
.tapb-shipping-modal .tapb-split-input--postal input:last-child{
    width:100%;
    flex:none;
}
.tapb-shipping-modal .tapb-postal-lookup{
    min-width:150px;
    height:46px;
    min-height:46px;
    padding:0 18px;
    border-radius:999px;
    box-sizing:border-box;
}
.tapb-shipping-modal .tapb-postal-lookup-status{
    min-height:0;
    margin:2px 0 0;
}
.tapb-shipping-modal .tapb-split-input--phone{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);
    align-items:center;
    gap:8px;
}
.tapb-shipping-modal .tapb-split-input--phone input{
    width:100%;
    flex:none;
}
.tapb-shipping-modal .tapb-shipping-actions{
    margin-top:26px;
}
.tapb-shipping-modal .tapb-shipping-actions .button{
    min-width:180px;
    min-height:46px;
    padding:0 24px;
    border-radius:999px;
}
@media(max-width:720px){
    .tapb-shipping-modal .tapb-profile-modal__dialog{
        max-height:calc(100vh - 32px);
        padding:24px 20px 22px;
    }
}


/* 1.38.3: 登録情報変更・配送先変更モーダルの中央配置と入力寸法を共通化 */
.tapb-profile-modal{
    position:fixed;
    inset:0;
    z-index:100000;
    display:none;
    align-items:center;
    justify-content:center;
    padding:24px;
    box-sizing:border-box;
}
.tapb-profile-modal.is-open{
    display:flex;
}
.tapb-profile-modal__backdrop{
    position:absolute;
    inset:0;
    background:rgba(23,35,62,.45);
}
.tapb-profile-modal__dialog{
    position:relative;
    z-index:1;
    width:min(720px,calc(100vw - 48px));
    max-height:calc(100vh - 48px);
    margin:0 auto;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
    background:#fff;
    border:1px solid #d9e2f0;
    border-radius:24px;
    box-shadow:0 24px 56px rgba(15,23,42,.18);
    padding:28px 28px 32px;
    box-sizing:border-box;
}
.tapb-profile-modal button.tapb-profile-modal__close,
.tapb-confirm-modal button.tapb-confirm-modal__close{
    position:absolute;
    top:12px;
    right:20px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    min-width:0;
    max-width:none;
    height:auto;
    min-height:0;
    max-height:none;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:#111;
    font-size:28px;
    line-height:1;
    cursor:pointer;
    box-sizing:border-box;
    appearance:none;
    -webkit-appearance:none;
}
.tapb-profile-modal__title{
    margin:0 56px 24px 0;
    font-size:20px;
    line-height:1.4;
}
.tapb-profile-modal__body{
    width:100%;
}
.tapb-profile-modal label{
    display:block;
    margin:0 0 8px;
    font-size:15px;
    line-height:1.5;
    font-weight:700;
    color:#1d2636;
}
.tapb-profile-modal input[type="text"],
.tapb-profile-modal input[type="email"],
.tapb-profile-modal input[type="tel"],
.tapb-profile-modal input[type="number"],
.tapb-profile-modal input[type="password"],
.tapb-profile-modal select,
.tapb-profile-modal textarea{
    width:100%;
    min-height:48px;
    padding:0 14px;
    border:1px solid #c7d2e5;
    border-radius:12px;
    background:#fff;
    box-sizing:border-box;
    font-size:16px;
    line-height:1.4;
}
.tapb-profile-modal textarea{
    min-height:110px;
    padding:12px 14px;
    resize:vertical;
}
.tapb-profile-modal input[disabled],
.tapb-profile-modal select[disabled],
.tapb-profile-modal textarea[disabled]{
    background:#f5f7fb;
}
.tapb-profile-modal .button,
.tapb-profile-modal input[type="submit"],
.tapb-profile-modal button[type="submit"],
.tapb-profile-modal .wpcf7-submit{
    min-height:48px;
    padding:0 24px;
    border-radius:999px;
    box-sizing:border-box;
}
.tapb-shipping-modal .tapb-profile-modal__dialog{
    width:min(720px,calc(100vw - 48px));
}
.tapb-shipping-modal .tapb-shipping-address-form{
    margin:0;
}
.tapb-shipping-modal .tapb-shipping-address-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px 18px;
    align-items:start;
}
.tapb-shipping-modal .tapb-shipping-field{
    min-width:0;
}
.tapb-shipping-modal .tapb-shipping-field--postal,
.tapb-shipping-modal .tapb-shipping-field--wide{
    grid-column:1 / -1;
}
.tapb-shipping-modal .tapb-postal-lookup-row{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}
.tapb-shipping-modal .tapb-split-input{
    display:grid;
    align-items:center;
    gap:12px;
    min-width:0;
}
.tapb-shipping-modal .tapb-split-input span{
    display:flex;
    align-items:center;
    justify-content:center;
    color:#4b5563;
}
.tapb-shipping-modal .tapb-split-input--postal{
    grid-template-columns:96px auto 112px;
}
.tapb-shipping-modal .tapb-split-input--phone{
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);
}
.tapb-shipping-modal .tapb-split-input input{
    min-width:0;
    text-align:center;
}
.tapb-shipping-modal .tapb-split-input--phone input{
    padding-left:10px;
    padding-right:10px;
}
.tapb-shipping-modal .tapb-postal-lookup{
    min-width:160px;
    white-space:nowrap;
}
.tapb-shipping-modal .tapb-postal-lookup-status{
    margin:8px 0 0;
    font-size:14px;
    line-height:1.5;
}
.tapb-shipping-modal .tapb-shipping-actions{
    display:flex;
    justify-content:center;
    margin-top:28px;
}
.tapb-shipping-modal .tapb-shipping-actions .button{
    min-width:180px;
}
@media (max-width:767px){
    .tapb-profile-modal{
        align-items:flex-start;
        padding:16px;
    }
    .tapb-profile-modal__dialog{
        width:100%;
        max-height:calc(100vh - 32px);
        padding:24px 20px 24px;
        border-radius:20px;
    }
    .tapb-profile-modal__title{
        margin-right:48px;
        font-size:18px;
    }
    .tapb-shipping-modal .tapb-shipping-address-grid{
        grid-template-columns:1fr;
    }
    .tapb-shipping-modal .tapb-postal-lookup-row{
        align-items:stretch;
    }
    .tapb-shipping-modal .tapb-split-input--postal{
        grid-template-columns:minmax(0,1fr) auto minmax(0,1.2fr);
    }
    .tapb-shipping-modal .tapb-postal-lookup{
        width:100%;
    }
}


/* 1.38.4: 登録情報・配送先の青ボタン高さを統一 */
.tapb-portal-card--profile,
.tapb-profile-modal{
    --button-height:40px;
}
.tapb-profile-modal .button,
.tapb-profile-modal input[type="submit"],
.tapb-profile-modal button[type="submit"],
.tapb-profile-modal .wpcf7-submit{
    height:40px;
    min-height:40px;
    padding-top:0;
    padding-bottom:0;
}
.tapb-shipping-modal .tapb-postal-lookup,
.tapb-shipping-modal .tapb-shipping-actions .button{
    height:40px;
    min-height:40px;
}

/* 1.38.10: 登録情報・配送先モーダルの余白、入力幅、分割入力を統一 */
.tapb-profile-modal{
    align-items:flex-start;
    padding:28px 24px 24px;
}
.tapb-profile-modal__dialog,
.tapb-shipping-modal .tapb-profile-modal__dialog{
    width:min(720px,calc(100vw - 48px));
    max-height:calc(100vh - 52px);
    margin:0 auto;
    padding:28px 32px 28px;
}
.tapb-profile-modal__title,
.tapb-shipping-modal .tapb-profile-modal__title{
    margin:0 56px 22px 0;
    font-size:24px;
    line-height:1.35;
}

/* 登録情報モーダル内のMember Suiteカード余白を解除し、共通ダイアログ余白へ統一 */
.tapb-profile-modal:not(.tapb-shipping-modal) .tu-wpmem-profile-shell,
.tapb-profile-modal:not(.tapb-shipping-modal) .tu-wpmem-profile-stack,
.tapb-profile-modal:not(.tapb-shipping-modal) .tu-wpmem-profile{
    width:100%;
    max-width:none;
    margin:0;
}
.tapb-profile-modal:not(.tapb-shipping-modal) .tu-wpmem-profile-stack{
    display:block;
}
.tapb-profile-modal:not(.tapb-shipping-modal) .tu-wpmem-profile{
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}

/* 登録情報：実HTMLを基準に2列幅と国名幅を確定 */
.tapb-profile-modal:not(.tapb-shipping-modal) .tu-wpmem-profile-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:18px;
    row-gap:18px;
    width:100%;
}
.tapb-profile-modal:not(.tapb-shipping-modal) .tu-wpmem-profile-grid>.tu-wpmem-row,
.tapb-profile-modal:not(.tapb-shipping-modal) .tu-wpmem-area-select-item{
    width:100%;
    max-width:none;
    min-width:0;
}
.tapb-profile-modal:not(.tapb-shipping-modal) .tu-wpmem-row-area{
    grid-column:1 / -1;
}
.tapb-profile-modal:not(.tapb-shipping-modal) .tu-wpmem-area-selects{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:18px;
    row-gap:14px;
    width:100%;
}
.tapb-profile-modal:not(.tapb-shipping-modal) .tu-wpmem-area-select-country{
    grid-column:1;
    width:100%;
    max-width:none;
}
.tapb-profile-modal:not(.tapb-shipping-modal) .tu-wpmem-profile-grid input,
.tapb-profile-modal:not(.tapb-shipping-modal) .tu-wpmem-profile-grid select,
.tapb-profile-modal:not(.tapb-shipping-modal) .tu-wpmem-area-selects select{
    width:100%;
    max-width:none;
    min-width:0;
}

/* 配送先：縦横の間隔を同じリズムに統一 */
.tapb-shipping-modal .tapb-shipping-address-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:18px;
    row-gap:16px;
    align-items:start;
}
.tapb-shipping-modal .tapb-shipping-field{
    display:flex;
    flex-direction:column;
    min-width:0;
    gap:0;
}
.tapb-shipping-modal .tapb-shipping-field--postal,
.tapb-shipping-modal .tapb-shipping-field--wide,
.tapb-shipping-modal .tapb-shipping-field--recipient,
.tapb-shipping-modal .tapb-shipping-field--phone{
    grid-column:1 / -1;
}
.tapb-shipping-modal .tapb-shipping-field>label,
.tapb-shipping-modal .tapb-shipping-field>.tapb-shipping-field__label{
    display:block;
    min-height:0;
    margin:0 0 6px;
    font-size:15px;
    font-weight:700;
    line-height:1.45;
    color:#1d2636;
}
.tapb-shipping-modal .tapb-recipient-name-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    width:100%;
    max-width:none;
}
.tapb-shipping-modal .tapb-recipient-name-row label{
    display:block;
    min-width:0;
    margin:0;
    line-height:1;
}
.tapb-shipping-modal .tapb-recipient-name-row input{
    width:100%;
    max-width:none;
    text-align:left;
    font-weight:400;
}

/* 郵便番号と電話番号は同じ 3桁・4桁・4桁幅を使用 */
.tapb-shipping-modal{
    --tapb-digit-3-width:88px;
    --tapb-digit-4-width:104px;
    --tapb-digit-separator-gap:8px;
}
.tapb-shipping-modal .tapb-postal-lookup-row{
    display:flex;
    align-items:center;
    flex-wrap:nowrap;
    gap:24px;
}
.tapb-shipping-modal .tapb-split-input--postal{
    display:grid;
    grid-template-columns:var(--tapb-digit-3-width) auto var(--tapb-digit-4-width);
    align-items:center;
    gap:var(--tapb-digit-separator-gap);
    flex:0 0 auto;
    width:auto;
}
.tapb-shipping-modal .tapb-postal-lookup{
    flex:0 0 auto;
    min-width:112px;
    width:auto;
    margin:0;
}
.tapb-shipping-modal .tapb-split-input--phone{
    display:grid;
    grid-template-columns:
        var(--tapb-digit-3-width)
        auto
        var(--tapb-digit-4-width)
        auto
        var(--tapb-digit-4-width);
    align-items:center;
    gap:var(--tapb-digit-separator-gap);
    width:max-content;
    max-width:100%;
}
.tapb-shipping-modal .tapb-split-input--postal input,
.tapb-shipping-modal .tapb-split-input--phone input{
    width:100%;
    min-width:0;
    max-width:none;
    text-align:center;
    padding-right:8px;
    padding-left:8px;
}
.tapb-shipping-modal .tapb-postal-lookup-status{
    margin:6px 0 0;
}
.tapb-profile-modal:not(.tapb-shipping-modal) .tu-wpmem-actions,
.tapb-shipping-modal .tapb-shipping-actions{
    display:flex;
    justify-content:center;
    margin:24px 0 0;
    padding:0;
}

@media (max-width:767px){
    .tapb-profile-modal{
        padding:16px 10px 12px;
    }
    .tapb-profile-modal__dialog,
    .tapb-shipping-modal .tapb-profile-modal__dialog{
        width:100%;
        max-height:calc(100vh - 28px);
        padding:24px 20px 24px;
    }
    .tapb-profile-modal__title,
    .tapb-shipping-modal .tapb-profile-modal__title{
        margin-bottom:20px;
        font-size:22px;
    }
    .tapb-profile-modal:not(.tapb-shipping-modal) .tu-wpmem-profile-grid,
    .tapb-profile-modal:not(.tapb-shipping-modal) .tu-wpmem-area-selects{
        grid-template-columns:repeat(2,minmax(0,1fr));
        column-gap:12px;
    }
    .tapb-profile-modal:not(.tapb-shipping-modal) .tu-wpmem-area-select-country{
        grid-column:1;
        width:100%;
    }
    .tapb-shipping-modal .tapb-shipping-address-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        column-gap:12px;
        row-gap:15px;
    }
    .tapb-shipping-modal .tapb-recipient-name-row{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:12px;
        width:100%;
    }
    .tapb-shipping-modal{
        --tapb-digit-3-width:72px;
        --tapb-digit-4-width:88px;
        --tapb-digit-separator-gap:7px;
    }
    .tapb-shipping-modal .tapb-postal-lookup-row{
        flex-direction:row;
        align-items:center;
        flex-wrap:nowrap;
        gap:20px;
    }
    .tapb-shipping-modal .tapb-postal-lookup{
        min-width:112px;
    }
    .tapb-shipping-summary__details>div{
        grid-template-columns:112px minmax(0,1fr);
        gap:14px;
    }
    .tapb-profile-modal:not(.tapb-shipping-modal) .tu-wpmem-actions,
    .tapb-shipping-modal .tapb-shipping-actions{
        margin-top:22px;
    }
}
@media (max-width:420px){
    .tapb-profile-modal__dialog,
    .tapb-shipping-modal .tapb-profile-modal__dialog{
        padding-right:16px;
        padding-left:16px;
    }
    .tapb-shipping-modal{
        --tapb-digit-3-width:64px;
        --tapb-digit-4-width:78px;
        --tapb-digit-separator-gap:6px;
    }
    .tapb-shipping-modal .tapb-postal-lookup-row{
        gap:18px;
    }
    .tapb-shipping-modal .tapb-postal-lookup{
        min-width:104px;
        padding-right:14px;
        padding-left:14px;
    }
}

/* 1.41.2: 契約一覧の操作ボタンは管理画面設定に依存せず、確定済みデザインを使用 */
.button.tapb-portal-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: min(100%, var(--button-width, 260px));
    max-width: 100%;
    height: var(--button-height, 46px);
    min-height: var(--button-height, 46px);
    margin: 0;
    padding: 6px 12px;
    border: var(--button-border-width, 1px) solid transparent;
    border-radius: 40px;
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    box-shadow: none;
    cursor: pointer;
    filter: none;
    box-sizing: border-box;
    white-space: nowrap;
}

.button.tapb-portal-button.tapb-disconnect-button,
.button.tapb-portal-button.tapb-disconnect-button:hover,
.button.tapb-portal-button.tapb-disconnect-button:focus {
    border-color: #646970;
    background: #646970;
    color: #ffffff;
}

.button.tapb-portal-button.tapb-qr-button,
.button.tapb-portal-button.tapb-qr-button:hover,
.button.tapb-portal-button.tapb-qr-button:focus {
    border-color: #2271b1;
    background: #2271b1;
    color: #ffffff;
}

.button.tapb-portal-button.tapb-cancel-button,
.button.tapb-portal-button.tapb-cancel-button:hover,
.button.tapb-portal-button.tapb-cancel-button:focus {
    border-color: #d63638;
    background: #d63638;
    color: #ffffff;
}

.button.tapb-portal-button:hover,
.button.tapb-portal-button:focus {
    color: #ffffff;
    text-decoration: none;
    filter: brightness(.95);
}



/* 1.42.1: 管理者用カード表示確認モードを登録情報見出しの右端へ配置 */
.tapb-registration-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 12px;
}

.tapb-registration-heading .tapb-section-title {
    margin: 0;
}

.tapb-admin-card-preview {
    flex: 0 0 auto;
    margin-left: auto;
}

.tapb-admin-card-preview form {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin: 0;
}

.tapb-admin-card-preview select,
.tapb-admin-card-preview .button {
    margin: 0;
}

.tapb-admin-card-preview select {
    min-width: 210px;
}

.tapb-admin-card-preview .button {
    white-space: nowrap;
}

.tapb-admin-preview-notice {
    margin: 0 0 18px;
    padding: 12px 14px;
    border: 1px solid #dba617;
    border-radius: 4px;
    background: #fff8e5;
    color: #3c434a;
}

@media (max-width: 680px) {
    .tapb-registration-heading {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .tapb-admin-card-preview {
        max-width: 100%;
    }

    .tapb-admin-card-preview form {
        flex-wrap: wrap;
    }

    .tapb-admin-card-preview select {
        min-width: 0;
        max-width: 100%;
    }
}

/* 1.44.1: 契約一覧・申込み履歴のレスポンシブ配置を調整 */
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main{
    display:grid!important;
    grid-template-columns:minmax(190px,1.15fr) minmax(150px,.65fr) minmax(190px,.9fr) minmax(160px,.75fr)!important;
    gap:8px 18px!important;
    align-items:center!important;
    min-width:0!important;
}
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-main{
    display:grid!important;
    grid-template-columns:minmax(190px,1.15fr) minmax(150px,.65fr) minmax(190px,.9fr) minmax(150px,.75fr)!important;
    gap:8px 18px!important;
    align-items:center!important;
    min-width:0!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-product,
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-product{
    grid-column:1!important;
    grid-row:1!important;
    min-width:0!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-school-name,
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-school-name{
    margin:0 0 2px!important;
    color:#646970!important;
    font-size:12px!important;
    font-weight:400!important;
    line-height:1.35!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-product h4,
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-product h4{
    margin:0!important;
    color:inherit!important;
    font-size:inherit!important;
    font-weight:700!important;
    line-height:1.45!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    min-width:0!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta,
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta{
    display:contents!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-statuses,
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-statuses{
    grid-column:2!important;
    grid-row:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    min-width:0!important;
    margin:0!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-statuses .tapb-portal-meta__item,
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-statuses .tapb-portal-meta__item{
    display:block!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    white-space:nowrap!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry,
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--inquiry{
    grid-column:3!important;
    grid-row:1!important;
}
.tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection,
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--application-date{
    grid-column:4!important;
    grid-row:1!important;
}

/* 中幅: 契約情報を左側、操作ボタンを右側に配置する */
@container tapb-contract-list (max-width:980px){
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list{
        grid-template-columns:minmax(0,1fr) 160px!important;
        gap:12px 18px!important;
        align-items:center!important;
    }
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main{
        display:grid!important;
        grid-template-columns:minmax(0,.95fr) minmax(190px,1.05fr)!important;
        gap:10px 18px!important;
        width:100%!important;
        min-width:0!important;
    }
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-product{
        grid-column:1!important;
        grid-row:1!important;
    }
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-statuses{
        grid-column:1!important;
        grid-row:2!important;
    }
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry{
        grid-column:2!important;
        grid-row:1!important;
        align-self:end!important;
    }
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection{
        grid-column:2!important;
        grid-row:2!important;
    }
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-actions--contract-list{
        grid-column:2!important;
        grid-row:1!important;
        align-self:center!important;
        justify-self:end!important;
        width:160px!important;
        min-width:0!important;
    }
}
@container tapb-history-list (max-width:820px){
    .tapb-purchase-list--simple .tapb-portal-row--simple-list{
        display:block!important;
    }
    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-main{
        display:grid!important;
        grid-template-columns:minmax(0,.95fr) minmax(190px,1.05fr)!important;
        gap:10px 18px!important;
        width:100%!important;
        min-width:0!important;
    }
    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-product{
        grid-column:1!important;
        grid-row:1!important;
    }
    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-statuses{
        grid-column:1!important;
        grid-row:2!important;
    }
    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--inquiry{
        grid-column:2!important;
        grid-row:1!important;
    }
    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--application-date{
        grid-column:2!important;
        grid-row:2!important;
    }
}

/* 狭幅: 1列化しても契約状態・視聴状態は同じ行を維持する */
@container tapb-contract-list (max-width:620px){
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list{
        grid-template-columns:minmax(0,1fr) clamp(108px,28vw,124px)!important;
        gap:10px 12px!important;
        align-items:center!important;
    }
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main{
        grid-column:1!important;
        grid-row:1!important;
        grid-template-columns:minmax(0,1fr)!important;
        gap:7px!important;
    }
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-product{
        grid-column:1!important;
        grid-row:1!important;
    }
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-statuses{
        grid-column:1!important;
        grid-row:2!important;
    }
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry{
        grid-column:1!important;
        grid-row:3!important;
        align-self:auto!important;
    }
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection{
        grid-column:1!important;
        grid-row:4!important;
    }
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry,
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection{
        display:flex!important;
        flex-wrap:wrap!important;
        column-gap:4px!important;
        row-gap:2px!important;
    }
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry code,
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection span[data-tapb-connection-label]{
        white-space:normal!important;
        overflow-wrap:anywhere!important;
        word-break:normal!important;
    }
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-actions--contract-list{
        grid-column:2!important;
        grid-row:1!important;
        align-self:center!important;
        justify-self:end!important;
        width:100%!important;
        min-width:0!important;
    }
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-product h4,
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-school-name{
        white-space:normal!important;
        overflow:visible!important;
        text-overflow:clip!important;
    }
}
@container tapb-history-list (max-width:620px){
    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-main{
        grid-template-columns:minmax(0,1fr)!important;
        gap:7px!important;
    }
    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-product{
        grid-column:1!important;
        grid-row:1!important;
    }
    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-statuses{
        grid-column:1!important;
        grid-row:2!important;
    }
    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--inquiry{
        grid-column:1!important;
        grid-row:3!important;
    }
    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--application-date{
        grid-column:1!important;
        grid-row:4!important;
    }
    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-product h4,
    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-school-name{
        white-space:normal!important;
        overflow:visible!important;
        text-overflow:clip!important;
    }
}

/* container query 非対応ブラウザ向け */
@supports not (container-type:inline-size){
    @media (max-width:1260px){
        .tapb-purchase-list--contracts .tapb-portal-row--contract-list{
            grid-template-columns:minmax(0,1fr) 160px!important;
            gap:12px 18px!important;
            align-items:center!important;
        }
        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main{
            grid-template-columns:minmax(0,.95fr) minmax(190px,1.05fr)!important;
        }
        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-product{grid-column:1!important;grid-row:1!important}
        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-statuses{grid-column:1!important;grid-row:2!important}
        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry{grid-column:2!important;grid-row:1!important}
        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection{grid-column:2!important;grid-row:2!important}
        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-actions--contract-list{
            grid-column:2!important;
            grid-row:1!important;
            align-self:center!important;
            justify-self:end!important;
            width:160px!important;
            min-width:0!important;
        }
    }
    @media (max-width:900px){
        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-main{
            grid-template-columns:minmax(0,.95fr) minmax(190px,1.05fr)!important;
        }
        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-product{grid-column:1!important;grid-row:1!important}
        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-statuses{grid-column:1!important;grid-row:2!important}
        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--inquiry{grid-column:2!important;grid-row:1!important}
        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--application-date{grid-column:2!important;grid-row:2!important}
    }
    @media (max-width:620px){
        .tapb-purchase-list--contracts .tapb-portal-row--contract-list{
            grid-template-columns:minmax(0,1fr) clamp(108px,28vw,124px)!important;
            gap:10px 12px!important;
            align-items:center!important;
        }
        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main,
        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-main{
            grid-template-columns:minmax(0,1fr)!important;
        }
        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-product,
        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-product{grid-column:1!important;grid-row:1!important}
        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-statuses,
        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-statuses{grid-column:1!important;grid-row:2!important}
        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry,
        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--inquiry{grid-column:1!important;grid-row:3!important}
        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection,
        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--application-date{grid-column:1!important;grid-row:4!important}
        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry,
        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection{
            display:flex!important;
            flex-wrap:wrap!important;
            column-gap:4px!important;
            row-gap:2px!important;
        }
        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry code,
        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection span[data-tapb-connection-label]{
            white-space:normal!important;
            overflow-wrap:anywhere!important;
            word-break:normal!important;
        }
        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-actions--contract-list{
            grid-column:2!important;
            grid-row:1!important;
            align-self:center!important;
            justify-self:end!important;
            width:100%!important;
            min-width:0!important;
        }
    }
}

/* 1.44.2: 狭幅時は契約情報を左列、操作ボタンを右列へ完全分離 */
@container tapb-contract-list (max-width: 700px) {
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(108px, 34%) !important;
        gap: 12px !important;
        align-items: start !important;
    }

    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main {
        grid-column: 1 !important;
        grid-row: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 7px !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-product {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 6px !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-statuses {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry,
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: baseline !important;
        column-gap: 4px !important;
        row-gap: 2px !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        white-space: normal !important;
    }

    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry code,
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection span[data-tapb-connection-label] {
        min-width: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-actions--contract-list {
        grid-column: 2 !important;
        grid-row: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        align-self: end !important;
        justify-self: stretch !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-actions--contract-list .tapb-disconnect-form,
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-actions--contract-list [data-tapb-qr-action],
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-actions--contract-list .tapb-cancel-subscription-form {
        display: block !important;
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-actions--contract-list [hidden] {
        display: none !important;
    }

    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-actions--contract-list .tapb-portal-button {
        display: inline-flex !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding-inline: 10px !important;
        box-sizing: border-box !important;
    }
}

@supports not (container-type: inline-size) {
    @media (max-width: 700px) {
        .tapb-purchase-list--contracts .tapb-portal-row--contract-list {
            display: grid !important;
            grid-template-columns: minmax(0, 1fr) minmax(108px, 34%) !important;
            gap: 12px !important;
            align-items: start !important;
        }

        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main {
            grid-column: 1 !important;
            grid-row: 1 !important;
            display: flex !important;
            flex-direction: column !important;
            align-items: stretch !important;
            gap: 7px !important;
            width: 100% !important;
            min-width: 0 !important;
            margin: 0 !important;
        }

        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-product {
            display: block !important;
            width: 100% !important;
            min-width: 0 !important;
            margin: 0 !important;
        }

        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta {
            display: flex !important;
            flex-direction: column !important;
            align-items: flex-start !important;
            gap: 6px !important;
            width: 100% !important;
            min-width: 0 !important;
            margin: 0 !important;
        }

        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-statuses {
            display: flex !important;
            flex-direction: row !important;
            align-items: center !important;
            flex-wrap: nowrap !important;
            gap: 8px !important;
            width: auto !important;
            min-width: 0 !important;
            margin: 0 !important;
        }

        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry,
        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection {
            display: flex !important;
            flex-wrap: wrap !important;
            align-items: baseline !important;
            column-gap: 4px !important;
            row-gap: 2px !important;
            width: 100% !important;
            min-width: 0 !important;
            margin: 0 !important;
            white-space: normal !important;
        }

        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry code,
        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection span[data-tapb-connection-label] {
            min-width: 0 !important;
            white-space: normal !important;
            overflow-wrap: anywhere !important;
            word-break: normal !important;
        }

        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-actions--contract-list {
            grid-column: 2 !important;
            grid-row: 1 !important;
            display: flex !important;
            flex-direction: column !important;
            align-items: stretch !important;
            justify-content: flex-end !important;
            gap: 8px !important;
            align-self: end !important;
            justify-self: stretch !important;
            width: 100% !important;
            min-width: 0 !important;
            max-width: none !important;
            margin: 0 !important;
        }

        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-actions--contract-list .tapb-disconnect-form,
        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-actions--contract-list [data-tapb-qr-action],
        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-actions--contract-list .tapb-cancel-subscription-form {
            display: block !important;
            grid-column: auto !important;
            grid-row: auto !important;
            width: 100% !important;
            min-width: 0 !important;
            max-width: none !important;
            margin: 0 !important;
        }

        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-actions--contract-list [hidden] {
            display: none !important;
        }

        .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-actions--contract-list .tapb-portal-button {
            display: inline-flex !important;
            width: 100% !important;
            min-width: 0 !important;
            max-width: 100% !important;
            margin: 0 !important;
            padding-inline: 10px !important;
            box-sizing: border-box !important;
        }
    }
}



/* ビューポート基準の補完: サイドバー等でコンテナ幅判定がずれる環境でも同じ配置にする */
@media (max-width: 700px) {
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(108px, 34%) !important;
        gap: 12px !important;
        align-items: start !important;
    }

    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-main {
        grid-column: 1 !important;
        grid-row: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 7px !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-product {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 6px !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-statuses {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry,
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: baseline !important;
        column-gap: 4px !important;
        row-gap: 2px !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        white-space: normal !important;
    }

    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--inquiry code,
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-meta__item--connection span[data-tapb-connection-label] {
        min-width: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-actions--contract-list {
        grid-column: 2 !important;
        grid-row: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        align-self: end !important;
        justify-self: stretch !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-actions--contract-list .tapb-disconnect-form,
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-actions--contract-list [data-tapb-qr-action],
    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-actions--contract-list .tapb-cancel-subscription-form {
        display: block !important;
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-actions--contract-list [hidden] {
        display: none !important;
    }

    .tapb-purchase-list--contracts .tapb-portal-row--contract-list .tapb-portal-actions--contract-list .tapb-portal-button {
        display: inline-flex !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding-inline: 10px !important;
        box-sizing: border-box !important;
    }
}

/* 1.46.0: ダッシュボードの請求予想を簡潔なリスト表示へ変更 */
.tapb-billing-forecast {
    margin: 0 0 24px;
}

.tapb-billing-forecast__heading {
    display: grid;
    gap: 5px;
    margin: 0 0 14px;
}

.tapb-billing-forecast__heading h4,
.tapb-billing-history-title {
    margin: 0;
    font-size: 18px;
    line-height: 1.5;
}

.tapb-billing-forecast__heading p {
    margin: 0;
}

.tapb-billing-forecast__anchor {
    color: #1d2327;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
}

.tapb-billing-forecast__note {
    color: #50575e;
    font-size: 13px;
    line-height: 1.7;
}

.tapb-billing-forecast__list {
    display: grid;
    gap: 10px;
}

.tapb-billing-forecast-card {
    padding: 0 !important;
    overflow: hidden;
}

.tapb-billing-forecast-card > summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    padding: 16px 18px;
    cursor: pointer;
    list-style: none;
}

.tapb-billing-forecast-card > summary::-webkit-details-marker {
    display: none;
}

.tapb-billing-forecast-card > summary:hover,
.tapb-billing-forecast-card > summary:focus-visible {
    background: #f6f7f7;
}

.tapb-billing-forecast-card[open] > summary {
    border-bottom: 1px solid #dcdcde;
}

.tapb-billing-forecast-card__main {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 5px 18px;
    min-width: 0;
}

.tapb-billing-forecast-card__date {
    color: #50575e;
    font-size: 13px;
    white-space: nowrap;
}

.tapb-billing-forecast-card__amount {
    color: #1d2327;
    font-size: 22px;
    line-height: 1.35;
    white-space: nowrap;
}

.tapb-billing-forecast-card__toggle {
    display: inline-flex;
    align-items: center;
    color: #1f76b5;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
}

.tapb-billing-forecast-card__toggle::after {
    content: "＋";
    margin-left: 7px;
}

.tapb-billing-forecast-card[open] .tapb-billing-forecast-card__toggle::after {
    content: "−";
}

.tapb-billing-forecast-card__body {
    padding: 14px 18px 18px;
}

.tapb-billing-forecast-card__period {
    margin: 0 0 10px;
    color: #50575e;
    font-size: 12px;
    line-height: 1.6;
}

.tapb-billing-forecast-items {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.tapb-billing-forecast-item {
    display: grid;
    grid-template-columns: minmax(150px, 1.15fr) minmax(170px, 1fr) minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px 14px;
    min-width: 0;
    padding: 4px 0;
}

.tapb-billing-forecast-item__title {
    min-width: 0;
    overflow-wrap: anywhere;
}

.tapb-billing-forecast-item__period,
.tapb-billing-forecast-item__notes {
    color: #50575e;
    font-size: 12px;
    line-height: 1.5;
}

.tapb-billing-forecast-item__amount {
    font-weight: 700;
    white-space: nowrap;
}

.tapb-billing-history-title {
    margin-top: 24px;
    margin-bottom: 8px;
}

.tapb-billing-forecast__empty p,
.tapb-billing-forecast-card__no-items {
    margin: 0;
}

@media (max-width: 900px) {
    .tapb-billing-forecast-item {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .tapb-billing-forecast-item__title {
        grid-column: 1;
        grid-row: 1;
    }

    .tapb-billing-forecast-item__amount {
        grid-column: 2;
        grid-row: 1;
    }

    .tapb-billing-forecast-item__period,
    .tapb-billing-forecast-item__notes {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .tapb-billing-forecast-card > summary {
        align-items: start;
        gap: 12px;
        padding: 15px 16px;
    }

    .tapb-billing-forecast-card__main {
        display: grid;
        gap: 3px;
    }

    .tapb-billing-forecast-card__body {
        padding: 13px 16px 16px;
    }

    .tapb-billing-forecast-card__toggle {
        padding-top: 2px;
    }
}

/* 1.45.0: お申込み履歴の使用クーポン表示 */
.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--coupon {
    grid-column: 3 / span 2 !important;
    grid-row: 2 !important;
    display: flex !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
    gap: 2px 4px !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

@container tapb-history-list (max-width: 820px) {
    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--coupon {
        grid-column: 2 !important;
        grid-row: 3 !important;
    }
}

@container tapb-history-list (max-width: 620px) {
    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--coupon {
        grid-column: 1 !important;
        grid-row: 5 !important;
    }
}

@supports not (container-type: inline-size) {
    @media (max-width: 900px) {
        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--coupon {
            grid-column: 2 !important;
            grid-row: 3 !important;
        }
    }

    @media (max-width: 620px) {
        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--coupon {
            grid-column: 1 !important;
            grid-row: 5 !important;
        }
    }
}

/* 1.47.0: 請求予想の注記オーバーレイ、詳細表示位置、内訳左端、登録情報ボタン幅を調整 */
html.tapb-billing-help-open,
body.tapb-billing-help-open {
    overflow: hidden;
}

.tapb-billing-forecast__title-row,
.tapb-billing-forecast__anchor-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.tapb-billing-forecast__title-row > h4,
.tapb-billing-forecast__anchor-row > p {
    margin: 0 !important;
}

.tapb-billing-help {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
}

button.tapb-billing-help__trigger {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #8c8f94 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #50575e !important;
    box-shadow: none !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

button.tapb-billing-help__trigger:hover,
button.tapb-billing-help__trigger:focus-visible,
.tapb-billing-help.is-open button.tapb-billing-help__trigger {
    border-color: #1f76b5 !important;
    background: #f0f6fc !important;
    color: #1f76b5 !important;
    outline: none;
}

button.tapb-billing-help__trigger:focus-visible {
    box-shadow: 0 0 0 3px rgba(31, 118, 181, .18) !important;
}

.tapb-billing-help__backdrop {
    position: fixed;
    inset: 0;
    z-index: 2147483600;
    background: rgba(15, 23, 42, .28);
}

.tapb-billing-help__panel {
    position: fixed;
    top: 50%;
    right: auto;
    left: 50%;
    z-index: 2147483601;
    display: block;
    width: min(420px, calc(100vw - 32px));
    max-height: calc(100vh - 48px);
    max-height: calc(100dvh - 48px);
    overflow: auto;
    padding: 18px 42px 18px 18px;
    transform: translate(-50%, -50%);
    -webkit-overflow-scrolling: touch;
    border: 1px solid #c3c4c7;
    border-radius: 14px;
    background: #fff;
    color: #1d2327;
    box-shadow: 0 18px 46px rgba(15, 23, 42, .22);
    box-sizing: border-box;
    font-size: 14px;
    line-height: 1.75;
}

.tapb-billing-help__panel[hidden],
.tapb-billing-help__backdrop[hidden] {
    display: none !important;
}

.tapb-billing-help__text {
    display: block;
}

button.tapb-billing-help__close {
    position: absolute !important;
    top: 8px !important;
    right: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #50575e !important;
    box-shadow: none !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

button.tapb-billing-help__close:hover,
button.tapb-billing-help__close:focus-visible {
    background: #f0f0f1 !important;
    color: #1d2327 !important;
    outline: none;
}

.tapb-billing-forecast-card__toggle {
    width: 68px;
    min-width: 68px;
    justify-content: space-between;
}

.tapb-billing-forecast-card__toggle::after {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.2em;
    margin-left: 7px;
    text-align: center;
}

.entry-content .tapb-billing-forecast-items,
.tapb-portal-card .tapb-billing-forecast-items {
    margin: 0 !important;
    padding: 0 !important;
    padding-inline-start: 0 !important;
}

@media (max-width: 640px) {
    .tapb-billing-help__panel {
        position: fixed;
        top: 50%;
        right: 16px;
        left: 16px;
        width: auto;
        max-height: calc(100vh - 48px);
        max-height: calc(100dvh - 48px);
        overflow: auto;
        transform: translateY(-50%);
        -webkit-overflow-scrolling: touch;
    }
}

@media (max-width: 520px) {
    .tapb-portal-card--profile .tapb-profile-edit-open,
    .tapb-portal-card--profile .tapb-card-update-form button,
    .tapb-portal-card--profile .tapb-card-update-form input[type="button"],
    .tapb-portal-card--profile .tapb-card-update-form input[type="submit"] {
        width: 132px !important;
        min-width: 132px !important;
        max-width: 132px !important;
    }
}

/* 1.47.2: スマホのチャンネル操作ボタンを文字量に応じた幅へ修正 */
@container tapb-channel-card (max-width: 520px) {
    .tapb-channel-summary__actions {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 18px !important;
        width: 100% !important;
    }

    .tapb-channel-apply-action,
    .tapb-product-card--button-only,
    .tapb-product-card--button-only .tapb-saved-customer-form,
    .tapb-product-card--button-only .tapb-payjp-form {
        display: inline-flex !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    .tapb-channel-detail-toggle,
    .tapb-product-card--button-only .tapb-open-confirm,
    .tapb-product-card--button-only .tapb-payjp-form > .tapb-open-confirm,
    .tapb-product-card--button-only .tapb-payjp-form > input[type="button"],
    .tapb-product-card--button-only .tapb-payjp-form > input[type="submit"] {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: var(--button-height, 46px) !important;
        min-height: var(--button-height, 46px) !important;
        max-height: var(--button-height, 46px) !important;
        padding-right: var(--button-padding-x, 24px) !important;
        padding-left: var(--button-padding-x, 24px) !important;
        box-sizing: border-box !important;
        flex: 0 0 auto !important;
    }
}

@supports not (container-type: inline-size) {
    @media (max-width: 460px) {
        .tapb-channel-summary__actions {
            display: flex !important;
            flex-direction: row !important;
            flex-wrap: wrap !important;
            align-items: center !important;
            justify-content: center !important;
            gap: 18px !important;
            width: 100% !important;
        }

        .tapb-channel-apply-action,
        .tapb-product-card--button-only,
        .tapb-product-card--button-only .tapb-saved-customer-form,
        .tapb-product-card--button-only .tapb-payjp-form {
            display: inline-flex !important;
            width: auto !important;
            min-width: 0 !important;
            max-width: none !important;
        }

        .tapb-channel-detail-toggle,
        .tapb-product-card--button-only .tapb-open-confirm,
        .tapb-product-card--button-only .tapb-payjp-form > .tapb-open-confirm,
        .tapb-product-card--button-only .tapb-payjp-form > input[type="button"],
        .tapb-product-card--button-only .tapb-payjp-form > input[type="submit"] {
            width: auto !important;
            min-width: 0 !important;
            max-width: none !important;
            height: var(--button-height, 46px) !important;
            min-height: var(--button-height, 46px) !important;
            max-height: var(--button-height, 46px) !important;
            padding-right: var(--button-padding-x, 24px) !important;
            padding-left: var(--button-padding-x, 24px) !important;
            box-sizing: border-box !important;
            flex: 0 0 auto !important;
        }
    }
}

/* 1.49.2: 請求履歴の空表示とお申込み履歴のレイアウトを調整 */
.tapb-invoice-empty {
    display: flex !important;
    align-items: center !important;
    min-height: 62px;
    margin: 16px 0 0 !important;
    padding: 16px 18px !important;
    box-sizing: border-box;
}

.tapb-invoice-empty > p {
    margin: 0 !important;
}

.tapb-purchase-list--simple {
    gap: 0 !important;
}

.tapb-purchase-list--simple .tapb-portal-row--simple-list {
    display: block !important;
    padding: 20px 0 !important;
    font-size: 15px;
}

.tapb-purchase-list--simple .tapb-portal-row--simple-list:first-child {
    padding-top: 8px !important;
}

.tapb-purchase-list--simple .tapb-portal-row--simple-list + .tapb-portal-row--simple-list {
    border-top: 1px solid #dcdcde;
}

.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-main {
    display: grid !important;
    grid-template-columns:
        minmax(250px, 1.35fr)
        auto
        minmax(180px, .82fr)
        minmax(150px, .68fr)
        minmax(150px, .72fr) !important;
    gap: 10px 24px !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
}

.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta {
    display: contents !important;
}

.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-product {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
}

.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-product h4 {
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-school-name {
    margin: 0 0 3px !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-statuses {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    min-width: 0 !important;
    margin: 0 !important;
}

.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 3px !important;
    align-items: start !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: #1d2327;
    font-size: 14px !important;
    line-height: 1.55 !important;
    white-space: normal !important;
    overflow: visible !important;
}

.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-statuses .tapb-portal-meta__item {
    display: block !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item > strong {
    display: block !important;
    color: #646970;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
}

.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__value {
    display: inline-block !important;
    min-width: 0 !important;
    color: #1d2327;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--inquiry {
    grid-column: 3 !important;
    grid-row: 1 !important;
}

.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--application-date {
    grid-column: 4 !important;
    grid-row: 1 !important;
}

.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--coupon {
    grid-column: 5 !important;
    grid-row: 1 !important;
}

.tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--coupon .tapb-portal-meta__value {
    width: fit-content;
    max-width: 100%;
    padding: 2px 9px;
    border-radius: 999px;
    background: #f0f0f1;
}

@container tapb-history-list (max-width: 1100px) {
    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-main {
        grid-template-columns: minmax(0, 1fr) minmax(230px, .88fr) !important;
        gap: 10px 24px !important;
        align-items: start !important;
    }

    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-product {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-statuses {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--inquiry {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--application-date {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }

    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--coupon {
        grid-column: 2 !important;
        grid-row: 3 !important;
    }
}

@container tapb-history-list (max-width: 640px) {
    .tapb-purchase-list--simple .tapb-portal-row--simple-list {
        padding: 20px 0 !important;
        font-size: 15px !important;
    }

    .tapb-purchase-list--simple .tapb-portal-row--simple-list:first-child {
        padding-top: 8px !important;
    }

    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-main {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 11px !important;
    }

    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-product {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-statuses {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item {
        grid-template-columns: 108px minmax(0, 1fr) !important;
        gap: 8px !important;
        align-items: baseline !important;
        font-size: 15px !important;
    }

    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item > strong {
        font-size: 14px !important;
        line-height: 1.55 !important;
    }

    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__value {
        font-size: 15px !important;
    }

    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--inquiry {
        grid-column: 1 !important;
        grid-row: 3 !important;
    }

    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--application-date {
        grid-column: 1 !important;
        grid-row: 4 !important;
    }

    .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--coupon {
        grid-column: 1 !important;
        grid-row: 5 !important;
    }
}

@supports not (container-type: inline-size) {
    @media (max-width: 1180px) {
        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-main {
            grid-template-columns: minmax(0, 1fr) minmax(230px, .88fr) !important;
            gap: 10px 24px !important;
            align-items: start !important;
        }

        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-product {
            grid-column: 1 !important;
            grid-row: 1 !important;
        }

        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-statuses {
            grid-column: 1 !important;
            grid-row: 2 !important;
        }

        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--inquiry {
            grid-column: 2 !important;
            grid-row: 1 !important;
        }

        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--application-date {
            grid-column: 2 !important;
            grid-row: 2 !important;
        }

        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--coupon {
            grid-column: 2 !important;
            grid-row: 3 !important;
        }
    }

    @media (max-width: 640px) {
        .tapb-invoice-empty {
            min-height: 84px;
            padding: 15px 16px !important;
        }

        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-main {
            grid-template-columns: minmax(0, 1fr) !important;
            gap: 11px !important;
        }

        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-product {
            grid-column: 1 !important;
            grid-row: 1 !important;
        }

        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-statuses {
            grid-column: 1 !important;
            grid-row: 2 !important;
        }

        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item {
            grid-template-columns: 108px minmax(0, 1fr) !important;
            gap: 8px !important;
            align-items: baseline !important;
            font-size: 15px !important;
        }

        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item > strong {
            font-size: 14px !important;
            line-height: 1.55 !important;
        }

        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__value {
            font-size: 15px !important;
        }

        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--inquiry {
            grid-column: 1 !important;
            grid-row: 3 !important;
        }

        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--application-date {
            grid-column: 1 !important;
            grid-row: 4 !important;
        }

        .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--coupon {
            grid-column: 1 !important;
            grid-row: 5 !important;
        }
    }
}

@media (max-width: 640px) {
    .tapb-invoice-empty {
        min-height: 84px;
        padding: 15px 16px !important;
    }
}

/* 1.49.4: 申込み履歴を契約一覧と同じ行構造へ統一し、請求内訳を固定列テーブル化 */
.tapb-portal-card--billing .tapb-invoice-empty {
    display: grid !important;
    place-items: center start !important;
    width: 100% !important;
    height: 64px !important;
    min-height: 64px !important;
    margin: 16px 0 0 !important;
    padding: 0 18px !important;
    box-sizing: border-box !important;
}

.tapb-portal-card--billing .tapb-invoice-empty > p {
    margin: 0 !important;
    line-height: 1.5 !important;
}

/* 請求予想の内訳は、行ごとに同じ列位置を共有するHTMLテーブルとして表示する。 */
.tapb-billing-forecast-table-wrap {
    width: 100%;
    min-width: 0;
    overflow-x: auto;
}

.tapb-billing-forecast-table {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    table-layout: fixed !important;
    background: transparent !important;
}

.tapb-billing-forecast-table__col-title {
    width: 35%;
}

.tapb-billing-forecast-table__col-period {
    width: 27%;
}

.tapb-billing-forecast-table__col-notes {
    width: 24%;
}

.tapb-billing-forecast-table__col-amount {
    width: 14%;
}

.tapb-billing-forecast-table__head {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    border: 0 !important;
    white-space: nowrap !important;
}

.tapb-billing-forecast-table th,
.tapb-billing-forecast-table td {
    min-width: 0 !important;
    padding: 5px 14px 5px 0 !important;
    border: 0 !important;
    background: transparent !important;
    vertical-align: middle !important;
    text-align: left !important;
    line-height: 1.5 !important;
}

.tapb-billing-forecast-table__title {
    color: #1d2327 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    overflow-wrap: anywhere !important;
}

.tapb-billing-forecast-table__period,
.tapb-billing-forecast-table__notes {
    color: #50575e !important;
    font-size: 12px !important;
}

.tapb-billing-forecast-table__period {
    white-space: nowrap !important;
    font-variant-numeric: tabular-nums;
}

.tapb-billing-forecast-table__notes {
    white-space: normal !important;
}

.tapb-billing-forecast-table__amount {
    padding-right: 0 !important;
    color: #1d2327 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-align: right !important;
    white-space: nowrap !important;
    font-variant-numeric: tabular-nums;
}

/* お申込み履歴は、ご契約中一覧と同じ「1申込み＝1枠・ラベル横並び」に統一する。 */
.tapb-portal-card--history .tapb-purchase-list--simple {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
    container-type: inline-size !important;
    container-name: tapb-history-list !important;
}

.tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list,
.tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list:first-child,
.tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list + .tapb-portal-row--simple-list {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 16px !important;
    border: 1px solid #dcdcde !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    font-size: 15px !important;
}

.tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-main {
    display: grid !important;
    grid-template-columns:
        minmax(260px, 1.2fr)
        minmax(150px, .55fr)
        minmax(235px, .85fr)
        minmax(185px, .65fr)
        minmax(170px, .65fr) !important;
    gap: 10px 22px !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
}

.tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta {
    display: contents !important;
}

.tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-product {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
}

.tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-product h4 {
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

.tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-school-name {
    margin: 0 0 3px !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

.tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-statuses {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    min-width: 0 !important;
    margin: 0 !important;
}

.tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-statuses .tapb-portal-meta__item {
    display: block !important;
    margin: 0 !important;
}

.tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item {
    display: flex !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
    gap: 3px 6px !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: #1d2327 !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    white-space: normal !important;
    overflow: visible !important;
}

.tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item > strong {
    display: inline !important;
    color: #1d2327 !important;
    font-size: inherit !important;
    font-weight: 700 !important;
    line-height: inherit !important;
    white-space: nowrap !important;
}

.tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__value {
    display: inline !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #1d2327 !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: 400 !important;
    line-height: inherit !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

.tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--inquiry {
    grid-column: 3 !important;
    grid-row: 1 !important;
}

.tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--application-date {
    grid-column: 4 !important;
    grid-row: 1 !important;
}

.tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--coupon {
    grid-column: 5 !important;
    grid-row: 1 !important;
}

@container tapb-history-list (max-width: 1150px) {
    .tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-main {
        grid-template-columns: minmax(0, 1fr) minmax(280px, .85fr) !important;
        gap: 12px 24px !important;
        align-items: center !important;
    }

    .tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-product {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-statuses {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    .tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--inquiry {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    .tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--application-date {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }

    .tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--coupon {
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
    }
}

@container tapb-history-list (max-width: 640px) {
    .tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-main {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 11px !important;
        align-items: start !important;
    }

    .tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-product {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-statuses {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    .tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--inquiry {
        grid-column: 1 !important;
        grid-row: 3 !important;
    }

    .tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--application-date {
        grid-column: 1 !important;
        grid-row: 4 !important;
    }

    .tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--coupon {
        grid-column: 1 !important;
        grid-row: 5 !important;
    }
}

@supports not (container-type: inline-size) {
    @media (max-width: 1180px) {
        .tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-main {
            grid-template-columns: minmax(0, 1fr) minmax(280px, .85fr) !important;
            gap: 12px 24px !important;
        }

        .tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-product {
            grid-column: 1 !important;
            grid-row: 1 !important;
        }

        .tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-statuses {
            grid-column: 2 !important;
            grid-row: 1 !important;
        }

        .tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--inquiry {
            grid-column: 1 !important;
            grid-row: 2 !important;
        }

        .tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--application-date {
            grid-column: 2 !important;
            grid-row: 2 !important;
        }

        .tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--coupon {
            grid-column: 1 / -1 !important;
            grid-row: 3 !important;
        }
    }

    @media (max-width: 640px) {
        .tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-main {
            grid-template-columns: minmax(0, 1fr) !important;
            gap: 11px !important;
        }

        .tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-product {
            grid-column: 1 !important;
            grid-row: 1 !important;
        }

        .tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-statuses {
            grid-column: 1 !important;
            grid-row: 2 !important;
        }

        .tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--inquiry {
            grid-column: 1 !important;
            grid-row: 3 !important;
        }

        .tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--application-date {
            grid-column: 1 !important;
            grid-row: 4 !important;
        }

        .tapb-portal-card--history .tapb-purchase-list--simple .tapb-portal-row--simple-list .tapb-portal-meta__item--coupon {
            grid-column: 1 !important;
            grid-row: 5 !important;
        }
    }
}

@media (max-width: 760px) {
    .tapb-billing-forecast-table,
    .tapb-billing-forecast-table tbody {
        display: block !important;
        width: 100% !important;
    }

    .tapb-billing-forecast-table colgroup,
    .tapb-billing-forecast-table__head {
        display: none !important;
    }

    .tapb-billing-forecast-table tr {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 5px 12px !important;
        width: 100% !important;
        padding: 7px 0 !important;
        border: 0 !important;
    }

    .tapb-billing-forecast-table th,
    .tapb-billing-forecast-table td {
        display: block !important;
        width: auto !important;
        padding: 0 !important;
    }

    .tapb-billing-forecast-table__title {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .tapb-billing-forecast-table__amount {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    .tapb-billing-forecast-table__period {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
    }

    .tapb-billing-forecast-table__notes {
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
    }
}

@media (max-width: 640px) {
    .tapb-portal-card--billing .tapb-invoice-empty {
        height: 86px !important;
        min-height: 86px !important;
        padding: 0 16px !important;
    }
}

/* 1.50.0: 非ログイン時は申込み操作を出力せず、詳細ボタンを右寄せ */
.tapb-channel-summary__actions.tapb-channel-summary__actions--details-only {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center !important;
    justify-content: flex-end !important;
    justify-items: end !important;
    width: 100% !important;
    max-width: 100% !important;
}

.tapb-channel-summary__actions--details-only .tapb-channel-detail-toggle {
    flex: 0 0 auto !important;
    margin-left: auto !important;
}

/* 1.52.2: 書籍・グッズ画面のレイアウト整理 */
.tapb-merch-store{
    --tapb-merch-border:#dbe4f2;
    --tapb-merch-border-strong:#c9d5e7;
    --tapb-merch-surface:#ffffff;
    --tapb-merch-surface-soft:#f7f9fc;
    --tapb-merch-text:#172033;
    --tapb-merch-muted:#667085;
    --tapb-merch-accent:#2457d6;
    --tapb-merch-shadow:0 14px 36px rgba(15,23,42,.08);
    display:grid;
    gap:20px;
}
.tapb-merch-store__layout{
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(380px,.9fr);
    gap:24px;
    align-items:start;
}
.tapb-merch-catalog{
    min-width:0;
}
.tapb-merch-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.tapb-merch-card{
    display:flex;
    min-width:0;
    flex-direction:column;
    overflow:hidden;
    border:1px solid var(--tapb-merch-border);
    border-radius:18px;
    background:var(--tapb-merch-surface);
    box-shadow:0 8px 24px rgba(15,23,42,.055);
}
.tapb-merch-card__image{
    flex:0 0 auto;
    aspect-ratio:4/3;
    overflow:hidden;
    background:var(--tapb-merch-surface-soft);
}
.tapb-merch-card__image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.tapb-merch-card__body{
    display:flex;
    min-height:0;
    flex:1;
    flex-direction:column;
    padding:20px;
}
.tapb-merch-card--no-image .tapb-merch-card__body{
    min-height:228px;
}
.tapb-merch-card__body h3{
    margin:0 0 10px;
    color:var(--tapb-merch-text);
    font-size:20px;
    line-height:1.45;
}
.tapb-merch-card__description{
    color:#475467;
    line-height:1.75;
}
.tapb-merch-card__description>:first-child{
    margin-top:0;
}
.tapb-merch-card__description>:last-child{
    margin-bottom:0;
}
.tapb-merch-card__price{
    margin:auto 0 4px;
    padding-top:22px;
    color:var(--tapb-merch-text);
    font-size:22px;
    font-weight:750;
    letter-spacing:.01em;
}
.tapb-merch-card__price small{
    color:var(--tapb-merch-muted);
    font-size:12px;
    font-weight:600;
}
.tapb-merch-card__shipping{
    margin:0 0 16px;
    color:var(--tapb-merch-muted);
    font-size:13px;
}
.tapb-merch-add-form{
    display:grid;
    grid-template-columns:auto minmax(150px,1fr);
    gap:10px;
    align-items:center;
    padding-top:16px;
    border-top:1px solid #edf1f6;
}
.tapb-merch-add-form label{
    display:flex;
    align-items:center;
    gap:7px;
    margin:0;
    color:#344054;
    font-size:14px;
    font-weight:600;
}
.tapb-merch-add-form input[type=number]{
    width:68px;
    min-height:42px;
    text-align:center;
}
.tapb-merch-add-form .button{
    width:100%;
    min-height:42px;
    margin:0;
}
.tapb-merch-cart{
    min-width:0;
    overflow:hidden;
    padding:0;
    border:1px solid var(--tapb-merch-border);
    border-radius:18px;
    background:var(--tapb-merch-surface);
    box-shadow:var(--tapb-merch-shadow);
}
.tapb-merch-cart>h2{
    margin:0;
    padding:20px 22px;
    border-bottom:1px solid var(--tapb-merch-border);
    color:var(--tapb-merch-text);
    font-size:20px;
    line-height:1.4;
}
.tapb-merch-cart__empty{
    margin:0;
    padding:22px;
    color:var(--tapb-merch-muted);
}
.tapb-merch-cart__update-form{
    margin:0;
}
.tapb-merch-cart__items{
    padding:0 22px;
    border:0;
}
.tapb-merch-cart__item{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
        "main total"
        "unit quantity";
    gap:10px 18px;
    align-items:center;
    padding:18px 0;
    border-bottom:1px solid #e8edf5;
}
.tapb-merch-cart__item-main{
    grid-area:main;
    min-width:0;
}
.tapb-merch-cart__item-main strong{
    display:block;
    color:var(--tapb-merch-text);
    font-size:16px;
    line-height:1.45;
}
.tapb-merch-cart__item-unit{
    grid-area:unit;
    color:var(--tapb-merch-muted);
    font-size:13px;
}
.tapb-merch-cart__item-quantity{
    grid-area:quantity;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    margin:0;
    color:#344054;
    font-size:13px;
    font-weight:600;
}
.tapb-merch-cart__item-quantity input[type=number]{
    width:66px;
    min-height:40px;
    text-align:center;
}
.tapb-merch-cart__item-total{
    grid-area:total;
    min-width:105px;
    color:var(--tapb-merch-text);
    font-weight:750;
    text-align:right;
}
.tapb-merch-cart__item-total small,
.tapb-merch-cart__item-main small{
    display:block;
    margin-top:4px;
    color:var(--tapb-merch-muted);
    font-size:12px;
    font-weight:400;
    line-height:1.45;
}
.tapb-merch-cart__update-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:14px 22px 18px;
}
.tapb-merch-cart__update-actions small{
    color:var(--tapb-merch-muted);
    font-size:12px;
    line-height:1.45;
    text-align:right;
}
.tapb-merch-cart__update-actions .button{
    flex:0 0 auto;
    margin:0;
}
.tapb-merch-cart__details{
    display:grid;
    gap:14px;
    padding:0 22px 22px;
    border-top:1px solid var(--tapb-merch-border);
    background:#fbfcfe;
}
.tapb-merch-cart__details>.tapb-merch-shipping-card{
    margin:22px 0 0;
}
.tapb-merch-shipping-card{
    gap:14px;
    padding:18px;
    border:1px solid var(--tapb-merch-border);
    border-radius:14px;
    background:var(--tapb-merch-surface);
    box-shadow:none;
}
.tapb-merch-shipping-card .tapb-registration-card__header h3{
    color:var(--tapb-merch-text);
    font-size:16px;
}
.tapb-merch-shipping-card .tapb-profile-edit-actions{
    justify-content:flex-end;
}
.tapb-merch-shipping-card .tapb-profile-edit-open{
    min-width:112px;
}
.tapb-merch-shipping-note{
    margin:0;
    padding:12px 14px;
    border:1px solid #e3e9f2;
    border-radius:11px;
    background:#f4f7fb;
    color:#475467;
    font-size:13px;
    line-height:1.65;
}
.tapb-merch-cart__details>.tapb-notice{
    margin:0;
    border-radius:11px;
    font-size:13px;
    line-height:1.6;
}
.tapb-merch-shipping-breakdown{
    margin:0;
    padding:16px;
    border:1px solid var(--tapb-merch-border);
    border-radius:12px;
    background:var(--tapb-merch-surface);
}
.tapb-merch-shipping-breakdown h3{
    margin:0 0 8px;
    color:var(--tapb-merch-text);
    font-size:15px;
}
.tapb-merch-shipping-breakdown__row{
    gap:16px;
    padding:9px 0;
    font-size:14px;
}
.tapb-merch-totals{
    width:100%;
    max-width:none;
    margin:0;
    padding:16px 18px;
    border:1px solid var(--tapb-merch-border);
    border-radius:12px;
    background:var(--tapb-merch-surface);
}
.tapb-merch-totals>div{
    padding:6px 0;
}
.tapb-merch-totals dt{
    color:#475467;
}
.tapb-merch-totals dd{
    color:var(--tapb-merch-text);
    font-weight:650;
    text-align:right;
}
.tapb-merch-totals__total{
    margin-top:8px;
    padding-top:13px!important;
    border-top:1px solid var(--tapb-merch-border-strong);
    font-size:18px;
}
.tapb-merch-cart__details>.tapb-payjp-form,
.tapb-merch-cart__details>.tapb-saved-customer-form{
    display:flex;
    width:100%;
    justify-content:stretch;
    margin:0;
}
.tapb-merch-cart__details>.tapb-payjp-form .button,
.tapb-merch-cart__details>.tapb-saved-customer-form .button{
    width:100%;
    min-height:46px;
    margin:0;
}
.tapb-merch-cart__details .payjp-button{
    display:block;
    width:100%;
}
.tapb-merch-cart__details .payjp-button iframe{
    width:100%!important;
    max-width:100%;
}
@media (max-width:1180px){
    .tapb-merch-store__layout{
        grid-template-columns:1fr;
    }
    .tapb-merch-grid{
        grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    }
}
@media (max-width:680px){
    .tapb-merch-grid{
        grid-template-columns:1fr;
    }
    .tapb-merch-card__body{
        padding:18px;
    }
    .tapb-merch-card--no-image .tapb-merch-card__body{
        min-height:0;
    }
    .tapb-merch-add-form{
        grid-template-columns:1fr;
    }
    .tapb-merch-add-form label{
        justify-content:space-between;
    }
    .tapb-merch-cart>h2{
        padding:18px;
    }
    .tapb-merch-cart__items{
        padding:0 18px;
    }
    .tapb-merch-cart__item{
        grid-template-columns:1fr;
        grid-template-areas:
            "main"
            "unit"
            "quantity"
            "total";
        gap:8px;
    }
    .tapb-merch-cart__item-quantity{
        justify-content:flex-start;
    }
    .tapb-merch-cart__item-total{
        min-width:0;
        padding-top:4px;
        text-align:left;
    }
    .tapb-merch-cart__update-actions{
        align-items:stretch;
        flex-direction:column;
        padding:14px 18px 18px;
    }
    .tapb-merch-cart__update-actions .button{
        width:100%;
    }
    .tapb-merch-cart__update-actions small{
        text-align:left;
    }
    .tapb-merch-cart__details{
        padding:0 18px 18px;
    }
    .tapb-merch-shipping-card .tapb-profile-edit-actions{
        justify-content:stretch;
    }
    .tapb-merch-shipping-card .tapb-profile-edit-open{
        width:100%;
    }
}



/* 1.53.0: 書籍・グッズ画面の操作ボタン、配置、価格表示に合わせた調整 */
.tapb-merch-store .tapb-merch-action-button,
.tapb-merch-store .tapb-profile-edit-open,
.tapb-merch-store .tapb-payjp-form > input[type="button"],
.tapb-merch-store .tapb-payjp-form > input[type="submit"]{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    height:var(--button-height,46px)!important;
    min-height:var(--button-height,46px)!important;
    padding:0 1.5em!important;
    border:var(--button-border-width,1px) solid var(--button-border,#1d4ed8)!important;
    border-radius:var(--button-radius,999px)!important;
    background:var(--button-bg,#1d4ed8)!important;
    color:var(--button-text,#fff)!important;
    font-size:var(--button-font-size,16px)!important;
    font-weight:700!important;
    line-height:1.2!important;
    text-align:center!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    box-shadow:none!important;
    cursor:pointer!important;
    box-sizing:border-box!important;
}
.tapb-merch-store .tapb-merch-action-button:hover,
.tapb-merch-store .tapb-merch-action-button:focus,
.tapb-merch-store .tapb-profile-edit-open:hover,
.tapb-merch-store .tapb-profile-edit-open:focus,
.tapb-merch-store .tapb-payjp-form > input[type="button"]:hover,
.tapb-merch-store .tapb-payjp-form > input[type="button"]:focus,
.tapb-merch-store .tapb-payjp-form > input[type="submit"]:hover,
.tapb-merch-store .tapb-payjp-form > input[type="submit"]:focus{
    background:var(--button-hover-bg,var(--button-bg,#1d4ed8))!important;
    border-color:var(--button-hover-border,var(--button-border,#1d4ed8))!important;
    color:var(--button-hover-text,var(--button-text,#fff))!important;
    text-decoration:none!important;
    filter:none!important;
}
.tapb-merch-store .tapb-merch-action-button[disabled],
.tapb-merch-store .tapb-payjp-form > input[disabled]{
    cursor:not-allowed!important;
    opacity:.55!important;
}
.tapb-merch-add-form{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:wrap!important;
    gap:10px!important;
}
.tapb-merch-add-form label{
    margin-right:auto!important;
}
.tapb-merch-add-form .tapb-merch-action-button{
    flex:0 0 auto!important;
}
.tapb-merch-cart__update-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:wrap!important;
    gap:12px!important;
}
.tapb-merch-cart__update-actions small{
    flex:0 1 auto!important;
    margin:0!important;
    text-align:right!important;
}
.tapb-merch-cart__update-actions .tapb-merch-action-button{
    flex:0 0 auto!important;
}
.tapb-merch-shipping-card .tapb-profile-edit-actions{
    display:flex!important;
    justify-content:flex-end!important;
}
.tapb-merch-cart__details>.tapb-payjp-form,
.tapb-merch-cart__details>.tapb-saved-customer-form,
.tapb-merch-payment-form{
    display:flex!important;
    width:100%!important;
    justify-content:flex-end!important;
    align-items:center!important;
    margin:0!important;
    text-align:right!important;
}
.tapb-merch-cart__details>.tapb-payjp-form .button,
.tapb-merch-cart__details>.tapb-saved-customer-form .button{
    width:auto!important;
    min-width:0!important;
}
.tapb-merch-store .payjp-button{
    display:inline-block!important;
    width:auto!important;
    max-width:100%!important;
    margin-left:auto!important;
}
.tapb-merch-store .payjp-button iframe{
    display:block!important;
    max-width:100%!important;
    margin-left:auto!important;
}
@media (max-width:680px){
    .tapb-merch-add-form{
        display:flex!important;
        flex-direction:row!important;
        align-items:center!important;
        justify-content:flex-end!important;
    }
    .tapb-merch-add-form label{
        justify-content:flex-start!important;
        flex:1 1 140px!important;
    }
    .tapb-merch-cart__item-quantity{
        justify-content:flex-end!important;
    }
    .tapb-merch-cart__item-total{
        text-align:right!important;
    }
    .tapb-merch-cart__update-actions{
        flex-direction:row!important;
        align-items:center!important;
        justify-content:flex-end!important;
    }
    .tapb-merch-cart__update-actions .button,
    .tapb-merch-shipping-card .tapb-profile-edit-open,
    .tapb-merch-cart__details>.tapb-saved-customer-form .button{
        width:auto!important;
    }
    .tapb-merch-cart__update-actions small{
        text-align:right!important;
    }
    .tapb-merch-shipping-card .tapb-profile-edit-actions{
        justify-content:flex-end!important;
    }
}


/* 1.53.2: 物販決済の配送先エラーを支払い操作位置に表示 */
.tapb-merch-checkout-error{
    width:100%;
    margin:0;
    box-sizing:border-box;
    text-align:left;
}
