*{margin:0;padding:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
::after,::before{box-sizing:border-box}
body{font-family:'Quicksand',sans-serif;font-size:clamp(.875rem,.44vw + .77rem,1.125rem);font-weight:400;margin:0;padding:0;background:#201b17;color:#FBFAF5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color 1s ease}
h1,h2,h3,h4,h5,h6{outline:none;margin:0}
p{line-height:1.6}
a{color:inherit}
a,a:focus,a:hover{outline:none;text-decoration:none}
a:hover{cursor:pointer}
input,select{vertical-align:middle}
button,input,select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;padding:0;border:none;border-radius:0;font-size:0.75rem;font-weight:300;line-height:1.6;color:#fff;background:#171717;letter-spacing:.05em;-webkit-text-size-adjust:100%}
button:focus,input:focus,select:focus,textarea:focus{outline:none}
textarea{resize:vertical;vertical-align:bottom}
button,input[type=button],input[type=reset],input[type=submit]{transition:opacity .3s;cursor:pointer}
button:hover,input[type=button]:hover,input[type=reset]:hover,input[type=submit]:hover{opacity:1}
input,textarea{border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}
button{background:transparent;border:0;color:inherit;cursor:pointer;font-family:inherit;letter-spacing:.06em;line-height:1.14;outline:0;padding:0;text-align:left}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}
::-ms-clear{display:none}
main,article,aside,dialog,figure,footer,header,hgroup,nav,section{position:relative;display:block}
ul,ol{list-style:none}
li{list-style:none}
nav ul{list-style:none}
figure{display:block;position:relative;line-height:0}
figure figcaption{line-height:1.6}
table{width:100%}
table th{text-align:left}
iframe{border:none}
canvas{vertical-align:bottom}
input,textarea,select,button{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;padding:0;border:none;border-radius:0;font-size:1rem;line-height:1.6;color:#000;background:#fff;letter-spacing:.05em;-webkit-text-size-adjust:100%}
textarea{resize:vertical;vertical-align:bottom}
input[type="submit"],input[type="reset"],input[type="button"],button{transition:opacity .3s;cursor:pointer}
input[type="submit"]:hover,input[type="reset"]:hover,input[type="button"]:hover,button:hover{opacity:.6}
blockquote,q{quotes: none}
blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}
strong{font-weight:800}
section{position:relative;padding:clamp(5rem,12.33vi + 2.11rem,10rem) 0}
span{display:inline-block}
svg{width:100%;height:auto}
.cormorantGaramond{font-family:'Cormorant Garamond',serif}
.noto-serif-jp{font-family:"Noto Serif JP",serif;font-optical-sizing:auto;font-weight:400;font-style:normal}
.-w--300{font-weight:300}
.-w--400{font-weight:400}
.ws_hide{display:block}
.ss_hide{display:none}
.ttl1{font-size:clamp(2.56rem,2.35vi + 2.01rem,4.13rem);line-height:clamp(3.69rem,3.29vi + 2.92rem,5.88rem)}
.ttl2{font-size:clamp(1.25rem,1.1vw + .99rem,1.75rem);line-height:clamp(1.625rem,1.44vw + 1.29rem,2.438rem)}
.sm-txt{font-size:clamp(.75rem,.28vi + .68rem,.938rem);line-height:.5rem;letter-spacing:.125em}
.font--sm{font-size:clamp(1rem,.52vw + .88rem,1.5rem);letter-spacing:.125em}
.font--m{font-size:clamp(1.375rem,1.1vw + 1.12rem,2rem);line-height:clamp(1.813rem,1.44vw + 1.48rem,2.625rem)}
.font--l{font-size:clamp(2rem,1.88vi + 1.56rem,3.25rem);line-height:clamp(2.94rem, 2.54vi + 2.34rem, 4.63rem)}
.font--xl{font-size:clamp(2rem,1.1vw + 1.74rem,2.625rem);line-height:clamp(2.625rem,1.44vw + 2.29rem,3.438rem)}
.font--xxl{font-size:clamp(2.875rem,1.55vw + 2.51rem,3.75rem);line-height:clamp(2.94rem,5.19vw + 1.72rem,5.875rem)}
.lead-txt{font-size:clamp(1.38rem,1.54vi + 1.01rem,2rem);line-height:1.4}
.italic{font-style:italic}
img{width:100%;height:auto}
.bg-noise{position:fixed;width:100%;top:0;left:0;right:0;bottom:0;z-index:-1;pointer-events:none;overflow:hidden}
.bg-noise::before{content:'';position:absolute;width:calc(100% + 20rem);height:calc(100% + 20rem);top:-10rem;left:-10rem;z-index:-1;pointer-events:none;background-image:url(../img/bg-noise.png);background-position:50%;animation:BgNoise 1s steps(2) infinite}
html.has-scroll-smooth{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}
html.has-scroll-dragging{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
.has-scroll-smooth body{overflow:hidden}
.has-scroll-smooth [data-scroll-container]{min-height:100vh}
[data-scroll-direction=horizontal] [data-scroll-container]{display:inline-block;height:100vh;white-space:nowrap}
[data-scroll-direction=horizontal] [data-scroll-section]{display:inline-block;height:100%;vertical-align:top;white-space:nowrap}
.c-scrollbar{width:.688rem;height:100%;position:absolute;top:0;right:0;transform-origin:center right;transition:transform .3s, opacity .3s;opacity:0}
.c-scrollbar:hover,.has-scroll-dragging .c-scrollbar,.has-scroll-scrolling .c-scrollbar{opacity:1}
[data-scroll-direction=horizontal] .c-scrollbar{width:100%;height:.625rem;top:auto;bottom:0;transform:scaleY(1);}
[data-scroll-direction=horizontal] .c-scrollbar:hover{transform: scaleY(1.3)}
.c-scrollbar_thumb{position:absolute;width:.438rem;right:0;top:0;margin:.125rem;background-color:#201b17;border-radius:.625rem;cursor:-webkit-grab;cursor:grab;opacity:.5}
.has-scroll-dragging .c-scrollbar_thumb{cursor:-webkit-grabbing;cursor:grabbing}
[data-scroll-direction=horizontal] .c-scrollbar_thumb{right:auto;bottom:0}
.disable-scroll body{overflow:inherit!important}
html.disable-scroll{position:relative!important;overflow:inherit!important}
.grecaptcha-badge{visibility:hidden}
.btn{margin-top:2.5rem}
.btn-primary a{font-size:clamp(.75rem,.31vi + .68rem,.875rem);display:inline-flex;justify-content:center;align-items:center;width:clamp(7.81rem,4.62vi + 6.73rem,9.69rem);height:clamp(3.44rem,1.54vi + 3.08rem,4.06rem);background:#FBFAF5;color:#201b17;border-radius:62.5rem;line-height:clamp(3.44rem,1.54vi + 3.08rem,4.06rem);letter-spacing:.125em}
.btn-primary.dark-btn a{background:#201b17;color:#FBFAF5}
.btn-secondary{text-align:center}
.btn-secondary a{font-family:'Quicksand',sans-serif;font-size:clamp(.75rem,.31vi + .68rem,.875rem);display:inline-flex;justify-content:center;align-items:center;width:15rem;height:clamp(3.44rem,1.54vi + 3.08rem,4.06rem);background:#FBFAF5;color:#201b17;border-radius:62.5rem;line-height:clamp(3.44rem,1.54vi + 3.08rem,4.06rem);letter-spacing:.125em}
.btn-secondary.dark-btn a{background:#201b17;color:#FBFAF5}
.btn-circle a,.btn-circle button{font-size:clamp(.625rem,.38vw + .55rem,1rem);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;position:relative;width:clamp(5rem,2.21vw + 4.48rem,6.25rem);height:clamp(5rem,2.21vw + 4.48rem,6.25rem);background:rgba(255,255,255,0);color:#FBFAF5;border:.063rem solid #FBFAF5;border-radius:50%;transition:.3s ease-out;overflow:hidden}
.btn-circle a span,.btn-circle button span{position:relative;line-height:1.4;letter-spacing:.125em;z-index:2}
.btn-circle.hover-fill a::before,.btn-circle.hover-fill button::before{content:'';position:absolute;display:block;width:100%;height:0;right:0;bottom:0;left:0;background-color:rgba(32,27,23,1);transition:0.3s ease-out;border-radius:50%}
.btn-circle.hover-fill a:hover::before,.btn-circle.hover-fill button:hover::before{height:100%}
.btn-outline a{font-size:clamp(.75rem,.31vi + .68rem,.875rem);display:inline-flex;align-items:center;justify-content:center;position:relative;width:clamp(7.81rem,4.62vi + 6.73rem,9.69rem);height:clamp(3.44rem,1.54vi + 3.08rem,4.06rem);background:rgba(255,255,255,0);color:#201b17;background:#FBFAF5;border:.063rem solid #201b17;border-radius:62.5rem;transition:.3s ease-out;overflow:hidden}
.btn-outline a span{position:relative;line-height:1.4;letter-spacing:.125em;z-index:2}
.btn-outline.hover-fill a::before{content:'';position:absolute;display:block;width:100%;height:0;right:0;bottom:0;left:0;background-color:rgba(32,27,23,1);transition:0.3s ease-out;border-radius:62.5rem}
.btn-outline a:hover{color:#FBFAF5}
.btn-outline.hover-fill a:hover::before{height:100%}
.container,.container-lg,.flex-container{position:relative;width:100%;margin:0 auto;padding:0 1.563rem}
@media (min-width:62rem){}
/*-- media queries --*/
@media (min-width:64rem){
.ws_hide{display:none}
.ss_hide{display:block}
.container{max-width:74.375rem}
.container-lg{max-width:96.625rem}
}
@-webkit-keyframes BgNoise{0%{transform:translate3d(0,9rem,0)}10%{transform:translate3d(-1rem,-4rem,0)}20%{transform:translate3d(-8rem,2rem,0)}30%{transform:translate3d(9rem,-9rem,0)}40%{transform:translate3d(-2rem,7rem,0)}50%{transform:translate3d(-9rem,-4rem,0)}60%{transform:translate3d(2rem,6rem,0)}70%{transform:translate3d(7rem,-8rem,0)}80%{transform:translate3d(-9rem,1rem,0)}90%{transform:translate3d(6rem,-5rem,0)}to{transform:translate3d(-7rem,0,0)}}
@keyframes BgNoise{0%{transform:translate3d(0,9rem,0)}10%{transform:translate3d(-1rem,-4rem,0)}20%{transform:translate3d(-8rem,2rem,0)}30%{transform:translate3d(9rem,-9rem,0)}40%{transform:translate3d(-2rem,7rem,0)}50%{transform:translate3d(-9rem,-4rem,0)}60%{transform:translate3d(2rem,6rem,0)}70%{transform:translate3d(7rem,-8rem,0)}80%{transform:translate3d(-9rem,1rem,0)}90%{transform:translate3d(6rem,-5rem,0)}to{transform:translate3d(-7rem,0,0)}}

