@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');

main.frntpage {
    margin: 0;
    padding: 0;
    background-color: #fffcf4;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 600;
    font-size: clamp(18px, 3.3vw, 50px);
}

small {
    font-weight: 600;
}

.sp {
    display: none;
}

.wrap {
    width: min(90%, 1200px);
    margin: auto;
}

.frntpage img {
    width: 100%;
    display: block;
}

.kv {
    position: relative;
    font-size: clamp(18px, 3.3vw, 50px);
    padding-bottom: 2em;
}

.kv .cnt {
    margin: auto;
    padding: 1em 0;
    width: 90%;
    position: relative;
    z-index: 10;
}

.kv .bg {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
}

.kv .cnt>span {
    display: inline-block;
    padding: 1em;
    border-radius: 0.5em;
    color: #fff;
    background-color: #ff751f;
}

.kv .cnt h2 {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 600;
    font-size: 2em;
    margin: 0;
    line-height: 1.1;
    padding: 0;
}

.kv .cnt h2>span {
    display: flex;
    align-items: center;
}

.kv .cnt h2 strong {
    color: #f12727;
    text-shadow: #fff 0 0 0.05em, #fff 0 0 0.05em, #fff 0 0 0.05em, #fff 0 0 0.05em, #fff 0 0 0.05em, #fff 0 0 0.05em;
}

.kv .cnt h2 .bigger {
    font-size: 1.9em;
}

.kv .cnt h2 .bigger span {
    letter-spacing: -0.5em;
    display: inline-block;
    transform: translateX(-0.3em);
}

.kv .cnt h2 .big {
    font-size: 1.2em;
}

.kv .cnt p {
    font-size: 1.1em;
    text-shadow: #fff 0 0 0.05em, #fff 0 0 0.05em, #fff 0 0 0.05em, #fff 0 0 0.05em, #fff 0 0 0.05em, #fff 0 0 0.05em;
}

.kv .cnt p span {
    color: #f12727;
    display: inline-block;
    background: linear-gradient(transparent 60%, rgba(255, 255, 0, 0.7) 60%,
            rgba(255, 255, 0, 0.7) 90%, transparent 90%);
}

.kv .cnt .grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2%;
    width: min(100%, 1200px);
    margin: 2em auto 0;
}

.kv .cnt .grid .icons {
    background-color: #fff;
    font-size: 0.6em;
    padding: 1em 0.5em;
    border: #ff751f 2px solid;
    border-radius: 0.25em;
    text-align: center;
}

.kv .cnt .grid .icons span {
    color: #ff751f;
    font-size: 1.3em;
}


.kv .cnt .grid .icons img {
    width: clamp(18px, 5vw, 80px);
    margin: 0 auto 1em;
}

.kv .cnt .grid .icons:nth-child(2) {
    background-color: #e0fde5;
    font-size: 0.55em;
}

.kv .cnt .grid .icons:nth-child(2) span {
    font-size: 1.4em;
}



.kv .cnt .grid .icons:nth-child(4) {
    background-color: #faffb9;
}

.kv .cnt .grid .icons:nth-child(4) span {
    letter-spacing: -0.05em;
    font-size: 1.2em;
}


.frntpage .contact {
    padding-bottom: 1em;
}

.frntpage .contact .grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2%;
}

.frntpage .contact .grid>a {
    display: block;
    background-color: #e0fde5;
    border-radius: 0.25em;
    display: flex;
    align-items: center;
    font-size: 0.8em;
    justify-content: center;
    padding: 0.5em 0;
    color: #fff;
}

.frntpage .contact .grid>a span {
    display: flex;
    align-items: center;
    gap: 0.5em;
    justify-content: center;
}

.frntpage .contact .grid>a span img {
    width: clamp(18px, 5vw, 80px);
}

.frntpage .contact .grid .tel {
    background-image: radial-gradient(farthest-corner at 0 0,
            #fdd45a 0%,
            #ff914d 100%);
}



.frntpage .contact .grid .tel span:nth-child(2) {
    font-size: 1.4em;
    margin: 0.25em;
}

.frntpage .contact .grid .line {
    background-color: #4cc764;
}

.frntpage .contact .grid .line span:nth-child(2) {
    font-size: 0.9em;
    line-height: 1;
    margin: 0.25em;
}

.frntpage .contact p {
    font-size: 0.7em;
    text-align: center;
}

.frntpage .price {
    padding: 1em 0;
}

.frntpage .price h3 {
    text-align: center;
}

.frntpage .price h3 span {
    font-size: 1.4em;
    color: #ff751f;
}

.frntpage .price .grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1%;
}

.frntpage .price .grid>div {
    padding: 0.5em;
    border-radius: 0.25em;
    border: 1px #ff751f solid;
    background-color: #fff;
}

.frntpage .price .grid h4 {
    margin: 0;
    display: flex;
    align-items: center;
    height: 3em;
}

.frntpage .price .grid h4 span {
    display: block;
    text-align: center;
    background-color: #ff751f;
    color: #fff;
    width: 100%;
    padding: 0.25em 0;
    line-height: 1;
}

.frntpage .price .grid .prices {
    display: flex;
    align-items: center;
    gap: 0.2em;
}

.frntpage .price .grid .prices img {
    width: 1.6em;
}

.frntpage .price .grid .prices span {
    font-size: 1.4em;
    color: #ff751f;
    display: block;
    padding-bottom: 0.2em;
    font-weight: 900;
}

.frntpage .price .grid .prices small {
    display: block;
    font-size: 0.7em;
    color: #ff751f;
    padding-bottom: 0.2em;
    position: relative;
}

.frntpage .price .grid .prices small::after {
    content: "(税込)";
    position: absolute;
    color: #000;
    font-size: 0.6em;
    bottom: 0;
    left: 0;
    transform: translateY(50%);
}

.frntpage .price .grid p {
    font-size: 0.52em;
    margin-bottom: 0;
}

.frntpage .price .grid p small {
    letter-spacing: -0.05em;
    line-height: 1.2;
    display: block;
    margin-top: 1em;
}

.frntpage .area {
    padding: 1em 0;
}

.frntpage .area .grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 2%;
    align-items: start;
}

.frntpage .area .grid .map {
    border: #ff751f 1px solid;
    border-radius: 0.5em;
    background-color: #fff;
    padding: 0.5em 0.25em;
    display: grid;
    grid-template-columns: 6fr 5fr;
    gap: 2%;
}

.frntpage .area .grid .map .point {
    position: relative;
    height: fit-content;
}

.frntpage .area .grid .map .point .shop {
    width: 7%;
    position: absolute;
    top: 35%;
    left: 57%;
}

.frntpage .area .grid .map .point .circle {
    width: 48%;
    position: absolute;
    top: 31%;
    left: 33%;
    aspect-ratio: 4 / 3;
    border: #f12727 5px dashed;
    border-radius: 50%;
}

.frntpage .area .grid .map h3 {
    font-size: 0.68em;
    color: #039b52;
    margin: 0;
    padding-bottom: 0.1em;
    border-bottom: #039b52 3px solid;
    text-align: center;
    margin-bottom: 0.5em;
}

.frntpage .area .grid .map h3 small {
    font-size: 0.7em;
}

.frntpage .area .grid .map span {
    display: flex;
    align-items: center;
    border: #cdcecf 1px solid;
    border-radius: 0.5em;
    margin: 0.5em 0;
    padding: 0.1em 0.25em;
    font-size: 0.8em;
}

.frntpage .area .grid .map span img {
    width: 1.2em;
    margin-right: 0.2em;
}

.frntpage .area .grid .map small {
    font-size: 0.45em;
    line-height: 1.4;
    display: block;
}



.frntpage .area .contact .tel>div,
.frntpage .area .contact .line>div {
    background-color: #e0fde5;
    border-radius: 0.25em;
    display: flex;
    align-items: center;
    font-size: 0.6em;
    justify-content: center;
    padding: 0.8em 0;
    color: #fff;
}

.frntpage .area .contact>a small {
    text-align: center;
    font-size: 0.45em;
    line-height: 1.2;
    display: block;
    margin-bottom: 0.5em;
}

.frntpage .area .contact>a.tel small {
    color: #f12727;
}

.frntpage .area .contact>a.line small {
    color: #039b52;
    margin-top: 1em;
}

.frntpage .area .contact>a span {
    display: flex;
    align-items: center;
    gap: 0.5em;
    justify-content: center;
}

.frntpage .area .contact>a span img {
    width: clamp(18px, 4vw, 50px);
}

.frntpage .area .contact .tel>div {
    background-image: radial-gradient(farthest-corner at 0 0,
            #fdd45a 0%,
            #ff914d 100%);
}

.frntpage .area .contact .tel>div span:nth-child(2) {
    font-size: 1.4em;
    margin: 0.25em;
}

.frntpage .area .contact .line>div {
    background-color: #4cc764;
}

.frntpage .area .contact .line>div span:nth-child(2) {
    font-size: 0.9em;
    line-height: 1;
    margin: 0.4em;
}

.frntpage .area .contact .tel>div span:nth-child(3),
.frntpage .area .contact .line>div span:nth-child(3) {
    font-size: 0.8em;
}

.frntpage .area p {
    width: fit-content;
    margin: 0.5em auto;
    font-size: 0.55em;
}

.frntpage .review {
    padding: 1em 0;
}

.frntpage .review .google {
    background-color: #fff;
    border: 1px #ff751f solid;
    border-radius: 0.25em;
    padding: 1em;
}

.frntpage .review .google h3 {
    margin: auto;
    width: fit-content;
    font-size: 1em;
    padding-bottom: 0;
    border-bottom: #ff751f 3px solid;
}


.frntpage .review .google h3>div {
    position: relative;
    display: flex;
    align-items: center;
}

.frntpage .review .google h3>div>img {
    height: 1.2em;
    width: auto;
    aspect-ratio: 995/305;
}

.frntpage .review .google h3>div span {
    font-size: 1.3em;
    color: #f12727;
    margin-bottom: 0.25em;
}

.frntpage .review .google .balloon {
    position: absolute;
    width: 5em;
    top: 0;
    right: 0;
    transform: translate(65%, -65%);
}

.frntpage .review .google .balloon strong {
    position: absolute;
    color: #fff;
    text-align: center;
    display: block;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 0.7em;
    width: 100%;
    line-height: 1.2;
}

.frntpage .review .google small {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%);
    font-size: 0.7em;
    display: block;
    padding: 0 0.75em;
    background-color: #fff;
}

.frntpage .review .google small::before {
    content: "";
    width: 0.5em;
    aspect-ratio: 1/1;
    background-color: #ff751f;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(-50%, -35%);
}

.frntpage .review .google small::after {
    content: "";
    width: 0.5em;
    aspect-ratio: 1/1;
    background-color: #ff751f;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(50%, -35%);
}

.frntpage .review .google .flex {
    display: flex;
    justify-content: space-around;
    margin: 1em 0;
}

.frntpage .review .google .flex img {
    width: 48%;
}

.frntpage .reason {
    padding: 1em 0;
}

.frntpage .reason h3 {
    text-align: center;
    font-size: 1.2em;
}

.frntpage .reason h3 span {
    color: #ff751f;
    font-size: 1.2em;
}

.frntpage .reason .grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1em 4%;
    padding-bottom: 1em;
}

.frntpage .reason .grid>div {
    border: #ff751f 1px solid;
    border-radius: 0.25em;
    background-color: #fff;
    position: relative;
    padding: 0.5em;
}

.frntpage .reason .grid>div .circle {
    color: #fff;
    border-radius: 50%;
    background-color: #ff751f;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.6em;
    width: 3.5em;
    aspect-ratio: 1/1;
    line-height: 1.2;
    text-align: center;
    top: 0;
    left: 0;
    transform: translate(-30%, -30%);
}

.frntpage .reason .grid>div h4 {
    margin: 0;
    padding-left: 1.2em;
    text-align: center;
    font-size: 0.7em;
    height: 2.5em;
    color: #ff751f;
}

.frntpage .reason .grid>div p {
    text-align: center;
    font-size: 0.5em;
    margin-bottom: 0;
}

.frntpage .reason small {
    font-size: 0.4em;
    display: block;
    text-align: right;
}


.frntpage .voice {
    padding: 1em 0;
}

.frntpage .voice h3 {
    text-align: center;
    font-size: 1.15em;
}

.frntpage .voice h3 span {
    color: #ff751f;
    font-size: 1.2em;
}


.frntpage .voice .relative {
    position: relative;
    height: 13em;
    margin: 2em 0 1em;
}


.frntpage .voice .child {
    position: absolute;
}

.frntpage .voice .child img {
    width: auto;
    height: 5em;
}


.frntpage .voice .child.a {
    top: 0;
    left: 0;
}

.frntpage .voice .child.b {
    top: 4em;
    right: 0;
}


.frntpage .voice .child.c {
    top: 8em;
    left: 2em;
}



.frntpage .voice .child .balloon {
    position: absolute;
    background-color: #d9d9d9;
    width: 18em;
    height: 3.5em;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 0.25em;
    text-align: center;
    font-size: 0.6em;
    line-height: 1.2;
}

.frntpage .voice .child.a .balloon {
    top: 0;
    right: 0;
    transform: translate(100%, -25%);
}

.frntpage .voice .child.a .balloon::after {
    content: "";
    width: 0;
    border-top: 0.5em #d9d9d9 solid;
    border-left: 1em #d9d9d9 solid;
    border-bottom: 0.5em transparent solid;
    border-right: 1em transparent solid;
    bottom: 0;
    left: 5%;
    transform: translateY(100%);
    position: absolute;
}


.frntpage .voice .child.b .balloon {
    top: 0;
    left: 20%;
    transform: translate(-100%, -50%);
}

.frntpage .voice .child.b .balloon::after {
    content: "";
    width: 0;
    border-top: 0.5em #d9d9d9 solid;
    border-right: 1em #d9d9d9 solid;
    border-bottom: 0.5em transparent solid;
    border-left: 1em transparent solid;
    bottom: 0;
    right: 5%;
    transform: translateY(100%);
    position: absolute;
}

.frntpage .voice .child.c .balloon {
    top: 0;
    right: 15%;
    transform: translate(100%, -25%);
}

.frntpage .voice .child.c .balloon::after {
    content: "";
    width: 0;
    border-top: 0.5em #d9d9d9 solid;
    border-left: 1em #d9d9d9 solid;
    border-bottom: 0.5em transparent solid;
    border-right: 1em transparent solid;
    bottom: 0;
    left: 5%;
    transform: translateY(100%);
    position: absolute;
}


.frntpage .repair {
    padding: 1em 0;
}

.frntpage .repair h3 {
    font-size: 1.2em;
    text-align: center;
}

.frntpage .repair>div {
    border-radius: 0.5em;
    border: #ff751f 1px solid;
    background-color: #fff;
    padding: 1em;
    margin: 1.5em 0;
}

.frntpage .repair>div h4 {
    margin: auto;
    width: fit-content;
    font-size: 0.7em;
    text-align: center;
    padding: 0 0.3em;
    background: linear-gradient(180deg, transparent 60%, #c4d4ff 60%);
}

.frntpage .repair>div .grid {
    display: grid;
    grid-template-columns: 3fr 5fr;
    margin-top: 2em;
    font-size: 0.6em;
    gap: 0.25em;
}

.frntpage .case {
    padding: 1em 0;
}

.frntpage .case h3 {
    font-size: 1.2em;
    text-align: center;
}

.frntpage .case .grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3%;
}

.frntpage .case .grid .possible {
    border: #4cc764 1px solid;
    border-radius: 0.25em;
    padding: 1em 1em 8em;
    background-color: #f6fff7;
    font-size: 0.8em;
    position: relative;
    overflow: hidden;
}

.frntpage .case .grid .possible h4 {
    margin: 0;
    color: #039b52;
    font-size: 1.2em;
    margin-bottom: 0.25em;
}

.frntpage .case .grid .possible span {
    display: flex;
    align-items: center;
}

.frntpage .case .grid .possible .check {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.5em;
    font-size: 0.8em;
    color: #fff;
    background-color: #039b52;
    border-radius: 50%;
    margin-right: 0.25em;
}


.frntpage .case .grid .impossible {
    border: #ff751f 1px solid;
    border-radius: 0.25em;
    padding: 1em 1em 8em;
    background-color: #fff7ef;
    font-size: 0.8em;
    position: relative;
    overflow: hidden;
}

.frntpage .case .grid .impossible h4 {
    margin: 0;
    color: #ff751f;
    font-size: 1.2em;
    margin-bottom: 0.25em;
}

.frntpage .case .grid .impossible span {
    display: flex;
    align-items: start;
}

.frntpage .case .grid .impossible .peke {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.5em;
    font-size: 0.8em;
    color: #fff;
    background-color: #ff751f;
    border-radius: 50%;
    margin-right: 0.25em;
    margin-top: 0.25em;
}

.frntpage .case .grid .child {
    position: absolute;
    bottom: 0;
    right: 0;
}



.frntpage .case .grid .child img {
    width: auto;
    height: 8.5em;
}

.frntpage .case .grid .possible .circle {
    position: absolute;
    width: 30%;
    aspect-ratio: 1/1;
    border: #039b52 3px solid;
    border-radius: 50%;
    top: 30%;
    left: 10%;
}

.frntpage .case .grid .impossible .circle {
    position: absolute;
    width: 30%;
    aspect-ratio: 1/1;
    border: #ff751f 3px solid;
    border-radius: 50%;
    top: 25%;
    right: 25%;
}

.frntpage .case p {
    font-size: 0.5em;
    text-align: center;
}


.frntpage .qa {
    padding: 1em 0;
}

.frntpage .qa h3 {
    font-size: 1.2em;
    text-align: center;
}

.frntpage .qa .faq {
    border-radius: 0.25em;
    border: #ff751f 1px solid;
    background-color: #fff;
    padding: 0.5em 1em;
    font-size: 0.65em;
    margin: 1em 0;
}

.frntpage ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.frntpage ul li {
    display: flex;
}

.frntpage ul li span {
    font-size: 1.2em;
    color: #ff751f;
    display: block;
    margin-right: 0.25em;
    transform: translateY(-0.25em);
}

.frntpage .last {
    padding: 1em 0;
}

.frntpage .last h3 {
    font-size: 1em;
    color: #f12727;
    text-align: center;
}

@media screen and (max-width:768px) {
    main.frntpage {
        font-size: clamp(14px, 3.5vw, 50px);
    }

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }


    .kv {
        position: relative;
        font-size: clamp(14px, 3.3vw, 50px);
        padding-bottom: 0.5em;
    }


    .kv .cnt>span {
        display: inline-block;
        padding: 0.5em;
        border-radius: 1em;
        color: #fff;
        background-color: #ff751f;
    }

    .kv .cnt h2 {
        font-size: 1.5em;
    }

    .kv .cnt h2>span {
        display: flex;
        align-items: center;
    }


    .kv .cnt h2 .bigger {
        font-size: 1.8em;
    }

    .kv .cnt p {
        font-size: 1.1em;
        text-shadow: #fff 0 0 0.1em, #fff 0 0 0.1em, #fff 0 0 0.1em, #fff 0 0 0.1em, #fff 0 0 0.1em, #fff 0 0 0.1em;
    }

    .kv .cnt .grid {
        gap: 1%;
        margin-top: 1.5em;
    }

    .kv .cnt .grid .icons {
        font-size: 0.6em;
        border-radius: 0.5em;

    }

    .kv .cnt .grid .icons span {
        color: #ff751f;
        font-size: 1.2em;
    }


    .kv .cnt .grid .icons img {
        width: clamp(18px, 5vw, 80px);
        margin: 0.5em auto 1.5em;
    }


    .frntpage .contact {
        padding-bottom: 0;
    }

    .frntpage .contact .grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 2%;
    }

    .frntpage .contact .grid>a {
        border-radius: 0.5em;
        font-size: 0.9em;
    }

    .frntpage .contact .grid .line span:nth-child(2) {
        font-size: 1em;
    }


    .frntpage .contact .grid .tel span:nth-child(3),
    .frntpage .contact .grid .line span:nth-child(3) {
        font-size: 0.8em;
    }


    .frntpage .price {
        padding: 0.5em 0 1em;
    }

    .frntpage .price h3 {
        text-align: center;
        margin: 0.5em 0;
    }

    .frntpage .price .grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 2% 1%;
    }

    .frntpage .price .grid>div {
        padding: 1em;
        border-radius: 0.5em;
    }

    .frntpage .price .grid>div:nth-child(3) {
        grid-column: 1/4;
    }

    .frntpage .price .grid h4 {
        margin: 0;
        display: flex;
        align-items: center;
        height: auto;
        justify-content: center;
    }

    .frntpage .price .grid h4 span {
        display: block;
        padding: 0.2em 0.5em;
        width: fit-content;
        text-align: center;
        background-color: #ff751f;
        color: #fff;
        line-height: 1;
    }

    .frntpage .price .grid .prices {
        justify-content: center;
    }

    .frntpage .price .grid .prices span {
        font-size: 1.5em;
        color: #ff751f;
        display: block;
        padding-bottom: 0.2em;
        font-weight: 900;
    }

    .frntpage .price .grid .prices small {
        display: block;
        font-size: 0.7em;
        color: #ff751f;
        padding-bottom: 0;
        position: relative;
    }

    .frntpage .price .grid .prices small::after {
        content: "(税込)";
        position: absolute;
        color: #000;
        font-size: 0.6em;
        bottom: 0;
        left: 0;
        transform: translateY(75%);
    }

    .frntpage .price .grid p {
        font-size: 0.7em;
        margin-bottom: 0;
    }

    .frntpage .price .grid p small {
        letter-spacing: -0.05em;
        line-height: 1.2;
        display: block;
        margin-top: 0.5em;
    }


    .frntpage .area {
        padding: 1em 0;
    }

    .frntpage .area .grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 2%;
        align-items: start;
    }

    .frntpage .area .grid .map {
        padding: 1em 0.5em;
        grid-template-columns: 1fr 1fr;
    }

    .frntpage .area .grid .map .point .circle {
        border: #f12727 3px dashed;
    }

    .frntpage .area .grid .map h3 {
        font-size: 1em;
        margin: 0;
        padding-bottom: 0.1em;
        border-bottom: #039b52 2px solid;
        text-align: center;
        margin-bottom: 0.5em;
    }

    .frntpage .area .grid .map h3 small {
        font-size: 1.05em;
        display: inline-block;
        margin-left: -0.5em;
    }

    .frntpage .area .grid .map span {
        display: flex;
        align-items: center;
        border: #cdcecf 1px solid;
        border-radius: 2em;
        margin: 0.5em 0;
        padding: 0.25em 0.5em;
        font-size: 1.2em;
    }

    .frntpage .area .grid .map small {
        font-size: 0.7em;
        line-height: 1.4;
        display: block;
    }

    .frntpage .area .grid .map p {
        grid-column: 1/4;
        font-size: 0.7em;
        line-height: 1.6;
        display: block;
        padding: 0 0.5em;
    }

    .frntpage .area .contact {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 3%;
    }

    .frntpage .area .contact .tel>div,
    .frntpage .area .contact .line>div {
        border-radius: 0.5em;
        font-size: 0.9em;
    }

    .frntpage .area .contact>a small {
        font-size: 0.65em;
        line-height: 1.4;
    }

    .frntpage .area .contact>a.line small {
        margin-top: 0;
    }

    .frntpage .area .contact .line>a span:nth-child(2) {
        font-size: 1em;
    }



    .frntpage .review {
        padding: 2em 0 1em;
    }

    .frntpage .review .google {
        background-color: #fff;
        border: 1px #ff751f solid;
        border-radius: 0.5em;
        padding: 1em;
    }

    .frntpage .review .google h3 {
        width: 100%;
        font-size: 0.9em;
        padding-bottom: 0;
        border-bottom: #ff751f 1px solid;
    }


    .frntpage .review .google h3>div {
        width: fit-content;
        margin: auto;
    }


    .frntpage .review .google .balloon strong {
        top: 45%;
        left: 52%;
        rotate: 5deg;
    }


    .frntpage .review .google .flex {
        display: block;
        justify-content: space-around;
        margin: 1em 0;
    }

    .frntpage .review .google .flex img {
        width: 80%;
        margin: 1em auto;
    }


    .frntpage .reason h3 {
        font-size: 1.5em;
        margin-top: 0;
    }



    .frntpage .reason .grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1em;
        padding-bottom: 0.5em;
        padding-left: 1em;
    }

    .frntpage .reason .grid>div {
        border-radius: 0.5em;
        padding: 0.5em 0.75em;
    }

    .frntpage .reason .grid>div .circle {
        font-size: 1em;
        top: 50%;
        left: 0;
        transform: translate(-50%, -50%);
    }

    .frntpage .reason .grid>div h4 {
        margin: 0;
        padding-left: 1.4em;
        text-align: left;
        font-size: 1em;
        height: auto;
        color: #ff751f;
    }

    .frntpage .reason .grid>div p {
        text-align: left;
        font-size: 0.7em;
        margin-bottom: 0;
        padding-left: 2em;
    }

    .frntpage .reason small {
        font-size: 0.6em;
        display: block;
        text-align: right;
    }


    .frntpage .voice {
        padding: 1em 0;
    }

    .frntpage .voice .relative {
        position: relative;
        height: 15em;
        width: 85%;
        margin: 2em auto 0;
    }


    .frntpage .voice .child {
        position: absolute;
    }

    .frntpage .voice .child img {
        width: auto;
        height: 5em;
    }


    .frntpage .voice .child.a {
        top: 0;
        left: 0;
    }

    .frntpage .voice .child.b {
        top: 5em;
        right: 0;
    }


    .frntpage .voice .child.c {
        top: 10em;
        left: 0em;
    }



    .frntpage .voice .child .balloon {
        position: absolute;
        background-color: #d9d9d9;
        width: 18em;
        height: 3.5em;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 0.5em;
        text-align: center;
        font-size: 0.75em;
        line-height: 1.2;
    }

    .frntpage .voice .child.a .balloon {
        top: 0;
        right: 0;
        transform: translate(100%, -25%);
    }


    .frntpage .voice .child.b .balloon {
        top: 0;
        left: 25%;
        transform: translate(-100%, -25%);
    }

    .frntpage .voice .child.c .balloon {
        top: 0;
        right: 10%;
        transform: translate(100%, -25%);
    }


    .frntpage .repair {
        padding: 1em 0;
    }

    .frntpage .repair h3 {
        font-size: 1.4em;
        text-align: center;
        margin-top: 0;
    }

    .frntpage .repair>div {
        border-radius: 0.5em;
        border: #ff751f 1px solid;
        background-color: #fff;
        padding: 0.5em;
        margin: 1em 0;
    }

    .frntpage .repair>div h4 {
        width: fit-content;
        font-size: 0.82em;
        letter-spacing: -0.1em;
        margin-bottom: 0.5em;
    }

    .frntpage .repair>div .grid {
        display: grid;
        grid-template-columns: 3fr 5fr;
        margin-top: 1em;
        font-size: 0.7em;
        gap: 0.5em;
    }

    .frntpage .case {
        padding: 1em 0;
    }

    .frntpage .case h3 {
        font-size: 1.4em;
    }


    .frntpage .case .grid .possible {
        border: #4cc764 1px solid;
        border-radius: 0.5em;
        padding: 1em 1em 9em;
        font-size: 0.9em;
    }


    .frntpage .case .grid .impossible {
        border: #ff751f 1px solid;
        border-radius: 0.55em;
        padding: 1em 1em 9em;
        font-size: 0.9em;
    }

    .frntpage .case .grid .child {
        position: absolute;
        bottom: 0;
        right: 0;
    }

    .frntpage .case .grid .child img {
        width: auto;
        height: 9em;
    }


    .frntpage .case p {
        font-size: 0.8em;
        text-align: center;
    }


    .frntpage .qa {
        padding: 1em 0;
    }

    .frntpage .qa h3 {
        font-size: 1.4em;
        text-align: center;
        margin-top: 0;
    }

    .frntpage .qa .faq {
        border-radius: 0.5em;
        font-size: 0.9em;
    }

    .frntpage ul {
        padding: 0;
        margin: 0;
        list-style: none;
    }


    .frntpage .last {
        padding: 0 0 1em;
    }

    .frntpage .last h3 {
        font-size: 1.1em;
        color: #f12727;
        text-align: center;
    }
}