/* ---------------------------------------------------------------
start COMMON CSS
--------------------------------------------------------------- */

/* noto-sans-jp-300 - japanese */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/noto-sans-jp-v42-japanese-300.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/noto-sans-jp-v42-japanese-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/noto-sans-jp-v42-japanese-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/noto-sans-jp-v42-japanese-300.woff') format('woff'), /* Modern Browsers */
       url('../fonts/noto-sans-jp-v42-japanese-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/noto-sans-jp-v42-japanese-300.svg#NotoSansJP') format('svg'); /* Legacy iOS */
}
/* noto-sans-jp-500 - japanese */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/noto-sans-jp-v42-japanese-500.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/noto-sans-jp-v42-japanese-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/noto-sans-jp-v42-japanese-500.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/noto-sans-jp-v42-japanese-500.woff') format('woff'), /* Modern Browsers */
       url('../fonts/noto-sans-jp-v42-japanese-500.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/noto-sans-jp-v42-japanese-500.svg#NotoSansJP') format('svg'); /* Legacy iOS */
}
/* noto-sans-jp-regular - japanese */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/noto-sans-jp-v42-japanese-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/noto-sans-jp-v42-japanese-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/noto-sans-jp-v42-japanese-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/noto-sans-jp-v42-japanese-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/noto-sans-jp-v42-japanese-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/noto-sans-jp-v42-japanese-regular.svg#NotoSansJP') format('svg'); /* Legacy iOS */
}
/* noto-sans-jp-700 - japanese */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/noto-sans-jp-v42-japanese-700.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/noto-sans-jp-v42-japanese-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/noto-sans-jp-v42-japanese-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/noto-sans-jp-v42-japanese-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/noto-sans-jp-v42-japanese-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/noto-sans-jp-v42-japanese-700.svg#NotoSansJP') format('svg'); /* Legacy iOS */
}
/* noto-sans-jp-900 - japanese */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 900;
  src: url('../fonts/noto-sans-jp-v42-japanese-900.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/noto-sans-jp-v42-japanese-900.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/noto-sans-jp-v42-japanese-900.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/noto-sans-jp-v42-japanese-900.woff') format('woff'), /* Modern Browsers */
       url('../fonts/noto-sans-jp-v42-japanese-900.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/noto-sans-jp-v42-japanese-900.svg#NotoSansJP') format('svg'); /* Legacy iOS */
}

* {
	box-sizing : border-box ;
}

body {
	width: 100%;
	margin: 0;
	padding: 100px 0 0 0;
	color: #404040;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 15px;
	line-height: 1.85;
	font-weight: 400;
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	position: relative;
	z-index: 0;
}

body.scrolled {
	padding-top: 64px;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix {
	min-height: 1px;
}

* html .clearfix {
	height: 1px;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}

a {
	outline: none;
	color: #0096b0;
	text-decoration: underline;
}

a:hover {
	text-decoration: none;
	cursor: pointer;
}

button {
	outline: none;
}

img {
	vertical-align: bottom;
}

p {
	margin: 0 0 15px 0;
	padding: 0;
}

table {
	border-collapse: collapse;
	border-spacing: 0px;
}

.aligncenter {
	text-align: center;
}

.alignright {
	text-align: right;
}

.alignjust {
	text-align: justify;
	text-justify: inter-ideograph;
	-ms-text-justify: inter-ideograph;
}

.w100{
	width: 100%;
}

.fleft {
	float: left;
}

.fright {
	float: right;
}

.note {
	font-size: .7em;
}

.red {
	color: #e60012;
}

.under {
	text-decoration: underline;
}

.iblock {
	display: inline-block;
}

.indent1 {
	padding-left: 1em;
	text-indent: -1em;
}

.indent1 * {
	text-indent: 0;
}

#wrap {
	overflow: hidden;
	opacity: 0;
	transition: .4s;
	position: relative;
}

.font-load #wrap {
	opacity: 1;
}


/* --------------- header --------------- */

header {
	width: 100%;
	height: 100px;
	margin: 0;
	padding: 0 3%;
	background-color: #fff;
	box-shadow: 1px 1px 7px -4px transparent;
	display: flex;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	transition: .2s;
	z-index: 999;
}

.scrolled header {
	height: 64px;
	box-shadow: 1px 1px 7px -4px #000;
}

#menubtn {
	display: none;
}

.nav_header {
	margin: 0;
	padding: 0;
}

.nav_header > ul {
	margin: 0;
	padding: 0;
	line-height: 1;
	list-style: none;
	display: flex;
}

.nav_header > ul > li {
	margin: 0 25px 0 0;
	padding: 0;
}

.nav_header > ul > li:last-of-type {
	margin-right: 0;
}

.nav_header > ul > li.pc_none {
	display: none;
}

.nav_header > ul > li > a {
	padding: 0 4px;
	color: #404040;
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	position: relative;
	z-index: 0;
	display: inline-block;
	transition: .2s;
}

.nav_header > ul > li > a::after {
	content: "";
	width: 0%;
	height: 2px;
	background-color: #e8380d;
	position: absolute;
	bottom: -5px;
	left: 0;
	transition: .3s;
}

.nav_header > ul > li > a > img {
	width: auto;
	height: 12px;
}

.logo_header {
	width: 182px;
	height: 38px;
	margin: auto;
	padding: 0;
	line-height: 1.2;
	transition: .2s;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.logo_header a {
	display: inline-block;
}

.sns_header {
	margin: 0 0 0 auto;
	display: flex;
	align-items: center;
}

.sns_header a {
	width: 24px;
	height: 24px;
	margin: 0 20px 0 0;
	fill: #404040; 
	display: block;
	transition: .2s;
}

.sns_header a:last-of-type {
	margin-right: 0;
}

.sns_header a.facebook #f {
	fill: #fff;
}

.btn_header_cart {
	width: 32px;
	height: 32px;
	margin: 0 0 0 50px;
	fill: #404040; 
	display: block;
	transition: .2s;
	position: relative;
	z-index: 0;
	cursor: pointer;
}

.btn_header_cart img {
	width: 100%;
}

.submenu_cart {
	width: 240px;
	padding: 15px 0 0 0;
	position: absolute;
	top: 32px;
	right: -15px;
	visibility: hidden;
	opacity: 0;
	transition: all .2s ease-in-out 0s;
}

.btn_header_cart.open .submenu_cart {
	visibility: visible;
	opacity: 1;
}

.scrolled .submenu_cart {
	padding-top: 16px;
}

.submenu_cart ul {
	margin: 0;
	padding: 0;
	border: solid 1px #aeafaf;
	background-color: rgba(0,0,0,0.8);
	list-style: none;
	position: relative;
	z-index: 0;
	box-shadow: 2px 2px 10px -5px #000;
}

.submenu_cart ul::before {
	content: "";
	width: 0;
	height: 0;
	margin: auto;
	border-style: solid;
	border-width: 0 10px 8px 10px;
	border-color: transparent transparent rgba(0,0,0,0.8) transparent;
	position: absolute;
	right: 15px;
	top: -7px;
}

.submenu_cart ul li {
	margin: 0;
	padding: 0;
	border-bottom: solid 1px #aeafaf;
}

.submenu_cart ul li a {
	padding: 15px 25px 15px;
	color: #fff;
	text-decoration: none;
	display: block;
	position: relative;
	z-index: 0;
	transition: .2s;
}

.submenu_cart ul li a::after {
	content: "";
	width: 8px;
	height: 8px;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	transform: rotate(45deg);
	position: absolute;
	top: calc(50% - 4px);
	right: 15px;
	transition: .2s;
}

.submenu_cart ul li a:hover {
	color: #e8380d;
}

.submenu_cart ul li a:hover:after {
	border-top-color: #e8380d;
	border-right-color: #e8380d;
}

/*.scrolled .header_submenu {
	top: 64px;
}*/

.header_submenu .list {
	margin-right: 60px;
}

.header_submenu .list:last-of-type {
	margin-right: 0;
}

.header_submenu a.parent {
	margin: 0 0 16px;
	padding: 0 0 0 15px;
	color: #fff;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.2;
	display: block;
	position: relative;
	z-index: 0;
}

.header_submenu a.parent.single {
	margin-top: 75px;
}

.header_submenu a.parent::before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 6px;
	border-color: transparent transparent transparent #fff;
	position: absolute;
	top: 6px;
	left: 0;
}

.list_submenu {
	margin: 0;
	padding: 0 0 0 15px;
	list-style: none;
}

.list_submenu li {
	margin: 0 0 5px;
	padding: 0;
}

.list_submenu li:last-of-type {
	margin-bottom: 0;
}

.list_submenu li a {
	height: 25px;
	padding: 0;
	color: #aeafaf;
	font-size: 13px;
	font-weight: 300;
	line-height: 1.2;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	transition: .2s;
}

.list_submenu li a .icon {
	width: 32px;
	height: 100%;
	display: flex;
	align-items: center;
}

.list_submenu li a .icon img {
	width: 20px;
	height: auto;
}

.list_submenu li a .icon .desvg path,
.list_submenu li a .icon .desvg rect {
	transition: .2s;
}

.list_submenu li a:hover .icon .desvg path,
.list_submenu li a:hover .icon .desvg rect {
	stroke: #e8380d;
}




/* --------------- footer --------------- */

footer {
	margin: 0;
	padding: 60px 0 50px;
	color: #404040;
	background-color: #e6d3b5;
}

footer a {
	color: #404040;
	text-decoration: none;
}

.inner_footer {
	width: 94%;
	max-width: 1480px;
	margin: 0 auto;
	display: flex;
}

.inner_footer .left {
	width: 265px;
	display: flex;
	flex-direction: column;
}

.logo_footer {
	width: 182px;
	margin: 0 0 20px;
	display: block;
	transition: .2s;
}

.info_footer {
	margin: auto 0 0 0;
	padding: 0;
	font-size: 13px;
	font-feature-settings: "palt";
	line-height: 1.25;
}

.info_footer dt {
	margin: 0 0 12px;
	padding: 0;
	font-size: 17px;
	font-weight: 500;
	line-height: 1;
}

.info_footer dd {
	margin: 0;
	padding: 0;
}

.info_footer dd .mail {
	width: 16px;
	margin: 10px 0 0 0;
	display: block;
	transition: .2s;
}

.inner_footer .right {
	width: calc(100% - 265px);
	padding: 15px 0 0 0;
	display: flex;
	flex-wrap: wrap;
}

.link_footer {
	width: 190px;
	margin: 0 65px 30px 0;
	padding: 0;
	line-height: 1.3;
	list-style: none;
}

.link_footer.last {
	margin-right: 0;
}

.link_footer.home {
	width: 100%;
}

.link_footer li {
	margin: 0;
	padding: 0;
	line-height: 1.5;
}

.link_footer:not(.single) li:first-of-type {
	border-bottom: solid 1px #404040;
}

.link_footer:not(.single) li {
	margin-bottom: 2px;
}

.link_footer li.parent {
	margin-bottom: 3px;
	padding-bottom: 7px;
	line-height: 1;
}

.link_footer.single li.parent {
	margin-bottom: 0;
	padding-bottom: 0;
}

.link_footer li.parent a {
	font-size: 16px;
	font-weight: 500;
	transition: .2s;
}

.link_footer li a {
	padding: 0 5px;
	font-size: 12px;
	display: inline-block;
}

.inner_footer_btm {
	width: 94%;
	max-width: 1480px;
	margin: 0 auto;
}

.link_footer_law {
	width: 100%;
	margin: 0 0 10px;
	padding: 0;
	font-size: 12px;
	line-height: 1.2;
	list-style: none;
	display: flex;
	justify-content: flex-end;
}

.link_footer_law li {
	margin: 0;
	padding: 0 11px;
	font-size: 12px;
	border-right: solid 1px #404040;
}

.link_footer_law li:last-of-type {
	padding-right: 0;
	border-right: none;
}

.copyright {
	width: 100%;
	font-size: 13px;
	font-weight: 300;
	text-align: right;
}

.pagetop {
	width: 75px;
	height: 75px;
	margin: 0;
	padding: 0;
	text-indent: -9999px;
	background-color: rgba(173,174,174,0.7);
	border-radius: 50%;
	position: fixed;
	right: 15px;
	z-index: 5;
	cursor: pointer;
	transition: background-color .3s;
	display: none;
}

.pagetop:before {
	content: "";
	width: 16px;
	height: 16px;
	margin: 0;
	padding: 0;
	border-left: solid 2px #fff;
	border-top: solid 2px #fff;
	transform: rotate(45deg);
	position: absolute;
	top: calc(50% - 4px);
	left: calc(50% - 8px);
	transition: all .3s;
}


/* --------------- common --------------- */

.bg_white {
	padding: 18px 3% 15px;
	border-top: solid 6px #e8e8e8;
}

.bg_gray {
	padding: 18px 3% 15px;
	background-color: #efefef;
}

.col_pankuzu {
	margin: 0;
	padding: 0;
	font-size: 14px;
	line-height: 1.2;
	list-style: none;
	display: flex;
}

.col_pankuzu li {
	margin: 0;
	padding: 0;
	position: relative;
	z-index: 0;
}

.col_pankuzu li:not(:last-of-type)::after {
	content: ">";
	margin: 0 6px;
}

.col_pankuzu li a {
	color: #404040;
	text-decoration: underline;
}

.col_pankuzu li a:hover {
	text-decoration: none;
}

.ttl {
	margin: 0 0 38px;
	padding: 0;
	font-size: 40px;
	font-weight: 700;
	text-align: center;
	line-height: 1.3;
}

ul.pagination {
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: center;
}

ul.pagination li {
	margin: 0 5px;
	padding: 0;
}

ul.pagination li.dot {
	width: 40px;
	height: 6px;
	background: radial-gradient(circle farthest-side, #707070, #707070 50%, transparent 50%, transparent);
	background-size: 8px 8px;
	background-position: left center;
}

ul.pagination li span,
ul.pagination li a {
	width: 38px;
	height: 38px;
	margin: 0;
	padding: 0;
	color: #404040;
	background-color: #fff;
	border: solid 2px #404040;
	border-radius: 50%;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
}

ul.pagination li span {
	color: #fff;
	background-color: #404040;
}

ul.pagination li a { text-decoration: none; }



/* ---------------------------------------------------------------
	end common
--------------------------------------------------------------- */

/* ---------------------------------------------------------------
	start min 1034px
--------------------------------------------------------------- */

@media screen and ( min-width: 1034px ) {

	.pc_none {
		display: none;
	}



}

/* ---------------------------------------------------------------
	end min 1034px
--------------------------------------------------------------- */

/* ---------------------------------------------------------------
	start max 1033px
--------------------------------------------------------------- */

@media screen and ( max-width: 1033px ) {

/* --------------- header --------------- */

	.nav_header > ul > li {
		margin-right: 20px;
	}

	.header_submenu {
		padding: 55px 20px 55px;
	}

	.header_submenu .list {
		margin-right: 35px;
	}



/* --------------- footer --------------- */

	.inner_footer .left {
		width: 235px;
	}

	.inner_footer .right {
		width: calc(100% - 235px);
	}

	.link_footer {
		margin-right: 30px;
	}

}

/* ---------------------------------------------------------------
	end max 1033px
--------------------------------------------------------------- */

/* ---------------------------------------------------------------
	start min 851px
--------------------------------------------------------------- */

@media print,screen and ( min-width: 851px ) {

	.closebtn {
		display: none;
	}

	.wrap_submenu {
		width: 100%;
		height: 100%;
		padding: 25px 0 0 0;
		position: fixed;
		top: 60px;
		left: 0;
		display: none;
	}

	.scrolled .wrap_submenu {
		top: 39px;
	}

	.header_submenu {
		width: 100%;
		height: 100%;
		padding: 78px 30px 75px;
		color: #fff;
		background-color: rgba(0,0,0,0.8);
		z-index: 100;
		transition: .2s;
		display: flex;
		justify-content: center;
		position: relative;
	}
	
	.header_submenu::before {
		content: "";
		width: 0;
		height: 0;
		margin: auto;
		border-style: solid;
		border-width: 0 10px 8px 10px;
		border-color: transparent transparent rgba(0,0,0,0.8) transparent;
		position: absolute;
		left: calc(3% + 116px);
		top: -8px;
	}
	
	.header_submenu .btn_close {
		width: 40px;
		height: 40px;
		margin: 0;
		padding: 0;
		border: solid 1px #fff;
		transition: background .3s;
		cursor: pointer;
		position: absolute;
		top: 20px;
		right: 20px;
	}

	.header_submenu .btn_close:hover { background-color: rgba(255,255,255,0.3); }

	.header_submenu .btn_close::before,
	.header_submenu .btn_close::after {
		content: "";
		width: 26px;
		height: 1px;
		margin: 0;
		padding: 0;
		background-color: #fff;
		transform-origin: center center;
		position: absolute;
		top: 50%;
		left: calc( 50% - 13px );
	}

	.header_submenu .btn_close::before { transform: rotate(45deg); }
	.header_submenu .btn_close::after { transform: rotate(-45deg); }

}

/* ---------------------------------------------------------------
	end min 851px
--------------------------------------------------------------- */

/* ---------------------------------------------------------------
	start max 850px
--------------------------------------------------------------- */

@media screen and ( max-width: 850px ) {

	body {
		padding-top: 64px;
	}

	/* --------------- header --------------- */

	header {
		height: 64px;
		padding-left: 1%;
	}

	.logo_header {
		width: 142px;
		height: 40px;
	}

	.sns_header {
		display: none;
	}

	.btn_header_cart {
		width: 42px;
		height: 38px;
		margin-left: auto;
	}

	.submenu_cart,
	.scrolled .submenu_cart {
		padding-top: 12px;
		top: 38px;
		right: 0;
	}

	.submenu_cart ul::before {
		right: 3%;
	}

	.closebtn {
		width: 32px;
		height: 32px;
		z-index: 0;
	}

	.closebtn.fixed {
		position: absolute;
		top: 17px;
		left: 23px;
	}

	.closebtn.btm {
		width: 48px;
		height: 58px;
		margin: 50px auto;
		padding-top: 36px;
		text-align: center;
		color: #fff;
		font-size: 14px;
		position: relative;
	}

	.closebtn::before,
	.closebtn::after {
		content: "";
		width: 100%;
		height: 3px;
		margin: auto;
		padding: 0;
		background-color: #fff;
		display: inline-block;
		position: absolute;
		left: 0;
		right: 0;
	}

	.closebtn::before {
		width: 96%;
		transform: translateY(20px) rotate(-45deg);
		top: calc(100% - 37px);
	}

	.closebtn::after {
		width: 96%;
		transform: translateY(-20px) rotate(45deg);
		top: calc(100% + 2px);
	}

	.closebtn.btm::before {
		width: 68%;
		top: 0;
	}

	.closebtn.btm::after {
		width: 68%;
		top: 39px;
	}

	.nav_header	{
		width: 100%;
		height: 100vh;
		padding-top: 64px;
		background-color: rgba(0,0,0,0.8);
		position: fixed;
		top: 0;
		left: 0;
		display: none;
		overflow: auto;
		z-index: 999;
	}

	.nav_header > ul {
		width: 100%;
		margin: 0;
		padding: 0;
		display: block;
	}

	.nav_header > ul > li,
	.nav_header > ul > li.pc_none {
		width: 100%;
		margin: 0;
		padding: 0;
		border-bottom: solid 1px #aeafaf;
		display: block;
		position: relative;
		z-index: 0;
	}

	.nav_header > ul > li:first-of-type {
		border-top: solid 1px #aeafaf;
	}

	.nav_header > ul > li > a {
		height: auto;
		padding: 24px 30px 24px;
		color: #fff;
		font-size: 15px;
		display: block;
	}

	.nav_header > ul > li > a::after {
		content: none;
	}

	.nav_header > ul > li.trigger1:before,
	.nav_header > ul > li.trigger1:after,
	.header_submenu a.parent .cross::before,
	.header_submenu a.parent .cross::after {
		content: "";
		width: 17px;
		height: 1px;
		background-color: #aeafaf;
		position: absolute;
		top: 32px;
		right: 15px;
		transition: all .3s;
	}
	
	.nav_header ul li.trigger1:before,
	.header_submenu a.parent .cross::before {
		left: auto;
	}

	.nav_header ul li.trigger1:after,
	.header_submenu a.parent .cross::after {
		transform: rotate(90deg);
		bottom: auto;
		left: auto;
	}

	.nav_header ul li.trigger1.open:after,
	.header_submenu a.parent.open .cross::after {
		transform: rotate(180deg);
	}

	.wrap_submenu {
		display: none;
	}

	.header_submenu {
		padding: 0;
	}

	.header_submenu .btn_close { display: none; }

	.header_submenu .list {
		margin-right: 0;
	}

	.header_submenu a.parent,
	.header_submenu a.parent.single {
		margin: 0;
		padding: 24px 30px 24px;
		font-size: 15px;
		font-weight: 400;
		text-decoration: none;
		border-top: solid 1px #aeafaf;
	}

	.header_submenu a.parent::before {
		content: "-";
		width: auto;
		height: auto;
		margin-right: 0.4em;
		border: none;
		display: inline;
		position: static;
	}

	.header_submenu a.parent .cross {
		position: absolute;
		top: 0;
		right: 0;
	}

	.list_submenu {
		margin: 0;
		padding: 0;
	}

	.header_submenu .list_submenu {
		display: none;
	}

	.list_submenu li {
		margin: 0;
		padding: 0;
		border-top: solid 1px #aeafaf;
	}

	.list_submenu li a {
		height: auto;
		padding: 24px 30px 24px;
		color: #aeafaf;
		font-size: 15px;
		display: flex;
	}

	.list_submenu li a .icon {
		height: 22px;
		display: inline-block;
		vertical-align: text-bottom;
	}

	#menubtn {
		width: 64px;
		height: 100%;
		margin: 0;
		padding: 0;
		color: #fff;
		font-size: 14px;
		font-weight: 400;
		line-height: 1.2;
		text-align: center;
		display: block;
		position: relative;
		z-index: 2;
		transition: .2s;
		cursor: pointer;
		flex-shrink: 0;
	}

	#menubtn .btn {
		width: 32px;
		height: 100%;
		margin: 0 auto;
		padding: 0;
		position: relative;
		z-index: 0;
	}

	#menubtn .btn span {
		width: 100%;
		height: 3px;
		margin: auto;
		padding: 0;
		background-color: #231815;
		display: inline-block;
		transition: all .4s;
		position: absolute;
		left: 0;
		right: 0;
	}

	#menubtn span:nth-child(1) {
		top: calc(100% - 43px);
	}

	#menubtn span:nth-child(2) {
		top: calc(100% - 32px);
	}

	#menubtn span:nth-child(3) {
		top: calc(100% - 21px);
	}

	#menubtn.active span:nth-of-type(1) {
		width: 96%;
		transform: translateY(20px) rotate(-45deg);
		top: calc(100% - 52px);
	}

	#menubtn.active span:nth-of-type(2) {
		opacity: 0;
	}

	#menubtn.active span:nth-of-type(3) {
		width: 96%;
		transform: translateY(-20px) rotate(45deg);
		top: calc(100% - 12px);
	}


	/* --------------- footer --------------- */
	
	footer {
		padding: 50px 0 20px;
	}

	.inner_footer {
		margin-bottom: 40px;
		flex-direction: column;
	}

	.inner_footer .left {
		width: 100%;
		order: 1;
	}

	.logo_footer {
		margin-left: auto;
		margin-right: auto;
	}

	.info_footer {
		text-align: center;
	}

	.inner_footer .right {
		width: 100%;
		margin-bottom: 40px;
		padding: 0;
		justify-content: center;
		order: 0;
	}

	.info_footer dd .mail {
		margin-left: auto;
		margin-right: auto;
	}

	.link_footer,
	.link_footer.home {
		width: auto;
		margin-bottom: 0;
	}

	.link_footer li.parent {
		margin-bottom: 0;
		padding-bottom: 0;
	}

	.link_footer li:not(.parent) {
		display: none;
	}

	.link_footer:not(.single) li:first-of-type {
		border-bottom: none;
	}

	.link_footer_law {
		justify-content: center;
	}

	.copyright {
		text-align: center;
	}

	.pagetop {
		width: 64px;
		height: 64px;
	}

}

/* ---------------------------------------------------------------
	end max 850px
--------------------------------------------------------------- */
/* ---------------------------------------------------------------
	start min 701px
--------------------------------------------------------------- */

@media print,screen and ( min-width: 701px ) {

	.tab_none {
		display: none;
	}

	img {
		image-rendering: -webkit-optimize-contrast;
	}
	
	/* --------------- header --------------- */

	.nav_header ul a:hover {
		color: #e8380d;
	}
	
	.nav_header ul a:hover::after {
		width: 100%;
	}
	
	.logo_header:hover {
		opacity: 0.75;
	}
	
	.sns_header a.facebook:hover {
		fill: #2b89c9;
	}
	
	.sns_header a.instagram:hover {
		fill: #bb00ad;
	}
	
	.sns_header a.pinterest:hover {
		fill: #e20216;
	}
	
	.btn_header_cart:hover {
		fill: #e8380d;
	}
	
	/* --------------- footer --------------- */

	.pagetop:hover {
		background-color: rgba(173,174,174,1);
	}

	footer a:hover {
	text-decoration: underline;
	}

	.logo_footer:hover {
		opacity: 0.7;
	}

	.info_footer dd .mail:hover {
		opacity: 0.7;
	}

	.link_footer li.parent a:hover {
		color: #404040;
		text-decoration: none;
	}

	/* --------------- common --------------- */

	ul.pagination li a { transition: background .3s; }
	ul.pagination li a:hover { background-color: #ddd; }

}

/* ---------------------------------------------------------------
	end min 701px
--------------------------------------------------------------- */

/* ---------------------------------------------------------------
	start max 700px
--------------------------------------------------------------- */

@media screen and ( max-width: 700px ) {

	.sp_none {
		display: none;
	}

	.bg_white,
	.bg_gray {
		padding: 18px 5% 15px;
	}

	.col_pankuzu {
		display: none;
	}



	/* --------------- header --------------- */

	.btn_header_cart {
		margin-left: auto;
	}

	/* --------------- footer --------------- */
	
	.inner_footer .right {
		display: block;
	}
	
	.link_footer,
	.link_footer.home {
		margin-right: 0;
		margin-bottom: 25px;
		text-align: center;
	}
	
	.link_footer:last-of-type {
		margin-bottom: 0;
	}

	.logo_footer {
		margin-bottom: 20px;
	}

	.info_footer dd .mail {
		width: 26px;
	}

	.pagetop {
		width: 58px;
		height: 58px;
	}

}
/* ---------------------------------------------------------------
	end max 700px
--------------------------------------------------------------- */

/* ---------------------------------------------------------------
	start max 450px
--------------------------------------------------------------- */

@media screen and ( max-width: 450px ) {
	
}

/* ---------------------------------------------------------------
	end max 450px
--------------------------------------------------------------- */
