@charset "UTF-8";

/*================================================
 *  CSSリセット
 ================================================*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,main,menu,nav.gnav,section,summary,time,mark,audio,video{ margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent; font-weight:normal; }
body{line-height:1}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav.gnav,section{display:block}
ol,ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:none}
a{margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent}
del{text-decoration:line-through}
abbr[title],dfn[title]{border-bottom:1px dotted; cursor:help}
table{border-collapse:collapse; border-spacing:0}
hr{display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0}
input,select{vertical-align:middle}
*{-webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;}

/*================================================
 *  一般・共通設定
 ================================================*/
body {
	font-size: 20px;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	line-height: 1.6;
	-webkit-text-size-adjust: 100%;
}

header + #contents {
	padding-top:18em;
}

#contents {
	width: 900px;
	margin: 0 auto;
}


section {
	margin-bottom:10em;
}


.inner {
	position: relative;
	width: 900px;
	margin: 0 auto;
}

a {
	color: #043771;
}
a:hover {
	color: #144d8d;
}

a img:hover {
	opacity: 0.7;
}

h1 {
	font-size: 2.2em;
}

h2 {
	margin: 3em 0;
	font-size: 1.5rem;
	color: #333;
	text-align: center;
	line-height: 1.2;
	position: relative;
}

h2 span {
  position: relative;
  z-index: 2;
  display: inline-block;
  margin: 0 4em;
  padding: 0 1em;
  background-color: #fff;
  text-align: center;
}

h2::before {
  position: absolute;
  top: 50%;
  z-index: 1;
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background: #ccc;
  background: -webkit-linear-gradient(-45deg, transparent, #ccc 10%, #ccc 90%, transparent);
  background: linear-gradient(-45deg, transparent, #ccc 10%, #ccc 90%, transparent);
}


h3 {
    position: relative;
    margin-bottom: 0.4em;
    padding: .5em 0 0 .5em;
    font-size: 1.7em;
    color: #888;
    border: solid #888;
    border-width: 0 0 1px 3px;
}

h3:before{
    position: absolute;
    content: attr(title);
    top:0;
    font-size: 0.55em;
    font-weight:normal;
    color:#888;
}

h3.double {
    border: none;
    position: relative;
    padding-bottom: 0.5em;
    font-size: 1.5em;
}

h3.double:after {
    position: absolute;
    content: '';
    left: 0;
    bottom: 0;
    width: 100%;
    height: 7px;
    box-sizing: border-box;
    border-top: 3px solid #888;
    border-bottom: 1px solid #888;
}

h4 {
	margin-bottom: 0.25em;
	font-size: 1.25em;
	font-weight: bold;
}

h5:first-letter {
    font-size: 1.6em;
    letter-spacing: .04em;
}

h6 {
}

p {
	margin:0 0 1em 0;
}

img {
	max-width: 100%;
	vertical-align: bottom;
	height: auto !important;
}

em {
	font-weight: bold;
}

strong {
	font-weight: bold;
}

pre {
	margin:1em 0;
	padding:1em;
}

blockquote {
	margin-bottom: 1em;
	padding: 1em;
	border: 1px dotted #ddd;
	border-left: 5px solid #ddd;
}

ul,ol,dl {
	margin: 0 0 1em 0;
}
ul li {
	list-style: disc;
}
ol li {
	list-style: decimal;
}
li {
	margin-left: 2em;
}

dt {
	margin-bottom: 0.5em;
	border-bottom: 1px dotted #ddd;
}
dd {
	margin-bottom: 1em;
}

table {
	width: 100%;
	margin-bottom: 1em;
	border-collapse: collapse;
	/*** border: 1px solid #ddd; ***/
}
th {
	padding: 10px;
	text-align: left;
	vertical-align: middle;
	border: 1px solid #ddd;
	background: #f1f1f1;
}
td {
	padding: 10px;
	text-align: left;
	border: 1px solid #ddd;
}

@media screen and (max-width:767px) {

	#contents {
		padding: 0 10px;
	}
	
	h1 span {
		width: 50%;
	}
	
	h2 span {
		margin: 0 1.8em;
		padding: 0 0.5em;
	}


}

/*================================================
 *  汎用クラス
 ================================================*/
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

/* 中央寄せ */
.center {
	text-align: center;
}

/* 左寄せ */
.left {
	text-align: left;
}

/* 右寄せ */
.right {
	text-align: right;
}

/* 写真中央寄せ */
.imgC {
	clear:both;
	overflow:hidden;
	margin: 0 auto 50px auto;
	margin-bottom:50px;
	text-align:center;
}
.imgC img {
	margin-bottom:10px;
}

/* 写真左寄せ */
.imgL {
	clear:both;
	overflow:hidden;
	margin-bottom:50px;
}
.imgL img {
	float:left;
	margin:0 20px 0 0;
}

@media screen and (max-width:767px) {
	.imgL {
		margin-bottom:20px;
	}
	.imgL img {
		float:none;
		margin:0;
		/* width:100%; */
	}
	
	.w100 img {
		width:100%;
	}
}

/* 写真右寄せ */
.imgR {
	clear:both;
	overflow:hidden;
	margin-bottom:50px;
}
.imgR img {
	float:right;
	margin:0 0 0 20px;
}

@media screen and (max-width:767px) {
	.imgR {
		clear:both;
		overflow:hidden;
		margin-bottom:20px;
	}
	.imgR img {
		float:none;
		margin:0;
		width:100%;
	}
}



/***　GoogleMAP埋込用　***/
.gmap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin-bottom:50px;
}
.gmap iframe,
.gmap object,
.gmap embed {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}


/*** 新着 ***/
.info_new dl {
	max-height:240px;
	overflow:auto;
	margin-bottom:30px;
	padding-right:5px;
	
}

.info_new dl::-webkit-scrollbar { /** バーの高さ **/
	width: 3px;
}
	
.info_new dl::-webkit-scrollbar-track { /** バーのバック色 **/
	background: #eee;
	border-radius: 5px;
}
	
.info_new dl::-webkit-scrollbar-thumb { /** 動くバーの色 **/
	background: #666;
	border-radius: 5px;
}


.info_new dt {
	padding: 10px 10px 10px 0;
	margin-bottom: 0px;
    border-bottom: 1px dotted #ddd;
    width: 18%;
    float: left;
    clear: both;
    font-weight: bold;
}

.info_new dt:before {
	content:"\002022 ";
	color:#d24d20;
	margin-right:5px;
}

.info_new dd {
	padding: 10px;
	margin-bottom: 0px;
	border-bottom: 1px dotted #ddd;
	overflow: hidden;
}


@media screen and (max-width:767px) {
	.info_new dl {
		padding: 5px 10px;
	}
	
	.info_new dt {
		padding: 10px 10px 0 0;
		float: none;
		margin: 0;
		width: auto;
		border: none;
	}
	
	.info_new dd {
		padding: 0 5px 5px 0;
	}
}


/*** 会社案内 ***/
.shopinfo {
	margin-bottom: 2em;
}

.shopinfo dt {
	margin:0 0 0.5em 2em;
	line-height:1.5em;
	float:left;
	clear:both;
	font-weight:bold;
	padding-right:1.8em;
	border: none;
}

.shopinfo dt:before {
	content:" ";
}

.shopinfo dd {
	margin:0 0 0.5em;
	line-height:1.5em;
	overflow:hidden;
}


.kikuimg {
	width: 30%;
}



/***　画像に沿って回り込むときに、jquery.slickwrap.jsと併用 ***/
.wr_left {
	float: left !important;
	padding-right: 10px;
}

.wr_right {
	float: right !important;
	padding-left: 10px;
}


@media screen and (max-width:767px) {
	.shopinfo dt {
		margin:0 0 0.5em 0.5em;
		padding-right:1em;

	}
	
	.kikuimg {
		width: 70% !important;
		margin: 0 15% 10px !important;
	}

}


/***　リンクベージ ***/
.flex_col {
	display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	margin: 0 -10px 30px;
	position:relative;
	overflow:hidden;
	margin-bottom:60px;
}

.itembox {
	margin: 10px 10px 30px;
	position: relative;
	overflow:hidden;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-direction: column-reverse;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: column-reverse;
	flex-direction: column;
	width: 48.98%;
	width: calc((100% / 2 ) - 20px);
	height: auto;
}


.itembox div:nth-child(2n+1) {
	clear:both;
}

.itembox .image {
	width: 100%;
	min-height: 0%;
}

.itembox img {
	width:100%;
	object-fit:cover;
	max-height:120px;
}

.col_box {
	border:1px solid #E5E5E5;
}

.col_box .text_box {
	margin:10px;
}

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

.item_col a:hover {
	text-decoration:underline;
}


/*** リンクのポックス判定用 ***/
.link_box a {
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

.link_box:hover {
	filter:alpha(opacity=70);/* IE 6,7*/
	-ms-filter: "alpha(opacity=70)";/* IE 8,9 */
	-moz-opacity:0.7;/* FF , Netscape */
	-khtml-opacity: 0.7;/* Safari 1.x */
	opacity:0.7;
}

@media screen and (max-width:767px) {
	.item_col {
		display: block;
		margin-bottom:20px;
	}

	.itembox {
		width :100%;
		margin:10px;
		-ms-flex-direction: row-reverse;
		-webkit-box-direction: reverse;
		-webkit-flex-direction: row-reverse;
		flex-direction: row;
	}
	
	.itembox img {
		width:160px;
		min-height:120px;
	}

}


.kikuflex {
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content: space-around;
    overflow:hidden;
}

.itembox img.item {
    object-fit: cover;
    max-height: 330px;
}



@media screen and (max-width:767px) {
    .itembox img.item {
        max-height: 120px;
    }

}

/* ボタンデザイン */
a.btn {
    text-decoration: none !important;
    margin-bottom: 0.7em;
}

.btn, a.btn, button.btn {
    font-size: 1.1em;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 0.5em 2em;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all .3s;
    transition: all .3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: .1em;
    color: #888;
    border-radius: .5rem;
}

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: #888;
}

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;
}

/*================================================
 *  ヘッダー
 ================================================*/
header {
	margin:0 auto 6em;
	padding-top: 2em;
	text-align:center;
	background:#fff;
	position:fixed;
	z-index: 100;
	width:100%;
}

header h1 {
	display: block;
	margin: 0.5em 0;
	font-size: 1.75em;
	color: #888;
}

header:after {
	content: ""; 
	display: block;
	clear: both;
}

@media screen and (max-width:767px) {
	header {
		margin: 0 auto 2em;
	}

}

/*================================================
 *  フッター
 ================================================*/
footer {
	clear: both;
	margin-top: 80px;
	background: #333;
	color: #CCC;
	padding: 50px 90px;
	line-height: 2;
	font-size: 0.8rem;
}

footer img {
	width: 12.5%;
	margin: 10px;
}

.copyright {
	padding: 20px 0;
	color: #CCC;
	font-size: 0.75rem;
	text-align: center;
}

@media screen and (max-width:767px) {
	footer {
		margin-top: 40px;
		padding: 40px 20px;
	}

	footer img {
		width: 40%;
	}

	footer .inner {
		text-align: center;
	}
	
	.copyright {
		margin-top:20px;
	}

}


/*================================================
 *  ページトップへの戻り
 ================================================*/
.totop {
	position:fixed;
	bottom:15px;
	right:15px;
	width: 50px;
	height: 50px;
	background: #999; /*ボタンの色*/
	opacity: 0.6;
	border-radius: 50%; /*角の丸み*/
}

.totop a {
	position: relative;
	display: block;
	width: 50px;
	height: 50px;
	text-decoration: none;
}

.totop  a::before{
	content: "\226A"; /*アイコン*/
	transform: rotate(90deg);
	font-size: 1.75em;
	color: #fff; /*アイコンの色*/
	position: absolute;
	width: 25px;
	/* height: 25px; */
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	text-align: center;
}

.totop a:hover {
	opacity:0.7;
}



/*================================================
 *  ナビ
 ================================================*/
.gnav {
    position: relative;
    margin: 0 auto;
	display: flex;
	justify-content: center;
	text-align:left;
}

.gnav > li {
    background: #fff;
	list-style: none;
	width: calc(100% / 5);
	margin: auto;
	background: url(../images/li_icon.png) no-repeat left;
	background-size: 1.75em;
	padding-left: 0.5em;
}

.gnav > li a {
    display: block;
    color: #888;
	text-decoration: none;
	margin:10px;
	padding: 15px;
}

.gnav > li a:hover {
    color: #999;
	opacity: 0.5;
}

ul.menu__second-level {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
}

.gnav > li:hover {
    -webkit-transition: all .5s;
    transition: all .5s;
}

.menu__second-level li {
    border-top: 1px solid #111;
	list-style:none;
	margin-left:0;
}

.menu__second-level li a{
	padding:5px;
}

.menu__second-level li a:hover {
    /* background: #111; */
}


.gnav:after {
    clear: both;
}

.gnav {
    *zoom: 1;
}

.gnav > li.menu__single {
    position: relative;
}

li.menu__single ul.menu__second-level {
    position: absolute;
    top: 3.5em;
    width: 100%;
    background: #fff;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}

li.menu__single:hover ul.menu__second-level {
    top: 3.5em;
    visibility: visible;
    opacity: 1;
}


@media screen and (max-width:767px) {
	.gnav > li {
		width: calc(100% / 4);
		background-size: 1.5em;
		padding-left: 0.2em;
	}
	
	nav .gnav {
		width:100%;
	}
    
    nav {
        padding: 0 10px;
    }
	
	li.menu__single ul.menu__second-level {
	    width: 15em;
	    top: 4em;
	}
	
	li.menu__single:hover ul.menu__second-level {
		top: 4em;
	}

	
}

/*================================================
 *  スライドショー
 ================================================*/
.slide {
	/*** padding-top: 50px; ***/
	overflow: hidden;
	position: relative;
	margin-top:-200px;
}
.slideInner {
	list-style: none;
	margin: 0;
	padding: 0;
}
.slideInner li {
	position: absolute;
	width: 100%;
	margin: 0;
	padding: 0 auto;
	/*** background-color: #fff; ***/
	background-position: 50% 0;
	background-repeat: no-repeat;
}

.slideInner .desc_text {
	margin-top:5px;
	text-align:center;
	line-height:1.9em;
}

.slideInner .desc_text > .desc {
	font-size: 2vh;
}

.slideInner .desc_text > .title {
	font-size: 2.5vh;
}

.slideInner .desc_text > .price {
	font-size: 1.5vh;
	font-weight:200;
}

.slide .controlNav {
	padding:30px 0;
    position:relative;
    float:left;
    left:50%;
    bottom:0;
}

.slide .controlNav span {
    position:relative;
    left:-50%;
    overflow:hidden;
    float:left;
    width:110px;
    margin:5px;
    vertical-align:middle;
    border:2px solid #fff;
}

.slide .controlNav span img {
    width:100%;
    height:100%;
}

.slide .controlNav span:hover {
    border:2px solid #999;
    cursor:pointer;
}

.slide .controlNav span.current {
    border:2px solid #333;
}

@media screen and (max-width:767px) {

	.slide {
		margin-top:-120px;
	}
	
	.slide .controlNav {
		padding:10px 0;
	}
	
	.slide .controlNav span {
		width:calc((100% - 50px) / 3);
	}
}


/*================================================
 *  どこでもカラーミー
 ================================================*/
.colorme {
  clear: both;
  border: 1px solid #E5E5E5;
  margin: 2em 5em;
  padding: 1em 1.5em;
  border-radius: 0.5em;
}

.colorme .cartjs_product_table table {
	/* width: 50% !important; */
}

.colorme p.ex{
	margin: 0;
	text-align:right;
	font-size:0.85em;
	font-weight:bold;
}

@media screen and (max-width:767px) {
	.colorme {
    	margin: 1.5em 0.5em;
   		padding: 1em 0.7em;
	}
  
	.colorme .cartjs_product_table table,
	.colorme .cartjs_sk_link_other {
		width: 80% !important;
	}


}



/*================================================
 *  タブレット・スマートフォン向けデザイン
 ================================================*/
/* テンプレートより小さくなった場合に適用 */
@media screen and (max-width:767px) {
	.inner {
		width: 100%;
	}
	
	header h1 {
		font-size: 1.5em;
	}
	
	header + #contents {
		/* padding-top:15em; */
	}

	#contents {
		box-sizing: border-box;
		width: 100%;
		/***  padding: 0 10px;  ***/
	}

	footer {
		width: 100%;
	}
	
	h2 {
		margin-top:20px;
	}
	
	br + span {
		margin-left:0;
	}
	
	h6 {
		font-size:0.8em;
	}

	.lock {
		overflow: hidden;
	}
	

}
