/* 260930 v12 - CTA / side nav / footer / sticky cleanup */
:root {
    --ieuru-pink: #ff2f78;
    --ieuru-yellow: #fff34f;
    --ieuru-text: #222;
    --ieuru-green: #00b900;
}

/* TOP: keep the two buttons compact and remove dead white space */
html body #index .mv-primary-actions {
    margin: 0!important;
    padding: 0 16px 4px!important;
    min-height: 0!important;
    height: auto!important;
    background: #fff!important;
}

html body #index .mv-primary-actions__inner {
    max-width: 900px!important;
    margin: 0 auto!important;
    display: grid!important;
    grid-template-columns: 1fr 1fr!important;
    gap: 14px!important;
}

html body #index .mv-primary-action {
    position: relative!important;
    height: 76px!important;
    min-height: 76px!important;
    margin: 0!important;
    border-radius: 14px!important;
    box-sizing: border-box!important;
    overflow: hidden!important;
    display: grid!important;
    grid-template-rows: auto auto auto!important;
    align-content: center!important;
    text-align: left!important;
    text-decoration: none!important;
    box-shadow: none!important;
    transform: none!important;
    writing-mode: horizontal-tb!important;
}

html body #index .mv-primary-action * {
    writing-mode: horizontal-tb!important;
    text-orientation: mixed!important;
    transform: none!important;
    white-space: normal!important;
    word-break: keep-all!important;
}

html body #index .mv-primary-action .small {
    font-size: 11px!important;
    line-height: 1.15!important;
    font-weight: 900!important;
    margin: 0 0 2px!important;
}

html body #index .mv-primary-action strong {
    font-size: 23px!important;
    line-height: 1.05!important;
    font-weight: 900!important;
    letter-spacing: 0!important;
    margin: 0!important;
}

html body #index .mv-primary-action .cta-note {
    font-size: 10px!important;
    line-height: 1.15!important;
    font-weight: 800!important;
    margin: 2px 0 0!important;
}

html body #index .mv-primary-action .ai-chip {
    display: none!important;
}

html body #index .mv-primary-action--ai {
    background: var(--ieuru-pink)!important;
    color: #fff!important;
    border: 0!important;
    padding: 7px 16px 7px 112px!important;
}

html body #index .mv-primary-action--ai .small {
    color: var(--ieuru-yellow)!important;
}

html body #index .mv-primary-action--ai::before {
    content: ""!important;
    position: absolute!important;
    left: 47px!important;
    top: 50%!important;
    transform: translateY(-50%)!important;
    width: 60px!important;
    height: 60px!important;
    background: url('../images/u_ic_pick2.png') center/contain no-repeat!important;
    z-index: 2!important;
}

html body #index .mv-primary-action--ai::after {
    content: "無料"!important;
    position: absolute!important;
    left: 7px!important;
    top: 50%!important;
    transform: translateY(-50%)!important;
    width: 44px!important;
    height: 44px!important;
    border-radius: 50%!important;
    display: grid!important;
    place-items: center!important;
    background: var(--ieuru-yellow)!important;
    color: var(--ieuru-text)!important;
    font-size: 13px!important;
    line-height: 1!important;
    font-weight: 900!important;
    z-index: 3!important;
}

html body #index .mv-primary-action--buy {
    background: var(--ieuru-yellow)!important;
    color: var(--ieuru-text)!important;
    border: 2px solid var(--ieuru-text)!important;
    padding: 7px 14px 7px 96px!important;
}

html body #index .mv-primary-action--buy::before {
    content: ""!important;
    position: absolute!important;
    left: 20px!important;
    top: 50%!important;
    transform: translateY(-50%)!important;
    width: 62px!important;
    height: 54px!important;
    background: url('../images/book8_land_10.png') center/contain no-repeat!important;
    z-index: 2!important;
}

html body #index .mv-primary-action--buy::after {
    display: none!important;
    content: none!important;
}

/* SIDE NAV: readable horizontal copy, no clipping */
html body .utility-side-nav {
    position: fixed!important;
    right: 12px!important;
    top: 165px!important;
    width: 224px!important;
    display: flex!important;
    flex-direction: column!important;
    gap: 10px!important;
    z-index: 80!important;
    transform: none!important;
    filter: none!important;
}

html body .utility-side-nav .utility-side-card, html body .utility-side-nav .utility-side-card * {
    writing-mode: horizontal-tb!important;
    text-orientation: mixed!important;
    transform: none!important;
    letter-spacing: 0!important;
    word-break: keep-all!important;
    overflow-wrap: normal!important;
    white-space: normal!important;
}

html body .utility-side-nav .utility-side-card {
    position: relative!important;
    width: 224px!important;
    min-width: 224px!important;
    max-width: 224px!important;
    height: 120px!important;
    min-height: 120px!important;
    margin: 0!important;
    padding: 13px 12px 12px 82px!important;
    border-radius: 16px!important;
    box-sizing: border-box!important;
    overflow: hidden!important;
    display: flex!important;
    flex-direction: column!important;
    align-items: flex-start!important;
    justify-content: center!important;
    text-align: left!important;
    text-decoration: none!important;
    box-shadow: 0 5px 14px rgba(0,0,0,.16)!important;
}

html body .utility-side-nav .utility-side-card:hover {
    width: 224px!important;
    transform: translateY(-1px)!important;
}

html body .utility-side-nav .utility-side-card__badge {
    display: none!important;
}

html body .utility-side-nav .utility-side-card__kicker {
    display: block!important;
    width: 100%!important;
    margin: 0 0 4px!important;
    padding: 0!important;
    font-size: 12px!important;
    line-height: 1.25!important;
    font-weight: 900!important;
}

html body .utility-side-nav .utility-side-card strong {
    display: block!important;
    width: 100%!important;
    margin: 0!important;
    padding: 0!important;
    font-size: 20px!important;
    line-height: 1.12!important;
    font-weight: 900!important;
}

html body .utility-side-nav .utility-side-card--ai strong span {
    display: inline!important;
}

html body .utility-side-nav .utility-side-card--buy strong span {
    display: block!important;
}

html body .utility-side-nav .utility-side-card__foot {
    display: block!important;
    width: 100%!important;
    margin: 5px 0 0!important;
    padding: 0!important;
    border: 0!important;
    font-size: 11px!important;
    line-height: 1.15!important;
    font-weight: 800!important;
}

html body .utility-side-nav .utility-side-card--ai {
    background: var(--ieuru-pink)!important;
    color: #fff!important;
    border: 0!important;
}

html body .utility-side-nav .utility-side-card--ai::before {
    content: ""!important;
    position: absolute!important;
    left: 10px!important;
    bottom: 10px!important;
    width: 64px!important;
    height: 64px!important;
    background: url('../images/u_ic_pick2.png') center/contain no-repeat!important;
    z-index: 2!important;
}

html body .utility-side-nav .utility-side-card--ai::after {
    content: "AI"!important;
    position: absolute!important;
    left: 48px!important;
    top: 9px!important;
    width: 30px!important;
    height: 26px!important;
    border-radius: 50%!important;
    display: grid!important;
    place-items: center!important;
    background: var(--ieuru-yellow)!important;
    color: var(--ieuru-text)!important;
    font-size: 12px!important;
    line-height: 1!important;
    font-weight: 900!important;
    z-index: 3!important;
}

html body .utility-side-nav .utility-side-card--buy {
    background: var(--ieuru-yellow)!important;
    color: var(--ieuru-text)!important;
    border: 2px solid var(--ieuru-text)!important;
}

html body .utility-side-nav .utility-side-card--buy::before {
    content: ""!important;
    position: absolute!important;
    left: 11px!important;
    top: 50%!important;
    transform: translateY(-50%)!important;
    width: 62px!important;
    height: 56px!important;
    background: url('../images/book8_land_10.png') center/contain no-repeat!important;
    z-index: 2!important;
}

html body .utility-side-nav .utility-side-card--buy::after {
    display: none!important;
    content: none!important;
}

/* FOOTER: nav stays above, CTA becomes one compact 4-column row */
html body .site-footer .ft_top {
    padding: 28px 22px 18px!important;
}

html body .site-footer .ft_top>.inner.footer-grid {
    max-width: 1120px!important;
    margin: 0 auto!important;
    display: grid!important;
    grid-template-columns: minmax(300px,.95fr) minmax(520px,1.55fr)!important;
    column-gap: 42px!important;
    row-gap: 18px!important;
    align-items: start!important;
}

html body .site-footer .footer-brand {
    min-width: 0!important;
    text-align: left!important;
}

html body .site-footer .footer-nav {
    display: grid!important;
    grid-template-columns: repeat(3,minmax(140px,1fr))!important;
    gap: 22px!important;
    min-width: 0!important;
    margin: 0!important;
}

html body .site-footer .footer-nav__col {
    min-width: 0!important;
    padding-left: 16px!important;
    border-left: 1px solid #e6e6e6!important;
}

html body .site-footer .footer-nav__title {
    margin: 0 0 8px!important;
    font-size: 15px!important;
    line-height: 1.3!important;
    font-weight: 900!important;
    word-break: keep-all!important;
    text-align: center;
}

html body .site-footer .footer-nav ul {
    margin: 0!important;
    padding: 0!important;
    list-style: none!important;
}

html body .site-footer .footer-nav li {
    margin: 0 0 5px!important;
    te\: c;
    text-align: center;
}

html body .site-footer .footer-nav a {
    font-size: 13px!important;
    line-height: 1.4!important;
    word-break: keep-all!important;
    overflow-wrap: normal!important;
    white-space: normal!important;
    text-align: center;
}

html body .site-footer .footer-cta {
    grid-column: 1/-1!important;
    width: min(1040px,100%)!important;
    margin: 0 auto!important;
    display: grid!important;
    grid-template-columns: 1.35fr 1.35fr .9fr 1fr!important;
    gap: 10px!important;
    align-items: stretch!important;
}

html body .site-footer .footer-cta>a {
    box-sizing: border-box!important;
    text-decoration: none!important;
    min-width: 0!important;
}

html body .site-footer .footer-cta__item {
    position: relative!important;
    height: 68px!important;
    min-height: 68px!important;
    margin: 0!important;
    border-radius: 13px!important;
    display: flex!important;
    flex-direction: column!important;
    justify-content: center!important;
    align-items: center!important;
    text-align: left!important;
    box-shadow: none!important;
}

html body .site-footer .footer-cta__item small {
    font-size: 10.5px!important;
    line-height: 1.1!important;
    font-weight: 900!important;
    margin: 0 0 2px!important;
}

html body .site-footer .footer-cta__item strong {
    font-size: 17px!important;
    line-height: 1.05!important;
    font-weight: 900!important;
    white-space: normal!important;
    word-break: keep-all!important;
}

html body .site-footer .footer-cta__item--ai {
    background: var(--ieuru-pink)!important;
    color: #fff!important;
    border: 0!important;
    padding: 6px 80px 6px 60px!important;
    border: 2px solid var(--ieuru-text) !important;
}

html body .site-footer .footer-cta__item--ai small {
    color: var(--ieuru-yellow)!important;
}

html body .site-footer .footer-cta__item--ai .ai-chip {
    display: none!important;
}

html body .site-footer .footer-cta__item--ai::before {
    content: "AI"!important;
    position: absolute!important;
    left: 13px!important;
    top: 6%!important;
    transform: translateY(-50%)!important;
    width: 40px!important;
    height: 35px!important;
    border-radius: 50%!important;
    display: grid!important;
    place-items: center!important;
    background: var(--ieuru-yellow)!important;
    color: var(--ieuru-text)!important;
    font-size: 15px!important;
    font-weight: 900!important;
    z-index: 3!important;
    padding-bottom: 2px;
}

html body .site-footer .footer-cta__item--ai::after {
    content: ""!important;
    position: absolute!important;
    left: initial;
    top: 58%!important;
    transform: translateY(-50%)!important;
    width: 60px!important;
    height: 60px!important;
    background: url('../images/u_ic_pick2.png') center/contain no-repeat!important;
    z-index: 2!important;
}

html body .site-footer .footer-cta__item--buy {
    background: var(--ieuru-yellow)!important;
    color: var(--ieuru-text)!important;
    border: 2px solid var(--ieuru-text)!important;
    padding: 6px 65px 6px 16px!important;
}

html body .site-footer .footer-cta__item--buy::before {
    content: ""!important;
    position: absolute!important;
    right: 0px!important;
    top: 50%!important;
    transform: translateY(-50%)!important;
    width: 70px!important;
    height: 70px!important;
    background: url('../images/book8_land_10.png') center/contain no-repeat!important;
    z-index: 2!important;
}

html body .site-footer .footer-cta__item--buy::after {
    display: none!important;
    content: none!important;
}

html body .site-footer .footer-cta__tel, html body .site-footer .footer-cta__contact {
    height: 68px!important;
    min-height: 68px!important;
    border-radius: 12px!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    margin: 0!important;
    padding: 8px 8px!important;
    box-sizing: border-box!important;
    text-align: center!important;
    font-size: 16px!important;
    line-height: 1.15!important;
    font-weight: 900!important;
}

html body .site-footer .footer-cta__tel {
    background: #fff!important;
    color: #222!important;
    border: 1px solid #ddd!important;
}

html body .site-footer .footer-cta__contact {
    background: #222!important;
    color: #fff!important;
    border: 0!important;
}

html body .site-footer address {
    text-align: center!important;
    margin: 12px 0 0!important;
    padding: 10px 0 0!important;
    border-top: 1px solid #eee!important;
}

/* Desktop sticky bar: keep all three buttons large enough to tap/read */
html body footer + .scroll_fixed {
    display: block!important;
    position: fixed!important;
    left: 0!important;
    right: 0!important;
    bottom: 0!important;
    width: 100%!important;
    max-width: none!important;
    margin: 0!important;
    padding: 8px 14px!important;
    background: #fff!important;
    box-shadow: 0 -3px 12px rgba(0,0,0,.12)!important;
    box-sizing: border-box!important;
}

html body footer + .scroll_fixed.show {
    bottom: 0!important;
}

html body footer + .scroll_fixed .info {
    max-width: 1240px!important;
    width: 100%!important;
    min-height: 62px!important;
    margin: 0 auto!important;
    padding: 0!important;
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 18px!important;
}

html body footer + .scroll_fixed .txt_fixed {
    display: flex!important;
    align-items: center!important;
    flex: 1 1 auto!important;
    min-width: 0!important;
    margin: 0!important;
    left: auto!important;
    top: auto!important;
}

html body footer + .scroll_fixed .txt_fixed .tt1 .txt {
    display: none!important;
}

html body footer + .scroll_fixed .txt_fixed .tt1 .icon_img {
    display: block!important;
    margin: 0 10px 0 0!important;
    max-width: 64px!important;
}

html body footer + .scroll_fixed .txt_fixed .tt1 .icon_img img {
    width: 64px!important;
    height: auto!important;
}

html body footer + .scroll_fixed .txt_fixed .tt2 {
    font-size: 15px!important;
    line-height: 1.15!important;
    margin: 0 10px 0 0!important;
}

html body footer + .scroll_fixed .txt_fixed .tt2 .txt-icon {
    padding-left: 26px!important;
}

html body footer + .scroll_fixed .txt_fixed .tt2 .txt-icon::before {
    width: 20px!important;
}

html body footer + .scroll_fixed .txt_fixed .tt2 .num {
    font-size: 19px!important;
    top: 0!important;
}

html body footer + .scroll_fixed .txt_fixed .tt3 {
    font-size: 12.5px!important;
    line-height: 1.25!important;
    margin: 0!important;
    text-align: left!important;
}

html body footer + .scroll_fixed .group_btn {
    display: grid!important;
    grid-template-columns: repeat(3,190px)!important;
    gap: 9px!important;
    flex: 0 0 auto!important;
    margin: 0!important;
    padding: 0!important;
    align-items: center!important;
}

html body footer + .scroll_fixed .btn_fixed {
    display: block!important;
    margin: 0!important;
    padding: 0!important;
}

html body footer + .scroll_fixed .btn_fixed a {
    display: flex!important;
    width: 190px!important;
    height: 54px!important;
    min-height: 54px!important;
    margin: 0!important;
    border-radius: 999px!important;
    box-sizing: border-box!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 13px!important;
    line-height: 1!important;
    padding-left: 40px!important;
}

html body footer + .scroll_fixed .btn_fixed a::before {
    width: 34px!important;
    height: 34px!important;
    left: 7px!important;
}

html body footer + .scroll_fixed .btn_tel a {
    font-size: 17px!important;
    padding-left: 40px!important;
}

html body footer + .scroll_fixed .btn_line a::before {
    width: 36px!important;
    height: 36px!important;
    left: 7px!important;
}

html body footer + .scroll_fixed .btn_fixed a .txt-big {
    font-size: 14px!important;
}

html body footer + .scroll_fixed .btn_fixed a .txt-small {
    font-size: 10px!important;
    margin: 0!important;
}

html body footer + .scroll_fixed .btn_fixed a .txt-num {
    font-size: 17px!important;
    margin: 0 1px!important;
}

html body .site-footer .footer-nav {
    width: 900px !important;
    margin: 0 auto !important;
    grid-column: 1 / -1 !important;
}

html body .utility-side-nav .utility-side-card--ai::after {
    left: 0 !important;
    right: 0;
    margin: 0 auto;
    top: -8px !important;
    height: 26px !important;
}

html body .utility-side-nav .utility-side-card {
    overflow: visible !important;
}

html body footer + .scroll_fixed .btn_line {
    display: none !important
}

html body footer + .scroll_fixed .txt_fixed .tt1 .icon_img {
    max-width: 120px !important
}

html body footer + .scroll_fixed .txt_fixed .tt1 .icon_img img {
    width: auto !important
}

html body footer + .scroll_fixed .txt_fixed .tt1 .txt {
    display: block !important;
}

html body footer + .scroll_fixed .txt_fixed .tt2 {
    font-size: 24px !important
}

html body footer + .scroll_fixed .txt_fixed .tt2 .txt-icon {
    padding-left: 44px !important
}

html body footer + .scroll_fixed .txt_fixed .tt2 .txt-icon::before {
    width: 38px !important;
}

html body footer + .scroll_fixed .txt_fixed .tt2 .num {
    font-size: 141.7% !important;
    top: 4px !important
}

html body footer + .scroll_fixed .txt_fixed .tt3 {
    font-size: 18px !important;
    text-align: center !important;
}

html body footer + .scroll_fixed .info {
    max-width: 1060px !important;
}

html body footer + .scroll_fixed .group_btn {
    grid-template-columns: repeat(2, 190px) !important;
}

html body footer + .scroll_fixed {
    padding: 0 !important
}

html body .site-footer .footer-nav__col:first-child {
    border-left: none !important
}
html body .site-footer .footer-cta__item .cta-note {
    position: relative;
    padding-right: 22px;
}

html body .site-footer .footer-cta__item .cta-note::before {
    position: absolute;
    content: "→";
    color: #fff;
    font-size: 15px;
    right: 0;
    top: -4px;
}
html body .site-footer .footer-cta__item.footer-cta__item--buy .cta-note::before{color:var(--txt);}
@media screen and (min-width: 769px) {
    html body .site-footer .footer-cta>a:hover{transform: translateY(-4px) !important;}
    html body footer + .scroll_fixed .btn_fixed a:hover{opacity: 0.7}
}
@media screen and (min-width: 769px) and (max-width: 1600px) {
    html body footer + .scroll_fixed .info {
        max-width: 940px !important;
    }

    html body footer + .scroll_fixed .txt_fixed .tt2 {
        font-size: 20px !important
    }

    html body footer + .scroll_fixed .txt_fixed .tt1 .icon_img {
        max-width: 80px !important;
    }

    html body footer + .scroll_fixed .txt_fixed .tt2 .txt-icon {
        padding-left: 30px !important;
    }

    html body footer + .scroll_fixed .txt_fixed .tt2 .txt-icon::before {
        width: 20px !important
    }

    html body footer + .scroll_fixed .txt_fixed .tt3 {
        font-size: 15px !important
    }
}

@media (max-width: 1199px) and (min-width:1024px) {
    html body .utility-side-nav {
        right:6px!important;
        width: 210px!important;
    }

    html body .utility-side-nav .utility-side-card,html body .utility-side-nav .utility-side-card:hover {
        width: 210px!important;
        min-width: 210px!important;
        max-width: 210px!important;
        padding-left: 78px!important;
    }

    html body .utility-side-nav .utility-side-card strong {
        font-size: 18px!important;
    }

    html body .site-footer .ft_top>.inner.footer-grid {
        grid-template-columns: minmax(270px,.9fr) minmax(480px,1.55fr)!important;
        column-gap: 26px!important;
    }

    html body .site-footer .footer-cta {
        grid-template-columns: 1.25fr 1.25fr .85fr .95fr!important;
    }

    html body .site-footer .footer-cta__item strong {
        font-size: 17px!important;
    }

    html body footer + .scroll_fixed .txt_fixed .tt3 {
        display: none!important;
    }

    html body footer + .scroll_fixed .group_btn {
        grid-template-columns: repeat(3,170px)!important;
    }

    html body footer + .scroll_fixed .btn_fixed a {
        width: 170px!important;
    }
}

@media (max-width: 1023px) {
    html body .utility-side-nav {
        display:none!important;
    }

    html body .site-footer .ft_top>.inner.footer-grid {
        display: block!important;
    }

    html body .site-footer .footer-brand {
        max-width: 720px!important;
        margin: 0 auto 24px!important;
        text-align: center!important;
    }

    html body .site-footer .footer-brand .ft_info_logo img,html body .site-footer .footer-kakuzan img {
        margin-left: auto!important;
        margin-right: auto!important;
    }

    html body .site-footer .footer-nav {
        max-width: 720px!important;
        margin: 0 auto 22px!important;
    }

    html body .site-footer .footer-cta {
        max-width: 720px!important;
        margin: 0 auto!important;
        grid-template-columns: 1fr 1fr!important;
    }

    html body footer + .scroll_fixed {
        display: none!important;
    }
}

@media (max-width: 767px) {
    html body {
        padding-bottom:58px!important;
    }

    html body #index .mv-primary-actions {
        padding: 0 10px 5px!important;
    }

    html body #index .mv-primary-actions__inner {
        grid-template-columns: 1fr!important;
        gap: 7px!important;
        max-width: 430px!important;
    }

    html body #index .mv-primary-action {
        height: 74px!important;
        min-height: 74px!important;
    }

    html body #index .mv-primary-action strong {
        font-size: 20px!important;
    }

    html body #index .mv-primary-action--ai {
        padding-left: 102px!important;
    }

    html body #index .mv-primary-action--ai::before {
        left: 41px!important;
        width: 56px!important;
        height: 56px!important;
    }

    html body #index .mv-primary-action--ai::after {
        width: 40px!important;
        height: 40px!important;
        left: 6px!important;
        font-size: 12px!important;
    }

    html body #index .mv-primary-action--buy {
        padding-left: 88px!important;
    }

    html body #index .mv-primary-action--buy::before {
        left: 14px!important;
        width: 56px!important;
        height: 50px!important;
    }

    html body .site-footer .ft_top {
        padding: 24px 14px 16px!important;
    }

    html body .site-footer .footer-nav {
        grid-template-columns: 1fr 1fr!important;
        gap: 18px 12px!important;
    }

    html body .site-footer .footer-cta {
        grid-template-columns: 1fr!important;
        gap: 8px!important;
        max-width: 430px!important;
    }

    html body .site-footer .footer-cta__item, html body .site-footer .footer-cta__tel, html body .site-footer .footer-cta__contact {
        height: 66px!important;
        min-height: 66px!important;
        max-width: 280px;
        margin: 0 auto !important;
    }

    html body .site-footer .footer-cta__item strong {
        font-size: 18px!important;
    }

    html body .sp_contact {
        display: flex!important;
        position: fixed!important;
        left: 0!important;
        right: 0!important;
        bottom: 0!important;
        width: 100%!important;
        height: 58px!important;
        z-index: 9998!important;
        margin: 0!important;
        padding: 0!important;
        background: #fff!important;
        box-shadow: 0 -3px 10px rgba(0,0,0,.12)!important;
    }

    html body .sp_contact li {
        display: block!important;
        width: 33.3333%!important;
        height: 58px!important;
        margin: 0!important;
        padding: 0!important;
    }

    html body .sp_contact li a,html body .sp_contact .line-pending {
        display: flex!important;
        width: 100%!important;
        height: 58px!important;
        align-items: center!important;
        justify-content: center!important;
        border-radius: 0!important;
        padding: 0 3px!important;
        box-sizing: border-box!important;
        opacity: 1!important;
        visibility: visible!important;
    }

    html body .sp_contact li a .txt,html body .sp_contact .line-pending .txt {
        position: relative!important;
        display: flex!important;
        flex-direction: column!important;
        align-items: center!important;
        justify-content: center!important;
        gap: 1px!important;
        padding-left: 0!important;
        font-size: 13px!important;
        line-height: 1.05!important;
        text-align: center!important;
    }

    html body .sp_contact li a .txt::before {
        position: static!important;
        width: 24px!important;
        height: 24px!important;
        margin: 0 auto 1px!important;
    }

    html body .sp_contact .sp_contact_tel a .txt {
        font-size: 17px!important;
    }

    html body .sp_contact .sp_contact_mail a .txt-big,html body .sp_contact .sp_contact_line a .txt-big {
        font-size: 14px!important;
    }

    html body .sp_contact .sp_contact_mail a .txt-small,html body .sp_contact .sp_contact_line a .txt-small {
        font-size: 12px!important;
    }

    html body .sp_contact .sp_contact_line {
        display: none!important;
    }

    html body .sp_contact .sp_contact_line a,html body .sp_contact .sp_contact_line .line-pending {
        background: var(--ieuru-green)!important;
        color: #fff!important;
    }

    html body .site-footer .footer-nav,html body .site-footer .footer-cta__tel,html body .site-footer .footer-cta__contact {
        display: none !important;
        max-width: 100% !important;
    }

    html body .site-footer .footer-nav__col {
        margin-bottom: 20px
    }

    html body .sp_contact li a .txt, html body .sp_contact .line-pending .txt {
        display: block !important;
    }

    html body .sp_contact li a .txt::before {
        display: block;
    }

    html body .sp_contact li {
        width: 50% !important
    }

    .sp_contact .sp_contact_tel a .txt::before {
        display: block;
        width: 30px !important;
        height: auto !important;
    }

    .site-footer .footer-brand .ft_info_logo, .site-footer .footer-kakuzan {
        margin: 0 14px 0px !important;
    }

    html body .site-footer address {
        margin: 40px 0 0 !important;
    }

    .site-footer .ft_top>.inner.footer-grid {
        padding: 0 !important
    }
}

@media (max-width: 430px) {
    html body .site-footer .footer-nav {
        grid-template-columns:1fr!important;
    }

    html body .site-footer .footer-nav__col {
        padding-left: 0!important;
        border-left: 0!important;
        border-top: 1px solid #eee!important;
        padding-top: 12px!important;
    }
}

@media (max-width: 320px) {
    html body .sp_contact .sp_contact_mail a .txt-small, html body .sp_contact .sp_contact_line a .txt-small {
        font-size: 10px !important
    }
}
