@charset "utf-8";
/* ===========================================================
 *
 * ユーアンド（レッツ） スタイルシート
 * Last UpDate : 2025/11/21
 *
=========================================================== */

/* ----------------------------------------------------------
	style.css
---------------------------------------------------------- */
/* noto-sans-jp-regular - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  src: url('noto-sans-jp-v55-japanese-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-jp-700 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  src: url('noto-sans-jp-v55-japanese-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* zen-maru-gothic-regular - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Zen Maru Gothic';
  font-style: normal;
  font-weight: 400;
  src: url('zen-maru-gothic-v19-japanese-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* zen-maru-gothic-700 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Zen Maru Gothic';
  font-style: normal;
  font-weight: 700;
  src: url('zen-maru-gothic-v19-japanese-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('roboto-v49-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('roboto-v49-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* scope-one-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Scope One';
  font-style: normal;
  font-weight: 400;
  src: url('scope-one-v15-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* paytone-one-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Paytone One';
  font-style: normal;
  font-weight: 400;
  src: url('paytone-one-v25-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

@font-face {
  font-family: 'AnkerJack';
  font-style: normal;
  font-weight: 900;
  src: url('AnchorJack.woff2') format('woff2');
}

/* ----------------------------------------------------------
 common
---------------------------------------------------------- */

html{ font-size: 62.5%; scroll-behavior: smooth; scroll-padding-top: 100px; }
body {
	color: #333;
	background-color: /* #f4f9f7 */ #fff;
	font-family: 'Zen Maru Gothic','Roboto',"Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 1px;
	font-feature-settings: "palt";
	font-size: 16px;
	font-size: 1.6rem;
	margin: 0;
}

/*
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .h2Wrap{ line-height: 1.7 !important; }

}
*/


.mb0{ margin-bottom: 0 !important; }
.mt40{ margin-top: 40px !important; }

/* a.anker{ display: block; padding-top: 100px; margin-top: -100px; } */

:root{
	--main-color: #ce121b;
	--second-color: #004098;
	--menu-color: #f6651e;
	--kdp-color: #d1ca18;
}

strong{ font-weight: bold !important; }

/* スクロールヒントを隠す用クラス */
.scroll-hint-icon-wrap.scroll-hint-hidden {
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s;
}


/* 非表示用 */
.noneSP		{ display: none !important; }
/* ----------------------------------------------------------
 link
---------------------------------------------------------- */
a:link		{ color: #333; text-decoration: none; }
a:visited	{ color: #333; text-decoration: none; }
a:hover		{ color: var(--main-color); text-decoration: none; }
a:active	{ color: var(--main-color); text-decoration: none; }

a { -ms-filter: "alpha( opacity=60 )"; -webkit-transition: 0.5s ease-in-out; -moz-transition: 0.5s ease-in-out; -o-transition: 0.5s ease-in-out; transition: 0.5s ease-in-out; }

/* ----------------------------------------------------------
 header
---------------------------------------------------------- */
header{ position: fixed; top: 0; width: 100%; z-index: 100; }

.header_wrap{ display: flex; justify-content: space-between; align-items: center; }

.header_logo{ flex-basis: 20%; margin-left: 2%; }
.header_logo img{ width: 100%; height: auto; max-width: 227px; max-height: 157px; }
.header_logo a:hover{ opacity: .6; }

.header_logo_sec{ margin-top: 10px; }
.header_logo_sec a{ display: flex; }




.gnavi{ flex-basis: 43%; margin-left: 15%; }
.gnavi a{ font-size: 1.6rem; text-align: center; letter-spacing: 1px; }
.gnavi a:hover{ background-color: #eee; }



#menu {}

#menu-btn{ display: none; }
#menu-content{ width: 100%; margin: 0; list-style-type: none;position: relative; }
#menu-content > li{ float: left; width: 16%;  transition: all 0.2s; }
#menu-content > li > a{ display: block; line-height: 80px; font-size: 1.6rem; text-decoration: none; }
#menu-content > li > a > .blogicon-chevron-down{ margin-right: 5px; }
#menu-content > li > ul.second-content{ visibility: hidden; opacity: 0; position: absolute; padding-left: 0; list-style-type: none;	width: 16%; box-shadow: 1px 1px 7px #bbb; }
#menu-content > li:hover > ul.second-content{ visibility: visible; opacity: 1; transition: opacity .2s, visibility .2s; /* background-color: #fff; */ }
#menu-content > li > ul.second-content > li{ border-bottom: 1px solid #ccc; }
#menu-content > li > ul.second-content > li > a{ position: relative; display: block; line-height: 40px; font-size: 1.6rem; text-decoration: none; padding: 10px; }

#menu-content > li > ul.second-content > li > a:hover{ background: #eee; transition: all .2s; }

#menu-content > li > ul.second-content > li:hover > a,
#menu-content > li > ul.second-content > li > a.current{ background: #eee; }

@media screen and (max-width: 1200px) {
#menu nav {
    position: fixed;
    top: 0;
    left: -1000px;
    bottom: 0;
    width: 80%;
    background: var(--main-color);
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    z-index: 3;
    opacity: 0;
	 padding: 25px 15px;
  }
 #menu .open nav {
    left: 0;
    opacity: 1;
	 z-index: 99;
  }
#menu nav .inner ul {
    list-style: none;
    margin: 0;
    padding: 0;
	  flex-wrap: wrap;
  }
 #menu nav .inner ul li {
    position: relative;
    margin: 0;
  }
 #menu nav .inner ul li a {
    display: block;
    color: #fff;
    font-size: 1.6rem;
	 font-weight: 700;
    text-decoration: none;
    -webkit-transition-duration: 0.2s;
            transition-duration: 0.2s;
	  flex-wrap: wrap;
  }
#menu nav .inner ul li a:hover{ background-color: var(--main-color); color: #fff; }
#menu nav .inner ul li a i{ margin-right: 10px; }
 #menu nav .inner ul li ul li a {
	display: block;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	text-decoration: none;
	-webkit-transition-duration: 0.2s;
	transition-duration: 0.2s;
	flex-wrap: wrap;
	padding: 10px;
  }
  .toggle_btn {
	display: block;
	position: fixed;
	top: 10px;
	right: 15px;
	width: 50px;
	height: 50px;
	background: var(--main-color);
	border-radius: 5px;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	cursor: pointer;
	z-index: 3;
  }
  .toggle_btn span {
	position: absolute;
	left: 13px;
	width: 24px;
	height: 2px;
	border-radius: 2px;
	background-color: #fff;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
  }
  .toggle_btn span:nth-child(1){ top: 13px; }
  .toggle_btn span:nth-child(2){ top: 21px; }
  .toggle_btn span:nth-child(3){ /* bottom: 4px; */ opacity: 0; }
  .open .toggle_btn span{ background-color: #fff; }
  .open .toggle_btn span:nth-child(1) {
	-webkit-transform: translateY(10px) rotate(-315deg);
	transform: translateY(10px) rotate(-45deg);
	top: 15px;
  }
  .open .toggle_btn span:nth-child(2){ opacity: 0;   }
  .open .toggle_btn span:nth-child(3) {
    -webkit-transform: translateY(-10px) rotate(315deg);
    transform: translateY(-10px) rotate(45deg);
	  opacity: 1;
	  bottom: 12px;
  }
	
.toggle_btn p{ position: absolute; left: 11px; bottom: 9px; font-size: 1rem; color: #fff; font-weight: 700; letter-spacing: 1px; }
.open .toggle_btn p{ display: none; }

  #mask {
    display: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .open #mask {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.5;
    z-index: 2;
    cursor: pointer;
  }
  #menu-content > li {
    width: 100%;
    margin-bottom: 15px;
  }
  #menu-content > li:hover {
    background: none;
  }
  #menu-content > li > a {
  /*  height: 100%; */
    padding: 15px 10px;
	  font-weight: 700;
    font-size: 1.6rem;
    border-bottom: 1px solid #fff;
	  line-height: normal !important;
	  text-align: left;
  }
  #menu-content > li > ul.second-content {
    visibility: visible;
    opacity: 1;
    width: 100%;
    position: relative;
    box-shadow: none;
	  margin-top: 5px;
	 margin-left: 20px;
  }
  #menu-content > li > ul.second-content > li > ul {
    visibility: visible;
    opacity: 1;
    width: 100%;
    position: relative;
    box-shadow: none;
	 margin-left: 20px;
  }
.open #menu-content > li > ul.second-content{ position: relative; display: flex; flex-wrap: wrap; padding-right: 20px; }
  #menu-content > li > ul.second-content > li {
	  flex-basis: 100%;
    width: 100%;
    text-align-last: left;
  }
  #menu-content > li > ul.kdp-second-content > li{ flex-basis: 100%; width: 100%; text-align-last: left; }
  #menu-content > li > ul.second-content > li > a {
    padding-left: 15px;
	  font-size: 1.4rem;
	  line-height: 1.3;
	  position: relative;
	  text-align: left;
  }
  #menu-content > li > ul.second-content > li > ul > li > a {
    padding-left: 30px;
	  font-size: 1.4rem;
	  line-height: 1.3;
	  position: relative;
	  text-align: left;
  }
  #menu-content > li > ul.second-content > li > a:hover {
    background: none;
  }

	#menu-content > li > ul.second-content > li > a:before{
	  content: '';
	  width: 4px;
	  height: 4px;
	  border-top: solid 1px var(--main-color);
	  border-right: solid 1px var(--main-color);
	  position: absolute;
	  left: 0px;
	  top: 16px;
	transform: rotate(45deg);
	}
	#menu-content > li > ul.second-content > li > ul > li > a:before{
	  content: '';
	  width: 4px;
	  height: 4px;
	  border-top: solid 1px var(--main-color);
	  position: absolute;
	  left: 15px;
	  top: 20px;
	}
}

.header_btn{ display: none; }



/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */
footer{ padding-top: 40px; padding-bottom: 90px; }

.footer_logo{ margin: 0 auto 30px auto; text-align: center; }
.footer_logo img{ }

.footer_link_list {
	display: flex;
	justify-content: center; /* 中央寄せ（任意） */
	flex-wrap: wrap;
	list-style: none;
	margin-bottom: 20px;
}

.footer_link_item {
	display: flex;
	align-items: center;
	
}

/* 2つ目以降の前にスラッシュを表示 */
.footer_link_item + .footer_link_item::before {
	content: "/";
	margin: 0 0.6em;
	color: #999; /* スラッシュの色（任意） */
}

/* リンクの見た目 */
.footer_link_item a {
	text-decoration: none;
	color: #333; /* リンク色（任意） */
}

.footer_link_item a:hover {
	text-decoration: underline;
}



.footer_copyright{ text-align: center; font-size: 1.1rem; color: var(--main-color); opacity: .5;  }


/* ページ下部 固定メニュー */
/*
.btm_menu{ position: fixed; bottom: -50px; left: 0; right: 0; width: 96%; margin: 0 auto; z-index: 99; background: var(--main-color); border-radius: 15px 15px 0 0; padding: 20px 0 10px 0; }
.btm_menu_list{ display: flex; justify-content: space-between; }
.btm_menu_item{ flex-basis: 33%; border-right: 2px solid #fff; }
.btm_menu_item:last-child{ border-right: 0px solid #fff; }
.btm_menu_item a{ display: block; text-align: center; font-size: 1.8rem; color: #fff; padding: 10px 0; }
.btm_menu_item a i{ font-size: 2rem; margin-right: 10px; }
*/
.btm_menu{ position: fixed; bottom: -80px; left: 0; right: 0; width: 96%; margin: 0 auto; z-index: 99; background: var(--main-color); border-radius: 15px 15px 0 0; padding: 20px 0 10px 0; }
.btm_menu_list{ display: flex; justify-content: space-between; }
.btm_menu_item{ flex: 1; border-right: 2px solid #fff; text-align: center; }
.btm_menu_item:last-child{ border-right: none; }
.btm_menu_item a{ display: block; text-align: center; font-size: 1.7rem; font-weight: 700; color: #fff; padding: 10px; }
.btm_menu_item a i{ font-size: 1.9rem; margin-right: 5px; }



/* ----------------------------------------------------------
 hx
---------------------------------------------------------- */
.h1_wrap{ margin-top: 60px; }
.page h1,
.archive h1,
.single h1{ font-size: 2.5rem; color: var(--main-color); text-align: center;  font-weight: 700; margin: 15px 0 0 0; line-height: 1.3; }
.page h1 span,
.archive h1 span,
.single h1 span{ display: block; font-size: 1.8rem; color: var(--second-color); text-align: center; font-family: 'Scope One'; letter-spacing: 2px; line-height: 1; }


h2{ font-size: 2.5rem; color: var(--main-color); text-align: center;  font-weight: 700; margin-bottom: 20px; line-height: 1.3; }
h2 span{ display: block; font-size: 1.8rem; color: var(--second-color); text-align: center; font-family: 'Scope One'; letter-spacing: 2px; line-height: 1; }


.menu h2,
.nurie h2,
.photo h2,
.wakuwaku h2,
h2.h2{ border-top: 2px solid #ffbabd; border-bottom: 2px solid #ffbabd; color: var(--main-color); font-size: 2rem; padding: 10px; margin-bottom: 10px; }

.menu_sec h2 span{ display: inline; font-size: 1.3rem; color: #666; }

.menu h3{ font-size: 1.8rem; color: var(--main-color); font-weight: 700; margin-bottom: 10px; }


/* ぱんくず */
 
.breadcrumbs_sec{ letter-spacing: 2px; text-align: center; } 
.breadcrumbs_sec > span{ display: inline-block; position: relative; color: #666; font-size: 1.2rem; }
.breadcrumbs_sec > span span{ margin-left: 15px; }
.breadcrumbs_sec > span a span{ margin-left: 0; }
.breadcrumbs_sec > span:first-child span{ margin-left: 0; }
.breadcrumbs_sec > span br{ display: none; }
.breadcrumbs_sec > span:before{ content: "/"; display: block; position: absolute; top: 0; left: 5px; color: #666; font-size: 12px; }
.breadcrumbs_sec span:first-child:before{ content: ""; margin-left: 0; }
.breadcrumbs_sec > span a{ color: #666; font-size: 1.2rem; margin: 0 0 0 20px; }
.breadcrumbs_sec > span:first-child a{ margin: 0 0 0 0; }
.breadcrumbs_sec span a:hover{ opacity: 0.6; }

/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */
.wrapper{ position: relative; padding-top: 0px; overflow: hidden; }

.top_img_wrap{ position: relative; }
.top_img{}
.top_img img{ width: 100%; height: auto; }

.top_catch{ position: absolute; z-index: 2; bottom: 65px; left: 10px; font-size: 2.5rem; color: #fff; letter-spacing: 2px;  font-weight: 700; line-height: 1.4; text-shadow: 1px 1px 5px rgba(0,0,0,.8); }

.top_banner{ margin-bottom: 20px; }

/* ▼ slickが付いていないときの基本レイアウト（静止表示用） */
.event_banners:not(.slick-initialized) {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 20px; /* 余白はお好みで。今の10pxに合わせるなら 10px でもOK */
}

/* 枚数少ないときだけ真ん中寄せ（静止表示時のみ） */
.event_banners.event_banners-center:not(.slick-initialized) {
  justify-content: center;
}

/* 以前の grid 指定が残っていたら Slick と競合するので無効化 */
.event_banners.slick-initialized {
  display: block !important;  /* slick作成後は .slick-list / .slick-track が主役になる */
}

/* スライド間のすき間（左右10px）  ※slick時だけ効けばOK */
.event_banners.slick-initialized .slick-list { margin: 0 -10px; }
.event_banners.slick-initialized .slick-slide { padding: 0 10px; }

/* 画像のはみ出し防止（共通） */
.event_banners .event_banner_img {
  width: 100%;
  height: auto;
  display: block;
}

/* 矢印が見えない/埋もれる対策（共通） */
.event_banners {
  position: relative;
}
.event_banners .slick-prev,
.event_banners .slick-next {
  z-index: 2;
}
.event_banners .slick-prev { left: 20px; }
.event_banners .slick-next { right: 20px; }
.event_banners .slick-prev:before,
.event_banners .slick-next:before {
  font-size: 20px;
  color: var(--main-color);   /* 背景に合わせて調整 */
}







.top_news{ width: 80%; margin: 0 auto 60px auto; }
.top_news_sec{}
.top_news_list{ margin-bottom: 30px; }
.top_news_item{ padding: 15px 0; border-bottom: 1px solid #ccc; }
.top_news_date{ display: flex; align-items: center; }

.top_news_cat01{ margin-right: 10px; margin-bottom: 5px; }
.top_news_cat01{ display: inline-block; background-color: #fbdad1; font-size: 1.3rem; padding: 2px 15px; color: var(--main-color); border-radius: 40px; }

.top_news_cat01_news_oshirase{}
.top_news_cat01_news_store{}
.top_news_cat01_news_important{}

.top_news_date01{ font-size: 1.4rem; color: #666; margin-bottom: 5px; }
.top_news_date01 .new{ font-size: 1.1rem; color: #fff; background-color: var(--main-color); margin-left: 10px; font-weight: 700; padding: 0 4px 2px 4px; line-height: 1; }

.top_news_tit01{}

.top_news_btn01{ width: 84%; margin: 0 auto; }
.top_news_btn01 a{ position: relative; display: block; font-size: 1.6rem; font-weight: 700; text-align: center; border: 2px solid var(--main-color); color: var(--main-color); padding: 10px; border-radius: 5px;  }
.top_news_btn01 a::after{ content: ''; position: absolute; top: 18px; right: 15px; width: 8px; height: 8px; margin: auto; border-top: 2px solid var(--main-color); border-right: 2px solid var(--main-color); transform: rotate(45deg); box-sizing: border-box; }

.top_news_btn01 a:hover{ background-color: var(--main-color); color: #fff; }



.top_concept{ width: 90%; margin: 0 auto 60px auto; }
.top_concept_txt01{ margin-bottom: 20px; }
.top_concept_txt01 p{ font-size: 1.7rem; font-weight: 700; letter-spacing: 1px; line-height: 1.8; }

.top_concept_list{ margin-bottom: 20px; }
.top_concept_item{}
.top_concept_item img{ width: 100%; height: auto; border-radius: 10px; }

.top_concept_txt02{ margin-bottom: 20px; }
.top_concept_txt02 p{ font-size: 1.5rem; line-height: 1.8; }



.top_salon{ width: 90%; margin: 0 auto 60px auto; }






/* タブ */
.salon_btn_container{ display: flex; justify-content: flex-start; flex-wrap :wrap; margin: 0 0 1rem; padding: 0; list-style: none; }
.salon_btn{ flex-basis: 31%; margin: 0 1% 10px 1%; cursor:pointer; padding: .3rem 1rem; border: 2px solid var(--main-color); border-radius: 40px; background: #fff; color: var(--main-color); text-align: center;  font-weight: 700; }
.salon_btn.active{ background: var(--main-color); color: #fff; }
.salon_detail{ display: none; }
.salon_detail.show{ display: block; }

/* カード */
.salon_cards{ display: flex; justify-content: space-between; flex-wrap: wrap; }
.salon_card_sec{ flex-basis: 46%; margin: 0 2% 40px 2%; }
.salon_card{ overflow: hidden; background: #fff; transition:transform .12s ease, box-shadow .12s ease; }
.salon_card:hover{ transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,0,0,.06); }
.salon_card_title{ flex-basis: 100%; font-size: 1.4rem; color: var(--second-color);  font-weight: 700; margin-bottom: 10px; }
.salon_card_title i{ margin-right: 5px; color: var(--main-color);  }
.salon_card_media{ margin-bottom: 10px; }
.salon_card_media img{ display: block; width: 100%; height: auto; border-radius: 10px; }

.top_salon_add01{ font-size: 1.3rem; text-align: center; margin-bottom: 5px; }
.top_salon_tel01{ font-size: 1.8rem; font-family: 'Roboto'; font-weight: 700; text-align: center; }
.top_salon_tel01 i{ font-size: 1.7rem; color: var(--main-color); margin-right: 5px; }

.salon_actions{ margin-bottom: 10px; }
.salon_actions a{ display: block; color: #fff; font-size: 1.5rem; text-align: center; padding: 3px; border: 2px solid var(--second-color); background-color: var(--second-color); line-height: 1; border-radius: 40px;  }

.salon_hours{ background-color: #ffd6d8; border-radius: 10px; padding: 5px; text-align: center; margin-bottom: 5px; }

.salon_holidays{ font-size: 1.4rem; text-align: center; color: var(--main-color); font-weight: 700; margin-bottom: 5px; line-height: 1; }

.salon_hours .meta_label{ display: block; color: var(--main-color); font-size: 1.6rem; text-align: center;  line-height: 1; margin-bottom: 5px; }
.salon_hours .meta_val{ font-size: 1.9rem; font-family: 'Roboto'; font-weight: 700; line-height: 1;}

.salon_uketsuke{ font-size: 1.3rem; margin-bottom: 10px; }
.salon_uketsuke .uk_label{ letter-spacing: -1px; margin-right: 3px; }
.salon_uketsuke .uk_val{ font-weight: 700; }

.salon_links a{ display: block; text-align: center; padding: 3px; margin-bottom: 10px; font-size: 1.5rem; border-radius: 5px;  font-weight: 700; }
.salon_links a i{ margin-right: 10px; }
a.salon_btn_shift{ color: var(--main-color); border: 2px solid var(--main-color); }
a.salon_btn_menu{ color: var(--menu-color); border: 2px solid var(--menu-color); }



.top_bnr{ margin-bottom: 60px; }
.top_bnr_list{ width: 90%; margin: 0 auto; }
.top_bnr_item{ text-align: center; margin-bottom: 10px; }
.top_bnr_item img{ width: 100%; height: auto; }


.top_faq{ width: 90%; margin: 0 auto 60px auto; }
.top_faq_list{}
.top_faq_item{}




.faq_accordion {
	margin-bottom: 7px;
	border: 1px solid var(--main-color);
	border-radius: 10px;
}

.faq_accordion summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	padding: 10px 20px 15px 35px;
	color: #333;
	font-size: 1.7rem;
	
	font-weight: 700;
	cursor: pointer;
	line-height: 1.3;
}

/* デフォルトマーカー非表示 */
.faq_accordion summary::-webkit-details-marker {
	display: none;
}

/* ▼矢印アイコン（after） */
.faq_accordion summary::after {
	content: '';
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-left: 8px;
	border-bottom: 3px solid var(--main-color);
	border-right: 3px solid var(--main-color);
	transform: rotate(45deg);
	transition: transform .3s;
	align-self: center; /* ←縦中央揃え */
}

/* ▼Qマーク（before） */
.faq_accordion summary::before {
	content: "Q";
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	left: 5px;
	top: 45%;
	transform: translateY(-50%); /* ←縦中央揃え */
	width: 20px; /* アイコン領域確保 */
	height: 20px;
	font-size: 2.2rem;
	color: var(--main-color);
	
	font-weight: 700;
}

.faq_accordion[open] summary::after {
	transform: rotate(225deg);
}

.faq_accordion p {
	transform: translateY(-10px);
	opacity: 0;
	margin: 0;
	padding: 10px;
	transition: transform .5s, opacity .5s;
	
	background-color: #fdeaeb;
	border-radius: 0 0 10px 10px;
}

.faq_accordion[open] p {
	transform: none;
	opacity: 1;
	margin: 0;
}










.main{ width: 100%; margin: 0 auto; }
.main p{ width: 100%; font-size: 1.5rem; letter-spacing: 1px; line-height: 1.7; margin: 0 auto 20px auto; }
.menu_sec p{ width: 100%; font-size: 1.5rem; letter-spacing: 1px; line-height: 1.7; margin: 0; }

.page_sec{ padding-top: 40px; padding-bottom: 20px; }

.about_sec{ width: 90%; margin: 0 auto; }
.salon_sec{ width: 90%; margin: 0 auto; }



/* わたしたちのこと About */
.about_img_top_list{}
.about_img_top_item{}
.about_img_bottom_list{ margin-bottom: 20px; }
.about_img_bottom_item{}

.about_img_top_item img,
.about_img_bottom_item img{ width: 100%; height: auto; border-radius: 10px; }
/* スライド間 10px の余白（= 左右 5px ずつ） */
.about_img_top_list .slick-slide,
.about_img_bottom_list .slick-slide{
  margin: 0 5px;
}

/* 余白ぶんはみ出さないように外側で相殺 */
.about_img_top_list .slick-list,
.about_img_bottom_list .slick-list{
  margin: 0 -5px;
}

/* もしSlick未初期化時にも同じ余白を見せたい場合（任意） */
.about_img_top_list:not(.slick-initialized) .about_img_top_item,
.about_img_bottom_list:not(.slick-initialized) .about_img_bottom_item{
  margin: 0 5px;
}





.about_catch{ text-align: center; font-size: 1.8rem; font-weight: 700; }
.about_catch span{ font-size: 2.3rem; }
.about_catch span.red{ color: var(--main-color); }

.about_catch{
position: relative;

/* 画像を順に左2枚・右2枚 */
background-image:
url("/info/wp-content/uploads/img_about_left01.png"),
url("/info/wp-content/uploads/img_about_left02.png"),
url("/info/wp-content/uploads/img_about_right01.png"),
url("/info/wp-content/uploads/img_about_right02.png");

background-repeat: no-repeat;
background-position:
left 50px top 50%,       /* 左1 */
left 5px top 50%,   /* 左2（右に少しずらす） */
right 50px top 50%,  /* 右1（左に少しずらす） */
right 5px top 50%;      /* 右2 */

background-size:
auto,
auto,
auto,
auto;

padding: 20px 0; /* 内容との間隔調整 */
}

.about_reason_sec{ position: relative; background-color: #faf691; border-radius: 50px 50px 0 0; margin-top: 100px; }
.about_sec_reason_tit{ }
.about_sec_reason_tit{ position: relative; }
.about_sec_reason_tit01{ position: absolute; top: -30px; left: 25vw; }
.about_sec_reason_tit02{ position: absolute; top: -70px; right: 15vw; }

.reason_list_tit{ font-size: 3rem; color: var(--second-color); text-align: center; font-weight: 700; padding-top: 40px; margin-bottom: 40px; }
.reason_list_tit span{ font-size: 7rem; color: var(--main-color); font-family: 'Paytone One'; }

.reason_list{ width: 90%; margin: 0 auto; display: flex; justify-content: space-between; flex-wrap: wrap; }
.reason_item{ position: relative; flex-basis: 48%; background-color: #fff; padding: 15px; margin-bottom: 40px; border-radius: 10px; }
.reason_num01{ position: absolute; top: -20px; left: 0; right: 0; margin: 0 auto; width: 40px; height: 40px; text-align: center; font-size: 3rem; font-family: 'Paytone One'; line-height: 40px; border-radius: 100%; background-color: var(--second-color); color: #fff; }
.reason_img01{ margin-bottom: 5px; }
.reason_img01 img{ width: 100%; height: auto; border-radius: 10px; }
.reason_tit01{ color: var(--second-color); font-size: 1.3rem; font-weight: 700; text-align: center; line-height: 1.3; margin-bottom: 5px; }
.reason_txt01{ font-size: 1.4rem; line-height: 1.3; letter-spacing: 2px; }
.reason_txt01 span{ font-weight: 700; color: var(--main-color); }




.salon_page_link{ }
.salon_page_link a{ position: relative; display: block; font-size: 1.7rem; font-weight: 700; background-color: var(--main-color); color: #fff; text-align: center; padding: 5px; border-radius: 40px; margin-bottom: 10px; }

.salon_page_link a::before,
.salon_page_link a::after {
	content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 10px;
  width: 8px;
  height: 2px;
  border-radius: 9999px;
  background-color: #fff;
  transform-origin: calc(100% - 1px) 50%;
}

.salon_page_link a::before{ transform: rotate(45deg); }
.salon_page_link a::after{ transform: rotate(-45deg); }




.salon_sec{}
.salon_img_list{ margin-bottom: 10px; }
.salon_img_item{}
.salon_img_item img{ width: 100%; height: auto; border-radius: 10px; }

.single-salon .salon_add01{ font-size: 1.6rem; text-align: center; margin-bottom: 10px; }

.salon_time01{ font-size: 2.2rem; font-weight: 700; text-align: center; margin-bottom: 10px; }
.salon_time01 span{ font-size: 1.6rem; color: var(--main-color); background-color: #ffd6d8; padding: 3px 10px; border-radius: 10px; margin-right: 10px; }

.salon_holiday01{ font-size: 1.8rem; color: var(--main-color); font-weight: 700; text-align: center; margin-bottom: 20px; }

.single-salon .salon_links{ display: flex; justify-content: space-between; margin-bottom: 20px; }
.single-salon .salon_links a{ flex-basis: 48%; padding: 10px; }
.salon_btn_shift{}
.salon_btn_menu{}

.single .salon_sec h2{ border-top: 2px solid #ffbabd; border-bottom: 2px solid #ffbabd; color: var(--main-color); font-size: 2rem; padding: 5px; margin-bottom: 20px; }

.single-salon .top_salon_add01{ font-size: 1.4rem; text-align: center; margin-bottom: 5px; }

.single-salon .salon_uketsuke{ display: flex; justify-content: space-between; flex-wrap: wrap; }
.single-salon .uketsuke_row:nth-child(even){ flex-basis: 40%; font-size: 1.4rem; }
.single-salon .uketsuke_row:nth-child(odd){ flex-basis: 58%; font-size: 1.4rem; }
.single-salon .uk_label{ position: relative; margin-right: 5px; padding-left: 10px; }
.single-salon .uk_label:before{ position: absolute; content: ""; display: block; width: 3px; height: 3px; border-radius: 100%; background-color: #333; top: 10px; left: 0; }
.single-salon .uk_val{ font-size: 1.6rem; font-weight: 700; }



/* コンテナ周りは左右0で対称に。はみ出しは隠す */
.single_salon_banners,
.single_salon_banners .event_banners,
.single_salon_banners .event_banners .slick-list,
.single_salon_banners .event_banners .slick-track{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  box-sizing:border-box;
}
.single_salon_banners .event_banners,
.single_salon_banners .event_banners .slick-list{ overflow:hidden; }

/* ★SP優先：中央1枚＋左右チラ見せのために、slick 初期化後の .slick-list に左右パディングを付与
   ※ 上の一括リセットで padding:0 !important; にしているため、より強い指定で復活させる */
.single_salon_banners .event_banners.slick-initialized > .slick-list{
  padding-left:24px !important;   /* ← チラ見せ量（SP想定・px指定） */
  padding-right:24px !important;
}

/* SP優先：スライド“本体”を 312px 固定（= 300 + 6px + 6px） */
.single_salon_banners .event_banners article.event_banner_item{
  width:312px !important;     /* ★スライド幅を固定 */
  margin:0 !important;        /* ギャップは下の a の中で作る */
  box-sizing:content-box;
  display:block;
}

/* 中身（リンク）で左右6pxのすき間を付け、バナーは 300×100 固定 */
.single_salon_banners .event_banners article.event_banner_item > a{
  display:block !important;
  width:300px;                 /* 見た目のバナーサイズ */
  height:100px;
  margin:0 6px !important;     /* 左右のすき間（合計12px） */
  box-sizing:content-box !important;
}

/* 画像の固定サイズ */
.single_salon_banners .event_banners .event_banner_img{
  width:300px !important;
  height:100px !important;
  display:block;
  object-fit:contain;          /* 全体表示。切り抜きなら cover */
  background:#fff;
  object-position:center;
}

/* （既存）ボタン風スタイル除去があるならそのままでOK */
.single_salon_banners .event_banner_item,
.single_salon_banners .event_banner_item a{
  background:transparent !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
  display:block;
}
.single_salon_banners .event_banner_item a::before,
.single_salon_banners .event_banner_item a::after{ content:none !important; }








.salon_sec_news_btn{ width: 60%; margin: 20px auto 40px auto; }
.salon_sec_news_btn a{ display: block; color: #fff; background-color: var(--second-color); padding: 5px; text-align: center; border-radius: 40px; border: 2px solid var(--second-color); }
.salon_sec_news_btn a:hover{ background-color: #fff; color: var(--second-color); }



.salon_single_list{ display: flex; justify-content: space-between; flex-wrap: wrap; }
.salon_single_item{ flex-basis: 48%; margin-bottom: 40px; position: relative; }

.salon_single_tit01{ flex-basis: 100%; font-size: 1.4rem; color: var(--second-color);  font-weight: 700; margin-bottom: 5px; }
.salon_single_tit01 i{ margin-right: 5px; color: var(--main-color);  }
.salon_single_img01{}
.salon_single_img01 img{ width: 100%; height: auto; border-radius: 10px; }


/*----- くの字の矢印 */
.arrow_right{ position: absolute; right: 10px; bottom: -13px; width: 30px; height: 30px; border-radius: 100%; background-color: var(--main-color); }
.arrow_right::before {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
	position: absolute;
	left: 7px;
	top: 9px;
}
/* 右向き */
.arrow_right::before{
    transform: rotate(45deg);
}

.sonota_tenpo_sec{ background-color: #eee; padding: 30px 20px 20px 20px; }
.sonota_tenpo_sec h2{ font-size: 2rem; color: var(--main-color); text-align: center; }
.sonota_tenpo_list{ display: flex; justify-content: flex-start; flex-wrap :wrap; margin: 0 0 1rem; padding: 0; }
.sonota_tenpo_item{ flex-basis: 31%; margin: 0 1% 10px 1%; cursor:pointer; }
.sonota_tenpo_item a{ display: block; padding: .3rem 1rem; border: 2px solid var(--main-color); border-radius: 40px; background: #fff; color: var(--main-color); text-align: center;  font-weight: 700; }



.menu_sec{ width: 90%; margin: 0 auto; }

.menu_sec table{ width: 100%; margin-bottom: 30px; }
.menu_sec table th{ display: block; width: 100%; padding: 10px 0; font-size: 1.8rem; text-align: left; border-bottom: 1px solid #ccc; letter-spacing: -1px; }
.menu_sec table td{ display: block; width: 100%; padding: 10px 0; font-size: 1.8rem; border-bottom: 1px solid #ccc; text-align: right; }



.main_nav{ width: 75%; margin: 0 auto; background-color: #ffe6e7; padding: 15px; border-radius: 10px;  }
.main_nav nav{}
.main_nav .menu{ display: flex; justify-content: center; flex-wrap: wrap; gap: 15px; }
.main_nav .menu-item{ position: relative; font-size: 1.5rem; }
.main_nav .menu-item a{ font-size: 1.5rem; font-weight: 700; }
.main_nav .menu-item:before{ content: "/"; position: absolute; top: 0; left: -10px; }
.main_nav .menu-item:nth-child(1):before,
.main_nav .menu-item:nth-child(5):before{ content: ""; display: none; }



.faq_sec{ width: 90%; margin: 0 auto; }


.voice_sec01{ width: 90%; margin: 0 auto 40px auto; background-color: #eee; border-radius: 10px; padding: 20px; }
.voice_sec_tit{ display: flex; align-items: center; margin-bottom: 10px; }
.voice_sec_cat01{ display: inline-block; border-radius: 40px; }
.voice_sec_cat01 a{ display: block; background-color: var(--main-color); color: #fff; font-size: 1.2rem; text-align: center; padding: 2px 15px; margin-right: 10px; border: 2px solid var(--main-color); border-radius: 40px; font-weight: 700; }
.voice_sec_cat01 a:hover{ background-color: #fff; color: var(--main-color); }
.voice_sec_tit01{ font-size: 1.5rem; color: var(--second-color); font-weight: 700; }
.voice_sec_txt{ font-size: 1.4rem; }


.pagination{ text-align: center; }
.wp-pagenavi{ clear: both; }
.wp-pagenavi a,
.wp-pagenavi span{ text-decoration: none; border: 1px solid var(--main-color) !important; padding: 5px 10px !important; margin: 2px; border-radius: 5px; color: var(--main-color); font-size: 1.7rem !important; font-weight: 700; }
.wp-pagenavi a:hover, .wp-pagenavi span.current{ border-color: #000; }
.wp-pagenavi span.current{ font-weight: bold; background-color: var(--main-color) !important; color: #fff; }



.main_news{ padding-top: 40px; }
.news_sec{ width: 90%; margin: 0 auto; }

.news_list{}
.news_item{ display: flex; flex-wrap: wrap; }
.news_item h2{ flex-basis: 100%; margin: 10px 0 20px 0; }
.news_cat{ display: inline-block; background-color: #fbdad1; font-size: 1.3rem; padding: 2px 15px; color: var(--main-color); border-radius: 40px; margin-right: 10px; }
.news_date{}
.news_date span{ font-size: 1.1rem; color: #fff; background-color: var(--main-color); margin-left: 10px; font-weight: 700; padding: 0 4px 2px 4px; line-height: 1; }
.news_detail{}

.news_pagination{ text-align: center; margin-top: 100px; margin-bottom: 50px; }
.news_pagination ul{ display: flex; justify-content: space-between; text-align: center; }
.news_pagination ul li{ flex-basis: 30%; margin: 0 1%; }
.news_pagination ul li.next{ position: relative; text-align: left; border: 1px solid var(--main-color); border-radius: 40px; padding: 3px; text-align: center; font-size: 1.4rem;}
.news_pagination ul li.next::after{ position: absolute; top: 50%; left: 1em; width: 0.5em; height: 0.5em; transform: translateY(-50%) rotate(225deg); border-right: 2px solid var(--main-color); border-top: 2px solid var(--main-color); content: ""; transition: .3 all; }

.news_pagination ul li.prev{ position: relative; text-align: right; border: 1px solid var(--main-color); border-radius: 40px; padding: 3px; text-align: center; font-size: 1.4rem; }
.news_pagination ul li.prev::after{ position: absolute; top: 50%; right: 1em; width: 0.5em; height: 0.5em; transform: translateY(-50%) rotate(45deg); border-right: 2px solid var(--main-color); border-top: 2px solid var(--main-color); content: ""; transition: .3 all; }

.news_pagination ul li.next:hover::after,
.news_pagination ul li.prev:hover::after{ border-right-color: #fff; border-top-color: #fff; }
.news_pagination ul li.nopost{ color: #999; border-color: #999; }
.news_pagination ul li.nopost::after{ border-color: #999; }

.news_pagination ul li.modoru{ text-align: center; border: 1px solid var(--main-color); border-radius: 40px; padding: 3px; text-align: center; font-size: 1.4rem;  }
.news_pagination a{ display: block; border-radius: 40px; color: var(--main-color); }
.news_pagination a:hover{ background-color: var(--main-color); color: #fff; }

.sidebar_sec{ width: 90%; margin: 0 auto; }
.sidebar_sec h3{ color: var(--second-color); font-size: 1.8rem; border-bottom: 2px solid var(--second-color); padding: 10px; margin-bottom: 20px; font-weight: 700; }
.sidebar_sec01_list{ margin-bottom: 30px; }
.sidebar_sec01_list > li{ border-bottom: 1px solid #ccc; }
.sidebar_sec01_list > li a{ display: block; padding: 10px;  }



.kdp_sec{ padding-bottom: 0; }

.kdp_sec_tit{ position: relative; display: block; width: 90%; margin: 0 auto 40px auto; padding: 10px; border-radius: 15px; background-color: var(--kdp-color); text-align: center; color: #fff; font-family: 'AnkerJack'; font-size: 8rem; line-height: 1.3; }
.kdp_sec_tit span{ display: block; font-size: 2rem; font-family: 'Zen Maru Gothic'; font-weight: 700; }

.kdp_sec_tit::after{ content: ""; position: absolute; bottom: 0; left: 50%; border-style: solid; border-width: 15px 7.5px 0 7.5px; border-color: var(--kdp-color) transparent transparent; translate: -50% 100%; }

.kdp_sec_concept{ width: 80%; margin: 0 auto 20px auto; font-size: 1.5rem; line-height: 1.6; }

.kdp_top_list{ margin-bottom: 30px; }
.kdp_top_item{}
.kdp_top_list .slick-slide{ margin: 0 10px; }
.kdp_top_list .slick-list{ margin: 0 -10px; }
.kdp_top_list .slick-slide img{ width: 180px !important; height: 140px !important; object-fit: cover; object-position: center; display: block; margin: 0 auto; }


.kdp_sec h2{ font-size: 5rem; color: var(--kdp-color); font-family: 'AnkerJack'; text-align: center;  margin-bottom: 20px; }
.kdp_sec h2 span{ display: block; color: var(--kdp-color); font-size: 2rem; font-family: 'Zen Maru Gothic'; font-weight: 700;  }

.kdp_project_list{}
.kdp_project_item{ margin-bottom: 60px; }
.kdp_project_item_img01{ margin: 0 auto 10px auto; text-align: center; }
.kdp_project_item_img01 img{ border-radius: 10px; }
.kdp_project_item_tit01{ font-size: 2.5rem; color: var(--main-color); font-weight: 700; text-align: center; margin-bottom: 10px; }
.kdp_project_item_txt01{ width: 80%; margin: 0 auto 20px auto; font-size: 1.5rem; }
.kdp_project_item_btn01{ width: 50%; margin: 0 auto 10px auto; }
.kdp_project_item_btn01 a{ display: block; font-size: 1.5rem; color: #fff; text-align: center; padding: 3px; border-radius: 40px; border: 2px solid var(--second-color); background-color: var(--second-color); }
.kdp_project_item_btn01 a:hover{ background-color: #fff; color: var(--second-color); }


.nurie_status{ text-align: center; padding: 15px; color: #fff; margin-bottom: 20px; }
.nurie_open{ background-color: var(--main-color); }
.nurie_closed{ background-color: #e7733a; }
.nurie_before{ background-color: #aaa; }
.nurie_status_label{ font-size: 2rem; font-weight: 700; }
.nurie_period{}

.nurie_pdf_btn01{ max-width: 80%; margin: 0 auto 40px auto; text-align: center; }
.nurie_pdf_btn01 a{ display: inline-block; font-size: 1.5rem; color: #fff; text-align: center; padding: 3px 20px; border-radius: 40px; border: 2px solid var(--second-color); background-color: var(--second-color); }
.nurie_pdf_btn01 a:hover{ background-color: #fff; color: var(--second-color); }

.kdp_txt01{ width: 80% !important; margin: 0 auto 20px auto !important; }


.nurie_youkou_sec{ width: 90%; margin: 0 auto; }
.nurie_youkou_sec table{ width: 100%; }
.nurie_youkou_sec table th{ width: 30%; padding: 10px; border-bottom: 1px solid #ccc; font-size: 1.7rem; font-weight: 700; }
.nurie_youkou_sec table td{ padding: 10px; border-bottom: 1px solid #ccc; font-size: 1.7rem; }


.nurie_kekka_1st{ text-align: center; margin-bottom: 30px; }
.nurie_kekka_1st_tit{ font-size: 2.5rem; color: #d3c924; font-weight: 700; margin-bottom: 10px; }
.nurie_kekka_1st_tit i{ margin-right: 5px; }
.nurie_kekka_1st_img{}
.nurie_kekka_1st_img img{ width: 100%; height: auto; max-width: 240px; margin: 0 auto 10px auto; }
.nurie_kekka_1st_name{ font-size: 1.7rem; text-align: center; }

.nurie_kekka_list{ display: flex; justify-content: space-between; flex-wrap: wrap; }
.nurie_kekka_item{ flex-basis: 48%; margin-bottom: 30px; text-align: center; }
.nurie_kekka_2nd_tit{ font-size: 2.4rem; font-weight: 700; color: #bdbdbd; }
.nurie_kekka_2nd_tit i{ margin-right: 5px; }
.nurie_kekka_img01{ margin-bottom: 10px; }
.nurie_kekka_img01 img{ width: 100%; height: auto; }
.nurie_kekka_name01{ font-size: 1.7rem; }

.nurie_backnumber_list{ display: flex; justify-content: space-between; flex-wrap: wrap; }
.nurie_backnumber_list li{ flex-basis: 49%; border-bottom: 1px solid #ccc; padding: 15px 10px; }


.pw_sec{ width: 80% !important; }


.exclusive .wp-block-columns{ width: 90%; margin: 0 auto; display: flex; justify-content: space-between; flex-wrap: wrap; }
.exclusive .wp-block-column{ flex-basis: 100%; margin-bottom: 40px; }
.exclusive .wp-block-column p{ font-size: 1.8rem; }
.exclusive .wp-block-column .wp-block-button{ width: 100%; }
.exclusive .wp-block-column .wp-block-button a{ display: block; background-color: var(--second-color); color: #fff; text-align: center; padding: 10px; font-size: 1.8rem; border-radius: 40px; }


.elearning_movie_list{ width: 90%; margin: 0 auto; }
.elearning_movie_item{ margin-bottom: 40px; }
.elearning_movie_tit{ display: flex; align-items: center; flex-wrap: wrap; flex-direction: column-reverse; margin-bottom: 10px; }
.elearning_movie_tit01{ flex-basis: 100%; font-size: 1.8rem; color: var(--main-color); font-weight: 700; }
.elearning_movie_cat01{ font-size: 1.4rem; background-color: #fbdad1; padding: 3px 10px; text-align: center; color: var(--main-color); border-radius: 40px; }
.elearning_movie_url01{}
.video_embed{ width: 100%; aspect-ratio: 16 / 9; }
.video_embed iframe{ width: 100%; height: 100%; }


.staffonly_sec{ width: 90%; margin: 0 auto; }
.staffonly_date{ font-size: 1.4rem; padding: 0 0 5px 0; font-weight: 700; }
.staffonly_sec01{ background-color: #fbdad1; padding: 10px 15px; border-radius: 10px; font-size: 1.8rem; border: 2px solid #ddd; margin-bottom: 40px; }
.staffonly_sec01 p{ margin: 0 0 0 0!important; }


.staffonly_sec .pagination{ display: flex; justify-content: center; text-align: center; gap: 5px; }
.staffonly_sec .page-numbers{ width: 30px; height: 30px;  color: var(--main-color); border: 1px solid var(--main-color); border-radius: 5px; }
.staffonly_sec .page-numbers a{ display: block; color: var(--main-color);  font-size: 1.6rem; }
.staffonly_sec .page-numbers.current{ background-color: var(--main-color); color: #fff; font-weight: 700; }



.privacy_sec{ width: 90%; margin: 0 auto; }




.contact_att01{ font-size: 2.2rem !important; text-align: center; color: #bf1920; font-weight: 700;  }
.contact_att02{ font-size: 1.8rem !important; text-align: center; color: #bf1920; font-weight: 700;  }

.contact .wp-block-button{ width: 80%; text-align: center; margin: 0 auto 20px auto !important; }
.contact .wp-block-button a{ display: block !important; font-size: 1.6rem; color: #666; padding: 5px !important; border: 2px solid var(--main-color) !important; background-color: #fff !important; margin: 0 auto; }
.contact .wp-block-button a:hover{ color: #fff; background-color: var(--main-color); }


/* フォーム */
.contact_sec{ width: 90%; margin: 0 auto; }
.contact_item{ display: flex; flex-wrap: wrap; width: 100%; padding: 20px 0; border-bottom: 1px solid #ccc; max-width: 1100px; margin: 0 auto;}
.contact_tit{ flex-basis: 100%; font-weight: 700!important; position: relative; padding-left: 60px; text-align: left!important; margin-bottom: 5px; }

.contact_tit span{ position: absolute;  background-color: #ffe7e7; color: var(--main-color); margin-right: 15px; border: 1px solid var(--main-color); padding: 2px 8px; left: 0; top: 3px; border-radius: 30px; font-size: 1.3rem; line-height: 1.2; }
.contact_tit .optional{background-color: #999; border: 1px solid #999;}
.contact_adress_sub p{padding: 15px 0;}

.contact_tit p,
.contact_txt p,
.contact_txtarea p{ width: auto !important; margin: 0 !important; }

.contact_submit_btn input:hover{opacity: 0.7;}

.contact_txt input[type="checkbox"]{ width: 20px; margin-right: 5px; }
.contact_check{display: flex;}
.contact_submit .contact_tit{width: 30%;}
.wpcf7-spinner{display: block;}

.contact_adress_sub p span{margin-left: 10px;}

::placeholder{ color: #999; }
.wpcf7-spinner {
	display: block !important;
	margin: 0 auto !important;
}

.contact_name_row{ display:flex; gap:1rem; align-items:flex-start; flex-wrap:nowrap; }
.contact_name_row .contact_txt{ flex:1 1 0; min-width:0; }
.contact_label{ display:block; margin-bottom:.35rem; font-size:.95em; color:#444; }
.wpcf7 form input[type="submit"]{ display:block; margin:0 auto; max-width:18rem; width:100%; }
.wpcf7 form .wpcf7-spinner{ display:block; margin:.6rem auto 0; float:none; }
.wpcf7 form input[type="submit"]+.wpcf7-spinner{ display:block; }


/* =========================================================
   Contact Form 7 統一スタイル（背景 #f5f5f5）
   貼り付け先：テーマの style.css or 外観 > 追加CSS
   ========================================================= */

/* カラートークン */
:root{
  --c-bg: #f5f5f5;        /* 入力欄の背景 */
  --c-fg: #111;           /* 文字色 */
  --c-border: #ddd;       /* 枠線 */
  --c-border-hover: #cfcfcf;
  --c-ring: rgba(59,130,246,.2); /* フォーカス時のアウトライン */
  --c-brand: #2563eb;     /* フォーカス時の枠色・ボタン色 */
  --c-muted: #eee;        /* 無効時背景 */
  --c-error: #dc2626;     /* エラー色 */
}

/* 共通：入力要素（select含む） */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="search"],
.wpcf7 input[type="number"],
.wpcf7 input[type="password"],
.wpcf7 textarea,
.wpcf7 select{
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;

  width:100%;
  box-sizing:border-box;
  font:inherit;
  color:var(--c-fg);
  background-color:var(--c-bg);
  border:1px solid var(--c-border);
  border-radius:.6rem;
  line-height:1.2;
  padding:.65em 2.6em .65em .9em; /* 右はselect矢印分を確保 */
  box-shadow:none; /* フラットに */
  transition:border-color .2s, box-shadow .2s, background-color .2s;
}

/* hover / focus */
.wpcf7 input[type="text"]:hover,
.wpcf7 input[type="email"]:hover,
.wpcf7 input[type="tel"]:hover,
.wpcf7 input[type="url"]:hover,
.wpcf7 input[type="search"]:hover,
.wpcf7 input[type="number"]:hover,
.wpcf7 input[type="password"]:hover,
.wpcf7 textarea:hover,
.wpcf7 select:hover{
  border-color:var(--c-border-hover);
}
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 input[type="url"]:focus,
.wpcf7 input[type="search"]:focus,
.wpcf7 input[type="number"]:focus,
.wpcf7 input[type="password"]:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus{
  outline:none;
  border-color:var(--c-brand);
  box-shadow:0 0 0 3px var(--c-ring);
}

/* select の矢印（SVGインライン） */
.wpcf7 select{
  background:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>")
      no-repeat right .8em center / 1em,
    var(--c-bg);
}
/* 旧IEアイコン非表示（不要なら削除可） */
.wpcf7 select::-ms-expand{ display:none; }

/* textarea は矢印が不要なため右余白を調整＆高さ確保 */
.wpcf7 textarea{
  min-height:8rem;
  padding-right:.9em;
  resize:vertical;
}

/* 無効状態 */
.wpcf7 input:disabled,
.wpcf7 textarea:disabled,
.wpcf7 select:disabled{
  color:#999;
  background-color:var(--c-muted);
  cursor:not-allowed;
}

/* プレースホルダー色 */
.wpcf7 ::placeholder{ color:#9ca3af; }

/* 自動入力背景（Safari/Chrome） */
.wpcf7 input:-webkit-autofill{
  -webkit-box-shadow:0 0 0 1000px var(--c-bg) inset !important;
  -webkit-text-fill-color:var(--c-fg) !important;
  transition: background-color 9999s ease-out 0s;
}

/* バリデーション（エラー時） */
.wpcf7 .wpcf7-form-control.wpcf7-not-valid,
.wpcf7 .wpcf7-not-valid input,
.wpcf7 .wpcf7-not-valid textarea,
.wpcf7 .wpcf7-not-valid select{
  border-color:var(--c-error) !important;
  box-shadow:0 0 0 3px rgba(220,38,38,.12) !important;
}
.wpcf7 .wpcf7-not-valid-tip{
  margin-top:.35rem;
  color:var(--c-error);
  font-size:.9em;
}

/* 送信後メッセージ */
.wpcf7 form .wpcf7-response-output{
  margin:1rem 0 0;
  padding:.8rem 1rem;
  border-radius:.5rem;
  border:1px solid var(--c-border);
  background:#fafafa;
}

/* 送信ボタン（任意：フォームとトーン合わせ） */
.wpcf7 input[type="submit"]{
  display:inline-block;
  font:inherit;
  color:#fff;
  background:var(--c-brand);
  border:1px solid var(--c-brand);
  border-radius:.6rem;
  padding:.7em 1.2em;
  cursor:pointer;
  transition:filter .2s, box-shadow .2s, transform .02s;
}
.wpcf7 input[type="submit"]:hover{ filter:brightness(1.05); }
.wpcf7 input[type="submit"]:active{ transform:translateY(1px); }
.wpcf7 input[type="submit"]:disabled{ opacity:.6; cursor:not-allowed; }

/* （任意）フォーム行間隔を整えるユーティリティ */
.wpcf7 .form-row + .form-row{ margin-top:1rem; }

/* ===== 送信ボタン＆スピナーのセンタリング ===== */

/* ボタンを中央寄せ（ブロック化＋左右auto） */
.wpcf7 form input[type="submit"]{
  display: block;
  margin: 20px auto 5px auto;           /* 中央寄せ */
}

/* スピナーも中央寄せ（下に配置） */
.wpcf7 form .wpcf7-spinner{
  display: block;           /* 改行してボタンの下へ */
  margin: .6rem auto 0;     /* 上に少し余白を取りつつ中央寄せ */
  float: none;              /* 念のためフロート解除 */
}

/* （任意）ボタンとスピナーの横並びを避けたいテーマ向けの保険 */
.wpcf7 form input[type="submit"] + .wpcf7-spinner{
  display: block;
}

/* （任意）ボタン最大幅を控えめにして中央寄せ感を強調したい場合 */
.wpcf7 form input[type="submit"]{
  max-width: 18rem;         /* 好みで調整 */
  width: 100%;
}






.sitemap_sec{ width: 90%; margin: 0 auto 60px auto; }
.sitemap_sec ul{  }
.sitemap_sec ul li{ margin-bottom: 10px; }
.sitemap_sec > ul > li{  }
.sitemap_sec ul li a{ font-size: 2rem; font-weight: 700; }
.sitemap_sec ul li ul{ margin-left: 30px; margin-top: 10px; }
.sitemap_sec > ul > li > ul > li{ position: relative; padding-left: 30px; }
.sitemap_sec > ul > li > ul > li:before{
content: "";
position: absolute;
top: 15px;
left: 0;
transform: translateY(-50%);
border: 5px solid transparent;
border-left: 8px solid var(--main-color);
}
.sitemap_sec ul li ul li a{ font-size: 2rem; font-weight: normal; }
.sitemap_sec ul li ul li ul{ margin-left: 60px; margin-top: 10px; }
.sitemap_sec ul li ul li ul li{ list-style-type: circle; }
.sitemap_sec ul li ul li ul li a{ font-size: 2rem;  font-weight: normal; }

.sitemap_salon_list{ padding-left: 40px; display: flex; justify-content: space-between; flex-wrap: wrap; }
.sitemap_salon_item{ flex-basis: 48%; list-style-type: circle; padding-left: 0 !important; }
.sitemap_salon_item:before{ display: none; }
.sitemap_salon_item a{ font-size: 2rem; font-weight: normal !important; }


.daily_sec{ width: 90%; margin: 0 auto; }
.weekly_sec{ width: 90%; margin: 0 auto; }
.monthly_sec{ width: 90%; margin: 0 auto; }
.syukkin_admin_sec{ width: 90%; margin: 0 auto; }
.syukkin_staff_sec{ width: 90%; margin: 0 auto; }

.staff_block .thumb img,
.attmgr_weekly_all .portrait img,
.attmgr_admin_scheduler .portrait img{ display: none; }

.daily_sec select{ padding: 10px; margin-bottom: 10px; }

.list_datenavi{ font-size: 2rem !important; color: var(--second-color); font-weight: 700; margin-bottom: 10px;  }
.list_datenavi a{ display: inline-block; border: 1px solid var(--second-color); padding: 0 5px 5px 5px; border-radius: 5px; line-height: 1; }
.list_datenavi a:hover{ background-color: var(--second-color); color: #fff; }

.weekly_sec select,
.syukkin_admin_sec #attmgr_shop_selector select{ padding: 10px; font-size: 1.6rem; border-radius: 5px; margin-bottom: 20px; }

.attmgr_weekly_all{}
.attmgr_weekly_all th{ font-size: 1.8rem !important; padding: 10px !important; font-weight: 700; }
.attmgr_weekly_all th.sunday{ background-color: #f5f5f5; }

.attmgr_weekly_all td{ font-size: 1.4rem !important; padding: 10px !important; }
.attmgr_weekly_all td.portrait{ font-size: 1.8rem !important; font-weight: 700; color: var(--main-color); }




/* 共通：横スクロール許可 */
.sh-wrap.js-scrollable{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
}




/* ====== コンテナ：weekly_sec で全体幅を制御（中央寄せ） ====== */
.weekly_sec{
  width: 90%;
  max-width: 100%;
  margin: 0 auto;
}

/* ====== ページナビ：flex でレイアウト（左：prev & 日付ナビ／右：本日） ====== */
/* 旧 float を無効化 */
.list_pagenavi .prev_page,
.list_pagenavi .list_datenavi,
.list_pagenavi .next_page{
  float: none !important;
  width: auto !important;
}

/* 横並び。左側を起点に並べて、日付ナビで右側を押し出す */
.list_pagenavi{
  display: flex;
  align-items: center;
  justify-content: flex-start; /* 左詰め */
  gap: 8px;
  height: auto !important;     /* 以前の 1em 固定を解除 */
}

/* prev と日付ナビは左側に固め、日付ナビで右側を押し出す */
.list_pagenavi .prev_page{ order:0; }
.list_pagenavi .list_datenavi{
  order:1;
  display: inline-flex;
  align-items: center;
  gap: 8px;          /* « と » と本文の間隔 */
  text-align: left;  /* 左寄せ */
  margin-left: 0;
  margin-right: auto; /* ← これで右側（本日）を端まで押し出す */
}

/* 本日ボタン（next_page）は右端へ */
.list_pagenavi .next_page{
  order:2;
  margin-left: 8px;
}

/* ボタンの見た目を統一（« » と「本日」） */
.list_datenavi a,
.list_pagenavi .back_today a{
  display: inline-block;
  font-size: 2.4rem;
  color: var(--second-color);
  border: 1px solid var(--second-color);
  padding: 0 5px 5px;
  border-radius: 5px;
  line-height: 1;
  text-decoration: none;
}
.list_datenavi a:hover,
.list_pagenavi .back_today a:hover{
  background-color: var(--second-color);
  color: #fff;
}

/* ====== テーブルは横幅100%（スクロールなし） ====== */
/* ラッパーはあっても幅100%でOK（スクロールはしない想定） */
.sh-wrap{ width: 100%; overflow-x: visible; }

/* テーブルは常に100% */
table.attmgr_weekly_all{
  width: 100% !important;
  max-width: 100%;
  table-layout: auto;
  clear: both; /* 万が一のフロート食い込み防止 */
}

/* （任意）スマホ時の微調整：selectを中央にしたい場合 */
@media (max-width:520px){
  .weekly_sec select{
    display: inline-block;  /* inline-blockのまま中央寄せ */
   /*  width: 90%; */
    max-width: 100%;
    box-sizing: border-box;
    margin: 0 0 20px;       /* 中央寄せは親の text-align に依存 */
    vertical-align: middle;
  }
  /* select を中央に見せたい時は親に text-align:center を付ける */
  .weekly_sec{ }
  .list_pagenavi{ text-align: initial; } /* ナビの中央寄せ影響を打ち消し */
}



/* ===== コンテナ：全体幅は weekly_sec で制御（中央寄せ） ===== */
.weekly_sec{
  width: 90%;
  max-width: 100%;
  margin: 0 auto;
}

/* ===== ページナビ：左に「« 期間 »」、右に「本日」 ===== */
.list_pagenavi{
  display: flex;
  align-items: center;
  justify-content: flex-start;  /* 左基準 */
  gap: 8px;
  height: auto !important;      /* 旧 1em を無効化 */
  min-width: 0;                 /* はみ出し抑止 */
}
/* 旧 float を封じる */
.list_pagenavi .prev_page,
.list_pagenavi .list_datenavi,
.list_pagenavi .next_page{
  float: none !important;
  width: auto !important;
}

.list_pagenavi .prev_page{ order: 0; }
.list_pagenavi .list_datenavi{
  order: 1;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-align: left;
  margin-right: auto;           /* ← ここで右側の next_page を端まで押し出す */
  white-space: nowrap;          /* 折り返し防止（縦ズレ対策） */
}
.list_pagenavi .next_page{
  order: 2;
  margin-left: 8px;
}

/* ボタンの見た目（« » と 本日） */
.list_datenavi a,
.list_pagenavi .back_today a{
  display: inline-block;
  font-size: 2.4rem;
  color: var(--second-color);
  border: 1px solid var(--second-color);
  padding: 0 5px 5px;
  border-radius: 5px;
  line-height: 1;
  text-decoration: none;
}
.list_datenavi a:hover,
.list_pagenavi .back_today a:hover{
  background-color: var(--second-color);
  color: #fff;
}

/* ===== テーブルは常に 100% 幅（PCで中身が少なくても縮ませない） ===== */
table.attmgr_weekly_all{
  width: 100% !important;       /* ← これを最優先に */
  max-width: 100% !important;
  table-layout: auto;
  display: table;
  box-sizing: border-box;
  clear: both;                  /* ナビの影響を受けない */
}

/* ===== スマホ（～520px） ===== */
@media (max-width:520px){
  /* select は inline-block のまま中央寄せ */
  .weekly_sec{ }            /* 親で中央寄せ */
  .weekly_sec select{
    display: inline-block;
    /* width: 90%; */
    max-width: 100%;
    box-sizing: border-box;
    margin: 0 0 20px;
    vertical-align: middle;
  }
  /* ナビは狭い幅でも1行キープ（必要なら wrap可に変えてOK） */
  .list_pagenavi{
    flex-wrap: nowrap;
  }

  /* スクロール用ラッパーを中央90%に（横スクロールはJSでSP時のみ） */
  .weekly_sec .sh-wrap{
    display: block;
    width: 90%;
    margin: 0 auto;
    overflow-x: auto;
  }
  .weekly_sec .sh-wrap > table.attmgr_weekly_all{
    width: auto !important;     /* 親より広くしてスクロールを出す */
    max-width: none !important;
    min-width: 960px;           /* 列数に応じて 720–1200px で調整 */
    table-layout: auto !important;
  }
}

/* 行内に固定（折り返さない） */
.list_pagenavi{
  display:flex !important;
  flex-wrap:nowrap;          /* ← 同じ行に固定 */
  align-items:center;        /* 縦中央 */
  justify-content:flex-start;
  gap:0;
  height:auto !important;
}

/* 旧floatを無効化 */
.list_pagenavi .prev_page,
.list_pagenavi .list_datenavi,
.list_pagenavi .next_page{
  float:none !important;
  width:auto !important;
}

/* 左側：日付ナビ（右側を押し出す） */
.list_pagenavi .list_datenavi{
  order:1;
  margin-right:auto;         /* ← これで右端へ .next_page を押し出す */
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;        /* 折り返し防止＝同じ行を維持 */
  text-align:left;
}

/* 右側：本日ボタン */
.list_pagenavi .next_page{
  order:2;
  display:flex;
  align-items:center;        /* 縦中央 */
	margin-bottom: 8px;
}
.list_pagenavi .next_page a{ display: block; font-size: 1.8rem; font-weight: 700; }

/* 見た目を日付ナビと統一（高さブレ防止） */
.list_datenavi a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:2.4rem;
  line-height:1;
  padding: 3px 5px 5px;
  border:1px solid var(--second-color);
  border-radius:5px;
  color:var(--second-color);
  text-decoration:none;
  white-space:nowrap;
}

.list_datenavi a:hover{
  background:var(--second-color);
  color:#fff;
}

.list_pagenavi .back_today{ display: none !important; }


.prev_page{ display: none; }





/* ----------------------------------------------------------
 TAB CSS
---------------------------------------------------------- */
@media screen and (min-width: 521px){
/* 521px以上に適用されるTAB用 */
img,video {
  max-width: 100%;
  height: auto;
}

/* フォントサイズ10px=62.5% */
html{ font-size: 50%; }

/* 基本のフォントサイズ */
body{ font-size: 1.8rem; padding-top: 0; }

/* 非表示用 */
.noneTAB		{ display: none !important; }

/* ----------------------------------------------------------
 header
---------------------------------------------------------- */
.header_logo img{ max-width: 150px; max-height: 104px; }



/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */
/* ページ下部 固定メニュー */
.btm_menu{ display: none; }
	
/* ----------------------------------------------------------
 hx
---------------------------------------------------------- */



/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */



}
/* ----------------------------------------------------------
TAB CSS END
---------------------------------------------------------- */

/* ----------------------------------------------------------
 PC WIDE CSS
---------------------------------------------------------- */
@media screen and (min-width: 1200px){
/* 1600px以上に適用されるPCWIDE用 */
/* フォントサイズ10px */
html{ font-size: 62.5%; height: 100%; }

/* 基本のフォントサイズ */
body{ font-size: 16px; font-size: 1.8rem; height: 100%; }

/* 非表示用 */
.nonePCWIDE		{ display: none !important; }

/* ----------------------------------------------------------
 header
---------------------------------------------------------- */
header{ position: fixed; top: 0; width: 100%; z-index: 100; background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(255,255,255,1) 63%,rgba(255,255,255,0) 100%); }

.header_wrap{ display: flex; justify-content: space-between; align-items: center; }

.header_logo{ flex-basis: 13%; margin-left: 1%; }
.header_logo img{ width: 100%; height: auto; max-width: 180px; max-height: 124px; }
.header_logo a:hover{ opacity: .6; }

.header_logo_sec{ margin-top: 10px; }
.header_logo_sec a{ display: flex; }


.gnavi{ flex-basis: 73%; margin-left: 0; margin-right: 12%; }
.gnavi a{ font-size: 1.6rem; text-align: center; letter-spacing: 1px; }
.gnavi a:hover{ background-color: #eee; }



#menu {}

#menu-btn {
  display: none;
}

#menu-content {
	width: 100%;
  margin: 0;
  list-style-type: none;
	position: relative;
}

#menu-content > li {
float: left;
width: 16%;
  transition: all 0.2s;
}

#menu-content > li > a {
  display: block;
  line-height: 80px;
  font-size: 1.6rem;
  text-decoration: none;
}


#menu-content > li > a > .blogicon-chevron-down {
  margin-right: 5px;
}

#menu-content > li > ul.second-content {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  padding-left: 0;
  list-style-type: none;
	width: 16%;
          box-shadow: 1px 1px 7px #bbb;
}

#menu-content > li:hover > ul.second-content {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.2s, visibility 0.2s;
	background-color: #fff;
}

#menu-content > li > ul.second-content > li {
	border-bottom: 1px solid #ccc;
}

#menu-content > li > ul.second-content > li > a {
	position: relative;
  display: block;
  line-height: 40px;
  font-size: 1.6rem;
  text-decoration: none;
	padding: 10px;
}




#menu-content > li > ul.second-content > li > a:hover {
  background: #eee;
  transition: all 0.2s;
}

#menu-content > li > ul.second-content > li:hover > a,
#menu-content > li > ul.second-content > li > a.current{ background: #eee; }

/*
@media screen and (max-width: 1150px) {
*/
#menu nav {
    position: relative;
    top: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    background: transparent;
    overflow-x: visible;
    overflow-y: visible;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    z-index: 3;
    opacity: 100;
  }
 #menu .open nav {
    left: 0;
    opacity: 1;
	 z-index: 99;
  }
 #menu  nav .inner {
    padding: 0;
  }
#menu nav .inner ul {
    list-style: none;
    margin: 0;
    padding: 0;
	  flex-wrap: wrap;
	display: flex;
  }
 #menu nav .inner ul li {
    position: relative;
    margin: 0;
  }
 #menu nav .inner ul li a {
    display: block;
    color: #333;
	 /* font-size: 1.5rem; */
	 font-size: clamp(1.5rem, calc(1.5rem + 0.5rem * ((100vw - 1200px) / (1920px - 1200px))), 2rem);
	 font-weight: 700;
    text-decoration: none;
    -webkit-transition-duration: 0.2s;
            transition-duration: 0.2s;
	  flex-wrap: wrap;
	 text-align: center;
  }
 #menu nav .inner ul li ul li a {
    display: block;
    color: #333;
    font-size: 1.6rem;
	 font-weight: 700;
    text-decoration: none;
    -webkit-transition-duration: 0.2s;
            transition-duration: 0.2s;
	  flex-wrap: wrap;
	 padding: 10px;
	 text-align: center;
	 display: flex;
  }
  .toggle_btn {
    display: none;
  }


  #mask {
    display: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .open #mask {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.5;
    z-index: 2;
    cursor: pointer;
  }
  #menu-content > li {
    width: auto;
    margin-bottom: 0;
	  flex: 1 0 auto;
  }
  #menu-content > li:hover {
    background: none;
  }
  #menu-content > li > a {
  /*  height: 100%; */
    padding: 15px 10px;
	  font-weight: 700;
    font-size: 1.6rem;
    border-bottom: 0px solid #999;
	  line-height: normal !important;
	  text-align: left;
  }
  #menu-content > li > ul.second-content {
    visibility: hidden;
    opacity: 1;
   width: 100%;
    /* position: relative; */
    box-shadow: none;
	/*  margin-top: 10px;
	 margin-left: 20px; */
  }
  #menu-content > li > ul.second-content > li > ul {
    visibility: hidden;
	display: none;
  }
.open #menu-content > li > ul.second-content{
    position: relative;
	}
  #menu-content > li > ul.second-content > li {
    width: 100%;
    text-align-last: left;
  }
  #menu-content > li > ul.second-content > li > a {
    padding-left: 15px;
	  font-size: 1.4rem;
	  line-height: 1.3;
	  position: relative;
	  text-align: left;
  }
  #menu-content > li > ul.second-content > li > ul > li > a {
    padding-left: 30px;
	  font-size: 1.4rem;
	  line-height: 1.3;
	  position: relative;
	  text-align: left;
  }
  #menu-content > li > ul.second-content > li > a:hover {
    background: none;
  }

	#menu-content > li > ul.second-content > li > a:before{
		display: none;
		/*
	  content: '';
	  width: 4px;
	  height: 4px;
	  border-top: solid 0px var(--main-color);
	  border-right: solid 0px var(--main-color);
	  position: absolute;
	  left: 0px;
	  top: 16px;
	transform: rotate(45deg);
		*/
	}
	#menu-content > li > ul.second-content > li > ul > li > a:before{
	  content: '';
	  width: 4px;
	  height: 4px;
	  border-top: solid 1px var(--main-color);
	  position: absolute;
	  left: 15px;
	  top: 20px;
	}
.link .drop_down{
	display: none;
	transition: .3s all;
}
.link:hover .drop_down,
.link:focus-within .drop_down {
	display: block;
	visibility: visible;
}
.drop_down{
position: absolute;
bottom: 0;
display: none;
padding: 10px;
background-color: transparent;
box-shadow: 0px 3px 8px -2px #777;
color: initial;
transform: translate(0, 100%);
}
.drop_down_item{}
.drop_down_item a{ text-align: center !important; margin: 0 auto; justify-content: center; align-items: center; }
.drop_down_item a:hover{ background-color: var(--main-color) !important; color: #fff !important; }
/*
}
*/

#menu nav .header_contact{margin: 0;}
	
.header_btn{ position: absolute; right: 20px; top: 20px; width: 120px; height: 150px; display: block; }
.header_btn a{ display: flex; justify-content: center; align-items: center; flex-wrap: wrap;  background-color: var(--main-color); color: #fff; border: 2px solid var(--main-color); text-align: center; padding: 10px; }
.header_btn a i{ flex-basis: 100%; display: block; font-size: 3.8rem; margin-bottom: 5px; }
.header_btn a p{ flex-basis: 100%; display: block; font-size: 1.6rem; font-weight: 700; line-height: 1.2; }
.header_btn a:hover{ background-color: #fff; color: var(--main-color); }


	
/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */
/* ページ下部 固定メニュー */
.btm_menu{ display: none; }

footer{ padding-top: 40px; padding-bottom: 10px; }

.footer_logo{ margin: 0 auto 30px auto; text-align: center; }
.footer_logo img{ }

.footer_link_list {
	display: flex;
	justify-content: center; /* 中央寄せ（任意） */
	flex-wrap: wrap;
	list-style: none;
	margin-bottom: 20px;
}

.footer_link_item {
	display: flex;
	align-items: center;
}
.footer_link_item i{ margin-right: 10px; }

/* 2つ目以降の前にスラッシュを表示 */
.footer_link_item + .footer_link_item::before {
	content: "/";
	margin: 0 0.6em;
	color: #999; /* スラッシュの色（任意） */
}

/* リンクの見た目 */
.footer_link_item a {
	text-decoration: none;
	color: #333; /* リンク色（任意） */
}

.footer_link_item a:hover {
	text-decoration: underline;
}



.footer_copyright{ text-align: center; font-size: 1.1rem; color: var(--main-color); opacity: .5;  }



/* ----------------------------------------------------------
 hx
---------------------------------------------------------- */
.h1_wrap{ margin-top: 0; }
.h1_wrap{ padding-top: 150px; }
.page h1,
.archive h1,
.single h1{ font-size: 3.5rem; color: var(--main-color); text-align: center;  font-weight: 700; margin: 15px 0 0 0; line-height: 1.3; }
.page h1 span,
.archive h1 span,
.single h1 span{ display: block; font-size: 2.2rem; color: var(--second-color); text-align: center; font-family: 'Scope One'; letter-spacing: 2px; line-height: 1; }


h2{ font-size: 3.5rem; color: var(--main-color); text-align: center;  font-weight: 700; margin-bottom: 20px; line-height: 1.3; }
h2 span{ display: block; font-size: 2.8rem; color: var(--second-color); text-align: center; font-family: 'Scope One'; letter-spacing: 2px; line-height: 1; }


.menu h2,
.nurie h2,
.photo h2,
.wakuwaku h2,
h2.h2{ border-top: 2px solid #ffbabd; border-bottom: 2px solid #ffbabd; color: var(--main-color); font-size: 2.8rem; padding: 15px; margin-bottom: 30px; }
.menu h3{ font-size: 2rem; color: var(--main-color); font-weight: 700; margin-bottom: 10px; }


/* ぱんくず */
 
.breadcrumbs_sec{ letter-spacing: 2px; text-align: center; } 
.breadcrumbs_sec > span{ display: inline-block; position: relative; color: #666; font-size: 1.2rem; }
.breadcrumbs_sec > span span{ margin-left: 15px; }
.breadcrumbs_sec > span a span{ margin-left: 0; }
.breadcrumbs_sec > span:first-child span{ margin-left: 0; }
.breadcrumbs_sec > span br{ display: none; }
.breadcrumbs_sec > span:before{ content: "/"; display: block; position: absolute; top: 0; left: 5px; color: #666; font-size: 12px; }
.breadcrumbs_sec span:first-child:before{ content: ""; margin-left: 0; }
.breadcrumbs_sec > span a{ color: #666; font-size: 1.2rem; margin: 0 0 0 20px; }
.breadcrumbs_sec > span:first-child a{ margin: 0 0 0 0; }
.breadcrumbs_sec span a:hover{ opacity: 0.6; }


/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */

.wrapper{ position: relative; padding-top: 0; overflow: hidden; }

.top_img_wrap{ position: relative; }
.top_img{}
.top_img img{ width: 100%; height: 70vh; object-fit: cover; object-position: top; }

.top_catch{ position: absolute; z-index: 2; bottom: 85px; left: 40px; font-size: 8rem; color: #fff; letter-spacing: 2px;  font-weight: 700; line-height: 1.4; }

.top_banner{ margin-bottom: 40px; }


/* トップページのバナー画像サイズを single-salon と同じくらいにする */
.top_banner .event_banner_img {
  /* width: 312px; */
	width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
}

/* 枚数が少ないとき（slickなし）のレイアウトを flex で中央寄せ */
.top_banner .event_banners.event_banners-center:not(.slick-initialized) {
  display: flex;
  justify-content: center;
  gap: 20px;  /* すき間はお好みで */
}

/* flexの子として横並びになるので block でOK */
.top_banner .event_banners.event_banners-center:not(.slick-initialized) .event_banner_item {
  display: block;
}






.top_news{ width: 50%; margin: 0 auto 60px auto; }
.top_news_sec{}
.top_news_list{ margin-bottom: 30px; }
.top_news_item{ padding: 15px 0; border-bottom: 1px solid #ccc; }
.top_news_date{ display: flex; align-items: center; }

.top_news_cat01{ margin-right: 10px; margin-bottom: 5px; }
.top_news_cat01{ display: inline-block; background-color: #fbdad1; font-size: 1.3rem; padding: 2px 15px; color: var(--main-color); border-radius: 40px; }

.top_news_cat01_news_oshirase{}
.top_news_cat01_news_store{}
.top_news_cat01_news_important{}

.top_news_date01{ font-size: 1.4rem; color: #666; }
.top_news_date01 .new{ font-size: 1.1rem; color: #fff; background-color: var(--main-color); margin-left: 10px; font-weight: 700; padding: 0 4px 2px 4px; line-height: 1; }

.top_news_tit01{}

.top_news_btn01{ width: 40%; margin: 0 auto; }
.top_news_btn01 a{ position: relative; display: block; font-size: 1.6rem; font-weight: 700; text-align: center; border: 2px solid var(--main-color); color: var(--main-color); padding: 10px; border-radius: 5px;  }
.top_news_btn01 a::after{ content: ''; position: absolute; top: 18px; right: 15px; width: 8px; height: 8px; margin: auto; border-top: 2px solid var(--main-color); border-right: 2px solid var(--main-color); transform: rotate(45deg); box-sizing: border-box; }

.top_news_btn01 a:hover{ background-color: var(--main-color); color: #fff; }



.top_concept{ width: 60%; margin: 0 auto 60px auto; }
.top_concept_txt01{ margin-bottom: 20px; }
.top_concept_txt01 p{ font-size: 2rem; font-weight: 700; letter-spacing: 1px; line-height: 1.8; }

.top_concept_list{ margin-bottom: 20px; }
.top_concept_item{}
.top_concept_item img{ width: 100%; height: auto; border-radius: 10px; }

.top_concept_txt02{ margin-bottom: 20px; }
.top_concept_txt02 p{ font-size: 1.7rem; line-height: 1.8; }



.top_salon{ width: 70%; margin: 0 auto 60px auto; }






/* タブ */
.salon_btn_container{ display: flex; justify-content: center; flex-wrap :wrap; margin: 0 0 30px 0; padding: 0; list-style: none; }
.salon_btn{ flex-basis: 10%; margin: 0 .5% 10px .5%; cursor:pointer; padding: .3rem 1rem; border: 2px solid var(--main-color); border-radius: 40px; background: #fff; color: var(--main-color); font-size: 1.7rem; text-align: center;  font-weight: 700; }
.salon_btn.active{ background: var(--main-color); color: #fff; }
.salon_detail{ display: none; }
.salon_detail.show{ display: block; }

/* カード */
.salon_cards{ display: flex; justify-content: flex-start; flex-wrap: wrap; }
.salon_card_sec{ flex-basis: 29%; margin: 0 2% 40px 2%; }
.salon_card{ overflow: hidden; background: #fff; transition:transform .12s ease, box-shadow .12s ease; }
.salon_card:hover{ transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,0,0,.06); }
.salon_card_title{ flex-basis: 100%; font-size: 1.9rem; color: var(--second-color);  font-weight: 700; margin-bottom: 10px; }
.salon_card_title i{ margin-right: 5px; color: var(--main-color);  }
.salon_card_title a:hover{ opacity: .6; }
.salon_card_media{ margin-bottom: 10px; }
.salon_card_media img{ display: block; width: 100%; height: auto; border-radius: 10px; }
.salon_card_media a:hover{ opacity: .6; }

.top_salon_add01{ font-size: 1.7rem; text-align: center; margin-bottom: 5px; }
.top_salon_tel01{ font-size: 2.5rem; font-family: 'Roboto'; font-weight: 700; text-align: center; margin-bottom: 10px; }
.top_salon_tel01 i{ font-size: 1.9rem; color: var(--main-color); margin-right: 5px; }

.salon_actions{ display: none; }

.salon_hours{ background-color: #ffd6d8; border-radius: 10px; padding: 5px; text-align: center; margin-bottom: 5px; }

.salon_holidays{ font-size: 1.6rem; text-align: center; color: var(--main-color); font-weight: 700; margin-bottom: 5px; line-height: 1; }

.salon_hours .meta_label{ display: block; color: var(--main-color); font-size: 1.8rem; text-align: center;  line-height: 1; margin-bottom: 5px; }
.salon_hours .meta_val{ font-size: 2.2rem; font-family: 'Roboto'; font-weight: 700; line-height: 1;}

.salon_uketsuke{ font-size: 1.8rem; margin-bottom: 10px; }
.salon_uketsuke .uk_label{ letter-spacing: -1px; margin-right: 3px; }
.salon_uketsuke .uk_val{ font-weight: 700; }

.salon_links{ display: flex; justify-content: space-between; }
.salon_links a{ flex-basis: 49%; display: block; text-align: center; padding: 10px; margin-bottom: 10px; font-size: 1.4rem; border-radius: 5px; font-weight: 700; }
.salon_links a i{ margin-right: 5px; }
a.salon_btn_shift{ color: var(--main-color); border: 2px solid var(--main-color); }
a.salon_btn_menu{ color: var(--menu-color); border: 2px solid var(--menu-color); }



.top_bnr{ margin-bottom: 60px; }
.top_bnr_list{ width: 90%; margin: 0 auto; }
.top_bnr_item{ text-align: center; margin-bottom: 10px; }
.top_bnr_item img{ width: 100%; height: auto; }


.top_faq{ width: 60%; margin: 0 auto 60px auto; }
.top_faq_list{}
.top_faq_item{}




.faq_accordion {
	margin-bottom: 7px;
	border: 1px solid var(--main-color);
	border-radius: 10px;
}

.faq_accordion summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	padding: 10px 20px 15px 35px;
	color: #333;
	font-size: 1.7rem;
	
	font-weight: 700;
	cursor: pointer;
	line-height: 1.3;
}

/* デフォルトマーカー非表示 */
.faq_accordion summary::-webkit-details-marker {
	display: none;
}

/* ▼矢印アイコン（after） */
.faq_accordion summary::after {
	content: '';
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-left: 8px;
	border-bottom: 3px solid var(--main-color);
	border-right: 3px solid var(--main-color);
	transform: rotate(45deg);
	transition: transform .3s;
	align-self: center; /* ←縦中央揃え */
}

/* ▼Qマーク（before） */
.faq_accordion summary::before {
	content: "Q";
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	left: 5px;
	top: 45%;
	transform: translateY(-50%); /* ←縦中央揃え */
	width: 20px; /* アイコン領域確保 */
	height: 20px;
	font-size: 2.2rem;
	color: var(--main-color);
	
	font-weight: 700;
}

.faq_accordion[open] summary::after {
	transform: rotate(225deg);
}

.faq_accordion p {
	transform: translateY(-10px);
	opacity: 0;
	margin: 0;
	padding: 10px;
	transition: transform .5s, opacity .5s;
	
	background-color: #fdeaeb;
	border-radius: 0 0 10px 10px;
}

.faq_accordion[open] p {
	transform: none;
	opacity: 1;
	margin: 0;
}










.main{ width: 100%; margin: 0 auto; }
.main p{ width: 100%; font-size: 1.6rem; letter-spacing: 1px; line-height: 1.7; margin: 0 auto 20px auto; }
.menu_sec p{ width: 100%; font-size: 1.6rem; letter-spacing: 1px; line-height: 1.7; margin: 0; }

.page_sec{ padding-top: 40px; padding-bottom: 40px; }

.about_sec{ width: 90%; margin: 0 auto; }
.salon_sec{ width: 90%; margin: 0 auto; }



/* わたしたちのこと About */
.about_sec{ width: 90%; margin: 0 auto; }
.about_sec p{ width: 60%; font-size: 1.8rem; }

.about_img_top_list{}
.about_img_top_item{}
.about_img_bottom_list{ margin-bottom: 20px; }
.about_img_bottom_item{}

.about_img_top_item img,
.about_img_bottom_item img{ width: 100%; height: auto; border-radius: 10px; }

.about_catch{ text-align: center; font-size: 2.8rem; font-weight: 700; }
.about_catch span{ font-size: 3.3rem; }
.about_catch span.red{ color: var(--main-color); }

.about_catch{
position: relative;

/* 画像を順に左2枚・右2枚 */
background-image:
url("/info/wp-content/uploads/img_about_left01.png"),
url("/info/wp-content/uploads/img_about_left02.png"),
url("/info/wp-content/uploads/img_about_right01.png"),
url("/info/wp-content/uploads/img_about_right02.png");

background-repeat: no-repeat;
background-position:
left 30% top 50%,       /* 左1 */
left 25% top 50%,   /* 左2（右に少しずらす） */
right 30% top 50%,  /* 右1（左に少しずらす） */
right 25% top 50%;      /* 右2 */

background-size:
auto,
auto,
auto,
auto;

padding: 20px 0; /* 内容との間隔調整 */
}

.about_reason_sec{ width: 60%; position: relative; background-color: #faf691; border-radius: 50px 50px 0 0; margin: 100px auto 0 auto; }
.about_sec_reason_tit{ }
.about_sec_reason_tit{ position: relative; }
.about_sec_reason_tit01{ position: absolute; top: -30px; left: 20vw; }
.about_sec_reason_tit02{ position: absolute; top: -70px; right: 20vw; }

.reason_list_tit{ font-size: 4rem; color: var(--second-color); text-align: center; font-weight: 700; padding-top: 40px; margin-bottom: 40px; }
.reason_list_tit span{ font-size: 8rem; color: var(--main-color); font-family: 'Paytone One'; }

.reason_list{ width: 90%; margin: 0 auto; display: flex; justify-content: space-between; flex-wrap: wrap; }
.reason_item{ position: relative; flex-basis: 48%; background-color: #fff; padding: 30px; margin-bottom: 40px; border-radius: 10px; }
.reason_num01{ position: absolute; top: -25px; left: 0; right: 0; margin: 0 auto; width: 60px; height: 60px; text-align: center; font-size: 4rem; font-family: 'Paytone One'; line-height: 60px; border-radius: 100%; background-color: var(--second-color); color: #fff; }
.reason_img01{ margin-bottom: 20px; }
.reason_img01 img{ width: 100%; height: auto; border-radius: 10px; }
.reason_tit01{ color: var(--second-color); font-size: 2.2rem; font-weight: 700; text-align: center; line-height: 1.3; margin-bottom: 10px; }
.reason_txt01{ font-size: 1.8rem; line-height: 1.3; }




.salon_page_link{ }
.salon_page_link a{ position: relative; display: block; font-size: 1.8rem; font-weight: 700; background-color: var(--main-color); color: #fff; text-align: center; padding: 10px; border-radius: 40px; margin-bottom: 15px; border: 2px solid var(--main-color); }
.salon_page_link a:hover{ background-color: #fff; color: var(--main-color); }
.salon_page_link a:hover::before,
.salon_page_link a:hover::after{ background-color: var(--main-color); }

.salon_page_link a::before,
.salon_page_link a::after {
	content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 20px;
  width: 8px;
  height: 2px;
  border-radius: 9999px;
  background-color: #fff;
  transform-origin: calc(100% - 1px) 50%;
	transition: .3 all;
}

.salon_page_link a::before{ transform: rotate(45deg); }
.salon_page_link a::after{ transform: rotate(-45deg); }




.salon_sec{ width: 70%; max-width: 840px; margin: 0 auto; }
.salon_img_list{ margin-bottom: 10px; }
.salon_img_item{}
.salon_img_item img{ width: 100%; height: auto; border-radius: 10px; }

.single-salon .salon_add01{ font-size: 1.6rem; text-align: center; margin-bottom: 10px; }

.salon_time01{ font-size: 2.2rem; font-weight: 700; text-align: center; margin-bottom: 10px; }
.salon_time01 span{ font-size: 1.6rem; color: var(--main-color); background-color: #ffd6d8; padding: 3px 10px; border-radius: 10px; margin-right: 10px; }

.salon_holiday01{ font-size: 1.8rem; color: var(--main-color); font-weight: 700; text-align: center; margin-bottom: 20px; }

.single-salon .salon_links{ display: flex; justify-content: space-between; margin-bottom: 20px; }
.single-salon .salon_links a{ flex-basis: 48%; padding: 10px; }
.salon_btn_shift{}
.salon_btn_menu{}

.single .salon_sec h2{ border-top: 2px solid #ffbabd; border-bottom: 2px solid #ffbabd; color: var(--main-color); font-size: 2rem; padding: 5px; margin-bottom: 20px; }

.single-salon .top_salon_add01{ font-size: 1.4rem; text-align: center; margin-bottom: 5px; }

.single-salon .salon_uketsuke{ display: flex; justify-content: space-between; flex-wrap: wrap; }
.single-salon .uketsuke_row:nth-child(even){ flex-basis: 40%; font-size: 1.6rem; }
.single-salon .uketsuke_row:nth-child(odd){ flex-basis: 58%; font-size: 1.6rem; }
.single-salon .uk_label{ position: relative; margin-right: 5px; padding-left: 10px; }
.single-salon .uk_label:before{ position: absolute; content: ""; display: block; width: 3px; height: 3px; border-radius: 100%; background-color: #333; top: 10px; left: 0; }
.single-salon .uk_val{ font-size: 1.6rem; font-weight: 700; }



/* コンテナ周りは左右0で対称に。はみ出しは隠す */
.single_salon_banners,
.single_salon_banners .event_banners,
.single_salon_banners .event_banners .slick-list,
.single_salon_banners .event_banners .slick-track{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  box-sizing:border-box;
}
.single_salon_banners .event_banners,
.single_salon_banners .event_banners .slick-list{ overflow:hidden; }

/* SP優先：スライド“本体”を 312px 固定（= 300 + 6px + 6px） */
.single_salon_banners .event_banners article.event_banner_item{
  width:312px !important;     /* ★スライド幅を固定 */
  margin:0 !important;         /* ギャップは下の a の中で作る */
  box-sizing:content-box;
  display:block;
}

/* 中身（リンク）で左右6pxのすき間を付け、バナーは 300×100 固定 */
.single_salon_banners .event_banners article.event_banner_item > a{
  display:block !important;
  width:300px;                 /* 見た目のバナーサイズ */
  height:100px;
  margin:0 6px !important;     /* 左右のすき間（合計12px） */
  box-sizing:content-box !important;
}

/* 画像の固定サイズ */
.single_salon_banners .event_banners .event_banner_img{
  width:300px !important;
  height:100px !important;
  display:block;
  object-fit:contain;          /* 全体表示。切り抜きなら cover */
  background:#fff;
  object-position:center;
}

/* （既存）ボタン風スタイル除去があるならそのままでOK */
.single_salon_banners .event_banner_item,
.single_salon_banners .event_banner_item a{
  background:transparent !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
  display:block;
}
.single_salon_banners .event_banner_item a::before,
.single_salon_banners .event_banner_item a::after{ content:none !important; }








.salon_sec_news_btn{ width: 60%; margin: 20px auto 40px auto; }
.salon_sec_news_btn a{ display: block; color: #fff; background-color: var(--second-color); padding: 5px; text-align: center; border-radius: 40px; border: 2px solid var(--second-color); }
.salon_sec_news_btn a:hover{ background-color: #fff; color: var(--second-color); }



.salon_single_list{ display: flex; justify-content: flex-start; flex-wrap: wrap; }
.salon_single_item{ flex-basis: 31%; margin: 0 1% 40px 1%; position: relative; }

.salon_single_tit01{ flex-basis: 100%; font-size: 1.4rem; color: var(--second-color);  font-weight: 700; margin-bottom: 5px; }
.salon_single_tit01 i{ margin-right: 5px; color: var(--main-color);  }
.salon_single_img01{}
.salon_single_img01 img{ width: 100%; height: auto; border-radius: 10px; }


/*----- くの字の矢印 */
.arrow_right{ position: absolute; right: 10px; bottom: -13px; width: 30px; height: 30px; border-radius: 100%; background-color: var(--main-color); }
.arrow_right::before {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
	position: absolute;
	left: 7px;
	top: 9px;
}
/* 右向き */
.arrow_right::before{
    transform: rotate(45deg);
}

.sonota_tenpo_sec{ background-color: #eee; padding: 30px 20px 20px 20px; }
.sonota_tenpo_sec h2{ font-size: 2rem; color: var(--main-color); text-align: center; }
.sonota_tenpo_list{ display: flex; justify-content: center; flex-wrap :wrap; margin: 0 0 1rem; padding: 0; }
.sonota_tenpo_item{ flex-basis: 10.5%; margin: 0 1% 10px 1%; cursor:pointer; }
.sonota_tenpo_item a{ display: block; padding: .3rem 1rem; border: 2px solid var(--main-color); border-radius: 40px; background: #fff; color: var(--main-color); text-align: center;  font-weight: 700; }



.menu_sec{ }
.menu_sec h2 span{ display: inline; font-size: 1.6rem; color: #666; }

.menu_sec_list{ display: flex; justify-content: space-between; flex-wrap: wrap; }
.menu_sec_item{ flex-basis: 48%; margin-bottom: 60px; }

.menu_sec table{ width: 100%; margin-bottom: 10px; }
.menu_sec table th{ display: table-cell; width: auto; flex-basis: 60%; padding: 10px 0; font-size: 2rem; text-align: left; border-bottom: 1px solid #ccc; letter-spacing: -1px; }
.menu_sec table th span{ font-size: 1.4rem !important; }
.menu_sec table td{ display: table-cell; width: auto; flex-basis: 40%; padding: 10px 0; font-size: 2rem; border-bottom: 1px solid #ccc; text-align: right; }



.main_nav{ width: 60%; margin: 0 auto 20px auto; background-color: #ffe6e7; padding: 15px; border-radius: 10px;  }
.main_nav nav{}
.main_nav .menu{ display: flex; justify-content: center; flex-wrap: wrap; gap: 20px; }
.main_nav .menu-item{ position: relative; font-size: 1.8rem; }
.main_nav .menu-item a{ font-size: 1.8rem; font-weight: 700; }
.main_nav .menu-item:before{ content: "/"; position: absolute; top: 0; left: -15px; }
.main_nav .menu-item:nth-child(1):before{ content: "/"; position: absolute; top: 0; left: -15px; }



.faq_sec{ width: 60%; margin: 0 auto; }

.voice_sec{ width: 60%; margin: 0 auto; display: flex; justify-content: space-between; flex-wrap: wrap; }
.voice_sec01{ flex-basis: 46%; width: 60%; margin: 0 auto 40px auto; background-color: #eee; border-radius: 10px; padding: 20px; }
.voice_sec_tit{ display: flex; align-items: center; margin-bottom: 10px; }
.voice_sec_cat01{ display: inline-block; border-radius: 40px; }
.voice_sec_cat01 a{ display: block; background-color: var(--main-color); color: #fff; font-size: 1.2rem; text-align: center; padding: 2px 15px; margin-right: 10px; border: 2px solid var(--main-color); border-radius: 40px; font-weight: 700; }
.voice_sec_cat01 a:hover{ background-color: #fff; color: var(--main-color); }
.voice_sec_tit01{ font-size: 1.7rem; color: var(--second-color); font-weight: 700; }
.voice_sec_txt{ font-size: 1.5rem; }


.pagination{ flex-basis: 100%; text-align: center; }
.wp-pagenavi{ clear: both; }
.wp-pagenavi a,
.wp-pagenavi span{ text-decoration: none; border: 1px solid var(--main-color) !important; padding: 5px 10px !important; margin: 2px; border-radius: 5px; color: var(--main-color); font-size: 1.7rem !important; font-weight: 700; }
.wp-pagenavi a:hover, .wp-pagenavi span.current{ border-color: #000; }
.wp-pagenavi span.current{ font-weight: bold; background-color: var(--main-color) !important; color: #fff; }




.main_news{ width: 80%; margin: 0 auto; padding-top: 40px; display: flex; justify-content: space-between; }
.news_sec{ flex-basis: 65%; width: 60%; margin: 0 auto; }

.news_list{}
.news_item{ display: flex; flex-wrap: wrap; }
.news_item h2{ flex-basis: 100%; margin: 10px 0 20px 0; }
.news_cat{ display: inline-block; background-color: #fbdad1; font-size: 1.3rem; padding: 2px 15px; color: var(--main-color); border-radius: 40px; margin-right: 10px; }
.news_date{}
.news_date span{ font-size: 1.1rem; color: #fff; background-color: var(--main-color); margin-left: 10px; font-weight: 700; padding: 0 4px 2px 4px; line-height: 1; }
.news_detail{}

.news_pagination{ text-align: center; margin-top: 100px; margin-bottom: 50px; }
.news_pagination ul{ display: flex; justify-content: space-between; text-align: center; }
.news_pagination ul li{ flex-basis: 15%; margin: 0 1%; }
.news_pagination ul li.next{ position: relative; text-align: left; border: 1px solid var(--main-color); border-radius: 40px; padding: 3px; text-align: center; font-size: 1.4rem;}
.news_pagination ul li.next::after{ position: absolute; top: 50%; left: 1em; width: 0.5em; height: 0.5em; transform: translateY(-50%) rotate(225deg); border-right: 2px solid var(--main-color); border-top: 2px solid var(--main-color); content: ""; transition: .3 all; }

.news_pagination ul li.prev{ position: relative; text-align: right; border: 1px solid var(--main-color); border-radius: 40px; padding: 3px; text-align: center; font-size: 1.4rem; }
.news_pagination ul li.prev::after{ position: absolute; top: 50%; right: 1em; width: 0.5em; height: 0.5em; transform: translateY(-50%) rotate(45deg); border-right: 2px solid var(--main-color); border-top: 2px solid var(--main-color); content: ""; transition: .3 all; }

.news_pagination ul li.next:hover::after,
.news_pagination ul li.prev:hover::after{ border-right-color: #fff; border-top-color: #fff; }
.news_pagination ul li.nopost{ color: #999; border-color: #999; }
.news_pagination ul li.nopost::after{ border-color: #999; }

.news_pagination ul li.modoru{ text-align: center; border: 1px solid var(--main-color); border-radius: 40px; padding: 3px; text-align: center; font-size: 1.4rem;  }
.news_pagination a{ display: block; border-radius: 40px; color: var(--main-color); }
.news_pagination a:hover{ background-color: var(--main-color); color: #fff; }

.sidebar{ flex-basis: 30%; }
.sidebar_sec{ width: 90%; margin: 0 auto; }
.sidebar_sec h3{ color: var(--second-color); font-size: 1.8rem; border-bottom: 2px solid var(--second-color); padding: 10px; margin-bottom: 20px; font-weight: 700; }
.sidebar_sec01_list{ margin-bottom: 30px; }
.sidebar_sec01_list > li{ border-bottom: 1px solid #ccc; }
.sidebar_sec01_list > li a{ display: block; padding: 10px;  }


.kdp_sec{}

.kdp_sec_tit{ position: relative; display: block; width: 50%; margin: 0 auto 40px auto; padding: 10px; border-radius: 15px; background-color: var(--kdp-color); text-align: center; color: #fff; font-family: 'AnkerJack'; font-size: 8rem; line-height: 1.3; }
.kdp_sec_tit span{ display: block; font-size: 2rem; font-family: 'Zen Maru Gothic'; font-weight: 700; }

.kdp_sec_tit::after{ content: ""; position: absolute; bottom: 0; left: 50%; border-style: solid; border-width: 15px 7.5px 0 7.5px; border-color: var(--kdp-color) transparent transparent; translate: -50% 100%; }

.kdp_sec_concept{ width: 40%; margin: 0 auto 40px auto; font-size: 1.5rem; line-height: 1.6; }

.kdp_top_list{ margin-bottom: 60px; }
.kdp_top_item{}
.kdp_top_list .slick-slide{ margin: 0 10px; }
.kdp_top_list .slick-list{ margin: 0 -10px; }
.kdp_top_list .slick-slide img{ width: 180px !important; height: 140px !important; object-fit: cover; object-position: center; display: block; margin: 0 auto; }


.kdp_sec h2{ font-size: 6rem; color: var(--kdp-color); font-family: 'AnkerJack'; text-align: center;  margin-bottom: 40px; }
.kdp_sec h2 span{ display: block; color: var(--kdp-color); font-size: 3rem; font-family: 'Zen Maru Gothic'; font-weight: 700;  }

.kdp_project_list{ width: 80%; margin: 0 auto; display: flex; justify-content: space-between; }
.kdp_project_item{ flex-basis: 32%; margin-bottom: 60px; }
.kdp_project_item_img01{ margin: 0 auto 10px auto; text-align: center; }
.kdp_project_item_img01 img{ border-radius: 10px; }
.kdp_project_item_tit01{ font-size: 2.5rem; color: var(--main-color); font-weight: 700; text-align: center; margin-bottom: 10px; }
.kdp_project_item_txt01{ width: 80%; margin: 0 auto 20px auto; font-size: 1.5rem; }
.kdp_project_item_btn01{ width: 50%; margin: 0 auto 10px auto; }
.kdp_project_item_btn01 a{ display: block; font-size: 1.5rem; color: #fff; text-align: center; padding: 3px; border-radius: 40px; border: 2px solid var(--second-color); background-color: var(--second-color); }
.kdp_project_item_btn01 a:hover{ background-color: #fff; color: var(--second-color); }


.nurie_status{ text-align: center; padding: 15px; color: #fff; margin-bottom: 20px; }
.nurie_open{ background-color: var(--main-color); }
.nurie_closed{ background-color: #e7733a; }
.nurie_before{ background-color: #aaa; }
.nurie_status_label{ font-size: 2rem; font-weight: 700; }
.nurie_period{}

.nurie_pdf_btn01{ max-width: 80%; margin: 0 auto 40px auto; text-align: center; }
.nurie_pdf_btn01 a{ display: inline-block; font-size: 1.8rem; color: #fff; text-align: center; padding: 5px 30px; border-radius: 40px; border: 2px solid var(--second-color); background-color: var(--second-color); }
.nurie_pdf_btn01 a:hover{ background-color: #fff; color: var(--second-color); }

.kdp_txt01{ width: 60% !important; margin: 0 auto 20px auto !important; font-size: 1.8rem; }


.nurie_youkou_sec{ width: 60%; margin: 0 auto; }
.nurie_youkou_sec table{ width: 100%; }
.nurie_youkou_sec table th{ width: 30%; padding: 10px; border-bottom: 1px solid #ccc; font-size: 1.7rem; font-weight: 700; }
.nurie_youkou_sec table td{ padding: 10px; border-bottom: 1px solid #ccc; font-size: 1.7rem; }


.nurie_kekka_1st{ text-align: center; margin-bottom: 30px; }
.nurie_kekka_1st_tit{ font-size: 2.5rem; color: #d3c924; font-weight: 700; margin-bottom: 10px; }
.nurie_kekka_1st_tit i{ margin-right: 5px; }
.nurie_kekka_1st_img{}
.nurie_kekka_1st_img img{ width: 100%; height: auto; max-width: 240px; margin: 0 auto 10px auto; }
.nurie_kekka_1st_name{ font-size: 1.7rem; text-align: center; }

.nurie_kekka_list{ display: flex; justify-content: space-between; flex-wrap: wrap; }
.nurie_kekka_item{ flex-basis: 48%; margin-bottom: 30px; text-align: center; }
.nurie_kekka_2nd_tit{ font-size: 2.4rem; font-weight: 700; color: #bdbdbd; }
.nurie_kekka_2nd_tit i{ margin-right: 5px; }
.nurie_kekka_img01{ margin-bottom: 10px; }
.nurie_kekka_img01 img{ width: auto; height: auto; }
.nurie_kekka_name01{ font-size: 1.7rem; }

.nurie_backnumber_list{ display: flex; justify-content: flex-start; flex-wrap: wrap; }
.nurie_backnumber_list li{ flex-basis: 31%; border-bottom: 1px solid #ccc; padding: 15px 10px; margin: 0 1%; }


.pw_sec{ width: 60% !important; }
.post-password-form {
width: 30% !important;
margin: 0 auto 40px auto;
}


.exclusive .wp-block-columns{ width: 60%; margin: 0 auto; display: flex; justify-content: space-between; flex-wrap: wrap; }
.exclusive .wp-block-column{ flex-basis: 100%; margin-bottom: 40px; }
.exclusive .wp-block-column p{ font-size: 1.8rem; }
.exclusive .wp-block-column .wp-block-button{ width: 100%; }
.exclusive .wp-block-column .wp-block-button a{ display: block; background-color: var(--second-color); color: #fff; text-align: center; padding: 10px; font-size: 1.8rem; border-radius: 40px; border: 2px solid var(--second-color); }
.exclusive .wp-block-column .wp-block-button a:hover{ color: var(--second-color); background-color: #fff; }


.elearning_movie_list{ width: 50%; margin: 0 auto; }
.elearning_movie_item{ margin-bottom: 40px; }
.elearning_movie_tit{ display: flex; align-items: center; flex-wrap: wrap; flex-direction: column-reverse; margin-bottom: 10px; }
.elearning_movie_tit01{ flex-basis: 100%; font-size: 1.8rem; color: var(--main-color); font-weight: 700; margin-bottom: 10px; }
.elearning_movie_cat01{ font-size: 1.4rem; background-color: #fbdad1; padding: 3px 10px; text-align: center; color: var(--main-color); border-radius: 40px; margin-bottom: 10px; }
.elearning_movie_url01{}
.video_embed{ width: 100%; aspect-ratio: 16 / 9; }
.video_embed iframe{ width: 100%; height: 100%; }


.staffonly_sec{ width: 60%; margin: 0 auto; }
.staffonly_date{ font-size: 1.4rem; padding: 0 0 5px 0; font-weight: 700; }
.staffonly_sec01{ background-color: #fbdad1; padding: 15px 20px; border-radius: 10px; font-size: 1.8rem; border: 2px solid #ddd; margin-bottom: 40px; }
.staffonly_sec01 p{ margin: 0 0 0 0!important; }


.staffonly_sec .pagination{ display: flex; justify-content: center; text-align: center; gap: 5px; margin: 60px auto 200px auto; }
.staffonly_sec .page-numbers{ width: 30px; height: 30px;  color: var(--main-color); border: 1px solid var(--main-color); border-radius: 5px; }
.staffonly_sec .page-numbers a{ display: block; color: var(--main-color);  font-size: 1.6rem; }
.staffonly_sec .page-numbers.current{ background-color: var(--main-color); color: #fff; font-weight: 700; }



.privacy_sec{ width: 60%; margin: 0 auto; }




.contact_att01{ font-size: 2.2rem !important; text-align: center; color: #bf1920; font-weight: 700;  }
.contact_att02{ font-size: 1.8rem !important; text-align: center; color: #bf1920; font-weight: 700;  }

.contact .wp-block-button{ width: 30%; text-align: center; margin: 0 auto 20px auto !important; }
.contact .wp-block-button a{ display: block !important; font-size: 1.8rem; color: #666; padding: 10px !important; border: 2px solid var(--main-color) !important; background-color: #fff !important; margin: 0 auto; }
.contact .wp-block-button a:hover{ color: #fff; background-color: var(--main-color) !important; }


/* フォーム */
.contact_sec{ width: 50%; margin: 0 auto; }
.contact_item{ display: flex; flex-wrap: wrap; width: 100%; padding: 20px 0; border-bottom: 1px solid #ccc; max-width: 1100px; margin: 0 auto;}
.contact_tit{ flex-basis: 100%; font-weight: 700!important; position: relative; padding-left: 60px; text-align: left!important; margin-bottom: 5px; }
.contact_txt,
.contact_txtarea{ flex-basis: 100%; width: 100%; }

.contact_tit span{ position: absolute;  background-color: #ffe7e7; color: var(--main-color); margin-right: 15px; border: 1px solid var(--main-color); padding: 2px 8px; left: 0; top: 3px; border-radius: 30px; font-size: 1.3rem; line-height: 1.2; }
.contact_tit .optional{background-color: #999; border: 1px solid #999;}
.contact_adress_sub p{padding: 15px 0;}

.contact_tit p,
.contact_txt p,
.contact_txtarea p{ width: auto !important; margin: 0 !important; }

.contact_submit_btn input:hover{opacity: 0.7;}

.contact_txt input[type="checkbox"]{ width: 20px; margin-right: 5px; }
.contact_check{display: flex;}
.contact_submit .contact_tit{width: 30%;}
.wpcf7-spinner{display: block;}

.contact_adress_sub p span{margin-left: 10px;}

::placeholder{ color: #999; }
.wpcf7-spinner {
	display: block !important;
	margin: 0 auto !important;
}

.contact_name_row{ display:flex; gap:1rem; align-items:flex-start; flex-wrap:nowrap; }
.contact_name_row .contact_txt{ flex:1 1 0; min-width:0; }
.contact_label{ display:block; margin-bottom:.35rem; font-size:.95em; color:#444; }
.wpcf7 form input[type="submit"]{ display:block; margin:0 auto; max-width:18rem; width:100%; }
.wpcf7 form .wpcf7-spinner{ display:block; margin:.6rem auto 0; float:none; }
.wpcf7 form input[type="submit"]+.wpcf7-spinner{ display:block; }


/* =========================================================
   Contact Form 7 統一スタイル（背景 #f5f5f5）
   貼り付け先：テーマの style.css or 外観 > 追加CSS
   ========================================================= */

/* カラートークン */
:root{
  --c-bg: #f5f5f5;        /* 入力欄の背景 */
  --c-fg: #111;           /* 文字色 */
  --c-border: #ddd;       /* 枠線 */
  --c-border-hover: #cfcfcf;
  --c-ring: rgba(59,130,246,.2); /* フォーカス時のアウトライン */
  --c-brand: #2563eb;     /* フォーカス時の枠色・ボタン色 */
  --c-muted: #eee;        /* 無効時背景 */
  --c-error: #dc2626;     /* エラー色 */
}

/* 共通：入力要素（select含む） */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="search"],
.wpcf7 input[type="number"],
.wpcf7 input[type="password"],
.wpcf7 textarea,
.wpcf7 select{
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;

  width:100%;
  box-sizing:border-box;
  font:inherit;
  color:var(--c-fg);
  background-color:var(--c-bg);
  border:1px solid var(--c-border);
  border-radius:.6rem;
  line-height:1.2;
  padding:.65em 2.6em .65em .9em; /* 右はselect矢印分を確保 */
  box-shadow:none; /* フラットに */
  transition:border-color .2s, box-shadow .2s, background-color .2s;
}

/* hover / focus */
.wpcf7 input[type="text"]:hover,
.wpcf7 input[type="email"]:hover,
.wpcf7 input[type="tel"]:hover,
.wpcf7 input[type="url"]:hover,
.wpcf7 input[type="search"]:hover,
.wpcf7 input[type="number"]:hover,
.wpcf7 input[type="password"]:hover,
.wpcf7 textarea:hover,
.wpcf7 select:hover{
  border-color:var(--c-border-hover);
}
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 input[type="url"]:focus,
.wpcf7 input[type="search"]:focus,
.wpcf7 input[type="number"]:focus,
.wpcf7 input[type="password"]:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus{
  outline:none;
  border-color:var(--c-brand);
  box-shadow:0 0 0 3px var(--c-ring);
}

/* select の矢印（SVGインライン） */
.wpcf7 select{
  background:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>")
      no-repeat right .8em center / 1em,
    var(--c-bg);
}
/* 旧IEアイコン非表示（不要なら削除可） */
.wpcf7 select::-ms-expand{ display:none; }

/* textarea は矢印が不要なため右余白を調整＆高さ確保 */
.wpcf7 textarea{
  min-height:8rem;
  padding-right:.9em;
  resize:vertical;
}

/* 無効状態 */
.wpcf7 input:disabled,
.wpcf7 textarea:disabled,
.wpcf7 select:disabled{
  color:#999;
  background-color:var(--c-muted);
  cursor:not-allowed;
}

/* プレースホルダー色 */
.wpcf7 ::placeholder{ color:#9ca3af; }

/* 自動入力背景（Safari/Chrome） */
.wpcf7 input:-webkit-autofill{
  -webkit-box-shadow:0 0 0 1000px var(--c-bg) inset !important;
  -webkit-text-fill-color:var(--c-fg) !important;
  transition: background-color 9999s ease-out 0s;
}

/* バリデーション（エラー時） */
.wpcf7 .wpcf7-form-control.wpcf7-not-valid,
.wpcf7 .wpcf7-not-valid input,
.wpcf7 .wpcf7-not-valid textarea,
.wpcf7 .wpcf7-not-valid select{
  border-color:var(--c-error) !important;
  box-shadow:0 0 0 3px rgba(220,38,38,.12) !important;
}
.wpcf7 .wpcf7-not-valid-tip{
  margin-top:.35rem;
  color:var(--c-error);
  font-size:.9em;
}

/* 送信後メッセージ */
.wpcf7 form .wpcf7-response-output{
  margin:1rem 0 0;
  padding:.8rem 1rem;
  border-radius:.5rem;
  border:1px solid var(--c-border);
  background:#fafafa;
}

/* 送信ボタン（任意：フォームとトーン合わせ） */
.wpcf7 input[type="submit"]{
  display:inline-block;
  font:inherit;
  color:#fff;
  background:var(--c-brand);
  border:1px solid var(--c-brand);
  border-radius:.6rem;
  padding:.7em 1.2em;
  cursor:pointer;
  transition:filter .2s, box-shadow .2s, transform .02s;
}
.wpcf7 input[type="submit"]:hover{ filter:brightness(1.05); }
.wpcf7 input[type="submit"]:active{ transform:translateY(1px); }
.wpcf7 input[type="submit"]:disabled{ opacity:.6; cursor:not-allowed; }

/* （任意）フォーム行間隔を整えるユーティリティ */
.wpcf7 .form-row + .form-row{ margin-top:1rem; }

/* ===== 送信ボタン＆スピナーのセンタリング ===== */

/* ボタンを中央寄せ（ブロック化＋左右auto） */
.wpcf7 form input[type="submit"]{
  display: block;
  margin: 20px auto 5px auto;           /* 中央寄せ */
}

/* スピナーも中央寄せ（下に配置） */
.wpcf7 form .wpcf7-spinner{
  display: block;           /* 改行してボタンの下へ */
  margin: .6rem auto 0;     /* 上に少し余白を取りつつ中央寄せ */
  float: none;              /* 念のためフロート解除 */
}

/* （任意）ボタンとスピナーの横並びを避けたいテーマ向けの保険 */
.wpcf7 form input[type="submit"] + .wpcf7-spinner{
  display: block;
}

/* （任意）ボタン最大幅を控えめにして中央寄せ感を強調したい場合 */
.wpcf7 form input[type="submit"]{
  max-width: 20rem;         /* 好みで調整 */
  width: 100%;
}






.sitemap_sec{ width: 90%; max-width: 800px; margin: 0 auto 60px auto; }
.sitemap_sec ul{  }
.sitemap_sec ul li{ margin-bottom: 10px; }
.sitemap_sec > ul > li{  }
.sitemap_sec ul li a{ font-size: 2rem; font-weight: 700; }
.sitemap_sec ul li ul{ margin-left: 30px; margin-top: 10px; }
.sitemap_sec > ul > li > ul > li{ position: relative; padding-left: 30px; }
.sitemap_sec > ul > li > ul > li:before{
content: "";
position: absolute;
top: 15px;
left: 0;
transform: translateY(-50%);
border: 5px solid transparent;
border-left: 8px solid var(--main-color);
}
.sitemap_sec ul li ul li a{ font-size: 2rem; font-weight: normal; }
.sitemap_sec ul li ul li ul{ margin-left: 60px; margin-top: 10px; }
.sitemap_sec ul li ul li ul li{ list-style-type: circle; }
.sitemap_sec ul li ul li ul li a{ font-size: 2rem;  font-weight: normal; }

.sitemap_salon_list{ padding-left: 40px; display: flex; justify-content: space-between; flex-wrap: wrap; }
.sitemap_salon_item{ flex-basis: 48%; list-style-type: circle; padding-left: 0 !important; }
.sitemap_salon_item:before{ display: none; }
.sitemap_salon_item a{ font-size: 2rem; font-weight: normal !important; }


.list_datenavi{ font-size: 2.4rem !important; color: var(--second-color); font-weight: 700; margin-bottom: 10px;  }
.list_datenavi a{ display: inline-block; border: 1px solid var(--second-color); padding: 0 5px 5px 5px; border-radius: 5px; line-height: 1; }
.list_datenavi a:hover{ background-color: var(--second-color); color: #fff; }

.weekly_sec select{ padding: 10px; font-size: 1.8rem; border-radius: 5px; }
.attmgr_weekly_all{}
.attmgr_weekly_all th{ font-size: 1.8rem !important; padding: 10px; font-weight: 700; }
.attmgr_weekly_all th.sunday{ background-color: #f5f5f5; }

.attmgr_weekly_all td{ font-size: 1.8rem !important; padding: 10px; }
.attmgr_weekly_all td.portrait{ font-size: 2rem !important; font-weight: 700; color: var(--main-color); }


table.attmgr_weekly_all {
	width: 100% !important;
	border-collapse: collapse !important;
	border: 1px solid #ddd;
	margin: 0 auto;
}


}
/* ----------------------------------------------------------
 PCWIDE CSS END
---------------------------------------------------------- */