:root{--pink: #e6007e;--pink-soft: #ff3d9a;--cyan: #00ace6;--cyan-dark: #0093c7;--yellow: #ffd400;--ink: #2b2b2b;--gray: #8b9199;--line: #e3e6ea;--bg: #dfe4e9;--card: #ffffff;--frame-w: 960px;--read-w: 860px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);font-family:Noto Sans JP,-apple-system,Hiragino Kaku Gothic ProN,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.frame{width:100%;min-height:100vh;background:var(--bg);position:relative;overflow-x:hidden}.page{padding-bottom:40px}.app-header{position:sticky;top:0;z-index:30;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--line)}.app-header .logo{height:30px;width:auto}.app-header nav{display:flex;gap:22px}.app-header nav a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;color:var(--ink);font-weight:700}.app-header nav a .ico{font-size:20px;line-height:1}.app-header .home-btn{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;font-weight:700}.app-header .home-btn .ico{font-size:18px}.hero img{width:100%}.sec-bar{background:var(--cyan);color:#fff;text-align:center;font-weight:900;letter-spacing:.04em;padding:12px 8px;font-size:17px}.sec-bar.gray{background:#9aa0a6}.sec-bar.small{font-size:15px;padding:10px}.cards{padding:14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.card{background:var(--card);border-radius:10px;overflow:hidden;box-shadow:0 3px 10px #00000014}.card .photo{position:relative}.card .photo img{width:100%;height:190px;object-fit:cover}.tag{position:absolute;left:10px;top:10px;background:#0000008c;color:#fff;font-size:12px;font-weight:700;padding:3px 10px;border-radius:3px}.badge-off{position:absolute;right:10px;top:10px;background:var(--pink);color:#fff;border-radius:50%;width:62px;height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;line-height:1;box-shadow:0 2px 6px #00000040}.badge-off small{font-size:9px;font-weight:700}.badge-off b{font-size:17px}.card .body{padding:12px 14px 16px}.card .title{font-size:15px;font-weight:700;line-height:1.45;margin:0 0 8px}.card .desc{font-size:12px;color:#555;line-height:1.6;margin:0 0 12px}.card .price-row{display:flex;align-items:baseline;gap:6px;margin-bottom:12px}.card .price-row .note{font-size:11px;color:#fff;background:var(--pink);padding:2px 6px;border-radius:3px;font-weight:700}.card .price{color:var(--pink);font-weight:900;font-size:22px}.card .price small{font-size:13px}.btn-detail{width:100%;border:2px solid var(--cyan);background:#fff;color:var(--cyan-dark);font-weight:700;font-size:14px;padding:11px;border-radius:8px}.btn-detail:after{content:" ＞"}.btn-primary{width:100%;background:var(--pink);color:var(--yellow);font-weight:900;font-size:21px;letter-spacing:.08em;border:none;padding:18px;border-radius:12px;box-shadow:0 4px #0000001f}.btn-search{width:100%;background:var(--cyan);color:#fff;font-weight:900;font-size:18px;border:none;padding:16px;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:8px}.search-wrap{padding:16px}.search-box{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 3px 10px #00000014}.search-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.search-row:last-child{border-bottom:none}.search-row .ico{color:var(--cyan);font-size:22px;width:26px;text-align:center}.search-row .label{font-weight:700;font-size:15px}.search-row .val{margin-left:auto;color:#555;font-size:14px;display:flex;align-items:center;gap:6px}.search-row.split{gap:0;padding:0}.search-row.split>div{flex:1;display:flex;align-items:center;gap:10px;padding:14px 16px}.search-row.split>div:first-child{border-right:1px solid var(--line)}.search-row.full{padding:0}.search-row.full input{width:100%;border:none;padding:14px 16px;font-size:15px;outline:none}.chev{color:var(--gray);font-size:12px}.search-cta{padding:16px}.detail-head{padding:14px 16px 6px}.detail-head .place{font-size:13px;color:#666}.detail-head h1{font-size:20px;font-weight:900;line-height:1.4;margin:4px 0 0}.slider{position:relative;margin:8px 0}.slider img{width:100%;height:230px;object-fit:cover}.slider .arrow{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;background:#ffffffd9;border:none;display:flex;align-items:center;justify-content:center;font-size:16px;color:#444;box-shadow:0 1px 4px #0003}.slider .arrow.l{left:8px}.slider .arrow.r{right:8px}.slider .dots{position:absolute;bottom:8px;left:0;right:0;display:flex;gap:6px;justify-content:center}.slider .dots span{width:7px;height:7px;border-radius:50%;background:#fff9}.slider .dots span.on{background:#fff}.lead{padding:4px 16px 14px;font-size:12.5px;color:#555;line-height:1.7}.feature-list{padding:4px 16px 16px}.feature{display:flex;gap:10px;padding:12px 0;border-bottom:1px dashed var(--line)}.feature .num{color:var(--pink);font-weight:900;font-size:18px;min-width:26px}.feature .ftitle{color:var(--pink);font-weight:700;font-size:15px;margin-bottom:4px}.feature .fbody{font-size:12.5px;color:#555;line-height:1.7;white-space:pre-line}.block{padding:0 16px 18px}.block img{border-radius:8px;margin-top:10px}.block p{font-size:12.5px;color:#555;line-height:1.7}.kv{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.kv .row{display:flex;padding:12px 14px;border-bottom:1px solid var(--line);font-size:13px}.kv .row:last-child{border-bottom:none}.kv .row .k{font-weight:700;min-width:120px}.kv .row .v{color:#555}.policy{font-size:12.5px;color:#555;line-height:1.8}.policy ul{padding-left:1.1em;margin:6px 0}.section-title{padding:18px 16px 6px;font-weight:900;font-size:16px}.spacer{height:18px}.app-footer{text-align:center;padding:26px 16px 34px;color:#777;font-size:12px}.action-bar{padding:18px 16px 26px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:60;padding:16px}.modal{width:100%;max-width:400px;background:#fff;border-radius:14px;overflow:hidden}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--cyan);color:#fff;font-weight:900}.modal-head .close{background:none;border:none;color:#fff;font-size:22px;line-height:1}.cal-nav{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;font-weight:700}.cal-nav button{background:none;border:none;font-size:18px;color:var(--pink)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.cal-grid .dow{text-align:center;font-size:11px;padding:6px 0;color:#888;font-weight:700}.cal-grid .dow.sun{color:var(--pink)}.cal-grid .dow.sat{color:var(--cyan)}.cal-cell{aspect-ratio:1 / .82;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;border-top:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none}.cal-cell.muted{color:#cfd4d9;cursor:default}.cal-cell.sun{color:var(--pink)}.cal-cell.sat{color:var(--cyan)}.cal-cell.sel{background:var(--yellow);color:#222}.cal-cell.range{background:#fff3b0;color:#222}.modal-foot{padding:14px 16px}.modal-foot .btn-primary{font-size:18px;padding:14px}.notice{background:#fff;margin:0 16px;border-radius:8px;padding:14px;font-size:12.5px;color:#555;line-height:1.8;box-shadow:0 2px 8px #0000000f}.back-link{padding:12px 16px;color:var(--cyan-dark);font-weight:700;font-size:14px}.complete{text-align:center;padding:50px 24px}.complete .check{width:78px;height:78px;border-radius:50%;background:var(--cyan);color:#fff;font-size:40px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.complete h2{font-size:20px;margin:0 0 10px}.complete p{color:#666;font-size:13px;line-height:1.8}.mock-flag{position:fixed;left:8px;bottom:8px;z-index:80;background:#0009;color:#fff;font-size:10px;padding:3px 8px;border-radius:10px}.app-header{padding-inline:clamp(16px,3vw,40px)}.cards{padding-inline:clamp(14px,2vw,28px)}@media (min-width: 700px){.hero img{height:clamp(220px,26vw,420px);object-fit:cover}.card .photo img{height:190px}.detail-head,.lead,.feature-list,.block,.search-wrap,.action-bar,.back-link,.notice,.complete,.section-title,.slider{max-width:var(--read-w);margin-left:auto;margin-right:auto}.app-header .logo{height:34px}.app-header nav{gap:34px}.slider img{height:360px}.detail-head h1{font-size:24px}.sec-bar{font-size:19px}}
