@charset "utf-8";

:root {
    --vw: 1vw;
    --fmain: "M PLUS 1",
        sans-serif;
    --cmain: #1E4D3E;
    --bold: 700;
}

h1,
h2,
h3,
h4 {
    text-wrap: unset;
}

a:hover {
    text-decoration: none;
    opacity: 50%;
    transition: .4 ease;
    color: initial;
}

.container {
    max-width: none;
    padding: 0;
    margin: 0;
}

html {
    font-size: 1px;
    margin: 0;
}


html {
    font-size: clamp(0.65px, calc(100vw / 1920), 1px);
}

@media (max-width: 1500px) {
    html {
        font-size: .8px;
    }
}

@media (max-width: 1180px) {
    html {
        font-size: calc(0.7px + ((100vw - 375px) * 0.3 / 805));
    }
}

body {
    font-family: var(--fmain);
}

.no-scroll {
    overflow: hidden;
}

.w1152 {
    max-width: 1152rem;
    width: 90%;
    margin: 0 auto;
}

.w1344 {
    max-width: 1344rem;
    width: 90%;
    margin: 0 auto;
}

.w1440 {
    max-width: 1440rem;
    width: 90%;
    margin: 0 auto;
}

.w1536 {
    max-width: 1536rem;
    width: 90%;
    margin: 0 auto;
}

.w1728 {
    max-width: 1728rem;
    width: 90%;
    margin: 0 auto;
}

.grad {
    background: linear-gradient(to right,
            #8F9577 5%,
            #558174 10%,
            #03353B 40%,
            #61452C 55%,
            #03353B 75%,
            #61452C 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}



.cta-tel {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: flex-end;
    transition: .4s ease;
    width: 90%;

    p {
        font-weight: var(--bold);
        color: var(--cmain);
    }

    @media(max-width:1250px) {
        .f-34 {
            font-size: 24rem;
        }
    }
}

.cta-tel.white p {
    color: #FFF;
}

.cta-contact {
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 91rem;
    background-color: var(--cmain);
    transition: .4s ease;

    p {
        font-family: var(--fmain);
        font-weight: bold;
        font-size: 44rem;
        line-height: calc(55/44);
        text-align: center;
        color: #fff;
        transition: .4s ease;


    }




}

.cta-contact.white {
    background-color: #FFF;

    p {
        color: var(--cmain);
    }
}

.morebtn {
    background-color: var(--cmain);
    color: #FFF;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20rem;
    font-family: var(--fmain);
    font-weight: var(--bold);
    font-size: 25rem;
    line-height: calc(31/25);
    border-radius: 10px;
    transition: .4s ease;

    p {
        color: #FFF;
    }

    .arrow {
        max-width: 113rem;
        width: 100%;
    }
}



/* =====================================================
   Font-size Utility Classes
   f-XX → font-size: XXpx;
   8px 〜 80px を網羅
===================================================== */
/* 8〜80rem 全部フル出力 */

.f-8 {
    font-size: 8px;
}

.f-9 {
    font-size: 9px;
}

.f-10 {
    font-size: 10px;
}

.f-11 {
    font-size: 11px;
}

.f-12 {
    font-size: 12px;
}

.f-13 {
    font-size: 13px;
}

.f-14 {
    font-size: 14px;
}

.f-15 {
    font-size: 15px;
}

.f-16 {
    font-size: 16px;
}

.f-17 {
    font-size: 17px;
}

.f-18 {
    font-size: 18px;
}

.f-19 {
    font-size: 19rem;
}

.f-20 {
    font-size: 20rem;
}

.f-21 {
    font-size: 21rem;
}

.f-22 {
    font-size: 22rem;
}

.f-23 {
    font-size: 23rem;
}

.f-24 {
    font-size: 24rem;
}

.f-25 {
    font-size: 25rem;
}

.f-26 {
    font-size: 26rem;
}

.f-27 {
    font-size: 27rem;
}

.f-28 {
    font-size: 28rem;
}

.f-29 {
    font-size: 29rem;
}

.f-30 {
    font-size: 30rem;
}

.f-31 {
    font-size: 31rem;
}

.f-32 {
    font-size: 32rem;
}

.f-33 {
    font-size: 33rem;
}

.f-34 {
    font-size: 34rem;
}

.f-35 {
    font-size: 35rem;
}

.f-36 {
    font-size: 36rem;
}

.f-37 {
    font-size: 37rem;
}

.f-38 {
    font-size: 38rem;
}

.f-39 {
    font-size: 39rem;
}

.f-40 {
    font-size: 40rem;
}

.f-41 {
    font-size: 41rem;
}

.f-42 {
    font-size: 42rem;
}

.f-43 {
    font-size: 43rem;
}

.f-44 {
    font-size: 44rem;
}

.f-45 {
    font-size: 45rem;
}

.f-46 {
    font-size: 46rem;
}

.f-47 {
    font-size: 47rem;
}

.f-48 {
    font-size: 48rem;
}

.f-49 {
    font-size: 49rem;
}

.f-50 {
    font-size: 50rem;
}

.f-51 {
    font-size: 51rem;
}

.f-52 {
    font-size: 52rem;
}

.f-53 {
    font-size: 53rem;
}

.f-54 {
    font-size: 54rem;
}

.f-55 {
    font-size: 55rem;
}

.f-56 {
    font-size: 56rem;
}

.f-57 {
    font-size: 57rem;
}

.f-58 {
    font-size: 58rem;
}

.f-59 {
    font-size: 59rem;
}

.f-60 {
    font-size: 60rem;
}

.f-61 {
    font-size: 61rem;
}

.f-62 {
    font-size: 62rem;
}

.f-63 {
    font-size: 63rem;
}

.f-64 {
    font-size: 64rem;
}

.f-65 {
    font-size: 65rem;
}

.f-66 {
    font-size: 66rem;
}

.f-67 {
    font-size: 67rem;
}

.f-68 {
    font-size: 68rem;
}

.f-69 {
    font-size: 69rem;
}

.f-70 {
    font-size: 70rem;
}

.f-71 {
    font-size: 71rem;
}

.f-72 {
    font-size: 72rem;
}

.f-73 {
    font-size: 73rem;
}

.f-74 {
    font-size: 74rem;
}

.f-75 {
    font-size: 75rem;
}

.f-76 {
    font-size: 76rem;
}

.f-77 {
    font-size: 77rem;
}

.f-78 {
    font-size: 78rem;
}

.f-79 {
    font-size: 79rem;
}

.f-80 {
    font-size: 80rem;
}