@charset "UTF-8";
:root {
--sa-bg:        #FAFAFA;
--sa-text:      #3C3835;
--sa-secondary: #54595F;
--sa-accent:    #D7C5AB;
--sa-subtitle:  #8B8B8B;
--sa-gold:      #D4AF37;
--sa-esthe:     #E288D9;
--sa-nail:      #005ED6;
--sa-header-bg: #FAFAFAE0;
--sa-footer-bg: #FFFFFF;
--sa-copy-bg:   #2A2A2A;
--sa-copy-text: #C8D5DC;
--sa-font-system: "Noto Sans JP", sans-serif;
--sa-font-body:    "Noto Sans JP", sans-serif;
--sa-font-serif:   "Noto Serif JP", "Yu Mincho", "YuMincho", serif;
--sa-font-marcell: "Marcellus", serif;
--sa-font-display: "Qwigley", cursive;
--sa-font-menu:    "Marcellus", serif;
--sa-font-menu-alt:"Cormorant Garamond", serif;
--sa-container:   1140px;
--sa-header-h:    100px;
--sa-header-h-sp: 80px;
}
body {
background-color: var(--sa-bg);
color: var(--sa-text);
font-family: var(--sa-font-body);
font-weight: 400;
}
html, body { max-width: 100%; overflow-x: clip; }
@supports not (overflow: clip) {
html, body { overflow-x: hidden; }
}
.sa-fade {
opacity: 0;
transition: opacity .8s ease;
}
.sa-fade.is-in { opacity: 1; }
.sa-fade--slow { transition-duration: 2s; }
.sa-rise { opacity: 0; transform: translateY(10px); transition: opacity .8s ease, transform .8s ease; }
.sa-rise.is-in { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
.sa-fade, .sa-rise { opacity: 1; transform: none; transition: none; }
}
#sa-header{ position:relative; }
.sa-bar{
position:fixed; top:0; left:0; width:100%;
box-sizing:border-box; display:flex;
min-height:var(--sa-header-h);
background:var(--sa-header-bg);
z-index:1000;
}
.sa-bar__inner{ width:100%; max-width:var(--sa-container); margin:0 auto; box-sizing:border-box; display:flex; }
.sa-bar__row{ width:90%; box-sizing:border-box; padding:10px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.sa-header--sub .sa-bar{ padding:0 10px; border-bottom:.5px solid #333; }
.sa-header--sub .sa-bar__inner{ padding:10px 0; }
.sa-header--front .sa-bar{ padding:0; border-bottom:.5px solid transparent; transition:border-color .5s ease-in-out; }
.sa-header--front .sa-bar.with-border{ border-bottom-color:#000; }
.sa-header--front .sa-bar__inner{ padding:0; }
@media (max-width:767px){
.sa-bar__row{ width:100%; }
.sa-header--front .sa-bar{ min-height:var(--sa-header-h-sp); }
.sa-logo{ margin:5px 0 5px 5px; }
}
.sa-logo-wrap{ flex:0 0 auto; }
.sa-logo{ display:inline-block; font-family:var(--sa-font-menu); font-size:40px; line-height:1.5; text-decoration:none; }
.sa-logo img{ display:inline-block; vertical-align:middle; width:150px; max-width:150px; height:auto; }
.sa-yoko-wrap{ position:fixed; top:0; right:0; width:90%; box-sizing:border-box; padding:10px; z-index:1111; display:flex; }
.sa-yoko{ position:absolute; right:0; top:30px; z-index:2000;
font-family:var(--sa-font-menu); font-style:normal; font-weight:300; }
.sa-yoko .menu{ display:flex; list-style:none; padding:0; margin:0; }
.sa-yoko .menu-item{ position:relative; margin-right:20px; }
.sa-yoko .menu-item > a{ display:flex; align-items:center; padding:10px 15px; text-decoration:none;
color:#333; font-size:18px; line-height:1.5; font-family:inherit; font-weight:inherit;
transition:all .3s ease-in-out; position:relative; }
.sa-yoko .menu-item.menu-item-has-children > a::after{ content:"+"; font-size:16px; margin-left:10px; transition:transform .3s ease-in-out; }
.sa-yoko .menu-item.menu-item-has-children:hover > a::after{ transform:rotate(180deg); }
.sa-yoko .sub-menu{ list-style:none; margin:0; position:absolute; top:100%; left:0;
background:#fafafa; box-shadow:0 4px 6px rgba(0,0,0,.1);
opacity:0; visibility:hidden; transform:translateY(-10px);
transition:opacity .4s ease, transform .4s ease, visibility .4s ease; }
.sa-yoko .menu-item.menu-item-has-children:hover .sub-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.sa-yoko .sub-menu .menu-item > a{ display:block; font-size:14px; color:#555; text-align:left; white-space:nowrap; transition:all .3s ease-in-out; }
.sa-yoko .sub-menu .menu-item > a:hover{ color:#007BFF; background:#f8f9fa; }
.sa-header--sub   .sa-yoko .sub-menu{ padding:5px 0; }
.sa-header--sub   .sa-yoko .sub-menu .menu-item{ padding:4px 15px; }
.sa-header--sub   .sa-yoko .sub-menu .menu-item > a{ padding:4px 15px; }
.sa-header--front .sa-yoko .sub-menu{ padding:0; }
.sa-header--front .sa-yoko .sub-menu .menu-item{ padding:8px 15px; }
.sa-header--front .sa-yoko .sub-menu .menu-item > a{ padding:8px 15px; }
.sa-header--front .sa-yoko .menu-item > a{ transition:all .5s ease-in-out; }
.sa-header--front .sa-yoko{ opacity:0; pointer-events:none; transform:translateY(-20px);
transition:opacity .5s ease-in-out, transform .5s ease-in-out; }
.sa-header--front .sa-yoko.visible{ opacity:1; pointer-events:auto; transform:translateY(0); }
@media (max-width:767px){ .sa-yoko-wrap{ display:none; } }
.sa-tate-wrap{ position:relative; width:100%; box-sizing:border-box; padding:10px; z-index:1111;
opacity:1; transition:opacity .5s ease-in-out; }
.sa-tate-wrap.hidden{ opacity:0; }
.sa-tate{ position:fixed; top:31px; right:0; z-index:999; font-family:var(--sa-font-menu);
box-sizing:content-box; padding-right:16px;  }
.sa-tate .menu{ list-style:none; padding:0; margin:0; }
.sa-tate .menu-item{ position:relative; margin-bottom:5px; }
.sa-tate .menu-item > a{ display:flex; justify-content:flex-end; align-items:center; padding:10px;
text-decoration:none; color:#333; background:none; font-size:18px; line-height:1.5;
transition:all .5s ease-in-out; position:relative; }
.sa-tate .menu-item > a::after{ content:"+"; font-size:16px; margin-left:10px; transition:transform .3s ease-in-out; visibility:hidden; }
.sa-tate .menu-item.menu-item-has-children > a::after{ visibility:visible; }
.sa-tate .menu-item.menu-item-has-children:hover > a::after{ transform:rotate(180deg); }
.sa-tate .sub-menu{ list-style:none; padding:0; margin:0; height:0; overflow:hidden; opacity:0;
transform:translateY(-10px); transition:height 1.3s ease, opacity .3s ease, transform .3s ease; }
.sa-tate .menu-item.menu-item-has-children:hover .sub-menu{ height:auto; opacity:1; transform:translateY(0); overflow:visible; }
.sa-tate .sub-menu .menu-item{ background:none; padding:8px 0; }
.sa-tate .sub-menu .menu-item > a{ display:block; padding:5px 10px; font-size:14px; color:#555; text-align:right; transition:all .5s ease-in-out; }
.sa-tate .sub-menu .menu-item > a:hover{ color:#007BFF; transform:translateX(5px); }
@media (max-width:767px){ .sa-tate{ display:none; } }
.sa-burger{ display:none; }
@media (max-width:767px){
.sa-burger{ display:flex; align-items:center; justify-content:center; position:relative;
width:30px; height:30px; box-sizing:border-box; padding:10px 0;
background:none; border:0; cursor:pointer; flex:0 0 auto; z-index:99999999; }
.sa-burger *{ transition:all .2s; }
.sa-burger > span{ position:relative; display:block; width:100%; height:2px; background:#000; }
.sa-burger > span::before,
.sa-burger > span::after{ content:""; position:absolute; left:0; width:100%; height:2px; background:#000; }
.sa-burger > span::before{ top:-10px; }
.sa-burger > span::after{ top:10px; }
.sa-burger.is-open > span{ transform:rotate(135deg); }
.sa-burger.is-open > span::before{ top:0; transform:rotate(90deg); }
.sa-burger.is-open > span::after{ top:0; opacity:0; }
}
.sa-fsmenu{ position:fixed; top:0; right:0; bottom:0; left:0; visibility:hidden; pointer-events:none; z-index:99998; }
.sa-fsmenu__inner{ width:100%; height:100%; display:flex; align-items:center; justify-content:center;
background-image:linear-gradient(270deg, #000000 0%, #000000C4 100%);
transform:translate(100%, 0); opacity:0; visibility:hidden;
transition:opacity .7s ease, transform .7s ease; }
.sa-fsmenu.is-open{ pointer-events:auto; }
.sa-fsmenu.is-open .sa-fsmenu__inner{ visibility:visible; opacity:1; transform:translate(0, 0); }
.sa-fsmenu__nav{ width:100%; text-align:center; opacity:0; transition:opacity .4s ease; }
.sa-fsmenu.is-open .sa-fsmenu__nav{ opacity:1; transition:opacity .4s ease .4s; }
.sa-fsmenu .menu,
.sa-fsmenu .sub-menu{ list-style:none; margin:0; padding:0; }
.sa-fsmenu .menu > .menu-item{ margin:15px; }
.sa-fsmenu .menu-item > a{ display:inline-block; color:#fff; text-decoration:none;
font-family:var(--sa-font-menu); font-size:18px; line-height:1.5; }
.sa-fsmenu .sub-menu .menu-item{ margin:10px; }
.sa-fsmenu .sub-menu .menu-item > a{ font-size:15px; line-height:1.5; }
@media (min-width:768px){ .sa-fsmenu{ display:none; } }
.sa-footer{ background:var(--sa-footer-bg); }
.sa-footer__main{ background:var(--sa-footer-bg); padding:0; }
.sa-footer__inner{ max-width:970px; margin:0 auto; padding:4% 0;
display:flex; flex-direction:row; flex-wrap:nowrap; justify-content:space-between; align-items:stretch; gap:0; }
.sa-fcol{ display:flex; flex-direction:column; box-sizing:border-box; }
.sa-fcol--brand{   width:30%; padding-right:5%; gap:0; }
.sa-fcol--links{   width:25%; gap:24px; }
.sa-fcol--contact{ width:25%; gap:24px; }
.sa-fcol--map{     width:20%; gap:20px; }
@media (max-width:1024px){
.sa-footer__main{ padding:0 4%; }
.sa-footer__inner{ padding:8% 0; flex-wrap:wrap; }
.sa-fcol--brand{   width:36%; padding-right:0; gap:30px; }
.sa-fcol--links{   width:32%; padding-left:4%; }
.sa-fcol--contact{ width:32%; padding-left:4%; }
.sa-fcol--map{     width:100%; margin-top:8%; }
}
@media (max-width:767px){
.sa-footer__main{ padding:0 6%; }
.sa-footer__inner{ padding:20% 0; }
.sa-fcol--brand{   width:100%; align-items:center; gap:0; }
.sa-fcol--links{   width:45%; margin-top:48px; padding-left:0; align-items:flex-start; }
.sa-fcol--contact{ width:55%; margin-top:48px; padding-left:0; align-items:flex-start; }
.sa-fcol--map{     width:100%; margin-top:32px; }
}
.sa-fbrand{ margin-bottom:2em; font-family:var(--sa-font-system); font-size:16px; line-height:24px; }
.sa-fbrand__img{ display:inline-block; vertical-align:baseline; margin:0 0 10px; width:60%; }
.sa-fbrand__img img{ display:block; width:100%; height:auto; }
.sa-fbrand__desc{ margin:0; font-family:"Poppins", var(--sa-font-body);
font-size:12px; font-weight:300; line-height:1.7em; letter-spacing:0; color:var(--sa-text); }
@media (max-width:1024px){
.sa-fbrand__img{ width:45%; margin-bottom:15px; }
.sa-fbrand__desc{ font-size:14px; }
}
@media (max-width:767px){
.sa-fbrand{ text-align:center; width:min(300px, 100%); margin-left:auto; margin-right:auto; }
}
.sa-fsns{ display:flex; flex-direction:column; gap:15px; }
.sa-fsns__row{ display:flex; flex-direction:row; flex-wrap:nowrap; align-items:center; gap:15px; }
.sa-fsns__labelbox{ font-family:var(--sa-font-system); font-size:16px; line-height:24px; }
.sa-fsns__label{ display:inline-block; vertical-align:middle; width:115px; height:auto; }
.sa-fsns__label--nail{ width:80px; margin-right:50px; }
.sa-fsns__icons{ list-style:none; margin:0; padding:1px 1px 1px 0;
display:flex; flex-wrap:wrap; align-items:center; gap:0 20px; min-width:0; }
.sa-fsns__icons img{ display:block; width:20px; height:20px; }
@media (max-width:1024px){
.sa-fsns__row:first-child .sa-fsns__icons{ gap:0 15px; }
.sa-fsns__icons img{ width:18px; height:18px; }
}
@media (max-width:767px){
.sa-fsns{ width:64%; }
.sa-fsns__row{ gap:10px; }
.sa-fsns__labelbox{ min-width:0; }
.sa-fsns__label{ max-width:100%; }
.sa-fsns__icons img{ width:20px; height:20px; }
}
.sa-fheadbox{ font-family:var(--sa-font-system); font-size:16px; line-height:24px; }
.sa-fhead{ display:inline-block; vertical-align:middle; height:auto; }
.sa-fhead--link{ width:140px; }
.sa-fhead--touch{ width:145px; }
@media (max-width:767px){ .sa-fhead--link{ width:130px; } }
.sa-fnav{ display:flow-root; padding:0 32px 0 0; }
.sa-fnav .menu{ list-style:none; margin:-6px 0 16px; padding:0; }
.sa-fnav .sub-menu{ display:none; }
.sa-fnav a{ display:block; text-decoration:none; padding:9.6px 16px;
font-family:"Roboto", var(--sa-font-body); font-size:14px; font-weight:400; line-height:20px;
letter-spacing:0; color:var(--sa-text); transition:color .3s; }
.sa-fnav a:hover{ color:#C8D5DC; }
.sa-fnav .menu-item-has-children > a{ display:flex; align-items:center; }
.sa-fnav .menu-item-has-children > a::after{
content:""; flex:0 0 auto; width:24px; height:14px; margin:0;
background-image:linear-gradient(currentColor,currentColor), linear-gradient(currentColor,currentColor);
background-repeat:no-repeat, no-repeat;
background-size:12.25px 2.625px, 2.625px 14px;
background-position:right center, right 4.8125px center;
}
@media (max-width:767px){ .sa-fnav{ padding:0; } }
.sa-flist{ list-style:none; margin:0; padding:0; }
.sa-flist li{ font-family:"Roboto", var(--sa-font-body); font-size:14px; font-weight:400;
line-height:40px; color:var(--sa-text); }
.sa-flist li:not(:last-child){ padding-bottom:5px; }
.sa-flist li:not(:first-child){ margin-top:5px; }
.sa-flist a{ color:inherit; text-decoration:none; }
@media (max-width:1024px){ .sa-flist li{ font-family:var(--sa-font-body); font-size:16px; line-height:40px; } }
@media (max-width:767px){
.sa-flist li:not(:last-child){ padding-bottom:4px; }
.sa-flist li:not(:first-child){ margin-top:4px; }
}
.sa-fmapbox{ font-family:var(--sa-font-system); font-size:16px; line-height:24px; }
.sa-fcol--map iframe{ width:100%; height:245px; border:0; display:inline; vertical-align:baseline; filter:grayscale(100%); }
.sa-copy{ min-height:45px; background:var(--sa-copy-bg);
display:flex; flex-direction:column; justify-content:center; align-items:stretch; }
.sa-copy__text{ margin:0; text-align:center;
font-family:"Poppins", var(--sa-font-body); font-size:16px; font-weight:300; line-height:1.5em;
letter-spacing:0; color:var(--sa-copy-text); }
.sa-copy__links{ display:inline-block; margin-left:10px; font-size:10px; font-weight:400; letter-spacing:.08em; opacity:.72; }
.sa-copy__links a{ color:inherit; font-size:10px; line-height:inherit; letter-spacing:inherit; text-decoration:none; }
.sa-copy__sep{ margin:0 7px; }
@media (max-width:1024px){ .sa-copy__text{ font-size:14px; } }
body.sa-page-facial, body.sa-page-body, body.sa-page-hair,
body.sa-page-detox, body.sa-page-nail,
body.sa-page-esthetic-prices, body.sa-page-nail-prices{ background-color:#D7C5AB30; }
.sa-menu{ margin:80px 0; padding:0; }
.sa-menu__inner{ display:flex; flex-direction:column; align-items:center; }
.sa-menu__content{ width:830px; max-width:100%; position:relative; display:flex; flex-direction:column; }
.sa-menu__title{ margin:160px 0 100px -80px; }
.sa-menu__title h1{ margin:0; padding:0;
font-family:var(--sa-font-display); font-size:120px; line-height:120px; font-weight:500;
letter-spacing:4px; color:var(--sa-gold); }
.sa-menu__ja{ margin:0; padding-left:2px;
font-family:var(--sa-font-serif); font-size:12px; line-height:1;
letter-spacing:.3em; color:#6F6963; }
.sa-menu__deco{ position:absolute; top:-20px; right:-35px; width:400px; max-width:min(400px, 100vw); text-align:center; }
.sa-menu__deco img{ display:block; width:100%; height:auto; opacity:.15; transform:rotate(20deg); }
.sa-menu__block{ display:flex; flex-direction:row-reverse; flex-wrap:nowrap;
justify-content:space-between; gap:20px; }
.sa-menu__block + .sa-menu__block{ margin-top:20px; }
.sa-menu__photo{ width:65%; max-width:65%; align-self:center; text-align:center; }
.sa-menu__photo img{ display:block; width:100%; height:auto; }
.sa-menu__text{ width:60%; display:flex; flex-direction:column; }
.sa-menu__name{ margin:0 0 20px; padding:0;
font-family:var(--sa-font-serif); font-size:26px; font-weight:700; line-height:1.5;
letter-spacing:normal; color:#333; }
.sa-menu__catch{ margin:0 0 20px; padding:0;
font-family:var(--sa-font-serif); font-size:16px; font-weight:700; line-height:1.2em;
letter-spacing:normal; color:#333; }
.sa-menu__body{ margin:0;
font-family:var(--sa-font-body); font-size:16px; font-weight:400; line-height:40px; color:var(--sa-text); }
.sa-menu__body p{ margin:0 0 .9em; }
.sa-menu__title-sp{ display:none; }
.sa-menu__title-sp h1{ margin:0; padding:0;
font-family:var(--sa-font-display); font-size:120px; line-height:60px; font-weight:500;
letter-spacing:4px; color:var(--sa-gold); text-align:start; white-space:nowrap; }
.sa-menu__sub{ display:block; text-align:right; }
@media (max-width:767px){
.sa-menu{ margin:-32px 0 0; padding:0 16px; }
.sa-menu__content{ width:100%; margin-top:160px; }
.sa-menu__title{ margin:32px 0 20px; text-align:start; align-self:center; }
.sa-menu__title--pc{ display:none; }
.sa-menu__title-sp{ display:block; width:100%; max-width:100%; align-self:center;
margin:32px 0 20px; padding:0 24px 0 0; }
.sa-menu__deco{ top:350px; }
.sa-menu__block{ flex-direction:column; }
.sa-menu__photo{ width:100%; max-width:100%; }
.sa-menu__text{ width:100%; }
}
.sa-facial__list{ display:flex; flex-direction:column; gap:100px; }
.sa-facial__block{ display:flex; flex-direction:row; flex-wrap:nowrap; justify-content:space-between; gap:20px; }
.sa-facial__block:nth-child(even){ flex-direction:row-reverse; }
.sa-facial__block:last-child{ margin-bottom:32px; }
.sa-facial__left,
.sa-facial__right{ width:50%; display:flex; flex-direction:column; gap:20px; }
.sa-facial__right{ justify-content:center; }
.sa-facial__img{ min-height:250px; background-position:center center; background-repeat:no-repeat; background-size:cover; }
.sa-facial__rec{ font-family:var(--sa-font-body); font-size:16px; font-weight:400; line-height:32px; color:var(--sa-text); }
.sa-facial__rec p{ margin:0 0 .9em; }
.sa-facial__name{ margin:0; padding:0; font-family:var(--sa-font-serif); font-size:26px; font-weight:700; line-height:26px; color:#333; }
.sa-facial__catch{ margin:0; padding:0; font-family:var(--sa-font-serif); font-size:16px; font-weight:700; line-height:1.2em; color:#333; }
.sa-facial__body{ font-family:var(--sa-font-body); font-size:16px; font-weight:400; line-height:40px; color:var(--sa-text); }
.sa-facial__body p{ margin:0 0 .9em; }
@media (max-width:767px){
.sa-facial__block,
.sa-facial__block:nth-child(even){ flex-direction:column; }
.sa-facial__left,
.sa-facial__right{ width:100%; }
}
.sa-open{
position:fixed; inset:0; z-index:9000; pointer-events:none;
--sa-R: calc((100vw - 940px) / 4);
--sa-seat-top: 360px;
--sa-step: 21.96px;
--sa-half: 142.7px;
--sa-fold: 1.6s;
--sa-t0: 2.2s;
}
.sa-open__veil{
position:absolute; inset:0; z-index:1;
background:var(--sa-bg);
opacity:0; visibility:hidden;
}
.sa-open.is-play .sa-open__veil{
opacity:1; visibility:visible;
animation:sa-veil-out 1.2s ease var(--sa-t0) forwards;
}
.sa-open__ja{
position:absolute; z-index:2; margin:0; padding:0;
right:var(--sa-R); top:var(--sa-seat-top);
width:0; height:0; transform-origin:0 0;
}
.sa-open__ja s{
position:absolute; left:0; top:0; display:block;
text-decoration:none; white-space:pre;
font-family:var(--sa-font-serif); font-weight:400; font-size:18px; line-height:1;
color:#3C3835;
transform:translate(var(--px,0px), calc(var(--i) * var(--sa-step) + var(--py,0px)));
}
.sa-open.is-play .sa-open__ja{
transform:translate(calc(-25vw - 235px), calc(50vh - 380px)) scale(1.7);
animation:sa-travel calc(var(--sa-fold) + .2s) var(--sa-ease) var(--sa-t0) forwards;
}
.sa-open.is-play .sa-open__ja s{
opacity:0;
transform:translate(calc(var(--i) * var(--sa-step) - var(--sa-half)), 0);
animation-name:sa-char-in, sa-fold;
animation-duration:.6s, var(--sa-fold);
animation-delay:calc(.8s + var(--i) * .045s), calc(var(--sa-t0) + var(--i) * .028s);
animation-timing-function:var(--sa-ease), var(--sa-ease);
animation-fill-mode:forwards, forwards;
}
.sa-open__en-h{
position:absolute; z-index:2; margin:0; left:0; right:0;
top:calc(50vh - 74px); text-align:center;
font-family:var(--sa-font-marcell); font-size:12px; letter-spacing:.3em;
color:var(--sa-subtitle);
opacity:0; visibility:hidden;
}
.sa-open.is-play .sa-open__en-h{
visibility:visible;
animation:sa-soft-in .9s ease .35s forwards, sa-soft-out .5s ease calc(var(--sa-t0) + .1s) forwards;
}
.sa-open__en-v{
position:absolute; z-index:2; margin:0;
right:calc(var(--sa-R) + 38px); top:calc(var(--sa-seat-top) + 2px);
writing-mode:vertical-rl; text-orientation:mixed;
font-family:var(--sa-font-marcell); font-size:10px; letter-spacing:.26em;
color:var(--sa-subtitle); white-space:nowrap;
}
.sa-open.is-play .sa-open__en-v{
opacity:0;
animation:sa-soft-in .8s ease calc(var(--sa-t0) + var(--sa-fold) * .72) forwards;
}
.sa-open__ja-sp{
display:none; position:absolute; z-index:2; margin:0;
left:24px; right:24px; top:calc(50vh - 28px); text-align:center;
font-family:var(--sa-font-serif); font-weight:400;
font-size:clamp(18px, 5.2vw, 20px);
line-height:2.05; letter-spacing:.12em; color:#3C3835;
}
.sa-open__ja-sp, .sa-open__en-h{ word-break:keep-all; overflow-wrap:normal; line-break:strict; }
.sa-u{ display:inline-block; white-space:nowrap; }
@media (max-width:600px){
.sa-open__ja-sp .sa-u{ display:block; }
.sa-open__ja-sp{ top:calc(50vh - 48px); }
.sa-open__en-h{ top:calc(50vh - 94px); }
}
@keyframes sa-char-in{
from{ opacity:0; transform:translate(calc(var(--i) * var(--sa-step) - var(--sa-half)), 6px); }
to  { opacity:1; transform:translate(calc(var(--i) * var(--sa-step) - var(--sa-half)), 0); }
}
@keyframes sa-fold{
from{ transform:translate(calc(var(--i) * var(--sa-step) - var(--sa-half)), 0); }
to  { transform:translate(var(--px,0px), calc(var(--i) * var(--sa-step) + var(--py,0px))); }
}
@keyframes sa-travel{
from{ transform:translate(calc(-25vw - 235px), calc(50vh - 380px)) scale(1.7); }
to  { transform:none; }
}
@keyframes sa-veil-out{ to{ opacity:0; visibility:hidden; } }
@keyframes sa-soft-in{ from{ opacity:0; } to{ opacity:1; } }
@keyframes sa-soft-out{ to{ opacity:0; } }
@media (max-width:1359px){
.sa-open__ja, .sa-open__en-v{ display:none; }
.sa-open__ja-sp{ display:block; opacity:0; visibility:hidden; }
.sa-open__en-h{ top:calc(50vh - 72px); }
.sa-open.is-play .sa-open__veil{ animation-delay:3.9s; animation-duration:1s; }
.sa-open.is-play .sa-open__en-h{
animation:sa-soft-in .9s ease .3s forwards, sa-soft-out 1s ease 3.9s forwards;
}
.sa-open.is-play .sa-open__ja-sp{
visibility:visible;
animation:sa-rise-in 1.1s var(--sa-ease) .85s forwards, sa-soft-out 1s ease 3.9s forwards;
}
.sa-open.is-done{ display:none; }
@keyframes sa-rise-in{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
}
@media (prefers-reduced-motion:reduce){
.sa-open__veil{ display:none; }
.sa-open.is-play .sa-open__ja,
.sa-open.is-play .sa-open__ja s,
.sa-open.is-play .sa-open__en-h,
.sa-open.is-play .sa-open__en-v,
.sa-open.is-play .sa-open__ja-sp{ animation:none !important; }
.sa-open.is-play .sa-open__ja{ transform:none; }
.sa-open.is-play .sa-open__ja s{ opacity:1;
transform:translate(var(--px,0px), calc(var(--i) * var(--sa-step) + var(--py,0px))); }
.sa-open.is-play .sa-open__en-h{ opacity:0; }
.sa-open.is-play .sa-open__en-v{ opacity:1; }
}
.sa-top__catch-sub{
margin:0 0 8px;
font-family:var(--sa-font-body);
font-size:14px; line-height:2.2; font-weight:400;
letter-spacing:.04em; color:var(--sa-subtitle);
word-break:keep-all; overflow-wrap:normal; line-break:strict;
}
.sa-top__catch-sub p{ margin:0; }
@media (max-width:767px){
.sa-top__catch-sub{ font-size:13px; line-height:2.1; }
}
.sa-top{ position:relative; margin:0 80px; padding:160px 0 0;
display:flex; flex-direction:row; justify-content:center; align-items:stretch; gap:20px;
min-height:100vh; box-sizing:border-box; }
.sa-top__col{ width:300px; display:flex; flex-direction:column; }
.sa-top__col--1{ margin-top:256px; }
.sa-top__col--2{ margin-top:128px; min-height:100px; position:relative; }
.sa-top__col--1 img,
.sa-top__col--3 img{ width:400px; max-width:100%; height:500px; object-fit:cover;
opacity:.6; filter:saturate(0%); }
.sa-top__col--1 img{ object-position:bottom left; }
.sa-top__col--3 img{ object-position:center center; }
.sa-top__movie{ width:100%; }
.sa-top__movie video{ display:block; width:100%; aspect-ratio:9 / 16; object-fit:cover; background:#000; }
.sa-top__logo{ position:absolute; left:100px; top:364px; width:500px; max-width:500px; }
.sa-top__logo img{ display:block; width:660px; max-width:100%; height:auto;
transform:rotate(-16deg); }
.sa-top__logo2{ display:none; }
.sa-concept,
.sa-about{ width:1000px; max-width:min(100%, 1000px); margin:0 auto;
display:flex; flex-direction:row; justify-content:space-between; gap:20px; box-sizing:border-box; }
.sa-concept{ padding:0 0 32px; align-items:flex-end; }
.sa-about{ padding:80px 0 32px; align-items:center; margin-bottom:20px; }
.sa-concept__inner,
.sa-about__inner{ width:100%; margin-right:48px; padding:10px; box-sizing:border-box;
display:flex; flex-direction:column; gap:20px; }
.sa-concept__label{ margin:0 0 16px -48px; }
.sa-concept__label img{ display:block; width:auto; max-width:100%; height:75px;
object-fit:contain; object-position:center left; }
.sa-concept__lead{ font-family:var(--sa-font-serif); font-size:16px; font-weight:700; line-height:1.2em;
color:var(--sa-subtitle); }
.sa-concept__lead p{ margin:-16px 0 .9em; }
.sa-concept__text{ font-family:var(--sa-font-body); font-size:16px; font-weight:400; line-height:40px; color:var(--sa-text); }
.sa-concept__text p{ margin:0 0 .9em; }
.sa-concept__head{ margin:0; padding:0;
font-family:var(--sa-font-serif); font-size:16px; font-weight:700; line-height:1.2em; color:#333; }
.sa-concept__photo{ text-align:center; }
.sa-concept__photo img{ display:block; margin:0 auto; width:800px; max-width:100%; height:auto; }
.sa-staff{ display:flex; flex-direction:row; justify-content:space-between; gap:20px; }
.sa-staff__item{ width:25%; }
.sa-staff__photo{ margin:0; }
.sa-staff__photo img{ display:block; width:100%; height:auto; border-radius:50%; }
.sa-staff__body{ padding:10px; font-size:14px; line-height:21px; }
.sa-staff__name{ margin:5px 0; padding:0;
font-family:var(--sa-font-menu); font-size:20px; font-weight:700; line-height:24px;
letter-spacing:1px; color:#272727; }
.sa-staff__position{ margin:5px 0 10px; padding:0;
font-family:var(--sa-font-menu); font-size:14px; font-weight:400; line-height:16.8px;
letter-spacing:.7px; color:var(--sa-subtitle); }
.sa-staff__text{ margin:0 0 14.4px; font-size:12px; line-height:18px; color:#272727; }
@media (max-width:767px){
.sa-top{ margin:0; padding:160px 0 0; }
.sa-top__col{ width:100%; }
.sa-top__col--1,
.sa-top__col--3{ display:none; }
.sa-top__col--2{ margin-top:0; }
.sa-top__logo{ left:3px; width:550px; max-width:550px; }
.sa-top__logo2{ display:block; position:absolute; left:12px; top:280px; }
.sa-top__logo2 img{ display:inline-block; width:800px; max-width:100%; height:auto; transform:rotate(-15deg); }
.sa-concept,
.sa-about{ width:100%; margin:80px 0 0; padding:16px; }
.sa-concept__inner,
.sa-about__inner{ margin-right:0; }
.sa-concept__label{ margin:0 0 16px -16px; }
.sa-concept__label img{ height:55px; }
.sa-staff{ flex-wrap:wrap; }
.sa-staff__item{ width:45%; }
.sa-staff__name    { font-size:18.375px; line-height:22.05px; }
.sa-staff__position{ font-size:12.6px;   line-height:15.12px; }
.sa-staff__text    { font-size:12.8px;   line-height:19.2px; }
}
.sa-phead {
position: relative;
margin: 0 0 var(--sa-phead-gap, 160px);
}
.sa-phead__photo {
min-height: 100vh;
padding: 10px;
box-sizing: border-box;
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
}
.sa-phead__box {
position: absolute;
left: 100px;
bottom: 100px;
width: calc(100% - 20px);
padding: 10px;
box-sizing: border-box;
}
.sa-phead__lead {
margin: 0 0 14.4px;
font-family: var(--sa-font-system);
font-size: 16px;
line-height: 24px;
color: var(--sa-phead-lead-color, #333333);
}
.sa-phead__logo { margin: 0; line-height: 0; }
.sa-phead__logo img {
display: inline-block;
width: var(--sa-phead-logo-w, 250px);
height: auto;
vertical-align: top;
}
.sa-mgreet {
margin: 0 0 80px;
padding: 0;
display: flex;
align-items: center;
justify-content: center;
}
.sa-mgreet__inner {
position: relative;
width: 800px;
padding: 10px;
box-sizing: border-box;
display: flex;
flex-direction: column;
gap: 20px;
}
.sa-mgreet__title {
margin: 96px 0 64px -80px;
padding: 0;
font-family: var(--sa-font-menu);
font-size: 28px;
line-height: 28px;
font-weight: 400;
color: #333333;
text-align: start;
border: none;
background: none;
}
.sa-mgreet__title::before,
.sa-mgreet__title::after { content: none; }
.sa-mgreet__body {
max-width: 800px;
font-family: var(--sa-font-body);
font-size: 16px;
line-height: 40px;
color: #333333;
}
.sa-mgreet__body p { margin: 0; }
.sa-mgreet__deco {
position: absolute;
top: -50px;
right: -165px;
width: 100%;
line-height: 0;
pointer-events: none;
}
.sa-mgreet__deco img { width: 100%; height: auto; opacity: 0.15; }
.sa-msvc {
padding: 10px;
background-color: var(--sa-text);
display: flex;
justify-content: center;
}
.sa-msvc__inner {
width: 900px;
max-width: 100%;
display: flex;
gap: 20px;
}
.sa-msvc__head {
width: 40%;
max-width: 40%;
min-width: 0;
padding: 32px 0 0;
box-sizing: border-box;
}
.sa-msvc__title {
margin: 0;
padding: 0;
font-family: "Marcellus";
font-size: 45px;
line-height: 45px;
font-weight: 400;
color: var(--sa-bg);
border: none;
background: none;
}
.sa-msvc__title::before,
.sa-msvc__title::after { content: none; }
.sa-msvc__list {
width: 60%;
max-width: 60%;
min-width: 0;
display: flex;
flex-direction: column;
gap: 20px;
}
.sa-mcard {
container-type: inline-size;
padding: 10px;
display: flex;
flex-direction: column;
gap: 20px;
}
.sa-mcard__photo {
position: relative;
display: block;
min-height: 330px;
background-repeat: no-repeat;
background-size: cover;
text-decoration: none;
}
.sa-mcard__photo::before {
content: "";
position: absolute;
inset: 0;
opacity: 0.5;
transition: background .3s, opacity .3s;
}
.sa-mcard__photo:hover::before {
background-image: linear-gradient(180deg, #FFFCFC 0%, #FFFAFB 60%);
opacity: 0.6;
}
.sa-mcard__namebox { position: relative; line-height: 0; }
.sa-mcard__name {
margin: -48px 0 -32px;
padding: 0;
font-family: var(--sa-font-display);
font-size: 90px;
line-height: 90px;
font-weight: 400;
color: var(--sa-gold);
border: none;
background: none;
}
.sa-mcard__name::before,
.sa-mcard__name::after { content: none; }
.sa-mcard__name { white-space: nowrap; }
.sa-mcard__name--long { font-size: 56px; }
@supports (width: 1cqw) {
.sa-mcard__name--long { font-size: min(90px, calc(17cqw - 3.5px)); }
}
.sa-mcard__text {
font-family: var(--sa-font-system);
font-size: 16px;
line-height: 24px;
color: var(--sa-bg);
}
.sa-mcard__text p { margin: 0 0 14.4px; }
.sa-mcard__text strong { font-weight: 700; }
@media (min-width: 1025px) {
.sa-phead__box { width: 500px; }
}
@media (max-width: 767px) {
.sa-phead        { margin-bottom: 48px; }
.sa-phead__box   { left: 10px; bottom: 50px; }
.sa-phead__logo img { width: var(--sa-phead-logo-w-sp, 300px); }
.sa-mgreet       { margin-bottom: 0; padding: 0 16px; flex-direction: column; }
.sa-mgreet__inner{ width: 100%; }
.sa-mgreet__title{ margin: 0; }
.sa-msvc__inner  { flex-direction: column; }
.sa-msvc__head   { width: 100%; max-width: 100%; }
.sa-msvc__list   { width: 100%; max-width: 100%; }
}
.sa-sgreet {
margin: 0 0 80px;
padding: 0;
display: flex;
align-items: center;
justify-content: center;
}
.sa-sgreet__inner {
position: relative;
width: 800px;
padding: 10px;
box-sizing: border-box;
display: flex;
flex-direction: column;
gap: 20px;
}
.sa-sgreet__head { margin: 96px 0 64px -80px; }
.sa-sgreet__title {
margin: 0;
padding: 0;
font-family: var(--sa-font-menu);
font-size: 28px;
line-height: 28px;
font-weight: 400;
color: #333333;
text-align: start;
border: none;
background: none;
}
.sa-sgreet__title::before,
.sa-sgreet__title::after { content: none; }
.sa-sprof {
position: relative;
display: flex;
flex-wrap: wrap;
column-gap: 10px;
row-gap: 0;
}
.sa-sprof__photo { width: 32%; flex: 0 0 auto; }
.sa-sprof__photo img {
display: block;
width: 100%;
height: auto;
-webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cellipse cx='50' cy='50' rx='40' ry='50'/%3E%3C/svg%3E");
mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cellipse cx='50' cy='50' rx='40' ry='50'/%3E%3C/svg%3E");
-webkit-mask-size: 100% auto;
mask-size: 100% auto;
-webkit-mask-position: 0% 10%;
mask-position: 0% 10%;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
}
.sa-sprof__text {
width: 65%;
flex: 0 1 auto;
font-family: var(--sa-font-system);
font-size: 14px;
line-height: 40px;
color: #333333;
}
.sa-sprof__text p { margin: 0 0 14.4px; }
.sa-sprof__sign {
position: absolute;
right: 0;
bottom: 0;
text-align: end;
line-height: 0;
}
.sa-sprof__sign img { width: 80px; height: auto; }
.sa-sinfo { padding: 16px 0 0; }
.sa-sinfo dl {
max-width: 800px;
margin: 0 auto;
padding: 0;
font-family: var(--sa-font-body);
color: #444444;
font-size: 14px;
line-height: 1.8;
}
.sa-sinfo dt,
.sa-sinfo dd {
margin: 0;
padding: 20px 10px;
vertical-align: top;
border-top: 0.5px solid #cccccc;
background: none;
}
.sa-sinfo dt {
width: 150px;
font-weight: bold;
float: left;
clear: left;
}
.sa-sinfo dd { margin-left: 150px; }
.sa-sinfo dl::after { content: ""; display: block; clear: both; }
.sa-saccess {
padding: 10px;
display: flex;
gap: 20px;
}
.sa-saccess__video { width: 45%; }
.sa-saccess__video video {
display: block;
width: 100%;
aspect-ratio: 1.77777;
object-fit: cover;
}
.sa-saccess__guide {
width: 50%;
font-family: var(--sa-font-system);
font-size: 15px;
line-height: 22.5px;
color: #333333;
}
.sa-saccess__guide h5 {
margin: 8px 0 16px;
padding: 0;
font-size: 20px;
line-height: 24px;
font-weight: 500;
color: #333333;
border: none;
background: none;
}
.sa-saccess__guide h5::before,
.sa-saccess__guide h5::after { content: none; }
.sa-saccess__guide p { margin: 0 0 14.4px; }
.sa-sgreet__deco {
position: absolute;
top: -50px;
right: -165px;
width: 100%;
line-height: 0;
pointer-events: none;
}
.sa-sgreet__deco img { width: 100%; height: auto; opacity: 0.15; }
@media (max-width: 1024px) {
.sa-sgreet__head     { margin: 0; padding: 0 0 48px 16px; }
.sa-sgreet__head--2  { padding: 0 0 0 16px; }
.sa-sprof            { width: 95%; margin: 0 0 32px 16px; }
.sa-sprof__sign      { bottom: -15px; }
.sa-sinfo            { padding: 32px 16px 16px; }
}
@media (max-width: 767px) {
.sa-sgreet          { margin-bottom: 0; padding: 0 16px; flex-direction: column; }
.sa-sgreet__inner   { width: 100%; }
.sa-sgreet__head    { margin: 0; }
.sa-sgreet__head--2 { margin: 32px 0 0; }
.sa-sprof           { width: auto; justify-content: center; margin: 0 0 16px; }
.sa-sprof__photo    { width: 60%; }
.sa-sprof__text     { width: 100%; }
.sa-sinfo           { padding: 16px 0 0; }
.sa-saccess         { flex-wrap: wrap; }
.sa-saccess__video  { width: 100%; }
.sa-saccess__guide  { width: 100%; }
}
.sa-price__list {
display: flex;
flex-direction: column;
gap: 50px;
margin: 0 0 48px;
text-align: center;
}
.sa-price__label {
margin: 0 0 0 -48px;
text-align: start;
line-height: 0;
}
.sa-price__label img {
display: inline-block;
height: 55px;
max-width: 100%;
object-fit: contain;
object-position: 0% 50%;
}
.sa-price__zoom {
display: inline-block;
max-width: 100%;
margin-inline: auto;
line-height: 0;
cursor: zoom-in;
}
.sa-price__zoom img {
display: block;
width: 100%;
height: auto;
}
@media (max-width: 767px) {
.sa-price .sa-menu__title h1 { font-size: 110px; line-height: 110px; white-space: nowrap; }
.sa-price__label     { margin-left: 0; }
.sa-price__label img { object-position: 50% 50%; }
}
.sa-ptables { display: flex; flex-direction: column; gap: 64px; margin: 0 0 56px; }
.sa-ptable__head { margin: 0 0 16px; padding: 0 0 12px; display: flex; align-items: baseline; gap: 16px;
border-bottom: 1px solid var(--sa-gold); }
.sa-ptable__en { font-family: var(--sa-font-display); font-size: 64px; line-height: 1; letter-spacing: 2px; color: var(--sa-gold); }
.sa-ptable__ja { font-family: var(--sa-font-serif); font-size: 16px; font-weight: 700; letter-spacing: .08em; color: var(--sa-text); }
.sa-ptable__lead { margin: 0 0 24px; font-family: var(--sa-font-body); font-size: 14px; line-height: 2; color: var(--sa-subtitle); }
.sa-ptable__rows { margin: 0; padding: 0; }
.sa-ptable__row { display: flex; align-items: baseline; justify-content: space-between; gap: 24px;
padding: 16px 0; border-bottom: 1px dotted #DED6C9; }
.sa-ptable__row:first-child { border-top: 1px dotted #DED6C9; }
.sa-ptable__dt { margin: 0; flex: 1 1 auto; min-width: 0; }
.sa-ptable__dd { margin: 0; flex: 0 1 auto; text-align: right; }
.sa-ptable__name { font-family: var(--sa-font-serif); font-size: 17px; font-weight: 700; line-height: 1.6; color: var(--sa-text); }
.sa-ptable__badge { display: inline-block; margin-left: 8px; padding: 2px 8px; vertical-align: 2px;
background: var(--sa-gold); color: #fff;
font-family: var(--sa-font-body); font-size: 11px; font-weight: 400; letter-spacing: .06em; }
.sa-ptable__sub { display: block; margin-top: 4px; font-family: var(--sa-font-body); font-size: 13px; line-height: 1.8; color: var(--sa-subtitle); }
.sa-ptable__time { display: block; font-family: var(--sa-font-body); font-size: 12px; line-height: 1.6; color: var(--sa-subtitle); }
.sa-ptable__price { display: block; font-family: var(--sa-font-marcell); font-size: 19px; line-height: 1.5; color: var(--sa-text); }
.sa-ptable__notes { margin: 16px 0 0; padding: 0; list-style: none; }
.sa-ptable__notes li { padding-left: 1em; text-indent: -1em;
font-family: var(--sa-font-body); font-size: 12px; line-height: 2; color: var(--sa-subtitle); }
.sa-ptable__notes li::before { content: "※ "; }
.sa-pfoot { margin: 0 0 48px; padding: 24px 28px; list-style: none; background: #FFFFFF80; border: 1px solid #EDE7DE; }
.sa-pfoot li { padding-left: 1em; text-indent: -1em;
font-family: var(--sa-font-body); font-size: 13px; line-height: 2; color: var(--sa-subtitle); }
.sa-pfoot li::before { content: "・"; }
.sa-pexit { margin: 0 0 40px; text-align: center; }
.sa-pexit__text { margin: 0 0 20px; font-family: var(--sa-font-serif); font-size: 16px; font-weight: 700; letter-spacing: .08em; color: var(--sa-text); }
.sa-pexit__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
.sa-pexit__link { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 240px;
padding: 16px 24px; border: 1px solid var(--sa-gold); color: var(--sa-text); text-decoration: none;
transition: background-color .3s ease, color .3s ease; }
.sa-pexit__link:hover { background: var(--sa-gold); color: #fff; }
.sa-pexit__link:hover .sa-pexit__sub { color: #FFFFFFCC; }
.sa-pexit__link--primary { background: var(--sa-gold); color: #fff; }
.sa-pexit__link--primary .sa-pexit__sub { color: #FFFFFFCC; }
.sa-pexit__link--primary:hover { background: #fff; color: var(--sa-text); }
.sa-pexit__link--primary:hover .sa-pexit__sub { color: var(--sa-subtitle); }
.sa-pexit__label { font-family: var(--sa-font-serif); font-size: 16px; font-weight: 700; letter-spacing: .06em; }
.sa-pexit__sub { font-family: var(--sa-font-body); font-size: 12px; color: var(--sa-subtitle); transition: color .3s ease; }
.sa-pfold { margin: 0 0 8px; text-align: center; }
.sa-rec2__note { margin: -8px 0 20px; font-family: var(--sa-font-body); font-size: 13px;
line-height: 2; color: var(--sa-subtitle); }
.sa-pfold > summary { display: inline-block; padding: 10px 20px; cursor: pointer; list-style: none;
border: 1px solid #DED6C9; font-family: var(--sa-font-body); font-size: 13px; letter-spacing: .06em; color: var(--sa-subtitle); }
.sa-pfold > summary::-webkit-details-marker { display: none; }
.sa-pfold > summary::after { content: " ＋"; }
.sa-pfold[open] > summary::after { content: " －"; }
.sa-pfold__list { margin-top: 32px; }
@media (max-width: 767px) {
.sa-ptables { gap: 48px; }
.sa-ptable__head { flex-direction: column; align-items: flex-start; gap: 2px; }
.sa-ptable__en { font-size: 48px; }
.sa-ptable__row { flex-direction: column; align-items: stretch; gap: 6px; }
.sa-ptable__dd { text-align: left; display: flex; align-items: baseline; gap: 12px; }
.sa-ptable__price { font-size: 17px; }
.sa-pfoot { padding: 20px 18px; }
.sa-pexit__links { flex-direction: column; }
.sa-pexit__link { min-width: 0; width: 100%; }
}
.sa-plist-wrap { padding: 10px; }
.sa-plist-wrap > .sans-age-price-simple { width: 1140px; max-width: 100%; margin: 0 auto; }
.sans-age-price-simple{box-sizing:border-box;color:#fff;font-family:"Noto Serif JP","Yu Mincho","YuMincho",serif}
.sans-age-price-simple *{box-sizing:border-box}
.sans-age-price-simple__intro{position:relative;overflow:hidden;padding:92px 24px 78px;background:#fff;color:#403b38}
.sans-age-price-simple__intro::after{content:"";position:absolute;top:20px;right:max(5vw,40px);width:min(52vw,620px);height:190px;background:url("/wp-content/uploads/2025/04/hexagon03@2x.webp") center/contain no-repeat;opacity:.1}
.sans-age-price-simple__intro-inner{position:relative;z-index:1;width:min(100%,940px);margin:0 auto}
.sans-age-price-simple__intro h1{margin:0;font-family:"Poppins","Helvetica Neue",sans-serif;font-size:30px;font-weight:400;letter-spacing:.04em;line-height:1.2;padding:0;border:none;background:none}
.sans-age-price-simple__intro h1::before,.sans-age-price-simple__intro h1::after{content:none}
.sans-age-price-simple__list{padding:78px 24px 90px;background:#3b3734}
.sans-age-price-simple__list-inner{width:min(100%,900px);margin:0 auto}
.sans-age-price-simple__list-title{margin:0 0 52px;padding:0;color:#f5f1ed;font-family:"Marcellus";font-size:28px;font-weight:400;letter-spacing:.08em;line-height:1.5;border:none;background:none}
.sans-age-price-simple__list-title::before,.sans-age-price-simple__list-title::after{content:none}
.sans-age-price-simple__item{padding:0 0 54px}
.sans-age-price-simple__item+.sans-age-price-simple__item{padding-top:54px;border-top:1px solid rgba(255,255,255,.16)}
.sans-age-price-simple img.sans-age-price-simple__script{display:block!important;width:auto!important;max-width:100%!important;height:auto!important;margin:0 0 22px!important;object-fit:contain!important;object-position:left center!important;filter:sepia(1) saturate(1.3);opacity:.94}
.sans-age-price-simple img.sans-age-price-simple__script[src*="esthetic.webp"]{width:340px!important}
.sans-age-price-simple img.sans-age-price-simple__script[src*="nail.webp"]{width:212px!important}
.sans-age-price-simple__row{display:flex;align-items:center;gap:36px}
.sans-age-price-simple__photo{display:block;flex:0 0 190px;width:190px;max-width:190px;aspect-ratio:1.75/1;object-fit:cover}
.sans-age-price-simple__text{display:block;flex:1 1 auto;min-width:0;color:#eee8e3;font-size:16px!important;line-height:2!important;letter-spacing:.04em}
.sans-age-price-simple__text p{margin:0 0 20px}
.sans-age-price-simple__link{display:inline-block;color:#d7b53d!important;font-size:14px!important;font-weight:400!important;line-height:1.8!important;letter-spacing:.05em!important;text-decoration:underline!important;text-decoration-color:#a8892d!important;text-underline-offset:5px}
.sans-age-price-simple__link:hover{color:#ead273!important}
@media(max-width:767px){
.sans-age-price-simple__intro{padding:65px 22px 56px}
.sans-age-price-simple__intro::after{top:8px;right:-125px;width:390px;height:150px}
.sans-age-price-simple__intro h1{font-size:25px}
.sans-age-price-simple__list{padding:56px 20px 68px}
.sans-age-price-simple__list-title{margin-bottom:38px;font-size:28px}
.sans-age-price-simple__item{padding-bottom:42px}
.sans-age-price-simple__item+.sans-age-price-simple__item{padding-top:42px}
.sans-age-price-simple img.sans-age-price-simple__script{max-width:100%!important;height:auto!important;margin-bottom:16px!important}
.sans-age-price-simple__row{flex-direction:column;align-items:flex-start;gap:20px}
.sans-age-price-simple__photo{flex:0 0 auto;width:190px;max-width:100%}
.sans-age-price-simple__text{font-size:15px!important;line-height:1.9!important}
.sans-age-price-simple__text p{margin-bottom:16px}
.sans-age-price-simple__link{font-size:13px!important}
}
.sa-zoom {
position: fixed;
inset: 0;
z-index: 2000;
display: flex;
align-items: center;
justify-content: center;
padding: 20px;
background: rgba(0,0,0,.88);
opacity: 0;
transition: opacity .25s ease;
}
.sa-zoom.is-in { opacity: 1; }
.sa-zoom img {
max-width: 100%;
max-height: 100%;
object-fit: contain;
cursor: zoom-out;
}
.sa-zoom__close {
position: absolute;
top: 12px;
right: 16px;
width: 44px;
height: 44px;
border: 0;
background: none;
color: #fff;
font-size: 30px;
line-height: 1;
cursor: pointer;
}
.sa-rec  { margin: 80px 0 0;   padding: 0; display: flex; align-items: center; justify-content: center; }
.sa-rec2 { margin: 0 0 160px;  padding: 0; display: flex; align-items: center; justify-content: center; }
.sa-rec__inner  { width: 830px; display: flex; flex-direction: column; gap: 20px; }
.sa-rec2__inner { width: 800px; padding: 10px; box-sizing: border-box; display: flex; flex-direction: column; gap: 20px; }
.sa-rec__head, .sa-rec2__head { margin: 96px 0 64px -80px; }
.sa-rec__head h1,
.sa-rec2__head h3 {
margin: 0;
padding: 0;
font-family: var(--sa-font-menu);
font-size: 28px;
line-height: 28px;
font-weight: 400;
color: #333333;
text-align: start;
border: none;
background: none;
}
.sa-rec__head h1::before,  .sa-rec__head h1::after,
.sa-rec2__head h3::before, .sa-rec2__head h3::after { content: none; }
.sa-rec__msg    { display: flex; flex-direction: column; gap: 20px; }
.sa-rec__photos { display: flex; flex-direction: row; gap: 20px; }
.sa-rec__photos > div { flex: 1 1 0; min-width: 0; }
.sa-rec__photos img   { display: block; width: 100%; height: auto; }
.sa-rec__text,
.sa-rec2__job {
font-family: var(--sa-font-body);
font-size: 16px;
line-height: 40px;
color: #333333;
}
.sa-rec__text p,
.sa-rec2__job p { margin: 0 0 14.4px; }
.sa-rec2__job   { display: flex; flex-direction: row; }
@media (max-width: 767px) {
.sa-rec  { margin: 0; padding: 0 16px; }
.sa-rec2 { margin: 32px 0 0;  padding: 0 16px; }
.sa-rec__inner  { width: 100%; }
.sa-rec2__inner { width: 100%; }
.sa-rec__head, .sa-rec2__head { margin: 0; }
.sa-rec__head h1 { font-size: 22px; line-height: 22px; }
.sa-rec__photos  { flex-direction: column; }
}
.sans-age-privacy-policy table,
.sans-age-terms table { font-size: .9em; line-height: 1.5; }
.sa-main.sa-page--privacy-policy,
.sa-main.sa-page--terms-of-use { padding: 14px 0 15px; }
.sans-age-404 {
box-sizing: border-box;
display: grid;
min-height: clamp(720px, 82vh, 980px);
overflow: hidden;
padding: clamp(100px, 10vw, 150px) 24px clamp(70px, 8vw, 120px);
position: relative;
place-items: center;
background: #fbfaf8;
color: #302a28;
text-align: center;
}
.sans-age-404__inner {
box-sizing: border-box;
width: min(100%, 1080px);
margin: 0 auto;
padding: 0;
position: relative;
z-index: 2;
}
.sans-age-404__stage {
display: grid;
height: clamp(360px, 43vw, 560px);
margin-top: 0;
place-items: center;
position: relative;
}
.sans-age-404__number {
margin: 0;
color: transparent;
font-family: "Bodoni 72", Didot, "Times New Roman", serif;
font-size: clamp(420px, 52vw, 820px);
font-weight: 400;
left: 50%;
letter-spacing: -0.08em;
line-height: 0.75;
opacity: 0.72;
pointer-events: none;
position: absolute;
top: 50%;
transform: translate(-50%, -50%) scaleX(0.78);
white-space: nowrap;
-webkit-text-stroke: 2px rgba(48, 42, 40, 0.34);
text-stroke: 2px rgba(48, 42, 40, 0.34);
user-select: none;
z-index: 0;
}
.sans-age-404__copy {
box-sizing: border-box;
position: relative;
width: min(19vw, 220px);
z-index: 2;
}
.sans-age-404__motif {
background-image: url("../../uploads/2025/04/hexagon03@2x.webp");
background-position: center;
background-repeat: no-repeat;
background-size: contain;
height: clamp(170px, 20vw, 300px);
opacity: 0.18;
pointer-events: none;
position: absolute;
width: clamp(420px, 46vw, 760px);
z-index: 1;
}
.sans-age-404__motif--top {
right: -14%;
top: -5%;
transform: rotate(-7deg);
}
.sans-age-404__motif--bottom {
bottom: -5%;
left: -15%;
transform: rotate(174deg);
}
.sans-age-404__eyebrow {
margin: 0 0 14px;
color: #9d7c28;
font-family: "Marcellus", serif;
font-size: 20px;
letter-spacing: 0.12em;
line-height: 1.3;
}
.sans-age-404__title {
margin: 0 0 -16px;
color: #302a28;
font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", serif;
font-size: clamp(27px, 3.4vw, 40px);
font-weight: 400;
letter-spacing: 0.1em;
line-height: 1.5;
position: relative;
z-index: 3;
}
.sans-age-404__message {
margin: 0 auto;
color: #675e59;
font-size: 14px;
line-height: 1.8;
}
.sans-age-404__actions {
display: flex;
flex-wrap: wrap;
gap: 16px;
justify-content: center;
margin-top: clamp(16px, 2vw, 28px);
position: relative;
z-index: 3;
}
.sans-age-404__button {
box-sizing: border-box;
display: inline-flex;
flex: 0 0 220px;
width: 220px;
min-width: 210px;
min-height: 52px;
align-items: center;
justify-content: center;
padding: 12px 24px;
border: 1px solid #302a28;
border-radius: 999px;
font-size: 15px;
letter-spacing: 0.08em;
line-height: 1.5;
text-decoration: none;
transition: background-color 0.2s ease, color 0.2s ease;
}
.sans-age-404__button {
font-size: 15px;
letter-spacing: 0.08em;
line-height: 1.5;
}
.sans-age-404__title {
font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", serif;
font-size: clamp(27px, 3.4vw, 40px);
}
.sans-age-404__button--primary,
.sans-age-404__button--primary:visited {
background: #302a28;
color: #fff;
}
.sans-age-404__button--secondary,
.sans-age-404__button--secondary:visited {
background: transparent;
color: #302a28;
}
.sans-age-404__button:hover,
.sans-age-404__button:focus-visible {
background: #8d796e;
border-color: #8d796e;
color: #fff;
}
.sans-age-404__button:focus-visible,
.sans-age-404__contact a:focus-visible {
outline: 2px solid #302a28;
outline-offset: 4px;
}
.sans-age-404__contact {
margin: 30px 0 0;
color: #675e59;
font-size: 14px;
line-height: 1.8;
}
.sans-age-404__contact a,
.sans-age-404__contact a:visited {
color: #302a28;
font-size: inherit;
letter-spacing: inherit;
line-height: inherit;
text-decoration: underline;
text-decoration-color: #b6a299;
text-underline-offset: 4px;
}
@media (max-width: 767px) {
.sans-age-404 {
min-height: 760px;
padding: 150px 20px 76px;
}
.sans-age-404__inner {
padding: 0;
}
.sans-age-404__stage {
height: 340px;
margin-top: 0;
}
.sans-age-404__number {
font-size: clamp(280px, 98vw, 390px);
letter-spacing: -0.1em;
opacity: 0.6;
-webkit-text-stroke-width: 1px;
text-stroke-width: 1px;
}
.sans-age-404__motif {
height: 150px;
opacity: 0.16;
width: 390px;
}
.sans-age-404__motif--top {
right: -44%;
top: -6%;
}
.sans-age-404__motif--bottom {
bottom: -7%;
left: -46%;
}
.sans-age-404__copy {
width: 150px;
}
.sans-age-404__eyebrow {
font-size: 15px;
letter-spacing: 0.04em;
margin-bottom: 10px;
white-space: nowrap;
}
.sans-age-404__title {
font-size: 27px;
letter-spacing: 0.05em;
margin-bottom: -12px;
}
.sans-age-404__message {
font-size: 12px;
line-height: 1.75;
}
.sans-age-404__desktop-break {
display: none;
}
.sans-age-404__actions {
flex-direction: column;
margin-top: 18px;
}
.sans-age-404__button {
flex-basis: auto;
width: 100%;
min-width: 0;
}
}
.sa-ct { margin: 80px 0; padding: 0; display: flex; align-items: center; justify-content: center; }
.sa-ct__inner {
position: relative;
width: 800px;
padding: 10px;
box-sizing: border-box;
display: flex;
flex-direction: column;
gap: 20px;
}
.sa-ct__head { margin: 96px 0 64px -80px; }
.sa-ct__head h1 {
margin: 0;
padding: 0;
font-family: var(--sa-font-menu);
font-size: 28px;
line-height: 28px;
font-weight: 400;
color: #333333;
text-align: start;
border: none;
background: none;
}
.sa-ct__head h1::before, .sa-ct__head h1::after { content: none; }
.sa-ct__deco {
position: absolute;
top: -50px;
right: -165px;
width: 100%;
line-height: 0;
pointer-events: none;
}
.sa-ct__deco img { width: 100%; height: auto; opacity: 0.15; }
.sa-ct__form .wpcf7 { margin: 0; }
.sa-ct__form form.wpcf7-form { margin: 0; }
.sa-cf__row { margin: 0 0 40px; }
.sa-cf__label {
display: block;
width: fit-content;
margin: 0;
padding: 0 0 5px;
font-family: var(--sa-font-system);
font-size: 16px;
line-height: 16px;
font-weight: 400;
color: #333333;
}
.sa-cf__label--req::after { content: "*"; padding-left: 3.2px; color: #ff0000; }
.sa-ct__form .wpcf7-form-control-wrap { display: block; }
.sa-ct__form input.sa-cf__input,
.sa-ct__form textarea.sa-cf__textarea {
display: block;
width: 100%;
box-sizing: border-box;
font-family: var(--sa-font-system);
font-size: 15px;
line-height: 21px;
font-weight: 400;
color: #1f2124;
background: #ffffff;
border: 1px solid #8b8b8b;
border-radius: 3px;
}
.sa-ct__form input.sa-cf__input     { height: 40px; padding: 8px 16px; }
.sa-ct__form textarea.sa-cf__textarea { height: 138px; padding: 5px 14px; resize: vertical; }
.sa-cf__row--60 .wpcf7-form-control-wrap { width: calc(60% - 8px); }
.sa-cf__privacy {
margin: 0 0 40px;
font-family: var(--sa-font-system);
font-size: 12px;
line-height: 21.6px;
letter-spacing: .02em;
color: #675e59;
}
.sa-cf__privacy a {
color: inherit;
text-decoration: underline;
text-decoration-color: #9d7c28;
text-underline-offset: 3px;
}
.sa-cf__submit { position: relative; margin: 0; }
.sa-ct__form input.sa-cf__button {
display: block;
width: 100%;
height: 40px;
padding: 0 24px;
border: 0;
border-radius: 3px;
background: #3c3835;
color: #ffffff;
font-family: var(--sa-font-system);
font-size: 15px;
line-height: 15px;
font-weight: 400;
text-align: center;
cursor: pointer;
}
.sa-ct__form input.sa-cf__button:hover { opacity: .88; }
.sa-ct__form .wpcf7-spinner { position: absolute; top: 8px; right: 16px; margin: 0; }
.sa-ct__form .wpcf7-response-output {
margin: 20px 0 0;
padding: 12px 16px;
font-size: 14px;
line-height: 1.8;
}
.sa-ct__form .wpcf7-response-output:empty { display: none; margin: 0; padding: 0; border: 0; }
.sa-ct__form .wpcf7-not-valid-tip { margin-top: 6px; font-size: 12px; line-height: 1.8; }
.sa-ct__form .altEmail_container {
position: absolute !important;
left: -9999px !important;
top: 0;
width: 1px;
height: 1px;
overflow: hidden;
}
@media (max-width: 1024px) {
.sa-ct__deco { left: 0; width: auto; max-width: 100vw; }
}
@media (max-width: 767px) {
.sa-ct        { margin: 0; padding: 0 16px; }
.sa-ct__inner { width: 100%; }
.sa-ct__head  { margin: 0; }
.sa-ct__deco  { left: auto; right: -165px; width: auto; max-width: 100vw; }
.sa-cf__row--60 .wpcf7-form-control-wrap { width: 100%; }
}
.sa-rsv {
position: fixed;
z-index: 90;
right: 24px;
bottom: 24px;
display: flex;
flex-direction: column;
gap: 8px;
opacity: 0;
visibility: hidden;
transform: translateY(12px);
transition: opacity .5s ease, transform .5s ease, visibility .5s;
}
.sa-rsv.is-in { opacity: 1; visibility: visible; transform: none; }
.sa-rsv__btn {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 2px;
width: 190px;
padding: 12px 16px;
text-decoration: none;
border: 1px solid var(--sa-gold);
background: #FFFFFFF2;
color: var(--sa-text);
transition: background-color .3s ease, color .3s ease;
}
.sa-rsv__btn--web { background: var(--sa-gold); color: #fff; }
.sa-rsv__btn--web:hover { background: #fff; color: var(--sa-text); }
.sa-rsv__btn--tel:hover { background: var(--sa-gold); color: #fff; }
.sa-rsv__en {
font-family: var(--sa-font-marcell);
font-size: 11px;
letter-spacing: .18em;
line-height: 1;
opacity: .8;
}
.sa-rsv__ja {
font-family: var(--sa-font-serif);
font-size: 15px;
font-weight: 700;
letter-spacing: .06em;
line-height: 1.4;
}
@media (max-width: 767px) {
.sa-rsv {
right: 0; left: 0; bottom: 0;
flex-direction: row;
gap: 0;
transform: translateY(100%);
box-shadow: 0 -2px 12px #00000014;
}
.sa-rsv__btn { width: 50%; padding: 10px 8px; border: 0; }
.sa-rsv__btn--tel { border-right: 1px solid #FFFFFF66; background: #fff; }
.sa-rsv__en { font-size: 10px; }
.sa-rsv__ja { font-size: 14px; }
body { padding-bottom: 62px; }
}
@media (prefers-reduced-motion: reduce) {
.sa-rsv { transition: none; }
}
:root {
--sa-ease: cubic-bezier(.22, .61, .36, 1);
}
.sa-write {
clip-path: inset(-40% 100% -40% 0);
transition: clip-path 1.3s var(--sa-ease);
}
.sa-write.is-in { clip-path: inset(-40% -0.25em -40% 0); }
@keyframes sa-write-in {
from { clip-path: inset(-40% 100% -40% 0); }
to   { clip-path: inset(-40% -0.25em -40% 0); }
}
@keyframes sa-rise-in {
from { opacity: 0; transform: translateY(10px); }
to   { opacity: 1; transform: none; }
}
.sa-ptable { opacity: 0; transform: translateY(12px); transition: opacity 1s var(--sa-ease), transform 1s var(--sa-ease); }
.sa-ptable.is-in { opacity: 1; transform: none; }
.sa-ptables .sa-ptable:nth-child(2) { transition-delay: .12s; }
.sa-ptables .sa-ptable:nth-child(3) { transition-delay: .24s; }
.sa-ptables .sa-ptable:nth-child(4) { transition-delay: .36s; }
.sa-pfoot, .sa-pexit { transition: opacity 1s var(--sa-ease), transform 1s var(--sa-ease); transform: translateY(12px); }
.sa-pfoot.is-in, .sa-pexit.is-in { transform: none; }
.sa-yoko .menu-item > a { position: relative; }
.sa-yoko .menu-item > a::before {
content: "";
position: absolute;
left: 15px; right: 15px; bottom: 6px;
height: 1px;
background: var(--sa-gold);
transform: scaleX(0);
transform-origin: left center;
transition: transform .45s var(--sa-ease);
}
.sa-yoko .menu-item > a:hover::before,
.sa-yoko .menu-item > a:focus-visible::before { transform: scaleX(1); }
.sa-yoko .menu-item.current-menu-item > a::before,
.sa-yoko .menu-item.current_page_item > a::before { transform: scaleX(1); opacity: .45; }
.sa-fsmenu__nav a { transition: color .4s var(--sa-ease), letter-spacing .4s var(--sa-ease); }
.sa-fsmenu__nav a:hover { letter-spacing: .06em; }
.sa-price__zoom { overflow: hidden; }
.sa-price__zoom img { transition: transform .8s var(--sa-ease); }
.sa-price__zoom:hover img { transform: scale(1.012); }
.sa-pexit__link, .sa-rsv__btn, .sa-pfold > summary { transition: background-color .35s var(--sa-ease), color .35s var(--sa-ease), transform .12s ease-out, border-color .35s var(--sa-ease); }
.sa-pexit__link:active, .sa-rsv__btn:active, .sa-pfold > summary:active { transform: translateY(1px); }
a:focus-visible, button:focus-visible, summary:focus-visible,
input:focus-visible, textarea:focus-visible {
outline: 2px solid var(--sa-gold);
outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
.sa-write, .sa-write.is-in { clip-path: none; transition: none; }
.sa-ptable, .sa-pfoot, .sa-pexit { opacity: 1; transform: none; transition: none; }
.sa-yoko .menu-item > a::before { transition: none; }
.sa-price__zoom img, .sa-price__zoom:hover img { transition: none; transform: none; }
.sa-pexit__link:active, .sa-rsv__btn:active, .sa-pfold > summary:active { transform: none; }
}
:root{
--sa-r-img: 8px;
--sa-r-ui:  4px;
}
.sa-top__col--1 img,
.sa-top__col--3 img,
.sa-top__movie,
.sa-top__movie video,
.sa-concept__photo img,
.sa-menu__photo,
.sa-menu__photo img,
.sa-mcard__photo,
.sa-facial__img,
.sa-sprof__photo img,
.sa-saccess__video,
.sa-saccess__video video,
.sans-age-price-simple__row img,
.sa-pfold img,
.sa-fade--slow img{
border-radius: var(--sa-r-img);
}
.sa-top__movie,
.sa-menu__photo,
.sa-mcard__photo,
.sa-facial__img,
.sa-saccess__video{
overflow: hidden;
}
.sa-rsv__btn,
.sa-pexit__link,
.sa-pfold > summary,
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea.wpcf7-textarea,
.wpcf7-form textarea,
.wpcf7-form select,
.wpcf7-form input[type="submit"],
.wpcf7-form button{
border-radius: var(--sa-r-ui);
}
.sa-ptable.is-fold > .sa-ptable__head{
cursor: pointer;
position: relative;
flex-wrap: wrap;
padding-right: 26px;
transition: opacity .3s var(--sa-ease);
-webkit-tap-highlight-color: transparent;
}
.sa-ptable.is-fold > .sa-ptable__head:hover{ opacity: .74; }
.sa-ptable.is-fold > .sa-ptable__head:focus-visible{
outline: 1px solid var(--sa-gold); outline-offset: 6px;
}
.sa-ptable__meta{
margin-left: auto;
font-family: var(--sa-font-body);
font-size: 12px; letter-spacing: .06em;
color: var(--sa-subtitle); white-space: nowrap;
transition: opacity .3s var(--sa-ease), transform .3s var(--sa-ease);
}
.sa-ptable.is-open > .sa-ptable__head .sa-ptable__meta{
opacity: 0; transform: translateX(8px);
}
.sa-ptable__mark{
position: absolute; right: 0; top: 50%; transform: translateY(-50%);
width: 11px; height: 11px;
}
.sa-ptable__mark::before,
.sa-ptable__mark::after{
content: ''; position: absolute; left: 0; top: 5px;
width: 11px; height: 1px; background: var(--sa-gold);
transition: transform .45s var(--sa-ease);
}
.sa-ptable__mark::after{ transform: rotate(90deg); }
.sa-ptable.is-open > .sa-ptable__head .sa-ptable__mark::after{ transform: rotate(0deg); }
.sa-ptable.is-fold .sa-ptable__body{
display: grid; grid-template-rows: 0fr;
transition: grid-template-rows .45s var(--sa-ease);
}
.sa-ptable.is-fold.is-open .sa-ptable__body{ grid-template-rows: 1fr; }
.sa-ptable__bodyin{ overflow: hidden; min-height: 0; }
.sa-ptables:has(.sa-ptable.is-fold){ gap: 40px; }
@media (max-width: 899px){
.sa-ptable__meta{ font-size: 11px; }
}
@media (prefers-reduced-motion: reduce){
.sa-ptable.is-fold .sa-ptable__body,
.sa-ptable__mark::before,
.sa-ptable__mark::after{ transition: none; }
}
.sa-write--split{ clip-path: none !important; transition: none !important; }
.sa-wblock{ display: block; }
.sa-wline{
clip-path: inset(-40% var(--sa-r0, 100%) -40% var(--sa-l, 0%));
transition: clip-path var(--sa-d, 1.3s) var(--sa-ease) var(--sa-delay, 0s);
}
.sa-write--split.is-in .sa-wline{
clip-path: inset(-40% var(--sa-r1, -0.25em) -40% var(--sa-l, 0%));
}
@media (prefers-reduced-motion: reduce){
.sa-wline{ clip-path: none !important; transition: none !important; }
}
body,
.sa-main p,
.sa-main li,
.sa-main dd,
.sa-main dt,
.sa-main figcaption,
.sa-phead__lead,
.sa-ptable__lead,
.sa-ptable__sub,
.sa-ptable__name,
.sa-pfoot li,
.sa-pexit__text,
.sa-rec__head{
word-break: auto-phrase;
text-wrap: pretty;
}
.sa-kw {
white-space: nowrap;
}
.sa-reason{ width:1000px; max-width:min(100%, 1000px); margin:0 auto;
padding:40px 0 0; box-sizing:border-box; }
.sa-reason__inner{ width:100%; margin-right:48px; padding:10px; box-sizing:border-box; }
.sa-reason__en{ margin:0 0 10px; font-family:var(--sa-font-marcell); font-size:12px;
letter-spacing:.18em; color:var(--sa-subtitle); }
.sa-reason__head{ margin:0 0 10px; font-family:var(--sa-font-serif); font-size:24px; font-weight:700;
letter-spacing:.04em; line-height:1.5; color:var(--sa-text); }
.sa-reason__lead{ margin:0 0 34px; font-family:var(--sa-font-body); font-size:14px;
line-height:1.9; color:var(--sa-subtitle); }
.sa-reason__list{ list-style:none; margin:0; padding:0; }
.sa-reason__item{ display:grid; grid-template-columns:320px 1fr; column-gap:40px;
align-items:start; padding:32px 0; border-top:1px solid rgba(60,56,53,.10); }
.sa-reason__item:last-child{ border-bottom:1px solid rgba(60,56,53,.10); }
.sa-reason__col{ min-width:0; }
.sa-reason__item.is-photo{ align-items:center; }
.sa-reason__body{ min-width:0; }
.sa-reason__photo{ overflow:hidden; border-radius:var(--sa-r-img); }
.sa-reason__photo img{ display:block; width:100%; height:auto; border-radius:var(--sa-r-img); }
.sa-reason__no{ margin:0 0 10px; font-family:var(--sa-font-marcell); font-size:12px;
letter-spacing:.16em; color:var(--sa-gold); }
.sa-reason__t{ margin:0 0 8px; font-family:var(--sa-font-serif); font-size:17px; font-weight:700;
line-height:1.7; color:var(--sa-text); word-break:auto-phrase; text-wrap:pretty; }
.sa-reason__d{ margin:0; font-family:var(--sa-font-body); font-size:14px; line-height:2;
color:var(--sa-secondary); word-break:auto-phrase; text-wrap:pretty; }
.sa-reason__note{ margin:28px 0 0; font-family:var(--sa-font-body); font-size:13px; line-height:2;
color:var(--sa-subtitle); word-break:auto-phrase; text-wrap:pretty; }
@media (max-width:900px){
.sa-reason{ padding:24px 0 0; }
.sa-reason__inner{ margin-right:0; }
.sa-reason__item{ grid-template-columns:220px 1fr; column-gap:28px; }
}
@media (max-width:767px){
.sa-reason__head{ font-size:21px; }
.sa-reason__item{ grid-template-columns:1fr; row-gap:16px; padding:26px 0; }
.sa-reason__item:not(.is-photo) .sa-reason__col{ display:none; }
}
.sa-doors{ width:1000px; max-width:min(100%, 1000px); margin:0 auto;
padding:40px 0 0; box-sizing:border-box; }
.sa-doors__inner{ width:100%; margin-right:48px; padding:10px; box-sizing:border-box; }
.sa-doors__en{ margin:0 0 10px; font-family:var(--sa-font-marcell); font-size:12px;
letter-spacing:.18em; color:var(--sa-subtitle); }
.sa-doors__head{ margin:0 0 10px; font-family:var(--sa-font-serif); font-size:24px; font-weight:700;
letter-spacing:.04em; line-height:1.5; color:var(--sa-text); }
.sa-doors__lead{ margin:0 0 34px; font-family:var(--sa-font-body); font-size:14px;
line-height:1.9; color:var(--sa-subtitle); }
.sa-doors__grid{ display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.sa-door{ min-width:0; }
.sa-door__main{ display:block; text-decoration:none; color:inherit; }
.sa-door__photo{ display:block; overflow:hidden; border-radius:var(--sa-r-img);
aspect-ratio:4 / 3; }
.sa-door__photo img{ display:block; width:100%; height:100%; object-fit:cover;
border-radius:var(--sa-r-img); transition:transform .8s var(--sa-ease); }
.sa-door__main:hover .sa-door__photo img,
.sa-door__main:focus-visible .sa-door__photo img{ transform:scale(1.012); }
.sa-door__en{ display:block; margin:18px 0 4px; font-family:var(--sa-font-marcell);
font-size:12px; letter-spacing:.18em; color:var(--sa-subtitle); }
.sa-door__name{ display:block; font-family:var(--sa-font-serif); font-size:22px; font-weight:700;
letter-spacing:.06em; line-height:1.4; color:var(--sa-text); }
.sa-door__text{ margin:12px 0 0; font-family:var(--sa-font-body); font-size:14px; line-height:2;
color:var(--sa-secondary); word-break:auto-phrase; text-wrap:pretty; }
.sa-door__links{ margin:14px 0 0; display:flex; flex-wrap:wrap; gap:8px 24px; }
.sa-door__links a{ position:relative; padding-right:22px; text-decoration:none;
font-family:var(--sa-font-body); font-size:13px; letter-spacing:.04em;
color:var(--sa-text); transition:color .3s var(--sa-ease); }
.sa-door__links a::after{ content:''; position:absolute; right:0; top:50%;
width:14px; height:1px; background:var(--sa-gold);
transition:width .35s var(--sa-ease), right .35s var(--sa-ease); }
.sa-door__links a:hover, .sa-door__links a:focus-visible{ color:var(--sa-gold); }
.sa-door__links a:hover::after, .sa-door__links a:focus-visible::after{ width:20px; right:-6px; }
.sa-door__links a.is-sns{ color:var(--sa-subtitle); }
.sa-door__links a.is-sns::after{ background:var(--sa-subtitle); }
.sa-door__links a.is-sns:hover, .sa-door__links a.is-sns:focus-visible{ color:var(--sa-text); }
.sa-door__links a.is-sns:hover::after, .sa-door__links a.is-sns:focus-visible::after{ background:var(--sa-text); }
.sa-doors__bridge{ margin:36px 0 0; padding:20px 0 0; border-top:1px solid rgba(60,56,53,.10);
font-family:var(--sa-font-body); font-size:14px; line-height:2; color:var(--sa-secondary);
word-break:auto-phrase; text-wrap:pretty; }
.sa-doors__bridge strong{ font-weight:700; color:var(--sa-text); }
@media (max-width:900px){
.sa-doors{ padding:24px 0 0; }
.sa-doors__inner{ margin-right:0; }
.sa-doors__grid{ gap:28px; }
.sa-door__name{ font-size:20px; }
}
@media (max-width:767px){
.sa-doors__head{ font-size:21px; }
.sa-doors__grid{ grid-template-columns:1fr; gap:40px; }
}
.sa-faq{ width:1000px; max-width:min(100%,1000px); margin:0 auto; padding:56px 0 0; box-sizing:border-box; }
.sa-faq__en{ font-family:var(--sa-font-marcell); font-size:12px; letter-spacing:.16em; color:var(--sa-gold); margin:0 0 10px; }
.sa-faq__ttl{ font-size:22px; font-weight:500; letter-spacing:.04em; margin:0 0 6px; }
.sa-faq__lead{ font-size:14px; color:var(--sa-subtitle); margin:0; }
.sa-faq__list{ margin:24px 0 0; border-top:1px solid rgba(60,56,53,.10); }
.sa-faq__item{ border-bottom:1px solid rgba(60,56,53,.10); }
.sa-faq__q{ display:flex; align-items:center; gap:20px; width:100%; margin:0; padding:20px 0; background:none; border:0; text-align:left; font:inherit; color:inherit; cursor:default; }
.sa-faq.is-js .sa-faq__q{ cursor:pointer; }
.sa-faq__qt{ flex:1 1 auto; font-size:15.5px; letter-spacing:.02em; line-height:1.7; }
.sa-faq__mark{ display:none; position:relative; flex:0 0 auto; width:12px; height:12px; }
.sa-faq.is-js .sa-faq__mark{ display:block; }
.sa-faq__mark::before,.sa-faq__mark::after{ content:''; position:absolute; left:0; top:50%; width:12px; height:1px; background:var(--sa-gold); transition:transform .45s var(--sa-ease); }
.sa-faq__mark::after{ transform:rotate(90deg); }
.sa-faq__item.is-open .sa-faq__mark::after{ transform:rotate(0deg); }
.sa-faq__a{ display:grid; grid-template-rows:1fr; }
.sa-faq.is-ready .sa-faq__a{ transition:grid-template-rows .45s var(--sa-ease); }
.sa-faq.is-js .sa-faq__a{ grid-template-rows:0fr; }
.sa-faq.is-js .sa-faq__item.is-open .sa-faq__a{ grid-template-rows:1fr; }
.sa-faq__ain{ overflow:hidden; min-height:0; }
.sa-faq__ain p{ margin:0; padding:0 32px 24px 0; max-width:44em; font-size:14.5px; line-height:2.05; color:var(--sa-subtitle); }
@media (max-width:767px){
.sa-faq{ padding:40px 0 0; }
.sa-faq__ttl{ font-size:19px; }
.sa-faq__q{ gap:14px; padding:18px 0; }
.sa-faq__qt{ font-size:14.5px; }
.sa-faq__ain p{ padding:0 0 20px; font-size:13.5px; line-height:2; }
}
.sa-insta{ width:1000px; max-width:min(100%,1000px); margin:0 auto; padding:56px 0 0; box-sizing:border-box; }
.sa-insta__inner{ width:100%; margin-right:48px; padding:10px; box-sizing:border-box; }
.sa-insta__en{ margin:0 0 10px; font-family:var(--sa-font-marcell); font-size:12px;
letter-spacing:.18em; color:var(--sa-subtitle); }
.sa-insta__head{ margin:0 0 10px; font-family:var(--sa-font-serif); font-size:24px; font-weight:700;
letter-spacing:.04em; line-height:1.5; color:var(--sa-text); }
.sa-insta__lead{ margin:0 0 34px; font-family:var(--sa-font-body); font-size:14px;
line-height:1.9; color:var(--sa-subtitle); }
.sa-insta__grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(0,1fr)); gap:40px; }
.sa-insta__col{ min-width:0; }
.sa-insta__name{ margin:0 0 14px; display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.sa-insta__ttl{ font-family:var(--sa-font-serif); font-size:16px; font-weight:700;
letter-spacing:.06em; color:var(--sa-text); }
.sa-insta__id{ font-family:var(--sa-font-body); font-size:12px; letter-spacing:.02em;
color:var(--sa-subtitle); text-decoration:none; transition:color .3s var(--sa-ease); }
.sa-insta__id:hover, .sa-insta__id:focus-visible{ color:var(--sa-gold); }
.sa-insta__more{ margin:16px 0 0; }
.sa-insta__more a{ position:relative; padding-right:22px; text-decoration:none;
font-family:var(--sa-font-body); font-size:13px; letter-spacing:.04em;
color:var(--sa-text); transition:color .3s var(--sa-ease); }
.sa-insta__more a::after{ content:''; position:absolute; right:0; top:50%;
width:14px; height:1px; background:var(--sa-gold);
transition:width .35s var(--sa-ease), right .35s var(--sa-ease); }
.sa-insta__more a:hover, .sa-insta__more a:focus-visible{ color:var(--sa-gold); }
.sa-insta__more a:hover::after, .sa-insta__more a:focus-visible::after{ width:20px; right:-6px; }
.sa-insta #sb_instagram,
.sa-insta .sb_instagram_header{ padding:0 !important; width:100% !important; }
.sa-insta #sb_instagram #sbi_images{ padding:0 !important; }
.sa-insta #sb_instagram .sbi_item{ padding:4px !important; }
.sa-insta #sb_instagram .sbi_photo_wrap{ overflow:hidden; border-radius:var(--sa-r-img); }
.sa-insta #sb_instagram .sbi_photo{ display:block; border-radius:var(--sa-r-img);
transition:transform .8s var(--sa-ease); }
.sa-insta #sb_instagram .sbi_photo img{ display:block; border-radius:var(--sa-r-img); }
.sa-insta #sb_instagram .sbi_item:hover .sbi_photo{ transform:scale(1.03); }
.sa-insta #sb_instagram .sbi_loader,
.sa-insta #sb_instagram .sbi_follow_btn,
.sa-insta #sb_instagram #sbi_load{ display:none !important; }
@media (max-width:900px){
.sa-insta{ padding:24px 0 0; }
.sa-insta__inner{ margin-right:0; }
.sa-insta__grid{ gap:28px; }
}
@media (max-width:767px){
.sa-insta__head{ font-size:21px; }
.sa-insta__grid{ grid-template-columns:1fr; gap:36px; }
}
.sa-tate-wrap.hidden{ pointer-events:none; }
:root{ --sa-menu-sub:#6E6660; }
.sa-yoko .menu-item > a,
.sa-tate .menu-item > a,
.sa-fsmenu .menu-item > a{
text-transform:uppercase;
letter-spacing:.08em;
}
.sa-yoko .menu-item > a,
.sa-tate .menu-item > a{ color:var(--sa-text); }
.sa-yoko .sub-menu .menu-item > a,
.sa-tate .sub-menu .menu-item > a,
.sa-fsmenu .sub-menu .menu-item > a{
text-transform:lowercase;
letter-spacing:.02em;
}
.sa-yoko .sub-menu .menu-item > a,
.sa-tate .sub-menu .menu-item > a{ color:var(--sa-menu-sub); }
.sa-tate .sub-menu .menu-item > a:hover,
.sa-tate .sub-menu .menu-item > a:focus-visible{ color:var(--sa-text); }
.sa-door__main:hover .sa-door__photo img,
.sa-door__main:focus-visible .sa-door__photo img{ transform:scale(1.03); }
.sa-price__zoom:hover img{ transform:scale(1.03); }
@media (prefers-reduced-motion: reduce){
.sa-door__main:hover .sa-door__photo img,
.sa-door__main:focus-visible .sa-door__photo img,
.sa-price__zoom:hover img{ transform:none; }
}
@media (min-width:768px){
.sa-open__ja{ right:177px; }
.sa-open__en-v{ right:215px; }
}
.sa-open.is-done{ z-index:1; }
.sa-lb{ display:inline-grid; text-align:center; }
.sa-lb > span{ grid-area:1 / 1; transition:opacity .22s ease, transform .22s ease; }
.sa-lb__en{ transform:translateY(0); }
.sa-yoko .menu-item > a:hover  .sa-lb__en,
.sa-yoko .menu-item > a:focus-visible .sa-lb__en,
.sa-tate .menu-item > a:hover  .sa-lb__en,
.sa-tate .menu-item > a:focus-visible .sa-lb__en{ transform:translateY(-.34em); }
.sa-lb__ja{ transform:translateY(.34em); }
.sa-yoko .menu-item > a:hover  .sa-lb__ja,
.sa-yoko .menu-item > a:focus-visible .sa-lb__ja,
.sa-tate .menu-item > a:hover  .sa-lb__ja,
.sa-tate .menu-item > a:focus-visible .sa-lb__ja{ transform:translateY(0); }
.sa-lb__ja{ font-family:"Noto Sans JP", sans-serif; font-size:.86em;
letter-spacing:.02em; text-transform:none; opacity:0; }
.sa-yoko .menu-item > a:hover  .sa-lb__en,
.sa-yoko .menu-item > a:focus-visible .sa-lb__en,
.sa-tate .menu-item > a:hover  .sa-lb__en,
.sa-tate .menu-item > a:focus-visible .sa-lb__en{ opacity:0; }
.sa-yoko .menu-item > a:hover  .sa-lb__ja,
.sa-yoko .menu-item > a:focus-visible .sa-lb__ja,
.sa-tate .menu-item > a:hover  .sa-lb__ja,
.sa-tate .menu-item > a:focus-visible .sa-lb__ja{ opacity:1; }
@media (max-width:767px){
.sa-lb{ display:inline; }
.sa-lb__ja{ display:none; }
}
@media (prefers-reduced-motion: reduce){
.sa-lb > span{ transition:none; transform:none !important; }
}
.sa-open__sig{
display:none;
position:absolute; z-index:2;
left:50%; top:calc(50vh - 20px);
width:min(440px, 34vw);
transform:translate(-50%, -50%);
opacity:0;
}
@media (min-width:1360px){ .sa-open__sig{ display:block; } }
.sa-sig{ display:block; width:100%; height:auto; }
.sa-sig-a{ fill:#231815; }
.sa-sig-b{ fill:#b5b5b6; }
.sa-sig-c{ fill:#ede6d0; }
.sa-sig-a, .sa-sig-b, .sa-sig-c{ stroke-width:0px; }
.sa-sig__w{
fill:none; stroke:#fff; stroke-width:5.2;
stroke-linecap:round; stroke-linejoin:round;
stroke-dasharray:var(--L) var(--L); stroke-dashoffset:var(--L);
opacity:0;
}
.sa-open.is-play .sa-open__sig{
opacity:1;
animation:sa-sig-out .8s ease 5.05s forwards;
}
.sa-open.is-play .sa-sig__w{
animation:sa-sig-draw var(--d) cubic-bezier(.34,.02,.30,1) var(--b) forwards;
}
.sa-sig__ho{ opacity:0; }
.sa-open.is-play .sa-sig__ho{ animation:sa-soft-in .45s ease var(--ho) forwards; }
@keyframes sa-sig-draw{
from{ stroke-dashoffset:var(--L); opacity:1; }
to  { stroke-dashoffset:0;        opacity:1; }
}
@keyframes sa-sig-out{ to{ opacity:0; } }
@media (min-width:1360px){
.sa-open.is-play .sa-open__veil{ animation-delay:5.00s; }
}
@media (prefers-reduced-motion: reduce){
.sa-open__sig{ display:none !important; }
}
html.sa-open-now .sa-open:not(.is-done) .sa-open__veil{
opacity:1; visibility:visible;
}
.sub-menu .sa-lb{ text-align:inherit; }
.sub-menu .sa-lb > span{ justify-self:stretch; }
.sa-ct__line{ margin:0 auto 46px; text-align:center; }
.sa-ct__line-lead{
margin:0 0 20px; font-size:14px; line-height:2; color:var(--sa-secondary);
word-break:keep-all; overflow-wrap:normal; line-break:strict;
}
.sa-ct__line-btns{ display:flex; justify-content:center; gap:18px; flex-wrap:wrap; }
.sa-lbtn{
display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
width:190px; padding:12px 16px; text-decoration:none;
border:1px solid var(--sa-gold); background:#FFFFFFF2; color:var(--sa-text);
transition:background-color .3s ease, color .3s ease;
}
.sa-lbtn:hover{ background:var(--sa-gold); color:#fff; }
.sa-lbtn__mark{ display:block; width:18px; height:18px; margin-bottom:4px; }
.sa-lbtn__mark img{ display:block; width:100%; height:100%; }
.sa-lbtn__en{
font-family:var(--sa-font-marcell); font-size:11px; letter-spacing:.18em;
line-height:1; opacity:.8;
}
.sa-lbtn__ja{
font-family:var(--sa-font-serif); font-size:15px; letter-spacing:.08em; line-height:1.5;
}
.sa-ct__line-note{ margin:16px 0 0; font-size:12px; color:var(--sa-subtitle); }
@media (max-width:600px){
.sa-ct__line{ margin-bottom:36px; }
.sa-ct__line-btns{ gap:12px; }
.sa-lbtn{ width:calc(50% - 6px); padding:12px 8px; }
.sa-lbtn__ja{ font-size:14px; }
}
.sa-perk{
max-width:640px; margin:34px auto 0; padding:22px 26px 20px;
border:1px solid var(--sa-accent); background:#FFFFFFF2; text-align:center;
}
.sa-perk__en{
margin:0 0 8px; font-family:var(--sa-font-marcell);
font-size:11px; letter-spacing:.22em; line-height:1; color:var(--sa-gold);
}
.sa-perk__ja{
margin:0; font-family:var(--sa-font-serif); font-size:16px; line-height:1.9;
letter-spacing:.04em; color:var(--sa-text);
word-break:keep-all; overflow-wrap:normal; line-break:strict;
}
.sa-perk__ja b{ font-weight:500; color:var(--sa-gold); }
.sa-perk__notes{ margin:12px 0 0; padding:0; list-style:none; }
.sa-perk__notes li{
font-size:12px; line-height:1.9; color:var(--sa-subtitle);
word-break:keep-all; overflow-wrap:normal; line-break:strict;
}
.sa-perk__notes li::before{ content:"※ "; }
@media (max-width:600px){
.sa-perk{ margin-top:26px; padding:18px 16px 16px; }
.sa-perk__ja{ font-size:15px; }
}
@media (max-width: 599px) {
.sa-staff       { flex-direction: column; flex-wrap: nowrap; gap: 40px; }
.sa-staff__item { width: 100%; display: grid;
grid-template-columns: 132px 1fr; column-gap: 18px; }
.sa-staff__photo    { grid-column: 1; grid-row: 1 / span 2; }
.sa-staff__body     { display: contents; }
.sa-staff__name     { grid-column: 2; grid-row: 1; align-self: end;   margin: 0; }
.sa-staff__position { grid-column: 2; grid-row: 2; align-self: start; margin: 6px 0 0; }
.sa-staff__text     { grid-column: 1 / -1; grid-row: 3; margin: 16px 0 0; }
}
@media (min-width: 768px) and (max-width: 899px) {
.sa-staff       { flex-wrap: wrap; }
.sa-staff__item { width: 45%; }
}
@media (min-width: 900px) {
.sa-staff { display: grid; grid-template-columns: repeat(6, 1fr);
column-gap: 30px; row-gap: 60px; align-items: start; }
.sa-staff__item { width: auto; }
.sa-staff__item:nth-child(1) { grid-column: 2 / span 2; grid-row: 1; }
.sa-staff__item:nth-child(2) { grid-column: 4 / span 2; grid-row: 1; }
.sa-staff__item:nth-child(3) { grid-column: 1 / span 2; grid-row: 2; }
.sa-staff__item:nth-child(4) { grid-column: 3 / span 2; grid-row: 2; }
.sa-staff__item:nth-child(5) { grid-column: 5 / span 2; grid-row: 2; }
}
.sa-yoko .sub-menu .menu-item > a:hover,
.sa-yoko .sub-menu .menu-item > a:focus-visible {
color: var(--sa-text);
background: rgba(212, 175, 55, .08);
}
.sa-fnav a:hover,
.sa-fnav a:focus-visible { color: var(--sa-gold); }
:root {
--sa-header-bg: rgba(250, 250, 250, .55);
}
.sa-bar {
-webkit-backdrop-filter: blur(28px) saturate(115%);
backdrop-filter: blur(28px) saturate(115%);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
:root { --sa-header-bg: #FAFAFA; }
}
.sa-header--sub .sa-bar {
border-bottom-color: rgba(60, 56, 53, .16);
}
.sa-header--front .sa-bar.with-border {
border-bottom-color: rgba(60, 56, 53, .16);
}
.sa-fsns {
display: grid;
grid-template-columns: max-content max-content;
column-gap: 15px;
row-gap: 15px;
align-items: center;
justify-content: start;
}
.sa-fsns__row { display: contents; }
.sa-main td,
.sa-main th { word-break: auto-phrase; }
body { line-break: strict; }
@media (max-width: 360px) {
.sa-main.sa-page--privacy-policy h1,
.sa-main.sa-page--terms-of-use h1 { font-size: 24px; }
}
.sa-sho {
width: 100%;
max-width: 620px;
margin: 72px auto 0;
padding-top: 30px;
border-top: .5px solid rgba(60, 56, 53, .16);
text-align: center;
}
.sa-sho__label {
font-family: "Marcellus", "Cormorant Garamond", serif;
font-size: 12px;
letter-spacing: .16em;
text-indent: .16em;
color: var(--sa-gold);
margin: 0 0 16px;
}
.sa-sho__body {
font-size: 13px;
line-height: 2.15;
color: var(--sa-menu-sub);
margin: 0;
}
.sa-sho__sign {
font-size: 12px;
letter-spacing: .1em;
color: var(--sa-subtitle);
margin: 20px 0 0;
}
@media (max-width: 599px) {
.sa-sho      { margin-top: 52px; padding-top: 26px; }
.sa-sho__body { font-size: 12.5px; line-height: 2.05; }
}
@media (min-width: 768px) {
.sa-sprof {
flex-wrap: nowrap;
gap: 0 46px;
align-items: flex-start;
}
.sa-sprof__photo {
flex: 0 0 300px;
width: 300px;
height: 400px;
}
.sa-sprof__text {
width: auto;
flex: 1 1 auto;
min-width: 0;
}
}
.sa-sprof__photo img {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 0;
-webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cellipse cx='50' cy='50' rx='50' ry='50'/%3E%3C/svg%3E");
mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cellipse cx='50' cy='50' rx='50' ry='50'/%3E%3C/svg%3E");
-webkit-mask-size: 100% 100%;
mask-size: 100% 100%;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
}
html.sa-bunsetsu .sa-ph {
word-break: keep-all;
overflow-wrap: break-word;
}
html.sa-bunsetsu .sa-main td,
html.sa-bunsetsu .sa-main th {
word-break: keep-all;
overflow-wrap: break-word;
}
.sa-top__movie { position: relative; }
.sa-movie__open {
position: absolute;
left: 12px;
bottom: 12px;
z-index: 2;
display: inline-flex;
align-items: center;
gap: 8px;
margin: 0;
padding: 7px 14px 7px 11px;
border: .5px solid rgba(60, 56, 53, .16);
border-radius: 999px;
background: rgba(250, 250, 250, .55);
-webkit-backdrop-filter: blur(18px) saturate(115%);
backdrop-filter: blur(18px) saturate(115%);
color: var(--sa-text);
font-family: inherit;
font-size: 11px;
letter-spacing: .12em;
line-height: 1;
cursor: pointer;
-webkit-appearance: none;
appearance: none;
transition: background .3s ease, border-color .3s ease, transform .3s ease;
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
.sa-movie__open { background: rgba(250, 250, 250, .88); }
}
.sa-movie__icon {
flex: 0 0 auto;
width: 0;
height: 0;
border-style: solid;
border-width: 4.5px 0 4.5px 7.5px;
border-color: transparent transparent transparent var(--sa-gold);
}
.sa-movie__label { display: block; text-indent: .12em; }
.sa-movie__open:hover,
.sa-movie__open:focus-visible {
background: rgba(250, 250, 250, .78);
border-color: rgba(60, 56, 53, .28);
transform: translateY(-1px);
}
.sa-movie__open:focus-visible { outline: 1px solid var(--sa-gold); outline-offset: 3px; }
@media (max-width: 767px) {
.sa-movie__open { left: 10px; bottom: 10px; font-size: 11.5px; padding: 8px 15px 8px 12px; }
}
.sa-mv {
position: fixed;
inset: 0;
z-index: 100000;
display: flex;
align-items: center;
justify-content: center;
padding: 20px;
background: rgba(28, 26, 24, .88);
-webkit-backdrop-filter: blur(10px);
backdrop-filter: blur(10px);
opacity: 0;
visibility: hidden;
transition: opacity .35s ease, visibility .35s;
}
.sa-mv.is-open { opacity: 1; visibility: visible; }
.sa-mv__video {
display: block;
height: min(86vh, 156vw);
width: auto;
aspect-ratio: 9 / 16;
max-width: 88vw;
object-fit: contain;
background: #000;
}
.sa-mv__close {
position: absolute;
right: 18px;
top: 18px;
width: 40px;
height: 40px;
padding: 0;
border: 0;
background: none;
cursor: pointer;
-webkit-appearance: none;
appearance: none;
}
.sa-mv__close::before,
.sa-mv__close::after {
content: '';
position: absolute;
left: 9px;
top: 19px;
width: 22px;
height: 1px;
background: rgba(250, 250, 250, .82);
transition: background .3s ease;
}
.sa-mv__close::before { transform: rotate(45deg); }
.sa-mv__close::after  { transform: rotate(-45deg); }
.sa-mv__close:hover::before,
.sa-mv__close:hover::after,
.sa-mv__close:focus-visible::before,
.sa-mv__close:focus-visible::after { background: #fff; }
.sa-mv__close:focus-visible { outline: 1px solid rgba(250, 250, 250, .6); outline-offset: 2px; }
body.sa-mv-open { overflow: hidden; }
@media (prefers-reduced-motion: reduce) {
.sa-movie__open,
.sa-mv,
.sa-mv__close::before,
.sa-mv__close::after { transition: none; }
}
.sa-write.sa-hw-on,
.sa-write.sa-hw-on .sa-wline{
clip-path: none !important;
transition: none !important;
}
.sa-hw{
display: inline-block;
position: relative;
vertical-align: baseline;
}
.sa-hw svg{
position: absolute;
top: 0;
overflow: visible;
}
.sa-hw__txt{
position: absolute;
width: 1px; height: 1px;
overflow: hidden;
clip-path: inset(50%);
white-space: nowrap;
}
.sa-voice{
width:1000px;
max-width:min(100%, 1000px);
margin:0 auto;
padding:56px 0 0;
box-sizing:border-box;
}
.sa-voice__en{
margin:0 0 10px;
font-family:var(--sa-font-marcell);
font-size:12px;
letter-spacing:.18em;
color:var(--sa-subtitle);
}
.sa-voice__head{
margin:0 0 12px;
font-family:var(--sa-font-serif);
font-size:24px;
font-weight:700;
letter-spacing:.04em;
line-height:1.5;
color:var(--sa-text);
}
.sa-voice__score{
margin:0;
display:flex;
align-items:baseline;
gap:10px;
flex-wrap:wrap;
}
.sa-voice__num{
font-family:var(--sa-font-serif);
font-size:20px;
font-weight:700;
line-height:1;
letter-spacing:.04em;
color:var(--sa-gold);
}
.sa-voice__cap{
font-family:var(--sa-font-body);
font-size:12px;
letter-spacing:.08em;
color:var(--sa-subtitle);
}
.sa-voice__lead{
margin:10px 0 0;
font-family:var(--sa-font-body);
font-size:13px;
line-height:2;
color:var(--sa-subtitle);
word-break:auto-phrase;
text-wrap:pretty;
}
.sa-voice__list{
margin:26px 0 0;
border-top:1px solid rgba(60,56,53,.10);
}
.sa-voice__item{
padding:26px 0;
border-bottom:1px solid rgba(60,56,53,.10);
}
.sa-voice__text{
margin:0;
font-family:var(--sa-font-body);
font-size:14px;
line-height:2;
color:var(--sa-secondary);
word-break:auto-phrase;
text-wrap:pretty;
}
.sa-voice__who{
margin:12px 0 0;
font-family:var(--sa-font-body);
font-size:12px;
letter-spacing:.08em;
color:var(--sa-subtitle);
}
.sa-voice__more{
margin:22px 0 0;
}
.sa-voice__more a{
font-family:var(--sa-font-body);
font-size:13px;
letter-spacing:.06em;
color:var(--sa-text);
text-decoration:none;
border-bottom:1px solid var(--sa-gold);
padding-bottom:3px;
transition:opacity .3s var(--sa-ease);
}
.sa-voice__more a:hover{ opacity:.62; }
@media (max-width:767px){
.sa-voice{ padding:44px 16px 0; }
.sa-voice__head{ font-size:21px; }
.sa-voice__num{ font-size:18px; }
.sa-voice__item{ padding:22px 0; }
.sa-voice__text{ font-size:13.5px; }
}
.sa-main > .sa-voice:last-child{
padding-bottom:90px;
}
@media (max-width:767px){
.sa-main > .sa-voice:last-child{ padding-bottom:64px; }
}
@media (max-width:767px){
.sa-faq{
padding-left:16px;
padding-right:16px;
}
}
@media (prefers-reduced-motion: no-preference){
.sa-door .sa-door__photo{
position:relative;
clip-path:inset(0 calc(50% - .5px) 0 calc(50% - .5px) round var(--sa-r-img));
transition:clip-path .95s var(--sa-ease) .08s;
}
.sa-door.is-in .sa-door__photo{
clip-path:inset(0 0 0 0 round var(--sa-r-img));
}
.sa-door.is-in .sa-door__photo img{
animation:sa-door-zoom 1.2s var(--sa-ease) .08s backwards;
}
.sa-door .sa-door__photo::after{
content:''; position:absolute; top:0; bottom:0; left:50%; width:1px; margin-left:-.5px;
background:linear-gradient(180deg, rgba(212,175,55,0), rgba(212,175,55,.9) 50%, rgba(212,175,55,0));
opacity:0; pointer-events:none;
}
.sa-door.is-in .sa-door__photo::after{
animation:sa-door-seam .85s var(--sa-ease) both;
}
.sa-doors__grid > .sa-door:nth-child(2) .sa-door__photo{ transition-delay:.22s; }
.sa-doors__grid > .sa-door:nth-child(2).is-in .sa-door__photo img{ animation-delay:.22s; }
.sa-doors__grid > .sa-door:nth-child(2).is-in .sa-door__photo::after{ animation-delay:.16s; }
@keyframes sa-door-zoom{ from{ transform:scale(1.06); } to{ transform:none; } }
@keyframes sa-door-seam{
0%{ opacity:0; transform:scaleY(.3); }
30%{ opacity:1; transform:scaleY(1); }
100%{ opacity:0; transform:scaleY(1); }
}
}
.sa-door__links a, .sa-door__main,
.sa-rsv__btn, .sa-pexit__link, .sa-lbtn,
.sa-insta__id, .sa-insta__more a, .sa-insta #sb_instagram .sbi_item a,
.sa-fnav a, .sa-fsmenu__nav a,
.sa-price__zoom, .sa-movie__open, .sa-mv__close,
.sa-voice__more a, .sans-age-price-simple__link, .sa-mcard__photo,
.sa-ct__form input.sa-cf__button, .sans-age-404__button{
-webkit-tap-highlight-color: transparent;
}
.sa-door__links a.is-tap, .sa-rsv__btn.is-tap, .sa-pexit__link.is-tap, .sa-lbtn.is-tap,
.sa-insta__id.is-tap, .sa-insta__more a.is-tap, .sa-fnav a.is-tap,
.sa-voice__more a.is-tap, .sa-ptable.is-fold > .sa-ptable__head.is-tap,
.sans-age-404__button.is-tap{
transition-duration: .15s;
}
.sa-door__links a.is-tap::after, .sa-insta__more a.is-tap::after{
transition-duration: .2s;
}
.sa-door__links a.is-tap{ color: var(--sa-gold); }
.sa-door__links a.is-tap::after{ width: 20px; right: -6px; }
.sa-door__links a.is-sns.is-tap{ color: var(--sa-text); }
.sa-door__links a.is-sns.is-tap::after{ background: var(--sa-text); }
.sa-rsv__btn--web.is-tap{ background: #fff; color: var(--sa-text); }
.sa-rsv__btn--tel.is-tap{ background: var(--sa-gold); color: #fff; }
.sa-pexit__link.is-tap{ background: var(--sa-gold); color: #fff; }
.sa-pexit__link.is-tap .sa-pexit__sub{ color: #FFFFFFCC; }
.sa-pexit__link--primary.is-tap{ background: #fff; color: var(--sa-text); }
.sa-pexit__link--primary.is-tap .sa-pexit__sub{ color: var(--sa-subtitle); }
.sa-lbtn.is-tap{ background: var(--sa-gold); color: #fff; }
.sa-insta__id.is-tap{ color: var(--sa-gold); }
.sa-insta__more a.is-tap{ color: var(--sa-gold); }
.sa-insta__more a.is-tap::after{ width: 20px; right: -6px; }
.sa-fnav a.is-tap{ color: var(--sa-gold); }
.sa-fsmenu__nav a.is-tap{ color: var(--sa-gold); transition-duration: .15s; }
.sa-voice__more a.is-tap{ opacity: .62; }
.sa-ptable.is-fold > .sa-ptable__head.is-tap{ opacity: .74; }
.sans-age-price-simple__link.is-tap{ color: #ead273 !important; }
.sa-mcard__photo.is-tap::before{ background-image: linear-gradient(180deg, #FFFCFC 0%, #FFFAFB 60%); opacity: .6; }
.sa-ct__form input.sa-cf__button.is-tap{ opacity: .88; }
.sans-age-404__button.is-tap{ background: #8d796e; border-color: #8d796e; color: #fff; }
.sa-movie__open.is-tap{ background: rgba(250, 250, 250, .78); border-color: rgba(60, 56, 53, .28); }
.sa-mv__close.is-tap::before, .sa-mv__close.is-tap::after{ background: #fff; }
@media (prefers-reduced-motion: no-preference){
.sa-door__main.is-tap .sa-door__photo img{ transform: scale(1.03); }
.sa-insta #sb_instagram .sbi_item.is-tap .sbi_photo{ transform: scale(1.03); }
.sa-price__zoom.is-tap img{ transform: scale(1.03); }
.sa-movie__open.is-tap{ transform: translateY(-1px); }
}
html.sa-touch .sa-door__links a:hover:not(.is-tap){ color: var(--sa-text); }
html.sa-touch .sa-door__links a:hover:not(.is-tap)::after{ width: 14px; right: 0; }
html.sa-touch .sa-door__links a.is-sns:hover:not(.is-tap){ color: var(--sa-subtitle); }
html.sa-touch .sa-door__links a.is-sns:hover:not(.is-tap)::after{ background: var(--sa-subtitle); }
html.sa-touch .sa-door__main:hover:not(.is-tap) .sa-door__photo img{ transform: none; }
html.sa-touch .sa-rsv__btn--web:hover:not(.is-tap){ background: var(--sa-gold); color: #fff; }
html.sa-touch .sa-rsv__btn--tel:hover:not(.is-tap){ background: #FFFFFFF2; color: var(--sa-text); }
@media (max-width: 767px){
html.sa-touch .sa-rsv__btn--tel:hover:not(.is-tap){ background: #fff; }
}
html.sa-touch .sa-pexit__link:hover:not(.is-tap){ background: transparent; color: var(--sa-text); }
html.sa-touch .sa-pexit__link:hover:not(.is-tap) .sa-pexit__sub{ color: var(--sa-subtitle); }
html.sa-touch .sa-pexit__link--primary:hover:not(.is-tap){ background: var(--sa-gold); color: #fff; }
html.sa-touch .sa-pexit__link--primary:hover:not(.is-tap) .sa-pexit__sub{ color: #FFFFFFCC; }
html.sa-touch .sa-lbtn:hover:not(.is-tap){ background: #FFFFFFF2; color: var(--sa-text); }
html.sa-touch .sa-insta__id:hover:not(.is-tap){ color: var(--sa-subtitle); }
html.sa-touch .sa-insta__more a:hover:not(.is-tap){ color: var(--sa-text); }
html.sa-touch .sa-insta__more a:hover:not(.is-tap)::after{ width: 14px; right: 0; }
html.sa-touch .sa-insta #sb_instagram .sbi_item:hover:not(.is-tap) .sbi_photo{ transform: none; }
html.sa-touch .sa-fnav a:hover:not(.is-tap){ color: var(--sa-text); }
html.sa-touch .sa-voice__more a:hover:not(.is-tap){ opacity: 1; }
html.sa-touch .sa-ptable.is-fold > .sa-ptable__head:hover:not(.is-tap){ opacity: 1; }
html.sa-touch .sans-age-price-simple__link:hover:not(.is-tap){ color: #d7b53d !important; }
html.sa-touch .sa-mcard__photo:hover:not(.is-tap)::before{ background-image: none; opacity: .5; }
html.sa-touch .sa-ct__form input.sa-cf__button:hover:not(.is-tap){ opacity: 1; }
html.sa-touch .sans-age-404__button--primary:hover:not(.is-tap){ background: #302a28; border-color: #302a28; color: #fff; }
html.sa-touch .sans-age-404__button--secondary:hover:not(.is-tap){ background: transparent; border-color: #302a28; color: #302a28; }
html.sa-touch .sa-price__zoom:hover:not(.is-tap) img{ transform: none; }
html.sa-touch .sa-movie__open:hover:not(.is-tap){ background: rgba(250, 250, 250, .55); border-color: rgba(60, 56, 53, .16); transform: none; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
html.sa-touch .sa-movie__open:hover:not(.is-tap){ background: rgba(250, 250, 250, .88); }
}
html.sa-touch .sa-mv__close:hover:not(.is-tap)::before,
html.sa-touch .sa-mv__close:hover:not(.is-tap)::after{ background: rgba(250, 250, 250, .82); }
@view-transition{ navigation:auto; }
#sa-bar{ view-transition-name:sa-bar; }
.sa-yoko-wrap{ view-transition-name:sa-yoko; }
.sa-fsmenu__inner{ view-transition-name:sa-fsmenu; }
::view-transition-old(root){ animation:sa-vt-out .26s cubic-bezier(.4, 0, 1, 1) both; }
::view-transition-new(root){ animation:sa-vt-in .66s cubic-bezier(.22, 1, .36, 1) .05s both; }
@keyframes sa-vt-out{ to{ opacity:0; } }
@keyframes sa-vt-in{ from{ opacity:0; transform:translateY(14px); } }
::view-transition-group(sa-bar),
::view-transition-group(sa-yoko){ animation-duration:.42s; animation-timing-function:cubic-bezier(.22, 1, .36, 1); }
::view-transition-group(sa-fsmenu){ animation-duration:.45s; }
::view-transition-old(sa-fsmenu){ animation:sa-vt-out .45s ease both; }
@media (prefers-reduced-motion: reduce){
::view-transition-group(*),
::view-transition-old(*),
::view-transition-new(*){ animation:none !important; }
}
@media (max-width:1359px){
.sa-open__sig{ display:block; top:calc(50vh + 60px); width:min(300px, 40vw); }
.sa-open__en-h{ top:calc(50vh - 118px); }
.sa-open__ja-sp{ top:calc(50vh - 74px); }
.sa-open.is-play .sa-sig__w{
animation-duration:calc(var(--d) * .85);
animation-delay:calc(1.95s + (var(--b) - 2.6s) * .85);
}
.sa-open.is-play .sa-sig__ho{ animation-delay:calc(1.95s + (var(--ho) - 2.6s) * .85); }
.sa-open.is-play .sa-open__sig{ animation:sa-sig-out .8s ease 4.2s forwards; }
.sa-open.is-play .sa-open__veil{ animation-delay:4.2s; }
.sa-open.is-play .sa-open__en-h{
animation:sa-soft-in .9s ease .3s forwards, sa-soft-out 1s ease 4.2s forwards;
}
.sa-open.is-play .sa-open__ja-sp{
animation:sa-rise-in 1.1s var(--sa-ease) .85s forwards, sa-soft-out 1s ease 4.2s forwards;
}
}
@media (max-width:600px){
.sa-open__sig{ top:calc(50vh + 66px); width:min(250px, 64vw); }
.sa-open__en-h{ top:calc(50vh - 140px); }
.sa-open__ja-sp{ top:calc(50vh - 96px); }
}
@media (prefers-reduced-motion: no-preference){
html.sa-focus-on .sa-staff__photo{ border-radius:50%; overflow:hidden; isolation:isolate; }
html.sa-focus-on .sa-staff__photo img,
html.sa-focus-on .sa-sprof__photo img{
filter:blur(8px);
transform:scale(1.04);
transition:filter 1.2s var(--sa-ease) .1s, transform 1.5s var(--sa-ease) .1s;
}
html.sa-focus-on .sa-staff__photo.is-focus img,
html.sa-focus-on .sa-sprof__photo.is-focus img{ filter:none; transform:none; }
@media (min-width:768px){
html.sa-focus-on .sa-staff__item:nth-child(2) .sa-staff__photo img{ transition-delay:.22s; }
html.sa-focus-on .sa-staff__item:nth-child(4) .sa-staff__photo img{ transition-delay:.22s; }
html.sa-focus-on .sa-staff__item:nth-child(5) .sa-staff__photo img{ transition-delay:.34s; }
}
}
@media (prefers-reduced-motion: no-preference){
html.sa-rule-on .sa-reason__item,
html.sa-rule-on .sa-voice__list,
html.sa-rule-on .sa-voice__item,
html.sa-rule-on .sa-faq__list,
html.sa-rule-on .sa-faq__item{ position:relative; }
html.sa-rule-on .sa-reason__item,
html.sa-rule-on .sa-voice__list,
html.sa-rule-on .sa-faq__list{ border-top-color:transparent; }
html.sa-rule-on .sa-reason__item:last-child,
html.sa-rule-on .sa-voice__item,
html.sa-rule-on .sa-faq__item{ border-bottom-color:transparent; }
html.sa-rule-on .sa-reason__item::before,
html.sa-rule-on .sa-voice__list::before,
html.sa-rule-on .sa-faq__list::before,
html.sa-rule-on .sa-reason__item:last-child::after,
html.sa-rule-on .sa-voice__item::after,
html.sa-rule-on .sa-faq__item::after{
content:''; position:absolute; left:0; right:0; height:1px;
background-color:rgba(212,175,55,.75);
transform:scaleX(0); transform-origin:left center;
pointer-events:none;
}
html.sa-rule-on .sa-reason__item::before,
html.sa-rule-on .sa-voice__list::before,
html.sa-rule-on .sa-faq__list::before{
top:-1px;
transition:transform 1.1s var(--sa-ease) var(--sa-rd, 0s),
background-color 1.4s ease calc(var(--sa-rd, 0s) + .9s);
}
html.sa-rule-on .sa-reason__item:last-child::after,
html.sa-rule-on .sa-voice__item::after,
html.sa-rule-on .sa-faq__item::after{
bottom:-1px;
transition:transform 1.1s var(--sa-ease) var(--sa-rdb, 0s),
background-color 1.4s ease calc(var(--sa-rdb, 0s) + .9s);
}
html.sa-rule-on .sa-reason__item.is-ruled::before,
html.sa-rule-on .sa-voice__list.is-ruled::before,
html.sa-rule-on .sa-faq__list.is-ruled::before,
html.sa-rule-on .sa-reason__item.is-ruled-b:last-child::after,
html.sa-rule-on .sa-voice__item.is-ruled-b::after,
html.sa-rule-on .sa-faq__item.is-ruled-b::after{
transform:scaleX(1);
background-color:rgba(60,56,53,.10);
}
}
@media (prefers-reduced-motion: no-preference){
html.sa-depth-on .sa-reason__photo{
isolation:isolate;
-webkit-transform:translateZ(0); transform:translateZ(0);
}
html.sa-depth-on .sa-reason__photo img{
border-radius:0;
transform:translate3d(0, var(--sa-dy, 0px), 0) scale(1.12);
transition:none;
will-change:transform;
}
}
@media (prefers-reduced-motion: no-preference){
html.sa-rose-on .sa-menu__deco img{
transform:translate3d(0, var(--sa-rose-y, 0px), 0) rotate(var(--sa-rose-r, 20deg));
transition:none;
will-change:transform;
}
}
html.sa-frame-on .sa-mcard{
position:relative;
}
html.sa-frame-on .sa-mcard__namebox{
z-index:2;
}
.sa-frame{
position:absolute;
z-index:1;
overflow:visible;
pointer-events:none;
}
.sa-frame path{
fill:none;
stroke:var(--sa-gold);
stroke-width:1px;
opacity:.9;
stroke-dasharray:var(--sa-fda);
stroke-dashoffset:var(--sa-fo);
}
.sa-frame.is-drawn path{
stroke-dashoffset:0;
transition:stroke-dashoffset 1.9s cubic-bezier(.45, 0, .2, 1) .35s;
}
.sa-frame.is-still path{
transition:none;
}
@media (prefers-reduced-motion: reduce){
.sa-frame path{
transition:none !important;
}
}
html.sa-oval-on .sa-sprof__photo{
position:relative;
}
.sa-oval{
position:absolute;
z-index:1;
overflow:visible;
pointer-events:none;
}
.sa-oval path{
fill:none;
stroke:var(--sa-gold);
stroke-width:1px;
opacity:.9;
stroke-dasharray:var(--sa-oda);
stroke-dashoffset:var(--sa-oo);
}
.sa-oval.is-drawn path{
stroke-dashoffset:0;
transition:stroke-dashoffset 2.4s cubic-bezier(.45, 0, .2, 1) .4s;
}
.sa-oval.is-still path{
transition:none;
}
@media (prefers-reduced-motion: reduce){
.sa-oval path{
transition:none !important;
}
}
@media (max-width: 767px){
html.sa-oval-on .sa-sprof__photo{
margin-bottom:10px;
}
}
@media (prefers-reduced-motion: no-preference){
html.sa-prule-on .sa-ptable__head,
html.sa-prule-on .sa-ptable__row{
position:relative;
}
html.sa-prule-on .sa-ptable__head{
border-bottom-color:transparent;
}
html.sa-prule-on .sa-ptable__head::after{
content:''; position:absolute; left:0; right:0; bottom:-1px; height:1px;
background:var(--sa-gold);
transform:scaleX(0); transform-origin:left center;
transition:transform 1.2s var(--sa-ease) var(--sa-prd, 0s);
pointer-events:none;
}
html.sa-prule-on .sa-ptable__head.is-ruled::after{
transform:scaleX(1);
}
html.sa-prule-on .sa-ptable__row{
border-bottom-color:transparent;
}
html.sa-prule-on .sa-ptable__row:first-child{
border-top-color:transparent;
}
html.sa-prule-on .sa-ptable__row::after,
html.sa-prule-on .sa-ptable__row:first-child::before{
content:''; position:absolute; left:0; right:0; height:1px;
background:rgba(212,175,55,.8);
transform:scaleX(0); transform-origin:left center;
transition:transform 1s var(--sa-ease) var(--sa-prd, 0s),
opacity .9s ease calc(var(--sa-prd, 0s) + .85s);
pointer-events:none;
}
html.sa-prule-on .sa-ptable__row::after{
bottom:-1px;
}
html.sa-prule-on .sa-ptable__row:first-child::before{
top:-1px;
}
html.sa-prule-on .sa-ptable__row.is-ruled::after,
html.sa-prule-on .sa-ptable__row.is-ruled:first-child::before{
transform:scaleX(1);
opacity:0;
}
html.sa-prule-on .sa-ptable__row.is-ruled{
border-bottom-color:#DED6C9;
transition:border-color .9s ease calc(var(--sa-prd, 0s) + .85s);
}
html.sa-prule-on .sa-ptable__row.is-ruled:first-child{
border-top-color:#DED6C9;
}
}
html.sa-trace-on .sa-rsv__btn--web{
position:relative;
}
.sa-trace{
position:absolute;
left:0;
top:0;
overflow:visible;
pointer-events:none;
}
.sa-trace path{
fill:none;
stroke:#fff;
stroke-width:1px;
opacity:0;
stroke-dasharray:var(--sa-tda);
stroke-dashoffset:var(--sa-to);
}
.sa-trace.is-run path{
opacity:.95;
stroke-dashoffset:0;
transition:stroke-dashoffset 1.3s cubic-bezier(.45, 0, .2, 1), opacity .2s ease;
}
.sa-trace.is-run.is-out path{
opacity:0;
transition:opacity .6s ease;
}
@media (hover: hover) and (pointer: fine){
.sa-rsv__btn--web:hover .sa-trace path{
stroke:var(--sa-gold);
}
}
@media (prefers-reduced-motion: reduce){
.sa-trace{
display:none;
}
}
.sa-ct__form input.sa-cf__input,
.sa-ct__form textarea.sa-cf__textarea{
font-size:16px;
background-image:linear-gradient(var(--sa-gold), var(--sa-gold));
background-repeat:no-repeat;
background-position:0 100%;
background-size:0 1.5px;
}
@media (prefers-reduced-motion: no-preference){
.sa-ct__form input.sa-cf__input,
.sa-ct__form textarea.sa-cf__textarea{
transition:background-size .55s var(--sa-ease), border-color .4s ease;
}
}
.sa-ct__form input.sa-cf__input:focus,
.sa-ct__form textarea.sa-cf__textarea:focus{
background-size:100% 1.5px;
border-color:rgba(212, 175, 55, .6);
}
.sa-ct__form input.sa-cf__input:focus-visible,
.sa-ct__form textarea.sa-cf__textarea:focus-visible{
outline:none;
}
html.sa-quote-on .sa-voice__item{
position:relative;
}
.sa-quote{
position:absolute;
left:0;
top:0;
overflow:visible;
pointer-events:none;
}
.sa-quote path{
fill:none;
stroke:var(--sa-gold);
stroke-width:1px;
opacity:.85;
stroke-dasharray:var(--sa-qda);
stroke-dashoffset:var(--sa-qo);
}
.sa-quote.is-drawn path{
stroke-dashoffset:0;
transition:stroke-dashoffset .6s cubic-bezier(.45, 0, .2, 1) var(--sa-qd, 0s);
}
.sa-quote.is-still path{
transition:none;
}
@media (prefers-reduced-motion: reduce){
.sa-quote path{
transition:none !important;
}
}
@media (prefers-reduced-motion: no-preference){
html.sa-sign-on .sa-fbrand__img img{
-webkit-mask-image:linear-gradient(90deg, #000 44%, transparent 54%);
mask-image:linear-gradient(90deg, #000 44%, transparent 54%);
-webkit-mask-size:240% 100%;
mask-size:240% 100%;
-webkit-mask-repeat:no-repeat;
mask-repeat:no-repeat;
-webkit-mask-position:100% 0;
mask-position:100% 0;
}
html.sa-sign-on .sa-fbrand__img.is-signed img{
-webkit-mask-position:0 0;
mask-position:0 0;
transition:-webkit-mask-position 1.8s cubic-bezier(.5, 0, .3, 1) .2s, mask-position 1.8s cubic-bezier(.5, 0, .3, 1) .2s;
}
}
@media (min-width: 768px){
.sa-voice,
.sa-faq{
max-width:min(calc(100% - 20px), 1000px);
}
}
@media (min-width:768px) and (max-width:1279px){
.sa-bar__row{
width:100%;
}
.sa-yoko-wrap,
.sa-tate{
display:none;
}
.sa-burger{
display:flex;
align-items:center;
justify-content:center;
position:relative;
width:30px;
height:30px;
box-sizing:border-box;
padding:10px 0;
background:none;
border:0;
cursor:pointer;
flex:0 0 auto;
z-index:99999999;
}
.sa-burger *{
transition:all .2s;
}
.sa-burger > span{
position:relative;
display:block;
width:100%;
height:2px;
background:#000;
}
.sa-burger > span::before,
.sa-burger > span::after{
content:"";
position:absolute;
left:0;
width:100%;
height:2px;
background:#000;
}
.sa-burger > span::before{
top:-10px;
}
.sa-burger > span::after{
top:10px;
}
.sa-burger.is-open > span{
transform:rotate(135deg);
}
.sa-burger.is-open > span::before{
top:0;
transform:rotate(90deg);
}
.sa-burger.is-open > span::after{
top:0;
opacity:0;
}
.sa-fsmenu{
display:block;
}
.sa-lb{
display:inline;
}
.sa-lb__ja{
display:none;
}
}
#sa-bar{
transition:background-color .6s ease, border-color .5s ease-in-out;
}
.sa-logo img{
transition:filter .6s ease;
}
html.sa-menu-open #sa-bar{
z-index:99999;
pointer-events:none;
background-color:transparent;
-webkit-backdrop-filter:none;
backdrop-filter:none;
border-bottom-color:transparent;
}
html.sa-menu-open .sa-logo,
html.sa-menu-open .sa-burger{
pointer-events:auto;
}
html.sa-menu-open .sa-logo img{
filter:invert(1);
}
html.sa-menu-open .sa-burger > span,
html.sa-menu-open .sa-burger > span::before{
background:#fff;
}
.sa-fsmenu__inner{
box-sizing:border-box;
padding:var(--sa-header-h) 0;
overflow-y:auto;
overscroll-behavior:contain;
}
.sa-fsmenu__nav{
margin:auto 0;
}
@media (max-width:767px){
.sa-fsmenu__inner{
padding:var(--sa-header-h-sp) 0;
}
}
@media (prefers-reduced-motion: reduce){
#sa-bar,
.sa-logo img{
transition:none;
}
}
@media (min-width:768px) and (max-width:1024px){
.sa-menu,
.sa-mgreet,
.sa-rec,
.sa-rec2,
.sa-ct{
padding-left:16px;
padding-right:16px;
}
.sa-mgreet__inner,
.sa-rec__inner,
.sa-rec2__inner,
.sa-ct__inner{
max-width:100%;
}
.sa-menu__title,
.sa-mgreet__title,
.sa-rec__head,
.sa-rec2__head,
.sa-ct__head{
margin-left:0;
}
}
@media (prefers-reduced-motion: no-preference){
.sa-insta .sbi_photo_wrap.sa-ig{
opacity:0;
transform:translateY(16px) scale(.97);
transition:opacity .9s var(--sa-ease) var(--sa-igd, 0s), transform 1.1s var(--sa-ease) var(--sa-igd, 0s);
}
.sa-insta .sbi_photo_wrap.sa-ig.is-in{
opacity:1;
transform:none;
}
}
.sa-pagetop{
position:fixed;
z-index:91;
right:24px;
bottom:24px;
width:46px;
height:46px;
margin:0;
padding:0;
border:0;
border-radius:50%;
background:rgba(250, 250, 250, .72);
-webkit-backdrop-filter:blur(12px) saturate(115%);
backdrop-filter:blur(12px) saturate(115%);
box-shadow:0 4px 14px rgba(60, 56, 53, .10);
color:var(--sa-text);
cursor:pointer;
opacity:0;
visibility:hidden;
transform:translateY(10px);
transition:opacity .5s ease, transform .5s ease, visibility .5s, bottom .5s var(--sa-ease), right .5s var(--sa-ease);
-webkit-tap-highlight-color:transparent;
}
.sa-pagetop.is-in{
opacity:1;
visibility:visible;
transform:none;
}
html.sa-menu-open .sa-pagetop{
opacity:0;
visibility:hidden;
}
.sa-pagetop svg{
position:absolute;
left:0;
top:0;
width:100%;
height:100%;
overflow:visible;
pointer-events:none;
}
.sa-pagetop__ring{
transform:rotate(-90deg);
transform-origin:50% 50%;
}
.sa-pagetop__track{
fill:none;
stroke:rgba(60, 56, 53, .18);
stroke-width:1;
}
.sa-pagetop__bar{
fill:none;
stroke:var(--sa-gold);
stroke-width:1.5;
}
.sa-pagetop__arrow{
fill:none;
stroke:currentColor;
stroke-width:1.2;
stroke-linecap:round;
stroke-linejoin:round;
transition:transform .35s var(--sa-ease);
}
@media (hover: hover){
.sa-pagetop:hover .sa-pagetop__arrow{
transform:translateY(-2px);
}
}
.sa-pagetop:focus-visible{
outline:2px solid var(--sa-gold);
outline-offset:3px;
}
@media (prefers-reduced-motion: no-preference){
.sa-pagetop__bar{
transition:stroke-dashoffset .18s linear;
}
}
@media (prefers-reduced-motion: reduce){
.sa-pagetop,
.sa-pagetop__arrow{
transition:none;
}
}
@media (hover: none) and (prefers-reduced-motion: no-preference){
html .sa-door__main.sa-near.is-near:not(.sa-x) .sa-door__photo img{
transform:scale(1.03);
}
html .sa-mcard__photo.sa-near.is-near:not(.sa-x)::before{
background-image:linear-gradient(180deg, #FFFCFC 0%, #FFFAFB 60%);
opacity:.6;
}
}
@media (prefers-reduced-motion: no-preference){
.sa-hand{
-webkit-mask-image:linear-gradient(90deg, #000 44%, transparent 54%);
mask-image:linear-gradient(90deg, #000 44%, transparent 54%);
-webkit-mask-size:240% 100%;
mask-size:240% 100%;
-webkit-mask-repeat:no-repeat;
mask-repeat:no-repeat;
-webkit-mask-position:100% 0;
mask-position:100% 0;
}
.sa-hand.is-drawn{
-webkit-mask-position:0 0;
mask-position:0 0;
transition:-webkit-mask-position 1.4s cubic-bezier(.5, 0, .3, 1) var(--sa-hd, 0s), mask-position 1.4s cubic-bezier(.5, 0, .3, 1) var(--sa-hd, 0s);
}
}
.sa-ct__form input.sa-cf__button.sa-cfr{
background-image:linear-gradient(105deg, rgba(212, 175, 55, 0) 38%, rgba(212, 175, 55, .45) 50%, rgba(212, 175, 55, 0) 62%);
background-repeat:no-repeat;
background-size:260% 100%;
background-position:115% 0;
box-shadow:inset 0 0 0 1px rgba(212, 175, 55, 0);
}
.sa-ct__form input.sa-cf__button.sa-cfr.is-ready{
box-shadow:inset 0 0 0 1px rgba(212, 175, 55, .8);
letter-spacing:.16em;
}
@media (prefers-reduced-motion: no-preference){
.sa-ct__form input.sa-cf__button.sa-cfr{
transition:box-shadow .7s ease, letter-spacing .9s var(--sa-ease), opacity .3s ease;
}
.sa-ct__form input.sa-cf__button.sa-cfr.is-ready{
animation:sa-cfr-sheen 1.4s var(--sa-ease) .15s 1 both;
}
}
@keyframes sa-cfr-sheen{
from{ background-position:115% 0; }
to{ background-position:-15% 0; }
}
@media (prefers-reduced-motion: no-preference){
.sa-fsmenu .menu > .menu-item{
opacity:0;
transform:translate3d(0, 12px, 0);
transition:opacity .25s ease, transform .25s ease;
}
.sa-fsmenu.is-open .menu > .menu-item{
opacity:1;
transform:none;
transition:opacity .6s ease var(--sa-fmd, .45s), transform .8s var(--sa-ease) var(--sa-fmd, .45s);
}
.sa-fsmenu.is-open .menu > .menu-item:nth-child(1){ --sa-fmd:.42s; }
.sa-fsmenu.is-open .menu > .menu-item:nth-child(2){ --sa-fmd:.48s; }
.sa-fsmenu.is-open .menu > .menu-item:nth-child(3){ --sa-fmd:.54s; }
.sa-fsmenu.is-open .menu > .menu-item:nth-child(4){ --sa-fmd:.60s; }
.sa-fsmenu.is-open .menu > .menu-item:nth-child(5){ --sa-fmd:.66s; }
.sa-fsmenu.is-open .menu > .menu-item:nth-child(6){ --sa-fmd:.72s; }
.sa-fsmenu.is-open .menu > .menu-item:nth-child(7){ --sa-fmd:.78s; }
.sa-fsmenu.is-open .menu > .menu-item:nth-child(n+8){ --sa-fmd:.84s; }
}
