/* ----------------------------------
ページトップ
---------------------------------- */
.page-top{
position:fixed;
right:2rem;
bottom:2rem;
width:5rem;
height:5rem;
background:rgba(255,255,255,.6);
backdrop-filter:blur(8px);
-webkit-backdrop-filter:blur(8px);
box-shadow:0 4px 20px rgba(0,0,0,.12);
border:0px;
border-radius:.4rem;
cursor:pointer;
opacity:0;
visibility:hidden;
transform:translateY(60px);
z-index:1000;
display:flex;
align-items:center;
justify-content:center;
transition:
opacity .3s ease,
transform .3s ease,
visibility .3s;
}

.page-top::after{
content:"";
display:block;
width:3.2rem;
height:3.2rem;
background-repeat:no-repeat;
background-position:center;
background-size:contain;
background-image:url('/2026-image/common/chevron_up.svg');
}

/* 表示状態 */
.page-top.show{
opacity:1;
visibility:visible;
transform:translateY(0);
}

/* hover */
.page-top:hover{
transform: translateY(-3px);
}


/* SP */
@media (max-width:800px){
.page-top{
right:1.5rem;
bottom:1.5rem;
}
}

@media (max-width:500px){
.page-top{
right:1rem;
}
}

/* ----------------------------------
FOOTER
---------------------------------- */
.site-footer{
background:var(--color-gray1);
color:#FFF;
}

.site-footer__inner{
max-width:var(--width-max1);
margin:0 auto;
padding:6rem 2rem;
display:grid;
grid-template-columns:2fr 3fr;
gap:6rem;

}


/* ----------------------------------
左側
---------------------------------- */
.site-footer__logo{
display:block;
margin-bottom:3rem;
filter:invert(100);
max-width:200px;
}

.site-footer__tel img{
filter:invert(100);
max-width:300px;
margin-top:1rem;
margin-bottom:.5rem;
width:80%;
}

.site-footer__tel {
margin-bottom:2rem;
}

.site-footer__brand em{
font-size:1.8rem;
font-style:normal;
font-family:"mincho", serif;
display:block;
padding-bottom:1rem;
color:var(--color-gray6);
}

.site-footer__brand p{
font-size:1.35rem;
line-height:2;
color:var(--color-gray4);
}



/* ----------------------------------
右側
---------------------------------- */
.site-footer__nav{
justify-self:end;
display:grid;
grid-template-columns:repeat(2,1fr);
gap:3rem;
}

.site-footer__col h3{
font-family:"Cinzel", serif;
font-size:1.25rem;
font-weight:500;
letter-spacing:.14em;
color:#CFA8B8;
margin-bottom:2rem;
}

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

.site-footer__col li{
margin-bottom:1.1rem;
}

.site-footer__col a{
position:relative;
display:inline-block;
padding-left:1.4rem;
color:rgba(255,255,255,.72);
text-decoration:none;
font-size:1.35rem;
line-height:1.6;
transition:.25s;
}

.site-footer__col a::before{
content:"";
position:absolute;
left:0;
top:.9em;
width:6px;
height:1px;
background:#8FA9C2;
transition:.25s;
}

.site-footer__col a:hover{
color:#fff;
}

.site-footer__col a:hover::before{
width:10px;
background:#CFA8B8;
}


/* ----------------------------------
Copyright
---------------------------------- */
.site-footer__bottom{
border-top:1px solid rgba(255,255,255,.12);
padding:3.2rem 2rem;
text-align:center;
}

.site-footer__bottom p{
font-size:1.2rem;
letter-spacing:.08em;
color:rgba(255,255,255,.45);
}


/* SP */
@media (max-width:800px){
.site-footer__inner{
grid-template-columns:1fr;
gap:4rem;
}

.site-footer__brand{
text-align:center;
}

.site-footer__logo{
margin:0 auto 3rem auto;
}

.site-footer__brand p{
margin:0 auto 0 auto;
width:80%;
}

.site-footer__nav{
justify-self:center;
}

}


@media (max-width:600px){
.site-footer__inner{
padding:4.5rem 2rem;
}

.site-footer__brand p{
width:100%;
}

.site-footer__nav{
grid-template-columns:1fr;
gap:3.2rem;
}

.site-footer__logo{
font-size:2.8rem;
}

}