@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.2
*/

/* 共通設定
------------------------------------------------------------- */
/*ブログカード投稿日表示設定
.new-entry-card-date {
  display: block;
}*/

/*ブログカード左寄せ*/
.blogcard-wrap {
    margin-left: 0;
}
/*flex box*/

.text {
	display: inline-block;
}

.p_box {
    display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}


.p_box_center {
    display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}

.p_box_link_wrap {
    display: flex;
	justify-content: space-around;
	align-items: center;
	flex-wrap: wrap;
}

.p_box_beartyingredients_wrap {
    display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
.c_box_beartyingredients_list {
	width: 300px;
}

.photo_wrap {
    display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	padding: 10px 5px 0 5px;
	}
.photo_item {
	width:50%;
		padding: 10px 10px;
}
.photo_item img{
	width: 100%
}

a:hover {
	  opacity: 0.7;
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

/*フェードインデザイン*/
.main,.sidebar{
  animation-name: fadein;
  animation-duration: 2s;
}
@keyframes fadein{
  from {
      opacity: 0;
      transform: translateY(20px);
  }
  to {
      opacity: 1;
      transform: translateY(0);
  }
}

/* フワっと浮かぶタイトル */
@keyframes fadein {
0% {
    opacity: 0;/* 透明 */
    transform: translateY(20px);/* Y軸方向に30px */
}
100% {
    opacity: 1;/* 不透明 */
	transform: translateY(0px);/* Y軸方向に0px */
}
}

h1 {
animation-name: fadein;
animation-duration: 2s;
}

.fig_center{
	text-align:center;
}

/*リセット*/
.main {
	padding: 20px 0px;
}
.content {
	margin-top: 0;
}
table {
	margin-bottom:0;
	border: none;
		width: auto;
	white-space: nowrap;
}

table th,table td {
	border: none;
	background-color: none;
	padding:0;
}

table tr:nth-of-type(2n+1){
	background-color: transparent ;
}
a {
	text-decoration: none;
}

li {
	margin:0;
	padding:0;
}
ol,ul {
	margin:0 0 0 1em;
	padding:0;
}
ul {
   list-style:none;
}
p {
	margin: 0;
}

.article h4 {
	border: none;

}

.post-date {
	font-size: 1em;
}

/*テキストサイズ・装飾関連*/
.none {
	display: none;
}
.white_shadow{
	text-shadow:2px  2px 5px #fff,
               -2px  2px 5px #fff,
                2px -2px 5px #fff,
               -2px -2px 5px #fff;
}

a {
	color: #755454;
}

.catchphrase1 {
    color: #ffb692;
	font-size: 1.8em;
	text-align: center;
	font-weight: bold;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

.catchphrase2 {
	color: #ffb692;
	font-size: 1.5em;
	text-align: center;
	font-weight: bold;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

.top_margin5 {/*上に5px隙間*/
	display: block;
	margin-top: 5px;
	margin-bottom: 0!important;
}

.top_margin20 {/*上に20px隙間*/
	display: block;
	margin-top: 20px;
}


.top_margin40 {/*上に40px隙間*/
	display: block;
	margin-top: 40px;
}

.bottom_margin20 {/*下に20px隙間*/
	display: block;
	margin-bottom: 20px;
}
.bottom_margin40 {/*下に40px隙間*/
	display: block;
	margin-bottom: 40px;
}

.entry-title{
	text-align: center;
	font-size: 1.85em;
	margin-bottom: 1.5em;
}

.time_price{
	font-size: 1.1em;
	margin-top: 0px;
	line-height:1em;
}


.right_align{ /*右寄せ*/
	text-align: right;
	margin-right: 20px;
}

.center { /*中央寄せ*/
	text-align: center;
}

p.menu_ttl {
	font-size: 1.15em;
	display: inline-block;
	vertical-align: top;
	background: url("https://amiere.jp/wp-content/uploads/2020/09/dot4.jpg") left 0 no-repeat;
	padding-left: 42px;
	line-height:2.5;
	font-weight:bold;
}
.price_top_margin {/*メニュータイトルと価格の上揃え*/
	margin-top: 13px;
}

p.menu_ttl2 {
	font-size: 1.15em;
	display: inline-block;
	vertical-align: middle;
	margin-top: 20px;
	margin-bottom: 0;
	background: url("https://amiere.jp/wp-content/uploads/2020/09/dot4.jpg") left 0 no-repeat;
	padding-left: 42px;
	line-height:2.5;
}

.article h3.course_ttl {
	font-size:27px;
	text-align: center;
	border: none;
	color: #dfa1ba;
	height: 80px;
	background-image: url("https://amiere.jp/wp-content/uploads/2020/09/course_ttl_pc_bg.png");
	background-repeat: no-repeat;
	background-position: left bottom;
	margin-bottom: 0;
	margin-top: 80px;
}

.article h4.course_ttl {
	font-size:27px;
	text-align: center;
	border: none;
	color: #9E7169;
	height: 80px;
	margin-bottom: 0;
	margin-top: 80px;
}


.small_text {
	font-size: 0.8em;
}

.mem_price_bg {
	display: inline-block;
	background-color: #f4b5b5;
	margin: 0 10px 0 20px;
	padding: 3px 10px;
	border-radius: 5px;
	font-size: 0.7em;
	width: 70px;
	text-align: center;
	white-space: nowrap;
}

.mem_price_bg2 {
	display: inline-block;
	background-color: #f4b5b5;
	margin: 0 10px 0 20px;
	padding: 3px 10px;
	border-radius: 5px;
	font-size: 0.8em;
	text-align: center;
	white-space: nowrap;
}

.mem_price_bg3 {
	display: inline-block;
	background-color: #f4b5b5;
	margin: 0 10px 0 20px;
	padding: 3px 10px;
	border-radius: 5px;
	font-size: 0.7em;
	text-align: center;
	white-space: nowrap;
}

.mem_price_bg4 {
	display: inline-block;
	background-color: #f4b5b5;
	margin: 10px 10px 0 0;
	padding: 3px 10px;
	border-radius: 5px;
	font-size: 0.7em;
	width: 70px;
	text-align: center;
	white-space: nowrap;
}

.time_bg {
	display: inline-block;
	background-color: #ffefdc;
	margin: 0 10px 0 20px;
	padding: 3px 10px;
	border-radius: 5px;
	font-size:0.9em;
	width: 70px;
	text-align: center;
}

.time_bg2 { /*幅が長いもの用*/
	display: inline-block;
	background-color: #ffefdc;
	margin: 0 10px 0 20px;
	padding: 0 10px;
	font-size:0.em;
	border-radius: 5px;
	font-size:0.9em;
	text-align: center;
}

.time_bg3 {
	display: inline-block;
	background-color: #ffefdc;
	margin: 10px 10px 5px 20px;
	padding: 0 10px;
	border-radius: 5px;
	font-size:0.9em;
	width: 70px;
	text-align: center;
}

.price_box {
	display: inline-block;
	margin: 0 3px 0 10px;
	width: 70px;
}
.limited_bg { /*期間限定表示*/
	display: inline-block;
	background-color: #ffefdc;
	margin: 0 0 10px 20px;
	padding: 5px 10px;
	font-size:0.em;
	border-radius: 5px;
	font-size:0.9em;
	text-align: center;
}

.ib {
	display:inline-block;
}

.price_box2 { /*幅が長いもの用*/
	display: inline-block;
	margin: 0;
	width: 80px;
}

.price_box3 { /*幅が長いもの用*/
	margin-top: 10px;
}

.price_box4 {
	display: inline-block;
	margin: 0;

}

.pink_bg {
	display: inline-block;
	background-color: #f4d3e4;
	padding: 0 10px;
}

.pink_bg_inline {
	display: inline-block;
	background-color: #f4d3e4;
	padding: 0 10px;
}

.pink_bg2 {
	display: inline-block;
	background-color: #fff5f5;
	padding: 0 10px;
	margin-top: 10px;
}

.pink_bg3 {
	display: inline-block;
	background-color: #f4d3e4;
	padding: 0 10px;
	margin-top: 10px;
}

.blue_bg {
	display: inline-block;
	background-color: #c9eff2;
	padding: 0 10px;
}

.green_bg {
	display: inline-block;
	background-color: #dbf2ce;
	padding: 0 7px;
	margin-left: 5px;
}
.pink_bold{
	color: #e28d8d;
	font-weight: bold;
}
.green_bold{
	color: #7ebfb2;
	font-weight: bold;
}

.blue_bold{
	color: #77b2bf;
	font-weight: bold;
}

.green_text {
	color: #76b7ab;
}

.menu_ttl_4 {
	display:inline-block;
}

.radius_10 {
	border-radius: 10px;
}

.bold {
	font-weight: bold;
}


/*装飾関連*/
p.red1 {/*赤文字タイトル*/
	color: #DD4A4A;
	font-weight: bold;
	margin:0;
	padding: 30px 0 10px 20px;
}
.star_color{
	color:#E5BC61;
}

.blog_link_btn { /*ブログ記事リンクボタン*/
	color: #c663a1;
	font-size:0.95em;
	display: inline-block;
	padding: 3px 1em;
	margin: 5px 0;
	border-radius: 5px;
	background: rgba(198,99,160,0.1);
	border: 1px solid rgba(198,99,160,0.5);
}
.blog_link_btn a { /*ブログ記事リンク文字*/
	color: #c663a1;
}

.course_link_ttl{ /*目次見出し*/
	background-color: #dd9fb8;
	color: #fff;
	text-align: center;
	margin: 40px 0 0 0;
	padding: 5px 0 0 0;
}

.course_link_list { /*目次リスト*/
	padding: 10px 20px;
	margin: 0;
	border: solid 1px #dd9fb8;
}
.course_link_list_kaisou { /*目次リスト(リストメニューに階層がある場合）*/
	padding: 10px 20px;
	margin: 0;
	border: solid 1px #dd9fb8;
}

.course_link_list li {/*目次リストマーク設定*/
	padding-left: 13px;
	background: url("https://amiere.jp/wp-content/uploads/2020/09/link_icon.png") left 9px no-repeat ;
	}

.course_main {/*目次リストに階層がある場合の上層*/
		padding-left: 13px;
	background: url("https://amiere.jp/wp-content/uploads/2020/09/link_icon.png") left 11px no-repeat ;
}

.course_sub {/*目次リストに階層がある場合の下層*/
			padding-left: 43px;
	background: url("https://amiere.jp/wp-content/uploads/2023/08/list_mark202308-001.png") 30px 9px no-repeat ;
}


.text_wrap { /*テキスト幅調整用*/
	margin: 0 30px;
	}
.text_wrap_ {
	margin: 50px 30px;
}
.explanation_box { /*コース・講座内容部分*/
	border: solid 1px #f4dfe9;
	background-color: #fffcf8;
	margin: 10px 10px 25px 10px;
	padding: 10px 20px 20px 20px;
	border-radius: 10px;
}

.explanation_box_nottl { /*コース・講座内容部分 タイトルがないとき*/
	border: solid 1px #f4dfe9;
	background-color: #fffcf8;
	margin: 10px;
	padding: 10px 20px 10px 20px;
	border-radius: 10px;
}

.explanation_box_nottl2 { /*bodyコース説明部分*/
	display:block;
	border: solid 1px #f4dfe9;
	background-color: #fffcf8;
	margin: -10px 10px 10px 10px;
	padding: 10px 20px 10px 20px;
	border-radius: 10px;
}



.category_box { /*種類別枠*/
	border: solid 2px #f2ccdf;
	border-radius: 10px;
	padding: 20px 30px 20px 30px;
	margin-top:10px;
	margin-bottom: 100px;
}

.form_link_btn a{ /*フォーム誘導ボタン*/
	display: block;
	font-weight: bold;
	text-decoration: none;
	background: url("https://amiere.jp/wp-content/uploads/2020/09/link_btn_bg.jpg") 20px;
	color: #fff;
	text-align: center;
	margin: 20px 10px 0 10px;
	padding: 10px 0;
	outline: solid 1px rgba(255,255,255,0.5);
	outline-offset: -4px;
}

.form_link_btn_b40 a { /*フォーム誘導ボタン link設定*/
	font-weight: bold;
	text-align: center;
	margin: 20px 10px 40px 10px;
	padding: 10px 0;
	display: block;
	color: #fff;
	text-decoration: none;
	background: url("https://amiere.jp/wp-content/uploads/2020/09/link_btn_bg.jpg") 20px;
	outline: solid 1px rgba(255,255,255,0.5);
	outline-offset: -4px;
}

.form_link_btn a:hover,.form_link_btn_b40 a:hover { /*フォーム誘導ボタン link設定*/
	background-color: rgba(223,161,186,0.7);
}

.list_wrap { /*リスト囲み枠*/
	margin: 20px;
	padding: 20px;
	border-radius: 10px;
	background-color: #fff8f8;
}

.ttl_underline{
	display: block;
    border-bottom: solid 1px #f4dfe9;
	margin: 0 0 10px 0;
	padding-bottom: 5px;
}

.ttl_underline2{
	display: block;
    border-bottom: solid 1px #f4dfe9;
	margin: 20px 0 10px 0;
	padding-bottom: 5px;
}

.form_wrap {
	background-color: #fffcf8;
	padding: 5% 8%;
	padding-bottom: 0;
	margin-top: 20px;
    border: 1px solid #e5a5a5;
	border-radius: 10px;
}

.pink_hr {
	border: solid 0.5px #f4dfe9;
	margin-bottom: 50px;
}

.pink_hr2 {
	border: solid 0.25px #f5e9e9;
	margin-bottom: -0.5em;
}

.price_change_info {/*レイアウト_価格は変更になることもございます_トリートメントメニュー*/
	text-align: right;
	margin-top: -30px;
	margin-bottom: 20px;
}

.price_change_info2 {/*レイアウト_価格は変更になることもございます*/
	text-align: right;
	margin-top: 5px;
	margin-bottom: 20px;
}
/*非表示*/
.home.page .entry-title{
  display: none;
}

.home.page .post-date{
  display: none;
}

.page .date-tags {
 display: none;
}
@media screen and (max-width: 480px){
ol,ul {
	margin: 0;
	padding: 0;
}

.category_box {/*種類別*/
	padding: 1em;
}
.article h3.course_ttl {
	font-size: 21px;

}

.article h4.course_ttl {/*セラピスト養成コース目次調整用*/
	font-size: 20px;

}

	.course_link_list_kaisou ul {/*セラピスト養成コース目次調整用*/
		margin-left:0;
		padding-left:0;
	}

.text_wrap { /*テキスト幅調整用*/
	margin: 5px;
	font-size:0.95em;
	}
	.photo_wrap {/*写真flex解除*/
		display:block;
	}
	.photo_item {
		width: 100%;
		padding: 10px 0 0 0;
	}
}

/* ページの枠組み
------------------------------------------------------------- */
/* ヘッダー
------------------------------------------------------------- */
.top_text_wrap {
	height: 45px;
	background-color:#f7f0f3;
	padding-left: 1em;
}
.top_text {
	font-size:0.9em;
	line-height:3;
}

@media screen and (max-width: 480px){
.top_text_wrap {
	height: 30px;
	}

.top_text {
	font-size:0.65em;
	line-height:3;
}
}
.pc_slider {
	max-width: 1256px;
		text-align:center;
	margin: 0 auto;
}
/* ナビゲーション
------------------------------------------------------------- */

.navi-in a {
	color: #895b56;
}

.caption-wrap:hover {
    color: #efb1be;
    border-bottom: 1px solid #efb1be;
}
/* サイドバー
------------------------------------------------------------- */
.sidebar-scroll {
	text-align:center;
}
.widget-sidebar-scroll {
	margin-bottom: 10px;
}

.widget-sidebar-scroll a:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.sidebar h3 {
	background-color: #f7f0f3;
}
.a-wrap,.widget_categories ul li a {
	color: #755454;
}
/* フッター
------------------------------------------------------------- */
/*モバイルフッターメニュー*/
.mobile-menu-buttons .menu-icon{
	font-size: 21px;
	color: #d390a3;
	padding-top:10px;
}
.mobile-menu-buttons .menu-caption,.custom-menu-caption {
	font-size: 11px;
	font-weight: bold;
	color: #d390a3;
	padding-bottom: 10px;
}
.mobile-menu-buttons {
background: rgba(255,255,255,0.85);
}
.navi-menu-content {
background: rgba(255,255,255,0.9);
}
.fa-times:before {
	color: #d390a3;
}
li.menu-item-4235,li.menu-item-4237,li.menu-item-4239,li.menu-item-4240 {
	display: none;
}
li.menu-item-118 a {
	color: #d390a3;
}
li.menu-item-118 ul.sub-menu a {
	color: #755454;
}
.footer-center {
 width:66.66%
}
.footer-right {
 width: 0;
}
.footer {
	background-color:#f7f0f3;
}

.footer-bottom {
	margin-top:0;
}

.footer_logo_wrap {
	margin-left:-20px;
}
.footer_address_wrap {
	margin-bottom: 5px;

}
.access_info {
	font-size: 0.9em;
	padding-left: 1em;
	margin-bottom: 10px;
}

.open_info_wrap {

}
.open_info_content{

}
.open_info_content table {
	width: 100%;
}
.open_info_content td.td1 {
	width: 20%;
	font-size: 0.9em;
	text-align:left;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-right: 1em;
	padding-left: 1em;
	border: 1px solid #efd0d9;
	border-right: none;
	border-left: none;
}
.open_info_content td.td2 {
	width: 80%;
	font-size: 0.9em;
	text-align:left;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-right: 1em;
	padding-left: 1em;
	border: 1px solid #efd0d9;
	border-right: none;
	border-left: none;
}

.footer_wish {
	margin-top: 20px;
	padding: 1em 1.5em;
	background:rgba(255,255,255,0.6);
	border-radius: 5px;
	font-size: 0.9em;
	display: inline-block;
}

.footer_wish_sp {
	margin: 20px 0;
	padding: 1em 1.5em;
	background:rgba(255,255,255,0.6);
	border-radius: 5px;
	font-size: 0.9em;
	display: inline-block;
}
.wish {
	padding-left: 13px;
	background: url("https://amiere.jp/wp-content/uploads/2020/09/link_icon.png") left 9px no-repeat ;
}

.footer_map_wrap {
	margin-top: 10px;
}

.sp_footer_map {
	margin-top: 40px;
}

.map_ttl {
	color: #dfa1ba;
	font-size: 1.2em;
}

.go-to-top-button {
	width: 60px;
	height:60px;
	font-size: 32px;
}

/* トップページ
------------------------------------------------------------- */
.top_ttl_amiere_info {
    text-align: center;
    font-size: 2em;
    font-weight: bold;
    color: #e28d8d;
    margin-top: 1em;
	margin-bottom: 1em;
}

.certification {
	list-style-image: url("https://amiere.jp/wp-content/uploads/2020/09/aroma_icon1.png");
}

.skill {
	list-style-image: url("https://amiere.jp/wp-content/uploads/2020/09/aroma_icon1.png");
}
.top_catchphrase_wrap {
	margin: 80px 0 50px 0;
	font-weight: bold;
}
.top_catchphrase1 {
    color: #e0a2a2;
	font-size: 1.9em;
	text-align: center;
	line-height: 2em;
}
.top_catchphrase2 {
    color: #e0a2a2;
	font-size: 2.3em;
	text-align: center;

}
.top_ttl {
	text-align: center;
	font-size: 2em;
	font-weight: bold;
	color: #e28d8d;
	margin-top: 2em;
}
.amiere_info_top {
	max-width:1256px;
	margin: 0 auto;
	padding: 10px;
	background-color: #f7e7ed;
}

.top_menubanner_wrap,.top_sns_wrap {
	display:flex;
}
.top_menubanner {
	text-align: center;
	width: 25%;
	margin: 0 0.5%;
}
.profile_box {
	margin-top: 50px;
	padding: 60px 0;
	background-color: #fff8f8;
	background-image: url("https://amiere.jp/wp-content/uploads/2020/09/profile_bg5.jpg") ;
	background-attachment:fixed;

}
.profile_wrap {
	margin: 0 10%;

}
.profile_flex1 {
	display: flex;
	padding: 0 3%;
}
.profile_content1 {
	width: 44%;
	margin: 0 3%;

}
.profile_content1_2 {
	display:flex;
	align-items: center;
	justify-content: center;
	width: 50%;
    margin: 0;
}
.profile_sub_h {
	font-size: 1.1em;
	padding-left: 28px;
	margin-bottom: 5px;
	vertical-align: middle;
	color: #77564f;
	background: url("https://amiere.jp/wp-content/uploads/2020/09/rose_icon.png") left 5px no-repeat;
	}

.profile_name {
	margin-left:-20px;
}

.profile_flex2 {
	display: flex;
	font-size: 0.9em;
	border: solid 3px #f7e7ed;
	background: rgba(255,255,255,0.5);
	border-radius: 10px;
	margin: 20px 5%;
	padding: 0 3%;
}
.profile_content2 {
	width: 55%;
	margin: 20px 0;
}
.profile_content2_2{
	width: 45%;
	margin: 20px 0;
}

.top_sns_wrap {
	margin: 0 10%;
}

.top_sns_content {
	text-align: center;
	width: 50%;
	background-color: #fff;
	margin: 10px ;
}
.top_sns_content a:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.top_menubanner_wrap a:hover {
	  opacity: 0.7;
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.coupon_ttl,.coupon_price {
	font-size: 1em;
}
.coupon_price {
	line-height: 1em;
}
.coupon_ttl {
	padding-left: 13px;
	background: url("https://amiere.jp/wp-content/uploads/2020/09/link_icon.png") left 11px no-repeat ;
	}


.p_box_coupon {
    display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: 10px 20px;
}
.p_box_coupon2 {
    display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: 40px 20px 10px 20px;
}
.info_content_wrap {/*新着情報のカスタマイズ*/
	margin: 0 auto;
	max-width: 700px;
}
.sidebar-scroll{
	text-align: left;
}
.info_content_wrap div.whatsnew dt,.info_content_wrap div.whatsnew dd {
    padding : 10px 0 10px 10px;
}

.info_content_wrap div.whatsnew dt {
	color: #e28d8d;
}

.info_content_wrap div.whatsnew .newmark {
	background-color: #f4c3d9;
}

.info_content_wrap hr {
		border: #f7e7ed solid 1px;
	   border-top: none;
}

.info_content_wrap div.whatsnew dl a:hover {
	background-color: #fffafd;
}
.amiere_info_top a {
	color: #d35e98;
}
.amiere_info_top a:hover {
	color: #fff;
}
	.info_ttl {
	color: #d35e98;
	display: inline-block;
	border-right: 1px solid #d35e98;
	margin: 0 10px;
	padding-right: 10px;
}
/*新着情報ページ*/
.entry-title{
  color: #e0a2a2;
}
/* トリートメントメニュー
------------------------------------------------------------- */
.p_box_bodymenu {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
	margin: 50px 0;
}
.gender {
	text-align: right;
}
.gender_com {
    text-align: right;
	font-size: 0.95em;
	margin-top:-15px;
}
.pink_line {
	border-bottom:#f4d3e4 dotted 1.5px;
	padding-bottom:5px;
}
.service_wrap {
    border: solid 2px #f2ccdf;
	border-radius: 10px;
	padding: 0 30px 40px 30px;
	margin-top:10px;
}

.article h3.service_ttl {
	color: #dfa1ba;
	border: none;
	border-left: 7px solid #dfa1ba;
	line-height: 1;
	margin-top: 30px;
	padding: 5px 20px;
	margin-bottom: 20px;
}

.service_list {
	padding-left: 13px;
	background: url("https://amiere.jp/wp-content/uploads/2020/09/green_sq_icon.png") left 11px no-repeat ;
	}

.service_wrap a {
	color: #ea8a63;
}

.service_wrap .form_link_btn a{
	color: #fff;
}

.members_ttl{
	margin-left: 20px;
}
.members_info_link {
	margin: 10px 0 0 10px;
}

.list_disc {
	display: inline-block;
	margin: 0 0 5px 30px;
	font-size: 0.9em;
	border-bottom: dashed 1.5px #ffccd6;
}
/* スピリチュアルメニュー
------------------------------------------------------------- */
.faq_content {
	margin: 0 20px;
}


.faq_content dt{
	font-size: 1.1em;
	margin-top: 40px;
	display: block;
	position: relative;
	padding-left: 3rem;
}
.faq_content dt:before {
	content: url("https://amiere.jp/wp-content/uploads/2020/09/q_icon.png");
	position: absolute;
	left:0;
	top: 0;

}

.faq_content dd{
	display: block;
	margin-top:10px;
	position: relative;
	padding: 0 0 0 6rem;

}
.faq_content dd:before {
	content: url("https://amiere.jp/wp-content/uploads/2020/09/a_icon.png");
	position: absolute;
	top: 0;
	left: 2.3rem;

}
/* おなまえメソッド®メニュー
------------------------------------------------------------- */
h4.onamae_h4ttl {
	font-size: 1.5em;
	color: #dfa1ba;
	font-weight:bold;
	margin-left: 0;
    line-height: 1.5;
	padding-left: 0;
    border-bottom: 1px solid #dfa1ba;
	display: block;
}

.onamae_photo_wrap {
    display: block;
    text-align: center;
    margin: 10px 10px 0 10px;
}

/* 実践型アロマ講座
------------------------------------------------------------- */
/*見出し折り返し*/
.title {
	height: 120px !important;
	vertical-align:middle !important;
	text-align: center !important;
	}

.m_td {
	   font-size: 1em;
	padding-right: 2em;
    border-color:#fffcf8 !important;
}

.h_td {
	   font-size: 1em;
	text-align:left;
    white-space: nowrap;
	width: auto;
	padding-right: 0.75em;
    border-color:#fffcf8 !important;
}
.e_td {
	   font-size: 1em;
	text-align:right;
    white-space: nowrap;
	padding-right: 0;
	width: auto;
	border-color:#fffcf8 !important;
}
.price_table {
   margin: 0 auto;
   margin-bottom: 0;
}

.price_wrap {
	background-color: #f4e1e8;
	margin: -15px 10px -10px 10px;
    padding: 5px 10px 10px 10px;
}
.price_wrap2 {
	background-color: #f4e1e8;
	margin: -10px 10px 70px 10px;
    padding: 5px 10px 10px 10px;
}

.price_wrap3 {
	background-color: #f4e1e8;
	margin: 10px 10px 1px 10px;
	padding: 5px 10px 10px 10px;

}
.price_ttl {
	background-color: #f4e1e8;
	color: #e28d8d;
	font-weight: bold;
	text-align: center;
	padding: 0 0 5px 0;
}

.price_content {
	background-color: #fffcf8;
	text-align: center;
	padding: 10px 0;
}

.price_content2 {
	font-size:1.1em;
	background-color: #fffcf8;
	text-align: center;
	padding: 10px 0;
}


.hr_1{
	margin: 50px auto;
	border: 1px solid #e5b1b8;
	width: 50%;
}
.aroma_photo_wrap{
	display:block;
	text-align: center;
	margin: 10px 10px 20px 10px;

}
.target li { /*対象者アイコン設定*/
	padding-left: 13px;
	background: url("https://amiere.jp/wp-content/uploads/2020/09/aroma_icon1.png") left 9px no-repeat ;
	}

.course_content li { /*講座内容アイコン設定*/
	padding-left: 13px;
	background: url("https://amiere.jp/wp-content/uploads/2020/09/aroma_icon2.png") left 9px no-repeat ;
	}

h4.guide_ttl {
	font-size: 1.3em;
	margin: 0;
    padding: 0;
}

.pertial_class_menuttl { /*部分受講タイトルアイコン設定*/
	margin-right: 0px;
	padding-left: 30px;
	background: url("https://amiere.jp/wp-content/uploads/2020/09/clover_icon2.png") no-repeat left 1px;
	}

.green_sq_icon > li {
    list-style: none !important;
    padding-left: 13px;
    background: url("https://amiere.jp/wp-content/uploads/2020/09/green_sq_icon.png") left 11px no-repeat;
}

.target_ttl {
		color: #e28d8d;
	font-weight: bold;
		display: block;
    border-bottom: solid 1px #f4dfe9;
	margin: 0 0 10px 0;
	padding-bottom: 5px;

}


.course_content_ttl {
		color: #e28d8d;
	font-weight: bold;
		display: block;
    border-bottom: solid 1px #f4dfe9;
	margin: 20px 0 10px 0;
	padding-bottom: 5px;

}


.pertial_class_wrap{
	border: solid 2px #f4dfe9;
	margin: 10px 10px 25px 10px;
	padding: 10px 20px 20px 20px;

}

.pertial_class_menuttl{
	font-size: 1.1em;
	display: block;
    border-bottom: solid 2px #f4dfe9;
	margin: 10px 15px;
	padding-bottom: 5px;
}
	td.e_td {
		padding-top: 12px;
		line-height: 1.2;
	}

	td.m_td {
		padding-top: 12px;
		line-height: 1.2;
	}

.info_right {
	text-align:right;
	margin: 10px 0 0 0;
	padding: 0 15px;
}

.shop_link_btn a{ /*ショップ誘導ボタン*/
	display: block;
	font-weight: bold;
	text-decoration: none;
	color: #e28d8d;
	text-align: right;
	margin: 0;
	padding: 0 15px;
	outline: solid 1px rgba(255,255,255,0.5);
	outline-offset: -4px;
}


@media screen and (max-width: 480px){
.h_td,.m_td,.e_td {
	font-size: 0.85em;
			}
.info_right {
	padding: 0 ;
}
.shop_link_btn a{
	padding: 0 ;

}


	}

/* アロマアナリーゼ
------------------------------------------------------------- */

.list_disc2 {
	display: inline-block;
	margin: 0 0 5px 0;
    color: #76b7ab;
	border-bottom: dashed 1.5px #ffccd6;
}

.list_padding20 li {
	padding-bottom:20px;
}

.list_padding10 li {
	padding-bottom:10px;
}


/* オンラインショップ
------------------------------------------------------------- */
.shop_flex {
	display: flex;

}
.shop_flex_item1 {
	width: 150px;
	vertical-align: middle;
	margin: 0;
}
.shop_ttl {
	text-align: center;
	font-size: 1.5em;
	font-weight: bold;
	color: #e28d8d;
	margin-top: 2em;
	margin-bottom: 2em;
    vertical-align: middle;
}

.shop_ttl2 {
	text-align: left;
	font-size: 1.2em;
	font-weight: bold;
	color: #e28d8d;
	margin-top: 2rem;
	margin-bottom: 0.4rem !important;
    vertical-align: middle;
}

.shop_photo_wrap { /*オンラインショップの写真用*/
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin: 20px 0;
}
.shop_photo_item {
	width:33.3333%;
	padding: 1%;
}
.shop_photo_item img{
	width: 100%
}
.wp-caption {
	background-color: transparent;
	border: none;
}
.shop_contact_bn_wrap {
	margin: 50px 2em;
	text-align: center;
}

.tomi_brand_logo_sp {
	margin-top: 50px;
}
.wp-caption-text, .gallery-caption {
    font-size: 0.9em;
}

.list_deco1 a{
	font-size: 0.8em;
	color: #e28d8d;
}

.list_deco1 ul{
    padding:0;
	margin:0;
}
/* スピリチュアルメニュー
------------------------------------------------------------- */
.service_wrap2 {
    border: solid 2px #f2ccdf;
	border-radius: 10px;
	padding: 20px 30px 30px 30px;
	margin-top:80px;
	margin-bottom:80px;
}

.article h3.service_ttl2 {
	color: #dfa1ba;
border: none;
border-left: 7px solid #dfa1ba;
line-height: 1;
padding: 10px 20px;
margin-top: 10px;
margin-bottom: 20px;
}

.service_wrap2 a.contactpage_link {
	color: #ea8a63;
}
/* お問い合わせ
------------------------------------------------------------- */
.contact_bn_wrap {
	padding: 20px 0 0 0;
	text-align: center;
	width: 100%;
}

.contact_bn_wrap img {
	margin: 0 20px 30px 20px;

}
.contact_form_link_wrap {
	text-align: center;


}
.contact_form_link_wrap p {
	margin: 20px 0;
	text-align: left;

}
.contact_form_link_wrap a {
	color: #d69aaf;
}


.contact_form_link_content {
	display: inline-block;
    margin: 0 auto;
}
/* 申込フォーム設定
------------------------------------------------------------- */
/*check box 縦並び*/
span.wpcf7-list-item {
display: block!important;
padding : 10px 0;
}

.form_icon1 {
	display:block;
	margin-bottom: 0px!important;
	margin-left:-10px;
}
.form_icon1:before {
	content: url("https://amiere.jp/wp-content/uploads/2020/09/rose_icon.png");
	position: relative;
	top:7px;
	left:0;
}

.form_title1 {
	margin-bottom: 20px;
}

.form_title2 {
	font-size: 1.1em;
	margin-bottom: 10px;
	margin-top: 30px;
	padding-left:10px;
	color: #e28d8d;
    border-bottom: solid 1px #f4dfe9;
}
/*確認ボックス周りmargin調整*/
.margin_con {
	margin-top: -20px;
	margin-bottom:-20px;
}

input[type="submit"]{
	border: 1px solid #e5a5a5;
	background-color: rgba(223,161,186,1.0);
	color: #fff;
	font-size: 0.9em;
	outline: 1px solid rgba(255,255,255,0.5);
	outline-offset: -4px;
}

input[type="submit"] :hover{
	background-color: rgba(223,161,186,0.7);
}

.line_link_btn {
	color: #7ca56a;
	font-size:0.95em;
	display: inline-block;
	padding: 3px 1em;
	margin: 5px 0;
	border-radius: 5px;
	background: rgba(151,196,130,0.1);
	border: 1px solid rgba(151,196,130,0.5);
}
.line_link_btn a {
	color: #7ca56a;
}
.wpcf7c-conf {
	background-color: #fff8f8 !important;
	color: #755454 !important;
}
.wpcf7c-elm-step2 {
	border: 1px solid #e5a5a5;
    background-color: rgba(223,161,186,1.0);
    color: #fff;
    font-size: 0.9em;
    outline: 1px solid rgba(255,255,255,0.5);
    outline-offset: -4px;
	padding: 10px;
	margin-bottom: 5px;
}

.search-edit, input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], textarea, select {
    padding: 11px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 18px;
    width: 100%;
	margin-top: 10px;
}
/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1024px以上*/
@media screen and (min-width: 1024px){

}
/*1023px以下*/
@media screen and (max-width: 1023px){
.top_catchphrase1 {
	font-size: 1.4em;
}
.top_catchphrase2 {
	font-size: 1.8em;
}


.top_menubanner_wrap {
	flex-wrap: wrap;
	justify-content: center;
}

.top_menubanner {
	width: 46%;
	margin: 2%;
}

	.banner1 {
		text-align: right;
	}
		.banner2 {
		text-align: left;
	}
.profile_wrap {
	margin: 0 5%;
	}

.profile_flex1 {
	flex-wrap: wrap;
	text-align: center;
	margin: 20px auto;
	}

.profile_flex2{
	flex-wrap: wrap;
	margin-right: 1%;
	margin-left: 1%;
	}

.profile_content1,.profile_content2 {
	width: 100%;
	}

.profile_content2 {
	width: 100%;
	margin: 20px 2.5% 10px 2.5%;
}

.profile_content2_2{
	width: 100%;
	margin: 10px 2.5% 20px 2.5%;
}
.profile_content1 {
	margin: 0 auto;
	width: 50%;
	max-width: 402px;
	margin-bottom: 0;

}

.profile_content1_2 {
	display:block;
	text-align: center;
	width: 100%;
	margin-top: 10px;
	margin-bottom: 30px;
}

.profile_name {
	margin-left: 0;
}
}
/*834px以上*/
@media screen and (min-width: 834px){
.certification {
	margin-left:30px;
}

.skill {
	margin-left:30px;
}

}
/*834px以下*/
@media screen and (max-width: 834px){
.menu-drawer a{
	font-size:1.1em;
	color:#755454;
	padding-top: 15px;
	}

.top_sns_wrap {
	flex-wrap: wrap;
	margin: 0 20%;
}

.top_sns_content {
	width: 46%;
	background-color: #fff;
	margin: 0 1% 20px 1%;
}

.list_wrap ul,.course_link_list ul,ul.green_sq_icon,ul.target,ul.course_content {
		padding-left:0;
	}
}
/*480px以上*/
@media screen and (min-width: 481px){
	.sp {
		display:none !important;
	}
	.pc_inline {
		display: inline-block !important;
	}
.pc {
		display:block !important;
	}
}
/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
.pc {
	display: none !important;
}
.pc_inline {
	display:none !important;
	}
.amiere_info_ttl {
		font-size: 1.6em;
	}
.top_catchphrase1 {
	font-size: 1.2em;
	margin-bottom: 10px;
}
.top_catchphrase2 {
	font-size: 1.6em;
}

.amiere_info_top {
		font-size: 0.8em;
}

.mobile {
	display: block;
	}

.top_menubanner_wrap{
	flex-wrap: wrap;
}


.top_menubanner {
	width: 100%;
	margin: 10px 5px;
}

.banner1,.banner2 {
		text-align: center;
	}

.profile_wrap {
	margin: 0 1%;
	}

.profile_content1 {
	margin: 0 auto;
	width: 70%;
}

.top_sns_content {
	width: 100%;
	background-color: #fff;
	margin-bottom: 40px;
	}
.time_price{
	display: block;
	width: 100%;
	text-align: right;
	font-size: 1.1em;
	margin-top: 0;
	padding-right: 15px;

}

.p_box,.p_box_bodymenu {
		display:block;
	}
.p_box_coupon {
    display: block;
	margin: 10px 0 ;
}

.p_box_coupon2 {
    display: block;
	margin: 40px 0 10px 0;
}

	.p_box_line_link{
		display: block;
	}
.contact_bn_wrap img {
	width: 100vw;
	margin: 0 0 30px 0;
	}
.p_box_center {
	display: block;
   text-align: center;
	}
.pertial_class_wrap{
	padding: 10px 0 20px 0;
	margin-right: 5px;
	margin-left: 5px;
	}
	.right_align {
		margin-right: 0;
	}
	.form_link_btn a {
		margin: 20px 0 0 0;
	}
	.form_link_btn_b40 a {
		margin: 20px 0 40px 0;
	}
	.entry-title {
		font-size:1.6em;
	}
	.catchphrase1{
		font-size: 1.5em;
	}
.catchphrase2{
		font-size: 1.35em;
	}
.explanation_box{
		margin-left: 0;
		margin-right: 0;
		padding:10px 10px 10px 20px;
	}
.price_wrap,.price_wrap2 {
		margin-left: 0;
		margin-right: 0;
	}
.aroma_photo_wrap {
		margin: 0;
	}

.service_wrap {
    border: solid 2px #f2ccdf;
	border-radius: 10px;
	padding: 10px 10px 20px 10px;
	margin-top:10px;
}

.article h3.service_ttl {
		padding-left: 10px;
		margin-left: 10px;
	}
		p.menu_ttl {
		font-size:1.05em;
		line-height:1.8;
		padding-top: 10px;
	}

/*見出し折り返し設定*/
.title {
	height: 100px !important;
	vertical-align:middle !important;
	text-align: center !important;
	}
.text_2line_1 {
	}
.text_2line_2 {
}
.faq_content dd{
	padding-left:2rem;
	}
.faq_content dd::before{
	left: 0;
	}
.faq_content dt{
	padding-left: 2rem;
	}
.info_content_wrap div.whatsnew dt, .info_content_wrap div.whatsnew dd {
	padding: 0 0 0 20px;
	}
	.info_content_wrap div.whatsnew dd {
		padding-bottom: 10px;
	}
h4.onamae_h4ttl {
	font-size: 1.3em;
}
	.page-id-10 main.main, .page-id-10 div.sidebar{
		padding: 16px 0;
	}
	.profile_flex2 {
		margin-right:5%;
		margin-left:5%;
	}
	.shop_photo_wrap {
		display:block;
	}
	.shop_photo_item {
		width: 70%;
        margin: 0 auto;
	}
	.list_wrap {
		margin-left: 0;
		margin-right: 0;

}
}
/*375px以上*/
@media screen and (min-width: 376px){
		.ip678 {
		display: none !important;
	}
}
/*375px以下*/
@media screen and (max-width: 375px){
	.ip678 {
		display: block;
	}
	.service_wrap2 {
		padding: 10px;
	}
	.wpcf7-list-item {
		margin-left:0 !important;
	}
	.form_wrap {
		padding: 5% 6% 0 6%;
	}
	.mid_text {
		font-size:0.95em !important;
	}
		.mid_text2 {
		font-size:1.05em !important;
	}
	.text_2line_2 {
		font-size:0.95em !important;
	}
	.pertial_class_menuttl {
		font-size:1em !important;
	}

}


/*320px以上 iphone5/se用*/
@media screen and (min-width: 321px){
	.ipse,.ipse2 {
		display:none !important;
	}
}
/*320px以下*/
@media screen and (max-width: 320px){
	.ipse {
		display: inline-block !important;
	}
.ipse2 {
		display: block !important;
	}
	.no_ipse {
		display: none !important;
	}
	.ipse_small_text1 {
		font-size:1em !important;
	}
	.wpcf7-list-item-label{
		font-size: 1em;
	}
	.form_icon1 {
		font-size:;
	}
	.service_wrap,.category_box,.text_wrap,.list_wrap {
		margin-right: 0;
		margin-left: 0;
	}
	.entry-title {
		font-size: 1.35em;
	}
	.catchphrase1,.top_catchphrase2 {
		font-size:1.3em;
	}
	.top_catchphrase1 {
		font-size:1em;
	}

	.title2 {
	height: 120px !important;
	}

	.title3 {
	height: 90px !important;
	}
	p.menu_ttl2 {
    font-size: 1.05em;
    display: inline-block;
    vertical-align: middle;
	margin-top: 20px;
    margin-bottom: 10px;
    background: url(https://amiere.jp/wp-content/uploads/2020/09/dot4.jpg) left 0 no-repeat;
    padding-left: 42px;
    line-height: 2.5;
}
	.c_box_beartyingredients_list{
		font-size:0.9em;

	}
	.coupon_ttl {
		font-size:0.95em;
	}
	.explanation_box_nottl{
		margin:0 5px 10px 5px;
	}
	.pertial_class_wrap{
       margin-left: 0;
	margin-right:0;
		padding: 10px 10px;
	}
	.aroma_photo_wrap {
		margin: 0;
	}
	.time_bg {
		margin-left: 0;
	}
	.faq_content dd {
		padding-left: 0;
	}
	.faq_content dd:before {
		left: -2rem;
	}
	.faq_content {
		margin: 0;
	}
	.explanation_box {
		padding: 10px 5px 10px 10px;
	}
	.article ol {
		padding-left:20px;
	}
	.amiere_info {
		margin: 0 20px;
	}

	.top_menubanner {
		margin: 10px 30px;
	}
	.footer_wish_sp  {
		padding: 1em;
	}

	.explanation_box_nottl2 { /*ipse専用ハンドパック表示*/
	display:block;
	border: solid 1px #f4dfe9;
	background-color: #fffcf8;
	margin: -10px 0 10px 0;
	padding: 10px;
	border-radius: 10px;
}

	td.e_td{
		font-size: 0.95em !important;
	}

h3.service_ttl{
	margin-left: 0 !important;

	}
}

/* ヘッダーロゴを非表示 */
@media screen and (max-width: 1023px) {
.logo-header {
display: none;
}
}
/* PC版ナビゲーション高さ設定 */
@media screen and (min-width: 1023px) {
#header-container {
	margin-top:20px;
	height:80px;
}
}
/* アロマショップ　カタログページ
------------------------------------------------------------- */
/* ==============================
   B｜メンテ向け：page-id で限定し、!important を減らした版
   ============================== */
body.page-id-5565 .ewd-upcp-product-title,
body.page-id-5565 .ewd-upcp-product-title a,
body.page-id-5565 .ewd-upcp-product-title-div a.ewd-upcp-product-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  font-size: 0.9rem;
  line-height: 1.2;
  max-height: calc(1.2em * 2);
  margin: 0;
  font-weight: 500;
}

/* 価格（タイトルの下） — 親要素を縦積み */
body.page-id-5565 .ewd-upcp-catalog-product-thumbnail-title-and-price-div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.12rem;
}

body.page-id-5565 .ewd-upcp-catalog-product-price,
body.page-id-5565 .ewd-upcp-catalog-product-price span {
  display: block;
  font-size: 0.89rem;
  line-height: 1.2;
  font-weight: 600;
  margin-top: 0.06rem;
}

/* サイドバー：外観調整（背景等は付けない） */
body.page-id-5565 .ewd-upcp-catalog-sidebar-category,
body.page-id-5565 .ewd-upcp-catalog-sidebar-subcategory {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 5px 8px;
}

/* 親カテゴリの間隔と親→子の隙間 */
body.page-id-5565 .ewd-upcp-catalog-sidebar-category {
  margin-bottom: 0px;
}
body.page-id-5565 .ewd-upcp-catalog-sidebar-hierarchical-subcategories {
  margin-top: 0px;
  margin-left: 10px;
}

/* サブカテゴリの間隔 */
body.page-id-5565 .ewd-upcp-catalog-sidebar-subcategory {
  margin-bottom: 5px;
  padding: 10px 8px;
}

/* ラベルとチェックのギャップ（親/子で差をつける） */
body.page-id-5565 .ewd-upcp-catalog-sidebar-category .ewd-upcp-catalog-sidebar-taxonomy-label,
body.page-id-5565 .ewd-upcp-catalog-sidebar-subcategory .ewd-upcp-catalog-sidebar-taxonomy-label {
  display: flex;
  align-items: center;
  cursor: pointer;
  width: 100%;
}
body.page-id-5565 .ewd-upcp-catalog-sidebar-category .ewd-upcp-catalog-sidebar-taxonomy-label {
  gap: 1rem;
}
body.page-id-5565 .ewd-upcp-catalog-sidebar-subcategory .ewd-upcp-catalog-sidebar-taxonomy-label {
  gap: 0.8rem;
}

/* チェックボックスのサイズ調整 */
body.page-id-5565 .ewd-upcp-catalog-sidebar-content input[type="checkbox"] {
  transform: scale(1.05);
  margin: 0;
}

/* 親カテゴリフォント（太字） */
body.page-id-5565 .ewd-upcp-catalog-sidebar-category .ewd-upcp-catalog-sidebar-taxonomy-label span {
  font-size: 0.95rem;
  font-weight: 600;
  padding-left: 0.35rem;
  color: #755454;
}

/* サブカテゴリフォント（小さめ） */
body.page-id-5565 .ewd-upcp-catalog-sidebar-subcategory .ewd-upcp-catalog-sidebar-taxonomy-label span {
  font-size: 0.85rem;
  font-weight: 500;
  color: #444;
  padding-left: 0.35rem;
}

/* 件数（控えめ） */
body.page-id-5565 .ewd-upcp-catalog-sidebar-taxonomy-count {
  font-size: 0.75rem;
  color: #777;
  margin-left: 0.4rem;
  font-weight: 400;
}

/* レスポンシブ */
@media (max-width: 600px) {
  body.page-id-5565 .ewd-upcp-product-title,
  body.page-id-5565 .ewd-upcp-product-title a {
    -webkit-line-clamp: 1;
    font-size: 0.86rem;
    max-height: calc(1.15em * 1);
  }
  body.page-id-5565 .ewd-upcp-catalog-product-price,
  body.page-id-5565 .ewd-upcp-catalog-product-price span {
    font-size: 0.85rem;
  }
  body.page-id-5565 .ewd-upcp-catalog-sidebar-category { margin-bottom: 16px; padding: 10px 6px; }
  body.page-id-5565 .ewd-upcp-catalog-sidebar-hierarchical-subcategories { margin-top: 12px; margin-left: 8px; }
}
/* セールアイコン：ピンク系・透過70% */
/* 強制適用：ホバー以外が他に上書きされる問題に対処 */
.ewd-upcp-product-comparison-button,
.ewd-upcp-sale-price {
  position: absolute !important;
  right: 8px !important;
  top: 8px !important;
  min-width: 80px !important;
  height: 30px !important;
  padding: 0 10px !important;
  background-color: rgba(247,75,116,0.5) !important; /* ピンク 50% */
  color: #fff !important;
  z-index: 9999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 1000px !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
  box-shadow: 0 4px 10px rgba(0,0,0,0.08) !important;
}

/* ホバー時（上書きが必要ならこちらも !important） */
.ewd-upcp-product-comparison-button:hover,
.ewd-upcp-sale-price:hover {
  background-color: rgba(255,111,163,0.85) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0,0,0,0.12) !important;
}

/* --- 商品詳細（タイトル・SNS・価格・本文）の文字サイズを抑える --- */

/* 見出し（商品名） */
.ewd-upcp-single-product-details-title-and-price .ewd-upcp-single-product-title {
  font-size: 1.2rem !important;       /* 調整値：必要なら 1.0rem や 0.95rem に変更 */
  line-height: 1.25 !important;
  color: #755454 !important;
  margin: 0 0 0.4rem 0 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

/* SNS共有ボタンの文字（小さくして邪魔にならないように） */
.ewd-upcp-single-product-details-title-and-price .rrssb-buttons .rrssb-text {
  font-size: 0.78rem !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

/* 価格ブロック（通常価格・セール価格） */
.ewd-upcp-single-product-details-title-and-price .ewd-upcp-single-product-price {
  font-size: 1.1rem !important;       /* 価格全体の基本サイズ */
  line-height: 1.2 !important;
  color: #70a092 !important;
  font-weight: 700 !important;
	margin:0.1rem 0 0.6rem 0 !important;
  margin-left:1rem !important;
}
.ewd-upcp-single-product-details-title-and-price .ewd-upcp-product-sale-price {
  font-size: 1rem !important;      /* セール価格を少し小さめに */
  color: #c0392b !important;          /* 必要なら色も調整可 */
  font-weight: 700 !important;
}

/* 本文（商品説明） */
.ewd-upcp-single-product-details-title-and-price .ewd-upcp-single-product-description,
.ewd-upcp-single-product-details-title-and-price .ewd-upcp-single-product-description p {
  font-size: 0.95rem !important;      /* 読みやすく抑える */
  line-height: 1.6 !important;        /* 行間は広めにして読みやすく */
  color: #755454 !important;
  margin: 0 0 0.8rem 0 !important;
  margin-left:0.5rem !important;
}

/* 全体の間隔調整（タイトル〜価格〜説明の縦のすき間） */
.ewd-upcp-single-product-details-title-and-price {
  display: block !important;
  gap: 0.4rem !important;
}

/* 小さい画面（スマホ）のときはさらに文字を小さく */
@media (max-width: 700px) {
  .ewd-upcp-single-product-details-title-and-price .ewd-upcp-single-product-title {
    font-size: 1.0rem !important;
  }
  .ewd-upcp-single-product-details-title-and-price .ewd-upcp-single-product-price {
    font-size: 0.96rem !important;
  }
  .ewd-upcp-single-product-details-title-and-price .ewd-upcp-product-sale-price {
    font-size: 0.9rem !important;
  }
  .ewd-upcp-single-product-details-title-and-price .rrssb-buttons .rrssb-text {
    display: none !important; /* モバイルで SNS テキストを非表示にする場合（アイコンのみ残る） */
  }
}
/* --- 商品名の背景を薄ピンクに、paddingと余白を広げる --- */

/* 商品詳細ページのタイトル（h2）に薄ピンク背景を付ける */
.ewd-upcp-single-product-details-title-and-price .ewd-upcp-single-product-title {
  display: inline-block !important;            /* 背景をテキストの後ろだけに */
  background-color: rgba(255, 228, 233, 0.55) !important; /* 薄ピンク（透過）*/
  padding: 8px 12px !important;                /* 内側の余白（上下 8px、左右 12px） */
  border-radius: 8px !important;               /* 少し丸める */
  margin-bottom: 0rem !important;            /* 下の要素（価格）との余白 */
  font-weight: 600 !important;
  line-height: 1.25 !important;
}

/* 価格ブロックとの間隔をさらに確実に確保（必要なら値を増やす） */
.ewd-upcp-single-product-details-title-and-price .ewd-upcp-single-product-price {
  margin-top: 0rem !important;               /* タイトルとの垂直間隔 */
}

/* SNSボタンや他の横並び要素が重なる場合は下にスペースを開ける */
.ewd-upcp-single-product-details-title-and-price .rrssb-buttons {
  margin-left: 8px !important;
  vertical-align: middle !important;
}

/* スマホで狭くなる場合は padding を自動で小さくする */
@media (max-width: 700px) {
  .ewd-upcp-single-product-details-title-and-price .ewd-upcp-single-product-title {
    padding: 6px 8px !important;
    margin-bottom: 0.6rem !important;
    font-size: 1.0rem !important;
  }
  .ewd-upcp-single-product-details-title-and-price .ewd-upcp-single-product-price {
    margin-top: 0.6rem !important;
  }
}

/* カタログサムネイルの切り抜き対策（高さ固定の解除／画像をセンター表示） */
.ewd-upcp-catalog-product-div.ewd-upcp-catalog-product-thumbnail {
  height: auto !important;             /* inline height を上書きして自動高さに */
  overflow: visible !important;        /* 切り抜かれないように */
}

/* 画像を縦横とも中央に配置し、切り抜きを避ける */
.ewd-upcp-catalog-product-thumbnail-image-div {
  display: flex !important;
  align-items: center !important;      /* 縦方向中央 */
  justify-content: center !important;  /* 横方向中央 */
  min-height: 160px !important;        /* 必要なら調整：画像がない時の空き */
  overflow: visible !important;
}

/* 画像自体ははみ出さないよう最大サイズを設定（catalog） */
.ewd-upcp-catalog-product-thumbnail-image-div img.ewd-upcp-product-image {
  max-width: 100% !important;
  max-height: 240px !important;        /* カタログ上の表示高さの上限（必要に応じ調整） */
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;      /* 切り抜かれずアスペクト維持 */
  display: block !important;
  margin: 0 auto !important;
}

/* 万一、親要素が overflow:hidden を持つ場合の保険 */
.ewd-upcp-catalog-product-div.ewd-upcp-catalog-product-thumbnail,
.ewd-upcp-catalog-product-thumbnail-image-div {
  overflow: visible !important;
}



/* --- 詳細ページ：画像が小さいのに拡大されるのを止める / 最大幅を制限 --- */
.ewd-upcp-single-product-main-image img.ewd-upcp-product-image,
.ewd-upcp-single-product-main-image img {
  width: auto !important;          /* 元サイズを尊重（自動） */
  max-width: 500px !important;     /* PCでの上限（必要なら調整） */
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;       /* 中央寄せ */
  float: none !important;          /* float を解除して回り込み防止 */
  object-fit: contain !important;  /* アスペクト比を守る */
  box-sizing: border-box !important;
}

/* レスポンシブ：画面広い場合は少し大きくして良い */
@media (min-width: 768px) {
  .ewd-upcp-single-product-main-image img {
    max-width: 400px !important;
  }
}
@media (min-width: 1200px) {
  .ewd-upcp-single-product-main-image img {
    max-width: 500px !important;
  }
}

/* 親コンテナの過度な幅指定を安全側に調整（崩れ防止） */
.ewd-upcp-single-product-main-image {
  text-align: center !important;
  overflow: visible !important;
}

/* ラベルの明示的な上書き（打消し線を消す）*/
.amiere-price-label,
.amiere-sale-label {
  text-decoration: none !important;
  display: inline-block;
  vertical-align: middle;
}

/* 見た目微調整（任意） */
.amiere-price-label { color: #666 !important; font-size: 0.85rem !important; margin-right: 0.5rem !important; font-weight:600 !important; }
.amiere-sale-label  { color: #c0392b !important; font-size: 0.82rem !important; margin-right: 0.4rem !important; font-weight:700 !important; }

/* 販売/セールラベルと価格の間に余白を作る（強制上書き） */
.ewd-upcp-single-product-price .amiere-price-label,
.ewd-upcp-single-product-price .amiere-sale-label {
  display: inline-block !important;
  vertical-align: middle !important;
}

/* 元の価格（最初の span / del 等） と セールラベルのあいだ */
.ewd-upcp-single-product-price > span:first-child {
  margin-right: 0.7rem !important; /* 元値とセールラベルの間 */
}

/* セールラベル自体の左右余白 */
.ewd-upcp-single-product-price .amiere-sale-label {
  margin-left: 0rem !important;   /* 元値との距離 */
  margin-right: 0rem !important;  /* ラベルとセール価格の距離 */
}

/* セール価格（数字）とラベルの距離が小さい場合 */
.ewd-upcp-single-product-price .ewd-upcp-product-sale-price {
  margin-left: 0.25rem !important;
}

/* ------------------------------
  金額の直後にだけ「（税込）」を表示（ラベル類は除外）
  - ラベル例クラス: .amiere-price-label, .amiere-sale-label は除外
  - 表示色は価格と同じ（color: inherit）
  - 大きさは販売ラベル相当（0.85rem）、隙間は狭め
  ------------------------------ */

/* 価格（通常の価格スパン）にのみ追加 */
.ewd-upcp-single-product-price > span:not(.amiere-price-label):not(.amiere-sale-label)::after {
  content: "（税込）";
  display: inline-block;
  margin-left: -0.5rem !important;   /* 価格との隙間を小さめに */
  font-size: 0.85rem !important;     /* 販売価格ラベルと揃える */
  font-weight: 600 !important;
  color: inherit !important;         /* 価格と同じ色にする */
  vertical-align: middle;
  white-space: nowrap;
}

/* セール価格（クラス名がある場合）にも同様に適用（数値スパンが .ewd-upcp-product-sale-price の場合） */
.ewd-upcp-single-product-price .ewd-upcp-product-sale-price:not(.amiere-sale-label)::after {
  content: "（税込）";
  display: inline-block;
  margin-left: -0.5rem !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: inherit !important;
  vertical-align: middle;
  white-space: nowrap;
}

/* もし何らかの理由で価格スパンが block 化されている・縦寄せになる場合に備えて */
.ewd-upcp-single-product-price > span,
.ewd-upcp-single-product-price .ewd-upcp-product-sale-price {
  display: inline-block !important;
  vertical-align: middle !important;
}
/* カタログ情報見出しの装飾 — 下ドット版 */
.ewd-upcp-catalog-information-name h3 {
  display: block !important;              /* ブロックで幅を取りたい場合 */
  padding: 12px 16px 12px 18px !important;
  background: transparent !important;     /* 背景不要なら透明 */
  border: 1px solid #e9b9b9 !important;/* 下の細かいドット：淡ピンク系 */
  border-left: 6px solid #e9b9b9 !important;   /* 左の太線：淡いピンク */

  box-sizing: border-box !important;
}

/* 見出しテキストの余白・調整 */
.ewd-upcp-catalog-information-name h3 {
  margin: 0 0 1rem 0 !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: #4a2f2a !important; /* マイルドなブラウン（調整可） */
  line-height: 1.2 !important;
}
/* === タイトル行の堅牢化（タイトルが横幅いっぱい使える、SNSは右端） === */
.ewd-upcp-single-product-details-title-and-price {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* タイトル：左に伸ばす（省略も効く） */
.ewd-upcp-single-product-title {
  order: 1 !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: block !important;
  background: rgba(255,228,233,0.55) !important; /* もし背景つけてる場合 */
  padding: 8px 12px !important;
  border-radius: 8px !important;
}

/* SNS：右端へ。空なら非表示 */
.rrssb-buttons {
  order: 1 !important;
  flex: 0 0 auto !important;
  display: flex !important;
  gap: 6px !important;
  align-items: center !important;
  margin-left: auto !important; /* ここで右寄せ */
  position: static !important;
  float: none !important;
}
.rrssb-buttons:empty { display: none !important; }

/* 価格は改行してタイトルの下（安定表示） */
.ewd-upcp-single-product-price {
  order: 2 !important;
  flex-basis: 100% !important;
  margin-top: 8px !important;
  display: block !important;
}

/* 商品説明は価格の次 */
.ewd-upcp-single-product-description {
  order: 3 !important;
  flex-basis: 100% !important;
}

/* 回転・縦書き強制スタイルをリセット（ラベル含む） */
.ewd-upcp-single-product-details-title-and-price,
.ewd-upcp-single-product-details-title-and-price * {
  writing-mode: horizontal-tb !important;
  transform: none !important;
  -webkit-transform: none !important;
  text-orientation: mixed !important;
  white-space: normal !important;
}

/* ラベル類を横並びにし、二行化しないように */
.amiere-price-label,
.amiere-sale-label {
  display: inline-block !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  transform: none !important;
}

/* 追加の保険：SNS の子要素（a, li）に float/position が残っていると嫌なのでリセット */
.ewd-upcp-single-product-details-title-and-price .rrssb-buttons li,
.ewd-upcp-single-product-details-title-and-price .rrssb-buttons a {
  position: static !important;
  float: none !important;
}

/* モバイル調整（折り返し優先） */
@media (max-width:720px){
  .ewd-upcp-single-product-title { white-space: normal !important; -webkit-line-clamp:2; display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden; }
  .rrssb-buttons { order: 4; width:100%; justify-content:flex-end; margin-left:0; margin-top:8px; }
  .ewd-upcp-single-product-price { order: 2; width:100%; margin-top:6px; }
  .ewd-upcp-single-product-description { order: 3; width:100%; }
}

/* 保険：既にラベルが重複して入ってしまった場合、2回目を非表示に */
.ewd-upcp-single-product-price .amiere-price-label.amiere-duplicate,
.ewd-upcp-single-product-price .amiere-sale-label.amiere-duplicate {
  display: none !important;
}
/* === Pattern C — Clean & Minimal (強制上書き) === */
body.page-id-5565 .ewd-upcp-single-product-details-title-and-price .ewd-upcp-single-product-title {
  display: block !important;
  margin: 0 0 0.45rem 0 !important;
  padding: 8px 0 8px 14px !important;
  font-size: 1.06rem !important;
  font-weight: 600 !important;
  color: #3f2b28 !important; /* マイルドブラウン */
  background: transparent !important;

  border-left: 6px solid rgba(233,185,185,0.95) !important; /* 左の太線（薄ピンク系） */
  border-bottom: 1px solid rgba(230,230,230,0.85) !important; /* 下の細線 */
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* 念のため内部要素の背景を消す */
body.page-id-5565 .ewd-upcp-single-product-details-title-and-price .ewd-upcp-single-product-title * {
  background: transparent !important;
  background-image: none !important;
}

/*カタログページ テキストボックスレイアウト調整*/
.catalog_text{
	padding:0 1.5rem;
}
/* === UPC サムネイル（スマホ）画像を“狭い額縁”ごと中央に === */
@media (max-width: 768px) {
  :root {
    --upc-pad: 8px;                  /* 画像の上下左右の余白（狭め） */
    --upc-maxbox: 92vw;              /* 画像ボックスの最大幅（画面に対する上限） */
    --upc-maxbox-cap: 420px;         /* 画像ボックスの絶対上限（デザイン上の上限） */
  }

  /* カード本体は中央寄せの土台だけ付ける（横幅は従来のまま） */
  .ewd-upcp-catalog-display .ewd-upcp-thumbnail-view
  .ewd-upcp-catalog-product-div.ewd-upcp-catalog-product-thumbnail {
    text-align: center !important;   /* 子の“画像箱”を中央に置くため */
  }

  /* 画像の箱：画像サイズ＋固定パディング分だけの“縮む箱”にして中央へ */
  .ewd-upcp-catalog-display .ewd-upcp-thumbnail-view
  .ewd-upcp-catalog-product-thumbnail-image-div {
    display: inline-block !important;                       /* ← shrink-to-fit（幅が縮む） */
    box-sizing: border-box !important;
    padding: var(--upc-pad) !important;                     /* 上下左右ぜんぶ同じ・狭め */
    background: #fff;
    max-width: min(var(--upc-maxbox), var(--upc-maxbox-cap)) !important;
    width: auto !important;                                 /* 画像に合わせて縮む */
    margin: 0 auto 10px !important;                         /* 下に少し余白（重なり防止） */
    position: relative !important;                          /* Saleバッジ用の基準 */
    overflow: hidden !important;                            /* はみ出し予防 */
    text-align: center !important;                          /* 念のため */
  }

  /* リンクも“箱”いっぱいにして中央扱いに */
  .ewd-upcp-catalog-display .ewd-upcp-thumbnail-view
  .ewd-upcp-catalog-product-thumbnail-image-div > a.ewd-upcp-catalog-product-image {
    display: block !important;
    margin: 0 auto !important;
    float: none !important;
  }

  /* 画像：トリミングせず“箱の内側”に最大化。余白は固定8pxぶんで均等 */
  .ewd-upcp-catalog-display .ewd-upcp-thumbnail-view
  .ewd-upcp-catalog-product-thumbnail-image-div img.ewd-upcp-product-image {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;      /* 画像が箱を超えない */
    max-height: 70vh !important;     /* 万一の巨大画像対策（任意） */
    object-fit: contain !important;   /* 切らない */
    margin: 0 auto !important;
    vertical-align: middle !important;
    float: none !important;
  }

  /* タイトル／価格は通常フロー（重ならない） */
  .ewd-upcp-catalog-display .ewd-upcp-thumbnail-view
  .ewd-upcp-catalog-product-thumbnail-body-div,
  .ewd-upcp-catalog-display .ewd-upcp-thumbnail-view
  .ewd-upcp-catalog-product-thumbnail-title-and-price-div,
  .ewd-upcp-catalog-display .ewd-upcp-thumbnail-view
  .ewd-upcp-catalog-product-price {
    position: static !important;
    float: none !important;
  }

  /* Saleバッジは画像箱の左上に固定（本文を押さない） */
  .ewd-upcp-catalog-display .ewd-upcp-thumbnail-view
  .ewd-upcp-catalog-product-thumbnail-image-div .ewd-upcp-sale-price {
    position: absolute !important;
    top: 6px !important;
    left: 6px !important;
    pointer-events: none !important;
  }
}
/* === スマホ時：商品カード（外側の枠）を細め中央にし、画像は中央・価格は重ならない === */
@media (max-width: 768px) {

  /* カード＝外枠：幅を細めにして中央。枠線と内側余白で「ちょうど良い余白」を作る */
  .ewd-upcp-catalog-display .ewd-upcp-thumbnail-view
  .ewd-upcp-catalog-product-div.ewd-upcp-catalog-product-thumbnail {
    width: min(92vw, 420px) !important; /* ←外枠が画面いっぱいにならない */
    margin: 0 auto 16px !important;     /* 中央寄せ＋下だけ少し間隔 */
    padding: 12px 12px 14px !important;  /* 外枠の“ちょうどいい余白” */
    border: 1px solid #e6e6e6 !important;
    border-radius: 12px;
    box-sizing: border-box;
    background: #fff;
    float: none !important;              /* 縦積みに */
    clear: both !important;
    text-align: center !important;       /* 内側の中央寄せの土台 */
  }

  /* 画像ブロック：下に余白を作って重なり防止 */
  .ewd-upcp-catalog-display .ewd-upcp-thumbnail-view
  .ewd-upcp-catalog-product-thumbnail-image-div {
    margin-bottom: 10px !important;
  }

  /* 画像リンク＆画像：左寄せ原因のfloatを無効化し、中央・比率維持で収める */
  .ewd-upcp-catalog-display .ewd-upcp-thumbnail-view
  .ewd-upcp-catalog-product-thumbnail-image-div > a.ewd-upcp-catalog-product-image {
    display: inline-block !important;
    float: none !important;
  }
  .ewd-upcp-catalog-display .ewd-upcp-thumbnail-view
  .ewd-upcp-catalog-product-thumbnail-image-div img.ewd-upcp-product-image {
    display: block !important;
    margin: 0 auto !important;          /* 画像を中央に */
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;      /* 切り抜かない */
  }

  /* タイトル／価格：通常フローに固定（画像に重ならない） */
  .ewd-upcp-catalog-display .ewd-upcp-thumbnail-view
  .ewd-upcp-catalog-product-thumbnail-title-and-price-div,
  .ewd-upcp-catalog-display .ewd-upcp-thumbnail-view
  .ewd-upcp-catalog-product-price {
    position: static !important;
    float: none !important;
  }
}
/* === スマホ時：一覧ビュー自体を“細い1列グリッド”にして中央寄せ === */
@media (max-width: 768px) {

  /* 一覧ビュー（サムネイル）を1列グリッド化し、列幅を固定して中央へ */
  .ewd-upcp-catalog-display .ewd-upcp-thumbnail-view {
    display: grid !important;
    grid-template-columns: min(92vw, 420px) !important; /* ←外枠の実幅はここで決まる */
    justify-content: center !important;                 /* 列を中央に配置 */
    gap: 16px !important;                               /* カード間の間隔 */
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  /* 念のため：子カードの“横並び用float”を無効化（縦に並べる） */
  .ewd-upcp-catalog-display .ewd-upcp-thumbnail-view
  .ewd-upcp-catalog-product-div.ewd-upcp-catalog-product-thumbnail {
    float: none !important;
    clear: both !important;
    box-sizing: border-box !important;

    /* 外枠の見た目（お好みで調整） */
    border: 1px solid #e6e6e6;
    border-radius: 12px;
    background: #fff;
    padding: 12px 12px 14px; /* 画像と価格を“ちょうどよく”囲む内余白 */
  }

  /* 画像は中央・比率維持（重なり防止に画像ブロック下余白） */
  .ewd-upcp-catalog-display .ewd-upcp-thumbnail-view
  .ewd-upcp-catalog-product-thumbnail-image-div { 
    margin-bottom: 10px !important;
    text-align: center !important;
  }
  .ewd-upcp-catalog-display .ewd-upcp-thumbnail-view
  .ewd-upcp-catalog-product-thumbnail-image-div > a.ewd-upcp-catalog-product-image {
    display: inline-block !important;
    float: none !important;
  }
  .ewd-upcp-catalog-display .ewd-upcp-thumbnail-view
  .ewd-upcp-catalog-product-thumbnail-image-div img.ewd-upcp-product-image {
    display: block !important;
    margin: 0 auto !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }

  /* タイトル／価格は通常フロー（重ならない） */
  .ewd-upcp-catalog-display .ewd-upcp-thumbnail-view
  .ewd-upcp-catalog-product-thumbnail-title-and-price-div,
  .ewd-upcp-catalog-display .ewd-upcp-thumbnail-view
  .ewd-upcp-catalog-product-price {
    position: static !important;
    float: none !important;
  }

  /* Saleバッジが本文を押さないように（必要な場合） */
  .ewd-upcp-catalog-display .ewd-upcp-thumbnail-view
  .ewd-upcp-catalog-product-thumbnail-image-div .ewd-upcp-sale-price {
    position: absolute !important;
    top: 6px !important;
    left: 6px !important;
    pointer-events: none !important;
  }
}
/* === 商品詳細（スマホ）縦並び＋余白チューニング：最小セット === */
@media (max-width: 768px) {
  /* 微調整用の変数 */
  :root {
    --crumb-gap: 4px;   /* パンくず直下の間隔（0〜8pxあたりで） */
    --row-gap: 12px;    /* セクション間の間隔 */
  }

  /* 親：縦積み&兄弟間の自動ギャップ抑制 */
  html body [id^="ewd-upcp-single-product-"].ewd-upcp-tabbed-product-page.ewd-upcp-product-page {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--row-gap) !important;
    --wp--style--block-gap: 0 !important;  /* テーマの自動ギャップを無効化 */
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  /* 親直下の兄弟間マージンを統一（控えめに） */
  html body .ewd-upcp-tabbed-product-page.ewd-upcp-product-page > * + * {
    margin-top: var(--crumb-gap) !important;
  }

  /* 並び順を「画像 → 詳細（タイトル/価格/本文） → サムネ」へ */
  html body .ewd-upcp-single-product-images-div  { order: 1 !important; }
  html body .ewd-upcp-single-product-details     { order: 2 !important; }
  html body .ewd-upcp-single-product-thumbnails  { order: 3 !important; }

  /* 2カラム系の指定をリセットして全幅へ */
  html body .ewd-upcp-single-product-images-div,
  html body .ewd-upcp-single-product-details {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
  }

  /* タイトル/価格/本文も横並び解除して全幅に */
  html body .ewd-upcp-single-product-details-title-and-price,
  html body .ewd-upcp-single-product-description,
  html body .ewd-upcp-single-product-price {
    float: none !important;
    width: 100% !important;
    position: static !important;
    display: block !important;
  }
  html body .ewd-upcp-single-product-title {
    display: block !important;
    width: 100% !important;
    margin: 8px 0 6px !important;
  }
  html body .ewd-upcp-single-product-price {
    margin: 0 0 10px !important;
  }

  /* パンくず → 画像 の隙間を詰める（本丸） */
  html body .ewd-upcp-single-product-breadcrumbs {
    margin-bottom: var(--crumb-gap) !important;
    padding-bottom: 0 !important;
  }
  html body .ewd-upcp-single-product-breadcrumbs + .ewd-upcp-single-product-images-div {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  /* さらに一声だけ詰めたい時は -2px 前後に（効きすぎたら外してOK） */
  html body .ewd-upcp-single-product-breadcrumbs + .ewd-upcp-single-product-images-div {
    margin-top: -2px !important;
  }

  /* 画像は中央＆比率維持 */
  html body .ewd-upcp-single-product-main-image { text-align: center !important; }
  html body .ewd-upcp-single-product-main-image img.ewd-upcp-product-image {
    max-width: 100% !important;
    height: auto !important;
    display: inline-block !important;
    object-fit: contain !important;
  }

  /* サムネは横スクロール可（任意だが便利） */
  html body .ewd-upcp-single-product-thumbnails {
    overflow-x: auto;
    display: flex;
    gap: 8px;
  }
}
/* 一覧カード：タイトル行を1行省略（…）で常に左寄せ */
.ewd-upcp-catalog-display .ewd-upcp-thumbnail-view
.ewd-upcp-catalog-product-thumbnail-title-and-price-div,
.ewd-upcp-catalog-display .ewd-upcp-thumbnail-view
.ewd-upcp-product-title-div {
  display: block !important;
  width: 100% !important;        /* ← 幅を明示（これが超重要） */
  max-width: 100% !important;
  min-width: 0 !important;       /* ← 親がflexでも縮められるように */
  overflow: hidden !important;   /* ← 三種の神器その1 */
  box-sizing: border-box;
}

/* アンカー自体を1行省略&左寄せに */
.ewd-upcp-catalog-display .ewd-upcp-thumbnail-view
a.ewd-upcp-product-title {
  display: block !important;     
  width: 100% !important;        /* ← アンカー自身の幅も固定 */
  max-width: 100% !important;
  overflow: hidden !important;   /* ← その2 */
  white-space: nowrap !important;/* ← その3 */
  text-overflow: ellipsis !important;
  text-align: left !important;   /* 親がcenterでも常に左寄せ */
  line-height: 1.4;
  margin: 0 !important;
}

/* （保険）構造によってはこの親がflex：ellipsisが効くように */
.ewd-upcp-catalog-display .ewd-upcp-thumbnail-view
.ewd-upcp-catalog-product-thumbnail-title-and-price-div {
  min-width: 0 !important;
}
/* 一覧（サムネイル＆リスト）共通：価格は右寄せで統一 */
.ewd-upcp-catalog-display .ewd-upcp-thumbnail-view .ewd-upcp-catalog-product-price,
.ewd-upcp-catalog-display .ewd-upcp-list-view .ewd-upcp-catalog-product-price {
  text-align: right !important;
  float: none !important;
  display: block !important;
  width: 100% !important;
  margin: 4px 0 0 !important;
  font-variant-numeric: tabular-nums;      /* 桁が揃って見える */
  font-feature-settings: "tnum" 1;         /* 上の保険 */
}

/* セール併記時：通常→セールの順で右端に寄せたまま少し間隔 */
.ewd-upcp-catalog-display .ewd-upcp-thumbnail-view .ewd-upcp-catalog-product-price .ewd-upcp-product-sale-price,
.ewd-upcp-catalog-display .ewd-upcp-list-view      .ewd-upcp-catalog-product-price .ewd-upcp-product-sale-price {
  display: inline-block !important;
  margin-left: .5em;            /* 通常価格とセール価格の間に余白 */
  vertical-align: baseline;
}

/* 価格行の内部 span が勝手にブロック化して崩れるのを防ぐ */
.ewd-upcp-catalog-display .ewd-upcp-catalog-product-price span {
  display: inline !important;
}
/* 価格を“右寄せのまま縦に積む” */
.ewd-upcp-catalog-display .ewd-upcp-thumbnail-view .ewd-upcp-catalog-product-price,
.ewd-upcp-catalog-display .ewd-upcp-list-view      .ewd-upcp-catalog-product-price {
  text-align: right !important;
  width: 100% !important;
  float: none !important;
  display: block !important;
  margin: 4px 0 0 !important;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

/* 1行ずつ縦積み（通常→セール） */
.ewd-upcp-catalog-display .ewd-upcp-catalog-product-price > span,
.ewd-upcp-catalog-display .ewd-upcp-catalog-product-price .ewd-upcp-product-sale-price {
  display: block !important;
  margin: 0 !important;
  white-space: normal !important;
}

/* セール価格を少し強調、上下の間隔だけ薄く足す */
.ewd-upcp-catalog-display .ewd-upcp-catalog-product-price .ewd-upcp-product-sale-price {
  font-weight: 700;
  margin-top: 2px !important; /* 好みで 0〜4px */
}
/* === 商品詳細（スマホ）メイン画像の最大幅を 70% に制限・中央配置 === */
@media (max-width: 768px) {
  /* 画像コンテナは中央寄せのままでOK（前の指定と両立） */
  html body .ewd-upcp-single-product-main-image {
    text-align: center !important;
  }

  /* メイン画像：大きすぎる時だけ縮める（最大で画面の65%） */
  html body .ewd-upcp-single-product-main-image img.ewd-upcp-product-image {
    width: auto !important;            /* テーマの width:100% を打ち消す */
    max-width: 65vw !important;        /* ← ここが上限（65%） */
    height: auto !important;           /* 比率維持 */
    display: inline-block !important;
    margin: 0 auto !important;
    object-fit: contain !important;    /* 念のため切り抜かない */
    /* （任意）縦が長すぎる画像の暴れ防止：
       max-height: 70vh !important;  */
  }
}
/* === 商品一覧（スマホ）カード幅を画面の90%に制限・中央寄せ === */
@media (max-width: 768px) {
  .ewd-upcp-catalog-display .ewd-upcp-thumbnail-view 
  .ewd-upcp-catalog-product-div.ewd-upcp-catalog-product-thumbnail {
    max-width: 65vw !important;   /* ← ここを 70〜95 に好みで調整 */
    margin: 0 auto 16px !important; /* 上下余白16px・左右自動で中央寄せ */
    float: none !important;       /* 左寄せを解除 */
  }
}
/* === 商品詳細（スマホ）説明文：右だけ余白を追加 === */
@media (max-width: 768px) {
  html body .ewd-upcp-single-product-description {
    box-sizing: border-box !important;
    padding-right: 14px !important;   /* ← 左に合わせて好みで 10〜20px */
  }

  /* 子要素のマージンで右に突き抜けないように補正 */
  html body .ewd-upcp-single-product-description > * {
    margin-right: 0 !important;
    max-width: 100% !important;
  }
}
/* === モバイル Filter ボタン（やさしいピンク版）=== */
@media (max-width: 768px) {
  :root{
    /* --- 基本色（やわらかピンク）--- */
    --filter-bg:   #f9edf2;  /* 背景（淡いピンク） */
    --filter-fg:   #7A2E44;  /* 文字色（落ち着いたローズ） */
    --filter-bc:   #f2dada;  /* 枠線（少し濃いピンク） */

    /* --- ホバー/押下 --- */
    --filter-bg-h: #F6D7E3;  /* ほんの少し濃く */
    --filter-fg-h: #632236;

    /* --- 形/余白 --- */
    --filter-br:   14px;     /* 角丸 */
    --filter-bd:   1px;      /* 枠線太さ */
    --filter-py:   10px;     /* 縦パディング */
    --filter-px:   16px;     /* 横パディング */
    --filter-shadow: 0 2px 8px rgba(122,46,68,.08);
  }

  .ewd-upcp-sidebar-toggle{
    background: var(--filter-bg) !important;
    color: var(--filter-fg) !important;
    border: var(--filter-bd) solid var(--filter-bc) !important;
    border-radius: var(--filter-br) !important;
    padding: var(--filter-py) var(--filter-px) !important;
    line-height: 1.2 !important;
    font-weight: 600;
    letter-spacing: .02em;
    box-shadow: var(--filter-shadow) !important;

    /* 配置 */
    width: fit-content;          /* ← 全幅にしたいなら 100% に変更 */
    margin: 0 auto 12px;         /* 中央配置＋下余白 */
    text-align: center !important;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  .ewd-upcp-sidebar-toggle:hover,
  .ewd-upcp-sidebar-toggle:focus-visible{
    background: var(--filter-bg-h) !important;
    color: var(--filter-fg-h) !important;
    outline: 2px solid rgba(122,46,68,.18) !important; /* やさしいフォーカスリング */
    outline-offset: 2px !important;
  }
}

/* === モバイル：サブの段差はそのまま、縦の行間だけコンパクトに === */
@media (max-width: 768px) {
  /* 1) まず“段差の復活/維持”（テーマ既定がpadding-leftならそれを使う） */
  .ewd-upcp-catalog-sidebar-content .ewd-upcp-catalog-sidebar-hierarchical-subcategories {
    /* 左のインデントは触らないのが原則。消えていたら下の1行を有効化 */
    /* padding-left: 16px !important;  */ /* ← 段差が消えてるときだけ使う */
  }

  /* 2) メインカテゴリ行：上下だけ詰める（横方向はノータッチ） */
  .ewd-upcp-catalog-sidebar-content > .ewd-upcp-catalog-sidebar-category {
    margin-top: 6px !important;
    margin-bottom: 6px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    /* ← left/right は書かない＝段差を壊さない */
    line-height: 1.35 !important;
  }

  /* 3) メイン直後の“サブ群”の上下だけ詰める（左インデントは触らない） */
  .ewd-upcp-catalog-sidebar-content 
  > .ewd-upcp-catalog-sidebar-category
  + .ewd-upcp-catalog-sidebar-hierarchical-subcategories {
    margin-top: 4px !important;
    margin-bottom: 4px !important;
    /* padding-left はいじらない */
  }

  /* 4) サブ項目（1行ずつ）：上下だけ軽く詰める */
  .ewd-upcp-catalog-sidebar-content 
  > .ewd-upcp-catalog-sidebar-hierarchical-subcategories
  > .ewd-upcp-catalog-sidebar-subcategory {
    margin-top: 3px !important;
    margin-bottom: 3px !important;
    padding-top: 3px !important;
    padding-bottom: 3px !important;
    /* margin-left/padding-left は触らない */
    line-height: 1.35 !important;
  }

  /* 5) 空の説明や空のサブ群がダボつかないように */
  .ewd-upcp-catalog-sidebar-content .ewd-upcp-taxonomy-description:empty,
  .ewd-upcp-catalog-sidebar-content .ewd-upcp-catalog-sidebar-hierarchical-subcategories:empty {
    display: none !important;
  }
}
/* === 商品一覧 見出し（グリッド/リストの先頭にフル幅で表示）=== */
:root{
  --catalog-title: "商品一覧（おすすめ順）";   /* ←文言 */
  --ct-bg: #fff;                           /* 背景色（淡いピンクにしたければ #FBE7EE など） */
  --ct-border: #e6d6dc;                    /* 枠線の色 */
  --ct-accent: #f2c2cd;                    /* 左アクセント線の色（ブランド寄りのピンク） */
  --ct-radius: 0px;                        /* 角丸 */
  --ct-leftbar: 8px;                       /* 左の太線の太さ */
  --ct-pad-v: 10px;                        /* 上下の内側余白 */
  --ct-pad-h: 12px;                        /* 左右の内側余白（太線ぶんは自動加算） */
}

/* 対象ビュー（サムネ/リスト）共通の土台 */
.ewd-upcp-catalog-display .ewd-upcp-thumbnail-view,
.ewd-upcp-catalog-display .ewd-upcp-list-view{
  position: relative;
}

/* サムネイル表示の先頭に見出し */
.ewd-upcp-catalog-display .ewd-upcp-thumbnail-view:not(.ewd-upcp-hidden)::before,
.ewd-upcp-catalog-display .ewd-upcp-list-view:not(.ewd-upcp-hidden)::before{
  content: var(--catalog-title);
  display: block;
  width: 100%;
  clear: both;               /* カード列に巻き込まれない */
  float: none;
  margin: 0 0 12px;

  /* タイポ＆サイズ：スマホでも小さくならないよう最小値を確保 */
  font-weight: 700;
  letter-spacing: .02em;
  color: #755454;
  font-size: clamp(17px, 3.8vw, 18px);  /* ←最小17px：カテゴリ見出しより小さくならない */

  /* 枠＆アクセント */
  background: var(--ct-bg);
  border: 1px solid var(--ct-border);
  border-left: var(--ct-leftbar) solid var(--ct-accent);
  border-radius: var(--ct-radius);
  padding: var(--ct-pad-v) calc(var(--ct-pad-h) + 2px) var(--ct-pad-v) calc(var(--ct-pad-h) + var(--ct-leftbar));
  box-sizing: border-box;
}

/* モバイルは少し詰める（好みで） */
@media (max-width: 768px){
  .ewd-upcp-catalog-display .ewd-upcp-thumbnail-view:not(.ewd-upcp-hidden)::before,
  .ewd-upcp-catalog-display .ewd-upcp-list-view:not(.ewd-upcp-hidden)::before{
    margin-bottom: 10px;
    font-size: clamp(17px, 4.2vw, 19px); /* スマホでより見やすく */
  }
}
/* カードに軽い影（PCのみ） */
@media (hover:hover){
  .ewd-upcp-catalog-product-thumbnail {
    transition: box-shadow .2s ease;
  }
  .ewd-upcp-catalog-product-thumbnail:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  }
}

/* 商品画像に軽いズーム */
.ewd-upcp-catalog-product-thumbnail img.ewd-upcp-product-image {
  transition: transform .25s ease;
}
.ewd-upcp-catalog-product-thumbnail:hover img.ewd-upcp-product-image {
  transform: scale(1.03);
}
/***** UPC サイドバー：文字クリック運用 用・上書きCSS *****/

/* 2カラム化（左=カテゴリ / 右=商品） */
.upcp-catalog, .ewd-upcp-catalog {
  display: grid !important;
  grid-template-columns: 260px 1fr !important;
  gap: 24px !important;
}

/* 左：カテゴリサイドバー */
.ewd-upcp-catalog-sidebar-categories {
  grid-column: 1 / 2 !important;
  align-self: start !important;
  position: sticky !important;
  top: 12px !important;
  max-height: calc(100vh - 24px) !important;
  overflow: auto !important;
  padding: 8px 0 !important;
  border-right: 1px solid #eee !important;
}

/* 右：商品リスト（環境に合わせて1つだけ残してもOK） */
.upcp-product-list,
.upcp-products,
.upcp-catalog-products,
.upcp-product-catalog {
  grid-column: 2 / 3 !important;
}

/* 入力UI（radio/checkbox）を完全に隠す：文字だけクリック */
.ewd-upcp-catalog-sidebar-categories input[type="radio"],
.ewd-upcp-catalog-sidebar-categories input[type="checkbox"]{
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important; height: 0 !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important;
}

/* ラベル＝クリックターゲット（ボタン風） */
.ewd-upcp-catalog-sidebar-categories label.ewd-upcp-catalog-sidebar-taxonomy-label {
  display: block !important;
  padding: 10px 12px !important;
  cursor: pointer !important;
  user-select: none !important;
  border-radius: 10px !important;
  margin: 2px 0 !important;
  transition: background .15s, color .15s !important;
  line-height: 1.3 !important;
}

/* hover時の反応 */
.ewd-upcp-catalog-sidebar-categories label.ewd-upcp-catalog-sidebar-taxonomy-label:hover {
  background: #f6f6f6 !important;
}

/* 選択中（JS側の is-active クラス） */
.ewd-upcp-catalog-sidebar-categories label.ewd-upcp-catalog-sidebar-taxonomy-label.is-active {
  background: #755454 !important;
  color: #fff !important;
}

/* 件数 (28) を消す */
.ewd-upcp-catalog-sidebar-taxonomy-count,
.upcp-taxonomy-count,
.ewd-upcp-taxonomy-count {
  display: none !important;
}

/* サブカテゴリは少しインデント */
.ewd-upcp-catalog-sidebar-hierarchical-subcategories
  .ewd-upcp-catalog-sidebar-subcategory
  label.ewd-upcp-catalog-sidebar-taxonomy-label {
  padding-left: 22px !important;
}

/* 見出しの体裁（任意） */
.ewd-upcp-catalog-sidebar-title {
  font-weight: 700 !important;
  margin-bottom: 6px !important;
}

/* リスト記号などが出るテーマ対策 */
.ewd-upcp-catalog-sidebar-categories ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
}

/* モバイルは縦積みに戻す */
@media (max-width: 768px){
  .upcp-catalog, .ewd-upcp-catalog {
    display: block !important;
  }
  .ewd-upcp-catalog-sidebar-categories {
    position: static !important;
    max-height: none !important;
    border-right: none !important;
    margin-bottom: 12px !important;
  }
}
/*テスト中*/
/* カテゴリー名の右に出る件数 (28) を非表示 */
.ewd-upcp-catalog-sidebar-taxonomy-count { 
  display: none !important;
}

/* 念のため：他スキン/旧クラス名の件数もまとめて隠す */
.upcp-taxonomy-count,
.ewd-upcp-taxonomy-count {
  display: none !important;
}
/* ========== UPC サイドバー：文字クリック運用 互換版（衝突なし）========== */
/* 目的：
   - ラジオ/チェックの“丸”は消す（文字クリックに）
   - 既存の太字/薄字・行間・インデント・display:flex等は上書きしない
   - PC2カラム/モバイル縦積みは維持
*/

/* 2カラム（左=カテゴリ／右=商品）: レイアウトのみ。見た目は上書きしない */
body.page-id-5565 .upcp-catalog,
body.page-id-5565 .ewd-upcp-catalog {
  display: grid !important;
  grid-template-columns: 260px 1fr !important;
  gap: 24px !important;
}

/* 左カラム配置のみ（既存のpaddingや背景・間隔は触らない） */
body.page-id-5565 .ewd-upcp-catalog-sidebar-categories {
  grid-column: 1 / 2 !important;
  align-self: start !important;
  position: sticky !important;
  top: 12px !important;
  max-height: calc(100vh - 24px) !important;
  overflow: auto !important;
  border-right: 1px solid #eee; /* ここだけ枠線が必要なら残す。不要なら消してOK */
}

/* 右カラム割当（クラスは環境に合わせて1つに絞ってもOK） */
body.page-id-5565 .upcp-product-list,
body.page-id-5565 .upcp-products,
body.page-id-5565 .upcp-catalog-products,
body.page-id-5565 .upcp-product-catalog {
  grid-column: 2 / 3 !important;
}

/* 入力UIを非表示（displayやfont-weight等は触らない） */
body.page-id-5565 .ewd-upcp-catalog-sidebar-categories input[type="radio"],
body.page-id-5565 .ewd-upcp-catalog-sidebar-categories input[type="checkbox"]{
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important; height: 0 !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important;
}

/* ラベルは“クリックターゲット”化のみ。
   displayやgap、font-weightなど既存指定と衝突しないように最小限だけ付与 */
body.page-id-5565 .ewd-upcp-catalog-sidebar-categories label.ewd-upcp-catalog-sidebar-taxonomy-label {
  cursor: pointer !important;
  user-select: none !important;
  transition: background .15s, color .15s !important;
}

/* hover時：背景だけ（太字/サイズは触らない） */
body.page-id-5565 .ewd-upcp-catalog-sidebar-categories
label.ewd-upcp-catalog-sidebar-taxonomy-label:hover {
  background: #f6f6f6;
}

/* 選択中：背景と文字色のみ。太字/行間/サイズは既存を尊重 */
body.page-id-5565 .ewd-upcp-catalog-sidebar-categories
label.ewd-upcp-catalog-sidebar-taxonomy-label.is-active {
  background: #111;
  color: #fff;
}

/* 件数( ) は非表示 */
body.page-id-5565 .ewd-upcp-catalog-sidebar-taxonomy-count,
body.page-id-5565 .upcp-taxonomy-count,
body.page-id-5565 .ewd-upcp-taxonomy-count {
  display: none !important;
}

/* モバイルは縦積みへ（レイアウトのみ） */
@media (max-width: 768px){
  body.page-id-5565 .upcp-catalog,
  body.page-id-5565 .ewd-upcp-catalog { display: block !important; }
  body.page-id-5565 .ewd-upcp-catalog-sidebar-categories {
    position: static !important;
    max-height: none !important;
    border-right: none !important;
    margin-bottom: 12px !important;
  }
}
/* === UPC サイドバー：親=太字／子=細め／旧レイアウトの復活（page-id限定） === */

/* 親カテゴリ：ラベル文字を太め・やや大きく */
body.page-id-5565 .ewd-upcp-catalog-sidebar-category
  > label.ewd-upcp-catalog-sidebar-taxonomy-label {
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: #755454 !important;
  /* ここでは display/padding/margin は触らない（既存の行間やgapを尊重） */
}

/* サブカテゴリ：ラベル文字を少し小さめ・細め */
body.page-id-5565 .ewd-upcp-catalog-sidebar-subcategory
  > label.ewd-upcp-catalog-sidebar-taxonomy-label {
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: #755454 !important;
}

/* 親⇄子の“段差・距離感”はあなたの既存CSSが効く前提。
   念のため、親→子のまとまりの上下だけ軽く整える（必要なければ削ってOK） */
body.page-id-5565 .ewd-upcp-catalog-sidebar-category { margin-bottom: 0 !important; }
body.page-id-5565 .ewd-upcp-catalog-sidebar-hierarchical-subcategories { margin-top: 0 !important; }

/* （いまは件数を非表示にしたい） */
body.page-id-5565 .ewd-upcp-catalog-sidebar-taxonomy-count { display: none !important; }

/* ラジオ/チェックの“丸”は非表示（文字クリック運用） */
body.page-id-5565 .ewd-upcp-catalog-sidebar-categories input[type="radio"],
body.page-id-5565 .ewd-upcp-catalog-sidebar-categories input[type="checkbox"]{
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important; height: 0 !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important;
}

/* クリック感は背景だけ（太字・サイズは上の指定を維持） */
body.page-id-5565 .ewd-upcp-catalog-sidebar-categories
  label.ewd-upcp-catalog-sidebar-taxonomy-label:hover {
  background: #f6f6f6 !important;
}
body.page-id-5565 .ewd-upcp-catalog-sidebar-categories
  label.ewd-upcp-catalog-sidebar-taxonomy-label.is-active {
  background: #755454 !important;
  color: #fff !important;  /* 太さはそのまま（親=600/子=500を維持） */
}
/* ===== サブカテゴリの縦スペースを詰める（page 5565 限定） ===== */

/* サブカテゴリブロック自体の上下間隔を小さく */
body.page-id-5565 .ewd-upcp-catalog-sidebar-subcategory{
  margin: 2px 0 !important;        /* ← 以前の 5px から圧縮 */
  padding: 4px 6px !important;      /* ← 以前の 10px 8px から圧縮（上下だけ小さく） */
  line-height: 1.35 !important;     /* 読みやすさ維持で軽く詰める */
}

/* ラベルの内側余白が大きい場合の保険（上下だけ詰める） */
body.page-id-5565 .ewd-upcp-catalog-sidebar-subcategory 
  > label.ewd-upcp-catalog-sidebar-taxonomy-label{
  padding-top: 2px !important;
  padding-bottom: 2px !important;
  /* 左インデントや横方向の見た目は既存を尊重 */
}

/* サブカテゴリ群の“かたまり”の上下も軽く詰める */
body.page-id-5565 .ewd-upcp-catalog-sidebar-hierarchical-subcategories{
  margin-top: 4px !important;   /* 親カテゴリ名との距離 */
  margin-bottom: 4px !important;
}

/* 空の説明や空のサブ群が余白を作らないように */
body.page-id-5565 .ewd-upcp-catalog-sidebar-content .ewd-upcp-taxonomy-description:empty,
body.page-id-5565 .ewd-upcp-catalog-sidebar-hierarchical-subcategories:empty{
  display: none !important;
}

/* さらに“もっと詰めたい”時は下の 2 行だけ 1px に変更して様子見 */
 /* body.page-id-5565 .ewd-upcp-catalog-sidebar-subcategory{ margin:1px 0!important; padding:2px 8px!important; } */


/* ===== 親カテゴリの縦間をタイトに（page 5565 限定＆強め指定） ===== */

/* 親カテゴリブロックそのものの上下余白を絞る */
body.page-id-5565 .ewd-upcp-catalog-sidebar-content 
  > .ewd-upcp-catalog-sidebar-category{
  margin-top: 3px !important;
  margin-bottom: 3px !important;
  padding-top: 4px !important;   /* ラベルの当たりを少しだけ */
  padding-bottom: 4px !important;
  line-height: 1.35 !important;
}

/* 親ラベル側に余白が付いているテーマ対策（上下だけ詰める） */
body.page-id-5565 .ewd-upcp-catalog-sidebar-content 
  > .ewd-upcp-catalog-sidebar-category 
  > label.ewd-upcp-catalog-sidebar-taxonomy-label{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 2px !important;
  padding-bottom: 2px !important;
}

/* 親の直後の“サブカテゴリ群”塊の上下も控えめに（次の親までを短縮） */
body.page-id-5565 .ewd-upcp-catalog-sidebar-content 
  > .ewd-upcp-catalog-sidebar-hierarchical-subcategories{
  margin-top: 3px !important;
  margin-bottom: 2px !important;  /* ←ココが効きます */
}

/* 空の説明や空のサブ群が余白を作らないように */
body.page-id-5565 .ewd-upcp-catalog-sidebar-content .ewd-upcp-taxonomy-description:empty,
body.page-id-5565 .ewd-upcp-catalog-sidebar-content .ewd-upcp-catalog-sidebar-hierarchical-subcategories:empty{
  display: none !important;
}

/* さらに詰めたい時は数値を（3px→2px / 2px→1px）にして様子見 */

/* 共通の土台（スムーズなアニメ用） */
body.page-id-5565 .ewd-upcp-catalog-sidebar-categories label.ewd-upcp-catalog-sidebar-taxonomy-label {
  position: relative;
  transition: background .15s ease, color .15s ease, padding-left .15s ease;
}

/* 選択中にだけ左バーを表示 */
body.page-id-5565 input:checked + label.ewd-upcp-catalog-sidebar-taxonomy-label,
body.page-id-5565 label.ewd-upcp-catalog-sidebar-taxonomy-label.is-active {
  background: #fcf5f5 !important;
	padding-left: 14px !important;    /* バーぶんほんの少し右へ */
}

body.page-id-5565 input:checked + label.ewd-upcp-catalog-sidebar-taxonomy-label::before,
body.page-id-5565 label.ewd-upcp-catalog-sidebar-taxonomy-label.is-active::before {
  content: "";
  position: absolute;
  left: 0; top: 50%;
  transform: translateY(-50%);
  width: 6px; height: 70%;
  border-radius: 4px;
  background: #e9b9b9;             /* アクセント色：薄いピンク */
}
/* UPC 一覧側のタイトル想定（念のためまとめて） */
.ewd-upcp-product-name,
.ewd-upcp-product-name a,
.ewd-upcp-product-title,
.ewd-upcp-product-title a,
.ewd-upcp-title,
.ewd-upcp-title a {
  text-transform: none !important;
}

/* UPC 詳細ページのタイトル（あなたのHTMLに対応） */
.ewd-upcp-single-product-title,
.ewd-upcp-single-product-title a {
  text-transform: none !important;
}


/* 特定商取引法に基づく表記
------------------------------------------------------------- */

.tokusho-wrap{
  max-width:980px;
  margin:28px auto;
  padding:24px;
  border-radius:10px;
  background:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,0.06);
}
.tokusho-head{display:flex;align-items:baseline;gap:12px;margin-bottom:18px}
.tokusho-head h1{font-size:1.2rem;margin:0}
.tokusho-sub{font-size:0.95rem;margin-bottom:10px}


/* tokusho: シンプルでレスポンシブな定義リスト表示 */
.tokusho-wrap{
  max-width:980px;
  margin:28px auto;
  padding:40px 60px;
  box-sizing:border-box;
  font-family: inherit; /* サイトのフォントを継承 */
  color: #333;
  background: transparent;
}


/* 序文 */
.tokusho-intro{
  margin:0 0 18px 0;
  color:#555;
  line-height:1.6;
  font-size:0.96rem;
}

/* 定義リスト（行ごとに wrapper を使って grid配置） */
.tokusho-dl{ margin:0; padding:0; }
.tokusho-row{ display:grid; grid-template-columns: 34% 1fr; gap:12px 18px; align-items:start; padding:10px 0; border-bottom:1px solid #f0efef; }

/* ラベル（dt） */
.tokusho-row dt{
  margin:0;
  font-weight:700;
  color:#4a2f2a;
  font-size:0.96rem;
  line-height:1.4;
}

/* 値（dd） */
.tokusho-row dd{
  margin:0;
  color:#333;
  font-size:0.95rem;
  line-height:1.7;
  word-break:break-word;
  white-space:normal;
}

/* リンクの見た目 */
.tokusho-row a{ color:#256; word-break:break-word; }

/* 最後の row の下線を消す */
.tokusho-dl .tokusho-row:last-child{ border-bottom: none; }

/* 注意文（右寄せ・背景なし） */
.tokusho-note{
  margin-top:18px;
  font-size:0.85rem;
  color:#666;
  text-align:right;       /* 右寄せ */
  background: transparent; /* 背景なし */
}

/* スマホ用：縦積み（ラベル→値）に切り替え */
@media (max-width:720px){
  .tokusho-row{ grid-template-columns: 1fr; gap:6px; padding:10px 0; }
  .tokusho-row dt{ font-size:0.95rem; }
  .tokusho-row dd{ font-size:0.96rem; }
  .tokusho-row + .tokusho-row{ margin-top:6px; border-top:1px dashed #f2f2f2; padding-top:12px; }
  .tokusho-note{ text-align:left; } /* スマホは左寄せの方が読みやすい */
	.tokusho-wrap{ padding:20px 40px;}
}

/* 最低限のアクセシビリティ */
.tokusho-dl dt, .tokusho-dl dd { outline: none; }