/* Existing WordPress blocks remain the source of all page content. */
.salon-inner main{padding-top:88px;min-height:65vh}
.salon-inner .salon-page-wrap{padding-top:34px;padding-bottom:110px;max-width:1280px}
.salon-inner .salon-breadcrumb{display:flex;flex-wrap:wrap;gap:16px;align-items:center;font-size:10px;letter-spacing:.12em;color:#555555;line-height:1.8}
.salon-inner .salon-breadcrumb a{display:inline-flex;align-items:center;min-height:44px}
.salon-inner .salon-page-heading{padding:64px 0 70px;border-bottom:1px solid var(--salon-line);margin-bottom:64px}
.salon-inner .salon-page-heading>p{color:var(--salon-ink);font-size:11px;letter-spacing:.16em;margin-bottom:16px}
.salon-inner .salon-page-heading h1{font-family:Georgia,var(--salon-serif);font-weight:400;font-size:clamp(36px,5.6vw,72px);letter-spacing:.075em;line-height:1.4;margin:0}
.salon-inner h2:after{display:none}
.salon-inner .salon-page-content{font-size:14px;line-height:2;letter-spacing:.055em;overflow-wrap:anywhere}
.salon-inner .salon-page-content p{padding:0;line-height:2}
.salon-inner .salon-page-content img{max-width:100%;height:auto}
.salon-inner .salon-page-content .wp-block-columns{gap:38px}
.salon-inner .salon-page-content .wp-block-column{min-width:0}
.salon-inner .salon-page-content .wp-block-spacer{max-height:70px}
.salon-inner .salon-page-content .wp-block-button__link,.salon-inner .back_button{background:transparent;color:var(--salon-ink);border:1px solid #96aaa1;border-radius:0;box-shadow:none;font-size:12px;padding:14px 26px;min-height:48px}
.salon-inner .salon-page-content a:not(.wp-block-button__link){text-decoration:underline;text-underline-offset:5px}
.salon-inner .salon-page-content table{width:100%;border-collapse:collapse;font-size:13px}
.salon-inner .salon-page-content td{padding:15px 12px;border:0;border-bottom:1px solid var(--salon-line)}
.salon-inner .is-style-marker-text{background:none!important;color:var(--salon-ink);border-bottom:1px solid var(--salon-green);padding-bottom:6px}
/* Menu: retain every price and description, remove decorative boxes. */
.salon-page-menu .salon-page-content>.has-text-align-center:first-child{font-family:var(--salon-serif);font-size:25px!important;line-height:1.8}
.salon-page-menu .salon-page-content>.has-text-align-center strong{font-weight:400}
.salon-page-menu .salon-page-content>.has-text-align-center+p{font-size:13px!important;margin-top:16px}
.salon-page-menu .salon-page-content>.has-text-align-right{font-size:11px;color:#555555}
.salon-page-menu .salon-page-content>.has-text-align-right+.has-text-align-right{display:none}
.salon-page-menu .salon-page-content>.wp-block-columns.has-border-color{border:0!important;border-bottom:1px solid var(--salon-line)!important;padding:32px 0!important;margin:0;display:grid;grid-template-columns:minmax(0,1fr) 115px;gap:32px;align-items:center}
.salon-page-menu .salon-page-content>.wp-block-spacer{height:18px!important}
.salon-page-menu .salon-page-content .wp-block-columns .wp-block-columns{margin:0 0 14px;display:block}
.salon-page-menu .salon-page-content .wp-block-columns .wp-block-group.is-layout-grid{display:flex;flex-wrap:wrap;gap:7px}
.salon-page-menu .salon-page-content .wp-block-group .has-background{background:#eaf0e9!important;color:#555555!important;padding:3px 12px;font-size:10px;line-height:1.8}
.salon-page-menu .salon-page-content .wp-block-group.is-nowrap{display:block;margin-top:8px}
.salon-page-menu .salon-page-content p[style*="font-size:18px"]{font-family:var(--salon-serif);font-size:18px!important;line-height:1.9}
.salon-page-menu .salon-page-content p[style*="font-size:14px"]{font-size:13px!important;color:#555555!important;line-height:1.95}
.salon-page-menu .salon-page-content .wp-block-column>p.has-text-align-right{font-family:Georgia,serif;font-size:24px;letter-spacing:0;white-space:nowrap;color:#555555}
.salon-page-menu .salon-page-content>.wp-block-group.has-border-color{display:block;border:0!important;margin-top:45px}
.salon-page-menu .salon-page-content>.wp-block-group>p.has-background{padding:16px 0!important;background:transparent!important;border-top:1px solid #729184;border-bottom:1px solid #729184;color:var(--salon-ink)!important;font-family:var(--salon-serif);font-size:24px!important}
.salon-page-menu .salon-page-content>.wp-block-group>p strong{font-weight:400}
.salon-page-menu .salon-page-content>.wp-block-group>.wp-block-columns{display:grid;grid-template-columns:minmax(0,1fr) 115px;gap:32px;border:0!important;border-bottom:1px solid var(--salon-line)!important;padding:26px 0!important;margin:0}
/* Stylist: large unaltered portraits and a clear profile hierarchy. */
.salon-page-stylist .salon-page-content>.wp-block-columns{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:8%;align-items:start;margin:0;padding-bottom:70px;border-bottom:1px solid var(--salon-line)}
.salon-page-stylist .salon-page-content>.wp-block-columns>.wp-block-column:first-child{position:sticky;top:115px}
.salon-page-stylist .salon-page-content figure{margin:0}
.salon-page-stylist .salon-page-content figure img{display:block;width:100%!important;height:auto!important;max-width:380px;object-fit:contain!important}
.salon-page-stylist .salon-page-content>.wp-block-columns>.wp-block-column>p:first-child{font-size:11px;color:var(--salon-ink);letter-spacing:.15em;margin-bottom:13px}
.salon-page-stylist .salon-page-content p[style*="font-size:20px"]{font-family:var(--salon-serif);font-size:32px!important;letter-spacing:.1em}
.salon-page-stylist .salon-page-content .wp-block-group{display:block}
.salon-page-stylist .salon-page-content .wp-block-group .wp-block-columns{display:grid;grid-template-columns:130px minmax(0,1fr);gap:24px;padding:17px 0;margin:0;border-color:var(--salon-line)!important;border-style:solid!important;border-width:1px 0 0!important;font-size:12px!important}
.salon-page-stylist .salon-page-content .wp-block-group .wp-block-columns:last-child{border-bottom-width:1px!important}
/* Access */
.salon-page-access .salon-page-content>.wp-block-columns{display:grid;grid-template-columns:1fr 1.15fr;gap:7%;align-items:start}
.salon-page-access .salon-page-content .wp-block-group{border:0!important;border-bottom:1px solid var(--salon-line)!important;padding-bottom:16px}
.salon-page-access .salon-page-content .wp-block-group:first-child{font-family:var(--salon-serif);font-size:24px}
.salon-page-access .salon-page-content iframe{width:100%!important;height:520px!important;max-height:75svh;aspect-ratio:auto!important;border:0;display:block}
.salon-page-access .salon-page-content .wp-block-table{margin-top:15px}
/* News archive and article */
.salon-inner .news_list{display:block;padding:0;margin:0;width:100%;border-top:1px solid var(--salon-line)}
.salon-inner .news_item{max-width:none;border-bottom:1px solid var(--salon-line)}
.salon-inner .news_item>a{display:grid;grid-template-columns:130px 1fr 30px;gap:24px;align-items:center;width:100%;height:auto;aspect-ratio:auto;padding:32px 0}
.salon-inner .news_item_date{font-size:12px;color:#555555;letter-spacing:.08em}
.salon-inner .news_item_title{font-family:var(--salon-serif);font-size:20px;font-weight:400;line-height:1.8;margin:0}
.salon-inner .news-arrow{color:var(--salon-ink)}
.salon-inner .archive-pagination{margin-top:40px}
.salon-inner .page-numbers.current{background:var(--salon-green);border-radius:0}
.salon-inner .salon-article-wrap{max-width:1080px}
.salon-inner .salon-article{padding:65px 0 60px}
.salon-inner .salon-article>time{color:var(--salon-ink);font-size:12px;letter-spacing:.15em}
.salon-inner .salon-article>h1{font-size:clamp(25px,3.3vw,42px);line-height:1.8;letter-spacing:.055em;margin:24px 0 44px;padding-bottom:35px;border-bottom:1px solid var(--salon-line)}
.salon-inner .salon-article-image{margin:0 0 40px}
.salon-inner .salon-article-image img{display:block;max-width:100%;width:auto;height:auto;max-height:560px;margin:auto}
.salon-inner .news_content_body{font-size:15px;line-height:2.2;letter-spacing:.04em}
.salon-inner .news_content_body p{margin-bottom:18px}
/* Contact Form 7 markup and submission remain unchanged. */
.salon-page-contact .salon-page-content{max-width:850px;margin:auto}
.salon-page-contact .salon-page-content>p{font-size:14px;line-height:2.1}
.salon-page-contact .salon-page-content form{width:100%;margin-top:35px}
.salon-page-contact .formTable{border-collapse:collapse;width:100%;border-spacing:0}
.salon-page-contact .formTable-row{border-bottom:1px solid var(--salon-line);font-size:14px}
.salon-page-contact .formTable td,.salon-page-contact .formTable th{padding:25px 12px;text-align:left;font-weight:400;vertical-align:top;border:0}
.salon-page-contact .formTable-header{width:26%}
.salon-page-contact .formTable_required{width:12%}
.salon-page-contact .formTable_required span{background:#e8eeE7;color:#555555;font-size:10px;padding:4px 7px}
.salon-page-contact .wpcf7-form-control-wrap{width:100%;display:block}
.salon-page-contact .wpcf7-form-control-wrap input,.salon-page-contact .wpcf7-form-control-wrap textarea,.salon-page-contact .wpcf7-form-control-wrap select{width:100%;max-width:100%;border:1px solid #bdc9bf;background:#fff;border-radius:0;padding:13px 14px;font:inherit;font-size:16px;color:var(--salon-ink)}
.salon-page-contact .wpcf7-form-control-wrap textarea{min-height:200px;resize:vertical}
.salon-page-contact .wpcf7-form-control-wrap :focus-visible{outline:2px solid var(--salon-green);outline-offset:2px}
.salon-page-contact .form_submit input,.salon-page-contact input[type=submit],.salon-page-contact button[type=submit]{background:var(--salon-green);color:#fff;border:0;min-width:210px;min-height:52px;padding:15px 30px;margin:30px auto 0;cursor:pointer}
.salon-page-contact .select_triangle:after{top:23px;right:15px}
@media(max-width:768px){
.salon-inner main{padding-top:72px}.salon-inner .salon-page-wrap{padding-top:18px;padding-bottom:65px}.salon-inner .salon-breadcrumb{font-size:9px;gap:12px}.salon-inner .salon-page-heading{padding:32px 0 40px;margin-bottom:38px}.salon-inner .salon-page-heading h1{font-size:42px}.salon-inner .salon-page-heading>p{font-size:10px;margin-bottom:13px}.salon-inner .salon-page-content{font-size:13px;line-height:2}.salon-inner .salon-page-content .wp-block-spacer{max-height:44px}
.salon-page-menu .salon-page-content>.has-text-align-center:first-child{font-size:21px!important;text-align:left}.salon-page-menu .salon-page-content>.has-text-align-center+p{text-align:left;font-size:12px!important}.salon-page-menu .salon-page-content>.wp-block-columns.has-border-color,.salon-page-menu .salon-page-content>.wp-block-group>.wp-block-columns{grid-template-columns:1fr;gap:12px;padding:24px 0!important}.salon-page-menu .salon-page-content .wp-block-group .has-background{font-size:9px;padding:3px 8px}.salon-page-menu .salon-page-content p[style*="font-size:18px"]{font-size:17px!important}.salon-page-menu .salon-page-content p[style*="font-size:14px"]{font-size:12px!important}.salon-page-menu .salon-page-content .wp-block-column>p.has-text-align-right{font-size:23px}.salon-page-menu .salon-page-content>.wp-block-group>p.has-background{font-size:23px!important}.salon-page-menu .salon-page-content>.wp-block-group.has-border-color{margin-top:32px}
.salon-page-stylist .salon-page-content>.wp-block-columns{grid-template-columns:1fr;gap:30px;padding-bottom:44px}.salon-page-stylist .salon-page-content>.wp-block-columns>.wp-block-column:first-child{position:static}.salon-page-stylist .salon-page-content figure img{max-width:320px;margin:0 auto}.salon-page-stylist .salon-page-content p[style*="font-size:20px"]{font-size:29px!important}.salon-page-stylist .salon-page-content .wp-block-group .wp-block-columns{grid-template-columns:105px minmax(0,1fr);gap:12px;padding:14px 0;font-size:11px!important}.salon-page-stylist .salon-page-content p[style*="font-size:14px"]{font-size:13px!important}
.salon-page-access .salon-page-content>.wp-block-columns{grid-template-columns:1fr;gap:35px}.salon-page-access .salon-page-content iframe{height:350px!important}.salon-page-access .salon-page-content .wp-block-group:first-child{font-size:22px}
.salon-inner .news_item>a{grid-template-columns:1fr 18px;gap:10px;padding:25px 0}.salon-inner .news_item_date{grid-column:1;font-size:10px}.salon-inner .news_item_title{grid-column:1;font-size:18px}.salon-inner .news-arrow{grid-column:2;grid-row:1 / span 2}.salon-inner .salon-article{padding:32px 0 36px}.salon-inner .salon-article>h1{font-size:25px;margin:20px 0 30px;padding-bottom:25px}.salon-inner .news_content_body{font-size:14px;line-height:2.1}
.salon-page-contact .salon-page-content>p{font-size:12px}.salon-page-contact .formTable-row{display:grid;grid-template-columns:1fr auto;gap:0 10px;padding:22px 0;margin:0;font-size:13px}.salon-page-contact .formTable th,.salon-page-contact .formTable td{padding:0;width:auto}.salon-page-contact .formTable-data{grid-column:1 / span 2;margin-top:13px}.salon-page-contact .formTable_required{text-align:right!important}.salon-page-contact .formTable-header{margin:0}.salon-page-contact .form_submit input{width:100%}
}

/* Reservation requests */
.salon-page-contact .salon-booking{max-width:840px;margin:auto}
.salon-page-contact .booking-eyebrow{font-size:11px;letter-spacing:.18em;color:#555}
.salon-page-contact .salon-booking h2{font-family:'Noto Serif JP',serif;font-weight:400;font-size:30px;margin:12px 0 26px}
.salon-page-contact .booking-notice{padding:22px 25px;margin:28px 0 38px;background:#efeee8;border-left:2px solid #777;font-size:14px;line-height:2}
.salon-page-contact .booking-notice a{color:#333;text-decoration:underline}
.salon-page-contact .salon-booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.salon-page-contact .salon-booking-grid p{margin:0;min-width:0}
.salon-page-contact .salon-booking-grid label{display:block;margin-bottom:10px;font-size:14px}
.salon-page-contact .booking-wide{grid-column:1/-1}
.salon-page-contact .booking-consent{margin-top:30px;font-size:14px}
.salon-page-contact .booking-consent .wpcf7-list-item{margin:0}
.salon-page-contact .booking-consent input[type=checkbox]{width:20px;min-height:20px;margin:0 10px 0 0;vertical-align:middle;accent-color:#555}
.salon-page-contact .booking-data-note{font-size:12px;color:#555}
.salon-page-contact .salon-contact-other{margin:70px auto 0;max-width:840px;border-top:1px solid #ccc;padding-top:25px}
.salon-page-contact .salon-contact-other summary{cursor:pointer;min-height:44px;font-size:16px}
@media(max-width:600px){.salon-page-contact .salon-booking-grid{grid-template-columns:1fr;gap:22px}.salon-page-contact .salon-booking h2{font-size:25px}.salon-page-contact .booking-notice{padding:18px;font-size:13px}}

.salon-page-contact .booking-menu-help,.salon-page-contact .booking-calendar-help{display:block;font-size:12px;color:#555;line-height:1.8;margin-top:8px}
.salon-page-contact .booking-menu-help a{color:#333;text-decoration:underline}
.salon-page-contact .salon-booking input[type=date]{min-height:52px;cursor:pointer;color-scheme:light}
.salon-page-contact .salon-booking select{min-height:52px;text-overflow:ellipsis}
.salon-page-contact .salon-booking select{appearance:auto;-webkit-appearance:menulist;padding-right:30px}

/* Editorial service pages, editable with WordPress blocks. */
:is(.salon-page-hair-improvement,.salon-page-hair-color,.salon-page-hair-care) .salon-page-content{max-width:960px;margin:auto}
:is(.salon-page-hair-improvement,.salon-page-hair-color,.salon-page-hair-care) .service-hero{margin:0 0 48px}
:is(.salon-page-hair-improvement,.salon-page-hair-color,.salon-page-hair-care) .service-hero img{width:100%;height:clamp(240px,36vw,440px);object-fit:cover}
:is(.salon-page-hair-improvement,.salon-page-hair-color,.salon-page-hair-care) .salon-page-content h2{font-family:var(--salon-serif);font-size:clamp(22px,3vw,30px);font-weight:400;margin:48px 0 20px;line-height:1.7}
:is(.salon-page-hair-improvement,.salon-page-hair-color,.salon-page-hair-care) .wp-block-buttons{margin-top:38px;gap:16px}

/* NEWS: photo on the right of the text */
.salon-inner .news_item>a{grid-template-columns:130px minmax(0,1fr) 180px;gap:32px;padding:26px 0}
.salon-inner .news_item_thumb{margin:0;overflow:hidden;aspect-ratio:4/3;background:#eceae4}
.salon-inner .news_item_thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
@media (hover:hover){.salon-inner .news_item>a:hover .news_item_thumb img{transform:scale(1.05)}}
.salon-inner .salon-article-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.82fr);gap:56px;align-items:start}
.salon-inner .salon-article-body .salon-article-image{margin:0;position:sticky;top:110px}
.salon-inner .salon-article-body .salon-article-image img{display:block;width:100%;max-height:none;height:auto;aspect-ratio:4/5;object-fit:cover;margin:0}
@media (max-width:768px){
.salon-inner .news_item>a{grid-template-columns:minmax(0,1fr) 104px;gap:6px 16px;padding:20px 0}
.salon-inner .news_item_date,.salon-inner .news_item_title{grid-column:1}
.salon-inner .news_item_thumb{grid-column:2;grid-row:1 / span 2;align-self:center}
.salon-inner .news_item_title{font-size:16px}
.salon-inner .salon-article-body{grid-template-columns:1fr;gap:28px}
.salon-inner .salon-article-body .salon-article-image{position:static;order:-1}
.salon-inner .salon-article-body .salon-article-image img{aspect-ratio:4/3}
}

/* NEWS記事ページ：予約ボタン欄の左右の余白（他のページとそろえる） */
body.single.salon-inner main .reservation-block .content_wrapper{padding-left:6.5%;padding-right:6.5%}
@media (max-width:768px){body.single.salon-inner main .reservation-block .content_wrapper{padding-left:7%;padding-right:7%}}
