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

*,
*:before,
*:after {
	margin: 0;
	padding: 0; 
	-webkit-box-sizing: inherit;
	box-sizing: inherit; }

html {
	max-width: 100%;
	font-family: "Meiryo";
	line-height: 1.5em;
	-webkit-text-size-adjust: 100%;
	/*ボタンcss*/
	-webkit-box-sizing: border-box;
  	box-sizing: border-box;
  	font-size: 62.5% !important;/*rem算出をしやすくするために*/  }
  	
h2,h3,h4 {
	font-family: "游明朝体", "Yu Mincho", "YuMincho", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	color: #000;
	font-size: 62.5% !important;/ }
		
h1 {
	width: 100%; }

h2 {
	font-size: 3rem !important;
	padding: 30px !important;
	line-height: 150%; }
		
h3 {
	font-size: 2rem !important;
	line-height: 180%;
	margin-bottom: 50px; }

h4 {
	font-size: 2.2em !important;
	letter-spacing:0.1em;
	line-height: 100%;
	padding-bottom:10px !important; }
		
h4 span {
	font-size: 0.5em !important;
		letter-spacing:0.2em;}


p {
	font-size:1.2rem !important; }

p .date {
	font-weight: bold; }

p .news_text {
	white-space: nowrap;
	font-weight: normal;
	padding-left:50px; }

p,li {
	font-size: 10px; }

small {
	font-size: 1em;
	font-family: "Meiryo"; }

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

a:visited {
	color:#000; }

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

a:active {
	color:#000; }

a:hover img {
  	opacity: 0.9; /* 透明度を設定 */
  	-moz-opacity:0.9; /* Firefoxの旧仕様をサポート */
  	filter: alpha(opacity=90); /* 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; }

/*--------ボタンcss--------*/
.btn-local,
a.btn-local,
button.btn-local {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5;
	position: relative;
	display: inline-block;
	padding: 1rem 4rem;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	letter-spacing: 0.1em;
	color: #212529;
	border-radius: 0.5rem; }

#link_btm {
	margin: 50px 0; }

a.btn-border {
  	border-radius: 0; }

a.btn-border:before,
a.btn-border:after {
  	position: absolute;
	width: 100%;
  	height: 1px;
  	content: '';
 	-webkit-transition: all .3s;
  	transition: all .3s;
	background: #000; }

a.btn-border:before {
  	top: 0;
  	left: 0; }

a.btn-border:after {
  	right: 0;
 	bottom: 0; }

a.btn-border:hover:before,
a.btn-border:hover:after {
  	width: 0; }

/*------------------------*/

.bold {
	font-weight:bold; }

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

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

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

body {
	width: 100%;
	text-align: center;
	font-size: 12px;
	color: #000; }

#wrapper {
	margin: 0 auto;
	background-color: #fff;
	width: 100%;

	height: auto; }
		

#top_images {
	width:100%;
	height: auto;
	margin-bottom:100px; }

#topic,
#futon_cover,
#product_line,
#news {
	margin-left: 10%;
	margin-right: 10%;
	margin-bottom: 60px; }

#home_collection {
	padding:3% 15%;
	background-color: #f2efe5;
	margin-bottom: 60px; }
	
#topic .link_box,
#home_collection .link_box {
	float: left;
	width: 33.3%;
	height: auto;
	padding:1.5%; }
		
#futon_cover .link_box,
#product_line .link_box{
	float: left;
	width: 20%;
	height: auto;
	padding:1%; }

.news {
    display: flex;
    justify-content: center; /* 横方向中央寄せ */
}

#news_contents {
    font-family: "Meiryo";
    font-size: 1.2rem;
    margin: 1% auto; /* 横中央寄せ */
    display: flex;
    max-width: 600px; /* 親の幅を制限 */
    flex-wrap: wrap;   /* 狭い画面では折り返し */
}

.news_date {
    flex: 0 0 7%;    /* 幅固定 */
    margin: 0 30px 0 0 ;
        line-height:2em;
}

.news_text {
    flex: 1;          /* 残りを全部使う */
    margin-bottom: 5px;
    text-align: left;
    line-height:2em;
}

@media screen and (max-width: 750px) {
.news_date {
        line-height:1.8em; }

.news_text {
    line-height:1.8em; }
}

.clear {
	clear: both; }


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

.sp-only{
	display: none; }

@media screen and (max-width: 1350px) {
#futon_cover .link_box,
#product_line .link_box {
	width:25%;
	padding:1.5%; }

.news_date {
	width:10%; }
	
.news_text {
	width:90%; }
}

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

h2,h3 {
	font-family: 'Noto Serif JP', "游明朝体", serif;
	color: #000; }

h2 {
	font-size: 2rem !important; }

h3 {
	font-size: 1.2rem !important; }

h4 {
	font-size: 1.5em !important; }


#top_images {
	padding-top:60px;
	margin-bottom:20px; }
	
#topic img{
	width:100%;
	margin: 10px 0; }

#topic li{
	text-align: left; }

#futon_cover,
#product_line,
#news {
	margin-left: 8%;
	margin-right: 8%; }

#home_collection {
	padding:8% 8%; }
	
#home_collection .link_box,
#futon_cover .link_box,
#product_line .link_box {
	width:50%;
	padding:1.5%; }

#home_collection .link_box p,
#futon_cover .link_box p,
#product_line .link_box p {
	margin-top:2px; }
	
.news_date {
	width:23%; }
	
.news_text {
	width:77%; }

/* ハンバーガーメニューのスタイル */
.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;           /* メニューが最前面になるように */
}

.menu-btn {
    position: fixed;
    top: 0;
    left: 5px;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 999; }
	
.menu-btn span,
.menu-btn span:before,
.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; /* 回転の基準を中央に*/ }
	
.menu-btn span:before {
    bottom: 8px; }
	
.menu-btn span:after {
    top: 8px; }

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

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

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

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

.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 80;
    background-color: #f2efe5;
	text-align: left;
	padding-bottom: 100px; }
	
.menu-content ul {
    padding: 70px 10px 0; }
	
.menu-content ul li {

    list-style: none; }
	
.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; }
	
.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: -100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background-color: #f2efe5;
    transition: all 0.5s;/*アニメーション設定*/ }

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

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

/*---------------------------------
header
---------------------------------*/
#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; }
	
#h1_area {
	float:left;
	width:50%;
	height:45px;
	text-align: left; }

#h1_area img {
	width:150px; }

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

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

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

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

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

li.menu {
		margin-right:15px;
		font-size:1.5rem; }

@media screen and (max-width: 750px) {
#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; }	

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

#h1_area img {
	width:137px; }	

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

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



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

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

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

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

.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%); }

.popup-text {
	margin: 0; }

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

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

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



/*---カテゴリ一覧サブメニュー---*/


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

.bold {
	font-weight:bold;	}

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

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

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

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

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

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

.submenu.open {
	display: block; }

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

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

#footer li {
	font-size:1.2rem; }

#footer_shopping {
	float: left;
	width: 18%;
	margin-top: 30px;
	margin-left:14%;
	line-height: 2em; }

#footer_forbisinesses {
	float: left;
	width: 21%;
	margin-top: 30px;
	line-height: 2em; }

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

#footer_cashless  img{
	width: 70%;}

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

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

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

#footer_cashless img{
	width: 50%;	}
}

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

 dl.search1 dd button {
 	padding: 0 !important;}
/*---------------------------------
slick
---------------------------------*/
.dots-wrap {
    display: flex;
    justify-content: center; }

.dots-wrap li {
    width: 40px;
    height: 2px;
    margin: 10px 5px;
    background: #ccc;
    cursor: pointer; }

.dots-wrap li:hover,
.dots-wrap li.slick-active {
    background: coral; }

.dots-wrap li button {
    display: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    padding: 0;
    border: none;
    background-color: transparent; }
