:root{--paper:#fcf9f4;--ink:#59443b;--rose:#b56d73;--line:#dfd2c5;--soft:#f3e7e3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #7c534c;outline-offset:5px}header{max-width:1120px;margin:auto;padding:28px 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;font-size:29px;letter-spacing:.22em}.brand span{display:block;font-family:sans-serif;font-size:10px;letter-spacing:.1em}.header-line{font-size:13px;border-bottom:1px solid var(--rose);padding:6px 0}.hero{text-align:center;padding:72px 20px 50px;background:radial-gradient(ellipse at 80% 35%,#f2e2df80,transparent 60%)}.eyebrow{font-size:11px;letter-spacing:.22em;color:var(--rose);font-weight:bold}h1,h2,h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500}h1{font-size:clamp(36px,5vw,58px);line-height:1.6;letter-spacing:.06em;margin:22px 0}h1 span,.closing h2 span{color:var(--rose)}.subtitle{font-size:16px;letter-spacing:.07em}.hero-rule{width:42px;height:1px;background:var(--rose);margin:28px auto}.hero>p:not(.eyebrow):not(.subtitle):not(.updated){font-size:15px}.updated{font-size:12px;color:#7d6e65;margin-top:30px}.overview{max-width:960px;margin:0 auto 64px;padding:0 24px}.section-head{display:flex;justify-content:space-between;align-items:center}.section-head h2{font-size:24px}.section-head span{font-size:12px;color:var(--rose)}nav{border-top:1px solid var(--line)}.nav-item{display:flex;align-items:center;gap:20px;padding:22px 10px;border-bottom:1px solid var(--line)}.nav-number{font-family:Georgia,serif;font-size:27px;color:var(--rose)}.nav-copy{flex:1}.nav-copy strong{display:block;font-weight:500;font-size:17px}.nav-copy small{display:block;font-size:12px;color:#806d63}.nav-arrow{color:var(--rose)}.campaign{max-width:1020px;margin:0 auto 80px;padding:0 30px;scroll-margin-top:24px}.campaign-top{display:flex;gap:14px;align-items:center;margin-bottom:20px}.number{font-family:Georgia,serif;font-size:44px;color:#cba79a;line-height:1}.tag{font-size:12px;border:1px solid #d7b8b1;border-radius:30px;padding:3px 14px;color:#946064}.campaign h2{font-size:30px;line-height:1.6;margin:12px 0 26px}.campaign-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.campaign-image{width:100%;height:auto;display:block;border-radius:4px}.caption{font-size:11px;color:#847267;margin-top:7px}.intro{font-family:"Yu Mincho",serif;font-size:22px;line-height:1.8;margin:0 0 20px}.facts{margin:0 0 22px}.facts>div{display:grid;grid-template-columns:60px 1fr;padding:13px 0;border-bottom:1px solid var(--line);gap:14px}.facts dt{font-size:12px;color:#866b60;padding-top:3px}.facts dd{margin:0;font-size:15px}.price{font-size:29px;font-family:Georgia,serif;color:#ae5c65}.price small{font-size:16px}del{color:#8e8178;font-size:14px}.note{display:block;font-size:12px;color:#827268}.benefit{background:#f1e8de;padding:18px 20px;margin:18px 0;font-size:15px}.benefit strong{display:block;color:#915d57}.benefit ul{margin:8px 0;padding-left:1.3em}.instructions{font-size:15px;margin:20px 0}.instructions h3{font-family:inherit;font-size:13px;font-weight:bold;margin-bottom:8px}.keyword{display:inline-block;background:#f0e4df;padding:0 6px;font-weight:600}details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:22px 0}summary{padding:15px 0;cursor:pointer;font-size:14px}details p{font-size:15px}blockquote{border-left:2px solid var(--rose);margin:18px 0;padding:8px 18px;background:#f6eeea;font-family:serif;font-size:18px}.line-button{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#67745e;color:white;min-height:58px;padding:16px 22px;border-radius:4px;font-size:14px;font-weight:600;line-height:1.6}.line-button:hover,.floating:hover{background:#53614b}.line-button span{font-size:20px}.closing{text-align:center;padding:65px 24px 70px;background:#f1e8e0}.closing h2{font-size:32px;line-height:1.8}.closing .line-button{max-width:440px;margin:28px auto}.promises{display:flex;justify-content:center;gap:0;flex-wrap:wrap;font-size:12px}.promises span{padding:0 12px;border-right:1px solid #cdbdaf}.promises span:last-child{border:0}.holiday{font-size:12px;margin-top:30px}footer{text-align:center;padding:40px 24px 110px}footer p,footer small{font-size:11px;color:#8c7a6e}.floating{position:fixed;bottom:18px;right:24px;padding:13px 24px;background:#67745e;color:white;border-radius:40px;font-size:13px;box-shadow:0 3px 16px #59443b25}.mobile{display:none}[hidden]{display:none!important}@media(max-width:700px){header{padding:20px 22px}.brand{font-size:25px}.header-line{font-size:12px}.hero{padding:45px 22px 32px}h1{font-size:37px}.mobile{display:block}.hero .subtitle{font-size:14px}.overview{margin-bottom:45px}.section-head h2{font-size:22px}.nav-item{gap:15px;padding:18px 0}.nav-copy strong{font-size:15px}.nav-copy small{font-size:11px}.campaign{padding:0 22px;margin-bottom:55px}.campaign h2{font-size:27px;margin-bottom:20px}.campaign-grid{grid-template-columns:1fr;gap:24px}.campaign-image{max-height:none}.intro{font-size:21px}.line-button{font-size:14px;padding:16px 17px}.closing{padding:45px 22px 50px}.closing h2{font-size:29px}.floating{bottom:12px;left:22px;right:22px;text-align:center;font-size:14px}.promises{font-size:11px}.promises span{padding:0 9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:360px){h1{font-size:31px;letter-spacing:.02em}.hero{padding-top:32px}.hero>p:not(.eyebrow):not(.subtitle):not(.updated){font-size:14px}.section-head h2{font-size:20px}.campaign h2{font-size:25px}.closing h2{font-size:26px}}

/* 写真と文字で構成する季節のファーストビュー */
.hero{max-width:1120px;margin:34px auto 50px;padding:0 24px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0;background:none;text-align:left}
.hero-visual{grid-column:2;grid-row:1;align-self:stretch;min-height:470px;overflow:hidden;border-radius:150px 150px 4px 4px}
.hero-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:58% center}
.hero-copy{grid-column:1;grid-row:1;padding:35px 32px 35px 10px}
.hero h1{font-size:clamp(35px,4.3vw,49px);line-height:1.65;margin:17px 0}
.hero .hero-rule{margin:24px 0}.hero .subtitle{font-size:15px}.hero-copy>p:not(.eyebrow):not(.subtitle):not(.updated){font-size:14px}.hero .updated{margin-top:23px}
.campaign-description{font-size:15px;margin:22px 0;padding-top:5px}.campaign-description p{margin:0 0 16px}
@media(max-width:700px){.hero{margin:22px auto 35px;padding:0 22px;display:flex;flex-direction:column;gap:0;text-align:center}.hero-visual{width:100%;min-height:0;height:225px;border-radius:110px 110px 3px 3px;flex:none;order:0}.hero-visual img{object-position:center 56%}.hero-copy{order:1;padding:22px 0 0;width:100%}.hero h1{font-size:34px;line-height:1.55;margin:13px 0}.hero .hero-rule{margin:18px auto}.hero .subtitle{font-size:14px}.hero .updated{margin-top:18px}.hero-copy>p:not(.eyebrow):not(.subtitle):not(.updated){font-size:14px}.brand span{font-size:9px;letter-spacing:.02em}.header-line{white-space:nowrap;margin-left:12px}}
@media(max-width:360px){.hero-visual{height:190px}.hero h1{font-size:29px}.hero .subtitle{font-size:13px}.hero-copy>p:not(.eyebrow):not(.subtitle):not(.updated){font-size:13px}}
