@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root {
    --green:#00c650;
    --pale:#effcf4;
    --ink:#111;
    --gray:#f4f4f4;
}

*,*::before,*::after {
    box-sizing:border-box;
}

html {
    scroll-behavior:smooth;
    scroll-padding-top:85px;
}

body {
    margin:0;
    padding-bottom:var(--fixed-links-height,120.5px);
    color:var(--ink);
    font-family:"游ゴシック体",YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
    font-size:16px;
    line-height:1.7;
    letter-spacing:0;
    font-kerning:normal;
    -webkit-text-size-adjust:100%;
}

main.topPage {
    padding-top:65px;
}

/* Photoshop tracking uses 1/1000 em. Pair adjustments are scoped to each glyph. */
.psd-kern {
    margin-left:var(--kern-pc,0em);
}

h1,h2,h3,p,ul,dl,dd {
    margin:0;
}

ul {
    list-style:none;
    padding:0;
}

a {
    color:inherit;
    text-decoration:none;
}

button {
    font:inherit;
    cursor:pointer;
    border:0;
    padding:0;
    background:none;
    color:inherit;
}

img {
    max-width:100%;
    height:auto;
    vertical-align:middle;
}

[hidden] {
    display:none!important;
}

:focus-visible {
    outline:3px solid #007bb3;
    outline-offset:5px;
}

.for-sp {
    display:none!important;
}

.section-container {
    max-width:1000px;
    width:calc(100% - 80px);
    margin-inline:auto;
}

.sr-only {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}

.skip-link {
    position:fixed;
    z-index:100;
    top:-100px;
    left:10px;
    padding:10px 20px;
    background:white;
}

.skip-link:focus {
    top:10px;
}

#header.smfm_cv {
    height:65px;
    padding:0 20px 0 40px;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    background:#fff;
    z-index:30;
}

#header .header__logo>a {
    display:flex;
    align-items:center;
    gap:24px;
}

#header .mp-logo {
    width:75px;
    margin:0;
}

#header .mp-logo img {
    width:100%;
}

#header .mp-textLink_anchor {
    font-size:17px;
    font-weight:bold;
    line-height:1;
}

.header-actions {
    display:flex;
    align-items:center;
    gap:28px;
}

#headerLink {
    display:flex;
    align-items:center;
}

#headerLink .header__user {
    position:static;
    margin:0;
    transform:none;
    flex:0 0 auto;
}

/* Reset the shared header's negative margin so the 28px menu gap is preserved. */
@media (min-width:768px) {
    #header #headerLink .header__user {
        margin-right:0;
    }

}

#headerLink .btn-login {
    min-width:75px;
    min-height:0;
    height:35px;
    padding:2px 8px;
    background:#fff;
    color:#444;
    border:1px solid #777;
    border-radius:2px;
    font-size:10px;
    line-height:1.4;
    letter-spacing:.05em;
}

.menu-toggle {
    display:flex;
    width:26px;
    height:30px;
    flex-direction:column;
    justify-content:space-evenly;
}

.menu-toggle span {
    width:100%;
    height:2px;
    background:#444;
    transition:transform .25s,opacity .25s;
}

.menu-toggle[aria-expanded="true"] span:first-child {
    transform:translateY(8px) rotate(45deg);
}

.menu-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity:0;
}

.menu-toggle[aria-expanded="true"] span:last-child {
    transform:translateY(-8px) rotate(-45deg);
}

#gnav {
    position:absolute;
    right:0;
    top:65px;
    width:340px;
    padding:20px 35px;
    background:#fff;
    box-shadow:0 8px 16px #0002;
}

#gnav a {
    display:block;
    padding:18px 0;
    border-bottom:1px solid #ddd;
    font-size:15px;
    font-weight:bold;
    letter-spacing:.05em;
}

.mv {
    width:100%;
    height:800px;
    position:relative;
    color:white;
    background:linear-gradient(#0006,#0006),url('../img/hero-pc.webp') center/cover no-repeat;
}

.mv-content.section-container {
    position:absolute;
    inset:0;
    width:100%;
    max-width:1200px;
    height:100%;
    padding:0;
    text-align:center;
}

/* Full-width transparent strips preserve the PSD's optical alignment. */
.mv-label,.mv-title,.mv-description {
    position:absolute;
    left:0;
    width:100%;
    margin:0;
    padding:0;
    line-height:0;
}

.mv-label {
    top:6.375%;
}

.mv-title {
    top:14.25%;
}

.mv-description {
    top:38.625%;
}

.mv-artwork,.mv-artwork img {
    display:block;
    width:100%;
    height:auto;
}

.btn {
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
    min-height:84px;
    border:2px solid transparent;
    border-radius:10px;
    font-size:21px;
    font-weight:bold;
    line-height:1.5;
    text-align:center;
    transition:color .3s,background-color .3s,border-color .3s;
}

.btn-green {
    background:var(--green);
    color:#fff;
}

.btn-green:hover {
    background:#fff;
    color:var(--green);
    border-color:var(--green);
}

.btn-black {
    background:#111;
    color:#fff;
}

.btn-black:hover {
    background:#fff;
    color:#111;
    border-color:#111;
}

.btn-outline {
    background:#fff;
    color:var(--green);
    border-color:var(--green);
}

.btn-outline:hover {
    background:var(--green);
    color:#fff;
}

.chevron {
    position:absolute;
    right:35px;
    width:8px;
    height:8px;
    border-right:2px solid currentColor;
    border-top:2px solid currentColor;
    transform:rotate(45deg);
}

.mv-cta {
    position:absolute;
    top:53.375%;
    left:calc(50% + 7.5px);
    width:773px;
    height:154px;
    margin:0;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:40px;
}

.mv-cta>.btn {
    transform:translateY(9px);
}

.mv-cta>.btn,.cv-row>.btn {
    width:360px;
}

.qr-panel {
    display:flex;
    align-items:center;
    background:white;
    color:#111;
    border:3px solid var(--green);
    border-radius:10px;
    width:373px;
    height:154px;
    padding:17px;
    gap:20px;
    text-align:left;
}

.qr-panel img {
    width:112px;
    height:112px;
    image-rendering:auto;
}

.qr-panel p {
    font-size:17px;
    font-weight:bold;
    line-height:26px;
}

.mv-points {
    position:absolute;
    top:75.75%;
    left:50%;
    width:calc(100% - 80px);
    max-width:1000px;
    transform:translateX(-50%);
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    margin:0;
}

.mv-points li {
    background:#fff;
    border-radius:5px;
    color:#111;
    min-height:130px;
    padding-top: 30px;
    display:flex;
    flex-direction:column;
    gap:20px;
}

.mv-points li>span {
    position:relative;
    font:600 14px/1 Barlow,sans-serif;
    color:var(--green);
    letter-spacing:.05em;
}

.mv-points li>span::after {
    content:'';
    position:absolute;
    left:50%;
    bottom:-6px;
    width:60px;
    height:1px;
    background:var(--green);
    transform:translateX(-50%);
}

.mv-points p {
    font-size:18px;
    font-weight:bold;
    letter-spacing:0;
}

.mv-points strong {
    color:var(--green);
}

.title-base {
    font-size:38px;
    font-weight:bold;
    text-align:center;
    line-height:1.5;
}

.section-description {
    text-align:center;
    margin-top:25px;
    font-size:20px;
    font-weight:500;
    line-height:2;
}

.topPage-about {
    padding-top:92px;
    padding-bottom:80px;
}

.page-lead .topPage-about {
    padding-bottom:84px;
}

.slider {
    position:relative;
}

.feature-slider {
    margin-top:68px;
}

.slider-window {
    overflow:hidden;
}

.slider-track {
    display:flex;
    gap:40px;
    position:relative;
    align-items:stretch;
}

.js .slider-track {
    transition:transform .5s ease;
}

.feature-card {
    flex:0 0 calc((100% - 40px)/2);
    min-width:0;
    border:1px solid #c7c7c7;
    border-radius:10px;
    padding:30px 30px 36px;
    background:#fff;
}

.feature-heading {
    display:flex;
    align-items:flex-start;
    gap:25px;
    min-height:88px;
}

.feature-number {
    flex:0 0 44px;
    font-family:Barlow,sans-serif;
    font-size:53px;
    font-weight:100;
    line-height:1;
    color:#111;
}

.feature-heading h3 {
    font-size:24px;
    line-height:1.45;
    font-weight:bold;
}

.page-lead .feature-card:nth-child(2) .feature-heading h3 {
    margin-top:13px;
}

.page-owner .feature-card:nth-child(3) .feature-heading h3,.page-owner .feature-card:nth-child(4) .feature-heading h3 {
    margin-top:13px;
}

.feature-list {
    font-size:16px;
    font-weight:500;
    line-height:2;
    min-height:91px;
    margin-top:5px;
}

.feature-list li::before {
    content:'●';
    color:#999;
    font-size:9px;
    vertical-align:middle;
    margin-right:5px;
}

.feature-images {
    display:flex;
    flex-direction:column;
    gap:15px;
    margin-inline:-1px;
}

.feature-images picture {
    display:block;
    line-height:0;
}

.feature-images img {
    width:100%;
    aspect-ratio:420/316;
    object-fit:cover;
}

.slider-arrow {
    width:90px;
    height:90px;
    position:absolute;
    top:calc(50% - 65px);
    background:#c5c5c5;
    border-radius:50%;
    z-index:2;
    transition:background .25s;
}

.slider-arrow:hover {
    background:#999;
}

.slider-arrow::after {
    content:'';
    position:absolute;
    width:20px;
    height:20px;
    border-right:2px solid #fff;
    border-top:2px solid #fff;
    top:34px;
    left:30px;
    transform:rotate(45deg);
}

.slider-arrow.prev {
    left:-75px;
}

.slider-arrow.prev::after {
    transform:rotate(-135deg);
    left:38px;
}

.slider-arrow.next {
    right:-75px;
}

.feature-slider .slider-arrow {
    top:calc(50% - 68px);
}

.slider-dots {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:13px;
    margin-top:35px;
}

.slider-dots button {
    width:10px;
    height:10px;
    border-radius:50%;
    background:#ccc;
    position:relative;
}

.slider-dots button::after {
    content:'';
    position:absolute;
    inset:-8px;
}

.slider-dots button[aria-current="true"] {
    background:#111;
}

.topPage-steps {
    background:var(--gray);
    padding:86px 0 65px;
}

.topPage-steps .section-description {
    margin-top:31px;
    font-size:20px;
}

.topPage-steps small {
    font-size:inherit;
}

.steps-slider {
    margin-top:36px;
}

.steps-slider .slider-window {
    padding:12px 12px 20px;
    margin-inline:-12px;
}

.steps-slider .slider-track {
    gap:40px;
}

.step-card {
    flex:0 0 100%;
    min-width:0;
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,52fr) minmax(0,48fr);
    height:544px;
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 4px 10px #0003;
}

.step-number {
    position:absolute;
    top:36px;
    left:36px;
    background:#000;
    color:white;
    width:52px;
    height:52px;
    border-radius:1px;
    display:grid;
    place-items:center;
    font-size:24px;
    font-weight:bold;
    line-height:1;
    z-index:2;
}

.step-copy {
    min-width:0;
    padding:130px 50px 70px 100px;
}

.step-copy h3 {
    font-size:34px;
    line-height:1.4;
    margin-bottom:54px;
}

.step-copy p {
    font-size:20px;
    font-weight:bold;
    line-height:1.7;
}

.bullet::before {
    content:'';
    display:inline-block;
    background-color:var(--green);
    width:12px;
    height:12px;
    border-radius:50%;
    margin-right:5px;
}

.step-copy .bullet {
    margin:10px 0;
}

.step-copy>.bullet {
    margin:17px 0 16px;
}

.step-copy .line-id {
    background:#f0f0f0;
    border-radius:1px;
    text-align:center;
    padding:15px;
    width:315px;
    max-width:100%;
    font-size:20px;
}

.step-visual {
    background:var(--pale);
    display:grid;
    place-items:center;
    overflow:hidden;
    position:relative;
}

.step-qr {
    width:197px;
}

.step-card-connect .step-copy {
    padding-top:100px;
    padding-bottom:25px;
}

.step-card-connect h3 {
    font-size:27px;
    margin-bottom:16px;
}

.step-card-connect .step-copy>p {
    font-size:15px;
    line-height:1.7;
}

.step-card-connect .btn {
    min-height:60px;
    font-size:18px;
    width:315px;
    max-width:100%;
    border-radius:10px;
    margin-top:16px;
}

.step-card-connect .btn-black {
    letter-spacing:.1em;
}

.step-card-connect .register-note {
    margin-top:24px;
    white-space:nowrap;
    font-size:14px!important;
}

.phone-visual {
    align-items:start;
    min-height:0;
}

.phone-visual picture {
    position:absolute;
    top:55px;
    left:50%;
    transform:translateX(-50%);
    width:329px;
}

.step-phone {
    width:329px;
}

.steps-slider .slider-dots {
    margin-top:20px;
}

.steps-slider .slider-arrow {
    top:calc(50% - 75px);
}

.topPage-faq {
    padding:76px 55px 85px;
}

.page-owner .topPage-faq {
    padding-bottom:70px;
}

.page-lead .topPage-faq {
    padding-bottom:76px;
}

.faq-list {
    margin-top:55px;
}

.page-owner .faq-list {
    margin-top:45px;
}

.faq-list>div {
    padding:26px 0;
    border-bottom:1px solid #ccc;
}

.faq-list>div:last-child {
    border-bottom:0;
}

.faq-list dt {
    display:flex;
    align-items:baseline;
    font-weight:bold;
    font-size:18px;
    gap:12px;
}

.faq-list dt span {
    color:var(--green);
}

.faq-list dd {
    font-size:16px;
    line-height:2;
    margin:12px 0 0 28px;
}

#cv_area {
    padding:75px 0 86px;
    background:var(--pale);
    text-align:center;
}

#cv_area h2 {
    font-size:30px;
    line-height:1.5;
}

#cv_area p {
    font-size:16px;
    font-weight:bold;
    margin-top:12px;
}

#cv_area .section-container>p {
    letter-spacing:.05em;
}

.cv-row {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:40px;
    margin-top:35px;
}

.cv-row .qr-panel {
    height:134px;
}

.cv-row .qr-panel img {
    width:98px;
    height:98px;
}

.cv-row .qr-panel p {
    font-size:14px!important;
    margin:0!important;
}

#footer {
    color:#fff;
    background:#38373d;
}

.pagetop {
    background:#45444c;
    text-align:center;
}

.pagetop a {
    display:block;
    height:45px;
    font:700 11px/45px Arial,sans-serif;
    letter-spacing:.05em;
}

.b-o-footer_content {
    display:flex;
    align-items:center;
    justify-content:center;
    height:193px;
}

.b-o-footer_content img {
    width:105px;
}

.b-m-footerBottom {
    background:#45444c;
    color:#bbb;
}

.footer-inner {
    padding:12px 25px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.b-m-footerBottom_links {
    display:flex;
    flex-wrap:wrap;
    font-size:10px;
    line-height:1.8;
    letter-spacing:.32px;
}

.b-m-footerBottom_links a+a::before {
    content:'/';
    margin:0 10px;
}

.footer-inner small {
    font:10px/1.5 Arial,sans-serif;
    letter-spacing:.03em;
}

.fixed-links {
    position:fixed;
    bottom:0;
    width:100%;
    z-index:20;
    padding:14px 0 20px;
    background:#f5f5f5;
    box-shadow:0 -2px 8px #0002;
}

.js .fixed-links {
    transform:translateY(110%);
    visibility:hidden;
    transition:transform .35s ease,visibility .35s;
}

.js .fixed-links.is-visible {
    transform:translateY(0);
    visibility:visible;
}

.fixed-links-inner {
    max-width:1000px;
    width:calc(100% - 80px);
    margin:auto;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.fixed-links-inner>div>p {
    font-size:15px;
    font-weight:bold;
    line-height:1.5;
    text-align:center;
    margin-bottom:10px;
    white-space:nowrap;
}

.fixed-caption-mark {
    color:#8a8a8a;
}

.fixed-button-image {
    display:none;
}

.fixed-links .btn {
    min-height:54px;
    font-size:18px;
}

.fixed-links .chevron {
    right:25px;
}

.js .fade-v {
    opacity:0;
    transform:translateY(25px);
    transition:opacity .7s ease,transform .7s ease;
}

.js .fade-v.is-active {
    opacity:1;
    transform:none;
}

html:not(.js) .slider-track {
    flex-wrap:wrap;
}

html:not(.js) .slider-arrow {
    display:none;
}

@media (min-width:768px) and (max-width:1150px) {
    .section-container,.fixed-links-inner {
        width:calc(100% - 120px);
    }

    .feature-heading {
        gap:15px;
    }

    .feature-heading h3 {
        font-size:19px;
    }

    .feature-card {
        padding:25px;
    }

    .slider-arrow.next {
        right:-50px;
    }

    .slider-arrow.prev {
        left:-50px;
    }

    .slider-arrow {
        width:70px;
        height:70px;
    }

    .slider-arrow::after {
        top:24px;
        left:20px;
    }

    .slider-arrow.prev::after {
        left:29px;
    }

    .step-copy {
        padding-left:55px;
        padding-right:30px;
    }

    .fixed-links-inner>div>p {
        font-size:13px;
    }

    .mv-cta {
        width:calc(100% - 120px);
        gap:25px;
    }

}

@media (max-width:767px) {
    .psd-kern {
        margin-left:var(--kern-sp,0em);
    }

    html {
        scroll-padding-top:76px;
    }

    body {
        padding-bottom:var(--fixed-links-height,13.3333333333vw);
        font-size:14px;
    }

    main.topPage {
        padding-top:66px;
    }

    .for-pc {
        display:none!important;
    }

    .for-sp {
        display:block!important;
    }

    br.for-sp {
        display:inline!important;
    }

    .section-container {
        width:84%;
    }

    #header.smfm_cv {
        height:66px;
        padding:0 18px 0 15px;
    }

    #header .header__logo>a {
        gap:12px;
    }

    #header .mp-logo {
        width:75px;
    }

    #header .mp-textLink_anchor {
        font-size:14px;
    }

    .header-actions {
        gap:18px;
    }

    #headerLink .btn-login {
        min-width:51px;
        height:22px;
        padding:0 3px;
        border-radius:0;
        font-size:9px;
    }

    .menu-toggle {
        width:25px;
        height:27px;
    }

    #gnav {
        top:66px;
        width:min(100%,340px);
    }

    .mv {
        height:auto;
        aspect-ratio:750/1182;
        min-height:0;
        background-image:linear-gradient(#0006,#0006),url('../img/hero-sp.webp');
    }

    .mv-content.section-container {
        width:100%;
        max-width:none;
        padding:0;
    }

    .mv-label {
        top:3.2148900169%;
    }

    .mv-title {
        top:11.3367174281%;
    }

    .mv-description {
        top:29.4416243655%;
    }

    .mv-cta {
        top:40.3553299492%;
        left:15.0666666667%;
        width:69.7333333333%;
        height:11.2521150592%;
        margin:0;
        transform:none;
        display:block;
    }

    .mv-cta>.btn {
        width:100%;
        min-height:0;
        height:100%;
        font-size:4.8vw;
        border-width:.5333333333vw;
        margin:0;
        border-radius:1.3333333333vw;
        transform:none;
    }

    .mv-cta .chevron {
        right:5.6vw;
        width:1.6vw;
        height:1.6vw;
        border-width:.5333333333vw;
    }

    .qr-panel {
        display:none;
    }

    .chevron {
        right:22px;
        width:6px;
        height:6px;
    }

    .mv-points {
        top:64.4670050761%;
        width:86.9333333333%;
        height:30.9644670051%;
        display:grid;
        grid-template-columns:1fr;
        grid-template-rows:repeat(3,minmax(0,1fr));
        gap:1.8vw;
        margin:0;
    }

    .mv-points li {
        min-height:0;
        flex-direction:row;
        align-items:center;
        justify-content:flex-start;
        padding: 0;
        gap:0;
        border-radius:1.3333333333vw;
    }

    .mv-points li>span {
        display:flex;
        align-items:center;
        justify-content:center;
        height:100%;
        font-size:2.6666666667vw;
        flex:0 0 25%;
        padding:0;
    }

    .mv-points li>span::after {
        left:auto;
        right:0;
        top:50%;
        bottom:auto;
        width:.2666666667vw;
        height:7.2vw;
        transform:translateY(-50%);
    }

    .mv-points p {
        min-width:0;
        font-size:3.2vw;
        flex:1;
        text-align:left;
        padding-left:3.6vw;
        padding-right:1.6vw;
    }

    .title-base {
        font-size:27px;
        line-height:1.5;
    }

    .section-description {
        font-size:13px;
        margin-top:15px;
        line-height:1.8;
    }

    .topPage-about {
        padding-top:39px;
        padding-bottom:37px;
    }

    .page-lead .topPage-about {
        padding-bottom:40px;
    }

    .feature-slider {
        margin-top:28px;
    }

    .slider-track {
        gap:20px;
    }

    .feature-card {
        flex-basis:100%;
        padding:24px;
        border-radius:5px;
    }

    .feature-heading {
        gap:18px;
        min-height:61px;
    }

    .feature-number {
        flex-basis:32px;
        font-size:34px;
    }

    .feature-heading h3 {
        font-size:17px;
        line-height:1.45;
    }

    .page-lead .feature-card:nth-child(2) .feature-heading h3 {
        margin-top:0.4em;
    }

    .page-owner .feature-card:nth-child(3) .feature-heading h3,.page-owner .feature-card:nth-child(4) .feature-heading h3 {
        margin-top:0.4em;
    }

    .feature-list {
        font-size:14px;
        line-height:1.7;
        margin-top:9px;
        min-height:80px;
    }

    .feature-images {
        gap:10px;
        margin-inline:0 -2px;
    }

    .feature-images img {
        aspect-ratio:534/393;
    }

    .page-lead .feature-card {
        height:579px;
    }

    .page-lead .feature-list {
        min-height:60px;
    }

    .slider-arrow {
        width:46px;
        height:46px;
        top:calc(50% - 38px);
    }

    .slider-arrow.next {
        right:-26px;
    }

    .slider-arrow.prev {
        left:-26px;
    }

    .feature-slider .slider-arrow {
        top:calc(50% - 10px);
    }

    .steps-slider .slider-arrow {
        top:calc(50% - 34px);
    }

    .slider-arrow::after {
        width:12px;
        height:12px;
        top:17px;
        left:15px;
        border-width:1px;
    }

    .slider-arrow.prev::after {
        left:20px;
    }

    .slider-dots {
        margin-top:23px;
        gap:12px;
    }

    .slider-dots button {
        width:7px;
        height:7px;
    }

    .topPage-steps {
        padding:50px 0 45px;
    }

    .topPage-steps>.section-container {
        width:84%;
    }

    .topPage-steps .title-base {
        font-size:26px;
        white-space:nowrap;
    }

    .topPage-steps .section-description {
        font-size:12px;
        margin:18px -5px 0;
        line-height:1.65;
    }

    .topPage-steps small {
        font-size:10px;
    }

    .steps-slider {
        margin-top:30px;
    }

    .steps-slider .slider-track {
        gap:20px;
    }

    .steps-slider .slider-window {
        padding-bottom:18px;
    }

    .step-card {
        grid-template-columns:minmax(0,1fr);
        grid-template-rows:250px minmax(0,1fr);
        height:574px;
        border-radius:10px;
        box-shadow:0 3px 7px #0003;
    }

    .step-visual {
        grid-column:1;
        grid-row:1;
    }

    .step-copy {
        grid-column:1;
        grid-row:2;
        padding:24px 31px 50px;
    }

    .step-number {
        width:27px;
        height:27px;
        top:16px;
        left:17px;
        border-radius:.5px;
        font-size:14px;
    }

    .step-copy h3 {
        font-size:20px;
        line-height:1.6;
        margin-bottom:20px;
    }

    .step-copy p {
        font-size:12px;
        line-height:1.8;
    }

    .step-copy .bullet {
        font-size:14px;
        line-height:1.6;
        white-space:nowrap;
    }

    .step-copy>.for-sp .bullet {
        margin:0 0 8px;
    }

    .step-copy>.bullet {
        margin:26px 0 8px;
    }

    .step-copy .btn {
        min-height:51px;
        font-size:16px;
        border-radius:5px;
    }

    .step-copy .line-id {
        width:calc(100% + 6px);
        max-width:none;
        margin-left:-3px;
        border-radius:.5px;
        padding:10px;
        font-size:16px;
        line-height:26px;
    }

    .step-add {
        width:276px;
        max-width:100%;
    }

    .step-visual>.for-sp {
        width:88%;
        text-align:center;
    }

    .step-card-connect .step-copy {
        padding:25px 31px;
    }

    .step-card-connect h3 {
        font-size:18px;
        line-height:1.5;
        margin-bottom:14px;
    }

    .step-card-connect .step-copy>p {
        font-size:12px;
        line-height:1.5;
    }

    .step-card-connect .btn {
        width:100%;
        min-height:52px;
        font-size:15px;
        margin-top:10px;
    }

    .step-card-connect .register-note {
        font-size:12px!important;
        margin-top:14px;
        white-space:normal;
    }

    .phone-visual {
        padding-top:0;
    }

    .phone-visual picture {
        top:30px;
        width:205px;
    }

    .step-phone {
        width:205px;
    }

    .steps-slider .slider-dots {
        margin-top:15px;
    }

    .page-owner .topPage-faq,.page-lead .topPage-faq {
        padding:45px 0 40px;
    }

    .faq-list,.page-owner .faq-list {
        margin-top:17px;
    }

    .faq-list>div {
        padding:15px 0;
    }

    .faq-list dt {
        font-size:14px;
        gap:9px;
    }

    .faq-list dd {
        font-size:13px;
        font-weight:500;
        margin:6px 0 0 22px;
        line-height:1.6;
    }

    #cv_area {
        padding:43px 0 55px;
    }

    #cv_area>.section-container {
        width:100%;
    }

    #cv_area h2 {
        font-size:22px;
    }

    #cv_area p {
        font-size:13px;
        margin-top:12px;
    }

    .cv-row {
        display:block;
        margin-top:25px;
    }

    .cv-row>.btn {
        width:80%;
        min-height:70px;
        margin:auto;
        font-size:18px;
        border-radius:5px;
    }

    .pagetop a {
        height:40px;
        line-height:40px;
        font-size:11px;
        font-weight:400;
    }

    .pagetop a span {
        display:inline-block;
        font-size:16px;
        margin-right:4px;
        vertical-align:-1px;
    }

    .b-o-footer_content {
        height:80px;
    }

    .b-o-footer_content img {
        width:66px;
    }

    .footer-inner {
        display:block;
        padding:14px 18px 12px;
    }

    .b-m-footerBottom_links {
        display:block;
        font-size:11px;
        line-height:2;
    }

    .b-m-footerBottom_links a {
        display:inline;
    }

    .b-m-footerBottom_links a+a::before {
        margin:0 7px;
    }

    .footer-inner small {
        display:block;
        text-align:center;
        font-size:9px;
        margin-top:20px;
    }

    .fixed-links {
        padding:0;
    }

    .fixed-links-inner {
        width:100%;
        grid-template-columns:250fr 250fr 250fr;
        gap:0;
    }

    .fixed-links-inner>div>p {
        display:none;
    }

    .fixed-links .btn {
        display:block;
        padding:0;
        border-radius:0;
        min-height:0;
        font-size:0;
        line-height:0;
        border:0;
    }

    .fixed-links .fixed-button-label,.fixed-links .chevron {
        display:none;
    }

    .fixed-links .fixed-button-image {
        display:block;
        width:100%;
        height:auto;
    }

}

@media (max-width:374px) {
    #header .mp-logo {
        width:60px;
    }

    #header .mp-textLink_anchor {
        font-size:12px;
    }

    .header-actions {
        gap:12px;
    }

    .feature-card {
        padding:20px;
    }

    .feature-heading {
        gap:12px;
    }

    .feature-heading h3 {
        font-size:15px;
    }

    .step-copy,.step-card-connect .step-copy {
        padding-inline:20px;
    }

    .step-copy .bullet {
        font-size:10px;
    }

}

@media (prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto;
    }

    *,*::before,*::after {
        transition:none!important;
        animation:none!important;
    }

    .js .fade-v {
        opacity:1;
        transform:none;
    }

}

.page-owner .feature-list {
	 line-height:1.5;
}

.page-owner .feature-list li::before{
	content:'';
    margin-right:0px;
}
