@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500&display=swap');
#m_wrapper {
	max-width: 100%;

	line-height: 1.5em;
	-webkit-text-size-adjust: 100%;
	/*ボタンcss*/
	-webkit-box-sizing: border-box;
  	box-sizing: border-box;

	width: 100%;
	text-align: center;
	color: #000;
	margin: 0 auto;
	background-color: #fff;
	height: auto; }

#m_wrapper h1 {
	width: 100%; }

#m_wrapper p {
	font-size:1.2rem !important; }
#m_wrapper a {
	margin:0; }

#m_wrapper span {
	font-size: 12px; }

#m_wrapper small {
	font-size: 1em; }

#m_wrapper a:link {
	color:#000;
	text-decoration: none; }

#m_wrapper a:visited {
	color:#000; }

#m_wrapper a:hover {
	color:#666;
	text-decoration: none; }

#m_wrapper a:active {
	color:#000; }

#m_wrapper a:hover img {
  	opacity: 0.5; /* 透明度を設定 */
  	-moz-opacity: 0.5; /* Firefoxの旧仕様をサポート */
  	filter: alpha(opacity=50); /* IE用 */
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -ms-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s; }

/*------------------------*/
#m_wrapper .bold {
	font-weight:bold; }

#m_wrapper .link_box p {
	text-align: left;
	margin-top: 10px;
	line-height: 1.5em; }

#m_wrapper img {
	width: auto;
	height: auto;
	max-width: 100%;
	border-style: none; }
		
#m_wrapper li {
	list-style: none; }
	
#m_wrapper .clear {
	clear: both; }

#m_wrapper .rev {
	text-align: right;
	margin-top: 60px; }

#m_wrapper .clear {
	clear: both; }

/* PC/スマホ表示切り替え*/
#m_wrapper .pc-only{
	display: block; }

#m_wrapper .sp-only{
	display: none; }

@media screen and (max-width: 750px) {
#m_wrapper {
  overflow-x: clip; }
	
#m_wrapper .pc-only{
	display: none; }
	
#m_wrapper .sp-only{
	display: block; } 

/* ハンバーガーメニューのスタイル */
#m_wrapper .hamburger-menu .menu-content {
  position: fixed;         /* 画面に固定 */
  top: 0;
  right: 0;                /* 右からスライドする場合 */
  width: 100%;              /* 幅はお好みで */
  height: 100vh;           /* 画面いっぱいの高さ */
  overflow-y: auto;        /* 縦スクロールを有効化 */
  -webkit-overflow-scrolling: touch; /* iOSでスムーズスクロール */
  z-index: 998;           /* メニューが最前面になるように */
}

#m_wrapper .menu-btn {
    position: fixed;
    top: 0;
    left: 5px;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 999; }
	
#m_wrapper .menu-btn span,
#m_wrapper .menu-btn span:before,
#m_wrapper .menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #544e3e;
    position: absolute;
	transition: all 0.3s; /* アニメーション追加 */
	transform-origin: center; /* 回転の基準を中央に*/ }
	
#m_wrapper .menu-btn span:before {
    bottom: 8px; }
	
#m_wrapper .menu-btn span:after {
    top: 8px; }

/* メニューオープン時 */
#m_wrapper #menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0); /* 真ん中を透明に */ }

#m_wrapper #menu-btn-check:checked ~ .menu-btn span:before {
    transform: rotate(45deg) translate(5px, 6px); /* 上の線を45°回転して下方向に移動 */ }

#m_wrapper #menu-btn-check:checked ~ .menu-btn span:after {
    transform: rotate(-45deg) translate(5px, -6px); /* 下の線を-45°回転して上方向に移動 */ }

#m_wrapper menu-btn-check {
    display: none; }

#m_wrapper .menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 80;
    background-color: #f2efe5;
	text-align: left;
	padding-bottom: 100px; }
	
#m_wrapper .menu-content ul {
    padding: 70px 10px 0; }
	
#m_wrapper .menu-content ul li {
    list-style: none; }
	
#m_wrapper .menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 15px;
    box-sizing: border-box;
    color:#000;
    text-decoration: none;
    padding: 9px 15px 10px 10px;
    position: relative; }
	
#m_wrapper .menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: -100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background-color: #f2efe5;
    transition: all 0.5s;/*アニメーション設定*/ }

#m_wrapper #menu-btn-check:checked ~ .menu-content {
    left: 0;/*メニューを画面内へ*/ }

#m_wrapper .arrow-text::after {
	content: "›";
	margin-left: 6px;
	font-size: 1.2em;
	vertical-align: middle; }
}

/*---------------------------------
header
---------------------------------*/
#m_wrapper #header {
	position: sticky;
	z-index: 990;
	top: 0;
	height: 120px;
	width: 100%;
	background-color: rgba(255, 255, 255, 0.9);
	border-bottom: solid 1px #ccc;
	padding: 20px 40px; }
	
#m_wrapper #h1_area {
	float:left;
	width:50%;
	height:45px;
	text-align: left; }

#m_wrapper #h1_area img {
	width:150px; }

#m_wrapper .header-banner {
	float:right;
	font-size:1.2rem;  }

#m_wrapper #header_contents {
	float:right;
	width:50%;
	height:45px;
 	display: flex;
 	justify-content: flex-end; }

#m_wrapper .icon {
	float: left;
	width:27px; }

#m_wrapper #header_menu {
	width: 100%;
	height:45px; }

#m_wrapper #header_menu ul {
		float: right;	
		margin-top: 15px;
 		display: flex;
 		justify-content: flex-end; }

#m_wrapper li.menu,
#m_wrapper li.menu, a {
		margin-right:15px;
		font-size: 15px;}

@media screen and (max-width: 750px) {
#m_wrapper #sp-header {
  display: flex;
  justify-content: center; /* 基本的に中央に配置 */
  align-items: center;     /* 縦方向中央 */
  position: fixed;      /* 絶対配置を使う場合の基準にする */
	z-index: 990;
	height: 60px;
	width: 100%;
	padding: 15px 20px 0;
	background-color: rgba(255, 255, 255, 0.9);
	border-bottom: solid 1px #ccc; }	

#m_wrapper #h1_area {
	height:45px;
	width: 100%;
	text-align: center;
	z-index: 1; }

#m_wrapper #h1_area img {
	width:137px; }	

#m_wrapper .icon {
	position: absolute;
	right: 10px;  /* 右端から少し余白 */
	top: 50%;
	transform: translateY(-50%); }

#m_wrapper span.cart-badge {
	right:-5px !important;}
}

/*------------------------*/
#m_wrapper #popup {
	display: none; /* label でコントロールするので input は非表示に */ }

#m_wrapper .popup-open {
	cursor: pointer; /* マウスオーバーでカーソルの形状を変えることで、クリックできる要素だとわかりやすいように */ }

#m_wrapper .popup-overlay {
	  display: none; /* 初期は非表示 */ }

#m_wrapper #popup:checked ~ .popup-overlay {
	display: block;
	z-index: 99999;
	background-color: #00000070;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0; }

#m_wrapper .popup-window {
	width: 400px;
	max-height: 80vh; /* 高さを制限 */
	overflow-y: auto; /* 縦スクロールを有効化 */
	padding: 10px 20px 30px 20px;
	background-color: #ffffff;
	border-radius: 6px;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%); }

#m_wrapper .popup-text {
	margin: 0; }

#m_wrapper .popup-text:not(:last-of-type) {
	margin-bottom: 1em }

#m_wrapper .popup-close {
	cursor: pointer;
	position: absolute;
 	top: -26px;
	right: 0; }

#m_wrapper p.list {
	text-align: left;
	text-indent: 1em;
	line-height: 1em;
	font-size: 1rem; }

#m_wrapper li.list {
	font-size: 14px;
	line-height: 15px;}

/*---カテゴリ一覧サブメニュー---*/
.has-submenu {
	line-height: 1em;}

#m_wrapper .submenu-toggle {
	position: relative;
	padding-right: 1.2em; /* 矢印分の余白を確保 */
	text-decoration: none;
	color: #333; /* 任意 */ }

#m_wrapper .bold {
	font-weight:bold;	}

/* 矢印を付ける */
#m_wrapper .submenu-toggle::after {
	content: "▾";  /* 下向き */
 	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.2em; }

/* ▲ active クラスが付いた時（上向き） */
#m_wrapper .submenu-toggle.active::after {
	content: "▴";  /* 上向き */ }

/* サブメニュー初期状態非表示 */
#m_wrapper .submenu {
	display: none;
	padding-top:15px!important;
	padding-bottom:15px!important;
	z-index: 1000; }

/* 通常のsubmenu（スクロールあり） */
#m_wrapper .submenu.scrollable {
  max-height: 540px;
  overflow-y: auto;
  background-color: #faf8f2;
  margin-bottom:10px;
}

#m_wrapper .submenu li a {
	padding-left: 20px; /* 親よりちょっと右に */ }

/* 表示用クラス */
#m_wrapper .submenu.show {
	display: block; }

#m_wrapper .submenu.open {
	display: block; }

#m_wrapper .list-title {
	text-align: left;
	font-weight: bold;
	line-height: 1.2em;
	margin-top:15px;
	font-size: 1.2rem; }

#m_wrapper .list {
	text-align: left;
	text-indent: 1em;
	line-height: 1em;
	font-size: 1rem; }
	
/*---------------------------------
footer
---------------------------------*/
#m_wrapper #footer {
	width: 100%;
	height: 370px;
	background-color: #f2efe5;
	background-size: cover;
	background-position: center;
	aspect-ratio: 16 / 9; /* アスペクト比を保持してレスポンシブ */
	margin-top:30px ;
	text-align: left; }

#m_wrapper #footer li {
	line-height: 1.2em; }

#m_wrapper #footer li.footer_title,
#m_wrapper #footer li a {
	font-size: 12px; }

#m_wrapper #footer_shopping {
	float: left;
	width: 18%;
	margin-top: 30px;
	margin-left:14%; }

#m_wrapper #footer_forbisinesses {
	float: left;
	width: 21%;
	margin-top: 30px; }

#m_wrapper #footer_information {
	float: left;
	width: 15%;
	margin-top: 30px; }
	
#m_wrapper #footer_cashless {
	float: right;
	width: 18%;
	margin-right:14%;
	margin-top: 30px; }

#m_wrapper #footer_cashless img{
	width: 70%;}

#m_wrapper .footer_title {
	font-weight: bold;
	line-height: 2em; }
	
#m_wrapper #footer_corporate {
	margin-top: 50px;
	padding-bottom: 50px;
	text-align:center;
	font-size:12px; }	

@media screen and (max-width: 750px) {
#m_wrapper #footer {
	float:none !important;
	width: 100%;
	height: 680px;
	padding-top: 20px; }

#m_wrapper #footer_shopping,
#m_wrapper #footer_information,
#m_wrapper #footer_forbisinesses,
#m_wrapper #footer_cashless  {
	float:none !important;
	width: 100%;
	margin: 15px 0 0 5%}

#m_wrapper #footer_cashless img{
	width: 50%;	}
}

#m_wrapper dl.search1 dt {
padding: 12px 10px !important; }

#m_wrapper dl.search1 dd button {
 	padding: 0 !important; }
