.campaign-fv{--red: #c82032; --navy: #173c4c; --mint: #e5f1e9; --gold: #e5bc56; --ink: #263d43; --white: #fff;}
.campaign-fv *{box-sizing: border-box;}
.campaign-fv{margin: 0px; color: var(--ink); font-family: "Noto Sans JP", sans-serif; font-weight: 700;}
.campaign-fv button, .campaign-fv a{-webkit-tap-highlight-color: transparent;}
.campaign-fv button{font: inherit; cursor: pointer;}
.campaign-fv a{color: inherit; text-decoration: none;}
.campaign-fv button:focus-visible, .campaign-fv a:focus-visible{outline: rgb(22, 122, 180) solid 3px; outline-offset: 4px;}
.campaign-fv [hidden]{display: none !important;}
.campaign-fv .preview-bar{min-height: 76px; padding: 12px 28px; display: flex; gap: 24px; align-items: center; background: rgb(255, 255, 255); border-bottom: 1px solid rgb(224, 230, 230); position: relative; z-index: 10;}
.campaign-fv .preview-label{display: grid; gap: 3px; white-space: nowrap; font-size: 13px;}
.campaign-fv .preview-label span{font-size: 10px; color: rgb(100, 116, 120); font-weight: 500;}
.campaign-fv .layout-buttons{display: flex; gap: 7px; margin: auto;}
.campaign-fv .layout-buttons button{background: rgb(244, 246, 246); border: 1px solid rgb(228, 233, 233); border-radius: 6px; color: rgb(82, 101, 104); padding: 10px 15px; font-size: 13px; min-height: 44px; transition: background 0.2s, color 0.2s;}
.campaign-fv .layout-buttons button span{margin-left: 7px;}
.campaign-fv .layout-buttons button[aria-pressed="true"]{background: var(--navy); color: white; border-color: var(--navy);}
.campaign-fv .hide-preview{background: none; border: 0px; font-size: 25px; min-width: 44px; min-height: 44px; color: rgb(100, 116, 120);}
.campaign-fv .show-preview{position: fixed; right: 16px; top: 12px; z-index: 20; border: 1px solid rgb(212, 221, 221); background: white; padding: 12px; border-radius: 5px; font-size: 12px;}
.campaign-fv .hero{position: relative; isolation: isolate; overflow: hidden; background: url("images/bg_new.webp") center 48% / cover rgb(215, 229, 212); min-height: 660px;}
.campaign-fv .hero::before{content: ""; position: absolute; inset: 0px; z-index: -1; background: linear-gradient(90deg, rgba(240, 247, 229, 0.79), rgba(238, 246, 228, 0.72) 50%, rgba(233, 244, 232, 0.69));}
.campaign-fv .site-header{height: 90px; display: flex; align-items: center; justify-content: space-between; padding: 0px 4%; position: relative; z-index: 5;}
.campaign-fv .site-header img{width: 170px; height: auto;}
.campaign-fv .site-header p{font-size: 12px; letter-spacing: 0.08em;}
.campaign-fv .hero-content{width: 100%; max-width: 1500px; margin: auto; min-height: 570px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; position: relative; z-index: 2; padding: 12px 12.5% 68px; gap: 28px;}
.campaign-fv .campaign-title{text-align: center; position: relative; z-index: 2;}
.campaign-fv .roof-mark{width: 69px; margin: 0px auto 8px;}
.campaign-fv .roof-mark svg{fill: none; stroke: var(--red); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round;}
.campaign-fv .welcome{font-family: "M PLUS Rounded 1c", sans-serif; font-size: clamp(17px, 1.8vw, 27px); font-weight: 900; letter-spacing: 0.02em; margin: 0px 0px 12px; transform: rotate(-4deg); color: var(--navy); text-shadow: white 2px 2px, white -2px -2px, white 2px -2px, white -2px 2px;}
.campaign-fv .welcome span{display: block;}
.campaign-fv .campaign-title h1{font-family: "M PLUS Rounded 1c", sans-serif; line-height: 1.17; font-weight: 900; margin: 0px; color: var(--red); filter: drop-shadow(rgba(181, 151, 110, 0.314) 0px 4px 0px); transform: rotate(-4deg); letter-spacing: -0.075em;}
.campaign-fv .campaign-title h1 span{display: block; paint-order: stroke; -webkit-text-stroke: 9px white; text-shadow: white 0px 8px 0px;}
.campaign-fv .title-first{font-size: clamp(36px, 4.4vw, 65px);}
.campaign-fv .title-second{font-size: clamp(31px, 3.7vw, 56px); margin-top: 9px;}
.campaign-fv .period{display: inline-flex; align-items: center; margin-top: 34px; gap: 13px; color: var(--navy); border-block: 1px solid rgba(23, 60, 76, 0.44); padding: 10px 8px;}
.campaign-fv .period > span{font-size: 11px; writing-mode: vertical-rl; letter-spacing: 2px;}
.campaign-fv .period p{margin: 0px; white-space: nowrap; display: flex; align-items: baseline; gap: 6px;}
.campaign-fv .period b{font-size: 16px;}
.campaign-fv .period strong{font-size: 29px; letter-spacing: -0.05em;}
.campaign-fv .period i{font-style: normal; font-size: 15px;}
.campaign-fv .offer{text-align: center; position: relative; z-index: 2;}
.campaign-fv .offer-intro{font-size: clamp(12px, 1.25vw, 18px); margin: 0px 0px 12px; white-space: nowrap;}
.campaign-fv .offer-intro span{border-bottom: 3px solid var(--gold);}
.campaign-fv .reward > p:first-child{font-size: clamp(19px, 2.1vw, 28px); margin: 0px; letter-spacing: -0.04em;}
.campaign-fv .reward-amount{display: flex; justify-content: center; align-items: baseline; gap: 5px; color: var(--red); line-height: 1.05; white-space: nowrap;}
.campaign-fv .maximum{font-size: 22px;}
.campaign-fv .reward-amount strong{font-family: Arial, sans-serif; font-size: clamp(70px, 8.5vw, 118px); font-weight: 900; letter-spacing: -0.075em;}
.campaign-fv .yen{font-size: 25px;}
.campaign-fv .present{font-size: 24px; margin: 6px 0px 19px; letter-spacing: 0.16em;}
.campaign-fv .steps{display: grid; grid-template-columns: 1.3fr 1fr; gap: 16px; position: relative;}
.campaign-fv .step{padding: 14px 10px 12px; background: rgba(255, 255, 255, 0.925); border-radius: 10px; position: relative; box-shadow: rgba(22, 60, 76, 0.075) 0px 4px 0px;}
.campaign-fv .step-number{font-family: Arial, sans-serif; font-weight: 800; font-size: 12px; color: white; display: inline-block; border-radius: 20px; background: var(--navy); padding: 5px 14px; line-height: 1;}
.campaign-fv .step-number b{font-size: 18px; margin-left: 3px;}
.campaign-fv .step h2{font-size: 11px; min-height: 44px; display: flex; flex-direction: column; justify-content: center; line-height: 1.65; margin: 9px -4px 2px;}
.campaign-fv .or{display: none;}
.campaign-fv .step-gift{font-size: 10px; margin: 4px 0px;}
.campaign-fv .step-price{color: var(--red); font-size: 14px; margin: 0px; white-space: nowrap;}
.campaign-fv .step-price strong{font-family: Arial, sans-serif; font-size: 35px; letter-spacing: -0.05em; margin-right: 3px;}
.campaign-fv .plus{position: absolute; left: 54.8%; top: 51%; transform: translate(-50%, -50%); border: 3px solid rgb(255, 255, 255); background: var(--gold); border-radius: 50%; width: 29px; height: 29px; font-size: 19px; line-height: 22px; z-index: 3;}
.campaign-fv .person{position: absolute; bottom: -40px; z-index: 1; object-fit: contain; object-position: center bottom; width: 22%; height: 490px; pointer-events: none; filter: drop-shadow(rgba(23, 60, 76, 0.098) 0px 7px 9px);}
.campaign-fv .person-left{left: -2.5%;}
.campaign-fv .person-right{right: -3%;}
.campaign-fv .spark{position: absolute; color: var(--gold); font-size: 37px; z-index: 2; text-shadow: white 1px 1px;}
.campaign-fv .spark-one{left: 17%; top: 29%;}
.campaign-fv .spark-two{right: 15%; top: 19%; font-size: 26px;}
.campaign-fv .reservation-links{display: grid; grid-template-columns: 1fr 1fr; background: white; border-bottom: 1px solid rgb(234, 214, 216);}
.campaign-fv .reservation-links a{min-height: 96px; display: flex; align-items: center; justify-content: center; gap: 17px; color: var(--red); font-size: clamp(13px, 1.4vw, 20px); padding: 18px 25px; transition: background 0.2s;}
.campaign-fv .reservation-links a + a{border-left: 1px solid rgb(234, 214, 216);}
.campaign-fv .reservation-links a:hover{background: rgb(255, 244, 243);}
.campaign-fv .reservation-links svg{width: 33px; flex-shrink: 0; fill: none; stroke: currentcolor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round;}
.campaign-fv .link-arrow{display: grid; place-items: center; width: 33px; height: 33px; background: var(--red); color: white; border-radius: 50%; font-weight: 500; margin-left: 12px;}
.campaign-fv .campaign-note{text-align: center; font-size: 10px; font-weight: 500; color: rgb(96, 112, 116); margin: 17px 15px;}
.campaign-fv .sr-only{position: absolute; width: 1px; height: 1px; padding: 0px; margin: -1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); white-space: nowrap; border: 0px;}
.campaign-fv[data-layout="2"] .hero-content{grid-template-columns: 1fr; gap: 22px; padding: 0px 22% 35px; min-height: 650px;}
.campaign-fv[data-layout="2"] .roof-mark{display: none;}
.campaign-fv[data-layout="2"] .welcome span{display: inline;}
.campaign-fv[data-layout="2"] .title-first, .campaign-fv[data-layout="2"] .title-second{font-size: 49px; display: inline;}
.campaign-fv[data-layout="2"] .title-second{display: block; margin-top: 0px;}
.campaign-fv[data-layout="2"] .period{margin-top: 24px; padding: 6px;}
.campaign-fv[data-layout="2"] .offer{background: rgba(255, 255, 255, 0.93); border-radius: 12px; padding: 18px 22px; display: grid; grid-template-columns: 1fr 1.2fr; gap: 8px 20px;}
.campaign-fv[data-layout="2"] .offer-intro{grid-column: 1 / -1; font-size: 13px; margin-bottom: 4px;}
.campaign-fv[data-layout="2"] .reward > p:first-child{font-size: 17px;}
.campaign-fv[data-layout="2"] .reward-amount strong{font-size: 69px;}
.campaign-fv[data-layout="2"] .maximum, .campaign-fv[data-layout="2"] .yen{font-size: 16px;}
.campaign-fv[data-layout="2"] .present{font-size: 17px; margin: 7px 0px;}
.campaign-fv[data-layout="2"] .step{background: var(--mint); box-shadow: none; padding: 9px 6px;}
.campaign-fv[data-layout="2"] .step-price strong{font-size: 27px;}
.campaign-fv[data-layout="2"] .person{height: 570px; width: 26%;}
.campaign-fv[data-layout="2"] .person-left{left: 0px;}
.campaign-fv[data-layout="2"] .person-right{right: 0px;}
.campaign-fv[data-layout="3"] .hero::before{background: rgba(36, 73, 45, 0.19);}
.campaign-fv[data-layout="3"] .hero-content{max-width: 940px; width: 72%; padding: 30px 44px 36px; margin: 5px auto 45px; background: rgba(255, 255, 255, 0.96); border: 7px solid rgb(255, 255, 255); outline: rgb(200, 170, 109) solid 1px; outline-offset: -17px; min-height: 505px; gap: 35px;}
.campaign-fv[data-layout="3"] .site-header{background: rgba(255, 255, 255, 0.863);}
.campaign-fv[data-layout="3"] .title-first{font-size: 53px;}
.campaign-fv[data-layout="3"] .title-second{font-size: 43px;}
.campaign-fv[data-layout="3"] .reward-amount strong{font-size: 88px;}
.campaign-fv[data-layout="3"] .step{background: rgb(238, 244, 237); box-shadow: none;}
.campaign-fv[data-layout="3"] .person{z-index: 3; width: 22%; height: 480px; bottom: -30px;}
.campaign-fv[data-layout="3"] .person-left{left: -3%;}
.campaign-fv[data-layout="3"] .person-right{right: -3%;}
.campaign-fv[data-layout="3"] .spark{display: none;}
.campaign-fv[data-layout="4"] .hero-content{grid-template-columns: 1fr; padding: 8px 18% 35px; gap: 25px; min-height: 620px;}
.campaign-fv[data-layout="4"] .roof-mark{display: none;}
.campaign-fv[data-layout="4"] .welcome span{display: inline;}
.campaign-fv[data-layout="4"] .campaign-title h1{transform: rotate(-2deg);}
.campaign-fv[data-layout="4"] .title-first, .campaign-fv[data-layout="4"] .title-second{display: inline; font-size: 49px;}
.campaign-fv[data-layout="4"] .period{display: flex; width: max-content; margin: 24px auto 0px;}
.campaign-fv[data-layout="4"] .offer{display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 0px 35px; padding: 22px; background: var(--navy); color: white; border-radius: 4px;}
.campaign-fv[data-layout="4"] .offer-intro{grid-column: 1 / -1; font-size: 14px; margin-bottom: 12px;}
.campaign-fv[data-layout="4"] .reward > p:first-child{font-size: 21px;}
.campaign-fv[data-layout="4"] .reward-amount{color: rgb(255, 226, 154);}
.campaign-fv[data-layout="4"] .reward-amount strong{font-size: 84px;}
.campaign-fv[data-layout="4"] .present{font-size: 20px; margin: 3px 0px;}
.campaign-fv[data-layout="4"] .step{color: var(--ink); padding: 10px 7px;}
.campaign-fv[data-layout="4"] .step-price strong{font-size: 29px;}
.campaign-fv[data-layout="4"] .person{height: 510px; width: 23%; z-index: 3;}
.campaign-fv[data-layout="4"] .person-left{left: -3%;}
.campaign-fv[data-layout="4"] .person-right{right: -3%;}
.campaign-fv[data-layout="5"] .hero-content{padding: 0px 17% 36px; grid-template-columns: 1fr 1fr; gap: 35px; min-height: 620px;}
.campaign-fv[data-layout="5"] .campaign-title{background: rgb(255, 249, 231); padding: 70px 18px 35px; clip-path: polygon(50% 0px, 100% 21%, 100% 100%, 0px 100%, 0px 21%); filter: drop-shadow(rgb(173, 150, 101) 0px 5px 0px);}
.campaign-fv[data-layout="5"] .roof-mark{display: none;}
.campaign-fv[data-layout="5"] .welcome{font-size: 24px;}
.campaign-fv[data-layout="5"] .title-first{font-size: 48px;}
.campaign-fv[data-layout="5"] .title-second{font-size: 39px;}
.campaign-fv[data-layout="5"] .reward{background: rgb(255, 248, 228); border: 2px solid rgb(212, 179, 97); border-radius: 50%; aspect-ratio: 1.2 / 1; display: flex; flex-direction: column; justify-content: center; margin: 0px auto 18px; max-width: 340px;}
.campaign-fv[data-layout="5"] .reward > p:first-child{font-size: 22px;}
.campaign-fv[data-layout="5"] .reward-amount strong{font-size: 85px;}
.campaign-fv[data-layout="5"] .present{font-size: 20px; margin: 5px 0px;}
.campaign-fv[data-layout="5"] .person{height: 480px; width: 22%;}
.campaign-fv[data-layout="5"] .offer-intro{font-size: 13px;}
@media (min-width: 1600px) {.campaign-fv .person-left{left: calc(50% - 800px);}
.campaign-fv .person-right{right: calc(50% - 800px);}}
@media (max-width: 1100px) and (min-width: 761px) {.campaign-fv .hero-content{padding-inline: 13%; gap: 18px;}
.campaign-fv .step h2{font-size: 9px;}
.campaign-fv .step-price strong{font-size: 29px;}
.campaign-fv .period strong{font-size: 24px;}
.campaign-fv .offer-intro{font-size: 12px;}
.campaign-fv[data-layout="2"] .hero-content{padding-inline: 17%;}
.campaign-fv[data-layout="3"] .hero-content{padding-inline: 24px; width: 78%;}
.campaign-fv[data-layout="3"] .title-first{font-size: 40px;}
.campaign-fv[data-layout="3"] .title-second{font-size: 33px;}
.campaign-fv[data-layout="3"] .reward-amount strong{font-size: 70px;}
.campaign-fv[data-layout="4"] .hero-content{padding-inline: 12%;}
.campaign-fv[data-layout="4"] .title-first, .campaign-fv[data-layout="4"] .title-second{font-size: 42px;}
.campaign-fv[data-layout="5"] .hero-content{padding-inline: 13%;}
.campaign-fv[data-layout="5"] .title-first{font-size: 38px;}
.campaign-fv[data-layout="5"] .title-second{font-size: 31px;}
.campaign-fv .preview-label{display: none;}}
@media (max-width: 760px) {.campaign-fv .preview-bar{padding: 8px; gap: 0px; min-height: 62px;}
.campaign-fv .preview-label{display: none;}
.campaign-fv .layout-buttons{gap: 4px; width: 100%;}
.campaign-fv .layout-buttons button{flex: 1 1 0%; padding: 6px 3px; font-size: 11px; min-height: 44px;}
.campaign-fv .layout-buttons button span{display: block; margin: 3px 0px 0px; font-size: 10px;}
.campaign-fv .hide-preview{font-size: 20px; min-width: 30px;}
.campaign-fv .hero{min-height: 0px; background-position: 46% center;}
.campaign-fv .site-header{height: 65px; padding: 0px 20px;}
.campaign-fv .site-header img{width: 127px;}
.campaign-fv .site-header p{font-size: 9px; max-width: 105px; text-align: right; line-height: 1.7;}
.campaign-fv .hero-content, .campaign-fv[data-layout] .hero-content{grid-template-columns: 1fr; padding: 12px 25px 190px; gap: 27px; min-height: 0px; max-width: 100%; width: 100%; margin: 0px; background: none; border: 0px; outline: 0px;}
.campaign-fv .campaign-title{max-width: 400px; width: 100%; margin: auto;}
.campaign-fv .roof-mark{width: 45px; margin-bottom: 5px;}
.campaign-fv .welcome, .campaign-fv[data-layout="5"] .welcome{font-size: 19px;}
.campaign-fv .welcome span{display: inline;}
.campaign-fv .campaign-title h1 .title-first, .campaign-fv[data-layout] .title-first{font-size: 46px; display: block;}
.campaign-fv .campaign-title h1 .title-second, .campaign-fv[data-layout] .title-second{font-size: 39px; display: block; margin-top: 5px;}
.campaign-fv .period, .campaign-fv[data-layout] .period{margin-top: 23px; padding: 5px 8px;}
.campaign-fv .period > span{writing-mode: horizontal-tb; font-size: 10px; letter-spacing: 0px;}
.campaign-fv .period strong{font-size: 25px;}
.campaign-fv .period b{font-size: 13px;}
.campaign-fv .offer, .campaign-fv[data-layout="2"] .offer, .campaign-fv[data-layout="4"] .offer{display: block; padding: 20px 14px; border-radius: 12px; background: rgba(255, 255, 255, 0.94); max-width: 400px; width: 100%; margin: auto; color: var(--ink);}
.campaign-fv .offer-intro, .campaign-fv[data-layout] .offer-intro{font-size: 12px; margin-bottom: 10px;}
.campaign-fv .reward > p:first-child, .campaign-fv[data-layout] .reward > p:first-child{font-size: 20px;}
.campaign-fv .reward-amount, .campaign-fv[data-layout="4"] .reward-amount{color: var(--red);}
.campaign-fv .reward-amount strong, .campaign-fv[data-layout] .reward-amount strong{font-size: 80px;}
.campaign-fv .maximum, .campaign-fv[data-layout="2"] .maximum{font-size: 19px;}
.campaign-fv .yen, .campaign-fv[data-layout="2"] .yen{font-size: 21px;}
.campaign-fv .present, .campaign-fv[data-layout] .present{font-size: 18px; margin: 5px 0px 18px;}
.campaign-fv .steps{gap: 13px;}
.campaign-fv .step, .campaign-fv[data-layout] .step{background: var(--mint); padding: 10px 6px; box-shadow: none;}
.campaign-fv .step h2{font-size: 10px; min-height: 39px;}
.campaign-fv .step-price strong, .campaign-fv[data-layout] .step-price strong{font-size: 30px;}
.campaign-fv .step-number{font-size: 10px;}
.campaign-fv .step-number b{font-size: 15px;}
.campaign-fv .step-gift{font-size: 9px;}
.campaign-fv .person, .campaign-fv[data-layout] .person{height: 245px; width: 40%; bottom: -75px; z-index: 3;}
.campaign-fv .person-left, .campaign-fv[data-layout] .person-left{left: 0px;}
.campaign-fv .person-right, .campaign-fv[data-layout] .person-right{right: 0px;}
.campaign-fv .spark-one{top: auto; bottom: 70px; left: 45%; font-size: 26px;}
.campaign-fv .spark-two{top: 96px; right: 9%; font-size: 21px;}
.campaign-fv .reservation-links{grid-template-columns: 1fr;}
.campaign-fv .reservation-links a{min-height: 72px; font-size: 13px; padding: 14px 18px; gap: 12px; justify-content: flex-start;}
.campaign-fv .reservation-links a + a{border-left: 0px; border-top: 1px solid rgb(234, 214, 216);}
.campaign-fv .reservation-links svg{width: 27px;}
.campaign-fv .link-arrow{margin-left: auto; width: 28px; height: 28px; flex-shrink: 0;}
.campaign-fv .campaign-note{font-size: 10px; line-height: 1.8;}
.campaign-fv .show-preview{top: auto; bottom: 12px;}
.campaign-fv[data-layout="2"] .hero-content{gap: 20px;}
.campaign-fv[data-layout="2"] .campaign-title h1{transform: none;}
.campaign-fv[data-layout="2"] .offer{border-top: 5px solid var(--red);}
.campaign-fv[data-layout="3"] .campaign-title{background: rgba(255, 255, 255, 0.96); padding: 24px 8px; outline: rgb(200, 170, 109) solid 1px; outline-offset: -9px;}
.campaign-fv[data-layout="3"] .hero::before{background: rgba(229, 237, 216, 0.467);}
.campaign-fv[data-layout="4"] .offer{background: var(--navy); color: rgb(255, 255, 255);}
.campaign-fv[data-layout="4"] .reward-amount{color: rgb(255, 226, 154);}
.campaign-fv[data-layout="4"] .campaign-title h1 .title-first, .campaign-fv[data-layout="4"] .campaign-title h1 .title-second{font-size: 41px;}
.campaign-fv[data-layout="5"] .campaign-title{padding: 60px 15px 25px;}
.campaign-fv[data-layout="5"] .reward{max-width: 290px; background: rgb(255, 248, 228);}
.campaign-fv[data-layout="5"] .offer{background: transparent; padding-top: 0px;}}
@media (prefers-reduced-motion: reduce) {.campaign-fv *{transition: none !important;}}
.campaign-fv[data-layout] .person{width: 34%; height: auto; aspect-ratio: 2947 / 4473; object-fit: fill; bottom: -160px; filter: none; mask-mode: luminance; mask-size: 100% 100%; mask-repeat: no-repeat;}
.campaign-fv[data-layout] .person-left{left: -8%; }
.campaign-fv[data-layout] .person-right{right: -8%; }
@media (min-width: 1600px) {.campaign-fv[data-layout] .person{width: 540px;}
.campaign-fv[data-layout] .person-left{left: calc(50% - 910px);}
.campaign-fv[data-layout] .person-right{right: calc(50% - 910px);}}
@media (max-width: 760px) {.campaign-fv[data-layout] .person{width: 80%; height: auto; bottom: -230px;}
.campaign-fv[data-layout] .person-left{left: -22%;}
.campaign-fv[data-layout] .person-right{right: -22%;}}
.campaign-fv .site-header img{filter: brightness(0) saturate(100%) invert(18%) sepia(19%) saturate(1608%) hue-rotate(151deg) brightness(91%) contrast(91%);}
@media (min-width: 1101px) {.campaign-fv .step h2{font-size: 12px;}
.campaign-fv .step-gift{font-size: 11px;}}
.campaign-fv{--red: #ed001b; --navy: #1e2426; --ink: #1e2426; --mint: #edf7f8; --gold: #ed001b;}
.campaign-fv{font-weight: 600;}
.campaign-fv .preview-bar{min-height: 68px; padding-block: 8px;}
.campaign-fv .layout-buttons button{border-radius: 0px;}
.campaign-fv .layout-buttons button[aria-pressed="true"]{background: rgb(30, 36, 38); border-color: rgb(30, 36, 38);}
.campaign-fv[data-layout] .hero::before{background: linear-gradient(90deg, rgba(20, 37, 39, 0.396) 0%, rgba(20, 37, 39, 0.47) 43%, rgba(20, 37, 39, 0.145) 100%);}
.campaign-fv[data-layout] .site-header{background: transparent; color: white;}
.campaign-fv[data-layout] .site-header img{filter: none;}
.campaign-fv .site-header p{letter-spacing: 0.12em; font-weight: 500;}
.campaign-fv[data-layout] .roof-mark, .campaign-fv[data-layout] .spark{display: none;}
.campaign-fv[data-layout] .campaign-title{color: white;}
.campaign-fv[data-layout] .welcome{font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif; font-weight: 900; font-size: clamp(22px, 2.2vw, 33px); letter-spacing: 0.09em; line-height: 1.7; color: inherit; text-shadow: none; transform: none; margin: 0px 0px 26px;}
.campaign-fv[data-layout] .campaign-title h1{font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif; font-weight: 900; color: inherit; line-height: 1.35; letter-spacing: 0.04em; transform: none; filter: none;}
.campaign-fv[data-layout] .campaign-title h1 span{-webkit-text-stroke: 0px; text-shadow: none; margin-top: 0px;}
.campaign-fv[data-layout] .title-first{font-size: clamp(34px, 3.8vw, 56px);}
.campaign-fv[data-layout] .title-second{font-size: clamp(29px, 3.35vw, 49px);}
.campaign-fv[data-layout] .period{color: inherit; border-color: currentcolor; border-bottom-width: 0px; border-bottom-style: none; padding: 14px 0px 0px; margin-top: 26px; gap: 12px;}
.campaign-fv[data-layout] .period > span{writing-mode: horizontal-tb; font-size: 10px; letter-spacing: 0.08em;}
.campaign-fv[data-layout] .period strong{font-size: 26px;}
.campaign-fv[data-layout] .period b{font-size: 14px;}
.campaign-fv[data-layout] .offer{background: rgba(255, 255, 255, 0.96); color: var(--ink); padding: 28px 22px 20px; border-radius: 0px; box-shadow: none; border: 0px;}
.campaign-fv[data-layout] .offer-intro{font-size: 13px; font-weight: 700; letter-spacing: 0.02em;}
.campaign-fv .offer-intro span{border-bottom: 0px;}
.campaign-fv[data-layout] .reward > p:first-child{font-size: 23px; font-weight: 800; letter-spacing: 0.015em;}
.campaign-fv[data-layout] .reward-amount{color: var(--ink); gap: 7px;}
.campaign-fv[data-layout] .reward-amount strong{font-size: 99px; font-weight: 800; letter-spacing: -0.065em;}
.campaign-fv[data-layout] .maximum{font-size: 17px;}
.campaign-fv[data-layout] .yen{font-size: 21px;}
.campaign-fv[data-layout] .present{font-size: 18px; letter-spacing: 0.12em; margin: 6px 0px 21px;}
.campaign-fv[data-layout] .steps{gap: 0px; grid-template-columns: 1.25fr 1fr; border-top: 1px solid rgb(191, 199, 200);}
.campaign-fv[data-layout] .step{border-radius: 0px; background: transparent; color: var(--ink); box-shadow: none; padding: 15px 5px 0px;}
.campaign-fv[data-layout] .step:last-child{border-left: 1px solid rgb(199, 208, 208);}
.campaign-fv[data-layout] .step-number{background: transparent; border: 1px solid var(--red); border-radius: 0px; color: rgb(206, 0, 24); padding: 4px 9px; font-size: 10px;}
.campaign-fv[data-layout] .step-number b{font-size: 13px;}
.campaign-fv[data-layout] .step h2{font-size: 11px; line-height: 1.65; min-height: 43px;}
.campaign-fv[data-layout] .step-gift{font-size: 10px;}
.campaign-fv[data-layout] .step-price{color: var(--ink); font-size: 12px;}
.campaign-fv[data-layout] .step-price strong{font-size: 31px;}
.campaign-fv[data-layout] .plus{left: 55.55%; background: white; color: rgb(110, 122, 123); font-size: 17px; border: 0px; width: 23px; height: 23px;}
.campaign-fv[data-layout] .person{z-index: 1;}
.campaign-fv .reservation-links{background: rgb(30, 36, 38); border: 0px;}
.campaign-fv .reservation-links a{background: rgb(30, 36, 38); color: white; min-height: 91px; font-size: clamp(13px, 1.25vw, 18px);}
.campaign-fv .reservation-links a + a{background: var(--red); border: 0px;}
.campaign-fv .reservation-links a:hover{background: rgb(52, 61, 63);}
.campaign-fv .reservation-links a + a:hover{background: rgb(201, 0, 23);}
.campaign-fv .reservation-links svg{display: none;}
.campaign-fv .link-arrow{border-radius: 0px; background: transparent; border-bottom: 1px solid rgba(255, 255, 255, 0.5); width: 27px; height: 26px;}
.campaign-fv .campaign-note{font-size: 11px;}
.campaign-fv[data-layout="1"] .hero-content{grid-template-columns: 1fr 1fr; gap: 36px; padding-inline: 16%; min-height: 570px;}
.campaign-fv[data-layout="1"] .campaign-title{text-align: left;}
.campaign-fv[data-layout="2"] .hero-content{padding-inline: 23%; gap: 32px;}
.campaign-fv[data-layout="2"] .welcome{margin-bottom: 10px; font-size: 26px;}
.campaign-fv[data-layout="2"] .title-first, .campaign-fv[data-layout="2"] .title-second{font-size: 48px;}
.campaign-fv[data-layout="2"] .offer{grid-template-columns: 1fr 1.25fr; padding: 21px 22px; gap: 8px 22px;}
.campaign-fv[data-layout="2"] .reward > p:first-child{font-size: 17px;}
.campaign-fv[data-layout="2"] .reward-amount strong{font-size: 69px;}
.campaign-fv[data-layout="2"] .maximum, .campaign-fv[data-layout="2"] .yen{font-size: 15px;}
.campaign-fv[data-layout="2"] .present{font-size: 16px; margin-bottom: 0px;}
.campaign-fv[data-layout="2"] .steps{border-top: 0px;}
.campaign-fv[data-layout="2"] .step{padding-top: 5px;}
.campaign-fv[data-layout="3"] .hero-content{background: rgba(255, 255, 255, 0.97); border: 0px; outline: 0px; padding: 38px 44px;}
.campaign-fv[data-layout="3"] .campaign-title{color: var(--ink); text-align: left;}
.campaign-fv[data-layout="3"] .title-first{font-size: 44px;}
.campaign-fv[data-layout="3"] .title-second{font-size: 37px;}
.campaign-fv[data-layout="3"] .offer{background: transparent; padding: 0px 0px 0px 23px; border-left: 1px solid rgb(198, 203, 204);}
.campaign-fv[data-layout="3"] .reward-amount strong{font-size: 85px;}
.campaign-fv[data-layout="4"] .hero-content{padding-inline: 18%;}
.campaign-fv[data-layout="4"] .welcome{margin-bottom: 18px; font-size: 27px;}
.campaign-fv[data-layout="4"] .title-first, .campaign-fv[data-layout="4"] .title-second{font-size: 43px;}
.campaign-fv[data-layout="4"] .offer{background: rgb(255, 255, 255); grid-template-columns: 1fr 1fr;}
.campaign-fv[data-layout="4"] .reward-amount strong{font-size: 84px;}
.campaign-fv[data-layout="4"] .steps{border-top: 0px;}
.campaign-fv[data-layout="5"] .hero-content{padding-inline: 17%; gap: 24px;}
.campaign-fv[data-layout="5"] .campaign-title{background: rgb(237, 248, 248); color: var(--ink); filter: none; padding: 83px 18px 36px;}
.campaign-fv[data-layout="5"] .welcome{font-size: 25px;}
.campaign-fv[data-layout="5"] .title-first{font-size: 39px;}
.campaign-fv[data-layout="5"] .title-second{font-size: 33px;}
.campaign-fv[data-layout="5"] .reward{border: 0px; background: transparent; border-radius: 0px; aspect-ratio: auto; margin-bottom: 0px;}
.campaign-fv[data-layout="5"] .reward-amount strong{font-size: 83px;}
@media (min-width: 761px) and (max-width: 1100px) {.campaign-fv[data-layout="1"] .hero-content{padding-inline: 13%; gap: 22px;}
.campaign-fv[data-layout] .offer{padding: 22px 13px 16px;}
.campaign-fv[data-layout] .reward-amount strong{font-size: 76px;}
.campaign-fv[data-layout] .offer-intro{font-size: 11px;}
.campaign-fv[data-layout] .step h2{font-size: 9px;}
.campaign-fv[data-layout] .step-gift{font-size: 9px;}
.campaign-fv[data-layout] .step-price strong{font-size: 27px;}
.campaign-fv[data-layout="2"] .hero-content, .campaign-fv[data-layout="4"] .hero-content{padding-inline: 18%;}
.campaign-fv[data-layout="2"] .reward-amount strong{font-size: 58px;}
.campaign-fv[data-layout="2"] .reward > p:first-child{font-size: 14px;}
.campaign-fv[data-layout="3"] .hero-content{width: 78%; padding: 35px 25px;}
.campaign-fv[data-layout="3"] .title-first{font-size: 36px;}
.campaign-fv[data-layout="3"] .title-second{font-size: 30px;}
.campaign-fv[data-layout="3"] .offer{padding-left: 16px;}
.campaign-fv[data-layout="4"] .title-first, .campaign-fv[data-layout="4"] .title-second{font-size: 34px;}
.campaign-fv[data-layout="5"] .hero-content{padding-inline: 12%;}
.campaign-fv[data-layout="5"] .title-first{font-size: 33px;}
.campaign-fv[data-layout="5"] .title-second{font-size: 28px;}
.campaign-fv[data-layout="5"] .welcome{font-size: 22px;}}
@media (max-width: 760px) {.campaign-fv .preview-bar{min-height: 62px;}
.campaign-fv[data-layout] .hero::before{background: linear-gradient(rgba(20, 37, 39, 0.5), rgba(20, 37, 39, 0.282));}
.campaign-fv[data-layout] .hero-content{display: grid; grid-template-columns: 1fr; padding: 30px 24px 182px; gap: 29px;}
.campaign-fv[data-layout] .campaign-title{text-align: center;}
.campaign-fv[data-layout] .welcome{font-size: 21px; letter-spacing: 0.06em; margin-bottom: 18px;}
.campaign-fv[data-layout] .welcome span{display: block;}
.campaign-fv[data-layout] .campaign-title h1 .title-first{font-size: 40px;}
.campaign-fv[data-layout] .campaign-title h1 .title-second{font-size: 34px;}
.campaign-fv[data-layout] .period{padding-top: 12px; margin-top: 23px;}
.campaign-fv[data-layout] .period strong{font-size: 23px;}
.campaign-fv[data-layout] .offer{display: block; background: rgb(255, 255, 255); border: 0px; border-radius: 0px; padding: 21px 13px 16px;}
.campaign-fv[data-layout] .offer-intro{font-size: 11px;}
.campaign-fv[data-layout] .reward > p:first-child{font-size: 20px;}
.campaign-fv[data-layout] .reward-amount strong{font-size: 80px;}
.campaign-fv[data-layout] .maximum{font-size: 17px;}
.campaign-fv[data-layout] .yen{font-size: 20px;}
.campaign-fv[data-layout] .present{font-size: 17px; margin-bottom: 18px;}
.campaign-fv[data-layout] .steps{border-top: 1px solid rgb(191, 199, 200);}
.campaign-fv[data-layout] .step{padding: 13px 4px 0px;}
.campaign-fv[data-layout] .step h2{font-size: 10px;}
.campaign-fv[data-layout] .step-gift{font-size: 9px;}
.campaign-fv[data-layout] .step-price strong{font-size: 29px;}
.campaign-fv[data-layout="3"] .hero-content{background: transparent; border: 0px;}
.campaign-fv[data-layout="3"] .campaign-title{padding: 26px 10px; background: white; outline: 0px;}
.campaign-fv[data-layout="3"] .welcome{font-size: 21px;}
.campaign-fv[data-layout="4"] .campaign-title h1 .title-first, .campaign-fv[data-layout="4"] .campaign-title h1 .title-second{font-size: 34px;}
.campaign-fv[data-layout="5"] .campaign-title{padding: 69px 12px 29px;}
.campaign-fv[data-layout="5"] .reward{background: none;}
.campaign-fv .reservation-links a{min-height: 74px; font-size: 13px; padding-inline: 22px;}}
@media (max-width: 760px) {.campaign-fv[data-layout] .hero{background-size: auto 112%; background-position: center center;}
.campaign-fv[data-layout] .person{bottom: -250px;}}
.campaign-fv[data-layout] .person-left{}
.campaign-fv[data-layout] .person-right{}
.campaign-fv.selected-layout .hero-content{grid-template-columns: minmax(0px, 1.08fr) minmax(0px, 1fr); gap: 40px; padding-inline: 16%;}
.campaign-fv.selected-layout .campaign-title{text-align: center;}
.campaign-fv.selected-layout .welcome{font-size: clamp(20px, 1.85vw, 28px); letter-spacing: 0.025em; line-height: 1.5; margin-bottom: 22px; white-space: nowrap;}
.campaign-fv.selected-layout .welcome span{display: inline;}
.campaign-fv.selected-layout .campaign-title h1{line-height: 1.22; letter-spacing: 0.015em; text-shadow: rgba(16, 34, 32, 0.19) 0px 2px 12px;}
.campaign-fv.selected-layout .campaign-title h1 .title-first{font-size: clamp(46px, 5.1vw, 76px);}
.campaign-fv.selected-layout .campaign-title h1 .title-second{font-size: clamp(39px, 4.35vw, 65px); margin-top: 7px;}
.campaign-fv.selected-layout .period{display: flex; justify-content: center; align-items: center; width: 100%; margin-top: 31px; padding: 14px 12px; gap: 12px; border: 0px; background: white; color: rgb(30, 36, 38);}
.campaign-fv.selected-layout .period > span{font-size: 12px; font-weight: 800; color: rgb(201, 0, 23); letter-spacing: 0.04em; flex-shrink: 0; border-right: 1px solid rgb(203, 208, 208); padding-right: 12px; line-height: 2;}
.campaign-fv.selected-layout .period p{gap: 7px;}
.campaign-fv.selected-layout .period b{font-size: 18px;}
.campaign-fv.selected-layout .period strong{font-size: clamp(25px, 2.5vw, 37px); font-weight: 900;}
.campaign-fv.selected-layout .period i{font-size: 20px;}
@media (min-width: 761px) and (max-width: 1100px) {.campaign-fv.selected-layout .hero-content{padding-inline: 12%; gap: 24px;}
.campaign-fv.selected-layout .period{padding-inline: 9px; gap: 8px;}
.campaign-fv.selected-layout .period > span{font-size: 11px; padding-right: 8px;}
.campaign-fv.selected-layout .period b{font-size: 15px;}
.campaign-fv.selected-layout .period p{gap: 5px;}}
@media (max-width: 760px) {.campaign-fv.selected-layout .hero-content{grid-template-columns: minmax(0px, 1fr); padding: 30px 24px 182px; gap: 29px;}
.campaign-fv.selected-layout .welcome{font-size: clamp(17px, 4.7vw, 23px); margin-bottom: 20px;}
.campaign-fv.selected-layout .campaign-title h1 .title-first{font-size: clamp(38px, 11.7vw, 58px);}
.campaign-fv.selected-layout .campaign-title h1 .title-second{font-size: clamp(33px, 10vw, 50px);}
.campaign-fv.selected-layout .period{margin-top: 26px; padding: 14px 8px; gap: 8px;}
.campaign-fv.selected-layout .period > span{font-size: 11px; padding-right: 8px;}
.campaign-fv.selected-layout .period b{font-size: 14px;}
.campaign-fv.selected-layout .period strong{font-size: clamp(23px, 6.5vw, 30px);}
.campaign-fv.selected-layout .period i{font-size: 15px;}
.campaign-fv.selected-layout .period p{gap: 5px;}}
.campaign-fv.selected-layout .period{background: transparent; color: rgb(255, 255, 255); padding: 0px; margin-top: 26px; gap: 15px;}
.campaign-fv.selected-layout .period > span{background: rgb(215, 0, 27); color: rgb(255, 255, 255); border: 0px; padding: 6px 10px; font-size: 12px; line-height: 1.6; letter-spacing: 0.05em;}
.campaign-fv.selected-layout .period p{text-shadow: rgba(0, 0, 0, 0.533) 0px 2px 8px; gap: 8px;}
.campaign-fv.selected-layout .period b{font-size: 20px;}
.campaign-fv.selected-layout .period strong{font-size: clamp(27px, 2.8vw, 41px);}
.campaign-fv.selected-layout .period i{font-size: 20px;}
@media (min-width: 761px) and (max-width: 1100px) {.campaign-fv.selected-layout .period{gap: 9px;}
.campaign-fv.selected-layout .period > span{padding: 5px 7px; font-size: 11px;}
.campaign-fv.selected-layout .period b{font-size: 15px;}
.campaign-fv.selected-layout .period p{gap: 5px;}}
@media (max-width: 760px) {.campaign-fv.selected-layout .period{margin-top: 21px; gap: 10px;}
.campaign-fv.selected-layout .period > span{padding: 5px 7px; font-size: 11px;}
.campaign-fv.selected-layout .period b{font-size: 15px;}
.campaign-fv.selected-layout .period strong{font-size: clamp(24px, 7vw, 32px);}
.campaign-fv.selected-layout .period i{font-size: 16px;}
.campaign-fv.selected-layout .period p{gap: 5px;}}
.campaign-fv.selected-layout .campaign-logo{margin: 0px; line-height: 0; text-shadow: none;}
.campaign-fv.selected-layout .campaign-logo img{display: block; width: 100%; height: auto;}
.campaign-fv.selected-layout .offer-intro{font-size: 16px; line-height: 1.7; white-space: normal; margin-bottom: 12px;}
.campaign-fv.selected-layout .reward > p:first-child{font-size: 25px;}
.campaign-fv.selected-layout .maximum{font-size: 21px;}
.campaign-fv.selected-layout .yen{font-size: 25px;}
.campaign-fv.selected-layout .present{font-size: 21px;}
.campaign-fv.selected-layout .steps{grid-template-columns: 1.2fr 1fr;}
.campaign-fv.selected-layout .step{padding: 18px 8px 0px;}
.campaign-fv.selected-layout .step-number{font-size: 13px; padding: 6px 11px;}
.campaign-fv.selected-layout .step-number b{font-size: 17px;}
.campaign-fv.selected-layout .step h2{font-size: 14px; line-height: 1.65; min-height: 74px; margin: 12px 0px 8px;}
.campaign-fv.selected-layout .step-gift{font-size: 13px; line-height: 1.6; margin: 4px 0px;}
.campaign-fv.selected-layout .step-price{font-size: 16px;}
.campaign-fv.selected-layout .step-price strong{font-size: 37px;}
.campaign-fv.selected-layout .plus{left: 54.55%;}
@media (max-width: 1100px) {.campaign-fv.selected-layout .offer{padding: 22px 16px;}
.campaign-fv.selected-layout .offer-intro{font-size: 15px;}
.campaign-fv.selected-layout .reward > p:first-child{font-size: 22px;}
.campaign-fv.selected-layout .steps{grid-template-columns: 1fr;}
.campaign-fv.selected-layout .step{padding: 16px 0px;}
.campaign-fv.selected-layout .step:last-child{border-left: 0px; border-top: 1px solid rgb(199, 208, 208); padding-bottom: 0px;}
.campaign-fv.selected-layout .step h2{font-size: 15px; min-height: 0px; margin: 10px 0px 7px;}
.campaign-fv.selected-layout .step-gift{font-size: 14px;}
.campaign-fv.selected-layout .step-price strong{font-size: 36px;}
.campaign-fv.selected-layout .plus{display: none;}}
.campaign-fv.selected-layout .hero-content{max-width: 1700px; padding-inline: 13%; gap: 36px;}
.campaign-fv.selected-layout .person{width: 28%; max-width: 490px; bottom: -110px;}
.campaign-fv.selected-layout .person-left{left: -6.5%;}
.campaign-fv.selected-layout .person-right{right: -6.5%;}
@media (min-width: 1101px) {.campaign-fv.selected-layout .offer{padding: 30px 24px 24px;}
.campaign-fv.selected-layout .offer-intro{font-size: 18px;}
.campaign-fv.selected-layout .reward > p:first-child{font-size: 28px;}
.campaign-fv.selected-layout .reward-amount strong{font-size: 112px;}
.campaign-fv.selected-layout .step h2{font-size: 16px;}
.campaign-fv.selected-layout .step-gift{font-size: 15px;}
.campaign-fv.selected-layout .step-price strong{font-size: 41px;}
.campaign-fv.selected-layout .period strong{font-size: 43px;}}
@media (min-width: 761px) and (max-width: 1100px) {.campaign-fv.selected-layout .hero-content{padding-inline: 11%; gap: 24px;}}
@media (max-width: 760px) {.campaign-fv.selected-layout .hero-content{padding: 30px 20px 170px; gap: 29px;}
.campaign-fv.selected-layout .person{width: 68%; max-width: none; bottom: -210px;}
.campaign-fv.selected-layout .person-left{left: -18%;}
.campaign-fv.selected-layout .person-right{right: -18%;}}
.campaign-fv.selected-layout .offer{padding-block: 20px 18px;}
.campaign-fv.selected-layout .offer-intro{margin-bottom: 5px; line-height: 1.5;}
.campaign-fv.selected-layout .present{margin: 3px 0px 12px;}
.campaign-fv.selected-layout .step{padding-top: 12px;}
.campaign-fv.selected-layout .step h2{min-height: 54px; margin: 7px 0px 3px; line-height: 1.55;}
.campaign-fv.selected-layout .step-gift{margin: 2px 0px;}
@media (max-width: 1100px) {.campaign-fv.selected-layout .step{padding-block: 12px;}
.campaign-fv.selected-layout .step h2{min-height: 0px; margin: 7px 0px 3px;}}
.campaign-fv.selected-layout:not([data-period]) .hero{min-height: 0px;}
.campaign-fv.selected-layout:not([data-period]) .site-header{height: 76px;}
.campaign-fv.selected-layout:not([data-period]) .hero-content{min-height: 0px; padding-top: 12px; padding-bottom: 32px;}
@media (max-width: 760px) {.campaign-fv.selected-layout:not([data-period]) .site-header{height: 65px;}
.campaign-fv.selected-layout:not([data-period]) .hero-content{padding-top: 20px; padding-bottom: 170px;}}
.campaign-fv.selected-layout .offer{background: rgba(255, 255, 255, 0.7); backdrop-filter: blur(5px) saturate(0.85); border: 0px; box-shadow: none;}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {.campaign-fv.selected-layout .offer{background: rgba(255, 255, 255, 0.95);}}
.campaign-fv.selected-layout .offer{background: rgba(255, 255, 255, 0.7); border-radius: 20px; backdrop-filter: blur(5px) saturate(0.85);}
.campaign-fv[data-layout] .person{mask-mode: alpha;}
.campaign-fv[data-layout] .person-left{}
.campaign-fv[data-layout] .person-right{}
.campaign-fv .reservation-links a, .campaign-fv .reservation-links a + a{background: rgb(30, 36, 38); color: rgb(255, 255, 255);}
.campaign-fv .reservation-links a + a{border-left: 1px solid rgba(255, 255, 255, 0.7);}
.campaign-fv .reservation-links a:hover, .campaign-fv .reservation-links a + a:hover{background: var(--red);}
.campaign-fv .reservation-links .link-arrow{border: 0px;}
@media (max-width: 760px) {.campaign-fv .reservation-links a + a{border-left: 0px; border-top: 1px solid rgba(255, 255, 255, 0.7);}}
.campaign-fv[data-layout] .person-left, .campaign-fv[data-layout] .person-right{mask-image: none;}