/*
Theme Name: 快楽天国スローハンズ AGENCY EDITION
Theme URI: https://www.slow-gotanda.com/
Author: 五反田鍛錬グループ
Description: GeneratePress + GP Premium + GenerateBlocks Proを基盤に、快楽天国スローハンズを高級エディトリアル／ブランドサイトとして再設計したAGENCY EDITION。年齢認証・SEO・ホテル案内・東京射精管理倶楽部への導線を統合。
Version: 2026.10.4
Template: generatepress
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: slowhands-2026
*/
:root{
  --sha-ink:#09090a;--sha-ink2:#111012;--sha-bone:#f2ede5;--sha-paper:#e3dbcf;
  --sha-wine:#8d1f36;--sha-wine2:#5e1223;--sha-rose:#d78796;--sha-line:rgba(255,255,255,.16);
  --sha-muted:#9d9697;--sha-darkmuted:#6e6764;--sha-serif:"Yu Mincho","Hiragino Mincho ProN","YuMincho",serif;
  --sha-sans:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic","YuGothic","Meiryo",sans-serif;
  --sha-mono:ui-monospace,"SFMono-Regular","Roboto Mono",Consolas,monospace;--sha-ease:cubic-bezier(.2,.72,.2,1);
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px;background:var(--sha-ink)}body{margin:0;background:var(--sha-ink);color:var(--sha-bone);font-family:var(--sha-sans);font-size:17px;line-height:1.85;-webkit-font-smoothing:antialiased}body.sh-menu-open{overflow:hidden}a{color:inherit}img{display:block;max-width:100%;height:auto}button{font:inherit}::selection{background:var(--sha-wine);color:#fff}.sha-shell{width:min(1220px,calc(100% - 64px));margin:auto}.sha-eyebrow{margin:0 0 24px;color:var(--sha-rose);font:800 10px/1 var(--sha-mono);letter-spacing:.22em}.sha-eyebrow--dark{color:var(--sha-wine)}
.sha-progress{position:fixed;z-index:99998;left:0;right:0;top:0;height:2px;background:transparent}.sha-progress i{display:block;width:100%;height:100%;background:var(--sha-wine);transform:scaleX(0);transform-origin:left center}
.sha-header{position:fixed;z-index:9999;left:0;right:0;top:0;transition:.35s var(--sha-ease);border-bottom:1px solid transparent}.admin-bar .sha-header{top:32px}.sha-header.is-scrolled{background:rgba(8,8,9,.94);backdrop-filter:blur(15px);border-bottom-color:rgba(255,255,255,.1)}.sha-header__inner{width:min(1460px,calc(100% - 46px));height:92px;margin:auto;display:flex;align-items:center;gap:34px}.sha-brand{display:flex;align-items:center;gap:15px;text-decoration:none;min-width:max-content}.sha-brand__mark{width:48px;height:48px;position:relative;display:grid;place-items:center;border:1px solid rgba(255,255,255,.42);font:900 20px/1 var(--sha-mono);letter-spacing:-.1em}.sha-brand__mark:after{content:"";position:absolute;right:-1px;bottom:-1px;width:16px;height:3px;background:var(--sha-wine);transform:rotate(-45deg);transform-origin:right center}.sha-brand__mark b{transform:translate(-5px,-4px)}.sha-brand__mark i{position:absolute;right:7px;bottom:7px;font-style:normal;color:var(--sha-rose);font-size:10px}.sha-brand__text{display:flex;flex-direction:column;gap:6px}.sha-brand__text strong{font:900 20px/1 var(--sha-mono);letter-spacing:.18em}.sha-brand__text small{font:700 8px/1 var(--sha-mono);letter-spacing:.16em;color:#797679}.sha-nav{margin-left:auto;display:flex;align-items:center;gap:27px}.sha-nav a{text-decoration:none;font:800 10px/1 var(--sha-mono);letter-spacing:.12em;color:#ccc7c5;position:relative}.sha-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:1px;background:var(--sha-rose);transition:.25s}.sha-nav a:hover:after{right:0}.sha-nav__main{border:1px solid rgba(255,255,255,.22);padding:15px 17px}.sha-nav__main:after{display:none}.sha-menu{display:none;margin-left:auto;width:50px;height:50px;background:transparent;border:0;padding:10px;cursor:pointer}.sha-menu span{display:block;height:2px;background:#fff;margin:8px 0;transition:.25s}
.sha-hero{position:relative;min-height:100svh;overflow:hidden;background:#080809;padding-top:92px}.sha-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 18%,rgba(141,31,54,.18),transparent 27%),linear-gradient(120deg,#080809 0%,#0d0b0c 58%,#160c10 100%)}.sha-hero__rail{position:absolute;z-index:2;left:0;top:92px;bottom:0;width:48px;border-right:1px solid rgba(255,255,255,.09);display:flex;align-items:center;justify-content:space-between;flex-direction:column;padding:30px 0 35px;font:800 8px/1 var(--sha-mono);letter-spacing:.18em;color:#5f5d60}.sha-hero__rail span{writing-mode:vertical-rl}.sha-hero__rail b{color:var(--sha-rose);font-size:11px}.sha-hero__grid{position:relative;z-index:2;min-height:calc(100svh - 92px);display:grid;grid-template-columns:minmax(0,1.03fr) minmax(380px,.97fr);gap:68px;align-items:center;padding:70px 0 95px}.sha-hero__copy h1{margin:0;font-family:var(--sha-serif);font-weight:900;letter-spacing:-.07em;line-height:.93}.sha-hero__copy h1 span{display:block;font-size:clamp(58px,7vw,108px);color:#f1ece5}.sha-hero__copy h1 strong{display:block;font-size:clamp(68px,8.6vw,132px);font-weight:900}.sha-hero__copy h1 em{color:var(--sha-rose);font-style:normal}.sha-hero__statement{margin:32px 0 0;color:#fff;font-weight:900;font-size:19px}.sha-hero__lead{margin:13px 0 0;max-width:650px;color:#9f989a;font-size:16px}.sha-hero__actions{margin-top:34px;display:flex;align-items:center;gap:28px}.sha-button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;min-height:60px;padding:0 22px;text-decoration:none;font-weight:900;font-size:13px;letter-spacing:.03em;border:1px solid transparent;transition:.25s var(--sha-ease)}.sha-button i,.sha-text-link i{font-style:normal}.sha-button:hover{transform:translateY(-2px)}.sha-button--wine{background:var(--sha-wine);color:#fff}.sha-button--wine:hover{background:#a52a44}.sha-button--dark{background:#111;color:#fff;border-color:#111}.sha-text-link{text-decoration:none;font:800 11px/1 var(--sha-mono);letter-spacing:.12em;color:#c8c2c0}.sha-text-link i{margin-left:8px;color:var(--sha-rose)}.sha-hero__visual{margin:0;position:relative;padding:0 25px 42px 0}.sha-hero__frame{position:relative;aspect-ratio:4/5;overflow:hidden;background:#141214}.sha-hero__frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(8,8,9,.58));pointer-events:none}.sha-hero__frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) contrast(1.05);transition:1s var(--sha-ease)}.sha-hero__visual:hover img{transform:scale(1.025)}.sha-hero__visual:before{content:"SLOW";position:absolute;z-index:3;right:-35px;top:44px;writing-mode:vertical-rl;font:900 86px/.75 var(--sha-mono);letter-spacing:-.12em;color:rgba(255,255,255,.06)}.sha-hero__visual figcaption{position:absolute;z-index:4;left:-32px;right:0;bottom:0;background:var(--sha-bone);color:#161315;padding:19px 23px;border-left:5px solid var(--sha-wine);display:flex;align-items:center;justify-content:space-between;gap:18px}.sha-hero__visual figcaption span{font:800 9px/1 var(--sha-mono);letter-spacing:.15em;color:#827b79}.sha-hero__visual figcaption strong{font-family:var(--sha-serif);font-size:18px}.sha-hero__footer{position:absolute;z-index:3;left:50%;transform:translateX(-50%);bottom:25px;display:flex;align-items:center;gap:18px;font:800 8px/1 var(--sha-mono);letter-spacing:.16em;color:#5f5b5d}.sha-hero__footer i{height:1px;width:44px;background:#5f5b5d}.sha-hero__footer b{margin-left:auto;color:#8a8587;font-weight:800}
.sha-intro{background:var(--sha-bone);color:#161314;padding:130px 0 145px}.sha-intro__grid{display:grid;grid-template-columns:260px 1fr;gap:75px}.sha-intro__index{border-right:1px solid #c8c0b6;padding-right:40px}.sha-intro__index small{display:block;font:800 9px/1 var(--sha-mono);letter-spacing:.16em;color:#7f7976}.sha-intro__index b{display:block;margin-top:30px;font:900 160px/.75 var(--sha-mono);letter-spacing:-.14em;color:#d8d0c6}.sha-intro__copy h2{margin:0;font-family:var(--sha-serif);font-size:clamp(44px,5.5vw,76px);line-height:1.25;letter-spacing:-.05em}.sha-intro__copy h2 em{font-style:normal;color:var(--sha-wine)}.sha-intro__body{max-width:720px;margin-top:40px}.sha-intro__body p{font-size:17px;color:#5f5957;margin:0 0 18px}.sha-intro__body strong{color:#1d1918}.sha-intro blockquote{margin:54px 0 0;padding:0 0 0 27px;border-left:4px solid var(--sha-wine);font-family:var(--sha-serif);font-size:clamp(28px,3.5vw,46px);line-height:1.45;font-weight:900}.sha-intro blockquote span{color:var(--sha-wine)}
.sha-gallery{background:#080809;padding:3px}.sha-gallery__grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:320px 300px;gap:3px}.sha-gallery__item{margin:0;position:relative;overflow:hidden;background:#141214}.sha-gallery__item img{width:100%;height:100%;object-fit:cover;filter:grayscale(.18) saturate(.68) contrast(1.04);transition:.55s var(--sha-ease)}.sha-gallery__item:hover img{transform:scale(1.035);filter:grayscale(0) saturate(.92)}.sha-gallery__item:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(5,5,6,.64))}.sha-gallery__item span{position:absolute;z-index:2;left:16px;bottom:14px;font:800 9px/1 var(--sha-mono);letter-spacing:.14em;color:#d5ccca}.sha-gallery__item--a{grid-column:1/5;grid-row:1/3}.sha-gallery__item--b{grid-column:5/8}.sha-gallery__item--c{grid-column:8/13}.sha-gallery__item--d{grid-column:5/9}.sha-gallery__item--e{grid-column:9/11}.sha-gallery__item--f{grid-column:11/13}
.sha-method{background:#0d0c0e;padding:135px 0 150px}.sha-method__grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:100px;align-items:start}.sha-method__sticky{position:sticky;top:140px}.sha-method__sticky h2{font-family:var(--sha-serif);font-size:clamp(44px,5vw,68px);line-height:1.24;letter-spacing:-.05em;margin:0}.sha-method__sticky h2 em{font-style:normal;color:var(--sha-rose)}.sha-method__sticky>p:last-child{max-width:440px;color:#8d8789;margin-top:30px}.sha-method__list{border-top:1px solid #303034}.sha-method__item{display:grid;grid-template-columns:90px 1fr;gap:34px;padding:38px 0;border-bottom:1px solid #303034}.sha-method__item>span{font:900 42px/1 var(--sha-mono);color:#39373b;letter-spacing:-.08em}.sha-method__item small{font:800 9px/1 var(--sha-mono);letter-spacing:.15em;color:var(--sha-rose)}.sha-method__item h3{font-family:var(--sha-serif);font-size:28px;line-height:1.35;margin:13px 0 10px}.sha-method__item p{margin:0;color:#8d8789;font-size:15px;max-width:650px}
.sha-manifesto{background:var(--sha-wine);padding:115px 0 125px;position:relative;overflow:hidden}.sha-manifesto:after{content:"SLOW";position:absolute;right:-2vw;bottom:-5vw;font:900 25vw/.7 var(--sha-mono);letter-spacing:-.16em;color:rgba(0,0,0,.08)}.sha-manifesto__inner{position:relative;z-index:1}.sha-manifesto .sha-eyebrow{color:#f6ccd4}.sha-manifesto__small{margin:0;color:#e0a4b1;font:800 11px/1 var(--sha-mono);letter-spacing:.2em}.sha-manifesto h2{margin:15px 0 18px;font-family:var(--sha-serif);font-size:clamp(72px,11vw,148px);line-height:.92;letter-spacing:-.07em}.sha-manifesto h2 em{font-style:normal;color:#17080d}.sha-manifesto>div>p:last-child{max-width:650px;font-size:20px;color:#f3dce1}
.sha-control{background:var(--sha-bone);color:#171314;padding:120px 0}.sha-control__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:center}.sha-control__copy h2{font-family:var(--sha-serif);font-size:clamp(42px,5vw,70px);line-height:1.28;letter-spacing:-.05em;margin:0}.sha-control__copy h2 em{font-style:normal;color:var(--sha-wine)}.sha-control__copy>p:nth-of-type(2){max-width:700px;color:#625b59;margin:30px 0 32px}.sha-control__word{min-height:450px;border-left:1px solid #cfc5bb;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.sha-control__word span{writing-mode:vertical-rl;font:900 86px/.8 var(--sha-mono);letter-spacing:-.08em;color:#d8d0c7}.sha-control__word b{position:absolute;right:20px;bottom:20px;font:900 28px/1 var(--sha-mono);color:var(--sha-wine)}
.sha-portal{background:#09090a;padding:130px 0 145px}.sha-section-head{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:end;margin-bottom:55px}.sha-section-head h2{font-family:var(--sha-serif);font-size:clamp(42px,5vw,68px);line-height:1.25;letter-spacing:-.05em;margin:0}.sha-section-head>p{color:#898385;margin:0}.sha-portal__list{border-top:1px solid #323236}.sha-portal__row{display:grid;grid-template-columns:60px 130px minmax(220px,.9fr) 1fr 30px;gap:24px;align-items:center;min-height:108px;border-bottom:1px solid #323236;text-decoration:none;transition:.25s}.sha-portal__row:hover{padding-left:12px;background:#100d0f}.sha-portal__num{font:900 11px/1 var(--sha-mono);color:#555156}.sha-portal__row small{font:800 9px/1 var(--sha-mono);letter-spacing:.15em;color:var(--sha-rose)}.sha-portal__row strong{font-family:var(--sha-serif);font-size:22px}.sha-portal__row p{margin:0;color:#7f797b;font-size:14px}.sha-portal__row i{font-style:normal;color:var(--sha-rose);font-size:18px}
.sha-faq{background:#121113;padding:120px 0 135px}.sha-faq__grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:100px}.sha-faq__head{position:sticky;top:140px;align-self:start}.sha-faq__head h2{font-family:var(--sha-serif);font-size:clamp(42px,5vw,66px);line-height:1.25;margin:0}.sha-faq__list{border-top:1px solid #37363a}.sha-faq__item{display:grid;grid-template-columns:70px 1fr;gap:28px;padding:34px 0;border-bottom:1px solid #37363a}.sha-faq__item>span{font:800 10px/1 var(--sha-mono);letter-spacing:.12em;color:var(--sha-rose)}.sha-faq__item h3{font-family:var(--sha-serif);font-size:23px;margin:0 0 12px}.sha-faq__item p{margin:0;color:#918b8d;font-size:15px}
.sha-network{background:#080809;padding:130px 0 145px}.sha-section-head--dark{border-bottom:1px solid #313034;padding-bottom:48px}.sha-network__list{border-top:1px solid #313034}.sha-network__row{display:grid;grid-template-columns:60px 1fr 1fr 30px;gap:28px;align-items:center;min-height:86px;border-bottom:1px solid #313034;text-decoration:none;transition:.25s}.sha-network__row:hover{padding-left:10px;background:#0e0c0e}.sha-network__row>span{font:800 10px/1 var(--sha-mono);color:#575359}.sha-network__row strong{font-family:var(--sha-serif);font-size:21px}.sha-network__row small{font-size:12px;color:#777174}.sha-network__row i{font-style:normal;color:var(--sha-rose)}.sha-network__extras{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:1px;background:#29282b}.sha-network__extras a{background:#0f0d0f;padding:28px 30px;text-decoration:none;display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:22px}.sha-network__extras small{font:800 9px/1 var(--sha-mono);letter-spacing:.16em;color:var(--sha-rose)}.sha-network__extras strong{font-size:17px}.sha-network__extras i{font-style:normal}
.sha-final{position:relative;min-height:720px;display:flex;align-items:center;overflow:hidden;background:#080809}.sha-final__bg{position:absolute;inset:0}.sha-final__bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(.25) saturate(.55) brightness(.42)}.sha-final__bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,9,.96),rgba(8,8,9,.72) 54%,rgba(8,8,9,.25))}.sha-final__inner{position:relative;z-index:2}.sha-final h2{font-family:var(--sha-serif);font-size:clamp(64px,9vw,124px);line-height:.95;letter-spacing:-.07em;margin:0}.sha-final__inner>p:nth-of-type(2){color:#aaa2a4;margin-top:27px}.sha-final__actions{display:flex;align-items:center;gap:28px;margin-top:34px}
.sha-footer{background:#060607;border-top:1px solid #272629;padding:60px 0 72px}.sha-footer__grid{display:flex;justify-content:space-between;gap:50px;align-items:flex-end}.sha-brand--footer .sha-brand__text strong{font-size:17px}.sha-footer p{color:#656165;font-size:12px;margin:16px 0 0}.sha-footer__meta{text-align:right}.sha-footer__meta span{font:800 9px/1 var(--sha-mono);letter-spacing:.15em;color:#6f6b70}.sha-footer__meta p{margin-top:10px}.sha-mobile-cta{display:none}
.sha-reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--sha-ease),transform .8s var(--sha-ease)}.sha-reveal.is-visible{opacity:1;transform:none}
/* WordPress / GeneratePress canvas */
.sha-site .site-content,.sha-site .content-area,.sha-site .site-main{margin:0!important;padding:0!important;max-width:none!important;width:auto!important}.sha-site .container.grid-container,.sha-site #page{max-width:none!important}.sha-site .inside-article{padding:0!important}.sha-site .entry-content{margin:0}.sha-site .site-header,.sha-site .site-footer{display:none!important}
/* AGE GATE - AGENCY */
html.sh-age-locked,html.sh-age-locked body{overflow:hidden!important}.sh-age-gate{position:fixed;z-index:999999;inset:0;background:#080809;color:#f2ede5;overflow-y:auto;overscroll-behavior:contain}.sh-age-gate-hide{display:none!important}.sh-age-bg{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 78% 8%,rgba(141,31,54,.20),transparent 27%),linear-gradient(125deg,#080809,#120c0f 60%,#080809)}.sh-age-inner{position:relative;width:min(1120px,calc(100% - 50px));margin:auto;padding:50px 0 78px;text-align:center}.sh-age-kicker{font:800 9px/1 var(--sha-mono);letter-spacing:.22em;color:var(--sha-rose);margin-bottom:20px}.sh-age-location{font:700 9px/1 var(--sha-mono);letter-spacing:.18em;color:#625f62}.sh-age-site-title{font-family:var(--sha-serif);font-size:clamp(40px,6vw,74px);line-height:1.12;margin:15px 0 32px;font-weight:900}.sh-age-main{max-width:920px;margin:0 auto 30px;position:relative;border:1px solid #2d2a2d;box-shadow:0 35px 90px rgba(0,0,0,.45);overflow:hidden}.sh-age-main:after{content:"SLOW / 18+";position:absolute;left:18px;bottom:15px;background:#0b090a;color:#ddd3d2;padding:8px 11px;font:800 8px/1 var(--sha-mono);letter-spacing:.13em}.sh-age-main img{width:100%;filter:saturate(.72) contrast(1.04)}.sh-age-image-intro{max-width:800px;margin:0 auto 32px}.sh-age-image-intro p{margin:0 0 10px;color:#9d9698;font-size:15px}.sh-age-image-intro p:first-child{color:#f0e9e5;font-size:19px;font-family:var(--sha-serif)}.sh-age-image-intro .accent strong{display:block;color:var(--sha-rose);font-family:var(--sha-serif);font-size:clamp(24px,3.5vw,38px);line-height:1.45}.sh-age-copy{max-width:800px;margin:0 auto 30px;padding:27px 28px;border-top:1px solid #39363a;border-bottom:1px solid #39363a}.sh-age-copy small{display:block;font:800 8px/1 var(--sha-mono);letter-spacing:.15em;color:var(--sha-rose);margin-bottom:13px}.sh-age-copy-lead{font-family:var(--sha-serif);font-size:22px;line-height:1.55;font-weight:900}.sh-age-copy p{margin:12px 0 0;color:#928c8f;font-size:14px}.sh-age-question{font-family:var(--sha-serif);font-size:30px;font-weight:900;margin:34px 0 8px}.sh-age-note{color:#777276;font-size:12px;margin:0 auto 20px}.sh-age-buttons{display:grid;grid-template-columns:1.3fr 1.3fr .75fr;gap:3px;max-width:920px;margin:0 auto 42px;background:#333034}.sh-age-buttons button,.sh-age-buttons a{min-height:78px;border:0;background:#0d0b0d;color:#fff;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.sh-age-buttons #sh-age-enter{background:var(--sha-wine)}.sh-age-buttons .sh-age-external{background:var(--sha-bone);color:#171314}.sh-age-buttons span{font-size:10px;color:#9b9496}.sh-age-buttons #sh-age-enter span{color:#e8c7ce}.sh-age-buttons strong{font:900 14px/1.25 var(--sha-mono);letter-spacing:.08em;margin-top:5px}.sh-age-intro{max-width:820px;margin:0 auto 35px;padding:24px 0;border-top:1px solid #2d2b2e;border-bottom:1px solid #2d2b2e;text-align:left}.sh-age-intro p{font-size:14px;color:#8e888a;margin:0}.sh-age-links,.sh-age-group,.sh-age-hotel{max-width:920px;margin:0 auto 48px;text-align:left}.sh-age-links h2,.sh-age-group-title{font-family:var(--sha-serif);font-size:26px;margin:0 0 18px}.sh-age-linkgrid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #343236}.sh-age-linkgrid a{display:block;padding:17px 0;border-bottom:1px solid #343236;text-decoration:none}.sh-age-linkgrid a:nth-child(odd){padding-right:22px}.sh-age-linkgrid a:nth-child(even){padding-left:22px;border-left:1px solid #343236}.sh-age-linkgrid strong{display:block;font-size:14px}.sh-age-linkgrid span{display:block;color:#716d70;font-size:11px;margin-top:3px}.sh-age-group-kicker,.sh-age-hotel-kicker{font:800 8px/1 var(--sha-mono);letter-spacing:.16em;color:var(--sha-rose);margin-bottom:12px}.sh-age-group-lead{color:#817c7e;font-size:13px;margin:0 0 20px}.sh-age-groupgrid{border-top:1px solid #343236}.sh-age-groupgrid a{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #343236;text-decoration:none;padding:14px 0}.sh-age-groupgrid strong{display:block;font-family:var(--sha-serif);font-size:15px}.sh-age-groupgrid span{display:block;color:#6f6a6c;font-size:11px}.sh-age-groupgrid b{color:var(--sha-rose)}.sh-age-extras{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin-top:3px}.sh-age-extras a{background:#100e10;padding:18px;text-decoration:none}.sh-age-extras strong{display:block;font-size:13px}.sh-age-extras span{display:block;color:#716c6e;font-size:11px}.sh-age-hotel{padding-top:8px}.sh-age-hotel h3{font-family:var(--sha-serif);font-size:24px;margin:0 0 9px}.sh-age-hotel>p{color:#837d80;font-size:13px}.sh-age-hotel-list{columns:2;column-gap:35px;padding:0;margin:25px 0;list-style:none;border-top:1px solid #343236}.sh-age-hotel-list li{break-inside:avoid;padding:9px 0;border-bottom:1px solid #2a282b;font-size:12px;color:#a39c9f}.sh-age-hotel-fee{display:flex;justify-content:space-between;gap:20px;border-left:4px solid var(--sha-wine);background:#110d0f;padding:18px 20px;margin-top:24px}.sh-age-hotel-fee strong{font-size:13px}.sh-age-hotel-fee span{font-family:var(--sha-serif);font-size:20px;color:var(--sha-rose);font-weight:900}.sh-age-hotel-note{font-size:11px!important;line-height:1.8!important}.sh-age-hotel-btn{display:flex;align-items:center;justify-content:center;min-height:60px;background:var(--sha-wine);color:#fff;text-decoration:none;font-weight:900;font-size:13px;margin-top:18px}
@media(max-width:1080px){.sha-nav{gap:17px}.sha-nav a{font-size:9px}.sha-hero__grid{grid-template-columns:1fr 390px;gap:40px}.sha-method__grid{gap:60px}.sha-intro__grid{grid-template-columns:200px 1fr;gap:50px}.sha-intro__index b{font-size:120px}}
@media(max-width:820px){.admin-bar .sha-header{top:46px}.sha-header__inner{height:80px;width:calc(100% - 28px)}.sha-brand__mark{width:44px;height:44px}.sha-brand__text strong{font-size:16px}.sha-brand__text small{display:none}.sha-nav{position:fixed;inset:80px 0 0;background:rgba(8,8,9,.98);padding:45px 26px;display:flex;flex-direction:column;align-items:stretch;gap:0;transform:translateX(100%);transition:.35s var(--sha-ease)}.admin-bar .sha-nav{top:126px}.sh-menu-open .sha-nav{transform:none}.sha-nav a{padding:18px 0;border-bottom:1px solid #27262a;font-size:12px}.sha-nav a:after{display:none}.sha-nav__main{border:0}.sha-menu{display:block}.sh-menu-open .sha-menu span:first-child{transform:translateY(5px) rotate(45deg)}.sh-menu-open .sha-menu span:last-child{transform:translateY(-5px) rotate(-45deg)}.sha-hero{padding-top:80px}.sha-hero__rail{display:none}.sha-hero__grid{min-height:auto;grid-template-columns:1fr;padding:100px 0 75px}.sha-hero__copy{max-width:680px}.sha-hero__visual{max-width:560px;margin:20px 0 0 auto}.sha-hero__footer{display:none}.sha-intro__grid{grid-template-columns:1fr}.sha-intro__index{display:none}.sha-gallery__grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,330px)}.sha-gallery__item--a,.sha-gallery__item--b,.sha-gallery__item--c,.sha-gallery__item--d,.sha-gallery__item--e,.sha-gallery__item--f{grid-column:auto;grid-row:auto}.sha-method__grid{grid-template-columns:1fr}.sha-method__sticky,.sha-faq__head{position:static}.sha-control__grid{grid-template-columns:1fr}.sha-control__word{display:none}.sha-section-head{grid-template-columns:1fr;gap:25px}.sha-portal__row{grid-template-columns:45px 95px 1fr 24px;gap:14px}.sha-portal__row p{display:none}.sha-faq__grid{grid-template-columns:1fr;gap:45px}.sha-network__row{grid-template-columns:45px 1fr 24px}.sha-network__row small{display:none}.sha-network__extras{grid-template-columns:1fr}.sha-footer__grid{align-items:flex-start}.sha-mobile-cta{display:grid;grid-template-columns:1fr .8fr 1fr;position:fixed;z-index:9998;left:0;right:0;bottom:0;padding-bottom:env(safe-area-inset-bottom);background:#080809;border-top:1px solid #303034}.sha-mobile-cta a{min-height:64px;display:flex;flex-direction:column;justify-content:center;padding:8px 12px;text-decoration:none;border-right:1px solid #303034}.sha-mobile-cta a:last-child{background:var(--sha-wine);border-right:0}.sha-mobile-cta small{font:800 7px/1 var(--sha-mono);letter-spacing:.12em;color:#807b7f;margin-bottom:6px}.sha-mobile-cta a:last-child small{color:#e0a8b4}.sha-mobile-cta b{font-size:12px}.sha-footer{padding-bottom:145px}}
@media(max-width:560px){body{font-size:16px}.sha-shell{width:calc(100% - 34px)}.sha-header__inner{width:calc(100% - 24px)}.sha-brand__text strong{font-size:14px}.sha-hero__grid{padding:75px 0 62px}.sha-hero__copy h1 span{font-size:42px}.sha-hero__copy h1 strong{font-size:58px;line-height:.95}.sha-hero__statement{font-size:16px;margin-top:25px}.sha-hero__lead{font-size:14px}.sha-hero__lead br{display:none}.sha-hero__actions{align-items:flex-start;flex-direction:column;gap:17px}.sha-button{width:100%;min-height:57px}.sha-hero__visual{padding:0 14px 28px 0;margin-top:12px}.sha-hero__visual:before{font-size:60px;right:-20px}.sha-hero__visual figcaption{left:-12px;padding:15px 16px}.sha-hero__visual figcaption strong{font-size:14px}.sha-intro{padding:90px 0}.sha-intro__copy h2{font-size:40px}.sha-intro__body{margin-top:30px}.sha-intro__body p{font-size:15px}.sha-intro blockquote{font-size:29px;margin-top:40px}.sha-gallery__grid{grid-template-columns:1fr 1fr;grid-template-rows:260px 250px 250px}.sha-method{padding:90px 0}.sha-method__sticky h2{font-size:41px}.sha-method__item{grid-template-columns:58px 1fr;gap:18px;padding:30px 0}.sha-method__item>span{font-size:29px}.sha-method__item h3{font-size:21px}.sha-manifesto{padding:85px 0 95px}.sha-manifesto h2{font-size:74px}.sha-manifesto>div>p:last-child{font-size:16px}.sha-control{padding:85px 0}.sha-control__copy h2{font-size:40px}.sha-portal,.sha-network{padding:90px 0}.sha-section-head h2{font-size:40px}.sha-portal__row{grid-template-columns:34px 1fr 24px;min-height:90px}.sha-portal__row small{display:none}.sha-portal__row strong{font-size:18px}.sha-faq{padding:85px 0}.sha-faq__head h2{font-size:40px}.sha-faq__item{grid-template-columns:48px 1fr;gap:12px;padding:28px 0}.sha-faq__item h3{font-size:19px}.sha-network__row strong{font-size:17px}.sha-network__extras a{grid-template-columns:80px 1fr auto;padding:22px 18px}.sha-network__extras strong{font-size:14px}.sha-final{min-height:620px}.sha-final h2{font-size:66px}.sha-final__actions{align-items:flex-start;flex-direction:column;gap:18px}.sha-footer__grid{display:grid}.sha-footer__meta{text-align:left}.sh-age-inner{width:calc(100% - 26px);padding:30px 0 70px}.sh-age-site-title{font-size:38px}.sh-age-main{margin-bottom:22px}.sh-age-image-intro p:first-child{font-size:17px}.sh-age-copy{padding:22px 0}.sh-age-copy-lead{font-size:18px}.sh-age-buttons{grid-template-columns:1fr}.sh-age-linkgrid{grid-template-columns:1fr}.sh-age-linkgrid a:nth-child(odd),.sh-age-linkgrid a:nth-child(even){padding:15px 0;border-left:0}.sh-age-extras{grid-template-columns:1fr}.sh-age-hotel-list{columns:1}.sh-age-hotel-fee{display:block}.sh-age-hotel-fee span{display:block;margin-top:5px}.sh-age-group-title,.sh-age-hotel h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sha-reveal{opacity:1;transform:none;transition:none}.sha-hero__frame img,.sha-gallery__item img{transition:none}}


/* =========================================================
   v2026.10.1
   Remove decorative text overlays from images
========================================================= */
.sha-hero__visual:before{content:none !important;display:none !important;}
.sha-hero__visual figcaption{display:none !important;}
.sha-gallery__item > span{display:none !important;}


/* =========================================================
   v2026.10.2 / MOBILE TYPOGRAPHY FINISH
   - Age gate title on one line
   - Hero "だから、深い。" on one line
   - Manifesto "遅いから、効く。" on one line
   - Remove remaining age-gate image overlay label
========================================================= */
.sh-age-main:after{content:none!important;display:none!important;}

@media(max-width:560px){
  /* AGE GATE: brand name as one deliberate line */
  .sh-age-site-title{
    font-size:clamp(27px,7.7vw,34px)!important;
    line-height:1.08!important;
    letter-spacing:-.055em!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    margin:16px 0 28px!important;
  }

  /* HERO: keep second phrase visually intact */
  .sha-hero__copy h1{
    line-height:.96!important;
    letter-spacing:-.06em!important;
  }
  .sha-hero__copy h1 span{
    font-size:clamp(38px,10.8vw,44px)!important;
    line-height:1!important;
  }
  .sha-hero__copy h1 strong{
    font-size:clamp(42px,11.6vw,48px)!important;
    line-height:1!important;
    letter-spacing:-.065em!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    margin-top:9px!important;
  }
  .sha-hero__copy h1 em{display:inline!important;}

  /* MANIFESTO: one strong horizontal statement */
  .sha-manifesto h2{
    font-size:clamp(39px,10.8vw,46px)!important;
    line-height:1.02!important;
    letter-spacing:-.065em!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    margin:20px 0 24px!important;
  }
  .sha-manifesto h2 br{display:none!important;}
  .sha-manifesto h2 em{display:inline!important;}
}

@media(max-width:380px){
  .sh-age-site-title{font-size:26px!important;}
  .sha-hero__copy h1 strong{font-size:40px!important;}
  .sha-manifesto h2{font-size:37px!important;}
}


/* =========================================================
   v2026.10.3
   - Copy fix: 「イカせない時間をつくる。」
   - Desktop gallery: show all six portrait images without cropping
   - Mobile readability: enlarge normal reading copy only
========================================================= */

/* PC / large tablet gallery: preserve each source image's full portrait frame. */
@media(min-width:821px){
  .sha-gallery{
    padding:4px;
  }
  .sha-gallery__grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-template-rows:none;
    grid-auto-rows:auto;
    gap:4px;
    max-width:1440px;
    margin:0 auto;
  }
  .sha-gallery__item,
  .sha-gallery__item--a,
  .sha-gallery__item--b,
  .sha-gallery__item--c,
  .sha-gallery__item--d,
  .sha-gallery__item--e,
  .sha-gallery__item--f{
    grid-column:auto;
    grid-row:auto;
    aspect-ratio:487/650;
    min-height:0;
  }
  .sha-gallery__item img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }
}

/* Smartphone: keep the large headline hierarchy, but make body copy easier to read. */
@media(max-width:560px){
  body{font-size:17px;line-height:1.9}

  .sha-hero__lead{
    font-size:16px;
    line-height:1.85;
  }
  .sha-intro__body p{
    font-size:17px;
    line-height:1.9;
  }
  .sha-method__sticky>p:last-child,
  .sha-method__item p,
  .sha-control__copy>p:nth-of-type(2),
  .sha-section-head>p,
  .sha-faq__item p,
  .sha-final__inner>p:nth-of-type(2){
    font-size:17px;
    line-height:1.9;
  }
  .sha-manifesto>div>p:last-child{
    font-size:18px;
    line-height:1.8;
  }

  /* Age gate / guidance text: enlarge reading copy, not labels or major headings. */
  .sh-age-image-intro p{
    font-size:16px;
    line-height:1.8;
  }
  .sh-age-image-intro p:first-child{
    font-size:18px;
  }
  .sh-age-copy p,
  .sh-age-intro p{
    font-size:16px;
    line-height:1.85;
  }
  .sh-age-group-lead,
  .sh-age-hotel>p{
    font-size:15px;
    line-height:1.8;
  }
  .sh-age-hotel-list li{
    font-size:14px;
    line-height:1.65;
    padding:11px 0;
  }
  .sh-age-hotel-note{
    font-size:13px!important;
    line-height:1.85!important;
  }
}


/* =========================================================
   v2026.10.4 — PC GALLERY COMPLETE FIX
   - Definitive desktop reset for the six-image gallery
   - All source portraits are shown in full
   - No legacy mosaic spans / overlap / hover crop
   - Mobile layout and mobile typography remain unchanged
========================================================= */
@media (min-width:821px){
  .sha-gallery{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    padding:28px 0 34px!important;
    margin:0!important;
    clear:both!important;
    overflow:visible!important;
    background:#080809!important;
    position:relative!important;
    z-index:1!important;
  }

  .sha-gallery__grid{
    display:grid!important;
    width:min(1180px,calc(100% - 64px))!important;
    max-width:1180px!important;
    height:auto!important;
    min-height:0!important;
    margin:0 auto!important;
    padding:0!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,auto)!important;
    grid-auto-flow:row!important;
    grid-auto-rows:auto!important;
    gap:6px!important;
    align-items:start!important;
    position:relative!important;
    inset:auto!important;
    transform:none!important;
  }

  .sha-gallery__item,
  .sha-gallery__item--a,
  .sha-gallery__item--b,
  .sha-gallery__item--c,
  .sha-gallery__item--d,
  .sha-gallery__item--e,
  .sha-gallery__item--f{
    display:block!important;
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    grid-column:auto!important;
    grid-row:auto!important;
    grid-area:auto!important;
    aspect-ratio:487 / 650!important;
    overflow:hidden!important;
    transform:none!important;
    background:#0d0c0e!important;
  }

  .sha-gallery__item img{
    display:block!important;
    position:static!important;
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
  }

  .sha-gallery__item:hover img{
    transform:none!important;
  }

  .sha-gallery + .sha-method,
  .sha-method{
    clear:both!important;
    position:relative!important;
    z-index:2!important;
  }
}
