@charset "utf-8";

@import url("https://fonts.googleapis.com/css2?family=Baskervville+SC:wght@500&family=Noto+Sans+JP:wght@700&family=Roboto+Condensed:wght@400;500;600;700&family=Zen+Old+Mincho:wght@400;500;600&display=swap");

body{
-webkit-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
color:#000;
font-feature-settings: "palt" 1;
font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,osaka,ＭＳ Ｐゴシック,MS PGothic,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji,sans-serif;
font-weight: 600
}

*{
margin:0px;
padding:0px;
box-sizing:border-box;
outline: 0;
}

ul,li{
list-style:none;
}

li{
font-style: normal;
}

i{
font-style: normal;
display: block
}

img{
max-width:100%;
display:block;
}

a{
text-decoration: none;
color: #000
}

:root {
--red:#6b1325;
--pink:#ec76a2;
--brown:#905644;
--right_green:#eef8e6;
--green:#00854c;
--black:#022b64;
--grad-red: linear-gradient(to top, #631b24, #b11e33);
--grad-gold: linear-gradient(90deg,rgba(54, 19, 7, 1) 0%, rgba(161, 106, 36, 1) 23%, rgba(54, 19, 7, 1) 44%, rgba(161, 106, 36, 1) 67%, rgba(54, 19, 7, 1) 86%, rgba(161, 106, 36, 1) 100%);
--grad-gold2:linear-gradient(90deg,rgba(175, 142, 62, 1) 0%, rgba(208, 181, 88, 1) 23%, rgba(255, 249, 196, 1) 72%, rgba(183, 154, 96, 1) 100%);
--gold:#cab97c;
--font-serif: "Zen Old Mincho", serif;
--luxury-charcoal:#252525;
--luxury-charcoal-soft:#343434;
--luxury-ivory:#f5f1e8;
--luxury-cream:#ebe3d4;
--luxury-champagne:#c8aa6a;
--luxury-gold:#9c793e;
--luxury-silver:#c8c6c0;
--luxury-charcoal-texture:url("../img/icon/gray-hq.webp?v=1");
background-size: 100%
}

/*--------------------loading / scroll motion--------------------*/

.site-loader{
display: none
}

.js .site-loader{
width: 100%;
height: 100%;
position: fixed;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
background: #fff;
z-index: 9999;
opacity: 1;
visibility: visible;
transition: opacity .45s ease, visibility .45s ease
}

.js .site-loader.is-hidden{
opacity: 0;
visibility: hidden;
pointer-events: none
}

.site-loader_inner{
width: min(56%, 230px);
text-align: center
}

.site-loader_logo{
display: block;
margin-bottom: 12px;
color: var(--red);
font-family: var(--font-serif);
font-size: clamp(18px, 4vw, 26px);
letter-spacing: .05em
}

.site-loader_line{
height: 1px;
display: block;
position: relative;
overflow: hidden;
background: rgba(202, 185, 124, .35)
}

.site-loader_line:after{
content: "";
width: 45%;
height: 100%;
position: absolute;
top: 0;
left: -45%;
background: linear-gradient(90deg, transparent, var(--gold), transparent);
animation: loaderLine 1s ease-in-out infinite
}

@keyframes loaderLine{
to{left: 100%}
}

.js .scroll-reveal{
opacity: 0;
transform: translateY(18px);
transition: opacity .7s ease, transform .7s cubic-bezier(.22, 1, .36, 1)
}

.js .scroll-reveal.is-visible{
opacity: 1;
transform: translateY(0)
}

@media (prefers-reduced-motion: reduce){
.site-loader_line:after{animation: none}
.js .site-loader{transition-duration: .01ms}
.js .scroll-reveal{
opacity: 1;
transform: none;
transition: none
}
}
