@charset "utf-8";

/************************************************
 import css
************************************************ */

/*ＷＥＢフォント　Noto Sans Japanese*/
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700,900|Roboto:400,500,700,900');

body {
  font-family: 'Roboto', "YakuHanJP", 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック medium", "Yu Gothic medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  color: #234;
  word-wrap: break-word;
  word-break: break-all;
  overflow-x: hidden;
　font-weight:400;
}

.env_message p.env_owner_message{
font-size:6px;
display:none;
}


.culture-table{
  border: none;
}

.culture-table th{
  border: none;
}

.culture-table td {
padding:0;
border: none;
}



/* トップページ */
#container {
width: 100%;
max-width: 1300px;
min-width: 980px;
}
.LC_Page_Index #container {
width: 100%;
max-width: 1300px;
min-width: 980px;
}

/* 商品一覧 */
.plg_Raku2_LC_Page_Products_List #container {
width: 100%;
max-width: 1500px;
min-width: 980px;
}

/* 商品一覧の商品画像の高さを揃える */
.bx-wrapper .productImage .thumb img {
    width: 200px;                /* 横幅いっぱいに */
    height: 200px;              /* 任意の高さに統一 */
    object-fit: contain;        /* 画像が歪まないように切り抜き */
    object-position: center;    /* 中央寄せ */
}

/* 商品一覧の商品画像の高さを揃える */
.list_area .listphoto img{
width: 100%;
margin-bottom: 0;
height: 200px;
object-position: center;
object-fit: contain;

}

form[name^="product_"]{
width: 18%;
padding: 0.8%;
}


/* 商品一覧の商品名を折り返し表示する */

.listrightbloc h3.raku2_list_product_name {
    /* レイアウトの根幹：3行分の高さを確保 */
    display: block;
    height: 4.2em;           /* 1.4em × 3行 */
    min-height: 4.2em;
    line-height: 1.4em;
    margin-bottom: 10px;
    overflow: hidden;        /* 4行目以降を隠して高さを一定に保つ */
    
    /* 文字の並び・揃え */
    text-align: left;
    white-space: normal !important;
}

.listrightbloc h3.raku2_list_product_name a {
    /* 改行と省略の挙動 */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;   /* 3行を超えたら「...」を表示 */
    overflow: hidden;
    overflow-wrap: anywhere;
    word-break: normal;      /* 英単語の不自然な分割を防ぐ */
    
    /* フォント・文字詰め設定 */
    font-variant-numeric: tabular-nums;
    font-feature-settings: "palt"; /* プロポーショナルメトリクス有効化 */
    letter-spacing: 0.02em;
    text-decoration: none;   /* リンクの下線を消す場合（お好みで） */
    color: inherit;          /* 親要素の色を継承 */
}

/* 通常　の文字を小さく */
.price_label{
font-size:0.8em;
}

/* 税抜き非表示 */
.sale_price .normal{
display:none;
}


.main--corporate{
max-width:800px;
}

.c-table-dl tr th{
  width: 200px;
}
.c-table-dl tr td {
  width: 600px;
}

/* 商品ステータス色設定 NEW*/
.image_status_new .status_icon_span{
background-color:#b22222;
}

/* 商品ステータス色設定 　おすすめ*/
.image_status_few .status_icon_span{
background-color:#008000;
}

/* 商品ステータス色設定 　限定商品*/
.image_status_sale .status_icon_span{
background-color:#ff8c00;
}

/* 商品ステータス色設定 　完了商品*/
.image_status_recommended .status_icon_span{
background-color:#000;
}

/* 商品ステータス色設定 　完了商品*/
.image_status_recommended .status_icon_span{
background-color:#000;
}

.raku2_image_status_9 .status_icon_span{
background-color:#909;
}

/* 商品ステータス色設定 　元箱出荷*/
.raku2_image_status_10 .status_icon_span{
background-color:#990;
}

/* 商品ステータス色設定 　取寄品*/
.raku2_image_status_11 .status_icon_span{
background-color:#f9985d;
}



/* サイト横幅 */
#container{
max-width: 1430px;
}


/* 商品詳細ページ */
.plg_Raku2_LC_Page_Products_Detail #container {
width: 100%;
max-width: 1500px;
min-width: 980px;
}
/* 商品詳細ページ 右カラム*/
#main_column.colnum2 #detailrightbloc{
width: 56%;
}

/* ============================================================
   1. 商品一覧ページ：商品名の3行固定
   ============================================================ */
/* 枠：3行分の高さを確保し、下の要素と揃える */
.listrightbloc h3.raku2_list_product_name {
    display: block !important;
    height: 4.2em !important;      /* 1.4em × 3行 */
    min-height: 4.2em !important;
    line-height: 1.4em !important;
    margin-bottom: 10px !important;
    overflow: hidden !important;
    white-space: normal !important;
    text-align: left;
}

/* 文字：3行で省略（...）し、文字詰めを適用 */
.listrightbloc h3.raku2_list_product_name a {
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    overflow-wrap: anywhere;
    word-break: normal;
    /* 文字詰め */
    font-variant-numeric: tabular-nums;
    font-feature-settings: "palt";
    letter-spacing: 0.02em;
    text-decoration: none;
    color: inherit;
}

/* ============================================================
   2. 商品詳細ページ：価格表示の強調と横並び
   ============================================================ */
/* 価格エリア：要素を横一列に並べ、下辺を揃える */
#detailarea .sale_price dd {
    display: flex !important;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px; /* 要素間の基本の隙間 */
}

/* 【主役】税抜価格の数字（大きく強調） */
#detailarea .sale_price dd span.price02_notax_default,
#detailarea .sale_price dd .price02_notax_default {
    font-size: 32px !important; 
    font-weight: bold !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
}

/* 【脇役】税込価格とラベル（小さく控えめ） */
#detailarea .sale_price dd span.price02_inctax_default,
#detailarea .sale_price dd .price02_inctax_default,
#detailarea .sale_price dd .tax_label,
#detailarea .sale_price dd .price_unit {
    font-size: 14px !important;
    font-weight: normal !important;
    color: #666 !important;
    white-space: nowrap !important;
}

#detailarea .sale_price .raku2_price02_zero_hide .price02_inctax_dynamic{
font-size:15px; !important;
}


/* 数字と「円」の間隔を詰める微調整 */
#detailarea .sale_price dd .price02_inctax_default,
#detailarea .sale_price dd .price02_notax_default {
    margin-right: -6px !important; /* 数字の右側の隙間を削る */
}

#detailarea .sale_price dd .price_unit {
    margin-left: 0 !important;    /* 単位の左側の隙間をゼロに */
}


#detailarea h2{
font-size:200%;
font-feature-settings: "palt"; /* プロポーショナルメトリクス有効化 */
visibility: hidden;
overflow: hidden;
display: block;
line-height: 1.3;      /* 2行になった時の行間 */
word-break: break-all; /* 枠の端で適切に改行 */
}



.slick-slide img {
width: 980px;
}


#main_column.colnum2{
float: none!important;
width: auto;
padding-left: 100px;
padding-right: 10px;
}

.LC_Page_Index #main_column.colnum2, .plg_Raku2_LC_Page_Products_List #main_column.colnum2, .plg_Raku2_LC_Page_Products_CategoryList, .plg_Raku2_LC_Page_Products_ProductsList #main_column.colnum2, .plg_Raku2_LC_Page_Products_Detail #main_column.colnum2{
margin-left: 100px;
}

#main_column.colnum1 #mypagecolumn,
.custom_page #faqarea{
width: 100%;
}



  /* 商品画像2枚目以降*/
#detailarea .sub_photo{
left: 20px;
max-width:180px;
margin:10px 20px 10px 0px;
}
#main_column.colnum2 div#detailleftbloc{
display: flex;
flex-wrap: wrap;
}




/* ============================================================
   4. 商品詳細ページ：メイン画像の高さを揃える
   ============================================================ */
/* メイン画像を包む枠のサイズを固定（PC・タブレット用） */
#detailarea .photo {
    width: 100% !important;     /* 横幅を親要素（左カラム）いっぱいに */
    aspect-ratio: 1 / 1 !important; /* ★横幅と同じ高さを自動確保（正方形） */
    display: flex !important;
    align-items: center;        /* 上下中央 */
    justify-content: center;    /* 左右中央 */
    overflow: hidden;
    background-color: #fff;     /* 余白の色 */
    border: 1px solid #eee;     /* 枠線（不要なら削除） */
    left: 20px;
    max-width: 420px;

}

/* メイン画像自体の収まり方を設定 */
#detailarea .photo img{
    width: 100% !important;
    height: 100% !important;
    width: auto !important;   /* 自動で比率を維持 */
    height: auto !important;  /* 自動で比率を維持 */
    object-fit: contain;        /* 画像全体を枠内に収める（歪ませない） */
    padding: 10px;              /* 枠ギリギリに画像が来るのを防ぐ余白 */
    box-sizing: border-box;
    border:none;
    max-height: 420px;
}




#ins_display_caption_pc,#ins_catalog_caption_pc
{
  /* \nで改行し、空白を詰める*/
  white-space: pre-line;  
}


/*---------------------------------------
headerエリア
---------------------------------------*/

.raku2_theme01 #header_wrap{
	border-bottom: 1px solid #ccc;
	margin-bottom: 30px;
}
.raku2_theme01 #header_wrap #site_description{
	max-width: 1500px;
	margin: 8px auto;
}
.raku2_theme01 #header_wrap #header {
	max-width: 1500px;
	display: flex;
	align-items: end;
	justify-content: space-around;
	margin-bottom: 20px;
}
.raku2_theme01 .-flex0{
	flex-grow: 0;
}
.raku2_theme01 .-flex1{
	flex-grow: 1;
}
.raku2_theme01 .-flex2{
	flex-grow: 2;
}
.raku2_theme01 .-flex3{
	flex-grow: 3;
}
.raku2_theme01 .-box{
	width: 100%;
}
.raku2_theme01 .logo_area {
	margin: 0;
	width: auto;
	text-align: left;
}
.raku2_theme01 .logo_area img {
	max-height: 4em;
}



/* ------------ヘッダー商品カテゴリ------------ */

#gloval_navi .shoppingt_btn .header_cat_btn .header_catwrap{
padding-top:0px;
}

#gloval_navi .header_catwrap ul.tree1-outer.column_cnt3{
width: 1090px;
padding-left: 20px;
padding-bottom: 30px;
padding-top: 10px;
}

[class^="level1-"] {
  margin-bottom: 45px;
  font-size: 15px;
  letter-spacing: 1px;
}

#gloval_navi ul li div{
padding: 0px 5px 0px 5px;
margin-right:5px;
}

#gloval_navi ul.tree1-outer li a{
font-size:12px;
padding:1px 1px 15px 1px;
font-variant-numeric: tabular-nums;
font-feature-settings: "palt";
letter-spacing: 0.02em;
transition: background 0.3s ease;
}

#gloval_navi .header_catwrap ul.tree2-outer li a{
padding: 4px 15px;
}


#gloval_navi .header_catwrap ul.tree3-outer{
display:none;
}

#gloval_navi .header_catwrap ul.tree3-outer li a{
padding: 2px 13px;
}

.column_cnt3 [class^="column-separate"], .column_cnt3 [class*="column-separate"]{
width:240px;
border:none;
}

.tree2-outer li{
border-left: 1px solid #ddd;
}

[class^="box-separate"], [class*="box-separate"]{
margin:1%;
border:none;
}

[class^="level2-"], [class*=" level2-"]{
border-top:none;
}

/* 1. 初期状態：読み込み時のチラつき防止 ＋ 消える時の余韻 */
.header_cat_btn .header_catwrap {
    display: block !important; /* アニメーションを有効にするため常にblock */
    position: absolute;
    z-index: 99999 !important; /* スライダーのボタン等より確実に上に */
    
    /* 非表示状態 */
    visibility: hidden;
    opacity: 0;

    /* 【余韻の設定】0.3秒かけて、0.5秒待ってから物理的に消える(hiddenになる) */
    transition: opacity 0.3s ease, visibility 0s linear 0.5s;
}

/* 2. 表示状態：【ホバー時】または【クリック固定時】 */
.header_cat_btn:hover .header_catwrap,
.header_cat_btn .header_catwrap.is-locked {
    visibility: visible !important;
    opacity: 1 !important;
    
    /* 表示される時は「待ち時間なし」で即座に出す */
    transition: opacity 0.3s ease, visibility 0s linear 0s !important;
}

/* 3. マウスを離した瞬間の「チラつき」を防ぐための補正 */
.header_cat_btn .header_catwrap.is-locked {
    /* 固定中はtransitionをリセットして、マウスアウトの影響を受けないようにする */
    transition: none !important;
}

/* 2. もし解決しない場合は、突き抜けてくる要素の重なり順を逆に下げる */
.bx-wrapper .bx-controls-direction a {
    z-index: 10 !important; /* 標準より低い数値に固定 */
}




/* ------------検索ボックス------------ */

.raku2_theme01 #header_wrap #header .block_outer #search_area{
	padding: 0 0 3px 0;
}
.raku2_theme01 #header_wrap #header .block_outer #search_area form#search_form{
	overflow: hidden;
	display: flex;
	align-items: center;
	border-radius: 20px;
	padding: 0 0 0 4%;
	background-color: #eeeeee;
}
.raku2_theme01 #header_wrap #header .block_outer #search_area form#search_form select{
	width: 100px;
	border: none;
	background-color: #eeeeee;
	outline: 0;
}
.raku2_theme01 #header_wrap #header .block_outer #search_area form#search_form input[type='text'],
.raku2_theme01 #header_wrap #header .block_outer #search_area form#search_form input[type='password'] {
	width: 95%;
	border: none;
	padding: 2px;
	background-color: #eeeeee;
	outline: 0;
}
.raku2_theme01 #header_wrap #header .block_outer #search_area .submit_btn{
	background-image:url('../img/common/submit-img.png');
	background-repeat:no-repeat;
	background-color: #aaaaaa;
	background-size: 28%;
	background-position: center;
	border:none;
	width:80px;
	height:38px;
	cursor: pointer;
	transition:background 1s,color 1s;
}
.raku2_theme01 #header_wrap #header .block_outer #search_area .submit_btn:hover {
	background-color: #ccc;
}

/* -------------カートエリア------------- */

	.raku2_theme01 #header_wrap #header .block_outer #header_login_area #header_userarea{
	display: flex;
	align-items: end;
	justify-content: right;
}
.raku2_theme01 #header_wrap #header .block_outer #header_login_area #header_userarea .userarea_name{
	text-align: right;
	margin: 0 10px 0 20px;
	font-size: 90%;	
}
.raku2_theme01 #header_wrap #header .block_outer #header_login_area #header_userarea .userarea_cart_btn,
.raku2_theme01 #header_wrap #header .block_outer #header_login_area #header_userarea .userarea_new_btn,
.raku2_theme01 #header_wrap #header .block_outer #header_login_area #header_userarea .userarea_mypage_btn,
.raku2_theme01 #header_wrap #header .block_outer #header_login_area #header_userarea .userarea_login_btn{
	position: relative;
	font-size: 78%;
	margin-left: 2px;
	width: 62px;
}
.raku2_theme01 #header_wrap #header .block_outer #header_login_area #header_userarea .userarea_cart_btn img{
	position: absolute;
	left: 20px;
	top: -19px;
	width: 27px;
}
.raku2_theme01 #header_wrap #header .block_outer #header_login_area #header_userarea .userarea_cart_btn .quantity{
	position: absolute;
	top: -36px;
	left: 10px;
	background: var(--accent-color);
	border-radius: 50%;
	width: 20px;
	height: 20px;
	text-align: center!important;
	line-height: 20px;
	z-index: 9;
}
.raku2_theme01 #header_wrap #header .block_outer #header_login_area #header_userarea .userarea_new_btn img{
	position: absolute;
	left: 17px;
	top: -25px;
	width: 30px;
}
.raku2_theme01 #header_wrap #header .block_outer #header_login_area #header_userarea .userarea_mypage_btn img{
	position: absolute;
    left: 18px;
    top: -25px;
    width: 25px;
}
.raku2_theme01 #header_wrap #header .block_outer #header_login_area #header_userarea .userarea_login_btn img{
	position: absolute;
	left: 14px;
	top: -23px;
	width: 28px;
}

/* -------------特典------------- */

.raku2_theme01 #header_wrap #header_benefits a{
	background-color: #EFE56E;
	margin: 0 auto;
	border-radius: 8px;
	color: #1D1D1D;
	width: 98%;
	max-width: 1500px;
}
.raku2_theme01 #header_wrap #header_benefits a h2{
	background-color: var(--accent-color);
	text-align: right;
	border-top-left-radius: 8px;
	border-bottom-left-radius: 8px;
	padding: 8px 2vw;
	margin-right: 2vw;
}
.raku2_theme01 #header_wrap #header_benefits a,
.raku2_theme01 #header_wrap #header_benefits a ul li{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	flex-direction: row;
}
.raku2_theme01 #header_wrap #header_benefits a ul{
	display: flex;
	align-items: center;
}
.raku2_theme01 #header_wrap #header_benefits a ul li{
	font-weight: 600;
	font-size: 0.8rem;
	margin: 5px 0;
}
.raku2_theme01 #header_wrap #header_benefits a ul li span{
	margin: 0 0.5vw;
	background-color: #fff;
	border-radius: 5px;
	padding: 8px 4px;
	width: 30px;
	text-align: center;
}
.raku2_theme01 #header_wrap #header_benefits a ul li span img{
	max-width: 22px;
}

/* -------------headerナビ------------- */

.raku2_theme01 #header_wrap #gloval_navi{
	border-bottom: none;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1500px;
	margin: 18px auto;
	font-size: 90%;
	width: 98%;
}
.raku2_theme01 #header_wrap #gloval_navi > ul{
	width: auto;
	margin: 0;
	display: flex;
	justify-content: space-between;
}
.raku2_theme01 #header_wrap #gloval_navi .shoppingt_btn > li > a,
.raku2_theme01 #footer_wrap #footer #info_area .shoppingt_btn a{
	background-color: var(--main-color);
	border-radius: 30px;
	color: #fff!important;
	padding: 12px 1.5vw;
	margin: 0 5px;
	min-width: 7vw;
	display: block
}
.raku2_theme01 #header_wrap #gloval_navi .shoppingt_btn li.header_cat_btn a:after{
	color: #fff;
}
.raku2_theme01 #header_wrap #gloval_navi .use_btn > li > a{
	position: relative;
	padding: 0 0 0 1em;
	margin: 0 0 0 1.5vw;
}
.raku2_theme01 #header_wrap #gloval_navi .use_btn > li > a::before {
	position: absolute;
	top: 50%;
	left: 0px;
	transform: translateY(-50%);
	width: 0px;
	height: 0px;
	border: 0.3em solid transparent;
	border-left: 0.4em solid var(--main-color);
	content: "";
}
#gloval_navi .header_catwrap ul.tree1-outer{
    top: 0px;
    left: 42%;
}

/*---------------------------------------
mainエリア
---------------------------------------*/

.LC_Page_Index #container{
	max-width: 1500px;
	margin: 0 auto;
}
.LC_Page_Index div#main_column > div{
	margin-top: 15px;
}
.bx-wrapper img{
	border-radius: 8px;
}

#leftcolumn .raku2_theme01 .block_outer #category_area h2,
#main_column .raku2_theme01 #main_category_area h2,
#main_column .raku2_theme01 .recommend_list h2,
#main_column .history_list h2,
#main_column .raku2_theme01 .block_outer #news_area h2,
.raku2_theme01 #footer_wrap #footer #footer_category_area h2,
.raku2_theme01 #footer_wrap #footer #use_area h2,
.raku2_theme01 #footer_wrap #footer #info_area h2,
.raku2_theme01 .block_outer #exclusive_benefits_area h2,
.raku2_theme01 .block_outer #choose_area h2,
.Category h2,
.Operational h2{
	background-color: transparent;
	color: var(--main-color);
	font-size: 140%;
	font-weight: 600;
	text-align: left;
	padding: 10px;
	margin: 0;
	border: none;
}

#main_column .raku2_theme01 .block_outer #news_area h2,
#main_column .history_list h2{
  padding: 10px;
  margin-bottom: 30px;
  border-bottom: 1px solid #CCC;
  font-size: 130%;
}


.raku2_theme01 #footer_wrap #footer #footer_category_area h2,
.raku2_theme01 #footer_wrap #footer #info_area h2,
.raku2_theme01 #footer_wrap #footer #use_area h2{
	font-size: 115%;
}

#leftcolumn .raku2_theme01 .block_outer #category_area h2 span,
#main_column .raku2_theme01 #main_category_area h2 span,
#main_column .raku2_theme01 .recommend_list h2 span,
#main_column .history_list h2 span,
#main_column .raku2_theme01 .block_outer #news_area h2 span,
.raku2_theme01 #footer_wrap #footer #footer_category_area h2 span,
.raku2_theme01 .block_outer #exclusive_benefits_area p,
.raku2_theme01 .block_outer #choose_area p,
.raku2_theme01 .block_outer #login_area h2,
#raku2_ts_area h2 span,
.Operational h2 span {
	font-size: 70%;
	color: #aaa;
	margin: 0 15px;
	font-weight: 600;
}

#raku2_ts_area h2{
border-bottom: 1px solid #CCC;
margin-bottom:1em;
}


#main_column .raku2_theme01 .recommend_list{
	margin-bottom: 0;
}
#main_column .raku2_theme01 .recommend_list .block_body{
	padding: 0 0 10px;
}
#main_column .raku2_theme01 .block_outer #news_area dl.newslist{
	display: flex;
	align-items: center;
}

#news_area dl.newslist a{
	font-size: 0.8rem;
}
#main_column .raku2_theme01 .block_outer #news_area .news_contents{
	overflow-y: hidden;
}

#main_column .raku2_theme01 #main_category_area ul{
	display: flex;
	align-items: flex-start;
	margin-bottom: 30px;
	text-align: center;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
}
#main_column .raku2_theme01 #main_category_area ul li{
	margin-bottom: 30px;
}
#main_column .raku2_theme01 #main_category_area ul img{
	max-width: 185px;
	margin: 10px;
}
#main_slide_image .bxslider li img{
	width: 980px;
}

/*---------------------------------------
leftエリア
---------------------------------------*/
#leftcolumn {
    margin-left: 1%;
    margin-right: 30px;
    width: 300px;     
}

/* サイドバーの外枠が中身を切り取らないようにする（共通設定） */
#raku2_ts_area, 
.raku2_ts,
.side_column .block_body,
.block_outer {
    height: auto !important;
    overflow: visible !important;
    border: none;
}

/* -------------カテゴリ------------- */
/* 1. 基本構造・外枠（共通リセット） */
.raku2_ts, 
.raku2_ts ul, 
.raku2_ts li {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    text-indent: 0 !important;
}

/* 第一階層：常に表示 */
.raku2_ts .raku2_ts_level_0 {
    width: 290px;
    background-color: #fafbfd; /* 未展開時の基本グレー */
    font-size: 13px;
    display: block !important;
}

.raku2_ts li {
    position: relative;
    word-wrap: break-word;
}

/* 2. カテゴリーリンク（デザイン・字詰め・ボーダーレス） */
.raku2_ts .category-link {
    display: block !important;
    text-decoration: none !important;
    color: #444 !important;
    border: none !important;
    box-sizing: border-box;
    /* 字詰め設定 */
    font-variant-numeric: tabular-nums;
    font-feature-settings: "palt";
    letter-spacing: 0.02em;
    transition: background 0.3s ease;
}

.raku2_ts .category-link:hover {
    background-color: #efefef;
    color: #000 !important;
}

.raku2_ts .category-link.active {
    background-color: #eaf4ff !important;
    color: #00558b !important;
    font-weight: bold !important;
    border-left: 6px solid #0074bf !important;
    padding-left: 10px !important;
}

/* 3. 階層別のインデントと配色 */
.raku2_ts_level_0 > li > .category-link { padding: 14px 45px 14px 15px !important; font-weight: bold; }
.raku2_ts_level_1 .category-link { padding: 9px 45px 9px 30px !important; background-color: #f2f2f2; }
.raku2_ts_level_2 .category-link { padding: 7px 45px 7px 45px !important; background-color: #ededed; font-size: 0.92em; }
.raku2_ts_level_3 .category-link { padding: 5px 45px 5px 60px !important; background-color: #e8e8e8; font-size: 0.88em; }

/* 子階層の開閉アニメーション */
.raku2_ts ul ul {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height 0.5s ease-in-out, opacity 0.4s ease;
}

/* 展開状態：JavaScriptで.visibleがついた時 */
.raku2_ts ul ul.visible {
    max-height: 5000px !important; /* 十分な高さに統一 */
    opacity: 1;
    background-color: #f4f7f9 !important;
    padding-bottom: 5px !important;
    overflow: visible !important;
}

.raku2_ts ul ul.visible .category-link:not(.active) {
    background-color: transparent !important;
}

/* 4. トグルボタン（垂直中央固定・矢印デザイン） */
.raku2_ts_toggle {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    width: 45px !important;
    z-index: 10;
    cursor: pointer !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-size: 0 !important;
    color: transparent !important;
}

/* 階層ごとのトグル高さ固定（行の中央に合わせる） */
.raku2_ts_level_0 > li > .raku2_ts_toggle { height: 44px !important; }
.raku2_ts_level_1 .raku2_ts_toggle { height: 35px !important; }
.raku2_ts_level_2 .raku2_ts_toggle { height: 32px !important; }
.raku2_ts_level_3 .raku2_ts_toggle { height: 30px !important; }

.raku2_ts_toggle::before {
    content: "" !important;
    width: 7px;
    height: 7px;
    border-right: 2px solid #847563;
    border-bottom: 2px solid #847563;
    transform: rotate(45deg) translateY(-2px);
    transition: transform 0.3s ease;
    display: block;
}

.raku2_ts_toggle:has(+ ul.visible)::before {
    transform: rotate(-135deg) translateY(1px) !important;
}

.raku2_ts_toggle::after { 
    display: none !important; 
    content: none !important; 
}

#calender_area table {
  width: 280px;
}

/*---------------------------------------
パンくずリスト
---------------------------------------*/

.custom-breadcrumb {
    margin: 10px 0;
    padding: 0; 
    background: transparent;
}

.bc-list {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 12px;
    color: #777;
}

.bc-item {
    display: flex;
    align-items: center;
    line-height: 1.2;
}

/* 区切り文字（ / ） */
.bc-item:not(:last-child)::after {
    content: "/"; 
    margin: 0 8px;
    color: #aaa;
    font-weight: normal;
}

.bc-item a {
    color: #678; /* 落ち着いたブルーグレー */
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: all 0.2s;
}

.bc-item a:hover {
    color: #9ab; /* ホバー時は少し明るく */
    border-bottom: 1px solid #ccc;
    text-decoration: none;
}

/* 現在地（最後の項目） */
.bc-item:last-child {
    font-weight: normal;
    color: #666; /* 現在地を少しだけ濃く */
}

/*---------------------------------------
メインエリアサブカテゴリーブロック
---------------------------------------*/


.sub-category-block {
    margin: 20px 0;
    padding: 15px;
    background: #f4f7f9;
    border-radius: 8px;
}
.sub-category-block h3 {
    font-size: 14px;
    color: #00558b;
    margin-bottom: 10px;
    font-weight: bold;
}
.sub-category-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 0;
    list-style: none;
}
.sub-category-list li a {
    display: block;
    padding: 8px 20px;
    background: #fff;
    border: 1px solid #d1e8ff;
    color: #444;
    text-decoration: none;
    border-radius: 20px;
    font-size: 13px;
    transition: all 0.2s ease;
}
.sub-category-list li a:hover {
    background: #eaf4ff;
    border-color: #0074bf;
    color: #00558b;
    transform: translateY(-2px);
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

/*---------------------------------------
fooderエリア
---------------------------------------*/

.raku2_theme01 #footer_wrap  {
	border-top: none;
	background-color: #e4dfda;
	padding: 0;
}
.raku2_theme01 #footer_wrap #footer {
	max-width: 1500px;
	width: 98%;
	display: flex;
	align-items: flex-start;
	margin: 40px auto;
}

/* -------------バナーエリア------------- */

.raku2_theme01 #footer_wrap #footer_banner{
	padding-top: 30px;
	padding-bottom: 30px;
	background-color: #fff;
}
.raku2_theme01 #footer_wrap #footer_banner #banner_area{
	max-width: 1500px;
	margin: 0 auto;
}
.raku2_theme01 #footer_wrap #footer_banner #banner_area div{
	margin: 10px;
}
.raku2_theme01 #footer_wrap #footer_banner #banner_area div img{
	width: 100%;
}
.raku2_theme01 #footer_wrap #copyright #company_area .logo_area{
	margin: 0 30px 0 0;
}

/* -------------fooderナビ------------- */

.raku2_theme01 #footer_wrap #footer #category_area,
.raku2_theme01 #footer_wrap #footer #use_area{
	padding: 0 4vw 0 0;
}
.raku2_theme01 #footer_wrap #footer #info_area{
	margin-left: auto;
	text-align: center;
	background-color: #fff;
	border-radius: 30px;
	padding: 18px;
}
.raku2_theme01 #footer_wrap #footer #info_area h2{
	text-align: center;
}
.raku2_theme01 #footer_wrap #footer #info_area .tel{
	font-size: 210%;
	font-weight: 600;
	margin-top: -12px;
}
.raku2_theme01 #footer_wrap #footer #info_area p{
	font-size: 90%;
	margin-bottom: 20px;
}

.raku2_theme01 #footer_wrap #footer ul{
	display: flex;
	flex-direction: column;
	background: none;
	text-align: left;
}
.raku2_theme01 #footer_wrap #footer ul li,
.raku2_theme01 #footer_wrap #footer ul li:first-child{
	border: none;
	margin: 0;
	padding: 0;
}
.raku2_theme01 #footer_wrap #footer ul li a{
	color:#FFF;
	display: block;
	padding: 6px 10px;
	text-decoration: none;
}

.raku2_theme01 #footer_wrap #copyright{
	padding-top: 30px;
	padding-bottom: 30px;
}

.raku2_theme01 #footer_wrap #copyright #company_area,
.raku2_theme01 #footer_wrap #footer_banner #banner_area{
	display: flex;
	align-items: flex-start;
	margin-bottom: 30px;
	justify-content: center;
	text-align: left;
}

.raku2_theme01 #footer_wrap #footer #footer_category_area h2, .raku2_theme01 #footer_wrap #footer #use_area h2{
	color:#FFF;
}

.raku2_theme01 #footer_wrap{
background-color: #4682b4;
}

/*---------------------------------------
加盟店ページ
---------------------------------------*/

#main_column #undercolumn #undercolumn_entry h2.title{
    font-size: 180%;
    border-bottom: 3px solid #857663;
    margin: 30px auto 60px;
    width: 18%;
}
#main_column #undercolumn #undercolumn_entry .progressbar{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-evenly;
    align-items: flex-start;
    margin: 30px auto;
}
#main_column #undercolumn #undercolumn_entry .progressbar li{
    position: relative;
}
#main_column #undercolumn #undercolumn_entry .progressbar li:after{
    position: absolute;
    z-index: -1;
    top: 50px;
    left: 0;
    width: 360px;
    height: 1px;
    content: '';
    background-color: #857663;
}
#main_column #undercolumn #undercolumn_entry .progressbar li.active{
    background-color: #847563!important;
    color: #ffffff!important;
}
#main_column #undercolumn #undercolumn_entry .progressbar li:last-child:after {
    content: none;
}
#main_column #undercolumn #undercolumn_entry .progressbar li.item{
    background-color: #F0EBE6;
    text-align: center;
    color: #847563;
    font-weight: 600;
    padding: 15px 20px;
    border-radius: 8px;
    width: 60px;
}
#main_column #undercolumn #undercolumn_entry .progressbar li.item span{
    display: block;
}
#main_column #undercolumn #undercolumn_entry table,
#main_column #undercolumn #undercolumn_entry table#entry_input th,
#main_column #undercolumn #undercolumn_entry table#entry_input td{
    border: none;
    background-color: transparent;
}
#main_column #undercolumn #undercolumn_entry table#entry_input input[type='text'],
#main_column #undercolumn #undercolumn_entry table#entry_input input[type='password'],
#main_column #undercolumn #undercolumn_entry table#entry_input select{
    height: 40px;
    border: none;
    background-color: #eeeeee;
}
#main_column #undercolumn #undercolumn_entry table#entry_input td .box300{
    width: 90%;
}
#main_column #undercolumn #undercolumn_entry table#entry_input td .box30,
#main_column #undercolumn #undercolumn_entry table#entry_input td .box150{
    width: 50%;
}
#main_column #undercolumn #undercolumn_entry table#entry_input td .box10,
#main_column #undercolumn #undercolumn_entry table#entry_input td .box120{
    width: 25%;
}
#main_column #undercolumn #raku2_kiyaku_text p{
    text-align: center;
}

/*オーダーシート文字フォント*/
td.raku2_list_product_name p {
  font-size: 1.5em;
}

/* ==========================================================================
   MYページ：不要なメニュー項目を（アイコン・文字・枠ごと）完全非表示
   ========================================================================== */

/* 1. お届け先の追加・変更 を丸ごと非表示 (/mypage/delivery.php) */
#account_info a[href="/mypage/delivery.php"],
#account_info a[href="/mypage/delivery.php"]::before,
#account_info li:has(a[href="/mypage/delivery.php"]) {
    display: none !important;
}

/* 2. クレジットカード情報の変更 を丸ごと非表示 (/mypage/change_card.php) */
#account_info a[href="/mypage/change_card.php"],
#account_info a[href="/mypage/change_card.php"]::before,
#account_info li:has(a[href="/mypage/change_card.php"]) {
    display: none !important;
}

/* 3. スタッフの登録 を丸ごと非表示 (/mypage/member_staff.php) */
#account_info a[href="/mypage/member_staff.php"],
#account_info a[href="/mypage/member_staff.php"]::before,
#account_info li:has(a[href="/mypage/member_staff.php"]) {
    display: none !important;
}

/* 4. 定期購入お申し込み一覧 を丸ごと非表示 (/mypage/periodical_order.php) */
#account_info a[href="/mypage/periodical_order.php"],
#account_info a[href="/mypage/periodical_order.php"]::before,
#account_info li:has(a[href="/mypage/periodical_order.php"]) {
    display: none !important;
}