@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Maven+Pro:wght@400;500;700&family=Noto+Sans+JP:wght@300;400;500;600;700&family=Zen+Kaku+Gothic+New&display=swap');

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}

main,
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ul {
  list-style: none;
}

ul li {
  list-style-type: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
}

del {
  text-decoration: line-through;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

input,
select {
  vertical-align: middle;
}

input,
button,
textarea,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
  border-radius: 0;
  color: inherit;
  background: transparent;
  border: none;
  margin: 0;
  padding: 0;
}

label {
  cursor: pointer;
}

input[type='number']::-webkit-outer-spin-button,
input[type='number']::-webkit-inner-spin-button,
input[type='month']::-webkit-outer-spin-button,
input[type='month']::-webkit-inner-spin-button,
input[type='datetime-local']::-webkit-outer-spin-button,
input[type='datetime-local']::-webkit-inner-spin-button,
input[type='week']::-webkit-outer-spin-button,
input[type='week']::-webkit-inner-spin-button,
input[type='time']::-webkit-outer-spin-button,
input[type='time']::-webkit-inner-spin-button,
input[type='date']::-webkit-outer-spin-button,
input[type='date']::-webkit-inner-spin-button {
  display: none;
}

input[type='number'],
input[type='month'],
input[type='datetime-local'],
input[type='week'],
input[type='time'],
input[type='date'] {
  -moz-appearance: textfield;
}

input[type='date']::-webkit-clear-button,
input[type='month']::-webkit-clear-button,
input[type='datetime-local']::-webkit-clear-button,
input[type='time']::-webkit-clear-button,
input[type='week']::-webkit-clear-button {
  -webkit-appearance: none;
}

select::-ms-expand {
  display: none;
}

input::-ms-clear {
  visibility: hidden;
}

html {
  font-size: 62.5%;
}

html,
body {
  height: 100%;
}

ul,
ul li {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

ol {
  padding-left: 1.4em;
  list-style: none;
}

dl {
  margin-bottom: 0;
}

dl dt {
  margin-bottom: 0;
}

dl dd {
  margin-bottom: 0;
}

a {
  transition: 0.3s all;
  color: #000;
  opacity: 1;
  -webkit-transform: 0.3s all;
          transform: 0.3s all;
}

a:hover {
  text-decoration: none;
}

h2,
h3,
h4,
h5,
h6 {
  line-height: 1.5;
}

h2 > span,
h3 > span,
h4 > span,
h5 > span,
h6 > span {
  display: inline-block;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

p {
  margin-bottom: 0;
}

iframe {
  width: 100%;
}

sup {
  font-size: 90%;
  top: -0.1em;
}

sup.s {
  font-size: 62.5%;
  top: -0.5em;
}

figcaption {
  padding-top: 4px;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: 0.3s all;
}

body .whiteday{
	width: 100%;
	height: 100%;
	_font-family: noto-sans-cjk-jp, sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #333;
	line-height: 1.6;
	-webkit-text-size-adjust: 100%;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	_font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: 400;
	font-style: normal;
}

.fwb { font-weight: bold; }
.pc_none { display: none; }
.sp_none { display: block; }

@media screen and (max-width: 768px) {
  .pc_none { display: block; }
  .sp_none { display: none; }
}

/*.contents {
	position: relative;
	z-index: 0;
}*/

.fadein {
	opacity : 0.1;
	transform : translate(0, 50px);
	transition : all 1s;
}

.fadein.scrollin {
	opacity : 1;
	transform : translate(0, 0);
}


/******したからふわっと*********/

.fadein-item {
	opacity: 0;
	visibility: hidden;
	transition: 1.5s all;
	transform: translateY(60px);
	/*animation-name: fadein;
    animation-duration: 2s;*/
}
  
.fadein-item.show {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/******************************/
/***LP共通***/
.beauty{
  /* font-family: 'Noto Sans JP', sans-serif; */
  /* _font-family: noto-sans-cjk-jp, sans-serif; */
  font-family: "Zen Maru Gothic", sans-serif;

}

.beauty .shop h2{
  font-family: 'Maven Pro', sans-serif;
  text-align: center;
  font-size: 2.5rem;
  border-bottom: 1px solid #d3d3d3;
  padding-bottom: 1.0em;
  position: relative;
}

.beauty .shop h2 span{
  display: block;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-size: 1.2rem;
}


/*********/


.beauty .mv{
  /* max-width: 1100px; */
  /* _width: calc(1020px + (100% - 1020px)/2);
  _height: 100svh;
  _height: 620px; */
  width: 100%;
  /* height: 486px; */
  /* _max-height: 735px;
  _margin-left: auto; */
  /* margin: 0 auto; */
  overflow-y: hidden;
  position: relative;
}

.beauty .mv .mv-img{
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center;
}

.beauty .mv .title{
  width: 304px;
  border-left: 5px solid #000;
  padding-left: 15px;
  position: absolute;
  z-index: 10;
  top: 32%;
  left: 70px;
  /*top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);*/
  
  animation: mv-anime03 3.0s forwards;
}

@keyframes mv-anime03{
  0%{
    opacity: 0;
  }
  25%{
    opacity: 0;
  }
  50%{
    opacity: 1;
  }

}

.beauty .mv .title h1{
  font-size: 3.6rem;
  font-family: 'Maven Pro', sans-serif;
  line-height: 1.2;
}

.beauty .mv .title h1 span.sub{
  display: block;
  font-size: 2.0rem;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: bold;
}

.beauty .mv .title ul.en{
  font-size: 1.2rem;
  font-family: 'Maven Pro', sans-serif;
}

.beauty .mv .title ul.en li{
  line-height: 1.4;
}

.beauty .mv .mv01{
  position: absolute;
  left: 40px;
  bottom: 0;
  animation: mv-anime 3.0s forwards;
}

@keyframes mv-anime{
  0%{
    opacity: 0;
  }
  50%{
    opacity: 0;
  }
  75%{
    opacity: 1;
  }

}

/* .beauty .mv .mv01:before{
  content: '';
  display: block;
  background: url(../img/img_mv_sub.png) no-repeat;
  background-size: contain;
  width: 125px;
  height: 110px;
  position: absolute;
  top: -103px;
  right: -65px;
}

.beauty .mv .mv02{
  position: absolute;
  right: 40px;
  top: 7%;
  _top: 40px;
  _bottom: 90px;
  animation: mv-anime02 3.0s forwards;
} */

@keyframes mv-anime02{
  0%{
    opacity: 0;
  }
  75%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }

}

@media screen and (max-width: 768px) {
  .beauty .mv{
    width: 100%;
    _height: 100svh;
    _height: calc(100vh - 97px);
    _height: calc(100svh - 97px);
    /* height: 610px; */
    /* padding: 0 5%; */
  }

  /* .beauty .mv .mv01{
    width: 90%;
    left: 5%;
    top: 0;
    bottom: auto;
  }

  .beauty .mv .mv01 img{
    width: 100%;
  }

  .beauty .mv .mv01:before{
    display: none;
  }

  .beauty .mv .mv02{
    width: 90%;
    right: 5%;
    top: auto;
    bottom: 25px;
  }

  .beauty .mv .mv02:before{
    content: '';
    display: block;
    background: url(../img/img_mv_sub.png) no-repeat;
    background-size: contain;
    width: 99px;
    height: 80px;
    position: absolute;
    top: -85px;
    right: 0;
  } */

  .beauty .mv .title{
    _top: 43%;
    top: 33%;
    left: 5%;
  }

  .beauty .mv .title h1{
    font-size: 2.6rem;
  }

  .beauty .mv .title h1 span.sub{
    font-size: 1.5rem;
  }

  .beauty .mv .title ul.en{
    font-size: 1.0rem;
  }
}

@media screen and (max-width: 768px) and (max-height: 667px) {
  .beauty .mv{
    /* height: 570px; */
  }
}


/****コピー*****/
.beauty .copy-area{
  max-width: 600px;
  margin: -45px auto 70px;
}

.beauty .copy-area p{
  line-height: 2.0;
  text-align: center;
  font-weight: 500;
  font-size: 1.7rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #333333;
  line-height: 2.3;
}

@media screen and (max-width: 768px) {
  .beauty .copy-area{
    width: 100%;
    margin-top: 20px;
    margin-bottom: 40px;
    padding: 0 5%;
  }

  .beauty .copy-area p{
    font-size: 1.3rem !important;
  }

  /* .beauty .copy-area p br{
    display: none;
  } */
}

/****ナビ*****/
.beauty .nav{
  max-width: 520px;
  margin: 0 auto;
}

/* .beauty .nav .sp-nav-title{
  display: none;
} */

.beauty .nav .nav-menu{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.beauty .nav .nav-menu li a{
  display: block;
  text-decoration: none;
  font-family: 'Maven Pro', sans-serif;
  font-size: 1.4rem;
  color: #000;
}

.beauty .nav .nav-menu li a:hover{
  text-decoration: underline;
  text-underline-offset: 0.5em;
}



/* 4つのボタンを2列×2段に並べるための親要素 */
.mv-link-grid {
  display: grid;
  grid-template-columns: repeat(2, 237px);
  gap: 40px 114px;
  justify-content: center;
  margin: 0 auto;
}

/* ボタン本体のスタイル */
.mv-link-box{
  margin-bottom: 153px;
}
.mv-link-btn:link{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 251px;
  height: 42px;
  box-sizing: border-box;
  position: relative;
  text-decoration: none;
  border-radius: 0 15px 0 15px; /* 右上と左下だけ15px */
  
  /* 【変更】文字色 */
  color: #333; 
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  
  /* 【変更】初期状態の背景（グラデーションを保持しつつ、アニメーションできるように設定） */
  background: linear-gradient(to bottom, #FBF4FF, #EBF8FF);
  background-size: 100% 100%;
  
  /* アニメーションのスムーズさ（0.3秒かけて変化） */
  transition: color 0.3s ease, background 0.3s ease;
}

/* 右辺に垂直に交わる横線 */
.mv-link-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -14px; /* 初期位置：半分（14px）はみ出す */
  
  width: 28px; /* 初期の長さ */
  height: 1px;
  background-color: #333;
  
  /* 【重要】変形（横伸び）の基準点を「左端」に設定することで、右側に向かって伸びるようになります */
  transform-origin: left center;
  
  /* アニメーションのスムーズさ（0.3秒かけて変化） */
  transition: transform 0.3s ease;
}

/* ==========================================
   ホバー（マウスを乗せたとき）の動き
========================================== */

.mv-link-btn:hover {
  /* 四角（背景）を少し薄くする：
     元のグラデーションに、白（rgbaの255,255,255）を30%（0.3）混ぜて白っぽく見せています */
  background: linear-gradient(to bottom, rgba(251, 244, 255, 0.7), rgba(235, 248, 255, 0.7));
  
  /* 必要であれば、文字の色も少しだけ薄く（グレーに）します（不要ならこの1行は削除してください） */
  color: #666; 
}

/* ホバー時に、擬似要素の線だけを動かす */
.mv-link-btn:hover::after {
  /* transform: scaleX(2) で横幅だけを「倍」に伸ばします。
     上で設定した translateY(-50%) も一緒に書く必要があります */
  transform: translateY(-50%) scaleX(2);
  
  /* ここには opacity などを指定しないため、線は薄くならず #333 のままハッキリ残ります */
}

@media screen and (max-width:768px) {
  /* 4つのボタンを2列×2段に並べるための親要素 */
  .mv-link-grid {
    display: grid;
    grid-template-columns: repeat(1, 173px);
    gap: 20px 0;
    justify-content: center;
    margin: 0 auto;
  }

  /* ボタン本体のスタイル */
  .mv-link-box{
    margin-bottom: 0px;
  }
  .mv-link-btn:link{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 173px;
    height: 31px;
    box-sizing: border-box;
    position: relative;
    text-decoration: none;
    border-radius: 0 10px 0 10px; /* 右上と左下だけ15px */
    
    /* 【変更】文字色 */
    color: #333; 
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 1.5rem;
    font-weight: 500;
    
    /* 【変更】初期状態の背景（グラデーションを保持しつつ、アニメーションできるように設定） */
    background: linear-gradient(to bottom, #FBF4FF, #EBF8FF);
    background-size: 100% 100%;
    
    /* アニメーションのスムーズさ（0.3秒かけて変化） */
    transition: color 0.3s ease, background 0.3s ease;
  }

  /* 右辺に垂直に交わる横線 */
  .mv-link-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -14px; /* 初期位置：半分（14px）はみ出す */
    
    width: 20px; /* 初期の長さ */
    height: 1px;
    background-color: #333;
    
    /* 【重要】変形（横伸び）の基準点を「左端」に設定することで、右側に向かって伸びるようになります */
    transform-origin: left center;
    
    /* アニメーションのスムーズさ（0.3秒かけて変化） */
    transition: transform 0.3s ease;
  }

  /* ==========================================
    ホバー（マウスを乗せたとき）の動き
  ========================================== */

  .mv-link-btn:hover {
    /* 四角（背景）を少し薄くする：
      元のグラデーションに、白（rgbaの255,255,255）を30%（0.3）混ぜて白っぽく見せています */
    background: linear-gradient(to bottom, rgba(251, 244, 255, 0.7), rgba(235, 248, 255, 0.7));
    
    /* 必要であれば、文字の色も少しだけ薄く（グレーに）します（不要ならこの1行は削除してください） */
    color: #666; 
  }

  /* ホバー時に、擬似要素の線だけを動かす */
  .mv-link-btn:hover::after {
    /* transform: scaleX(2) で横幅だけを「倍」に伸ばします。
      上で設定した translateY(-50%) も一緒に書く必要があります */
    transform: translateY(-50%) scaleX(2);
    
    /* ここには opacity などを指定しないため、線は薄くならず #333 のままハッキリ残ります */
  }
}




/* ==========================================
   固定ナビゲーション（全体・背景）
========================================== */
.sticky-nav {
  position: fixed;
  top: 0; /* ヘッダーの下にぴったり合わせる場合は、ヘッダーの高さ（例: top: 70px;）を指定してください */
  left: 0;
  width: 100%;
  height: 56px;
  z-index: 999; /* 他の要素より前面に出す */
  
  /* 白の半透明背景（今後グラデーションに変えやすいようlinear-gradientにしています） */
  background: linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8));
  
  /* 下の要素をすりガラス風にぼかす設定 */
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px); /* Safari対策 */
  
  /* 初期状態は非表示（透明＆少し上に隠しておく） */
  opacity: 0;
  visibility: hidden;
  transform: translateY(-20px);
  
  /* 表示・非表示が切り替わるときのアニメーション */
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
}

/* JSで「.is-show」というクラスがついたら画面に現れる */
.sticky-nav.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* ==========================================
   ナビのインナー（幅840pxの中央配置）
========================================== */
.beauty .sticky-nav-inner {
  max-width: 840px;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  
  display: grid;
  /* 【ここを大修正！】
     4つのボタンの幅を「中身の文字の長さ（max-content）」に合わせます。
     これで1つ目と4つ目のボタンの「余分な左右の隙間」がゼロになります。
  */
  grid-template-columns: max-content auto max-content auto max-content auto max-content;
  
  /* 【ここがポイント！】
     これによって、1つ目と4つ目は840pxの両端にガチッと固定され、
     残った真ん中の余白スペースが2等分されて、縦線の左右に均等に配分されます。
  */
  justify-content: space-between; 
  align-items: center;
}

/* ==========================================
   ナビのボタン（各項目）
========================================== */
.sticky-nav-item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-decoration: none;
  color: #333;
  font-size: 17px;
  font-weight: 500;
  transition: opacity 0.2s ease;
  
  /* 文字下に線が入るのを完全に防ぐ */
  border: none; 
}

.sticky-nav-item:link{
  color: #333333;
  font-size: 1.7rem;
  /* font-weight: bold; */
  /* font-family: "Zen Old Mincho", serif; */
  text-decoration: none;
}

.sticky-nav-item:hover {
  opacity: 0.6; /* ホバー時は全体が少し薄くなるだけで、下線などは出ません */
}

/* ==========================================
   【新設】ボタン同士の真ん中に入る縦線
========================================== */
.sticky-nav-divider {
  width: 1px;       /* 太さ1px */
  height: 16px;     /* 高さ16px */
  background-color: #4B4B4B; /* 色#4B4B4B */
  pointer-events: none; /* マウス反応を無効化 */
}

/* JSで「.fixed」というクラスがついたら画面に現れる */
.sticky-nav.fixed {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}




/*固定メニュー*/
.beauty .sticky-nav.fixed{
  position: fixed;
  top: 80px;
  z-index: 9999;
  /* background-image: url(../img/btn-bg-pc.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain; */
  width: 100%;
  max-width: initial;
  backdrop-filter: blur(10px);/*背景のぼかし*/
  -webkit-backdrop-filter: blur(10px);
}

/* .beauty .sticky-nav.fixed .nav-menu{
  width: 520px;
  margin: 0 auto;
  padding: 20px 0;
} */

.beauty .sticky-nav.fixed::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1; /* 文字（aタグなど）の後ろに配置 */
  
  /* 現在の背景画像の設定をそのまま引っ越し */
  background-image: url(../img/btn-bg-pc.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  
  /* ① 背景画像だけを60%透過（不透明度40%）にする */
  opacity: 0.4; 
}

/* ==========================================
   スマートフォン用（SP）のスタイル設定
========================================== */
@media screen and (max-width: 767px) {
  
  /* --- ① 全体コンテナの制御 --- */
  .beauty .sticky-nav.fixed {
    top: 55px; /* SP時は画面最上部に固定（お好みで 80px 等に調整してください） */
    height: 56px; /* 閉じている時は56pxの高さ */
    overflow: hidden;
    transition: height 0.4s ease, backdrop-filter 0.4s ease;
    background-image: url(/umedamise/topics/servicesearch/assets/img/nav_bg_sp0.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  }

  /* ハンバーガーメニューが開いた時 */
  .beauty .sticky-nav.fixed.is-open {
    height: auto; /* 画面いっぱいに広げる */
    overflow-y: auto; /* コンテンツが溢れたらスクロール可能に */
    background-image: url(/umedamise/topics/servicesearch/assets/img/nav_bg_sp02.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  }

  /* --- ② 背景画像の設定（閉じている時・開いている時） --- */
  .beauty .sticky-nav.fixed::before {
    /* 既存の contain だと左右に余白ができる場合があるため cover に設定 */
    background-size: cover; 
    background-position: center top; /* 常に上部を基準にする */
    transition: opacity 0.4s ease;
  }

  /* --- ③ SP用ヘッダー（タイトル画像 ＆ 十字ボタン） --- */
  .sp-nav-header {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 56px;
    position: relative;
    z-index: 10;
  }

  /* 中央のタイトル画像 */
  .sp-nav-title{
    display: block;
  }

  .sp-nav-title img {
    display: block;
    height: 14px; /* 画像の高さ。バランスを見て調整してください */
    width: 178px;
  }

  /* 右側の十字ボタン（タップ領域を広めに44px確保） */
  .sp-menu-toggle {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* 十字の構造（長さ13px、太さ1px、色#4B4B4B） */
  .toggle-icon {
    position: relative;
    width: 13px;
    height: 13px;
  }
  /* 横棒 */
  .toggle-icon::before {
    content: "";
    position: absolute;
    top: 6px; /* (13px - 1px) / 2 */
    left: 0;
    width: 13px;
    height: 1px;
    background-color: #4B4B4B;
    transition: transform 0.3s ease;
  }
  /* 縦棒 */
  .toggle-icon::after {
    content: "";
    position: absolute;
    left: 6px; /* (13px - 1px) / 2 */
    top: 0;
    width: 1px;
    height: 13px;
    background-color: #4B4B4B;
    transition: transform 0.3s ease;
  }

  /* 開いた時は十字を45度回転させて「マサラクロス」にする（お好みで通常×にすることも可） */
  .sticky-nav.fixed.is-open .toggle-icon::before {
    transform: rotate(45deg);
  }
  .sticky-nav.fixed.is-open .toggle-icon::after {
    transform: rotate(45deg);
  }

  /* --- ④ リンクメニュー（展開部分）の縦並び配置 --- */
  .beauty .sticky-nav-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    /* height: calc(100vh - 56px); 画面全体からヘッダー分を引いた高さ */
    /* padding-bottom: 60px; 少し上に持ち上げてバランスを整える */
    box-sizing: border-box;
    height: auto;
    padding: 13px 0;
  }

  /* PC用の縦線をSP時は非表示にする */
  .sticky-nav-divider {
    display: none;
  }

  /* リンクボタンのSP用共通設定 */
  .sticky-nav-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: auto;
    padding: 5px 0; /*ボタンの上下の隙間（タップしやすさ）*/
    font-size: 12px !important;
    font-weight: 500 !important;
    text-align: center;
    position: relative;
  }

  /* リンクボタン同士の間のライン（長さ128px、太さ0.5px、色#4B4B4B） */
  /* :not(:last-child) を使うことで、一番最後のボタンの下にはラインが出ません */
  .sticky-nav-item:not(:last-child)::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 128px;
    height: 0.5px;
    background-color: #4B4B4B;
  }
}

/* ==========================================
   PC用のリセット（PCの時はSP用の要素を消す）
========================================== */
@media screen and (min-width: 768px) {
  .sp-nav-header {
    display: none;
  }
}




/* @media screen and (max-width: 768px) {
  .beauty .nav{
    width: 100%;
    padding: 0 5%;
  }

  .beauty .sticky-nav.fixed{
    top: 55px;
    background: rgba(255,255,255,1.0);
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .beauty .nav .sp-nav-title{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }

  .beauty .nav .sp-nav-title .sp-title{
    border-left: 3px solid #000;
    padding-left: 10px;
    width: calc(100% - 50px);
  }

  .beauty .nav .sp-nav-title .sp-title p{
    font-size: 2.2rem !important;
    font-family: 'Maven Pro', sans-serif;
  }

  .beauty .nav .sp-nav-title .sp-title p span.sub{
    font-size: 1.2rem;
    display: block;
    font-family: 'Zen Kaku Gothic New', sans-serif;
  }

  .beauty .nav .sp-nav-title .sp-btn{
    width: 40px;
  }

  .beauty .nav .sp-nav-title .sp-btn .openbtn{
    position: relative;
  }

  .beauty .nav .sp-nav-title .sp-btn .openbtn .icon{
    display: inline-block;
    width: 100%;
    height: 100%;
  }

  .beauty .nav .sp-nav-title .sp-btn .openbtn .icon:before,
  .beauty .nav .sp-nav-title .sp-btn .openbtn .icon:after {
    position: absolute;
    content: "";
    display: block;
    transition: all 0.4s;
    background: #000;
    left: 50%;
    top: 50%;
    width: 50%;
    height: 2px;
    transform: translate(-50%, -50%);
  }

  .beauty .nav .sp-nav-title .sp-btn .openbtn .icon:before{
    transform: translate(-50%, -50%) rotate(90deg);
  }

  .beauty .nav .sp-nav-title .sp-btn .openbtn .icon.open:before{
    transform: translate(-50%, -50%) rotate(0deg);
  }

  .beauty .nav .nav-menu{
    _opacity: 0;
    display:none;
    width: 100%;
    margin-top: 25px;
    padding: 0 5% 60px;
  }

  .beauty .nav .nav-menu li{
    width: 100%;
    line-height: 3.0;
  }
} */

/****肌解析サービス*****/
/* ==========================================
   肌解析サービス（コンテンツ全体の大枠）
========================================== */
.skin-analysis {
  max-width: 840px;
  width: 100%;
  margin: 0 auto;
  padding-top: 80px; /* 上のナビゲーションとの間隔 */
  
  /* 要素下のmargin（次のコンテンツとの間隔をしっかり確保） */
  margin-bottom: 120px; 
}

/* ==========================================
   ① コンテンツタイトルエリア
========================================== */
.skin-analysis-title-area {
  display: flex;
  flex-direction: column;
  align-items: center; /* 中身をすべて中央揃えにする */
  margin-bottom: 60px; /* タイトルエリア下の余白 */
  /* 【背景画像の設定】 */
  background-image: url('../img/title-bg-01.png'); /* 実際の背景画像のパスに書き換えてください */
  background-repeat: no-repeat;
  background-position: center; /* 画像を文字の中央に配置 */
  background-size: contain;    /* 画像が切れたり歪んだりせず綺麗に収まる設定 */
}

/* サブタイトル（ボーダーで囲まれた四角：w275px / h32px） */
.skin-analysis-sub-title {
  display: flex;
  align-items: center;
  justify-content: center;
  
  /* デザインカンプ指定のサイズ */
  width: 275px;
  height: 32px; 
  box-sizing: border-box;
  
  /* 四角の枠線（色や太さはカンプに合わせて調整してください） */
  border: 1px solid #333; 
  
  /* 【書体設定】サブタイトル用のフォント（ゴシック体等） */
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 17px;
  color: #333;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  
  margin-bottom: 12px; /* サブタイトルとメインタイトルの間の隙間 */
}

/* メインタイトル（背景画像あり） */
.skin-analysis-title {
  display: inline-block; /* 背景画像のサイズを文字の幅に合わせるため */
  text-align: center;
  
  /* 【書体設定】メインタイトル用のフォント */
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-size: 3.3rem;
  color: #333;
  margin: 0;
  
  
  
  /* 画像と文字の重なり具合を調整するための文字周りの余白 */
  /* padding: 10px 40px;  */
}

/* ==========================================
   ② 2列並びのグリッド構造
========================================== */
.skin-analysis-grid {
  display: grid;
  grid-template-columns: repeat(2, 350px); /* 350pxの列を2つ作成 */
  justify-content: space-between; /* 840pxの中で左右の端にピッタリ寄せる */
  gap: 50px 0;
}

/* 1つの要素（幅350px固定・高さは中身に準ずる） */
.analysis-item {
  width: 350px;
  display: flex;
  flex-direction: column;
}

/* ==========================================
   画像エリアとパーツ重ね合わせの設定
========================================== */
.analysis-img-box {
  /* 画像のサイドにpaddingが入る可能性を考慮してあらかじめ設定（不要なら0に） */
  /* padding: 0 15px;  */
  text-align: center;
  margin-bottom: 30px;
}

/* ロゴ画像 */
.analysis-logo {
  display: block;
  width: auto;
  max-width: 100%;
  height: 56px;
  margin: 0 auto 40px;
  /* border: 1px solid #bebebe; */
}

/* バナー画像の位置基準用のラッパー */
.banner-wrapper {
  position: relative; /* 今後重ねるパーツ画像の基準点（原点）になります */
  width: 100%;
  padding: 0 25px;
}
.banner-wrapper.skin_item02 {
  padding: 0 25px 33px;
}
/*バナー画像基準に配置する画像*/
.banner-pop{
  position: absolute;
  bottom: 0px;
  right: 0;
}
.banner-pop-item{
  width: 100px;
  height: 120px;
}

/* バナー画像本体 */
.analysis-banner {
  display: block;
  width: 100%;
  height: auto;
  /* border-radius: 8px; 角を少し丸くする場合（不要なら削除） */
}

/* ★今後バナーにパーツ画像を重ねる場合のCSS（必要時に数値を調整してください） */
.analysis-overlay-part {
  position: absolute;
  top: -10px;    /* バナーの上端からの位置調整 */
  right: -10px;  /* バナーの右端からの位置調整 */
  width: 60px;   /* 重ねるパーツのサイズ */
  height: auto;
  z-index: 2;
}

/* ==========================================
   テキストエリア（要素の幅350pxいっぱい）
========================================== */
.analysis-info-box {
  width: 100%;
}

/* サービス名 */
.analysis-name {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 2.2rem;
  color: #333;
  margin-bottom: 10px;
  line-height: 1.1;
}

/* サービスについての説明 */
.analysis-desc {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
  color: #333333;
  line-height: 1.6;
  margin-bottom: 10px;
}
.analysis-desc sup{
  font-size: 0.8rem;
  vertical-align: top;
}
@media only screen and (max-width: 767px) {
  .analysis-info-box p.kome{
    font-size: 12px !important;
  }
}

/* 所要時間 */
.analysis-time {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 1.7rem;
  color: #333333;
  font-weight: bold;
  /* margin-top: auto; 説明の長さが左右で違っても、所要時間を一番下に綺麗に揃える */
}

/* ==========================================
   ③ 【新設】3列並びのショップグリッド構造
========================================== */
.analysis-shop-grid {
  display: grid;
  /* 幅220pxの列を3つ作成 */
  grid-template-columns: repeat(3, 220px); 
  /* 3つの要素の間のスキマ（お好みで調整してください） */
  gap: 50px 40px; 
  /* 840pxの大枠の中で、3つまとめて中央に寄せる設定 */
  justify-content: center; 
  
  /* 上にある2列要素との間隔 */
  margin-top: 80px; 
}

/* 1つのショップ要素（幅220px固定・高さは中身に準ずる） */
.shop-item {
  width: 220px;
  display: flex;
  flex-direction: column; /* 中身を縦並びにする */
  align-items: center;    /* 中身を中央揃えにする */
  text-align: center;
}

/* ショップのロゴ画像 */
.shop-logo {
  display: block;
  max-width: 140px; /* ロゴのサイズに合わせて調整してください */
  height: auto;
  margin-bottom: 25px;
  border: 1px solid #bebebe;
}

/* 所要時間テキスト */
.shop-time {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.7rem;
  font-weight: bold;
  color: #333;
  line-height: 1.4;
  /* margin-bottom: 5px; */
}

/* 時間の内訳テキスト（ある場合のみ表示、ない場合は自動で詰まります） */
.shop-breakdown {
  font-size: 1.7rem;
  color: #666;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 20px;
  min-height: 26px; /* ★内訳が「ある要素」と「ない要素」でボタンの位置がズレるのを防ぐ設定 */
}

/* VIEW MOREボタン（角丸21px、背景色#E2EDFF） */
.shop-view-more:link{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 220px;  /* ボタンの幅（220pxの中で綺麗に見えるサイズにしています） */
  height: 42px; /* 高さを42pxにすると、角丸21px（半分の値）で綺麗なカプセル型になります */
  background-color: #E2EDFF;
  border-radius: 21px; /* ご指定の角丸21px */
  
  /* 文字のスタイル */
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.8rem;
  color: #333;
  font-weight: bold;
  text-decoration: none;
  
  /* ボタンを常に一番下に固定するおまじない */
  margin-top: auto; 
  transition: background-color 0.2s ease, opacity 0.2s ease;
}

/* ボタンのホバー時 */
.shop-view-more:hover {
  background-color: #DBDBDB;
    opacity: 0.5;
}

@media screen and (max-width:768px) {
  /****肌解析サービス*****/
/* ==========================================
   肌解析サービス（コンテンツ全体の大枠）
========================================== */
.skin-analysis {
  /* max-width: 325px; */
  width: 100%;
  margin: 0;
  padding-top: 80px; /* 上のナビゲーションとの間隔 */
  
  /* 要素下のmargin（次のコンテンツとの間隔をしっかり確保） */
  /* margin-bottom: 120px;  */
}

/* ==========================================
   ① コンテンツタイトルエリア
========================================== */
.skin-analysis-title-area {
  display: flex;
  flex-direction: column;
  align-items: center; /* 中身をすべて中央揃えにする */
  margin-bottom: 35px; /* タイトルエリア下の余白 */
  /* 【背景画像の設定】 */
  background-image: url('/umedamise/topics/servicesearch/assets/img/title-bg-01-sp.png'); /* 実際の背景画像のパスに書き換えてください */
  background-repeat: no-repeat;
  background-position: center; /* 画像を文字の中央に配置 */
  background-size: contain;    /* 画像が切れたり歪んだりせず綺麗に収まる設定 */
}

/* サブタイトル（ボーダーで囲まれた四角：w275px / h32px） */
.skin-analysis-sub-title {
  /* display: flex; */
  /* align-items: center; */
  /* justify-content: center; */
  
  /* デザインカンプ指定のサイズ */
  width: 211px;
  height: 23px; 
  /* box-sizing: border-box; */
  
  /* 四角の枠線（色や太さはカンプに合わせて調整してください） */
  /* border: 1px solid #333;  */
  
  /* 【書体設定】サブタイトル用のフォント（ゴシック体等） */
  /* font-family: "Zen Kaku Gothic New", sans-serif; */
  font-size: 1.3rem !important;
  /* color: #333; */
  /* font-weight: 500; */
  line-height: 1.3;
  /* text-align: center; */
  
  margin-bottom: 12px; /* サブタイトルとメインタイトルの間の隙間 */
}

/* メインタイトル（背景画像あり） */
.skin-analysis-title {
  /* display: inline-block; 背景画像のサイズを文字の幅に合わせるため */
  /* text-align: center; */
  
  /* 【書体設定】メインタイトル用のフォント */
  /* font-family: "Zen Maru Gothic", sans-serif; */
  /* font-weight: 500; */
  font-size: 2.5rem;
  /* color: #333; */
  /* margin: 0; */
  
  
  
  /* 画像と文字の重なり具合を調整するための文字周りの余白 */
  /* padding: 10px 40px;  */
}

/* ==========================================
   ② 2列並びのグリッド構造
========================================== */
.skin-analysis-grid {
  display: grid;
  grid-template-columns: repeat(2, 150px); /* 350pxの列を2つ作成 */
  justify-content: space-between; /* 840pxの中で左右の端にピッタリ寄せる */
  gap: 40px 0;
  max-width: 325px;
  margin: 0 auto;
}

/* 1つの要素（幅350px固定・高さは中身に準ずる） */
.analysis-item {
  width: 150px;
  display: flex;
  flex-direction: column;
}

/* ==========================================
   画像エリアとパーツ重ね合わせの設定
========================================== */
.analysis-img-box {
  /* 画像のサイドにpaddingが入る可能性を考慮してあらかじめ設定（不要なら0に） */
  /* padding: 0 15px;  */
  /* text-align: center; */
  margin-bottom: 15px;
}

/* ロゴ画像 */
.analysis-logo {
  display: block;
  width: auto;
  max-width: 100%;
  height: 27px;
  margin: 0 auto 15px;
}

/* バナー画像の位置基準用のラッパー */
.banner-wrapper {
  /* position: relative; 今後重ねるパーツ画像の基準点（原点）になります */
  /* width: 100%; */
  padding: 0;
}
.banner-wrapper.skin_item02 {
  padding: 0 0 17px 0;
}
/*バナー画像基準に配置する画像*/
/* .banner-pop{
  position: absolute;
  bottom: 0px;
  right: 0;
} */
.banner-pop-item{
  width: 36px;
  height: 44px;
}

/* バナー画像本体 */
.analysis-banner {
  display: block;
  width: 100%;
  height: auto;
  /* border-radius: 8px; 角を少し丸くする場合（不要なら削除） */
}

/* ★今後バナーにパーツ画像を重ねる場合のCSS（必要時に数値を調整してください） */
.analysis-overlay-part {
  position: absolute;
  top: -10px;    /* バナーの上端からの位置調整 */
  right: -10px;  /* バナーの右端からの位置調整 */
  width: 60px;   /* 重ねるパーツのサイズ */
  height: auto;
  z-index: 2;
}

/* ==========================================
   テキストエリア（要素の幅350pxいっぱい）
========================================== */
.analysis-info-box {
  width: 100%;
}

/* サービス名 */
.analysis-name {
  /* font-family: "Zen Kaku Gothic New", sans-serif; */
  /* font-weight: 700; */
  font-size: 1.5rem;
  /* color: #333; */
  margin-bottom: 5px;
  line-height: 1.3;
}

/* サービスについての説明 */
.analysis-desc {
  /* font-family: "Zen Kaku Gothic New", sans-serif; */
  /* font-weight: 500; */
  font-size: 1.3rem !important;
  /* color: #333333; */
  line-height: 1.38;
  margin-bottom: 5px;
}

/* 所要時間 */
.analysis-time {
  /* font-family: "Zen Kaku Gothic New", sans-serif; */
  /* font-weight: 700; */
  font-size: 1.2rem !important;
  /* color: #333333; */
  /* font-weight: bold; */
  line-height: 1.58;
  /* margin-top: auto; 説明の長さが左右で違っても、所要時間を一番下に綺麗に揃える */
}

/* ==========================================
   ③ 【新設】3列並びのショップグリッド構造
========================================== */
.analysis-shop-grid {
  display: grid;
  /* 幅220pxの列を3つ作成 */
  grid-template-columns: repeat(2, 152px); 
  /* 3つの要素の間のスキマ（お好みで調整してください） */
  gap: 50px 0; 
  /* 840pxの大枠の中で、3つまとめて中央に寄せる設定 */
  justify-content: space-between;
  max-width: 325px;
  margin: 0 auto; 
  
  /* 上にある2列要素との間隔 */
  margin-top: 50px; 
}

/* 1つのショップ要素（幅220px固定・高さは中身に準ずる） */
.shop-item {
  width: 152px;
  /* display: flex; */
  /* flex-direction: column; 中身を縦並びにする */
  /* align-items: center;    中身を中央揃えにする */
  text-align: center;
}

/* ショップのロゴ画像 */
.shop-logo {
  /* display: block; */
  max-width: 152px; /* ロゴのサイズに合わせて調整してください */
  /* height: auto; */
  margin-bottom: 15px;
}

/* 所要時間テキスト */
.shop-time {
  /* font-family: "Zen Kaku Gothic New", sans-serif; */
  font-size: 1.2rem !important;
  /* font-weight: bold; */
  /* color: #333; */
  line-height: 1.58;
  /* margin-bottom: 5px; */
}

/* 時間の内訳テキスト（ある場合のみ表示、ない場合は自動で詰まります） */
.shop-breakdown {
  font-size: 1.2rem !important;
  color: #333333;
  /* font-weight: 500; */
  line-height: 1.58;
  margin-bottom: 10px;
  min-height: 26px; /* ★内訳が「ある要素」と「ない要素」でボタンの位置がズレるのを防ぐ設定 */
}

/* VIEW MOREボタン（角丸21px、背景色#E2EDFF） */
.shop-view-more:link{
  /* display: flex; */
  /* align-items: center; */
  /* justify-content: center; */
  width: 133px;  /* ボタンの幅（220pxの中で綺麗に見えるサイズにしています） */
  height: 22px; /* 高さを42pxにすると、角丸21px（半分の値）で綺麗なカプセル型になります */
  /* background-color: #E2EDFF; */
  /* border-radius: 21px; ご指定の角丸21px */
  
  /* 文字のスタイル */
  /* font-family: "Zen Kaku Gothic New", sans-serif; */
  font-size: 1.2rem;
  /* color: #333; */
  /* font-weight: bold; */
  /* text-decoration: none; */
  
  /* ボタンを常に一番下に固定するおまじない */
  /* margin-top: auto;  */
  /* transition: background-color 0.2s ease, opacity 0.2s ease; */
}

/* ボタンのホバー時 */
/* .shop-view-more:hover {
  background-color: #cbdfff; ホバー時に少し濃くする
  opacity: 0.9;
} */
}




/* ==========================================
   キレイ体験（コンテンツ全体の大枠）
========================================== */
.clean-experience {
  max-width: 840px;
  width: 100%;
  margin: 0 auto;
  padding-top: 80px;
  /* margin-bottom: 120px; 次のコンテンツとの間隔 */
}

/* ==========================================
   ① コンテンツタイトルエリア
========================================== */
.experience-title-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 60px;
  background-image: url('/umedamise/topics/servicesearch/assets/img/title-bg-02.png'); /* キレイ体験用の背景画像パス */
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* サブタイトル（w275px / h32px） */
.experience-sub-title {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 229px;
  height: 32px; 
  box-sizing: border-box;
  border: 1px solid #333; 
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 17px;
  color: #333;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 12px;
}

/* メインタイトル（背景画像あり） */
.experience-title {
  display: inline-block;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 3.3rem;
  font-weight: 500;
  color: #333;
  margin: 0;
  /* padding: 10px 40px;  */
}

/* ==========================================
   ブロックごとの設定（順番1、順番2の共通設定）
========================================== */
.experience-block {
  margin-bottom: 100px; /* ブロック同士の縦のすき間 */
}
.experience-block:last-child {
  margin-bottom: 0; /* 最後のブロックの余計な下マージンを消す */
}

/* ブロックの個別タイトル（〜自分だけの空間で〜 など） */
.experience-block-title {
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-size: 2.5rem;
  color: #6772CB;
  line-height: 1;
  letter-spacing: 4px;
  margin-bottom: 50px;
}

/* 2列並びのグリッド構造 */
.experience-grid {
  display: grid;
  grid-template-columns: repeat(2, 350px);
  justify-content: space-between;
  gap: 50px;
}
/* .experience-grid .experience-item:nth-child(1){
  margin-bottom: 100px;
} */

/* 1つの要素（幅350px固定・縦長ボックス構造） */
.experience-item {
  width: 350px;
  /* display: flex;
  flex-direction: column; */
  box-sizing: border-box;
  background-color: #fff; /* 背景を白にしておく（必要に応じて変更してください） */
}

/* ==========================================
   画像・テキストエリア（前回同様の美しさをキープ）
========================================== */
.experience-img-box {
  /* padding: 0 15px;  */
  text-align: center;
  margin-bottom: 30px;
}

/* 対象の画像クラスを修正 */
.experience-logo {
  display: block;
  height: 56px;       /* 高さを35pxに固定 */
  width: auto;        /* 幅は比率に合わせて自動計算 */
  max-width: 100%;    /* 親要素からはみ出るのを防ぐ安全策（任意） */
  margin: 0 auto 40px;
  /* border: 1px solid #bebebe; */
}
.banner-wrapper {
  position: relative;
  width: 100%;
}
.experience-banner {
  display: block;
  width: 100%;
  height: auto;
  /* border-radius: 8px; */
}

.experience-info-box {
  width: 100%;
  padding-bottom: 15px; /* 電話番号エリアとの間の最低限の隙間 */
}
.experience-name {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 2.2rem;
  color: #333;
  font-weight: bold;
  margin-bottom: 10px;
  line-height: 1.36;
}
.experience-name sup{
  vertical-align: top;
  font-size: 1.2rem;
}
.experience-border {
  border: 1px solid #333;
  padding: 0 3px;
}
.experience-desc {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  color: #555;
  line-height: 1.46;
  margin-bottom: 5px;
}
.experience-small{
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 5px;
}
.experience-time {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.7rem;
  color: #4B4B4B;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 5px;
}

/* ==========================================
   【新設】金額・注釈・電話番号の固有スタイル
========================================== */

/* 金額（太字、文字サイズ22px、左揃え） */
.experience-price {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 22px;
  font-weight: bold;
  color: #333;
  text-align: left;
  line-height: 1.1;
  margin-bottom: 5px;
}
/* 「（税込）」などの文字を少し小さく添えたい場合用 */
.experience-price span {
  font-size: 14px;
  font-weight: normal;
}

/* 注釈（文字サイズ13px、左揃え、少し薄めの色） */
.experience-note {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 13px;
  color: #333333;
  font-weight: 400;
  text-align: left;
  line-height: 1.5;
  /* margin-bottom: 15px; */
}

/* 電話番号の掲載エリア（幅350pxいっぱい、高さ66px、角丸無し、背景色#E2EDFF） */
.experience-tel-box {
  width: 100%;
  height: 66px;
  background-color: #E2EDFF;
  border-radius: 0; /* 角丸無し */
  box-sizing: border-box;
  
  /* 中の文字を上下左右中央に配置する設定 */
  display: flex;
  align-items: center;
  justify-content: center;
  
  /* 左右の説明文の長さが違っても、この電話箱が常に一番下にピッタリ揃うようにする */
  margin-top: auto; 
}

/* 電話箱の中のテキスト */
.experience-tel-box p {
  font-size: 13px;
  color: #333;
  line-height: 1.5;
  text-align: left; /* 指定の左揃えを維持（中央に寄せたい場合はcenterに） */
}

/* 電話番号部分の強調 */
.experience-tel-box .tel-number {
  font-size: 16px;
  font-weight: bold;
  display: block;
  text-align: center;
}

@media screen and (max-width:768px) {
  /* ==========================================
   キレイ体験（コンテンツ全体の大枠）
  ========================================== */
  .clean-experience {
    /* max-width: 325px; */
    width: 100%;
    /* margin: 0 auto; */
    padding-top: 80px;
    /* margin-bottom: 120px; 次のコンテンツとの間隔 */
  }

  /* ==========================================
    ① コンテンツタイトルエリア
  ========================================== */
  .experience-title-area {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 23px;
    background-image: url('/umedamise/topics/servicesearch/assets/img/title-bg-02-sp.png'); /* キレイ体験用の背景画像パス */
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    padding-top: 10px;
  }

  /* サブタイトル（w275px / h32px） */
  .experience-sub-title {
    /* display: flex; */
    /* align-items: center; */
    /* justify-content: center; */
    width: 212px;
    height: 23px; 
    /* box-sizing: border-box; */
    /* border: 1px solid #333;  */
    /* font-family: "Zen Kaku Gothic New", sans-serif; */
    font-size: 13px !important;
    /* color: #333; */
    /* font-weight: 500; */
    line-height: 1.3;
    margin-bottom: 10px;
  }

  /* メインタイトル（背景画像あり） */
  .experience-title {
    /* display: inline-block; */
    /* font-family: "Zen Maru Gothic", sans-serif; */
    font-size: 2.5rem;
    /* font-weight: 500; */
    /* color: #333; */
    /* margin: 0; */
    /* padding: 10px 40px;  */
  }

  /* ==========================================
    ブロックごとの設定（順番1、順番2の共通設定）
  ========================================== */
  .experience-block {
    margin-bottom: 80px; /* ブロック同士の縦のすき間 */
    max-width: 325px;
    margin: 0 auto 60px;
  }
  .experience-block:last-child {
    margin-bottom: 0; /* 最後のブロックの余計な下マージンを消す */
  }

  /* ブロックの個別タイトル（〜自分だけの空間で〜 など） */
  .experience-block-title {
    text-align: center;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 500;
    font-size: 1.6rem;
    color: #6772CB;
    line-height: 1;
    letter-spacing: 2px;
    margin-bottom: 20px;
  }

  /* 2列並びのグリッド構造 */
  .experience-grid {
    /* display: grid; */
    grid-template-columns: repeat(2, 150px);
    /* justify-content: space-between; */
    gap: 0;
  }

  /* .experience-grid .experience-item:nth-child(1){
  margin-bottom: px;
} */

  /* 1つの要素（幅350px固定・縦長ボックス構造） */
  .experience-item {
    width: 150px;
    /* display: flex;
    flex-direction: column; */
    box-sizing: border-box;
    background-color: #fff; /* 背景を白にしておく（必要に応じて変更してください） */
  }

  /* ==========================================
    画像・テキストエリア（前回同様の美しさをキープ）
  ========================================== */
  .experience-img-box {
    /* padding: 0 15px;  */
    /* text-align: center; */
    margin-bottom: 15px;
  }
  .experience-logo {
    /* display: block; */
    max-width: 100%;
    width: auto;
    height: 27px;
    margin: 0 auto 10px;
  }
  /* .banner-wrapper {
    position: relative;
    width: 100%;
  } */
  /* .experience-banner {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
  } */

  .experience-info-box {
    width: 100%;
    padding-bottom: 15px; /* 電話番号エリアとの間の最低限の隙間 */
  }
  .experience-name {
    /* font-family: "Zen Kaku Gothic New", sans-serif; */
    font-size: 1.5rem;
    /* color: #333; */
    /* font-weight: bold; */
    margin-bottom: 5px;
    line-height: 1.33;
  }
  .experience-desc {
    /* font-family: "Zen Kaku Gothic New", sans-serif; */
    font-size: 1.3rem !important;
    /* font-weight: 500; */
    color: #333333;
    line-height: 1.38;
    /* margin-bottom: 5px; */
  }
  .experience-small{
    /* font-family: "Zen Kaku Gothic New", sans-serif; */
    font-size: 1.2rem !important;
    /* font-weight: 500; */
    line-height: 1.4;
    /* margin-bottom: 5px; */
  }
  .experience-time {
    /* font-family: "Zen Kaku Gothic New", sans-serif; */
    font-size: 1.2rem !important;
    color: #333333;
    /* font-weight: bold; */
    line-height: 1.58;
    margin-bottom: 3px;
  }

  /* ==========================================
    【新設】金額・注釈・電話番号の固有スタイル
  ========================================== */

  /* 金額（太字、文字サイズ22px、左揃え） */
  .experience-price {
    /* font-family: "Zen Kaku Gothic New", sans-serif; */
    font-size: 17px !important;
    /* font-weight: bold; */
    /* color: #333; */
    /* text-align: left; */
    /* line-height: 1.1; */
    /* margin-bottom: 5px; */
  }
  /* 「（税込）」などの文字を少し小さく添えたい場合用 */
  .experience-price span {
    font-size: 14px;
    font-weight: normal;
  }

  /* 注釈（文字サイズ13px、左揃え、少し薄めの色） */
  .experience-note {
    /* font-family: "Zen Kaku Gothic New", sans-serif; */
    font-size: 12px !important;
    /* color: #333333; */
    font-weight: 400;
    /* text-align: left; */
    line-height: 1.4;
    /* margin-bottom: 15px; */
  }

  /* 電話番号の掲載エリア（幅350pxいっぱい、高さ66px、角丸無し、背景色#E2EDFF） */
  .experience-tel-box {
    width: 100%;
    height: 68px;
    background-color: #E2EDFF;
    border-radius: 0; /* 角丸無し */
    box-sizing: border-box;
    
    /* 中の文字を上下左右中央に配置する設定 */
    display: flex;
    align-items: center;
    justify-content: center;
    
    /* 左右の説明文の長さが違っても、この電話箱が常に一番下にピッタリ揃うようにする */
    margin-top: auto; 
  }

  /* 電話箱の中のテキスト */
  .experience-tel-box p {
    font-size: 12px !important;
    /* color: #333; */
    font-weight: 400;
    line-height: 1.25;
    text-align: center; /* 指定の左揃えを維持（中央に寄せたい場合はcenterに） */
  }

  /* 電話番号部分の強調 */
  .experience-tel-box .tel-number {
    font-size: 16px !important;
    font-weight: bold;
    line-height: 1.56;
  }
}




/* ==========================================
   メイクレッスン体験（コンテンツ全体の大枠）
========================================== */
.makeup-lesson {
  max-width: 840px;
  width: 100%;
  margin: 0 auto;
  padding-top: 80px;
  margin-bottom: 120px; /* 次のコンテンツとの間隔 */
}

/* ==========================================
   ① コンテンツタイトルエリア
========================================== */
.makeup-title-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 60px;
  padding-top: 27px;
  background-image: url('/umedamise/topics/servicesearch/assets/img/title-bg-03.png'); /* メイクレッスン用の背景画像パス */
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* サブタイトル（枠線入り四角：w275px / h32px） */
.makeup-sub-title {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 309px;
  height: 32px; 
  box-sizing: border-box;
  border: 1px solid #333; 
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 17px;
  color: #333;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 12px;
}

/* メインタイトル（背景画像あり） */
.makeup-title {
  display: inline-block;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-size: 3.3rem;
  color: #333;
  margin: 0;
  
  /* padding: 10px 40px;  */
}

/* ==========================================
   ② 2列並びのグリッド構造
========================================== */
.makeup-grid {
  display: grid;
  grid-template-columns: repeat(2, 350px);
  justify-content: space-between;
}

/* 1つの要素（幅350px固定） */
.makeup-item {
  width: 350px;
  display: flex;
  flex-direction: column;
}

/* 画像エリアの設定 */
.makeup-img-box {
  /* padding: 0 15px;  */
  text-align: center;
  margin-bottom: 30px;
}
.makeup-logo {
  display: block;
  max-width: 100%;
  width: auto;
  height: 56px;
  margin: 0 auto 40px;
  /* border: 1px solid #bebebe; */
}
.banner-wrapper {
  position: relative;
  width: 100%;
}
.makeup-banner {
  display: block;
  width: 100%;
  height: auto;
  /* border-radius: 8px; */
}

/* テキストエリア（幅いっぱい 350px） */
.makeup-info-box {
  width: 100%;
  display: flex;
  flex-direction: column;
  height: 100%; /* 高さを揃えてボタン位置を下部に安定させる */
}
.makeup-info-box .text-center{
  text-align: center;
  font-size: 13px;
  margin-bottom: 10px;
}
@media only screen and (max-width: 767px) {
  .makeup-info-box .text-center{
    font-size: 11px !important;
  }
}

.makeup-name {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 2.2rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 10px;
  line-height: 1.36;
}
.makeup-desc {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
  color: #333333;
  line-height: 1.46;
  margin-bottom: 5px;
}
.makeup-time {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.7rem;
  color: #333333;
  font-weight: bold;
  margin-bottom: 15px;
  /* margin-top: auto; 説明文の量が変わってもここから下を綺麗に揃える */
}

/* ==========================================
   【新設】予約ボタン と 電話番号
========================================== */

/* ご予約はこちらボタン（w350px、h41px、背景色#E2EDFF） */
.makeup-reserve-btn:link{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 350px; /* 親要素いっぱいの350px */
  height: 41px;  /* 指定の高さ41px */
  background-color: #E2EDFF;
  
  /* 【ここを修正】角丸21pxにしてカプセル型に統一 */
  border-radius: 21px; 
  box-sizing: border-box;
  
  /* 文字スタイル（指定の17px、太字、下線なし） */
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #333;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.47;
  text-decoration: none;
  
  margin-bottom: 5px; /* ボタンと下の電話番号の間のすき間 */
  
  /* アニメーションのスムーズさ（背景色と透明度の両方） */
  transition: background-color 0.25s ease, opacity 0.25s ease;
}

/* ホバー時の動き（背景色#DBDBDB、全体50%薄くなる） */
.makeup-reserve-btn:hover {
  background-color: #DBDBDB; /* 背景色変更 */
  opacity: 0.5;              /* ボタン全体（文字含む）を50%薄く */
}

/* 電話番号テキスト（左揃え、14px） */
.makeup-tel {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  color: #333;
  text-align: left; /* 左揃え */
  margin: 0;
}

/* 電話番号の数字部分を少し強調したい場合 */
/* .makeup-tel span {
  font-weight: bold;
  font-size: 1.5rem;
} */


@media screen and (max-width:768px) {
  /* ==========================================
   メイクレッスン体験（コンテンツ全体の大枠）
  ========================================== */
  .makeup-lesson {
    
    width: 100%;
    /* margin: 0 auto; */
    padding-top: 40px;
    margin-bottom: 0px; /* 次のコンテンツとの間隔 */
  }

  /* ==========================================
    ① コンテンツタイトルエリア
  ========================================== */
  .makeup-title-area {
    /* display: flex; */
    /* flex-direction: column; */
    /* align-items: center; */
    margin-bottom: 21px;
    padding-top: 22px;
    background-image: url('/umedamise/topics/servicesearch/assets/img/title-bg-03-sp.png'); /* メイクレッスン用の背景画像パス */
    /* background-repeat: no-repeat; */
    /* background-position: center; */
    /* background-size: contain; */
  }

  /* サブタイトル（枠線入り四角：w275px / h32px） */
  .makeup-sub-title {
    /* display: flex; */
    /* align-items: center; */
    /* justify-content: center; */
    width: 234px;
    height: 23px; 
    /* box-sizing: border-box; */
    /* border: 1px solid #333;  */
    /* font-family: "Zen Kaku Gothic New", sans-serif; */
    font-size: 13px !important;
    /* color: #333; */
    /* font-weight: 500; */
    line-height: 1;
    margin-bottom: 10px;
  }

  /* メインタイトル（背景画像あり） */
  .makeup-title {
    /* display: inline-block; */
    /* font-family: "Zen Maru Gothic", sans-serif; */
    /* font-weight: 500; */
    font-size: 2.5rem;
    /* color: #333; */
    /* margin: 0; */
    
    /* padding: 10px 40px;  */
  }

  /* ==========================================
    ② 2列並びのグリッド構造
  ========================================== */
  .makeup-grid {
    max-width: 325px;
    margin: 0 auto;
    /* display: grid; */
    grid-template-columns: repeat(2, 150px);
    /* justify-content: space-between; */
  }

  /* 1つの要素（幅350px固定） */
  .makeup-item {
    width: 150px;
    /* display: flex; */
    /* flex-direction: column; */
  }

  /* 画像エリアの設定 */
  .makeup-img-box {
    padding: 0; 
    /* text-align: center; */
    margin-bottom: 15px;
  }
  .makeup-logo {
    /* display: block; */
    max-width: 120px;
    width: auto;
    height: auto;
    margin: 0 auto 10px;
  }
  .banner-wrapper {
    position: relative;
    width: 100%;
  }
  .makeup-banner {
    display: block;
    width: 100%;
    height: auto;
    /* border-radius: 8px; */
  }

  /* テキストエリア（幅いっぱい 350px） */
  .makeup-info-box {
    width: 100%;
    display: flex;
    flex-direction: column;
    height: 100%; /* 高さを揃えてボタン位置を下部に安定させる */
  }

  .makeup-name {
    /* font-family: "Zen Kaku Gothic New", sans-serif; */
    font-size: 1.5rem;
    /* font-weight: bold; */
    /* color: #333; */
    margin-bottom: 5px;
    line-height: 1.33;
  }
  .makeup-desc {
    /* font-family: "Zen Kaku Gothic New", sans-serif; */
    /* font-weight: 500; */
    font-size: 1.3rem !important;
    /* color: #333333; */
    line-height: 1.38;
    /* margin-bottom: 5px; */
  }
  .makeup-time {
    /* font-family: "Zen Kaku Gothic New", sans-serif; */
    font-size: 1.2rem !important;
    /* color: #333333; */
    /* font-weight: bold; */
    margin-bottom: 10px;
    /* margin-top: auto; 説明文の量が変わってもここから下を綺麗に揃える */
  }

  /* ==========================================
    【新設】予約ボタン と 電話番号
  ========================================== */

  /* ご予約はこちらボタン（w350px、h41px、背景色#E2EDFF） */
  .makeup-reserve-btn:link{
    /* display: flex; */
    /* align-items: center; */
    /* justify-content: center; */
    width: 150px; /* 親要素いっぱいの350px */
    height: 26px;  /* 指定の高さ41px */
    /* background-color: #E2EDFF; */
    
    /* 【ここを修正】角丸21pxにしてカプセル型に統一 */
    /* border-radius: 21px;  */
    /* box-sizing: border-box; */
    
    /* 文字スタイル（指定の17px、太字、下線なし） */
    /* font-family: "Zen Kaku Gothic New", sans-serif; */
    /* color: #333; */
    font-size: 13px;
    /* font-weight: bold; */
    /* line-height: 1.47; */
    /* text-decoration: none; */
    
    margin-bottom: 5px; /* ボタンと下の電話番号の間のすき間 */
    
    /* アニメーションのスムーズさ（背景色と透明度の両方） */
    transition: background-color 0.25s ease, opacity 0.25s ease;
  }

  /* ホバー時の動き（背景色#DBDBDB、全体50%薄くなる） */
  .makeup-reserve-btn:hover {
    background-color: #DBDBDB; /* 背景色変更 */
    opacity: 0.5;              /* ボタン全体（文字含む）を50%薄く */
  }

  /* 電話番号テキスト（左揃え、14px） */
  .makeup-tel {
    /* font-family: "Zen Kaku Gothic New", sans-serif; */
    font-size: 1.2rem !important;
    /* font-weight: 500; */
    /* color: #333; */
    /* text-align: left; 左揃え */
    /* margin: 0; */
  }

  /* 電話番号の数字部分を少し強調したい場合 */
  /* .makeup-tel span {
    font-weight: bold;
    font-size: 1.5rem;
  } */
}




/* ==========================================
   サロン紹介（コンテンツ全体の大枠：幅840px）
========================================== */
.salon-intro {
  max-width: 840px;
  width: 100%;
  margin: 0 auto;
  padding-top: 80px;
  margin-bottom: 90px; /* 次のコンテンツ（フッター等）との間隔 */
}

/* ==========================================
   ① タイトル（左右に幅いっぱいの横線が伸びるデザイン）
========================================== */
.salon-title-area {
  display: flex;
  align-items: center; /* 縦方向の中央に線を合わせる */
  width: 100%;
  margin-bottom: 60px;
}

.salon-title-area::before,
.salon-title-area::after {
  content: "";
  flex: 1; /* 左右の線を幅いっぱい（均等）に伸ばす */
  height: 1px;
  background-color: #333; 
}

.salon-title {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 2.8rem;
  color: #333;
  margin: 0;
  padding: 0 30px; /* 文字と線の間の隙間 */
  white-space: nowrap; 
}

/* ==========================================
   ② コンテンツ本体（横並び構造）
========================================== */
.salon-content-flex {
  display: flex;
  /* 左（画像）300px、間の余白40px、右（テキスト箱）は350pxに固定 */
  /* grid-template-columns: 300px 350px; */
  
  /* 300px + 350px = 650px になるため、残りの190pxが自動的に間の余白になります。
     カンプ上で「間の余白は40px」かつ「全体が右揃え」なので、
     grid-column-gap（column-gap）で40pxを保証しつつ、全体を右に寄せます */
  gap: 40px; 
  align-items: center; /* 上下中央で綺麗に並べる */
  justify-content: center; /* 全体を右揃えにする */
  
  /* 【追加】一番下の下線（太さ、種類、色はお好みに合わせて調整してください） */
  border-bottom: 1px solid #333;
  padding-bottom: 70px; /* 下線と中身の間の心地よいディスタンス */
}

/* 左側：画像エリア（w300px × h300px 固定） */
.salon-img-box {
  width: 300px;
  height: 300px;
  overflow: hidden;
}
.salon-thumb {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover; 
  /* border-radius: 8px;  */
}

/* 右側：テキストとボタンのエリア（要素幅350px固定） */
.salon-info-box {
  width: 232px; /* 【変更】要素幅を350pxに固定 */
  display: flex;
  flex-direction: column;
  align-items: flex-start; /* 【変更】中身を左揃えにする */
}

/* キャッチコピー（縦並び・左揃え・padding-left: 14px） */
.salon-catch-phrase {
  display: flex;
  flex-direction: column;
  align-items: center; /* 【変更】中の文字を左揃えにする */
  justify-content: center;
  /* text-align: left; 左揃え */
  
  /* 【重要】ご指定の「文字要素全体にpadding-left: 14px」 */
  padding-left: 14px; 
  box-sizing: border-box;
  
  margin-bottom: 15px; /* テキストとボタンの間の余白 */
  width: 100%;

  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  color: #333;
}

/* お買い物の合間に、（文字サイズ20px、太字） */
.catch-sub {
  font-size: 20px;
  margin-bottom: 3px; 
  line-height: 1.2;
}

/* ごほうびケア。（文字サイズ30px、太字） */
.catch-main {
  font-size: 30px;
}

/* ご予約はこちらボタン（w350px、h41px、角丸21px、背景色#E2EDFF） */
.salon-reserve-btn:link{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 232px; /* ボタンは350px幅いっぱい */
  height: 41px;
  background-color: #E2EDFF;
  border-radius: 21px; 
  box-sizing: border-box;
  
  /* 文字スタイル */
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #333;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.47;
  text-decoration: none;
  
  transition: background-color 0.25s ease, opacity 0.25s ease;
}

/* ホバー演出（背景色#DBDBDB、全体50%薄くなる） */
.salon-reserve-btn:hover {
  background-color: #DBDBDB;
  opacity: 0.5;
}

@media screen and (max-width:768px) {
  /* ==========================================
   サロン紹介（コンテンツ全体の大枠：幅840px）
  ========================================== */
  .salon-intro {
    max-width: 325px;
    /* width: 100%; */
    /* margin: 0 auto; */
    padding-top: 60px;
    margin-bottom: 70px; /* 次のコンテンツ（フッター等）との間隔 */
  }

  /* ==========================================
    ① タイトル（左右に幅いっぱいの横線が伸びるデザイン）
  ========================================== */
  .salon-title-area {
    /* display: flex; */
    /* align-items: center; 縦方向の中央に線を合わせる */
    /* width: 100%; */
    margin-bottom: 45px;
  }

  .salon-title-area::before,
  .salon-title-area::after {
    content: "";
    flex: 1; /* 左右の線を幅いっぱい（均等）に伸ばす */
    height: 1px;
    background-color: #333; 
  }

  .salon-title {
    /* font-family: "Zen Old Mincho", serif; */
    font-size: 2.3rem;
    /* color: #333; */
    /* margin: 0; */
    padding: 0 26px; /* 文字と線の間の隙間 */
    /* white-space: nowrap;  */
  }

  /* ==========================================
    ② コンテンツ本体（横並び構造）
  ========================================== */
  .salon-content-flex {
    /* display: flex; */
    flex-direction: column;
    /* 左（画像）300px、間の余白40px、右（テキスト箱）は350pxに固定 */
    /* grid-template-columns: 300px 350px; */
    
    /* 300px + 350px = 650px になるため、残りの190pxが自動的に間の余白になります。
      カンプ上で「間の余白は40px」かつ「全体が右揃え」なので、
      grid-column-gap（column-gap）で40pxを保証しつつ、全体を右に寄せます */
    gap: 20px; 
    /* align-items: center; 上下中央で綺麗に並べる */
    /* justify-content: center; 全体を右揃えにする */
    
    /* 【追加】一番下の下線（太さ、種類、色はお好みに合わせて調整してください） */
    /* border-bottom: 1px solid #333; */
    padding-bottom: 50px; /* 下線と中身の間の心地よいディスタンス */
  }

  /* 左側：画像エリア（w300px × h300px 固定） */
  .salon-img-box {
    width: 200px;
    height: 200px;
    /* overflow: hidden; */
  }
  .salon-thumb {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover; 
    /* border-radius: 8px;  */
  }

  /* 右側：テキストとボタンのエリア（要素幅350px固定） */
  .salon-info-box {
    width: 200px; /* 【変更】要素幅を350pxに固定 */
    display: flex;
    flex-direction: column;
    align-items: center; /* 【変更】中身を左揃えにする */
  }

  /* キャッチコピー（縦並び・左揃え・padding-left: 14px） */
  .salon-catch-phrase {
    display: flex;
    flex-direction: column;
    align-items: center; /* 【変更】中の文字を左揃えにする */
    justify-content: center;
    /* text-align: left; 左揃え */
    
    /* 【重要】ご指定の「文字要素全体にpadding-left: 14px」 */
    padding-left: 14px; 
    box-sizing: border-box;
    
    margin-bottom: 20px; /* テキストとボタンの間の余白 */
    width: 100%;

    /* font-family: "Zen Maru Gothic", sans-serif; */
    /* font-weight: 500; */
    /* color: #333; */
  }

  /* お買い物の合間に、（文字サイズ20px、太字） */
  .catch-sub {
    font-size: 15px;
    margin-bottom: 0px; 
    line-height: 1.6;
  }

  /* ごほうびケア。（文字サイズ30px、太字） */
  .catch-main {
    font-size: 22px;
  }

  /* ご予約はこちらボタン（w350px、h41px、角丸21px、背景色#E2EDFF） */
  .salon-reserve-btn:link{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 150px; /* ボタンは350px幅いっぱい */
    height: 26px;
    background-color: #E2EDFF;
    border-radius: 21px; 
    box-sizing: border-box;
    
    /* 文字スタイル */
    /* font-family: "Zen Kaku Gothic New", sans-serif; */
    /* color: #333; */
    font-size: 13px;
    /* font-weight: bold; */
    /* line-height: 1.47; */
    /* text-decoration: none; */
    
    /* transition: background-color 0.25s ease, opacity 0.25s ease; */
  }

  /* ホバー演出（背景色#DBDBDB、全体50%薄くなる） */
  .salon-reserve-btn:hover {
    background-color: #DBDBDB;
    opacity: 0.5;
  }
}


/* .beauty .shop{
  max-width: 600px;
  margin: 235px auto 0;
}

.beauty .shop.estetic h2:before{
  content: '';
  display: block;
  background: url(../img/icon_title01.png) no-repeat;
  background-size: contain;
  width: 138px;
  height: 135px;
  position: absolute;
  top: -150px;
  left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.beauty .shop.eye h2:before{
  content: '';
  display: block;
  background: url(../img/icon_title02.png) no-repeat;
  background-size: contain;
  width: 150px;
  height: 137px;
  position: absolute;
  top: -152px;
  left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.beauty .shop.nail h2:before{
  content: '';
  display: block;
  background: url(../img/icon_title03.png) no-repeat;
  background-size: contain;
  width: 95px;
  height: 120px;
  position: absolute;
  top: -135px;
  left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.beauty .shop.relax h2:before{
  content: '';
  display: block;
  background: url(../img/icon_title04.png) no-repeat;
  background-size: contain;
  width: 146px;
  height: 98px;
  position: absolute;
  top: -112px;
  left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.beauty .shop.relax{
 margin-bottom: 85px; 
}

.beauty .shop .shop-contents{
  padding-bottom: 50px;
  border-bottom: 1px solid #d3d3d3;
  margin-top: 50px;
}

.beauty .shop .shop-contents.last{
  border-bottom: none;
}

.beauty .shop .shop-contents .brand{
  text-align: center;
  margin: 35px 0 60px;
}

.beauty .shop .shop-contents .brand p{
  font-size: 1.5rem;
  font-weight: 300;
}

.beauty .shop .shop-contents .brand p.brand-txt{
  margin-top: 25px;
  text-align: left;
}

.beauty .shop .shop-contents .brand p.brand-txt small{
  display: block;
  font-size: 1.3rem;
  font-weight: 300;
  text-align: center;
}

.beauty .shop .shop-contents .brand .logo{
  margin: 20px auto 15px;
}

.beauty .shop .shop-contents .beauty-slide{
  overflow: visible;
}

.beauty .shop .shop-contents .beauty-slide .swiper-pagination{
  font-family: 'Maven Pro', sans-serif;
  font-size: 1.3rem;
  writing-mode: vertical-lr;
  transform: rotate(180deg);
  width: 20px;
  position: absolute;
  left: -20px;
}

.beauty .shop .shop-contents .pickup-menu{
  margin-bottom: 35px;
}

.beauty .shop .shop-contents .pickup-menu h3{
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}

.beauty .shop .shop-contents .pickup-menu p{
  font-size: 1.3rem !important;
  font-weight: 300;
}

.beauty .shop .shop-contents .pickup-menu ul li{
  text-indent: -1.0em;
  padding-left: 1.0em;
  font-size: 1.5rem;
}

.beauty .shop .shop-contents .pickup-menu ul li span.price{
  font-size: 1.5rem;
}

.beauty .shop .shop-contents .pickup-menu ul li span{
  font-size: 1.3rem;
  _font-weight: 300;
}

.beauty .shop .shop-contents .pickup-menu ul li p.menu-about{
  font-size: 1.3rem !important;
  text-indent: 0;
  font-weight: 300;
}

.beauty .shop .shop-contents .pickup-menu ul li:not(:last-child) p.menu-about{
  margin-bottom: 25px;
}

.beauty .shop .shop-contents .pickup-menu .first{
  margin-top: 60px;
  position: relative;
}

.beauty .shop .shop-contents .pickup-menu .first:before{
  content: '';
  width: 190px;
  height: 1px;
  background: #d3d3d3;
  position: absolute;
  top: -30px;
  left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.beauty .shop .shop-contents p.attention,
.beauty p.attention{
  text-align: center;
  font-size: 1.2rem !important;
  font-weight: 300;
  margin-top: 15px;
}


.beauty .shop .shop-contents .btn{
  width: 250px;
  margin: 0 auto;
}

.beauty .shop .shop-contents .btn a{
  display: block;
  border-radius: 50px;
  border: 1px solid #d3d3d3;
  padding: 1.0em;
  text-decoration: none;
  text-align: center;
  color: #000;
  font-size: 1.5rem;
  font-family: 'Maven Pro', sans-serif;
  box-shadow: 10px 8px 0px 0px #f1e8e3;
  transition: 0.3s ease-in-out;
}

.beauty .shop .shop-contents .btn a:hover{
  transform: translate3d(0.2rem, 0.2rem, 0);
  color: #fff;
  background: #beaaaa;
  box-shadow: -10px 10px 16px -6px rgba(0,0,0,0.6) inset;
  opacity: 1;
  transition: all 0.2s;
}

.beauty .shop .shop-contents .contact{
  width: 300px;
  margin: 50px auto 0;
  background: #f1e8e3;
  text-align: center;
  padding: 25px 0;
}

.beauty .shop .shop-contents .contact h3{
  font-size: 1.5rem;
  font-weight: 300;
}

.beauty .shop .shop-contents .contact p{
  font-size: 1.5rem;
  font-weight: 300;
}

.beauty .shop .shop-contents .contact p span.midashi{
  font-weight: bold;
  display: block;
}

.beauty .shop .shop-contents .contact a{
  text-decoration: none;
  color: #000;
  font-size: 3.0rem;
  font-family: 'Maven Pro', sans-serif;
}

.beauty .shop .shop-contents .contact dl.time{
  width: 85%;
  margin: 0 auto;
  font-size: 1.3rem;
  font-weight: 300;
  text-align: left;
  display: flex;
  flex-wrap: wrap;
}

.beauty .shop .shop-contents .contact dl.time dt{
  width: 5em;
}

.beauty .shop .shop-contents .contact dl.time dd{
  width: calc(100% - 5em);
}

.beauty .shop .shop-contents .yoyaku{
  width: 300px;
  margin: 10px auto 0;
}

.beauty .shop .shop-contents .yoyaku a{
  display: block;
  background: #ddcacf;
  text-decoration: none;
  font-size: 2.0rem;
  text-align: center;
  color: #000;
  line-height: 1.5;
  padding: 15px 0;
}

.beauty .shop .shop-contents .yoyaku a span.target{
  display: block;
  font-size: 1.4rem;
  font-weight: 300;
}

.beauty .shop .shop-contents .yoyaku a span.sub{
  font-size: 1.4rem;
} */

/* @media screen and (max-width: 768px) {
  .beauty .shop{
    width: 100%;
    padding-left: 5%;
    padding-right: 5%;
  }

  .beauty .shop h2{
    margin-left: -5%;
    margin-right: -5%;
  }

  .beauty .shop.estetic h2:before{
    width: 75px;
    height: 80px;
    top: -95px;
  }
  
  .beauty .shop.eye h2:before{
    width: 107px;
    height: 98px;
    top: -113px;
  }
  
  .beauty .shop.nail h2:before{
    width: 80px;
    height: 101px;
    top: -116px;
  }
  
  .beauty .shop.relax h2:before{
    width: 112px;
    height: 75px;
    top: -90px;
  }

  .beauty .shop .beauty-slide{
    margin-left: -5%;
    margin-right: -5%;
  }

  .beauty .shop .shop-contents .beauty-slide .swiper-pagination{
    writing-mode: initial;
    transform: rotate(0deg);
    width: 100%;
    bottom: -35px;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }
} */


/****モーダル中身*****/
.beauty .window-contents{
  display: none;
}

.modaal-close{
  position: absolute;
  _position: fixed;
  right: calc((100% - 480px)/2);
  top: 10px;
}

.modaal-close:after, 
.modaal-close:before{
  background: #000;
  width: 2px;
}

.modaal-container{
  max-width: 500px;
  box-shadow: 10px 8px 0px 0px #f1e8e3;
  border: 1px solid #d3d3d3;
}

.modaal-content-container{
  padding: 35px 45px;
}

.modaal-wrapper{
  font-family: 'Noto Sans JP', sans-serif;
}

.modaal-wrapper h2{
  font-family: 'Maven Pro', sans-serif;
  text-align: center;
  font-size: 1.6rem;
  padding-bottom: 20px;
  border-bottom: 1px solid #d3d3d3;
}

.modaal-wrapper h2.menu{
  font-size: 1.8rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold;
  border-bottom: none;
  margin-top: 30px;
  padding-bottom: 0;
}

.modaal-wrapper h3{
  font-family: 'Noto Sans JP', sans-serif;
  margin-top: 25px;
  font-size: 1.7rem;
  font-weight: bold;
}

.modaal-wrapper h4{
  font-family: 'Noto Sans JP', sans-serif;
  margin-top: 15px;
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 8px;
}

.modaal-wrapper h4 span{
  border-bottom: 1px solid #d3d3d3;
}

.modaal-wrapper p{
  font-size: 1.3rem;
}

.modaal-wrapper p.brand{
  text-align: center;
  font-size: 1.6rem;
  border-bottom: 1px solid #d3d3d3;
  padding: 10px 0;
}

.modaal-wrapper p.brand span.en{
  display: block;
  font-family: 'Maven Pro', sans-serif;
  font-size: 1.2rem;
}

.modaal-wrapper p.brand span.small{
  display: block;
  font-size: 1.2rem;
}

.modaal-wrapper dl.menu,
.modaal-wrapper ul.menu-list{
  margin-top: 10px;
}

.modaal-wrapper dl.menu dt{
  font-size: 1.5rem;
  text-indent: -1.0em;
  padding-left: 1.0em;
}

.modaal-wrapper dl.menu dt span{
  font-size: 1.3rem;
  margin-bottom: 1.0em;
}

.modaal-wrapper dl.menu dd{
  font-size: 1.3rem;
  padding-left: 1.0em;
}

.modaal-wrapper dl.menu dd span.price{
  font-size: 1.5rem;
}

.modaal-wrapper ul.menu-list li{
  font-size: 1.5rem;
  text-indent: -1.0em;
  padding-left: 1.0em;
}

.modaal-wrapper ul.menu-list li span{
  font-size: 1.3rem;
}

.modaal-wrapper ul.menu-list li span.limited{
  color: #f1607f;
}

.modaal-wrapper ul.menu-list li span.attention{
  font-size: 1.2rem;
}

.modaal-wrapper ul.attention-list{
  margin-top: 10px;
}

.modaal-wrapper ul.attention-list li{
  font-size: 1.2rem;
  text-indent: -1.0em;
  padding-left: 1.0em;
}

.modaal-wrapper p.price{
  margin-top: 1.5em;
  font-size: 1.6rem;
}

.modaal-wrapper p.price span{
  font-size: 1.3rem;
}

.modaal-wrapper p.attention{
  font-size: 1.2rem;
  text-indent: -1.0em;
  padding-left: 1.0em;
}

@media screen and (max-width: 768px) {
  .modaal-close{
    _right: 10px;
    position: fixed;
    top: 0;
    right: 0;
  }

  .modaal-inner-wrapper{
    padding: 80px 20px;
  }

  .modaal-content-container{
    padding: 35px 25px;
  }
}

@media screen and (min-width: 768px) {
  #header{
    z-index: 900;
  }
}


/**電話リンクスマホのみ**/
@media (min-width: 751px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
  }
}




/******************************/

/*.Pagetop {
  background: #ef467e;
}*/

.pc-only{
  display: block;
}

.sp-only{
  display: none;
}

@media screen and (max-width: 768px) {
  .pc-only{
    display: none;
  }

  .sp-only{
    display: block;
  }
}

.mt0 { margin-top: 0 !important; }
.mb0 { margin-bottom: 0; }
.mt15{ margin-top: 15px;}


.clearfix:before,
.clearfix:after {
  display: table;
  content: " ";
}

.clearfix:after {
  clear: both;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}