html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline;background:transparent;}
body{line-height:1;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}
nav ul{list-style:none;}
blockquote,q{quotes:none;}
blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}
ins{background-color:#ff9;color:#000;text-decoration:none;}
mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold;}
del{text-decoration:line-through;}
abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help;}
table{border-collapse:collapse;border-spacing:0;}
ol,ul{list-style:none;}

body{
    font-family: 'Inter';
    background-color: #fff;
    color: #000;
}
html{font-size: 16px;}
ul{list-style: none;}
a, input{outline: none;}


.container {
    max-width: 1280px;
    width: calc(100% - 2rem);
    margin-inline: auto;
}

.mta-80 {
    margin-top: 80px;
}

.mta-40 {
    margin-top: 40px;
}

.mta-20 {
    margin-top: 20px;
}

.ta-center {
    text-align: center;
}

figure img {
    width: 100%;
    height: auto;
}

.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.site-logo {
    position: absolute;
    top: clamp(0.75rem, 0.31rem + 1.88vw , 2rem);
    left: clamp(0.5625rem, 0.056rem + 2.16vw , 2rem);
    z-index: 1000;
}

.site-logo img {
    width: clamp(215px, 127.3px + 23.28vw, 464px);
}

.global-nav {
    position: fixed;
    top: clamp(1.5rem, 0.97rem + 2.25vw , 3rem);
    right: clamp(0.5625rem, 0.056rem + 2.16vw , 2rem);
    z-index: 1000;
}

.global-nav a {
    padding: 
        clamp(0.75rem, 0.57rem + 0.75vw, 1.25rem)
        clamp(2rem, 1.27rem + 3.1vw, 4.0625rem);
    background-color: #000;
    font-size: clamp(1.25rem, 0.65rem + 1.5vw, 2rem);
    color: #fff;
    text-decoration: none;
    border-radius: 8px;
    font-family: 'GFS Didot';
}

.hero {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

.hero video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}

.section__title {
    font-size:clamp(2rem, 1.3rem + 3vw, 4rem);
    line-height: 1.4;
    font-weight: 400;
    font-family: 'GFS Didot';
    color: #C5AE6D;
}

.about .section__title,
.section__title span {
    font-size:clamp(2rem, 1.5rem + 1.5vw, 3rem);
    font-weight: 500;
}

.section__sub-title {
    margin-bottom: clamp(2rem, 1.3rem + 3vw, 4rem);
    font-size: clamp(1rem, 0.82rem + 0.75vw, 1.5rem);
    font-weight: 700;
}

.about .section__title {
    color: #3D5142;
}

.about .section__title span {
    color: #A8A893;
}

.about .section__sub-title {
    font-weight: 500;
    display: inline-block;
    margin: 0;
    padding-block: 0.25rem;
    padding-inline: clamp(1.5rem ,1.15rem + 1.5vw, 2.5rem);
    background-color: #000;
    color: #fff;
}

.about-desc {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    font-size:clamp(0.75rem, 0.66rem + 0.38vw, 1rem);
    line-height: 1.8;
}

.information .section-inner,
.service .section-inner {
    display: flex;
    flex-direction: row-reverse;
    gap:clamp(1.875rem, -3.8125rem + 11.47vw, 5rem);
    width: 100%;
}

.service__text-inner {
    max-width: 560px;
    width: 100%;
}

.biz-list li + li {
    margin-top: clamp(1rem,0.835rem + 1.77vw, 2rem);
}

.biz-list li div {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    font-size: clamp(1rem, 0.82rem + 0.75vw, 1.5rem);
    font-weight: 600;
    position: relative;
    padding-left: 1.5em;
}

.biz-list li div::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1em;
    height: 4px;
    background: #C5AE6D;
}

.biz-list li p {
    margin-top: 0.5rem;
    font-size:clamp(0.75rem, 0.66rem + 0.38vw, 1rem);
    line-height: 1.5;
}

.information .section-inner {
    flex-direction: row;
}

.information__text-inner {
    max-width: 560px;
    width: 100%;
}

.information table {
    max-width: 560px;
    width: 100%;
    line-height: 1.5;
    font-size:clamp(0.75rem, 0.66rem + 0.38vw, 1rem);
    font-weight: normal;
    border-collapse: collapse;
}

.information table th,
.information table td {
    padding-block: 1.25rem;
    border-bottom: 1px solid #d9d9d9;
    text-align: left;
    vertical-align: top;
}

.information table th {
    font-weight: normal;
    padding-right:clamp(2rem, 1.3rem + 3vw, 4rem);
    white-space: nowrap;
}

.information table tr:first-child th,
.information table tr:first-child td{
    padding-top: 0;
}

footer {
    background-color: #3D5142;
    color: #fff;
}

.footer-inner {
    padding: 4rem 0 5rem 0;
    position: relative;
}

.footer__text-inner {
    max-width: 560px;
    width: 100%;
}

.footer__text-inner .mail {
    font-size: clamp(1rem, 0.82rem + 0.75vw, 1.5rem);
}

.footer__text-inner a {
    color: #fff;
    text-decoration: underline;
}

.dog {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: absolute;
    bottom: 3.375rem;
    right: 0;
}

.dog figure:nth-child(1) {
    width: clamp(228px, 11.73vw + 178px, 340px);
    height: auto;
}

.dog figure:nth-child(2) {
        display: none;
}

.dog figure:nth-child(3) {
    max-width: clamp(85px, 3.26vw + 73px, 115px);
    height: auto;
    transform: translateY(-10%)
}

.footer__sns {
    margin-top: 2.75rem;
    padding: 0;
    display: flex;
    gap: 1.5rem;
    list-style: none;

}

.footer__sns figure {
    margin: 0;
    display: flex;
}

.footer__sns figure img {
    width: clamp(2.5rem, 1.72rem + 3.53vw, 4.5rem);
    height: auto;
    display: block;
}

.copyright {
    font-size:clamp(0.75rem, 0.66rem + 0.38vw, 1rem);
    text-align: end;
    margin-top: 165px;
}

@media (max-width: 1024px) {
    .information .section-inner,
    .service .section-inner {
        flex-direction: column;
    }
}

@media (max-width: 768px) {

    .footer-inner {
        padding: 2rem 0 2rem 0;
    }

    .dog {
        align-items: end;
        bottom: 2rem;
    }

    .dog figure:nth-child(1) {
        display: none;
    }

    .dog figure:nth-child(2) {
        display: block;
        width: clamp(228px, 11.73vw + 178px, 340px);
    }

    .footer__sns {
        gap: 0.75rem;
    }

    .copyright {
        margin-top: 185px;
    }

    .mta-80 {
        margin-top: 60px;
    }
}