@charset "UTF-8";
/*
Theme Name: Emanon Premium child
Theme URI: https://wp-emanon.jp/emanon-premium/
Author: 株式会社イノ・コード
Author URI: https://innocord.co.jp/
Description: Emanon Premiumnの子テーマです。
Template: emanon-premium
Version: 1.0.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags:one-column, two-columns, three-columns, left-sidebar, right-sidebar, theme-options
*/

h1, h2, h3{
		font-family: 'Shippori Mincho', serif;
}

/* 投稿・固定ページタイトル・見出しの明示的フォント指定 */
.entry-title, .article-title, .product-intro-title {
		font-family: 'Shippori Mincho', serif !important;
}

/* 投稿コンテンツ内の見出し */
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 {
		font-family: 'Shippori Mincho', serif !important;
}

/* Emanonテーマ固有の記事本文内見出し */
.article-body h1, .article-body h2, .article-body h3, .article-body h4, .article-body h5, .article-body h6 {
		font-family: 'Shippori Mincho', serif !important;
}

/* WordPressブロックエディターの見出し */
.wp-block-heading, .wp-block-heading h1, .wp-block-heading h2, .wp-block-heading h3, .wp-block-heading h4, .wp-block-heading h5, .wp-block-heading h6 {
		font-family: 'Shippori Mincho', serif !important;
}

/* 全ての見出し要素に強制適用 */
h1, h2, h3, h4, h5, h6 {
		font-family: 'Shippori Mincho', serif !important;
}
p{
  line-height: 2;
}
.epb-section-broken__content h1,
.epb-section-broken__content p{
	  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);
}

.c-btn__main,
.epb-advanced-button{
  padding: 1em 30px; 
  margin: 1em auto;   
  display: inline-block;
  text-align: center;
}

.c-section-widget__title span{
  position: relative;
  padding-left: 16px;
  font-weight: bold;
}

.c-section-widget__title span::before {
  content: '';
  position: absolute;
  left: 0;
  top: 4px;
  width: 4px;
  height: 80%;
  background-color: #c0392b; /* 落ち着いた赤 */
  border-radius: 2px;
}

.custom-heading{
  position: relative;
  padding-left: 16px;
  font-weight: bold;
}
.custom-heading::before {
  content: '';
  position: absolute;
  left: 0;
  top: 4px;
  width: 4px;
  height: 80%;
  background-color: #c0392b; /* 落ち着いた赤 */
  border-radius: 2px;
}

.article-title {
  position: relative;
  /*padding-left: 20px;
  font-family: 'Shippori Mincho', serif;
  font-size: 32px;
  font-weight: 600;
  color: #333;
}

.article-title::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  /* background-color: #a71417; */
  border-radius: 2px;
}

.page h3 {
  font-size: 22px !important;
}

/* ----- */

.page h2 {
  position: relative;
  font-family: 'Shippori Mincho', serif !important;
  font-size: 24px;
  font-weight: 600;
  color: #333;
  display: inline-block;
  margin-top: 24px;
  margin-bottom: 10px;
  padding-bottom: 20px;
}

.page h2::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  height: 3px;
  width: 100%;
  background-color: #a71417;
  border-radius: 1px;
}

/* 記事一覧・カテゴリページではh2のアンダーラインを削除 */
.product-introduction-page .articles-category-tabs h2::after,
.product-introduction-page .articles-list h2::after,
.product-introduction-page .category-page h2::after {
  display: none;
}

/* page.phpのコンテンツ幅制御 */
.page-content {
    width:100%;
    max-width: 1200px;
    margin: 0 auto 60px;
    padding: 20px 20px 0 20px;
}

/* 商品紹介子ページ（page-child-item.php）のコンテンツ幅制御 */
body.page-child.parent-pageid-36 .page-content {
    max-width: 770px !important;
    width: 100% !important;
}

/* product-introduction-pageのパディング統一 */
.product-introduction-page {
    padding: 20px 20px 0 20px;
}

/* 番号付きリスト（カスタムパターン用） */
.numbered-list {
    list-style: none;
    padding: 0;
    margin: 2rem 0;
    counter-reset: list-counter;
}

.numbered-list li {
    position: relative;
    padding: 0.6rem 0 0.6rem 3rem;
    counter-increment: list-counter;
    font-size: 1rem;
    line-height: 1.6;
    color: #000;
}

.numbered-list li::before {
    content: counter(list-counter);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1.8rem;
    height: 1.8rem;
    background-color: #e5e5e5;
    color: #000;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 0.9rem;
}

/* レスポンシブ対応 */
@media screen and (max-width: 767px) {
    .numbered-list li {
        padding: 0.5rem 0 0.5rem 2.5rem;
        font-size: 0.9rem;
    }
    
    .numbered-list li::before {
        width: 1.5rem;
        height: 1.5rem;
        font-size: 0.8rem;
    }
}

/* 投稿記事ページ用の白い角丸シャドー付き背景 */
.single-post-wrapper {
    width: 770px;
    margin: 0 auto;
    padding: 20px;
}


.single-post-wrapper article {
    background: white;
    border-radius: 10px;
    padding: 30px;
    margin-bottom: 20px;
}

/* 投稿ページのコンテンツ幅を770pxに統一（フッター内要素は除外） */
@media screen and (min-width: 768px) {
    body.single .l-content:not(.l-footer):not(.l-footer *),
    body.single .l-main:not(.l-footer):not(.l-footer *),
    body.single .content-area:not(.l-footer):not(.l-footer *),
    body.single .u-row.one-col:not(.l-footer):not(.l-footer *),
    body.single .one-col .l-content__main:not(.l-footer):not(.l-footer *) {
        max-width: 770px !important;
        width: 100% !important;
        margin: 0 auto !important;
        padding: 0 20px !important;
    }
}

/* お問い合わせページのコンテンツ幅を770pxに統一 */
.page-id-47 .l-content,
.page-id-47 .l-main,
.page-id-47 .content-area,
.page-id-47 .u-row.one-col,
.page-id-47 .one-col .l-content__main,
.page-id-47 .page-content {
    max-width: 770px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

/* u-rowの幅制御（ヘッダー・フッター除く） */
.single .l-content .u-row:not(.l-footer *),
.single .l-main .u-row:not(.l-footer *),
.single .content-area .u-row:not(.l-footer *),
.single .one-col:not(.l-footer):not(.l-footer *),
.page-id-47 .l-content .u-row:not(.l-footer *),
.page-id-47 .l-main .u-row:not(.l-footer *),
.page-id-47 .content-area .u-row:not(.l-footer *),
.page-id-47 .one-col:not(.l-footer):not(.l-footer *) {
    max-width: 770px !important;
    width: 100% !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

/* u-row one-colのpadding調整（フッター除く） */
.single .u-row.one-col:not(.l-footer):not(.l-footer *) {
    padding: 0 !important;
}

/* l-content__mainのpadding調整 */
.single .one-col .l-content__main {
    padding: 0 !important;
}

/* 投稿ページの記事コンテンツ */
.single article.entry,
.single .entry-content {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 auto !important;
}

/* 投稿ページのパンくず幅を770pxに合わせて調整 */
.single .breadcrumb-wrapper,
.single .breadcrumbs {
    max-width: 770px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

/* スマホ用の投稿記事ページ幅調整 */
@media screen and (max-width: 767px) {
    .single-post-wrapper {
        width: calc(100vw - 20px) !important;
        max-width: none !important;
        padding: 10px !important;
    }
    
    .single .l-content,
    .single .l-main,
    .single .content-area,
    .single .u-row.one-col,
    .single .one-col .l-content__main {
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
}

/* 投稿記事ページのカテゴリタグ色 */
.meta-category__item a {
    background-color: #003153 !important;
    color: #fff !important;
}

/* 記事一覧に戻るボタン・商品一覧に戻るボタン */
.back-to-articles {
    text-align: left;
    margin-top: 30px;
    padding: 20px 0;
}

.back-to-articles .epb-advanced-button {
    background-color: #003153 !important;
    color: #fff !important;
    border-color: #003153 !important;
    border-radius: 8px !important;
    padding: 1em 30px !important;
    margin: 1em 0 !important;
    display: inline-block !important;
    text-align: center !important;
    transition: all 0.3s ease !important;
    position: relative !important;
    width: 300px !important;
}

.back-to-articles .epb-advanced-button .epb-advanced-button__text {
    position: relative !important;
    display: block !important;
    text-align: center !important;
    padding-left: 30px !important;
    padding-right: 20px !important;
}

.back-to-articles .epb-advanced-button .epb-advanced-button__text::before {
    position: absolute !important;
    left: 10px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin-right: 0 !important;
    transition: all 0.3s ease !important;
}

.back-to-articles .epb-advanced-button:hover {
    background-color: #003153 !important;
    opacity: 0.8 !important;
    color: #fff !important;
    text-decoration: none !important;
}

.back-to-articles .epb-advanced-button:hover .epb-advanced-button__text::before {
    transform: translateY(-50%) translateX(-8px) !important;
}

/* page-contentとproduct-introduction-pageのパディング統一 */
@media screen and (max-width: 767px) {
    .page-content {
        padding: 10px 20px;
    }
    
    .single-post-wrapper {
        padding: 10px;
        width: 98%;
    }
    
    .single-post-wrapper article {
        padding: 20px;
        border-radius: 8px;
    }
}
.l-content__sm{
	width: 100% !important;
}

.top-contents{
padding-bottom: 30px;
background: #fff;
border-radius:10px;
}
/*　お知らせ */
.epb-info-list__title{
  font-size: 16px !important;
}

#posts_list_section-5 .l-content-widget{
padding-bottom: 30px;
background: #fff;
/* border-radius:10px; */
}
#posts_list_section-5 h2.c-section-widget__title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  height: 3px;
  width: 100%;
  background-color: #a71417;
  /*border-radius: 1px; */
  /* border-left:2px; */
}


/* 企業理念  ページに移動したからいらないかも
#block-18 .l-content-widget{
padding-bottom: 30px;
background: #fff;
margin-bottom: 50px;
padding: 0 20px;
}
*/
/*
.page #emp-custom-css-id-1 h2.c-section-widget__title{
	margin-top: 0 !important
}
.page #emp-custom-css-id-1 h2.c-section-widget__title::after{
background: none !important;
	
}
.content-box__body{ 
	padding-top: 0 !important;
}
*/
/*
.page #pickup_category_list_section-3 h2.article-title{
	font-size: 20px !important;
	margin: 0 !important;
	padding: 0 !important;
	font-family: "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
}
.page #pickup_category_list_section-3 h2.article-title::before,
.page #pickup_category_list_section-3 h2.article-title::after{
	background: none;
}
*/

/* オンラインストア */
.epb-advanced-button-wrapper.is-style-epb-position-icon-center .epb-advanced-button__text[class*=icon-]:before {
	margin-right: 1em;
}

/* スライダー */
.main-visual{
	margin-bottom:40px;
}

/* PC用メインスライダーの高さを高くする */
@media screen and (min-width: 768px) {
	.main-visual {
		height: 70vh; /* ビューポートの70%の高さに調整 */
		min-height: 500px; /* 最小高さを指定 */
	}
	.main-visual-slider__inner {
		height: 70vh;
		min-height: 500px;
	}
	.slider-item {
		height: 70vh;
		min-height: 500px;
	}
	.slider-item img {
		width: 100%;
		height: 70vh !important;
		min-height: 500px !important;
		object-fit: cover;
		object-position: center;
	}
	
	/* スライダー矢印を縦の中央に配置 - より強い指定 */
	.main-visual #js-header-image-slider.header-image-slider .slick-prev.slick-arrow,
	.main-visual #js-header-image-slider.header-image-slider .slick-next.slick-arrow {
		top: 50% !important;
		bottom: auto !important;
		margin-top: -250px !important;
		z-index: 999 !important;
	}
	
	/* 前矢印の形状を維持しながら中央配置 */
	.main-visual #js-header-image-slider.header-image-slider .slick-prev.slick-arrow {
		transform: rotate(-135deg) !important;
	}
	
	/* 次矢印の形状を維持しながら中央配置 */
	.main-visual #js-header-image-slider.header-image-slider .slick-next.slick-arrow {
		transform: rotate(45deg) !important;
	}
}

/* スマホでのオンラインストアボタンのみ幅を90%に調整 */
@media screen and (max-width: 767px) {
	.epb-advanced-button-wrapper:has(.epb-advanced-button__text.icon-shopping-cart) {
		width: 90% !important;
		margin: 0 auto !important;
	}
	
	.epb-advanced-button-wrapper:has(.epb-advanced-button__text.icon-shopping-cart) .epb-advanced-button {
		width: 100% !important;
	}
}

.main-visual__title,.main-visual__message {
	font-family: 'Shippori Mincho', serif !important;
  /* text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4); */
}
.main-visual__title  span,
.main-visual__message span{
	color:#a71417;
	display: inline-block;
}
.main-visual__title  span,
.main-visual__message span{
  text-shadow: 0 0 5px rgba(255, 255, 255, 0.8);
}
.main-visual-slider__inner {
    position: relative !important;
    height: 100%;
}
.page h2.main-visual__title,
.slider-item .main-visual__title,
.main-visual__message{
  position: absolute;
  bottom: 20px !important; /* 下からの距離（調整可） */
  left: 0px;   /* 左からの距離（調整可） */
  text-align: left;
  z-index: 2; /* 背景より前面に出すため */
  font-size: 30px;
  color: #333 !important;
  background-color: rgba(255,255,255,0.67) ;
 width: auto !important;
    margin: 0 !important;
    padding: 10px !important;
    font-size: 150% !important;
	font-weight:bold !important;
	line-height:1.5 !important;
}
.page h2.main-visual__title::before,
.page h2.main-visual__title::after{
		background: none;
}
.main-visual__btn{
	margin-top:0px !important;
}
.main-visual__btn .c-btn__outline::after{
    color: var(--epb-button-icon-color);
    font-weight: var(--epb-button-text-font-weight);
    transition-duration: .3s;
    transition-timing-function: cubic-bezier(.61,1,.88,1);
    transition-property: transform, color, font-weight;
    font-family: "icomoon" !important;
    content: " \e94c" !important;
    margin-left: 1em !important;
}

/* ホバー時のアイコン移動 - より具体的なセレクター */
.main-visual__btn .c-btn__outline:hover::after,
.main-visual .main-visual__btn .c-btn__outline:hover::after,
.main-visual-slider .main-visual__btn .c-btn__outline:hover::after{
    transform: translateX(8px) !important;
}


.post-list-meta__cat{
	background-color: #003153 !important;
}
.header-cta__item:last-child{
	background-color: #003153 !important;
}

#pickup_category_list_section-3 h2.c-section-widget__title{
    padding: 5px;
    font-size: 180%;
    line-height: 1.5;
    margin: 0 0 10px 0;
}
.c-section-widget__sub-title{
	margin-bottom: 30px;
}

/* 会社概要 */
.wp-block-table.is-style-table__border-bottom-left-right tbody td:first-child:after{
	background-color:#003153;
}
.epb-advanced-headling .epb-advanced-headling__text{
	line-height: 1.5;
    padding-bottom: 10px;
}
tbody td:first-child {
    background: #003153;
    color: #fff;
}

/* お問い合わせ */
ul#wpforms-465-field_4{
	display: flex;
}

/* お問い合わせ情報とおすすめ記事を非表示 */
.header-info,
.header-contact,
.contact-info,
.recommended-posts,
.pickup-posts,
.related-posts {
    display: none !important;
}
/* アーカイブ カテゴリ */
.article-info.has-entry-meta h2.article-title::before{
background: none !important;
}
.article-info.has-entry-meta h2.article-title{
	padding:0px !important;
	font-size: 20px;
	font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-weight: normal;
}
.has-thumbnail .post-thumbnail{
	background: #ccc;
}

/* 記事一覧 */
.archive .entry-thumb,
.blog .entry-thumb {
  display: none !important;
}
.pt-cv-blockgrid.list1 .pt-cv-content-item{
  border: 1px solid #ccc;
  /* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); */
  padding: 2rem;
  border-radius: 8px;
  background-color: #fff;
  display: flex;
  align-items: center;
  gap: 12px; /* カテゴリとタイトルの間に余白を入れる */
  flex-wrap: wrap; /* スマホで折り返したい場合 */
 transition: box-shadow 0.3s ease, transform 0.3s ease;
}

/* 擬似要素で丸矢印 */
.pt-cv-content-item{
  position: relative;
  border: 1px solid #ccc;
  padding: 16px;
  border-radius: 8px;
  /* background-color: #ccc; */
 
}

/* ホバー時に影を強調し、2px上に移動 */
.pt-cv-content-item:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

/* 右端の矢印（デフォルト） */
.pt-cv-content-item::after {
  font-family: "icomoon" !important;
  content: '\e94c';
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #ffffff;
  color: #333;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  text-align: center;
  line-height: 32px;
  font-size: 16px;
  font-weight: normal;
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* ホバー時の矢印（赤背景＋白文字） */
.pt-cv-content-item:hover::after {
  background-color: #a71417;
  color: #fff;
font-weight: normal;
}

/* カテゴリ */
#pt-cv-view-gqv3j08h .pt-cv-taxoterm *{
	background-color: #003153;
	color: #fff !important;
	margin: 0 !important;
	padding: 0 10px;
	border-radius: 10px;
}
a.pt-cv-tax-news{background-color: #003153 !important;} /* お知らせ */
a.pt-cv-tax-media{background-color: #2D8F85 !important;}/* メディア掲載 */
a.pt-cv-tax-arrange-recipe{background-color: #A89376 !important;}/* アレンジレシピ */
a.pt-cv-tax-report{background-color: #BC805B !important;}  /* 活動報告 */
a.pt-cv-tax-recruit{background-color: #866C9A !important;} /* 採用情報 */


a.pt-cv-tax-news{background-color: #003153 !important;} /* お知らせ */
a.pt-cv-tax-media{background-color: #003153 !important;}/* メディア掲載 */
a.pt-cv-tax-arrange-recipe{background-color: #003153 !important;}/* アレンジレシピ */
a.pt-cv-tax-report{background-color: #003153 !important;}  /* 活動報告 */
a.pt-cv-tax-recruit{background-color: #003153 !important;} /* 採用情報 */

/* ページネーション */
.pt-cv-wrapper .pagination>.active>a, .pt-cv-wrapper .pagination>.active>a:focus, .pt-cv-wrapper .pagination>.active>a:hover, .pt-cv-wrapper .pagination>.active>span, .pt-cv-wrapper .pagination>.active>span:focus, .pt-cv-wrapper .pagination>.active>span:hover{
	background-color: #003153;
	border-color: #003153;
}
.pt-cv-wrapper .pagination>li>a, .pt-cv-wrapper .pagination>li>span{
	color: #003153;
}


/* タイトル */
.pt-cv-title{
	color: #333 !important;
	margin-bottom: 0;
}

/* リンクカラー */
.pt-cv-title a{
	color: #333;
}
/* カテゴリータブ */
.wp-block-categories-list {
  display: flex;
  gap: 10px;
  padding: 0;
  list-style: none;
  flex-wrap: wrap;
}

.wp-block-categories-list li {
	list-style: none;
  border-radius: 20px;
  overflow: hidden;
}

.wp-block-categories-list li a {
  display: inline-block;
  padding: 8px 16px;
  color: #333;
  text-decoration: none;
  font-size: 14px;
  font-weight: bold;
  border-radius: 20px;
border: 1px solid #333;
}
.widget_categories ul > .cat-item a::before,
.wp-block-categories > .cat-item a::before{
	background: none !important;
}

/* 背景色指定 */
.wp-block-categories-list .cat-item-4 a { background-color: #A89376; }   /* アレンジレシピ */
.wp-block-categories-list .cat-item-9 a { background-color: #003153; }   /* お知らせ */
.wp-block-categories-list .cat-item-10 a { background-color: #2D8F85; }  /* メディア掲載 */
.wp-block-categories-list .cat-item-1 a { background-color: #866C9A; }  /* 採用情報 */
.wp-block-categories-list .cat-item-11 a { background-color: #BC805B; }  /* 活動報告 */

.wp-block-categories-list .cat-item-4 a { background-color: #f5f5f5; }   /* アレンジレシピ */
.wp-block-categories-list .cat-item-9 a { background-color: #f5f5f5; }   /* お知らせ */
.wp-block-categories-list .cat-item-10 a { background-color: #f5f5f5; }  /* メディア掲載 */
.wp-block-categories-list .cat-item-1 a { background-color: #f5f5f5; }  /* 採用情報 */
.wp-block-categories-list .cat-item-11 a { background-color: #f5f5f5; }  /* 活動報告 */

/* 商品紹介ページ */
.product-introduction-page {
    padding: 20px 0;
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
}

/* 商品紹介子ページのみ770px幅 */
body.page-child.parent-pageid-36 .product-introduction-page {
    max-width: 770px !important;
}

/* 商品紹介子ページの各種要素を770pxに制限 */
body.page-child.parent-pageid-36 .l-content,
body.page-child.parent-pageid-36 .l-main,
body.page-child.parent-pageid-36 .content-area,
body.page-child.parent-pageid-36 .u-row.one-col,
body.page-child.parent-pageid-36 .one-col .l-content__main,
body.page-child.parent-pageid-36 .entry-content {
    max-width: 770px !important;
    margin: 0 auto !important;
}

.product-introduction-page .entry-content {
    max-width: none;
    padding: 0 20px;
}

.product-intro-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 30px;
}

.fish-icon {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900;
    font-size: 1em;
    margin-right: 10px;
    color: #003153;
}

/* Font Awesome魚アイコン */
.fish-icon::before {
    content: '\f578'; /* Font Awesome fish icon */
}

/* 商品紹介ページ（page-item.php）専用の魚アイコン */
h1.product-intro-title::before {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900;
    content: '\f578'; /* Font Awesome fish icon */
    color: #003153;
    margin-right: 10px;
}

/* ページ別見出しアイコン */
/* 私たちのこだわり(about) - より広範囲なセレクター */
h1.entry-title::before {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900;
    color: #003153;
    margin-right: 10px;
}

h1.entry-title,
h1.product-intro-title {
    margin-top: 1em !important;
    margin-bottom: 1em;
    font-size: 2rem;
}

.product-introduction-page h1.product-intro-title {
    margin-top: 1em !important;
}

/* スマホ用h1左右余白 */
@media screen and (max-width: 767px) {
    h1.entry-title,
    h1.product-intro-title {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

/* 私たちのこだわり(about) */
body.page-id-41 h1.entry-title::before {
    content: '\f004'; /* fa-heart */
}

/* 会社情報(company) */
body.page-id-38 h1.entry-title::before {
    content: '\f1ad'; /* fa-building */
}

/* 採用情報(recruit) */
body.page-id-45 h1.entry-title::before {
    content: '\f0c0'; /* fa-users */
}

/* 記事一覧ページスタイル */
.articles-category-tabs {
    margin-top: 2rem;
}

.articles-category-tabs .tab-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 2rem;
    justify-content: flex-start;
}

.articles-category-tabs .tab-btn {
    padding: 10px 20px;
    background-color: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 25px;
    color: #333;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.articles-category-tabs .tab-btn:hover {
    background-color: #003153;
    color: white;
    border-color: #003153;
}

.articles-category-tabs .tab-btn.active {
    background-color: #003153;
    color: white;
    border-color: #003153;
}

.articles-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 3rem;
}

.article-item {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    text-decoration: none;
    color: inherit;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.article-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
    text-decoration: none;
    color: inherit;
}

.article-category-tag {
    display: inline-block;
    background-color: #003153;
    color: #fff;
    padding: 4px 12px;
    border-radius: 15px;
    font-size: 12px;
    font-weight: 600;
    flex-shrink: 0;
    min-width: 100px;
    text-align: center;
}

.article-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

h2.article-title-link {
    margin: 0 !important;
    margin-top: 0 !important;
    padding: 0 !important;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.2;
    color: #333;
}

.article-meta {
    display: flex;
    align-items: center;
    color: #666;
    font-size: 14px;
}

.article-arrow {
    font-family: "icomoon" !important;
    font-weight: normal;
    color: #003153;
    flex-shrink: 0;
    margin-left: auto;
    align-self: center;
}

.article-arrow::before {
    content: '\e94c'; /* icomoon read-arrow-right */
}

.no-articles {
    text-align: center;
    padding: 3rem 0;
    color: #666;
}

/* 記事一覧ページャー */
.articles-pagination-wrapper {
    margin-top: 3rem !important;
    display: flex !important;
    justify-content: center !important;
}

.articles-pagination-wrapper .articles-pagination ul.page-numbers {
    display: flex !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
}

.articles-pagination-wrapper .articles-pagination ul.page-numbers li {
    margin: 0 !important;
}

.articles-pagination-wrapper .articles-pagination .page-numbers {
    display: block !important;
    padding: 8px 13px !important;
    text-decoration: none !important;
    color: #333 !important;
    background-color: #fff !important;
    border-top: 1px solid #ddd !important;
    border-bottom: 1px solid #ddd !important;
    border-left: 1px solid #ddd !important;
    border-right: none !important;
    transition: all 0.3s ease !important;
    min-width: 38px !important;
    text-align: center !important;
    font-weight: 500 !important;
    height: auto !important;
    border-radius: 0 !important;
    margin: 0 !important;
    font-size: 14px !important;
}

.articles-pagination-wrapper .articles-pagination ul.page-numbers li:first-child .page-numbers {
    border-top-left-radius: 4px !important;
    border-bottom-left-radius: 4px !important;
}

.articles-pagination-wrapper .articles-pagination ul.page-numbers li:last-child .page-numbers,
.articles-pagination-wrapper .articles-pagination ul.page-numbers li:last-of-type .page-numbers {
    border-right: 1px solid #ddd !important;
    border-top-right-radius: 4px !important;
    border-bottom-right-radius: 4px !important;
}

/* より強力なセレクター - 数字ボタンで最後の要素 */
.articles-pagination-wrapper .articles-pagination .page-numbers:not(.prev):not(.next):last-of-type {
    border-right: 1px solid #ddd !important;
    border-top-right-radius: 4px !important;
    border-bottom-right-radius: 4px !important;
}

.articles-pagination-wrapper .articles-pagination .page-numbers:hover {
    background-color: #f0f0f0 !important;
    color: #333 !important;
}

.articles-pagination-wrapper .articles-pagination .page-numbers.current {
    background-color: #003153 !important;
    color: white !important;
    border-color: #003153 !important;
}

.articles-pagination-wrapper .articles-pagination .prev.page-numbers,
.articles-pagination-wrapper .articles-pagination .next.page-numbers {
    display: none !important;
}

.articles-pagination-wrapper .articles-pagination .dots {
    display: none !important;
}

/* スマホ対応 */
@media screen and (max-width: 767px) {
    .articles-category-tabs .tab-buttons {
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 10px;
    }
    
    .articles-category-tabs .tab-btn {
        flex-shrink: 0;
        padding: 6px 16px;
        font-size: 13px;
    }
    
    .article-item {
        padding: 1rem;
        flex-direction: column;
        align-items: stretch;
        gap: 0.5rem;
    }
    
    .article-category-tag {
        align-self: flex-start;
        min-width: auto;
    }
    
    .article-title-link {
        font-size: 1.1rem;
    }
    
    .article-content {
        gap: 0.2rem;
    }
    
    .article-meta {
        justify-content: flex-start;
    }
    
    .article-arrow {
        position: absolute;
        right: 1rem;
        top: 50%;
        transform: translateY(-50%);
        margin-left: 0;
    }
    
    .article-item {
        position: relative;
        padding-right: 3rem;
    }
    
    .articles-pagination-wrapper .articles-pagination .page-numbers {
        padding: 6px 10px !important;
        font-size: 12px !important;
        min-width: 32px !important;
    }
}
*/

.product-category-tabs {
    margin-top: 40px;
}

.tab-buttons {
    display: flex;
    gap: 10px;
    margin-bottom: 30px;
    flex-wrap: wrap;
}

.tab-btn {
    padding: 10px 20px;
    background-color: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 25px;
    color: #333;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
}

.tab-btn:hover {
    background-color: #003153;
    color: white;
    border-color: #003153;
}

.tab-btn.active {
    background-color: #003153;
    color: white;
    border-color: #003153;
}

.products-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-bottom: 60px;
}

.product-card {
    background: white;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

.product-image {
    width: 100%;
    height: 200px;
    overflow: hidden;
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-info {
    padding: 20px;
    text-align: center;
}

.product-name {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 15px;
    color: #333;
    font-family: 'Shippori Mincho', serif;
}

.product-link {
    display: inline-block;
    color: #666;
    text-decoration: none;
    font-size: 14px;
    transition: color 0.3s ease;
    position: relative;
}

.product-link::after {
    font-family: "icomoon" !important;
    content: '\e94c';
    margin-left: 5px;
    display: inline-block;
    transition: transform 0.3s ease;
}

.product-card:hover .product-link {
    color: #003153;
}

.product-card:hover .product-link::after {
    transform: translateX(8px) !important;
}

.product-info:hover .product-link::after {
    transform: translateX(8px) !important;
}

.no-products {
    text-align: center;
    padding: 60px 20px;
    color: #666;
    grid-column: 1 / -1;
}

.pagination-wrapper {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}

.pagination {
    display: flex;
    gap: 10px;
    align-items: center;
}

.page-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid #ddd;
    border-radius: 4px;
    color: #333;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s ease;
}

.page-link:hover {
    background-color: #003153;
    color: white;
    border-color: #003153;
}

.page-link.current {
    background-color: #003153;
    color: white;
    border-color: #003153;
}

.page-link.prev,
.page-link.next {
    width: auto;
    padding: 0 15px;
}

@media screen and (max-width: 767px) {
    .product-introduction-page {
        padding: 10px 0;
    }
    
    .product-introduction-page .entry-content {
        padding: 0 15px;
    }
    
    .products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media screen and (max-width: 480px) {
    .products-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .tab-buttons {
        justify-content: center;
    }
    
    .tab-btn {
        font-size: 12px;
        padding: 8px 16px;
    }
    
    .product-intro-title {
        font-size: 24px;
        text-align: center;
        justify-content: center;
    }
}

@media screen and (min-width: 768px){
	.l-content__sm{
		width: 100% !important;
	}
.c-section-widget__lead {
  margin-top: 10px;
	}
}
@media screen and (max-width: 767px) {
	.l-content:not(.single .l-content){
	width: 100% !important;	
	}

.epb-section-divider{
	border-radius: 0px !important; 
}	
	
#posts_list_section-5 .l-content-widget{
padding:0 10px 30px;
background: #fff;
width: 100%;
margin: 0 auto;
	}
	#block-18 .l-content-widget {
    padding: 10px;
    margin: 0 auto;
    width: 100%;
	}
	.slider-item{
		height: 40vh;
	}
	.slider-item img{
		width: 100%;
		height: 40vh !important;
		object-fit: cover;
		object-position: center;
	}
.page h2.main-visual__title,
	.main-visual__message{
left: 0px;   /* 左からの距離（調整可） */
font-size: 14px !important;
background-color: rgba(255,255,255,0.67) ;
width: 100%;
	}
	
	.slider-item .main-visual__title,
	.main-visual__message{
		font-size: 14px !important;
	}
.page h2.main-visual__title,
.slider-item .main-visual__title,
	.main-visual__message{
	bottom: 20px;
	}
	/* footer ハンバーガーメニュー　位置調整 */
.hamburger-menu-floating, .hamburger-menu-floating-fixed
	{
		bottom: 15px !important;
	}
/* 会社情報 */
	.company-style td{
		display: block;		
	}
	.company-style tbody td:first-child {
		padding: 5px;
	}
	
	/* 投稿リストタイトルのスマホ用フォントサイズ - より強い指定 */
	.page h3.epb-post-list__title,
	h3.epb-post-list__title,
	.epb-post-list__title {
		font-size: 18px !important;
	}
}

/* アレンジレシピカテゴリページで「詳しく見る」を非表示 */
.category-arrange-recipe .product-link {
	display: none !important;
}

/* Footer SNS アイコン */
.footer-sns {
    display: flex;
	gap: 20px;
    align-items: center;
    flex-wrap: wrap;
    position: absolute;
    bottom: 1em;
    right: 0;
    margin: 0 1em 0 0;
}

.footer-sns .sns-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;      /* アイコンサイズ */
  color: #ffffff;       /* アイコン色を白に固定 */
  text-decoration: none;
  transition: opacity 0.3s;
}

.footer-sns .sns-icon:hover {
  opacity: 0.7;         /* hoverで少し透過 */
}


/* スマホ用スタイル */
@media screen and (max-width: 768px) {
  .footer-sns {
    position: relative;
    bottom: 0;
    margin: 1em auto;
    justify-content: center;  
    width: 100%;
    flex-wrap: nowrap;   /* ←折り返し禁止で1行にする */
    gap: 6px;            /* ←余白を少し詰める */
  }
  .footer-sns .sns-icon {
    font-size: 20px;     /* ←アイコン少し小さく */
  }
}

/* スライダー ボタン */
.main-visual__btn .c-btn__outline {
    border: 2px solid #ffffff;
    background-color: inherit;
    color: #ffffff;
    position: absolute;
	font-size:20px;
	line-height:2em;
    top: -350px;
	left: 10%;
}
@media screen and (max-width: 768px) {
	.main-visual__btn .c-btn__outline {
	font-size:18px;
	top: -200px;
	left: 5%;
}
}

/* お知らせ一覧ボタンを既存の赤いボタンと同じスタイルにする */
.c-btn__arrow .c-btn.c-btn__outline.c-btn__s {
    background-color: #a71417 !important;
    border: 2px solid #a71417 !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    padding: 16px 40px !important;
    font-size: 16px !important;
    line-height: 1 !important;
    text-decoration: none !important;
    display: inline-block !important;
    position: absolute !important;
    bottom: -30px !important;
    z-index: 10 !important;
    left: 10% !important;
    transition: all 0.3s ease !important;
    height: 56px !important;
    width: auto !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
}

.c-btn__arrow .c-btn.c-btn__outline.c-btn__s::after {
    font-family: "icomoon" !important;
    content: " \e94c" !important;
    color: #ffffff !important;
    font-weight: normal !important;
    margin-left: 1em !important;
    transition: transform 0.3s ease !important;
    display: inline-block !important;
}

.c-btn__arrow .c-btn.c-btn__outline.c-btn__s:hover::after {
    transform: translateX(8px) !important;
}

.c-btn__arrow .c-btn.c-btn__outline.c-btn__s:hover {
    background-color: #a71417 !important;
    border-color: #a71417 !important;
    opacity: 0.8 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

/* スマホ用のお知らせ一覧ボタン位置調整 */
@media screen and (max-width: 768px) {
    .c-btn__arrow .c-btn.c-btn__outline.c-btn__s {
        font-size: 14px !important;
        bottom: 15px !important;
        left: 5% !important;
    }
}

/* 商品紹介子ページ（page-child-item.php）専用スタイル - 最優先 */
html body.page-child.parent-pageid-36 .page-content,
html body.page-child.parent-pageid-36 .product-introduction-page,
html body.page-child.parent-pageid-36 .l-content,
html body.page-child.parent-pageid-36 .l-main,
html body.page-child.parent-pageid-36 .content-area,
html body.page-child.parent-pageid-36 .entry-content {
    max-width: 770px !important;
    width: 100% !important;
    margin: 0 auto !important;
}

/* さらに強力な指定 - page-child-item.php用 */
html body.page-child.parent-pageid-36 div.page-content {
    max-width: 770px !important;
    width: 100% !important;
    margin: 0 auto 60px !important;
    padding: 20px 20px 0 20px !important;
}

/* Footer width control - keep at 1200px while post content is 770px */
.l-footer .l-footer__inner {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}

/* More specific selectors to override any existing rules */
footer.l-footer .l-footer__inner {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
}

/* Override any content width restrictions affecting footer */
.single .l-footer .l-footer__inner,
.page .l-footer .l-footer__inner,
.l-footer .l-footer__inner {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
}

/* Ensure footer widgets and content respect the 1200px container */
.l-footer__inner .footer-widget,
.l-footer__inner .footer-menu,
.l-footer__inner .site-copyright {
    max-width: 100% !important;
}

/* Optional: Add responsive behavior for mobile */
@media screen and (max-width: 767px) {
    .l-footer__inner {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

/* 最優先フッター幅設定 - 他のすべてのCSSを上書き */
html body .l-footer .l-footer__inner,
html body.single .l-footer .l-footer__inner,
html body.page .l-footer .l-footer__inner {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}

/* フッター内のすべての要素を1200px幅で強制 */
html body .l-footer,
html body .l-footer *,
html body .l-footer .u-row,
html body .l-footer .one-col,
html body .l-footer .l-content,
html body .l-footer .l-main {
    max-width: none !important;
}

html body .l-footer .l-footer__inner {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
}