@charset "UTF-8";
/* DPC KOBE / DPC Plus 2026-10-23 self-contained page stylesheet */
:root{--navy:#1c3055;--ink:#203558;--teal:#098e91;--teal-deep:#0a777b;--lime:#e9f34a;--mint:#eaf7f4;--mist:#f4f8f7;--warm:#fcfaf4;--line:#d6e7e7;--muted:#60718b;--content:1160px;--font:"kozuka-gothic-pr6n","Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;color:var(--ink);background:#fff;font:400 16px/1.85 var(--font);-webkit-font-smoothing:antialiased}img,svg{max-width:100%}img{display:block}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:600;line-height:1.48;letter-spacing:.018em;overflow-wrap:anywhere}p{overflow-wrap:anywhere}ul{margin:0;padding:0}details summary{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:4px}main{overflow:hidden}.membership-container{width:min(var(--content),calc(100% - 80px));margin-inline:auto}.membership-eyebrow{color:var(--teal);font:700 11px/1.5 var(--font);letter-spacing:.21em;margin:0 0 18px}.membership-section__heading{margin:0 0 44px}.membership-section__heading h2,.membership-values__heading h2{font-size:clamp(28px,3.25vw,41px);margin:0 0 15px}.membership-text{font-size:15px;line-height:2.04;color:var(--muted)}
/* Header */
.membership-header-wrap{position:relative;z-index:20;border-bottom:1px solid #ebf0f1;background:#fff}.membership-header{min-height:78px;max-width:1380px;padding:0 36px;margin:auto;display:flex;align-items:center;gap:30px;justify-content:space-between}.membership-header__brand{margin:0;flex-shrink:0}.membership-header__brand a{display:flex;align-items:center;gap:12px}.membership-header__brand img{width:55px;height:55px;object-fit:contain}.membership-header__brand span{display:flex;flex-direction:column;font-size:18px;color:var(--navy);letter-spacing:.11em;line-height:1.35;font-weight:700}.membership-header__brand small{margin-top:5px;font-size:8px;letter-spacing:.14em;color:var(--teal);font-weight:500}.membership-nav ul{display:flex;align-items:center;gap:clamp(11px,1.25vw,23px);list-style:none}.membership-nav a{font-size:12px;white-space:nowrap;font-weight:600;transition:color .25s}.membership-nav a:hover{color:var(--teal)}.membership-nav__cta a{display:inline-flex;align-items:center;background:var(--teal);color:#fff;border-radius:100px;padding:11px 18px}.membership-nav__cta a:hover{color:#fff;background:var(--teal-deep)}.membership-nav-toggle,.membership-nav__close{display:none}
/* Breadcrumb */
.membership-breadcrumb{max-width:var(--content);width:calc(100% - 80px);margin:0 auto;padding:18px 0 10px;display:flex;gap:8px;list-style:none;font-size:11px;color:#809096;letter-spacing:.07em}.membership-breadcrumb li+li:before{content:'›';padding-right:8px}.membership-breadcrumb a:hover{color:var(--teal)}
/* Hero */
.membership-hero{max-width:1450px;margin:0 auto;position:relative;min-height:575px;display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);align-items:stretch}.membership-hero__copy{padding:clamp(54px,7vw,100px) clamp(24px,5.3vw,84px) 100px max(40px,calc((100vw - var(--content))/2));align-self:center;position:relative;z-index:2;background:var(--warm)}.membership-hero__copy h1{font-size:clamp(34px,3.4vw,48px);line-height:1.55;margin-bottom:27px;color:var(--navy);letter-spacing:.02em}.membership-hero__lead{font-size:15px;color:#586a83;line-height:2.05;margin-bottom:28px}.membership-hero__visual{min-height:500px;position:relative;overflow:hidden;isolation:isolate;border-radius:0 0 0 112px}.membership-hero__visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,50,55,.17));pointer-events:none}.membership-hero__visual img{width:100%;height:100%;object-fit:cover;object-position:54% center}.membership-hero__note{position:absolute;bottom:30px;right:35px;color:#fff;font-size:clamp(15px,1.5vw,20px);font-weight:600;line-height:1.6;letter-spacing:.06em;text-shadow:0 2px 12px #003a4770;z-index:1}.membership-actions{display:flex;gap:11px;flex-wrap:wrap}.membership-button{min-height:50px;padding:13px 19px;display:inline-flex;justify-content:center;align-items:center;gap:24px;border:1px solid var(--teal);border-radius:5px;color:#fff;font-weight:700;font-size:13px;background:var(--teal);transition:background .2s,transform .2s}.membership-button:hover{background:var(--teal-deep);transform:translateY(-2px)}.membership-button>span{font-size:20px;font-weight:400}.membership-button--ghost{background:transparent;color:var(--teal)}.membership-button--ghost:hover{background:var(--mist)}.membership-curve--hero{position:absolute;bottom:-13px;left:0;width:100%;height:85px;pointer-events:none;z-index:3}
/* 2026 autumn offer */
.membership-campaign{background:linear-gradient(115deg,#f0f8f6 0%,#fbfbf1 75%);padding:64px 36px 57px}.membership-campaign__inner{max-width:var(--content);margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);column-gap:75px;align-items:center}.membership-campaign__title h2{font-size:clamp(26px,3.2vw,37px);margin:0 0 14px}.membership-campaign__title p:last-child{color:var(--muted);font-size:14px;line-height:1.9}.membership-campaign__offers{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:center}.membership-campaign__offers>div{padding:12px 23px;border-left:1px solid #b6d6d6}.membership-campaign__offers>div>span{font-size:14px;font-weight:600;color:var(--navy)}.membership-campaign__price{margin:10px 0 0;display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 10px;color:var(--teal-deep)}.membership-campaign__price del{font-size:12px;color:#879198}.membership-campaign__price b{font-weight:700;font-size:clamp(34px,5vw,62px);line-height:1.1;letter-spacing:-.02em}.membership-campaign__price b small{font-size:clamp(16px,1.8vw,26px)}.membership-campaign__price em{font-size:13px;color:var(--navy);font-style:normal}.membership-campaign__date{grid-column:2;margin:10px 0 4px;text-align:center;color:var(--navy);letter-spacing:.19em;font-size:12px}.membership-campaign__link{grid-column:2;justify-self:center;display:inline-flex;gap:12px;align-items:center;color:var(--teal-deep);font-size:13px;font-weight:700;border-bottom:1px solid currentColor;padding:2px 0 4px}.membership-campaign__link:hover{color:var(--navy)}
.membership-spacer--xl{height:62px}.membership-spacer--xxl{height:86px}.membership-section{position:relative}.membership-split{display:grid;grid-template-columns:minmax(0,44%) minmax(0,56%);gap:clamp(28px,5.5vw,88px);align-items:center}.membership-copy h2{font-size:clamp(30px,3.2vw,42px);margin:0 0 22px}.membership-intro__visual{min-height:370px;overflow:hidden;border-radius:120px 8px 8px 8px}.membership-intro__visual img{width:100%;height:100%;min-height:370px;object-fit:cover;object-position:center}.membership-intro__price{border-top:1px solid var(--line);padding-top:16px;margin-top:23px;font-size:18px;font-weight:650;color:var(--teal-deep)}.membership-intro__price span{display:block;font-size:11px;letter-spacing:.08em;color:var(--muted)}
/* Value cards */
.membership-values__heading{text-align:center;max-width:850px;margin:0 auto 48px}.membership-values__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.membership-values__list article{padding:28px 28px 30px;border-top:1px solid var(--line);background:#f9fbfb;position:relative}.membership-icon{display:inline-block;margin:0 0 17px;font-size:16px;font-weight:700;color:var(--teal);letter-spacing:.12em}.membership-values__list h3{font-size:21px;margin:0 0 13px;line-height:1.5}.membership-values__list p{font-size:14px;color:var(--muted);line-height:1.95;margin:0}
/* Price plans */
.membership-plans{padding:85px 0 100px;background:var(--mist)}.membership-plans .membership-section__heading{text-align:center;max-width:850px;margin:0 auto 40px}.membership-timebands{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:26px}.membership-timebands article{background:#fff;padding:23px 24px 26px;border:1px solid var(--line);overflow:hidden;border-radius:6px}.membership-timebands__image{height:14px;border-radius:20px;margin:0 0 23px;background:linear-gradient(90deg,#6db9be,#d8eced)}.membership-timebands__image--night{background:linear-gradient(90deg,#1c3055,#5fa8b2)}.membership-timebands__image--holiday{background:linear-gradient(90deg,#b8df8c,var(--lime))}.membership-timebands__name{font-size:22px;font-weight:700;letter-spacing:.14em;color:var(--teal);margin:0}.membership-timebands h3{font-size:18px;margin:2px 0 6px}.membership-timebands article>p:last-child{font-size:13px;margin:0;color:var(--muted)}.membership-plan-table{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);background:#fff;overflow:hidden;border-radius:6px}.membership-plan-table>*{padding:22px 19px;border-right:1px solid var(--line)}.membership-plan-table>*:last-child{border-right:0}.membership-plan-table__intro h3{font-size:19px;margin:0 0 8px}.membership-plan-table__intro p:last-child{font-size:13px;line-height:1.75;color:var(--muted);margin:0}.membership-plan-table article{display:flex;flex-direction:column;gap:6px}.membership-plan-table article>span{font-size:12px;color:var(--muted)}.membership-plan-table strong{font-size:27px;color:var(--navy);font-weight:700;letter-spacing:-.03em}.membership-plan-table strong small{font-size:11px;letter-spacing:0;font-weight:400}.membership-plan-table article>p{font-size:11px;line-height:1.6;color:var(--muted);margin:0}.membership-plan-table__featured{background:#f9ffdc}
/* Perks */
.membership-benefits__list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.membership-benefits__list li{padding:17px 19px;background:var(--mist);border-radius:5px;display:grid;grid-template-columns:60px 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;font-size:14px;font-weight:600;line-height:1.55}.membership-benefits__icon{width:56px;height:56px;object-fit:contain;grid-row:1/3}.membership-benefits__list span{font-size:10px;letter-spacing:.12em;color:var(--teal);font-weight:700}
/* Comparison */
.membership-comparison .membership-section__heading{margin-bottom:32px}.membership-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:5px}.membership-price-table{width:100%;border-collapse:collapse;min-width:560px;font-size:14px}.membership-price-table th,.membership-price-table td{padding:14px 20px;text-align:left;border-bottom:1px solid #e1eded}.membership-price-table thead th{background:#eaf6f4;color:var(--navy);font-weight:700}.membership-price-table tbody th{font-weight:550}.membership-price-table td:nth-child(3){color:var(--teal-deep);font-weight:700}.membership-price-table tr:last-child>*{border-bottom:0}.membership-note{font-size:12px;color:#64778a;margin:17px 0 0;line-height:1.95}.membership-fees{margin-top:30px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.membership-fees>div{padding:20px 22px;border:1px solid var(--line);display:flex;gap:7px;flex-direction:column;align-items:start}.membership-fees span{color:var(--muted);font-size:13px}.membership-fees strong{font-size:22px;color:var(--navy)}.membership-fees small{font-size:12px;color:var(--teal-deep)}
/* Lifestyle */
.membership-life{background:#ecf7f5;padding:75px 0}.membership-life__grid{display:grid;grid-template-columns:1fr 1.02fr;align-items:center;gap:clamp(30px,6vw,90px)}.membership-life__copy h2{font-size:clamp(30px,3.25vw,42px);margin:0 0 20px}.membership-life__visual{border-radius:8px 116px 8px 8px;overflow:hidden}.membership-life__visual img{width:100%;min-height:320px;aspect-ratio:1.45;object-fit:cover}.membership-text-link{display:inline-block;color:var(--teal-deep);font-size:14px;font-weight:700;padding-bottom:4px;border-bottom:1px solid;margin-top:10px}
/* FAQ */
.membership-faq__grid{display:grid;grid-template-columns:30% 1fr;gap:50px}.membership-faq h2{font-size:clamp(27px,3.3vw,39px)}.membership-faq__items{border-top:1px solid var(--line)}.membership-faq__items details{border-bottom:1px solid var(--line)}.membership-faq__items summary{padding:17px 24px 17px 0;color:var(--navy);font-size:14px;font-weight:650;list-style:none;position:relative}.membership-faq__items summary::-webkit-details-marker{display:none}.membership-faq__items summary:after{content:'＋';font-size:17px;position:absolute;right:0;top:17px;color:var(--teal)}.membership-faq__items details[open] summary:after{content:'－'}.membership-faq__items details>p{font-size:13px;line-height:1.9;color:var(--muted);padding:0 15px 18px 0;margin:0}
/* Final */
.membership-final{position:relative;background:var(--teal-deep);color:#fff;display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:385px;overflow:hidden}.membership-final__image{height:100%;min-height:385px;overflow:hidden;border-radius:0 130px 0 0}.membership-final__image img{height:100%;width:100%;object-fit:cover;object-position:center}.membership-final__copy{padding:42px clamp(30px,8vw,130px) 42px clamp(30px,5vw,80px)}.membership-final__copy .membership-eyebrow{color:var(--lime)}.membership-final__copy h2{font-size:clamp(30px,3vw,43px);margin:0 0 30px;color:#fff}.membership-final .membership-button{background:var(--lime);color:var(--navy);border-color:var(--lime)}.membership-final .membership-button--ghost{color:#fff;background:transparent;border-color:#b8dbdc}.membership-final .membership-button:hover{filter:brightness(.93)}
/* Footer */
.membership-footer{background:#f6f8f8;border-top:1px solid var(--line);color:#3c5268}.membership-footer__inner{width:min(var(--content),calc(100% - 80px));margin:0 auto;padding:46px 0 35px;display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:24px}.membership-footer__brand{display:flex;align-items:start;gap:13px}.membership-footer__brand img{width:55px;height:55px}.membership-footer__brand p{font-weight:600;font-size:13px;letter-spacing:.05em;margin:6px 0}.membership-footer__brand small{font-size:10px}.membership-footer__contact a{font-size:15px;color:var(--teal-deep);font-weight:700}.membership-footer__contact address{font-size:11px;font-style:normal;line-height:1.8;margin:10px 0}.membership-footer__nav{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 20px}.membership-footer__nav a{font-size:12px}.membership-footer__nav a:hover,.membership-footer__bottom a:hover{color:var(--teal)}.membership-footer__bottom{padding:20px max(40px,calc((100vw - var(--content))/2));border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px 22px;font-size:10px}.membership-footer__bottom small{margin-left:auto}
/* Tablet */
@media(max-width:1100px){.membership-header{padding:0 22px}.membership-nav ul{gap:11px}.membership-nav a{font-size:11px}.membership-hero__copy{padding-left:38px;padding-right:22px}.membership-hero__copy h1{font-size:35px}.membership-actions{gap:7px}.membership-button{padding-inline:13px;gap:8px}.membership-campaign__inner{column-gap:25px}.membership-split{gap:36px}.membership-plan-table strong{font-size:23px}}
@media(max-width:870px){.membership-nav-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:40px;border:1px solid #d0e2e2;border-radius:5px;background:white;cursor:pointer;flex-direction:column;gap:5px}.membership-nav-toggle span{width:22px;height:2px;background:var(--navy)}.membership-nav{display:none;position:absolute;top:100%;left:0;width:100%;background:#fff;box-shadow:0 15px 28px #001a2824;border-top:1px solid var(--line)}.membership-nav.is-open{display:block}.membership-nav ul{padding:25px 28px;display:flex;flex-direction:column;align-items:stretch;gap:15px}.membership-nav a{font-size:15px}.membership-nav__close{display:block}.membership-nav__close button{padding:10px 16px;background:var(--mist);border:0;color:var(--navy)}.membership-hero{min-height:0}.membership-hero__copy h1{font-size:clamp(28px,4vw,36px)}.membership-plan-table{grid-template-columns:repeat(2,1fr)}.membership-plan-table>*{border-bottom:1px solid var(--line)}.membership-plan-table>*:nth-child(even){border-right:0}.membership-plan-table>*:nth-last-child(-n+2){border-bottom:0}.membership-values__list{gap:12px}.membership-values__list article{padding:20px}.membership-values__list h3{font-size:18px}}
/* Mobile */
@media(max-width:700px){html{scroll-padding-top:62px}.membership-container,.membership-breadcrumb{width:calc(100% - 38px)}.membership-header{padding:8px 18px;min-height:66px}.membership-header__brand img{width:42px;height:42px}.membership-header__brand span{font-size:16px}.membership-header__brand small{font-size:7px}.membership-breadcrumb{padding:13px 0 9px;font-size:10px}.membership-hero{display:flex;flex-direction:column}.membership-hero__visual{order:0;min-height:0;height:250px;border-radius:0 0 65px 0}.membership-hero__visual img{object-position:center 45%}.membership-hero__note{bottom:12px;right:15px;font-size:12px}.membership-hero__copy{order:1;padding:29px 20px 34px;background:var(--warm)}.membership-hero__copy h1{font-size:clamp(27px,6.3vw,34px);margin-bottom:15px;line-height:1.47}.membership-hero__lead{font-size:13px;margin:0 0 18px;line-height:1.84}.membership-hero__lead br{display:none}.membership-hero__lead br:after{content:' '}.membership-actions{gap:9px}.membership-actions .membership-button{flex:1 1 165px;min-height:44px;padding:10px 13px;font-size:12px}.membership-curve--hero{height:25px;bottom:0}.membership-campaign{padding:37px 19px 40px}.membership-campaign__inner{display:block}.membership-campaign__title h2{font-size:26px;margin:0 0 8px}.membership-campaign__title p:last-child{font-size:13px}.membership-campaign__offers{margin-top:24px}.membership-campaign__offers>div{padding:8px 12px}.membership-campaign__price b{font-size:clamp(33px,9vw,46px)}.membership-campaign__price del{font-size:10px}.membership-campaign__price em{font-size:11px}.membership-campaign__date{text-align:center;font-size:11px;margin-top:17px}.membership-campaign__link{display:table;margin:9px auto 0;font-size:12px}.membership-spacer--xl{height:42px}.membership-spacer--xxl{height:45px}.membership-split{display:flex;flex-direction:column;gap:20px}.membership-copy{order:0}.membership-copy h2{font-size:29px;margin-bottom:15px}.membership-intro__visual{order:1;min-height:0;width:100%;border-radius:60px 6px 6px 6px}.membership-intro__visual img{min-height:0;aspect-ratio:1.55}.membership-intro__price{font-size:16px}.membership-values__heading{margin-bottom:25px}.membership-values__heading h2{font-size:28px}.membership-values__list{display:block}.membership-values__list article{padding:21px 20px;margin-bottom:10px}.membership-values__list h3{font-size:19px}.membership-values__list p{font-size:13px}.membership-plans{padding:50px 0 55px}.membership-plans .membership-section__heading{margin-bottom:24px}.membership-section__heading h2{font-size:29px}.membership-timebands{grid-template-columns:1fr;gap:8px}.membership-timebands article{padding:12px 17px;display:grid;grid-template-columns:72px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:16px}.membership-timebands__image{grid-row:1/3;grid-column:1;margin:0;height:56px;border-radius:8px}.membership-timebands__name{grid-column:2;font-size:17px}.membership-timebands h3{grid-column:2;font-size:15px;margin:0}.membership-timebands article>p:last-child{grid-column:2;font-size:11px}.membership-plan-table{display:block}.membership-plan-table>*{border:0!important;border-bottom:1px solid var(--line)!important;padding:16px 20px}.membership-plan-table>*:last-child{border:0!important}.membership-plan-table article{display:grid;grid-template-columns:1fr auto;gap:0}.membership-plan-table article>p{grid-column:1/3}.membership-plan-table article strong{font-size:22px}.membership-benefits__list{grid-template-columns:1fr 1fr;gap:8px}.membership-benefits__list li{display:flex;flex-direction:column;align-items:start;gap:5px;padding:15px 12px;min-height:143px;font-size:12px}.membership-benefits__icon{width:42px;height:42px}.membership-benefits__list span{font-size:9px}.membership-table-wrap{margin-right:-19px}.membership-price-table{font-size:12px}.membership-price-table th,.membership-price-table td{padding:11px}.membership-fees{display:block}.membership-fees>div{margin:7px 0;padding:14px 16px}.membership-fees strong{font-size:20px}.membership-life{padding:45px 0}.membership-life__grid{display:flex;flex-direction:column;gap:24px}.membership-life__copy h2{font-size:28px}.membership-life__visual{width:100%;border-radius:5px 80px 5px 5px}.membership-life__visual img{min-height:0;aspect-ratio:1.5}.membership-faq__grid{display:block}.membership-faq__items{margin-top:18px}.membership-faq h2{font-size:27px}.membership-final{display:flex;flex-direction:column}.membership-final__image{min-height:0;width:100%;height:210px;border-radius:0 0 80px 0}.membership-final__copy{width:100%;padding:33px 19px 42px}.membership-final__copy h2{font-size:30px;margin-bottom:20px}.membership-footer__inner{width:calc(100% - 38px);display:block;padding:35px 0}.membership-footer__contact{margin-top:20px}.membership-footer__nav{margin-top:20px}.membership-footer__bottom{padding:20px 19px;font-size:10px}.membership-footer__bottom small{width:100%;margin:5px 0 0}.membership-text{font-size:13px}.membership-section__heading{margin-bottom:20px}}
@media(max-width:360px){.membership-hero__copy h1{font-size:27px}.membership-header__brand span{font-size:14px}.membership-header__brand small{font-size:6px}.membership-hero__visual{height:216px}.membership-campaign__price b{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* 2026-10-23 revision: hero/menu/night tuning */
.membership-hero{gap:0;}
.membership-hero__copy{padding-top:clamp(38px,5.8vw,82px);padding-bottom:68px;}
.membership-hero__copy h1{margin-bottom:18px;line-height:1.42;letter-spacing:.01em;}
.membership-hero__lead{margin-bottom:18px;line-height:1.88;}
.membership-actions{gap:10px;align-items:center;}
.membership-button{min-height:46px;padding:11px 18px;gap:14px;border-radius:10px;font-size:12px;}
.membership-button>span{font-size:18px;}
.membership-hero__visual{border-radius:0 0 0 96px;}
.membership-hero__visual img{object-position:52% 36%;}
.membership-hero__note{top:28px;left:34px;right:auto;bottom:auto;color:#ffffff;font-size:clamp(14px,1.35vw,18px);line-height:1.6;max-width:16em;text-shadow:0 2px 12px rgba(15,26,44,.35);}
.membership-timebands__image{height:148px;margin:0 0 18px;border-radius:20px;background-color:#dbeff0;background-size:cover;background-position:center center;background-repeat:no-repeat;}
.membership-timebands__image--day{background-image:url('../img/dpcplus-open.webp');}
.membership-timebands__image--night{background-image:url('../img/dpcplus-night.webp');background-position:center 42%;}
.membership-timebands__image--holiday{background-image:url('../img/dpcplus-school.webp');background-position:center center;}
.membership-timebands article{padding:14px 14px 18px;}
.membership-timebands h3{margin-top:6px;}

@media (max-width:870px){
  .membership-nav-toggle{width:48px;height:48px;border:2px solid var(--navy);border-radius:6px;gap:6px;}
  .membership-nav-toggle span{width:24px;height:2px;background:var(--navy);}
  .membership-nav{box-shadow:0 18px 34px rgba(0,26,40,.12);}
  .membership-nav ul{padding:18px 14px 28px;gap:0;}
  .membership-nav li{border-bottom:1px solid var(--line);}
  .membership-nav li:last-child{border-bottom:0;}
  .membership-nav a{display:block;padding:16px 6px;font-size:15px;}
  .membership-nav__cta{padding-top:18px;border-bottom:0 !important;}
  .membership-nav__cta a{display:flex;justify-content:flex-start;padding:14px 18px;border-radius:999px;font-size:15px;}
  .membership-nav__close{display:block;text-align:center;padding-top:16px;}
  .membership-nav__close button{background:none;padding:8px 16px;color:#667387;font-size:14px;}
}
@media (max-width:700px){
  .membership-header{padding:10px 16px;min-height:72px;}
  .membership-header__brand img{width:48px;height:48px;}
  .membership-header__brand span{font-size:17px;letter-spacing:.08em;}
  .membership-header__brand small{font-size:7px;letter-spacing:.08em;}
  .membership-breadcrumb{padding:10px 0 8px;}
  .membership-hero__visual{height:284px;border-radius:0 0 44px 0;}
  .membership-hero__visual img{object-position:52% 23%;}
  .membership-hero__note{top:18px;left:18px;right:auto;bottom:auto;font-size:12px;max-width:10em;line-height:1.5;}
  .membership-hero__copy{padding:18px 18px 22px;}
  .membership-eyebrow{margin-bottom:10px;}
  .membership-hero__copy h1{font-size:clamp(26px,7vw,33px);margin-bottom:10px;line-height:1.34;}
  .membership-hero__lead{font-size:12px;line-height:1.75;margin-bottom:14px;}
  .membership-actions{gap:8px;}
  .membership-actions .membership-button{flex:0 0 auto;min-height:40px;padding:10px 14px;font-size:11px;gap:10px;}
  .membership-actions .membership-button>span{font-size:16px;}
  .membership-timebands{gap:12px;}
  .membership-timebands article{display:block;padding:12px 12px 16px;}
  .membership-timebands__image{height:122px;margin-bottom:14px;border-radius:10px;}
  .membership-timebands__name{font-size:14px;letter-spacing:.18em;}
  .membership-timebands h3{font-size:16px;margin:4px 0 5px;}
  .membership-timebands article>p:last-child{font-size:11px;}
}


/* 2026-10-23 final hero/night refinements */
.membership-hero__visual img{object-position:34% 30%;}
.membership-hero__note{top:24px;left:26px;right:auto;bottom:auto;max-width:10.5em;font-size:clamp(14px,1.2vw,17px);line-height:1.55;color:#ffffff;text-shadow:0 2px 10px rgba(8,22,37,.30);}
@media (max-width:870px){
  .membership-nav-toggle{width:44px;height:44px;border-radius:6px;gap:5px;}
  .membership-nav-toggle span{width:22px;height:2px;}
}
@media (max-width:700px){
  .membership-header{padding:8px 16px;min-height:68px;}
  .membership-header__brand img{width:44px;height:44px;}
  .membership-header__brand span{font-size:15px;letter-spacing:.08em;}
  .membership-hero__visual{height:252px;border-radius:0 0 44px 0;}
  .membership-hero__visual img{object-position:33% 24%;}
  .membership-hero__note{top:16px;left:16px;max-width:9em;font-size:12px;line-height:1.45;}
  .membership-actions .membership-button{padding:10px 13px;}
}


/* 2026-10-23 final bundle refinements */
.membership-hero__visual img{object-position:33% 38%;}
.membership-hero__note{top:20px;left:22px;right:auto;bottom:auto;max-width:10em;font-size:clamp(14px,1.2vw,17px);line-height:1.55;color:#ffffff;text-shadow:0 2px 10px rgba(8,22,37,.28);}
.membership-timebands__image--night{background-image:url('../img/dpcplus-night.webp');background-position:center center;}
@media (max-width:870px){
  .membership-nav-toggle{width:42px;height:42px;border:1px solid var(--navy);border-radius:4px;gap:4px;}
  .membership-nav-toggle span{width:18px;height:2px;background:var(--navy);}
}
@media (max-width:700px){
  .membership-header{padding:8px 14px;min-height:66px;}
  .membership-header__brand img{width:42px;height:42px;}
  .membership-header__brand span{font-size:15px;letter-spacing:.08em;}
  .membership-hero__visual{height:268px;border-radius:0 0 44px 0;}
  .membership-hero__visual img{object-position:32% 34%;}
  .membership-hero__note{top:18px;left:18px;max-width:8.5em;font-size:12px;line-height:1.45;}
  .membership-actions .membership-button{padding:10px 13px;}
  .membership-timebands__image--night{background-position:center 46%;}
}


/* DPC Plus first-view clarity update — 2026-10-23
   Names the monthly subscription before showing the image on mobile. */
@media (min-width:701px) {
  .membership-hero {
    grid-template-rows:auto auto;
    align-content:center;
  }
  .membership-hero__intro {
    grid-column:1; grid-row:1;
    align-self:end;
    padding:clamp(40px,5vw,72px) clamp(24px,5.3vw,84px) 0 max(40px,calc((100vw - var(--content))/2));
    background:var(--warm);
  }
  .membership-hero__copy {
    grid-column:1; grid-row:2;
    align-self:start;
    padding:0 clamp(24px,5.3vw,84px) clamp(36px,5vw,70px) max(40px,calc((100vw - var(--content))/2));
  }
  .membership-hero__visual {
    grid-column:2; grid-row:1 / 3;
  }
}
.membership-hero__intro h1 {
  margin:0;
  color:var(--navy);
  font-size:clamp(43px,4.9vw,70px);
  letter-spacing:.015em;
  line-height:1.13;
  font-weight:650;
  overflow-wrap:normal;
}
.membership-hero__intro .membership-eyebrow {
  margin-bottom:12px;
  font-size:11px;
  letter-spacing:.18em;
}
.membership-hero__definition {
  color:var(--navy);
  font-size:clamp(19px,1.7vw,24px);
  font-weight:650;
  line-height:1.65;
  letter-spacing:.015em;
  margin:16px 0 13px;
  text-wrap:pretty;
}
.membership-hero__definition span {color:var(--teal-deep);}
.membership-hero__copy .membership-hero__lead {
  font-size:14px;
  line-height:1.85;
  margin-bottom:22px;
  color:#56687d;
}
@media (max-width:700px) {
  .membership-hero__intro {
    order:0;
    padding:15px 18px 12px;
    background:var(--warm);
  }
  .membership-hero__intro .membership-eyebrow {
    font-size:9px;
    letter-spacing:.13em;
    margin:0 0 3px;
  }
  .membership-hero__intro h1 {
    font-size:clamp(32px,9vw,42px);
    line-height:1.15;
  }
  .membership-hero__visual {order:1;}
  .membership-hero__copy {
    order:2;
    padding:17px 18px 25px;
  }
  .membership-hero__definition {
    font-size:clamp(17px,4.45vw,20px);
    line-height:1.6;
    margin:0 0 10px;
  }
  .membership-hero__copy .membership-hero__lead {
    font-size:12.5px;
    line-height:1.8;
    margin-bottom:15px;
  }
}

/* Place the secondary photo note over its clear area, not the player's face. */
.membership-hero__note {
  left:auto; right:23px; top:23px; bottom:auto;
  max-width:12em;
  padding:7px 10px;
  border-radius:4px;
  background:rgba(255,255,255,.67);
  color:var(--navy);
  font-size:clamp(13px,1.15vw,16px);
  text-shadow:none;
}
@media (max-width:700px) {
  .membership-hero__note {
    left:auto; right:12px; top:16px;
    max-width:11em;
    padding:6px 8px;
    font-size:11px;
  }
}


/* DPC Plus responsive refinement / 2026-10-23 — final overrides */
/* Timeband photography: keep human faces and indoor ceiling lights visible.
   These frames replace the earlier very shallow decorative strips. */
.membership-timebands .membership-timebands__image {
    display:block;
    width:100%;
    height:auto;
    aspect-ratio: 1.85 / 1;
    object-fit:cover;
    object-position:50% 4%;
    background:none;
    border-radius:13px;
    margin:0 0 18px;
}
.membership-timebands .membership-timebands__image--day {object-position:50% 7%;}
.membership-timebands .membership-timebands__image--night {object-position:50% 0%;}
.membership-timebands .membership-timebands__image--holiday {object-position:50% 7%;}
.membership-timebands article {padding:14px 14px 18px;}
/* Six benefits: centered icon, label, description at every breakpoint. */
.membership-benefits__list li {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    gap:5px;
    min-height:175px;
    padding:22px 14px;
}
.membership-benefits__list .membership-benefits__icon {
    display:block;
    width:56px;
    height:56px;
    margin:0 auto 9px;
    object-fit:contain;
    flex:0 0 auto;
}
.membership-benefits__list li span {font-size:10px;letter-spacing:.12em;}
/* Navigation patterned after the simple site navigation convention:
   full-width white menu, understated dividing rules, pill CTA, centered close. */
@media (max-width:870px) {
 .membership-nav-toggle {
   width:42px; height:42px; padding:8px;
   border:1px solid #1c3055; border-radius:2px;
   background:#fff; gap:5px;
 }
 .membership-nav-toggle span {width:22px; height:2px; border-radius:1px; background:#1c3055;}
 .membership-nav {
   display:none;
   position:absolute; inset:100% 0 auto;
   width:100%; max-height:calc(100dvh - 65px); overflow-y:auto;
   background:#fff;
   box-shadow:0 14px 22px rgba(12,32,54,.07);
   border-top:1px solid #e5eeef;
   z-index:100;
 }
 .membership-nav.is-open {display:block;}
 .membership-nav ul {display:block; padding:17px 18px 24px; margin:0; list-style:none;}
 .membership-nav li {margin:0; padding:0; border-bottom:1px solid #d6e6e9;}
 .membership-nav li:last-child {border-bottom:0;}
 .membership-nav li a {display:block; padding:17px 8px; font-size:14px; font-weight:550; line-height:1.55; color:var(--navy);}
 .membership-nav li a[aria-current="page"] {color:var(--teal);}
 .membership-nav__cta {margin-top:15px !important; padding:0 !important; border-bottom:0 !important;}
 .membership-nav__cta a {display:block !important; padding:13px 19px !important; border-radius:999px !important; font-size:14px !important; color:white !important; background:var(--teal) !important;}
 .membership-nav__close {display:block; padding-top:18px !important; border:0 !important; text-align:center;}
 .membership-nav__close button {width:100%; padding:8px 12px; color:#60718b; background:none; border:0; cursor:pointer; font-size:13px;}
}
@media (max-width:700px) {
 .membership-nav {max-height:calc(100dvh - 65px);}
 .membership-nav ul {padding:17px 16px 25px;}
 .membership-benefits__list li {min-height:154px; padding:20px 10px;}
 .membership-benefits__list .membership-benefits__icon {width:48px;height:48px;margin-bottom:7px;}
 .membership-benefits__list li span {font-size:9px;}
 .membership-timebands article {display:block; padding:12px 13px 16px;}
 .membership-timebands .membership-timebands__image {
    width:100%; height:auto; aspect-ratio:1.85 / 1;
    margin-bottom:13px; border-radius:10px;
 }
 .membership-timebands .membership-timebands__name {font-size:15px;}
 .membership-timebands h3 {font-size:16px; margin:4px 0 5px;}
}
@media(prefers-reduced-motion:reduce){.membership-nav {scroll-behavior:auto;}}

/* Open menu covers the remaining viewport, consistent with full-screen site navigation. */
@media (max-width:870px) {
  .membership-nav {
    height:calc(100vh - 66px); height:calc(100dvh - 66px);
    min-height:calc(100vh - 66px); min-height:calc(100dvh - 66px);
    max-height:calc(100vh - 66px); max-height:calc(100dvh - 66px);
  }
  body:has(.membership-nav.is-open) {overflow:hidden;}
}


/* 2026-10-23 v2: de-duplicate photos and stabilize card layout */
.membership-timebands .membership-timebands__image{aspect-ratio:1.72 / 1; object-position:center 18%;}
.membership-timebands .membership-timebands__image--day{object-position:center 22%;}
.membership-timebands .membership-timebands__image--night{object-position:center 16%;}
.membership-timebands .membership-timebands__image--holiday{object-position:center 18%;}
.membership-final__image img{object-position:center 26%;}
.membership-fees{align-items:stretch;}
.membership-fees>div{justify-content:center; align-items:center; text-align:center; min-height:144px; padding:22px 18px;}
.membership-fees span{display:block; margin-bottom:2px;}
.membership-fees strong{display:block; font-size:clamp(24px,2vw,30px); line-height:1.2;}
.membership-fees small{display:block; margin-top:2px;}
@media (max-width:700px){
  .membership-timebands .membership-timebands__image{aspect-ratio:1.72 / 1; object-position:center 20%;}
  .membership-timebands .membership-timebands__image--day{object-position:center 24%;}
  .membership-timebands .membership-timebands__image--night{object-position:center 14%;}
  .membership-timebands .membership-timebands__image--holiday{object-position:center 22%;}
  .membership-fees{display:grid; grid-template-columns:1fr; gap:10px;}
  .membership-fees>div{margin:0; min-height:122px; padding:18px 14px;}
}


/* 2026-10-23 v3: diversify visuals for day/holiday/final */
.membership-timebands .membership-timebands__image--day{object-position:center 28%;}
.membership-timebands .membership-timebands__image--holiday{object-position:center 34%;}
.membership-final__image img{object-position:center 30%;}
@media (max-width:700px){
  .membership-timebands .membership-timebands__image--day{object-position:center 26%;}
  .membership-timebands .membership-timebands__image--holiday{object-position:center 32%;}
  .membership-final__image img{object-position:center 24%;}
}


/* V4: photo roles audited; explicit <img> elements, no duplicate CSS backgrounds. */
.membership-timebands .membership-timebands__image{background-image:none!important;}
.membership-timebands .membership-timebands__image--day{object-position:center top;}
.membership-timebands .membership-timebands__image--holiday{object-position:center top;}
.membership-final__image img{object-position:center top;}
@media(max-width:700px){
  .membership-timebands .membership-timebands__image--day{object-position:center top;}
  .membership-timebands .membership-timebands__image--holiday{object-position:center top;}
  .membership-final__image img{object-position:center top;}
}


/* DPC Plus V6 — navigation only. Ref: /about/ 2026-10-23 screenshots.
   Normalize type, current-page color and mobile full-screen centered overlay.
   This intentionally overrides the legacy dropdown declarations above. */
@media (min-width:871px) {
  .membership-nav ul {gap:clamp(15px,1.55vw,25px);}
  .membership-nav li:not(.membership-nav__cta) a {
    font-size:clamp(12px,0.95vw,13px);
    font-weight:400;
    letter-spacing:.005em;
    color:var(--navy);
  }
  .membership-nav li:not(.membership-nav__cta) a:hover,
  .membership-nav li:not(.membership-nav__cta) a[aria-current="page"] {color:var(--teal);}
  .membership-nav__cta a {font-size:12px;font-weight:600;}
}
@media (max-width:870px) {
  .membership-nav-toggle {position:relative; z-index:21;}
  .membership-nav {
    display:none;
    position:fixed;
    inset:0;
    top:0; right:0; bottom:0; left:0;
    width:100vw;
    width:100dvw;
    height:100vh;
    height:100dvh;
    min-height:100vh;
    min-height:100dvh;
    max-height:none;
    padding:0;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    background:#fff;
    border:0;
    box-shadow:none;
    z-index:1000;
  }
  .membership-nav.is-open {display:block;}
  .membership-nav ul {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:0;
    width:100%;
    min-height:100vh;
    min-height:100dvh;
    padding:28px 18px max(20px,env(safe-area-inset-bottom));
    margin:0;
    list-style:none;
  }
  .membership-nav li,
  .membership-nav li:last-child {
    display:block;
    width:100%;
    margin:0;
    padding:0;
    border:0;
    text-align:center;
  }
  .membership-nav li:not(.membership-nav__cta):not(.membership-nav__close) a {
    display:block;
    padding:12px 6px;
    font-size:15px;
    line-height:1.5;
    font-weight:400;
    letter-spacing:.005em;
    color:var(--navy);
    white-space:normal;
  }
  .membership-nav li:not(.membership-nav__cta):not(.membership-nav__close) a:hover,
  .membership-nav li:not(.membership-nav__cta):not(.membership-nav__close) a[aria-current="page"] {color:var(--teal);}
  .membership-nav .membership-nav__cta {
    width:min(330px,100%);
    margin:14px auto 0 !important;
    padding:0 !important;
  }
  .membership-nav .membership-nav__cta a {
    display:flex !important;
    align-items:center;
    justify-content:center !important;
    width:100%;
    min-height:46px;
    padding:11px 18px !important;
    border-radius:999px !important;
    font-size:14px !important;
    font-weight:600 !important;
    line-height:1.5;
    background:var(--teal) !important;
    color:#fff !important;
    text-align:center;
  }
  .membership-nav .membership-nav__close {
    display:block;
    width:100%;
    padding:17px 0 0 !important;
    margin:0 !important;
    text-align:center;
  }
  .membership-nav .membership-nav__close button {
    width:auto;
    min-width:80px;
    border:0;
    background:none;
    padding:9px 16px;
    color:var(--muted);
    font-size:14px;
    font-weight:400;
    cursor:pointer;
  }
  body.membership-menu-open {overflow:hidden;}
}
@media (max-width:870px) and (max-height:540px) {
  .membership-nav ul {justify-content:flex-start;padding-top:15px;}
  .membership-nav li:not(.membership-nav__cta):not(.membership-nav__close) a {padding:8px 6px;}
}


/* V8 mobile menu: reliable center-above-mid placement on index.html AND index2.html.
   The taller V6/V7 nav's oversized empty lead-in is corrected without scrolling
   the page behind the overlay; menu remains usable on short landscape viewports. */
@media (max-width: 870px) {
  .membership-nav {
    position:fixed;
    inset:0;
    height:100vh;
    height:100dvh;
    max-height:none;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    background:#fff;
    z-index:1000;
  }
  .membership-nav.is-open {display:block;}
  .membership-nav ul {
    display:flex;
    flex-flow:column nowrap;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:100vh;
    min-height:100dvh;
    margin:0;
    padding:40px 18px clamp(90px, 18dvh, 200px);
  }
  .membership-nav li:not(.membership-nav__cta):not(.membership-nav__close) a {
    padding:11px 6px;
    font-size:15px;
    font-weight:400;
    line-height:1.5;
  }
  .membership-nav .membership-nav__cta {margin-top:17px !important;}
  .membership-nav .membership-nav__close {padding-top:14px !important;}
  body.membership-menu-open {overflow:hidden;}
}
@media (max-width:870px) and (max-height:620px) {
  .membership-nav ul {
    justify-content:flex-start;
    min-height:100%;
    padding:30px 18px 34px;
  }
  .membership-nav li:not(.membership-nav__cta):not(.membership-nav__close) a {padding:9px 6px;}
}


/* V9: Align the 0 yen and 50% OFF figures on desktop only.
   Mobile rules and markup are intentionally unchanged. */
@media (min-width:701px) {
  .membership-campaign__offers {align-items:stretch;}
  .membership-campaign__offers > div {
    display:grid;
    grid-template-rows:26px auto;
    align-content:start;
  }
  .membership-campaign__offers > div > span {
    align-self:start;
    line-height:26px;
  }
  .membership-campaign__price {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:clamp(74px,7.3vw,94px) 32px;
    gap:0;
    align-items:center;
    margin:4px 0 0;
  }
  .membership-campaign__price > b {
    grid-column:1;
    grid-row:1;
    align-self:center;
    justify-self:start;
    margin:0;
    font-size:clamp(34px,4.6vw,62px);
    white-space:nowrap;
    line-height:1.1;
  }
  .membership-campaign__price > b small {font-size:clamp(15px,1.65vw,26px);}
  .membership-campaign__price > del,
  .membership-campaign__price > em {
    grid-column:1;
    grid-row:2;
    align-self:start;
    margin:0;
    white-space:nowrap;
    line-height:1.8;
  }
}
