html { 
	font-size: 65%; /* 10px */
}
body {
	-webkit-text-size-adjust: 100%; 
	background:#FFF;
	color:#3F4551;
}
body, body *, body *::before, body *::after {
	outline:none;
}
/* ECCUBE用
-------------------------------------------------------------- */
a:focus, a:hover {
    text-decoration: none;
}

/* =margin&padding
-------------------------------------------------------------- */
.padd30 {
	padding-top:30px;
}
.padd50 {
	padding-top:30px;
}
.padd60 {
	padding-top:40px;
}
.padd100 {
	padding-top:60px;
}
.padd150 {
	padding-top:100px;
}
.padd200 {
	padding-top:150px;
}
.paddb30 {
	padding-bottom:30px;
}
.paddb50 {
	padding-bottom:30px;
}
.paddb60 {
	padding-bottom:40px;
}
.paddb100 {
	padding-bottom:60px;
}
.paddb150 {
	padding-bottom:100px;
}
.paddb200 {
	padding-bottom:150px;
}
.center {
	text-align: center;
}

/* =responsive
-------------------------------------------------------------- */
.pc {
	display:none;
}
.pctablet {
	display:none;
}
.tablet {
	display:none;
}


/* =structure
-------------------------------------------------------------- */
#container {
	width:100%;
	position: relative;
}
.mainwrap.active {
	padding:0 !important;
}
.wrapper {
	width:100%;
	position: relative;
}
.wrapper.mediapost {
	background:#fff9f3;
}
.wrap {
	padding:60px 0 0 0;
}
.contents {
	width:90%;
	margin:0 auto;
	position: relative;
}
.contents2 {
	width:90%;
	margin:0 auto;
	position: relative;
}
.smallbox {
	width:100%;
	margin:0 auto;
	position: relative;
}
.smallbox2 {
	width:100%;
	margin:0 auto;
	position: relative;
}
.mainside {
	width:100%;
	order:0;
}
.subside {
	width:100%;
	order:2;
}
.related_wrapper {
	width:100%;
	order:1;
}
.flex {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-moz-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-moz-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
	-ms-flex-pack: space-between;
	-webkit-align-items: ﬂex-start;
	-moz-align-items: ﬂex-start;
	-ms-align-items: ﬂex-start;
	align-items: ﬂex-start;
}

.anime {
	opacity:0;
	-webkit-transform: translateY(50px);
	   -moz-transform: translateY(50px);
	    -ms-transform: translateY(50px);
	     -o-transform: translateY(50px);
	        transform: translateY(50px);
}
.anime.run {
	-webkit-animation: showup 1s .3s cubic-bezier(.5, 0, .5, 1) both;
    animation: showup 1s .3s cubic-bezier(.5, 0, .5, 1) both;
}
@-webkit-keyframes showup {
	0% {
	    opacity:0;
	    -webkit-transform: translateY(50px);
		   -moz-transform: translateY(50px);
		    -ms-transform: translateY(50px);
		     -o-transform: translateY(50px);
		        transform: translateY(50px);
	}
	100% {
	    opacity:1;
	    -webkit-transform: translateY(0px);
		   -moz-transform: translateY(0px);
		    -ms-transform: translateY(0px);
		     -o-transform: translateY(0px);
		        transform: translateY(0px);
	}
}
@keyframes showup {
	0% {
	    opacity:0;
	    -webkit-transform: translateY(50px);
		   -moz-transform: translateY(50px);
		    -ms-transform: translateY(50px);
		     -o-transform: translateY(50px);
		        transform: translateY(50px);
	}
	100% {
	    opacity:1;
	    -webkit-transform: translateY(0px);
		   -moz-transform: translateY(0px);
		    -ms-transform: translateY(0px);
		     -o-transform: translateY(0px);
		        transform: translateY(0px);
	}
}
/* =ヘッダー
-------------------------------------------------------------- */
header {
	display:block;
	width:100%;
	height:60px;
	border-bottom:1px solid #8f806a;
	position: fixed;
	z-index:100;
	background:#FFF;
	top:0;
	left:0;
	padding:0 0 0 20px;
	-webkit-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	   -moz-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	    -ms-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	     -o-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	        transition: all .3s cubic-bezier(.5, 0, .5, 1);
}
header .left {
	width:175px;
}
header .left.flex,
header .quickmenu .flex {
	justify-content:flex-start;
}
header h1 {
	display: block;
	width:80px;
	height:auto;
	padding:14px 0;
	margin:0 15px 0 0;
	position: relative;
	z-index:110;
}
header h1 img {
	display: block;
	width:100%;
	height:auto;
}
header .gmenu {
	width:80px;
	height:60px;
	cursor: pointer;
	position: relative;
	z-index:110;
	user-select:none;
}
header .gmenu p {
	position: absolute;
	top:50%;
	right:0;
	font-size:1.5rem;
	color:#004a98;
	margin:-1px 0 0 0;
	-webkit-transform: translateY(-50%);
	   -moz-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	     -o-transform: translateY(-50%);
	        transform: translateY(-50%);
}
header .gmenu .humberger1 {
	position: absolute;
	width:30px;
	height:1px;
	top:50%;
	left:0;
	margin:-1px 0 0 0;
	background:#004a98;
	-webkit-transition: opacity .25s .5s cubic-bezier(.215,.61,.355,1);
	   -moz-transition: opacity .25s .5s cubic-bezier(.215,.61,.355,1);
	    -ms-transition: opacity .25s .5s cubic-bezier(.215,.61,.355,1);
	     -o-transition: opacity .25s .5s cubic-bezier(.215,.61,.355,1);
	        transition: opacity .25s .5s cubic-bezier(.215,.61,.355,1);
}
header .gmenu .humberger2 {
	position: absolute;
	width:30px;
	height:1px;
	top:50%;
	left:0;
	background:#004a98;
	margin:-7px 0 0 0;
	-webkit-transition: margin .25s .5s cubic-bezier(.215,.61,.355,1), transform .25s .75s cubic-bezier(.215,.61,.355,1);
	   -moz-transition: margin .25s .5s cubic-bezier(.215,.61,.355,1), transform .25s .75s cubic-bezier(.215,.61,.355,1);
	    -ms-transition: margin .25s .5s cubic-bezier(.215,.61,.355,1), transform .25s .75s cubic-bezier(.215,.61,.355,1);
	     -o-transition: margin .25s .5s cubic-bezier(.215,.61,.355,1), transform .25s .75s cubic-bezier(.215,.61,.355,1);
	        transition: margin .25s .5s cubic-bezier(.215,.61,.355,1), transform .25s .75s cubic-bezier(.215,.61,.355,1);
}
header .gmenu .humberger3 {
	position: absolute;
	width:30px;
	height:1px;
	top:50%;
	left:0;
	background:#004a98;
	margin:5px 0 0 0;
	-webkit-transition: margin .25s .5s cubic-bezier(.215,.61,.355,1), transform .25s .75s cubic-bezier(.215,.61,.355,1);
	   -moz-transition: margin .25s .5s cubic-bezier(.215,.61,.355,1), transform .25s .75s cubic-bezier(.215,.61,.355,1);
	    -ms-transition: margin .25s .5s cubic-bezier(.215,.61,.355,1), transform .25s .75s cubic-bezier(.215,.61,.355,1);
	     -o-transition: margin .25s .5s cubic-bezier(.215,.61,.355,1), transform .25s .75s cubic-bezier(.215,.61,.355,1);
	        transition: margin .25s .5s cubic-bezier(.215,.61,.355,1), transform .25s .75s cubic-bezier(.215,.61,.355,1);
}
header .gmenu.active .humberger1 {
	opacity:0;
}
header .gmenu.active > div div.humberger2 {
	-webkit-animation: header-menu-line2 .5s .5s cubic-bezier(.215,.61,.355,1) forwards;
    animation: header-menu-line2 .5s .5s cubic-bezier(.215,.61,.355,1) forwards;
}
header .gmenu.active > div div.humberger3 {
	-webkit-animation: header-menu-line3 .5s .5s cubic-bezier(.215,.61,.355,1) forwards;
    animation: header-menu-line3 .5s .5s cubic-bezier(.215,.61,.355,1) forwards;
}
header .gmenu > div > div,
header .gmenu:hover > div > div {
	-webkit-animation: header-menu-line .5s cubic-bezier(.215,.61,.355,1) both;
    animation: header-menu-line .5s cubic-bezier(.215,.61,.355,1) both;
    animation-delay: calc(100ms * var(--menu-index) );
}
@-webkit-keyframes header-menu-line{
	0% {
			transform:scale(1);
			transform-origin:right center;
		}
	50% {
			transform:scaleX(0);
			transform-origin:right center;
		}
	50.1%{
			transform:scaleX(0);
			transform-origin:left center;
		}
	to{
		transform:scale(1);
		transform-origin:left center;
	}
}
@keyframes header-menu-line{
	0% {
			transform:scale(1);
			transform-origin:right center;
		}
	50% {
			transform:scaleX(0);
			transform-origin:right center;
		}
	50.1%{
			transform:scaleX(0);
			transform-origin:left center;
		}
	to{
		transform:scale(1);
		transform-origin:left center;
	}
}
@-webkit-keyframes header-menu-line2 {
	0% {
			margin:-9px 0 0 0;
			transform-origin:center center;
		}
	50% {
		margin:-1px 0 0 0;
	}
	100%{
			margin:-1px 0 0 0;
			transform:rotate(32deg);
			transform-origin:center center;
		}
}
@keyframes header-menu-line2 {
	0% {
			margin:-9px 0 0 0;
			transform-origin:center center;
		}
	50% {
		margin:-1px 0 0 0;
	}
	100%{
			margin:-1px 0 0 0;
			transform:rotate(32deg);
			transform-origin:center center;
		}
}
@-webkit-keyframes header-menu-line3 {
	0% {
			margin:7px 0 0 0;
			transform-origin:center center;
		}
	50% {
		margin:-1px 0 0 0;
	}
	100%{
			margin:-1px 0 0 0;
			transform:rotate(-32deg);
			transform-origin:center center;
		}
}
@keyframes header-menu-line3 {
	0% {
			margin:7px 0 0 0;
			transform-origin:center center;
		}
	50% {
		margin:-1px 0 0 0;
	}
	100%{
			margin:-1px 0 0 0;
			transform:rotate(-32deg);
			transform-origin:center center;
		}
}


header .quickmenu {
	display:none;
}

header .right {
	width:calc(100% - 190px);
	padding:0 5px 0 0;
}
header .right li {
	width:32%;
	height:60px;
	position: relative;
	text-align: center;
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
}
header .right li a {
	display: block;
	width:100%;
	height:100%;
}
header .right li .iconwrap {
	position: absolute;
	top:8px;
	left:50%;
	width:18px;
	height:24px;
	margin:0 0 0 -9px;
	overflow:hidden;
}
header .right li .icon1 {
	position: relative;
	z-index:102;
}
header .right li .icon2 {
	position: absolute;
	z-index:101;
	top:0;
	left:0;
	width:18px;
	height:24px;
	-webkit-animation: iconanime 3s 500ms cubic-bezier(.1, 0, .1, 0.5) 3;
    animation: iconanime 3s 500ms cubic-bezier(.1, 0, .1, 0.5) 3;
}
header .right li:hover {
	opacity:0.5;
}
@-webkit-keyframes iconanime {
	0% {
	    -webkit-transform: translateY(0px);
		   -moz-transform: translateY(0px);
		    -ms-transform: translateY(0px);
		     -o-transform: translateY(0px);
		        transform: translateY(0px);
	}
	15% {
	    -webkit-transform: translateY(-30px);
		   -moz-transform: translateY(-30px);
		    -ms-transform: translateY(-30px);
		     -o-transform: translateY(-30px);
		        transform: translateY(-30px);
	}
	16% {
		opacity:0;
	}
	19% {
		opacity:0;
	    -webkit-transform: translateY(30px);
		   -moz-transform: translateY(30px);
		    -ms-transform: translateY(30px);
		     -o-transform: translateY(30px);
		        transform: translateY(30px);
	}
	20% {
		opacity:1;
	}
	30% {
	    -webkit-transform: translateY(0px);
		   -moz-transform: translateY(0px);
		    -ms-transform: translateY(0px);
		     -o-transform: translateY(0px);
		        transform: translateY(0px);
	}
}
@keyframes iconanime {
	0% {
	    -webkit-transform: translateY(0px);
		   -moz-transform: translateY(0px);
		    -ms-transform: translateY(0px);
		     -o-transform: translateY(0px);
		        transform: translateY(0px);
	}
	15% {
	    -webkit-transform: translateY(-30px);
		   -moz-transform: translateY(-30px);
		    -ms-transform: translateY(-30px);
		     -o-transform: translateY(-30px);
		        transform: translateY(-30px);
	}
	16% {
		opacity:0;
	}
	19% {
		opacity:0;
	    -webkit-transform: translateY(30px);
		   -moz-transform: translateY(30px);
		    -ms-transform: translateY(30px);
		     -o-transform: translateY(30px);
		        transform: translateY(30px);
	}
	20% {
		opacity:1;
	}
	30% {
	    -webkit-transform: translateY(0px);
		   -moz-transform: translateY(0px);
		    -ms-transform: translateY(0px);
		     -o-transform: translateY(0px);
		        transform: translateY(0px);
	}
}
header .right li .icon3 {
	position: absolute;
	top:8px;
	left:50%;
	width:24px;
	height:24px;
	margin:0 0 0 -12px;
}
header .right li .icon4 {
	position: absolute;
	top:8px;
	left:50%;
	width:28px;
	height:24px;
	margin:0 0 0 -14px;
}
header .cart_badge {
	position: absolute;
	top:-6px;
	right:-9px;
	width:auto;
	min-width:18px;
	height:16px;
	text-align: center;
	line-height:16px;
	color:#FFF;
	font-size:1rem;
	padding:0 7px;
	border-radius:9px;
	background:#ce3e3e;
}
header .right li p {
	width:100%;
	position: absolute;
	bottom:10px;
	left:0;
	font-size:10px;
}

#sitemenu {
	position:fixed;
	opacity:0;
	visibility:hidden;
	top:0;
	left:0;
	z-index:109;
	width:100%;
	height:100vh;
	background:url(../img/bg_sitemenu.jpg) no-repeat center center;
	background-size:cover;
	overflow:auto;
	-webkit-overflow-scrolling:touch;
	-webkit-transition: all .4s .25s ease;
	   -moz-transition: all .4s .25s ease;
	    -ms-transition: all .4s .25s ease;
	     -o-transition: all .4s .25s ease;
	        transition: all .4s .25s ease;
}
#sitemenu.active {
	opacity:1;
	visibility:visible;
}
#sitemenu .menumain {
	width:100%;
	min-height:80vh;
	padding:0 0 100px 0;
	position: relative;
}
#sitemenu .menumap {
	width:90%;
	margin:0 auto;
	padding:75px 0 0 0;
}
#sitemenu .menumap .mbox p {
	font-size:2rem;
	font-weight:500;
	position: relative;
	padding:15px 0;
	border-bottom:1px solid #5f6a75;
}
#sitemenu .menumap .mbox p::before {
	content:'+';
	position: absolute;
	top:50%;
	right:10px;
	font-size:18px;
	color:#5f6a75;
	-webkit-transform: translateY(-50%);
	   -moz-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	     -o-transform: translateY(-50%);
	        transform: translateY(-50%);
}
#sitemenu .menumap .mbox p.active::before {
	content:'-';
}
#sitemenu .menumap .mbox p span {
	font-size:1.2rem;
	padding:5px 0 0 15px;
}
#sitemenu .menumap .mbox .menulist {
	display:none;
}
#sitemenu .menumap .mbox .menulist a {
	display: block;
	padding:14px 0 14px 20px;
	color:#5f6a75;
	font-size:1.6rem;
	border-bottom:1px solid #5f6a75;
}
#sitemenu .sns {
	position: absolute;
	bottom:20px;
	right:20px;
}
#sitemenu .sns a {
	font-size:36px;
	color:#5f6a75;
	margin:0 15px;
}
#sitemenu .sns a:hover {
	opacity:0.5;
}
#sitemenu .menusub {
	width:100%;
	height:calc(20vh + 60px);
	background:#5f6a75;
	position: relative;
}
#sitemenu .menusub ul {
	width:90%;
	padding:3vh 0 60px 0;
	display:grid;
	grid-template-columns: repeat(2, 1fr);
    gap:0px;
    margin:0 auto;
}
#sitemenu .menusub ul li a {
	display: block;
	color:#FFF;
	font-size:1.2rem;
	padding:10px 0;
}
#sitemenu .menusub ul li a:hover {
	opacity:0.5;
}
/* =トップ
-------------------------------------------------------------- */
/* キービジュアル(slick slide) */
.kv {
	width:100%;
}
.kv li img {
	display: block;
	width:100%;
	height:auto;
}
.kv .slidedot {
	padding:30px 40px 0;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-moz-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-end;
	-moz-justify-content: flex-end;
	-ms-justify-content: flex-end;
	justify-content: flex-end;
	-ms-flex-pack: space-between;
	-webkit-align-items: ﬂex-start;
	-moz-align-items: ﬂex-start;
	-ms-align-items: ﬂex-start;
	align-items: ﬂex-start;
}
.kv .slidedot li {
	width:10px;
	height:10px;
	padding:0;
	margin:0 10px;
	position: relative;
}
.kv .slidedot li button {
	position: absolute;
	width:6px;
	height:6px;
	top:50%;
	left:50%;
	background:#004a98;
	border-radius:50%;
	text-indent:-9999px;
	border:none;
	padding:0;
	cursor: pointer;
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
	-webkit-transform: translate(-50%,-50%);
	   -moz-transform: translate(-50%,-50%);
	    -ms-transform: translate(-50%,-50%);
	     -o-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
}
.kv .slidedot li.slick-active button {
	width:10px;
	height:10px;
}
.kv .slidedot li.slick-active::after {
	content:'';
	position: absolute;
	top:50%;
	left:5px;
	width:0px;
	height:1px;
	background:#004a98;
	-webkit-transform: translateY(-50%);
	   -moz-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	     -o-transform: translateY(-50%);
	        transform: translateY(-50%);
	-webkit-animation: dotanime 4.3s linear 0s forwards;
    animation: dotanime 4.3s linear 0s forwards;
}
@keyframes dotanime {
	0% {
	    width:0px;
	}
	100% {
		width:30px;
	}
}


/* 見出し */
.ti_1 {
	display: block;
	text-align: center;
	font-size:2.5rem;
	color:#a9976a;
	letter-spacing:0.1em;
	padding:50px 0;
}
.ti_1 span {
	display: block;
	font-size:1.5rem;
	color:#5f6a75;
	padding:15px 0 0 0;
	letter-spacing:0em;
}
/*link*/
.link {
	display: block;
	width:300px;
	border:1px solid #004a98;
	color:#004a98;
	margin:50px auto;
	text-align: center;
	padding:18px 0;
	font-size:1.7rem;
}
.link:hover {
	color:#FFF;
	background:#004a98;
}

/* top concept */
.top_concept {
	position: relative;
	width:100%;
	overflow:hidden;
	margin:0 auto;
}
.top_concept .img1 {
	width:65%;
	margin:0 0 0 25%;
	position: relative;
}
.top_concept .img1::before {
	content:'';
	position: absolute;
	z-index:1;
	top:65%;
	right:-30px;
	width:100%;
	height:50%;
	background:rgba(239,233,223,0.5);
}
.top_concept .img2 {
	width:50%;
	position: relative;
}
.top_concept .img2::before {
	content:'';
	position: absolute;
	z-index:1;
	top:50%;
	right:-8vw;
	width:100%;
	height:130%;
	background:rgba(239,233,223,0.5);
}
.top_concept .img3 {
	width:90%;
	position: relative;
}
.top_concept .img3::before {
	content:'';
	position: absolute;
	z-index:1;
	bottom:-6vw;
	right:-6vw;
	width:50%;
	height:100%;
	background:rgba(239,233,223,0.5);
}
.top_concept .img1 img,
.top_concept .img2 img,
.top_concept .img3 video {
	display: block;
	width:100%;
	height:auto;
	position: relative;
	z-index:2;
}
.top_concept p {
	font-size:1.7rem;
	position: relative;
	z-index:3;
	color:#5f6a75;
}
.top_concept .txt1 {
	padding:30px 0 30px;
}
.top_concept .txt1 span {
	display: block;
	font-size:1.5rem;
	padding:15px 0 0 0;
}
.top_concept .txt2 {
	padding:25px 0;
}
.top_concept .txt3 {
	padding:30px 0 0 0;
}

/* top news */
.topnews li {
	width:290px;
	margin:0 15px;
}
.topnews li img {
	display: block;
	width:100%;
	height:auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
.topnews li time {
	display: block;
	font-size:1.3rem;
	color:#5f6a75;
	padding:0 0 15px 0;
}
.topnews li h2 {
	display: block;
	font-size:1.6rem;
	line-height:1.5em;
	color:#5f6a75;
}
.topnews .slidedot,
.ingrelist .slidedot {
	padding:15px 0 0 0;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-moz-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	-moz-justify-content: center;
	-ms-justify-content: center;
	justify-content: center;
	-ms-flex-pack: space-between;
	-webkit-align-items: ﬂex-start;
	-moz-align-items: ﬂex-start;
	-ms-align-items: ﬂex-start;
	align-items: ﬂex-start;
}
.topnews .slidedot li,
.ingrelist .slidedot li {
	width:8px;
	height:8px;
	margin:0 5px;
	padding:0;
	position: relative;
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
}
.topnews .slidedot li button,
.ingrelist .slidedot li button {
	position: absolute;
	width:8px;
	height:8px;
	top:50%;
	left:50%;
	background:#5f6a75;
	border-radius:4px;
	text-indent:-9999px;
	border:none;
	padding:0;
	cursor: pointer;
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
	-webkit-transform: translate(-50%,-50%);
	   -moz-transform: translate(-50%,-50%);
	    -ms-transform: translate(-50%,-50%);
	     -o-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
}
.topnews .slidedot li.slick-active,
.ingrelist .slidedot li.slick-active {
	width:40px;
}
.topnews .slidedot li.slick-active button,
.ingrelist .slidedot li.slick-active button {
	width:40px;
	height:8px;
}

/* top ingredient */
.bg_beige {
	background:#f4f4f4;
}
.txt_1 {
	font-size:1.5rem;
	color:#5f6a75;
	text-align: center;
	line-height:2em;
	padding:0 0 40px 0;
}
.ingrelist {
	width:100%;
    padding:0 0 30px 0;
}
.ingrelist li {
	margin:0 2px 15px 2px;
}
.ingrelist li img {
	display: block;
	width:100%;
	height:auto;
}
.ingrelist p {
	text-align: center;
	padding:15px 0;
	font-size:.95rem;
	line-height:1.5em;
	color:#5f6a75;
}
.ingrelist p span {
	display: block;
	font-size:.8rem;
	padding:5px 0 0 0;
}

/* top product */
.productlist {
	width:100%;
	margin:0 auto;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
    gap:1px;
    padding:0 0 30px 0;
}
.productlist li {
	margin:0 0 10px 0;
}
.productlist img {
	display: block;
	width:100%;
	height:auto;
}
.productlist p {
	text-align: center;
	padding:12px 0;
	font-size:1.8rem;
	color:#5f6a75;
}

/* top about */
.aboutlist {
	width:100%;
	max-width:1000px;
	margin:0 auto;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
    gap:1px;
    padding:0 0 80px 0;
}
.aboutlist img {
	display: block;
	width:100%;
	height:auto;
}

/* optimo media */
.optimomedia .link {
	margin:0 auto 100px;
}



/* =head
-------------------------------------------------------------- */
.img-header {
	padding:60px 0 0 0;
}
.img-header img {
	display: block;
	width:100%;
	height:auto;
}
.img-header.spmode {
	padding:0;
}

/* =汎用
-------------------------------------------------------------- */
.title1 {
	display: block;
	font-size:2rem;
	line-height:1.5em;
	color:#004C83;
}
.title2 {
	display: block;
	font-size:1.8rem;
	line-height:1.5em;
	text-align: center;
	color:#8f806a;
}
.mediapost .title2 {
	color:#ff9300;
}
.title2 span {
	display: block;
	font-size:2.2rem;
	color:#5f6a75;
}
.title2 i,
.title3 i {
	font-style:normal;
	color:#C61414;
}
.title3 {
	display: block;
	font-size:2rem;
	line-height:1.5em;
	color:#004C83;
	padding:0 0 0 10px;
	border-left:3px solid #004C83;
}
.title4 {
	display: block;
	color:#5f6a75;
	font-size:2rem;
	text-align: center;
}
.title5 {
	display: block;
	color:#5f6a75;
	font-size:2rem;
	line-height:1.5em;
}
.txt {
	font-size:1.55rem;
	line-height:1.8em;
	color:#000;
}
.txt2 {
	font-size:1.4rem;
	line-height:1.8em;
	color:#000;
	text-align: center;
}
.txt3 {
	font-size:1.45rem;
	line-height:2.1em;
	color:#5f6a75;
	text-align: center;
}
.h3_sub {
	font-size:1.6rem;
	color:#8f806a;
	padding:10px 0 0 0;
}
.note {
	font-size:1.2rem;
	line-height:1.6em;
	color:#666666;
}

.layout1 .left, .layout1 .right,
.layout2 .left, .layout2 .right,
.layout3 .left, .layout3 .right,
.layout4 .left, .layout4 .right {
	/* 縦方向中央揃え */
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: center;
	-moz-align-items: center;
	-ms-align-items: center;
	align-items: center;
	-webkit-justify-content: start;
	-moz-justify-content: start;
	-ms-justify-content: start;
	justify-content: start;
}

.layout1 .left {
	width:100%;
	order:1;
}
.layout1 .right {
	width:100%;
	order:0;
	padding:0 0 50px 0;
}
.layout1 .thumb {
	width:100%;
}
.layout1 img {
	display: block;
	width:100%;
	height:auto;
}

.layout2 .left,
.layout2 .right2 {
	width:100%;
	margin:0 auto 50px;
}
.layout2 .right,
.layout2 .left2 {
	width:100%;
}
.layout2 .thumb {
	width:100%;
}
.layout2 img {
	display: block;
	width:100%;
	height:auto;
}

.layout3 .left,
.layout3 .right2 {
	width:100%;
	order:0;
	margin:0 auto 50px;
}
.layout3 .right,
.layout3 .left2 {
	width:100%;
	order:1;
}
.layout3 .thumb {
	width:100%;
	margin:0 auto;
}
.smallbox2 .layout3 .thumb {
	width:50%;
}
.layout3 img {
	display: block;
	width:100%;
	height:auto;
}

.layout4 .left,
.layout4 .right2 {
	width:100%;
	order:0;
	margin:0 auto 50px;
}
.layout4 .right,
.layout4 .left2 {
	width:100%;
	order:1;

}
.layout4 .thumb {
	width:100%;
	margin:0 auto;
}
.layout4 img {
	display: block;
	width:100%;
	height:auto;
}

.layout5 .thumb {
	width:100%;
}
.layout5 img {
	display: block;
	width:100%;
	height:auto;
}


.btn_more {
	display: block;
	width:90%;
	margin:0 auto;
	padding:18px 0 20px;
	background:#E8E8E8;
	color:#004C83;
	text-align: center;
	font-size:1.6rem;
	line-height:1.8rem;
	border-radius:40px;
}
.btn_more:hover {
	background:#004C83;
	color:#FFF;
}
.btn_more.cntr {
	margin:0 auto;
}

/* concept */
.page_concept img {
	display: block;
	width:100%;
	height:auto;
}
.page_concept .left {
	width:70%;
	margin:0 auto;
}
.page_concept .right {
	width:100%;
}
.page_concept .concept1,
.page_concept .concept2 {
	padding:0 0 60px 0;
}
.page_concept .title5 {
	padding:50px 0 0 0;
	text-align: center;
}
.page_concept .h3_sub {
	text-align: center;
	padding:10px 0 0;
}
.page_concept p.txt {
	text-align: center;
}
.page_concept .concept3 .logoimg {
	width:170px;
	margin:0 auto;
}

/* course */
.page_course img {
	display: block;
	width:100%;
	height:auto;
}
.page_course .left {
	width:100%;
}
.page_course .right {
	width:100%;
}
.page_course .title5 {
	padding:60px 0 0 0;
}
.page_course .left {
	margin:0 30px 0 0;
}
.page_course .course1 .left img {
	box-shadow:30px 30px 0 #dae1e5;
}
.page_course .course2 .left img,
.page_course .course3 .left img {
	box-shadow:30px 30px 0 #dbcfc1;
}
.page_course .course4 .left img {
	box-shadow:30px 30px 0 #d8ebef;
}
.coursebox.flex {
	width:100%;
	-webkit-justify-content:center;
	-moz-justify-content:center;
	-ms-justify-content:center;
	justify-content:center;
}
.coursebox li {
	width:200px;
	padding:0 4px;
}
.coursebox li .step {
	width:100%;
	height:68px;
	line-height:68px;
	color:#004a98;
	padding:0 15px;
	font-size:1.35rem;
	margin:0 auto 20px;
}
.coursebox li p {
	text-align: center;
	font-size:1.2rem;
	padding:15px 0;
	color:#5f6a75;
}
.coursebox li p span {
	display: block;
	font-size:1rem;
	padding:10px 0 0 0
}
.coursebox li .thumb .mark {
	position: absolute;
	top:0;
	left:0;
	width:24px;
}
.coursebox li .thumb .mark div {
	padding:0 0 10px 0;
}

.coursebox li .step1 {
	background:url(../img/concept/course/step1.svg) no-repeat center center;
	background-size:100% 100%;
}
.coursebox li .step2 {
	background:url(../img/concept/course/step2.svg) no-repeat center center;
	background-size:100% 100%;
}
.coursebox li .step3 {
	background:url(../img/concept/course/step3.svg) no-repeat center center;
	background-size:100% 100%;
}

.coursebox li a .thumb img {
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
}
.coursebox li a:hover .thumb img {
	opacity:0.5;
}
.coursebox li .thumb {
	position: relative;
}
.coursebox li .thumb img {
	display: block;
	width:100%;
	height:auto;
}
.coursebox .slidedot {
	padding:30px 0 0 0;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-moz-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	-moz-justify-content: center;
	-ms-justify-content: center;
	justify-content: center;
	-ms-flex-pack: space-between;
	-webkit-align-items: ﬂex-start;
	-moz-align-items: ﬂex-start;
	-ms-align-items: ﬂex-start;
	align-items: ﬂex-start;
}
.coursebox .slidedot li {
	width:8px;
	height:8px;
	margin:0 5px;
	padding:0;
	position: relative;
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
}
.coursebox .slidedot li button {
	position: absolute;
	width:8px;
	height:8px;
	top:50%;
	left:50%;
	background:#5f6a75;
	border-radius:4px;
	text-indent:-9999px;
	border:none;
	padding:0;
	cursor: pointer;
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
	-webkit-transform: translate(-50%,-50%);
	   -moz-transform: translate(-50%,-50%);
	    -ms-transform: translate(-50%,-50%);
	     -o-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
}
.coursebox .slidedot li.slick-active {
	width:40px;
}
.coursebox .slidedot li.slick-active button {
	width:40px;
	height:8px;
}



/* free ingredient */
.free_ingre img {
	display: block;
	width:100%;
	height:auto;
}
.free_ingre .left {
	width:100%;
}
.free_ingre .right {
	width:70%;
	margin:0 auto;
	padding:0 0 30px 0;
}
.free_ingre1 .left {
	order:1;
}
.free_ingre1 .right {
	order:0;
}
.frees {
	width:100%;
	margin:0 auto;
}
.page_ingredient .title5,
.page_production .title5 {
	text-align: center;
}
.page_ingredient .h3_sub,
.page_production .h3_sub {
	text-align: center;
}
.slb_slide li {
	width:300px;
	padding:0 10px;
}
.slb_slide li img {
	display: block;
	width:100%;
	height:auto;
}

/* our action */
.kagayaki {
	width:80%;
	margin:0 auto;
}
.kagayaki img {
	display: block;
	width:100%;
	height:auto;
}

/* FOR SALON */
.page_forsalon .smallbox2 .title5 {
	text-align: center;
}
.page_forsalon .right img {
	width:80%;
	margin:0 auto;
}

/* OEM */
.page_oem .title5 {
	text-align: center;
}

/* =product
-------------------------------------------------------------- */
.bg_item {
	width:100%;
	height:100vh;
	-webkit-animation: fadeshow 1s .5s cubic-bezier(.5, 0, .5, 1) both;
    animation: fadeshow 1s .5s cubic-bezier(.5, 0, .5, 1) both;
}
@keyframes fadeshow {
  0% {
  	opacity:0;
  }
  100% {
  	opacity:1;
  }
}
.item_inner {
	width:100%;
	height:100vh;
	position: absolute;
	top:0;
	left:0;
}
.item_inner h2 {
	position: absolute;
	display: block;
	font-size:1.8rem;
	line-height:2.2rem;
}
.item_inner h3 {
	position: absolute;
	display: block;
	font-weight:400;
	font-size:2rem;
	
}
.item_inner h2.splitting .char {
	display:inline-block;
	position: relative;
	animation: slide-in .5s cubic-bezier(.5, 0, .5, 1) both;
	animation-delay: calc(40ms * var(--char-index) + 1000ms );
}
.item_inner h3.splitting .char {
	display:inline-block;
	position: relative;
	animation: slide-in .5s cubic-bezier(.5, 0, .5, 1) both;
	animation-delay: calc(40ms * var(--char-index) + 1500ms );
}

/*item1*/
.item1 {
	background:url(../img/product/bg_item1.jpg) no-repeat center center;
	background-size:auto 100%;
}
.item1 .item_inner h2 {
	bottom:40px;
	text-align: center;
	left:0;
	width:100%;
	color:#FFF;
	font-size:2rem;
	line-height:1.5em;
	text-shadow:0 0 10px rgba(0,0,0,0.3);
}
.item1 .item_inner h3 {
	left:0;
	top:80px;
	color:#FFF;
	font-size:2.6rem;
	line-height:1.5em;
	text-shadow:0 0 10px rgba(0,0,0,0.3);
}
/*item2*/
.item2 {
	background:url(../img/product/bg_item2.jpg) no-repeat center bottom;
	background-size:cover;
}
.item2 .item_inner h3 {
	left:0;
	top:80px;
	color:#004C83;
	font-size:2.6rem;
	line-height:1.5em;
}
/*item3*/
.item3 {
	background:url(../img/product/bg_item3.jpg) no-repeat center center;
	background-size:cover;
}
.item3 .item_inner h2 {
	top:100px;
	text-align: center;
	left:0;
	width:100%;
	font-size:2.6rem;
	line-height:1.5em;
	color:#004C83;
}
/*item4*/
.item4 {
	background:url(../img/product/bg_item4.jpg) no-repeat center center;
	background-size:cover;
}
.item4 .item_inner h2 {
	top:100px;
	text-align: center;
	left:0;
	width:100%;
	font-size:2.1rem;
	line-height:1.5em;
	color:#604B18;
	text-shadow:1px 1px 6px rgba(255,255,255,1), -1px 1px 6px rgba(255,255,255,1), 1px -1px 6px rgba(255,255,255,1), -1px -1px 6px rgba(255,255,255,1);
}
.item4 .item_inner h3 {
	bottom:40px;
	text-align: center;
	font-size:2.2rem !important;
	left:0;
	width:100%;
	font-size:2.2rem;
	line-height:1.5em;
	color:#604B18;
	text-shadow:1px 1px 3px rgba(255,255,255,1), -1px 1px 3px rgba(255,255,255,1), 1px -1px 3px rgba(255,255,255,1), -1px -1px 3px rgba(255,255,255,1);
}
.item4 .item_inner h3 span {
	font-size:2rem !important;
}
/*item5*/
.item5 {
	background:url(../img/product/bg_item5.jpg) no-repeat center center;
	background-size:cover;
}
.item5 .item_inner h2 {
	top:100px;
	text-align: center;
	left:0;
	width:100%;
	font-size:2.2rem;
	line-height:1.5em;
	color:#004C83;
}
.item5 .item_inner h3 {
	bottom:40px;
	text-align: center;
	font-size:1.8rem;
	line-height:1.5em;
	left:0;
	width:100%;
	color:#004C83;
}
.item5 .item_inner h3 span {
	font-size:2rem !important;
}
/*item6*/
.item6 {
	background:url(../img/product/bg_item6.jpg) no-repeat bottom center;
	background-size:cover;
}
.item6 .item_inner h2 {
	top:100px;
	text-align: center;
	left:0;
	width:100%;
	font-size:2.1rem;
	line-height:1.5em;
	color:#604B18;
	text-shadow:1px 1px 6px rgba(255,255,255,1), -1px 1px 6px rgba(255,255,255,1), 1px -1px 6px rgba(255,255,255,1), -1px -1px 6px rgba(255,255,255,1);
}
.item6 .item_inner h3 {
	top:220px;
	text-align: center;
	font-size:1.7rem !important;
	left:0;
	width:100%;
	line-height:1.5em;
	color:#604B18;
	text-shadow:1px 1px 3px rgba(255,255,255,1), -1px 1px 3px rgba(255,255,255,1), 1px -1px 3px rgba(255,255,255,1), -1px -1px 3px rgba(255,255,255,1);
}
.item6 .item_inner h3 span {
	font-size:1.7rem !important;
}

/*item_detail*/
.item_detail {
	width:100%;
	min-height:100vh;
}
.item_detail .left {
	width:100%;
}
.item_detail .right {
	/* 縦方向中央揃え */
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content:space-around;
	-moz-justify-content:space-around;
	-ms-justify-content:space-around;
	justify-content:space-around;
	-webkit-flex-flow: column;
	-moz-flex-flow: column;
	-ms-flex-flow: column;
	flex-flow: column;
	width:100%;
	padding:40px 0;
}
.item_detail .left .thumb {
	width:100%;
}
.item_detail .left .thumb img.tate {
	display: block;
	width:30%;
	height:auto;
	margin:0 auto;
}
.item_detail .left .thumb img.yoko {
	display: block;
	width:50%;
	height:auto;
	margin:0 auto;
}
.item_detail .left .thumb img.yoko2 {
	display: block;
	width:65%;
	height:auto;
	margin:0 auto;
}
.item_detail .left .thumb img.yoko3 {
	display: block;
	width:100%;
	height:auto;
	margin:0 auto;
}
.item_detail .right .kit {
	display: block;
	font-size:2rem;
	line-height:1.5em;
	color:#004C83;
	padding:0 0 15px 0;
}
.item_detail .right h2 {
	display: block;
	font-size:2.2rem;
	line-height:1.5em;
	color:#004C83;
	padding:0 0 15px 0;
}
.item_detail .right h3 {
	font-size:1.6rem;
	line-height:1.5em;
	padding:0 0 15px 0;
}
.item_detail .bunryo {
	font-size:1.1rem;
	padding:0 0 15px 0;
}
.item_detail .bunryo span {
	font-size:1.1rem;
}
.item_detail .daytime.flex {
	-webkit-justify-content:flex-start;
	-moz-justify-content:flex-start;
	-ms-justify-content:flex-start;
	justify-content:flex-start;
	width:80px;
	padding:0 0 30px 0;
}
.item_detail .daytime img {
	display: block;
	width:100%;
	height:auto;
}
.item_detail .daytime li {
	width:30px;
	margin:0 10px 0 0;
}
.item_detail .price {
	text-align:right;
	padding:15px 0 0 0;
	font-size:1.8rem;
}
.item_detail .price span {
	font-size:1.4rem;
}

.sale {
	padding:15px 0;
}
.sale .price {
	padding:0;
	color:#D33131;
}
.campaign {
	font-size:1.2rem !important;
	background:#D33131;
	color:#FFF;
	text-align: center;
	padding:6px 0;
	margin:5px auto 0;
}

.item_detail .item_intro {
	font-size:1.4rem;
	line-height:1.7em;
}
.item_detail a {
	display: block;
	width:100%;
	background:#E8E8E8;
	text-align: center;
	font-size:1.8rem;
	color:#000;
	margin:36px auto;
	padding:20px 0 20px 40px;
	position: relative;
	border-radius:6px;
	box-shadow:9px 9px 9px rgba(193,176,154,0.8), -9px -9px 9px rgba(255,255,255,0.8);
}
.item_detail a:hover {
	box-shadow:2px 2px 2px rgba(193,176,154,0.8), -2px -2px 2px rgba(255,255,255,0.8);
}
.item_detail a:active {
	box-shadow:-3px -3px 2px rgba(255,255,255,0.8) inset, 3px 3px 2px rgba(193,176,154,0.8) inset;
}
.item_detail a::after {
	content:'';
	position: absolute;
	top:50%;
	left:20px;
	width:30px;
	height:30px;
	margin:-15px 0 0 0;
	background:url(../img/cart.svg) no-repeat center center;
	background-size:width:30px auto;
}
.item_detail .acdbox.first {
	border-top:1px solid #000;
	border-bottom:1px solid #000;
}
.item_detail .acdbox {
	border-bottom:1px solid #000;
}
.item_detail .acdbox dt {
	display: block;
	width:100%;
	font-size:1.6rem;
	padding:20px 0;
	position: relative;
	cursor: pointer;
}
.item_detail .acdbox dt::after {
	content:'';
	position: absolute;
	top:50%;
	right:15px;
	width:16px;
	height:16px;
	margin:-8px 0 0 0;
	background:url(../img/ico_sign.svg) no-repeat center center;
	background-size:16px auto;
	-webkit-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	   -moz-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	    -ms-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	     -o-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	        transition: all .3s cubic-bezier(.5, 0, .5, 1);
}
.item_detail .acdbox dt.active::after {
	-webkit-transform: rotate(180deg);
	   -moz-transform: rotate(180deg);
	    -ms-transform: rotate(180deg);
	     -o-transform: rotate(180deg);
	        transform: rotate(180deg);
}
.item_detail .acdbox dd {
	display: none;
	font-size:1.2rem;
	line-height:1.5em;
	width:100%;
	padding:0 0 20px 0;
}
.itemimg .itemimgbox {
	width:100%;
}
.itemimg .itemimgbox img {
	display: block;
	width:100%;
	height:auto;
}
.howto {
	counter-reset: howtonum;
}
.howto li::before {
	counter-increment: howtonum;
	content: counter(howtonum);
	position: absolute;
	top:10px;
	left:10px;
	width:24px;
	height:24px;
	color:#FFF;
	padding:4px 0 0 0;
	font-size:16px;
	background:#004A98;
	font-family: 'Montserrat', sans-serif;
	font-weight:400;
	text-align: center;
	border-radius:50%;
}
.howto li {
	width:100%;
	margin:0 0 30px 0;
	position: relative;
}
.howto li .thumb {
	width:100%;
	padding:0 0 15px 0;
}
.howto li .thumb img {
	display: block;
	width:100%;
	height:auto;
}
.howto li p {
	font-size:1.4rem;
	line-height:1.5em;
}


/* =contact
-------------------------------------------------------------- */
.callbox {
	border:1px solid #ccc;
	text-align: center;
	padding:15px 0;
	font-size:2.8rem;
}
.callbox span {
	display: block;
	font-size:1.5rem;
	padding:0 0 5px 0;
}
.contactform li {
	padding:100%;
	padding:6px 0;
}
.contactform li p {
	font-size:1rem;
	color:#5f6a75;
	padding:0 0 8px 0;
}
.contactform input, .contactform select, .contactform textarea {
	display: block;
	width:100%;
	-webkit-appearance:none;
	appearance:none;
	padding:15px;
	font-size:1.6rem;
	border:1px solid #ccc;
	outline:none;
}
.contactform input:focus, .contactform select:focus, .contactform textarea:focus {
	box-shadow:0 0 4px rgba(0,0,0,0.2);
}
.contactform .selectbox {
	position: relative;
	display: block;
}
.contactform .selectbox::after {
	position: absolute;
	top:50%;
	right:15px;
	content:'';
	width: 0;
	height: 0;
	margin:-4px 0 0 0;
	border-style: solid;
	border-width: 8px 4px 0 4px;
	border-color: #000000 transparent transparent transparent;
}

/* orderページ用 */
span.wpcf7-list-item {
    display: inline-block;
    margin: 0 0 0 0;
}
.contactform input[type="checkbox"] {
	display:none;
}
.checkbox-itemorder .wpcf7-checkbox,
.checkbox-itemorder2 .wpcf7-checkbox {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-moz-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	-moz-justify-content: flex-start;
	-ms-justify-content: flex-start;
	justify-content: flex-start;
	-ms-flex-pack: flex-start;
	-webkit-align-items: ﬂex-start;
	-moz-align-items: ﬂex-start;
	-ms-align-items: ﬂex-start;
	align-items: ﬂex-start;
	padding:15px 0 0 0;
}
.checkbox-itemorder .wpcf7-list-item,
.checkbox-itemorder2 .wpcf7-list-item {
	display: block;
	width:48%;
	margin:0 4% 15px 0;
	position: relative;
}
.checkbox-itemorder .wpcf7-list-item:nth-of-type(2n),
.checkbox-itemorder2 .wpcf7-list-item:nth-of-type(2n) {
	margin:0 0 15px 0;
}

.familyorder .familybox {
	width:48%;
	margin:0 4% 15px 0;
	position: relative;
}
.familyorder .familybox:nth-of-type(2n) {
	margin:0 0 15px 0;
}
.familyorder .familybox .wpcf7-list-item {
	display: block;
	width:100%;
	position: relative;
}
.familyorder .familybox .wpcf7-list-item .wpcf7-list-item-label,
.sinagire,
.renewal,
.soon,
.nyuka {
	display: block;
	width:100%;
	height:180px;
	padding:15px 5px;
	text-align: center;
	border:1px solid #ccc;
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
}
.sinagire,
.renewal,
.soon,
.nyuka,
.waribiki {
	position: relative;
}
.sinagire:after {
	content:'完売';
	width:100%;
	padding:12px 0;
	position: absolute;
	bottom:0;
	left:0;
	text-align: center;
	font-size:1.2rem;
	font-weight:bold;
	color:#FFF;
	background:rgba(194,0,9,0.7);
}
.renewal:after {
	content:'リニューアル中';
	width:100%;
	padding:12px 0;
	position: absolute;
	bottom:0;
	left:0;
	text-align: center;
	font-size:1.2rem;
	font-weight:bold;
	color:#FFF;
	background:rgba(194,0,9,0.7);
}
.nyuka:after {
	content:'入荷待ち';
	width:100%;
	padding:12px 0;
	position: absolute;
	bottom:0;
	left:0;
	text-align: center;
	font-size:1.2rem;
	font-weight:bold;
	color:#FFF;
	background:rgba(194,0,9,0.7);
}
    .waribiki:after {
        content: 'SALE';
        width: 30px;
        padding: 4px 0;
        position: absolute;
        top: 10px;
        left: 0;
        text-align: center;
        font-size: 1rem;
        font-weight: bold;
        color: #FFF;
        background: rgba(194, 0, 9, 0.7);
    }
.sinagire span,
.renewal span,
.nyuka span {
	display: block;
	position: absolute;
	top:0;
	left:0;
	width:100%;
	text-align: center;
	padding:15px 0 0 0;
}

.familyorder .familybox .wpcf7-list-item input:checked + .wpcf7-list-item-label {
	border:4px solid #c5151d;
	box-shadow:0 0 10px rgba(0,0,0,0.7);
}

.checkbox-familyorder1 .wpcf7-list-item .wpcf7-list-item-label,
.checkbox-familyorder1 {
	background:url(../img/menu/aqua_fix.png) no-repeat bottom center;
	background-size:150px auto;
}
.checkbox-familyorder2 .wpcf7-list-item .wpcf7-list-item-label {
	background:url(../img/menu/lotion_fix.png) no-repeat bottom center;
	background-size:150px auto;
}
.checkbox-familyorder3 .wpcf7-list-item .wpcf7-list-item-label {
	background:url(../img/menu/smoothing.png) no-repeat center center;
	background-size:180px auto;
}
.checkbox-familyorder4 .wpcf7-list-item .wpcf7-list-item-label {
	background:url(../img/menu/cellinc.png) no-repeat center center;
	background-size:180px auto;
}
.checkbox-familyorder5 .wpcf7-list-item .wpcf7-list-item-label {
	background:url(../img/menu/silky_sale.webp) no-repeat center center;
	background-size:180px auto;
}
.checkbox-familyorder6 .wpcf7-list-item .wpcf7-list-item-label,
.renewal {
	background:url(../img/menu/product6.png) no-repeat center center;
	background-size:180px auto;
}
.checkbox-familyorder7 .wpcf7-list-item .wpcf7-list-item-label {
	background:url(../img/menu/aquawash_fix.png) no-repeat bottom center;
	background-size:150px auto;
}
.checkbox-familyorder8 .wpcf7-list-item .wpcf7-list-item-label,
.checkbox-familyorder8 .sinagire {
	background:url(../img/menu/product8.png) no-repeat bottom center;
	background-size:160px auto;
}
.checkbox-familyorder9 .wpcf7-list-item .wpcf7-list-item-label {
	background:url(../img/menu/product9.png) no-repeat center center;
	background-size:180px auto;
}
.checkbox-familyorder10 .wpcf7-list-item .wpcf7-list-item-label {
	background:url(../img/menu/product10.png) no-repeat center center;
	background-size:180px auto;
}
.checkbox-familyorder11 .wpcf7-list-item .wpcf7-list-item-label {
	background:url(../img/menu/floral_fix.png) no-repeat bottom center;
	background-size:150px auto;
}
.checkbox-familyorder12,
.checkbox-familyorder12 .wpcf7-list-item .wpcf7-list-item-label {
	background:url(../img/menu/vitamina_225g_fix.png) no-repeat bottom center;
	background-size:150px auto;
}
.checkbox-familyorder13 .wpcf7-list-item .wpcf7-list-item-label {
	background:url(../img/menu/vitamina_c_21g_fix.png) no-repeat bottom center;
	background-size:150px auto;
}
.checkbox-familyorder14 .wpcf7-list-item .wpcf7-list-item-label,
.order14 {
	background:url(../img/menu/tecnica_fix.png) no-repeat bottom center;
	background-size:150px auto;
}
.checkbox-familyorder15 .wpcf7-list-item .wpcf7-list-item-label,
.order15 {
	background:url(../img/menu/haircare_fix.png) no-repeat bottom center;
	background-size:150px auto;
}
.checkbox-familyorder16 .wpcf7-list-item .wpcf7-list-item-label,
.sinagire1 {
	background:url(../img/menu/mist1.png) no-repeat bottom center;
	background-size:150px auto;
}
.checkbox-familyorder17 .wpcf7-list-item .wpcf7-list-item-label,
.sinagire2 {
	background:url(../img/menu/mist2.png) no-repeat bottom center;
	background-size:150px auto;
}
.checkbox-familyorder18 .wpcf7-list-item .wpcf7-list-item-label {
	background:url(../img/menu/dashi_fix.png) no-repeat center center;
	background-size:180px auto;
}
.checkbox-familyorder19 .wpcf7-list-item .wpcf7-list-item-label {
	background:url(../img/menu/umetan_fix.png) no-repeat center center;
	background-size:180px auto;
}
.checkbox-familyorder20 .wpcf7-list-item .wpcf7-list-item-label {
	background:url(../img/menu/uv_cream_fix.png) no-repeat bottom center;
	background-size:150px auto;
}
.checkbox-familyorder21 .wpcf7-list-item .wpcf7-list-item-label {
	background:url(../img/menu/tonico_fix.png) no-repeat bottom center;
	background-size:150px auto;
}
.checkbox-familyorder22 .wpcf7-list-item .wpcf7-list-item-label {
	background:url(../img/menu/tonico_fix2.png) no-repeat bottom center;
	background-size:150px auto;
}
.checkbox-familyorder23 .wpcf7-list-item .wpcf7-list-item-label {
	background:url(../img/menu/samplekit1.jpg) no-repeat bottom center;
	background-size:150px auto;
}
.checkbox-familyorder24 .wpcf7-list-item .wpcf7-list-item-label {
	background:url(../img/menu/samplekit2.jpg) no-repeat bottom center;
	background-size:150px auto;
}
.checkbox-familyorder25 .wpcf7-list-item .wpcf7-list-item-label {
	background:url(../img/menu/optimo_mens_mist.png) no-repeat bottom center;
	background-size:150px auto;
}
.checkbox-familyorder26 .wpcf7-list-item .wpcf7-list-item-label {
	background:url(../img/menu/optimo_mens_gel.png) no-repeat bottom center;
	background-size:150px auto;
}
.checkbox-familyorder27 .wpcf7-list-item .wpcf7-list-item-label {
	background:url(../img/menu/shampoo_fix.png) no-repeat bottom center;
	background-size:150px auto;
}
.checkbox-familyorder28 .wpcf7-list-item .wpcf7-list-item-label {
	background:url(../img/menu/treatment_fix.png) no-repeat bottom center;
	background-size:150px auto;
}
.checkbox-familyorder29 .wpcf7-list-item .wpcf7-list-item-label {
	background:url(../img/menu/sun.png) no-repeat bottom center;
	background-size:150px auto;
}
.checkbox-familyorder30 .wpcf7-list-item .wpcf7-list-item-label {
	background:url(../img/menu/product11.png) no-repeat bottom center;
	background-size:150px auto;
}
.checkbox-familyorder31 .wpcf7-list-item .wpcf7-list-item-label {
	background:url(../img/menu/product12.png) no-repeat bottom center;
	background-size:150px auto;
}
.checkbox-familyorder32 .wpcf7-list-item .wpcf7-list-item-label {
	background:url(../img/menu/zakuro_90g_fix.png) no-repeat bottom center;
	background-size:150px auto;
}
.checkbox-familyorder33 .wpcf7-list-item .wpcf7-list-item-label {
	background:url(../img/menu/zakuro_21g_fix.png) no-repeat bottom center;
	background-size:150px auto;
}
.soon {
	background:url(../img/menu/shamtri_soon.png) no-repeat bottom center;
	background-size:150px auto;
}



.familyorder .familybox .wpcf7-list-item::after {
	width:100%;
	padding:12px 0;
	position: absolute;
	bottom:0;
	left:0;
	text-align: center;
	font-size:1.2rem;
	color:#FFF;
	background:rgba(0,76,131,0.7);
}
.familyorder .familybox .checkbox-familyorder16 .wpcf7-list-item::before,
.familyorder .familybox .checkbox-familyorder17 .wpcf7-list-item::before {
	position: absolute;
	top:0;
	left:0;
	content:'在庫僅か';
	background:rgba(194,0,9,0.7);
	text-align: center;
	font-size:10px;
	color:#FFF;
	padding:2px 5px;
}
.familyorder .familybox.new::before {
	position: absolute;
	top:10px;
	left:0;
	content:'NEW';
	background:rgba(194,0,9,0.7);
	text-align: center;
	font-size:10px;
	color:#FFF;
	padding:2px 5px;
}
.familyorder .familybox .checkbox-familyorder22 .wpcf7-list-item::before {
	position: absolute;
	top:0;
	left:0;
	content:'お得';
	background:rgba(194,0,9,0.7);
	text-align: center;
	font-size:10px;
	color:#FFF;
	padding:2px 5px;
}


.checkbox-familyorder7 .wpcf7-list-item::after {
	content:'定価￥3,080円(税込)';
}
.checkbox-familyorder8 .wpcf7-list-item::after,
.checkbox-familyorder30 .wpcf7-list-item::after,
.checkbox-familyorder31 .wpcf7-list-item::after,
.checkbox-familyorder32 .wpcf7-list-item::after,
.checkbox-familyorder33 .wpcf7-list-item::after {
	content:'定価￥8,800円(税込)';
}
.checkbox-familyorder1 .wpcf7-list-item::after {
	content:'定価￥2,750円(税込)';
}
.checkbox-familyorder2 .wpcf7-list-item::after {
	content:'定価￥4,730円(税込)';
}
.checkbox-familyorder3 .wpcf7-list-item::after {
	content:'定価￥4,730円(税込)';
}
.checkbox-familyorder4 .wpcf7-list-item::after {
	content:'定価￥11,000円(税込)';
}
.checkbox-familyorder5 .wpcf7-list-item::after {
	content:'定価￥14,080円(税込)';
}
.checkbox-familyorder6 .wpcf7-list-item::after {
	content:'定価￥3,300円(税込)';
}
.checkbox-familyorder9 .wpcf7-list-item::after {
	content:'定価￥2,860円(税込)';
}
.checkbox-familyorder10 .wpcf7-list-item::after {
	content:'定価￥5,940円(税込)';
}
.checkbox-familyorder11 .wpcf7-list-item::after {
	content:'定価￥1,650円(税込)';
}
.checkbox-familyorder12 .wpcf7-list-item::after {
	content:'定価￥4,104円(税込)';
}
.checkbox-familyorder13 .wpcf7-list-item::after {
	content:'定価￥486円(税込)';
}
.checkbox-familyorder14 .wpcf7-list-item::after {
	content:'定価￥1,650円(税込)';
}
.checkbox-familyorder15 .wpcf7-list-item::after {
	content:'定価￥3,410円(税込)';
}
.checkbox-familyorder16 .wpcf7-list-item::after {
	content:'定価￥1,980円(税込)';
}
.checkbox-familyorder17 .wpcf7-list-item::after {
	content:'定価￥1,980円(税込)';
}
.checkbox-familyorder18 .wpcf7-list-item::after {
	content:'定価￥1,620円(税込)';
}
.checkbox-familyorder19 .wpcf7-list-item::after {
	content:'定価￥1,350円(税込)';
}
.checkbox-familyorder20 .wpcf7-list-item::after {
	content:'定価￥2,750円(税込)';
}
.checkbox-familyorder21 .wpcf7-list-item::after {
	content:'定価￥5,984円(税込)';
}
.checkbox-familyorder22 .wpcf7-list-item::after {
	content:'定価￥11,968円(税込)';
}
.checkbox-familyorder23 .wpcf7-list-item::after {
	content:'定価￥2,420円(税込)';
}
.checkbox-familyorder24 .wpcf7-list-item::after {
	content:'定価￥2,750円(税込)';
}
.checkbox-familyorder25 .wpcf7-list-item::after {
	content:'定価￥1,980円(税込)';
}
.checkbox-familyorder26 .wpcf7-list-item::after {
	content:'定価￥2,475円(税込)';
}
.checkbox-familyorder27 .wpcf7-list-item::after {
	content:'定価￥2,750円(税込)';
}
.checkbox-familyorder28 .wpcf7-list-item::after {
	content:'定価￥3,300円(税込)';
}
.checkbox-familyorder29 .wpcf7-list-item::after {
	content:'定価￥3,410円(税込)';
}
.checkbox-familyorder30 .wpcf7-list-item::after {
	content:'定価￥7,040円(税込)';
}
.checkbox-familyorder31 .wpcf7-list-item::after {
	content:'定価￥7,040円(税込)';
}
.checkbox-familyorder32 .wpcf7-list-item::after {
	content:'定価￥3,780円(税込)';
}
.checkbox-familyorder33 .wpcf7-list-item::after {
	content:'定価￥810円(税込)';
}
.soon::after {
	content:'coming soon';
}


.familybox {
	padding:10px 0 0 0;
}
.familybox .itemnum {
	padding:10px 0 0 0;
}
.familybox .itemnum p {
	font-size:14px;
	padding:0 0 5px 0;
}

.f_kiyaku {
	width:100%;
	height:250px;
	border:1px solid #666;
	padding:16px !important;
	overflow:auto;
	margin:0 auto 30px;
}
.f_kiyaku h2 {
	font-size:1.6rem !important;
	font-weight:bold;
	line-height:1.5em;
	margin:0 0 15px 0;
}
.f_kiyaku h3 {
	font-size:1.5rem !important;
	font-weight:bold;
	line-height:1.5em;
	margin:0 0 15px 0;
}
.f_kiyaku p {
	font-size:1.2rem !important;
	line-height:1.5em;
	margin:0 0 15px 0;
}



.contactform input[type="radio"] {
	display:none;
}
.radiobox .wpcf7-radio {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-moz-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-moz-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
	-ms-flex-pack: space-between;
	-webkit-align-items: ﬂex-start;
	-moz-align-items: ﬂex-start;
	-ms-align-items: ﬂex-start;
	align-items: ﬂex-start;
	padding:15px 0 0 0;
}
.radiobox .wpcf7-list-item {
	display: block;
	width:100%;
	margin:0 auto 20px;
}
.radiobox .wpcf7-list-item label {
	display: block;
}
.radiobox .wpcf7-list-item-label {
	display: block;
	text-align: center;
	font-size:16px;
	height:250px;
	border: 1px solid #ccc;
    border-radius: 4px;
	padding:15px 0;
}
.radiobox.fukuokacpitem .wpcf7-list-item:nth-of-type(1) {
    background:url(../img/cp/fukuoka_aqua1.png) no-repeat center bottom;
    background-size:auto 80%;
}
.radiobox.fukuokacpitem .wpcf7-list-item:nth-of-type(2) {
    background:url(../img/cp/fukuoka_aqua2.png) no-repeat center bottom;
    background-size:auto 80%;
}
.radiobox .wpcf7-list-item input:checked + .wpcf7-list-item-label {
	border:4px solid #c5151d;
	box-shadow:0 0 10px rgba(0,0,0,0.7);
}

.family_news li {
	width:320px;
	margin:0 10px;
}
.family_news li img {
	display: block;
	width:100%;
	height:auto;
}
.family_news .slidedot {
	padding:30px 0 0 0;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-moz-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	-moz-justify-content: center;
	-ms-justify-content: center;
	justify-content: center;
	-ms-flex-pack: space-between;
	-webkit-align-items: ﬂex-start;
	-moz-align-items: ﬂex-start;
	-ms-align-items: ﬂex-start;
	align-items: ﬂex-start;
}
.family_news .slidedot li {
	width:8px;
	height:8px;
	margin:0 5px;
	padding:0;
	position: relative;
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
}
.family_news .slidedot li button {
	position: absolute;
	width:8px;
	height:8px;
	top:50%;
	left:50%;
	background:#5f6a75;
	border-radius:4px;
	text-indent:-9999px;
	border:none;
	padding:0;
	cursor: pointer;
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
	-webkit-transform: translate(-50%,-50%);
	   -moz-transform: translate(-50%,-50%);
	    -ms-transform: translate(-50%,-50%);
	     -o-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
}
.family_news .slidedot li.slick-active {
	width:40px;
}
.family_news .slidedot li.slick-active button {
	width:40px;
	height:8px;
}



.contactform input[type="submit"] {
	display: block;
	font-size:1.8rem;
	font-weight:400;
	text-align: center;
	padding:15px 20px;
	width:300px;
	color:#004C83;
	background:#FFF;
	border:1px solid #004C83;
	-webkit-appearance:none;
	appearance:none;
	margin:10px auto;
	cursor:pointer;
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
}
.contactform input[type="submit"]:hover {
	outline: none;
	color:#FFF;
	background:#004C83;
}
.contactform input[type="submit"]:active {
	outline: none;
	box-shadow:-3px -3px 2px rgba(255,255,255,0.8) inset, 3px 3px 2px rgba(199,206,221,0.8) inset;
}
.wpcf7-not-valid-tip {
	display:inline-block;
	padding:10px 0 0 0;
}



/* family payment */
.atobarai_table {
	display: block;
	width:100%;
	font-size:14px;
	margin:0 auto;
	border-bottom:1px solid #FFF;
}
.atobarai_table .hyoudai {
	display: block;
	width:100%;
	color:#FFF;
	font-size:16px;
	padding:12px;
	text-align:left;
	line-height:1.5em;
	background:#aaa;
	border-bottom:1px solid #aaaaaa;
	position: relative;
}
.atobarai_table .hyoudai::before {
	content:'';
	position: absolute;
	top:50%;
	right:21px;
	width:2px;
	height:24px;
	margin:-12px 0 0 0;
	background:#FFF;
}
.atobarai_table .hyoudai::after {
	content:'';
	position: absolute;
	top:50%;
	right:10px;
	width:24px;
	height:2px;
	margin:-1px 0 0 0;
	background:#FFF;
}
.atobarai_table .hyoudai.active::before {
	opacity:0;
}
.atobarai_table .hyoudai.review {
	background:#004a98;
}
.atobarai_table tbody {
	display:none;
}
.atobarai_table .type {
	display: block;
	width:100%;
	background:#f5f5f5;
	vertical-align:middle;
	padding:12px;
	line-height:1.5em;
	text-align:left;
	border-bottom:1px solid #aaaaaa;
}
.atobarai_table .type span {
	font-size:12px;
	font-weight:normal;
}
.atobarai_table tr {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-moz-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-moz-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
	-ms-flex-pack: space-between;
	-webkit-align-items: ﬂex-start;
	-moz-align-items: ﬂex-start;
	-ms-align-items: ﬂex-start;
	align-items: ﬂex-start;
}
.atobarai_table td {
	width:70%;
	font-size:14px;
	font-weight:bold;
	padding:12px;
	line-height:1.5em;
	vertical-align:middle;
	border-bottom:1px solid #aaaaaa;
}
.atobarai_table .price {
	width:30%;
	text-align:right;
}
.atobarai_table .word {
	width:100%;
	font-weight:normal;
}
.atobarai_table .attention {
	font-size:12px;
	font-weight:normal;
	padding:10px 0 0 0;
}


/* thanks */
.checkmark__circle {
  stroke-dasharray: 166;
  stroke-dashoffset: 166;
  stroke-width: 2;
  stroke-miterlimit: 10;
  stroke: #06d500;
  fill: none;
  animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) 1s forwards;
}

.checkmark {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  display: block;
  stroke-width: 5;
  stroke: #fff;
  stroke-miterlimit: 10;
  margin: 0 auto 30px;
  box-shadow: inset 0px 0px 0px #06d500;
  animation: fill .4s ease-in-out 1.4s forwards, scale .3s ease-in-out 1.9s both;
}

.checkmark__check {
  transform-origin: 50% 50%;
  stroke-dasharray: 48;
  stroke-dashoffset: 48;
  animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 1.8s forwards;
}

@keyframes stroke {
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes scale {
  0%, 100% {
    transform: none;
  }
  50% {
    transform: scale3d(1.1, 1.1, 1);
  }
}
@keyframes fill {
  100% {
    box-shadow: inset 0px 0px 0px 70px #06d500;
  }
}

/* =新ファミリーページ
=======================*/
.ranklist {
	padding:0 0 60px 0;
}
.ranklist .rankbox {
	width:48%;
	border:1px solid #aaa;
	margin:0 0 20px 0;
	border-radius: 20px;
	box-shadow: 0 0 10px rgba(0,0,0,0.1)
}
.ranklist .rankbox a {
	display: block;
	width:100%;
	height:100%;
}
.ranklist .rankbox i {
	display: block;
	font-size:3rem;
	text-align: center;
	padding:30px 0;
}
.ranklist .rankbox p {
	font-size:1.3rem;
	line-height: 1.6em;
	text-align: center;
	padding:0 0 30px 0;
}

.calculate {
	position: fixed;
	z-index:1000;
	bottom:0;
	right:0;
	width:calc(100%);
	padding:20px 30px;
	background:#FFF;
	border-radius: 20px 20px 0 0;
	box-shadow: 0 0 20px rgba(0,0,0,0.1)
}
.calculate .cal_left {
	width:100%;
	display:flex;
	flex-wrap: wrap;
	align-items: center;
}
.calculate .cal_left p {
	font-size:1.6rem;
}
.calculate .cal_left .cal_note {
	width:100%;
	display: inline;
	padding:2px 0 0 15px;
	font-size:1rem;
}
.calculate .cal_right {
	width:calc(100% - 65px);
}
.calculate .cal_right2 {
	width:65px;
	font-size:1.3rem;
	display:flex;
	align-items: center;
	padding:0 0 0 10px;
}
.calculate input[type="text"] {
	text-align: right;
}

/* =archive
-------------------------------------------------------------- */
.page_archive .contents2 {
	width:100%;
}
.archive .swiper-slide {
	width:100%;
	position: relative;
	margin:0 auto 10px;
}
.archivepage li {
	width:100%;
	position: relative;
	margin:0 auto 50px;
}
.swiper-container .archive .swiper-slide {
	padding:0;
}
.page_archive .txt3 {
	font-size:1.2rem;
}
.archive figure {
	width:100%;
	height:auto;
}
.archive figure img {
	display: block;
	width:100%;
	height:auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	-webkit-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	   -moz-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	    -ms-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	     -o-transition: all .3s cubic-bezier(.5, 0, .5, 1);
	        transition: all .3s cubic-bezier(.5, 0, .5, 1);
}
.archive time {
	display: block;
	position: relative;
	text-transform: uppercase;
	font-size:1.2rem;
	color:#666;
	z-index:5;
	padding:0 0 12px 0;
}
.archive h2, .related_title {
	display: block;
	font-size:1.6rem;
	line-height:1.8em;
	color:#3F4551;
}
.archive .tagbox {
	padding:0 0 12px 0;
}
.archive time.list {
	padding:0 0 12px 0;
}
.archive .tag {
	width:20%;
	background:#5f6a75;
	font-size:1.2rem;
	color:#FFF;
	text-align: center;
	z-index:5;
	padding:5px 0;
}
.archive .cat {
	width:50%;
	font-size:1.5rem;
	color:#666;
	z-index:5;
}
.mediapost .archive time {
	color:#ff9300;
}

/* tablenav */
.pagenav.flex {
	-webkit-justify-content:center;
	-moz-justify-content:center;
	-ms-justify-content:center;
	justify-content:center;
}
.page-numbers {
	width:40px;
	height:40px;
	background:#FFF;
	text-align: center;
	margin:0 8px;
	font-size:2rem;
	padding:10px 0 0 0;
	border:1px solid #777;
	color:#777;
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
}
.page-numbers:hover {
	border:1px solid #333;
	color:#333;
}
.page-numbers.current {
	border:1px solid #ccc;
	color:#ccc;
}
.pagenav .prev,
.pagenav .next {
	display:none;
}
.page-numbers.dots {
	box-shadow:none;
}

/* =single
-------------------------------------------------------------- */
.profile dt {
	width:100%;
	background:#004C83;
	color:#FFF;
	padding:15px;
	font-size:1.4rem;
	line-height: 1.5em;
	margin:0 0 4px 0;
}
.profile dd {
	width:100%;
	background:#f5f5f5;
	color:#000;
	padding:15px;
	font-size:1.4rem;
	line-height: 1.5em;
	margin:0 0 15px 0;
}

.singlecat {
	text-transform:uppercase;
	color:#8f806a;
	font-size:1.6rem;
}
.mediapost .singlecat {
	color:#ff9300;
}
.singletag {
	text-align: center;
	width:100%;
	background:#5f6a75;
	color:#FFF;
	padding:12px 0;
	font-size:1.5rem;
	border-radius:4px;
	margin:0 auto 60px;
}

.title2.singletitle {
	text-align: left;
}
#single h2 {
	display: block;
	font-weight: bold;
	font-style: normal;
	font-size:2rem;
	line-height:1.5em;
	padding:18px 0;
	color:#000;
	margin:0 auto 40px;
	border-bottom:1px solid #5f6a75;
}
#single h3 {
	display: block;
	font-weight: bold;
	font-style: normal;
	font-size:1.8rem;
	line-height:1.5em;
	padding:30px 0 15px;
	color:#5f6a75;
	margin:0 auto 40px;
	position: relative;
}
#single h4 {
	display: block;
	width:90%;
	font-weight: 600;
	font-style: normal;
	font-size:1.7rem;
	line-height:1.5em;
	padding:0 0 15px 0;
	color:#3F4551;
	margin:0 auto 40px;
	border-bottom:1px solid #DCDFE2;
}
#single p {
	width:90%;
	font-size:1.4rem;
	line-height:1.8em;
	margin:0 auto 40px;
}
#single figure {
	margin:0 auto 40px;
}
#single img {
	max-width:100%;
	height:auto;
}
#single .imgbox img {
	margin:0 auto 15px;
}
#single .imgbox p.quoteimg {
	width:100%;
	font-size:12px;
	line-height: 1.3em;
	color:#B7935F;
}
#single ul,
#single ol {
	margin:0 auto 40px;
	border:1px solid #ccc;
	padding:20px;
	background:#FFF;
}
#single ul ul,
#single ol ol {
	margin:0 auto;
	border:none;
	padding:30px 20px 10px 20px;
}
#single ol {
	counter-reset:number; /*数字をリセット*/
}
#single ul li {
	list-style:square inside;
	padding:6px 0 6px;
	font-size:1.4rem;
	line-height:1.8em;
}
#single ol li {
	position: relative;
	line-height: 1.5;
	padding: 6px 0 6px 30px;
	font-size:1.4rem;
	line-height:1.8em;
	list-style-type: none!important;
}
#single ol li:before {
	content:'';
	position: absolute;
	top:9px;
	left:0;
	width:20px;
	height:20px;
	counter-increment: number;
	content: counter(number);
	background:#004a98;
	text-align: center;
	color:#FFF;
	font-size:12px;
	line-height:20px;
	border-radius:50%;
}
#single .tablewidth {
	width:100%;
	overflow:auto;
	-webkit-overflow-scrolling:touch;
	overflow-scrolling:touch;
}
#single table.table {
	width:100%;
	margin:0 auto 40px;
	font-size:1.4rem;
	line-height:1.8em;
	border-collapse:collapse;
	border:1px solid #5f6a75;
}
#single .tablewidth table.table {
	width:200%;
}
#single table.table caption {
	background:#5f6a75;
	text-align: center;
	color:#FFF;
	padding:15px 0;
}
#single table.table th {
	min-width:25%;
	padding:12px;
	text-align:left;
	word-break: keep-all;
	vertical-align:middle;
	border:1px solid #5f6a75;
	background:#f5f5f5;
}
#single table.table td {
	min-width:75%;
	padding:12px;
	vertical-align:middle;
	text-align:left;
	border:1px solid #5f6a75;
	background:#fff;
}
#single .point {
	margin:0 auto 40px;
}
#single .po_title {
	display: inline-block;
	width:auto;
	background:#ff9e45;
	padding:10px 25px;
	text-align: center;
	color:#FFF;
	font-size:12px;
}
#single .po_main {
	border:1px solid #ff9e45;
	padding:15px;
	font-size:1.4rem;
	line-height:1.8em;
	background:#fff;
}
#single .point ul,
#single .point ol {
	margin:0 auto;
	border:none;
	padding:0;
}

#single p a {
	color:#B7935F;
	padding:0 0 1px 0;
	position: relative;
}
#single p a::after {
	content:'';
	position: absolute;
	bottom:0;
	left:0;
	width:0%;
	height:1px;
	background:#B7935F;
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
}
#single p a:hover::after {
	width:100%;
}
#single .uetsuki {
	font-size:75%;
	vertical-align: super;
}
#single .marker {
	background: linear-gradient(transparent 60%, rgba(239,204,154,0.5) 60%);
}
#single blockquote {
	width:90%;
	margin:0 auto 60px;
	border:1px solid #DCDFE2;
	padding:40px 40px 30px 40px;
	font-size:16px;
	line-height:1.6em;
	position: relative;
}
#single blockquote::after {
	content:'“';
	position: absolute;
	top:10px;
	left:25px;
	font-family: 'Oswald', sans-serif;
	font-weight:600;
	color:#3F4551;
	font-size:80px;
}
#single blockquote p {
	width:100%;
	font-size:16px;
	line-height:1.6em;
	margin:0;
}
#single blockquote cite {
	display: block;
	font-family: 'Oswald', sans-serif;
	font-weight:400;
	font-style:normal;
	font-size:14px;
	color:#D6B786;
	padding:15px 0 0 0;
}
#single blockquote cite a {
	color:#D6B786;
	text-decoration:underline;
}
#single .w_b_quote {
	font-size:16px;
	line-height:1.5em;
	padding:12px;
}
#single span.void {
	display: block;
	padding:0 0 60px 0;
}

#single .youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
#single .youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

#single .syntaxhighlighter {
	margin:0 auto 60px !important;
}
#single .syntaxhighlighter table td.code .line {
	padding:2px 1em !important;
}
#single .syntaxhighlighter table td.gutter .line {
	padding:2px 0.5em 2px 1em !important;
}
#single a.singlebtn {
	display: block;
	font-size:22px;
	text-align: center;
	padding:18px 0;
	width:400px;
	color:#3F4551;
	border-top:1px solid #FFF;
	border-left:1px solid #FFF;
	border-radius:6px;
	background:#F0F1F7;
	margin:0 auto 60px;
	box-shadow:9px 9px 7px rgba(199,206,221,0.8), -9px -9px 7px rgba(255,255,255,0.8);
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
}
#single a.singlebtn:hover {
	box-shadow:3px 3px 2px rgba(199,206,221,0.8), -3px -3px 2px rgba(255,255,255,0.8);
}
#single a.singlebtn:active {
	box-shadow:-3px -3px 2px rgba(255,255,255,0.8) inset, 3px 3px 2px rgba(199,206,221,0.8) inset;
}

.mediapost #single ol li:before {
	background: #ff9300;
}
.mediapost #single .marker {
	background: linear-gradient(transparent 60%, rgba(163,255,115,0.5) 60%);
}
.mediapost #single table.table th {
	background:#ffddb8;
}

.productwrapper {
	width:90%;
	margin:0 auto;
	border:1px solid #8F806A;
	padding:30px 20px;
}
.productwrapper .product_left {
	width:100%;
	padding:0 0 20px 0;
}
.productwrapper .product_right {
	width:100%;
}
.productwrapper .product_right .product_txt1 {
	width:100%;
	font-size:1.8rem;
	padding:0 0 10px 0;
	color:#444;
}
.productwrapper .product_right .product_txt2 {
	width:100%;
	font-size:1.3rem;
	color:#777;
}
.productwrapper .product_right .product_txt3 {
	width:100%;
	font-size:1.5rem;
	color:#444;
	padding:15px 0 20px;
}
.productwrapper .product_right .product_txt4 {
	background:#004A98;
	text-align: center;
	width:100%;
	padding:15px 0;
	color:#FFF;
	font-size:1.5rem;
	border-radius:40px;
}



/*embed*/
.wp-embedded-content {
	width: 100%;
	margin:0 auto 60px;
}

/* =questionform
-------------------------------------------------------------- */
#single .questionform ul,
#single .questionform ol {
	border:none;
}

#single .questionform li {
	list-style: none;
	padding:100%;
	padding:6px 0;
}
#single .questionform li p {
	width:100%;
	font-size:1.6rem;
	color:#5f6a75;
	padding:0 0 8px 0;
	margin:0 auto;
}
#single .questionform li p small {
	color:#999;
}
#single .questionform li p.qti {
	color:#004a98;
	font-size:2rem;
}
#single .questionform li p.qti .hissu {
	color:#eb0000;
	font-size:1.4rem;
}
#single .questionform input[type="text"], 
#single .questionform input[type="email"], 
#single .questionform select, 
#single .questionform textarea {
	display: block;
	width:100%;
	-webkit-appearance:none;
	appearance:none;
	padding:12px;
	font-size:1.6rem;
	border:1px solid #ccc;
	outline:none;
}
#single .questionform input[type="radio"] + .wpcf7-list-item-label {
	font-size:1.2rem;
} 
#single .questionform input[type="text"]:focus, 
#single .questionform input[type="email"]:focus,
#single .questionform select:focus, 
#single .questionform textarea:focus {
	box-shadow:0 0 4px rgba(0,0,0,0.2);
}
.questionform .selectbox {
	position: relative;
	display: block;
	width:100%;
	margin:0 auto;
}
.questionform .selectbox::after {
	content:'';
	position: absolute;
	top:50%;
	right:15px;
	content:'';
	width: 0;
	height: 0;
	margin:-4px 0 0 0;
	border-style: solid;
	border-width: 8px 4px 0 4px;
	border-color: #000000 transparent transparent transparent;
}
.questionform .checks .wpcf7-list-item {
	display: block;
	width:100%;
}
.questionform .checks .wpcf7-list-item label {
	cursor: pointer;
}
.questionform input[type="submit"] {
	display: block;
	font-size:1.6rem;
	font-weight:400;
	text-align: center;
	padding:15px 20px;
	width:100%;
	color:#004C83;
	background:#FFF;
	border:1px solid #004C83;
	-webkit-appearance:none;
	appearance:none;
	margin:10px auto;
	cursor:pointer;
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
}
.questionform input[type="submit"]:hover {
	outline: none;
	color:#FFF;
	background:#004C83;
}
.questionform input[type="submit"]:active {
	outline: none;
	box-shadow:-3px -3px 2px rgba(255,255,255,0.8) inset, 3px 3px 2px rgba(199,206,221,0.8) inset;
}

/* アンケート回答 */
.coupondetail {
	margin:0 auto 20px;
}
.coupondetail .co_title {
	display: inline-block;
	width:auto;
	background:#c20000;
	padding:10px 25px;
	text-align: center;
	color:#FFF;
	font-size:12px;
}
.coupondetail .co_main {
	border:1px solid #c20000;
	padding:10px 15px;
	font-size:3.6rem;
	font-weight:bold;
	line-height:1.8em;
	color:#c20000;
	background:#fff;
	text-align: center;
	position: relative;
}
.coupondetail .co_main::before {
	content:'\f0c5';
	position: absolute;
	top:5px;
	right:5px;
	width:40px;
	height:40px;
	background:#004a98;
	color:#FFF;
	font-family:'Font Awesome 5 free';
	font-weight:bold;
	font-size:20px;
	line-height:40px;
	border-radius:50%;
	text-align: center;
}
.coupondetail .co_main::after {
	content:'コピーしました';
	position: absolute;
	top:50%;
	left:50%;
	width:150px;
	height:40px;
	background:#5f6a75;
	text-align: center;
	color:#FFF;
	font-size:1.4rem;
	line-height:40px;
	padding:0 20px;
	margin:-20px 0 0 -75px;
	opacity:0;
}
.coupondetail .co_main.copied::after {
	-webkit-animation: showhide 2s cubic-bezier(.5, 0, .5, 1) both;
    animation: showhide 2s cubic-bezier(.5, 0, .5, 1) both;
}
@-webkit-keyframes showhide {
	0% {
	    opacity:0;
	}
	20% {
	    opacity:0.8;
	}
	90% {
		opacity:0.8;
	}
	100% {
		opacity:0;
	}

}
@keyframes showhide {
	0% {
	    opacity:0;
	}
	20% {
	    opacity:0.8;
	}
	90% {
		opacity:0.8;
	}
	100% {
		opacity:0;
	}
}
.coupontxt {
	text-align: center;
	font-size:2rem;
	line-height:1.5em;
	font-weight:bold;
	color:#004a98;
}
.btn_coupongo {
	display: block;
	width:100%;
	background:#06d500;
	color:#FFF;
	font-size:1.8rem;
	font-weight:bold;
	text-align: center;
	padding:22px 0;
	border-radius:50px;
	margin:25px auto;
}


/* =sidebar
-------------------------------------------------------------- */
.sidebox {
	padding:0 0 60px 0;
}
.sidetitle {
	font-size:2rem;
	border-bottom:1px solid #ff9300;
	color:#ff9300;
	padding:15px 0;
	margin:0 auto 30px;
}
.categorymenu li a {
	display: block;
	padding:15px;
	font-size:1.6rem;
	color:#fff;
	background:#ff9300;
	margin:0 auto 5px;
}

.rank_archive {
	counter-reset: wpp-ranking;
}
.rank_archive li {
	width:100%;
	padding:0 0 60px 0;
	position: relative;
}
.rank_archive li::after {
	content:counter(wpp-ranking, decimal);
	counter-increment: wpp-ranking;
	position: absolute;
	top:0;
	left:0;
	width:40px;
	height:40px;
	background:#ff9300;
	color:#FFF;
	text-align: center;
	font-size:2.4rem;
	line-height:40px;
}
.rank_archive li a {
	display: block;
}
.rank_archive figure img {
	width:100%;
	height:auto;
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
}
.rank_archive li a:hover img {
	opacity:0.5;
}
.rank_archive .wpp-thumbnail {
	float:none;
	margin:0;
}
.rank_archive .rank_title {
	font-size:1.6rem;
	line-height:1.8em;
	padding:10px 0 5px;
	color:#5f6a75;
}
.rank_archive .rank_time {
	font-size:1.2rem;
	color:#5f6a75;
}




/* =search
-------------------------------------------------------------- */
.searchform {
	margin:0 0 50px 0;
}
.searchform .formbox {
	position: relative;
	margin:0 auto 50px;
}
.searchform button {
	display: block;
	position: absolute;
	top:50%;
	right:20px;
	border:none;
	outline: none;
	-webkit-appearance:none;
	appearance:none;
	font-size:30px;
	width:40px;
	height:36px;
	cursor: pointer;
	padding:0;
	background:transparent;
	margin:-18px 0 0 0;
	color:rgba(63,69,81,0.5);
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
}
.searchform button:hover {
	color:rgba(63,69,81,1);
}

/* =よくあるご質問
-------------------------------------------------------------- */
#faq .contents2 {
	width:96%;
}
.tabarea {
	cursor: pointer;
}
.tabarea .tab {
	width: 25%;
	text-align: center;
	font-size:10px;
	line-height:1.2em;
	padding:15px 0;
	background-color: #cbcfd2;
	border-left:1px solid #FFF;
	border-top:1px solid #FFF;
	border-right:1px solid #FFF;
	border-bottom:1px solid #000;
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
}
.tabarea .tab.active {
	background-color: #FFF;
	border-left:1px solid #000;
	border-top:1px solid #000;
	border-right:1px solid #000;
	border-bottom:1px solid #FFF;
	color: #5f6a75;
}
.tabcontents .tabfields{
    display: none;
    width:94%;
    margin:0 auto;
    padding:13px 0;
}
.tabcontents .tabfields.show {
    display: block;
}
.faqbox {
	border:1px solid #AAAAAA;
	margin:0 0 -1px 0;
	padding:13px;
}
.faqbox dt {
	display: block;
	font-size:1.3rem;
	line-height:1.5em;
	text-align:left;
	position: relative;
	cursor: pointer;
	padding:0 30px 0 0;
}
.faqbox dt::after {
	content:'+';
	position: absolute;
	right:0;
	top:50%;
	width:24px;
	height:24px;
	font-size:24px;
	text-align: center;
	margin:-10px 0 0 0;
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
}
.faqbox dt.active::after {
	content:'-';
}
.faqbox dd {
	display: none;
	font-size:1.2rem;
	line-height:1.5em;
	color:#004C80;
	border-top:1px solid #AAAAAA;
	padding:13px 0 0 0;
	margin:13px 0 0 0;
	text-align:left;
}

/* =オンラインサロン
-------------------------------------------------------------- */
.salon_benefit {
	display:grid;
	 grid-template-columns: repeat(1, 1fr);
    gap:20px;
}
.salon_benefit li {
	border:1px solid #c3c9cd;
	padding:25px;
}
.salon_benefit li .thumb {
	width:80px;
	height:72px;
	margin: 10px auto;
}
.salon_benefit li .thumb img {
	display: block;
	width:auto;
	height:100%;
	margin:0 auto;
}
.salon_benefit li .salon_benefit_title {
	text-align: center;
	font-size:1.8rem;
	padding:20px 0;
}
.salon_benefit li .salon_benefit_txt {
	font-size:1.3rem;
	line-height:1.7em;
}

/* =footer
-------------------------------------------------------------- */
footer {
	width:100%;
	background:#f4f4f4;
	padding:40px 0;
}
footer h1 {
	display: block;
	width:80px;
	margin:0 auto;
}
footer h1 img {
	display: block;
	width:100%;
	height:auto;
}
footer .sns {
	width:100%;
	margin:20px 0;
}
footer .sns.flex {
	/* 縦方向中央揃え */
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: center;
	-moz-align-items: center;
	-ms-align-items: center;
	align-items: center;
	-webkit-justify-content:center;
	-moz-justify-content:center;
	-ms-justify-content:center;
	justify-content:center;
}
footer .sns a {
	font-size:32px;
	color:#5f6a75;
	margin:0 15px;
}
footer .sns a:hover {
	opacity:0.5;
}
footer .footnav {
	display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap:15px;
    padding:0 0 40px 0;
}
footer .footnav p {
	font-size:1.7rem;
	color:#5f6a75;
	padding:20px 0;
}
footer .footnav a {
	display: block;
	font-size:1.3rem;
	color:#5f6a75;
	padding:12px 0 12px 20px;
}
.copyright {
	color:#5f6a75;
	text-align: center;
	font-size:1.2rem;
	padding:15px 0 0 0;
}

.line_messe {
	opacity:0;
	position: fixed;
	z-index:50;
	top:65px;
	right:15px;
	-webkit-transform: translateX(85px);
	   -moz-transform: translateX(85px);
	    -ms-transform: translateX(85px);
	     -o-transform: translateX(85px);
	        transform: translateX(85px);
	-webkit-transition: all .5s cubic-bezier(.5, 0, .5, 1);
	-moz-transition: all .5s cubic-bezier(.5, 0, .5, 1);
	-ms-transition: all .5s cubic-bezier(.5, 0, .5, 1);
	-o-transition: all .5s cubic-bezier(.5, 0, .5, 1);
	transition: all .5s cubic-bezier(.5, 0, .5, 1);
}
.line_messe.show {
	opacity:1;
	-webkit-transform: translateX(0px);
	   -moz-transform: translateX(0px);
	    -ms-transform: translateX(0px);
	     -o-transform: translateX(0px);
	        transform: translateX(0px);
}

.line_messe a {
	display: block;
	background:#FFF;
	padding:8px 15px;
	border-radius: 30px;
	color:#004C83;
	text-align: center;
	font-size:18px;
	box-shadow: 0 0 12px rgba(0,0,0,0.2)
}


/* wp member 
-----------------------------------------*/
.member_login {
	text-align: center;
}
#wpmem_login {
	width:90%;
	max-width:600px;
	margin:0 auto;
}
#wpmem_login fieldset {
	text-align: left;
}
#wpmem_login fieldset, #wpmem_reg fieldset {
	margin:0 auto !important;
}
#wpmem_login .div_text,
#wpmem_login .button_div {
	width:100% !important;
	margin:0 auto 15px !important;
}
#wpmem_login .button_div {
	text-align: center !important;
}
#wpmem_login legend {
	display: none;
}
#wpmem_login input[type="text"], #wpmem_login input[type="password"] {
	display: block;
	width:100%;
	-webkit-appearance:none;
	appearance:none;
	padding:15px !important;
	font-size:1.6rem !important;
	border:1px solid #ccc !important;
	border-radius:4px;
	outline:none;
}
#wpmem_login input[type="text"]:focus, #wpmem_login input[type="password"]:focus {
	box-shadow:0 0 4px rgba(0,0,0,0.2);
}
#wpmem_login input[type="submit"] {
	display: block;
	font-size:1.6rem;
	font-weight:400;
	text-align: center;
	padding:15px 20px;
	width:300px;
	color:#FFF;
	border:none;
	border-radius:6px;
	background:#004C83;
	-webkit-appearance:none;
	appearance:none;
	margin:10px auto !important;
	cursor:pointer;
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
}
#wpmem_login input[type="submit"]:hover {
	outline: none;
	color:#004C83;
	background:#E8E8E8;
}
#wpmem_login input[type="submit"]:active {
	outline: none;
	box-shadow:-3px -3px 2px rgba(255,255,255,0.8) inset, 3px 3px 2px rgba(199,206,221,0.8) inset;
}

#wpmem_msg {
	padding:20px 0;
}
#wpmem_msg h2 {
	color:#9E0000;
	font-size:2rem;
	font-weight: :bold;
	padding:0 0 20px 0;
}
#wpmem_msg p {
	font-size:1.4rem;
	line-height: 1.5em
}

/* =ECCUBE トップ&一覧
-------------------------------------------------------------- */
.itemlist {
	display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap:10px;
    padding:0 0 40px 0;
}
.itemlist li {
	width:100%;
}
.itemlist li img {
	display: block;
	width:100%;
	height:auto;
}
.itemlist p {
	color:#5f6a75;
}
.itemlist li p.p_title {
	font-size:1rem;
	text-align: center;
	line-height:1.5em;
	padding:25px 0 10px;
}
.itemlist li p.p_title_sub {
	font-size:0.9rem;
	text-align: center;
	line-height:1.5em;
	padding:0 0 10px 0;
}
.itemlist li p.p_volume {
	font-size:1rem;
	text-align: center;
	line-height:1.5em;
	padding:0 0 10px 0;
}
.itemlist li p.p_price {
	font-size:1.2rem;
	text-align: center;
	line-height:1.5em;
	padding:15px 0 0 0;
}

/* mod_message
-----------------------------------------*/
.mod_message {
	display: none;
	position: fixed;
	bottom:20px;
	left:20px;
	z-index:50;
}
.mod_message .mod_message_in {
	width:180px;
	background:#FFF;
	border-radius:8px;
	overflow:hidden;
	box-shadow:0 0 20px rgba(0,0,0,0.3);
}
.mod_message .mod_message_in img {
	display: block;
	width:100%;
}
.mod_message button {
	display: block;
	width:30px;
	height:30px;
	position: absolute;
	top: -15px;
	right: -15px;
	border-radius:15px;
	line-height:30px;
	font-size:18px;
	color:#FFF;
	background:#000;
	border:none;
	cursor: pointer;
}

#pagetop {
	position: fixed;
	z-index:1000;
	bottom:2em;
	right:2em;
	width:30px;
	height:100px;
}
#pagetop span::before {
	content:'';
	bottom:0;
	left:50%;
	display: block;
	position: absolute;
	z-index:1001;
	width:1px;
	height:100px;
	background:#3F4551;
}
#pagetop span::after {
	content:'';
	top:0;
	left:50%;
	display: block;
	position: absolute;
	z-index:1001;
	width:32px;
	height:1px;
	margin:0 0 0 1px;
	background:#3F4551;
	-webkit-transform-origin: left top;
	-moz-transform-origin: left top;
	-ms-transform-origin: left top;
	-o-transform-origin: left top;
	transform-origin: left top;
	-webkit-transform: rotate(60deg);
	   -moz-transform: rotate(60deg);
	    -ms-transform: rotate(60deg);
	     -o-transform: rotate(60deg);
	        transform: rotate(60deg);
}
.grecaptcha-badge { visibility: hidden; }