/*
Theme Name: salonism child
Description: WordPressテーマ「salonism」の自作子テーマです。
Template: salonism
Author: ビークル
Version: 1.0.15
*/

/* =====================================================
   サロンオーナーさまへ（page-for-salon-owners.php）
   .szo-page 内だけに適用し、既存ページへ影響させない
===================================================== */
.szo-page{--szo-ink:#1f2926;--szo-muted:#64706b;--szo-cream:#f4f0e8;--szo-paper:#fb
  f7;--szo-sage:#86988d;--szo-deep:#243b35;--szo-line:#d9ddd7;background:var(--szo-paper);color:var(--szo-ink);overflow:hidden;font-family:"Noto Sans JP","Yu Gothic",sans-serif}
.szo-page *{box-sizing:border-box}.szo-page a{text-decoration:none}.szo-eyebrow,.szo-index{font:600 11px/1.4 Arial,sans-serif;letter-spacing:.26em;color:#718279}.szo-page h1,.szo-page h2,.szo-page h3,.szo-page p{margin-top:0}
.szo-hero{min-height:690px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr)}.szo-hero__copy{padding:clamp(70px,9vw,128px) clamp(28px,7vw,110px)}.szo-hero h1{margin:28px 0;font-family:"Shippori Mincho","Yu Mincho",serif;font-weight:500;font-size:clamp(42px,5.4vw,77px);line-height:1.3;letter-spacing:-.035em}.szo-hero h1 em{color:#738a7e;font-style:normal}.szo-lead{max-width:690px;color:#56615c;font-size:16px;line-height:2.05}.szo-actions{display:flex;align-items:center;gap:30px;margin-top:40px}.szo-button{display:inline-flex;justify-content:space-between;align-items:center;gap:28px;padding:18px 24px;font-size:14px;font-weight:700}.szo-button span{font-size:20px;font-weight:400}.szo-button--primary{background:var(--szo-deep);color:#fff!important;min-width:330px}.szo-text-link{color:var(--szo-ink)!important;font-size:13px;border-bottom:1px solid;padding-bottom:5px}.szo-micro{margin-top:20px;color:#84918b;font-size:11px}
.szo-hero__visual{background:var(--szo-cream);position:relative;display:flex;align-items:flex-end;justify-content:center;gap:2.5%;padding:74px 8% 96px}.szo-arch{width:31%;height:62%;border:1px solid rgba(36,59,53,.25);border-radius:100px 100px 0 0;display:flex;flex-direction:column;justify-content:flex-end;padding:23px 10px;text-align:center;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(134,152,141,.24))}.szo-arch--main{height:78%;background:linear-gradient(180deg,rgba(255,255,255,.65),rgba(134,152,141,.4))}.szo-arch--short{height:52%}.szo-arch span{font-size:11px;color:var(--szo-muted)}.szo-arch strong{margin-top:6px;font-family:"Shippori Mincho",serif;font-size:clamp(15px,1.8vw,24px);font-weight:500}.szo-hero__visual>p{position:absolute;top:52px;right:7%;font:10px/1.6 Arial,sans-serif;letter-spacing:.18em;color:#7d8c84;text-align:right}
.szo-statement{padding:130px clamp(28px,8vw,130px);display:grid;grid-template-columns:1fr 3fr;background:#fff}.szo-statement h2,.szo-support h2,.szo-steps h2,.szo-line h2{font-family:"Shippori Mincho","Yu Mincho",serif;font-weight:500;font-size:clamp(31px,4vw,54px);line-height:1.5}.szo-statement__body{display:grid;grid-template-columns:1.4fr 1fr;gap:9%;align-items:end}.szo-statement__body>p,.szo-support__heading>p:last-child{color:var(--szo-muted);line-height:2;font-size:15px}
.szo-benefits{display:grid;grid-template-columns:repeat(3,1fr);padding:0 clamp(28px,8vw,130px) 130px;background:#fff}.szo-benefits article{padding:42px 11%;border-left:1px solid var(--szo-line)}.szo-benefits article:last-child{border-right:1px solid var(--szo-line)}.szo-benefits b{font:11px Arial,sans-serif;color:var(--szo-sage)}.szo-benefits h3{margin:25px 0 14px;font-family:"Shippori Mincho",serif;font-size:20px;font-weight:600}.szo-benefits p{color:var(--szo-muted);font-size:13px;line-height:1.9}
.szo-support{padding:130px clamp(28px,8vw,130px);background:var(--szo-cream)}.szo-support__heading{display:grid;grid-template-columns:1fr 1.7fr 1fr;gap:5%;align-items:end}.szo-support__heading h2{margin:0;font-size:clamp(30px,3.4vw,48px)}.szo-plans{margin-top:70px;border-top:1px solid #cdd3cc}.szo-plans article{display:grid;grid-template-columns:80px 1fr 230px;align-items:center;gap:20px;padding:28px 10px;border-bottom:1px solid #cdd3cc}.szo-plans article>span{font:11px Arial,sans-serif;color:var(--szo-sage)}.szo-plans h3{margin-bottom:8px;font-family:"Shippori Mincho",serif;font-size:22px;font-weight:600}.szo-plans p{margin:0;color:var(--szo-muted);font-size:13px}.szo-plans strong{text-align:right;font-size:15px}.szo-note{margin-top:15px;color:#7d8882;font-size:10px;text-align:right}
.szo-steps{padding:130px clamp(28px,8vw,130px)}.szo-steps>h2{margin:20px 0 60px}.szo-steps__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.szo-steps__grid article{min-height:240px;padding:34px;border:1px solid var(--szo-line);background:#fff}.szo-steps__grid article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e8eee9;color:var(--szo-deep);font-family:Georgia,serif}.szo-steps__grid h3{margin:36px 0 15px;font-family:"Shippori Mincho",serif;font-size:20px}.szo-steps__grid p{color:var(--szo-muted);font-size:13px;line-height:1.9}
.szo-line{display:grid;grid-template-columns:1.6fr .7fr;gap:7%;align-items:center;background:var(--szo-deep);color:#fff;padding:100px clamp(28px,9vw,150px)}.szo-line .szo-eyebrow{color:#a8b9b0}.szo-line h2{margin:20px 0;font-size:clamp(34px,4.2vw,58px)}.szo-line>div>p:last-child{max-width:650px;color:#cbd4cf;line-height:1.9}.szo-line__action{display:flex;flex-direction:column;align-items:center}.szo-line__icon{display:grid;place-items:center;width:75px;height:75px;border-radius:23px;background:#06c755;font:700 15px Arial,sans-serif;margin-bottom:20px}.szo-button--line{width:100%;min-width:260px;background:#fff;color:var(--szo-deep)!important}.szo-line__action small{margin-top:14px;color:#9faea7;font-size:10px}
@media(max-width:900px){.szo-hero{grid-template-columns:1fr}.szo-hero__copy{padding-bottom:70px}.szo-hero__visual{min-height:420px}.szo-statement{grid-template-columns:1fr;gap:28px;padding-block:90px}.szo-statement__body,.szo-support__heading{grid-template-columns:1fr;gap:24px}.szo-benefits{grid-template-columns:1fr;padding-bottom:90px}.szo-benefits article,.szo-benefits article:last-child{border-right:0;border-left:0;border-top:1px solid var(--szo-line);padding-inline:0}.szo-support,.szo-steps{padding-block:90px}.szo-plans article{grid-template-columns:45px 1fr}.szo-plans strong{grid-column:2;text-align:left}.szo-steps__grid{grid-template-columns:1fr}.szo-line{grid-template-columns:1fr;padding-block:85px}.szo-line__action{align-items:flex-start;margin-top:30px}.szo-button--line{max-width:330px}}
@media(max-width:560px){.szo-hero__copy{padding:64px 22px}.szo-hero h1{font-size:39px}.szo-lead{font-size:14px}.szo-actions{align-items:flex-start;flex-direction:column;gap:20px}.szo-button--primary{min-width:0;width:100%;font-size:12px}.szo-hero__visual{min-height:340px;padding:70px 5% 60px}.szo-arch{height:60%;padding-inline:4px}.szo-arch--main{height:75%}.szo-arch--short{height:50%}.szo-statement,.szo-support,.szo-steps{padding-inline:22px}.szo-statement h2,.szo-support h2,.szo-steps h2,.szo-line h2{font-size:30px}.szo-plans article{padding-block:24px}.szo-plans p{line-height:1.7}.szo-line{padding-inline:22px}}

/* LIBRARYにも他カテゴリーと同じ下線を表示 */
.header_nav li.menu_library {
    position: relative !important;
}

.header_nav li.menu_library::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -33px;
    width: 78px;
    height: 3px;
    transform: translateX(-50%);
    background: linear-gradient(90deg, #62b68f 0 25%, #e6b650 25% 50%, #df81a8 50% 75%, #82acd5 75% 100%);
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none;
    z-index: 5;
}

.header_nav_mobile li.menu_library > a::after{content:"";display:block!important;width:78px;height:3px;margin:10px auto 0;background:linear-gradient(90deg,#62b68f 0 25%,#e6b650 25% 50%,#df81a8 50% 75%,#82acd5 75% 100%)}

/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Shippori+Mincho:wght@500;600;700&display=swap');

/* =========================
   ニュース記事・特集記事
========================= */

.news_textbox,
.topics_textbox {
    font-family: "Noto Sans JP", sans-serif !important;
}

.news_textbox p,
.topics_textbox p {
    font-size: 17px;
    line-height: 1.9 !important;
    letter-spacing: 0.04em !important;
    margin: 0 0 22px !important;
}


/* =========================
   広告ブースの文章だけ
========================= */

.top_cafe_post_excerpt > p {
    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 17px;
    line-height: 1.9 !important;
    letter-spacing: 0.04em !important;
    margin: 0 0 22px !important;
}


/* =========================
   記事内の見出しだけ
========================= */

.news_textbox h2,
.topics_textbox h2 {
    font-family: "Shippori Mincho", serif !important;
    line-height: 1.5;
    margin: 48px 0 22px;
}

.news_textbox h3,
.topics_textbox h3 {
    font-family: "Shippori Mincho", serif !important;
    line-height: 1.5;
    margin: 36px 0 18px;
}


/* =========================
   スマホ
========================= */

@media screen and (max-width: 768px) {

    .news_textbox p,
    .topics_textbox p,
    .top_cafe_post_excerpt > p {
        font-size: 16px;
        line-height: 1.9 !important;
        letter-spacing: 0.03em !important;
        margin-bottom: 20px !important;
    }
}

/* =========================================
   TOP LIBRARY - dynamic article layout
   This final block intentionally overrides legacy image-banner rules.
========================================= */
body.home .top_library {
  padding: 64px 20px;
  background: #f7f4ed;
}

body.home .top_library .top_library_inner {
  width: min(1180px, 100%);
  max-width: 1180px;
  margin: 0 auto;
}

body.home .top_library .top_library_magazine {
  display: grid;
  grid-template-columns: minmax(0, 46%) minmax(0, 54%);
  min-height: 0;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 18px 55px rgba(66, 83, 57, .12);
}

body.home .top_library .top_library_visual {
  display: flex;
  min-width: 0;
  min-height: 0;
  height: auto;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #fff;
}

body.home .top_library .top_library_visual > img {
  position: static;
  inset: auto;
  display: block;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-width: 100%;
  object-fit: contain !important;
  object-position: center !important;
}

body.home .top_library .top_library_editorial {
  display: flex;
  min-width: 0;
  padding: 42px 44px 38px;
  box-sizing: border-box;
  flex-direction: column;
  justify-content: center;
  background: #fff;
}

body.home .top_library .top_library_brand {
  width: min(320px, 76%);
  margin: 0 auto 8px;
}

body.home .top_library .top_library_brand img {
  display: block;
  width: 100%;
  height: auto;
}

body.home .top_library .top_library_concerns {
  margin: 0 0 9px;
  color: #3f3e39;
  font-family: 'Shippori Mincho', serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.65;
  letter-spacing: .12em;
  text-align: center;
}

body.home .top_library .top_library_lead {
  max-width: 510px;
  margin: 0 auto 25px;
  color: #68655e;
  font-size: 15px;
  line-height: 1.9;
  letter-spacing: .055em;
  text-align: center;
}

body.home .top_library .top_library_articles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  border: 0;
}

body.home .top_library .top_library_article {
  min-width: 0;
  border: 1px solid #e2ded5;
  background: #fff;
}

body.home .top_library .top_library_article > a {
  display: block;
  height: 100%;
  padding: 0;
  color: #3f3e39;
  text-decoration: none;
}

body.home .top_library .top_library_article_thumb {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #eeeae2;
}

body.home .top_library .top_library_article_thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.home .top_library .top_library_article_text {
  min-width: 0;
  padding: 15px 16px 16px;
}

body.home .top_library .top_library_article_category {
  margin-bottom: 6px;
  color: #66855c;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
}

body.home .top_library .top_library_article_title {
  margin: 0;
  font-family: 'Shippori Mincho', serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.65;
  letter-spacing: .035em;
}

body.home .top_library .top_library_article_more {
  margin-top: 9px;
  color: #88847b;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 9px;
  letter-spacing: .16em;
}

body.home .top_library .top_library_empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 28px 12px;
  text-align: center;
}

body.home .top_library .top_library_cta {
  position: static;
  display: inline-flex;
  align-self: center;
  margin-top: 26px;
  padding: 12px 25px;
  border: 1px solid #222;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  color: #111;
  font-size: 13px;
  letter-spacing: .08em;
  text-decoration: none;
  transform: none;
}

@media screen and (max-width: 768px) {
  body.home .top_library {
    padding: 44px 14px;
  }

  body.home .top_library .top_library_magazine {
    display: block;
  }

  body.home .top_library .top_library_visual {
    height: auto;
    min-height: 0;
  }

  body.home .top_library .top_library_visual > img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  body.home .top_library .top_library_editorial {
    padding: 30px 18px 32px;
  }

  body.home .top_library .top_library_brand {
    width: min(300px, 92%);
    margin-bottom: 5px;
  }

  body.home .top_library .top_library_concerns {
    font-size: 19px;
  }

  body.home .top_library .top_library_lead {
    margin-bottom: 22px;
    font-size: 14px;
    line-height: 1.85;
  }

  body.home .top_library .top_library_articles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  body.home .top_library .top_library_article_text {
    padding: 12px 10px 13px;
  }

  body.home .top_library .top_library_article_title {
    font-size: 12px;
    line-height: 1.6;
  }

  body.home .top_library .top_library_cta {
    margin-top: 24px;
    padding: 11px 20px;
    white-space: nowrap;
    font-size: 12px;
  }
}
.recruit_single {
    max-width: 1100px;
    margin: 0 auto 100px;
    padding: 330px 30px 0;
}

.recruit_single_header {
    display: grid;
    grid-template-columns: 46% 54%;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e3ece8;
    border-radius: 24px;
    box-shadow: 0 12px 32px rgba(40, 70, 65, 0.12);
}

.recruit_single_image {
    min-height: 520px;
    background: #edf4f1;
}

.recruit_single_image img {
    width: 100%;
    height: 100%;
    min-height: 520px;
    object-fit: cover;
    display: block;
}

.recruit_single_content {
    padding: 50px 48px;
}

.recruit_single .shop_name {
    margin: 0 0 12px;
    color: #6f8f86;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.12em;
}

.recruit_single h1 {
    margin: 0 0 34px;
    color: #3f4744;
    font-size: 32px;
    line-height: 1.5;
    letter-spacing: 0.04em;
}

.recruit_table {
    width: 100%;
    border-collapse: collapse;
}

.recruit_table th,
.recruit_table td {
    padding: 15px 0;
    border-bottom: 1px solid #e2e9e6;
    text-align: left;
    vertical-align: top;
}

.recruit_table th {
    width: 100px;
    color: #7b8d87;
    font-size: 13px;
    font-weight: 500;
}

.recruit_table td {
    color: #3f4744;
    font-size: 15px;
    line-height: 1.7;
}

.recruit_description {
    max-width: 900px;
    margin: 50px auto 0;
    color: #3f4744;
    font-size: 15px;
    line-height: 2;
}
.recruit_single_actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 26px;
    padding-bottom: 28px;
}


.recruit_single_apply,
.recruit_single_salon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 190px;
    padding: 14px 24px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

.recruit_single_apply {
    background: #67b99f;
    color: #fff;
    
}

.recruit_single_salon {
    background: #fff;
    color: #5f9f8d;
    border: 1px solid #9fd5c4;
}
.recruit_application_form {
    max-width: 900px;
    margin: 50px auto 100px;
    padding: 40px;
    background: #fff;
    border: 1px solid #e3ece8;
    border-radius: 20px;
    box-shadow: 0 10px 28px rgba(40, 70, 65, 0.08);
}
.recruit_application_form input[type="text"],
.recruit_application_form input[type="email"],
.recruit_application_form input[type="tel"],
.recruit_application_form textarea {
    width: 100%;
    box-sizing: border-box;
}
.recruit_application_form input[type="text"],
.recruit_application_form input[type="email"],
.recruit_application_form input[type="tel"],
.recruit_application_form textarea {
    padding: 13px 15px;
    border: 1px solid #dce8e3;
    border-radius: 9px;
    background: #fbfdfc;
    font-size: 15px;
    outline: none;
}

.recruit_application_form textarea {
    min-height: 170px;
    resize: vertical;
}
.recruit_application_form h2 {
    position: relative;
    margin: 0 0 30px;
    padding-left: 18px;
    font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
    font-size: 26px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.5;
    color: #46534f;
}

.recruit_application_form h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    width: 5px;
    height: 30px;
    border-radius: 10px;
    background: #67b99f;
}
.recruit_application_form label {
    display: block;
    margin-bottom: 6px;
    font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: #46534f;
}
.recruit_application_form input[type="submit"] {
    display: block;
    min-width: 220px;
    margin: 26px auto 0;
    padding: 14px 28px;
    border: none;
    border-radius: 10px;
    background: #67b99f;
    color: #fff;
    font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.04em;
    cursor: pointer;
}

.recruit_application_form input[type="submit"]:hover {
    opacity: 0.85;
}
.recruit_application_form,
.recruit_application_form input,
.recruit_application_form textarea,
.recruit_application_form label,
.recruit_application_form .wpcf7-not-valid-tip {
    font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}
.recruit_application_form label {
    margin-top: 18px;
    margin-bottom: 8px;
}

.recruit_application_form h2 + label {
    margin-top: 0;
}
.recruit_search_select {
    width: 100%;
    border: none;
    background: transparent;
    color: #2f3835;
    font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
    font-size: 15px;
    font-weight: 500;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}
.recruit_search_select_wrap {
    position: relative;
}

.recruit_search_select {
    padding-right: 28px;
}

.recruit_search_select_wrap .recruit_search_arrow {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: #82968f;
    font-size: 12px;
}
/* 広告詳細ページ：固定ヘッダーとの重なりを防ぐ */
.advertisement_single {
    padding-top: 330px;
}
/* 広告詳細ページ */
.advertisement_single {
    padding: 330px 20px 80px;
    background: #fffaf5;
}

.advertisement_single_inner {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
}

.advertisement_single_article {
    background: #ffffff;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.advertisement_single_header {
    padding: 42px 50px 28px;
    text-align: center;
}

.advertisement_single_pr,
.advertisement_single_category {
    display: inline-block;
    margin: 0 4px 14px;
    padding: 5px 14px;
    border-radius: 999px;
    font-size: 13px;
    line-height: 1.4;
}

.advertisement_single_pr {
    background: #caa55a;
    color: #ffffff;
}

.advertisement_single_category {
    background: #f2eee7;
    color: #555555;
}

.advertisement_single_header h1 {
    margin: 0;
    font-size: 34px;
    line-height: 1.5;
    letter-spacing: 0.04em;
    color: #2f2f2f;
}

.advertisement_single_shop {
    margin: 14px 0 0;
    font-size: 17px;
    color: #777777;
}

.advertisement_single_image {
    width: calc(100% - 100px);
    max-width: 760px;
    margin: 0 auto;
}

.advertisement_single_image img {
    display: block;
    width: 100%;
    height: 430px;
    object-fit: cover;
    border-radius: 18px;
}

.advertisement_single_description {
    max-width: 760px;
    margin: 0 auto;
    padding: 38px 30px 30px;
    font-size: 16px;
    line-height: 2;
    color: #444444;
}

.advertisement_single_info {
    max-width: 760px;
    margin: 0 auto;
    padding: 0 30px 20px;
}

.advertisement_single_info > div {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 20px;
    padding: 18px 0;
    border-top: 1px solid #e8e3dc;
}

.advertisement_single_info dt {
    font-weight: 700;
    color: #555555;
}

.advertisement_single_info dd {
    margin: 0;
    color: #444444;
}

.advertisement_single_links {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 14px;
    padding: 25px 30px 50px;
}

.advertisement_single_links a {
    min-width: 180px;
    padding: 14px 24px;
    border: 1px solid #333333;
    border-radius: 999px;
    text-align: center;
    color: #333333;
    text-decoration: none;
    background: #ffffff;
}

.advertisement_single_links a:hover {
    background: #333333;
    color: #ffffff;
}

@media screen and (max-width: 767px) {
    .advertisement_single {
        padding: 180px 14px 50px;
    }

    .advertisement_single_header {
        padding: 30px 20px 22px;
    }

    .advertisement_single_header h1 {
        font-size: 25px;
    }

    .advertisement_single_image {
        width: calc(100% - 28px);
    }

    .advertisement_single_image img {
        height: 260px;
    }

    .advertisement_single_info > div {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .advertisement_single_links {
        flex-direction: column;
    }

    .advertisement_single_links a {
        width: 100%;
    }
}
/* 広告詳細ページ：リンクボタンの色分け */
.advertisement_single_links a:nth-child(1) {
    background: #6fbfa8;
    border-color: #6fbfa8;
    color: #ffffff;
}

.advertisement_single_links a:nth-child(2) {
    background: #d9a25f;
    border-color: #d9a25f;
    color: #ffffff;
}

.advertisement_single_links a:nth-child(3) {
    background: #d78aa8;
    border-color: #d78aa8;
    color: #ffffff;
}

.advertisement_single_links a:hover {
    opacity: 0.82;
    color: #ffffff;
}
/* SALONISM公式LINE 見出し */
.salonism_line_content h2 {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
/* INTERVIEW詳細ページ 見出し */
.single_topics_container .section_title_page,
.archive_topics_container .section_title_page {
    display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 24px;
  width: 100% !important;
  height: auto !important;
  margin: 0 auto 55px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  overflow: visible !important;
  text-indent: 0 !important;
  white-space: normal !important;
  visibility: visible !important;
opacity: 1 !important;

  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 42px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.08em !important;
  color: #b18a4d !important;
}

.single_topics_container .section_title_page::before,
.single_topics_container .section_title_page::after {
  content: "" !important;
  display: block !important;
  width: 120px;
  height: 1px;
  margin: 0 !important;
  background: #b18a4d !important;
}
.interview_page_heading {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 0 50px !important;
  padding: 0 !important;
  text-align: center !important;
  color: #b18a4d !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 42px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.08em !important;
  text-indent: 0 !important;
  background: none !important;
}
/* INTERVIEW詳細ページ 本文位置調整 */
.single_topics_container {
  max-width: 1000px;
  margin: 0 auto !important;
}

.single_topics_container .topics_single {
  width: 100%;
  margin: 0 auto;
}

.single_topics_container .topics_texthox {
  width: 100%;
}
/* INTERVIEW動画を中央配置 */
.single_topics_container .wp-block-embed {
  width: 100%;
  margin: 30px auto;
}

.single_topics_container .wp-block-embed__wrapper {
  width: 700px !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* INTERVIEW タイトル周り */
.single_topics_container .topics_title_single {
  display: block !important;
  margin: 20px 0 35px !important;
  line-height: 1.6 !important;
}

.single_topics_container .topics_date {
  display: block !important;
  margin-bottom: 8px !important;
  font-size: 14px !important;
  color: #888 !important;
  letter-spacing: 0.05em !important;
}

.single_topics_container .topics_title_single > span:last-child {
  display: block !important;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", serif !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.04em !important;
}
/* INTERVIEW本文内の見出し */
.single_topics_container .topics_texthox > p {
  max-width: 700px;
  margin: 38px auto 18px !important;
  padding-bottom: 10px;
  border-bottom: 1px solid #d8c3a1;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 21px;
  font-weight: 600;
  letter-spacing: 0.06em;
}
/* INTERVIEW本文をカード型に */
.single_topics_container .topics_texthox {
  max-width: 760px;
  margin: 45px auto 0;
  padding: 38px 42px;
  background: #ffffff;
  border: 1px solid #ece7df;
  border-radius: 20px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06);
}

/* INTERVIEW内の各見出し */
.single_topics_container .topics_texthox > p {
  position: relative;
  margin: 34px 0 18px !important;
  padding: 0 0 12px 22px;
  border-bottom: 1px solid #e5d7bf;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 21px;
  font-weight: 600;
  letter-spacing: 0.06em;
}

.single_topics_container .topics_texthox > p::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  width: 7px;
  height: 24px;
  border-radius: 10px;
  background: #b18a4d;
}
/* INTERVIEW本文カード */
.interview_content_card {
  max-width: 760px;
  margin: 45px auto 0 !important;
  padding: 38px 42px;
  background: #ffffff;
  border: 1px solid #ece7df;
  border-radius: 20px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06);
}

/* INTERVIEW本文内の見出し */
.interview_content_card > p {
  position: relative;
  margin: 34px 0 18px !important;
  padding: 0 0 12px 22px;
  border-bottom: 1px solid #e5d7bf;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 21px;
  font-weight: 600;
  letter-spacing: 0.06em;
}
/* INTERVIEW本文内の見出しを上品に */
/* INTERVIEW セクション見出し */
.interview_content_card > p {
  margin: 44px 0 22px !important;
  padding: 0 0 14px;
  border-bottom: 1px solid #eee8df;
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

/* 小さな英文ラベル */
.interview_content_card > p::before {
  display: block;
  margin-bottom: 5px;
  color: #b18a4d;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.18em;
}

/* 動画見出しは非表示 */
.interview_content_card > p:first-of-type {
  display: none;
}

.interview_content_card > p:nth-of-type(2)::before {
  content: "INTRODUCTION";
}

.interview_content_card > p:nth-of-type(3)::before {
  content: "OWNER PROFILE";
}

.interview_content_card > p:nth-of-type(4)::before {
  content: "INTERVIEW";
}

.interview_content_card > p:nth-of-type(5)::before {
  content: "SALON INFORMATION";
}

.interview_content_card > p:nth-of-type(6)::before {
  content: "SALON PAGE";
}

/* 先頭の動画見出しは表示しない */
.interview_content_card > p:first-of-type {
  display: none;
}
/* =================================
   INTERVIEW ACF表示デザイン
================================= */

.interview_content_card {
  max-width: 760px;
  margin: 45px auto 0 !important;
  padding: 42px;
  background: #ffffff;
  border: 1px solid #ece7df;
  border-radius: 20px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06);
}

/* 動画 */
.interview_video {
  max-width: 700px;
  margin: 0 auto 45px;
}

.interview_video iframe {
  display: block;
  width: 100% !important;
  aspect-ratio: 16 / 9;
  height: auto !important;
}

/* 各セクション */
.interview_section {
  margin-top: 46px;
  padding-bottom: 28px;
  border-bottom: 1px solid #eee8df;
}

.interview_section:first-of-type {
  margin-top: 0;
}

/* 英文ラベル */
.interview_section_label {
  margin: 0 0 8px !important;
  padding: 0 !important;
  border: none !important;
  color: #b18a4d;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.18em;
}

/* 日本語見出し */
.interview_section h3 {
  margin: 0 0 20px;
  color: #333333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

/* 本文 */
.interview_section_body {
  color: #444444;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.03em;
}

.interview_section_body p {
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: none !important;
}

/* サロンページボタン */
.interview_salon_link {
  margin-top: 42px;
  text-align: center;
}

.interview_salon_link a {
  display: inline-block;
  min-width: 280px;
  padding: 16px 34px;
  border-radius: 999px;
  background: #b18a4d;
  color: #ffffff;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: opacity 0.3s;
}

.interview_salon_link a:hover {
  opacity: 0.8;
}
/* INTERVIEW記事タイトル */
.single_topics_container .topics_title_single > span:last-child {
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif !important;
  font-size: 30px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  letter-spacing: 0.06em !important;
  color: #55585c !important;
}
/* INTERVIEW一覧 見出し */
.archive_topics_container .interview_archive_title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto 45px !important;
    padding: 0 !important;
    overflow: visible !important;
    text-align: center !important;
    text-indent: 0 !important;

    color: #b18a4d !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 42px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.08em !important;
}
/* INTERVIEW一覧ページ専用見出し */
.interview_archive_heading {
    display: block !important;
    width: 100% !important;
    margin: 80px auto 45px !important;
    padding: 0 !important;

    color: #b18a4d !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 42px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.08em !important;
    text-align: center !important;

    visibility: visible !important;
    opacity: 1 !important;
}
/* INTERVIEW詳細ページ 戻るボタン */
.single_topics_container .return_button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 160px !important;
    height: 46px !important;
    margin: 28px auto 0 !important;

    border: 1px solid #55585c !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #55585c !important;

    font-size: 15px !important;
    letter-spacing: 0.08em !important;
    text-decoration: none !important;

    transition: opacity 0.3s ease !important;
}

.single_topics_container .return_button:hover {
    opacity: 0.65 !important;
}
/* NEWS・BEAUTY・HAIR CARE 詳細ページ 戻るボタン */
.return_button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 160px !important;
    height: 46px !important;
    margin: 24px auto 40px !important;

    border: 1px solid #55585c !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #55585c !important;

    font-size: 15px !important;
    letter-spacing: 0.08em !important;
    text-decoration: none !important;

    transition: opacity 0.3s ease !important;
}

.return_button:hover {
    opacity: 0.65 !important;
}
/* NEWS・BEAUTY・HAIR CARE 詳細ページ アイキャッチ */
.news_article_image {
    width: 100%;
    max-width: 760px;
    margin: 28px auto 42px;
}

.news_article_image img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 520px;
    object-fit: cover;
}
/* NEWS・BEAUTY・HAIR CARE 詳細ページ タイトル */
.news_article_header {
    width: 100%;
    max-width: 760px;
    margin: 60px auto 0;
}

.news_article_meta {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 10px;
}

.news_article_title {
    margin: 0;
    color: #55585c;
    font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
    font-size: 27px !important;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0.04em;
}
/* NEWS・BEAUTY・HAIR CARE 詳細ページ 本文カード */
.news_article_body {
    width: 100%;
    max-width: 760px;
    margin: 28px auto 12px;
    padding: 42px 44px;

    background: #ffffff;
    border: 1px solid #eee7df;
    border-radius: 20px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.05);

    color: #44484c;
    font-size: 17px;
    line-height: 2;
    letter-spacing: 0.03em;
}
/* NEWS・BEAUTY・HAIR CARE 詳細ページ 下部余白と戻るボタン調整 */
.news_article_detail + .return_button,
.news_single + .return_button {
    margin: 24px auto 40px !important;
}

.content_wrapper:has(.news_article_detail) {
    padding-bottom: 20px !important;
}
/* NEWS・BEAUTY・HAIR CARE 詳細ページ 戻るボタン下余白 */
.news_single + .return_button,
.news_article_detail + .return_button {
    margin-top: 20px !important;
    margin-bottom: 30px !important;
}
/* 記事本文下の余白を縮める */
.news_single.news_article_detail {
    margin-bottom: 24px !important;
}
/* スマホメニューを画面内に収める */
@media screen and (max-width: 768px) {

  .header_nav_mobile .nav-list {
    top: 110px;
    transform: translateX(-50%);
    margin-top: 0;
  }

  .header_nav_mobile .nav-item {
    margin-bottom: 20px;
  }

}
.header_nav_mobile .menu_beauty > a::after {
  content: "";
  display: block;
  width: 70px;
  height: 3px;
  margin: 10px auto 0;
  background-color: #d9a0c4;
}
.header_nav_mobile .menu_hair_item > a::after {
  content: "";
  display: block;
  width: 82px;
  height: 3px;
  margin: 10px auto 0;
  background-color: #8fB7d8;
}
.header_nav_mobile .menu_recruit > a::after {
  content: "";
  display: block;
  width: 72px;
  height: 3px;
  margin: 10px auto 0;
  background-color: #9fc88c;
}
.header_nav_mobile .menu_feature > a::after {
  content: "";
  display: block;
  width: 72px;
  height: 3px;
  margin: 10px auto 0;
  background-color: #d7b36a;
}
@media screen and (max-width: 768px) {

  .header_nav_mobile .header_reserve_button {
    width: 170px;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    box-sizing: border-box;
    background: #f7f7f7 !important;
    border: 1px solid #dddddd;
    border-radius: 3px;
    box-shadow: none;
    color: #555555 !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

  .header_nav_mobile .header_reserve_button img {
    display: none !important;
  }

  .header_nav_mobile .header_reserve_button span {
    color: #4f6f65 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.12em;
  }
}
/* トップ画像内「サロンを探す」ボタンのリンク */


.first_view_search_link {
  position: absolute;
  left: 7.2%;
  top: 61%;
  width: 15%;
  height: 11%;
  z-index: 10;
  display: block;
  cursor: pointer;
}

/* スマホ */
@media screen and (max-width: 767px) {
  .first_view_search_link {
    left: 7%;
    top: 61%;
    width: 22%;
    height: 11%;
  }
}
.salon_information_compact {
  height: 180px !important;
  min-height: 180px !important;
  padding: 12px 24px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* ==================================================
   掲載サロン一覧：写真中心カード（確定版）
   bodyにpost-type-archive-reserveクラスがない環境でも効く指定
================================================== */
#results.layout_grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 30px 20px !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 38px 0 0 !important;
  padding: 0 !important;
}

#results > .salon_list_item {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#results .salon_list_card {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid #e9e7e2 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #333 !important;
  text-decoration: none !important;
  transition: transform .25s ease, box-shadow .25s ease !important;
}

#results .salon_list_card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.08) !important;
}

#results .salon_list_media {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 190px !important;
  min-height: 190px !important;
  overflow: hidden !important;
  background: #f5f3ef !important;
}

#results .salon_list_image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform .4s ease !important;
}

#results .salon_list_card:hover .salon_list_image {
  transform: scale(1.025) !important;
}

#results .salon_list_image--logo {
  object-fit: contain !important;
  padding: 30px !important;
  box-sizing: border-box !important;
  background: #faf9f7 !important;
}

#results .salon_list_category {
  position: absolute !important;
  left: 12px !important;
  top: 12px !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  min-height: 24px !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.95) !important;
  color: var(--salon-accent) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: .04em !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.06) !important;
}

#results .salon_list_body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-height: 132px !important;
  padding: 15px 15px 14px !important;
  border-top: 3px solid var(--salon-accent) !important;
  box-sizing: border-box !important;
}

#results .salon_list_title {
  display: -webkit-box !important;
  margin: 0 0 6px !important;
  color: #2e3032 !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: .025em !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2;
  overflow: hidden !important;
}

#results .salon_list_meta {
  display: -webkit-box !important;
  margin: 0 0 12px !important;
  color: #777 !important;
  font-size: 11px !important;
  line-height: 1.55 !important;
  letter-spacing: .015em !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2;
  overflow: hidden !important;
}

#results .salon_list_more {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-top: auto !important;
  padding-top: 10px !important;
  border-top: 1px solid #ece9e4 !important;
  color: #555 !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
  letter-spacing: .06em !important;
}

#results .salon_list_item--highlight .salon_list_card {
  outline: 2px solid var(--salon-accent) !important;
  outline-offset: 2px !important;
}

@media screen and (max-width: 980px) {
  #results.layout_grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media screen and (max-width: 600px) {
  #results.layout_grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 12px !important;
    margin-top: 30px !important;
  }

  #results .salon_list_media {
    height: 165px !important;
    min-height: 165px !important;
  }

  #results .salon_list_image--logo {
    padding: 18px !important;
  }

  #results .salon_list_category {
    left: 8px !important;
    top: 8px !important;
    min-height: 21px !important;
    padding: 3px 8px !important;
    font-size: 9px !important;
  }

  #results .salon_list_body {
    min-height: 122px !important;
    padding: 11px 10px 10px !important;
  }

  #results .salon_list_title {
    font-size: 14px !important;
  }

  #results .salon_list_meta,
  #results .salon_list_more {
    font-size: 9px !important;
  }
}
#results .salon_list_card {
  border-radius: 18px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.10) !important;
}


/* ==================================================
   掲載サロン：個別詳細ページ
================================================== */
.salon_detail_page {
  width: min(1120px, calc(100% - 40px));
  margin: 52px auto 80px;
  color: #333;
}

.salon_detail_hero {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .8fr);
  min-height: 500px;
  background: #f8f7f4;
}

.salon_detail_hero_media {
  min-width: 0;
  min-height: 500px;
  overflow: hidden;
  background: #f1efeb;
}

.salon_detail_hero_image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 500px;
  object-fit: cover;
}

.salon_detail_hero_image--logo {
  padding: 70px;
  box-sizing: border-box;
  object-fit: contain;
  background: #fff;
}

.salon_detail_hero_content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 56px 48px;
  border-left: 5px solid var(--salon-accent);
}

.salon_detail_tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 28px;
}

.salon_detail_tags span {
  display: inline-flex;
  padding: 6px 13px;
  border: 1px solid var(--salon-accent);
  border-radius: 999px;
  color: var(--salon-accent);
  background: #fff;
  font-size: 12px;
  line-height: 1.2;
}

.salon_detail_kicker,
.salon_detail_section_en {
  margin: 0 0 10px;
  color: var(--salon-accent);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 12px;
  letter-spacing: .18em;
}

.salon_detail_title {
  margin: 0;
  color: #2d2f31;
  font-size: clamp(32px, 4vw, 56px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: .025em;
}

.salon_detail_caption {
  margin: 28px 0 0;
  color: #555;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.9;
}

.salon_detail_content_wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 350px;
  gap: 60px;
  padding: 76px 0 0;
}

.salon_detail_main h2,
.salon_detail_info h2 {
  margin: 0 0 28px;
  color: #2e3032;
  font-size: 26px;
  font-weight: 500;
  letter-spacing: .06em;
}

.salon_detail_entry {
  color: #4a4c4e;
  font-size: 15px;
  line-height: 2.05;
}

.salon_detail_entry > :first-child { margin-top: 0; }
.salon_detail_entry img { max-width: 100%; height: auto; }

.salon_detail_gallery {
  margin-top: 72px;
}

.salon_detail_info {
  align-self: start;
  padding: 34px 30px;
  border-top: 4px solid var(--salon-accent);
  background: #f8f7f4;
}

.salon_detail_info dl,
.salon_detail_info dl div {
  margin: 0;
}

.salon_detail_info dl div {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 18px;
  padding: 17px 0;
  border-bottom: 1px solid #dedbd5;
}

.salon_detail_info dt {
  color: #777;
  font-size: 12px;
  font-weight: 500;
}

.salon_detail_info dd {
  margin: 0;
  color: #333;
  font-size: 13px;
  line-height: 1.7;
}

.salon_detail_info a {
  color: inherit;
  text-decoration: none;
}

.salon_detail_official {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 28px;
  padding: 15px 18px;
  border: 1px solid var(--salon-accent);
  color: var(--salon-accent) !important;
  background: #fff;
  font-size: 12px;
  letter-spacing: .07em;
}

.salon_detail_back_wrap {
  margin-top: 66px;
  text-align: center;
}

.salon_detail_back {
  display: inline-block;
  padding: 13px 24px;
  border: 1px solid #c9c7c2;
  color: #555;
  background: #fff;
  text-decoration: none;
  font-size: 12px;
  letter-spacing: .08em;
}

@media screen and (max-width: 900px) {
  .salon_detail_hero {
    grid-template-columns: 1fr;
  }

  .salon_detail_hero_media,
  .salon_detail_hero_image {
    min-height: 390px;
  }

  .salon_detail_hero_content {
    padding: 42px 34px;
    border-top: 5px solid var(--salon-accent);
    border-left: 0;
  }

  .salon_detail_content_wrap {
    grid-template-columns: 1fr;
    gap: 46px;
  }
}

@media screen and (max-width: 600px) {
  .salon_detail_page {
    width: calc(100% - 24px);
    margin-top: 24px;
  }

  .salon_detail_hero_media,
  .salon_detail_hero_image {
    min-height: 270px;
  }

  .salon_detail_hero_image--logo {
    padding: 38px;
  }

  .salon_detail_hero_content {
    padding: 30px 22px;
  }

  .salon_detail_title {
    font-size: 30px;
  }

  .salon_detail_caption {
    margin-top: 20px;
    font-size: 15px;
  }

  .salon_detail_content_wrap {
    padding-top: 48px;
  }

  .salon_detail_info {
    padding: 26px 20px;
  }

  .salon_detail_info dl div {
    grid-template-columns: 76px 1fr;
    gap: 12px;
  }
}

/* =====================================
   サロン詳細：ギャラリーサイズ調整
===================================== */
.single-reserve .salon_detail_gallery {
  max-width: 660px;
  margin-top: 64px;
}

.single-reserve .salon_detail_gallery .n2-section-smartslider,
.single-reserve .salon_detail_gallery .n2-ss-align,
.single-reserve .salon_detail_gallery .n2-ss-slider,
.single-reserve .salon_detail_gallery .n2-ss-slider-1,
.single-reserve .salon_detail_gallery .n2-ss-slider-2,
.single-reserve .salon_detail_gallery .n2-ss-slider-3 {
  width: 100% !important;
  max-width: 660px !important;
}

.single-reserve .salon_detail_gallery .n2-ss-slider,
.single-reserve .salon_detail_gallery .n2-ss-slider-1,
.single-reserve .salon_detail_gallery .n2-ss-slider-2,
.single-reserve .salon_detail_gallery .n2-ss-slider-3 {
  height: 390px !important;
  min-height: 390px !important;
  max-height: 390px !important;
  overflow: hidden !important;
}

.single-reserve .salon_detail_gallery .n2-ss-slide,
.single-reserve .salon_detail_gallery .n2-ss-slide-background,
.single-reserve .salon_detail_gallery .n2-ss-slide-background-image,
.single-reserve .salon_detail_gallery .n2-ss-slide-background img {
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
}

.single-reserve .salon_detail_gallery .n2-ss-slide-background-image,
.single-reserve .salon_detail_gallery .n2-ss-slide-background img {
  width: 100% !important;
  object-fit: cover !important;
}

@media screen and (max-width: 767px) {
  .single-reserve .salon_detail_gallery {
    max-width: 100%;
    margin-top: 46px;
  }

  .single-reserve .salon_detail_gallery .n2-ss-slider,
  .single-reserve .salon_detail_gallery .n2-ss-slider-1,
  .single-reserve .salon_detail_gallery .n2-ss-slider-2,
  .single-reserve .salon_detail_gallery .n2-ss-slider-3 {
    height: 240px !important;
    min-height: 240px !important;
    max-height: 240px !important;
  }
}

/* =====================================
   掲載サロン一覧：カテゴリー・エリア検索
===================================== */
.filter_form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 180px !important;
  gap: 18px !important;
  align-items: end !important;
  max-width: 1000px !important;
  margin: 36px auto 44px !important;
  padding: 24px 28px !important;
  background: #fbfcfb !important;
  border: 1px solid #e8eeeb !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 30px rgba(44, 73, 62, 0.06) !important;
}

.filter_form .select_row {
  display: block !important;
  min-width: 0 !important;
}

.filter_form .select_row p {
  margin: 0 0 9px !important;
  color: #6b756f !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
}

.filter_form select {
  width: 100% !important;
  height: 50px !important;
  padding: 0 46px 0 17px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-color: #ffffff !important;
  background-image:
    linear-gradient(45deg, transparent 50%, #73b99f 50%),
    linear-gradient(135deg, #73b99f 50%, transparent 50%) !important;
  background-position:
    calc(100% - 20px) 22px,
    calc(100% - 14px) 22px !important;
  background-size: 6px 6px, 6px 6px !important;
  background-repeat: no-repeat !important;
  border: 1px solid #d9e4df !important;
  border-radius: 10px !important;
  color: #333b37 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  box-shadow: 0 3px 10px rgba(44, 73, 62, 0.04) !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
}

.filter_form select:hover {
  border-color: #9bcbb9 !important;
}

.filter_form select:focus {
  outline: none !important;
  border-color: #62b696 !important;
  box-shadow: 0 0 0 4px rgba(98, 182, 150, 0.13) !important;
}

.filter_form .archive_reserve--button {
  width: 100% !important;
  height: 50px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  border: 1px solid #0aa982 !important;
  border-radius: 10px !important;
  background: #0aae87 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  box-shadow: 0 8px 18px rgba(10, 174, 135, 0.18) !important;
  cursor: pointer !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}

.filter_form .archive_reserve--button:hover {
  background: #079a77 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 22px rgba(10, 174, 135, 0.24) !important;
}

@media screen and (max-width: 767px) {
  .filter_form {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin: 24px auto 32px !important;
    padding: 20px !important;
    border-radius: 14px !important;
  }

  .filter_form select,
  .filter_form .archive_reserve--button {
    height: 48px !important;
  }
}

/* Detail page: keep hero content below the fixed header */
body.single-reserve .salon_detail_page {
  margin-top: 140px !important;
}

@media screen and (max-width: 767px) {
  body.single-reserve .salon_detail_page {
    margin-top: 100px !important;
  }
}
/* サロン詳細ページ：カテゴリ・エリアタグ */
.salon-detail-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 6px 0 18px;
}

.salon-detail-tag {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 12px;
  border: 1px solid var(--salon-accent, #79cdb6);
  border-radius: 999px;
  background: #fff;
  color: var(--salon-accent, #46aa8f);
  font-size: 12px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0.04em;
}
/* トップ画像内「サロンを探す」リンク */
.first_view_single {
  position: relative !important;
}

.first_view_search_link {
  position: absolute !important;
  left: 7.2% !important;
  top: 62.5% !important;
  width: 15% !important;
  height: 11% !important;
  z-index: 20 !important;
  display: block !important;
  cursor: pointer !important;
}


@media screen and (max-width: 767px) {
  .first_view_search_link {
    left: 7% !important;
    top: 61% !important;
    width: 23% !important;
    height: 12% !important;
  }
}
/* NEWS詳細：本文＋おすすめ記事 */
.news_article_layout {
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 46px;
  align-items: start;
}

.news_article_layout .news_article_body {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.news_popular_sidebar {
  position: sticky;
  top: 140px;
  padding: 25px 22px;
  background: #faf9f7;
  border-top: 3px solid #e98caf;
}

.news_popular_en {
  margin: 0 0 5px;
  color: #d96f98;
  font-size: 11px;
  letter-spacing: 0.16em;
}

.news_popular_title {
  margin: 0 0 20px;
  font-size: 20px;
  line-height: 1.4;
}

.news_popular_list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.news_popular_item {
  border-top: 1px solid #ddd;
}

.news_popular_item:last-child {
  border-bottom: 1px solid #ddd;
}

.news_popular_item a {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  padding: 16px 0;
  color: #333;
  text-decoration: none;
}

.news_popular_rank {
  color: #d96f98;
  font-family: serif;
  font-size: 21px;
  line-height: 1;
}

.news_popular_item_content {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.news_popular_thumb {
  display: block;
  width: 64px;
  height: 64px;
  overflow: hidden;
}

.news_popular_thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.news_popular_item_title {
  font-size: 13px;
  line-height: 1.55;
  font-weight: 600;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.news_popular_item a:hover .news_popular_item_title {
  text-decoration: underline;
}

@media screen and (max-width: 900px) {
  .news_article_layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .news_popular_sidebar {
    position: static;
  }
}
/* NEWS一覧のカテゴリー色をピンクに統一 */
.archive-news .news_category,
.post-type-archive-news .news_category,
.news_layout_grid .news_category {
  background: #e58cab !important;
  color: #ffffff !important;
}

/* =========================================================
   TOP 掲載サロン見出し位置（PC）
   PHP側の .top_salon_heading とセットで固定
========================================================= */
@media screen and (min-width: 768px) {
  #top_salon {
    padding-top: 0 !important;
  }

  #top_salon > .content_wrapper {
    padding-top: 8px !important;
  }

  #top_salon .top_salon_heading {
    width: min(500px, calc(100% - 40px)) !important;
    margin: 0 auto 35px !important;
    padding: 0 !important;
    text-align: center !important;
  }

  #top_salon .top_salon_title {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 7px !important;
    border: 0 !important;
    border-bottom: 1px solid #777 !important;
    background: none !important;
    color: #555 !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: .04em !important;
  }

  #top_salon .top_salon_title::before,
  #top_salon .top_salon_title::after {
    content: none !important;
    display: none !important;
  }

  #top_salon .top_salon_list {
    margin-top: 0 !important;
  }
}

/* =========================================================
   スマホ：トップ掲載サロン表示崩れ修正
   4列の細いカードをやめて、2列カードに整える
========================================================= */
@media screen and (max-width: 767px) {
  #top_salon {
    padding-top: 26px !important;
    padding-bottom: 18px !important;
  }

  #top_salon > .content_wrapper {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 0 8px !important;
    overflow: visible !important;
  }

  #top_salon .top_salon_heading {
    width: calc(100% - 28px) !important;
    margin: 0 auto 18px !important;
    padding: 0 !important;
    text-align: center !important;
  }

  #top_salon .top_salon_title {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 8px !important;
    border: 0 !important;
    border-bottom: 1px solid #888 !important;
    color: #555 !important;
    background: none !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: .04em !important;
  }

  #top_salon .top_salon_title::before,
  #top_salon .top_salon_title::after {
    content: none !important;
    display: none !important;
  }

  #top_salon .top_salon_list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 14px !important;
    list-style: none !important;
    overflow: visible !important;
  }

  #top_salon .top_salon_item {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    overflow: visible !important;
  }

  #top_salon .top_salon_item > a {
    display: block !important;
    height: 100% !important;
    padding: 12px 10px 12px !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.10) !important;
    overflow: hidden !important;
    text-decoration: none !important;
  }

  #top_salon .salon_information_category {
    margin: 0 0 10px !important;
    text-align: center !important;
  }

  #top_salon .topic_category.top_topic_category {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    max-width: 100% !important;
    padding: 4px 10px !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  #top_salon .topic_category.top_topic_category svg {
    width: 11px !important;
    height: 11px !important;
    flex: 0 0 auto !important;
  }

  #top_salon .salon_title {
    margin: 0 0 10px !important;
    padding: 0 0 8px !important;
    border-bottom: 1px solid #222 !important;
    color: #111 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    text-align: center !important;
    writing-mode: horizontal-tb !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    min-height: 2.8em !important;
  }

  #top_salon .top_salon_excerpt {
    margin: 0 !important;
    text-align: center !important;
  }

  #top_salon .excerpt_text_area {
    margin-bottom: 6px !important;
  }

  #top_salon .excerpt_text,
  #top_salon .hover_active {
    font-size: 12px !important;
    line-height: 1.55 !important;
    writing-mode: horizontal-tb !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    min-height: 3.1em !important;
    margin: 0 !important;
  }

  #top_salon .hover_active {
    display: none !important;
  }

  #top_salon .excerpt_access {
    margin: 0 0 8px !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
    text-align: center !important;
    writing-mode: horizontal-tb !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  #top_salon .excerpt_img,
  #top_salon .top_salon_item img {
    display: block !important;
    width: 100% !important;
    height: 110px !important;
    object-fit: cover !important;
    border-radius: 10px !important;
    margin: 0 !important;
  }

  #top_salon .more_button {
    margin: 18px auto 0 !important;
  }
}

/* =========================================================
   スマホ：トップ掲載サロン 文字切れ・非表示の再調整
========================================================= */
@media screen and (max-width: 767px) {
  #top_salon .top_salon_item,
  #top_salon .top_salon_item > a,
  #top_salon .salon_information_category,
  #top_salon .salon_title,
  #top_salon .top_salon_excerpt,
  #top_salon .excerpt_text_area,
  #top_salon .excerpt_text,
  #top_salon .excerpt_access {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
  }

  #top_salon .top_salon_item > a {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    height: auto !important;
    min-height: 0 !important;
  }

  #top_salon .salon_information_category {
    width: 100% !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    text-align: center !important;
    overflow: visible !important;
  }

  #top_salon .topic_category.top_topic_category {
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
    text-align: center !important;
    line-height: 1.15 !important;
  }

  #top_salon .salon_title {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: initial !important;
    line-clamp: unset !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  #top_salon .top_salon_excerpt {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  #top_salon .excerpt_text_area {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 0 6px !important;
    overflow: visible !important;
  }

  #top_salon .excerpt_text {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: initial !important;
    line-clamp: unset !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
  }

  #top_salon .excerpt_access {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    white-space: normal !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
  }

  #top_salon .excerpt_img,
  #top_salon .top_salon_item img {
    margin-top: 8px !important;
  }
}

/* =========================================================
   スマホ：掲載サロンのホバーで文字が消える問題を無効化
========================================================= */
@media screen and (max-width: 767px) {
  #top_salon .top_salon_item:hover,
  #top_salon .top_salon_item:hover > a,
  #top_salon .top_salon_item > a:hover {
    opacity: 1 !important;
    visibility: visible !important;
  }

  #top_salon .top_salon_item > a:hover .salon_information_category,
  #top_salon .top_salon_item > a:hover .topic_category,
  #top_salon .top_salon_item > a:hover .salon_title,
  #top_salon .top_salon_item > a:hover .top_salon_excerpt,
  #top_salon .top_salon_item > a:hover .excerpt_text_area,
  #top_salon .top_salon_item > a:hover .excerpt_text,
  #top_salon .top_salon_item > a:hover .excerpt_access,
  #top_salon .top_salon_item:hover .salon_information_category,
  #top_salon .top_salon_item:hover .topic_category,
  #top_salon .top_salon_item:hover .salon_title,
  #top_salon .top_salon_item:hover .top_salon_excerpt,
  #top_salon .top_salon_item:hover .excerpt_text_area,
  #top_salon .top_salon_item:hover .excerpt_text,
  #top_salon .top_salon_item:hover .excerpt_access {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    color: inherit !important;
    transform: none !important;
  }

  #top_salon .top_salon_item > a:hover .topic_category,
  #top_salon .top_salon_item:hover .topic_category {
    display: inline-flex !important;
    color: #fff !important;
  }

  #top_salon .top_salon_item > a:hover .hover_active,
  #top_salon .top_salon_item:hover .hover_active,
  #top_salon .hover_active {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }

  #top_salon .top_salon_item > a:hover .excerpt_img,
  #top_salon .top_salon_item:hover .excerpt_img {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    filter: none !important;
  }
}

/* =========================================================
   NEWS / BEAUTY / HAIR CARE 一覧共通
   PCの横型レイアウトをスマホにも適用
========================================================= */
.salonism-news-archive {
  padding: 105px 20px 80px;
  background: #fff;
}

.salonism-news-wrap {
  width: min(1000px, 100%);
  margin: 0 auto;
}

.salonism-news-heading {
  width: min(500px, 100%);
  margin: 0 auto 40px;
  padding: 0 0 8px;
  border-bottom: 1px solid #e58cab;
  color: #e58cab;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .04em;
  text-align: center;
}

.salonism-news-archive--beauty .salonism-news-heading {
  color: #d887c6;
  border-bottom-color: #d887c6;
}

.salonism-news-archive--hair .salonism-news-heading {
  color: #82b5d9;
  border-bottom-color: #82b5d9;
}

.salonism-news-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.salonism-news-item {
  margin: 0;
  padding: 0;
}

.salonism-news-link {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 32px;
  align-items: center;
  padding: 32px 0;
  border-bottom: 1px solid #ef9ab7;
  color: inherit;
  text-decoration: none;
}

.salonism-news-item:first-child .salonism-news-link {
  border-top: 1px solid #ef9ab7;
}

.salonism-news-archive--beauty .salonism-news-link {
  border-color: #e6b0dc;
}

.salonism-news-archive--hair .salonism-news-link {
  border-color: #b8d5e8;
}

.salonism-news-thumb {
  width: 250px;
  height: 112px;
  overflow: hidden;
}

.salonism-news-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .25s ease;
}

.salonism-news-link:hover .salonism-news-thumb img {
  transform: scale(1.025);
}

.salonism-news-body {
  min-width: 0;
}

.salonism-news-category {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  margin-bottom: 14px;
  padding: 2px 10px;
  color: #fff;
  font-size: 10px;
  line-height: 1.3;
}

.salonism-news-meta-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
}

.salonism-news-title {
  margin: 0;
  color: #111;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.55;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.salonism-news-date {
  color: #777;
  font-size: 13px;
  white-space: nowrap;
}

.salonism-news-empty {
  padding: 40px 0;
  text-align: center;
}

.salonism-news-pagination ul {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 35px 0 0;
  padding: 0;
  list-style: none;
}

.salonism-news-pagination a,
.salonism-news-pagination span {
  display: grid;
  place-items: center;
  min-width: 38px;
  height: 38px;
  border: 1px solid #ddd;
  color: #444;
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .salonism-news-archive {
    padding: 82px 14px 55px !important;
  }

  .salonism-news-heading {
    width: 100% !important;
    margin: 0 auto 26px !important;
    padding-bottom: 7px !important;
    font-size: 20px !important;
  }

  .salonism-news-link {
    grid-template-columns: 112px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;
    padding: 16px 0 !important;
  }

  .salonism-news-thumb {
    width: 112px !important;
    height: 78px !important;
    border-radius: 0 !important;
  }

  .salonism-news-category {
    margin-bottom: 7px !important;
    padding: 2px 7px !important;
    font-size: 9px !important;
  }

  .salonism-news-meta-row {
    display: block !important;
  }

  .salonism-news-title {
    display: -webkit-box !important;
    margin: 0 0 7px !important;
    overflow: hidden !important;
    white-space: normal !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

  .salonism-news-date {
    display: block !important;
    font-size: 10px !important;
    text-align: right !important;
  }

  .salonism-news-link:hover .salonism-news-thumb img {
    transform: none !important;
  }
}
/* =========================================================
   スマホ：NEWS / BEAUTY / HAIR CAREをPC風の横型表示
========================================================= */
@media screen and (max-width: 767px) {

  .top_news .content_wrapper,
  .top_beauty .content_wrapper,
  .top_haircare .content_wrapper {
    width: 100% !important;
    padding: 0 14px !important;
  }

  .top_news .top_news_list,
  .top_beauty .top_news_list,
  .top_haircare .top_news_list {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .top_news .top_news_list > li,
  .top_beauty .top_news_list > li,
  .top_haircare .top_news_list > li {
    width: 100% !important;
    margin: 0 !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid #e8a0b8 !important;
    list-style: none !important;
  }

  .top_news .top_news_list > li > a,
  .top_beauty .top_news_list > li > a,
  .top_haircare .top_news_list > li > a {
    display: block !important;
    width: 100% !important;
    text-decoration: none !important;
  }

  .top_news .top_news_list figure,
  .top_beauty .top_news_list figure,
  .top_haircare .top_news_list figure {
    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .top_news .top_news_list figure > img,
  .top_beauty .top_news_list figure > img,
  .top_haircare .top_news_list figure > img {
    display: block !important;
    width: 112px !important;
    height: 82px !important;
    margin: 0 !important;
    object-fit: cover !important;
  }

  .top_news .news_row,
  .top_beauty .news_row,
  .top_haircare .news_row {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    grid-template-areas:
      "category date"
      "title title" !important;
    gap: 7px 8px !important;
    align-items: center !important;
    min-width: 0 !important;
    position: static !important;
    transform: none !important;
  }

  .top_news .front_news_style,
  .top_beauty .front_news_style,
  .top_haircare .front_news_style {
    grid-area: category !important;
    position: static !important;
    width: fit-content !important;
    margin: 0 !important;
    padding: 3px 7px !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
    color: #fff !important;
    transform: none !important;
  }

  .top_news .news_date,
  .top_beauty .news_date,
  .top_haircare .news_date {
    grid-area: date !important;
    position: static !important;
    margin: 0 !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
    color: #888 !important;
    white-space: nowrap !important;
    transform: none !important;
  }

  .top_news .top_news_title,
  .top_beauty .top_news_title,
  .top_haircare .top_news_title {
    grid-area: title !important;
    position: static !important;
    display: -webkit-box !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    color: #111 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
    text-align: left !important;
    white-space: normal !important;
    word-break: break-word !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    transform: none !important;
  }

  .top_news .top_news_list li:hover img,
  .top_beauty .top_news_list li:hover img,
  .top_haircare .top_news_list li:hover img {
    opacity: 1 !important;
  }
}
/* =========================================================
   スマホ用フッター
   ロゴ → SNSアイコン → コピーライト
========================================================= */
@media screen and (max-width: 767px) {

  footer,
  .site-footer {
    margin-top: 40px !important;
    padding: 0 12px 18px !important;
    background: #fff !important;
    overflow: hidden !important;
  }

  /* フッター全体のカード */
  .footer_wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 34px 18px 20px !important;
    gap: 0 !important;

    background: #f7f9f8 !important;
    border-radius: 24px !important;
    box-shadow: 0 8px 26px rgba(0, 0, 0, 0.06) !important;

    overflow: hidden !important;
  }

  /* 左・中央ブロックを縦に並べる */
  .footer_left,
  .footer_center {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    position: static !important;
    transform: none !important;
  }

  /* ロゴ */
  .footer_logo,
  .footer_left .footer_logo {
    display: block !important;
    width: 175px !important;
    max-width: 70% !important;
    height: auto !important;
    margin: 0 auto 25px !important;
    position: static !important;
    transform: none !important;
  }

  .footer_logo img,
  .footer_left img {
    display: block !important;
    width: 100% !important;
    max-width: 175px !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  /* ロゴ下の説明文はスマホでは非表示 */
  .footer_description,
  .footer_text,
  .footer_left > p,
  .footer_left .description {
    display: none !important;
  }

  /* FOLLOW US 見出し */
  .footer_center h2,
  .footer_center h3,
  .footer_follow_title,
  .footer_sns_title {
    display: block !important;
    margin: 0 0 14px !important;
    padding: 0 !important;

    color: #72c8b5 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.18em !important;
    text-align: center !important;
  }

  /* SNSを横並び */
  .footer_sns,
  .footer_social,
  .sns_links,
  .footer_center ul {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;

    width: 100% !important;
    margin: 0 auto 25px !important;
    padding: 0 !important;
    list-style: none !important;

    position: static !important;
    transform: none !important;
  }

  .footer_sns li,
  .footer_social li,
  .sns_links li,
  .footer_center ul li {
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* SNSボタンを丸型に */
  .footer_sns a,
  .footer_social a,
  .sns_links a,
  .footer_center ul a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    padding: 0 !important;

    background: #fff !important;
    border: 1px solid #a9dfd2 !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04) !important;

    color: #222 !important;
    font-size: 0 !important;
    text-decoration: none !important;

    position: static !important;
    transform: none !important;
    overflow: hidden !important;
  }

  .footer_sns a:hover,
  .footer_social a:hover,
  .sns_links a:hover,
  .footer_center ul a:hover {
    opacity: 1 !important;
    background: #effaf7 !important;
  }

  /* SNSアイコン */
  .footer_sns img,
  .footer_social img,
  .sns_links img,
  .footer_center ul img,
  .footer_sns svg,
  .footer_social svg,
  .sns_links svg,
  .footer_center ul svg {
    display: block !important;
    width: 23px !important;
    height: 23px !important;
    max-width: 23px !important;
    object-fit: contain !important;
    margin: 0 !important;
  }

  /* YouTube・Instagramなどの文字を消す */
  .footer_sns a span,
  .footer_social a span,
  .sns_links a span,
  .footer_center ul a span {
    display: none !important;
  }

  /* INFORMATION欄はスマホでは非表示 */
  .footer_right,
  .footer_information,
  .footer_info {
    display: none !important;
  }

  /* コピーライト */
  .copyright,
  .footer_copyright,
  footer .copy {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 18px 0 0 !important;

    border-top: 1px solid #d9e8e4 !important;
    color: #777 !important;
    font-size: 10px !important;
    line-height: 1.5 !important;
    letter-spacing: 0.04em !important;
    text-align: center !important;

    position: static !important;
    transform: none !important;
  }
}
/* =========================================================
   SALONISM スマホフッター完成版
   ロゴ → 説明文 → SNS → コピーライト
========================================================= */
@media screen and (max-width: 767px) {

  footer {
    width: 100% !important;
    margin: 34px 0 0 !important;
    padding: 0 12px 16px !important;
    background: #ffffff !important;
    overflow: visible !important;
  }

  footer .footer_wrapper {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 30px 18px 18px !important;
    background: #f7faf9 !important;
    border: 1px solid #e4efec !important;
    border-radius: 24px !important;
    box-shadow: 0 8px 26px rgba(47, 88, 78, 0.08) !important;
    overflow: hidden !important;
  }

  footer .footer_block {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    position: static !important;
    transform: none !important;
  }

  /* ロゴ・説明エリア */
  footer .footer_brand {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    position: static !important;
    transform: none !important;
  }

  footer .footer_logo {
    display: block !important;
    width: 170px !important;
    max-width: 62vw !important;
    height: auto !important;
    margin: 0 auto 14px !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  footer .footer_logo img {
    display: block !important;
    width: 100% !important;
    max-width: 170px !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
    object-fit: contain !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  footer .footer_brand_text {
    display: block !important;
    width: 100% !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    color: #59615f !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.8 !important;
    letter-spacing: 0.05em !important;
    text-align: center !important;
    position: static !important;
    transform: none !important;
  }

  /* SNSエリア */
  footer .footer_sns_wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 20px 0 24px !important;
    border-top: 1px solid #dbeae6 !important;
    border-bottom: 1px solid #dbeae6 !important;
    position: static !important;
    transform: none !important;
  }

  footer .footer_sns_title {
    display: block !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    color: #62bca8 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.22em !important;
    text-align: center !important;
  }

  footer .footer_sns_block {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    position: static !important;
    transform: none !important;
    overflow: visible !important;
  }

  footer .footer_sns_icon {
    display: block !important;
    flex: 0 0 auto !important;
    width: 50px !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    position: static !important;
    transform: none !important;
  }

  footer .footer_sns_icon a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    border: 1px solid #9dd8ca !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 12px rgba(47, 88, 78, 0.06) !important;
    position: static !important;
    transform: none !important;
    overflow: hidden !important;
    opacity: 1 !important;
  }

  footer .footer_sns_icon a:hover {
    background: #edf9f6 !important;
    opacity: 1 !important;
  }

  /* X */
  footer .footer_sns_x img {
    display: block !important;
    width: 21px !important;
    height: 21px !important;
    max-width: 21px !important;
    object-fit: contain !important;
    margin: 0 !important;
  }

  /* YouTubeはスマホ用アイコンだけ表示 */
  footer .footer_youtube_logo_pc {
    display: none !important;
  }

  footer .footer_youtube_logo_sp {
    display: block !important;
    width: 25px !important;
    height: 25px !important;
    max-width: 25px !important;
    object-fit: contain !important;
    margin: 0 !important;
  }

  /* Instagram */
  footer .footer_sns_instagram img {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    max-width: 24px !important;
    object-fit: contain !important;
    margin: 0 !important;
  }

  footer .footer_sns_instagram span {
    display: none !important;
  }

  /* INFORMATIONはスマホでは非表示 */
  footer .footer_nav {
    display: none !important;
  }

  /* コピーライト */
  footer .copyright {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 17px 4px 0 !important;
    border: 0 !important;
    color: #7a8582 !important;
    font-size: 9px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    letter-spacing: 0.03em !important;
    text-align: center !important;
    white-space: normal !important;
    position: static !important;
    transform: none !important;
  }

  footer .copyright::before,
  footer .copyright::after {
    display: none !important;
    content: none !important;
  }
}
/* =========================================================
   スマホフッター：INFORMATION追加
========================================================= */
@media screen and (max-width: 767px) {

  footer .footer_nav {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 22px 0 4px !important;
    position: static !important;
    transform: none !important;
  }

  footer .footer_nav_block {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  footer .footer_nav_title {
    display: block !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    color: #62bca8 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.18em !important;
    text-align: center !important;
  }

  footer .footer_nav_list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  footer .footer_nav_list li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    list-style: none !important;
  }


  footer .footer_nav_list a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 9px 8px !important;

    background: #ffffff !important;
    border: 1px solid #d7ebe6 !important;
    border-radius: 12px !important;
    box-shadow: 0 3px 10px rgba(47, 88, 78, 0.04) !important;

    color: #56605d !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    letter-spacing: 0.02em !important;
    text-align: center !important;
    text-decoration: none !important;

    position: static !important;
    transform: none !important;
  }

  footer .footer_nav_list a::before,
  footer .footer_nav_list a::after {
    display: none !important;
    content: none !important;
  }

  footer .footer_nav_list a:hover {
    background: #eff9f6 !important;
    color: #4d9f8d !important;
    opacity: 1 !important;
  }

  footer .copyright {
    margin-top: 18px !important;
    padding-top: 16px !important;
    border-top: 1px solid #dbeae6 !important;
  }
}
/* スマホメニュー：掲載サロン一覧ボタンを丸くする */
@media screen and (max-width: 767px) {

  .menu_salon_link,
  .sp_menu .salon_link,
  .sp_menu a[href*="reserve"],
  .mobile_menu a[href*="reserve"] {
    border-radius: 999px !important;
    padding: 10px 24px !important;
    min-width: 210px !important;
    background: #f7faf9 !important;
    border: 1px solid #cfe8e1 !important;
    box-shadow: 0 4px 12px rgba(47, 88, 78, 0.05) !important;
  }
}
/* スマホメニュー：掲載サロン一覧を丸いカプセル型に */
@media screen and (max-width: 768px) {

  .header_nav_mobile .header_reserve_button {
    width: 190px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 22px !important;

    background: #f4fbf8 !important;
    border: 1px solid #b9ded4 !important;
    border-radius: 999px !important;
    box-shadow: 0 5px 14px rgba(68, 135, 119, 0.10) !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .header_nav_mobile .header_reserve_button p {
    margin: 0 !important;
    padding: 0 !important;
    color: #486f65 !important;
    font-size: 12px !important;
    line-height: 1 !important;
    letter-spacing: 0.1em !important;
  }

  .header_nav_mobile .header_reserve_button img,
  .header_nav_mobile .header_reserve_button .button_arrow {
    display: none !important;
  }
}
/* スマホ用 リクルートバナー */
.sp_recruit_banner {
  display: none;
}

@media screen and (max-width: 767px) {

  .sp_recruit_banner {
    display: block;
    padding: 28px 14px 34px;
    background: #ffffff;
  }

  .sp_recruit_banner a {
    display: block;
    color: inherit;
    text-decoration: none;
  }

  .sp_recruit_banner_inner {
    padding: 34px 22px;
    text-align: center;
    background:
      linear-gradient(
        135deg,
        rgba(237, 249, 244, 0.96),
        rgba(250, 247, 239, 0.96)
      );
    border: 1px solid #d9ebe5;
    border-radius: 22px;
    box-shadow: 0 8px 24px rgba(52, 91, 81, 0.08);
  }

  .sp_recruit_en {
    margin: 0 0 8px;
    color: #6bb9a7;
    font-family: serif;
    font-size: 12px;
    letter-spacing: 0.2em;
  }

  .sp_recruit_banner h2 {
    margin: 0 0 12px;
    color: #333;
    font-family: serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.45;
  }

  .sp_recruit_text {
    margin: 0 0 22px;
    color: #666;
    font-size: 12px;
    line-height: 1.8;
  }

  .sp_recruit_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 190px;
    min-height: 44px;
    padding: 10px 22px;
    color: #ffffff;
    background: #73bfae;
    border-radius: 999px;
    font-size: 12px;
    letter-spacing: 0.08em;
  }
}
/* NEWSカテゴリー一覧：BEAUTYと同じカード型 */
.news_category_archive .news_category_title {
  color: #e58cab !important;
  border-bottom-color: #e58cab !important;
}

.news_category_archive .archive_news_style {
  background: #e58cab !important;
  color: #ffffff !important;
}

.news_category_archive .news_layout_grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 45px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.news_category_archive .news_layout_grid li {
  min-width: 0;
}

.news_category_archive .news_layout_grid a {
  display: block;
  color: inherit;
  text-decoration: none;
}

.news_category_archive .news_layout_grid img {
  display: block;
  width: 100%;
  height: 200px;
  object-fit: cover;
}

.news_category_archive .news_text {
  padding-top: 6px;
}

.news_category_archive .news_date {
  margin-right: 8px;
  color: #666;
  font-size: 13px;
}

.news_category_archive .archive_news_style {
  display: inline-block;
  padding: 3px 8px;
  font-size: 11px;
  line-height: 1.2;
}

.news_category_archive .archive_news_title {
  margin: 7px 0 0;
  color: #111;
  font-size: 18px;
  line-height: 1.5;
  font-weight: 700;
}

/* スマホ */
@media screen and (max-width: 767px) {

  .news_category_archive .content_wrapper {
    width: 100%;
    padding: 0 14px;
  }

  .news_category_archive .news_layout_grid {
    display: block;
  }

  .news_category_archive .news_layout_grid li {
    padding: 14px 0;
    border-bottom: 1px solid #efacc2;
  }

  .news_category_archive .news_layout_grid a {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
  }

  .news_category_archive .news_layout_grid img {
    width: 112px;
    height: 82px;
    object-fit: cover;
  }

  .news_category_archive .news_text {
    min-width: 0;
    padding: 0;
  }

  .news_category_archive .news_date {
    font-size: 10px;
  }

  .news_category_archive .archive_news_style {
    padding: 3px 7px;
    font-size: 9px;
  }

  .news_category_archive .archive_news_title {
    display: -webkit-box;
    margin-top: 7px;
    overflow: hidden;
    font-size: 13px;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
}
/* NEWS一覧：カテゴリーラベルをピンクに統一 */
.salonism-news-archive--news .salonism-news-category,
.salonism-news-archive .salonism-news-category {
  background: #e58cab !important;
  color: #ffffff !important;
}

/* 区切り線もピンクに統一 */
.salonism-news-archive--news .salonism-news-item,
.salonism-news-archive .salonism-news-item {
  border-bottom-color: #f0a4bd !important;
}
/* =========================================================
   PC：NEWS一覧をBEAUTYと同じ3列カード表示
========================================================= */
@media screen and (min-width: 768px) {

  .salonism-news-archive .salonism-news-wrap {
    width: min(1000px, calc(100% - 40px)) !important;
    margin: 0 auto !important;
  }

  .salonism-news-archive .salonism-news-heading {
    width: 500px !important;
    margin: 0 auto 48px !important;
    padding: 0 0 10px !important;
    border-bottom: 1px solid #e58cab !important;
    color: #e58cab !important;
    font-size: 28px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    text-align: center !important;
  }

  .salonism-news-archive .salonism-news-list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .salonism-news-archive .salonism-news-item {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .salonism-news-archive .salonism-news-link {
    display: block !important;
    width: 100% !important;
    color: inherit !important;
    text-decoration: none !important;
  }

  .salonism-news-archive .salonism-news-thumb {
    width: 100% !important;
    height: 200px !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  .salonism-news-archive .salonism-news-thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.35s ease !important;
  }

  .salonism-news-archive .salonism-news-body {
    padding: 8px 0 0 !important;
  }

  .salonism-news-archive .salonism-news-category {
    display: inline-block !important;
    margin: 0 0 8px !important;
    padding: 3px 9px !important;
    background: #e58cab !important;
    color: #fff !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
  }

  .salonism-news-archive .salonism-news-meta-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
  }

  .salonism-news-archive .salonism-news-title {
    order: 2 !important;
    display: -webkit-box !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: #111 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }

  .salonism-news-archive .salonism-news-date {
    order: 1 !important;
    margin: 0 !important;
    color: #777 !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
  }

  .salonism-news-archive .salonism-news-link:hover .salonism-news-thumb img {
    transform: scale(1.04) !important;
  }
}
/* =========================================================
   PC：NEWSカードのタイトルはみ出し修正
========================================================= */
@media screen and (min-width: 768px) {

  .salonism-news-archive,
  .salonism-news-archive .salonism-news-wrap,
  .salonism-news-archive .salonism-news-list {
    overflow: visible !important;
  }

  .salonism-news-archive .salonism-news-item {
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .salonism-news-archive .salonism-news-link {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .salonism-news-archive .salonism-news-body {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .salonism-news-archive .salonism-news-meta-row {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .salonism-news-archive .salonism-news-title {
    display: -webkit-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 8px 0 0 !important;

    color: #111 !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;

    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;

    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }

  .salonism-news-archive .salonism-news-date {
    display: block !important;
    margin: 7px 0 0 !important;
    font-size: 13px !important;
    color: #777 !important;
  }

  .salonism-news-archive .salonism-news-category {
    margin-top: 9px !important;
  }
}
/* =========================================================
   PC：BEAUTY / HAIR ITEM をNEWSと同じカード表示に統一
========================================================= */
@media screen and (min-width: 768px) {

  .beauty_archive .content_wrapper,
  .hair_item_archive .content_wrapper {
    width: min(1000px, calc(100% - 40px)) !important;
    margin: 0 auto !important;
  }

  .beauty_archive .section_title,
  .hair_item_archive .section_title {
    width: 500px !important;
    margin: 0 auto 48px !important;
    padding: 0 0 10px !important;
    font-size: 28px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    text-align: center !important;
  }

  .beauty_archive .section_title {
    color: #d989c7 !important;
    border-bottom: 1px solid #d989c7 !important;
  }

  .hair_item_archive .section_title {
    color: #8eb5df !important;
    border-bottom: 1px solid #8eb5df !important;
  }

  .beauty_archive .news_layout_grid,
  .hair_item_archive .news_layout_grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .beauty_archive .news_layout_grid > li,
  .hair_item_archive .news_layout_grid > li {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 0 34px !important;
    border: 0 !important;
    border-bottom: 1px solid transparent !important;
    overflow: hidden !important;
  }

  .beauty_archive .news_layout_grid > li {
    border-bottom-color: #efafdF !important;
  }

  .hair_item_archive .news_layout_grid > li {
    border-bottom-color: #a9c9e8 !important;
  }

  .beauty_archive .news_layout_grid a,
  .hair_item_archive .news_layout_grid a {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    color: inherit !important;
    text-decoration: none !important;
    overflow: hidden !important;
  }

  .beauty_archive .news_layout_grid img,
  .hair_item_archive .news_layout_grid img {
    display: block !important;
    width: 100% !important;
    height: 200px !important;
    margin: 0 !important;
    object-fit: cover !important;
    transition: transform 0.35s ease !important;
  }

  .beauty_archive .news_text,
  .hair_item_archive .news_text {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 8px 0 0 !important;
    overflow: hidden !important;
  }

  .beauty_archive .news_date,
  .hair_item_archive .news_date {
    display: block !important;
    margin: 0 0 7px !important;
    color: #777 !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
  }

  .beauty_archive .archive_news_style,
  .hair_item_archive .archive_news_style {
    display: inline-block !important;
    margin: 0 0 8px !important;
    padding: 3px 9px !important;
    color: #fff !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
  }

  .beauty_archive .archive_news_style {
    background: #e58cab !important;
  }

  .hair_item_archive .archive_news_style {
    background: #8eb5df !important;
  }

  .beauty_archive .archive_news_title,
  .hair_item_archive .archive_news_title {
    display: -webkit-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 8px 0 0 !important;
    overflow: hidden !important;

    color: #111 !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;

    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;

    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }

  .beauty_archive .news_layout_grid a:hover img,
  .hair_item_archive .news_layout_grid a:hover img {
    transform: scale(1.04) !important;
  }
}
/* =========================================================
   PC：BEAUTY / HAIR ITEM カード表示の崩れ修正
========================================================= */
@media screen and (min-width: 768px) {

  /* 記事のメイン画像だけを指定 */
  .beauty_archive .news_layout_grid > li > a > img,
  .hair_item_archive .news_layout_grid > li > a > img {
    display: block !important;
    width: 100% !important;
    height: 200px !important;
    margin: 0 !important;
    object-fit: cover !important;
  }

  /* 絵文字画像を通常サイズへ戻す */
  .beauty_archive img.emoji,
  .hair_item_archive img.emoji {
    display: inline-block !important;
    width: 1em !important;
    height: 1em !important;
    max-width: 1em !important;
    margin: 0 0.08em !important;
    vertical-align: -0.1em !important;
    object-fit: contain !important;
  }

  .beauty_archive .news_text,
  .hair_item_archive .news_text {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    grid-template-areas:
      "date category"
      "title title" !important;
    align-items: center !important;
    justify-content: start !important;
    gap: 6px 8px !important;
    width: 100% !important;
    padding-top: 8px !important;
    position: static !important;
    overflow: hidden !important;
  }

  .beauty_archive .news_date,
  .hair_item_archive .news_date {
    grid-area: date !important;
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
    color: #777 !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
  }

  .beauty_archive .archive_news_style,
  .hair_item_archive .archive_news_style {
    grid-area: category !important;
    display: inline-block !important;
    width: fit-content !important;
    margin: 0 !important;
    padding: 3px 9px !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    color: #fff !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  .beauty_archive .archive_news_style {
    background: #e58cab !important;
  }

  .hair_item_archive .archive_news_style {
    background: #8eb5df !important;
  }

  .beauty_archive .archive_news_title,
  .hair_item_archive .archive_news_title {
    grid-area: title !important;
    display: -webkit-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
    overflow: hidden !important;
    color: #111 !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }

  .beauty_archive .news_layout_grid > li,
  .hair_item_archive .news_layout_grid > li {
    min-width: 0 !important;
    padding-bottom: 34px !important;
    overflow: hidden !important;
  }
}
/* スマホ：HAIR ITEMをNEWS・BEAUTYと同じ見え方に調整 */
@media screen and (max-width: 767px) {

  .salonism-news-archive--hair .salonism-news-wrap {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .salonism-news-archive--hair .salonism-news-item {
    padding: 16px 0 !important;
  }

  .salonism-news-archive--hair .salonism-news-link {
    display: grid !important;
    grid-template-columns: 104px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;
  }

  .salonism-news-archive--hair .salonism-news-thumb {
    width: 104px !important;
    height: 78px !important;
  }

  .salonism-news-archive--hair .salonism-news-thumb img {
    width: 104px !important;
    height: 78px !important;
    object-fit: cover !important;
  }

  .salonism-news-archive--hair .salonism-news-title {
    font-size: 12px !important;
    line-height: 1.55 !important;
  }

  .salonism-news-archive--hair .salonism-news-date {
    font-size: 9px !important;
  }

  .salonism-news-archive--hair .salonism-news-category {
    font-size: 9px !important;
    padding: 3px 7px !important;
  }
}
/* スマホ：HAIR ITEMをNEWSと同じ大きさに統一 */
@media screen and (max-width: 767px) {

  .salonism-news-archive--hair .salonism-news-wrap {
    width: 100% !important;
    padding: 0 14px !important;
  }

  .salonism-news-archive--hair .salonism-news-item {
    width: 100% !important;
    padding: 14px 0 !important;
  }

  .salonism-news-archive--hair .salonism-news-link {
    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: center !important;
    width: 100% !important;
  }

  .salonism-news-archive--hair .salonism-news-thumb,
  .salonism-news-archive--hair .salonism-news-thumb img {
    width: 112px !important;
    height: 82px !important;
    object-fit: cover !important;
  }

  .salonism-news-archive--hair .salonism-news-body {
    width: 100% !important;
    min-width: 0 !important;
  }

  .salonism-news-archive--hair .salonism-news-category {
    display: inline-block !important;
    padding: 3px 7px !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
  }

  .salonism-news-archive--hair .salonism-news-title {
    display: -webkit-box !important;
    margin: 7px 0 0 !important;
    overflow: hidden !important;
    color: #111 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }

  .salonism-news-archive--hair .salonism-news-date {
    display: block !important;
    margin-top: 5px !important;
    color: #777 !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
    text-align: right !important;
  }
}
/* スマホ：HAIR ITEMの色をブルーに統一 */
@media screen and (max-width: 767px) {

  .salonism-news-archive--hair .salonism-news-heading {
    color: #8fb5df !important;
    border-bottom-color: #8fb5df !important;
  }

  .salonism-news-archive--hair .salonism-news-category {
    background: #8fb5df !important;
    color: #ffffff !important;
  }

  .salonism-news-archive--hair .salonism-news-item {
    border-bottom-color: #a9c9e8 !important;
  }

  .salonism-news-archive--hair .salonism-news-list {
    border-top-color: #a9c9e8 !important;
  }
}
/* =========================================================
   スマホ：RECRUIT検索フォームの崩れ修正
========================================================= */
@media screen and (max-width: 767px) {

  html,
  body {
    overflow-x: hidden !important;
  }

  .recruit_page {
    width: 100% !important;
    overflow-x: hidden !important;
  }

  .recruit_search_area {
    width: 100% !important;
    padding: 24px 14px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .recruit_search_box {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 16px !important;
    box-sizing: border-box !important;
    background: #f7faf9 !important;
    border-radius: 18px !important;
    box-shadow: 0 6px 20px rgba(55, 104, 91, 0.07) !important;
  }

  .recruit_search_item {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .recruit_search_label {
    display: block !important;
    margin: 0 0 6px !important;
    color: #5db6a1 !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    text-align: left !important;
    letter-spacing: 0.04em !important;
  }

  .recruit_search_select_wrap {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 46px !important;
    margin: 0 !important;
  }

  .recruit_search_select {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 30px 0 12px !important;
    box-sizing: border-box !important;
    background: #fff !important;
    border: 1px solid #d9ebe6 !important;
    border-radius: 12px !important;
    color: #555 !important;
    font-size: 11px !important;
    line-height: 46px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  .recruit_search_arrow {
    position: absolute !important;
    top: 50% !important;
    right: 11px !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    border-left: 5px solid transparent !important;
    border-right: 5px solid transparent !important;
    border-top: 7px solid #7fa99f !important;
    transform: translateY(-30%) !important;
    pointer-events: none !important;
  }

  .recruit_search_button {
    grid-column: 1 / -1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 48px !important;
    margin: 2px 0 0 !important;
    padding: 0 18px !important;
    box-sizing: border-box !important;
    background: #6ebca8 !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    box-shadow: 0 5px 14px rgba(63, 145, 124, 0.18) !important;
  }

  .recruit_jobs {
    width: 100% !important;
    padding: 30px 14px 40px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .recruit_job_card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 20px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .recruit_job_image,
  .recruit_job_image img {
    width: 100% !important;
    max-width: 100% !important;
    height: 210px !important;
    object-fit: cover !important;
  }

  .recruit_job_content {
    width: 100% !important;
    box-sizing: border-box !important;
  }
}
/* =========================================================
   スマホ：RECRUIT求人カードの空白・高さを修正
========================================================= */
@media screen and (max-width: 767px) {

  .recruit_jobs {
    padding-top: 28px !important;
  }

  .recruit_job_card {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    background: #ffffff !important;
    border: 1px solid #deebe7 !important;
    border-radius: 18px !important;
    box-shadow: 0 6px 20px rgba(55, 104, 91, 0.07) !important;
    overflow: hidden !important;
  }

  .recruit_job_image {
    display: block !important;
    width: 100% !important;
    height: 190px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .recruit_job_image img {
    display: block !important;
    width: 100% !important;
    height: 190px !important;
    margin: 0 !important;
    object-fit: cover !important;
  }

  .recruit_job_content {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 18px 16px 20px !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
  }

  .recruit_job_meta {
    display: block !important;
    margin: 0 0 12px !important;
  }

  .recruit_job_tags {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 0 10px !important;
  }

  .recruit_job_tags span,
  .recruit_interview_badge {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 4px 9px !important;
    border-radius: 999px !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
  }

  .recruit_job_shop {
    display: block !important;
    margin: 0 0 7px !important;
    color: #6f7775 !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
  }

  .recruit_job_content h3 {
    display: block !important;
    margin: 0 0 15px !important;
    color: #292d2c !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
  }

  .recruit_job_info {
    display: block !important;
    width: 100% !important;
    margin: 0 0 18px !important;
  }

  .recruit_job_info > div {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid #edf2f0 !important;
  }

  .recruit_job_info dt,
  .recruit_job_info dd {
    margin: 0 !important;
    font-size: 11px !important;
    line-height: 1.6 !important;
  }

  .recruit_job_info dt {
    color: #6eb29f !important;
    font-weight: 600 !important;
  }

  .recruit_job_info dd {
    color: #555d5b !important;
  }

  .recruit_job_buttons {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .recruit_job_button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 10px 8px !important;
    box-sizing: border-box !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    text-align: center !important;
  }

  .recruit_job_button_primary {
    background: #69bba6 !important;
    color: #ffffff !important;
  }

  .recruit_job_button_secondary {
    background: #ffffff !important;
    border: 1px solid #9bd2c5 !important;
    color: #559b8b !important;
  }
}
/* RECRUIT検索：二重矢印を完全解消 */
@media screen and (max-width: 767px) {

  .recruit_search_select_wrap {
    position: relative !important;
  }

  /* HTMLにある矢印は完全に消す */
  .recruit_search_select_wrap .recruit_search_arrow {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  /* select標準矢印も消す */
  .recruit_search_select_wrap .recruit_search_select {
    -webkit-appearance: none !important;
    appearance: none !important;
    background-image: none !important;
    padding-right: 36px !important;
  }

  /* 三角を1個だけ作る */
  .recruit_search_select_wrap::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 50% !important;
    right: 14px !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 5px solid transparent !important;
    border-right: 5px solid transparent !important;
    border-top: 7px solid #7fa99f !important;
    transform: translateY(-30%) !important;
    pointer-events: none !important;
  }
}
/* スマホ：RECRUIT検索selectの二重枠を解消 */
@media screen and (max-width: 767px) {

  .recruit_search_select_wrap {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
  }

  .recruit_search_select {
    border: 1px solid #cfe5df !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: #ffffff !important;
  }

  .recruit_search_item {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }
}
/* スマホ：RECRUIT下部の大きな空白を削除 */
@media screen and (max-width: 767px) {

  .recruit_page,
  .recruit_jobs {
    min-height: 0 !important;
    height: auto !important;
  }

  .recruit_jobs {
    margin-bottom: 0 !important;
    padding-bottom: 24px !important;
  }

  .recruit_job_card:last-child {
    margin-bottom: 0 !important;
  }

  .recruit_page + footer,
  .recruit_page ~ footer,
  footer {
    margin-top: 0 !important;
  }
}
/* スマホ：RECRUITカード下とフッターの間に自然な余白 */
@media screen and (max-width: 767px) {

  .recruit_jobs {
    padding-bottom: 32px !important;
  }

  .recruit_job_card:last-child {
    margin-bottom: 0 !important;
  }

  .recruit_page + footer,
  .recruit_page ~ footer {
    margin-top: 0 !important;
  }
}
/* スマホ：求人画像を切らずに全体表示 */
@media screen and (max-width: 767px) {

  .recruit_job_image {
    height: auto !important;
    background: #f4f8f6 !important;
  }

  .recruit_job_image img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
  }
}
/* PC：求人カードの画像を大きく戻す */
@media screen and (min-width: 768px) {

  .recruit_job_card {
    display: grid !important;
    grid-template-columns: 46% 54% !important;
    width: min(1100px, calc(100% - 40px)) !important;
    max-width: 1100px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .recruit_job_image {
    width: 100% !important;
    height: 100% !important;
    min-height: 520px !important;
    overflow: hidden !important;
  }

  .recruit_job_image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 520px !important;
    object-fit: cover !important;
  }

  .recruit_job_content {
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* =========================================================
   PC：トップ画像の下で「掲載サロン」見出しが隠れる問題を修正
========================================================= */
@media screen and (min-width: 768px) {
  .first_view,
  .first_view_single {
    margin-bottom: 0 !important;
  }

  #top_salon {
    position: relative !important;
    z-index: 2 !important;
    margin-top: 0 !important;
    transform: none !important;
    padding-top: 34px !important;
    background: #ffffff !important;
  }

  #top_salon > .content_wrapper {
    position: relative !important;
    top: auto !important;
    margin-top: 0 !important;
    transform: none !important;
    padding-top: 0 !important;
  }

  #top_salon .top_salon_heading {
    position: relative !important;
    top: auto !important;
    z-index: 3 !important;
    margin-top: 0 !important;
  }
}
@media screen and (max-width: 767px) {
  .first_view_single {
    height: 215px !important;
    overflow: hidden !important;
  }

  .first_view_single img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 35% !important;
    display: block !important;
  }
}
/* スマホ：RECRUIT説明文削除後の余白調整 */
@media screen and (max-width: 767px) {

  .recruit_hero {
    min-height: auto !important;
    padding-bottom: 35px !important;
    margin-bottom: 0 !important;
  }

  .recruit_search_area {
    padding-top: 10px !important;
  }
}
/* スマホ：特集一覧の日付とタイトルを2段表示 */
@media screen and (max-width: 767px) {

  .topics_title .topics_date {
    display: block !important;
    margin-bottom: 4px !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  .topics_title .topics_title_wrap.archive_wrap {
    display: block !important;
    line-height: 1.5 !important;
    white-space: normal !important;
  }
}
/* サロン詳細：SALON PROFILE直下の重複タグだけ非表示 */
.salon-detail-kicker + .salon-detail-tags {
  display: none !important;
}
/* スマホ：掲載サロンカードの高さを統一 */
@media screen and (max-width: 767px) {

  .layout_topics {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 295px !important;
  }

  .layout_grid {
    align-items: stretch !important;
  }

  .layout_topics .topics_text {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
  }

  .layout_topics .topics_title {
    min-height: 44px !important;
  }

  .layout_topics .topics_description,
  .layout_topics .topics_excerpt {
    min-height: 54px !important;
  }

  .layout_topics img {
    width: 100% !important;
    height: 110px !important;
    object-fit: cover !important;
  }
}
/* スマホ：掲載サロンカード内部の位置も揃える */
@media screen and (max-width: 767px) {

  .layout_topics .topics_title {
    min-height: 48px !important;
    margin-bottom: 0 !important;
  }

  .layout_topics .topics_text {
    display: grid !important;
    grid-template-rows: auto 48px 72px 24px 110px !important;
    height: 100% !important;
  }

  .layout_topics .topics_category {
    align-self: start !important;
  }

  .layout_topics img {
    align-self: end !important;
    width: 100% !important;
    height: 110px !important;
    object-fit: cover !important;
  }
}
@media screen and (max-width: 767px) {

  .layout_topics {
    min-height: 250px !important;
  }

  .layout_topics .topics_text {
    min-height: 95px !important;
  }

  .layout_topics img {
    height: 105px !important;
  }
}
@media (max-width: 768px) {

.archive .salon-card {
    display: flex;
    flex-direction: column;
    height: 460px; /* 好きな高さ */
}

.archive .salon-card__image {
    margin-top: auto;
}

}

/* 求人詳細：外部求人サイトへの案内 */
.recruit_external_notice {
    max-width: 900px;
    margin: 24px auto 56px;
    padding: 18px 22px;
    background: #f7f8f8;
    border-radius: 12px;
    color: #666;
    font-size: 13px;
    line-height: 1.8;
}

.recruit_external_notice p {
    margin: 0;
}

@media screen and (max-width: 767px) {
    .recruit_external_notice {
        margin: 18px 16px 36px;
        padding: 16px;
        font-size: 12px;
    }
}
/* 求人詳細ページ：スマホ表示 */
@media screen and (max-width: 767px) {

  .recruit_single_header {
    display: block !important;
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin: 20px auto 0 !important;
    overflow: hidden !important;
  }

  .recruit_single_header > div {
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
  }

  .recruit_single_image {
    width: 100% !important;
    height: auto !important;
  }

  .recruit_single_image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
  }

  .recruit_single_content {
    width: 100% !important;
    padding: 24px 18px !important;
    box-sizing: border-box !important;
  }

  .recruit_single_content h1 {
    font-size: 22px !important;
    line-height: 1.5 !important;
    letter-spacing: 0.04em !important;
    word-break: normal !important;
  }

  .recruit_table {
    width: 100% !important;
    table-layout: fixed !important;
  }

  .recruit_table th {
    width: 72px !important;
    padding: 12px 4px !important;
    white-space: nowrap !important;
  }

  .recruit_table td {
    padding: 12px 6px !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  .recruit_single_actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    margin-top: 20px !important;
  }

  .recruit_single_actions a {
    display: flex !important;
    width: 100% !important;
    min-height: 48px !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .recruit_external_notice {
    width: calc(100% - 32px) !important;
    margin: 20px auto !important;
    padding: 18px !important;
    box-sizing: border-box !important;
  }
}
/* 求人詳細スマホ：大きな空白と画像高さを修正 */
@media screen and (max-width: 767px) {

  body.single-salon_job main,
  body.single-jobs main,
  .recruit_single {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  .recruit_single_header {
    margin-top: 16px !important;
    min-height: 0 !important;
    height: auto !important;
  }

  .recruit_single_image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
  }

  .recruit_single_image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
  }
}
/* 掲載について・プライバシーポリシー */
.legal_page {
  background: #fff;
  padding: 48px 20px 88px;
}

.legal_hero {
  max-width: 960px;
  margin: 0 auto 34px;
  text-align: center;
}

.legal_eyebrow {
  margin: 0 0 10px;
  color: #65bca7;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .2em;
}

.legal_hero h1 {
  margin: 0;
  color: #3f4745;
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1.35;
  letter-spacing: .08em;
}

.legal_lead {
  margin: 14px 0 0;
  color: #7a8380;
  font-size: 15px;
}

.legal_content_wrap {
  max-width: 920px;
  margin: 0 auto;
}

.legal_content {
  padding: 48px 56px;
  border: 1px solid #e3ece8;
  border-radius: 24px;
  background: #fbfdfc;
  box-shadow: 0 14px 38px rgba(44, 80, 70, .07);
  color: #4a514f;
  font-size: 16px;
  line-height: 2;
}

.legal_content > *:first-child { margin-top: 0; }
.legal_content > *:last-child { margin-bottom: 0; }

.legal_content h2 {
  margin: 42px 0 16px;
  padding-left: 14px;
  border-left: 4px solid #70c3ae;
  color: #3f4745;
  font-size: 23px;
  line-height: 1.5;
}

.legal_content h3 {
  margin: 30px 0 12px;
  color: #4c6961;
  font-size: 18px;
}

.legal_content p { margin: 0 0 18px; }
.legal_content ul,
.legal_content ol { margin: 0 0 24px; padding-left: 1.6em; }
.legal_content li { margin: 7px 0; }
.legal_content a { color: #42a88e; text-decoration: underline; text-underline-offset: 4px; }

@media screen and (max-width: 767px) {
  .legal_page { padding: 28px 16px 56px; }
  .legal_hero { margin-bottom: 24px; }
  .legal_hero h1 { font-size: 28px; }
  .legal_lead { font-size: 13px; line-height: 1.7; }
  .legal_content { padding: 28px 20px; border-radius: 18px; font-size: 14px; line-height: 1.9; }
  .legal_content h2 { margin-top: 34px; font-size: 20px; }
  .legal_content h3 { font-size: 17px; }
}
/* スマホ footer バランス修正 */
@media screen and (max-width: 767px) {

  .footer_wrapper {
    width: calc(100% - 24px) !important;
    padding: 22px 16px 18px !important;
    border-radius: 22px !important;
  }

  .footer_sns_block {
    justify-content: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
  }

  .footer_sns_icon a {
    width: 52px !important;
    height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
  }

  .footer_nav_list {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }

  .footer_nav_list li {
    margin: 0 !important;
    width: 100% !important;
  }

  .footer_nav_list li a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 44px !important;
    padding: 10px 8px !important;
    border: 1px solid #cfe3dc !important;
    border-radius: 12px !important;
    text-align: center !important;
    box-sizing: border-box !important;
    line-height: 1.4 !important;
  }

  .footer_nav_list li::before {
    display: none !important;
  }

  .footer_nav_title {
    text-align: center !important;
    margin-bottom: 12px !important;
  }

  .copyright {
    display: block !important;
    text-align: center !important;
    font-size: 11px !important;
    line-height: 1.6 !important;
    margin-top: 14px !important;
  }
}/* フッターSNS画像を確実に表示 */
.footer_sns_icon img {
  display: block !important;
  width: auto !important;
  height: 26px !important;
  max-width: 100% !important;
  opacity: 1 !important;
  visibility: visible !important;
  object-fit: contain !important;
}

.footer_sns_icon a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;}


/* YouTube：PCはロゴ、スマホは再生ボタンのみ */
.youtube_pc {
  display: block !important;
}

.youtube_play_icon {
  display: none !important;
  font-style: normal !important;
}

@media screen and (max-width: 767px) {
  .footer_sns_icon .youtube_pc {
    display: none !important;
  }

  .footer_sns_icon .youtube_play_icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 18px !important;
    padding-left: 1px !important;
    border-radius: 5px !important;
    background: #ff0000 !important;
    color: #ffffff !important;
    font-size: 11px !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
  }
}
/* INTERVIEW詳細：スマホ表示を正しいクラスで修正 */
@media screen and (max-width: 767px) {

  body.single-topics main {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  body.single-topics main > section {
    padding-top: 20px !important;
  }

  /* INTERVIEW見出し */
  body.single-topics main > section > div:first-child {
    margin: 0 auto 24px !important;
    padding: 0 16px !important;
    font-size: 34px !important;
    line-height: 1.2 !important;
    box-sizing: border-box !important;
  }

  .single_topics_container {
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .single_topics_container .topics_single {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .single_topics_container .topics_text {
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .single_topics_container .topics_title_single {
    display: block !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
  }

  .single_topics_container .topics_date {
    display: block !important;
    margin: 0 0 8px !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
  }

  .single_topics_container .topics_title_single > span:last-child {
    display: block !important;
    font-size: 20px !important;
    line-height: 1.55 !important;
    letter-spacing: 0.03em !important;
  }

  /* 大きく表示されているカテゴリ丸アイコンを非表示 */
  .single_topics_container .topic_category {
    display: none !important;
  }

  .single_topics_container .interview_content_card {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 22px 18px !important;
    box-sizing: border-box !important;
    border-radius: 16px !important;
  }

  /* 記事内容が空なら白い大余白を表示しない */
  .single_topics_container .interview_content_card:empty {
    display: none !important;
  }

  .single_topics_container .return_button {
    margin: 28px auto 40px !important;
  }
}
/* =========================================================
   INTERVIEW一覧：スマホ表示修正
   汎用 .layout_topics のカード高さ指定をこのページだけ解除
========================================================= */
@media screen and (max-width: 767px) {
  .archive_topics_container {
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .archive_topics_container .interview_archive_heading {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 28px auto 24px !important;
    padding: 0 !important;
    color: #55585c !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 34px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.06em !important;
    text-align: center !important;
  }

  .archive_topics_container .layout_grid {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .archive_topics_container .layout_topics {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #ffffff !important;
    border: 1px solid #eceff0 !important;
    border-radius: 14px !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04) !important;
  }

  .archive_topics_container .layout_topics > a {
    display: grid !important;
    grid-template-columns: 42% 58% !important;
    align-items: stretch !important;
    width: 100% !important;
    min-height: 118px !important;
    color: inherit !important;
    text-decoration: none !important;
  }

  .archive_topics_container .layout_topics > a > .topics_img,
  .archive_topics_container .layout_topics > a > img.topics_img {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 118px !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
    align-self: stretch !important;
  }

  .archive_topics_container .layout_topics .topics_text {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 14px 14px 12px !important;
    box-sizing: border-box !important;
  }

  .archive_topics_container .layout_topics .topics_title {
    display: block !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .archive_topics_container .layout_topics .topics_date {
    display: block !important;
    margin: 0 0 7px !important;
    color: #999999 !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
    letter-spacing: 0.05em !important;
  }

  .archive_topics_container .layout_topics .topics_title_wrap.archive_wrap {
    display: block !important;
    margin: 0 !important;
    color: #4e5154 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    letter-spacing: 0.02em !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  .archive_topics_container .layout_topics .topic_category {
    display: none !important;
  }
}

/* =========================================================
   利用規約・プライバシーポリシー：スマホ最終調整
   固定ヘッダーとの重なりを避け、本文カードから自然に開始
========================================================= */
@media screen and (max-width: 767px) {
  body.page-template-page-terms .legal_hero,
  body.page-template-page-privacy-policy .legal_hero,
  body .terms_page .legal_hero,
  body .privacy_page .legal_hero {
    display: none !important;
  }

  body .legal_page.terms_page,
  body .legal_page.privacy_page {
    width: 100% !important;
    margin: 0 !important;
    padding: 58px 14px 56px !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
  }

  body .legal_page .legal_content_wrap {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  body .legal_page .legal_content {
    width: 100% !important;
    margin: 0 !important;
    padding: 28px 20px 32px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    border: 1px solid #e3ece8 !important;
    border-radius: 18px !important;
    background: #fbfdfc !important;
    box-shadow: 0 8px 24px rgba(44, 80, 70, 0.06) !important;
    color: #4a514f !important;
    font-size: 14px !important;
    line-height: 1.9 !important;
  }

  body .terms_page .legal_content > h2:first-child,
  body .privacy_page .legal_content > p:first-child {
    display: block !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    border: 0 !important;
    color: #46504d !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    letter-spacing: 0.04em !important;
  }

  body .legal_page .legal_content h2:not(:first-child) {
    margin: 34px 0 16px !important;
    padding-left: 12px !important;
    border-left: 4px solid #70c3ae !important;
    font-size: 19px !important;
    line-height: 1.5 !important;
  }

  body .legal_page .legal_content p {
    margin-bottom: 18px !important;
  }
}


/* 掲載サロン一覧：カード全体を確実にクリック可能にする */
#results .salon_list_item {
  position: relative !important;
  cursor: pointer !important;
}
#results .salon_list_card {
  position: relative !important;
  z-index: 5 !important;
  pointer-events: auto !important;
}
#results .salon_list_card * {
  pointer-events: none !important;
}

/* =========================================================
   サロン詳細（スマホ）：文章量に合わせて余白・高さを自動調整
   2026-08-03
========================================================= */
@media screen and (max-width: 767px) {
  body.single-reserve .salon_detail_hero {
    min-height: 0 !important;
    height: auto !important;
    grid-auto-rows: auto !important;
  }

  body.single-reserve .salon_detail_hero_media {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 16 / 7;
  }

  body.single-reserve .salon_detail_hero_image {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: cover !important;
  }

  body.single-reserve .salon_detail_hero_image--logo {
    object-fit: contain !important;
  }

  body.single-reserve .salon_detail_hero_content {
    min-height: 0 !important;
    height: auto !important;
    justify-content: flex-start !important;
    padding: 22px 20px 24px !important;
  }

  body.single-reserve .salon_detail_tags,
  body.single-reserve .salon-detail-tags {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
  }

  body.single-reserve .salon-detail-kicker,
  body.single-reserve .salon_detail_kicker {
    margin: 0 0 12px !important;
  }

  body.single-reserve .salon-detail-title,
  body.single-reserve .salon_detail_title {
    margin: 0 !important;
  }

  body.single-reserve .salon_detail_caption {
    margin: 18px 0 0 !important;
  }

  body.single-reserve .salon_detail_content_wrap {
    padding-top: 34px !important;
    gap: 34px !important;
  }

  body.single-reserve .salon_detail_gallery {
    margin-top: 34px !important;
  }

  body.single-reserve .salon_detail_entry > :last-child {
    margin-bottom: 0 !important;
  }
}
/* =========================
   気になるカテゴリー
========================= */
.footer-category-nav {
  padding: 70px 20px 50px;
  background: #fafafa;
}

.footer-category-inner {
  max-width: 1100px;
  margin: 0 auto;
}

.footer-category-title {
  text-align: center;
  font-size: 32px;
  font-weight: 600;
  color: #444;
  margin: 0 0 10px;
  letter-spacing: 0.06em;
}

.footer-category-subtitle {
  text-align: center;
  font-size: 14px;
  color: #888;
  margin: 0 0 32px;
}

.footer-category-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.footer-category-card {
  position: relative;
  min-height: 220px;
  border-radius: 22px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 22px;
  text-decoration: none;
  color: #fff;
  background-size: cover;
  background-position: center;
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.footer-category-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.28);
  z-index: 1;
}

.footer-category-card span {
  position: relative;
  z-index: 2;
}

.footer-category-card:hover {
  transform: translateY(-4px);
  opacity: 0.95;
}

.footer-category-en {
  font-size: 28px;
  font-family: serif;
  font-style: italic;
  line-height: 1.2;
  margin-bottom: 6px;
}

.footer-category-ja {
  font-size: 15px;
  line-height: 1.4;
}

/* 背景画像 */
.card-interview {
  background-image: url("images/category_interview.jpg");
}

.card-news {
  background-image: url("images/category_news.jpg");
}

.card-beauty {
  background-image: url("images/category_beauty.jpg");
}

.card-hairitem {
  background-image: url("images/category_hairitem.jpg");
}

.card-recruit {
  background-image: url("images/category_recruit.jpg");
}

.card-salonlist {
  background-image: url("images/category_salonlist.jpg");
}

/* タブレット */
@media screen and (max-width: 900px) {
  .footer-category-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .footer-category-card {
    min-height: 190px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .footer-category-nav {
    padding: 48px 16px 36px;
  }

  .footer-category-title {
    font-size: 24px;
  }

  .footer-category-subtitle {
    font-size: 13px;
    margin-bottom: 24px;
  }

  .footer-category-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }

  .footer-category-card {
    min-height: 170px;
    padding: 16px;
    border-radius: 18px;
  }

  .footer-category-en {
    font-size: 22px;
  }

  .footer-category-ja {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {

  .footer-category-nav {
    padding: 30px 12px 24px !important;
  }

  .footer-category-title {
    font-size: 20px !important;
    margin-bottom: 4px !important;
  }

  .footer-category-subtitle {
    font-size: 11px !important;
    margin-bottom: 14px !important;
  }

  .footer-category-grid {
    gap: 8px !important;
  }

  .footer-category-card {
    min-height: 110px !important;
    padding: 10px !important;
    border-radius: 13px !important;
  }

  .footer-category-en {
    font-size: 16px !important;
    margin-bottom: 3px !important;
  }

  .footer-category-ja {
    font-size: 10px !important;
  }
}
/* 気になるカテゴリー 見出しデザイン */
.footer-category-title {
  position: relative;
  width: fit-content;
  margin: 0 auto 10px !important;
  padding: 0 38px 12px;
  font-family: "Times New Roman", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: 0.14em;
  color: #444;
}

.footer-category-title::before,
.footer-category-title::after {
  content: "";
  position: absolute;
  top: 42%;
  width: 24px;
  height: 1px;
  background: #82cbb8;
}

.footer-category-title::before {
  left: 0;
  transform: rotate(55deg);
}

.footer-category-title::after {
  right: 0;
  transform: rotate(-55deg);
}

.footer-category-title span {
  display: block;
}

.footer-category-subtitle {
  letter-spacing: 0.08em !important;
  color: #999 !important;
}

/* スマホ */
@media screen and (max-width: 767px) {
  .footer-category-title {
    padding: 0 26px 8px;
    font-size: 20px !important;
    letter-spacing: 0.1em;
  }

  .footer-category-title::before,
  .footer-category-title::after {
    width: 17px;
  }
}
/* 掲載サロン一覧：スマホで少し大きく */
@media screen and (max-width: 767px) {

  .reserve_list,
  .salon_list,
  .reserve_archive_list {
    gap: 12px !important;
    padding: 0 8px !important;
  }

  .reserve_list_item,
  .salon_card,
  .reserve_archive_item {
    padding: 14px 10px 16px !important;
    border-radius: 18px !important;
  }

  .reserve_list_item img,
  .salon_card img,
  .reserve_archive_item img {
    width: 100% !important;
    height: 140px !important;
    object-fit: cover !important;
    border-radius: 12px !important;
  }

  .reserve_list_item h2,
  .reserve_list_item h3,
  .salon_card h2,
  .salon_card h3,
  .reserve_archive_item h2,
  .reserve_archive_item h3 {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  .reserve_list_item p,
  .salon_card p,
  .reserve_archive_item p {
    font-size: 11px !important;
    line-height: 1.65 !important;
  }

  .reserve_list_item .category,
  .salon_card .category,
  .reserve_archive_item .category {
    font-size: 10px !important;
    padding: 4px 10px !important;
  }
}

/* =========================================
   SALONISM LIBRARY
========================================= */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.top_library{padding:80px 24px;background:#f7f4ed}
.top_library_inner{max-width:1180px;margin:auto}
.top_library_magazine{display:grid;grid-template-columns:minmax(0,48%) minmax(0,52%);min-height:520px;overflow:hidden;background:#fff;box-shadow:0 18px 55px rgba(66,83,57,.13)}
.top_library_visual{position:relative;display:block;min-height:520px;overflow:hidden;background:#f4efe6}
.top_library_visual>img{position:absolute;width:205%;height:100%;max-width:none;object-fit:cover;object-position:right center;right:0;top:0}
.top_library_catch{position:absolute;left:34px;top:30px;z-index:1;color:#181818;font-family:Georgia,'Times New Roman',serif;font-size:15px;letter-spacing:.18em}
.top_library_editorial{display:flex;padding:42px 48px 38px;flex-direction:column;justify-content:center;background:#fff}
.top_library_brand{display:block;width:min(300px,72%);margin-bottom:14px}
.top_library_brand img{display:block;width:100%;height:auto}
.top_library_lead{margin:0 0 25px;color:#6c6962;font-size:13px;line-height:1.9;letter-spacing:.06em}
.top_library_articles{border-top:1px solid #d9d5cc}
.top_library_article{border-bottom:1px solid #d9d5cc}
.top_library_article>a{display:grid;grid-template-columns:118px minmax(0,1fr);gap:18px;align-items:center;padding:15px 0;color:#3f3e39}
.top_library_article_thumb{display:block;width:118px;aspect-ratio:4/3;overflow:hidden;background:#eeeae2}
.top_library_article_thumb img{display:block;width:100%;height:100%;object-fit:cover}
.top_library_article_text{display:flex;min-width:0;flex-direction:column;align-items:flex-start}
.top_library_article_category{margin-bottom:6px;color:#66855c;font-size:10px;font-weight:700;letter-spacing:.15em}
.top_library_article_title{font-family:'Shippori Mincho',serif;font-size:15px;font-weight:600;line-height:1.65;letter-spacing:.045em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.top_library_article_more{margin-top:7px;color:#88847b;font-family:Georgia,'Times New Roman',serif;font-size:9px;letter-spacing:.16em}
.top_library_empty{padding:35px 0;color:#77736b;font-size:13px}
.top_library_magazine .top_library_cta{position:static;align-self:flex-start;margin-top:24px;padding:11px 22px;box-shadow:none;text-decoration:none}
.top_library_link{position:relative;display:block;overflow:hidden;border-radius:24px;box-shadow:0 18px 55px rgba(66,83,57,.14);transition:transform .3s ease,box-shadow .3s ease}
.top_library_link:hover{transform:translateY(-4px);box-shadow:0 24px 65px rgba(66,83,57,.2)}
.top_library_link img{display:block;width:100%;height:auto}
.top_library_cta{position:absolute;left:9%;bottom:12%;display:inline-flex;align-items:center;gap:18px;padding:13px 25px;border-radius:999px;background:#557849;color:#fff;font-size:14px;letter-spacing:.08em;box-shadow:0 7px 20px rgba(53,82,44,.25)}

.library_archive,.library_single{background:#fbfaf6;color:#4b493f}
.library_inner,.library_single_article{width:min(1120px,calc(100% - 40px));margin:auto}
.library_hero{position:relative;overflow:hidden;background:#eee7da}
.library_hero_visual{display:block;width:100%;max-height:520px;object-fit:cover;object-position:center 44%!important}
.library_eyebrow,.library_section_en{margin:0 0 10px;color:#6c8a5e;font-size:12px;letter-spacing:.2em;font-weight:700}
.library_hero_title{display:flex;align-items:flex-end;justify-content:center;gap:22px;margin:12px 0 0}
.library_hero_title img{display:block;width:clamp(210px,28vw,338px);height:auto}
.library_hero_title span{padding-bottom:3px;color:#668c5b;font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,5vw,64px);font-style:italic;line-height:1;letter-spacing:.045em}
.library_hero>p:last-child{margin:22px 0 0;font-size:16px;letter-spacing:.08em}
.library_concerns,.library_articles{padding:85px 0}
.library_concerns h2,.library_articles h2,.library_pickup h2,.library_related h2{text-align:center;margin:0 0 40px;font-size:clamp(25px,3.2vw,36px);font-weight:500;letter-spacing:.06em}
.library_concerns .library_section_en,.library_articles .library_section_en,.library_pickup .library_section_en{text-align:center}
.library_concern_intro{padding:0 20px 85px;background:#fbfaf6}
.library_concern_intro_inner{position:relative;width:min(960px,100%);margin:auto;padding:55px 80px 50px;background:#fff;border:1px solid #ebe7de;box-shadow:0 16px 42px rgba(65,70,58,.07);text-align:center}
.library_concern_intro_inner::before{content:"";position:absolute;left:50%;top:0;width:86px;height:3px;transform:translateX(-50%);background:linear-gradient(90deg,#62b68f 0 25%,#e6b650 25% 50%,#df81a8 50% 75%,#82acd5 75%)}
.library_concern_intro_label{display:block;margin-bottom:14px;color:#73936a;font-family:Georgia,'Times New Roman',serif;font-size:11px;letter-spacing:.22em}
.library_concern_intro h2{margin:0 0 25px;color:#4b493f;font-family:'Shippori Mincho',serif;font-size:clamp(28px,4vw,42px);font-weight:600;letter-spacing:.1em}
.library_concern_intro p{max-width:760px;margin:0 auto;color:#625f57;font-size:16px;font-weight:400;line-height:2.05;letter-spacing:.055em;text-align:left}
.library_concern_intro strong{display:block;margin-top:22px;color:#4f6848;font-size:15px;line-height:1.8;letter-spacing:.04em}
.library_concern_grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.library_concern_card{--card-accent:#72a47a;position:relative;display:flex;min-height:245px;padding:34px 22px 30px;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;text-align:center;background:linear-gradient(155deg,#fff 0%,#fbfdf9 100%);border:1px solid color-mix(in srgb,var(--card-accent) 25%,#fff);border-radius:30px 30px 30px 8px;color:#4b493f;box-shadow:0 16px 38px rgba(69,79,61,.09);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.library_concern_card:nth-child(2){--card-accent:#d891a8}
.library_concern_card:nth-child(3){--card-accent:#d8ad55}
.library_concern_card:nth-child(4){--card-accent:#7fa4c8}
.library_concern_card::before{content:"";position:absolute;top:-52px;right:-43px;width:132px;height:112px;border:1px solid color-mix(in srgb,var(--card-accent) 35%,transparent);border-radius:47% 53% 42% 58%;transform:rotate(23deg)}
.library_concern_card::after{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:linear-gradient(90deg,var(--card-accent),color-mix(in srgb,var(--card-accent) 30%,#fff))}
.library_concern_card:hover,.library_concern_card.is-active{border-color:var(--card-accent);background:#fff;transform:translateY(-7px);box-shadow:0 22px 44px color-mix(in srgb,var(--card-accent) 18%,transparent)}
.library_concern_number{position:absolute;top:18px;left:20px;color:color-mix(in srgb,var(--card-accent) 75%,#777);font-family:Georgia,serif;font-size:11px;letter-spacing:.15em}
.library_concern_icon{position:relative;display:block;width:62px;height:62px;margin-bottom:12px;border-radius:50%;background:color-mix(in srgb,var(--card-accent) 13%,#fff);color:var(--card-accent)}
.library_concern_icon::before,.library_concern_icon::after{content:"";position:absolute;left:50%;top:50%;box-sizing:border-box}
.library_concern_icon--hair::before{width:24px;height:2px;background:currentColor;transform:translate(-50%,-50%) rotate(38deg);box-shadow:0 0 0 0 currentColor}
.library_concern_icon--hair::after{width:9px;height:9px;border:2px solid currentColor;border-radius:50%;transform:translate(-15px,-12px);box-shadow:19px 15px 0 -2px color-mix(in srgb,var(--card-accent) 13%,#fff),19px 15px 0 0 currentColor}
.library_concern_icon--skin::before{width:26px;height:26px;border:2px solid currentColor;border-radius:50%;transform:translate(-50%,-50%)}
.library_concern_icon--skin::after{width:7px;height:7px;border-radius:50%;background:currentColor;transform:translate(6px,-12px);opacity:.55}
.library_concern_icon--nail::before{width:23px;height:23px;border:2px solid currentColor;border-radius:50% 50% 38% 38%;transform:translate(-50%,-50%) rotate(45deg)}
.library_concern_icon--eye::before{width:32px;height:18px;border-top:2px solid currentColor;border-radius:50%;transform:translate(-50%,-25%)}
.library_concern_icon--eye::after{width:6px;height:6px;background:currentColor;border-radius:50%;transform:translate(-50%,-50%)}
.library_concern_en{margin-bottom:5px;color:var(--card-accent);font-family:Georgia,serif;font-size:10px;letter-spacing:.22em}
.library_concern_card strong{font-size:20px;letter-spacing:.08em}
.library_concern_card small{margin-top:8px;color:#8b887e;font-size:12px}
.library_concern_arrow{position:absolute;right:20px;bottom:16px;color:var(--card-accent);font-size:18px}
.library_articles{background:#f1efe8}
.library_article_grid,.library_salon_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.library_article_card,.library_salon_card{overflow:hidden;background:#fff;border-radius:16px;box-shadow:0 10px 35px rgba(66,70,56,.08);transition:transform .25s ease}
.library_article_card{--article-accent:#72a47a;--article-soft:#e5eee0}
.library_article_card--hair{--article-accent:#72a47a;--article-soft:#e5eee0}
.library_article_card--skin{--article-accent:#d891a8;--article-soft:#f6e5eb}
.library_article_card--nail{--article-accent:#d8ad55;--article-soft:#f7efd9}
.library_article_card--eye{--article-accent:#7fa4c8;--article-soft:#e6eef6}
.library_article_card:hover,.library_salon_card:hover{transform:translateY(-5px)}
.library_article_card>a,.library_salon_card>a{display:block;height:100%;color:inherit}
.library_article_thumb,.library_salon_thumb{aspect-ratio:16/10;overflow:hidden;background:#e9ece5}
.library_article_thumb img,.library_salon_thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.library_article_card:hover img,.library_salon_card:hover img{transform:scale(1.035)}
.library_article_body,.library_salon_body{padding:24px}
.library_article_tag,.library_salon_body>span{display:inline-block;margin-bottom:10px;padding:5px 12px;border-radius:999px;background:#e5eee0;color:#5d7e51;font-size:11px;font-weight:700;letter-spacing:.08em}
.library_article_card .library_article_tag{background:var(--article-soft);color:var(--article-accent)}
.library_article_body h3,.library_salon_body h3{margin:0 0 12px;font-size:19px;line-height:1.65}
.library_article_body p,.library_salon_body p{color:#7b786f;font-size:13px;line-height:1.8}
.library_read_more,.library_salon_body strong{display:block;margin-top:18px;color:#5f8353;font-size:13px;font-weight:700}
.library_article_card .library_read_more{color:var(--article-accent)}
.library_empty{grid-column:1/-1;padding:45px;text-align:center;background:#fff;border-radius:16px}

.library_single{padding:86px 0 100px}
.library_single_article{max-width:1180px}
.library_single_header{position:relative;margin:0 auto 50px;padding:52px 30px 46px;text-align:center;background:#fff;border-top:1px solid #e9e5dc;border-bottom:1px solid #e9e5dc}
.library_single_header::after{content:"";position:absolute;left:50%;bottom:-2px;width:92px;height:4px;transform:translateX(-50%);background:linear-gradient(90deg,#62b68f 0 25%,#e6b650 25% 50%,#df81a8 50% 75%,#82acd5 75%)}
.library_single_header h1{max-width:860px;margin:18px auto 14px;color:#4b493f;font-family:'Shippori Mincho',serif;font-size:clamp(30px,4vw,46px);line-height:1.55;font-weight:600;letter-spacing:.07em;text-align:center}
.library_single_header time{color:#98948b;font-size:12px;letter-spacing:.1em}
.library_single_image{overflow:hidden;max-width:900px;margin:0 auto 55px;border-radius:18px}
.library_single_image img{display:block;width:100%;height:auto}
.library_single_layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start}
.library_single_content{min-width:0;padding:46px 50px;background:#fff;border:1px solid #eee9e0;border-radius:18px;color:#57554f;font-family:'Noto Sans JP',sans-serif;font-size:16px;font-weight:400;line-height:2.05;letter-spacing:.035em;box-shadow:0 12px 35px rgba(65,70,58,.055)}
.library_single_content p{margin:0 0 28px;font-weight:400}
.library_single_content h2{margin:64px 0 28px;padding:20px 24px;border-left:4px solid #75936a;background:#f0f3ec;color:#44433e;font-family:'Shippori Mincho',serif;font-size:26px;font-weight:600;line-height:1.6;letter-spacing:.055em}
.library_single_content h3{margin:45px 0 20px;color:#527047;font-family:'Shippori Mincho',serif;font-size:21px;font-weight:600;line-height:1.65;letter-spacing:.04em}
.library_single_content img{max-width:100%;height:auto;border-radius:12px}
.library_ranking{position:sticky;top:130px;padding:28px 24px;background:#fff;border-top:4px solid #72a47a;box-shadow:0 12px 35px rgba(65,70,58,.06)}
.library_ranking_en{margin:0 0 6px;color:#6c8a5e;font-family:Georgia,'Times New Roman',serif;font-size:10px;letter-spacing:.2em}
.library_ranking h2{margin:0 0 20px;color:#4b493f;font-family:'Shippori Mincho',serif;font-size:20px;font-weight:600;line-height:1.5;letter-spacing:.05em;text-align:left}
.library_ranking_list{list-style:none;margin:0;padding:0}
.library_ranking_list li{border-top:1px solid #e5e2da}
.library_ranking_list li:last-child{border-bottom:1px solid #e5e2da}
.library_ranking_list a{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;padding:15px 0;color:#4b493f;text-decoration:none}
.library_ranking_number{color:#72a47a;font-family:Georgia,serif;font-size:20px;line-height:1.2}
.library_ranking_item{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;align-items:start}
.library_ranking_thumb{display:block;width:58px;height:58px;overflow:hidden;border-radius:4px;background:#edf1e9}
.library_ranking_thumb img{display:block;width:100%;height:100%;object-fit:cover}
.library_ranking_text{font-size:13px;font-weight:600;line-height:1.6;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.library_ranking a:hover .library_ranking_text{text-decoration:underline}
.library_ranking_empty{margin:0;color:#77746d;font-size:13px;line-height:1.8}
.library_pickup{margin-top:90px;padding:65px 45px;background:#edf2e9;border-radius:25px}
.library_pickup_intro{text-align:center;margin:-22px 0 38px;color:#77746d}
.library_salon_grid{gap:20px}
.library_salon_body h3{font-size:18px}
.library_related{margin-top:85px;padding-top:70px;border-top:1px solid #dddcd4}
.library_back{display:table;margin:60px auto 0;padding:13px 25px;border:1px solid #6f8b64;border-radius:999px;color:#547449}

@media(max-width:900px){
  .library_concern_grid{grid-template-columns:repeat(2,1fr)}
  .library_article_grid,.library_salon_grid{grid-template-columns:repeat(2,1fr)}
  .library_single_layout{grid-template-columns:1fr;gap:34px}
  .library_ranking{position:static}
}
@media(max-width:600px){
  .top_library{padding:48px 15px}
  .top_library_link{border-radius:15px}
  .top_library_link img{min-height:235px;object-fit:cover;object-position:center}
  .top_library_cta{left:50%;bottom:12px;transform:translateX(-50%);white-space:nowrap;padding:10px 18px;font-size:12px}
  .top_library_link:hover{transform:none}
  .library_hero_visual{min-height:245px;object-fit:cover;object-position:center 44%!important}
  .library_concerns,.library_articles{padding:60px 0}
  .library_concern_grid{gap:10px}
  .library_concern_card{min-height:190px;padding:26px 10px 20px;border-radius:22px 22px 22px 7px}
  .library_concern_icon{width:48px;height:48px;margin-bottom:12px;font-size:23px}
  .library_concern_card strong{font-size:16px}
  .library_concern_card small{font-size:10px}
  .library_concern_intro{padding:0 15px 60px}
  .library_concern_intro_inner{padding:42px 24px 38px}
  .library_concern_intro p{font-size:14px;line-height:1.95}
  .library_concern_intro strong{font-size:13px;text-align:left}
  .library_article_grid,.library_salon_grid{grid-template-columns:1fr;gap:20px}
  .library_single{padding:70px 0}
  .library_single_article{width:min(100% - 30px,1180px)}
  .library_single_header{margin-bottom:35px;padding:38px 18px 34px}
  .library_single_header h1{font-size:27px;letter-spacing:.04em}
  .library_single_content{padding:32px 22px}
  .library_single_content{font-size:15px;line-height:1.95}
  .library_single_content h2{margin-top:45px;font-size:21px}
  .library_pickup{margin-top:65px;padding:48px 15px;border-radius:18px}
}

@media screen and (min-width: 769px) {
  body.home .top_library_link img {
    width: 100%;
    height: 560px;
    object-fit: cover;
    object-position: center;
  }
}

@media screen and (max-width: 768px) {
  .top_library{padding:48px 15px}
  .top_library_magazine{display:block;min-height:0}
  .top_library_visual{min-height:310px}
  .top_library_visual>img{width:200%;height:100%;object-position:right center}
  .top_library_catch{left:20px;top:20px;font-size:11px;letter-spacing:.14em}
  .top_library_editorial{padding:30px 22px 28px}
  .top_library_brand{width:min(260px,82%);margin-bottom:12px}
  .top_library_lead{margin-bottom:20px;font-size:12px;line-height:1.8}
  .top_library_article>a{grid-template-columns:92px minmax(0,1fr);gap:13px;padding:13px 0}
  .top_library_article_thumb{width:92px}
  .top_library_article_title{font-size:13px;line-height:1.55}
  .top_library_magazine .top_library_cta{margin-top:22px;padding:10px 18px;font-size:11px;transform:none}
  .top_library_link picture {
    display: block;
  }

  .top_library_link img {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  .library_single {
    padding-top: 138px;
  }

  .library_single .library_single_header {
    margin-top: 0;
    padding-top: 32px;
  }

  .library_single .library_single_header h1 {
    margin-top: 14px;
    font-size: 25px;
    line-height: 1.55;
  }

  .library_hero {
    background: #fff !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .library_hero_visual {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: 50% 50% !important;
  }
}

/* LIBRARY article: clean title and readable mobile typography */
.library_single_header::after {
  display: none !important;
  content: none !important;
}

/* =========================================
   TOP LIBRARY MAGAZINE - layout stabilization
   Keep this block last so legacy top-image rules cannot override it.
========================================= */
body.home .top_library .top_library_inner {
  width: min(1180px, 100%);
}

body.home .top_library .top_library_magazine {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  width: 100%;
  min-height: 520px;
}

body.home .top_library .top_library_visual {
  min-width: 0;
  min-height: 520px;
  overflow: hidden;
}

body.home .top_library .top_library_visual > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-width: none;
  object-fit: cover !important;
  object-position: 78% center !important;
}

body.home .top_library .top_library_editorial {
  min-width: 0;
  box-sizing: border-box;
}

body.home .top_library .top_library_article > a {
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  body.home .top_library .top_library_magazine {
    display: block;
    min-height: 0;
  }

  body.home .top_library .top_library_visual {
    min-height: 220px;
    height: 220px;
  }

  body.home .top_library .top_library_visual > img {
    object-position: 78% 38% !important;
  }

  body.home .top_library .top_library_catch {
    left: 18px;
    top: 17px;
    padding: 5px 8px;
    background: rgba(255,255,255,.78);
  }

  body.home .top_library .top_library_editorial {
    padding: 28px 20px 30px;
  }
}

@media screen and (max-width: 768px) {
  .library_single .library_single_header h1 {
    font-size: 21px !important;
    line-height: 1.55 !important;
  }

  .library_single .library_single_content {
    font-size: 15px !important;
    line-height: 2 !important;
  }

  .library_single .library_single_content p {
    margin-bottom: 30px !important;
  }

  .library_single .library_single_content h2 {
    font-size: 20px !important;
    line-height: 1.6 !important;
  }

  .library_single .library_single_content h3 {
    font-size: 18px !important;
    line-height: 1.65 !important;
  }
}

/* TOP LIBRARY: approved white editorial visual and full-size brand */
body.home .top_library .top_library_visual {
  background: #fff;
}

body.home .top_library .top_library_visual > img {
  object-position: center top !important;
}

body.home .top_library .top_library_catch {
  display: none;
}

body.home .top_library .top_library_brand {
  width: min(390px, 92%);
  margin: 0 auto 18px;
  overflow: visible;
}

body.home .top_library .top_library_brand img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

@media screen and (max-width: 768px) {
  body.home .top_library .top_library_visual > img {
    object-position: center 28% !important;
  }

  body.home .top_library .top_library_brand {
    width: min(330px, 96%);
    margin-bottom: 16px;
  }
}

/* TOP LIBRARY: approved single editorial artwork */
body.home .top_library {
  padding: 58px 18px;
  background: #f7f4ed;
}

body.home .top_library .top_library_inner {
  width: min(1450px, 100%);
  max-width: 1450px;
}

body.home .top_library_approved_visual {
  display: block;
  width: 100%;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 18px 55px rgba(66, 83, 57, .12);
  transition: transform .3s ease, box-shadow .3s ease;
}

body.home .top_library_approved_visual:hover {
  transform: translateY(-3px);
  box-shadow: 0 24px 64px rgba(66, 83, 57, .17);
}

body.home .top_library_approved_visual img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}

body.home .top_library_approved_visual picture {
  display: block;
}

@media screen and (max-width: 768px) {
  body.home .top_library {
    padding: 42px 12px;
  }

  body.home .top_library_approved_visual {
    box-shadow: 0 12px 34px rgba(66, 83, 57, .11);
  }

  body.home .top_library_approved_visual:hover {
    transform: none;
  }
}

/* Final overrides for the dynamic TOP LIBRARY component. */
body.home .top_library .top_library_inner{width:min(1180px,100%);max-width:1180px}
body.home .top_library .top_library_magazine{grid-template-columns:minmax(0,46%) minmax(0,54%);min-height:0}
body.home .top_library .top_library_visual{display:flex;height:auto;min-height:0;align-items:center;justify-content:center;background:#fff}
body.home .top_library .top_library_visual{min-height:520px;background:#fff}
body.home .top_library .top_library_visual>img{position:static;inset:auto;display:block;width:100%!important;height:auto!important;min-height:0!important;max-width:100%;object-fit:contain!important;object-position:center!important}
body.home .top_library .top_library_editorial{padding:42px 44px 38px}
body.home .top_library .top_library_brand{width:min(320px,76%);margin:0 auto 8px}
body.home .top_library .top_library_articles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;border:0}
body.home .top_library .top_library_article>a{display:block;height:100%;padding:0}
body.home .top_library .top_library_article_thumb{width:100%;aspect-ratio:16/10}
body.home .top_library .top_library_cta{position:static;align-self:center;margin-top:26px;padding:12px 25px;border:1px solid #222;border-radius:0;background:#fff;box-shadow:none;color:#111;transform:none}
@media screen and (max-width:768px){
  body.home .top_library{padding:44px 14px}
  body.home .top_library .top_library_magazine{display:block;min-height:0}
  body.home .top_library .top_library_visual{height:240px;min-height:240px;background-position:center;background-size:cover}
  body.home .top_library .top_library_visual>img{width:100%!important;height:auto!important;object-fit:contain!important;object-position:center!important}
  body.home .top_library .top_library_editorial{padding:30px 18px 32px}
  body.home .top_library .top_library_brand{width:min(300px,92%);margin:0 auto 5px}
  body.home .top_library .top_library_articles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  body.home .top_library .top_library_cta{margin-top:24px;padding:11px 20px;white-space:nowrap;transform:none}
}


/* =========================================================
   SALONISM LIBRARY category colors + neutral ranking
   Hair=Green / Skin=Pink / Nail=Gold / Eye=Blue
   ========================================================= */
.library_single,
.library_archive{
  --library-accent:#72a47a;
  --library-accent-dark:#527047;
  --library-soft:#edf3e9;
}
.library_single--hair,.library_archive--hair{
  --library-accent:#72a47a;
  --library-accent-dark:#527047;
  --library-soft:#edf3e9;
}
.library_single--skin,.library_archive--skin{
  --library-accent:#d891a8;
  --library-accent-dark:#b96f88;
  --library-soft:#f8e9ef;
}
.library_single--nail,.library_archive--nail{
  --library-accent:#d8ad55;
  --library-accent-dark:#b7862f;
  --library-soft:#f8f0dc;
}
.library_single--eye,.library_archive--eye{
  --library-accent:#7fa4c8;
  --library-accent-dark:#5f86ad;
  --library-soft:#e9f1f8;
}

/* Single article: use the selected concern color consistently */
.library_single .library_single_header::after{
  background:var(--library-accent);
}
.library_single .library_article_tag{
  background:var(--library-soft);
  color:var(--library-accent-dark);
}
.library_single .library_single_content h2{
  border-left-color:var(--library-accent);
  background:var(--library-soft);
}
.library_single .library_single_content h3{
  color:var(--library-accent-dark);
}
.library_single .library_section_en,
.library_single .library_pickup .library_section_en{
  color:var(--library-accent-dark);
}
.library_single .library_pickup{
  background:var(--library-soft);
}
.library_single .library_salon_body>span{
  background:#fff;
  color:var(--library-accent-dark);
}
.library_single .library_salon_body strong,
.library_single .library_read_more{
  color:var(--library-accent-dark);
}
.library_single .library_back{
  border-color:var(--library-accent);
  color:var(--library-accent-dark);
}

/* Filtered LIBRARY category pages */
.library_archive--hair .library_section_en,
.library_archive--skin .library_section_en,
.library_archive--nail .library_section_en,
.library_archive--eye .library_section_en,
.library_archive--hair .library_concern_intro_label,
.library_archive--skin .library_concern_intro_label,
.library_archive--nail .library_concern_intro_label,
.library_archive--eye .library_concern_intro_label{
  color:var(--library-accent-dark);
}
.library_archive--hair .library_concern_intro_inner::before,
.library_archive--skin .library_concern_intro_inner::before,
.library_archive--nail .library_concern_intro_inner::before,
.library_archive--eye .library_concern_intro_inner::before{
  background:var(--library-accent);
}
.library_archive--hair .library_concern_intro strong,
.library_archive--skin .library_concern_intro strong,
.library_archive--nail .library_concern_intro strong,
.library_archive--eye .library_concern_intro strong{
  color:var(--library-accent-dark);
}

/* Ranking is deliberately neutral on every concern page */
.library_single .library_ranking{
  border-top-color:#9b9b97;
}
.library_single .library_ranking_en{
  color:#8c8c88;
}
.library_single .library_ranking_number{
  color:#969692;
}
.library_single .library_ranking_thumb{
  background:#f0f0ed;
}
.library_single .library_ranking_list li,
.library_single .library_ranking_list li:last-child{
  border-color:#e1e1de;
}

/* =========================================================
   FOOTER LIBRARY NAV
   ========================================================= */
.footer-library,
.footer-library *{box-sizing:border-box}
.footer-library{
  width:100%;
  padding:46px 24px 50px;
  background:#fbf8f2;
  border-top:1px solid #f0ece5;
}
.footer-library__inner{
  width:1180px;
  max-width:100%;
  margin:0 auto;
}
.footer-library__heading{
  margin:0 0 28px;
  text-align:center;
}
.footer-library__eyebrow{
  display:block;
  margin-bottom:3px;
  color:#7f8a84;
  font-size:11px;
  font-weight:600;
  letter-spacing:.22em;
}
.footer-library__heading h2{
  margin:0;
  color:#444;
  font-family:"Shippori Mincho",serif;
  font-size:34px;
  font-weight:500;
  letter-spacing:.18em;
  line-height:1.25;
}
.footer-library__heading h2:before,
.footer-library__heading h2:after{
  content:"";
  display:inline-block;
  width:28px;
  height:1px;
  margin:0 16px 9px;
  background:#b8d8cc;
  vertical-align:middle;
}
.footer-library__heading p{
  margin:12px 0 0;
  color:#777;
  font-size:13px;
  letter-spacing:.04em;
}
.footer-library__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.footer-library__card{
  --lib-color:#7b9f73;
  display:flex;
  min-height:260px;
  padding:22px 20px 18px;
  flex-direction:column;
  align-items:center;
  background:#fff;
  border:1px solid color-mix(in srgb, var(--lib-color) 42%, #fff);
  border-radius:8px;
  color:#333;
  text-align:center;
  text-decoration:none!important;
  box-shadow:0 5px 18px rgba(60,50,40,.035);
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;
}
.footer-library__card:hover{
  transform:translateY(-3px);
  background:color-mix(in srgb,var(--lib-color) 4%,#fff);
  box-shadow:0 9px 24px rgba(60,50,40,.07);
}
.footer-library__card--hair{--lib-color:#7fa477}
.footer-library__card--eye{--lib-color:#7fafd4}
.footer-library__card--nail{--lib-color:#caa14e}
.footer-library__card--skin{--lib-color:#d98bb9}
.footer-library__icon{
  display:flex;
  width:66px;
  height:66px;
  margin-bottom:14px;
  align-items:center;
  justify-content:center;
  border:1px solid var(--lib-color);
  border-radius:50%;
  background:color-mix(in srgb,var(--lib-color) 9%,#fff);
  color:var(--lib-color);
  font-family:serif;
  font-size:29px;
  line-height:1;
}
.footer-library__copy h3{
  margin:0 0 4px;
  color:var(--lib-color);
  font-family:"Shippori Mincho",serif;
  font-size:20px;
  font-weight:600;
  line-height:1.35;
}
.footer-library__copy strong{
  display:block;
  margin:0 0 14px;
  color:#333;
  font-size:11px;
  font-weight:700;
  line-height:1.6;
}
.footer-library__copy p{
  min-height:58px;
  margin:0;
  color:#666;
  font-size:12px;
  line-height:1.75;
}
.footer-library__more{
  width:100%;
  margin-top:auto;
  padding-top:14px;
  border-top:1px solid #eeeae4;
  color:var(--lib-color);
  font-size:12px;
  font-weight:700;
  letter-spacing:.03em;
}
.footer-library__more b{
  margin-left:8px;
  font-size:16px;
  font-weight:400;
}
@media (max-width:900px){
  .footer-library{padding:38px 18px 42px}
  .footer-library__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .footer-library__card{min-height:235px;padding:19px 16px 16px}
}
@media (max-width:560px){
  .footer-library{padding:34px 12px 38px}
  .footer-library__heading{margin-bottom:22px}
  .footer-library__heading h2{font-size:27px;letter-spacing:.12em}
  .footer-library__heading h2:before,
  .footer-library__heading h2:after{width:18px;margin:0 8px 7px}
  .footer-library__heading p{font-size:11px}
  .footer-library__grid{gap:10px}
  .footer-library__card{min-height:220px;padding:16px 10px 13px}
  .footer-library__icon{width:52px;height:52px;margin-bottom:10px;font-size:23px}
  .footer-library__copy h3{font-size:17px}
  .footer-library__copy strong{margin-bottom:9px;font-size:10px}
  .footer-library__copy p{min-height:70px;font-size:10.5px;line-height:1.65}
  .footer-library__more{padding-top:10px;font-size:11px}
}


/* ===== SALONISM LINE SHARE ===== */
.salonizm-line-share{
  margin:42px 0 28px;
  padding:24px 18px;
  background:#fafafa;
  border:1px solid #ededed;
  border-radius:10px;
  text-align:center;
  box-sizing:border-box;
}
.salonizm-line-share__lead{
  margin:0 0 14px!important;
  color:#555!important;
  font-size:14px!important;
  line-height:1.7!important;
  font-weight:500!important;
}
.salonizm-line-share__button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-width:220px!important;
  padding:12px 22px!important;
  border-radius:999px!important;
  background:#06C755!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1!important;
  box-shadow:none!important;
  transition:opacity .2s ease, transform .2s ease!important;
}
.salonizm-line-share__button:hover{
  color:#fff!important;
  opacity:.88!important;
  transform:translateY(-1px);
}
.salonizm-line-share__icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:34px!important;
  flex:0 0 34px!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#06C755!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:-.03em!important;
}
@media(max-width:700px){
  .salonizm-line-share{
    margin:30px 0 22px!important;
    padding:20px 12px!important;
  }
  .salonizm-line-share__lead{
    font-size:12px!important;
    margin-bottom:12px!important;
  }
  .salonizm-line-share__button{
    width:100%!important;
    max-width:300px!important;
    min-width:0!important;
    padding:11px 18px!important;
    font-size:13px!important;
  }
}
/* ===================================
   TOP SALONISM REVIEW
=================================== */

#top_review {
  width: 100%;
  background: #f8f5ef;
  padding: 70px 0;
}

#top_review .top_review_inner {
  width: min(1100px, 92%);
  margin: 0 auto;
  display: flex;
  align-items: stretch;
  min-height: 420px;
  background: #fff;
}

#top_review .top_review_text {
  width: 42%;
  padding: 60px 50px;
  box-sizing: border-box;
}

#top_review .top_review_sub {
  margin: 0 0 4px;
  font-size: 18px;
  letter-spacing: 0.28em;
  font-family: serif;
}

#top_review .top_review_title {
  margin: 0 0 16px;
  font-size: 64px;
  line-height: 1;
  letter-spacing: 0.08em;
  font-family: serif;
  font-weight: 400;
}


#top_review .top_review_catch {
  margin: 0 0 14px;
  font-size: 24px;
  line-height: 1.6;
}

#top_review .top_review_desc {
  margin: 0 0 18px;
  font-size: 14px;
  line-height: 2;
}

#top_review .top_review_button {
  display: inline-block;
  padding: 18px 34px;
  background: #222;
  color: #fff;
  text-decoration: none;
  font-size: 15px;
  letter-spacing: 0.08em;
}

#top_review .top_review_visual {
  width: 54%;
  min-height: 480px;
}

#top_review .top_review_placeholder {
  width: 100%;
  height: 100%;
  min-height: 0px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #eee9e2;
  font-size: 18px;
  letter-spacing: 0.15em;
}

@media screen and (max-width: 768px) {

  #top_review {
    padding: 40px 0;
  }

  #top_review .top_review_inner {
    width: 92%;
    display: block;
  }

  #top_review .top_review_text,
  #top_review .top_review_visual {
    width: 100%;
  }

  #top_review .top_review_text {
    padding: 40px 25px;
  }

  #top_review .top_review_title {
    font-size: 46px;
  }

  #top_review .top_review_catch {
    font-size: 20px;
  }

  #top_review .top_review_visual,
  #top_review .top_review_placeholder {
    min-height: 280px;
  }
}
#top_review .top_review_placeholder img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
  display: block;
}
/* ===================================
   SALONISM REVIEW PAGE
=================================== */

#review_page {
  background: #faf8f4;
  padding-bottom: 70px;
}

/* REVIEW ロゴ */
#review_page .review_page_header {
  text-align: center;
  padding: 60px 20px 35px;
  background: #fff;
}

#review_page .review_page_header p {
  margin: 0 0 5px;
  font-family: serif;
  font-size: 16px;
  letter-spacing: 0.35em;
}

#review_page .review_page_header h1 {
  margin: 0;
  font-family: serif;
  font-size: 60px;
  font-weight: 400;
  letter-spacing: 0.12em;
  line-height: 1.5;
}

#review_page .review_page_header span {
  display: block;
  margin-top: 12px;
  font-family: serif;
  font-size: 18px;
  font-style: italic;
  color: #b98a33;
  letter-spacing: 0.08em;
}

/* ジャンルボタン */
#review_page .review_category {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 35px 20px;
  background: #fff;
}

#review_page .review_category button {
  border: 1px solid #d8d4ce;
  background: #fff;
  padding: 11px 24px;
  border-radius: 30px;
  font-size: 13px;
  letter-spacing: 0.08em;
  cursor: pointer;
}

#review_page .review_category button:first-child {
  background: #222;
  color: #fff;
  border-color: #222;
}

/* フォトギャラリー */
#review_page .review_gallery {
  width: min(1180px, 92%);
  margin: 45px auto 0;
}

#review_page .review_grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
}

/* 各写真カード */
#review_page .review_card {
  background: #fff;
  overflow: hidden;
}

#review_page .review_card a {
  display: block;
  color: #222;
  text-decoration: none;
}

#review_page .review_card_image {
    width: 100%;
    overflow: hidden;
    background: #eee;
}

#review_page .review_card_image img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.4s ease;
}

#review_page .review_card:hover .review_card_image img {
  transform: scale(1.03);
}

#review_page .review_card_info {
  padding: 15px 5px 22px;
}

#review_page .review_card_category {
  display: inline-block;
  margin-bottom: 8px;
  font-size: 11px;
  letter-spacing: 0.12em;
  color: #15916f;
  font-weight: 600;
}

#review_page .review_card_title {
  margin: 0 0 10px;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 600;
}

#review_page .review_card_salon {
  margin: 0;
  font-size: 12px;
  color: #777;
}
#review_page .review_card {
  background: #fff;
  overflow: hidden;
  height: 290px;
}

#review_page .review_card a {
  display: flex;
  flex-direction: column;
  height: 100%;
}

#review_page .review_card_image {
  height: 150px;
  aspect-ratio: auto;
  flex-shrink: 0;
}

#review_page .review_card_info {
  flex: 1;
  padding: 12px 6px 14px;
  display: flex;
  flex-direction: column;
}

#review_page .review_card_title {
  margin: 0 0 8px;
  min-height: 48px;
}

#review_page .review_card_salon {
  margin-top: 0;
}

/* スマホ */
@media screen and (max-width: 768px) {

  #review_page .review_page_header {
    padding: 45px 20px 25px;
  }

  #review_page .review_page_header h1 {
    font-size: 44px;
  }

  #review_page .review_page_header span {
    font-size: 15px;
  }

  #review_page .review_category {
    gap: 8px;
    padding: 25px 15px;
  }

  #review_page .review_category button {
    padding: 9px 15px;
    font-size: 11px;
  }

  #review_page .review_gallery {
    width: 92%;
    margin-top: 30px;
  }

  #review_page .review_grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  #review_page .review_card_title {
    font-size: 14px;
  }

  #review_page .review_card_salon {
    font-size: 11px;
  }
}
#review_page .review_category button.is-active {
  background: #222;
  color: #fff;
  border-color: #222;
}

#review_page .review_category button:first-child:not(.is-active) {
  background: #fff;
  color: #222;
  border-color: #d8d4ce;
}
#review_page .review_category button.is-active {
  background: #222;
  color: #fff;
  border-color: #222;
}

#review_page .review_category button:first-child:not(.is-active) {
  background: #fff;
  color: #222;
  border-color: #d8d4ce;
}
/* TOP REVIEW ジャンルタグ */
#top_review .top_review_tags {
  display: flex;
  gap: 10px;
  margin: 0 0 18px;
  flex-wrap: wrap;
}

#top_review .top_review_tags span {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  padding-bottom: 4px;
  border-bottom: 2px solid;
}

#top_review .top_review_tags .tag-hair {
  color: #2f9f7a;
  border-color: #2f9f7a;
}

#top_review .top_review_tags .tag-esthe {
  color: #d89a3a;
  border-color: #d89a3a;
}

#top_review .top_review_tags .tag-nail {
  color: #d97aa7;
  border-color: #d97aa7;
}

#top_review .top_review_tags .tag-eyelash {
  color: #6aa8d8;
  border-color: #6aa8d8;
}
@media screen and (min-width: 769px) {
  #top_review .top_review_visual {
    width: 54%;
    height: 450px;
    min-height: 0;
    align-self: center;
  }

  #top_review .top_review_placeholder {
    height: 100%;
    min-height: 0;
  }

  #top_review .top_review_placeholder img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    display: block;
  }
}
@media screen and (max-width: 768px) {
  #top_review .top_review_visual {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .top_library_visual {
    display: none !important;
  }
}
/* サロンオーナーさまへ：コンセプト見出し調整 */
.szo-statement__body {
    grid-template-columns: 1.65fr 1fr;
    gap: 7%;
}

.szo-statement h2 {
    font-size: clamp(30px, 3.2vw, 44px);
    line-height: 1.45;
}

.szo-statement h2 span {
    display: block;
    white-space: nowrap;
}
/* コンセプト部分・PC最終調整 */
@media screen and (min-width: 901px) {
    .szo-statement__body {
        grid-template-columns: minmax(0, 2fr) minmax(250px, 1fr) !important;
        gap: 5% !important;
        align-items: center !important;
    }

    .szo-statement h2 {
        min-width: 0 !important;
        font-size: 36px !important;
        line-height: 1.55 !important;
    }

    .szo-statement__body > p {
        min-width: 0 !important;
    }
}
/* 無料掲載ボタン下の説明文 */
.szo-micro {
    display: block !important;
    margin-top: 28px !important;
    line-height: 1.8 !important;
}
/* SUPPORT見出しをPCで1行表示 */
@media screen and (min-width: 901px) {
    .szo-support__heading {
        grid-template-columns: 0.8fr 2.2fr 1fr !important;
        gap: 4% !important;
    }

    .szo-support__heading h2 {
        font-size: 42px !important;
        white-space: nowrap !important;
    }
}
/* 仮LINEアイコンを非表示 */
.szo-line__icon {
    display: none !important;
}
/* コンセプト部分・スマホ修正 */
@media screen and (max-width: 900px) {
    .szo-statement {
        display: block !important;
        padding: 64px 22px !important;
    }

    .szo-statement .szo-index {
        margin-bottom: 28px !important;
    }

    .szo-statement__body {
        display: block !important;
    }

    .szo-statement h2 {
        margin: 0 0 24px !important;
        font-size: 28px !important;
        line-height: 1.55 !important;
    }

    .szo-statement h2 span {
        display: block !important;
        white-space: normal !important;
    }

    .szo-statement__body > p {
        margin: 0 !important;
    }
}
/* スマホ：3本グラフの高さ調整 */
@media screen and (max-width: 900px) {
    .szo-hero__visual {
        min-height: 390px !important;
        padding: 70px 5% 50px !important;
    }

    .szo-arch {
        height: 180px !important;
    }

    .szo-arch--main {
        height: 240px !important;
    }

    .szo-arch--short {
        height: 150px !important;
    }
}
/* ===================================
   SALONISM SELECT
=================================== */
.salonizm_select {
  padding: 72px 4% 80px;
  background: #fbf8f2;
}

.salonizm_select_inner {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
}

.salonizm_select_heading {
  position: relative;
  margin-bottom: 42px;
  text-align: center;
}

.salonizm_select_heading::before,
.salonizm_select_heading::after {
  content: "";
  position: absolute;
  top: 22px;
  width: 34%;
  height: 1px;
  background: #b99a58;
}

.salonizm_select_heading::before {
  left: 0;
}

.salonizm_select_heading::after {
  right: 0;
}

.salonizm_select_heading h2 {
  margin: 0;
  color: #b99a58;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 38px;
  font-style: italic;
  font-weight: 600;
  letter-spacing: 0.03em;
}

.salonizm_select_heading p {
  margin: 6px 0 0;
  color: #333;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.18em;
}

.salonizm_select_feature {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
  gap: 58px;
  align-items: center;
}

.salonizm_select_image img {
  display: block;
  width: 100%;
  height: auto;
}

.salonizm_select_content {
  text-align: left;
}

.salonizm_select_number {
  display: block;
  margin-bottom: 10px;
  color: #4f956f;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  font-style: italic;
  font-weight: 600;
}

.salonizm_select_content h3 {
  margin: 0 0 24px;
  color: #222;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 52px;
  font-weight: 400;
  letter-spacing: 0.12em;
}

.salonizm_select_copy {
  margin: 0 0 26px;
  color: #252525;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 21px;
  line-height: 1.9;
  letter-spacing: 0.05em;
}

.salonizm_select_description {
  margin: 0 0 30px;
  color: #555;
  font-size: 15px;
  line-height: 1.9;
}

.salonizm_select_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 245px;
  padding: 14px 26px;
  border-radius: 999px;
  background: #4f7f48;
  color: #fff !important;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-decoration: none !important;
  transition: opacity 0.3s ease;
}

.salonizm_select_button:hover {
  opacity: 0.8;
}

/* スマホ */
@media screen and (max-width: 767px) {
  .salonizm_select {
    padding: 48px 20px 55px;
  }

  .salonizm_select_heading {
    margin-bottom: 28px;
  }

  .salonizm_select_heading::before,
  .salonizm_select_heading::after {
    top: 15px;
    width: 14%;
  }

  .salonizm_select_heading h2 {
    font-size: 27px;
  }

  .salonizm_select_heading p {
    font-size: 11px;
  }

  .salonizm_select_feature {
    display: block;
  }

  .salonizm_select_image {
    margin-bottom: 24px;
  }

  .salonizm_select_content {
    text-align: center;
  }

  .salonizm_select_number {
    margin-bottom: 6px;
    font-size: 18px;
  }

  .salonizm_select_content h3 {
    margin-bottom: 16px;
    font-size: 40px;
  }

  .salonizm_select_copy {
    margin-bottom: 18px;
    font-size: 17px;
    line-height: 1.8;
  }

  .salonizm_select_description {
    margin-bottom: 24px;
    font-size: 13px;
  }

  .salonizm_select_button {
    min-width: 230px;
    padding: 13px 22px;
  }
}
.salonizm_select_product_type {
  display: inline-block;
  margin-left: 10px;
  font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.08em;
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .salonizm_select_product_type {
    margin-left: 6px;
    font-size: 14px;
  }
}
.salonizm_select_content h3 {
  display: flex;
  align-items: baseline;
  gap: 8px;
  white-space: nowrap;
}

.salonizm_select_product_type {
  margin-left: 0;
}
@media screen and (max-width: 767px) {
  .salonizm_select_content h3 {
    justify-content: center;
  }
}
/* ===================================
   SALONISM SELECT 詳細ページ
=================================== */
.select_page {
  background: #fbf8f2;
  color: #333;
}

.select_page_inner {
  width: calc(100% - 80px);
  max-width: 1180px;
  margin: 0 auto;
}

/* ページタイトル */
.select_page_hero {
  padding: 90px 0 85px;
  text-align: center;
  background: #fff;
}

.select_page_label {
  margin: 0 0 18px;
  color: #4f956f;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.18em;
}

.select_page_hero h1 {
  margin: 0;
  color: #b99a58;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 52px;
  font-style: italic;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.select_page_kana {
  margin: 8px 0 0;
  color: #333;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.2em;
}

.select_page_intro {
  margin: 38px 0 0;
  color: #555;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 17px;
  line-height: 2;
  letter-spacing: 0.05em;
}

/* CE.ROタイトル */
.select_item {
  padding: 95px 0 110px;
}

.select_item_header {
  margin-bottom: 50px;
  text-align: center;
}

.select_item_number {
  display: block;
  margin-bottom: 10px;
  color: #4f956f;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-style: italic;
  font-weight: 600;
}

.select_item_header h2 {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 12px;
  margin: 0 0 28px;
  color: #222;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 58px;
  font-weight: 400;
  letter-spacing: 0.12em;
}

.select_item_header h2 span {
  font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.08em;
}

.select_item_catch {
  margin: 0;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 25px;
  line-height: 1.9;
  letter-spacing: 0.08em;
}

/* メイン画像 */
.select_item_mainvisual {
  margin-bottom: 90px;
}

.select_item_mainvisual img {
  display: block;
  width: 100%;
  height: auto;
}

/* 商品ストーリー */
.select_item_story {
  display: grid;
  grid-template-columns: minmax(280px, 0.85fr) minmax(0, 1.15fr);
  gap: 80px;
  align-items: center;
  max-width: 1030px;
  margin: 0 auto 110px;
}

.select_item_product img {
  display: block;
  width: 100%;
  height: auto;
}

.select_item_small_title {
  margin: 0 0 16px !important;
  color: #4f956f;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 13px !important;
  font-weight: 600;
  letter-spacing: 0.2em;
}

.select_item_story_text h3 {
  margin: 0 0 30px;
  color: #333;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 29px;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.05em;
}

.select_item_story_text p {
  margin: 0 0 20px;
  color: #555;
  font-size: 15px;
  line-height: 2.1;
}

/* 共通見出し */
.select_item_section_heading {
  margin-bottom: 48px;
  text-align: center;
}

.select_item_section_heading p {
  margin: 0 0 8px;
  color: #4f956f;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.2em;
}

.select_item_section_heading h3 {
  margin: 0;
  color: #333;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0.06em;
}

/* 4つの特徴 */
.select_item_points {
  margin-bottom: 110px;
  padding: 75px 55px;
  background: #fff;
}

.select_item_point_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.select_item_point {
  padding: 30px 22px;
  border-top: 1px solid #b99a58;
  text-align: center;
}

.select_item_point span {
  color: #b99a58;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 21px;
  font-style: italic;
}

.select_item_point h4 {
  margin: 16px 0 14px;
  color: #333;
  font-size: 16px;
}

.select_item_point p {
  margin: 0;
  color: #666;
  font-size: 13px;
  line-height: 1.9;
  text-align: left;
}

/* 商品ラインナップ */
.select_item_lineup {
  max-width: 940px;
  margin: 0 auto;
}

.select_item_lineup_box {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 65px;
  align-items: center;
  padding: 55px;
  background: #fff;
}

.select_item_lineup_box img {
  display: block;
  width: 100%;
  height: auto;
}

.select_item_lineup_text h4 {
  margin: 0 0 28px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 23px;
  font-weight: 400;
  letter-spacing: 0.05em;
}

.select_item_lineup_text dl {
  margin: 0 0 32px;
}

.select_item_lineup_text dl div {
  display: flex;
  justify-content: space-between;
  gap: 25px;
  padding: 15px 0;
  border-bottom: 1px solid #ddd;
}

.select_item_lineup_text dt,
.select_item_lineup_text dd {
  margin: 0;
  font-size: 15px;
}

.select_item_shop_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 250px;
  padding: 15px 25px;
  border-radius: 999px;
  background: #4f7f48;
  color: #fff !important;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-decoration: none !important;
}

.select_item_shop_button:hover {
  opacity: 0.8;
}

/* 次回予告 */
.select_page_next {
  padding: 75px 20px;
  background: #edf3eb;
  text-align: center;
}

.select_page_next p {
  margin: 0 0 10px;
  color: #4f956f;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.2em;
}

.select_page_next h2 {
  margin: 0 0 12px;
  color: #555;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  font-weight: 400;
  letter-spacing: 0.08em;
}

.select_page_next span {
  color: #666;
  font-size: 13px;
}

/* スマホ */
@media screen and (max-width: 767px) {
  .select_page_inner {
    width: calc(100% - 40px);
  }

  .select_page_hero {
    padding: 60px 0;
  }

  .select_page_label {
    font-size: 11px;
  }

  .select_page_hero h1 {
    font-size: 36px;
  }

  .select_page_kana {
    font-size: 11px;
  }

  .select_page_intro {
    margin-top: 28px;
    font-size: 14px;
  }

  .select_item {
    padding: 65px 0 75px;
  }

  .select_item_header {
    margin-bottom: 35px;
  }

  .select_item_number {
    font-size: 20px;
  }

  .select_item_header h2 {
    gap: 7px;
    margin-bottom: 20px;
    font-size: 42px;
    white-space: nowrap;
  }

  .select_item_header h2 span {
    font-size: 14px;
  }

  .select_item_catch {
    font-size: 19px;
  }

  .select_item_mainvisual {
    margin-bottom: 60px;
  }

  .select_item_story {
    display: block;
    margin-bottom: 75px;
  }

  .select_item_product {
    max-width: 360px;
    margin: 0 auto 38px;
  }

  .select_item_story_text h3 {
    font-size: 23px;
  }

  .select_item_story_text p {
    font-size: 14px;
  }

  .select_item_points {
    margin-right: -20px;
    margin-bottom: 75px;
    margin-left: -20px;
    padding: 55px 20px;
  }

  .select_item_section_heading {
    margin-bottom: 35px;
  }

  .select_item_section_heading h3 {
    font-size: 23px;
  }

  .select_item_point_list {
    grid-template-columns: 1fr 1fr;
    gap: 15px;
  }

  .select_item_point {
    padding: 24px 10px;
  }

  .select_item_point h4 {
    font-size: 14px;
  }

  .select_item_point p {
    font-size: 12px;
  }

  .select_item_lineup_box {
    display: block;
    padding: 30px 24px;
  }

  .select_item_lineup_box img {
    max-width: 320px;
    margin: 0 auto 30px;
  }

  .select_item_lineup_text h4 {
    font-size: 19px;
    text-align: center;
  }

  .select_item_shop_button {
    display: flex;
    width: 100%;
    min-width: 0;
  }

  .select_page_next {
    padding: 55px 20px;
  }
}
/* CE.RO見出しの追従・横切れを解除 */
.select_page .select_item_header {
  position: static !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  z-index: auto !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 0 50px !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: none !important;
}

.select_page .select_item_catch {
  position: static !important;
  width: 100% !important;
  max-width: 700px !important;
  margin: 0 auto !important;
  overflow: visible !important;
  white-space: normal !important;
  text-align: center !important;
  transform: none !important;
}
@media screen and (max-width: 767px) {
  .select_page .select_item_mainvisual {
    display: none !important;
  }

  .select_page .select_item_story {
    margin-top: 35px;
  }}
/* ===================================
   PCヘッダー：SALON GUIDE削除後のバランス調整
=================================== */
@media screen and (min-width: 768px) {

  .header_nav {
    width: 100% !important;
  }

  .header_nav > ul {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 38px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .header_nav > ul > li {
    margin: 0 !important;
    flex: 0 0 auto !important;
  }
}.header_nav > ul > li > a {
  display: block !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
}
@media screen and (min-width: 768px) {

  .header_nav > ul > li > a {
    padding-top: 0 !important;
    padding-bottom: 6px !important;
    line-height: 1.2 !important;
  }

  .header_nav > ul > li {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }
}
@media screen and (min-width: 768px) {

  .header_nav > ul > li {
    position: relative !important;
    padding-bottom: 8px !important;
  }

  .header_nav > ul > li::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    bottom: 0 !important;
    transform: translateX(-50%) !important;
    width: 78px !important;
    height: 3px !important;
  }

  .header_nav > ul > li > a {
    padding-bottom: 0 !important;
  }
}
@media screen and (min-width: 768px) {

  .header_nav > ul > li {
    border-bottom: none !important;
  }

  .header_nav > ul > li > a {
    border-bottom: none !important;
  }
}
@media screen and (min-width: 768px) {

  .header_nav > ul > li {
    position: relative !important;
    padding-bottom: 10px !important;
    margin-bottom: 0 !important;
  }

  .header_nav > ul > li::after {
    bottom: 0 !important;
  }

  .header_nav > ul > li > a {
    padding-bottom: 20px !important;
    line-height: 1.15 !important;
  }
}
/* PCヘッダー：メニュー下線を文字に近づける */
@media screen and (min-width: 768px) {

  .header_nav > ul > li::after {
    bottom: 15px !important;
  }

}
.salon-guide-subtitle {
  text-align: center;
  font-size: 18px;
  color: #555;
  margin: 12px 0 28px;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
  .salon-guide-subtitle {
    font-size: 15px;
    margin: 10px 0 20px;
  }
}
.salon-guide-subtitle {
  text-align: center;
  font-size: 18px;
  color: #666;
  margin: 12px 0 28px;
  letter-spacing: 0.05em;
}
/* トップページ 公式LINE 一時非表示 */
.salonism_line {
    display: none !important;
}
/* トップページ FOLLOW US も一時非表示 */
.section_divider {
    display: none !important;
}
/* PCトップ画像の高さ調整 */
@media screen and (min-width: 768px) {

  .first_view,
  .first_view_single {
    height: 470px !important;
    min-height: 470px !important;
    overflow: hidden !important;
  }

  .first_view_single img {
    width: 105% !important;
    height: 105% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
  }
}@media screen and (min-width: 768px) {
  .first_view_single img {
    object-fit: cover !important;
    object-position: center 15% !important;
  }
}
@media screen and (max-width: 767px) {

  .first_view,
  .first_view_single {
    height: 270px !important;
    min-height: 250px !important;
    overflow: hidden !important;
  }

  .first_view_single img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 40% !important;
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  .top_library_cta {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 86% !important;
    max-width: 360px !important;
    min-height: 54px !important;

    margin: 28px auto 18px !important;
    padding: 14px 22px !important;

    font-size: 16px !important;
    letter-spacing: 0.04em !important;
    border-radius: 30px !important;
  }
}

/* PDF review corrections — 2026-09-03 */
#salonism-front-page .first_view,
#salonism-front-page .first_view_single {
  width:100%!important; min-width:0!important; height:auto!important;
  min-height:0!important; max-height:none!important; overflow:visible!important;
}
#salonism-front-page .first_view_single { position:relative!important; }
#salonism-front-page .first_view_single img {
  display:block!important; position:static!important; width:100%!important;
  min-width:0!important; max-width:100%!important; height:auto!important;
  min-height:0!important; max-height:none!important; object-fit:contain!important;
  transform:none!important; margin:0!important;
}
#salonism-front-page .first_view_search_link { inset:0!important; width:100%!important; height:100%!important; transform:none!important; }
#salonism-front-page .salonism-phrase { display:inline-block; max-width:100%; }
#salonism-front-page .salon-guide-subtitle { padding-inline:12px; line-height:1.8; text-wrap:balance; }
#salonism-front-page .layout_topics,
#salonism-front-page .layout_topics > a,
#salonism-front-page .topics_item,
#salonism-front-page .topics_text { min-width:0!important; max-width:100%!important; box-sizing:border-box; }
#salonism-front-page .topics_text { width:100%!important; height:auto!important; }
#salonism-front-page .topics_title,
#salonism-front-page .topics_title_wrap {
  display:block!important; width:auto!important; min-width:0!important;
  max-width:100%!important; height:auto!important; max-height:none!important;
  white-space:normal!important; overflow:visible!important; overflow-wrap:anywhere;
  -webkit-line-clamp:unset!important; text-overflow:clip!important;
}
#salonism-front-page .layout_topics { height:auto!important; }
#salonism-front-page .more_button .button_arrow,
#salonism-front-page .more_button p br { display:none!important; }
#salonism-front-page .more_button p::after { content:"→"!important; display:inline!important; position:static!important; background:none!important; border:0!important; width:auto!important; height:auto!important; transform:none!important; margin-left:.5em; }
/* All view buttons: explicit background and foreground in every state. */
#salonism-front-page .more_button,
#salonism-front-page .top_library_cta,
#salonism-front-page .salonizm_select_button,
#salonism-front-page .top_review_button,
#salonism-front-page .sp_recruit_button {
  --view-button-color:#62b69f;
  background:var(--view-button-color)!important;
  border-color:var(--view-button-color)!important;
  color:#fff!important;
}
#salonism-front-page #top_topics .more_button { --view-button-color:#b39456; }
#salonism-front-page .top_news .more_button { --view-button-color:#e47fa0; }
#salonism-front-page .top_beauty .more_button { --view-button-color:#cc83b8; }
#salonism-front-page .top_haircare .more_button { --view-button-color:#729fc9; }
#salonism-front-page :is(.more_button,.top_library_cta,.salonizm_select_button,.top_review_button,.sp_recruit_button):is(:hover,:focus-visible,:visited,:active) {
  background:var(--view-button-color)!important;
  border-color:var(--view-button-color)!important;
  color:#fff!important;
}
#salonism-front-page .more_button p,
#salonism-front-page .more_button:is(:hover,:focus-visible,:visited,:active) p {
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
}
#salonism-front-page .more_button > img { display:none!important; }
#salonism-front-page :is(.more_button,.top_library_cta,.salonizm_select_button,.top_review_button):focus-visible {
  outline:2px solid #355e52; outline-offset:4px;
}
.salonism-library-wordmark { text-align:center; color:#4c493f; font-family:Georgia,serif; line-height:1.15; padding:14px 0; }
.salonism-library-wordmark span { display:block; font-size:clamp(19px,2.5vw,30px); letter-spacing:.2em; }
.salonism-library-wordmark strong { display:block; font-size:clamp(32px,4vw,50px); font-weight:500; letter-spacing:.12em; }
/* Each editorial card has one full-card click target. */
.szeXCard { position:relative!important; }
.szeXCard .szeXBtn::after,
.szeXCard .szeXInsta::after { content:""!important; position:absolute!important; inset:0!important; z-index:2!important; transform:none!important; border:0!important; background:transparent!important; }
.szeX--notice .szeXNotice .szeXBtn,
.szeXCard .szeXBtn,
.szeXCard .szeXInsta { position:static!important; transform:none!important; }
.szeXCard, .footer-category-card, .footer-library a,
footer a, #salonism-front-page a { transition:opacity .25s ease, background-color .25s ease, color .25s ease!important; }
.szeXCard:hover { opacity:.82; }
.szeXCard:focus-within { outline:2px solid #078e6b; outline-offset:3px; }
html { scroll-padding-top:var(--salonism-header-offset,100px); }
body.salonism-measured-header > main { padding-top:var(--salonism-header-offset)!important; }
@media (prefers-reduced-motion:reduce) {
  .szeXCard, .footer-category-card, .footer-library a, footer a,
  #salonism-front-page a { transition:none!important; }
}

/* View button hover feedback — 2026-09-03 */
#salonism-front-page :is(.more_button,.top_library_cta,.salonizm_select_button,.top_review_button,.sp_recruit_button) {
  transition:filter .2s ease, background-color .2s ease!important;
  filter:brightness(1)!important;
}
@media (hover:hover) {
  #salonism-front-page :is(.more_button,.top_library_cta,.salonizm_select_button,.top_review_button,.sp_recruit_button):hover,
  #salonism-front-page a:hover .sp_recruit_button {
    filter:brightness(.86)!important;
  }
}
#salonism-front-page :is(.more_button,.top_library_cta,.salonizm_select_button,.top_review_button,.sp_recruit_button):focus-visible,
#salonism-front-page a:focus-visible .sp_recruit_button {
  filter:brightness(.86)!important;
}
@media (prefers-reduced-motion:reduce) {
  #salonism-front-page :is(.more_button,.top_library_cta,.salonizm_select_button,.top_review_button,.sp_recruit_button) {
    transition:none!important;
  }
}

/* Slim photographs on category article listings. */
.salonism-news-archive .salonism-news-thumb,
.library_articles .library_article_thumb,
.szm-journal-page .szm-page-image {
 height:auto !important;
 min-height:0 !important;
 aspect-ratio:2.4 / 1 !important;
 overflow:hidden;
}
.salonism-news-archive .salonism-news-thumb img,
.library_articles .library_article_thumb img,
.szm-journal-page .szm-page-image img {
 display:block !important;
 width:100% !important;
 height:100% !important;
 object-fit:cover !important;
 object-position:center !important;
}

/* Four-column category article listings on desktop. */
@media(min-width:1001px){
 .salonism-news-archive .salonism-news-list,
 .library_articles .library_article_grid,
 .szm-journal-page .szm-page-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:28px 24px !important;
 }
}

/* Compact LIBRARY landing page. */
.library_archive{padding-top:32px}
.library_archive .library_inner{width:min(960px,calc(100% - 40px))}
.library_archive .library_hero{width:min(960px,calc(100% - 40px));margin:0 auto;padding:0;height:100px;min-height:0}
.library_archive .library_hero_visual{width:100%;height:auto;min-height:0;max-height:none}
.library_archive .library_concerns{padding:40px 0}
.library_archive .library_concerns h2{font-size:28px;margin-bottom:26px}
.library_archive .library_concern_grid{gap:16px}
.library_archive .library_concern_card{min-height:180px;padding:24px 12px 20px;border-radius:22px 22px 22px 7px}
.library_archive .library_concern_icon{width:46px;height:46px;margin-bottom:8px}
.library_archive .library_concern_card strong{font-size:17px}
.library_archive .library_concern_card small{font-size:11px;margin-top:6px}
.library_archive .library_concern_intro{padding-bottom:40px}
.library_archive .library_concern_intro_inner{width:min(840px,100%);padding:30px 40px}
.library_archive .library_concern_intro h2{font-size:28px;margin-bottom:18px}
.library_archive .library_concern_intro p{font-size:15px}
.library_archive .library_articles{padding:40px 0}
.library_archive .library_articles h2{font-size:28px;margin-bottom:26px}
@media(max-width:767px){
 .library_archive{padding-top:24px}
 .library_archive .library_hero{height:auto}
 .library_archive .library_concerns h2{font-size:23px}
 .library_archive .library_concern_card{min-height:160px;padding:24px 8px 18px}
 .library_archive .library_concern_card strong{font-size:16px}
 .library_archive .library_concern_card small{font-size:10px}
 .library_archive .library_concern_intro_inner{padding:26px 20px}
}

/* SALONISM: consistent category identity and article scale. */
.salonism-news-archive{--category-accent:#ce7391;--category-soft:#fbeef2}
.salonism-news-archive--beauty{--category-accent:#e5769c;--category-soft:#fff2f6}
.salonism-news-archive--hair{--category-accent:#6aa8e5;--category-soft:#edf5ff}
.salonism-news-archive{background:var(--category-soft)!important}
.salonism-news-archive .salonism-news-heading{color:var(--category-accent)!important}
.salonism-news-archive .salonism-news-title{color:#333!important}
.salonism-news-archive .salonism-news-heading,.salonism-news-archive .salonism-news-link,.salonism-news-archive .salonism-news-item{border-color:var(--category-accent)!important}
.salonism-news-archive .salonism-news-category{background:var(--category-accent)!important;color:#fff!important}
.szm-news-detail{background:color-mix(in srgb,var(--category-accent) 7%,white)}
.szm-news-detail .news_article_title{color:#333!important}
.szm-news-detail .news_article_body h2,.szm-news-detail .news_popular_sidebar{border-color:var(--category-accent)!important}
.szm-news-detail .news_article_body h3{color:var(--category-accent)}
.library_single .library_single_header h1,.library_archive .library_concern_intro h2{color:var(--library-accent-dark)!important}
.library_single .library_single_header{max-width:760px;padding:24px 0;background:transparent;text-align:left}
.library_single .library_single_header h1{font-size:27px!important;line-height:1.55;text-align:left;letter-spacing:.04em}
.library_single .library_single_image{max-width:760px;border-radius:0;margin:28px auto 42px}
.library_single .library_single_image img{max-height:520px;object-fit:contain}
.library_single .library_single_article{max-width:1120px}
.library_single .library_single_content{font-size:17px;padding:42px 44px;line-height:2}
@media(max-width:700px){.library_single .library_single_content{padding:26px 20px;font-size:16px}.library_single .library_single_header h1{font-size:24px!important}}

/* Salon listing invitation: mint background with readable dark text. */
#szo-line.szo-line { background: #68b7a5; color: #102f27; }
#szo-line .szo-eyebrow,
#szo-line > div > p:last-child,
#szo-line .szo-line__action small { color: #102f27; }

/* SALONISM: LIBRARY末尾のおすすめサロンに編集部コメント（2026-10-28） */
.library_salon_comment{font-size:13px;line-height:1.8;color:#5d635c;margin:6px 0 10px}

/* SALONISM 2026-10-29: サロンオーナーさまへ「SALON LISTING」を /owner/ と同じダークグレー基調に */
#szo-line.szo-line{background:#2d2d2d;color:#fff}
#szo-line .szo-eyebrow{color:#a9a9a4;letter-spacing:.2em}
#szo-line h2{color:#fff}
#szo-line > div > p:last-child,#szo-line .szo-line__action small{color:#c9c9c4}
#szo-line .szo-button--line{background:#fff;color:#181818!important;border:1px solid #fff;border-radius:999px;justify-content:center;transition:background .2s,color .2s}
#szo-line .szo-button--line:hover,#szo-line .szo-button--line:focus-visible{background:transparent;color:#fff!important}
