@font-face{font-family:CrystalDisplay;src:url("original/assets/font/GenJyuuGothicL-P-Medium.woff") format('woff');font-weight:400 500;font-display:swap}
@font-face{font-family:CrystalDisplay;src:url("original/assets/font/GenJyuuGothicL-P-Bold.woff") format('woff');font-weight:600 900;font-display:swap}
@font-face{font-family:CrystalRound;src:url("fonts/crystal-round-medium.woff") format('woff');font-weight:400 600;font-style:normal;font-display:swap}
@font-face{font-family:CrystalRound;src:url("fonts/crystal-round-heavy.woff") format('woff');font-weight:700 900;font-style:normal;font-display:swap}
body,.text-patch,.sec-faq .question,.sec-faq .answer{font-family:CrystalDisplay,'Hiragino Maru Gothic ProN',sans-serif}
.refine-copy{box-sizing:border-box;position:absolute;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;font-family:CrystalDisplay,'Hiragino Maru Gothic ProN',sans-serif;line-height:1.5;letter-spacing:.03em}
.refine-copy p,.refine-copy strong,.refine-copy small{margin:0;line-height:1.45}
.refine-copy strong{font-weight:700}
.sec-mv{container-type:inline-size}
.hero-top{left:38%;top:5.45%;width:24%;height:4%;background:#fff;color:#514c4b;font-size:1.9cqw;font-weight:500;letter-spacing:.06em;white-space:nowrap}
.hero-ribbon{left:18%;top:26.2%;width:20.5%;height:5.2%;background:transparent;color:#434747;font-size:2.05cqw;font-weight:500;letter-spacing:.035em;white-space:nowrap}
.hero-merit{top:48.7%;height:10.2%;background:transparent;color:#474c4c;gap:.3cqw;font-size:1.25cqw;font-weight:500;line-height:1.4;letter-spacing:.015em}
.merit-1{left:12.7%;width:9.6%}.merit-2{left:23%;width:9.6%}.merit-3{left:33.4%;width:9.6%}
.hero-promise{left:9.8%;top:72.5%;width:36%;height:12.6%;gap:.45cqw;padding:0;background:transparent}
.hero-promise p{color:#4c5657;font-size:1.5cqw;font-weight:500;letter-spacing:.07em;line-height:1.6}
.hero-promise strong{color:#ef7997;font-size:2.85cqw;font-weight:700;line-height:1.4;letter-spacing:.025em;white-space:nowrap;-webkit-text-stroke:.35cqw white;paint-order:stroke fill;text-shadow:0 .13cqw .3cqw #997d7033}
.hero-promise strong span{color:#43b5b9}
.hero-contract{left:0;bottom:0;width:100%;height:8.1%;padding:0 30%;flex-direction:row;gap:1.6cqw;background:linear-gradient(110deg,#4fbebd,#61cfc9);color:white;font-size:clamp(13px,1.6cqw,23px);font-weight:500;letter-spacing:.025em;white-space:nowrap}
.hero-contract span{flex:1;display:flex;align-items:baseline;justify-content:center;gap:.35cqw}
.hero-contract b{font-size:clamp(22px,2.5cqw,36px);font-weight:700;line-height:1}
.hero-contract i{flex:0 0 1px;height:32%;background:#ffffffaa}
.point-visual{width:100%;aspect-ratio:2601/1931.394;overflow:hidden}
.point-promise{left:29%;top:75.3%;width:42%;height:8%;gap:.55cqw;background:white;color:#ed7795}
.point-promise small{font-size:clamp(13px,1.4cqw,20px);font-weight:500;letter-spacing:.06em;color:#776c71}
.point-promise strong{font-size:clamp(25px,3.3cqw,48px);line-height:1.25;letter-spacing:.035em;text-shadow:.1cqw .12cqw 0 #ffe3eb}
.point-promise strong br{display:none}
.point-body{padding:28px 24px 34px;background:linear-gradient(110deg,#f9e6df,#fff2f3 48%,#f8e1e4);text-align:center}
.point-body p{margin:0;line-height:1.8;letter-spacing:.025em}
.agency-rule{font-size:18px;color:#65575c}
.agency-rule span{margin-right:.5em}
.agency-rule strong{font-size:clamp(22px,2vw,30px);font-weight:700;color:#cb6885;letter-spacing:.025em}
.point-disclosure{margin-top:14px!important;font-size:18px;color:#75666d}
.rate-promise{left:11%;top:79%;width:35%;height:11%;gap:.7cqw;background:linear-gradient(110deg,#eaf8f9,#eefafb);color:#3faeaf}
.rate-promise small{padding:.3cqw 1.2cqw;border-radius:4cqw;background:#fff4f7;color:#d46989;font-size:clamp(12px,1.4cqw,20px);font-weight:500;letter-spacing:.01em}
.rate-promise strong{font-size:clamp(24px,3cqw,44px);line-height:1.55;letter-spacing:.04em}
.rate-promise-sp{display:none}
.media-canvas{container-type:inline-size}
.media-heading{left:38.3%;top:9.2%;width:23.6%;height:1.9%;background:white;color:#51696a;font-size:clamp(14px,1.65cqw,24px);font-weight:500;letter-spacing:.025em;white-space:nowrap}
.text-patch{font-weight:500}
#agency-rate .text-patch{font-weight:700}
.work-style-fix{font-family:CrystalDisplay,sans-serif}
.privacy-note{font-size:clamp(10px,1.15cqw,16px)!important;line-height:1.5!important;letter-spacing:0!important}
.payment-step{font-size:clamp(13px,1.35cqw,20px)!important;height:3.2%!important;line-height:1.65!important;letter-spacing:.02em!important}
.sec-faq .question{font-weight:500;line-height:1.7}
.sec-faq .answer{line-height:1.9}
.consult-cta{position:relative!important;display:block;width:100%;min-height:48px;background:linear-gradient(105deg,#ffc279,#ff7696 82%);border-radius:2cqw 0 2cqw 0;box-shadow:0 .45cqw .9cqw #a8577433}
.consult-cta img{opacity:0;display:block;width:100%;height:auto}
.consult-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:.65em;color:white;font-family:CrystalDisplay,sans-serif;font-size:clamp(18px,1.8vw,26px);font-weight:700;letter-spacing:.07em;white-space:nowrap}
.consult-label::after{content:'›';font-size:1.5em;line-height:1;font-weight:500}
.consult-cta:focus-visible{outline:3px solid #268f99;outline-offset:5px}
@media(max-width:767px){
 .hero-top{left:20%;top:1.25%;width:60%;height:3.05%;font-size:5cqw;letter-spacing:.04em}
 .hero-ribbon{left:24%;top:45.4%;width:52%;height:4.1%;font-size:5.2cqw;background:#faf8f5;color:#474848;letter-spacing:.02em}
 .hero-merit{top:62.5%;height:9%;gap:1cqw;background:transparent;font-size:3.8cqw;line-height:1.45}
 .merit-1{left:4.8%;width:27.8%}.merit-2{left:35.6%;width:27.8%}.merit-3{left:66.5%;width:27.8%}
 .hero-promise{left:0;top:86.4%;width:100%;height:9.8%;padding:0 4cqw;gap:.5cqw;background:#fff}
 .hero-promise p{font-size:4.05cqw;letter-spacing:.05em;line-height:1.65}
 .hero-promise strong{font-size:7.4cqw;letter-spacing:.01em;line-height:1.5;-webkit-text-stroke:.5cqw white}
 .hero-contract{height:3.8%;padding:0 8%;gap:3cqw;font-size:clamp(12px,4cqw,24px);letter-spacing:0}
 .hero-contract span{gap:.7cqw}
 .hero-contract b{font-size:clamp(18px,5.6cqw,34px)}
 .point-visual{aspect-ratio:751/1878.8}
 .point-promise{left:20%;top:75.4%;width:60%;height:11%;gap:1.2cqw}
 .point-promise small{font-size:clamp(13px,3.7cqw,24px);letter-spacing:.04em}
 .point-promise strong{font-size:clamp(25px,8.3cqw,53px);line-height:1.32;letter-spacing:.03em}
 .point-promise strong br{display:block}
 .point-body{padding:22px 18px 28px}
 .agency-rule{font-size:14px;line-height:1.8!important}
 .agency-rule span,.agency-rule strong{display:block;margin:0}
 .point-disclosure{margin-top:18px!important;font-size:14px;line-height:1.8!important}
 .rate-promise-sp{display:flex;left:0;top:97.6%;width:100%;height:2.4%;gap:1cqw;background:linear-gradient(100deg,#eaf8f8,#f3fcfb);color:#369a9f}
 .rate-promise-sp small{font-size:clamp(12px,3.6cqw,23px);letter-spacing:.025em}
 .rate-promise-sp strong{font-size:clamp(19px,5.5cqw,36px);letter-spacing:.01em}
 .media-heading{left:17%;top:2.8%;width:66%;height:2%;font-size:clamp(14px,4.75cqw,28px);letter-spacing:.02em}
 .privacy-note{font-size:clamp(10px,2.5cqw,16px)!important}
 .payment-step{font-size:clamp(13px,4cqw,22px)!important;height:4.7%!important;line-height:1.65!important}
 .sec-faq .question{line-height:1.8}.sec-faq .answer{line-height:1.9}
 .consult-cta{border-radius:6vw 0 6vw 0;box-shadow:0 1.2vw 2.5vw #a8577433}
 .consult-label{font-size:clamp(17px,4.7vw,26px);letter-spacing:.045em}
}
.point-separator-cover{position:absolute;left:45%;top:83.4%;width:10%;height:3%;background:#fffaf8}
.point-disclosure span{display:inline-block}
@media(max-width:767px){.point-separator-cover{left:43%;top:86.5%;width:14%;height:2%;background:#fffaf7}.point-disclosure span{display:block}}

/* Shared text rhythm: short labels, one focal line, and aligned baselines. */
.hero-benefit-surface{display:none;position:absolute;left:12.65%;top:48.7%;width:30.5%;height:8.6%;background:#f4fafa}
.hero-merit strong{font-size:1.43cqw;line-height:1.5;white-space:nowrap;letter-spacing:0}
.hero-merit span{line-height:1.5}
.sec-contact-mv .txt{line-height:1.8}
@media(max-width:767px){
 .hero-benefit-surface{display:block;left:4.6%;top:62.5%;width:90%;height:8.7%;background:#f8f5f2}
 .hero-merit strong{font-size:4.15cqw;line-height:1.5}
 .agency-rule strong{font-size:5.6vw;line-height:1.6}
 .agency-rule span{margin-bottom:4px}
 .sec-faq .list-faq .question .flex-wrap .txt{font-size:16px;line-height:1.75;letter-spacing:.02em}
 .sec-faq .list-faq .answer{font-size:16px;line-height:1.9;letter-spacing:.015em}
}

.hero-payment{left:49.95%;top:23.4%;width:7.1%;height:8%;background:#fff;border-radius:28%;color:#ff829d;font-size:1.55cqw;font-weight:700;line-height:1.3;letter-spacing:0}
.hero-payment span,.hero-payment strong{line-height:1.3;white-space:nowrap}
.hero-payment strong{font-size:1.75cqw}
@media(max-width:767px){
 .hero-payment{left:6.3%;top:15.5%;width:19%;height:7%;font-size:3.95cqw;border-radius:25%}
 .hero-payment strong{font-size:4.5cqw}
}
