@charset "UTF-8";

/* ============================================
 *  共通設定
 * ============================================ */

:root {
    /* Font Size */
    --fs-h1: 40px;
    --fs-h2: 30px;
    --fs-h3: 25px;
    --fs-h4: 20px;

    /* Colors */
    --c-line-dl: #00000016;

    /* 破線の区切り線*/
    --dash-x: repeating-linear-gradient(to right, var(--c-spacer) 0, var(--c-spacer) 3px, transparent 3px, transparent 6px);
    --dash-y: repeating-linear-gradient(to bottom, var(--c-spacer) 0, var(--c-spacer) 3px, transparent 3px, transparent 6px);

    /* Icons */
    --icon-chevron-down-f: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M297.4 438.6C309.9 451.1 330.2 451.1 342.7 438.6L502.7 278.6C515.2 266.1 515.2 245.8 502.7 233.3C490.2 220.8 469.9 220.8 457.4 233.3L320 370.7L182.6 233.4C170.1 220.9 149.8 220.9 137.3 233.4C124.8 245.9 124.8 266.2 137.3 278.7L297.3 438.7z'/%3E%3C/svg%3E");

    --icon-external: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M384 64C366.3 64 352 78.3 352 96C352 113.7 366.3 128 384 128L466.7 128L265.3 329.4C252.8 341.9 252.8 362.2 265.3 374.7C277.8 387.2 298.1 387.2 310.6 374.7L512 173.3L512 256C512 273.7 526.3 288 544 288C561.7 288 576 273.7 576 256L576 96C576 78.3 561.7 64 544 64L384 64zM144 160C99.8 160 64 195.8 64 240L64 496C64 540.2 99.8 576 144 576L400 576C444.2 576 480 540.2 480 496L480 416C480 398.3 465.7 384 448 384C430.3 384 416 398.3 416 416L416 496C416 504.8 408.8 512 400 512L144 512C135.2 512 128 504.8 128 496L128 240C128 231.2 135.2 224 144 224L224 224C241.7 224 256 209.7 256 192C256 174.3 241.7 160 224 160L144 160z'/%3E%3C/svg%3E");

    --icon-chevron-down-l: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M308.7 427.3C314.9 433.5 325.1 433.5 331.3 427.3L491.3 267.3C497.5 261.1 497.5 250.9 491.3 244.7C485.1 238.5 474.9 238.5 468.7 244.7L320 393.4L171.3 244.7C165.1 238.5 154.9 238.5 148.7 244.7C142.5 250.9 142.5 261.1 148.7 267.3L308.7 427.3z'/%3E%3C/svg%3E");

    --icon-lock-user: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M160 192C160 139 203 96 256 96C309 96 352 139 352 192C352 245 309 288 256 288C203 288 160 245 160 192zM384 192C384 121.3 326.7 64 256 64C185.3 64 128 121.3 128 192C128 262.7 185.3 320 256 320C326.7 320 384 262.7 384 192zM64 544C64 464.5 128.5 400 208 400L304 400C321.4 400 338 403.1 353.4 408.7C357.6 402.7 362.5 397.2 368 392.3L368 379.9C348.2 372.2 326.6 367.9 304 367.9L208 367.9C110.8 368 32 446.8 32 544L32 560C32 568.8 39.2 576 48 576C56.8 576 64 568.8 64 560L64 544zM416 416.1L416 418.7C397.4 425.3 384 443.1 384 464L384 560C384 586.5 405.5 608 432 608L560 608C586.5 608 608 586.5 608 560L608 464C608 443.1 594.6 425.3 576 418.7L576 368.1C576 323.9 540.2 288.1 496 288.1C451.8 288.1 416 323.9 416 368.1L416 416.1zM416 464C416 455.8 422.2 449 430.3 448.1L561.8 448.1C569.8 449 576.1 455.8 576.1 464L576.1 560C576.1 568.8 568.9 576 560.1 576L432.1 576C423.3 576 416.1 568.8 416.1 560L416.1 464zM544 368.1L544 416L448 416L448 368.1C448 341.6 469.5 320.1 496 320.1C522.5 320.1 544 341.6 544 368.1z'/%3E%3C/svg%3E");
    --icon-lock-biz: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M128 96L384 96C401.7 96 416 110.3 416 128L416 268.1C425.6 260.4 436.4 254 448 249.3L448 128C448 92.7 419.3 64 384 64L128 64C92.7 64 64 92.7 64 128L64 512C64 547.3 92.7 576 128 576L337.3 576C336.4 570.8 336 565.4 336 559.9L336 544L320 544L320 464C320 437.5 298.5 416 272 416L240 416C213.5 416 192 437.5 192 464L192 544L128 544C110.3 544 96 529.7 96 512L96 128C96 110.3 110.3 96 128 96zM224 544L224 464C224 455.2 231.2 448 240 448L272 448C280.8 448 288 455.2 288 464L288 544L224 544zM288 192L288 208C288 216.8 295.2 224 304 224L320 224C328.8 224 336 216.8 336 208L336 192C336 183.2 328.8 176 320 176L304 176C295.2 176 288 183.2 288 192zM304 288C295.2 288 288 295.2 288 304L288 320C288 328.8 295.2 336 304 336L320 336C328.8 336 336 328.8 336 320L336 304C336 295.2 328.8 288 320 288L304 288zM176 192L176 208C176 216.8 183.2 224 192 224L208 224C216.8 224 224 216.8 224 208L224 192C224 183.2 216.8 176 208 176L192 176C183.2 176 176 183.2 176 192zM192 288C183.2 288 176 295.2 176 304L176 320C176 328.8 183.2 336 192 336L208 336C216.8 336 224 328.8 224 320L224 304C224 295.2 216.8 288 208 288L192 288zM416 416.1L416 418.7C397.4 425.3 384 443.1 384 464L384 560C384 586.5 405.5 608 432 608L560 608C586.5 608 608 586.5 608 560L608 464C608 443.1 594.6 425.3 576 418.7L576 368.1C576 323.9 540.2 288.1 496 288.1C451.8 288.1 416 323.9 416 368.1L416 416.1zM416 464C416 455.8 422.2 449 430.3 448.1L561.8 448.1C569.8 449 576.1 455.8 576.1 464L576.1 560C576.1 568.8 568.9 576 560.1 576L432.1 576C423.3 576 416.1 568.8 416.1 560L416.1 464zM544 368.1L544 416L448 416L448 368.1C448 341.6 469.5 320.1 496 320.1C522.5 320.1 544 341.6 544 368.1z'/%3E%3C/svg%3E");
    --icon-register: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M480.4 160L96.4 160C78.7 160 64.4 174.3 64.4 192L64.4 448C64.4 465.7 78.7 480 96.4 480L294.2 480C290.1 489 287.1 498.5 285.5 508.3L284.9 512L96.4 512C61.1 512 32.4 483.3 32.4 448L32.4 192C32.4 156.7 61.1 128 96.4 128L480.4 128C515.7 128 544.4 156.7 544.4 192L544.4 268.1C533.6 268.1 522.8 269.6 512.4 272.5L512.4 191.9C512.4 174.2 498.1 159.9 480.4 159.9zM128.4 368C128.4 359.2 135.6 352 144.4 352L304.4 352C313.2 352 320.4 359.2 320.4 368C320.4 376.8 313.2 384 304.4 384L144.4 384C135.6 384 128.4 376.8 128.4 368zM144.4 256L432.4 256C441.2 256 448.4 263.2 448.4 272C448.4 280.8 441.2 288 432.4 288L144.4 288C135.6 288 128.4 280.8 128.4 272C128.4 263.2 135.6 256 144.4 256zM373.5 504.1C368.8 508.8 365.7 514.9 364.6 521.5L356.1 572.3L406.9 563.8C413.5 562.7 419.5 559.6 424.3 554.9L526.5 452.7L475.8 402L373.6 504.2zM498.3 379.3L549 430L569.7 409.3C583.7 395.3 583.7 372.6 569.7 358.6C555.7 344.6 533 344.6 519 358.6L498.3 379.3zM333 516.2C335.2 503 341.4 490.9 350.9 481.5L496.4 336C522.9 309.5 565.9 309.5 592.4 336C618.9 362.5 618.9 405.5 592.4 432L446.9 577.5C437.5 586.9 425.3 593.2 412.2 595.4L337.6 607.8C336.8 607.9 336 608 335.2 608C327 608 320.4 601.4 320.4 593.2C320.4 592.4 320.5 591.6 320.6 590.8L333 516.2z'/%3E%3C/svg%3E");

    --icon-caret-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M300.3 440.8C312.9 451 331.4 450.3 343.1 438.6L471.1 310.6C480.3 301.4 483 287.7 478 275.7C473 263.7 461.4 256 448.5 256L192.5 256C179.6 256 167.9 263.8 162.9 275.8C157.9 287.8 160.7 301.5 169.9 310.6L297.9 438.6L300.3 440.8z'/%3E%3C/svg%3E");

    --icon-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M544 320C544 443.7 443.7 544 320 544C196.3 544 96 443.7 96 320C96 196.3 196.3 96 320 96C443.7 96 544 196.3 544 320zM64 320C64 461.4 178.6 576 320 576C461.4 576 576 461.4 576 320C576 178.6 461.4 64 320 64C178.6 64 64 178.6 64 320zM304 176L304 320C304 325.4 306.7 330.3 311.1 333.3L407.1 397.3C414.5 402.2 424.4 400.2 429.3 392.9C434.2 385.6 432.2 375.6 424.9 370.7L336 311.4L336 176C336 167.2 328.8 160 320 160C311.2 160 304 167.2 304 176z'/%3E%3C/svg%3E");

    --icon-desktop: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M368 416L96 416C78.3 416 64 401.7 64 384L64 160C64 142.3 78.3 128 96 128L369.3 128C371.2 116.5 375.2 105.7 380.8 96L96 96C60.7 96 32 124.7 32 160L32 384C32 419.3 60.7 448 96 448L368 448L368 416zM369.3 512L144 512C135.2 512 128 519.2 128 528C128 536.8 135.2 544 144 544L380.8 544C375.2 534.3 371.2 523.5 369.3 512zM464 128L560 128C568.8 128 576 135.2 576 144L576 192L448 192L448 144C448 135.2 455.2 128 464 128zM448 224L576 224L576 288L448 288L448 224zM576 320L576 496C576 504.8 568.8 512 560 512L464 512C455.2 512 448 504.8 448 496L448 320L576 320zM416 144L416 496C416 522.5 437.5 544 464 544L560 544C586.5 544 608 522.5 608 496L608 144C608 117.5 586.5 96 560 96L464 96C437.5 96 416 117.5 416 144zM536 408C536 394.7 525.3 384 512 384C498.7 384 488 394.7 488 408C488 421.3 498.7 432 512 432C525.3 432 536 421.3 536 408z'/%3E%3C/svg%3E");
    --icon-laptop: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M512 128L128 128C110.3 128 96 142.3 96 160L96 384L64 384L64 160C64 124.7 92.7 96 128 96L512 96C547.3 96 576 124.7 576 160L576 384L544 384L544 160C544 142.3 529.7 128 512 128zM87.1 512L552.9 512C580.9 512 604.1 491.1 607.6 464L32.5 464C36 491.1 59.1 512 87.2 512zM0 456.9C0 443.1 11.1 432 24.9 432L615.1 432C628.8 432 640 443.1 640 456.9C640 505 601 544 552.9 544L87.1 544C39 544 0 505 0 456.9z'/%3E%3C/svg%3E");

    --icon-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M208.4 106.7C205 98.7 196.2 94.4 187.8 96.6L181.1 98.4C127.9 113 86.1 163.1 98.2 221.4C131.6 382 258.1 508.4 418.7 541.9C476.9 554 527.1 512.2 541.6 458.9L543.4 452.2C545.7 443.8 541.4 435 533.3 431.6L440 392.7C432.9 389.8 424.8 391.8 419.9 397.7L383.3 442.4C378.6 448.1 370.7 449.9 364.1 446.7C289.1 411.1 229.1 349.1 196 272.7C193.2 266.1 195 258.5 200.6 254L242.2 219.9C248.1 215.1 250.2 206.9 247.2 199.8L208.4 106.7zM179.4 65.8C203.3 59.3 228.4 71.5 237.9 94.4L276.8 187.7C285.2 207.8 279.4 231.1 262.5 244.9L230.4 271.2C259.4 331.7 307.5 381.4 366.7 412.5L395.2 377.6C409 360.7 432.2 354.9 452.4 363.3L545.7 402.2C568.6 411.7 580.8 436.8 574.3 460.7L572.5 467.4C554.8 532.3 491.2 589.6 412.2 573.2C239.1 537.2 102.9 401 66.9 227.9C50.4 148.8 107.7 85.3 172.7 67.6L179.4 65.8z'/%3E%3C/svg%3E");
    --icon-web: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M352 544C367.5 544 391.4 529 413.5 484.1C432.5 445.5 445.6 392.8 447.7 336L352 336L352 304L447.7 304C445.6 247.2 432.5 194.5 413.5 155.9C391.4 111 367.5 96 352 96C336.5 96 312.6 111 290.5 155.9C271.9 193.6 259 244.7 256.5 299.9L133.9 336L128.6 336L128.7 337.5L97.4 346.7C96.5 337.9 96 329 96 320C96 178.6 210.6 64 352 64C493.4 64 608 178.6 608 320C608 461.4 493.4 576 352 576C329.2 576 307 573 286 567.4L303.7 507.2C321.7 534.3 339.6 543.9 352 543.9zM232.6 408.8L232.3 407.2L233.2 406.9L232.6 408.8zM421.2 533.1C506.2 505.5 568.9 428.5 575.4 336L479.7 336C477 415.3 454.2 488.9 421.2 533.1zM479.7 304L575.4 304C568.9 211.5 506.2 134.5 421.2 106.9C454.2 151.1 477 224.7 479.7 304zM282.8 106.9C197.8 134.5 135.1 211.5 128.6 304L224.3 304C227 224.7 249.8 151.1 282.8 106.9zM119.1 423.8L169.5 449C178.8 453.6 186.3 461.2 191 470.5L216.2 521L256.7 383.3L119 423.8zM275.9 344.3C288 340.7 299.3 352 295.8 364.2L235.5 569C231.4 582.9 212.3 584.6 205.8 571.6L167.5 495.1L75.3 587.3C69.1 593.5 58.9 593.5 52.7 587.3C46.5 581.1 46.5 570.9 52.7 564.7L144.9 472.5L68.4 434.2C55.4 427.7 57.1 408.6 71 404.5L275.8 344.3z'/%3E%3C/svg%3E");
    --icon-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M64 186.5L64 184L64.1 184C65.3 152.9 91 128 122.5 128L517.5 128C549 128 574.6 152.9 575.9 184L576 184L576 448C576 483.3 547.3 512 512 512L128 512C92.7 512 64 483.3 64 448L64 186.5zM544 239.6L367.3 369.1C339.1 389.7 300.8 389.7 272.7 369.1L96 239.6L96 448C96 465.7 110.3 480 128 480L512 480C529.7 480 544 465.7 544 448L544 239.6zM544 186.5C544 171.9 532.1 160 517.5 160L122.5 160C107.9 160 96 171.9 96 186.5C96 194.9 100 202.9 106.8 207.9L291.6 343.3C308.5 355.7 331.5 355.7 348.4 343.3L533.2 207.8C540 202.8 544 194.9 544 186.4z'/%3E%3C/svg%3E");

    --icon-circle-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M320 576C178.6 576 64 461.4 64 320C64 178.6 178.6 64 320 64C461.4 64 576 178.6 576 320C576 461.4 461.4 576 320 576zM438 209.7C427.3 201.9 412.3 204.3 404.5 215L285.1 379.2L233 327.1C223.6 317.7 208.4 317.7 199.1 327.1C189.8 336.5 189.7 351.7 199.1 361L271.1 433C276.1 438 282.9 440.5 289.9 440C296.9 439.5 303.3 435.9 307.4 430.2L443.3 243.2C451.1 232.5 448.7 217.5 438 209.7z'/%3E%3C/svg%3E");
}

@media (max-width: 1249px) {
    :root {
        --fs-h1: 26px;
        --fs-h2: 26px;
        --fs-h3: 22px;
        --fs-h4: 17px;
    }
}

.contents > section > .inner > h2 {
    text-align: center;
    line-height: 1.5;
    font-size: var(--fs-h2);
    font-weight: var(--fw-sb);
}

.contents > section > .inner > h2::after {
    margin-top: var(--s-1);
    margin-inline: auto;
    content: "";
    width: var(--s-9);
    height: var(--s-0-5);
    background-color: var(--c-accent);
    display: block;
    border-radius: var(--r-full);
}

.contents > section > .inner > h2.flex-text {
    text-align: start;
    font-size: calc(var(--fs-h2) - 2px);
}

.contents > section > .inner > h2.flex-text::after {
    order: -1;
    margin-block: var(--s-0-5);
    margin-left: unset;
    margin-right: var(--s-0-5);
    flex-shrink: 0;
    width: var(--s-0-5);
    height: unset;
    align-self: stretch;
}

p.center {
    margin-inline: auto;
}

p.right {
    margin-left: auto;
}

h3:not(.heading) {
    font-size: var(--fs-h3);
    font-weight: var(--fw-m);
    color: var(--c-accent);
    padding-bottom: 14px;
    border-bottom: 1px solid var(--c-spacer);
}

h3.col-gap:not(.heading) {
    display: flex;
    flex-direction: column;
    gap: var(--s-0-5);
}

h4 {
    font-size: var(--fs-h4);
    font-weight: var(--fw-m);
}

img {
    width: 100%;
    border-radius: var(--r-m);
}

img.border {
    border: 1px solid color-mix(in srgb, var(--c-text) 10%, transparent);
}

.content-body > img,
.inner > img {
    margin-inline: auto;
}

.contents section,
.contents section > .inner,
.contents .wrapper-h3,
.contents .wrapper-h4,
.contents .content-body,
.contents .wrapper-p {
    display: flex;
    flex-direction: column;
    gap: var(--s-8);
}

.contents > section {
    padding-block: 112px;
}

.contents > section:only-child,
.contents > section.notice {
    padding-bottom: 240px;
}

.contents:has(.inner > h2.flex-text) > section {
    padding-block: var(--s-10);
}

.contents:has(h2.flex-text) section > .inner {
    gap: var(--s-4);
}

.contents:has(h2.flex-text) section > .inner > .content-body {
    gap: var(--s-3);
}

.contents > section:first-of-type,
.contents:not(.stripe) > section:not(.bottom-menu) {
    padding-top: unset !important;
}

.contents > section:has(.contact),
.contents > section:last-of-type {
    padding-bottom: 140px !important;
}

.contents > section:has(.contact) {
    padding-top: 140px;
}

.contents > section:has(.ib-news) {
    padding-block: var(--s-9) 88px;
}

.contents > section:has(.column-list) > .inner {
    gap: var(--s-5);
}

.contents .wrapper-h4 {
    gap: var(--s-5);
}

.contents .content-body {
    gap: var(--s-4);
}

.contents .wrapper-h3 .content-body {
    gap: var(--s-3);
}

.contents .wrapper-h4 .content-body {
    gap: var(--s-2);
}

.contents .content-body:has(> h4) {
    gap: var(--s-2);
}

.contents .wrapper-p {
    gap: var(--s-1);
}

.contents .wrapper-p.center {
    align-items: center;
}

.contents .content-body .wrapper + dl,
.contents .content-body dl + .contact,
.contents .content-body .contact + .wrapper,
.contents section > .inner:has(h2.flex-text) > .content-body > .wrapper,
.contents section > .inner:has(h2.flex-text) > .content-body > .contact {
    margin-top: var(--s-1);
}

.news-page > .inner > ul.column-list > li[data-tab="important"] > :is(a, div) > p:first-of-type::after,
.news-page > .inner > ul.column-list > li[data-tab="news"] > :is(a, div) > p:first-of-type::after {
    color: var(--c-accent);
    font-size: var(--fs-s);
    background-color: color-mix(in srgb, var(--c-accent) 20%, transparent);
    margin-block: 6px;
}

.external::after {
    height: 1em;
    -webkit-mask-image: var(--icon-external);
    mask-image: var(--icon-external);
    display: inline-block;
    margin-left: 4px;
    background-color: currentColor;
    padding-block: 0.1em;
    vertical-align: text-top;
}

.contents .list {
    list-style-position: outside;
    padding-left: 1.5em;
}

.contents .list > li:has(strong) {
    font-weight: var(--fw-m);
}

.contents .list > li,
.contents .list > li > * {
    margin-top: var(--s-0-5);
}

.contents .list > li > table {
    margin-top: var(--s-2);
}

.contents .list.spaced-none > li + li {
    margin-top: 0;
}

.contents .list.spaced > li + li {
    margin-top: var(--s-1);
}

.contents .list.spaced-l > li + li {
    margin-top: var(--s-1-5);
}

.contents .list.spaced-xl > li + li {
    margin-top: var(--s-3);
}

@counter-style circled-decimal {
    system: fixed;
    symbols: "①" "②" "③" "④" "⑤" "⑥" "⑦" "⑧" "⑨" "⑩";
    suffix: " ";
}

ol.circle-list {
    list-style: circled-decimal;
}

@counter-style paren-decimal {
    system: extends decimal;
    prefix: "（";
    suffix: "） ";
}

ol.paren-list {
    list-style: paren-decimal;
    padding-left: 2.1em !important;
    font-variant-numeric: tabular-nums;
}

.contents .flex-text {
    display: flex;
    gap: 0.4em;
}

.contents .flex-text > span:first-of-type {
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
    line-height: inherit;
    font-variant-numeric: tabular-nums;
    flex-shrink: 0;
}

.contents .flex-text > span:first-of-type > span {
    display: inline-block;
    min-width: 1em;
    text-align: center;
    font-variant-numeric: normal;
}

.contents .flex-img {
    display: flex;
    align-items: flex-start;
    gap: var(--s-5);
}

.contents .flex-img > img {
    max-width: 320px;
    width: 100%;
    flex-shrink: 0;
}

.contents .flex-img.mini > img {
    max-width: 120px;
}

.contents .flex-img > :last-child {
    width: 100%;
}

.contents select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding: 6px 36px 6px 14px;
    font-weight: var(--fw-m);
    cursor: pointer;
    transition:
        border-color var(--dur) var(--ease),
        background-color var(--dur) var(--ease);
}

.contents div:has(> select) {
    position: relative;
}

.contents div:has(> select)::after {
    width: 1em;
    -webkit-mask-image: var(--icon-chevron-down-f);
    mask-image: var(--icon-chevron-down-f);
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    background-color: var(--c-text);
    pointer-events: none;
}

.contents .note {
    display: flex;
    gap: 0.4em;
}

.contents .note::before {
    content: "※";
    flex-shrink: 0;
}

.contents .note > span > span {
    display: block;
    margin-top: 4px;
}

.contents .note-ref {
    display: inline-block;
    scale: 0.8;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}

.contents strong {
    color: inherit;
    font-weight: var(--fw-m);
}

.contents strong.center {
    margin-inline: auto;
}

.contents .btn.mini,
.contents .btns.mini a {
    padding: var(--s-1) calc(var(--s-6) - 1px) var(--s-1) var(--s-2-5);
}

.contents .btn.mini::after,
.contents .btns.mini a::after {
    right: var(--s-2);
}

@media (max-width: 1249px) {
    .contents > section:only-child,
    .contents > section.notice {
        padding-bottom: 160px !important;
    }

    .contents > section > .inner > h2::after {
        width: 50px;
    }

    .contents section,
    .contents section > .inner,
    .contents .wrapper-h3 {
        gap: var(--s-7);
    }

    .contents .wrapper-h4 {
        gap: var(--s-4);
    }

    .contents:has(.inner > h2.flex-text) > section {
        padding-block: var(--s-8);
    }

    .contents:has(h2.flex-text) section > .inner {
        gap: var(--s-3);
    }

    .contents > section:has(.contact) {
        padding-top: 80px;
    }

    .contents > section,
    .contents > section:has(.ib-news) {
        padding-block: var(--s-8) var(--s-10);
    }

    .contents > section:first-of-type {
        padding-bottom: var(--s-8);
    }

    .contents .flex-img > img {
        max-width: 240px;
    }

    .contents .flex-img.mini > img {
        max-width: 104px;
    }

    .contents .btn.mini,
    .contents .btns.mini a {
        padding: calc(var(--s-1) - 2px) var(--s-4) calc(var(--s-1) - 2px) var(--s-2);
    }

    .contents .btn.mini::after,
    .contents .btns.mini a::after {
        right: var(--s-1-5);
    }
}

@media (max-width: 799px) {
    .contents > section:first-of-type {
        padding-top: var(--s-1-5);
    }

    .contents .flex-img {
        flex-direction: column;
        align-items: center;
        gap: var(--s-4);
    }

    .contents .flex-img > img {
        order: -1;
    }

    .contents .flex-img:not(.mini) > img {
        max-width: 380px !important;
    }
}

@media (max-width: 499px) {
    .contents .content-body > .btn {
        margin-inline: auto;
    }
}

/* ============================================
 *  共通パーツ
 * ============================================ */

/* 区切り線 */
.contact::before,
.ib-fee > .wrapper.disc:last-of-type > div::before,
.ib-fee-biz > div:last-of-type > div:last-of-type > div::before,
.shop > div > div::before {
    width: 1px;
    align-self: stretch;
    background-color: var(--c-spacer);
    content: "";
    display: block;
}

/* ● の箇条書きマーカー */
div:is(.content-body, .date) > dl > dd > ul > li::before,
div:is(.content-body, .date) > dl > dd > dl > dt::before,
.shop > dl div > dt::before {
    position: absolute;
    left: 0;
    scale: 0.8;
    content: "●";
    color: var(--c-accent);
}

/* ============================================
 *  法人向けページ
 * ============================================ */

main:has(.contents.biz) {
    --c-text: #192b25;
    --c-accent: var(--c-ib-biz);
}

main:has(.contents.biz) a.solid {
    --c-btn-border: var(--c-ib-biz-border) !important;
}

/* ============================================
 *  特定のセクションへのスクロール
 * ============================================ */

html {
    scroll-behavior: smooth;
}

*[id] {
    scroll-margin-top: 120px;
}

/* ============================================
 *  ヒーロー部
 * ============================================ */

.hero {
    height: 370px;
    background: color-mix(in srgb, var(--c-accent) 18%, transparent);
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;

    --hero-bg-h: 364px;
}

.hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: var(--hero-bg-h);
    background-color: color-mix(in srgb, var(--c-accent) 20%, transparent);
    -webkit-mask-image: url(../img/page-top-bg.svg);
    mask-image: url(../img/page-top-bg.svg);
    -webkit-mask-size: auto var(--hero-bg-h);
    mask-size: auto var(--hero-bg-h);
    -webkit-mask-position: center bottom;
    mask-position: center bottom;
    -webkit-mask-repeat: repeat-x;
    mask-repeat: repeat-x;
    pointer-events: none;
}

.hero > h1 {
    position: relative;
    z-index: 1;
    line-height: 1.5;
    font-size: var(--fs-h1);
    font-weight: var(--fw-sb);
}

@media (max-width: 1249px) {
    .hero {
        height: 312px;
        --hero-bg-h: 288px;
    }
}

@media (max-width: 799px) {
    .hero {
        height: 238px;
        --hero-bg-h: 184px;
    }
}

/* ============================================
 *  パンくずリスト
 * ============================================ */

.breadcrumb {
    margin-top: 36px;
    margin-bottom: 64px;
}

.breadcrumb ol {
    list-style: none;
    line-height: 1.8;
    font-size: 0;
}

.breadcrumb ol > li {
    display: inline;
}

.breadcrumb ol > li > *,
.breadcrumb ol > li + li::before {
    line-height: 1.8;
    font-size: var(--fs-base);
}

.breadcrumb ol > li + li::before {
    display: inline-block;
    width: 1.2em;
    margin-inline: var(--s-1);
    vertical-align: -0.25em;
    background-color: var(--c-text);
    -webkit-mask-image: var(--icon-chevron-right-l);
    mask-image: var(--icon-chevron-right-l);
}

.breadcrumb ol > li > a > span {
    color: inherit;
    text-decoration: inherit;
}

@media (max-width: 1249px) {
    .breadcrumb {
        margin-top: var(--s-2-5);
        margin-bottom: var(--s-3-5);
    }
}

/* ============================================
 *  コンテンツ部
 * ============================================ */

.contents {
    display: flex;
    flex-direction: column;
}

.wrapper,
.contact {
    background-color: var(--c-bg-section);
    border-radius: var(--r-l);
    padding: var(--s-5) var(--s-6) var(--s-5-5);
}

.wrapper .wrapper,
.wrapper.disc,
.insurance .contact {
    padding: var(--s-3) var(--s-3) var(--s-3-5);
}

.card-list > .wrapper:has(.btn) {
    padding-bottom: var(--s-5);
}

.wrapper.border {
    background-color: unset;
    border: 1px solid var(--c-spacer);
    padding-inline: var(--s-3);
}

.wrapper.apply {
    outline: 1px solid color-mix(in srgb, var(--c-text) 15%, transparent);
    background-color: transparent;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.wrapper.apply > h2 {
    font-size: 26px;
    font-weight: var(--fw-m);
    color: var(--c-accent);
}

.wrapper.apply > .btns {
    display: flex;
    gap: var(--s-4);
}

.wrapper.apply .btn,
.wrapper.apply .btns a {
    width: 300px;
    padding: calc(var(--s-2) - 1px) var(--s-6-5) calc(var(--s-2) - 1px) var(--s-3);
    gap: var(--s-1-5);
}

.wrapper.apply .btn {
    width: 464px;
}

.wrapper.apply .btn::before,
.wrapper.apply .btns a::before {
    width: var(--s-5);
}

.wrapper.apply .btn::after,
.wrapper.apply .btns a::after {
    right: var(--s-3);
    width: var(--s-3);
    -webkit-mask-image: var(--icon-circle-chevron-right);
    mask-image: var(--icon-circle-chevron-right);
}

.wrapper.apply .btn > span,
.wrapper.apply .btns a > span {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.wrapper.apply .btn > span > .btn-desc,
.wrapper.apply .btns a > span > .btn-desc {
    font-size: var(--fs-xs);
    font-weight: var(--fw-r);
    color: color-mix(in srgb, currentColor 90%, transparent);
}

.wrapper.row,
.wrapper.row.disc {
    display: flex;
    flex-direction: row;
    gap: var(--s-4);
}

.wrapper.row.disc:has(.heading)::before {
    width: 1px;
    height: unset;
    align-self: stretch;
    display: block;
}

.wrapper.disc {
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
}

.wrapper.disc:has(> .circle-num:only-child) {
    justify-content: center;
}

.wrapper.disc:has(.heading)::before {
    width: 100%;
    height: 1px;
    background-color: var(--c-spacer);
    content: "";
    display: block;
}

.wrapper.disc:has(.heading) > *:first-child {
    order: -1;
}

.wrapper.disc > .heading {
    color: var(--c-text);
    font-size: var(--fs-m);
    font-weight: var(--fw-m);
}

.wrapper.disc > .heading.center {
    margin-inline: auto;
}

.wrapper.disc > .heading.color {
    color: var(--c-accent);
}

.wrapper.disc.flex {
    margin-inline: auto;
    padding-right: var(--s-5);
    flex-direction: row;
    align-items: center;
    gap: var(--s-2-5);
}

.wrapper.disc.flex.qr {
    margin-inline: unset;
    border-radius: var(--r-m);
    padding: var(--s-2) var(--s-3) var(--s-2) var(--s-2);
}

.wrapper.disc.flex.qr > img {
    border-radius: var(--r-s);
    border: 1px solid var(--c-spacer);
    background-color: var(--c-text-white);
}

.wrapper.disc.flex > img {
    width: 92px;
}

.wrapper.disc.flex.mini-img > img {
    width: 64px;
}

.wrapper.disc.flex .wrapper-p {
    gap: var(--s-0-5);
}

@media (max-width: 1249px) {
    .wrapper {
        padding: var(--s-3-5);
    }

    .wrapper.apply > h2 {
        font-size: 23px;
    }

    .wrapper.apply > .btns {
        gap: var(--s-2-5);
    }

    .wrapper.apply .btn,
    .wrapper.apply .btns a {
        width: 280px;
        padding: var(--s-1-5) var(--s-6-5) var(--s-1-5) var(--s-2-5);
        gap: var(--s-1-5);
    }

    .wrapper.apply .btn {
        width: 354px;
    }

    .wrapper.apply .btn::before,
    .wrapper.apply .btns a::before {
        width: var(--s-4-5);
    }

    .wrapper.apply .btn::after,
    .wrapper.apply .btns a::after {
        right: var(--s-2-5);
    }

    .wrapper.border {
        padding-inline: var(--s-2);
    }

    .wrapper.disc.flex > img {
        width: 80px;
    }

    .wrapper.disc.flex.mini-img > img {
        width: 56px;
    }
}

@media (max-width: 999px) {
    .wrapper.apply {
        flex-direction: column;
    }
}

@media (max-width: 799px) {
    .wrapper.disc.flex p > br,
    .wrapper.disc.flex strong > br {
        display: none;
    }
}

@media (max-width: 749px) {
    .wrapper.apply > .btns {
        width: 100%;
        flex-direction: column;
    }

    .wrapper.apply .btn,
    .wrapper.apply > .btns > a {
        width: 100%;
    }
}

/* ============================================
 *  インデックス
 * ============================================ */

.top-index {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr));
    gap: 12px;
    flex-wrap: wrap;
}

.contents .top-index > li > a {
    min-height: 4em;
    padding: var(--s-1) var(--s-5) var(--s-1) var(--s-2);
    line-height: 1.2;
    font-size: var(--fs-s);
}

.contents .top-index > li > a::after {
    -webkit-mask-image: var(--icon-chevron-down-l);
    mask-image: var(--icon-chevron-down-l);
}

.contents .top-index > li,
.contents .top-index > li > a {
    width: 100%;
    height: 100%;
}

@media (max-width: 799px) {
    .top-index {
        grid-template-columns: repeat(auto-fill, minmax(min(200px, 100%), 1fr));
    }
}

@media (max-width: 499px) {
    .top-index {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 359px) {
    .top-index {
        grid-template-columns: 1fr;
    }

    .contents .top-index > li > a {
        min-height: unset;
        padding-block: 12px;
    }
}

/* ============================================
 *  ページ下部インデックス
 * ============================================ */

.contents .page-index {
    margin-top: 160px;
    gap: var(--s-6);
}

.page-index > h2 {
    display: flex;
    flex-direction: column-reverse;
    gap: 2px;
    font-size: calc(var(--fs-xl) + 2px);
    border-bottom: unset;
    border-top: 1px solid var(--c-spacer);
    padding-block: var(--s-6) 0;
}

.page-index > h2::before {
    display: none;
}

.page-index > ul {
    padding-inline: var(--s-3);
    border-radius: var(--r-m);
}

.contents .page-index > ul > li > a {
    height: 100%;
    padding-right: var(--s-2);
    color: var(--c-text);
    transition: opacity var(--dur) var(--ease);
}

.page-index > ul > li > a[aria-current="page"] {
    pointer-events: none;
    color: var(--c-accent);
    background-color: color-mix(in srgb, var(--c-accent) 20%, transparent);
    outline: unset;
}

.contents .page-index > ul > li > a:hover {
    background-color: var(--c-text-white) !important;
    opacity: 0.7 !important;
}

.page-index > ul > li > a::after {
    display: none;
}

@media (max-width: 1249px) {
    .contents .page-index {
        gap: var(--s-4);
    }
}

/* ============================================
 *  テーブル
 * ============================================ */

section table {
    --table-border: 1px solid color-mix(in srgb, var(--c-text) 16%, transparent);

    table-layout: fixed;
    width: 100%;
    border-radius: var(--r-l);
    overflow: hidden;
    border-spacing: 0;
    border: var(--table-border);
}

section table > caption {
    caption-side: bottom;
    text-align: right;
    margin-top: var(--s-2);
}

section table th,
section table td {
    text-align: center;
}

section table td {
    font-size: calc(var(--fs-base) + 1px);
}

section table > thead > tr > th {
    background-color: color-mix(in srgb, var(--c-accent) 6%, transparent);
    font-weight: var(--fw-m);
}

section table tr > .has-border-right {
    border-right: var(--table-border);
}

section table tr > * {
    padding: 12px 16px;
    border: none;
}

section table > thead > tr > *:not(:last-child),
section table > tbody > tr > th,
section table > tbody > tr > *:not(:last-child) {
    border-right: var(--table-border);
}

section table > thead:not(:first-of-type) > tr:first-of-type > *,
section table > tbody:not(:first-of-type) > tr:first-of-type > * {
    border-top: var(--table-border);
}

section table > thead > tr > *,
section table > tbody > tr:not(:last-child) > *:not(.reaches-bottom) {
    border-bottom: var(--table-border);
}

section table tbody tr > th {
    background-color: color-mix(in srgb, var(--c-text) 1%, transparent);
    font-weight: var(--fw-m);
}

section table:not(:has(thead)) tbody tr > th {
    background-color: color-mix(in srgb, var(--c-accent) 6%, transparent);
}

table.text-left-th > tbody > tr > th {
    text-align: left;
}

table.text-left-td > tbody > tr > td {
    text-align: left;
}

@media (max-width: 799px) {
    section table tr > * {
        padding: 12px;
    }
}

/* ============================================
 *  項目
 * ============================================ */

div:is(.content-body, .date) > dl {
    overflow: hidden;
    border-radius: var(--r-l);
    border: 1px solid var(--c-line-dl);
    display: grid;
    grid-template-columns: auto 1fr;
}

div:is(.content-body, .date) > dl * + :is(ul, ol) {
    margin-top: var(--s-1);
}

div:is(.content-body, .date) > dl > :is(dt, dd) {
    padding: var(--s-2);
    border-bottom: 1px solid var(--c-line-dl);
}

div:is(.content-body, .date) > dl > :is(dt, dd):where(:last-of-type) {
    border-bottom: unset;
}

div:is(.content-body, .date) > dl > dt {
    padding-right: var(--s-5);
    border-right: 1px solid var(--c-line-dl);
    background-color: color-mix(in srgb, var(--c-accent) 6%, transparent);
    font-weight: var(--fw-m);
}

div:is(.content-body, .date) > dl > dd {
    margin-left: 0;
}

div:is(.content-body, .date) > dl.text-dd-right > dd {
    text-align: end;
}

div:is(.content-body, .date) > dl > dd > * + p,
div:is(.content-body, .date) > dl > dd > dl > dd > * + p {
    margin-top: var(--s-0-5);
}

div:is(.content-body, .date) > dl > dd > * + p:has(strong),
div:is(.content-body, .date) > dl > dd > dl > dd > * + p:has(strong) {
    margin-top: var(--s-1);
}

div:is(.content-body, .date) > dl > dd > ul {
    padding-left: unset !important;
}

div:is(.content-body, .date) > dl > dd > ul > li {
    list-style: none;
}

div:is(.content-body, .date) > dl > dd > ul > li,
div:is(.content-body, .date) > dl > dd > dl > dt {
    position: relative;
    padding-left: 1.2em;
}

div:is(.content-body, .date) > dl > dd > ul > li,
div:is(.content-body, .date) > dl > dd > ol.paren-list > li {
    margin-top: unset !important;
    font-weight: var(--fw-sb);
}

div:is(.content-body, .date) > dl > dd > ul > li + li,
div:is(.content-body, .date) > dl > dd > ol.paren-list > li + li {
    padding-top: var(--s-2);
}

div:is(.content-body, .date) > dl > dd > ul > li > table {
    width: calc(100% + 1.2em);
    margin-left: -1.2em;
}

div:is(.content-body, .date) > dl > dd > dl > dt {
    margin-bottom: var(--s-0-5);
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-0-5) var(--s-2);
    font-weight: var(--fw-sb);
}

div:is(.content-body, .date) > dl > dd > dl > dd {
    padding-left: 1.2em;
}

div:is(.content-body, .date) > dl > dd > dl > dd + dt {
    margin-top: var(--s-2);
}

div:is(.content-body, .date) > dl > dd > dl.row,
div:is(.content-body, .date) > dl > dd > dl.row > div {
    display: flex;
}

div:is(.content-body, .date) > dl > dd > dl.row > div + div {
    position: relative;
    margin-left: var(--s-2-5);
    padding-left: var(--s-2-5);
}

div:is(.content-body, .date) > dl > dd > dl.row > div + div::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    background-image: var(--dash-y);
}

div:is(.content-body, .date) > dl > dd > dl.row > div > dt {
    margin-right: var(--s-1-5);
    flex-shrink: 0;
    font-weight: var(--fw-sb);
}

@media (max-width: 799px) {
    div:is(.content-body, .date) > dl > dt {
        padding-right: var(--s-3);
    }

    div:is(.content-body, .date) > dl > dd > dl.row {
        display: block;
    }

    div:is(.content-body, .date) > dl > dd > dl.row > div + div {
        margin: var(--s-2) 0 0;
        padding: var(--s-2) 0 0;
    }

    div:is(.content-body, .date) > dl > dd > dl.row > div + div::after {
        width: 100%;
        height: 1px;
        background-image: var(--dash-x);
    }

    div:is(.content-body, .date) > dl > dd > dl.row > div > dt {
        width: 2.5em;
        margin-right: 1.25em;
        text-align: center;
    }

    div:is(.content-body, .date) > dl > dd > dl.row > div > dd > br {
        display: none;
    }
}

@media (max-width: 549px) {
    div:is(.content-body, .date) > dl.col-sp {
        grid-template-columns: 1fr;
    }

    div:is(.content-body, .date) > dl.col-sp > dt {
        border-right: unset;
        border-bottom: unset;
        padding-block: var(--s-1-5);
    }

    div:is(.content-body, .date) > dl.col-sp > dt br {
        display: none;
    }
}

/* ============================================
 *  日付表示
 * ============================================ */

.date {
    display: flex;
    flex-direction: column;
    gap: var(--s-2-5);
}

.date > p {
    margin-left: auto;
}

/* ============================================
 *  スペック表示
 * ============================================ */

div:is(.content-body, .date) > dl.spec-list {
    grid-template-columns: 1fr 1fr;
}

div:is(.content-body, .date) > dl.spec-list > dt {
    grid-row: 1;
    border-right: unset;
    border-bottom: 1px solid var(--c-line-dl);
    padding-right: var(--s-2);
    text-align: center;
}

div:is(.content-body, .date) > dl.spec-list > dd {
    grid-row: 2;
    border-bottom: unset;
}

div:is(.content-body, .date) > dl.spec-list > :is(dt, dd):nth-of-type(n + 2) {
    border-left: 1px solid var(--c-line-dl);
}

div:is(.content-body, .date) > dl.spec-list > dd > dl {
    display: flex;
    justify-content: space-evenly;
}

div:is(.content-body, .date) > dl.spec-list > dd > dl::before,
div:is(.content-body, .date) > dl.spec-list > dd > dl:has(> div:nth-child(3))::after {
    width: 1px;
    align-self: stretch;
    content: "";
    background-image: var(--dash-y);
}

div:is(.content-body, .date) > dl.spec-list > dd > dl > div:first-of-type {
    order: -1;
}

div:is(.content-body, .date) > dl.spec-list > dd > dl:has(> div:nth-child(3)) > div:last-of-type {
    order: 1;
}

div:is(.content-body, .date) > dl.spec-list > dd > dl > div {
    display: flex;
    flex-direction: column;
    align-items: center;
}

div:is(.content-body, .date) > dl.spec-list > dd > dl > div > dd {
    font-size: 26px;
    font-weight: var(--fw-m);
}

div:is(.content-body, .date) > dl.spec-list > dd > dl > div > dd > span {
    font-size: var(--fs-base);
    font-weight: var(--fw-sb);
}

@media (max-width: 999px) {
    div:is(.content-body, .date) > dl.spec-list {
        grid-template-columns: 1fr;
    }

    div:is(.content-body, .date) > dl.spec-list > :is(dt, dd) {
        grid-row: unset;
    }

    div:is(.content-body, .date) > dl.spec-list > dt {
        border-bottom: unset;
        padding-block: var(--s-1-5);
    }

    div:is(.content-body, .date) > dl.spec-list > :is(dt, dd):nth-of-type(n + 2) {
        border-left: unset;
    }

    div:is(.content-body, .date) > dl.spec-list > dt:nth-of-type(n + 2) {
        border-top: 1px solid var(--c-line-dl);
    }
}

@media (max-width: 499px) {
    div:is(.content-body, .date) > dl.spec-list > dd > dl {
        gap: var(--s-2) var(--s-1);
    }

    div:is(.content-body, .date) > dl.spec-list.col-sp > dd > dl {
        flex-direction: column;
    }

    div:is(.content-body, .date) > dl.spec-list.col-sp > dd > dl::before,
    div:is(.content-body, .date) > dl.spec-list.col-sp > dd > dl:has(> div:nth-child(3))::after {
        width: 100%;
        height: 1px;
        align-self: unset;
        background-image: var(--dash-x);
    }
}

/* ============================================
 *  グリッド表示
 * ============================================ */

.grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(490px, 100%), 1fr));
    gap: var(--s-3);
}

.grid.mini {
    grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
}

.grid.single {
    grid-template-columns: 1fr;
    gap: var(--s-2);
}

.grid > .btn,
.grid.btns a,
.bottom-menu > .inner > .grid > .btn {
    width: 100%;
}

.grid > *:only-child,
.bottom-menu > .inner > .grid > *:only-child {
    grid-column: 1 / -1;
    max-width: 490px;
    margin-inline: auto;
}

.bottom-menu > .inner > .grid {
    width: 100%;
    grid-template-columns: repeat(auto-fill, minmax(min(360px, 100%), 1fr));
}

@media (max-width: 1249px) {
    .grid {
        gap: var(--s-2);
    }
}

@media (max-width: 949px) {
    .grid.mini.sp-single {
        grid-template-columns: 1fr;
        gap: var(--s-2);
    }
}

/* ============================================
 *  カード表示
 * ============================================ */

.card-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(360px, 100%), 1fr));
    gap: var(--s-3);
}

.card-list.single {
    grid-template-columns: 1fr;
}

.card-list > .wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
}

.card-list > .wrapper > div {
    width: 100%;
}

.card-list > .wrapper > div > h3 {
    border-bottom: unset;
    padding-bottom: unset;
}

.card-list > .wrapper > div > p,
.card-list > .wrapper > div > .wrapper-p {
    margin-top: var(--s-1-5);
}

.card-list > .wrapper > .btn {
    margin-top: var(--s-4);
}

@media (max-width: 449px) {
    .card-list > .wrapper {
        align-items: center;
    }
}

/* ============================================
 *  連絡先表示
 * ============================================ */

.contact {
    padding: var(--s-4) var(--s-6) var(--s-4-5);
    display: flex;
    align-items: center;
    gap: var(--s-5);
}

.contact > div:first-of-type {
    display: flex;
    flex-direction: column;
    gap: calc(var(--s-1) + 2px);
    align-items: center;
    font-size: 28px;
    font-weight: var(--fw-sb);
    text-align: center;
    flex-shrink: 0;
    order: -1;
}

.contact > div:first-of-type::before {
    width: 50px;
    -webkit-mask-image: var(--icon-phone);
    mask-image: var(--icon-phone);
}

.contact.web > div:first-of-type::before {
    -webkit-mask-image: var(--icon-web);
    mask-image: var(--icon-web);
}

.contact.mail > div:first-of-type::before {
    -webkit-mask-image: var(--icon-mail);
    mask-image: var(--icon-mail);
}

.contents:has(h2.flex-text) .contact > div:first-of-type {
    font-size: var(--fs-l);
}

.contact > div:last-of-type {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--s-1);
    align-self: stretch;
    justify-content: center;
}

.contact > div:last-of-type > div:first-of-type:has(.btn) {
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
}

.contact > div:last-of-type > div:first-of-type > a:not(.btn) {
    display: flex;
    align-items: center;
    gap: var(--s-1);
    color: var(--c-accent);
    font-size: 38px;
    font-weight: var(--fw-m);
}

.contact.free > div:last-of-type > div:first-of-type > a:not(.btn) {
    color: #08b14b;
}

.contact.free > div:last-of-type > div:first-of-type > a:not(.btn)::before,
a.free::before {
    content: "";
    display: block;
    flex-shrink: 0;
    width: calc(var(--s-8) - 2px);
    aspect-ratio: 34 / 20;
    background-image: url(../img/page-icon-freedial.svg);
    background-repeat: no-repeat;
}

a.free {
    position: relative;
    padding-left: 2em;
}

a.free::before {
    height: 1em;
    position: absolute;
    top: 0.25em;
    left: 0;
}

@media (max-width: 1249px) {
    .contact > div:first-of-type {
        font-size: 21px;
    }

    .contact > div:first-of-type::before {
        width: 46px;
    }

    .contact > div:last-of-type > div:first-of-type > a:not(.btn) {
        font-size: 26px;
    }

    .contact.free > div:last-of-type > div:first-of-type > a:not(.btn)::before {
        width: var(--s-5);
    }
}

@media (max-width: 699px) {
    .contact {
        padding-inline: var(--s-4);
        flex-direction: column;
        gap: var(--s-3);
    }

    .contact::before {
        height: 1px;
        width: 100%;
    }

    .contact > div:first-of-type {
        padding-right: 22px;
        flex-direction: unset;
        text-align: unset;
        gap: 6px;
    }

    .contact > div:first-of-type::before {
        width: var(--s-4);
    }

    .contact > div:first-of-type > br {
        display: none;
    }

    .contact > div:last-of-type {
        align-items: center;
        border-left: unset;
        gap: 12px;
        width: 100%;
    }

    .contact > div:last-of-type > div:first-of-type > p:not(.note) {
        text-align: center;
    }

    .contact > div:last-of-type > div:first-of-type > a:not(.btn) {
        justify-content: center;
    }

    .contact > div:last-of-type > div:last-of-type {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }

    .contact > div:last-of-type > div:last-of-type > p:first-of-type {
        text-align: center;
    }

    .contact > div:last-of-type > div:last-of-type > p:first-of-type > .spacer {
        display: none;
    }
}

/* ============================================
 *  フロー・流れ
 * ============================================ */

.flow {
    display: flex;
}

.flow > .arrow {
    display: block;
    width: var(--s-5);
    aspect-ratio: 1;
    -webkit-mask-image: var(--icon-caret-right);
    mask-image: var(--icon-caret-right);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    background-color: color-mix(in srgb, var(--c-text) 60%, transparent);
}

.flow > div {
    position: relative;
    padding: var(--s-2-5) var(--s-2) var(--s-3-5);
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--s-1-5);
}

.flow > div > .heading > h4 {
    font-size: var(--fs-base);
}

@media (max-width: 1249px) {
    .flow > div > .heading > h4 {
        font-size: 18px;
    }
}

@media (max-width: 1199px) {
    .flow {
        flex-direction: column;
        align-items: center;
    }

    .flow > .arrow {
        -webkit-mask-image: var(--icon-caret-down);
        mask-image: var(--icon-caret-down);
    }
}

/* ============================================
 *  丸数字見出し
 * ============================================ */

.circle-num,
.circle-num-mini {
    display: flex;
    align-items: center;
    gap: var(--s-1-5);
}

.circle-num-mini {
    gap: var(--s-1);
}

.circle-num > *:nth-child(1),
.circle-num-mini > *:nth-child(1) {
    width: 37px;
    aspect-ratio: 1;
    border-radius: var(--r-full);
    background-color: color-mix(in srgb, var(--c-accent) 15%, transparent);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: var(--fw-m);
    color: var(--c-accent);
}

.circle-num-mini > *:nth-child(1) {
    width: 29px;
    font-size: var(--fs-base);
}

.circle-num > *:nth-child(2),
.circle-num-mini > *:nth-child(2) {
    border-bottom: unset;
    padding-bottom: unset;
    letter-spacing: 0.05em;
    font-size: 20px;
    font-weight: var(--fw-m);
    color: var(--c-accent);
}

/* ============================================
 *  チェックマーク付きli
 * ============================================ */

/* リストのリセット */
ul.check {
    list-style: none;
    margin: 0;
    padding: 0;
}

ul.check > li {
    position: relative;
}

ul.check > li::before {
    position: absolute;
    top: 0.1em;
    left: -1.5em;
    width: 1.3em;
    -webkit-mask-image: var(--icon-circle-check);
    mask-image: var(--icon-circle-check);
    background-color: var(--c-accent);
}

/* ============================================
 *  利用時間の表示
 * ============================================ */

.time {
    align-items: center;
    gap: var(--s-2);
}

.time > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--s-2);
}

.time > div > span {
    border-radius: 16px;
    padding: 2px var(--s-3);
    background-color: color-mix(in srgb, var(--c-accent) 15%, transparent);
    text-align: center;
    color: var(--c-accent);
    font-size: calc(var(--fs-base) + 1px);
    font-weight: var(--fw-m);
}

.time > p {
    display: flex;
    align-items: center;
    gap: var(--s-1-5);
    font-size: 24px;
    font-weight: var(--fw-m);
}

.time > p::before {
    width: var(--s-5);
    -webkit-mask-image: var(--icon-clock);
    mask-image: var(--icon-clock);
}

@media (max-width: 1249px) {
    .time > div {
        gap: var(--s-1-5);
    }

    .time > div > span {
        flex-grow: 1;
    }

    .time > p {
        font-size: 18px;
    }

    .time > p::before {
        width: var(--s-4-5);
    }
}

/* ============================================
 *  アプリのリンク
 * ============================================ */

.app {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(336px, 100%), 1fr));
    gap: var(--s-2);
}

.app > .wrapper {
    position: relative;
    padding: var(--s-4);
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
}

.app > .wrapper > h3 {
    position: absolute;
    top: var(--s-4);
    left: var(--s-4);
    padding: unset;
    border: unset;
    font-size: var(--fs-l);
}

.app > .wrapper > div {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

.app > .wrapper > div > img {
    background-color: var(--c-text-white);
    border: 1px solid var(--c-spacer);
    width: 120px;
}

.app > .wrapper > div > a {
    display: block;
    height: 56px;
    background-size: contain;
    background-repeat: no-repeat;
}

.app > .wrapper:nth-child(1) > div > a {
    background-image: url(../img/page-badge-app.svg);
    aspect-ratio: 108.85157 / 40;
}

.app > .wrapper:nth-child(2) > div > a {
    background-image: url(../img/page-badge-play.svg);
    aspect-ratio: 33 / 10;
}

@media (max-width: 1249px) {
    .app > .wrapper > div > img {
        width: 88px;
    }

    .app > .wrapper > div > a {
        height: 44px;
    }
}

@media (max-width: 799px) {
    .app > .wrapper {
        padding: var(--s-3);
    }

    .app > .wrapper > h3 {
        top: var(--s-3);
        left: var(--s-3);
    }
}

/* ============================================
 *  インターネットバンキング
 * ============================================ */

.contents > .ib-menu:first-of-type {
    padding-top: unset;
}

.contents .ib-menu > .inner {
    gap: var(--s-5);
}

.ib-menu > div > .wrapper.apply > .btns > a.solid::before {
    -webkit-mask-image: var(--icon-lock-user);
    mask-image: var(--icon-lock-user);
}

.ib-menu > div > .wrapper.apply > .btns > a::before {
    -webkit-mask-image: var(--icon-register);
    mask-image: var(--icon-register);
}

.ib-menu.biz > div > .wrapper.apply > .btn.solid::before {
    -webkit-mask-image: var(--icon-lock-biz);
    mask-image: var(--icon-lock-biz);
}

.ib-menu > div > .phishwall,
.ib-menu > div > .phishwall > div:first-of-type,
.ib-menu > div > .phishwall > p {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.ib-menu > div > .phishwall > div:first-of-type {
    gap: calc(var(--s-1) - 2px);
}

.ib-menu > div > .phishwall > div:first-of-type > h2 > img {
    max-width: 480px;
    width: 100%;
}

.ib-menu > div > .phishwall > div:first-of-type > p {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    white-space: nowrap;
    font-size: var(--fs-xs);
    font-weight: var(--fw-sb);
}

.ib-menu > div > .phishwall > p {
    margin-top: var(--s-1-5);
    text-align: center;
}

.ib-menu > div > .phishwall > div:last-of-type {
    margin-top: 28px;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    gap: var(--s-3);
}

.ib-menu > div > .phishwall > div:last-of-type > a {
    width: 100%;
}

@media (max-width: 1249px) {
    .ib-menu > div > .phishwall > div:last-of-type {
        gap: var(--s-2-5);
    }

    .ib-menu > div > .phishwall > div:first-of-type > h2 > img {
        max-width: 440px;
    }

    .ib-menu > div > .phishwall > p > br {
        display: none;
    }
}

@media (max-width: 749px) {
    .ib-menu > div > .phishwall > p {
        text-align: start;
    }
}

@media (max-width: 599px) {
    .ib-menu > div > .phishwall > div:last-of-type {
        width: 100%;
        grid-auto-flow: row;
    }
}

.ib-onetime-limit {
    display: flex;
    gap: var(--s-7);
}

.ib-onetime-limit > div:first-of-type {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.ib-onetime-limit > div:first-of-type::before {
    width: var(--s-5);
    -webkit-mask-image: var(--icon-caret-down);
    mask-image: var(--icon-caret-down);
    background-color: color-mix(in srgb, var(--c-text) 60%, transparent);
}

.ib-onetime-limit > div:first-of-type > div {
    padding: var(--s-3) var(--s-4-5) var(--s-3-5);
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--s-1);
}

.ib-onetime-limit > div:first-of-type > div:nth-of-type(1) {
    order: -1;
}

.ib-onetime-limit > div:first-of-type > div > p:nth-of-type(1),
.ib-onetime-limit > div:first-of-type > div > p:nth-of-type(2) {
    font-weight: var(--fw-m);
}

.ib-onetime-limit > div:first-of-type > div > p:nth-of-type(1) {
    font-size: var(--fs-m);
}

.ib-onetime-limit > div:first-of-type > div > p:nth-of-type(2) {
    font-size: 26px;
    color: var(--c-emphasis);
}

@media (max-width: 1249px) {
    .ib-onetime-limit {
        gap: var(--s-4-5);
    }

    .ib-onetime-limit > div:first-of-type > div {
        padding-inline: var(--s-3);
    }

    .ib-onetime-limit > div:first-of-type > div > p:nth-of-type(2) {
        font-size: 24px;
    }
}

@media (max-width: 949px) {
    .ib-onetime-limit {
        flex-direction: column;
    }
}

.ib-fee {
    align-items: unset;
}

.ib-fee > div {
    width: 100%;
}

.ib-fee > .wrapper.disc::before {
    display: none;
}

.ib-fee > .wrapper.disc:first-of-type {
    gap: var(--s-1);
}

.ib-fee > .wrapper.disc:last-of-type > div,
.ib-fee > .wrapper.disc:last-of-type > div > div {
    display: flex;
}

.ib-fee > .wrapper.disc:last-of-type > div {
    gap: var(--s-3);
}

.ib-fee > .wrapper.disc:last-of-type > div > div {
    gap: var(--s-2-5);
    align-items: center;
}

.ib-fee > .wrapper.disc:last-of-type > div > div:first-of-type {
    order: -1;
}

.ib-fee > .wrapper.disc:last-of-type > div > div > p:first-of-type {
    line-height: 1.3;
}

.ib-fee > .wrapper.disc:last-of-type > div > div > p:last-of-type {
    font-size: 36px;
    line-height: 1;
}

.ib-fee > .wrapper.disc:last-of-type > div > div > p:last-of-type > span {
    font-size: var(--fs-base);
    font-weight: var(--fw-m);
}

@media (max-width: 1249px) {
    .ib-fee > .wrapper.disc:last-of-type > div > div > p:last-of-type {
        font-size: 34px;
    }
}

@media (max-width: 549px) {
    .ib-fee > .wrapper.disc > .heading {
        text-align: center;
    }

    .ib-fee > .wrapper.disc:last-of-type > div {
        justify-content: center;
        gap: var(--s-4-5);
    }

    .ib-fee > .wrapper.disc:last-of-type > div > div {
        flex-direction: column;
        gap: var(--s-1);
    }

    .ib-fee > .wrapper.disc:last-of-type > div > div > p:first-of-type {
        text-align: center;
    }
}

.ib-environment {
    grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
}

.ib-environment > .wrapper.disc::before {
    display: none;
}

.ib-environment > .wrapper.disc > .heading {
    display: flex;
    align-items: center;
    gap: var(--s-1-5);
}

.ib-environment > .wrapper.disc > .heading::before {
    width: var(--s-4-5);
}

.ib-environment > .wrapper.disc:first-of-type > .heading::before {
    -webkit-mask-image: var(--icon-desktop);
    mask-image: var(--icon-desktop);
}

.ib-environment > .wrapper.disc:last-of-type > .heading::before {
    -webkit-mask-image: var(--icon-laptop);
    mask-image: var(--icon-laptop);
}

.ib-manual {
    grid-template-columns: repeat(auto-fill, minmax(min(360px, 100%), 1fr));
}

.ib-manual > .wrapper.disc {
    padding-block: var(--s-2) var(--s-2-5);
}

.ib-manual > .wrapper.disc::before {
    width: calc(100% + 48px);
    margin-inline: -24px;
}

.ib-manual > .wrapper.disc > .wrapper-p {
    gap: var(--s-1-5);
}

/* ============================================
 *  ビジネスバンキング
 * ============================================ */

.ib-fee.biz > .wrapper.disc:last-of-type > div > div > p:last-of-type {
    font-size: 32px;
}

.ib-fee-biz > .wrapper.disc {
    align-items: flex-start;
}

.ib-fee-biz > .wrapper.disc > div:first-of-type {
    flex-shrink: 0;
}

.ib-fee-biz > div:first-of-type > p {
    margin-block: auto;
    line-height: 1;
    font-size: 30px;
}

.ib-fee-biz > div:first-of-type > p > span {
    font-size: var(--fs-base);
}

.ib-fee-biz > div:last-of-type > div:last-of-type {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.ib-fee-biz > div:last-of-type > div:last-of-type > div {
    padding-bottom: var(--s-3);
    display: flex;
    gap: var(--s-3);
}

.ib-fee-biz > div:last-of-type > div:last-of-type > div > div {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--s-1);
}

.ib-fee-biz > div:last-of-type > div:last-of-type > div > div:first-of-type {
    order: -1;
}

.ib-fee-biz > div:last-of-type > div:last-of-type > div > div > div:first-of-type {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.ib-fee-biz > div:last-of-type > div:last-of-type > div > div > div:first-of-type * {
    line-height: 1;
}

.ib-fee-biz > div:last-of-type > div:last-of-type > div > div > div:first-of-type > p:first-of-type {
    font-weight: var(--fw-m);
    font-size: calc(var(--fs-base) + 1px);
}

.ib-fee-biz > div:last-of-type > div:last-of-type > div > div > div:first-of-type > p:last-of-type {
    font-size: 30px;
}

.ib-fee-biz > div:last-of-type > div:last-of-type > div > div > div:first-of-type > p:last-of-type > span {
    font-size: var(--fs-base);
}

.ib-fee-biz > div:last-of-type > div:last-of-type > div > div > div:last-of-type {
    height: 100%;
    display: flex;
    align-items: center;
}

.ib-fee-biz,
.ib-manual.biz {
    display: flex;
    flex-direction: column;
}

@media (max-width: 999px) {
    .ib-fee-biz > .wrapper.disc {
        flex-direction: column;
        gap: var(--s-2);
    }

    .ib-fee-biz > .wrapper.row.disc:has(.heading)::before {
        width: 100%;
        height: 1px;
        align-self: unset;
    }
}

@media (max-width: 749px) {
    .ib-fee-biz > div:last-of-type > div:last-of-type > div {
        width: 100%;
        flex-direction: column;
        gap: var(--s-2);
    }

    .ib-fee-biz > div:last-of-type > div:last-of-type > div::before {
        width: 100%;
        height: 1px;
        align-self: unset;
    }
}

@media (max-width: 429px) {
    .ib-fee-biz > div:last-of-type > div:last-of-type > div > div {
        gap: var(--s-1-5);
    }

    .ib-fee-biz > div:last-of-type > div:last-of-type > div > div > div:first-of-type {
        flex-direction: column;
        gap: var(--s-1);
    }

    .ib-fee-biz > div:last-of-type > div:last-of-type > div > div > div:first-of-type > p {
        text-align: center;
    }
}

/* ============================================
 *  お金を貯めたい（個人）
 * ============================================ */

.contents .deposit-jgb {
    align-items: center;
    gap: var(--s-5);
}

.deposit-jgb > dl {
    max-width: 380px;
    width: 100%;
}

@media (max-width: 1249px) {
    .deposit-jgb > dl {
        max-width: 336px;
    }
}

@media (max-width: 449px) {
    .deposit-jgb > dl {
        max-width: unset;
    }
}

/* ============================================
 *  お金を借りたい（個人）
 * ============================================ */

.top-index.loan {
    --icon-toc-free: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M192 128L192 160L320 160L320 128C320 92.7 291.3 64 256 64C220.7 64 192 92.7 192 128zM160 160L160 128C160 75 203 32 256 32C309 32 352 75 352 128L352 160L416 160C451.3 160 480 188.7 480 224L480 240L448 240L448 224C448 206.3 433.7 192 416 192L96 192C78.3 192 64 206.3 64 224L64 448C64 465.7 78.3 480 96 480L176 480L176 512L96 512C60.7 512 32 483.3 32 448L32 224C32 188.7 60.7 160 96 160L160 160zM256 352L256 512C256 529.7 270.3 544 288 544L544 544C561.7 544 576 529.7 576 512L576 352C576 334.3 561.7 320 544 320L288 320C270.3 320 256 334.3 256 352zM224 352C224 316.7 252.7 288 288 288L544 288C579.3 288 608 316.7 608 352L608 512C608 547.3 579.3 576 544 576L288 576C252.7 576 224 547.3 224 512L224 352zM336 368C344.8 368 352 375.2 352 384L352 400C352 435.3 380.7 464 416 464C451.3 464 480 435.3 480 400L480 384C480 375.2 487.2 368 496 368C504.8 368 512 375.2 512 384L512 400C512 453 469 496 416 496C363 496 320 453 320 400L320 384C320 375.2 327.2 368 336 368z'/%3E%3C/svg%3E");
    --icon-toc-house: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M331.4 68.3C325.3 62.6 315.7 62.6 309.6 68.3L69.6 292.3C63.1 298.3 62.8 308.5 68.8 314.9C74.8 321.3 85 321.7 91.4 315.7L112.5 296L112.5 512C112.5 547.3 141.2 576 176.5 576L464.5 576C499.8 576 528.5 547.3 528.5 512L528.5 296L549.6 315.7C556.1 321.7 566.2 321.4 572.2 314.9C578.2 308.4 577.9 298.3 571.4 292.3L528.5 252.2L528.5 136C528.5 113.9 510.6 96 488.5 96L456.5 96C434.4 96 416.5 113.9 416.5 136L416.5 147.7L331.4 68.3zM496.5 136L496.5 222.4L448.5 177.6L448.5 136C448.5 131.6 452.1 128 456.5 128L488.5 128C492.9 128 496.5 131.6 496.5 136zM496.5 266.2L496.5 512C496.5 529.7 482.2 544 464.5 544L400.5 544L400.5 432C400.5 396.7 371.8 368 336.5 368L304.5 368C269.2 368 240.5 396.7 240.5 432L240.5 544L176.5 544C158.8 544 144.5 529.7 144.5 512L144.5 266.2L320.5 101.9L496.5 266.2zM368.5 544L272.5 544L272.5 432C272.5 414.3 286.8 400 304.5 400L336.5 400C354.2 400 368.5 414.3 368.5 432L368.5 544z'/%3E%3C/svg%3E");
    --icon-toc-edu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M77.2 224L301.4 131.7C307.3 129.3 313.6 128 320 128C326.4 128 332.7 129.3 338.6 131.7L562.8 224L338.6 316.3C332.7 318.7 326.4 320 320 320C313.6 320 307.3 318.7 301.4 316.3L77.2 224zM64 253.2L128 279.5L128 448C128 501 214 544 320 544C426 544 512 501 512 448L512 279.5L593.2 246.1C602.2 242.4 608 233.7 608 224C608 214.3 602.2 205.6 593.2 201.9L350.8 102.1C341 98.1 330.6 96 320 96C309.4 96 299 98.1 289.2 102.1L46.8 201.9C37.8 205.6 32 214.3 32 224L32 528C32 536.8 39.2 544 48 544C56.8 544 64 536.8 64 528L64 253.2zM160 448L160 292.7L289.2 345.9C299 349.9 309.4 352 320 352C330.6 352 341 349.9 350.8 345.9L480 292.7L480 448C480 455.9 472.8 471.6 441.5 487.3C412.1 502 369.2 512 320 512C270.8 512 228 502 198.5 487.3C167.2 471.6 160 455.9 160 448z'/%3E%3C/svg%3E");
    --icon-toc-car: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M172.9 171.8L144.8 256L495.1 256L467 171.8C458.3 145.6 433.9 128 406.3 128L233.7 128C206.2 128 181.7 145.6 173 171.8zM110.3 258.5L142.6 161.6C155.7 122.4 192.3 96 233.7 96L406.4 96C447.7 96 484.4 122.4 497.5 161.6L529.8 258.4C556.5 266.1 576.1 290.7 576.1 319.9L576.1 527.9C576.1 536.7 568.9 543.9 560.1 543.9C551.3 543.9 544.1 536.7 544.1 527.9L544.1 479.9L96.1 479.9L96.1 527.9C96.1 536.7 88.9 543.9 80.1 543.9C71.3 543.9 64 536.8 64 528L64 320C64 290.8 83.6 266.2 110.3 258.5zM128 288C110.3 288 96 302.3 96 320L96 448L544 448L544 320C544 302.3 529.7 288 512 288L128 288zM168 344C181.3 344 192 354.7 192 368C192 381.3 181.3 392 168 392C154.7 392 144 381.3 144 368C144 354.7 154.7 344 168 344zM448 368C448 354.7 458.7 344 472 344C485.3 344 496 354.7 496 368C496 381.3 485.3 392 472 392C458.7 392 448 381.3 448 368z'/%3E%3C/svg%3E");
    --icon-toc-card: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M512 160C529.7 160 544 174.3 544 192L544 448C544 465.7 529.7 480 512 480L128 480C110.3 480 96 465.7 96 448L96 192C96 174.3 110.3 160 128 160L512 160zM128 128C92.7 128 64 156.7 64 192L64 448C64 483.3 92.7 512 128 512L512 512C547.3 512 576 483.3 576 448L576 192C576 156.7 547.3 128 512 128L128 128zM144 400C144 408.8 151.2 416 160 416L224 416C232.8 416 240 408.8 240 400C240 391.2 232.8 384 224 384L160 384C151.2 384 144 391.2 144 400zM272 400C272 408.8 279.2 416 288 416L352 416C360.8 416 368 408.8 368 400C368 391.2 360.8 384 352 384L288 384C279.2 384 272 391.2 272 400zM400 400C400 408.8 407.2 416 416 416L480 416C488.8 416 496 408.8 496 400C496 391.2 488.8 384 480 384L416 384C407.2 384 400 391.2 400 400zM184 208C161.9 208 144 225.9 144 248L144 296C144 318.1 161.9 336 184 336L264 336C286.1 336 304 318.1 304 296L304 248C304 225.9 286.1 208 264 208L184 208zM176 248C176 243.6 179.6 240 184 240L264 240C268.4 240 272 243.6 272 248L272 296C272 300.4 268.4 304 264 304L184 304C179.6 304 176 300.4 176 296L176 248z'/%3E%3C/svg%3E");
    --icon-toc-estate: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M576 96L352 96C334.3 96 320 110.3 320 128L320 189L288 161L288 128C288 92.7 316.7 64 352 64L576 64C611.3 64 640 92.7 640 128L640 512C640 547.3 611.3 576 576 576L411.9 576C418.6 566.3 423.9 555.6 427.3 544L576 544C593.7 544 608 529.7 608 512L608 128C608 110.3 593.7 96 576 96zM488 184C488 175.2 495.2 168 504 168L520 168C528.8 168 536 175.2 536 184L536 200C536 208.8 528.8 216 520 216L504 216C495.2 216 488 208.8 488 200L488 184zM504 264L520 264C528.8 264 536 271.2 536 280L536 296C536 304.8 528.8 312 520 312L504 312C495.2 312 488 304.8 488 296L488 280C488 271.2 495.2 264 504 264zM488 376C488 367.2 495.2 360 504 360L520 360C528.8 360 536 367.2 536 376L536 392C536 400.8 528.8 408 520 408L504 408C495.2 408 488 400.8 488 392L488 376zM408 168L424 168C432.8 168 440 175.2 440 184L440 200C440 208.8 432.8 216 424 216L408 216C399.2 216 392 208.8 392 200L392 184C392 175.2 399.2 168 408 168zM218.5 164L410.5 332C417.1 337.8 417.8 347.9 412 354.6C406.2 361.3 396.1 361.9 389.4 356.1L383.9 351.3L383.9 512C383.9 547.3 355.2 576 319.9 576L96 576C60.7 576 32 547.3 32 512L32 351.3L26.5 356.1C19.8 361.9 9.7 361.2 3.9 354.6C-1.9 348-1.2 337.8 5.5 332L197.5 164C203.5 158.7 212.5 158.7 218.6 164zM352 323.3L208 197.3L64 323.3L64 512C64 529.7 78.3 544 96 544L320 544C337.7 544 352 529.7 352 512L352 323.3zM152 360C152 342.3 166.3 328 184 328L232 328C249.7 328 264 342.3 264 360L264 408C264 425.7 249.7 440 232 440L184 440C166.3 440 152 425.7 152 408L152 360zM184 360L184 408L232 408L232 360L184 360z'/%3E%3C/svg%3E");
    --icon-toc-credit: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M144 96C99.8 96 64 131.8 64 176L64 432C64 476.2 99.8 512 144 512L496 512C540.2 512 576 476.2 576 432L576 240C576 195.8 540.2 160 496 160L176 160C167.2 160 160 167.2 160 176C160 184.8 167.2 192 176 192L496 192C522.5 192 544 213.5 544 240L544 432C544 458.5 522.5 480 496 480L144 480C117.5 480 96 458.5 96 432L96 176C96 149.5 117.5 128 144 128L528 128C536.8 128 544 120.8 544 112C544 103.2 536.8 96 528 96L144 96zM448 360C461.3 360 472 349.3 472 336C472 322.7 461.3 312 448 312C434.7 312 424 322.7 424 336C424 349.3 434.7 360 448 360z'/%3E%3C/svg%3E");
}

.top-index.loan > li > a {
    gap: var(--s-1-5);
}

.bnr-link {
    display: block;
    width: 100%;
    margin-inline: auto;
}

.bnr-link img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: unset;
}

@media (max-width: 799px) {
    .bnr-link {
        max-width: 400px;
    }
}

.wrapper-h3:has(.loan) {
    gap: var(--s-4);
}

.top-index.loan > li > a::before {
    width: var(--s-4);
    -webkit-mask-image: var(--icon-toc);
    mask-image: var(--icon-toc);
}

@media (max-width: 1249px) {
    .top-index.loan > li > a {
        gap: var(--s-1);
    }

    .top-index.loan > li > a::before {
        width: var(--s-3-5);
    }
}

.wrapper.loan {
    padding: unset;
    overflow: hidden;
    display: flex;
    align-items: flex-start;
}

.wrapper.loan > div,
.wrapper.loan > ul {
    padding: var(--s-5);
}

.wrapper.loan > div {
    order: -1;
    max-width: 400px;
    width: 100%;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
}

.wrapper.loan > div > *:last-child {
    padding-bottom: var(--s-1);
}

.wrapper.loan > div > h3 {
    padding-bottom: unset;
    border-bottom: unset;
}

.wrapper.loan > ul {
    width: 100%;
    align-self: stretch;
    background-color: #eaf3f8;
    border-left: 1px solid color-mix(in srgb, var(--c-text) 8%, transparent);
}

.wrapper.loan > ul.wrapper {
    border-radius: var(--r-m);
    padding-bottom: var(--s-3);
}

.wrapper.loan > ul > li {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--s-2) var(--s-3);
    line-height: 1.3;
    font-weight: var(--fw-m);
}

.wrapper.loan > ul > li:nth-last-child(n + 2) {
    padding-bottom: var(--s-2-5);
}

.wrapper.loan > ul > li + li {
    padding-top: var(--s-2-5);
}

.wrapper.loan > ul > li + li::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-image: var(--dash-x);
}

.wrapper.loan > ul > li > span {
    line-height: inherit;
    font-weight: inherit;
}

.wrapper.loan > ul > li > a {
    min-width: 208px;
}

@media (max-width: 1249px) {
    .wrapper.loan > div {
        padding: var(--s-4);
        gap: var(--s-1-5);
    }

    .wrapper.loan > ul > li > a {
        min-width: 180px;
    }
}

@media (max-width: 1049px) {
    .wrapper.loan > div {
        max-width: 35%;
    }
}

@media (max-width: 799px) {
    .wrapper.loan {
        flex-direction: column;
    }

    .wrapper.loan > div,
    .wrapper.loan > ul {
        padding: var(--s-3);
    }

    .wrapper.loan > div {
        max-width: unset;
    }
    .wrapper.loan > div > *:first-child {
        padding-top: var(--s-1);
    }

    .wrapper.loan > ul {
        border-left: unset;
        border-top: 1px solid color-mix(in srgb, var(--c-text) 8%, transparent);
    }

    .wrapper.loan > ul > li > a {
        margin-left: auto;
    }
}

@media (max-width: 499px) {
    .wrapper.loan > ul > li {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ============================================
 *  ふるしん住宅ローン
 * ============================================ */

.house table colgroup > col:nth-child(2) {
    width: 240px;
}

@media (max-width: 1249px) {
    .house table colgroup > col:nth-child(2) {
        width: 200px;
    }
}

@media (max-width: 799px) {
    .house table colgroup > col:nth-child(2) {
        width: 132px;
    }
}

/* ============================================
 *  フラット35・50
 * ============================================ */

.contents > .flat-bottom-menu > .inner {
    gap: var(--s-5);
}

.contents > .flat-bottom-menu > .inner > .wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--s-3);
}

.contents > .flat-bottom-menu > .inner > .wrapper > h2 {
    font-size: var(--fs-h3);
    font-weight: var(--fw-m);
    text-align: center;
}

/* ============================================
 *  みやぎっこ
 * ============================================ */

div:is(.content-body, .date) > dl.miyagikko > dd > dl > dt {
    padding-left: unset;
}

div:is(.content-body, .date) > dl.miyagikko > dd > dl > dt::before {
    all: unset;
}

div:is(.content-body, .date) > dl.miyagikko > dd > dl > dd {
    padding-left: unset;
}

/* ============================================
 *  備える
 * ============================================ */

.insurance {
    display: flex;
    gap: var(--s-6);

    --icon-circle-exclamation: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M320 576C178.6 576 64 461.4 64 320C64 178.6 178.6 64 320 64C461.4 64 576 178.6 576 320C576 461.4 461.4 576 320 576zM320 96C196.3 96 96 196.3 96 320C96 443.7 196.3 544 320 544C443.7 544 544 443.7 544 320C544 196.3 443.7 96 320 96zM320 448C306.7 448 296 437.3 296 424C296 410.7 306.7 400 320 400C333.3 400 344 410.7 344 424C344 437.3 333.3 448 320 448zM320 192C333.5 192 344.3 203.4 343.5 216.9L335.9 352.9C335.4 361.4 328.4 368 319.9 368C311.4 368 304.4 361.4 303.9 352.9L296.3 216.9C295.5 203.4 306.3 192 319.8 192z'/%3E%3C/svg%3E");
}

.insurance > div:first-of-type {
    max-width: 380px;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--s-5);
}

.insurance > div:first-of-type > img,
.insurance > div:first-of-type > .btn {
    width: 100%;
}

.insurance .contact {
    gap: var(--s-3);
}

.insurance .contact > div {
    font-size: var(--fs-base);
}

.insurance .contact > div:first-of-type::before {
    width: 46px;
}

.insurance.anshin .contact > div:first-of-type::before {
    -webkit-mask-image: var(--icon-circle-exclamation);
    mask-image: var(--icon-circle-exclamation);
}

@media (max-width: 1249px) {
    .insurance > div:first-of-type {
        max-width: 280px;
        gap: var(--s-3);
    }
}

@media (max-width: 999px) {
    .insurance > div:first-of-type {
        max-width: 240px;
    }
}

@media (max-width: 899px) {
    .insurance {
        flex-direction: column;
        align-items: center;
    }
}

/* ============================================
 *  経営を相談したい
 * ============================================ */

.consulting .wrapper.disc.flex {
    margin-inline: unset;
}

.consulting-ex {
    align-items: center;
}

.consulting-ex.wrapper.disc > h3.heading {
    font-size: var(--fs-base);
}

.consulting-ex > div:first-of-type {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: var(--s-1-5) var(--s-3);
    flex-wrap: wrap;
}

.consulting-ex > div:first-of-type > .circle-num-mini > span:last-of-type {
    font-size: var(--fs-base);
}

img.img-center {
    max-width: 800px;
    border-radius: unset;
}

@media (max-width: 1249px) {
    img.img-center {
        max-width: 640px;
    }
}

@media (max-width: 649px) {
    .consulting-ex {
        align-items: flex-start;
    }

    .consulting-ex > div:first-of-type {
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 549px) {
    .wrapper.disc.flex.consulting {
        padding-top: var(--s-1-5);
        padding-right: var(--s-3);
        flex-direction: column;
        gap: var(--s-0-5);
    }
}

/* ============================================
 *  キャッシュレス決済導入のご提案
 * ============================================ */

.cashless .wrapper.disc.flex {
    padding-right: var(--s-3);
}

/* ============================================
 *  地域貢献活動
 * ============================================ */

.community .flex-img > img {
    max-width: 400px;
}

@media (max-width: 1249px) {
    .community .flex-img > img {
        max-width: 320px;
    }
}

/* ============================================
 *  経営理念・方針
 * ============================================ */

.philosophy {
    display: flex;
    gap: var(--s-2);
}

.philosophy > .wrapper {
    width: 100%;
    align-items: center;
    gap: var(--s-1);
}

.philosophy > .wrapper > p:first-of-type {
    font-size: var(--fs-h4);
    font-weight: var(--fw-m);
    color: var(--c-accent);
}

.philosophy > .wrapper > p:last-of-type {
    text-align: center;
}

@media (max-width: 1049px) {
    .philosophy {
        flex-direction: column;
    }
}

/* ============================================
 *  沿革
 * ============================================ */

.history {
    --history-year-size: 21px;
    --history-year-line: 1.6;
    --history-year-col: 5.5em;
    --history-month-col: 2.5em;
    --history-dot: var(--s-2);
    --history-line-gap: 12px;
    --history-row-gap: var(--s-3-5);
    --history-col-gap: var(--s-2);
    --history-bg: var(--c-bg);

    --history-dot-y: calc(var(--history-year-size) * var(--history-year-line) / 2);
    --history-dot-x: calc(var(--history-dot) / 2);

    margin-inline: auto;
}

.history > div {
    position: relative;
    display: grid;
    grid-template-columns: var(--history-dot) var(--history-year-col) minmax(0, 1fr);
    column-gap: var(--history-col-gap);
    row-gap: var(--s-1);
    align-items: baseline;
}

.history > div + div {
    margin-top: var(--history-row-gap);
}

.history > div:not(:last-child)::before {
    content: "";
    position: absolute;
    left: var(--history-dot-x);
    translate: -50% 0;
    width: 2px;
    top: var(--history-dot-y);
    bottom: calc(-1 * (var(--history-row-gap) + var(--history-dot-y)));
    background: color-mix(in srgb, var(--c-text) 12%, transparent);
}

.history > div::after {
    content: "";
    position: absolute;
    left: var(--history-dot-x);
    top: var(--history-dot-y);
    translate: -50% -50%;
    width: var(--history-dot);
    aspect-ratio: 1;
    border-radius: 50%;
    background: var(--c-accent);
    box-shadow: 0 0 0 var(--history-line-gap) var(--history-bg);
}

.history > div > dt {
    grid-column: 2;
    margin: 0;
    color: var(--c-accent);
    font-size: var(--history-year-size);
    line-height: var(--history-year-line);
    font-weight: var(--fw-m);
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.history > div > dd {
    grid-column: 3;
    display: flex;
    align-items: baseline;
    gap: var(--history-col-gap);
    margin: 0;
}

.history > div > dd > p {
    flex: 0 0 var(--history-month-col);
    margin: 0;
    color: color-mix(in srgb, var(--c-text) 60%, transparent);
    text-align: right;
    white-space: nowrap;
}

.history > div > dt > span,
.history > div > dd > p > span {
    display: inline-block;
    min-width: 2ch;
    text-align: right;
    letter-spacing: 0;
    font-variant-numeric: tabular-nums;
    color: inherit;
    font-weight: inherit;
    line-height: inherit;
}

.history > div > dd > div {
    display: flex;
    flex-direction: column;
    gap: var(--s-0-5);
}

.contents .content-body.history-dl {
    margin-inline: auto;
    width: 100%;
    max-width: 800px;
}

@media (max-width: 1249px) {
    .history {
        --history-year-size: 18px;
        --history-row-gap: var(--s-3);
    }

    .history-dl {
        max-width: 640px;
    }
}

@media (max-width: 499px) {
    .history > div {
        grid-template-columns: var(--history-dot) minmax(0, 1fr);
    }

    .history > div > dt,
    .history > div > dd {
        grid-column: 2;
    }
}

/* ============================================
 *  個人情報保護方針
 * ============================================ */

.wrapper.disc.privacy {
    max-width: 600px;
    width: 100%;
}

.wrapper.disc.privacy > div {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-1-5) var(--s-4);
}

/* ============================================
 *  金融円滑化への取組方針
 * ============================================ */

table.facilitation {
    max-width: 840px;
}

table.facilitation > tbody > tr > * {
    text-align: left;
}

table.facilitation > colgroup > col:nth-child(1) {
    width: 160px;
}

table.facilitation > colgroup > col:nth-child(3) {
    width: 260px;
}

.wrapper.disc.facilitation > .heading {
    font-size: var(--fs-base);
}

@media (max-width: 749px) {
    .facilitation,
    .facilitation tbody {
        display: block;
        width: 100%;
    }

    .facilitation tr {
        display: grid;
        grid-template-columns: 120px 1fr;
        align-items: center;
    }

    .facilitation th,
    .facilitation td {
        display: block;
    }

    .facilitation th {
        height: 100%;
        grid-column: 1;
        grid-row: 1 / 3;
    }

    table.facilitation > tbody > tr > td:first-of-type {
        border-bottom: unset;
        border-right: unset;
        padding-bottom: unset;
    }

    table.facilitation > tbody > tr > td:last-of-type {
        padding-top: var(--s-0-5);
    }
}

/* ============================================
 *  保険募集指針
 * ============================================ */

.contents.policy-insurance > section > .inner > h2 {
    font-size: calc(var(--fs-h4) + 2px);
}

.contents.policy-insurance > section > .inner h3 {
    border-bottom: unset;
    padding-bottom: unset;
    font-size: var(--fs-h4);
}

/* ============================================
 *  採用情報
 * ============================================ */

.recruit-bnr {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--s-2) var(--s-2-5);
}

.recruit-bnr > a > img {
    border-radius: unset;
    width: unset;
    height: 120px;
    display: block;
}

.recruit-bnr.info > a > img {
    height: var(--s-8);
}

@media (max-width: 1249px) {
    .recruit-bnr {
        flex-direction: column;
        align-items: center;
    }

    .recruit-bnr > a {
        max-width: 280px;
        width: 100%;
    }

    .recruit-bnr.info > a {
        max-width: 200px;
    }

    .recruit-bnr > a > img,
    .recruit-bnr.info > a > img {
        width: 100%;
        height: unset;
    }
}

/* ============================================
 *  新着情報、重要なお知らせ一覧
 * ============================================ */

.news-page {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
}

.news-page > .inner > div:first-child {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--s-4);
    flex-wrap: wrap;
}

.news-page > .inner > div:first-child > div {
    display: flex;
    align-items: center;
    gap: var(--s-3);
}

.news-page > .inner > div:first-child p {
    font-weight: var(--fw-m);
    white-space: nowrap;
}

.news-page > .inner > div:first-child select {
    min-width: 120px;
    transition:
        border-color var(--dur) var(--ease),
        background-color var(--dur) var(--ease);
}

.news-page > .inner > div:first-child select:hover {
    background-color: color-mix(in srgb, var(--c-text) 2%, #ffffff);
}

.news-page > .inner > div:first-child select:focus-within {
    border-color: var(--c-accent);
}

.news-page > .inner > div:first-child [role="tablist"] {
    width: 100%;
    min-width: 368px;
}

.news-page > .inner > div:first-child [role="tab"] {
    width: auto;
    flex: 1;
    padding-inline: var(--s-3);
}

.news-page > .inner > ul.column-list > li[data-tab="important"] > :is(a, div) > p:first-of-type::after {
    content: "重要";
    margin-block: unset;
    margin-left: var(--s-3);
    color: var(--c-emphasis);
    background-color: color-mix(in srgb, var(--c-emphasis) 20%, transparent);
}

.news-page > .inner > ul.column-list > li[data-tab="news"] > :is(a, div) > p:first-of-type::after {
    content: "新着情報";
    margin-block: unset;
    margin-left: var(--s-3);
}

.news-page > .inner > ul.column-list > li[data-tab="important"] > :is(a, div) > p:first-of-type::after,
.news-page > .inner > ul.column-list > li[data-tab="news"] > :is(a, div) > p:first-of-type::after {
    min-width: 4em;
    text-align: center;
}

.news-page > .inner > p {
    padding: var(--s-4);
    text-align: center;
    color: var(--c-text-muted);
}

.news-page > .inner > ul.column-list > li.is-hidden {
    display: none;
}

.news-page > .inner > ul.column-list > li.is-invalid * {
    color: var(--c-accent);
    font-weight: var(--fw-sb);
}

.news-page > .inner > ul.column-list > li {
    border-top: 0;
}

.news-page > .inner > ul.column-list > li:not(.is-hidden) ~ li:not(.is-hidden) {
    border-top: 1px solid var(--c-spacer);
}

@media (max-width: 1249px) {
    .news-page > .inner > div:first-child select {
        min-width: 96px;
    }

    .news-page > .inner > div:first-child [role="tablist"] {
        min-width: 320px;
    }

    .news-page > .inner > div:first-child {
        justify-content: flex-start;
    }

    .news-page > .inner > div:first-child > div {
        align-items: flex-start;
        flex-direction: column;
        gap: var(--s-1);
    }
}

@media (max-width: 799px) {
    .news-page > .inner > ul.column-list > li[data-tab="important"] > :is(a, div) > p:first-of-type::after,
    .news-page > .inner > ul.column-list > li[data-tab="news"] > :is(a, div) > p:first-of-type::after {
        margin-left: 12px;
    }
}

@media (max-width: 549px) {
    .contents .news-page {
        gap: var(--s-6);
    }

    .news-page > .inner > div:first-child {
        flex-direction: column;
        align-items: stretch;
        gap: var(--s-3);
    }

    .news-page > .inner > div:first-child [role="tablist"] {
        min-width: unset;
    }
}

/* ============================================
 *  各種サービス
 * ============================================ */

.card-list.service > .wrapper > div > .wrapper-p {
    margin-top: var(--s-3-5);
}

.card-list.service > .wrapper > div > .wrapper-p + .wrapper-p:has(h4) {
    position: relative;
    margin-top: var(--s-4);
    padding-top: var(--s-3-5);
}

.card-list.service > .wrapper > div > .wrapper-p + .wrapper-p:has(h4)::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-image: var(--dash-x);
}

.card-list.service > .wrapper > div > .wrapper-p > .btn {
    margin-top: var(--s-0-5);
    margin-left: auto;
}

.card-list.service > .wrapper > div > .wrapper-p + .wrapper.disc {
    margin-top: var(--s-3-5);
}

.card-list.service > .wrapper > div > .wrapper.disc.flex {
    padding-right: var(--s-3);
}

.card-list.service > .wrapper > div > div:first-of-type {
    border-bottom: 1px solid var(--c-spacer);
    padding-bottom: 14px;
    display: flex;
    align-items: center;
    gap: var(--s-2);
}

.card-list.service > .wrapper > div > div:first-of-type > img {
    width: unset;
    height: var(--s-7);
}

.card-list.service > .wrapper > div > div:first-of-type > h3 {
    border: unset;
    padding-bottom: unset;
}

@media (max-width: 449px) {
    .card-list.service > .wrapper > div > .wrapper-p > .btn {
        margin-right: auto;
    }
}

/* ============================================
 *  Pay-easy（ペイジー）口座振替受付サービス
 * ============================================ */

ul.payeasy-transfer {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
    columns: 400px;
    column-gap: 1px;
    column-rule: 1px solid var(--c-line-dl);
    border: 1px solid var(--c-line-dl);
    border-radius: var(--r-l);
    overflow: hidden;
    background: #fff;
}

ul.payeasy-transfer li {
    break-inside: avoid;
    padding: var(--s-1) var(--s-2);
    border-bottom: 1px solid var(--c-line-dl);
}

ul.payeasy-transfer::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: #fff;
}

/* ============================================
 *  BankPay
 * ============================================ */

.bankpay-feature {
    display: flex;
    align-items: center;
    gap: var(--s-7);
}

.bankpay-feature > img {
    max-width: 400px;
    width: 100%;
}

.bankpay-feature > div {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
}

.bankpay-feature > div > .wrapper.disc.flex {
    margin-inline: unset;
}

.time.bankpay {
    padding-top: var(--s-3-5);
}

.contact.bankpay > div:last-of-type > .wrapper-p {
    gap: var(--s-2);
}

@media (max-width: 1249px) {
    .bankpay-feature {
        gap: var(--s-4-5);
    }

    .bankpay-feature > img {
        max-width: 320px;
    }
}

@media (max-width: 899px) {
    .bankpay-feature {
        flex-direction: column;
    }
}

/* ============================================
 *  J-Coin Pay
 * ============================================ */

 .contact.jcoin > div:first-of-type {
   max-width: 200px;
   width: 100%;
 }

 @media (max-width: 1249px) {
   .contact.jcoin > div:first-of-type {
     max-width: 160px;
   }
 }

 @media (max-width: 699px) {
   .contact.jcoin > div:first-of-type {
     width: unset;
     max-width: unset;
   }
 }

 @media (max-width: 899px) {
     div:is(.content-body, .date) > .spec-list.jcoin >  dd > dl > div > dd {
         font-size: 21px;
     }
 }

/* ============================================
 *  営業地区・店舗・ATMのご案内
 * ============================================ */

.img-center.shop {
    max-width: unset;
}

.shop {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--s-3-5);
}

.shop > div > div {
    display: flex;
    align-items: center;
    gap: var(--s-2-5);
}

.shop > div > div > h3 {
    order: -1;
    border-bottom: unset;
    padding-bottom: unset;
}

.shop > div > img {
    position: absolute;
    top: 100px;
    left: var(--s-5-5);
    max-width: 192px;
    width: 100%;
}

.shop > dl {
    width: 100%;
}

.shop:has(img) > dl {
    min-height: 144px;
    padding-left: 236px;
}

.shop > dl div {
    display: flex;
    flex-wrap: wrap;
}

.shop > dl div > dt {
    position: relative;
    padding-left: 1.2em;
    font-weight: var(--fw-sb);
}

.shop > dl > div {
    padding-block: var(--s-1-5);
}

.shop dl dd {
    padding-left: 1.2em;
}

.shop > dl > div:has(dt),
.shop > dl > div > div {
    gap: 2px 0;
}

.shop > dl > div > div {
    display: inline-flex;
}

.shop > dl > div:first-of-type {
    padding-top: unset;
}

.shop > dl > div:last-of-type {
    padding-bottom: unset;
}

.shop > dl > div:has(div) {
    gap: var(--s-0-5) var(--s-4);
}

.shop > dl > div + div {
    position: relative;
}

.shop > dl > div + div::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-image: var(--dash-x);
}

@media (max-width: 1249px) {
    .shop > div > img {
        top: 85px;
        left: var(--s-3-5);
        max-width: 176px;
    }

    .shop:has(img) > dl {
        min-height: 132px;
    }
}

@media (max-width: 799px) {
    .shop {
        position: relative;
    }

    .shop > div {
        display: flex;
        align-items: center;
        gap: var(--s-3);
    }

    .shop > div > img {
        position: static;
        max-width: 120px;
    }

    .shop > div > div {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--s-0-5);
    }

    .shop > div > div::before {
        display: none;
    }

    .shop > div > div > h3 {
        font-size: var(--fs-l);
    }

    .shop:has(img) > dl {
        padding-left: unset;
        min-height: unset;
    }
}

@media (max-width: 499px) {
    .shop > div > img {
        max-width: 100px;
    }
}

/* ============================================
 *  手数料一覧
 * ============================================ */

.fee div:is(.content-body, .date) > dl {
    margin-inline: auto;
    max-width: 28em;
    width: 100%;
}

.fee div:is(.content-body, .date) > dl > dt {
    width: 16em;
}

table.fee-kashikinko colgroup > col:nth-child(1) {
    width: 10em;
}

table.fee-kashikinko colgroup > col:nth-child(3) {
    width: 14em;
}

@media (max-width: 999px) {
    table.fee-kashikinko colgroup > col:nth-child(1) {
        width: 6em;
    }

    table.fee-kashikinko colgroup > col:nth-child(3) {
        width: 9em;
    }
}

@media (max-width: 499px) {
    table.fee-kashikinko colgroup > col:nth-child(1) {
        width: 4em;
    }

    table.fee-kashikinko colgroup > col:nth-child(3) {
        width: 6em;
    }
}

/* ============================================
 *  金利一覧
 * ============================================ */

.rate .content-body {
    margin-inline: auto;
    max-width: 720px;
    width: 100%;
}

div:is(.content-body, .date) > dl.table-dl {
    grid-template-columns: 1fr 1fr;
}

div:is(.content-body, .date) > dl.table-dl > * {
    text-align: center;
    align-content: center;
}

div:is(.content-body, .date) > dl.table-dl > dt {
    padding-right: var(--s-2);
}

.rate-dl > div {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: subgrid;
    grid-template-rows: repeat(var(--rows, 1), auto);
    border-bottom: 1px solid var(--c-line-dl);
}

.rate-dl > div:last-child {
    border-bottom: unset;
}

.rate-dl > div > dt,
.rate-dl > div > dd {
    padding: var(--s-2);
}

.rate-dl > div > dt {
    grid-column: 1;
    border-right: 1px solid var(--c-line-dl);
    background-color: color-mix(in srgb, var(--c-accent) 6%, transparent);
    font-weight: var(--fw-m);
}

.rate-dl > div > dt:not(:last-of-type) {
    border-bottom: 1px solid var(--c-line-dl);
}

.rate-dl > div > dd {
    grid-column: 2;
    grid-row: 1 / -1;
    margin-left: 0;
    align-content: center;
}

/* ============================================
 *  サイトマップ
 * ============================================ */

.sitemap li {
    list-style: none;
}

.sitemap > .wrapper {
    padding: unset;
}

.sitemap > li > .btn,
.sitemap > li > p {
    color: var(--c-accent);
    font-weight: var(--fw-m);
    font-size: var(--fs-m);
}

.sitemap > li > .btn {
    width: 100%;
}

.sitemap > li:has(ul) > .btn {
    border-bottom-right-radius: unset;
    border-bottom-left-radius: unset;
}

.sitemap > li > p {
    margin: 15px var(--s-3) 0 var(--s-3);
    padding-bottom: 15px;
    border-bottom: 1px solid var(--c-spacer);
}

.contents .sitemap > li > ul {
    padding: var(--s-2-5) var(--s-3) var(--s-4);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.contents .sitemap > li > ul > li > ul {
    margin-top: var(--s-1-5);
    padding-left: var(--s-2);
    border-left: 1px solid var(--c-spacer);
    display: flex;
    flex-direction: column;
    gap: var(--s-1);
}

.sitemap {
    columns: 2;
    column-gap: var(--s-3);
}

.sitemap > li {
    break-inside: avoid;
    margin-top: 0;
    margin-bottom: var(--s-3);
}

.sitemap > li:last-child {
    margin-bottom: 0;
}

.sitemap > li a:not(.btn) {
    line-height: 1.8;
    text-decoration: underline dashed currentColor 1px;
    text-underline-offset: 0.4em;
    transition: color var(--dur) var(--ease);
}

.sitemap > li a:not(.btn):hover {
    color: var(--c-accent);
}

@media (max-width: 799px) {
    .sitemap {
        columns: 1;
    }
    .sitemap > li {
        margin-bottom: var(--s-2);
    }
}

/* ============================================
 *  お問い合わせ
 * ============================================ */

table.contact-emergency colgroup > col:nth-child(1) {
    width: 12em;
}

@media (max-width: 699px) {
    table.contact-emergency colgroup > col:nth-child(1) {
        width: 6em;
    }
}
