@charset "UTF-8";
* {
    margin: 0;
    padding: 0;
    list-style: none;
    text-decoration: none;
    box-sizing: border-box;
    font-family: "Noto Sans JP", sans-serif;
}
html {
    scroll-behavior: smooth;
}
:root {
    --s-contact-mess: 36px;
    --fas: 22px;
    --p-small: 14px;
    --copyright: 12px;
    --title-padding: 20px;
    --logo-h2: 32px;
    --s-contact-tel: 40px;
    --s-contact-a: 20px;
    --footer-h3-a: 36px;
    --footer-nav-a: 16px;
    --color_yellow: #54B300;
}
h1 {
    font-size: 48px;
}
h2 {
    font-size: 32px;
}
h3 {
    font-size: 24px;
}
h4 {
    font-size: 20px;
}
p {
    font-size: 16px;
}
a {
    font-size: 20px;
}
@media screen and (max-width:1440px) {
    :root {
        --s-contact-mess: clamp(calc(36px/3), calc(36/1440*100vw), 36px);
        --p-small: clamp(calc(14px/3), calc(14/1440*100vw), 14px);
        --copyright: clamp(calc(12px/3), calc(12/1440*100vw), 12px);
        --title-padding: clamp(calc(20px/3), calc(20/1440*100vw), 20px);
        --logo-h2: clamp(calc(32px/3), calc(32/1440*100vw), 32px);
        --s-contact-tel:clamp(calc(40px/3), calc(40/1440*100vw), 40px);
        --s-contact-a:clamp(calc(20px/3), calc(20/1440*100vw), 20px);
        --footer-h3-a: clamp(calc(36px/3), calc(36/1440*100vw), 36px);
        --footer-nav-a: clamp(calc(16px/3), calc(16/1440*100vw), 16px);
    }
    h1 {
        font-size: clamp(calc(48px/3), calc(48/1440*100vw), 48px);
    }
    h2 {
        font-size: clamp(calc(32px/3), calc(32/1440*100vw), 32px);
    }
    h3 {
        font-size: clamp(calc(24px/3), calc(24/1440*100vw), 24px);
    }
    h4 {
        font-size: clamp(calc(20px/3), calc(20/1440*100vw), 20px);
    }
    p {
        font-size: clamp(calc(16px/3), calc(16/1440*100vw), 16px);
    }
    a {
        font-size: clamp(calc(20px/3), calc(20/1440*100vw), 20px);
    }
}

a {
    color: #000;
}
img {
    width: 100%;
}
.inner {
    width: 1050px;
    margin:  0 auto;
}
.section-title {
    text-align: center;
}
.section-title h3 {
    position: relative;
    display: inline-flex;
    padding-bottom: var(--title-padding);
    font-weight: 700;
    color: var(--color_yellow);
}

/* 

header

*/
.header {
    max-width: 1440px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999;
    
}
.tel-numbar {
    position: relative;
    padding: 59px 0 0 0;
    top: 0;
    right: 0;
    margin-bottom: 20px;
}
.numbar-wrap {
    align-items: center;
}

.numbar-wrap h2 {
    color: var(--color_yellow);
    text-align: end;
    line-height: 1;
}
.tel-numbar p {
    font-size: var(--p-small);
    text-align: end;
}
@scope (#header) {
    
.inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 1210px;
}
.nav {
    height: 70px;
    background-color: #fff;
    border-radius: 20px;
    margin-left: 50px;
    width: 800px;
    border: solid 1px var(--color_yellow);
    align-items: center;
    display: flex;
    justify-content: center;
}
.nav ul {
    display: flex;
    
}
.nav ul li {
    padding: 0 25px;
}
}
.logo-wrap h2 {
    font-weight: 700;
}
.logo-wrap h2 a {
    font-size: var(--logo-h2);
}



@media screen and (max-width:1440px) {
    .inner {
        width: clamp(calc(1050px/3), calc(1050/1440*100vw), 1050px);
    }
    
    .section-title h3 {
        padding-bottom: var(--title-padding);
    }
    .tel-numbar {
        padding: clamp(calc(59px/3), calc(59/1440*100vw), 59px) 0 0 0;
        margin-bottom: clamp(calc(20px/3), calc(20px/1440*100vw), 20px);
    }
    @scope (#header) {
        .inner {
            width: clamp(calc(1210px/3), calc(1210/1440*100vw), 1210px);
        }
        .nav {
            margin-left: clamp(calc(50px/3), calc(50/1440*100vw), 50px);
            width: clamp(calc(800px/3), calc(800/1440*100vw), 800px);
            height: clamp(calc(70px/3), calc(70/1440*100vw), 70px);
            border-radius: clamp(calc(20px/3), calc(20/1440*100vw), 20px);
            
        }
        .nav ul {
            display: flex;
    
        }
        .nav ul li {
            padding: 0 clamp(calc(25px/3), calc(25/1440*100vw), 25px);
            display: flex;
            
        }
    }
    .logo-wrap h3 {
        font-weight: 400;
    }
    
    
    .tel-numbar p {
        font-size: var(--p-small);
    }
    
}

/* 

fv

fvアニメーションはanimation.cssに
*/
.fv-message-wrap {
    display: flex;
    flex-direction: column;
    z-index: 10;
    position: relative;
    align-items: center;
    margin: 265px auto 0 auto;
    text-align: center;
}

.fv-message-wrap h4 {
    font-size: 20px;
}
.fv-message:first-child h4 {
    margin-bottom: 10px;
}

@media screen and (max-width:1440px) {
    
    .fv-message-wrap h4 {
        font-size: 20px; /* 画面幅関係なく固定の大きさ */
    }
    .fv-message:first-child h4 {
        margin-bottom: clamp(calc(10px/3), calc(10/1440*100vw), 10px);
    }
    
}

/* 

about

*/
.about {
    background-color: #FFF7E8;
}
.about-message {
    margin: 0 0 22px 0;
    text-align: center;
    font-weight: 700;
}
.about-text {
    text-align: center;
    margin-bottom: 50px;
}

@scope (#about) {
    .inner {
        padding: 100px 0 150px 0;
    }

    .container {
        width: 1050px;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
    }
    .content {
        width: 330px;
        height: 350px;
        background-color: #fff;
        border-radius: 20px;
    }
    
}

@media (max-width:1440px) {
    .about-message {
        margin: 0 0 clamp(calc(22px/3), calc(22/1440*100vw), 22px) 0;
    }
    .about-text {
        margin-bottom: clamp(calc(50px/3), calc(50/1440*100vw), 50px);
    }
    
    @scope (#about) {
        .inner {
            padding: clamp(calc(100px/3), calc(100/1440*100vw), 100px) 0 clamp(calc(150px/3), calc(150/1440*100vw), 150px) 0;
        }
    
        .container {
            width: clamp(calc(1050px/3), calc(1050/1440*100vw), 1050px);
        }
        .content {
            height: clamp(calc(350px/3), calc(350/1440*100vw), 350px);
            width: clamp(calc(330px/3), calc(330/1440*100vw), 330px);
            border-radius: clamp(calc(20px/3), calc(20/1440*100vw), 20px);
        }
    }
    
}

/* 

property

*/
.property {
    background-color: #FFF7E8;
}
.property-text {
    margin: 30px 0;
    text-align: center;
}
@scope (#property) {
    .inner {
        padding: 0 0 80px 0;
    }
    .section-title,
    .property-text {
        text-align: start;
    }
    .container {
        width: 1050px;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 30px 0;
    }
    .content {
        width: 510px;
        height: 250px;
        border: solid 1px #000;
    }
}

@media (max-width:1440px) {
    .property-text {
        margin: clamp(calc(30px/3), calc(30/1440*100vw), 30px) 0 clamp(calc(50px/3), calc(50/1440*100vw), 50px) 0;
    }
    @scope (#property) {
        .inner {
            padding: 0 0 clamp(calc(80px/3), calc(80/1440*100vw), 80px) 0;
        }
        .container {
            width: clamp(calc(1050px/3), calc(1050/1440*100vw), 1050px);
        }
        .content {
            width: clamp(calc(510px/3), calc(510/1440*100vw), 510px);
            height: clamp(calc(250px/3), calc(250/1440*100vw), 250px);
        }
    }
}

/* 

section-cntact

*/
.section-contact {
    background-color: #F8F8F8;
}
@scope (#section-contact) {
    .inner {
        padding: 70px 0 80px 0;

    }

    h2 {
        font-size: var(--s-contact-mess);
        margin-bottom: 65px;
        text-align: center;

    }

    .container {
        width: 1050px;
        display: flex;
        justify-content: space-between;
        margin:0 auto;

    }
    
    .content {
        width: auto;
        display: flex;
        align-items: :start;
        border: none;
        justify-content: start;
        margin-bottom: 20px;
    }
    .content h4 {
        font-weight: 400;
    }
    .tel-numbar {
        padding: 0;
    }
    .tel-numbar h1 {
        color: var(--color_yellow);
        margin-bottom: 18px;
    }
    .tel-numbar p {
        text-align: start;
    }
    .tel-numbar-p-1 {
        margin-bottom: 8px;
    }
    .tel-numbar-p-2 {
        margin-bottom: 25px;
    }
}
.list-content {
    padding: 0 130px 0 75px;
    width: 525px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.section-contact-btn-wrap {
    width: 525px;
    height: 248px;
    border-left: solid 1px #000;
    padding: 0 0 0 63px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: start;
}
.dots-color {
    color: var(--color_yellow);
}
.s-contact-btn-wrap {
    display: flex;
    align-items: center;
    border: solid 1px var(--color_yellow);
    border-radius: 5px;
    padding: 8px 19px 8px 8px ;
    justify-content: center;
    align-items: center;
    width: 410px;
    height: 63px;
}
.email-icon-wrap {
    width: 39px;
    height: 39px;
    margin-right: 18px;
}.section-contact-btn {
    display: flex;
    align-items: center;
}

.section-contact-btn a {
    color: var(--color_yellow);
    font-weight: 500;
    font-size: var(--s-contact-a);
}
@media (max-width:1440px) {
    
    @scope (#section-contact) {
        .inner {
            padding: clamp(calc(70px/3), calc(70/1440*100vw), 70px) 0 clamp(calc(80px/3), calc(80/1440*100vw), 80px) 0;
        }
    
        h2 {
            font-size: var(--s-contact-mess);
            margin-bottom: clamp(calc(65px/3), calc(65/1440*100vw), 65px);
        }
    
        .container {
            width: clamp(calc(1050px/3), calc(1050/1440*100vw), 1050px);
        }
        
        .content {
            margin-bottom: clamp(calc(20px/3), calc(20/1440*100vw), 20px);
        }
        
        .tel-numbar h1 {
            margin-bottom: clamp(calc(18px/3), calc(18/1440*100vw), 18px);
        }
        .tel-numbar-p-1 {
            margin-bottom: clamp(calc(8px/3), calc(8/1440*100vw), 8px);
        }
        .tel-numbar-p-2 {
            margin-bottom: clamp(calc(25px/3), calc(25/1440*100vw), 25px);
        }
    }
    .list-content {
        padding: 0 clamp(calc(130px/3), calc(130/1440*100vw), 130px) 0 clamp(calc(75px/3), calc(75/1440*100vw), 75px);
        width: clamp(calc(525px/3), calc(525/1440*100vw), 525px);
    }
    .section-contact-btn-wrap {
        width: clamp(calc(525px/3), calc(525/1440*100vw), 525px);
        height: clamp(calc(248px/3), calc(248/1440*100vw), 248px);
        padding: 0 0 0 clamp(calc(63px/3), calc(63/1440*100vw), 63px);
    }
    .s-contact-btn-wrap {
        border-radius: clamp(calc(5px/3), calc(5/1440*100vw), 5px);
        padding: clamp(calc(8px/3), calc(8/1440*100vw), 8px) clamp(calc(19px/3), calc(19/1440*100vw), 19px) clamp(calc(8px/3), calc(8/1440*100vw), 8px) clamp(calc(8px/3), calc(8/1440*100vw), 8px);
        width: clamp(calc(410px/3), calc(410/1440*100vw), 410px);
        height: clamp(calc(63px/3), calc(63/1440*100vw), 63px);
    }
    .email-icon-wrap {
        width: clamp(calc(39px/3), calc(39/1440*100vw), 39px);
        height: clamp(calc(39px/3), calc(39/1440*100vw), 39px);
        margin-right: clamp(calc(18px/3), calc(18/1440*100vw), 18px);
    }
}

/* 

footer

*/
.footer {
    background-color: #D9D9D9;
    padding: 70px 0 15px 0;
}
.top-btn-wrap {
    width: 100%;
    display: flex;
    justify-content: end;
    width: 1440px;
    margin: 0 auto;
}
.top-btn-inner {
    width: 118px;
    height: 107px;
    margin: 0 61px 21px 0;
}

@scope (#footer) {
    .inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0;
        width: 1050px;
        margin: 0 auto 81px auto;
        
    }
    .logo-wrap h3 {
        margin-bottom: 39px;
    }
    .logo-wrap h3 a {
        font-size: var(--footer-h3-a);
        font-weight: 400;
    }
    .nav {
        width: 464px;
        display: flex;
        justify-content: center;
        align-self: start;
    }
    .nav ul {
        display: flex;
        justify-content: space-between;
        width: 100%;
        
    }
    .nav ul li {
        padding: 0;
    }
    .nav ul li a {
        font-size: var(--footer-nav-a);
        font-weight: 500;
    }
}

.copyright {
    font-size: var(--copyright);
    text-align: center;
}

@media (max-width:1440px) {
    .footer {
        padding: clamp(calc(70px/3), calc(70/1440*100vw), 70px) 0 clamp(calc(15px/3), calc(15/1440*100vw), 15px) 0;
    }
    
    .top-btn-wrap {
        width: clamp(calc(1440px/3), calc(1440/1440*100vw), 1440px);
    }
    .top-btn-inner {
        width: clamp(calc(118px/3), calc(118/1440*100vw), 118px);
        height: clamp(calc(107px/3), calc(107/1440*100vw), 107px);
        margin: 0 clamp(calc(61px/3), calc(61/1440*100vw), 61px) clamp(calc(21px/3), calc(21/1440*100vw), 21px) 0;
    }
    @scope (#footer) {
        .inner {
            padding: 0;
            width: clamp(calc(1050px/3), calc(1050/1440*100vw), 1050px);
            margin: 0 auto clamp(calc(81px/3), calc(81/1440*100vw), 81px) auto;
        }
        .logo-wrap h3 {
            margin-bottom: clamp(calc(39px/3), calc(39/1440*100vw), 39px);
        }
        .nav {
            width: clamp(calc(464px/3), calc(464/1440*100vw), 464px);
        }
    }
    
}