﻿
html:not(.responsive) {
/*    min-width: 1200px;*/
    /* viewport */
    width: 100%; /* viewport */
}
@font-face {
	font-family: NotoSerifCJKjp;
	src: url('../fonts/NotoSerifCJKjp-SemiBold.otf');
	font-weight: bold;
	font-style: normal;
}
@font-face {
	font-family: NotoSerifCJKjp;
	src: url('../fonts/NotoSerifCJKjp-Medium.otf');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: NotoSansCJKjp;
	src: url('../fonts/NotoSansCJKjp-Bold.otf');
	font-weight: bold;
	font-style: normal;
}
@font-face {
	font-family: NotoSansCJKjp;
	src: url('../fonts/NotoSansCJKjp-Medium.otf');
	font-weight: normal;
	font-style: normal;
}

/*=============================================
 * .fnt - customs
 *=============================================*/
.fnt-notosan {
    font-family: 'Noto Sans JP', sans-serif;
}
.fnt-notoserif {
    font-family: 'Noto Serif JP', serif;
}

/*=============================================
 * body
 *=============================================*/

body {
	font-family: NotoSansCJKjp;
	font-weight: 500;
	font-size: 16px;
	line-height: 40px;
	letter-spacing: 0.15em;
	background: #FFF;
	min-width: inherit;
	min-height: inherit;
	max-height: 100%;
	color: #414141;
}

.font20 {
	font-size: 20px;
}


/*=============================================
 * fonts - DON'T EDIT
 *=============================================*/

.fnt-mincho {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.fnt-meiryo {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴシックPro", "ＭＳ ゴシック", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.fnt-gothic {
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.fnt-NotoSerif {
	font-family: NotoSerifCJKjp;
}
.fnt-tenmincho {
	font-family: NotoSerifCJKjp;
}

/*=============================================
 * <main>
 *=============================================*/

main {
	clear: both;
	width: 100%;
	position: relative;
	overflow: hidden;
	padding-top:360px;
}
img {
	max-width: 100%;
	height: auto;
}
a {
	transition: all ease .3s;
}
a:hover {
	text-decoration: none;
}
i {
    font-style: normal;
}
.container {
	width: 100%;
	max-width: 1200px;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: auto;
}
.wrap {
	width: 1000px;
}
.mb20 {
	margin-bottom: 15px;
}
.mt90 {
	margin-top: 90px;
}
.tac, .txt-center {
	text-align: center;
}
.full-width {
	width: 100%;
}
.box_shadow {
	box-shadow: 6px 8px 40px 0px rgba(0, 0, 0, 0.1);
}
.img_shadow img {
	box-shadow: 6px 8px 40px 0px rgba(0, 0, 0, 0.1);
}
.rss_img img {
	max-width: 100%;
	height: auto;
}
.rss_img span {
	width: 100% !important;
	height: 0 !important;
	padding-top: 75%;
	transition: all ease .3s;
}
.rss_img span:hover {
	opacity: .8;
}
.d-flex {
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
}
.txt_red {
	color: #f33b3b;
}
.txt_white {
    color: #fff;
}
.btn_style a {
	background-color: #e22929;
	box-shadow: 6px 8px 40px 0px rgba(0, 0, 0, 0.1);
	background-position: center left 24px;
	background-repeat: no-repeat;
	box-sizing: border-box;
	display: block;
	padding: 10px 0 10px 64px;
    font-size: 16px;
    line-height: 30px;
	border-radius: 50px;
	font-weight: 700;
	width: 100%;
	color: #fff;
}
.btn_style a span {
	display: inline-block;
	padding-left: 20px;
}
.btn_style a:hover {
	opacity: 0.7;
}
.btn_style a.icon1 {
	background-image: url('../img/shared/icon_btn_youtube.png');
}
.btn_style a.icon2 {
	background-image: url('../img/shared/icon_btn_mail.png');
}
.toggle-link {
	cursor: pointer;
}
a.link_line {
	text-decoration: underline;
}
a.link_line:hover {
	text-decoration: none;
}
@media all and (-ms-high-contrast:none) {
    p.btn a img, header .nav-fl a img {
        transition: opacity 0s ease !important;
        -moz-transition: opacity 0s ease !important;
        -webkit-transition: opacity 0s ease !important;
    }
	.btn-over img,
	.over-img img,
	img.over,
	img:not(.btn):not(.non-over),
	button img {
		opacity: 1;
		transform: translateX(0) translateZ(0);
		-moz-transform: translateX(0) translateZ(0);
		-webkit-transform: translateX(0) translateZ(0);
		transition: none;
		-moz-transition: none;
		-webkit-transition: none;
	}
}
@media screen and (min-width: 1000px) {
	.ip {
		display: none !important;
	}
}
@media screen and (min-width: 768px) {
	.sp {
		display: none !important;
	}
}
@media screen and (max-width: 1199px) {
	.container {
		padding: 0 20px;
	}
	html.responsive .wrap {
	    padding: 0 20px;
	}
}
@media screen and (max-width: 767px) {
	body {
		font-size: 14px;
		line-height: 32px;
	}
	.container {
		padding: 0;
	}
	.wrap {
		width: auto;
		padding: 0 4%;
	}
	.mt90 {
		margin-top: 50px;
	}
	.d-flex {
		flex-wrap: wrap;
	}
	.pc {
		display: none !important;
	}
	.fl, .fr {
		float: none;
	}
	.btn_style a {
		font-size: 14px;
	}
	.btn_style a span {
	    padding-left: 15px;
	    letter-spacing: 0.05em;
	    white-space: nowrap;
	}
}



/*=============================================
 * <header>
 *=============================================*/

header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding-bottom: 77px;
}
header .menu_wrap {
	width: 100%;
	max-width: 1055px;
	box-sizing: border-box;
	padding: 0 20px 20px;
	margin: auto;
	position: relative;
}
header h1 {
	font-size: 15px;
	letter-spacing: 0.3em;
	text-align: center;
}
header .logo {
	width: 160px;
	text-align:left;
}
@media screen and (max-width: 767px) {
header .logo {
	text-align: center;
	margin: auto;
}
}

header .tel {
	position: absolute;
	top: 5px;
	right: 10px;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
}
header .head-top {
	align-items: center;
	margin-bottom: 10px;
}
header .nav-icon {
	display: flex;
	text-align: center;
	justify-content: center;
}
header .nav-icon li {
	font-size: 13px;
	letter-spacing: 0;
	line-height: 1;
	white-space: nowrap;
	margin-left: 19px;
}
header .nav-icon li:first-child {
	margin-left: 0;
}
header .nav-icon li a {
	display: block;
}
header .nav-icon li span {
	margin-top: 4px;
	display: block;
}
header .nav {
	display: flex;
	justify-content: center;
	line-height: 32px;
	text-align: center;
}
header .nav > li {
	position: relative;
}
header .nav > li > a {
    border-left: 2px solid #4b4b4b;
    padding: 0 15px;
    display: block;
    letter-spacing: 0.3em;
	position: relative;
}
header .nav > li:last-child > a {
    border-right: 2px solid #4b4b4b;
}
/*header .nav > li > a:before,
header .nav > li > a:after {
	content: "●";
    vertical-align: top;
    position: relative;
    display: inline-block;
}
header .nav-main > li > a:after {
	display: none;
}*/
header .nav-bottom {
	margin: 16px 0 37px;
	line-height: 26px;
}
header .nav-bottom > li > a {
	padding: 0 45px;
}
header .nav-bottom > li > a:before {
	font-size: 10px;
	margin-right: 12px;
}
header .nav-bottom > li > a:after {
	font-size: 10px;
	margin-left: 12px;
}
header .nav-icon li a:hover,
header .nav > li:hover > a,
header .nav a:hover {
	color: #f33b3b;
}

header .nav_sub {
	background-color: #fff;
	box-shadow: 6px 8px 40px 0px rgba(0, 0, 0, 0.1);
	transition: all ease 0.3s;
	padding: 16px 20px;
	opacity: 0;
	visibility: hidden;
	min-width: 100%;
	box-sizing: border-box;
	z-index: 10;
	position: absolute;
	top: 80%;
	left: 0;
}
header .nav_sub li a {
	text-align: left;
	font-size: 16px;
	letter-spacing: 0.3em;
	line-height: 35px;
	white-space: nowrap;
	display: block;
}
.hamburger {
	background-color: #000000;
	z-index: 100;
	flex: 0 0 73px;
	width: 73px;
	height: 73px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	transition-property: opacity, filter;
	transition-duration: 0.15s;
	transition-timing-function: linear;
	font: inherit;
	color: inherit;
	text-transform: none;
	margin: 0;
	position: relative;
	overflow: visible;
	font-size: 16px;
	letter-spacing: 0;
	line-height: 1;
	color: #fff;
}
.hamburger:hover{
	opacity: 0.8;
	transition: all 0.5s;`
}
/*.hamburger:before {
	content: "";
	border-radius: 50%;
	position: absolute;
	top: 2px;
	left: 2px;
	bottom: 2px;
	right: 2px;
	border: 2px solid #fff;
}*/
.hamburger span {
	margin-top: 5px;
	display: block;
}
.hamburger-box {
	width: 36px;
	height: 14px;
	display: block;
	position: relative;
}
.hamburger-inner {
	display: block;
	top: 50%;
	margin-top: -1px;
}
.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
    width: 100%;
    height: 2px;
	background-color: #fff;
	position: absolute;
	transition-property: transform;
	transition-duration: 0.15s;
	transition-timing-function: ease;
}
.hamburger-inner::before, .hamburger-inner::after {
	content: "";
	display: block;
}
.hamburger-inner::before {
	top: -6px;
}
.hamburger-inner::after {
	bottom: -6px;
}
/** Vortex Reverse **/
.hamburger--vortex-r .hamburger-inner {
	transition-duration: 0.2s;
	transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.hamburger--vortex-r .hamburger-inner::before,
.hamburger--vortex-r .hamburger-inner::after {
	transition-duration: 0s;
	transition-delay: 0.1s;
	transition-timing-function: linear;
}
.hamburger--vortex-r .hamburger-inner::before {
	transition-property: top, opacity;
}
.hamburger--vortex-r .hamburger-inner::after {
	transition-property: bottom, transform;
}
.hamburger--vortex-r.is-active .hamburger-inner {
	transform: rotate(-765deg);
	transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.hamburger--vortex-r.is-active .hamburger-inner::before,
.hamburger--vortex-r.is-active .hamburger-inner::after {
	transition-delay: 0s;
}
.hamburger--vortex-r.is-active .hamburger-inner::before {
	top: 0;
	opacity: 0;
}
.hamburger--vortex-r.is-active .hamburger-inner::after {
	bottom: 0;
	transform: rotate(-90deg);
}
.menu_toggle {
	background-color: #fff;
	padding-top: 25px;
}
.navOpen:before {
	content: "";
	position: fixed;
	z-index: 89;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
}
.navOpen .nav-fixed {
	box-shadow: none;
	border-bottom: none;
}

/*-----------------------------------------*/

#h_productlist{position: absolute; top:90px; left:calc(50% - 270px); list-style: none; width: 700px; display: flex;}
#h_productlist li{flex: 150px;text-align: center; padding: 2px; border-right:1px #999999 solid; font-weight: 600; font-size: 90%;}
#h_productlist li:last-child{border-right:none;}
#h_productlist li span{display: block;}

@media screen and (max-width: 768px) {
#h_productlist{position:relative; top: auto; left:auto;  width: 100%; display: flex; margin-bottom: 5%;}
#h_productlist li{flex:auto;text-align: center; padding: 1%; border-right:1px #999999 solid;}
#h_productlist li img{width: 15vw;}

	}
/*-----------------------------------------*/


.navOpen .menu_toggle {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 1;
	visibility: visible;
	pointer-events: visible;
	box-sizing: border-box;
	/*padding-bottom: 100px;*/
	z-index: 90;
	height: 100vh;
    overflow-y: scroll;
    padding-top: 50px;
}

.navOpen .menu_toggle .nav_sub{
position: relative;
    top: 0;
    opacity: 1;
    visibility: inherit;
    background: none;
    box-shadow: none;
    padding: 5px 20px 0;
}
.navOpen .menu_toggle .head-top{
	display:block;
}
.navOpen .menu_toggle .nav-icon{
	padding:20px 0 0;
}
.fixed_tel{
	display:none !important;
}
.navOpen .fixed_tel{
	display:block !important;
	margin: auto;
}
.navOpen .fixed_tel p{
    line-height: 28px;
}
.navOpen .fixed_tel p img{
	    padding: 1.6em 0.5em 0 0;
}
.navOpen .fixed_tel span.inn{
    padding: 1em 0.25em;
    display: inline-block;
	font-size:22px;
}
.navOpen .fixed_tel span.num{
	font-size:16px;
}
.navOpen .open-flex{
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
	max-width: 620px;
    margin: 0 auto;
}
@media screen and (max-width: 767px) {
.navOpen .fixed_tel img{
	padding: 0 !important;
    width: 30px;
    height: auto;	
}
.navOpen .fixed_tel span.inn{
	padding: 0 0 0 3%;
	font-size: 21px;
}
.navOpen .fixed_tel span.num {
    font-size: 13px;
}

}

/*=============================================
 * nav-fixed
 *=============================================*/

.nav-fixed {
	    /* background-color: #fff; */
    padding: 13px 0;
    position: fixed;
    z-index: 99;
    width: 73px;
    top: 0;
    transition: all ease .3s;
    transform: translateY(-100%);
    right: 0;
}
.nav-fixed.fixed {
	transform: translateY(0);
}
.nav-fixed .wrap-fixed {
	display: flex;
	justify-content:flex-end;
	align-items: center;
}
.nav-fixed .wrap-fixed > div {
	margin: 0 20px;
}
.nav-fixed .fixed_tel p {
	box-shadow: 13px 16px 40px 0px rgba(75, 63, 63, 0.3);
	border-radius: 25px;
    overflow: hidden;
}
.nav-fixed .btn_style {
	width: 300px;
}
.nav-fixed .btn_style + .btn_style {
	margin-top: 11px;
}
.nav-fixed .btn_style a {
	box-shadow: 13px 16px 40px 0px rgba(75, 63, 63, 0.3);
	line-height: 21px;
}
.nav-fixed nav {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 90px;
}
.nav-fixed a {
	position: relative;
}
.nav-fixed a:hover {
	text-decoration: none;
}
@media (min-width: 1000px) and (max-width: 1199px) {
	header .nav > li > a {
	    padding: 0 15px;
	    letter-spacing: 0.2em;
	}
}
@media (min-width: 768px) and (max-width: 999px) {
	header .nav-icon li {
		margin-left: 10px;
	}
	header .nav > li > a {
	    letter-spacing: 0.1em;
	    font-size: 13px;
	}
	header .nav-main > li > a {
	    padding: 0 10px;
	}
	header .nav-bottom > li {
	    padding: 0 30px;
	}
	.nav-fixed .wrap-fixed > div {
	    margin: 0 10px;
	}
}
@media screen and (min-width: 768px) {
	header li:hover .nav_sub {
		display: block;
		opacity: 1;
		visibility: visible;
		top: 100%;
	}
}
@media screen and (max-width: 767px) {
	main {
		padding-top: 0;
	}
	header {
	    position: relative;
	    padding: 25px 0 30px;
	}
	header h1 {
		display: none;
	}
	header .head-top {
	    padding: 15px 0;
	    justify-content: center;
	}
	header .head-sp .nav-icon {
		margin: 20px 0 10px;
	}
	header .nav {
		flex-wrap: wrap;
	}
	header .nav > li {
		width: 100%;
		margin-bottom: 20px;
	}
	header .nav > li:after {
		content: "";
	    border-bottom: 1px solid #414141;
	    width: 100%;
	    position: absolute;
	    top: 45px;
	    left: 0;
	}
	header .nav > li > a {
		border-right: 2px solid #4b4b4b;
		line-height: 32px;
		box-sizing: border-box;
		padding: 0 25px;
		margin-bottom: 16px;
		text-align: center;
		width: 100%;
	}
	header .nav > li > a:before,
	header .nav > li > a:after {
		font-size: inherit;
	}
	.hamburger {
		flex: 0 0 65px;
	    width: 65px;
	    height: 65px;
	    font-size: 12px;
	}
	.menu_toggle {
		display: none;
	}
	header .menu_toggle {
		top: 0 !important;
	}
	header .menu_wrap {
		padding: 155px 0 0;
	}
	header .head-top {
		padding: 0 20px;
		margin: 0;
	}
	header .nav-main {
		margin-top: 30px;
		order: 2;
	}
	header .nav-main > li > a:before {
		display: inline-block;
		margin-right: 12px;
	}
	header .nav-main > li > a:after {
		display: inline-block;
		margin-left: 12px;
	}
	header .nav-bottom {
		background-color: #f0efed;
		padding: 20px;
		margin: 0;
	}
	header .nav-bottom > li {
	    padding: 0;
	}
	header .menu_toggle .logo {
		position: absolute;
		top: 0;
		left: 50%;
		margin-left: -90px;
	}
	header .menu_toggle .open-flex .fixed_tel{
		display:none !important;		
	}
	header .head-btn {
		padding: 0 20px;
		margin-bottom: 30px;
	}
	header .head-btn .fixed_btn .btn_style {
		padding: 0 10px;
		margin-top: 10px;
	}
	header .nav_sub {
		transition: none;
		background: none;
		position: relative;
		top: 0 !important;
		left: 0;
		width: 100% !important;
	    opacity: 1 !important;
    	visibility: visible !important;
    	padding: 0 !important;
    	box-shadow: none;
    	display: none;
	}
	header .nav_sub li a {
		border-bottom: 1px dashed #d7d7d7;
		padding: 0 20px;
    font-size: inherit;
	}
	.navOpen .menu_toggle {
		overflow-y: auto;
		display: block;
		height: 100vh;
		padding-bottom: 70px;
	}

	.nav-fixed {
		transform: translateY(0);
	    right: 10px;
	    top: 10px;
	    padding: 0;
	    background: none;
	    box-shadow: none;
	    border: none;
	    width: auto;
	}
	.nav-fixed .wrap-fixed > div {
		margin: 0;
	}
}

/*=============================================
 * key
 *=============================================*/

#key {
	background-color: #ccc;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	min-height: 500px;
	position: relative;
}
#key ul {
	min-height: inherit;
}
#key li {
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	min-height: inherit;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}


/*=============================================
 * <footer>
 *=============================================*/

footer {
	padding-top: 50px;
}
footer .box_logof {
	align-items: center;
	max-width: 780px;
	margin: auto;
}
footer .tel {
	background: url('../img/shared/icon_btn_tel.png') no-repeat center left 24px;
	background-color: #e22929;
	font-size: 15px;
	line-height: 25px;
	letter-spacing: 0.15em;
	font-weight: 700;
	padding: 12px 22px 12px 90px;
	margin-left: 20px;
	border-radius: 22px;
	color: #fff;
}
footer .tel_info strong {
	font-size: 20px;
}
footer .tel_info .font17 {
	font-size: 17px;
}
footer .tel_info .font16 {
	font-size: 16px;
}
footer .box_btnf {
	margin: 30px 0 32px;
	justify-content: center;
}
footer .box_btnf .btn_style {
	margin: 0 15px;
	width: 300px;
}
footer .btn_payment {
	margin: 32px auto 0;
	width: 100%;
	max-width: 510px;
}
footer .box_text {
	max-width: 780px;
	margin: auto;
}
footer .box_text dl {
	display: flex;
	justify-content: space-between;
	border-bottom: 2px dashed #dddddd;
	line-height: 25px;
	padding: 12px 0 13px;
}
footer .box_text dl dt {
	width: 110px;
	text-align: right;
}
footer .box_text dl dd {
	width: 620px;
}
footer .nav_footer ul {
	width: 140px;
}
footer .nav_footer ul a:hover {
	text-decoration: underline;
}
footer .footer_top {
	border: 1px solid #ffc6c6;
	background-color: #f7f7f7;
	padding: 64px 0 66px;
	margin: 0 20px;
}
footer .footer_mid {
	padding: 26px 0;
}
footer .footer_bot {
	background-color: #e22929;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	letter-spacing: 0.1em;
	line-height: 30px;
	padding: 5px 0;
	font-weight: 500;
	color: #fff;
}
footer .footer_bot > * {
	margin: 0 8px;
}
footer address {
	font-size: 15px;
}
footer .cookies_link {
	font-size: 14px;
}
footer .cookies_link:hover{
	border-bottom: 1px solid #fff;
}
footer #socialbuttons {
	margin: inherit;
	    display: flex;
    align-items: center;
    line-height: 1;
}
@media screen and (max-width: 999px) {
	footer .footer_mid {
		display: none;
	}
}
@media (min-width: 768px) and (max-width: 999px) {
	footer .tel {
		background-position: center left 16px;
	    font-size: 12px;
	    letter-spacing: 0.1em;
	    padding: 10px 22px 12px 70px;
	}
}
@media screen and (max-width: 767px) {
	footer .footer_top {
		margin: 0;
		padding: 40px 0;
	}
	footer .tel {
	    background-position: center left 16px;
	    padding: 12px 22px 12px 70px;
		margin-top: 20px;
		margin-left: 0;
	    font-size: 11px;
    	line-height: 22px;
	}
	footer .tel_info strong {
	    font-size: 18px;
	}
	footer .box_logof {
		justify-content: center;
        flex-direction: column;
	}
	footer .box_btnf {
		margin: 10px 0 20px;
        justify-content: center;
        flex-direction: column;
	}
	footer .box_btnf .btn_style {
	    margin: 5px auto;
	    max-width: 300px;
	    width: 100%;
	}
	footer .box_btnf .btn_style:first-child {
		order: 2;
	}
	footer .box_text dl {
		border-bottom: 1px dashed #414141;
		flex-wrap: wrap;
		padding: 15px 0;
	}
	footer .box_text dl dt {
		text-align: left;
		width: 100%;
		padding-bottom: 5px;
		margin-bottom: 5px;
		border-bottom: 1px solid #414141;
	}
	footer .box_text dl dd {
		width: 100%;
	}
	footer .footer_bot {
		flex-direction: column;
		padding: 10px 0;
	}
	footer .cookies_link {
	    margin-top: 5px;
	}
}

/*====================== ft_fixed ====================== */
#ft_fixed {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	opacity: 0;
	visibility: hidden;
	font-size: 12px;
}
.navOpen #ft_fixed {
	z-index: 0;
}
.has_nav #ft_fixed {
	opacity: 1;
	visibility: visible;
}
.ft_fixed_shared {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-flow: row;
	text-align: center;
	width: 100%;
	border-top: 1px solid #fff;
	z-index: 100;
}
.ft_fixed_shared li {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 33.33%;
	color: #fff;
	background-color: #a88535;
	border-right: 1px solid #fff;
}
.ft_fixed_shared li:nth-child(2) {
	width: 50%;
}
.ft_fixed_shared li:last-child {
	border-right: 0;
}
.ft_fixed_shared li a {
	display: block;
	padding: 5px 0;
	font-size: 19px;
	position: relative;
}
.ft_fixed_shared li a:before {
	font-size: 12px;
}
.ft_fixed_shared li a:after {
	font-size: 12px;
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	content: '\f105';
	font-family: "fontello";
	font-style: normal;
	font-weight: normal;
	speak: none;
	display: inline-block;
	text-decoration: inherit;
	display: none;
}
/* iPhone X */
@media only screen  and (min-device-width: 375px)  and (min-device-height: 812px)  and (-webkit-device-pixel-ratio: 3)  and (orientation: portrait) {
	.has_nav footer:after {
		background: #a88535;
		content: '';
		position: fixed;
		bottom: 0px;
		left: 0;
		right: 0;
		height: 36px;
	}
	#ft_fixed {
		bottom: calc(env(safe-area-inset-bottom) - 0px);
	}
}
/* iPhone XR */
@media only screen  and (min-device-width: 414px)  and (min-device-height: 896px)  and (-webkit-device-pixel-ratio: 2)  and (orientation: portrait) {
	.has_nav footer:after {
		background: #a88535;
		content: '';
		position: fixed;
		bottom: 0px;
		left: 0;
		right: 0;
		height: 36px;
	}
	#ft_fixed {
		bottom: calc(env(safe-area-inset-bottom) - 0px);
	}
}
/* iPhone 11 */
@media  only screen and (-webkit-min-device-pixel-ratio: 3),  only screen and ( min--moz-device-pixel-ratio: 3),  only screen and ( -o-min-device-pixel-ratio: 3/1),  only screen and ( min-device-pixel-ratio: 3),  only screen and ( min-resolution: 458dpi),  only screen and ( min-resolution: 3dppx) {
	.has_nav footer:after {
		background: #a88535;
		content: '';
		position: fixed;
		bottom: 0px;
		left: 0;
		right: 0;
		height: 36px;
	}
	#ft_fixed {
		bottom: calc(env(safe-area-inset-bottom) - 0px);
	}
}
.bg_parallax {
	position: relative;
	padding-top: 45vh;
}
.img_parallax {
	clip: rect(0, auto, auto, 0);
	margin-bottom: 0;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1;
}
.img_parallax img {
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	padding: 0;
	margin: 0;
	object-fit: cover;
	z-index: 0;
	transform: translateZ(0);
}
/* Slider */
.slick-loading .slick-list {
    background: #fff url('../img/shared/ajax-loader.gif') center center no-repeat;
}
.slick-slide .item {
	vertical-align: top;
}
/* Arrows */
.slick-arrow {
	background-image: url('../img/shared/slick_control.png');
	background-repeat: no-repeat;
	background-size: auto 100%;
	background-color: transparent;
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    margin-top: -26px;
    display: block;
    width: 52px;
    height: 52px;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    z-index: 1;
}
.slick-arrow:hover, .slick-arrow:focus {
	opacity: 0.8;
}
.slick-arrow.slick-disabled {
    opacity: .25;
}
.slick-prev {
	background-position: left center;
    left: 0;
}
.slick-next {
	background-position: right center;
    right: 0;
}
/* Dots */
/* .slick-dotted.slick-slider {
    margin-bottom: 30px;
    padding-bottom: 20px;
} */
.slick-dots {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
	margin-top: 32px;
    list-style: none;
    text-align: center;
    line-height: 0;
}
.slick-dots li {
    position: relative;
    display: inline-block;
    margin: 0 10px;
    padding: 0;
    cursor: pointer;
}
.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 14px;
    height: 14px;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    border-radius: 50%;
    background-color: #cecece;
}
.slick-dots li button:hover, .slick-dots li button:focus {
    outline: none;
}
.slick-dots li.slick-active button {
    background: #f33b3b;
}
.custom_dots .slick-dots li {
	margin: 0 6px;
}
.custom_dots .slick-dots li button {
	width: 50px;
    height: 10px;
    font-size: 0;
    background: transparent;
    border: 2px solid #f33b3b;
    cursor: pointer;
    border-radius: 10px;
}
.custom_dots .slick-dots li.slick-active button {
    background: #f33b3b;
}
.toggle-custom .toggle-link-custom {
	position: relative;
	cursor: pointer;
}
.toggle-custom .toggle-link-custom:before {
    content: "";
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url("../img/shared/icon_down.png");
    position: absolute;
    width: 24px;
    top: 0;
    right: 20px;
    bottom: 0;
}
.toggle-custom .toggle-link-custom.active:before {
	transform: rotate(-180deg);
}
.toggle-custom .toggle-main-custom {
	display: none;
	width: 100% !important;
	box-sizing: border-box;
}
@media screen and (max-width: 767px) {
	#pagetop {
		width: 50px;
	}
	.navOpen #pagetop {
		display: none;
	}
	.slick-arrow {
		width: 38px;
		height: 38px;
	}
}



/**********Content***************/
.title {
	font-family: NotoSerifCJKjp;
	font-weight: normal;
	background-color: #f33b3b;
	font-size: 30px;
	line-height: 40px;
	letter-spacing: 0.3em;
	padding: 10px 20px;
	margin-bottom: 15px;
	color:#fff;
}
.title span {
	background-position: center left;
	background-repeat: no-repeat;
	padding-left: 44px;
}
.title.icon1 span {
	background-image: url('../img/shared/h2_icon1.png');
	text-shadow: 0px 0px 10px rgba(8, 1, 3, 0.3);
}
.title.icon2 span {
	background-image: url('../img/shared/h2_icon2.png');
}
.title.icon3 span {
	background-image: url('../img/shared/h2_icon3.png');
}

.title_2 {
	font-family: NotoSerifCJKjp;
	font-weight: normal;
	background-color: #ffcc00;
	font-size: 30px;
	line-height: 40px;
	letter-spacing: 0.3em;
	padding: 10px 20px;
	margin-bottom: 15px;
	color:#000;
}
.title_2  span {
	background-position: center left;
	background-repeat: no-repeat;
	padding-left: 44px;
}
.title_2.icon1 span {
	background-image: url('../img/shared/h2_icon1.png');
	text-shadow: 0px 0px 10px rgba(8, 1, 3, 0.3);
}
.title_2.icon2 span {
	background-image: url('../img/shared/h2_icon2_y.png');
}
.title_2.icon3 span {
	background-image: url('../img/shared/h2_icon3.png');
}




.col-sidebar {
	background-color: #e6e6e6;
	padding: 40px 30px 72px;
	box-sizing: border-box;
	width: 300px;
}
.col-sidebar h3 {
	font-family: NotoSerifCJKjp;
	background-color: #f33b3b;
	font-size: 18px;
	line-height: 40px;
	letter-spacing: 0.15em;
	text-align: center;
	color: #fff;
}
.col-sidebar .box_search {
	margin-top: 56px;
}
.col-sidebar .box_search .form_search {
	margin-top: 7px;
}
.col-sidebar .box_search .form_search input {
	height: 40px;
	line-height: 40px;
	width: calc(100% - 45px);
	box-sizing: border-box;
	border: none;
	background-color: #fff;
	padding: 0 10px;
}
.col-sidebar .box_search ::-webkit-input-placeholder { /* Edge */
	font-size: 15px;
	font-weight: 300;
	color: #d4d4d4;
}
.col-sidebar .box_search :-ms-input-placeholder { /* Internet Explorer 10-11 */
	font-size: 15px;
	font-weight: 300;
	color: #d4d4d4;
}
.col-sidebar .box_search ::placeholder {
	font-size: 15px;
	font-weight: 300;
	color: #d4d4d4;
}
.col-sidebar .box_search .form_search button {
	background-color: #e22929;
	width: 40px;
	height: 40px;
	text-align: center;
	border: none;
}
.col-sidebar .box_info_product {
	margin: 47px 0 58px;
}
.col-sidebar .box_info_product li {
	background-color: #fff;
	font-size: 18px;
	line-height: 25px;
	letter-spacing: 0.15em;
	display: flex;
	margin-top: 5px;
}
.col-sidebar .box_info_product li a {
	display: flex;
	align-items: center;
}
.col-sidebar .box_info_product li span {
	margin-left: 18px;
	display: block;
}
.col-sidebar .bnr {
	margin-bottom: 28px;
}
.col-content {
	width: calc(95% - 300px);	
	box-sizing: border-box;
}
.col-content .row {
	margin-bottom: 68px;
}
.col-content .box_content {
	padding: 0 10px;
}

.col-content .box_cart {
	background-color: #ececec;
	padding: 54px 90px;
	margin-bottom: 72px;
}
.col-content .box_cart .cart_img {
	max-width: 330px;
    width: 48%;
}
.col-content .box_cart .cart_text {
	padding-top: 15px;
	width: 310px;
}

.box_cart .cart_wrap .cart_text {
	padding-bottom:20px;
	border-bottom:1px dotted #666;
}
.col-content .box_cart h3 {
	font-size: 22px;
}
.col-content .box_cart dl.dl_price {
	display: flex;
}
.col-content .box_cart dl.dl_price dd span {
	font-size: 22px;
}
.col-content .box_cart dl.dl_number {
	display: flex;
	color: #7e7e7e;
}
.col-content .box_cart dl.dl_naiyou{
	display: flex;
	color: #7e7e7e;
	font-size:80%;
	line-height: 1.5em;
}
.col-content .box_cart dl.dl_price dt,
.col-content .box_cart dl.dl_number dt.
.col-content .box_cart dl.dl_naiyou dt{
	width: 74px;
	flex: 0 0 74px;
	margin-right: 20px;
}
.col-content .box_cart .quantity {
	background-color: #fff;
	border: 1px solid #f16a6a;
	width: 239px;
	height: 49px;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	position: relative;
	margin-top: 12px;
}
.col-content .box_cart .quantity span {
	padding: 0 16px;
	display: inline-block;
	white-space: nowrap;
}
.col-content .box_cart .quantity input {
	border: none;
	width: calc(100% - 70px);
	-moz-appearance: textfield;
}
.col-content .box_cart .quantity input[type=number]::-webkit-inner-spin-button,
.col-content .box_cart .quantity input[type=number]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.quantity-nav {
	position: absolute;
	top: -1px;
	bottom: -1px;
	left: 100%;
	width: 25px;
	margin-left: 3px;
}
.quantity-button {
	cursor: pointer;
	background-color: #fff;
	border: 1px solid #f25050;
	width: 20px;
	text-align: center;
	color: #333;
	font-size: 13px;
	line-height: 1.7;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	-o-user-select: none;
	user-select: none;
}
.quantity-button:before {
	content: "";
	position: absolute;
    left: 5px;
	border: 5px solid #f33b3b;
	border-left: 5px solid transparent;
	border-top: 5px solid transparent;
}
.quantity-button.quantity-up {
	position: absolute;
	height: 50%;
	top: 0;
	border-bottom: 1px solid #eee;
}
.quantity-button.quantity-up:before {
	transform: rotate(-135deg);
	top: 9px;
}
.quantity-button.quantity-down:before {
	transform: rotate(45deg);
	top: 4px;
}
.quantity-button.quantity-down {
	position: absolute;
	bottom: 0;
	height: 50%;
}
.col-content .btn_cart {
	margin-top: 20px;
}
.col-content .btn_cart  {
	background-color: #e22929;
    box-shadow: 6px 8px 40px 0px rgb(0 0 0 / 10%);
    background-position: center left 24px;
    background-repeat: no-repeat;
    box-sizing: border-box;
    text-align: center;
    display: block;
	border: none;
    padding: 13px 0 13px;
    border-radius: 25px;
    font-weight: 700;
    width: 100%;
    color: #fff;
}
.col-content .btn_cart a:hover {
	opacity: 0.8;
}
.col-content .btn_cart span {
	display: inline-block;
	background: url('../img/shared/icon_cart.png') no-repeat center left;
	padding-left: 45px;
}

.col-content .border {
	background-color: #fff;
	border: 1px solid #f33b3b;
	padding: 20px 30px;
}
.col-content .title.toggle-link {
	padding: 20px 88px 20px 30px;
	margin-bottom: 0;
}
.col-content .title.toggle-link:before {
	content: "";
	width: 86px;
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url('../img/shared/toggle_arrow.png');
	background-color: #fff;
	position: absolute;
	top: 1px;
	right: 1px;
	bottom: 1px;
}
.col-content .active .title.toggle-link:before {
	background-image: url('../img/shared/toggle_arrow_on.png');
}
.col-content .box_products {
	background-color: #ececec;
	padding: 47px 30px;
}
.col-content .box_products h3 {
	font-size: 28px;
	padding: 15px 20px;
	margin-bottom: 0;
}
.col-content .box_products h3 small {
	font-size: 20px;
}
.col-content .box_products .row_products {
	margin-top: 36px;
}
.col-content .box_products .row_products > div {
	background-color: #fff;
	padding: 28px 30px;
}
.col-content .box_products .row_item {
	margin-top: 30px;
}
.col-content .box_products .row_item:first-child {
	margin-top: 0;
}
.col-content .box_products .row_item h4 {
	border-bottom: 1px solid #ffc6c6;
    padding-bottom: 5px;
    margin-bottom: 6px;
	font-size: 22px;
	letter-spacing: 0.25em;
	color: #f33b3b;
}
.col-content .border_yellow {
	border: 1px solid #fcab54;
	position: relative;
	margin-top: 42px;
	padding: 26px 30px 12px;
}
.col-content .border_yellow h5 {
	background-color: #fcab54;
	border-radius: 15px;
	position: absolute;
	top: -18px;
	left: 24px;
	font-size: 17px;
	letter-spacing: 0.25em;
	line-height: 35px;
	padding: 0 34px;
	color: #fff;
}
.col-content .border_yellow h5 span {
	background: url('../img/shared/icon_pen.png') no-repeat center left;
	display: inline-block;
	padding-left: 32px;
}
.col-content .table_reponsive {
	padding-top: 25px;
	overflow: auto;
	width: 100%;
}
.col-content .table_reponsive table {
	white-space: nowrap;
}
.col-content .table_style {
	font-size: 15px;
	line-height: 24px;
	width: 100%;
}
.col-content .table_style th,
.col-content .table_style td {
	border: 1px solid #f33b3b;
	vertical-align: middle;
	text-align: center;
}
.col-content .table_style th {
	background-color: #ff6d6d;
	padding: 7px 10px;
	color: #fff;
}
.col-content .table_style th span {
	font-size: 12px;
	line-height: 18px;
	display: inline-block;
}
.col-content .table_style td {
	padding: 18px 10px;
}
.col-content .table_style .w117 {
	background-color: #ececec;
	width: 117px;
}
.col-content .table_style .w63 {
	background-color: #ececec;
	width: 63px;
}
.bg_gray {
	background-color: #ececec;
}
.circle {
	font-size: 13px;
	position: relative;
	top: 1px;
}

.col-content .box_voice .voice_item {
	background-color: #ececec;
	padding: 24px 60px;
	margin-top: 32px;
}
.col-content .box_voice .avatar {
	width: 125px;
	flex: 0 0 125px;
}
.col-content .box_voice dl {
	width: calc(100% - 125px - 32px);
}
.col-content .box_voice dl dt {
	font-size: 18px;
	color: #f33b3b;
}

.col-content .box_flow .flow_title {
	background-color: #ff6d6d;
	padding: 10px 28px;
	font-size: 18px;
	color: #fff;
}
.col-content .box_flow .flow_text {
	padding: 10px 28px;
	border: 1px solid #f99797;
}

.col-content .box_item .item {
	margin-top: 18px;
	width: 23.8%;
}
.col-content .box_item .item dl {
	line-height: 30px;
	padding: 0 10px;
	margin: 10px 0;
}
.col-content .box_item .item .btn_details {
	padding: 0 10px;
}

.btn_details a {
	font-family: NotoSerifCJKjp;
	display: block;
	font-size: 17px;
	line-height: 31px;
	border: 1px solid #8a8a8a;
	border-radius: 4px;
	width: 100%;
	text-align: center;
}
.btn_details a:hover {
	opacity: 0.8;
}
@media screen and (max-width: 1199px) {
	.col-content .box_cart {
	    padding: 54px 40px;
	}
}
@media screen and (max-width: 999px) {
	.col-sidebar {
		width: 100%;
		display: none;
	}
	.col-content {
		width: 100%;
	}
	.col-content .row {
	    margin-bottom: 50px;
	}
	.col-content .row:last-child {
		margin-bottom: 0;
	}
	.col-content .box_content {
		padding: 0 20px;
	}

	.col-content .box_cart {
	    padding: 54px 30px;
	}

}
@media screen and (max-width: 767px) {
	.title {
	    font-size: 25px;
	    line-height: 40px;
	    letter-spacing: 0.2em;
	}
	.col-content .title.toggle-link {
	    padding: 10px 55px 10px 20px;
	    font-size: 22px;
	    line-height: 40px;
	    letter-spacing: 0.1em;
	}
	.col-content .title.toggle-link:before {
		width: 55px;
	}

	.col-content .table_style {
		font-size: 14px;
	}
	.col-content .table_style th strong {
		font-weight: normal;
	}

	.btn_details a {		
		font-size: 14px;
	}

	.col-content .box_products {
	    padding: 25px 20px;
	}
	.col-content .box_products .row_products > div {
	    padding: 25px 20px;
	}

	.col-content .box_cart {
		padding: 30px 30px;
		margin-bottom: 50px;
	}
	.col-content .box_cart .cart_img,
	.col-content .box_cart .cart_img img,
	.col-content .box_cart .cart_text {
		max-width: inherit;
	    width: 100%;
	}
	.col-content .btn_cart {
	    margin: 20px auto 0;
	    max-width: 300px;
	}

	.col-content .box_flow, .col-content .box_voice {
		padding: 0 10px;
	}
	.col-content .box_flow .flow_item {
		margin-top: 20px;
	}
	.col-content .box_flow .flow_title {
		border: 1px solid #f33b3b;
		position: relative;
	}
	.col-content .box_flow .flow_title:before {
		content: "";
		position: absolute;
		top: 19px;
	    right: 18px;
	    width: 16px;
	    height: 14px;
		background: url('../img/shared/flow_arrow.png') no-repeat center center / 100%;
	}
	.col-content .box_flow .flow_title.active:before {
		transform: rotate(180deg);
	}
	.col-content .box_flow .flow_text {
		display: none;
		width: 100% !important;
		box-sizing: border-box;
	    padding: 0 !important;
	}
	.col-content .box_flow .flow_text p {
	    padding: 10px 20px !important;
	}

	.col-content .box_voice .voice_item {
	    padding: 20px 20px;
	    margin-top: 20px;
	}
	.col-content .box_voice .avatar {
		margin: 0 auto 20px;
	}
	.col-content .box_voice dl {
		width: 100%;
	}

	.col-content .box_item {
		padding: 0 20px;
	}
	.col-content .box_item .item {
		width: 48%;
	}

	.col-content .box_cart .quantity {
	    width: calc(100% - 28px);
	}
}


.tc {
    text-align: center;
}
.tj {
    text-align: justify;
}
.tr {
    text-align: right;
}
.tl {
    text-align: left;
}
.disF {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
}
.pc {
    display: block;
}
.sp {
    display: none;
}
.sp480 {
    display: none;
}
.box_shadow {
    box-shadow: 13px 16px 40px 0px rgba(75, 63, 63, 0.3);
}
.box_shadow2 {
    box-shadow: 13px 16px 40px 0px rgba(211, 98, 98, 0.3);
}
.box_shadow3 {
    box-shadow: 6px 8px 40px 0px rgba(0, 0, 0, 0.1);
}
.box_shadow4 {
    box-shadow: 0px 10px 40px 0px rgba(0, 0, 0, 0.1);
}
.bgRed {
    background: #f33b3b;
}
.cloRed {
    color: #e22929;
}
.boras {
    border-radius: 55px;
}
@media only screen and (min-width: 1000px) {
    .disF_PC {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
    }
    
}
@media only screen and (max-width: 999px) {
    picture {
        display: block;
    }
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
    html.responsive .global_section .wrap{
        padding: 0 5%;
    }
    html.responsive .global_section img {
        /*width: 100%;*/
    }
}
@media only screen and (max-width: 480px) {
    .sp480 {
        display: block;
    }
}
@media only screen and (min-device-width: 375px) and (min-device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait) {
    #pagetop {
        right: calc(env(safe-area-inset-right) + 10px);
        bottom: calc(env(safe-area-inset-bottom) + 40px);
    }
}
/* iPhone XR */
@media only screen and (min-device-width: 414px) and (min-device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait) {
    #pagetop {
        right: calc(env(safe-area-inset-right) + 10px);
        bottom: calc(env(safe-area-inset-bottom) + 40px);
    }
}
/* iPhone 11 */
@media only screen and (-webkit-min-device-pixel-ratio: 3), only screen and (min--moz-device-pixel-ratio: 3), only screen and (-o-min-device-pixel-ratio: 3 / 1), only screen and (min-device-pixel-ratio: 3), only screen and (min-resolution: 458dpi), only screen and (min-resolution: 3dppx) {
    #pagetop {
        right: calc(env(safe-area-inset-right) + 10px);
        bottom: calc(env(safe-area-inset-bottom) + 40px);
    }
}

.navClose .hum_resbnr,.hum_resbnr{ display: none;}
.navOpen .hum_resbnr{ display:block; margin:0 auto; padding:20px; max-width: 800px;}
.navOpen .hum_resbnr img{ width: 100%; height: auto;}