/*
Theme Name: zamen-kojiro
Theme URI: https://www.zamen-kojiro.com/
Author: OpenAI
Description: ザーメン濃二郎 専用テーマ（年齢認証＋本体一体型）
Version: 2026.09.26.9
*/
:root{--yellow:#ffd900;--yellow2:#fff1a6;--black:#111;--black2:#232323;--red:#e31b23;--cream:#fff8da;--white:#fff;--line:#ded7b6;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Yu Gothic","YuGothic","Meiryo",sans-serif;color:var(--black);background:#fff;line-height:1.75}img{max-width:100%;height:auto;display:block}a{color:inherit}.wrap{width:min(var(--max),calc(100% - 32px));margin:auto}.kicker{display:inline-block;background:var(--black);color:var(--yellow);padding:.28em .7em;font-size:.86rem;letter-spacing:.12em;transform:rotate(-1deg)}.red{color:var(--red)}.big{font-size:clamp(2.2rem,7vw,5.9rem);line-height:.98;letter-spacing:-.04em;margin:.18em 0;text-wrap:balance}.subbig{font-size:clamp(1.3rem,3.4vw,2.4rem);line-height:1.35;margin:.35em 0}.lead{font-size:clamp(1rem,2vw,1.25rem);line-height:1.95}.stamp{display:inline-flex;align-items:center;justify-content:center;border:4px solid var(--red);color:var(--red);padding:.18em .45em;line-height:1;transform:rotate(-4deg);font-weight:1000}.btn{display:flex;justify-content:center;align-items:center;min-height:64px;padding:14px 18px;text-decoration:none;border:4px solid var(--black);font-size:clamp(1rem,2.3vw,1.22rem);font-weight:1000;box-shadow:5px 5px 0 var(--black);transition:.15s transform,.15s box-shadow;text-align:center}.btn:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--black)}.btn-enter{background:var(--red);color:#fff}.btn-exit{background:#fff;color:#111}.btn-mini{min-height:52px;font-size:.95rem;background:var(--black);color:var(--yellow)}
/* age */
body.age-page{min-height:100vh;background:var(--yellow);padding:22px 0 40px;position:relative}body.age-page:before,body.age-page:after{content:"";position:fixed;left:0;right:0;height:14px;background:var(--black);z-index:0}body.age-page:before{top:0}body.age-page:after{bottom:0}.age-shell{position:relative;z-index:1;width:min(1180px,calc(100% - 24px));margin:auto}.age-card{background:var(--yellow);border:8px solid var(--black);box-shadow:14px 14px 0 rgba(0,0,0,.3);overflow:hidden}.age-top{background:var(--black);color:var(--yellow);padding:10px 18px;font-weight:1000;letter-spacing:.16em;text-align:center;font-size:clamp(.9rem,2vw,1.1rem)}.age-visual img{width:100%;height:min(34vw,350px);object-fit:cover;border-bottom:6px solid var(--black)}.age-inner{padding:clamp(24px,5vw,52px);text-align:center}.age-logo{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;column-gap:.02em;row-gap:0;font-size:clamp(2.2rem,10.2vw,7.2rem);font-weight:1000;line-height:.92;letter-spacing:-.06em;margin:0;text-shadow:4px 4px 0 var(--white)}.age-logo-line{display:inline-block;white-space:nowrap}.age-logo-line-1{margin-right:.02em}.age-logo-line-2{margin-left:-.02em}.age-logo small{flex-basis:100%;display:block;font-size:.2em;letter-spacing:.35em;margin:18px 0 0;text-shadow:none}.age-call{margin:26px auto 18px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:760px}.age-call span{background:var(--black);color:var(--yellow);padding:12px 8px;border:3px solid var(--black);font-size:clamp(.8rem,2.1vw,1.08rem)}.age-question{font-size:clamp(1.4rem,4vw,2.35rem);margin:26px 0 6px;line-height:1.35}.age-note{font-size:.95rem;margin:0 auto 22px;max-width:680px}.age-actions{display:grid;grid-template-columns:1.3fr .7fr;gap:12px;max-width:760px;margin:auto}.age-foot{margin:26px 0 0;font-size:.8rem;font-weight:700;opacity:.78}.age-subpanel{margin-top:18px}.subgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.subcard{background:#fff8ce;border:6px solid var(--black);box-shadow:10px 10px 0 rgba(0,0,0,.18);padding:20px}.subcard h2{font-size:clamp(1.4rem,3vw,2rem);margin:0 0 6px;line-height:1.2}.subcard p{margin:0 0 14px}.group-links{display:grid;gap:10px}.group-links a{display:block;border:3px solid var(--black);background:#fff;box-shadow:4px 4px 0 rgba(0,0,0,.15)}.group-links img{width:100%;display:block}.hotel-mini{display:grid;gap:10px}.hotel-row{background:#fff;border:3px solid var(--black);padding:10px 12px;display:grid;gap:4px}.hotel-row b{font-size:1.03rem}.hotel-row span,.hotel-row a{font-size:.93rem}.mini-note{font-size:.85rem;opacity:.82}.mini-cta{margin-top:16px}
/* header/main */
.site-header{position:sticky;top:0;z-index:20;background:var(--yellow);border-bottom:5px solid var(--black)}.header-in{width:min(var(--max),calc(100% - 24px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:72px}.brand{font-size:clamp(1.55rem,3vw,2.4rem);font-weight:1000;letter-spacing:-.06em;text-decoration:none;white-space:nowrap}.brand em{font-style:normal;color:var(--red)}.header-links{display:flex;align-items:center;gap:8px}.header-links a{text-decoration:none;padding:8px 10px;border:2px solid transparent;font-size:.92rem}.header-links .reserve{background:var(--black);color:var(--yellow);border-color:var(--black)}
.hero{position:relative;overflow:hidden;border-bottom:8px solid var(--black);background:var(--yellow)}.hero:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:var(--red);right:-160px;top:-160px;opacity:.92}.hero:after{content:"濃";position:absolute;right:1vw;bottom:-.25em;color:rgba(255,255,255,.28);font-size:min(36vw,430px);font-weight:1000;line-height:1;pointer-events:none}.hero-in{position:relative;z-index:2;padding:clamp(46px,8vw,92px) 0 clamp(34px,6vw,70px)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.hero-slogan{display:flex;flex-wrap:wrap;gap:7px;margin:24px 0}.hero-slogan span{background:var(--black);color:var(--yellow);border:3px solid var(--black);padding:8px 12px;font-size:clamp(.9rem,2vw,1.2rem);transform:rotate(-1deg)}.hero-slogan span:nth-child(even){background:var(--red);color:#fff;transform:rotate(1.5deg)}.hero-photo{position:relative}.hero-photo img{width:100%;border:6px solid var(--black);box-shadow:10px 10px 0 rgba(0,0,0,.18);background:#fff}
.section{padding:clamp(46px,7vw,78px) 0;border-bottom:6px solid var(--black)}.section.black{background:var(--black);color:#fff}.section.cream{background:var(--cream)}.section-title{font-size:clamp(2rem,5vw,3.9rem);line-height:1.1;margin:0 0 14px;letter-spacing:-.045em}.section-desc{font-size:clamp(1rem,2vw,1.15rem);margin:0 0 28px;max-width:900px}.image-head{margin:0 0 22px}.image-head img{max-height:140px;object-fit:contain;object-position:left center}.image-head.slim img{max-height:220px}.triple{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.menu-card{background:#fff;border:5px solid var(--black);padding:0;overflow:hidden;box-shadow:7px 7px 0 rgba(0,0,0,.2)}.menu-card .head{background:var(--black);color:var(--yellow);padding:15px 17px;font-size:1.5rem;line-height:1.2}.menu-card .body{padding:20px}.menu-card .num{font-size:4.2rem;line-height:.8;color:var(--red);font-weight:1000;float:right;margin-left:12px}.two-col-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:start}.two-col-grid.two-even{grid-template-columns:1fr 1fr}.chip-list{display:flex;flex-wrap:wrap;gap:10px}.chip-list span{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;background:var(--yellow);color:var(--black);border:3px solid #fff;font-weight:800;box-shadow:4px 4px 0 var(--red)}.board{background:#fff;border:6px solid var(--black);padding:clamp(22px,4vw,32px);box-shadow:9px 9px 0 rgba(0,0,0,.18);color:var(--black)}.board h3{font-size:clamp(1.45rem,3vw,2.4rem);margin:0 0 16px;line-height:1.3}.gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.gallery-grid figure{margin:0}.gallery-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;border:4px solid #fff;box-shadow:5px 5px 0 rgba(0,0,0,.18)}
.gallery-portrait-grid img{aspect-ratio:3/4;object-fit:cover;object-position:center top}.cover-grid{grid-template-columns:1fr;gap:12px}.cover-grid img{aspect-ratio:auto;max-height:250px;object-fit:contain;background:#fff}.price-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.price-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:2px solid var(--line);padding-bottom:8px;font-size:1.05rem}.price-list b{font-size:1.25rem;color:var(--red)}.bullet-list{padding-left:1.2em;margin:0;display:grid;gap:8px}.bullet-list li{line-height:1.7}.small-note{font-size:.83rem;opacity:.78;margin:12px 0 0}.text-dark{color:var(--black)}.group-links.wide{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-table-wrap{overflow:auto;border:4px solid var(--black);box-shadow:8px 8px 0 rgba(0,0,0,.12)}.hotel-table{width:100%;border-collapse:collapse;background:#fff}.hotel-table th,.hotel-table td{border:1px solid #d9d2af;padding:12px 14px;text-align:left;vertical-align:top}.hotel-table thead th{background:var(--black);color:var(--yellow);position:sticky;top:0}.hotel-table tbody tr:nth-child(even){background:#fffbe6}
.cta{background:var(--red);color:#fff;text-align:center;padding:clamp(44px,8vw,80px) 0;border-bottom:8px solid var(--black)}.cta h2{font-size:clamp(2.2rem,6vw,4.9rem);line-height:1;margin:0 0 16px;letter-spacing:-.05em}.cta p{font-size:1.05rem;margin:0 auto 24px;max-width:760px}.cta .btn{width:min(680px,100%);margin:auto;background:var(--yellow);color:var(--black);border-color:var(--black);box-shadow:7px 7px 0 #fff}.cta .btn:hover{box-shadow:2px 2px 0 #fff}footer{background:var(--black);color:#fff;padding:30px 0 36px;text-align:center;font-size:.88rem}footer a{color:var(--yellow)}.mini-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:16px}.notice{font-size:.78rem;opacity:.72;max-width:820px;margin:16px auto 0;font-weight:500}
@media(max-width:940px){.subgrid,.hero-grid,.two-col-grid,.two-col-grid.two-even,.triple,.group-links.wide{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(3,1fr)}.cover-grid{grid-template-columns:repeat(3,1fr)}.cover-grid img{max-height:unset;aspect-ratio:1/1;object-fit:cover}.hero-photo{order:-1}}
@media(max-width:800px){.age-actions,.age-call{grid-template-columns:1fr 1fr}.header-links a:not(.reserve){display:none}.gallery-grid{grid-template-columns:repeat(2,1fr)}.group-links.wide{grid-template-columns:1fr}.site-header{border-bottom-width:4px}}
@media(max-width:560px){.wrap{width:min(100% - 22px,var(--max))}.age-card{border-width:6px;box-shadow:8px 8px 0 rgba(0,0,0,.3)}.age-visual img{height:32vw;min-height:120px}.age-inner{padding:24px 15px 28px}.age-call{gap:5px}.age-call span{padding:9px 4px;border-width:2px}.age-actions{grid-template-columns:1fr}.subcard{padding:16px;border-width:4px}.btn{min-height:58px;border-width:3px;box-shadow:4px 4px 0 var(--black)}.header-in{min-height:62px}.brand{font-size:1.55rem}.reserve{font-size:.78rem!important;padding:7px 8px!important}.hero-in{padding-top:34px}.hero-slogan{gap:5px}.hero-slogan span{padding:6px 8px;border-width:2px}.section{border-bottom-width:5px}.gallery-grid{grid-template-columns:1fr 1fr;gap:8px}.image-head img{max-height:94px}.image-head.slim img{max-height:160px}.hotel-table th,.hotel-table td{padding:9px 10px;font-size:.9rem}}

/* v2026.09.26.3 - Slow Hands style age links / hotel guide */
.age-subpanel{margin-top:18px;display:grid;gap:18px}.age-group-panel{background:var(--cream);border:6px solid var(--black);box-shadow:10px 10px 0 rgba(0,0,0,.18);padding:clamp(18px,4vw,30px)}.age-group-panel h2{margin:0 0 6px;font-size:clamp(1.45rem,3vw,2.15rem);line-height:1.2}.age-group-lead{margin:0 0 14px;font-size:.95rem}.group-text-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.group-text-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:3px solid var(--black);padding:10px 12px;text-decoration:none;box-shadow:3px 3px 0 rgba(0,0,0,.14)}.group-text-links a:hover{background:var(--yellow)}.group-text-links b{font-size:1rem;line-height:1.35}.group-text-links span{font-size:.78rem;text-align:right;opacity:.72;line-height:1.35}
.slow-hotel-guide{background:#000;border:6px solid var(--black);box-shadow:10px 10px 0 rgba(0,0,0,.18);color:#fff}.hotel-guide-inner{padding:26px 5%;font-size:18px;font-weight:700;line-height:1.85}.hotel-guide-inner h2{margin:0 0 18px;font-size:clamp(1.45rem,3vw,2rem);color:#fff}.hotel-guide-inner p{margin:0 0 18px}.hotel-orange{color:#ff8040}.hotel-yellow{color:#ffff00;margin-top:26px!important}.hotel-pink{color:#ff80ff}.hotel-quick-links{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 18px}.hotel-quick-links a{display:inline-flex;align-items:center;min-height:42px;padding:6px 10px;border:2px solid #fff;color:#fff;text-decoration:none;background:#171717;font-size:.9rem;line-height:1.3}.hotel-quick-links a:hover{background:var(--yellow);color:#000}.hotel-tip{font-size:.88rem!important;color:#ddd}.hotel-more{display:flex;align-items:center;justify-content:center;width:min(560px,100%);min-height:52px;margin:20px auto 0;background:var(--yellow);color:#000;border:3px solid #fff;text-decoration:none;font-weight:1000;text-align:center}.play-full{margin-top:24px}.play-full span{font-size:clamp(.95rem,1.8vw,1.12rem);min-height:50px}
@media(max-width:760px){.group-text-links{grid-template-columns:1fr}.group-text-links a{display:block}.group-text-links span{display:block;text-align:left;margin-top:2px}.hotel-guide-inner{font-size:17px;padding:22px 5%}}

.hero-photo-user{display:flex;align-items:center;justify-content:center}.hero-photo-user img{max-height:560px;object-fit:contain;background:#fff}.group-text-links.main-links a{background:#fff}.group-text-links.main-links b{color:#111}.group-text-links.main-links span{color:#555}.group-text-links.main-links{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-trip-card{background:#fff;border:6px solid var(--black);padding:clamp(22px,4vw,34px);box-shadow:9px 9px 0 rgba(0,0,0,.18)}.hotel-trip-card p{margin:0 0 14px;font-size:1.02rem;line-height:1.9}.hotel-trip-card .strong-line{font-weight:1000;color:var(--red);font-size:1.1rem}.city-badges{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 18px}.city-badges span{display:inline-flex;align-items:center;justify-content:center;min-width:82px;padding:9px 14px;background:var(--black);color:var(--yellow);border:3px solid var(--black);font-weight:1000}.hotel-trip-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.dark-note{opacity:.8}.play-full{margin-top:20px}.group-text-links a{display:block;text-decoration:none;background:#fff8ce;border:3px solid var(--black);padding:12px 14px;box-shadow:4px 4px 0 rgba(0,0,0,.12)}.group-text-links a:hover{transform:translate(2px,2px)}.group-text-links b{display:block;font-size:1.05rem;line-height:1.3}.group-text-links span{display:block;font-size:.86rem;opacity:.85;margin-top:2px}.group-text-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.age-group-panel{background:#fff8ce;border:6px solid var(--black);box-shadow:10px 10px 0 rgba(0,0,0,.18);padding:20px}.age-group-panel h2{margin:0 0 6px;font-size:clamp(1.4rem,3vw,2rem)}.age-group-lead{margin:0 0 14px}.slow-hotel-guide{margin-top:18px}.hotel-guide-inner{background:#111;color:#fff;border:6px solid var(--black);box-shadow:10px 10px 0 rgba(0,0,0,.18);padding:24px}.hotel-guide-inner h2{margin:0 0 14px;font-size:clamp(1.4rem,3vw,2rem)}.hotel-guide-inner p{margin:0 0 12px;line-height:1.9;font-weight:700}.hotel-orange{color:#ff8040}.hotel-yellow{color:#ffff00}.hotel-pink{color:#ff80ff}.hotel-quick-links{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.hotel-quick-links a,.hotel-more{display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;background:#fff;color:#111;text-decoration:none;border:3px solid var(--black);font-weight:1000}.hotel-tip{font-size:.86rem!important;opacity:.88}.hotel-more{background:var(--yellow)}@media(max-width:940px){.group-text-links.main-links,.group-text-links{grid-template-columns:1fr}.hotel-trip-actions{grid-template-columns:1fr}}
.delivery-area-panel{margin-top:18px}.delivery-area-inner{background:#111;color:#fff;border:6px solid var(--black);box-shadow:10px 10px 0 rgba(0,0,0,.18);padding:24px}.delivery-kicker{display:inline-block;background:var(--yellow);color:#111;font-weight:1000;letter-spacing:.12em;padding:.35em .75em;margin:0 0 16px}.delivery-area-inner h2{margin:0 0 14px;font-size:clamp(1.55rem,3.3vw,2.3rem);line-height:1.25}.delivery-area-inner>p{margin:0 0 14px;line-height:1.9;font-weight:700}.delivery-hotel-list{margin:0 0 18px 0;padding-left:1.25em;columns:2;column-gap:32px}.delivery-hotel-list li{margin:0 0 10px;break-inside:avoid;line-height:1.7}.delivery-fee{font-size:1.1rem;color:var(--yellow)!important;margin:10px 0 14px!important}.delivery-notes p{margin:0 0 8px;font-size:.92rem;opacity:.92;font-weight:600}.hero-photo-user img{max-height:640px}@media(max-width:800px){.delivery-hotel-list{columns:1}}
.age-under-actions{max-width:760px;margin:12px auto 0}.btn-under18{background:#eee;color:#333;border-color:#111;box-shadow:4px 4px 0 #111;min-height:54px;font-size:clamp(.95rem,2vw,1.08rem)}.btn-under18:hover{background:#ddd}.age-foot{margin-top:14px}
/* v2026.9.27.13: HOTEL STAY single CTA */
.hotel-trip-actions{grid-template-columns:1fr;max-width:520px;margin-left:auto;margin-right:auto}
