@charset "UTF-8";
:root{--green:#244b2d;--pink:#ec3767;--gold:#bc9650;--ink:#20251f;--cream:#fffaf3}html{scroll-behavior:smooth}body{margin:0;background:#f5f1eb;color:var(--ink);font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;line-height:1.65}.campaign{max-width:1200px;margin:auto;background:#fffdf9;padding:50px 28px 28px;box-shadow:0 4px 25px #b6a88c22}h1,h2,h3,p{margin:0}.campaign .hero{height:365px;position:relative;overflow:hidden;background:#f9f4ec}.campaign .hero-photo{position:absolute;top:0;bottom:0;width:50%;background-size:cover;background-position:center}.campaign .hero-photo--garden{left:0;background-image:linear-gradient(90deg,#ffffff00 55%,#fffaf4aa),url('../img/garden.jpg')}.campaign .hero-photo--room{right:0;background-image:linear-gradient(270deg,#ffffff00 55%,#fffaf4aa),url('../img/private-room.jpg')}.campaign .hero-copy{position:relative;text-align:center;z-index:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-shadow:0 1px 12px #fff,0 0 16px #fff}.campaign .hero-brand{font-size:29px;letter-spacing:.1em;color:#142e1b;font-weight:bold}.campaign .hero h1{font-size:58px;line-height:1.12;color:#133a20;letter-spacing:.07em}.campaign .hero h1 strong{font-size:93px;color:#f02c65;letter-spacing:.02em;white-space:nowrap}.campaign .hero-sub{font-size:36px;font-weight:bold;color:#14361f;letter-spacing:.15em}.offer{text-align:center;padding:16px 12px 12px;background:linear-gradient(90deg,#fff4f5,#fffdfc,#fff4f5);color:#dc2553}.offer-lead{font-size:29px;font-weight:bold}.offer-lead strong{font-size:36px}.offer-date{font-size:22px}.offer-date strong{font-size:43px;line-height:1.2}.offer-date span{margin-left:8px;color:#793327}.eligibility{background:linear-gradient(110deg,#a97b2f,#d9b778,#b5893c);color:white;text-align:center;font-size:21px;font-weight:bold;line-height:1.55;padding:16px 24px;margin:12px 0 20px;border-radius:12px;text-shadow:0 1px 2px #805d2d}.about{border:1px solid #d8b77b;border-radius:10px;background:#fffaf2;padding:15px 22px;margin-bottom:14px}.about-heading{display:flex;align-items:center;justify-content:center;gap:16px}.about h2{font-size:32px}.about p{text-align:center;font-size:17px}.fees{background:#dbe9d9;border-radius:9px;padding:14px 12px;margin-bottom:27px}.fees h2{text-align:center;color:#142d1a;font-size:29px;margin-bottom:10px}.fee-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#c5cfbe;border-radius:6px;overflow:hidden}.fee{background:#fffaf4;text-align:center}.fee h3{font-size:17px;padding:8px 4px;border-bottom:1px solid #d8cdb7}.fee p{font-size:17px;padding:5px 2px;white-space:nowrap}.fee strong{font-size:38px;color:#14371f;letter-spacing:-.04em}.fee strong small{font-size:17px}.fee p span{font-size:16px}.campaign-detail{background:linear-gradient(130deg,#fff4f4,#fffaf7);border:1px solid #f5ccd3;border-radius:10px;padding:0 22px 14px;margin-bottom:18px}.pink-pill{width:max-content;margin:-15px auto 12px;padding:2px 36px;background:linear-gradient(90deg,#f05b7d,#ed3664);color:white;border-radius:40px;font-size:28px}.detail-layout{display:flex;align-items:center;gap:8px}.detail-text{flex:1;min-width:0}.detail-intro{font-size:22px;font-weight:bold}.detail-highlight{font-size:28px;font-weight:bold;color:#e72c5d;line-height:1.4}.detail-highlight span{color:#26221e;font-size:21px}.detail-note{font-size:16px;margin-top:10px}.couple{width:29%;max-width:275px;object-fit:contain;align-self:end;mix-blend-mode:multiply}.timing-heading{display:flex;align-items:center;gap:18px;margin-bottom:12px}.timing-heading h2{background:linear-gradient(90deg,#315e38,#45784c);border-radius:7px;padding:7px 18px;color:#fff;font-size:25px;white-space:nowrap}.timing-heading p{font-size:15px}.case{border:1px solid #decaa9;border-radius:10px;padding:12px;display:grid;grid-template-columns:35% 65%;gap:0;margin-bottom:12px;background:#fffefb}.case-copy{padding-right:12px;border-right:1px dashed #d5bca0}.case h3{display:flex;align-items:flex-start;gap:10px;font-size:21px;line-height:1.35;min-height:39px}.case h3 small{display:block;font-size:15px}.case-number{background:#315c38;color:white;font-size:17px;padding:3px 7px;border-radius:6px;white-space:nowrap}.case-copy p{font-size:16px;margin:10px 0 0}.timeline{position:relative;margin:0 12px 0 22px;height:100px;min-width:0}.arrow-row{position:absolute;top:37px;left:0;right:0;display:flex;height:49px}.arrow{display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.25;position:relative;min-width:0;font-weight:bold;font-size:16px;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%)}.arrow.paid{background:#c4dfbb;color:#26472c;flex:1;padding:0 16px 0 12px}.arrow.free{background:#f9c7d0;color:#e32b5b}.free--half{width:33%}.free--long{width:66%}.milestone{position:absolute;top:10px;z-index:2;transform:translateX(-50%);text-align:center;font-weight:bold;font-size:15px;line-height:1.25}.milestone.start{left:0;transform:translateX(-30%)}.milestone.halfway{left:33%}.milestone.ten-years{left:66%}.milestone span{display:block;white-space:nowrap;min-height:23px}.milestone img{height:29px;width:27px;vertical-align:middle}.milestone i{display:block;width:2px;height:65px;background:#e74a65;margin:auto;position:relative}.milestone i:after{content:"";width:14px;height:14px;border:2px solid #fff;border-radius:50%;background:#e74a65;position:absolute;top:24px;left:50%;transform:translateX(-50%)}.milestone:not(.start) i{background:#4d8d48}.milestone:not(.start) i:after{background:#4d8d48}.cautions{background:#fff0f1;border-radius:11px;padding:16px 20px;margin-top:15px}.cautions h2{display:flex;align-items:center;justify-content:center;gap:13px;color:#e72e5d;font-size:26px}.alert-icon{display:inline-flex;align-items:center;justify-content:center;width:45px;height:45px;border-radius:50%;background:#ef5970;color:white;font-family:Arial,sans-serif;font-size:32px}.cautions ul{margin:12px 0 0;padding-left:24px;font-size:16px}.cautions li{margin:5px 0}.cautions strong{color:#e72e5d}
@media(max-width:700px){body{background:#fffdf9}.campaign{padding:100px 10px 18px;box-shadow:none}.campaign .hero{height:255px;margin:0 -10px}.campaign .hero-brand{font-size:20px}.campaign .hero h1{font-size:37px}.campaign .hero h1 strong{font-size:clamp(42px,12vw,67px)}.campaign .hero-sub{font-size:25px}.campaign .hero-photo--garden{background-position:43% center}.campaign .hero-photo--room{background-position:55% center}.offer{padding:14px 4px 10px}.offer-lead{font-size:clamp(17px,5vw,23px)}.offer-lead strong{font-size:clamp(21px,6vw,29px)}.offer-date{font-size:clamp(13px,3.6vw,17px)}.offer-date strong{font-size:clamp(26px,8vw,39px)}.eligibility{font-size:clamp(15px,4.2vw,19px);padding:13px 9px;margin:10px 0 15px;border-radius:6px}.desktop-only{display:none}.about{padding:12px 10px}.about-heading{gap:10px}.about-heading img{width:47px;height:auto}.about h2{font-size:clamp(23px,7vw,29px)}.about p{text-align:left;font-size:clamp(15px,4vw,18px);line-height:1.6}.fees{padding:12px 7px;margin-bottom:28px}.fees h2{font-size:26px}.fee h3{font-size:clamp(11px,3vw,15px);min-height:46px;display:flex;align-items:center;justify-content:center;padding:4px}.fee p{font-size:clamp(11px,3vw,14px)}.fee strong{font-size:clamp(22px,6.5vw,33px)}.fee strong small{font-size:12px}.fee p span{font-size:11px}.campaign-detail{padding:0 12px 15px;margin-bottom:16px}.pink-pill{font-size:23px;padding:4px 28px}.detail-layout{display:flex;flex-direction:column;align-items:stretch;gap:8px}.detail-intro{font-size:clamp(16px,4.4vw,21px)}.detail-highlight{font-size:clamp(20px,5.4vw,26px)}.detail-highlight span{font-size:clamp(16px,4.4vw,20px)}.detail-note{font-size:clamp(15px,3.9vw,18px);margin-top:10px}.couple{width:85%;max-width:340px;align-self:center;margin-top:3px}.timing-heading{flex-direction:column;gap:7px;text-align:center;margin-bottom:14px}.timing-heading h2{font-size:clamp(18px,5.3vw,25px);padding:6px 12px;white-space:normal;width:max-content;max-width:100%}.timing-heading p{font-size:clamp(14px,3.4vw,18px)}.case{display:flex;flex-direction:column;min-height:0;padding:11px 10px;margin-bottom:12px}.case-copy{padding:0;border:0}.case h3{font-size:clamp(17px,4.6vw,21px);min-height:0;gap:8px}.case h3 small{font-size:14px}.case-number{font-size:15px}.case-copy p{font-size:clamp(15px,4vw,18px);margin:8px 0 0}.timeline{margin:0 12px 0 16px;height:100px}.arrow-row{top:41px;height:49px}.arrow{font-size:clamp(11px,3.2vw,15px)}.milestone{top:10px;font-size:clamp(11px,3vw,14px)}.milestone span{min-height:26px}.milestone img{height:25px;width:22px}.cautions{padding:15px 12px}.cautions h2{font-size:24px}.cautions ul{font-size:clamp(14px,3.8vw,17px);padding-left:0;text-align: left;}}
@media(max-width:360px){.campaign .hero{height:228px}.campaign .hero h1 strong{font-size:43px}.arrow{font-size:11px}.timeline{margin-left:13px;margin-right:7px}}
@media print{body{background:white}.campaign{box-shadow:none;max-width:none}.case{break-inside:avoid}}
