@charset "UTF-8";
/*
	Theme Name: fujijin
	Description:富士甚醤油オリジナルテーマ
	Theme URI:
	Author: fujijin
	Author URI: 
	Version: 1.0
	License: GNU General Public License

*/

/* ********** css reset ********** */

*,
*::before,
*::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
ul,
ol {	
	padding: 0;
	list-style: none;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: normal;
}
address {
	font-style: normal;
}
table {
    border-collapse:collapse;
    border-spacing:0;
}
body {
    color: #2b2b2b;
	font-family: "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", メイリオ, Meiryo, sans-serif;
    font-feature-settings: "palt" 1;
}
html {	
	font-size: 100%;
}
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

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

	Link
		  
************************************************** */

a {
	color: #333;
	text-underline-offset: 0.18em;
}	
a:hover {
    color: #555;
}
a img:hover {
	opacity: 0.75;
}

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

	footer bottom
		  
************************************************** */
/*
#wrapper {
  display: flex;
  flex-flow: column;
  min-height: 100vh;
}
.container {
  flex: 1;
}
IE11の対応↓
@media screen and (-ms-high-contrast: none) {
#wrapper {
	display: block;
}
}
*/

html, body { height: 100%;}
.global_footer {
  position: sticky;
  top: 100vh;
}

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

	Layout
		  
************************************************** */ 
/*
.container {
	word-break: break-all;
	width: 1120px;
	margin: 0px auto;
	padding-bottom: 88px;
}
@media screen and (max-width: 768px) {
.container {
	width: 95%;
	margin: 0px auto;
}	
}
*/

.container {
    padding-bottom: 80px!important;
}

:root {
	--content_width: 1120px;
}
:root {
    --brand_color: #d12d26;
}

.cmn_width {
	max-width: var(--content_width);
	margin: 0px auto;
}
@media screen and (max-width: 768px) {
	.cmn_width {
		width: 100%;
		padding: 0 10px;
	}
}

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

	Header
		  
************************************************** */
.header {
	border-bottom: 1px solid #dedede;
}
.header_inner {
	display: flex;
	justify-content: space-between;
}
.site_logo {
	padding-top: 16px;
    margin-left: 40px;
	margin-bottom: 8px;
}
.site_logo h1 {
	font-size: inherit;
}
.logo {
    display: flex;
    align-items: center;
    color: #000;
    font-size: 1.125rem;
    font-weight: bold;
    text-decoration: none;
    min-height: 72px;
    background-image: url(images/logo.svg);
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 80px;
}
.logo img {
	display: block;
}	
.description {
	font-size: 0.75rem;
}

@media screen and (max-width: 768px) {
.header_inner {
	width: auto;
	flex-direction: column;
	padding-top: 5px;
}
.logo_area {
	display: block;
	width: 100%;
}
.site_logo {
	padding-top: 8px;
	padding-left: 8px;
}	
.logo img {
	width: 100%;
}		
.description {
	padding-left: 8px;
	font-size: 0.8rem;
}
}

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

	Search Form
		  
************************************************** */
.search_form_box {
    display: flex;
    justify-content: flex-end;
	padding-top: 16px;
    margin-bottom: 12px;
}
.search-form {
	width: 240px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
#s { 
	width: 100%;
	padding: 6px 8px;
	font-size: 0.75rem;
	border: 1px solid #dedede;
	background-color: #fff;
}
.search-submit {
	position: absolute;
	right: 8px;
	width: 20px;
	height: 20px;
	border: none;
	background-position: center center;
	background-image: url(images/search_icon.svg);
	background-color: inherit;
}
@media screen and (max-width: 768px) {
.search_form_box {
	padding-top: 0px;
	width: 60%;
}	
.search-form {
	width: 95%;
}
}
/* ************************************************** 

	Search 結果ページ
		  
************************************************** */
.result_area_number {
    margin-bottom: 1.5em;
}
.result_area {
    
}
.result_area_item a {
    display: block;
    color: inherit;
    text-decoration: none;
    padding: 1em;
    border: 1px solid #ccc;
    border-radius: 16px;
}
.result_area_item a:hover {
    background-color: #f2f2f2;
}
.result_area_item {
    margin-bottom: 24px;
}
.result_area_title {    
    color: #e50012;
    font-size: 1.05rem;
/*
    padding-bottom: 0.5em;
    margin-bottom: 0.5em;
*/
}
.result_area_content {
    font-size: 0.9rem;
    color: #ccc;
}

/* ********** Navigation ********** */

.header_gnav {
    margin-right: 40px;
}
.navigation_area {
	position: relative;
}
@media screen and (max-width: 768px) {
.header_gnav {
    margin-right: 0px;
}    
.navigation_area {
	width: 100%;
	padding-top: 10px;
}
}
/* ************************************************** 

	Global Navi
		  
************************************************** */
.menu-global-container {
}
#menu-global {	
	display: flex;
	justify-content: flex-end;
	list-style: none;
	margin-bottom: 12px;
}
#menu-global > li {
	position: relative;
}
#menu-global > li > a {	
	display: flex;
	justify-content: center;
	align-items: center;
	color: #000;
	font-size: 0.9rem;
    font-weight: bold;
	padding: 0.5em 1.5em;
	text-decoration: none;
	line-height: 1.25em;
	letter-spacing: 0.04em;
	transition: all 0.3s;
}
#menu-global > li > a:hover {
	background-color: #f7f7f7;
}

/* Toggle(Button) */
.toggle_wrap {
/*	position: relative;*/
}
#tglmenu_title {
	font-size: 12px;
	font-weight: bold;
	position: absolute;
	bottom: 24px;
	right: 65px;
	display: none;
	font-family: Arial, Helvetica, sans-serif;
}
#navToggle {
	display: none;
	position: absolute;/*to #header*/
	right: 20px;
	bottom: 20px;
	width: 30px;
	height: 25px;
	cursor: pointer;
	z-index: 100;
}
#navToggle div {
	position: relative;
}
#navToggle span {
	display: block;
	position: absolute;/*to div*/
	width: 100%;
	border-bottom: solid 3px #e50012;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}
#navToggle span:nth-child(1) {
	top: 0;
}
#navToggle span:nth-child(2) {
	top: 11px;
}
#navToggle span:nth-child(3) {
	top: 22px;
}


@media screen and (max-width: 768px) {
/* Toggle(Button) */
#navToggle {
	display: block;
}
#tglmenu_title {
	display: block;
}
/* Click Toggle(Button) */
.openNav #navToggle span:nth-child(1) {
	top: 11px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg)
}
.openNav #navToggle span:nth-child(2),
.openNav #navToggle span:nth-child(3) {
	top: 11px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg)
}
/*header menu*/

#menu-global {
	display: flex;
	flex-direction: column;
}
.menu-global-container {
	position: absolute;
	left: -100%; /*通常時はビュー外*/
	width: 100%;
	padding: 0px;
	transition: .5s ease-in-out;
	z-index: 300;
    opacity: 0;
}
.openNav .menu-global-container {
    opacity: 1;    
	transform: translateX(100%);
}	
#menu-global {
	width: auto;
	height: auto;
	margin: 0;
}
#menu-global li {
    border-right: none;
    width: 100%;
    border-bottom: 1px solid #e50012;
}
#menu-global > li::after {
	display: none;
}	
#menu-global li a {
	color: #2b2b2b;
	font-size: 1.1rem;
	font-weight: normal;
	text-align: center;
	background-color: #fff;
	padding: 16px;
	margin: 0px;
}	
#menu-global li a:hover {
  background-color: #f5f5f5;
  color: #000;
}
.menu-global-container .current-menu-item::after {
	background-color: inherit;
}
.sub-menu {	
/*	display: none;*/
}	
}

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

	EMERGENCY
		  
************************************************** */
.emergency_area {
	border: 3px solid #0f2350;
    max-width: var(--content_width);
	margin: 0px auto 24px auto;
}
.emergency_date {
	color: #666;
	font-size: 0.9rem;
	margin-bottom: 0.5em;
}
.emergency_title {
	font-size:140%;
	color: #fff;
	text-align: center;
	padding: 0px 10px 3px 10px;
	background-color: #0f2350;
}
.emergency_body {
	margin: 10px 30px 30px 30px;
}
.emergency_body p {
	line-height: 1.9em;
	margin-bottom: 0.5em;
}
.emergency_body ul {
	list-style: inherit;
	line-height: 1.8em;
	padding-left: 2em;
	margin-bottom: 0.5em;
}
@media screen and (max-width: 768px) {
.emergency_area {
	margin: 0px 16px 24px 16px;
}    
}

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

	BREAD CRUMB
		  
************************************************** */
.breadcrumbs {
	font-size:85%;
	line-height: 1.5em;
	padding: 15px 0px 0px 0px;
}

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

		Typography
		  
************************************************** */
/*
.gb_style h1 {
	font-size: 2.7rem;
	text-align: center;
	margin: 1em 0px 1.5em 0px;
}
*/

.gb_style {
    word-break: break-all;
}
.gb_style h1 {
	font-size: clamp(2rem, 2.7vw, 2.7rem);
	text-align: center;
    letter-spacing: 0.08em;
    max-inline-size: max-content;
    padding-bottom: 0.1em;
	margin: 1em auto 1.5em auto;
    border-bottom: 4px solid #d12d26;
}
.gb_style h2 {
    color: #333;
    font-size: 2rem;
    margin-top: 2em;
    margin-bottom: 1.5em;
    letter-spacing: 0.06em;
    position: relative;
}
.gb_style h2:after{
	content: "";
	display: block;
    position: absolute;
    top: 120%;
    left: 0;
	background: linear-gradient(to right, #e50012 0%, #e50012 8%, #dedede 8%, #dedede 100%) no-repeat left bottom;
	width: 100%;
	height: 2px;
}
@media screen and (max-width: 768px) {
.gb_style h2:after{
    top: 105%;
}    
}
.gb_style h3 {
    color: #e50012;
    font-size: 1.5rem;
    margin-top: 2em;
    margin-bottom: 1em;
}
.gb_style h4 {
	font-size: 1.2rem;
	padding: 0.4em 1em;
	background-color: #f5f5f5;	
	margin: 1em 0px 1.5em 0px;
}
.gb_style h5 {
	font-size: 1.15rem;
	font-weight: bold;
	margin: 1em 0px 1em 0px;
}
.gb_style h6 {
	font-size: 1rem;
	font-weight: bold;
	margin: 0px 0px 1em 0em;
}
.gb_style ul {
	list-style: disc;
	line-height: 2em;
	padding-left: 2em;
	margin-bottom: 1em;
}
.gb_style ul ul {
	margin-bottom: 0px;
}
/*
.gb_style ul[class] {
	padding: 0px;
}
*/
.gb_style ol {
	list-style: decimal;
	line-height: 2em;
	padding-left: 2em;
	margin-bottom: 1em;
}
.gb_style ol ul {
	margin-bottom: 0px;
}
/*
.gb_style ol[class] {
	padding: 0px;
}
*/
.gb_style figcaption {
	font-size: 0.9rem;
/*	text-align: center;*/
/*	margin-bottom: 2em;*/
}
.gb_style p {
    color: #333;
    font-size: 1rem;
    line-height: 2em;
    margin: 0 1em 1.5em 1em;
    letter-spacing: 0.08em;
}
.gb_style strong {
    font-weight: bold;
}
.gb_style iframe {
    width: 100%;
}

.post_info_area {
    display: flex;
    justify-content: space-between;
    margin-bottom: 48px;
}
.post_info_cat {
    
}
.post_info_cat a {
    color: #fff;
    font-size: 0.75rem;
    text-decoration: none;
    padding: 0.2em 0.5em;
    border-radius: 5px;
    display: block;
}
.post_date_txt {
    font-size: 0.9rem;
    text-align: right;
}
/* Gutenberg Photo */
.wp-block-image {
    margin-bottom: 32px;
}
.wp-block-columns {
    margin-top: 58px;
}
@media screen and (max-width: 768px) {
.wp-block-columns figure {
    margin: 0 auto 16px auto;
    text-align: center;
}
}

/* Gutenberg 写真のキャプション */
/*
.wp-element-caption {
    text-align: center;
}
*/

@media screen and (max-width: 768px) {
/*
.main h1 {
	font-size: 1.5rem;
	margin: 1em 0px;
}
*/
/*
.main h2 {
	font-size: 1.4rem;
	margin-top: 0px;
	margin-bottom: 20px;
}
.main h3 {
	font-size: 1.3rem;
	margin-top: 2em;
	margin-bottom: 2em;
}
*/
.gb_style p {
	margin-left: 0.75em;
	margin-right: 0.75em;
}	
}

/* ********** table ********** */

.gb_style table {
}
.gb_style table thead {
    border-bottom: none;
}
.gb_style table td,
.gb_style table th {
	border: 1px solid #ccc;
	line-height: 1.6em;
	vertical-align: middle;
	padding: 0.5em 1em;
}

.gb_style table caption {
	margin-bottom: 10px;
	text-align: left;
}
.gb_style table th {
	background-color: #F5F6F9;
	font-weight: normal;
	text-align: center;
}
@media screen and (max-width: 768px) {
.gb_style table {
	width: 100%;
}	
}


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

	key_visual
		  
************************************************** */
.key_visual {
/*    height: 580px;*/
    margin-bottom: 64px;
}

.slider {
  opacity: 0;
  transition: opacity .25s ease;
}
.slider.slick-initialized {
  opacity: 1;
}



.slide_1st {    
    position: relative;
}
.anniversary {
    position: absolute;
    left: 8%;
    top: 10%;
    width: 32%;
}
.anniversary img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.key_visual .slider {
    
}
.key_visual .slick-list {
}
.key_visual .slick-track { 
    height: 55vh;
}
.key_visual .slick-slide {
    
}
.key_visual .slick-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media screen and (max-width: 768px) {
.key_visual .slick-track { 
    height: inherit;
}  
.anniversary {
    left: 5%;
    top: 20%;
    width: 50%;
}    
}

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

		Front Page
		  
************************************************** */
/*
.front_container h2 {
	font-size: 1.75rem;
	text-align: center;
    max-inline-size: max-content;
    margin-inline: auto;
    border-bottom: 3px solid #E40313;
    padding-bottom: 8px;
	margin-bottom: 3rem;
}
*/
.fp-title {
	font-size: 1.75rem;
	text-align: center;
    max-inline-size: max-content;
    margin-inline: auto;
    border-bottom: 3px solid #E40313;
    padding-bottom: 8px;
	margin-bottom: 3rem;
}

.more_btn {    
    max-inline-size: max-content;
    margin-inline: auto;
    margin-bottom: 80px;
}
.more_btn a {
    display: block;
    text-decoration: none;
    padding: 1em 4em;
    border: 1px solid #aaa;
    border-radius: 100vh;
    transition: all 0.5s;
}
.more_btn a:hover {
    color: #e50012;
    background-color: #f5f6f8;
}
.more_btn_kodawari {
    max-inline-size: max-content;
    margin-inline: auto;
}
.more_btn_kodawari a {
    display: block;
    color: #fff;
    text-decoration: none;
    padding: 1em 4em;
    border: 1px solid #dedede;
    border-radius: 100vh;
    transition: 0.5s;
}
.more_btn_kodawari a:hover {
    background-color: rgba(255,255,255,0.18);
}

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

		ピックアップ
		  
************************************************** */
.pickup {
    margin-bottom: 64px;
}
.pickup_slider {
    max-width: var(--content_width);
    margin: 0px auto;
}
.pickup_slider img {
    width: 100%;
    height: auto;
}
.pickup_slider .slick-track { 
}
.pickup_slider .slick-slide {
    
}
.pickup_slider .slick-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

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

		フジジンの商品
		  
************************************************** */

/* FS Form */
.fs_form_wrapper {
    background-color: #f5f6f9;
    padding: 20px;
    margin-bottom: 40px;
}
.fs_form_body {
    display: flex;
    justify-content: space-around;
    margin-bottom: 24px;
}
.fs_form_keyword_block {
    width: 45%;    
}
.fs_form_keyword_block dt {
    font-size: 1rem;
    color: #161616;
    margin-bottom: 0.5em;
}
.fs_form_keyword_block dd input {
    width: 100%;
}

.fs_form_jan_block {
    width: 45%;
}
.fs_form_jan_block dt {
    font-size: 1rem;
    color: #161616;
    margin-bottom: 0.5em;
}
.fs_form_jan_block dd input {
    width: 100%;
}

.fs_form_submit {
    text-align: center;
}
.fs_search_button {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 1.1rem;
    max-inline-size: max-content;
    margin-inline: auto;
    background-color: #e50012;
    border: 1px solid #e50012;
    border-radius: 50px;
    background-image: url(images/product/fs_search_icon.svg);
    background-repeat: no-repeat;
    background-position: left 24px center;
    padding: 0.3em 2em 0.3em 3em;
    transition: all 0.4s;
}
.fs_search_button:hover {
    background-color: #FC5461;
    border: 1px solid #e50012;
}
@media screen and (max-width: 768px) {
.fs_form_body {
    flex-direction: column;
}
.fs_form_keyword_block {
    width: 100%;
    margin: 0 auto 16px auto;
}
.fs_form_jan_block {
    width: 100%;
    margin: 0 auto;
}    
}



.product_area {    
    margin-bottom: 48px;
}
.product_area a {
    display: flex;
    justify-content: center;
    position: relative;
    transition: 0.4s;
}
.product_area a:hover {
    opacity: 0.7;
}
.product_area a::after {
    display: block;
    position: absolute;
    top: 0.5em;
    content: "伝統のうま味が食材を引き立てる";
    color: #fff;
    font-size: clamp(1.25rem, 0.759rem + 2.45vw, 2.6rem);
    font-weight: bold;
    text-align: center;
    text-shadow: 0px 2px 6px rgba(0, 0, 0, 0.6);
}
.product_item {
    width: calc(100% / 4);
    aspect-ratio: 1 / 1.3333;
    position: relative;
}

.pi1 {
    background-image: url(images/front-page/product/product01.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.pi2 {
    background-image: url(images/front-page/product/product02.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.pi3 {
    background-image: url(images/front-page/product/product03.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.pi4 {
    background-image: url(images/front-page/product/product04.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.p_item_caption {
    color: #fff;
    position: absolute;
    bottom: 24px;
    left: 30%;
/*    transform: translateX(-50%);*/
    font-size: clamp(0.75rem, 0.605rem + 0.73vw, 1.15rem);
    font-weight: bold;
    writing-mode: vertical-rl;
    text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.6);    
}
@media screen and (max-width: 768px) {
    .p_item_caption {
       display: none;
    }
}

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

		フジジンのこだわり
		  
************************************************** */
.kodawari_wrap {
/*
    background-image: url(images/front-page/kodawari_bg.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    padding-top: 64px;
    padding-bottom: 64px;
*/
}
.kodawari_top_bg {
    width: 100%;
    min-height: 256px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url(images/front-page/kodawari/top_bg.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    background-color: rgba(0,0,0,0.4);
    background-blend-mode: darken;
}
.kodawari_bottom_bg {
    width: 100%;
    min-height: 256px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url(images/front-page/kodawari/bottom_bg.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    background-color: rgba(0,0,0,0.4);
    background-blend-mode: darken;
}
.kodawari_title {
    color: #fff;
	font-size: 1.75rem;
    letter-spacing: 0.1em;
}
.kodawari_cat {    
    display: flex;
}
.kodawari_cat a {
    width: 100%;
    height: 100%;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 1.875rem;
    letter-spacing: 0.1em;
    writing-mode: vertical-rl;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-feature-settings: 'pkna';
    transition: 0.4s;
}
.kodawari_cat a:hover {
    opacity: 0.7;
}
.kodawari_item {
    width: calc(100% / 3);
    height: 500px;
    background-color: #f2f2f2;
}
.inherit_taste {
    background-image: url(images/front-page/kodawari/kodawari_01.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-color: rgba(0,0,0,0.2);
    background-blend-mode: darken;
}
.convey_taste {
    background-image: url(images/front-page/kodawari/kodawari_02.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-color:rgba(0,0,0,0.2);
    background-blend-mode:darken;
}
.reliable_taste {
    background-image: url(images/front-page/kodawari/kodawari_03.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-color:rgba(0,0,0,0.2);
    background-blend-mode:darken;
    
}


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

		テレビCM
		  
************************************************** */
.tvcm {
    background-color: #f8ecdd;
    padding-top: 64px;
    padding-bottom: 1px;
}
.tvcm_bottom {
    overflow: hidden;
}
.tvcm_bottom_inner {
    background-color: #f8ecdd;
    height: 80px;    
    border-bottom-right-radius: 2000px 200px;
    border-bottom-left-radius: 2000px 200px;
    margin-left: -200px;
    margin-right: -200px;
    padding-left: 200px;
    padding-right: 200px;
    margin-bottom: 80px;
}

.tvcm_movie {
    width: 50%;
    aspect-ratio: 16 / 9 ;
    margin: 0px auto 16px auto;
}
.tvcm_movie iframe {
    width: 100%;
    height: 100%;
    box-shadow: 0px 2px 9px rgba(0,0,0,0.3);
    border-radius: 8px;
}
.tvcm_title {
    font-size: 1rem;
    text-align: center;
    margin-bottom: 64px;
}

@media screen and (max-width: 768px) {
.tvcm_movie {
    width: 80%;
}
}

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

		レシピ
		  
************************************************** */

/* レシピカテゴリ一覧 */
.recipe_category_area {
    max-width: var(--content_width);
    display: flex;
    flex-wrap: wrap;
    margin: 0px auto 48px auto;
}
.recipe_category_list {    
    width: calc(100% / 3 - 40px);
    margin: 0 20px;
}
.recipe_category_list h3 {
    color: #333;
    font-size: 1rem;
    text-align: center;
    margin: 0 0.5em 0.5em 0.5em;
}
.recipe_category_list ul {
    list-style: disc;
    list-style-position: inside;
    padding: 1em 2em;
    background-color: #f5f6f9;
    border-radius: 8px;
}
.recipe_category_list ul li {
    color: #666;
    margin-bottom: 0.4em;
}
.recipe_category_list ul li a {
    color: #e50012;
}
@media screen and (max-width: 768px) {
.recipe_category_list {    
    width: 90%;
    margin: 0 auto 20px auto;
}    
}

/* レシピ一覧 */
.recipe_list {
    max-width: var(--content_width);
    display: flex;
    flex-wrap: wrap;
    margin: 0px auto;
    padding-bottom: 3em;
}
.recipe_list li {
    width: calc(100% / 4 - 40px);
    margin: 0 20px 32px 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #dedede;
}
@media screen and (max-width: 768px) {
.recipe_list li {
    width: 80%;
    margin: 0 auto 24px auto;
}
}

.recipe_list li a {
    text-decoration: none;
}
.recipe_image {
    aspect-ratio: 1.618 / 1;
}
.recipe_image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}
.recipe_name {
    color: #E40313;
    font-size: 0.9rem;
    font-weight: bold;
    padding: 4px 0 3px 2.2em;
    margin-bottom: 24px;
    border-top: 3px solid #e50012;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    background-image: url(images/recipe/recipe_icon.svg);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: contain;
}
.recipe_caption {
    font-size: 0.95rem;
    line-height: 1.8em;
    flex-grow: 1;
    
    display: none;
}
.recipe_time {
    display: flex;
    align-items: center;
    min-height: 20px;
    padding-left: 32px;
    margin-top: 16px;
    background-image: url(images/recipe/recipe_time_small.svg);
    background-repeat: no-repeat;
    background-position: left center;
}
.recipe_none {
    color: #e50012;
    text-align: center;
}

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

		レシピ詳細ページ
		  
************************************************** */ 
.recipe_cat_name {
    margin-bottom: 48px;
}
.genre_color span {
    font-size: 1rem;
    line-height: 1;
    color: #fff;
    padding: 0.1em 0.5em;
    border-radius: 5px;
}
/* ジャンル */
.japanese {
    background-color: #946243;
}
.western {
    background-color: #f08300;
}
.chinese {
    background-color: #b7282e;
}
/* 区分 */
.staple_food {
    
}
.main_dish {
    
}
.side_dish {
    
}
.soup {
    
}
.dessert {
    
}
.others {
    
}
/* 用途別 */
.easy {
    
}
.joubi {
    
}
.genen {
    
}
.party {
    
}
.kouji {
    
}
.kyodo {
    
}



.recipe_main_visual {
    display: flex;
    justify-content: space-around;
    margin-bottom: 64px;
}
.recipe_image_detail {
    width: 40%;
}
.recipe_image_detail img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
	object-fit: cover;
    border-radius: 16px;
}
.recipe_main_lead {
    width: 40%;
    padding-top: 1.5em;
    border-top: 1px dashed #e50012;
}
.recipe_caption_detail {
    font-size: 0.95rem;
    line-height: 2em; 
    margin-bottom: 2em;
}

.recipe_time_detail {
    display: flex;
    align-items: center;
    min-height: 32px;
    padding-left: 44px;
    background-image: url(images/recipe/recipe_time.svg);
    background-repeat: no-repeat;
    background-position: left center;
}
.time_display {    
    font-size: 1rem;
}
.time_title {
/*    color: #e50012;*/
    color: #2b2b2b;
    font-size: 0.95rem;
    margin-right: 1em;
}
.time_data{    
    font-size: 1.5rem;
}
.recipe_detail_subtitle {
    padding-bottom: 0.5em;
    margin-bottom: 1.5em;
    border-bottom: 2px solid #e50012;
}
@media screen and (max-width: 768px) {
.recipe_main_visual {
    flex-direction: column;
}
.recipe_image_detail {
    width: 80%;
    margin: 0 auto 24px auto;
}
.recipe_main_lead {
    width: 100%;
}    
}


/* 印刷ボタン */
.recipe_print_btn {
    display: flex;
    justify-content: flex-end;
}
.printomatictext {
    font-size: 0.8rem;
    padding: 0.4em 1em;
    border: 1px solid #ccc;
    border-radius: 4px;
}

/* 材料・分量 */
.recipe_dl {
    width: 85%;
    display: flex;
    justify-content: space-between;
    padding: 0 2em 1em 2em;
    margin: 0px auto 24px auto;
    border-bottom: 1px solid #dedede;
}
.recipe_dl dt {
    max-width: 85%;
}
/* 材料の商品を目立たせる */
.fujijin_pdct {
    color: #ff0000;
}
.fujijin_pdct::after {
    content: "（フジジンの商品です）";
    font-size: 0.7rem;
}
.recipe_servings {
    font-size: 1.1rem;
    margin-left: 1em;
    margin-bottom: 1em;
}
/* 作り方 */
.recipe_ol {
    width: 85%;
    counter-reset:recipe_process; 
    list-style-type: none;
    margin: 0 auto 64px auto;
    border-top: 1px solid #dedede;
}
.recipe_ol li {
    display: flex;
    align-items: center;
    padding: 1.5em 44px 1.5em 44px;
    position: relative;
    border-bottom: 1px solid #dedede;
}
.recipe_ol li::before {
    counter-increment: recipe_process;
	content: counter(recipe_process);
    color: #fff;
    background-color: #e50012;
    width: 28px;
    height: 28px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
.recipe_dl {
    width: 95%;
    padding: 0;
} 
.recipe_ol  {
    width: 95%;
    padding: 0;
}    
}

/* ポイント */
.recipe_point {
    padding: 16px 24px;
    border: 1px solid #e50012;
    border-radius: 8px;
    width: 85%;
    margin: 40px auto 64px auto;
}
.recipe_point_title {    
    color: #e50012;
    font-size: 1.125rem;
    margin-bottom: 0.5em;
}
.recipe_point p {
    font-size: 0.95rem;
    line-height: 1.8em;
}

/* 使用する商品一覧*/
.recipe_used_product {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 32px;
}
.used_item {    
    width: 16%;
    margin: 0 2% 32px 2%;
}
.used_item_thumb {
    aspect-ratio: 1 / 1;
    margin-bottom: 8px;
}
.used_item_thumb img {
    display: block;
    width: 100%;
    height: 100%;
	object-fit: contain;
}
.used_item_name {
    font-size: 0.875rem;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}


/* 20240327 New 使用する調味料 */
.recipe_shohin_list {
    display: flex;
    flex-wrap: wrap;
}
.shohin_url {
    text-decoration: none;
}
.recipe_shohin_item {
    width: calc(100% / 5 - 48px);
    margin: 0 24px 32px 24px;
}
.recipe_shohin_thumb {
    aspect-ratio: 1 / 1;
}
.recipe_shohin_thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border: none;
}
.shohin_title {
    font-size: 0.9rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media screen and (max-width: 768px) {
.recipe_shohin_item {
    width: calc(100% / 2 - 48px);
    margin: 0 24px 32px 24px;
}    
}

/* 20240327 New 一緒におすすめのレシピ */
.osusume_recipe_list {
    display: flex;
    flex-wrap: wrap;
}
.ossm_url {
    text-decoration: none;
}
.osusume_recipe_item {
    width: calc(100% / 5 - 48px);
    margin: 0 24px 32px 24px;
}
.osusume_recipe_thumb {
    aspect-ratio: 1 / 1;
}
.osusume_recipe_thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ossm_title {
    font-size: 0.9rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media screen and (max-width: 768px) {
.osusume_recipe_item {
    width: calc(100% / 2 - 48px);
    margin: 0 24px 32px 24px;
}    
}


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

		企業情報
		  
************************************************** */
.corporate_information {
    background-color: #f5f6f9;
    padding: 64px 0;
    margin-bottom: 80px;
}
.co_info_list {
    max-width: var(--content_width);
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0px auto;
}
.co_info_list li {
    width: 17%;
}
@media screen and (max-width: 768px) {
.co_info_list li {
    width: calc(100% / 2 - 40px);
    margin: 0 20px 40px 20px;
}
}

.co_info_list li a {
    display: block;
    text-decoration: none;
}
.co_info_list li a img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
	object-fit: cover;
    margin-bottom: 10px;
}
.youtube_text {
    color: #E40313;
    font-weight: bold;
    font-family: Arial, Helvetica, sans-serif;
}

.co_info_title {
    display: block;
    font-size: 1.1rem;
    text-align: center;
}
/* 社長メッセージ */
.message_block {
    
}
.message_block .wp-block-column:first-child img {
    border-radius: 12px;
    box-shadow: 0px 3px 16px rgba(0,0,0,0.2);
}
.message_block .wp-block-column:last-child {
    padding-left: 64px;
}
.president_title {
    margin-bottom: 0!important;
}
@media screen and (max-width: 768px) {
 .message_block .wp-block-column:first-child figure {
    margin: 0 auto 64px auto;
}
.message_block .wp-block-column:last-child {
    padding-left: 0px;
}    
}

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

		採用情報
		  
************************************************** */

.recruit_point_h3 {
    color: #fff;
    font-size: 1.7rem;
    text-align: center;
    background-color: #e50012;
    padding: 0.3em 1em;
    margin-bottom: 1.5em;
    border-radius: 100vh;
}

.recruit_cat_wrapp {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}
.recruit_cat_item {
    width: 300px;
    aspect-ratio: 1 / 1;
    margin-bottom: 40px;
}
.recruit_cat_item a {
    display: flex;
    justify-content: center;
    color: #e50012;
    font-size: 1.8rem;
    text-decoration: none;
    padding-top: 40px;
    height: 100%;
    background-color: #f5f6f8;
    border: 1px solid #f5f6f8;
    transition: all 0.5s;
}
.recruit_cat_item a:hover {
    background-color: #fff;
    border: 1px solid #e50012;
}
.shinsotsu a {
    background-image: url(images/recruit/shinsotsu.svg);
    background-repeat: no-repeat;
    background-position: center bottom 32px;
}
.chuto a {
    background-image: url(images/recruit/chuto.svg);
    background-repeat: no-repeat;
    background-position: center bottom 32px;
}
.part a {
    background-image: url(images/recruit/part.svg);
    background-repeat: no-repeat;
    background-position: center bottom 32px;
}

/* 3つのポイント */
.recruit_point {
    display: flex;
    justify-content: space-between;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.16);
    border-radius: 30px;
    overflow: hidden;
    margin-bottom: 64px;
}
.recruit_point_image {
    width: 50%
}
.recruit_point_image img {
    display: block;
    width: 100%;
    height: auto;
}
.recruit_point_txt {
    width: 50%;
    padding: 2em;
    background-color: #fff;
}
.recruit_point_txt p {
    line-height: 1.8em;
    margin-bottom: 1em;
}
@media screen and (max-width: 768px) {
.recruit_point {
    flex-direction: column;
}
.recruit_point_image {
    width: 100%
}
.recruit_point_txt {
    width: 100%;
}    
}

/* こちらも合わせてご確認ください。 */
.related_info {
    display: flex;
    flex-wrap: wrap;
}
.related_info li {
    aspect-ratio: 3.3 / 1;
    width: calc(100% / 4 - 32px);
    margin: 0 16px 32px 16px;
}
.related_info li a {
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #e50012;
    font-size: 1.125rem;
    width: 100%;
    height: 100%;
    border: 1px solid #ccc;
    border-radius: 8px;
    transition: all 0.6s;
}
.related_info li a:hover {
    border: 1px solid #e50012;
}
@media screen and (max-width: 768px) {
.related_info li {
    aspect-ratio: inherit;
    width: 80%;
    margin: 0 auto 16px auto;
}
.related_info li a {
    padding: 0.5em;
}    
}

.recruitment_address {
    font-size: 1.125rem;
    text-align: center;
    line-height: 1.8em;
    margin-bottom: 1em;
}
.recruitment_tel {
    font-weight: bold;
    text-align: center;
}
.rcrt_tel {
    font-size: 1.5rem;
}
.rcrt_number {
    color: #e50012;
    font-size: 2rem;
}

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

		新着情報
		  
************************************************** */
.news_area {
	padding: 0 0 80px 0px;
}
.news_list {
	list-style: none;
	margin-bottom: 30px;
	border-top: 1px solid #d0d0d0;
}
.news_list li {
	vertical-align: middle;
	padding: 20px;
	border-bottom: 1px solid #d0d0d0;
}
.news_list li:hover {
	color: #000;
	background-color: #f7f7f7;
}
.news_list li a {
	color: #000;
	display: flex;
	align-items: center;
	text-decoration: none;
}
.news_time {
	font-size: 0.9rem;
	color: #E40313;
	width: 8em;
    margin-right: 24px;
}
.news_title {
	
}
/* ***** カテゴリアイコン　新着一覧 ***** */
.news_cat {
    width: 10%;
}
.news_icon {
    min-width: 7em;
	color: #fff;
	font-size: 0.6rem;
	font-weight: bold;
	text-align: center;
	padding: 1px 2px;
	border-radius: 1px;
    margin-right: 32px;
}
.notice {
	background-color: var(--brand_color);
}
.media {
    background-color: #009EE7;
}
.campaign {
	background-color: #24A73A;
}

.new_mark {
    font-size: 0.7rem;
    font-weight: bold;
    color: #e2041b;
    margin-left: 0.5em;
    font-family: Arial, Helvetica, sans-serif;
}

/* news　一覧を見るボタン */
.news_all a {
	color: #000;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 0.9rem;
	text-decoration: none;
	background-color: #dddcd6;
	width: 16em;
	padding: 0.5em 2em;
	margin: 0px auto;
}
.news_all a:hover {
    background-color: #E6E5E0;
}
@media screen and (max-width: 768px) {
.news_list li {
	padding: 10px 20px;
}	
.news_list li a {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.news_time {
	width: 100%;
    font-size: 0.875rem;
    margin-bottom: 0.4em;
}    
.news_cat {
	display: inline-block;
}	
.news_date {	
	display: inline-block;
}
.news_text {
	display: block;
}
}

.btm96 {
	margin-bottom: 96px;
}

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

		商品一覧
		  
************************************************** */
.product_title2 {
    font-size: 1.75rem;
    text-align: center;
    padding-bottom: 0.5em;
    margin-bottom: 1.5em;
    border-bottom: 2px solid #e50012;
}
.product_list {
    display: flex;
    flex-wrap: wrap;
    background-color: #f5f6f9;
    padding: 32px 16px 0px 16px;
    margin-bottom: 80px;
}
.product_list_item {
    width: calc(100% / 4 - 28px);
    aspect-ratio: 1 / 1;
    margin: 0 14px 32px 14px;
    background-color: #fff;
    border: 1px solid #dedede;
}
@media screen and (max-width: 768px) {
.product_list {
    padding: 32px 8px 0px 8px;
}    
.product_list_item {
    width: calc(100% / 2 - 16px);
    margin: 0 8px 32px 8px;
    padding-bottom: 8px;
}    
}
.new_item {
    position: relative;
}
.new_item::after {
    position: absolute;
    left: 0;
    top: 0;
    content: url(images/product/new.svg);
    pointer-events: none;
}

.product_list_item a {
    color: #e50012;
    display: block;
    text-decoration: none;
}
.product_list_item a:hover {
    text-decoration: underline;
}
.product_image {
    padding-top: 10px;
}
.product_image img {
    display: block;
    width: 100%;
    height: 100%;
    
    max-height: 200px;
    object-fit: contain;
}
.product_name {
    font-size: 1rem;
    text-align: center;
}

.producut_text {
    font-size: 0.95rem;
    text-align: center;
    line-height: 2em;
    margin-bottom: 2em;
}
.gift_banner {
    width: 740px;
    height: 220px;
    background-color: #ddd;
    margin: 0 auto 64px auto;
}
.gift_banner a img {
    width: 100%;
    height: auto;
}
@media screen and (max-width: 768px) {
.gift_banner {
    width: 100%;
    height: auto;
}    
}

.renewal_btn_area {
    display: flex;
    flex-wrap: wrap;
}
.discontinued_btn {
    margin-bottom: 64px;
    margin: 0 32px 32px 32px;
}
.discontinued_btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    max-inline-size: max-content;
    font-size: 1rem;
    text-decoration: none;
    padding: 1em 5em;
    border: 1px solid #cdcdcd;
    background-image: url(images/product/end_arrow.svg);
    background-repeat: no-repeat;
    background-position: left 24px center;
}
.discontinued_btn a:hover {
    color: #e50012;
    background-color: #f5f6f9;
}

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

		フジジンのこだわり固定ページ
		  
************************************************** */
.kodawari_column {
    display: flex;
    justify-content: space-between;
}
.kodawari_column img {
    border-radius: 8px;
    box-shadow: 0px 6px 12px rgba(0,0,0,0.2);
}
.kodawari_column .wp-block-column {
    flex-grow: inherit!important;
    flex-basis: 46%!important;
}

.method_link {
    display: flex;
}
.method_item {
    width: calc(100% / 3 - 64px);
    margin: 0 32px;
    aspect-ratio: 3 / 1;
}
/* 工場見学ページのリンクボタン */
.method_item_visit {
    width: 30%;
    margin: 0 auto;
    aspect-ratio: 3 / 1;
}

.method_item a,
.method_item_visit a{
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    color: #fff;
    font-size: 1.375em;
    text-decoration: none;
    padding-left: 1em;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
    box-shadow: 0px 6px 12px rgba(0,0,0,0.2);
}
.method_item a:hover,
.method_item_visit a:hover {
    opacity: 0.8;
}
#method_soysauce {
    background-image: url(images/kodawari/method_soysauce.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
#method_miso {
    background-image: url(images/kodawari/method_miso.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
#method_seasoning {
    background-image: url(images/kodawari/method_other.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
/* よくある質問へのリンクボタン */
.faq_link {
	max-inline-size: max-content;
}
.faq_link a {
    color: #e50012;
    font-size: 1rem;
    text-decoration: none;
    display: block;
    background-color: #f5f6f8;
    padding: 0.2em 1em;
    border: 2px solid #e50012;
    border-radius: 4px;
    transition: all 0.4s;
}
.faq_link a:hover {
    color: #fff;
    background-color: #e50012;
}

@media screen and (max-width: 768px) {
.method_link {
    flex-direction: column;
}
.method_item {
    width: 85%;
    margin: 0 auto 32px auto;
}
.method_item_visit {
    width: 80%;
    margin: 0 auto 32px auto;
}    
}

/* 富士屋甚兵衛 */
.fujiyajinbei {
    width: 50%;
    margin: 0 auto 64px auto;
}
.fujiyajinbei img {
    display: block;
    width: 100%;
    height: auto;
    box-shadow: 0px 6px 12px rgba(0,0,0,0.2);
}
@media screen and (max-width: 768px) {
.fujiyajinbei {
    width: 85%;
}    
}

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

		SDGs
		  
************************************************** */
.sdgs01 {
    background-image: url(images/sdgs/sdgs01.svg);
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 64px;
    min-height: 48px;
    display: flex;
    align-items: center;
    margin-bottom: 0.5em!important;
}
.sdgs02 {
    background-image: url(images/sdgs/sdgs02.svg);
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 64px;
    min-height: 48px;
    display: flex;
    align-items: center;
    margin-bottom: 0.5em!important;
}
.sdgs03 {
    background-image: url(images/sdgs/sdgs03.svg);
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 64px;
    min-height: 48px;
    display: flex;
    align-items: center;
    margin-bottom: 0.5em!important;
}
.sdgs04 {
    background-image: url(images/sdgs/sdgs04.svg);
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 64px;
    min-height: 48px;
    display: flex;
    align-items: center;
    margin-bottom: 0.5em!important;
}
.sdgs05 {
    background-image: url(images/sdgs/sdgs05.svg);
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 64px;
    min-height: 48px;
    display: flex;
    align-items: center;
    margin-bottom: 0.5em!important;
}
.sdgs07 {
    background-image: url(images/sdgs/sdgs07.svg);
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 64px;
    min-height: 48px;
    display: flex;
    align-items: center;
    margin-bottom: 0.5em!important;
}
.sdgs08 {
    background-image: url(images/sdgs/sdgs08.svg);
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 64px;
    min-height: 48px;
    display: flex;
    align-items: center;
    margin-bottom: 0.5em!important;
}
.sdgs11 {
    background-image: url(images/sdgs/sdgs11.svg);
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 64px;
    min-height: 48px;
    display: flex;
    align-items: center;
    margin-bottom: 0.5em!important;
}
.sdgs12 {
    background-image: url(images/sdgs/sdgs12.svg);
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 64px;
    min-height: 48px;
    display: flex;
    align-items: center;
    margin-bottom: 0.5em!important;
}
.sdgs14 {
    background-image: url(images/sdgs/sdgs14.svg);
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 64px;
    min-height: 48px;
    display: flex;
    align-items: center;
    margin-bottom: 0.5em!important;
}
.sdgs15 {
    background-image: url(images/sdgs/sdgs15.svg);
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 64px;
    min-height: 48px;
    display: flex;
    align-items: center;
    margin-bottom: 0.5em!important;
}
.sdgs17 {
    background-image: url(images/sdgs/sdgs17.svg);
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 64px;
    min-height: 48px;
    display: flex;
    align-items: center;
    margin-bottom: 0.5em!important;
}

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

		footer
		  
************************************************** */
.global_footer {
	background-color: #f5f6f9;
	padding-top: 24px;
}

#menu-footer {
    display: flex;
    justify-content: center;
    margin-bottom: 64px;
}
#menu-footer li {
    padding: 0 1em;
    border-right: 1px solid #b4b4b4;
}
#menu-footer li:last-child {
    border-right: none;
}
#menu-footer li a {
    color: var(--brand_color);
    text-decoration: none;
}
#menu-footer li a:hover {
    text-decoration: underline;
}
@media screen and (max-width: 768px) {
#menu-footer {
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 32px;
}    
#menu-footer li {
    width: 50%;
    text-align: center;
    padding: 0;
    margin-bottom: 1em;
}
#menu-footer li a {
    font-size: 0.9rem;
} 
#menu-footer li:nth-child(odd) {
    border-right: 1px solid #b4b4b4;
} 
#menu-footer li:nth-child(even) {
    border-right: none;
}     
}

.footer_wrap {
    margin-bottom: 64px;
    display: flex;
    justify-content: space-between;
}
.footer_address dl {
    display: flex;
    }
.footer_address dl dt {
    background-image: url(images/footer_logo.svg);
    background-repeat: no-repeat;
    background-position: left center;
    text-align: center;
    padding-left: 64px;
    padding-right: 44px;
    margin-right: 44px;
    border-right: 1px solid #d9dadb;
    min-height: 50px;/* BG image height */
}
.footer_address dl dd {
    font-size: 0.875rem;
    padding-right: 44px;
    border-right: 1px solid #d9dadb;
}
.fadd_cname {
    font-size: 1.06rem;
    font-weight: bold;
}
.fadd_cname_en {
    display: block;
    font-size: 0.8rem; 
}
/* Copyright */
.copyright {
	text-align: center;
    background-color: var(--brand_color);
    padding: 16px;
}
.copyright small {
    color: #fff;
	font-size: 0.8rem;
}
@media screen and (max-width: 768px) {
.footer_wrap {
    flex-direction: column;
}    
.footer_address {
    padding: 0 2em;
    margin-bottom: 2em;
}    
.footer_address dl {
    flex-direction: column;
}
.footer_address dl dt {
    border-right: none;
    min-height: 50px;
    padding-right: 0;
    margin-bottom: 1em;
}
.footer_address dl dd {
    border-right: none;
    padding-right: 0;
}
.fadd_address {
    display: block;
}    
}

.footer_social {
    display: flex;
}
.sns_item {
    width: 48px;
    margin: 0 12px;
}
.sns_item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

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

		トップへ戻るボタン
		  
************************************************** */
#page-top {
    position: fixed;
    bottom: 50px;
    right: 15px;
}
#page-top a {
	font-size: 14px;
	color: #fff;
	font-family: "Arial Black", Gadget, sans-serif;
	text-decoration: none;
	text-align: center;
	width: 60px;
	height: 60px;
	line-height: 60px;
	background-color: #e50012;
	display: block;
	border-radius: 50%;
    transition: all 0.3s;
}
#page-top a:hover {
    text-decoration: none;
	opacity: 0.7;
}

/* レシピカテゴリ確認用 */
.kakunin {
    margin-bottom: 40px;
}

/* 終売商品 */
.end_sale_wrapper {
    display: flex;
    flex-wrap: wrap;
    margin: 64px auto;
}
.end_sale_wrapper li {
    width: calc(100% / 4 - 32px);
    margin: 0 16px 40px 16px;
    padding: 16px 10px;
    border: 1px solid #dedede;
    border-radius: 8px;
}
.end_sale_wrapper li a {
    text-decoration: none;
}
.end_sale_wrapper h2 {
    font-size: 0.95rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 8px;
}
.end_date {
    font-size: 0.9rem;
    text-align: center;
}
.end_product_image {
    aspect-ratio: 1 / 1;
}
.end_product_image img {    
    width: 100%;
    height: 100%;
    object-fit: contain;
}
@media screen and (max-width: 768px) {
.end_sale_wrapper {
    flex-direction: column;
}
.end_sale_wrapper li {
    width: 85%;
    margin: 0 auto 40px auto;
}    
}

/* 詳細ページ */
.end_product_detail {
    margin-bottom: 80px;
}
.end_product_image_detail {
    aspect-ratio: 1 / 1; 
    width: 30%;
    margin: 0 auto 40px auto;
}
.end_product_image_detail img {    
    width: 100%;
    height: 100%;
    object-fit: contain;
}
@media screen and (max-width: 768px) {
.end_product_image_detail {
    width: 70%;
}
}

/* 企業情報 */
.about_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 80px;
}
.about_list li {
    position: relative;
    width: 45%;
    margin-bottom: 56px;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media screen and (max-width: 768px) {
.about_list {
    flex-direction: column;
}
.about_list li {
    width: 85%;
    margin: 0 auto 32px auto;
}
}

.about_list li a {
    text-decoration: none;
    transition: 0.5s;
}
.about_list li a:hover {
    opacity: 0.8;
}
.about_item_image img {
    display: block;
    width: 100%;
    height: auto;
    border-bottom-left-radius: 0px;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}
.about_list li a h2 {
    font-size: 1.2rem;
    color: #fff;
    text-align: center;
    background-color: #e50012;
    padding: 0.4em 1em;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}

.about_caption {
    opacity: 0;
    position: absolute;
    max-inline-size: max-content;
    font-size: 1rem;
    line-height: 1.8em;
    color: #fff;
    padding: 1em;
    background-color: rgba(0,0,0,0.55);
    transition: 0.7s;
    pointer-events: none;
}
.about_list li:hover .about_caption {
    opacity: 1;
}
/* 企業情報 */
.policy3 {
    color: #e50012;
    font-size: 1.5rem!important;
    letter-spacing: 0.5em;
    background-color: #e5e4e6!important;
    padding: 0.2em 2em!important;
    border-radius: 100vh;
}
/* 沿革 */
.enkaku_table img {
    margin: 16px 10px 10px 10px;
    border-radius: 10px;
    box-shadow: 0px 2px 6px rgba(0,0,0,0.25);
}
@media screen and (max-width: 768px) {
.enkaku_table table th {
    white-space: nowrap;
}
}
    
/* 業務用商品 */
.business_wrapper {
    display: flex;
    flex-wrap: wrap;
}
.business_wrapper li {
    text-align: center;
    width: calc(100% / 5 - 40px);
    margin: 0 20px 40px 20px;
}
.pro_use_image {
    aspect-ratio: 1 / 1; 
}
.business_wrapper li img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.business_detail {
    text-align: center;
    margin-bottom: 80px;
}

/* よくある質問 */
.q_and_a_termlist {
    display: flex;
    flex-wrap: wrap;
    background-color: #f5f6f8;
    padding: 24px 16px 8px 16px;
    margin-bottom: 48px;
}
.q_and_a_termlist li {
    width: calc(100% / 4 - 20px);
    margin: 0 10px 16px 10px;
}
.qa_style figure {
    margin-left: 1em!important;
}

@media screen and (max-width: 768px) {
    .q_and_a_termlist {
    flex-direction: column;
}
.q_and_a_termlist li {
    width: 100%;
    margin: 0 auto 16px auto;
}
}
.q_and_a_termlist li a {
    font-size: 0.9rem;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.8em 0.4em;
    background-color: #fff;
    border: 1px solid #ababab;
    border-left: 3px solid #e50012;
    border-radius: 4px;
}
.q_and_a_termlist li a:hover {
    color: #e50012;
}

.qa_cat_title {
    color: #e50012;
    font-size: 1.3rem;
    margin-bottom: 0.5em;
}
.qa_cat_list {
    font-size: 0.9rem;
}
.qa_cat_list li {
    margin-bottom: 0.5em;
}
.qa_cat_more {
    font-size: 0.875rem;
    padding-left: 2em;
    margin-bottom: 1em;
}
.question_list {
    list-style: none!important;
    padding-left: 0!important;
    margin-bottom: 64px!important;
}
.question_list li a {
    text-decoration: none;
    display: flex;
    margin-bottom: 0.8em;
}
.q_mark {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background-color: #beafb1;
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1rem;
    width: 28px;
    height: 28px;
    aspect-ratio: 1 / 1;
    margin-right: 0.6em;
    border-radius: 50%;
    margin-top: 4px;
}
.question_list li a:hover .q_title {
    text-decoration: underline;
    color:  #e50012;
}


/* よくある質問　詳細ページ */
.question_title {
    display: flex;
    align-items: center;
    margin: 2em 0 2.5em 0;
}
.qmark {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #beafb1;
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 2rem;
    width: 48px;
    height: 48px;
    aspect-ratio: 1 / 1;
    margin-right: 0.6em;
    border-radius: 50%;
}
.qtitle {
    font-size: clamp(1.2rem, 0.945rem + 1.27vw, 1.9rem); 
}
.amark {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #e50012;
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 2rem;
    width: 48px;
    height: 48px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    margin-bottom: 0.6em;
    
}

/* レシピ　ページャー */
.page-numbers {
    font-size: 0.875rem;
    display: flex;
    margin-bottom: 40px;
}
.page-numbers li a { 
    display: block;
    text-decoration: none;
    padding: 4px 10px;
    margin: 0px 4px;
    border: 1px solid #ababab;
    border-radius:3px;
}
.page-numbers li span {    
    display: block;
    color: #fff;
    padding: 4px 10px;
    margin: 0px 4px;
    border: 1px solid #e50012;
    border-radius: 3px;
    background-color: #e50012;
}
@media screen and (max-width: 768px) {
.page-numbers {
    flex-wrap: wrap;
}
.page-numbers li {
    margin-bottom: 8px;
}    
}

/* お問い合わせフォーム選択リスト */
.form_choice_list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 40px;
}
.choice_item {
    width: calc(100% / 4 - 32px);
    margin: 0 16px 32px 16px;
}
.choice_item a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #e50012;
    text-decoration: none;
    line-height: 1.3em;
    background-color: #f5f6f8;
    border: 2px solid #e50012;
    border-radius: 8px;
    transition: all 0.5s;
    height: 4em;
    padding: 0 1em;
}
.choice_item a:hover {
    color: #fff;
    background-color: #e50012;
}
@media screen and (max-width: 768px) {
.choice_item {
    width: 95%;
    margin: 0 auto 20px auto;
}
.choice_item a {
    height: auto;
    padding: 0.6em 1em;
}    
}

/* お問い合わせフォーム */
.wpcf7 {
    padding: 3em;
    background-color: #f5f6f9;
    border-radius: 16px;
    margin-bottom: 48px;
}
.inquiry_form {
    margin-bottom: 40px;
}
.inquiry_form div {
    display: flex;
    align-items: center;
    margin-bottom: 24px;
}
.inquiry_form dt {
    width: 30%;
    text-align: right;
    padding-right: 2em;
}
.inquiry_form dd {
}
.radio_label label {
    display: flex;
}
.radio_label label input {
    margin-right: 8px;
}
input,
textarea,
select {
    padding: 0.5em;
}
/*iPhoneデザインリセット*/
@media screen and (max-width: 768px) {
.inquiry_form select {
    -webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
    background-color: #fff;
    border: 1px solid #767676;
    border-radius: 3px;
}  
}

@media screen and (max-width: 768px) {
.wpcf7 {
    padding: 1.2em;
}    
.inquiry_form div {
    flex-direction: column;
    align-items: flex-start;
} 
.inquiry_form dt {
    width: 100%;
    text-align: left;
    padding-right: 0;
    margin-bottom: 8px;
}
.your_mail,
.addr,
.your-message {
    width: 100%;
}    
}


.must::after {
    content: "※必須";
    font-size: 0.75rem;
    color: #e50012;
    padding-left: 0.5em;
}
.consent_check {
    margin-left: 0;
} 
.consent_check {
/*    margin-left: 30%;*/
    text-align: center;
    margin-bottom: 24px;
}
.your_mail {
    width: 30em;
}
.addr {
    width: 30em;
}
.your-message {
    width: 30em;
}
span.wpcf7-list-item {
margin-top:5px;
display: block;
}
.form_remarks {
    font-size: 0.85rem;
}

.policy_txt {
    font-size: 0.9rem!important;
    line-height: 1.5em!important;
    padding: 1em;
    border: 1px solid #ddd;
    border-radius: 8px;
    max-inline-size: max-content;
    margin: 0 auto 24px auto!important;
}
.submit_btn_wrap {
    text-align: center;
}
.submit_btn {
    color: #fff;
    font-size: 1.1rem;
    background-color: #e50012;
    padding: 0.3em 1em;
    border: 1px solid #e50012;
    border-radius: 5px;
    box-shadow: 0px 2px 6px rgba(0,0,0,0.2);
    margin-left: 72px;/*spinnerアニメの分右へ*/
}
.submit_btn:hover {
    background-color: #C5000F;
    box-shadow: 0px 0px 4px rgba(0,0,0,0.2);
}

.mail_form_btn {
    text-align: center;
    margin: 64px auto!important;
}
.mail_form_btn a {
    color: #fff;
    text-decoration: none;
    background-color: #e50012;
    padding: 1em 2em;
    border-radius: 8px;
    box-shadow: 0px 2px 10px rgba(0,0,0,0.1);
    transition: all 0.5s;
}
.mail_form_btn a:hover {
    color: #e50012;
    background-color: #f5f6f8;
    border: 2px solid #e50012;
}
.acceptance_btn {
    margin-bottom: 0.5em!important;
}
.acceptance_btn::after {
    content: "※必須";
    color: #e50012;
    font-size: 0.75rem;
    display: block;
    margin: 0 auto;
    
}
.wpcf7-submit:disabled {
background-color: #999;
}
/*reCaptcha*/
.grecaptcha-badge {
    visibility: hidden;
}

/* テスト//////////////////////////////////////////////////////////////////////////////////////////////////// */
.oya {
    display: flex;
    justify-content: space-between;
    max-width: 1000px;
    margin: 0 auto;
}
.ko {
    width: 30%;
    background-color: #dedede;
    display: flex;
    flex-direction: column;
}
.mago1 {
    aspect-ratio: 2 / 1;
    max-height: 150px;
    margin-bottom: 8px;
}
.mago1 img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mago2 {   
    font-size: 1rem;
    line-height: 1.8em;
    flex-grow: 1;
}
.mago3 {
    font-size: 0.9rem;
    margin-top: 1em;
}

/* JSでOGP取り込みテスト */
.ogp2recipe {
    display: inline-block;
    width: 16%;
    margin: 0 24px 40px 24px;
}
#demoLink {
    display: block;
}
.demo_space {
    aspect-ratio: 1 / 1;
    margin-bottom: 8px;
}
#demoImage {
    width: 100%;
    height: 100%;
    object-fit: cover;
} 
#demoTitle {
    
}
/* レシピのジャンル */
.standard_recipe_title {
    color: #e50012;
    font-size: 1.25rem;
    font-weight: bold;
    margin: 1em 1em 0.3em 1em;
}
.genre_area {
    display: flex;
    flex-wrap: wrap;    
}
.genre_item {
    width: calc(100% / 3 - 32px);
    aspect-ratio: 3 / 1;
    margin: 8px 16px;
}
.genre_item a {    
    display: flex;
    align-items: center;
    height: 100%;    
    text-decoration: none;
    background-color: #f5f6f8;
    transition: all 0.4s;
}
.genre_icon {
    height: 100%;
    aspect-ratio: 1 / 1;
}
.genre_icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.genre_title {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
/* おいしいレシピ */
.section_style a {
    color: #E46600;
    font-size: 1.2rem;
}
.section_style a:hover {
    opacity: 0.8;
    color: #fff;
    background-color:#EB6400; 
}
/* 定番レシピ */
.genre_style a {
    color: #e50012;
    font-size: 1.2rem;
}
.genre_style a:hover {
    opacity: 0.8;
    color: #fff;
    background-color:#e50012; 
}
/* その他レシピ */
.use_style a {
    color: #802100;
    font-size: 1rem;
}
.use_style a:hover {
    opacity: 0.8;
    color: #fff;
    background-color:#802100; 
}
@media screen and (max-width: 768px) {
.genre_item {
    width: 90%;    
    aspect-ratio: 4 / 1;
    margin: 8px auto;
}    
}

/* 工場見学 */
.iso22000 {
    color: #fff!important;
    background-color: #e50012;
    padding: 0.2em 0.5em;
    max-inline-size: max-content;
    margin: 0 0 0 auto!important;
}
/* 工場見学の写真 */
.factory_image {
    width: 80%;
    margin: 0 auto 48px auto;
}
.factory_image img {
    width: 100%;
    height: auto;
    border-radius: 12px;
}
@media screen and (max-width: 768px) {
.factory_image {
    width: 95%;
}    
}
/*とっくりこだぬき*/
.mamedanuki_banner {
    width: 300px;
    margin: 0 auto 40px auto;
}
.mamedanuki_banner img {
    width: 100%;
    height: auto;
}

