
/* PROGRAM: 入会プロセス横型化 2026-09-15 */
@media screen and (min-width: 1024px) {
  .page-id-27 .l-program__process {
    height: auto !important;
    min-height: 0;
    padding: 0 32px 72px;
    box-sizing: border-box;
  }
  .page-id-27 .l-program__process__steps {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 20px;
    width: 100%;
    max-width: 1400px;
    height: auto;
    margin: 64px auto 0;
    padding: 0;
    box-sizing: border-box;
  }
  .page-id-27 .l-program__process__box {
    display: flex;
    flex-direction: column;
    width: auto;
    height: auto;
    min-height: 340px;
    margin: 0;
    position: relative;
    background: #fff;
    border-top: 4px solid #738184;
    box-sizing: border-box;
  }
  .page-id-27 .l-program__process__box::before {
    top: 70px;
    right: -19px;
    left: auto;
    bottom: auto;
    width: 18px;
    height: 40px;
    transform: rotate(-90deg);
    transform-origin: center;
  }
  .page-id-27 .l-program__process__box:nth-child(5)::before {
    display: none;
  }
  .page-id-27 .l-program__process__box__step {
    width: 100%;
    height: 150px;
    min-height: 150px;
    padding: 28px 24px;
    background-position: calc(100% + 18px) 50%;
    background-size: 150px 130px;
    box-sizing: border-box;
  }
  .page-id-27 .l-program__process__box__step::after {
    display: none;
  }
  .page-id-27 .l-program__process__box__step__title {
    width: 100%;
    margin: 0;
  }
  .page-id-27 .l-program__process__box__text {
    display: flex;
    align-items: flex-start;
    width: 100%;
    height: auto;
    min-height: 186px;
    padding: 24px 20px;
    box-sizing: border-box;
  }
  .page-id-27 .l-program__process__box__text p {
    margin: 0;
    line-height: 1.8;
  }
  .page-id-27 .l-program__process__btn {
    grid-column: 1 / -1;
    width: 100%;
    height: auto;
    margin: 36px auto 0;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1199px) {
  .page-id-27 .l-program__process__steps { gap: 14px; }
  .page-id-27 .l-program__process__box__step { padding: 24px 16px; }
  .page-id-27 .l-program__process__box__text { padding: 20px 16px; }
  .page-id-27 .l-program__process__box__step__title { font-size: 1.7rem; }
  .page-id-27 .l-program__process__box__text p { font-size: 1.35rem; }
  .page-id-27 .l-program__process__box::before { right: -16px; }
}


/* WHAT: 3 support items in a horizontal desktop layout */
@media screen and (min-width: 1024px) {
  .page-id-23 .l-what__item { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; column-gap:1px; height:auto; }
  .page-id-23 .l-what__item__title { grid-column:1/-1; width:100%; }
  .page-id-23 .l-what__item__01,.page-id-23 .l-what__item__02,.page-id-23 .l-what__item__03 { width:auto; height:100%; padding:0; border-right:1px solid rgba(255,255,255,.18); }
  .page-id-23 .l-what__item__03 { border-right:0; }
  .page-id-23 .l-what__item__01__container,.page-id-23 .l-what__item__02__container,.page-id-23 .l-what__item__03__container { display:flex; flex-direction:column; width:100%; height:100%; margin:0; }
  .page-id-23 .l-what__item__01__container__image,.page-id-23 .l-what__item__02__container__image,.page-id-23 .l-what__item__03__container__image { width:100%; height:300px; overflow:hidden; }
  .page-id-23 .l-what__item__01__container__image img,.page-id-23 .l-what__item__02__container__image img,.page-id-23 .l-what__item__03__container__image img { width:100%; height:100%; object-fit:cover; object-position:center; }
  .page-id-23 .l-what__item__01__container__textbox,.page-id-23 .l-what__item__02__container__textbox,.page-id-23 .l-what__item__03__container__textbox { width:100%; min-height:330px; padding:36px 32px 42px; box-sizing:border-box; }
}
/* WHAT: BODY PALETTE aligned to FRACTAL tone */
.page-id-23 .fw-bodypalette-compact { background:#2d3337; padding:56px 24px; }
.page-id-23 .fw-bodypalette-compact__panel { background:#363d41; border-top:2px solid #cf2d6f; border-radius:0; box-shadow:none; }
.page-id-23 .fw-bodypalette-compact__label,.page-id-23 .fw-bodypalette-compact h2,.page-id-23 .fw-bodypalette-compact__text { color:#fff; }
.page-id-23 .fw-bodypalette-compact__link { background:#738184; border-radius:0; }
/* PROGRAM: square, flat price presentation */
.page-id-27 .l-program__price__card,.page-id-27 .l-program__price__notes { border-radius:0; box-shadow:none; border-top:3px solid #738184; }

/* WHAT: contain legacy full-width item rules inside the grid */
@media screen and (min-width:1024px){
 .page-id-23 .l-what__item__01,.page-id-23 .l-what__item__02,.page-id-23 .l-what__item__03{width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;box-sizing:border-box!important;}
 .page-id-23 .l-what__item__01__container,.page-id-23 .l-what__item__02__container,.page-id-23 .l-what__item__03__container{width:100%!important;min-width:0!important;max-width:100%!important;}
 .page-id-23 .l-what__item__title{max-width:100%;}
}


/* WHAT: show all three support images in full without cropping */
@media screen and (min-width:1024px){
  .page-id-23 .l-what__item__01__container__image,
  .page-id-23 .l-what__item__02__container__image,
  .page-id-23 .l-what__item__03__container__image{
    height:clamp(380px,28vw,520px)!important;
    padding:20px 24px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    background:#2d3337!important;
  }
  .page-id-23 .l-what__item__01__container__image img,
  .page-id-23 .l-what__item__02__container__image img,
  .page-id-23 .l-what__item__03__container__image img{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
}


/* WHAT: keep all entry CTAs in one clear row on desktop */
@media screen and (min-width:1024px){
  .page-id-23 .l-banner__entry__box__item{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:16px!important;
    width:min(1280px,calc(100% - 48px))!important;
    max-width:1280px!important;
    margin:0 auto!important;
    align-items:stretch!important;
  }
  .page-id-23 .l-banner__entry__box__item>ul,
  .page-id-23 .l-banner__entry__box__item>div{
    display:contents!important;
  }
  .page-id-23 .l-banner__entry__box__item>ul>li{
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }
  .page-id-23 .l-banner__entry__box__item a.o-btn{
    width:100%!important;
    min-width:0!important;
    height:64px!important;
    margin:0!important;
    padding:0 16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    color:#fff!important;
    font-size:16px!important;
    line-height:1.4!important;
    text-align:center!important;
    opacity:1!important;
  }
  .page-id-23 .l-banner__entry__box__item>ul>li:nth-child(1) a{background:#111!important;}
  .page-id-23 .l-banner__entry__box__item>ul>li:nth-child(2) a{background:#2d3337!important;}
  .page-id-23 .l-banner__entry__box__item>ul>li:nth-child(3) a{background:#738184!important;}
  .page-id-23 .l-banner__entry__box__item>div a{background:#e4006f!important;}
}

