/* Shangri-la homepage. Scoped to :is(.home,.salon-inner) so existing inner pages retain their layout. */
:is(.home,.salon-inner){--salon-paper:#f9f8f4;--salon-ink:#333333;--salon-green:#497c72;--salon-line:#d8dcd5;--salon-serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;background:var(--salon-paper);color:var(--salon-ink);letter-spacing:.055em;font-weight:400}
:is(.home,.salon-inner) main{background:var(--salon-paper);color:var(--salon-ink)}
:is(.home,.salon-inner) a{color:inherit;transition:color .2s,background-color .2s,opacity .2s}
:is(.home,.salon-inner) a:hover,:is(.home,.salon-inner) a:focus,:is(.home,.salon-inner) a:active{transform:none;filter:none}
:is(.home,.salon-inner) a:hover{color:var(--salon-ink)}
:is(.home,.salon-inner) a:focus-visible,:is(.home,.salon-inner) button:focus-visible{outline:2px solid var(--salon-green);outline-offset:5px}
:is(.home,.salon-inner) h1,:is(.home,.salon-inner) h2{font-family:var(--salon-serif);font-weight:400}
:is(.home,.salon-inner) h2{text-align:left}
:is(.home,.salon-inner) header{height:88px;padding:18px 4.5%;gap:32px;border-bottom:1px solid rgba(48,55,51,.06);background:#fff}
:is(.home,.salon-inner) header>.header_nav{margin-left:auto}
:is(.home,.salon-inner) header>.header_nav a{display:flex;align-items:center;min-height:44px;font-size:11px;letter-spacing:.15em}
:is(.home,.salon-inner) .header_menu{gap:30px}
:is(.home,.salon-inner) .logo{display:block;max-width:174px;height:auto}
:is(.home,.salon-inner) header>a{flex:0 0 174px}
:is(.home,.salon-inner) .popup_opener>a{background:var(--salon-green);border:1px solid var(--salon-green);color:#fff;border-radius:0;box-shadow:none;width:auto;aspect-ratio:auto;min-width:164px;min-height:46px;height:auto;line-height:1.5;padding:12px 24px;justify-content:center;font-size:12px;letter-spacing:.14em}
:is(.home,.salon-inner) .popup_opener>a:hover{background:#345e56;color:#fff}
:is(.home,.salon-inner) .menu_out_target{display:none}
:is(.home,.salon-inner) .salon-skip-link{position:fixed;top:-100px;left:16px;background:#fff;padding:12px;z-index:10000}
:is(.home,.salon-inner) .salon-skip-link:focus{top:8px}
:is(.home,.salon-inner) .salon-hero{position:relative;isolation:isolate;margin-top:88px;min-height:580px;height:min(680px,calc(100svh - 88px));overflow:hidden;background:#dce7e7}
:is(.home,.salon-inner) .salon-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
:is(.home,.salon-inner) .salon-hero:after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(249,248,244,.87),rgba(249,248,244,.43) 34%,transparent 63%);pointer-events:none}
:is(.home,.salon-inner) .hero-copy{position:absolute;left:7%;top:18%;max-width:610px}
:is(.home,.salon-inner) .eyebrow{font-family:'Noto Sans JP',sans-serif;font-size:10px;letter-spacing:.22em;font-weight:400;line-height:1.8;color:var(--salon-ink)}
:is(.home,.salon-inner) .hero-copy>.eyebrow{color:#555555;margin-bottom:32px}
:is(.home,.salon-inner) .hero-copy h1{font-size:clamp(30px,3.15vw,49px);line-height:1.85;letter-spacing:.13em;margin:0}
:is(.home,.salon-inner) .hero-scroll{display:flex;align-items:center;justify-content:space-between;width:190px;min-height:50px;margin-top:42px;border-top:1px solid #69756b;padding-top:15px;font-size:11px;letter-spacing:.12em}
:is(.home,.salon-inner) .hero-location{position:absolute;right:6%;top:19%;font-family:Georgia,serif;font-size:10px;line-height:2.2;letter-spacing:.22em}
:is(.home,.salon-inner) .hero-number{position:absolute;right:5%;bottom:30px;font-size:9px;letter-spacing:.22em;writing-mode:vertical-rl}
:is(.home,.salon-inner) .content_wrapper{max-width:1440px;margin:0 auto;padding:0 6.5%}
:is(.home,.salon-inner) #salon-concept,:is(.home,.salon-inner) #salon-news,:is(.home,.salon-inner) #salon-reservation{scroll-margin-top:110px}
:is(.home,.salon-inner) .salon-concept{display:grid;grid-template-columns:1fr 1.12fr;column-gap:7%;padding-top:112px;padding-bottom:112px;align-items:start}
:is(.home,.salon-inner) .salon-concept>.eyebrow{grid-column:1;display:flex;justify-content:space-between;margin-bottom:22px}
:is(.home,.salon-inner) .salon-concept>.eyebrow span{font-family:Georgia,serif;color:#555555}
:is(.home,.salon-inner) .salon-concept>.section-title{grid-column:1;margin:0 0 30px;font-size:clamp(23px,2.15vw,32px);line-height:1.85;letter-spacing:.015em;text-wrap:pretty}
:is(.home,.salon-inner) .salon-concept>.section-content{display:contents}
:is(.home,.salon-inner) .salon-concept .wp-block-spacer{display:none}
:is(.home,.salon-inner) .salon-concept .section-content>p{grid-column:1;font-size:14px;line-height:2.15;margin:0 0 18px;padding:0;letter-spacing:.045em}
:is(.home,.salon-inner) .salon-concept .section-content>p strong{font-family:var(--salon-serif);font-size:18px;font-weight:400}
:is(.home,.salon-inner) .salon-concept .section-content>p>br:first-child{display:none}
:is(.home,.salon-inner) .salon-concept .section-content>.wp-block-buttons{grid-column:1;grid-row:8;margin-top:16px}
:is(.home,.salon-inner) .salon-concept .wp-block-button__link{background:transparent!important;color:var(--salon-ink)!important;padding:8px 0;border-bottom:1px solid var(--salon-line);border-radius:0;font-size:11px;letter-spacing:.12em}
:is(.home,.salon-inner) .salon-concept .section-content>figure{grid-column:2;grid-row:1 / span 8;align-self:center;margin:0;width:100%;left:auto;translate:none;position:relative}
:is(.home,.salon-inner) .salon-concept .section-content>figure:after{content:'SHANGRI-LA — OUR SALON';display:block;margin-top:20px;font-size:9px;letter-spacing:.2em;color:#555555;text-align:right}
:is(.home,.salon-inner) .salon-concept .section-content>figure img{display:block;width:100%;height:auto;min-height:330px;object-fit:cover;object-position:60% center}
:is(.home,.salon-inner) .salon-text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:13px 0;border-bottom:1px solid #96aaa1;font-size:12px;line-height:1.8;min-height:46px}
:is(.home,.salon-inner) .concept-link{grid-column:1;grid-row:7;justify-self:start;margin-top:8px}
:is(.home,.salon-inner) .salon-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:0 3px}
:is(.home,.salon-inner) .feature-panel{position:relative;isolation:isolate;display:block;overflow:hidden;aspect-ratio:1.12;color:#fff;background:#32433b}
:is(.home,.salon-inner) .feature-panel:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(15,30,24,.78),rgba(15,30,24,.06) 85%)}
:is(.home,.salon-inner) .feature-panel>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .6s}
:is(.home,.salon-inner) .feature-care>img{object-position:68% center}
:is(.home,.salon-inner) .feature-color>img{object-position:88% center}
:is(.home,.salon-inner) .feature-straight>img{object-position:48% center;transform:scale(1.35)}
:is(.home,.salon-inner) .feature-caption{position:absolute;left:10%;right:8%;bottom:11%}
:is(.home,.salon-inner) .feature-caption h2{font-family:Georgia,serif;font-size:clamp(24px,2.5vw,38px);letter-spacing:.075em;margin-bottom:12px;color:#fff}
:is(.home,.salon-inner) .feature-caption p{font-family:var(--salon-serif);font-size:12px;line-height:2;letter-spacing:.06em;color:#fff}
:is(.home,.salon-inner) .feature-more{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff65;padding-top:16px;margin-top:26px;font-size:9px;letter-spacing:.2em;color:#fff}
:is(.home,.salon-inner) .feature-more>span{font-size:20px}
:is(.home,.salon-inner) .feature-panel:hover>img{transform:scale(1.04)}
:is(.home,.salon-inner) .feature-straight:hover>img{transform:scale(1.4)}
:is(.home,.salon-inner) .salon-news{padding-top:88px;padding-bottom:80px}
:is(.home,.salon-inner) .newslist_block{display:grid;grid-template-columns:170px 1fr;gap:0 48px;margin:0;padding:0}
:is(.home,.salon-inner) .newslist_left{width:auto;min-width:0;align-items:flex-start}
:is(.home,.salon-inner) .newslist_left h2{font-family:Georgia,serif;font-size:36px;line-height:1.2;letter-spacing:.025em}
:is(.home,.salon-inner) .newslist_left h2:after{display:block;content:'お知らせ';background:none;width:auto;height:auto;font-family:'Noto Sans JP',sans-serif;font-size:10px;letter-spacing:.16em;margin-top:14px;color:#555555}
:is(.home,.salon-inner) .newslist{grid-column:2;grid-row:1 / span 2;display:block;border-top:1px solid var(--salon-line)}
:is(.home,.salon-inner) .newslist li{width:100%;max-width:none;border-bottom:1px solid var(--salon-line)}
:is(.home,.salon-inner) .newslist a{display:grid;grid-template-columns:100px 1fr 18px;gap:24px;align-items:baseline;padding:24px 0;width:100%}
:is(.home,.salon-inner) .newslist a:after{content:none;display:none}
:is(.home,.salon-inner) .newslist img{display:none}
:is(.home,.salon-inner) .news-date{font-size:11px;letter-spacing:.06em;font-weight:400;color:#555555}
:is(.home,.salon-inner) .news-title{font-size:13px;font-weight:400;line-height:1.8;letter-spacing:.04em}
:is(.home,.salon-inner) .newslist_button{position:static;align-self:start;justify-content:space-between;width:130px;min-height:44px;margin-top:24px;padding:10px 0;border-bottom:1px solid #96aaa1;border-radius:0;box-shadow:none;font-size:11px;font-weight:400}
:is(.home,.salon-inner) .salon-brand{position:relative;padding-top:52px;padding-bottom:90px;border-top:1px solid var(--salon-line)}
:is(.home,.salon-inner) .salon-brand>.eyebrow{margin-bottom:24px;display:flex;gap:24px}
:is(.home,.salon-inner) .salon-brand .brand-link{position:absolute;right:6.5%;top:95px}
:is(.home,.salon-inner) .salon-brand .wp-block-columns{margin:0;gap:0}
:is(.home,.salon-inner) .salon-brand .wp-block-column{margin:0;min-width:0}
:is(.home,.salon-inner) .salon-brand .wp-block-column.is-vertically-aligned-center{flex-basis:100%!important}
:is(.home,.salon-inner) .salon-brand .wp-block-column.is-vertically-aligned-top{display:none}
:is(.home,.salon-inner) .salon-brand .wp-block-spacer{height:32px!important}
:is(.home,.salon-inner) .salon-brand .wp-block-column.is-vertically-aligned-center figure{margin:0}
:is(.home,.salon-inner) .salon-brand .wp-block-column.is-vertically-aligned-center img{width:258px;max-width:100%;height:auto}
:is(.home,.salon-inner) .salon-brand .ad-display figure{margin:0;width:100%}
:is(.home,.salon-inner) .salon-brand .ad-display img{display:block;width:100%;height:auto}
:is(.home,.salon-inner) .reservation-block{background:#53877d!important}
:is(.home,.salon-inner) .reservation_content_wrap{gap:5%;padding:54px 0;align-items:center}
:is(.home,.salon-inner) .reservation_title_wrap{flex:0 0 22%}
:is(.home,.salon-inner) .reservation_title_wrap h2{font-family:Georgia,serif;font-size:29px;letter-spacing:.065em}
:is(.home,.salon-inner) .reservation_nav_wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;flex:1;width:100%!important;min-width:0}
:is(.home,.salon-inner) .sns-links{width:100%;height:100px;border-radius:0;padding:12px 7px;box-shadow:none;gap:12px}
:is(.home,.salon-inner) .sns-links:hover{background:#f2f5ee}
:is(.home,.salon-inner) .sns_links_wrap{flex:initial}
:is(.home,.salon-inner) .reservation_nav_title{font-weight:400;font-size:11px;letter-spacing:.06em}
:is(.home,.salon-inner) .reservation_nav_image{height:30px;max-width:110px}
:is(.home,.salon-inner) footer{padding:0 6.5% 30px;background:var(--salon-paper)}
:is(.home,.salon-inner) .footer_flex{position:relative;padding:64px 0 36px;display:block}
:is(.home,.salon-inner) .footer_left{flex-direction:column;width:100%;gap:26px;align-items:center}
:is(.home,.salon-inner) .footer_logo{gap:20px;align-items:center}
:is(.home,.salon-inner) .footer_logo img{max-width:155px}
:is(.home,.salon-inner) .footer_text{font-size:11px;line-height:2;letter-spacing:.08em;text-align:center}
:is(.home,.salon-inner) .footer_nav{order:2}
:is(.home,.salon-inner) .footer_menu{flex-direction:row;gap:24px;font-size:10px;letter-spacing:.12em;font-weight:400}
:is(.home,.salon-inner) .footer_menu a{display:flex;min-height:44px;align-items:center}
:is(.home,.salon-inner) .footer_right{display:flex;justify-content:center;gap:12px;margin-top:20px}
:is(.home,.salon-inner) .footer-social{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--salon-line)}
:is(.home,.salon-inner) .footer-social img{width:20px;height:20px;object-fit:contain;filter:grayscale(1)}
:is(.home,.salon-inner) .copyright{font-family:Georgia,serif;font-size:10px;letter-spacing:.08em;color:#555555}
:is(.home,.salon-inner) .popup_content{background:#53877d!important;border-radius:0;box-shadow:none;max-width:860px;height:auto;max-height:85svh;aspect-ratio:auto;padding:66px 32px 48px;overflow:auto}
:is(.home,.salon-inner) .popup_content>section{position:static;transform:none;max-height:none;overflow:visible;padding:0}
:is(.home,.salon-inner) .popup_title h2{text-align:center;font-size:32px;margin-bottom:18px}
:is(.home,.salon-inner) .popup_title p{font-size:12px;line-height:1.9}
:is(.home,.salon-inner) .popup_links_wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:100%;max-width:none;margin-top:30px}
:is(.home,.salon-inner) .popup_links_wrap>.popup_links{width:100%;border-radius:0;min-height:110px;padding:15px 8px;font-size:12px}
:is(.home,.salon-inner) .popup_closer{min-width:44px;min-height:44px;top:8px;right:8px}
:is(.home,.salon-inner) .popup_overlay[hidden]{display:none}
@media(min-width:769px) and (max-width:1050px){
:is(.home,.salon-inner) header{padding-left:3%;padding-right:3%;gap:18px}:is(.home,.salon-inner) header>a{flex-basis:145px}:is(.home,.salon-inner) .header_menu{gap:17px}:is(.home,.salon-inner) .popup_opener>a{min-width:130px;padding:12px 18px}:is(.home,.salon-inner) .salon-concept{column-gap:5%;padding-left:5%;padding-right:5%}:is(.home,.salon-inner) .reservation_content_wrap{flex-direction:column;gap:25px}:is(.home,.salon-inner) .reservation_title_wrap{flex:auto}:is(.home,.salon-inner) .reservation_nav_wrap{width:100%!important;align-self:stretch}}
@media(max-width:768px){
:is(.home,.salon-inner) header{height:72px;padding:12px 65px 12px 20px;gap:14px}:is(.home,.salon-inner) header>a{flex:0 1 130px;min-width:0}:is(.home,.salon-inner) .logo{min-width:0;width:100%;max-width:145px}:is(.home,.salon-inner) header>.header_nav{display:none}:is(.home,.salon-inner) .menu_out_target{display:block;margin-left:auto}:is(.home,.salon-inner) .menu_out_target>.popup_opener~.popup_opener{display:none}:is(.home,.salon-inner) .popup_opener>a{min-width:110px;min-height:44px;padding:11px 12px;font-size:11px;white-space:nowrap}:is(.home,.salon-inner) #hamburger{display:block;right:16px;width:32px;height:44px;padding:0;border:0;background:transparent;z-index:12}:is(.home,.salon-inner) .hamburger span{height:1px;left:4px;width:24px}:is(.home,.salon-inner) .hamburger span:nth-of-type(1){top:calc(50% - 7px)}:is(.home,.salon-inner) .hamburger span:nth-of-type(3){top:calc(50% + 7px)}:is(.home,.salon-inner) .hamburger.open span:nth-of-type(1),:is(.home,.salon-inner) .hamburger.open span:nth-of-type(3){top:50%}:is(.home,.salon-inner) .header_nav_hamburger{top:72px;height:calc(100dvh - 72px);background:var(--salon-paper);padding:32px;overflow:auto}:is(.home,.salon-inner) .header_nav_hamburger.is-open{display:block}:is(.home,.salon-inner) .header_menu_hamburger{position:static;transform:none;display:flex;gap:0;align-items:stretch;max-width:440px;margin:20px auto}:is(.home,.salon-inner) .header_menu_hamburger>li>a{display:block;padding:20px 0;border-bottom:1px solid var(--salon-line);font-size:15px;letter-spacing:.16em}:is(.home,.salon-inner) .header_menu_hamburger>.popup_opener{display:none}
:is(.home,.salon-inner) .salon-hero{margin-top:72px;height:650px;min-height:0;max-height:calc(100svh - 72px)}:is(.home,.salon-inner) .salon-hero-image{object-position:43% center}:is(.home,.salon-inner) .salon-hero:after{background:linear-gradient(180deg,rgba(249,248,244,.88),rgba(249,248,244,.55) 39%,rgba(249,248,244,0) 72%)}:is(.home,.salon-inner) .hero-copy{left:7%;right:5%;top:8%;max-width:none}:is(.home,.salon-inner) .hero-copy>.eyebrow{font-size:8px;margin-bottom:22px;letter-spacing:.14em}:is(.home,.salon-inner) .hero-copy h1{font-size:clamp(25px,6.6vw,36px);line-height:1.9;letter-spacing:.07em}:is(.home,.salon-inner) .hero-scroll{margin-top:24px;min-height:44px;width:166px;padding-top:10px;font-size:10px}:is(.home,.salon-inner) .hero-location{right:7%;top:auto;bottom:24px;font-size:8px;text-align:right}:is(.home,.salon-inner) .hero-number{display:none}
:is(.home,.salon-inner) .content_wrapper{padding-left:7%;padding-right:7%}:is(.home,.salon-inner) #salon-concept,:is(.home,.salon-inner) #salon-news,:is(.home,.salon-inner) #salon-reservation{scroll-margin-top:90px}:is(.home,.salon-inner) .salon-concept{display:flex;flex-direction:column;padding-top:64px;padding-bottom:64px;gap:0}:is(.home,.salon-inner) .salon-concept>.eyebrow{width:100%;margin-bottom:20px}:is(.home,.salon-inner) .salon-concept>.section-title{font-size:24px;line-height:1.9;margin-bottom:26px;letter-spacing:.035em}:is(.home,.salon-inner) .salon-concept .section-content>p{font-size:12px;line-height:2.1;margin-bottom:18px}:is(.home,.salon-inner) .salon-concept .section-content>figure{order:3;margin-top:30px;width:calc(100% + 16.28%);align-self:center}:is(.home,.salon-inner) .salon-concept .section-content>figure img{min-height:0;height:auto;object-fit:contain}:is(.home,.salon-inner) .salon-concept .section-content>figure:after{padding:0 7%;font-size:8px;margin-top:15px}:is(.home,.salon-inner) .concept-link{order:1;font-size:12px;margin-top:10px}:is(.home,.salon-inner) .salon-concept .section-content>.wp-block-buttons{order:2;margin-top:14px}:is(.home,.salon-inner) .salon-features{grid-template-columns:1fr;gap:3px;padding:0}:is(.home,.salon-inner) .feature-panel{aspect-ratio:1.2}:is(.home,.salon-inner) .feature-caption{left:7%;right:7%;bottom:10%}:is(.home,.salon-inner) .feature-caption h2{font-size:32px}:is(.home,.salon-inner) .feature-caption p{font-size:12px}:is(.home,.salon-inner) .feature-more{margin-top:22px;padding-top:12px}:is(.home,.salon-inner) .feature-care>img{object-position:65% center}
:is(.home,.salon-inner) .salon-news{padding-top:64px;padding-bottom:64px}:is(.home,.salon-inner) .newslist_block{grid-template-columns:1fr;gap:28px}:is(.home,.salon-inner) .newslist_left h2{font-size:32px}:is(.home,.salon-inner) .newslist_left h2:after{display:inline-block;margin-left:18px;margin-top:0;font-size:10px}:is(.home,.salon-inner) .newslist{grid-column:1;grid-row:auto}:is(.home,.salon-inner) .newslist a{grid-template-columns:1fr 16px;gap:7px 12px;padding:20px 0}:is(.home,.salon-inner) .news-date{grid-column:1;font-size:10px}:is(.home,.salon-inner) .news-title{grid-column:1;font-size:12px;line-height:1.9}:is(.home,.salon-inner) .newslist a:after{grid-column:2;grid-row:1 / span 2;align-self:center}:is(.home,.salon-inner) .newslist_button{justify-self:end;margin:0;width:116px}:is(.home,.salon-inner) .salon-brand{padding-top:42px;padding-bottom:55px;display:flex;flex-direction:column}:is(.home,.salon-inner) .salon-brand>.eyebrow{margin-bottom:22px}:is(.home,.salon-inner) .salon-brand .brand-link{position:static;order:3;align-self:flex-end;font-size:11px;margin-top:18px}:is(.home,.salon-inner) .salon-brand .wp-block-column.is-vertically-aligned-center img{width:258px;max-width:85%}:is(.home,.salon-inner) .salon-brand .wp-block-spacer{height:22px!important}:is(.home,.salon-inner) .salon-brand .ad-display-sp img{width:100%;height:auto}:is(.home,.salon-inner) .salon-brand .ad-display-pc{display:none}
:is(.home,.salon-inner) .reservation_content_wrap{padding:40px 0;flex-direction:column;gap:28px}:is(.home,.salon-inner) .reservation_title_wrap{flex:auto}:is(.home,.salon-inner) .reservation_title_wrap h2{font-size:30px}:is(.home,.salon-inner) .reservation_nav_wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-self:stretch}:is(.home,.salon-inner) .sns-links{min-width:0;height:102px;padding:16px 5px}:is(.home,.salon-inner) .reservation_nav_title{font-size:11px}:is(.home,.salon-inner) .reservation_nav_image{height:30px}:is(.home,.salon-inner) footer{padding:0 7% 28px}:is(.home,.salon-inner) .footer_flex{padding:46px 0 28px}:is(.home,.salon-inner) .footer_left{flex-direction:column;align-items:center;gap:20px}:is(.home,.salon-inner) .footer_logo{align-items:center;gap:22px}:is(.home,.salon-inner) .footer_logo img{width:146px}:is(.home,.salon-inner) .footer_text{font-size:10px;line-height:2}:is(.home,.salon-inner) .footer_menu{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:8px 21px;font-size:9px}:is(.home,.salon-inner) .footer_right{margin-top:12px}:is(.home,.salon-inner) .copyright{font-size:9px;line-height:1.7}
:is(.home,.salon-inner) .popup_content{width:calc(100% - 32px);padding:58px 20px 28px}:is(.home,.salon-inner) .popup_links_wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:24px}:is(.home,.salon-inner) .popup_links_wrap>.popup_links{min-height:112px}:is(.home,.salon-inner) .popup_title h2{font-size:28px}:is(.home,.salon-inner) .popup_title p{font-size:11px}
}
@media(max-width:360px){:is(.home,.salon-inner) header{padding-left:12px;padding-right:53px;gap:10px}:is(.home,.salon-inner) header>a{flex-basis:115px}:is(.home,.salon-inner) #hamburger{right:10px}:is(.home,.salon-inner) .popup_opener>a{min-width:103px;font-size:10px}:is(.home,.salon-inner) .hero-copy h1{font-size:24px}:is(.home,.salon-inner) .salon-concept>.section-title{font-size:21px}}
@media(prefers-reduced-motion:reduce){:is(.home,.salon-inner) *, :is(.home,.salon-inner) *:before,:is(.home,.salon-inner) *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

:is(.home,.salon-inner) .salon-brand .wp-block-column.is-vertically-aligned-center figure{width:258px;max-width:100%}
:is(.home,.salon-inner) .salon-brand .ad-display .wp-block-image,:is(.home,.salon-inner) .salon-brand .ad-display a{display:block;width:100%;max-width:none}

:is(.home,.salon-inner) .hero-copy,:is(.home,.salon-inner) .hero-location,:is(.home,.salon-inner) .hero-number{z-index:2}

/* Neutral text; retain existing green surfaces and brand icons. */
:is(.home,.salon-inner) .reservation_nav_title, :is(.home,.salon-inner) .popup_links>span{color:var(--salon-ink)!important}

/* Cinematic photo motion. Original image files stay unchanged. */
.home .salon-hero .hero-interior{opacity:0;object-position:60% center}
.home .hero-motion-toggle{position:absolute;z-index:3;right:5%;bottom:28px;display:flex;align-items:center;gap:12px;min-width:92px;min-height:44px;padding:10px 15px;border:1px solid #3336;border-radius:0;background:#f9f8f4de;color:#333;font:10px 'Noto Sans JP',sans-serif;letter-spacing:.12em;cursor:pointer}
.home .hero-motion-toggle[hidden]{display:none}
.home .hero-number{bottom:100px}
.home .salon-hero.motion-ready .salon-hero-image{animation:salon-first-fade 20s linear infinite,salon-slow-pan 20s ease-in-out infinite alternate;will-change:opacity,transform}
.home .salon-hero.motion-ready .hero-interior{animation:salon-second-fade 20s linear infinite,salon-room-pan 20s ease-in-out infinite alternate}
.home .salon-hero.motion-paused .salon-hero-image{animation-play-state:paused}
@keyframes salon-first-fade{0%,40%,100%{opacity:1}50%,90%{opacity:0}}
@keyframes salon-second-fade{0%,40%,100%{opacity:0}50%,90%{opacity:1}}
@keyframes salon-slow-pan{from{transform:scale(1.02) translateX(0)}to{transform:scale(1.11) translateX(-1.1%)}}
@keyframes salon-room-pan{from{transform:scale(1.1) translateX(-.7%)}to{transform:scale(1.02) translateX(.7%)}}
@media(max-width:768px){.home .hero-motion-toggle{right:7%;bottom:22px;min-width:84px}.home .hero-location{bottom:82px}.home .salon-hero .hero-interior{object-position:59% center}}
@media(prefers-reduced-motion:reduce){.home .salon-hero.motion-ready .salon-hero-image{animation:none!important;transform:none;will-change:auto}.home .salon-hero .hero-interior{opacity:0!important}.home .hero-motion-toggle{display:none}}

.home .feature-panel>img{object-position:center;transform:none}
.home .feature-panel:hover>img{transform:scale(1.04)}

/* Top opening (logo splash) */
.home .salon-opening{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#f9f8f4;transition:opacity .8s ease,visibility .8s ease}
.home .salon-opening.is-done{opacity:0;visibility:hidden;pointer-events:none}
.home .salon-opening-logo{width:min(300px,62vw);height:auto;opacity:0;filter:blur(6px);transform:translateY(8px);animation:salonOpeningIn 1.3s .2s cubic-bezier(.22,.61,.36,1) forwards}
@keyframes salonOpeningIn{to{opacity:1;filter:blur(0);transform:none}}
html.is-opening,html.is-opening body{overflow:hidden}

/* Link hover cues (arrows removed) */
:is(.home,.salon-inner) :is(.salon-text-link,.newslist_button){transition:color .3s ease,border-color .3s ease,letter-spacing .3s ease}
:is(.home,.salon-inner) :is(.newslist a .news-title,.news_item>a .news_item_title){background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .45s cubic-bezier(.22,.61,.36,1);padding-bottom:2px}
:is(.home,.salon-inner) :is(.newslist a,.news_item>a){transition:background-color .3s ease}
:is(.home,.salon-inner) .feature-more{transition:border-color .3s ease,letter-spacing .3s ease}
@media (hover:hover){
:is(.home,.salon-inner) :is(.salon-text-link,.newslist_button):hover{color:var(--salon-green);border-color:var(--salon-green);letter-spacing:.14em}
:is(.home,.salon-inner) :is(.newslist a:hover .news-title,.news_item>a:hover .news_item_title){background-size:100% 1px}
:is(.home,.salon-inner) :is(.newslist a,.news_item>a):hover{background-color:#f1f2ec}
:is(.home,.salon-inner) .feature-panel:hover .feature-more{border-color:#fff;letter-spacing:.3em}
}
:is(.home,.salon-inner) :is(.salon-text-link,.newslist_button,.feature-panel,.newslist a,.news_item>a):focus-visible{outline:2px solid var(--salon-green);outline-offset:4px}
:is(.home,.salon-inner) :is(.newslist a:focus-visible .news-title,.news_item>a:focus-visible .news_item_title){background-size:100% 1px}
:is(.home,.salon-inner) .feature-panel:focus-visible .feature-more{border-color:#fff;letter-spacing:.3em}
