:root{--navy:#071d3f;--gold:#af8542;--paper:#fffaf1;--paper-shadow:#eee3d1;--ink:#111d36;--muted:#4e5360;--line:rgba(7,29,63,0.26)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{color:var(--ink);background:#d9cfbd;font-family:Hiragino Mincho ProN,Yu Mincho,YuMincho,serif}a{color:inherit;text-decoration:none}figure,h1,h2,h3,p{margin:0}.stage{display:grid;place-items:start center;min-height:100svh;padding:24px}.flyer{position:relative;width:min(100%,1080px);min-height:1510px;overflow:hidden;background:radial-gradient(circle at 18% 10%,rgba(255,255,255,.92),transparent 22%),radial-gradient(circle at 90% 72%,rgba(175,133,66,.12),transparent 26%),linear-gradient(180deg,#fffdf7 0,var(--paper) 63%,#f8efe0 100%);border:1px solid rgba(7,29,63,.12);box-shadow:0 28px 72px rgba(45,31,13,.24)}.flyer:before{position:absolute;inset:18px 22px 102px;z-index:0;border:1px solid rgba(175,133,66,.18);pointer-events:none;content:""}.flyer>*{position:relative;z-index:1}.top{display:grid;grid-template-columns:45% 55%;min-height:760px;padding:34px 46px 18px}.copy-area{position:relative;padding:34px 0 0 18px}.brand-block{width:330px;margin:0 auto 35px;text-align:center}.bouquet-mark{position:relative;width:112px;height:58px;margin:0 auto -2px}.bouquet-mark span,.bouquet-mark:after,.bouquet-mark:before{position:absolute;border-radius:999px;content:""}.bouquet-mark:before{left:40px;top:10px;width:35px;height:35px;background:radial-gradient(circle at 34% 28%,#fff,#d1ad67 28%,#0b2348 30%,#0b2348 100%)}.bouquet-mark:after{left:16px;top:20px;width:28px;height:28px;background:radial-gradient(circle at 34% 28%,#fff,#d1ad67 32%,#d1ad67 100%)}.bouquet-mark span:first-child{right:12px;top:18px;width:25px;height:25px;background:#0b2348}.bouquet-mark span:nth-child(2){left:50px;bottom:0;width:42px;height:16px;border:2px solid #cbb07a;border-top:0}.bouquet-mark span:nth-child(3){left:18px;bottom:7px;width:74px;height:1px;background:#0b2348;transform:rotate(20deg)}.brand{font-size:42px;letter-spacing:.11em;line-height:1}.brand,.tagline{color:var(--navy);font-weight:700}.tagline{margin-top:10px;font-size:15px;letter-spacing:.05em}h1{color:var(--navy);font-size:76px;font-weight:500;line-height:1.18;letter-spacing:.02em}h1 span{display:block}h1 em{color:var(--gold);font-style:normal}.lead{margin-top:28px;color:var(--navy);font-size:30px;font-weight:700;line-height:1.75;letter-spacing:.06em}.dotted-rule{position:relative;width:420px;margin:18px 0;border-top:2px dotted rgba(7,29,63,.64)}.dotted-rule span{position:absolute;left:50%;top:-17px;padding:0 10px;color:var(--navy);background:#fffaf1;font-size:24px;transform:translateX(-50%)}.description{max-width:430px;color:var(--ink);font-size:17px;font-weight:700;line-height:2.03;letter-spacing:.04em}.photo-area{position:relative}.oval{position:absolute;overflow:hidden;background:#e6dac8;border:2px solid rgba(175,133,66,.74);box-shadow:0 12px 22px rgba(7,29,63,.1)}.oval:before{position:absolute;inset:9px;z-index:2;border:1px solid rgba(255,255,255,.88);border-radius:inherit;pointer-events:none;content:""}.oval img{object-fit:cover}.oval-large{top:6px;right:0;width:566px;height:400px;border-radius:51% 49% 50% 50%}.oval-small{right:58px;top:418px;width:482px;height:292px;border-radius:52% 48% 50% 48%;border-width:5px;border-color:#fffaf1;outline:2px solid rgba(175,133,66,.68)}.services{display:grid;grid-template-columns:1fr 1fr;margin:6px 46px 0;border:1.5px solid var(--line);border-radius:18px;overflow:hidden;background:rgba(255,253,248,.72)}.services article{display:grid;grid-template-columns:132px 1fr;grid-gap:24px;gap:24px;align-items:center;min-height:146px;padding:22px 30px}.services article+article{border-left:1.5px solid var(--line)}.icon-circle{position:relative;display:grid;place-items:center;width:104px;aspect-ratio:1;background:var(--navy);border-radius:50%}.icon-circle span,.icon-circle:after,.icon-circle:before{position:absolute;border:2px solid #fff;content:""}.icon-space:before{width:54px;height:42px;border-radius:30px 30px 4px 4px;border-bottom:0}.icon-space:after{top:22px;width:62px;height:28px;border-radius:50%}.icon-space span{bottom:20px;width:58px;height:22px;border-top:0;border-radius:0 0 18px 18px}.icon-gift:before{top:22px;width:42px;height:46px;border-radius:50% 50% 42% 42%}.icon-gift:after{bottom:24px;width:38px;height:26px;border-radius:4px}.icon-gift span{top:52px;width:2px;height:36px;border-width:0 0 0 2px}.services h2{margin-bottom:9px;color:var(--navy);font-size:31px;line-height:1;letter-spacing:.08em}.services h2:after{display:block;width:100%;margin-top:10px;border-bottom:2px dotted rgba(7,29,63,.64);content:""}.services p{color:var(--ink);font-size:16px;font-weight:700;line-height:1.68;letter-spacing:.03em}.thought{position:relative;margin:40px 46px 18px;padding:0 120px;text-align:center}.thought:after,.thought:before{position:absolute;top:22px;width:29%;border-top:1px solid rgba(7,29,63,.22);content:""}.thought:before{left:120px}.thought:after{right:120px}.thought-title{color:var(--navy);font-size:24px;font-weight:700;letter-spacing:.12em}.thought-title:after,.thought-title:before{color:var(--gold);content:"・・・"}.thought h2{margin-top:14px;color:var(--navy);font-size:18px;letter-spacing:.12em}.thought>p:last-child{margin-top:10px;color:var(--ink);font-size:15px;font-weight:700;line-height:1.8;letter-spacing:.04em}.works{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:13px;gap:13px;padding:0 46px 18px}.works figure{overflow:hidden;padding:7px 7px 0;background:rgba(255,253,248,.78);border:1px solid rgba(7,29,63,.24);border-radius:13px;text-align:center}.works img{display:block;width:100%;aspect-ratio:1.16;height:auto;object-fit:cover;border-radius:9px}.works figcaption{padding:9px 0 10px;color:var(--navy);font-size:18px;font-weight:700;letter-spacing:.08em}.features{display:grid;grid-template-columns:repeat(4,1fr);margin:0 46px;border:1px solid rgba(175,133,66,.34);border-radius:17px 17px 0 0;overflow:hidden;background:rgba(255,253,248,.58)}.features div{display:grid;grid-template-columns:72px 1fr;align-items:center;min-height:80px;padding:10px 14px}.features div+div{border-left:1px solid rgba(175,133,66,.32)}.feature-icon{position:relative;width:54px;aspect-ratio:1;border:1.5px dotted var(--gold);border-radius:50%}.feature-icon:before{position:absolute;inset:15px;border:2px solid var(--navy);border-radius:50%;content:""}.feature-icon:after{position:absolute;right:-18px;top:21px;color:var(--gold);font-size:21px;content:"✧"}.features p{color:var(--navy);font-size:15px;font-weight:700;line-height:1.62;letter-spacing:.04em}.footer{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 420px;align-items:center;height:100px;padding:0 94px;color:#fff;background:var(--navy)}.footer p{font-size:22px;letter-spacing:.09em}.footer-contact{display:grid;grid-template-columns:1fr 150px;grid-gap:18px;gap:18px;align-items:center;padding-left:28px;border-left:1px dotted rgba(255,255,255,.42)}.footer-contact span{font-size:16px;font-weight:700;line-height:1.6}.footer-contact a{font-family:Georgia,serif;font-size:20px;font-weight:700;letter-spacing:.04em}.balloon,.footer-balloon{position:absolute;z-index:3;width:68px;aspect-ratio:.74;border-radius:50%;background:radial-gradient(circle at 30% 18%,rgba(255,255,255,.7),transparent 16%),linear-gradient(145deg,#1d3a6b,#071d3f);box-shadow:inset -8px -14px 18px rgba(0,0,0,.2)}.balloon:after,.footer-balloon:after{position:absolute;top:96%;left:50%;width:1px;height:90px;background:rgba(175,133,66,.64);content:""}.balloon-a{top:30px;left:28px}.balloon-b{top:112px;left:376px;width:54px}.balloon-c{top:42px;left:492px;width:58px;background:radial-gradient(circle at 30% 18%,rgba(255,255,255,.62),transparent 16%),linear-gradient(145deg,#e0c28a,#a97935)}.balloon-d{top:32px;right:34px}.footer-balloon{top:-30px;width:58px}.footer-left{left:24px}.footer-right{right:34px;background:radial-gradient(circle at 30% 18%,rgba(255,255,255,.62),transparent 16%),linear-gradient(145deg,#e0c28a,#a97935)}.spark{position:absolute;z-index:4;color:var(--gold);font-size:24px}.s1{top:42px;left:132px}.s2{top:74px;left:390px}.s3{top:356px;right:28px}.s4{top:460px;left:450px}.corner-line{position:absolute;z-index:2;width:270px;height:70px;border-bottom:2px solid rgba(7,29,63,.45);border-radius:50%}.corner-line-left{left:0;top:624px;transform:rotate(3deg)}.corner-line-right{right:22px;top:560px;transform:rotate(-7deg)}.flower-cluster{position:absolute;width:76px;height:64px}.flower-cluster span{position:absolute;width:28px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fffaf1 26%,#d4b574 27%,#d4b574 42%,transparent 43%)}.flower-cluster span:first-child{left:0;top:24px}.flower-cluster span:nth-child(2){left:28px;top:10px}.flower-cluster span:nth-child(3){right:0;bottom:5px;background:radial-gradient(circle,#fffaf1 26%,#0b2348 27%,#0b2348 42%,transparent 43%)}.flower-cluster-right{right:0;bottom:64px}.flower-left{left:18px;top:-6px}.flower-right{right:18px;top:-6px;transform:scaleX(-1)}@media (max-width:1120px){.stage{padding:0;background:var(--paper)}.flyer{width:100%;min-height:auto;transform-origin:top center}}@media (max-width:760px){.flyer{min-height:1530px}.top{grid-template-columns:1fr;min-height:720px;padding:24px 24px 0}.copy-area{padding-left:0}.brand-block{margin-bottom:22px}h1{font-size:58px}.lead{font-size:22px}.dotted-rule{width:100%}.description{font-size:14px}.photo-area{min-height:360px}.oval-large{top:16px;width:100%;height:250px}.oval-small{right:4%;top:218px;width:74%;height:170px}.services{grid-template-columns:1fr;margin:28px 24px 0}.services article{grid-template-columns:92px 1fr;padding:18px}.services article+article{border-top:1.5px solid var(--line);border-left:0}.icon-circle{width:76px}.services h2{font-size:22px}.services p{font-size:13px}.thought{margin:28px 24px 16px;padding:0}.balloon,.corner-line,.flower-cluster,.thought:after,.thought:before{display:none}.works{grid-template-columns:repeat(2,1fr);padding:0 24px 18px}.works figcaption{font-size:14px}.features{grid-template-columns:repeat(2,1fr);margin:0 24px 100px}.features div{grid-template-columns:54px 1fr}.feature-icon{width:42px}.features p{font-size:12px}.footer{grid-template-columns:1fr;height:100px;padding:14px 24px}.footer p{font-size:15px}.footer-contact{grid-template-columns:1fr auto;padding-left:0;border-left:0}.footer-contact span{font-size:12px}.footer-contact a{font-size:15px}.footer-balloon{display:none}}