@charset "UTF-8";
/* Original palette, photographs and decorative heading images are retained. */
html{font-family:Verdana,"Yu Gothic",Meiryo,sans-serif;line-height:1.85;word-break:normal;overflow-wrap:anywhere}
body{font-size:17px;color:#373330}
img{max-width:100%!important;height:auto}
*,*:before,*:after{box-sizing:border-box}
a:focus-visible{outline:3px solid #a26b28;outline-offset:4px}
a:visited{color:#79622b}
h1{font-size:13px;color:#ddd;padding:5px 12px;line-height:1.6}
p{margin-bottom:1.2em}
#container,#nav section,#h2_box section,footer section,#copy section{width:1180px;max-width:100%;margin-left:auto;margin-right:auto}
#wrapper{padding-left:32px;padding-right:32px}
#container{padding-top:48px;padding-bottom:64px;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:36px;align-items:start}
#container:after{display:none}
#main,#sub{float:none;width:auto;min-width:0}
#main .half{width:100%}
#main p,#main .text_box,#main .att,#main .menulist_att{font-size:16px;line-height:1.9}
#main .menu_box .text_box_left,#main .text_box_step_left{width:65%;max-width:100%}
#main .menu_box .inner{padding:18px 22px}
.menu_box li a,.symptom_box li a{font-size:15px;line-height:1.7;padding:11px 30px 11px 12px;min-height:44px}
.menu_box table thead{font-size:15px}
.menu_box table th,.menu_box table td{padding:12px 10px;font-size:16px;line-height:1.7}
#main .menulist{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;padding:16px 0;border-bottom:1px solid #d0b359;background:none}
#main .menulist p{float:none;margin:0}
#main .menulist .name{font-size:18px;line-height:1.6}
#main .menulist .name span{font-size:15px}
#main .menulist .price{font-size:17px;padding:0}
#main .menulist_att{padding:12px 0}
#main .notes{padding-top:28px}
#main .notes li{margin-bottom:12px}
#sub #menu li{line-height:1.65;padding:0 10px}
#sub #menu li a{font-size:15px;min-height:44px;padding:9px 24px 9px 4px}
#sub #menu li img{width:22px;padding-right:6px}
#sub #menu ul{padding:12px 0}
#index #main .service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
#index #main .service-grid:after{display:none}
#index #main .service-grid>h3,#index #main .service-grid>hr{grid-column:1/-1}
#index #main .service-grid>hr{padding:0;height:16px;margin:0}
#index #main .service-grid>h3{padding:0;margin:0}
#index #main .service-grid>div{float:none;clear:none;width:auto;padding:22px 18px;background:rgba(255,255,255,.65);border-radius:3px;display:flow-root}
#index #main .service-grid>div h3{padding-bottom:18px}
#index #main .service-grid .thum_box{float:none;width:100%;margin:0 0 18px;text-align:center}
#index #main .service-grid .thum_box img{width:240px;max-width:100%}
#index #main .service-grid .text_box{float:none;width:100%;font-size:16px}
#index #main .service-grid .menu_box{clear:both}
#index #main .service-grid .top_p img,#index #main .service-grid .bottom_p img{width:100%}
.cp_blockdesign04{background:rgba(255,255,255,.7)}
.cp_blockdesign04 .cp_authorname h2{width:auto;font-size:21px;line-height:1.6;padding:8px 18px;margin:0}
.cp_blockdesign04 .cp_authorinfo{padding:22px 28px}
.cp_authorinfo h3{font-size:18px;line-height:1.9;margin:18px 0}
#nav section{padding:10px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}
#nav section:after{display:none}
#nav nav ul,#nav .tel,#nav .reserve{float:none;margin:0;padding:0}
#nav nav ul li{padding:0 12px;margin:0;display:flex;align-items:center;min-height:48px}
#nav nav ul .logo{margin:0}
#nav .tel{flex-shrink:1}
#nav .reserve{flex-shrink:0}
footer{padding:48px 32px 24px}
footer .concept .text_box{width:calc(100% - 220px);font-size:16px;line-height:1.9;padding-top:24px}
footer .concept p{margin-bottom:20px}
footer #address{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
footer #address:after{display:none}
footer .salon_info{width:auto;float:none}
footer #address .ggmap{height:auto;padding:0;overflow:visible}
footer #address .ggmap iframe{position:static;width:100%;height:350px}
footer #address a{color:#f9f8f7}
#copy address,#copy li{font-size:13px}
#gallery{margin-top:40px}
#h2_box{height:auto;min-height:160px}
#h2_box section h2{padding:28px 0}
.content #main section{padding-bottom:48px}
.content_list section .text_box{width:auto;float:none}
#formWrap{max-width:100%;font-size:16px;line-height:1.8}
@media(min-width:1024px){
 #main_visual{height:clamp(380px,43vw,570px);background:#fff;overflow:hidden}
 #main_visual .bg.pc{position:absolute;inset:0;z-index:0;height:100%;width:100%}
 #main_visual .bg.pc img{height:100%;width:100%;object-fit:cover;object-position:right center}
 #main_visual #logo{position:relative;z-index:1;height:100%;width:42%;display:flex!important;align-items:center;justify-content:center}
 #main_visual #logo img{max-height:95%;width:auto;object-fit:contain}
}
@media(max-width:1100px) and (min-width:1024px){#nav nav ul li{padding:0 7px}#nav section{gap:8px;padding-left:16px;padding-right:16px}}
@media(max-width:1023px){
 body{font-size:16px}
 #wrapper{padding:0 22px}
 #container{display:block;padding:28px 0 44px}
 #sub{margin-top:40px}
 #nav section{width:100%;padding:8px 20px;display:block}
 #nav nav ul{display:flex;justify-content:space-between;float:none}
 #nav nav ul li{float:none;width:auto;padding:0;margin:0;min-height:44px}
 #nav nav ul li a{padding:8px 10px;color:#e4cc83;font-size:15px}
 #nav nav>p{margin:4px 0;font-size:14px}
 #nav nav>p a{color:#e4cc83}
 #main_visual .bg.sp img{width:100%;height:auto}
 #index #main .service-grid{display:grid;gap:24px}
 #index #main .service-grid>div{padding:20px 16px}
 #index #main .service-grid .text_box.sp{display:block}
 #main .menu_box .text_box_left,#main .text_box_step_left{width:100%;float:none}
 footer{padding:32px 22px}
 footer section{max-width:100%}
 footer .concept.pc{display:block!important}
 footer .concept .text_box{width:100%;float:none;padding-top:20px}
 footer .concept .f-right{display:none}
 footer #address{display:block;margin-top:36px}
 footer #address .ggmap{margin-top:28px}
 #h2_box section{max-width:100%;padding:0 22px}
 .cp_blockdesign04 .cp_authorname h2{font-size:19px;padding:10px 16px}
 .cp_blockdesign04 .cp_authorinfo{padding:18px 22px}
 #footernav a{line-height:1.6;padding:10px}
 #footernav p{height:auto;min-height:44px;background:#7d6b35}
}
@media(max-width:600px){
 #index #main .service-grid{grid-template-columns:1fr}
 #index #main .service-grid .thum_box img{width:100%;max-width:320px!important}
 #main .menulist .name{font-size:17px}
 .menu_box table th,.menu_box table td{font-size:14px;padding:9px 5px}
 .cp_authorinfo h3{font-size:17px}
 h4{font-size:21px;line-height:1.6}
 #main .menu_box .inner{padding:16px}
 table.formTable th,table.formTable td{display:block;width:100%}
 input,textarea,select{max-width:100%;font-size:16px}
}

/* Layout corrections: 2026-10-19 */
#h2_box{height:240px;min-height:0;overflow:hidden}
#h2_box .bg{height:100%;overflow:hidden}
#h2_box .bg img{width:100%;height:100%;object-fit:cover;object-position:center}
#main .top_p,#main .bottom_p{font-size:0;line-height:0;margin:0;padding:0}
#main .top_p img,#main .bottom_p img{display:block;width:100%}
#sub #menu li a{position:relative;padding-left:28px;overflow-wrap:normal;word-break:normal}
#sub #menu li a img{position:absolute;left:4px;top:12px}
#index #main .service-grid{align-items:start}
.cp_blockdesign04 .cp_authorinfo{padding:16px 24px}
.cp_authorinfo h3{line-height:1.65;margin:10px 0}
footer #address .salon-photo{grid-column:1/-1;margin:0}
footer #address .salon-photo img{display:block;width:100%;height:auto}
footer #address .salon_info,footer #address .ggmap{min-width:0;width:auto;float:none}
footer #address .ggmap{margin:0;position:static}
footer #address .ggmap img{display:block;max-width:100%;height:auto}
@media(max-width:1023px){
 #h2_box{height:160px}
 #nav section{padding:8px 12px}
 #nav nav ul.sp{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;margin:0;padding:0}
 #nav nav ul.sp:after{display:none}
 #nav nav ul.sp li{display:flex;float:none;justify-content:center;border:0;border-right:1px solid #514a45;width:auto;min-width:0;margin:0;padding:0}
 #nav nav ul.sp li:last-child{border-right:0}
 #nav nav ul.sp li a{display:flex;align-items:center;justify-content:center;width:100%;padding:10px 0;font-size:clamp(11px,2.8vw,15px);white-space:nowrap;line-height:1.4}
 footer #address .salon-photo{margin-bottom:24px}
 footer #address .ggmap{margin-top:28px}
}


/* Service menu navigation and readable mobile descriptions */
#salon-menu{scroll-margin-top:20px}
#index #main .service-grid>.salon-menu-heading{display:block!important;text-align:center;grid-column:1/-1}
#index #main .salon-menu-heading img{width:auto;max-width:100%!important;height:auto}
#index #main .service-description{color:#373330}
#index #main a.service-details{display:inline-flex;align-items:center;min-height:44px;color:#795319;text-decoration:underline;text-underline-offset:4px;font-weight:bold}
#index #main a.service-details:hover{color:#49320f}
