﻿@charset "utf-8";
@import url(drawer.css);

/*===============================================
  共通
===============================================*/


/* モバイルメニュー
------------------------------*/


/* background */

.drawer--left .drawer-hamburger {
  display: none;
  top: 5px;
  left: auto;
  right: 5px;
  width: 3rem;
  background: #FFF;
  border-radius: 10px;
  padding: 12px 8px 22px;
  border: 2px solid #0066CC;
}

.drawer--left.drawer-open .drawer-hamburger {
  left: auto;
  right: 5px;
}


/* line */

.drawer-hamburger-icon,
.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
  background-color: #0066CC;
}

.drawer-open .drawer-hamburger-icon:before {
  -webkit-transform: rotate(225deg);
  transform: rotate(225deg);
}

.drawer-open .drawer-hamburger-icon:after {
  -webkit-transform: rotate(-225deg);
  transform: rotate(-225deg);
}

.drawer-overlay {
  background-color: rgba(0, 0, 0, .3);
}

.drawer-nav {
  display: none;
}


/* menu */

.drawer--left .drawer-nav {
  display: none;
  left: -250px;
  width: 250px;
  background: #FFF;
}

.drawer-menu {
  padding: 20px 10px;
  font-size: 1rem;
}

.drawer--left .drawer-nav>li {
  margin-bottom: 50px;
}

.drawer--left.drawer-open .drawer-nav {
  left: 0;
}

.drawer-nav .contentslist {}

.sp-nav {
  margin-bottom: 20px;
}

.sp-nav>li {
  margin-bottom: 5px;
}


/*.sp-nav a::before {
	content: '';
	position: absolute;
	top: 20px;
	right: 10px;
	width: 14px;
	height: 14px;
	background: url(../img/icon_arrow_r.png) center no-repeat;
	-webkit-transition: .3s;
	transition: .3s;
}
.sp-nav a:hover::before {
	-webkit-transform: translateX(3px);
	transform: translateX(3px);
}*/

.sp-banner {
  margin-bottom: 30px;
}

.sp-banner li {
  margin-bottom: 10px;
}


/*===============================================
  画面の横幅が680px以下に適用
===============================================*/

@media screen and (max-width: 680px) {
  /*--------------------------------------
		common
	--------------------------------------*/
  .drawer--left .drawer-hamburger,
  .drawer--left .drawer-nav {
    display: block;
  }
  #pagetop {
    right: 5px;
    bottom: 5px;
  }
  #content table th,
  #content table td {
    width: auto!important;
    white-space: normal;
  }
  html {
    font-size: 62.5%;
  }
  /*
	a:link {
		text-decoration: underline;
	}*/
  /* box-sizing（padding、borderを含んだ幅、高さにする） */
  *,
  *:before,
  *:after {
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
  }
  img {
    max-width: 100%;
    max-height: 100%;
  }
  .tac_sp_tal {
    text-align: left;
  }
  body,
  #wrap,
  #header .header,
  #footer,
  #footer .footer,
  body .sbox-cen {
    width: auto;
    min-width: 320px;
  }
  /* LSEARCH */
  div.sbox-cen h1.stext {
    font-weight: normal;
  }
  div.sbox-cen p.summary {
    display: none;
  }
  /* h1 */
  body h1.seotext {
    padding-bottom: 0;
    font-size: 1.0rem;
  }
  body h1.seotext span {
    display: none;
  }
  body .sbox-cen,
  body h1.seotext {
    min-width: 0;
  }
  #wrap {
    font-size: 1.2rem;
  }
  #main {
    float: none;
    width: 96%;
    padding: 15px 0 0;
    margin: 0 auto;
  }
  #content .search {
    display: block;
  }
  #content iframe {
    max-width: 100%;
  }
  #content ul.page {
    margin-top: 0;
  }
  /* .panz */
  #content .panz {
    font-size: 1.2rem;
    line-height: 1.2;
  }
  /* #pagetop 角丸 */
  #mailform tr:not(:last-child) td,
  #mailform tr th {
    border-bottom: none;
  }
  /*--------------------------------------
		#header
	--------------------------------------*/
  #header .header {
    padding: 0 0 20px;
  }
  #header .info {
    display: none;
  }
  #header .logo {
    float: none;
    max-width: calc(100% - 65px);
    text-align: left;
    padding-left: 10px;
  }
  #mainimg {
    min-width: 0;
  }
  /*#mainimg h2 {
  		position: relative;
  		left: auto;
  		margin-left: 0;
      text-align: center;
  	}
    #mainimg h2 img{
      position: relative;
      right: 20%;
      width: 140%;
      height: 140%;
      max-width: 140%;
      max-height: 140%;
      overflow: hidden;
    }*/
  /*--------------------------------------
		#nav
	--------------------------------------*/
  #nav {
    display: none;
  }
  /*--------------------------------------
		#side
	--------------------------------------*/
  #side {
    float: none;
    margin: 0 auto;
  }
  #side>*:not(.reserve_banner) {
    display: none;
  }
  /*
	#side .banner li {
		float: left;
		width: 50%;
		margin: 0;
		text-align: center;
	}*/
  #side .catbar {
    text-align: center;
  }
  #side .catlist {}
  /*--------------------------------------
		#fnav
	--------------------------------------*/
  #fnav {
    border-bottom: 1px solid #FFF;
    width: 100%;
    width: 100%;
    padding: 0;
    margin: 0;
  }
  #fnav ul {
    width: 100%;
    margin: 0;
    padding: 0;
  }
  #fnav ul li {
    position: relative;
    float: left;
    border-bottom: #FFF 1px solid;
    border-right: none;
    width: 100%;
  }
  #fnav ul li.mb {
    display: inline-block;
  }
  #fnav ul li a {
    padding: 16px 15px 14px;
    font-size: 1.6rem;
    font-weight: normal;
    text-align: left;
    display: block;
    text-decoration: none;
  }
  #fnav ul li a:after {
    position: absolute;
    top: 50%;
    right: 18px;
    border-right: #FFF 1px solid;
    border-bottom: #FFF 1px solid;
    width: 12px;
    height: 12px;
    margin-top: -7px;
    display: block;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    content: "";
  }
  #fnav ul li a:hover {
    text-decoration: none;
  }
  /*--------------------------------------
		#footer
	--------------------------------------*/
  #footer {
    padding-top: 0;
  }
  #footer .footer {
    padding: 10px 2px 8px;
  }
  #footer .footer p {
    line-height: 1.6;
    text-align: center;
  }
  #footer .footer address {
    text-align: center;
  }
  #footer .footer p {
    display: none;
  }
  /*--------------------------------------
		#content
	--------------------------------------*/
  #content {
    float: none;
    width: auto;
    padding: 0 0 20px;
    font-size: 1.6rem;
    line-height: 1.5;
  }
  /*#content h3 {
		padding-right: 12px;
		padding-left: 8px;
	}*/
  #content .aside {
    margin-bottom: 30px;
  }
  #content .aside li {
    float: none;
    margin-right: 0;
    text-align: center;
    margin-bottom: 15px;
  }
  #content .aside li:last-child {
    margin-bottom: 0;
  }
  /*

	#content .aside dl,
	#content .aside li {
		width: 48.5%;
		margin: 0 3% 30px 0;
	}
	#content .aside dl:nth-child(even),
	#content .aside li:nth-child(even) {
		margin-right: 0;
	}
	#content .likebox iframe {
		display: none;
		width: 100% !important;
	}
	*/
  /* table */
  #content table th {
    width: 30%;
  }
  #content table th,
  #content table td {
    padding: 4px 4px 2px;
  }
  #content table.col4 th,
  #content table.col4 td {
    width: auto;
  }
  /* .imgleft, .imgright */
  #content .imgleft ul.image,
  #content .imgright ul.image {
    width: 110px;
  }
  #content .imgleft ul.image {
    margin-right: 10px;
  }
  #content .imgright ul.image {
    margin-left: 10px;
  }
  #content .imgleft ul.image li,
  #content .imgright ul.image li {
    margin-bottom: 10px;
  }
  #content .imgleft ul.image li a,
  #content .imgright ul.image li a,
  #content .imgleft ul.image li span,
  #content .imgright ul.image li span {
    width: 110px;
    height: 110px;
    padding: 0;
  }
  #content #news.imgright ul.image li a {
    height: auto;
  }
  #content .imgleft ul.image li a img,
  #content .imgright ul.image li a img,
  #content .imgleft ul.image li span img,
  #content .imgright ul.image li span img {
    max-width: ;
    max-height: ;
  }
  #content div.imgleft .text,
  #content div.imgright .text {
    width: 100%;
    margin: 0 0 20px;
  }
  #content .section .imgleft p,
  #content .section .imgright p {
    width: 100%;
    margin: 0 0 20px;
    overflow: visible;
  }
  /* テキストの下に移動Ver.
	#content .imgleft,
	#content .imgright {
		width: 100%;
		margin-bottom: 20px;
		display: -webkit-flex;
		display: -moz-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-direction: column-reverse;
		-moz-flex-directiont: column-reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
	}
	#content .image {
		margin: 0;
	}
	#content .imgleft .image,
	#content .imgright .image {
		float: none;
		width: 100%;
		margin: 0 0 10px;
		display: -webkit-flex;
		display: -moz-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-direction: row;
		-moz-flex-directiont: row;
		-ms-flex-direction: row;
		flex-direction: row;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	#content ul.image li {
		margin-right: 10px;
		-webkit-flex: 1;
		-moz-box-flex: 1;
		-ms-flex: 1;
		flex: 1;
		text-align: left;
	}
	#content .imgleft .text,
	#content .imgright .text {
		width: 100%;
		margin: 0 0 20px;
	}
 */
  #content p.contact {
    margin-bottom: 0;
  }
  #info #left {
    float: none;
    width: 100%;
    max-width: 440px;
    margin-right: auto;
    margin-left: auto;
  }
  #info #right {
    float: none;
    margin-left: auto;
    margin-right: auto;
  }
  /*
#content ul.page li{
	margin-bottom: 5px;
	margin-right: 10px;
	height: 28px;
	line-height: 28px;
	/*
	#content ul.page li a.link_page,
	#content ul.page li span.current_page {
		border-radius: 4px;
		width: 28px;
		height: 28px;
		padding: 0;
	}*/
  #content ul.page li {
    margin-bottom: 10px;
  }
  /* youtube */
  .movie {
    position: relative;
    height: 0;
    padding-bottom: 56.25%;
    padding-top: 30px;
    margin-bottom: 5px;
    overflow: hidden;
  }
  .movie iframe,
  .movie object,
  .movie embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  /* アコーディオン */
  .mbmenu {
    width: 100%;
    margin-bottom: 25px;
    text-align: center;
    display: block;
  }
  .mbmenu .trigger {
    background: #EEE;
    border: 1px solid #CCC;
    padding: 0 10px;
    font-size: 1.6rem;
    text-align: center;
  }
  .mbmenu .trigger:after {
    display: inline-block;
    vertical-align: -18px;
    content: url("/image/mb_menubtn.png");
    -webkit-transform: scale(0.7);
    -moz-transform: scale(0.7);
  }
  .mbmenu ul {
    display: none;
    width: 100%;
  }
  .mbmenu ul li {
    position: relative;
    border-bottom: #EEE 1px solid;
    border-right: none;
    width: 100%;
  }
  .mbmenu ul li a {
    padding: 8px 10px 8px;
    font-size: 1.6rem;
    font-weight: normal;
    text-align: left;
    text-decoration: none;
    display: block;
  }
  .mbmenu ul li a:after {
    position: absolute;
    top: 50%;
    right: 18px;
    border-right: #666 1px solid;
    border-bottom: #666 1px solid;
    width: 12px;
    height: 12px;
    margin-top: -7px;
    display: block;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    content: "";
  }
  /*--------------------------------------
		index
	--------------------------------------*/
  #topics {
    height: auto;
    margin-bottom: 30px;
    overflow: hidden;
  }
  #topics dl {
    padding: 5px 10px;
  }
  #topics dl.even {}
  #topics dl:last-child {
    border: none;
  }
  #topics dl dt {
    background: none;
  }
  /*#info #map {
		float: none;
		margin-bottom: 15px
	}
	#info dl {
		float: none;
		margin: 0;
		text-align: center;
	}
	#info dl dd p {
		text-align: center;
	}*/
  /*--------------------------------------
		.product（一覧）
	--------------------------------------*/
  .product {
    margin-bottom: 20px;
  }
  .product dl,
  .product dl.none {
    float: none;
    width: 100%;
    margin: 0 0 15px;
    overflow: hidden;
    /zoom: 1;
  }
  .product dl dd.image {
    float: left;
    margin-right: 10px;
    margin-left: 0;
  }
  .product dl dd.image a,
  .product dl dd.image span {
    width: 110px;
    height: 110px;
    padding: 2px;
  }
  .product dl dd.image a img {
    max-width: px;
    max-height: px;
  }
  .product dl dt {
    margin-top: 0;
    padding-top: 0;
    margin-left: 120px;
    font-size: 1.6rem;
  }
  .product dl dd {
    margin-left: 120px;
  }
  /*--------------------------------------
		.imgbox（画像リスト）
	--------------------------------------*/
  /*#content .imgbox {
		margin: 0 auto 20px;
		width: 300px;
		float: none;
	}
	#content .imgbox ul.imgbig {
		float: none;
		margin: 0 0 10px;
		text-align: center;
		width: 300px;
	}
	#content .imgbox ul.imgbig li {
		width: 300px;
		height: 300px;
		padding: 0;
		margin: 0 auto 10px;
	}
	#content .imgbox ul.imgbig li a,
	#content .imgbox ul.imgbig li span {
		width: 300px;
		height: 300px;
		padding: 0;
	}
	#content .imgbox ul.imgbig li a img,
	#content .imgbox ul.imgbig li span img {
		max-width: ;
		max-height:;
	}
	#content .imgbox ul.imglist {
		float: none;
		width: 100%;
		max-width: 300px;
		margin-left: auto;
		margin-right: auto;
	    letter-spacing: -0.4em;
		text-align: center;
		line-height: 0;


	}
	#content .imgbox ul.imglist li {

		width: 60px;
		height: 60px;
		padding: 0;
		margin: 0 5px 10px;
		text-align: center;
    	letter-spacing: normal;
		/display: inline;
	}
	#content .imgbox ul.imglist li a,
	#content .imgbox ul.imglist li span {
		width: 60px;
		height: 60px;
	}
	#content .imgbox ul.imglist li a img,
	#content .imgbox ul.imglist li span img {
		max-width:;
		max-height:;
	}*/
  #detail {
    width: 100%;
  }
  #detail .box .imgbox {
    width: 100%;
  }
  #detail .imgbox ul.imgbig {
    float: none;
    width: 360px;
    margin: 0 auto;
  }
  #detail .imgbox ul.imgbig li a,
  #detail .imgbox ul.imgbig li span {
    width: 360px;
    height: 360px;
    padding: 2px;
  }
  #detail .imgbox ul.imglist {
    width: 360px;
    float: none;
    margin: 15px auto 0;
  }
  #detail .imgbox ul.imglist li {
    margin-right: 8px !important;
    margin-bottom: 8px;
  }
  #detail .imgbox ul.imglist li:nth-child(4n) {
    margin-right: 0 !important;
  }
  #detail .imgbox ul.imglist li a,
  #detail .imgbox ul.imglist li span {
    width: 84px;
    height: 84px;
    padding: 2px;
  }
  #detail .box .cart {
    margin-right: auto;
    margin-left: auto;
    float: none;
    width: 100%;
  }
  #detail .cart li.price {
    width: 100%;
    float: none;
    margin-bottom: 15px;
  }
  #detail .cart .cart-btn,
  #detail .box .cart .cart-optionr {
    max-width: 550px;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
  #detail .box .cart li input {
    max-width: 100%;
  }
  #detail .box .cart .cart-option li {
    float: none;
    margin-bottom: 15px;
    margin-right: 0;
    text-align: center;
  }
  #detail .box .cart .cart-option li:last-child {
    margin-bottom: 0;
  }
  #content .banner {
    width: 100%;
    text-align: center;
  }
  #content .banner ul li {
    float: none;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 15px;
  }
  #content .banner ul li.none {
    margin-right: auto;
    margin-bottom: 0;
  }
  /*blog*/
  #content #right table th {
    width: auto;
  }
  #content #right table th,
  #content #right table td {
    padding: 0;
  }
  #content #right table th,
  #content #right table td {
    width: auto;
    display: table-cell;
  }
  #blog #left {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    float: none;
  }
  #blog #right {
    float: none;
    margin-left: auto;
    margin-right: auto;
  }
  /*--------------------------------------
		contact
	--------------------------------------*/
  #content p.contact_tel {
    padding: 0;
  }
  #content #mailform table th {
    font-size: 1.6rem;
  }
  #content #mailform table th,
  #content #mailform table td {
    width: 100%;
    padding: 8px 20px 8px 20px;
    display: block;
  }
  #content #mailform table td input[type="text"] {
    border-radius: 5px;
    width: 100%;
    height: 2.5em;
  }
  #content #mailform table td input.postage {
    width: 150px;
  }
  #content #mailform table textarea {
    border-radius: 5px;
    width: 100% !important;
    height: 120px !important;
    margin: 2px 0;
    padding: 5px;
  }
  div.ui-datepicker {
    font-size: 3em;
  }
  #info #right table th,
  #info #right table td {
    width: auto !important;
    border: none;
    padding: 3px 0 1px;
    text-align: center;
    background: none;
    font-size: 0.85em;
  }
}


/*===============================================
  画面の横幅が480px以下に適用
===============================================*/

@media screen and (max-width: 480px) {
  /*--------------------------------------
		#side
	--------------------------------------*/
  /*	#side .banner li {
		float: left;
		width: 50%;
		margin: 0;
	}*/
  #detail .imgbox ul.imgbig {
    width: 300px;
  }
  #detail .imgbox ul.imgbig li a,
  #detail .imgbox ul.imgbig li span {
    width: 300px;
    height: 300px;
  }
  #detail .imgbox ul.imglist {
    width: 300px;
  }
  #detail .imgbox ul.imglist li a,
  #detail .imgbox ul.imglist li span {
    width: 69px;
    height: 69px;
    padding: 2px;
  }
  /*--------------------------------------
		#content
	--------------------------------------*/
  /* table */
  /*
	#content #mailform table {
		border-bottom: 1px solid #999;
	}
*/
  #content table:not(.col3) th,
  #content table:not(.col3) td {
    width: 100% !important;
    display: block;
  }
  #content table:not(.col3) th {
    border-bottom: none;
  }
  #content table:not(.col3) tr:not(:last-child) td,
  #content table:not(.col3) tr:last-child th {
    border-bottom: none;
  }
  /*--------------------------------------
		index
	--------------------------------------*/
  #topics {
    margin-bottom: 30px;
  }
  #topics dl {
    overflow: hidden;
    /zoom: 1;
  }
  #topics dt {
    float: none;
    font-size: 0.85em;
  }
  #topics dd {
    padding: 0;
  }
  #navbox {
    width: 80%;
    margin: 10% 10% 0;
  }
  /*--------------------------------------
		free
	--------------------------------------*/
  #content .section table th,
  #content .section table td {
    width: 100%;
  }
  #info #right table th,
  #info #right table td {
    width: auto !important;
    border: none;
    padding: 3px 0 1px;
    text-align: center;
    background: none;
    font-size: 0.85em;
  }
}