@charset "UTF-8";

/* 基本 */
html { font-size: min(calc(100vw / 50), 10px); -webkit-text-size-adjust: 100%; }
@media (min-width: 768px) { html { font-size: 10px; } }
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: #c82a23; color: #262626; font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; line-height: 1.5; word-break: auto-phrase; line-break: strict; }
p, h1, h2, h3, ul, ol, dl, dd, figure { margin: 0; padding: 0; }
ul, ol { list-style: none; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.red { color: #dc0000; }
.lp { position: relative; width: 50rem; margin: 0 auto; background: #fff; overflow: hidden; }
.lp img { width: 100%; }

/* ヘッダー */
.header { position: relative; }
.header__link { position: absolute; display: block; }
.header__link--logo { left: 0; top: 0; width: 25rem; height: 4.5rem; }
.header__link--fraud { left: 25rem; top: 0; width: 25rem; height: 4.5rem; }
.header__link--terms { left: 33.3rem; top: 4.5rem; width: 16.7rem; height: 2.5rem; }

/* FV */
.fv { background: #db0011; }
.fv__band { height: 4.4rem; padding-top: .1rem; }
.fv__band span { display: block; width: 46rem; height: 3.6rem; margin: 0 auto; background: #fff; border-radius: .26rem; color: #db0011; font-size: 1.7rem; font-weight: 700; line-height: 3.6rem; text-align: center; white-space: nowrap; }

/* CTA */
.cta-wrap { padding: 3.1rem 0 1.5rem; }
.cta-wrap--red { background: #db0011; }
.cta-wrap--cream { background: #fcf8ef; padding: 2rem 0 7.25rem; }
.cta-wrap--white { background: #fff; padding: 2rem 0 6.6rem; }
.cta { position: relative; display: block; width: 46rem; height: 9.19rem; margin: 0 auto; border-radius: 7.95rem; background: linear-gradient(180deg, #2c7c2b 0%, #2be029 27.404%, #2c7c2b 98.558%); box-shadow: 0 .35rem .44rem rgba(0, 0, 0, .4); text-decoration: none; transition: filter .2s; }
.cta:hover { filter: brightness(1.06); }
.cta__bubble { position: absolute; left: 50%; top: -1.81rem; width: 26.96rem; height: 3.88rem; transform: translateX(-50%); background: #fff; border-radius: 1.94rem; color: #2d2d2d; font-size: 1.767rem; font-weight: 800; line-height: 3.88rem; text-align: center; white-space: nowrap; }
.cta__bubble small { font-size: 1.59rem; }
.cta__bubble em { font-style: normal; color: #d7000f; }
.lp .cta__24h { position: absolute; left: 1.856rem; top: 1.281rem; width: 6.65rem; }
.lp .cta__arrow { position: absolute; left: 38.26rem; top: 1.767rem; width: 5.75rem; }
.cta__txt { position: absolute; left: 0; right: 0; top: 3.2rem; color: #fff; font-size: 2.83rem; font-weight: 700; line-height: 1.3; text-align: center; letter-spacing: .02em; }

/* 3秒スピード診断 */
.diag { background: #ffebef; padding: 3rem 0 2.7rem; }
.lp .diag__dogs { position: relative; z-index: 2; width: 19.1rem; margin: 0 0 -.3rem 15.45rem; }
.diag__card { position: relative; width: 45.3rem; margin: 0 auto; padding-bottom: 1.86rem; background: #fff; border-radius: 1.812rem; box-shadow: 0 .362rem 1.268rem rgba(0, 0, 0, .25); }
.diag__head { height: 12.4rem; background: #db0011; border-radius: 1.812rem 1.812rem 0 0; color: #fff; text-align: center; overflow: hidden; }
.diag__head-sub { padding-top: 1.835rem; font-size: 2.1rem; font-weight: 700; line-height: 1.3; letter-spacing: .105rem; }
.diag__head-main { margin-top: -.25rem; font-weight: 700; line-height: 1.3; transform: skewX(-4.26deg); white-space: nowrap; }
.diag__head-main .n { font-size: 5.744rem; }
.diag__head-main .s1 { font-size: 3.544rem; }
.diag__head-main .s2 { font-size: 4.144rem; }
.diag__head-main .s3 { font-size: 5.144rem; }
.diag__body { padding: 2.24rem 0 0 4.1rem; }
.field + .field { margin-top: 1.812rem; }
.field__label { display: flex; align-items: center; gap: .906rem; font-size: 1.812rem; font-weight: 600; line-height: 1.3; color: #000; }
.field__label small { font-size: 1.169rem; }
.req { display: inline-block; width: 3.714rem; height: 1.812rem; background: #e82420; border-radius: .181rem; color: #fff; font-size: 1.268rem; font-weight: 600; line-height: 1.812rem; text-align: center; }
.field__note { font-size: 1.2rem; font-weight: 400; }
.field__row { display: flex; align-items: flex-end; gap: .906rem; margin-top: .906rem; }
.field__row input { width: 30.1rem; height: 6rem; padding: 0 1rem 0 2.35rem; border: .181rem solid #d8d8d8; border-radius: 1rem; background: #fffd93; transition: background-color .2s; box-shadow: inset 0 .4rem .6rem rgba(0, 0, 0, .25); font: inherit; font-size: 1.993rem; color: #262626; outline: none; -moz-appearance: textfield; appearance: textfield; }
.field__row input::-webkit-outer-spin-button, .field__row input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.field__row input::placeholder { color: rgba(38, 38, 38, .28); }
.field__row input:not(:placeholder-shown) { background: #fff; }
.field__row input:focus { border-color: #e82420; }
.field__row input.is-error { border-color: #e82420; }
.field__unit { font-size: 1.812rem; font-weight: 600; line-height: 1.3; color: #000; }
.field__tip { position: relative; width: 37.1rem; margin-top: 2.08rem; padding: .69rem 0 0; height: 4.6rem; background: #ffdcda; font-size: 1.3rem; font-weight: 500; line-height: 1.3; text-align: center; color: #000; }
.field__tip::before { content: ""; position: absolute; left: 18.6rem; top: -1.4rem; border-left: 1.4rem solid transparent; border-right: 1.4rem solid transparent; border-bottom: 1.45rem solid #ffdcda; }
.diag__note { width: 37.1rem; margin-top: .95rem; color: #727272; font-size: 1.2rem; font-weight: 500; line-height: 1.3; text-align: center; }
.diag__btn { position: relative; display: block; width: 38rem; height: 7rem; margin: 1.22rem 0 0 -.45rem; background: #e60000; border-radius: 5.4rem; box-shadow: 0 .5rem 0 rgba(230, 0, 0, .2); color: #fff; font-size: 2.2rem; font-weight: 600; letter-spacing: .132rem; line-height: 7rem; text-align: center; text-indent: -.5rem; }
.diag__btn::after { content: ""; position: absolute; right: 4.19rem; top: 50%; margin-top: -.725rem; border-left: 1.26rem solid #fff; border-top: .725rem solid transparent; border-bottom: .725rem solid transparent; }
.diag__error { width: 37.1rem; margin-top: 1.36rem; color: #e82420; font-size: 1.6rem; font-weight: 500; line-height: 1.3; text-align: center; visibility: hidden; }
.diag__error.is-show { visibility: visible; }
.diag__result { width: 37.1rem; margin-top: 1.2rem; padding: 1.6rem 1.4rem; border: .2rem solid #db0011; border-radius: 1rem; text-align: center; }
.diag__result-ttl { color: #db0011; font-size: 2rem; font-weight: 700; line-height: 1.4; }
.diag__result-txt { margin-top: .6rem; font-size: 1.4rem; line-height: 1.6; }

/* 選ばれている理由 */
.reason__body { background: #fcf8ef; padding: 2.2rem 0 4.15rem 1.5rem; }
.rcard { position: relative; width: 46.4rem; padding: 0 .6rem; background: #fff; border: .6rem solid #dc0000; border-radius: 1.5rem; filter: drop-shadow(.6rem .6rem 0 rgba(231, 166, 167, .68)); }
.rcard + .rcard { margin-top: 7rem; }
.rcard__label { margin: 0 -.6rem; }
.lp .rcard__label img { width: 45.2rem; }
.rcard__block { position: relative; }
.rcard__block--1a { height: 26.66rem; }
.rcard__block--1b { padding: 22.35rem 0 2.35rem; }
.rcard__block--2 { height: 59.25rem; }
.rcard--2 { height: 72.5rem; }
.rcard--3 { height: 57.3rem; }
.rcard__block--3 { height: 43.1rem; }
.r-body { position: absolute; font-size: 1.9rem; line-height: 2.85rem; white-space: nowrap; }
.r1-lead1, .r1-lead2 { position: absolute; left: 4rem; font-size: 3.3rem; font-weight: 900; line-height: 4rem; white-space: nowrap; }
.r1-lead1 { top: 5.55rem; }
.r1-lead1 .num { font-size: 3.81rem; font-weight: 700; }
.r1-lead2 { top: 9.85rem; }
.r1-lead2 .kome { position: relative; top: -.7rem; font-size: 1.9rem; }
.r1-body { left: 4rem; top: 15.36rem; }
.r1-note { position: absolute; left: 4rem; top: 25.01rem; font-size: 1.1rem; line-height: 1.65rem; white-space: nowrap; }
.steps-band { position: absolute; left: -1.15rem; top: 4.32rem; width: 46.35rem; height: 14.1rem; background: #cd0717; }
.lp .steps-band__dog { position: absolute; left: 4.45rem; top: 1.04rem; width: 12.3rem; border-radius: 50%; }
.steps-band__txt { position: absolute; left: 17.87rem; top: 2.72rem; color: #fff; font-weight: 700; white-space: nowrap; letter-spacing: .33rem; }
.steps-band__txt .l1 { display: block; font-size: 1.6rem; line-height: 1.3; letter-spacing: .06rem; }
.steps-band__txt .l2 { display: block; font-size: 4.6rem; line-height: 1.3; }
.steps-band__txt .tight { letter-spacing: -.322rem; }
.step { position: relative; left: 2.45rem; width: 39.1rem; }
.step--2 { margin-top: 2.3rem; }
.step__tab { position: relative; width: 8.1rem; height: 2.8rem; margin-bottom: -.6rem; background: #dc0000; border-radius: 1.4rem 1.4rem 0 0; color: #fff; font-size: 1.4rem; line-height: 2.8rem; text-align: center; }
.step__tab span { font-size: 1.7rem; }
.step__box { position: relative; padding: 4.1rem 0 2.4rem; background: #fcf8ef; border-top: .8rem solid #dc0000; text-align: center; }
.step__box--2 { height: 13.2rem; padding-bottom: 0; }
.step__title { font-size: 2.7rem; font-weight: 500; line-height: 2.7rem; }
.step__sub { margin-top: .9rem; font-size: 1.7rem; font-weight: 500; line-height: 1.7rem; }
.step__sub--2 { display: flex; align-items: center; justify-content: center; gap: .5rem; margin-top: .6rem; }
.lp .step__sub--2 img { width: 10.9rem; }
.step__toggle { position: absolute; inset: 0; width: 100%; cursor: pointer; }
.step__toggle:focus-visible { outline: .3rem solid #262626; outline-offset: -.3rem; }
.step__pm { position: absolute; right: 2.6rem; top: 4.66rem; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: #da0113; }
.step__box--2 .step__pm { top: 4.84rem; }
.step__pm::before, .step__pm::after { content: ""; position: absolute; left: .5rem; top: 50%; width: .9rem; height: .2rem; margin-top: -.1rem; background: #fff; }
.step__pm::after { transform: rotate(90deg); transition: transform .2s; }
.step__toggle[aria-expanded="true"] .step__pm::after { transform: rotate(90deg) scaleX(0); }
.step__detail { display: grid; grid-template-rows: 0fr; visibility: hidden; background: #fcf8ef; color: #262626; transition: grid-template-rows .3s ease, visibility .3s; }
.step__detail.is-open { grid-template-rows: 1fr; visibility: visible; }
.step__detail-in { min-height: 0; overflow: hidden; }
.step__detail.is-open .step__detail-in { padding-bottom: 3.3rem; }
.step__txt { font-size: 1.33rem; line-height: 1.7; }
.step__txt--c { text-align: center; }
.step__txt--2 { padding: 0 2rem; }
.step__btn { position: relative; display: block; width: 36.1rem; height: 6rem; margin: 1.5rem auto 3.1rem; background: #dc0000; border: .2rem solid #fff; border-radius: 3rem; box-shadow: .3rem .3rem 0 #f7c8c4; color: #fff; font-size: 1.87rem; font-weight: 500; line-height: 5.6rem; text-align: center; text-decoration: none; }
.step__btn::after { content: ""; position: absolute; right: 3.2rem; top: 50%; margin-top: -.8rem; border-top: .8rem solid transparent; border-bottom: .8rem solid transparent; border-left: .9rem solid #fff; }
.step__doc { width: 37.5rem; margin: 0 auto; background: #fff; }
.step__doc-ttl { height: 2.7rem; background: #737373; color: #fff; font-size: 1.4rem; line-height: 2.7rem; text-align: center; }
.step__doc-body { display: flex; align-items: center; gap: 1.27rem; padding: 2rem 1.4rem; }
.lp .step__doc-ico { flex: none; width: 7.1rem; }
.step__doc-name { font-size: 1.73rem; font-weight: 500; line-height: 1.4; }
.step__doc-txt { margin-top: .4rem; font-size: 1.33rem; line-height: 1.6; }
.lp .step__ico--phone { position: absolute; left: 2.74rem; top: 3.81rem; width: 3rem; }
.lp .step__ico--yen { position: absolute; left: 1.96rem; top: 4.19rem; width: 6rem; }
.step__arrow { position: absolute; left: 50%; bottom: -1.3rem; margin-left: -2.3rem; border-top: 1.7rem solid #dc0000; border-left: 2.3rem solid transparent; border-right: 2.3rem solid transparent; }
.r2-lead1 { position: absolute; left: 4rem; top: 3rem; font-size: 2.66rem; font-weight: 900; line-height: 2.2rem; white-space: nowrap; }
.r2-lead2 { position: absolute; left: 4rem; top: 4.9rem; display: flex; align-items: baseline; white-space: nowrap; line-height: 1; }
.r2-lead2 .a { font-size: 3.11rem; font-weight: 900; }
.r2-lead2 .b { font-size: 3.24rem; font-weight: 900; }
.r2-lead2 .c { font-size: 3.73rem; font-weight: 600; margin-left: -.2rem; }
.r2-lead2 .d { font-size: 4rem; font-weight: 600; }
.r2-lead2 .osw { font-family: "Oswald", sans-serif; font-weight: 500; }
.r2-lead2 .osw--30 { font-size: 4.7rem; letter-spacing: .235rem; margin-left: .5rem; }
.r2-lead2 .osw--0 { font-size: 6.4rem; letter-spacing: .32rem; margin-left: .5rem; }
.r2-kome { position: absolute; left: 41.6rem; top: 5.96rem; color: #5f5f5f; font-size: 1.2rem; line-height: 1.3; }
.r2-body { left: 4rem; top: 12.4rem; }
.r2-note { position: absolute; left: 4.15rem; top: 18.66rem; color: #5f5f5f; font-size: 1.2rem; line-height: 1.3; white-space: nowrap; }
.r2-bubble { position: absolute; left: 3.55rem; top: 21.55rem; width: 37rem; }
.r2-bubble p { position: absolute; left: 0; right: 0; top: 1.84rem; color: #fff; font-size: 2.028rem; font-weight: 600; line-height: 1.3; text-align: center; }
.lp .r2-man { position: absolute; left: -1.4rem; top: 36.79rem; width: 46.4rem; }
.r3-lead { position: absolute; left: 4rem; top: 4.72rem; font-size: 3.3rem; font-weight: 900; line-height: 3.96rem; white-space: nowrap; }
.r3-body { left: 4rem; top: 14.035rem; width: 36.1rem; white-space: normal; }
.r3-box { position: absolute; left: 3.4rem; top: 28.2rem; width: 37.4rem; height: 12.6rem; background: #da0010; border-radius: 1.4rem; color: #fff; font-weight: 700; text-align: center; }
.r3-box__l1 { padding-top: 1.37rem; font-size: 1.9rem; line-height: 4.15rem; }
.r3-box__l2 { display: flex; align-items: baseline; justify-content: center; margin-top: -.6rem; line-height: 1; white-space: nowrap; }
.r3-box__l2 .n { font-size: 5.6rem; }
.r3-box__l2 .p { font-size: 2.6rem; }
.r3-box__l2 .t { font-size: 2.8rem; margin-left: .2rem; }

/* はじめての方も安心 */
.safe { background: #dc0000; padding: 7.4rem 0 7.5rem; }
.safe__head { color: #fff; font-weight: 700; text-align: center; white-space: nowrap; }
.safe__head .l1 { display: block; font-size: 2.7rem; line-height: 4.05rem; }
.safe__head .l2 { display: block; font-size: 3.7rem; line-height: 5.55rem; }
.safe__list { position: relative; height: 51.9rem; }
.safe__item { position: absolute; display: flex; align-items: center; justify-content: center; width: 16.1rem; height: 16.1rem; background: #fff; border-radius: 50%; filter: drop-shadow(.6rem 1rem .5rem rgba(0, 0, 0, .5)); }
.safe__item:nth-child(1) { left: 6.9rem; top: 4.7rem; filter: drop-shadow(.4rem .6rem .3rem rgba(0, 0, 0, .5)); }
.safe__item:nth-child(2) { left: 27rem; top: 4.7rem; }
.safe__item:nth-child(3) { left: 6.9rem; top: 23.8rem; }
.safe__item:nth-child(4) { left: 27rem; top: 23.8rem; }
.lp .w-tel { width: 13.1rem; }
.lp .w-post { width: 10.3rem; }
.lp .w-smart { width: 10rem; }
.lp .w-atm { width: 13rem; }
.free { position: relative; display: flex; flex-direction: column; align-items: center; gap: .925rem; padding: 10.7rem 0 9.4rem; background: #fff; }
.free__title { position: absolute; left: 50%; top: -6rem; width: 44.7rem; transform: translateX(-50%); }
.lp .free__dogs { width: 27.6rem; margin-right: 3rem; }
.free__txt { font-size: 2.7rem; line-height: 4.05rem; text-align: center; white-space: nowrap; }
.purpose { position: relative; display: flex; flex-direction: column; align-items: center; gap: 5.9rem; padding-top: 1rem; }
.lp .purpose__wave { position: absolute; left: 0; top: -4.8rem; width: 50rem; }
.purpose__title { position: relative; display: flex; align-items: center; justify-content: center; width: 33.7rem; height: 8.2rem; border-top: .2rem solid #fcf8ef; border-bottom: .2rem solid #fcf8ef; color: #fff; font-size: 3.9rem; line-height: 5.85rem; white-space: nowrap; }
.lp .purpose__title img { position: absolute; left: 50%; top: 9.4rem; width: .9rem; transform: translateX(-50%); }
.purpose__graph { width: 44.4rem; border-radius: 3rem; overflow: hidden; box-shadow: 0 .6rem 0 #a50006; }

/* VOICE */
.slider { position: relative; }
.slider__view { overflow: hidden; }
.slider__track { display: flex; transition: transform .4s ease; }
.slider__slide { flex: 0 0 100%; height: 30.3rem; overflow: hidden; }
.slider__btn { position: absolute; top: 10.3rem; display: flex; align-items: center; justify-content: center; width: 3.32rem; height: 4.65rem; background: rgba(102, 102, 102, .5); border-radius: 10rem; }
.slider__btn--prev { left: 1rem; }
.slider__btn--prev img { transform: scaleX(-1); }
.slider__btn--next { right: 1rem; }
.lp .slider__btn img { width: 2.72rem; }
.slider__dots { display: flex; justify-content: center; gap: .8rem; height: 3rem; padding-top: .9rem; }
.slider__dots button { width: .8rem; height: .8rem; border-radius: 50%; background: #ccc; }
.slider__dots button.is-active { background: #333; }
.voice__cite { padding: 1.4rem 2rem 2.3rem 3.1rem; color: #2a2a2a; font-size: 1.1rem; line-height: 1.6rem; }
.voice__cite a { color: #1c2fd1; text-decoration: none; }

/* よくあるご質問 */
.qa { background: #f4f1e6; padding: 6.7rem 0 7.3rem; }
.qa__head { position: relative; padding: 0 0 2.575rem 22.7rem; }
.lp .qa__dog { position: absolute; left: 4.95rem; top: -8.68rem; width: 15.2rem; }
.lp .qa__en { position: relative; width: 7.9rem; margin-bottom: -.1rem; }
.qa__title { position: relative; font-size: 3.3rem; font-weight: 700; line-height: 5.775rem; white-space: nowrap; }
.qa__cat { width: 46.7rem; margin: 0 auto; }
.qa__cat + .qa__cat { margin-top: 3.3rem; }
.qa__btn { position: relative; display: block; width: 100%; height: 9.45rem; padding-top: .7rem; background: #dc0000; box-shadow: 0 .6rem 0 #f7c8c4; color: #fff; font-size: 2.7rem; line-height: 4.05rem; text-align: center; }
.qa__ic { position: absolute; right: 4rem; top: 3.94rem; width: 1.7rem; height: 1.7rem; }
.qa__ic::before, .qa__ic::after { content: ""; position: absolute; left: 0; top: 50%; width: 100%; height: .26rem; margin-top: -.13rem; background: #fff; }
.qa__ic::after { transform: rotate(90deg); transition: transform .2s; }
.qa__btn[aria-expanded="true"] .qa__ic::after { transform: rotate(90deg) scaleX(0); }
.qa__panel { margin-top: .6rem; padding: 1.6rem 2rem 2rem; background: #fff; }
.qa__item + .qa__item { margin-top: 1.6rem; padding-top: 1.6rem; border-top: .1rem solid #eee5d3; }
.qa__item dt, .qa__item dd { position: relative; padding-left: 3.4rem; font-size: 1.5rem; line-height: 1.7; }
.qa__item dt { font-weight: 700; }
.qa__item dd { margin-top: .8rem; }
.qa__item dd strong { display: block; }
.qa__item dt::before, .qa__item dd::before { position: absolute; left: 0; top: .1rem; width: 2.4rem; height: 2.4rem; border-radius: .4rem; font-size: 1.5rem; font-weight: 700; line-height: 2.4rem; text-align: center; }
.qa__item dt::before { content: "Q"; background: #dc0000; color: #fff; }
.qa__item dd::before { content: "A"; background: #ffe36e; color: #262626; }

/* 5つの約束 */
.promise { background: #fff; padding-bottom: 5.9rem; }
.promise__list { padding: 2.3rem 3.2rem 0; }
.pcard { position: relative; padding: 3.15rem 2.1rem 2.6rem 2.1rem; background: #fff; border: .3rem solid #ee0015; border-radius: 1.6rem; box-shadow: .25rem .3rem 0 #c8000f, .5rem .8rem .8rem rgba(0, 0, 0, .14); }
.pcard + .pcard { margin-top: 2.4rem; }
.pcard__num { position: absolute; left: -1.3rem; top: -2.3rem; width: 4.6rem; height: 4.6rem; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #ff5a4a 0%, #e60012 55%, #c40010 100%); color: #fff; font-size: 2.2rem; font-weight: 500; line-height: 4.6rem; text-align: center; }
.pcard__title { color: #d7000f; font-size: 2.1rem; font-weight: 700; line-height: 3.3rem; text-align: center; }
.pcard__body { margin-top: 1.15rem; font-size: 1.7rem; line-height: 2.8rem; letter-spacing: .02em; }

/* ご利用条件 */
.terms { background: #fdf9ee; padding: 6.2rem 2.7rem .9rem; }
.terms__title { margin-top: .3rem; }
.terms__title { font-size: 2.7rem; font-weight: 700; line-height: 1.5; text-align: center; }
.terms__sub { margin: 4.4rem 0 1rem; font-size: 1.75rem; font-weight: 700; line-height: 1.5; }
.terms__sub--shop { margin: 4.8rem 0 0; }
.terms__lead { margin-bottom: 1.3rem; font-size: 1.35rem; line-height: 1.5; }
.terms__table { width: 100%; border-collapse: collapse; background: #fff; font-size: 1.2rem; line-height: 1.8rem; }
.terms__table th, .terms__table td { padding: 1.15rem 4.5rem 1.15rem .75rem; border: .12rem solid #262626; }
.terms__table th { width: 11.3rem; padding: 1.15rem .3rem; background: #fef1ba; font-weight: 600; text-align: center; white-space: nowrap; letter-spacing: -.02em; }
.terms__table td small { font-size: 1rem; }
.terms__table--loan tr:nth-child(4) > * { padding-top: .7rem; padding-bottom: .7rem; }
.terms__table--shop tr:nth-child(n+5) > * { padding-top: 1.75rem; padding-bottom: 1.75rem; }

/* 注意事項・会社情報 */
.notice { background: #fcf8ef; padding: 2rem 0 5.25rem; font-size: 1.6rem; font-weight: 700; line-height: 2.5rem; text-align: center; white-space: nowrap; }
.notice__red { color: #e60012; }
.notice__black { margin-top: 2.3rem; }
.company { background: #f4f1e7; padding: 0 2.6rem 5.3rem; }
.company__box { padding: 2.1rem 0 2.3rem 6.2rem; background: #fff; font-size: 1.35rem; line-height: 2rem; color: #292929; }

/* フッター */
.footer { background: #e60000; padding: 1.6rem 0 1.35rem; border-bottom: 1.1rem solid #e7002e; color: #fff; text-align: center; }
.lp .footer__logo { width: 22rem; margin: 0 auto; }
.footer__copy { margin-top: 1.6rem; font-size: 1.5rem; line-height: 2.25rem; }

.diag__result-btn { display: block; margin-top: 1.4rem; padding: 1.4rem 1rem; border-radius: 5rem; background: linear-gradient(180deg, #2c7c2b 0%, #2be029 27.404%, #2c7c2b 98.558%); box-shadow: 0 .35rem .44rem rgba(0, 0, 0, .4); color: #fff; font-size: 1.8rem; font-weight: 700; line-height: 1.4; text-decoration: none; }
.slider.is-single .slider__btn, .slider.is-single .slider__dots { display: none; }

/* ボタンのきらめき */
.cta { isolation: isolate; }
.cta::after, .diag__result-btn::after { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: linear-gradient(115deg, transparent 46%, rgba(255, 255, 255, .8) 50%, transparent 54%) no-repeat; background-size: 250% 100%; background-position: 120% 0; animation: shine 4s ease-in-out infinite; pointer-events: none; }
.diag__result-btn { position: relative; isolation: isolate; }
@keyframes shine { 0%, 62% { background-position: 120% 0; } 86%, 100% { background-position: -80% 0; } }
@media (prefers-reduced-motion: reduce) { .cta::after, .diag__result-btn::after { animation: none; } }

/* PC 背景 */
.pc-bg, .pc-side { display: none; }
@media (min-width: 768px) {
  .lp { z-index: 1; }
  .pc-bg { display: block; position: fixed; top: 0; left: 50%; z-index: 0; width: max(1440px, 100vw); height: 100vh; transform: translateX(-50%); background: url(../assets/pc_bg.svg) no-repeat center top / 100% auto; pointer-events: none; }
}
@media (min-width: 1280px) {
  .pc-side { display: block; position: fixed; top: 0; bottom: 0; left: 0; z-index: 1; width: calc((100vw - 500px) / 2); pointer-events: none; }
  .pc-side__inner { position: absolute; left: 50%; top: 50%; display: flex; flex-direction: column; align-items: center; transform: translate(calc(-50% + 10px), -42%) scale(.86); }
  .pc-qr { position: relative; width: 240px; height: 240px; border-radius: 10px; background: #fff; }
  .pc-qr img { position: absolute; left: 39px; top: 39px; width: 162px; height: 162px; }
  .pc-side__cta { position: relative; width: 332px; height: 66px; margin-top: 36px; pointer-events: auto; }
  .pc-side .cta { position: absolute; left: 0; top: 0; margin: 0; transform: scale(.7217); transform-origin: 0 0; }
  .pc-side .cta__24h { position: absolute; left: 1.856rem; top: 1.281rem; width: 6.65rem; }
  .pc-side .cta__arrow { position: absolute; left: 38.26rem; top: 1.767rem; width: 5.75rem; }
  .pc-side__note { width: 335px; margin-top: 24px; color: #fff; font-size: 10px; line-height: 1.8; text-align: center; }
}
@media (min-width: 1440px) {
  .pc-side__inner { transform: translate(calc(-50% + 10px), -42%); }
}
