:root{font-family:Arial,'Hiragino Kaku Gothic ProN','Noto Sans JP',Meiryo,sans-serif;color:#052b69;background:#d9ecff;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}.site{width:100%;max-width:570px;min-height:100vh;margin:auto;background:#f8fcff;box-shadow:0 0 24px #2448a433;overflow:hidden;padding-bottom:66px}button{font:inherit;cursor:pointer}header.header{height:55px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#fff,#eef6ff);padding:4px 5px;border-bottom:1px solid #c0d4ed}.brand,.foot-brand{display:flex;align-items:center;gap:8px;white-space:nowrap}.brand-icon{display:grid;place-items:center;background:linear-gradient(145deg,#69d7ff,#0047bf 65%);border:1px solid #77c7f4;border-radius:7px;box-shadow:0 2px 3px #3c5f8e55;color:white;width:45px;height:43px;font-size:33px}.brand strong{color:#114b9e;font-size:21px;letter-spacing:-.8px;display:block;line-height:1}.brand small{display:block;font-size:10px;font-weight:800;margin-top:4px}.head-actions{display:flex;flex:1;justify-content:space-evenly;min-width:0}.head-actions>div{text-align:center;padding:0 4px}.head-actions span{font-size:23px;display:block;line-height:26px}.head-actions small{display:block;font-size:9px;font-weight:800;white-space:nowrap}.hamb{border:0;border-left:1px solid #d6e5f4;background:none;font-size:28px;line-height:1;color:#08458e;padding:8px 7px}.nav{height:40px;display:grid;grid-template-columns:repeat(5,1fr);border-bottom:3px solid #0b66b8;background:linear-gradient(#fff,#f2f9ff)}.nav a{display:flex;align-items:center;justify-content:center;gap:4px;color:#0e3577;text-decoration:none;font-size:12px;font-weight:800;border-right:1px solid #d9e4ee;white-space:nowrap}.nav b{font-size:23px;color:#0870c7}.hero{height:325px;position:relative;overflow:hidden;text-align:center;background:radial-gradient(ellipse at 48% 66%,#fff 0%,#f7f0d0 37%,#70d4ff 76%,#0485dd 100%)}.scenic-top{position:absolute;inset:0;pointer-events:none}.mountain{position:absolute;left:-32px;top:20px;width:220px;height:145px;background:linear-gradient(145deg,#fff 0 27%,#86b3d7 27% 45%,#fff 45% 56%,#82b1d2 56%);clip-path:polygon(50% 0,100% 100%,0 100%);opacity:.82}.pagoda{position:absolute;right:-7px;top:65px;font-size:122px;opacity:.58;filter:drop-shadow(0 2px 2px #b02933)}.plane{position:absolute;right:18px;top:2px;transform:rotate(-18deg);font-size:68px;color:#f9ffff;text-shadow:1px 2px 2px #335978}.sakura{position:absolute;left:-30px;top:42px;font-size:90px;word-spacing:-28px;color:#f6a2d6;opacity:.76;text-shadow:10px 9px #ffd0e6}.ribbon{position:relative;width:max-content;max-width:88%;margin:11px auto 4px;background:linear-gradient(#ed1e27,#b60008);color:#fff;font-size:17px;font-weight:900;padding:5px 16px;transform:rotate(-4deg);box-shadow:2px 3px 1px #80251c;clip-path:polygon(0 0,100% 0,95% 50%,100% 100%,0 100%,5% 50%);text-shadow:1px 1px #6a0000}.limit{position:relative;z-index:1;margin:auto;width:fit-content;background:linear-gradient(#ff7a1b,#eb0900 50%,#b90000);border:4px solid #ffda70;border-radius:40% 40% 30% 30%;color:white;display:flex;align-items:baseline;padding:3px 14px;transform:rotate(-2deg);text-shadow:2px 3px 2px #8e1400;box-shadow:0 3px 0 #ce8b12,0 6px 13px #88461a66}.limit span{font-size:23px;font-weight:900}.limit strong{font-size:46px;letter-spacing:-3px;line-height:1.15}.hero h1{position:relative;z-index:1;font-size:20px;margin:4px 0 2px;text-shadow:0 1px white}.gift-card{position:relative;z-index:1;margin:4px auto 0;background:linear-gradient(140deg,#fff7dd,#fff 32%,#f9df98);border:1px solid #e1c689;border-radius:12px;width:71%;height:154px;transform:rotate(-5deg);box-shadow:0 7px 8px #32597877;padding:11px 10px 4px}.gift-ribbon{position:absolute;left:-28px;top:-9px;font-size:53px;transform:rotate(-13deg)}.amazon{font-size:19px;font-weight:900;color:#1f2226;letter-spacing:-1px}.smile{font-size:29px;color:#e89a00}.gift-type{font-size:13px;font-weight:900;color:#bd6817;margin-top:-5px}.yen{line-height:.95;color:#d90007;text-shadow:1px 2px #8a0d00}.yen strong{font-size:64px;letter-spacing:-3px}.yen span{font-size:29px;font-weight:900}.gift-card p{font-size:15px;font-weight:900;margin:0;color:#152d66;line-height:1.1}.gift-boxes{position:absolute;right:3px;bottom:0;font-size:70px;filter:drop-shadow(0 3px 2px #734d32)}.benefits{height:67px;display:grid;grid-template-columns:1fr 1fr 1.25fr 1fr;background:linear-gradient(#fff,#edf6ff);border-bottom:1px solid #d6e3ff}.benefit{display:flex;align-items:center;justify-content:center;gap:3px;min-width:0;font-size:9px;font-weight:800;line-height:1.3;text-align:left}.benefit-icon{flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:linear-gradient(#fff,#fff5cb);border:2px solid #ebb946;display:grid;place-items:center;font-size:26px;box-shadow:0 2px 2px #7189a166}.benefit strong{color:#dc1218;font-size:12px}.amazon-round{color:#151515;font-size:34px;font-weight:900}.download-area{background:linear-gradient(#e1f4ff,#fff);padding:3px 14px 11px}.download{width:100%;height:65px;background:linear-gradient(#ff8e84 0%,#ff141c 25%,#dd0000 70%,#ae0000 100%);border:3px solid #ffb76b;border-radius:50px;box-shadow:0 5px 1px #ffc35a,0 8px 7px #e6704977;color:white;display:flex;align-items:center;justify-content:center;gap:11px;font-size:25px;font-weight:900;text-shadow:1px 2px #ab0000;white-space:nowrap}.android{font-size:33px}.download b{font-size:25px}.download:active,.foot-download:active{transform:translateY(2px)}.download-meta{display:flex;justify-content:center;gap:0;margin-top:14px;font-size:13px;font-weight:800}.download-meta span{padding:0 20px;border-right:1px solid #9bafc6}.download-meta span:last-child{border:0}.steps-section{padding:2px 7px 12px;background:linear-gradient(#f6fcff,#e8f7ff)}h2{margin:5px 0 10px;text-align:center;color:#04418d;font-size:22px;font-weight:900}.steps{display:flex;align-items:stretch;gap:4px}.step{position:relative;flex:1;min-width:0;min-height:125px;border-radius:12px;background:linear-gradient(#fff,#f6fcff);box-shadow:0 2px 5px #7eacd266;text-align:center;padding:5px 3px}.number{position:absolute;top:5px;left:6px;width:42px;height:43px;border-radius:50%;background:linear-gradient(#03adff,#00409d);color:white;font-size:11px;line-height:15px;display:grid;align-content:center;box-shadow:0 1px 1px #1b2a6d}.number b{font-size:21px}.step-picto{display:block;font-size:42px;line-height:45px;margin-left:31px;color:#0b6cbb}.step h3{font-size:14px;line-height:1.15;margin:7px 0 4px}.step p{margin:0;font-size:11px;font-weight:600;line-height:1.35;color:#303b51}.step p.red{color:#ba1216}.between{align-self:center;font-size:33px;color:#006dc4;font-weight:900}.services{position:relative;min-height:188px;padding:4px 7px 2px;background:linear-gradient(#f3fcff,#fff)}.services h2{text-align:left;margin:2px 0 13px;font-size:23px}.service-grid{display:grid;grid-template-columns:repeat(5,1fr);width:52%;text-align:center}.service-grid>div{font-size:10px;font-weight:900;border-right:1px solid #e2ebfa;line-height:1.3}.service-grid span{display:block;font-size:29px;margin-bottom:5px;color:#004b98}.app-display{position:absolute;right:16px;top:7px;display:flex;align-items:flex-start;transform:rotate(-10deg);filter:drop-shadow(2px 3px 3px #2745687c)}.phone{border:5px solid #10151c;border-radius:19px;background:#fff;width:116px;height:184px;overflow:hidden;text-align:center;box-shadow:inset 0 0 0 1px #afc1d8}.phone-top{color:#fff;background:#078bd7;padding:8px 2px;font-size:12px;font-weight:800}.phone-photo{background:linear-gradient(#66bdfa,#d0ebff 50%,#f8d0e5);font-size:35px;height:71px}.phone-icons{font-size:11px;padding:9px 0}.phone-bottom{font-size:9px;color:#03488a}.phone-small{width:107px;height:157px;margin-left:-10px;margin-top:15px;transform:rotate(17deg)}.phone-small .phone-top{background:#f7faff;color:#183b66}.mini-amazon{font-weight:900;color:#111;font-size:14px;margin:21px 0 3px}.mini-yen{font-size:28px;color:red;font-weight:900}.mini-yen span{font-size:12px}.phone-small small{color:#a76b20}.service-end{margin:24px 12px 0 48%;font-size:22px;line-height:1.2;transform:rotate(-8deg);font-style:italic;color:#103c81;text-align:center}.summary{margin:5px 9px 14px;border:2px solid #e7b5bb;border-radius:8px;background:#fff;box-shadow:0 2px 5px #4872ac33;overflow:visible;padding-bottom:4px}.summary h2{background:linear-gradient(#ff5960,#d60012);color:white;border-radius:3px 10px 10px 3px;text-align:left;width:145px;padding:4px 8px;font-size:15px;margin:-5px 0 7px -4px;transform:skew(-9deg)}.summary dl{margin:0 8px}.summary dl>div{display:grid;grid-template-columns:105px 1fr;align-items:start;padding:4px 0;border-bottom:1px dotted #ddd;font-size:10px;line-height:1.4}.summary dl>div:last-child{border:0}.summary dt{color:#df243a;font-weight:900}.summary dd{margin:0;color:#17223b;font-weight:700}.sticky{position:fixed;z-index:10;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:570px;min-height:65px;background:linear-gradient(#25acfd,#0051b0 70%,#002f7e);border-top:2px solid #83d2ff;display:flex;align-items:center;gap:5px;padding:5px 7px;color:white;box-shadow:0 -3px 12px #2365ad77}.foot-brand .brand-icon{width:45px;height:43px}.foot-brand b{font-size:18px}.foot-brand small{display:block;font-size:9px;white-space:nowrap}.foot-offer{flex:1;text-align:center;font-size:10px;min-width:0;white-space:nowrap}.foot-offer>b{background:linear-gradient(#ffea62,#ff9d00);border-radius:20px;color:#be2400;padding:3px 5px;font-size:11px;display:inline-block}.foot-offer span{display:block;margin-top:4px}.foot-offer strong{font-size:14px}.foot-download{color:white;border:2px solid #ffb665;border-radius:30px;padding:12px 9px;background:linear-gradient(#ff9c56,#ed1a08 55%,#9e0600);box-shadow:0 3px 2px #00296f;font-size:15px;font-weight:900;white-space:nowrap;text-shadow:1px 1px #9c1d0a}.toast{position:fixed;z-index:30;left:50%;top:45%;transform:translate(-50%,-50%);max-width:90%;padding:18px 24px;background:#113c72;color:white;border-radius:12px;text-align:center;box-shadow:0 5px 28px #0005;font-size:14px}.toast[hidden]{display:none}@media(max-width:450px){.head-actions>div:nth-child(2){display:none}.brand strong{font-size:18px}.brand small{font-size:8px}.brand-icon{width:38px;height:38px;font-size:27px}.nav a{font-size:10px;gap:2px}.nav b{font-size:18px}.hero{height:310px}.ribbon{font-size:13px}.limit strong{font-size:39px}.limit span{font-size:18px}.hero h1{font-size:17px}.gift-card{width:75%;height:154px}.yen strong{font-size:53px}.benefit{font-size:8px;gap:2px}.benefit-icon{flex-basis:30px;width:30px;height:30px;font-size:20px}.benefit strong{font-size:10px}.download{font-size:17px;height:58px;gap:5px}.download-meta{font-size:10px}.download-meta span{padding:0 13px}.steps-section h2{font-size:17px}.step h3{font-size:11px}.step p{font-size:9px}.step-picto{font-size:35px}.number{width:33px;height:33px;font-size:8px;line-height:11px}.number b{font-size:17px}.service-grid{width:55%}.service-grid span{font-size:21px}.service-grid>div{font-size:8px}.app-display{right:0;transform:rotate(-10deg) scale(.79);transform-origin:top right}.services h2{font-size:18px}.foot-brand small{display:none}.foot-brand b{font-size:13px}.foot-brand .brand-icon{width:31px;height:32px;font-size:22px}.foot-offer{font-size:8px}.foot-offer>b{font-size:8px}.foot-offer strong{font-size:10px}.foot-download{font-size:10px;padding:10px 5px}}@media(max-width:360px){.head-actions>div:nth-child(3){display:none}.foot-offer span{font-size:7px}.foot-download{font-size:9px}.summary dl>div{grid-template-columns:94px 1fr}.gift-card{width:78%}}
@media(max-width:570px){.nav.expanded{height:auto;min-height:40px;grid-template-columns:repeat(2,1fr)}.nav.expanded a{min-height:42px}}

/* User supplied replacement gift card artwork */
.gift-card.gift-card-image{height:auto;padding:0;overflow:hidden;background:transparent;border:0;border-radius:8px;box-shadow:0 7px 8px #32597877;line-height:0}
.gift-card.gift-card-image img{display:block;width:100%;height:auto;object-fit:contain}

/* Amazon 10,000 yen offer visual priority */
.hero{height:430px;background:radial-gradient(ellipse at 48% 65%,#fff9e5 0%,#f1faff 39%,#85d9ff 75%,#0888d7 100%)}
.hero-reward{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:9px;width:max-content;max-width:96%;margin:2px auto 8px;padding:5px 13px;background:linear-gradient(110deg,#fffdfa,#fff4cc);border:2px solid #ffd566;border-radius:12px;box-shadow:0 3px 0 #eaa32f,0 5px 12px #0a3c6860;transform:rotate(-1deg)}
.hero-reward-label{font-size:15px;font-weight:900;color:#142d51}
.hero-reward-number{font-size:43px;font-weight:1000;line-height:1;color:#d5090e;text-shadow:1px 2px 0 #ffdc86;letter-spacing:-2px;white-space:nowrap}
.hero-reward-number small{font-size:21px;letter-spacing:0}
.gift-card.gift-card-image{width:79%;max-width:430px;transform:rotate(-3deg);border-radius:13px;box-shadow:0 8px 0 #dfb95b,0 13px 18px #21466b81}
.gift-boxes{right:0;bottom:0;font-size:53px;z-index:1}
.offer-caption{margin:2px 0 10px;text-align:center;font-size:14px;font-weight:800;color:#134177}
.offer-caption strong{color:#d20c15;font-size:19px;white-space:nowrap}
@media(max-width:450px){.hero{height:410px}.hero-reward{gap:7px;padding:5px 9px;margin-bottom:7px}.hero-reward-label{font-size:12px}.hero-reward-number{font-size:37px}.hero-reward-number small{font-size:17px}.gift-card.gift-card-image{width:83%}.offer-caption{font-size:11px}.offer-caption strong{font-size:15px}}
@media(max-width:360px){.hero{height:391px}.hero-reward-label{font-size:11px}.hero-reward-number{font-size:32px}.hero-reward-number small{font-size:15px}.gift-card.gift-card-image{width:86%}.offer-caption strong{font-size:13px}}

/* Mobile compatibility patch */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}
body{min-width:0;overflow-x:hidden}
.site{overflow:clip;overflow-x:hidden}
.hero{height:auto;min-height:0;padding-bottom:32px}
.hero .gift-card.gift-card-image{margin-top:10px;margin-bottom:6px}
.gift-boxes{bottom:0;font-size:clamp(28px,10vw,52px)}
.hero-reward{flex-wrap:wrap;max-width:calc(100% - 18px)}
.hero-reward-number{font-size:clamp(29px,9vw,43px)}
.nav a{min-width:0;white-space:normal;text-align:center;line-height:1.15}
.download{white-space:normal;padding-left:6px;padding-right:6px;min-width:0}
.benefit{overflow-wrap:anywhere}
.sticky{padding-bottom:max(5px,env(safe-area-inset-bottom));min-height:65px;gap:4px}
.foot-offer{overflow:hidden;text-overflow:ellipsis}
.foot-download{flex-shrink:0}
.download-meta{flex-wrap:wrap;row-gap:6px}
.download-meta span{white-space:nowrap}
@media(max-width:390px){.head-actions>div{padding:0 2px}.head-actions small{font-size:8px}.hero-reward{gap:3px}.benefits{height:auto;min-height:67px}.benefit-icon{flex:0 0 27px;width:27px;height:27px}.benefit{font-size:7px}.steps{gap:2px}.between{font-size:22px}.foot-brand{gap:3px}.foot-offer>b{font-size:7px}.foot-offer span{font-size:7px}.foot-download{font-size:9px;padding:9px 4px}}
@media(max-width:340px){.head-actions>div:nth-child(1){display:none}.download{font-size:15px}.download b{font-size:19px}.download-meta span{padding:0 8px}.foot-offer span{display:none}.foot-brand b{font-size:12px}}

/* Travelist brand and LINE floating customer support */
.header .brand{flex:0 1 auto;min-width:0} 
.travelist-logo{display:block;width:clamp(110px,30vw,165px);height:auto;max-height:45px;object-fit:contain;flex-shrink:0}
.foot-brand .travelist-footer-logo{width:clamp(66px,19vw,110px);max-height:38px;background:#fff;border-radius:5px;padding:2px}
.line-chat{position:fixed;z-index:40;right:max(12px,calc((100vw - 570px)/2 + 12px));bottom:calc(78px + env(safe-area-inset-bottom));width:62px;min-height:71px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:#fff;border-radius:20px;box-shadow:0 3px 15px #002e4f55;text-decoration:none;color:#08b83e;font-size:11px;font-weight:900;padding:5px 3px 4px;touch-action:manipulation}
.line-chat img{display:block;width:53px;height:51px;object-fit:contain}
.line-chat:focus-visible{outline:3px solid #078cda;outline-offset:3px}
@media(max-width:450px){.header .brand .travelist-logo{width:clamp(96px,29vw,132px)}.line-chat{width:55px;min-height:64px;right:11px;bottom:calc(75px + env(safe-area-inset-bottom));font-size:10px;border-radius:16px}.line-chat img{width:48px;height:45px}.head-actions{justify-content:space-around}.head-actions>div{padding:0 2px}}
@media(max-width:360px){.header .brand .travelist-logo{width:99px}.foot-brand .travelist-footer-logo{width:67px}}

/* Campaign artwork replaces the old constructed hero. */
.hero.hero-photo{display:block;height:auto!important;min-height:0!important;padding:0!important;margin:0;background:none;overflow:hidden;}
.hero.hero-photo .campaign-banner{display:block;width:100%;height:auto;aspect-ratio:570 / 320;object-fit:contain;}
