.lpa-root{text-align: left;}
.lpa-root .lpa0{font-family: "Hiragino Sans", "Noto Sans JP", -apple-system, system-ui, sans-serif; color: rgb(31, 45, 26); background: rgb(245, 252, 237);}
.lpa-root .lpa1{background: rgb(63, 197, 21); padding: 24px 18px 28px; color: rgb(255, 255, 255); position: relative; overflow: hidden;}
.lpa-root .lpa2{position: absolute; width: 160px; height: 160px; border-radius: 50%; background: rgba(255, 255, 255, 0.12); right: -50px; top: -40px;}
.lpa-root .lpa3{position: absolute; width: 90px; height: 90px; border-radius: 50%; background: rgba(255, 255, 255, 0.1); left: -30px; top: 60px;}
.lpa-root .lpa4{display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 1;}
.lpa-root .lpa5{display: flex; align-items: center; gap: 8px;}
.lpa-root .lpa6{width: 28px; height: 28px; border-radius: 8px; background: rgb(255, 255, 255); display: flex; align-items: center; justify-content: center; overflow: hidden;}
.lpa-root .lpa7{width: 100%; height: 100%; object-fit: contain;}
.lpa-root .lpa8{font-weight: 800; letter-spacing: 0.03em; font-size: 13px;}
.lpa-root .lpa9{font-size: 10px; font-weight: 700; background: rgba(255, 255, 255, 0.22); padding: 4px 8px; border-radius: 999px; backdrop-filter: blur(4px);}
.lpa-root .lpa10{margin: 24px 0px 8px; font-size: 27px; line-height: 1.32; font-weight: 900; letter-spacing: 0px;}
.lpa-root .lpa11{background: rgb(255, 255, 255); color: rgb(63, 197, 21); padding: 0px 8px; border-radius: 6px; display: inline-block; margin-bottom: 4px;}
.lpa-root .lpa12{margin: 0px 0px 18px; font-size: 13px; line-height: 1.7; color: rgba(255, 255, 255, 0.92);}
.lpa-root .lpa13{height: 200px; border-radius: 16px; overflow: hidden; box-shadow: rgba(0, 0, 0, 0.22) 0px 8px 30px; margin-bottom: 18px;}
.lpa-root .lpa14{width: 100%; height: 100%; object-fit: cover; object-position: center top;}
.lpa-root .lp-cta{width: 100%; background: rgb(63, 197, 21); color: rgb(255, 255, 255); border: 0px; border-radius: 999px; padding: 18px 16px; font-size: 17px; font-weight: 800; font-family: inherit; letter-spacing: 0.02em; box-shadow: rgb(45, 150, 16) 0px 6px 0px, rgba(63, 197, 21, 0.32) 0px 12px 24px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; text-decoration: none; box-sizing: border-box;}
.lpa-root .lpa16{margin-top: 14px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; font-size: 10.5px; color: rgba(255, 255, 255, 0.95); font-weight: 700; text-align: center;}
.lpa-root .lpa17{background: rgba(255, 255, 255, 0.18); padding: 8px 4px; border-radius: 8px; backdrop-filter: blur(6px);}
.lpa-root .lpa18{margin-top: 3px;}
.lpa-root .lpa19{padding: 44px 18px 40px; background: rgb(245, 252, 237);}
.lpa-root .lpa20{text-align: center;}
.lpa-root .lpa21{font-size: 10.5px; font-weight: 800; letter-spacing: 0.18em; color: rgb(63, 197, 21); margin-bottom: 6px;}
.lpa-root .lpa22{margin: 0px; font-size: 21px; font-weight: 900; color: rgb(31, 45, 26); line-height: 1.4;}
.lpa-root .lpa23{background: linear-gradient(transparent 62%, rgba(63, 197, 21, 0.15) 62%); padding: 0px 4px;}
.lpa-root .lpa24{margin: 14px 0px 22px; text-align: center; font-size: 12.5px; color: rgb(92, 107, 90); line-height: 1.8;}
.lpa-root .lpa25{display: flex; flex-direction: column; gap: 12px;}
.lpa-root .lpa26{background: rgb(255, 255, 255); border-radius: 16px; padding: 16px 14px; box-shadow: rgba(63, 197, 21, 0.06) 0px 2px 8px, rgb(213, 229, 197) 0px 0px 0px 1px;}
.lpa-root .lpa27{display: flex; align-items: center; gap: 10px; margin-bottom: 10px;}
.lpa-root .lpa28{flex: 0 0 36px; height: 36px; border-radius: 10px; background: rgb(63, 197, 21); color: rgb(255, 255, 255); display: flex; align-items: center; justify-content: center;}
.lpa-root .lpa29{font-size: 9.5px; font-weight: 800; color: rgb(63, 197, 21); letter-spacing: 0.1em;}
.lpa-root .lpa30{font-size: 15px; font-weight: 800; color: rgb(31, 45, 26); line-height: 1.3;}
.lpa-root .lpa31{display: flex; flex-wrap: wrap; gap: 6px;}
.lpa-root .lpa32{font-size: 11px; font-weight: 600; color: rgb(31, 45, 26); background: rgb(245, 252, 237); border: 1px solid rgb(213, 229, 197); padding: 5px 10px; border-radius: 999px; line-height: 1.3;}
.lpa-root .lpa33{margin-top: 22px; padding: 18px 16px; background: rgb(45, 150, 16); border-radius: 16px; color: rgb(255, 255, 255); display: flex; align-items: center; gap: 12px;}
.lpa-root .lpa34{flex: 1 1 0%;}
.lpa-root .lpa35{font-size: 11px; font-weight: 700; opacity: 0.9; margin-bottom: 2px;}
.lpa-root .lpa36{font-size: 13px; font-weight: 800; line-height: 1.45; white-space: normal;}
.lpa-root .lpa37{padding: 44px 18px 40px; background: rgb(232, 244, 219);}
.lpa-root .lpa38{margin: 14px 0px 0px; text-align: center; font-size: 12px; color: rgb(92, 107, 90); line-height: 1.75;}
.lpa-root .lpa39{margin-top: 22px; background: rgb(255, 255, 255); border-radius: 18px; overflow: hidden; box-shadow: rgba(63, 197, 21, 0.08) 0px 2px 8px, rgb(213, 229, 197) 0px 0px 0px 1px;}
.lpa-root .lpa40{display: block; width: 100%; height: auto;}
.lpa-root .lpa41{display: flex; flex-direction: column; gap: 16px; margin-top: 24px;}
.lpa-root .lpa42{background: rgb(255, 255, 255); border-radius: 18px; padding: 20px 16px 18px; box-shadow: rgba(63, 197, 21, 0.08) 0px 2px 8px, rgb(213, 229, 197) 0px 0px 0px 1px; position: relative;}
.lpa-root .lpa43{position: absolute; top: -12px; left: 14px; background: rgb(63, 197, 21); color: rgb(255, 255, 255); font-size: 10px; font-weight: 800; padding: 4px 10px; border-radius: 999px; letter-spacing: 0.08em;}
.lpa-root .lpa44{display: flex; gap: 14px; align-items: center; margin-top: 6px; margin-bottom: 12px;}
.lpa-root .lpa45{flex: 0 0 56px; height: 56px; border-radius: 16px; background: rgb(63, 197, 21); color: rgb(255, 255, 255); display: flex; align-items: center; justify-content: center;}
.lpa-root .lpa46{flex: 1 1 0%; min-width: 0px;}
.lpa-root .lpa47{margin: 0px; font-size: 20px; font-weight: 800; color: rgb(31, 45, 26); line-height: 1.35;}
.lpa-root .lpa48{margin: 0px 0px 12px; font-size: 12.5px; line-height: 1.75; color: rgb(92, 107, 90);}
.lpa-root .lpa49{background: rgb(245, 252, 237); border-radius: 10px; padding: 10px 12px; display: flex; flex-direction: column; gap: 7px;}
.lpa-root .lpa50{display: flex; align-items: flex-start; gap: 8px; font-size: 11.5px; line-height: 1.5; font-weight: 600; color: rgb(31, 45, 26);}
.lpa-root .lpa51{flex: 0 0 14px; height: 14px; border-radius: 50%; background: rgb(63, 197, 21); color: rgb(255, 255, 255); display: flex; align-items: center; justify-content: center; margin-top: 2px;}
.lpa-root .lpa52{margin-top: 24px;}
.lpa-root .lpa53{display: flex; justify-content: center; gap: 20px; margin-top: 12px;}
.lpa-root .lpa54{display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; color: rgb(45, 150, 16);}
.lpa-root .lpa55{width: 16px; height: 16px; border-radius: 50%; background: rgb(63, 197, 21); color: rgb(255, 255, 255); display: flex; align-items: center; justify-content: center;}
.lpa-root .lpa56{padding: 40px 18px; background: rgb(245, 252, 237);}
.lpa-root .lpa57{margin-top: 16px; border-radius: 18px; overflow: hidden; box-shadow: rgba(63, 197, 21, 0.12) 0px 4px 16px, rgb(213, 229, 197) 0px 0px 0px 1px;}
.lpa-root .lpa58{width: 100%; height: 200px; object-fit: cover; display: block;}
.lpa-root .lpa59{margin: 18px 0px; text-align: center; font-size: 12px; color: rgb(92, 107, 90); line-height: 1.75;}
.lpa-root .lpa60{background: rgb(255, 255, 255); border-radius: 18px; padding: 18px 14px; box-shadow: rgba(63, 197, 21, 0.08) 0px 2px 8px, rgb(213, 229, 197) 0px 0px 0px 1px;}
.lpa-root .lpa61{display: flex; align-items: center; gap: 12px; padding: 12px 4px; border-bottom: 1px solid rgb(224, 234, 208);}
.lpa-root .lpa62{flex: 0 0 26px; height: 26px; border-radius: 50%; background: rgb(63, 197, 21); color: rgb(255, 255, 255); display: flex; align-items: center; justify-content: center;}
.lpa-root .lpa63{flex: 1 1 0%; font-size: 13px; font-weight: 700; color: rgb(31, 45, 26); line-height: 1.45;}
.lpa-root .lpa64{display: flex; align-items: center; gap: 12px; padding: 12px 4px; border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor;}
.lpa-root .lpa65{padding: 40px 18px; background: rgb(232, 244, 219);}
.lpa-root .lpa66{position: relative; margin-top: 22px;}
.lpa-root .lpa67{position: absolute; top: 0px; bottom: 0px; left: 24px; width: 2px; background: rgb(184, 220, 160); border-radius: 1px;}
.lpa-root .lpa68{display: flex; flex-direction: column; gap: 14px;}
.lpa-root .lpa69{display: flex; gap: 14px; position: relative;}
.lpa-root .lpa70{flex: 0 0 50px; height: 50px; border-radius: 50%; background: rgb(255, 255, 255); border: 3px solid rgb(63, 197, 21); color: rgb(63, 197, 21); font-weight: 900; font-size: 18px; display: flex; align-items: center; justify-content: center; position: relative; z-index: 1;}
.lpa-root .lpa71{flex: 1 1 0%; background: rgb(255, 255, 255); border-radius: 14px; padding: 14px; box-shadow: rgba(0, 0, 0, 0.04) 0px 1px 4px;}
.lpa-root .lpa72{margin: 0px 0px 4px; font-size: 15px; font-weight: 800; color: rgb(31, 45, 26);}
.lpa-root .lpa73{margin: 0px; font-size: 12px; line-height: 1.65; color: rgb(92, 107, 90);}
.lpa-root .lpa74{margin: 10px 0px 18px; text-align: center; font-size: 12px; color: rgb(92, 107, 90); line-height: 1.7;}
.lpa-root .lpa75{display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px;}
.lpa-root .lpa76{height: 64px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; color: rgb(31, 45, 26); letter-spacing: 0.01em; text-align: center; line-height: 1.2; padding: 6px 8px; box-sizing: border-box; background: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.06) 0px 0px 0px 1px, rgba(0, 0, 0, 0.05) 0px 1px 3px;}
.lpa-root .lpa77{height: 64px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; color: rgb(31, 45, 26); letter-spacing: 0.01em; text-align: center; line-height: 1.2; padding: 6px 8px; box-sizing: border-box; background: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.06) 0px 0px 0px 1px, rgba(0, 0, 0, 0.05) 0px 1px 3px;}
.lpa-root .lpa78{margin-top: 14px; text-align: center; font-size: 11px; font-weight: 700; color: rgb(63, 197, 21);}
.lpa-root .lpa79{display: flex; flex-direction: column; gap: 14px; margin-top: 22px;}
.lpa-root .lpa80{background: rgb(255, 255, 255); border-radius: 18px; padding: 14px; box-shadow: rgba(0, 0, 0, 0.04) 0px 2px 10px;}
.lpa-root .lpa81{display: flex; gap: 12px;}
.lpa-root .lpa82{flex: 0 0 72px; height: 72px; border-radius: 50%; overflow: hidden; background: rgb(243, 239, 226);}
.lpa-root .lpa83{display: inline-block; font-size: 9.5px; font-weight: 700; background: rgb(216, 235, 194); color: rgb(45, 150, 16); padding: 2px 8px; border-radius: 999px; margin-bottom: 6px;}
.lpa-root .lpa84{margin: 0px 0px 4px; font-size: 13.5px; font-weight: 800; color: rgb(31, 45, 26); line-height: 1.4;}
.lpa-root .lpa85{display: flex; gap: 1px; margin-bottom: 2px;}
.lpa-root .lpa86{margin: 10px 0px 6px; font-size: 12px; line-height: 1.75; color: rgb(92, 107, 90);}
.lpa-root .lpa87{font-size: 10.5px; color: rgb(92, 107, 90); font-weight: 600;}
.lpa-root .lpa88{margin-top: 22px;}
.lpa-root .lpa89{display: flex; flex-direction: column; gap: 8px;}
.lpa-root .lpa90{background: rgb(255, 255, 255); border: 1px solid rgb(213, 229, 197); border-radius: 14px; overflow: hidden; transition: background-color 0.15s;}
.lpa-root .lpa91{width: 100%; padding: 14px; display: flex; align-items: center; gap: 10px; background: transparent; border: 0px; cursor: pointer; text-align: left; font-family: inherit;}
.lpa-root .lpa92{flex: 0 0 22px; height: 22px; border-radius: 11px; background: rgb(63, 197, 21); color: rgb(255, 255, 255); display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700;}
.lpa-root .lpa93{flex: 1 1 0%; font-size: 13.5px; font-weight: 600; color: rgb(31, 45, 26); line-height: 1.45;}
.lpa-root .lpa94{flex: 0 0 auto; color: rgb(92, 107, 90);}
.lpa-root .lpa95{padding: 0px 14px 14px 46px; font-size: 12.5px; line-height: 1.7; color: rgb(92, 107, 90);}
.lpa-root .lpa96{background: rgb(255, 180, 34); border-radius: 20px; padding: 24px 18px; color: rgb(255, 255, 255); position: relative; overflow: hidden;}
.lpa-root .lpa97{position: absolute; right: -30px; top: -30px; width: 120px; height: 120px; border-radius: 50%; background: rgba(255, 255, 255, 0.15);}
.lpa-root .lpa98{position: absolute; right: 8px; top: 8px; font-size: 9.5px; font-weight: 800; background: rgb(63, 197, 21); color: rgb(255, 255, 255); padding: 4px 10px; border-radius: 999px; letter-spacing: 0.05em; z-index: 1;}
.lpa-root .lpa99{position: relative; z-index: 1;}
.lpa-root .lpa100{display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 800; background: rgba(255, 255, 255, 0.25); padding: 4px 10px; border-radius: 999px; margin-bottom: 10px;}
.lpa-root .lpa101{margin: 0px 0px 6px; font-size: 18px; font-weight: 900; line-height: 1.35;}
.lpa-root .lpa102{font-size: 30px; color: rgb(255, 255, 255); display: inline-flex; align-items: baseline;}
.lpa-root .lpa103{font-size: 14px; margin-left: 2px;}
.lpa-root .lpa104{font-size: 13px; font-weight: 800; margin-bottom: 10px;}
.lpa-root .lpa105{display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 14px;}
.lpa-root .lpa106{font-size: 10px; font-weight: 700; background: rgb(255, 255, 255); color: rgb(31, 45, 26); padding: 4px 10px; border-radius: 999px;}
.lpa-root .lpa107{font-size: 10px; opacity: 0.85; line-height: 1.55;}
.lpa-root .lpa108{padding: 36px 18px 24px; background: rgb(245, 252, 237); text-align: center;}
.lpa-root .lpa109{font-size: 11px; font-weight: 800; color: rgb(63, 197, 21); letter-spacing: 0.1em; margin-bottom: 6px;}
.lpa-root .lpa110{margin: 0px 0px 6px; font-size: 20px; font-weight: 900; color: rgb(31, 45, 26); line-height: 1.4;}
.lpa-root .lpa111{margin: 0px 0px 18px; font-size: 12px; color: rgb(92, 107, 90); line-height: 1.7;}
.lpa-root .lpa112{margin-top: 24px; padding-top: 18px; border-top: 1px solid rgb(213, 229, 197); font-size: 10px; color: rgb(92, 107, 90); line-height: 1.6;}

/* FAQ accordion — app/javascript/controllers/faq_controller.js */
.lpa-root .faq-panel{max-height:0;overflow:hidden;transition:max-height .28s ease;}
.lpa-root .faq-item.is-open .faq-panel{max-height:320px;}
.lpa-root .faq-arrow{transition:transform .2s ease;}
.lpa-root .faq-item.is-open .faq-arrow{transform:rotate(180deg);}
