@charset "utf-8"; /* ///// */
html,
body { width:100%; max-width:initial !important; }
html { overflow-x:hidden; overflow-y:auto; scroll-behavior:smooth; }
body { overflow:visible; }
html.is_nav_open { overflow:hidden; }
html,
body,
*,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
button,
input,
select,
textarea,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video { margin:0; padding:0; border:0; box-sizing:border-box; font:inherit; font-size:100%; vertical-align:baseline; font-family:"Pretendard", "Segoe-UI", "맑은 고딕", "malgun gothic", "돋움", "dotum", sans-serif; word-break:keep-all; }
*::before,
*::after { box-sizing:border-box; }
body { letter-spacing:0; }
button,
input,
select,
textarea { border-radius:0; color:inherit; background:transparent; }
li,
ul,
ol { list-style:none; }
a { border:0; text-decoration:none !important; }
caption { display:none; }
button { border:0; cursor:pointer; }
.second_bgCol { background-color:#F5F5F5; }
.detail { padding-top:20px; }
.none { display:none !important; }
.pl_0 { padding-left:0 !important; }

/* word system */
button,
input,
h1,
h2,
h3,
p,
span,
td,
b,
i,
li,
a { color:var(--color_text_default); word-break:keep-all; }
.txt_hidden { overflow:hidden; font-size:0; line-height:0; text-indent:-999999px; }
.text_center { text-align:center !important; }
.text_right { text-align:right !important; }
.text_left { text-align:left !important; }

/* icon */
.icon { display:inline-block; font-size:0; text-indent:-99999px; }

/* responsive system */
.only_ta { display:none !important; }
.only_mo { display:none !important; }
@media (max-width:1024px){
  .only_pc { display:none !important; }
  .only_ta { display:inline-block !important; }
  .only_ta.btn { display:flex !important; }
  .only_mo { display:inline-block !important; }
}

/* color system */
:root { --color_primary:#ff2684; --color_secondary:#ff93c2; --color_text_default:#232323; }

/* font system */
:root { --font_size_s:16px; --font_size_r:18px; --font_size_l:20px; --font_size_xl:24px; --font_size_xxl:26px; --font_size_title:40px; --font_size_title_large:60px; --font_size_sub_visual:50px; }
@media (max-width:1024px){
  :root { --font_size_s:15px; --font_size_r:16px; --font_size_l:16px; --font_size_xl:20px; --font_size_xxl:26px; --font_size_title:24px; --font_size_title_large:36px; --font_size_sub_visual:36px; }
}

/* space system */
:root { --space_r:30px; --space_l:50px; --space_xl:60px; --space_xxl:120px; --space_section:100px; }
@media (max-width:1024px){
  :root { --space_r:20px; --space_l:35px; --space_xl:40px; --space_xxl:60px; --space_section:60px; }
}

/* font */
@font-face { font-family:"Pretendard"; src:url(/sheephair/font/pretendard_variable.woff2) format("woff2"); font-weight:100 900; font-style:normal; font-display:swap; }
@font-face { font-family:"Manuale"; src:url(/sheephair/font/manuale_regular.ttf) format("truetype"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"Manuale"; src:url(/sheephair/font/manuale_medium.ttf) format("truetype"); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:"MedievalSharp"; src:url(/sheephair/font/medievalsharp_regular.ttf) format("truetype"); font-weight:400; font-style:normal; font-display:swap; }

/* common */
.site_header, .site_footer { color:var(--color_primary); }
.site_header a, .site_header button, .site_header span, .site_header li, .site_footer a, .site_footer button, .site_footer span, .site_footer p { color:inherit; }
.site_logo, .footer_logo { display:flex; flex-direction:column; align-items:flex-start; flex-shrink:0; }
.brand_name { font-family:"Manuale", serif; font-weight:400; line-height:1.2; white-space:nowrap; }
.brand_caption { display:flex; gap:3px; font-size:15px; font-weight:500; line-height:1.2; }
.brand_location { opacity:.5; }
html:not(.has_aos) [data-aos], html.is_reduced_motion [data-aos] { opacity:1 !important; transform:none !important; transition:none !important; }
html.is_motion_pending #main .site_header,
html.is_motion_pending .main_visual_scene,
html.is_motion_pending .shop_intro[data_sub_motion],
html.is_motion_pending [data_price_motion],
html.is_motion_pending [data_reservation_motion],
html.is_motion_pending [data_place_motion] .sub_page_title,
html.is_motion_pending [data_gallery_motion] .sub_page_title,
html.is_motion_pending [data_gallery_motion] .style_gallery_tools,
html.is_motion_pending [data_gallery_motion] .style_gallery_item,
html.is_motion_pending [data-aos] { visibility:hidden; }

/* header */
.site_header { position:relative; z-index:10; width:100%; }
#main .site_header { position:absolute; top:0; left:0; }
#sub .site_header { padding-bottom:1px; background:#fff url(/sheephair/img/svg/sub_separator.svg) left bottom/auto 1px repeat-x; }
.header_inner { display:flex; width:calc(100% - 40px); max-width:1440px; margin:0 auto; padding:15px 0; align-items:center; justify-content:space-between; gap:30px; }
.header_bar { display:contents; }
#sub .header_inner { padding:15px 0 18px; }
.site_logo .brand_name { font-size:40px; }
.nav_list { display:flex; align-items:center; column-gap:clamp(30px,7%,100px); }
.site_nav { width:100%; max-width:545px; }
.nav_list { justify-content:space-between; }
.nav_item { position:relative; }
.nav_button { font-family:"Manuale", "Pretendard", serif; font-size:18px; font-weight:400; line-height:1.5; white-space:nowrap; }
.nav_depth { position:absolute; top:calc(100% + 20px); left:50%; display:flex; width:200px; padding:25px 20px; flex-direction:column; gap:15px; border:1px solid rgb(255 38 132 / 20%); background:rgb(255 255 255 / 96%); transform:translateX(-50%); }
.nav_depth::before { position:absolute; right:0; bottom:100%; left:0; height:25px; content:""; }
.nav_depth[hidden] { display:none; }
.nav_depth a, .nav_depth button { display:block; width:100%; font-family:"Manuale", "Pretendard", serif; font-size:16px; line-height:1.5; text-align:center; }
.nav_depth button:disabled { opacity:.45; cursor:default; }
.mobile_nav_button { display:none; }
.nav_mobile_label, .mobile_nav_footer { display:none; }
.icon_menu { width:24px; height:24px; background:linear-gradient(var(--color_primary),var(--color_primary)) left 4px/100% 2px no-repeat,linear-gradient(var(--color_primary),var(--color_primary)) left 11px/100% 2px no-repeat,linear-gradient(var(--color_primary),var(--color_primary)) left 18px/100% 2px no-repeat; }

/* footer */
.site_footer { background:#fff; overflow:hidden;}
#sub .site_footer { padding-top:1px; background:#fff url(/sheephair/img/svg/sub_separator.svg) left top/auto 1px repeat-x; }
.footer_inner { display:flex; width:calc(100% - 40px); max-width:1440px; margin:0 auto; padding:30px 0; align-items:flex-start; gap:50px; }
.footer_logo .brand_name { font-size:24px; }
.footer_logo .brand_caption { font-size:12px; }
.footer_business { min-width:0; flex:1; font-size:13px; font-weight:400; line-height:1.2; }
.footer_information { display:flex; width:100%; max-width:330px; flex-direction:column; gap:9px; }
.footer_information p { overflow-wrap:anywhere; }
.footer_copyright { margin-top:20px; overflow-wrap:anywhere; }
.footer_nav { display:flex; align-items:center; gap:40px; }
.footer_nav a {font-family:"Manuale", serif;font-size:13px;font-weight:400;line-height:1.2;white-space:nowrap;letter-spacing: 1px;}

/* hover */
@media (hover: hover) and (pointer:fine){
  .nav_depth a { transition:opacity .2s; }
  .nav_depth a:hover{ opacity:.6; }
}

@media (max-width:1024px){
  .header_inner { padding:10px 0; gap:20px; }
  #sub .header_inner { padding:9px 0; }
  .header_bar { display:flex; width:100%; align-items:center; justify-content:space-between; gap:20px; }
  .site_logo .brand_name { font-size:24px; }
  .site_logo .brand_caption { font-size:12px; }
  .mobile_nav_button { position:relative; z-index:12; display:flex; width:44px; height:44px; flex-shrink:0; align-items:center; justify-content:flex-end; }
  .site_nav { display:none; width:100%; max-width:none; }
  body.is_nav_open { position:fixed; top:var(--nav_scroll_top,0px); right:0; left:0; overflow:hidden; }
  .is_nav_open .site_header, #main.is_nav_open .site_header, #sub.is_nav_open .site_header {position:fixed;inset:0;z-index:100;display:flex;height:100dvh;padding:0;flex-direction:column;background: #fff;}
  .is_nav_open .header_inner, #sub.is_nav_open .header_inner { height:100%; padding:0; align-items:stretch; flex-direction:column; justify-content:flex-start; gap:0; }
  .is_nav_open .header_bar { padding:9px 0; flex-shrink:0; border-bottom:1px solid rgb(255 38 132 / 15%); }
  .is_nav_open .site_nav { display:flex; min-height:0; padding:30px max(0px,calc((100% - 640px)/2)) max(25px,env(safe-area-inset-bottom)); flex:1; flex-direction:column; gap:30px; overflow-y:auto; overscroll-behavior:contain; }
  .nav_list { align-items:stretch; flex-direction:column; gap:20px; }
  .nav_item { padding-bottom:15px; border-bottom:1px solid rgb(255 38 132 / 15%); }
  .nav_button { display:none; }
  .nav_mobile_label {display:block;margin-bottom: 0;color: #ff2684;font-family:"Manuale", serif;font-size: 14px;font-weight:400;line-height:1.5;}
  .nav_depth { position:static; width:100%; padding:0; gap:0; border:0; background:none; transform:none; }
  .nav_depth::before { display:none; }
  .nav_depth a, .nav_depth button { display:flex; padding:5px 0; align-items:center; justify-content:space-between; gap:15px; font-size:24px; line-height:1.5; text-align:left; }
  .nav_depth a::after, .icon_nav_arrow { width:9px; height:9px; flex-shrink:0; border-top:1px solid currentColor; border-right:1px solid currentColor; transform:rotate(45deg); }
  .nav_depth a::after { margin-right:5px; content:""; }
  .nav_depth a[aria-current="page"] { color:#b80f56; }
  .nav_depth a[aria-current="page"]::after { width:6px; height:6px; border:0; border-radius:50%; background:currentColor; transform:none; }
  .mobile_nav_footer { display:flex; margin-top:auto; flex-shrink:0; flex-direction:column; gap:20px; }
  .site_nav .mobile_reservation_link { display:flex; width:100%; padding:15px 20px; align-items:center; justify-content:space-between; gap:20px; color:#fff; background:var(--color_primary); font-family:"Manuale", serif; font-size:18px; line-height:1.5; }
  .mobile_reservation_link .icon_nav_arrow { color:inherit; }
  .mobile_nav_footer p { color:var(--color_primary); font-size:12px; line-height:1.5; text-align:center; }
  .mobile_nav_footer p span { margin-left:5px; opacity:.6; }
  .is_nav_open .icon_menu { background:none; }
  .is_nav_open .icon_menu::before, .is_nav_open .icon_menu::after { position:absolute; top:50%; right:0; width:24px; height:2px; background:var(--color_primary); content:""; transform:rotate(45deg); }
  .is_nav_open .icon_menu::after { transform:rotate(-45deg); }
  .footer_inner { align-items:flex-start; flex-direction:column; gap:20px; }
  .footer_logo { order:0; }
  .footer_nav {order:1;flex-wrap:wrap;gap: 15px;}
  .footer_nav a{font-size:13px;}
  .footer_business { order:2; width:100%; flex:auto; }
}
