@charset "euc-jp";


/*-------------------------------------------
デフォルトスタイルをリセット
-------------------------------------------*/

/*! normalize.css v3.0.2 | MIT License | git.io/normalize */

html {
	font-family:'メイリオ', 'Meiryo','ＭＳ ゴシック','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif; /* 1 */
	-ms-text-size-adjust: 100%; /* 2 */
	-webkit-text-size-adjust: 100%; /* 2 */
}

body {
	margin: 0;
}

article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,
summary {
	display: block;}

audio,canvas,progress,
video {
	display: inline-block; /* 1 */
	vertical-align: baseline; /* 2 */}

audio:not([controls]) {
	display: none;
	height: 0;}

[hidden],
template {
	display: none;
}

a {background-color: transparent;}

a:active,
a:hover {
	outline: 0;}

abbr[title] {
	border-bottom: 1px dotted;}

b,
strong {
	font-weight: bold;}

dfn {
	font-style: italic;}

h1 {
	font-size: 2em;
	margin: 0.2em 0;}

mark {
	background: #ff0;
	color: #000;}

small {
	font-size: 80%;}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;}

sup {
	top: -0.5em;}

sub {
	bottom: -0.25em;}

img {
	border: 0;
  	height:auto;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 1em 40px;
}

hr {
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	height: 0;
}

pre {
	overflow: auto;
}

code,kbd,presamp {
	font-family: monospace, monospace;
	font-size: 1em;
}

button,input,optgroup,select,textarea {
	color: inherit; /* 1 */
	font: inherit; /* 2 */
	margin: 0; /* 3 */
}

button {overflow: visible;}

button,select {
	text-transform: none;}

button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button; /* 2 */
	cursor: pointer; /* 3 */
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {
	line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box; /* 1 */
	padding: 0; /* 2 */
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"] {
	-webkit-appearance: textfield; /* 1 */
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box; /* 2 */
	box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

legend {
	border: 0; /* 1 */
	padding: 0; /* 2 */
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: bold;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td,
th,
ul{
	padding: 0;
	margin:0;
}

.slider{
	width:100%;
  	height:auto;
}

/*-------------------------------------------
clearfix
-------------------------------------------*/

.clearfix::after {
	content:"";
	display: block;
	clear: both;
}
/*-------------------------------------------
共通
-------------------------------------------*/

body {
	background-color: #fafafa;
	color: #212121;
	font-size: 16px;
	/*font-family: "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, Meiryo, sans-serif;*/
}

a {
	text-decoration: none;
	color: #235BA7;
	-webkit-tap-highlight-color: rgba(255, 0, 0, 0);
}
a:active {
	background: rgba(0, 0, 0, 0.1);
}

p {
	line-height: 1.5;
	margin: 0;
}

li{
	list-style: none;
}



/*-------------------------------------------
TOPのheader
-------------------------------------------*/
#outter{}

#wrapper{
	width: 100%;
	margin:0 auto;
	
}

	@media screen and (max-width:880px) {
		#wrapper{
		width: 100%;
		}
	}
	
#fixed{
	position:fixed;
	width:100%;
	top:0;
	z-index:10;
	background-color:#fdfdfd;
}
	


#header{
	display:flex;
	justify-content: space-between;
	align-items: center;
	max-width:1200px;
	margin:0 auto;
 }
 @media screen and (max-width:880px) {
	#header{
		justify-content: space-between;
		margin-left:10px;
		}
 }



.header_left{
	display:flex;
	align-items:center;
	gap:20px;
	}

h1.shopname-text{
	/*position:relative;
	width:33%;*/
	
 }

.company_copy{
	font-size:8px;
	display:block;
}

.free_postage{
	font-size:12px;
}

	 @media screen and (max-width:880px) {
	.free_postage{
		display:none;
		}
}

.header_for_pc{
	display:flex;
	align-items: center;
	gap:15px;
 }
 
 @media screen and (max-width:880px) {
	.header_for_pc{
		display: none;
		}
}

input.keyword{
	padding:10px;
	border-radius:15px;
}



#search_button{
	padding:3px;
}

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




.sub_menu{
	text-align:center;
}

.sub_menu:hover{
	font-weight:bold;
}


.sub_menu span{
	display:block;
	font-size:14px;
  	margin-top:7px;
}

/*カートインならぶるぶるする*/
.buruburu {
    -webkit-animation:buruburu 0.1s infinite linear alternate;
    animation:buruburu 0.1s infinite linear alternate;
}

@-webkit-keyframes buruburu {
    0% {-webkit-transform:translate(0, 0) rotate(-5deg);}
    50% {-webkit-transform:translate(0, -1px) rotate(0deg);}
    100% {-webkit-transform:translate(0, 0)rotate(5deg);}
}

@keyframes buruburu {
    0% {transform:translate(0, 0) rotate(-5deg);}
    50% {transform:translate(0, -1px) rotate(0deg);}
    100% {transform:translate(0, 0)rotate(5deg);}
}



.header_for_sp{
	display: none;
}

@media screen and (max-width:880px) {
	.header_for_sp{
		display: block;
		}
}

@media screen and (max-width:880px) {
	.cart_sp{
		position:relative;
		left:-87px;
	}
}


/*-------------------------------------------
ハンバーガーメニュー
-------------------------------------------*/
.menu-btn {
	position: fixed;
	top: 15px;
	right: 10px;
	display: flex;
	height: 60px;
	width: 60px;
	justify-content: center;
	align-items: center;
	z-index: 90;
	background-color: #235BA7;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
	content: '';
	display: block;
	height: 3px;
	width: 25px;
	border-radius: 3px;
	background-color: #ffffff;
	position: absolute;
}
.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 {
	bottom: 0;
	transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
	top: 0;
	transform: rotate(-45deg);
}

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

/*-------------------------------------------
ハンバーガーメニューのメニュー部分
-------------------------------------------*/
.menu-content {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 100%;/*leftの値を変更してメニューを画面外へ*/
	/*left: 0;/*leftの値を変更してメニューを画面外へ*/
	z-index: 80;
	background-color: #235BA7;
	transition: all 0.5s;/*アニメーション設定*/
}

.menu-content > .search {
	margin:20px 10px 0;
	}
	


.menu-content ul {
	padding: 10px 10px 0;
}
.menu-content ul li {
	border-bottom: solid 1px #ffffff;
	list-style: none;
}
.menu-content > ul > li > a {
	display: block;
	width: 100%;
	font-size:100%;
	box-sizing: border-box;
	color:#ffffff;
	text-decoration: none;
	padding: 9px 15px 10px 0;
	position: relative;
}
.arrow li a::before {
	content: "";
	width: 7px;
	height: 7px;
	border-top: solid 2px #ffffff;
	border-right: solid 2px #ffffff;
	transform: rotate(45deg);
	position: absolute;
	right: 11px;
	top: 16px;
}

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



.sp_list_bottom{
	position:absolute;
	bottom:30px;
	width:100%;
}

.header_controller_sp {
	display:flex;
	justify-content:space-evenly;
	}

ul.header_controller_sp li {
	text-align:center;	
}	
	
ul.header_controller_sp li a {
	color:#ffffff;
}

ul.header_controller_sp span {
	display:block;
}

	

/*-------------------------------------------
ナビゲーションPC
-------------------------------------------*/
#category{
	background-color:#235BA7;
	
	
}

#category_inner{
	display:flex;
	justify-content:space-between;
	position:relative;
	max-width:1200px;
	margin:0 auto;
}


.big_menu{
	display: flex;
	justify-content: center;
}

#category ul{
	/*padding:14px 0;*/
}

#category_inner > ul > li {
	padding:14px 18px;
	border-right:1px solid #fff;
}

#side_category{
	display:flex;
}

#side_category > li:first-child{
	padding-left:18px;
	border-left:1px solid #fff;
	
}

#category_inner > ul > li > a{
	color:#fff;
}

#category_inner > ul > li > a:hover{
	background-color:#568fdc;
}

.category_box ul li:hover{
	opacity:0.8;
	cursor:pointer;
}

/*全体でクリックできる*/
.category_box ul li a{
	display:block;
	width:100%;
	height:100%;
	}




.category_detail{
	border:solid 1px #c8c8c8;
	background:#fdfdfd;
	position:absolute;
	top:49px;
	left:0;
	width:100%;
	z-index:1;
}

.category_box{
	max-width:96%;
	margin:0 auto;
	}
	
.left_touch{
/*	display:flex;*/
/*	align-items:center;*/
}






.category_box h3{
	/*border-bottom:1px solid #c8c8c8;*/
	padding:2px;
	margin:0;
}

.category_box ul{
	display:flex;
	flex-wrap:wrap;
	}

.category_box ul li{
	flex:0 0 16%;
	border:solid 1px #c8c8c8;
	border-radius:15px;
	margin-bottom:10px;
	margin-right:2px;
	padding:8px 0 0 2px;
	height:67px;
	min-width:140px;
	}
	
.left_touch ul li{
	flex:0 0 23%;
}	


	
.category_box  ul li img{
	padding-left:2px;
	vertical-align:middle;
	border-radius:50%;
	border:1px solid #c8c8c8;
	margin-right:5px;
	width:50px;
}	

.text-area{
	vertical-align:middle;
	display:inline-block;
	color:#666666;
	font-weight:bolder;
}



.side_nav ul li{
	border:none;
	height:auto;
	text-align:center;
	padding:0;
	min-width:120px;
	flex:none;
}

.side_nav ul li img{
	display:block;
	margin:0 auto 5px;
	}


/*色々やって非表示へ*/
@media screen and (max-width:880px) {
	#category{
		display:none;
      	}
}

/*一時的に非表示
.category_detail{
	display:none;
	}*/
	
/*-------------------------------------------
スライドショー
-------------------------------------------*/
#top{
	max-width:1200px;
	margin:0 auto;
	padding-top:150px;
	}
@media screen and (max-width:880px) {
#top{
	padding-top:128px;
	}

}
	

.bx-wrapper ul{
	margin:0 auto;	
}


.bx-wrapper img{
	width:100%;	
}

#second_top{
	max-width:1200px;
	margin:0 auto 30px;
	}


.mini-banner ul{
	display:flex;
	justify-content:space-between;
	}
	
.mini-banner ul li{
	margin-right:10px;
	}
	
.mini-banner ul li:last-child{
	margin:0;
}

.mini-banner img{
	width:100%;
}

@media screen and (max-width:880px) {
	.mini-banner ul{
	flex-direction:column;
	}
  .mini-banner ul li{
	margin-bottom:5px;
	margin-right:0px;
	margin-left:0px;
	}

	
}

#news{
	text-align:center;
  	margin:10px;
}

/*-------------------------------------------
サイドバー
-------------------------------------------*/
#main_category_sp{
	display:none;
	}

@media screen and (max-width:880px) {
	/*#leftright_content{	
	display:none;
	}*/
  	#sidebar{
  	display:none;
  }

  
  
	#main_category_sp{
	display:block;
	}
}



#stardard_content{
	max-width:1200px;
	margin:0 auto;
	width:100%;
	}

#leftright_content{
	width:100%;
}


#sidebar{
	float:left;
	max-width:200px;
	width:20%;
}

#sidebar img{
	width:100%;
}

#sidebar h3{
	border:1px solid #c8c8c8;
	padding:3px;
	margin:25px 0;
}

#sidebar ul li{
	margin-bottom:15px;
	}

#sidebar ul li a{
	color:#212121;
	font-size:120%;
}

#sidebar ul li a:hover{
	color:#235BA7;
	font-weight:bold;
}
/*-------------------------------------------
rightコンテンツ
-------------------------------------------*/	

#right_content{
	float:right;
	max-width:950px;
	width:77%;
	}

@media screen and (max-width:880px) {
  #right_content{
	float:none;
	max-width:none;
	width:auto;
	}
}
	



.main_category_pc{
	margin:30px 0;
}

.main_category_pc h3{
	font-size:140%;
	border-bottom:1px solid #c8c8c8;
	
}

.main_category_pc ul{
	display:flex;
	flex-wrap:wrap;
}

.main_category_pc ul li{
	margin-right:20px;
	margin-bottom:20px;
	text-align:center;
}

.main_category_pc ul li img{
	display:block;
	margin-bottom:5px;
	width:120px;
}

.recent_check h3{
    border-bottom: 1px solid #c8c8c8;
}

.recent_check ul {
	display:flex;
	flex-wrap:wrap;
  	gap:5px;
  	justify-content:space-around;
}

.recent_check ul li {
	max-width:200px;
    width:32%;
  	margin-bottom:20px;
  	
	
}

.recent_check ul li:last-child {
	margin-right:0;
}

.recent_check img {
	width:100%;
}

.recent_check span{
	display:block;
}

/*一覧ページ*/
.product span {
    display: block;
}

span.price{
	font-size: 16px;
    text-align: center;
    font-weight: bold;
}

span.ps{
    text-align: center;
    font-size: 12px;
}

span.soldout {
	text-align: center;
	background: #235BA7;
	color: #fff;
	margin-top: 5px;
}

span.restock{
	font-size:70%
}


/*-------------------------------------------
スマホのmainカテゴリ
-------------------------------------------*/	
#main_category_sp{
	margin-top:20px;
}

/* 閉じた状態のサブメニュー */
.menu_sp_open {
	display: none;
	/* 下記は開閉によらず共通の設定 */
	background: #fafafa;
	list-style: none;
	margin-bottom:1px;
}



 .menu_sp_open ul {
	display: flex;
	flex-wrap:wrap;
	background-color:#f8f8f8;
	margin-bottom:-1px;/*liの最後のborder-bottomを隠す*/
}

.menu_sp h3{
	font-size:90%;
}

.menu_sp ul li{
	border:1px solid #c8c8c8;
	padding:5px 0 5px 5px;
	margin-right:-1px
	margin-bottom:-1px;
	width:50%;
	box-sizing:border-box;
	}
	


.menu_sp ul li a{
	display:block;
}



.menu_sp ul li img{
	vertical-align:middle;
	margin-right:5px;
	border-radius:50%;
	border:1px solid #c8c8c8;
	width:50px;
}

.nav-open{
	margin: 0 0 -1px 0;
	padding: 1.5rem;
	background: #ffffff;
	cursor: pointer;
	border:1px solid #c8c8c8;
	position:relative;
}

/*閉じた状態の矢印描画*/
.nav-open:after{
  content:"";
  display:block;
  width:8px;
  height:8px;
  border-top: #235BA7 2px solid;
  border-right: #235BA7 2px solid;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
  position:absolute;
  right: 2%;
  top: 0;
  bottom: 15%;
  margin: auto;
}

/*開いた状態の矢印描画*/
p.active:after{
  content:"";
  display:block;
  width:8px;
  height:8px;
  border-top: #235BA7 2px solid;
  border-right: #235BA7 2px solid;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position:absolute;
  right: 2%;
  top: 7%;
  bottom: 0;
  margin: auto;
}





.sp_search{
	display:none;
}

@media screen and (max-width:880px) {
.sp_search{
	display:block;
}
}


.sp_search {
	background: #235BA7;
}

.sp_search h3 {
    margin: 0 0 0.5rem;
    padding: 20px 20px 0;
    color: #fff;
}

.sp_search .section-inner {
    padding: 0 20px 30px;
}

.pulldown {
    width: 100%;
    height: 40px;
    background: #fff;
    margin: 0 0 15px;
    border: 1px solid #bdbdbd;
}

input[type="text"].keyword--white {
    background: #fff;
    color: #212121;
}

input[type="text"].keyword--small {
    width: 68%;
    margin: 0 10px 0 0;
    height: 40px;
    font-size: 85.71429%;
    padding: 0 10px;
    box-sizing: border-box;
}



.button--small {
    border-radius: 3px;
    font-size: 114.28571%;
    padding: 11px 0 12px;
    width: 10%;
    line-height: 1;
}

.button {
    box-sizing: border-box;
    text-align: center;
    border: none;
    display: inline-block;
}

.button--blue {
    background: #2196f3;
    color: #fff;
}


/*-------------------------------------------
footer
-------------------------------------------*/	
footer{
	width:100%;
	background-color:#EFF5FC;
	padding-top:15px;
	max-width:1200px;
	margin:50px auto 0;
	
}


footer ul{
	display:flex;
	gap:20px;
}

.footer_bottom{
	margin-top:30px;
	
}

.footer_bottom small{
	display:block;
	text-align:center;
	padding-bottom:10px;
}

.footer_bottom ul li{
	width:100%;
}


.center{
	text-align:center;
}
.center-red{
	text-align:center;
	color:red;
}



.pc_footer h3{
	text-align:center;
	font-size:120%;
}




.pc_footer >p > img{
	display:block;
	margin: auto;
	width:90%;
}

#footer_fee{
	margin-bottom:30px;
}

#footer_fee dl,#footer_deadline dl{
	width:75%;
	border-bottom:1px dashed #000;
	margin:14px auto;
}

#footer_fee dt,#footer_deadline dt {
	float:left;
	clear:left;
	width:65%;
	text-indent:2%;
}

#footer_fee dd,#footer_deadline dd { 
	margin-left:80px;
}

#footer_fee h4,{
	text-align:center;
}
#footer_company{
	padding:10px;
	background-color:#ffffff;
	margin:20px 10px 0;
}
#footer_company dt{
	float:left;
	clear:left;
	width:15%;
	text-indent:2%;
	}
	
#footer_company dd { 

}


.sp_footer{
	display:none;	
	}

@media screen and (max-width:880px) {
	.sp_footer{
	display:block;
	}
	.pc_footer{
	display:none;
	}
	footer{
	margin-top:0;
	}
	
}

.sp_footer h3{
	text-align:center;
}

.sp_footer h3 span{
	font-size:70%;
}

.sp_company {
	background-color:#ffffff;
	padding:20px;
	margin:0 auto 20px;
	width:70%;
}

.sp_company h4{
	margin:0;
}



.sp_company dt { 
	float:left;
}

.sp_company dd { 
	margin-left:80px;
}

.sp_footer img{
	display:block;
	margin: auto;
	width:76%;
}

.sp_footer_bottom{
	text-align:center;
}

.sp_footer_bottom h3 img{
	width:20%;
	min-width:150px;
}

.sp_footer_bottom ul{
	display:flex;
	flex-direction:column;
	margin-bottom:15px;
}




/*フッターカレンダー*/
.side_section_cal{
    margin-left:10px;
}

.tbl_calendar {
  border: none !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  margin:0 auto 20px;
}

.tbl_calendar caption{
    font-size:20px;
}
.tbl_calendar th, .tbl_calendar td {
  padding: 15px !important;
  text-align: center !important;
  border-bottom: 1px solid #ccc !important;
  font-size:larger;
}
.side_cal_memo{
    font-size:14px;
}

/*画像に触れると2枚目が出てくる*/

.c-image-wrap {
    position: relative;
    display: block;
    margin: 0 auto;
    transition: background .2s;
}



.c-image-box--main {
    opacity: 1;
}

.c-image-box--otherimg {
    opacity: 0;
}

.c-image-box {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: opacity .2s;
    word-break: break-all;
}

.c-image-wrap--link:hover .c-image-box--main {
  opacity: 0;
}

.c-image-wrap--link:hover .c-image-box--otherimg {
  opacity: 1;
}

.c-image-wrap::after {
    display: block;
    padding-top: 100%;
    content: '';
}

/* 画像について　*/
.pc_image { display: block !important; }
.sp_image { display: none !important; }
 
@media only screen and (max-width: 880px) {
    .pc_image { display: none !important; }
    .sp_image { display: block !important; }
}




/********* リスト3列表示-文字のみ(2025.04一時追加) ***********/

.list-area{
  max-width: 1280px;
  margin: 50px auto;
  padding: 0 15px; /* 画面端との余白確保（スマホ対策） */
}

.list-area .cat_comment{
  text-align:center;
  padding:10px 0 20px;
  border-bottom:1px solid;
  margin-bottom:30px;}

.title_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;     /* li要素を中央寄せ */
  list-style: none;
  padding: 0;
  margin: 0 auto;              /* ul自体を中央に配置 */
  gap: 16px;                   /* li同士の間隔 */
  max-width: 1200px;           /* 任意。ページ幅制限したい場合に */
  box-sizing: border-box;
}

.title_list li {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 23%;                  /* 1行4つ想定＋gapの分調整 */
  padding: 16px;
  background-color: #f5f5f5;
  border-radius: 8px;
  box-sizing: border-box;
  text-align: center;
  transition: background-color 0.2s ease;
}

.title_list li a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: inherit;
  width: 100%;
  height: 100%;
}

.title_list li:hover{
  background-color: #87cefa;   /* ホバー時に少し色が濃くなる */
  cursor: pointer;
}



.title_list li span {
  font-size: 16px;
  color: #000;
}

/* スマホ対応（幅768px以下で2列表示） */
@media screen and (max-width: 768px) {
 .title_list li {
    width: 48%;
  }
}

/********* リスト3列表示-文字のみ END ***********/
