@keyframes typingAnime{0%{opacity:0;text-shadow:0 0 0 #fff,0 0 0 #fff;}50%{opacity:1;text-shadow:0 0 10px #fff,0 0 15px #fff; }100%{opacity:1;text-shadow:0 0 0 #fff,0 0 0 #fff;}}
@keyframes lineAnime{0%{opacity:0;transform:scaleX(0);}100%{opacity:1;transform:scaleX(1);}}
*,*:before,*:after{box-sizing:border-box;}
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}

html,body{width:100%;}
html{font-size:62.5%;}
body{
	background-color:#f2eae6;
  font-family:'Kiwi Maru',serif;
	font-weight:normal;
  letter-spacing:0;
  line-height:1.5;
  color:#302c2b;
}
::-webkit-scrollbar{width:3px;}
::-webkit-scrollbar-track{
	background:#fff;
	border-left:solid 1px #fff;
}
::-webkit-scrollbar-thumb{
	background:#ccc;
	border-radius:4px;
	box-shadow:inset 0 0 0 2px #f2eae6;
}
*[hidden]{display:none!important;}
.swiper{position:relative;}
.swiper-scrollbar{background-color:#fff;}
.swiper-scrollbar .swiper-scrollbar-drag{background-color:#d29576;}
.swiper-container-horizontal>.swiper-scrollbar{
	height:4px;
	bottom:0;
}
.sliderSwiper li.swiper-button-prev:after,
.sliderSwiper li.swiper-button-next:after{content:none;}
*[data-typing] span{opacity:0;}
*[data-typing].glow span{animation:typingAnime 1s ease-out forwards;}
*[data-lineanime] > span{
	position:relative;
	display:inline-block;
	text-decoration:none;
}
*[data-lineanime] > span i{
	position:relative;
	display:inline-block;
	text-decoration:none;
	z-index:1;
}
*[data-lineanime] > span:after{
	content:'';
	position:absolute;
	left:0;
	width:100%;
	height:14px;/*2px*/
	transform:scaleX(0);
	transform-origin:left top;
	z-index:0;
}

*[data-lineanime][data-linecolor="pink"] > span{color:#d29576;}
*[data-lineanime][data-linecolor="blue"] > span{color:#6888b8;}
*[data-lineanime][data-linecolor="pink"] > span:after{background-color:#edd3c4;}
*[data-lineanime][data-linecolor="blue"] > span:after{background-color:#d3ece8;}
*[data-lineanime][data-linecolor="white"] > span:after{background-color:#fff;}
*[data-lineanime].set > span:after{animation:lineAnime 1s ease-out forwards;}
*[data-lineanime].set > span:nth-of-type(2):after{animation-delay:0.1s;}
*[data-lineanime].set > span:nth-of-type(3):after{animation-delay:0.2s;}
*[data-lineanime].set > span:nth-of-type(4):after{animation-delay:0.3s;}
*[data-lineanime].set > span:nth-of-type(5):after{animation-delay:0.4s;}
*[data-lineanime].set > span:nth-of-type(6):after{animation-delay:0.5s;}
*[data-lineanime].set > span:nth-of-type(7):after{animation-delay:0.6s;}
*[data-lineanime].set > span:nth-of-type(8):after{animation-delay:0.7s;}
*[data-lineanime].set > span:nth-of-type(9):after{animation-delay:0.8s;}
*[data-lineanime].set > span:nth-of-type(10):after{animation-delay:0.9s;}
*[data-lineanime].set > span:nth-of-type(11):after{animation-delay:1.0s;}
*[data-lineanime].set > span:nth-of-type(12):after{animation-delay:1.1s;}
*[data-lineanime].set > span:nth-of-type(13):after{animation-delay:1.2s;}
*[data-lineanime].set > span:nth-of-type(14):after{animation-delay:1.3s;}
*[data-lineanime].set > span:nth-of-type(15):after{animation-delay:1.4s;}
*[data-lineanime].set > span:nth-of-type(16):after{animation-delay:1.5s;}
*[data-lineanime].set > span:nth-of-type(17):after{animation-delay:1.6s;}
img{
	width:100%;
	height:auto;
  max-width:100%;
  vertical-align:top;
}
ul,ol,dl{
  list-style:none;
  margin:0;
  padding:0;
}
a,label{
  color:#302c2b;
  transition:all 0.1s ease;
}
a:hover,
label:hover{color:#d29576;}
button{
	border:none;
	outline:none;
	background-color:transparent;
}
button,input,select,textarea{font-family:'Kiwi Maru', serif;}
a svg > *,
button svg > *{
	fill:#302c2b;
	transition:fill 0.4s;
}
a:hover svg > *,
button:hover svg > *{fill:#d29576;}
*[hidden]{display:none!important;}
.swiper{position:relative;}
header{
	width:100%;
	display:grid;
	align-items:center;
	position:fixed;
	top:0;
	left:0;
	background-color:#fff;
	transition:background-color 0.4s;
	z-index:100;
}
.menuTopSet header{background-color:transparent;}
header,
header *{line-height:1.0;}
header a{text-decoration:none;}
header .htLogo{grid-column:1 / 2;}
header .htLogo svg > *{fill:#1a1311;}
#globalNavi .mainNavi li > a,
#globalNavi .mainNavi li > label{cursor:pointer;}
#globalNavi .popBox{
	width:100%;
	max-height:0px;
	transform-origin:center top;
	transition:all 0.4s;
	transform:scaleY(0);
	overflow:hidden;
}
#globalNavi .mainNavi li:hover .popBox{
	max-height:9999px;
	transform:scaleY(1);
}
#globalNavi #buyBnr picture,
#globalNavi #buyBnr img{
	display:block;
	width:100%;
}
#globalNavi .mainNavi li label{position:relative;}
#globalNavi .menuTtl > *{display:block;}
footer{
	position:relative;
	width:100%;
	background-color:#302c2b;
	color:#fff;
}
footer:before{
	content:"";
	position:absolute;
	left:0;
	display:block;
	width:100%;
	background:url("../img/common/ft-bg.svg") no-repeat center bottom;
}
footer a,
footer ul[class^="ftNavi"] li > span{
	color:#fff;
	text-decoration:none;
}
footer svg > *{fill:#fff;}
footer ul[class^="ftNavi"] li > span{display:block;}
footer .snsLink li{display:inline-block;}
footer #copyrights{
	border-top:1px solid #4f4b4b;
	line-height:1.0;
}
#pageReturn{
	position:fixed;
	bottom:80px;
	right:50px;
	z-index:10;
}
#pageReturn button{
	padding:0;
	margin:0;
	background-color:#fff;
	border-radius:50%;
	border:1px solid #d29576;
	outline:0;
	cursor:pointer;
}
#pageReturn button svg > *{fill:#d29576;}

a[data-grad]{
	display:table;
	font-weight:bold;
	color:#fff;
	cursor:pointer;
	text-align:center;
	line-height:1.0;
	border:none;
	background-size:300% 100%;
	transition:all .4s ease-in-out;
	text-decoration:none;
}
a[data-grad]:hover{
	background-position:100% 0;
	transition:all .4s ease-in-out;
}
a[data-grad]:focus{outline:none;}
a[data-grad="pink"]{background-image:linear-gradient(to right,#e89267,#f286a5, #e8b967,#f23d71);}
a[data-grad="blue"]{background-image:linear-gradient(to right,#6cb8b9,#6888b8,#6cd1d3,#3d7cda);}
main > *:not(#pgHead) > *{
	opacity:0;
	transition:opacity 0.8s ease-in-out;
}
main > *:not(#pgHead).show > *{opacity:1;}
.secTtl,
#mainFV h2{
	position:relative;
	opacity:0;
	transition:all 0.8s ease-in-out 0.6s;
}
.show .secTtl,
.show#mainFV h2{opacity:1;}
.secTtl+*,
#mainFV h2+*{
	opacity:0;
	transition:all 0.8s ease-in-out 1.2s;
}
.show .secTtl+*,
.show#mainFV h2+*{opacity:1;}
.secTtl+*+*,
#mainFV h2+*+*{
	opacity:0;
	transition:all 0.8s ease-in-out 1.8s;
}
.show .secTtl+*+*,
.show#mainFV h2+*+*{opacity:1;}
.secTtl img{
	width:auto;
	filter:drop-shadow(6px 6px 8px rgba(0,0,0,0.05));
}
#product .secTtl,
#contact .secTtl{position:relative;}
#product .secTtl img,
#contact .secTtl img{
	width:auto;
	filter:drop-shadow(6px 6px 8px rgba(0,0,0,0.05));
}
#productSlider{
	width:100%;
	overflow:hidden;
}
#product .productBnr a{
	position:relative;
	background-color:#bfd0ea;
	text-decoration:none;
}
#product .productBnr a > *{display:block;}
#product .productBnr a .ttl{color:#35638f;}
#product .productBnr a .txt{
	line-height:1.69;
	color:#fff;
	font-size:1.3rem;
}
#product #productSlider .swiper-slide *{
	display:block;
	line-height:1.0;
}
#product #productSlider .swiper-slide figure a{
	display:block;
	position:relative;
	border-radius:10px;
	overflow:hidden;
}
#product #productSlider .swiper-slide figure a:before{
	content:"";
	display:block;
	width:100%;
	height:0;
	padding-top:116.666%;
}
#product #productSlider .swiper-slide figure a img{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center center;
	transition:opacity 0.4s;
}
#product #productSlider .swiper-slide figure a img:not([class]),
#product #productSlider .swiper-slide figure a:hover img.hover{opacity:1;}
#product #productSlider .swiper-slide figure a:hover img:not([class]),
#product #productSlider .swiper-slide figure a img.hover{opacity:0;}
#product #productSlider .swiper-slide .itemTxt{line-height:2.0;}
#product #productSlider .swiper-slide .itemLink a{
	display:block;
	border:1px solid #d29576;
	background-color:#fff;
	color:#d29576;
	text-align:center;
	text-decoration:none;
	transition:all 0.4s;
}
#product #productSlider .swiper-slide .itemLink a:hover{
	background-color:#d29576;
	color:#fff;
}
#product #productSlider .sliderSwiper{
	display:block;
	position:absolute;
}
#product #productSlider .sliderSwiper li{
	display:inline-block;
	position:static;
	margin:0;
}
#product #productSlider .sliderSwiper li.swiper-button-prev{background:url("../img/common/slider-prev.svg") no-repeat center center / contain;}
#product #productSlider .sliderSwiper li.swiper-button-next{background:url("../img/common/slider-next.svg") no-repeat center center / contain;}
#contact{
	background-image:url("../img/common/contact-bg02.svg"),url("../img/common/contact-bg01.png");
	background-repeat:no-repeat,repeat;
	background-position:center top,left top;
}
#contact .contactLead{
	text-align:center;
	color:#d4997c;
	line-height:1.88;
}
#contact .contactSetList{color:#d4997c;}
#contact .contactSetList li img{
	position:relative;
	z-index:1;
}
#contact .contactSetList li p{
	position:relative;
	z-index:0;
}
#contact .contactSetList li p a{
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
#contact .contactSetList a{
	display:table;
	color:#fff;
}
#contact .contactSetList a > *{
	display:table-cell;
	vertical-align:middle;
}
*[id^="contact"] .contactSetList .telNumBox .telNum strong,
*[id^="contact"] .contactSetList .telNumBox .telNum small{display:block;}
*[id^="contact"] .contactSetList .telNumBox .telNum strong,
*[id^="contact"] .contactSetList .telNumBox .telNum small,
*[id^="contact"] .contactSetList .mailTxtBox .mailTxt{line-height:1.0;}
*[id^="contact"] .contactFormList a{display:table;}
*[id^="contact"] .contactFormList a > *{
	display:table-cell;
	vertical-align:middle;
}
*[id^="contact"] .contactFormList a .formTtl{border-right:1px solid #fff;}
*[id^="contact"] .contactFormList a .formName{position:relative;}
*[id^="contact"] .contactFormList a .formName svg{position:absolute;}
#contact .contactSetList .telNumBox .telNum > *{
	display:block;
	line-height:1.0;
}
*[id^="contact"] .contactFormList svg > *{fill:#fff;}
#contact .buyHere{position:relative;}
#contact .buyTtl{
	display:table;
	background-color:#d4997c;
	line-height:1.0;
	color:#fff;
}
#contact .buyList{
	border:1px solid #edd3c5;
	background-color:#fff;
}
#contact .buyList li a{
	display:block;
	transition:opacity 0.4s;
}
#contact .buyList li a:hover{opacity:0.7;}
#contactCorp{background:url("../img/common/corp-bg.jpg") no-repeat center top / cover;}
#contactCorp .inner{
	margin:0 auto;
	background:rgba(255,255,255,0.8);
}
#contactCorp .pgTtl > *{margin-left:0;}
#contactCorp .pgTtl small{
	margin-top:0;
	color:#bfd0ea;
}
#contactCorp .pgTtl strong{color:#6888b8;}
#contactCorp .pgTtl img{
	position:absolute;
	width:132px;
}
#contactCorp .contactLead{line-height:1.88;}
#contactCorp .detailLink a{
	display:table;
	background-color:#fff;
	line-height:1.0;
	text-decoration:none;
	transition:all 0.4s;
	border:2px solid #6888b8;
	color:#6888b8;
	text-align:center;
}
#contactCorp .detailLink a:hover{
	background-color:#6888b8;
	color:#fff;
}
#contactCorp .contactSetList{color:#6888b8;}
#faq:not(.faqArchivesList){
	background-image:url("../img/faq/faq-bg02.svg"),url("../img/faq/faq-bg03.svg"),url("../img/faq/faq-bg01.png");
	background-repeat:no-repeat,no-repeat,repeat;
	background-position:center bottom,center bottom,left top;
}
#faq .faqLink{text-align:center;}
#faq .faqLink a{
	display:table;
	margin:0 auto;
	background-color:#fff;
	line-height:1.0;
	text-decoration:none;
	transition:all 0.4s;
	border:2px solid #d29576;
	color:#d29576;
}
#faq .faqLink a:hover{
	background-color:#d29576;
	color:#fff;
}
#faq .catList{display:flex;}
#faq .catList li{display:block;}
#faq .catList li label{
	display:block;
	background-color:#f2eae6;
	color:#d4997c;
	text-align:center;
	cursor:pointer;
	white-space:nowrap;
}
#faq .catList li label:hover{background-color:#edd8cd;}
#faq .catList li label.active{
	background-color:#d4997c;
	color:#f2eae6;
}
#faq.faqArchivesList.faqArchivesSingle .faqTab,
#faq:not(.faqArchivesList) .faqTab,
#faq:not(.faqArchivesList) .noFaq{display:none;}
#faq input[type="checkbox"]:checked + .faqTab,
#faq input[type="checkbox"]:checked + .noFaq{display:block;}
#faq .faqTab dt,
#faq .faqTab dd{
	display:block;
	position:relative;
}
#faq .faqTab dt{line-height:1.4;}
#faq .faqTab dt:before{
	content:"";
	display:block;
	position:absolute;
	background:url("../img/faq/faq-q.svg") no-repeat center center / contain;
}
#faq .faqTab dd{line-height:2.0;}
#faq .faqTab dd:before{
	content:"";
	display:block;
	position:absolute;
	background:url("../img/faq/faq-a.svg") no-repeat center center / contain;
}
#faq .noFaq{
	display:block;
	text-align:center;
}
#pager{
	position:relative;
	width:100%;
	text-align:center;
	line-height:1.0;
}
#pager li{display:inline-block;}
#pager li > *{
	display:table;
	text-decoration:none;
	vertical-align:middle;
	text-align:center;
}
#pager li a:hover{opacity:0.7;}
#pager li > * > span{display:table-cell;}
#pager li.pages > *{border:2px solid;}
#pager[data-color="pink"] li.pages > *{
	border-color:#d29576;
	color:#d29576;
}
#pager[data-color="blue"] li.pages > *{
	border-color:#6888b8;
	color:#6888b8;
}
#pager li.pages > strong{color:#fff!important;}
#pager[data-color="pink"] li.pages > strong{background-color:#d29576;}
#pager[data-color="blue"] li.pages > strong{background-color:#6888b8;}
#pager li:not(.pages) > *{
	border:2px solid #fff;
	background-color:#fff;
}
#pager[data-color="pink"] li:not(.pages) > *{color:#d29576;}
#pager[data-color="blue"] li:not(.pages) > *{color:#6888b8;}

@media screen and (max-width:1159.999px){
	body{font-size:1.5rem;}
	*[data-type="pc"]{display:none!important;}
	*[data-lineanime] > span:after{bottom:0;}
	header{
		grid-template-columns:1fr auto auto;
		padding-top:12px;
		padding-bottom:12px;
	}
	header > *:not(#globalNavi){
		position:relative;
		z-index:102;
	}
	header .htLogo{
		width:108px;
		margin-left:22px;
	}
	#gNavCheck:checked ~ header .htLogo svg > *{fill:#fff;}
	#buyBnrSp{
		grid-column:2 / 3;
		margin:-5px 0 0 auto;
	}
	#buyBnrSp a{
		display:block;
		width:106px;
		height:36px;
		background:url("../img/common/buy-menu-btn-sp.svg") no-repeat center top;
	}
	#gNavBtn{
		grid-column:3 / 4;
		width:36px;
		margin:3px 16px 0 16px;
		text-align:center;
	}
	#gNavBtn .mark{
		display:block;
		position:relative;
		width:26px;
		height:12px;
		margin:0 auto;
		cursor:pointer;
	}
	#gNavBtn .mark:before,
	#gNavBtn .mark:after{
		content:"";
		display:block;
		position:absolute;
		left:0;
		width:100%;
		height:2px;
		background-color:#707070;
		transition:transform 0.4s;
	}
	#gNavBtn .mark:before{top:0;}
	#gNavBtn .mark:after{bottom:0;}
	#gNavCheck:checked ~ header #gNavBtn .mark:before,
	#gNavCheck:checked ~ header #gNavBtn .mark:after{background-color:#fff;}
	#gNavCheck:checked ~ header #gNavBtn .mark:before{transform:translateY(5px) rotate(-24.775deg);}
	#gNavCheck:checked ~ header #gNavBtn .mark:after{transform:translateY(-5px) rotate(24.775deg);}	
	#gNavBtn .markBtnTxt{
		display:block;
		margin-top:8px;
		font-size:1.0rem;
		line-height:1.0;
	}
	#gNavBtn .markBtnTxt .open,
	#gNavCheck:checked ~ header #gNavBtn .markBtnTxt .close{display:block;}
	#gNavCheck:checked ~ header #gNavBtn .markBtnTxt .open,
	#gNavBtn .markBtnTxt .close{display:none;}
	#gNavCheck:checked ~ header #gNavBtn .markBtnTxt{color:#fff;}
	#globalNavi{
		position:absolute;
		top:0;
		left:0;
		width:100%;
		max-height:0px;
		background-color:#302c2b;
		color:#fff;
		overflow-x:hidden;
		overflow-y:auto;
		transform:scaleY(0);
		transform-origin:center top;
		transition:all 0.4s;
		z-index:101;
	}
	#globalNavi a,
	#globalNavi label{color:#fff;}
	#gNavCheck:checked ~ header #globalNavi{
		max-height:100vh;
		padding-top:62px;
		transform:scaleY(1);
	}
	#globalNavi .menuTtl{display:none!important;}
	#globalNavi .mainNavi{
		width:100%;
		padding:0 6.4vw;
		border-top:1px solid #4f4b4b;
	}
	#globalNavi .mainNavi,
	#globalNavi .mainNavi *{line-height:1.0;}
	#globalNavi .mainNavi > li:last-child{border-bottom:1px solid #605752;}
	#globalNavi .mainNavi > li+li{border-top:1px solid #605752;}
	#globalNavi .mainNavi > li > *{display:block;}
	#globalNavi .mainNavi > li > a,
	#globalNavi .mainNavi > li > label{
		padding:24px 10px;
		font-size:1.8rem;
	}
	#globalNavi .mainNavi > li > label{position:relative;}
	#globalNavi .mainNavi > li > label:before,
	#globalNavi .mainNavi > li > label:after{
		content:"";
		width:16px;
		height:1px;
		position:absolute;
		top:50%;
		right:10px;
		background-color:#fff;
		transform-origin:center center;
		transition:all 0.4s;
	}
	#globalNavi .mainNavi > li > label:before{transform:rotate(90deg);}
	#globalNavi .mainNavi > li:hover > label:before{transform:rotate(0deg);}
	#globalNavi .mainNavi .popMenuList{padding:0px 36px;}
	#globalNavi .mainNavi > li:hover .popMenuList{padding:3px 36px 24px;}
	#globalNavi .mainNavi .popMenuList li{line-height:1.625;}
	#globalNavi .mainNavi .popMenuList li+li{margin-top:14px;}
	#globalNavi #contactFormLink li span > *{
		display:block;
		line-height:1.625;
		text-align:left;
	}
	#globalNavi .mainNavi a[data-grad]{
		background-image:none;
		font-weight:normal;
	}
	#globalNavi #socialLink{padding-bottom:40px;}
	#globalNavi #socialLink .snsTtl{
		margin:28px auto 12px;
		text-align:center;
	}
	#globalNavi #socialLink .snsTtl img,
	#globalNavi #socialLink .snsLink li svg{
		width:auto;
		height:30px;
	}
	#globalNavi #socialLink .snsLink{
		text-align:center;
		line-height:1.0;
	}
	#globalNavi #socialLink .snsLink li,
	#globalNavi #socialLink .snsLink li a{
		display:inline-block;
		line-height:1.0;
	}
	#globalNavi #socialLink .snsLink li{margin:0 12px;}
	#globalNavi #socialLink .snsLink li svg > *{fill:#fff;}
	footer{
		padding-right:calc(50vw - 117px);
		padding-left:calc(50vw - 117px);
		padding-bottom:24px;
	}
	footer:before{
		height:75px;
		top:-75px;
		background-size:cover;
	}
	footer .ftLogo{
		width:200px;
		margin:0 auto 32px;
	}
	footer .ftBnrList li+li{margin-top:15px;}
	footer #socialFtLink{margin-top:48px;}
	footer #socialFtLink .snsTtl{
		display:block;
		margin:0 auto 10px;
		text-align:center;
	}
	footer #socialFtLink .snsLink{text-align:center;}
	footer .snsLink li+li{margin-left:18px;}
	footer #socialFtLink .snsTtl img,
	footer .snsLink svg{
		width:auto;
		height:28px;
	}
	footer #copyrights{
		padding-top:24px;
		margin-top:24px;
		font-size:1.0rem;
		text-align:center;
	}
	#pageReturn button{
		width:30px;
		height:30px;
	}
	#product{padding:104px 0 106px;}
	#product .secTtl{
		padding-bottom:44px;
		text-align:center;
	}
	#product .secTtl img{
		height:81px;
		margin:0 auto;
	}
	#product .productBnr{
		width:100%;
		max-width:326px;
		margin:0 auto;
	}
	#product .productBnr a{
		position:relative;
		display:block;
		width:326px;
		padding:16px 16px 10px;
		vertical-align:top;
		border-radius:10px;
	}
	#product .productBnr a .ttl{
		position:relative;
		display:table;
		padding:0 0 15px 4px;
		font-size:1.6rem;
		line-height:1.0;
	}
	#product .productBnr a .ttl:after{
		content:"";
		width:19px;
		height:19px;
		display:block;
		position:absolute;
		top:-1px;
		right:-31px;
		background:url("../img/common/blue-arrow.svg") no-repeat center center;
		transform-origin:center center;
	}
	#product .productBnr a .txt{
		display:block;
		padding:11px 0 0 4px;
		border-top:1px dotted #fff;
	}
	#product .productBnr a img{
		width:128px;
		position:absolute;
		right:12px;
		top:-13px;
	}
	#product #productSlider{
		width:calc(100% + 12.8vw);
		padding:40px 0 44px;
		margin:0 -6.4vw;
	}
	#product #productSlider .swiper-slide{
		width:260px!important;
		margin:0 10px;
	}
	#product #productSlider .swiper-slide .itemName{
		margin-top:24px;
		font-size:1.6rem;
	}
	#product #productSlider .swiper-slide .itemTxt{
		margin-top:16px;
		font-size:1.3rem;
	}
	#product #productSlider .swiper-slide .itemLink{
		width:100%;
		max-width:326px;
		margin:50px auto 0;
		font-size:1.6rem;
	}
	#product #productSlider .swiper-slide .itemLink a{
		padding:8px;
		border-radius:17px;
		background-color:#fff;
	}
	#product #productSlider .sliderSwiper{display:none;}
	#product #productSlider .sliderSwiper li{
		width:40px;
		height:40px;
	}
	#product #productSlider .sliderSwiper li.swiper-button-next{margin-left:20px;}
	#contact{padding:80px 6.4vw 80px;}
	#contact .secTtl{
		margin-bottom:36px;
		text-align:center;
	}
	#contact .secTtl img{
		height:82px;
		margin:0 auto;
	}
	#contact .contactLead{
		width:100%;
		margin:32px auto 40px;
		font-size:1.3rem;
	}
	*[id^="contact"] .contactSetList li{text-align:center;}
	*[id^="contact"] .contactSetList li+li{margin-top:12px;}
	*[id^="contact"] .contactSetList li img{
		width:40px;
		margin:0 auto -20px;
	}
	*[id^="contact"] .contactSetList li p{
		padding:28px 10px 15px;
		background-color:#fff;
		border-radius:8px;
	}
	#contact .contactSetList li p{border:2px solid #d29576;}
	#contact .contactFormList li+li{margin-top:20px;}
	*[id^="contact"] .contactFormList a{
		padding:20px;
		border-radius:8px;
	}
	*[id^="contact"] .contactFormList a .formTtl{
		width:88px;
		font-size:2.0rem;
		line-height:1.333;
	}
	*[id^="contact"] .contactFormList a .formName{
		padding-left:34px;
		padding-right:56px;
		font-size:2.0rem;
	}
	*[id^="contact"] .contactFormList a .formName svg{
		width:28px;
		right:18px;
		top:calc(50% - 14px);
	}
	*[id^="contact"] .contactSetList .telNumBox .telNum strong{font-size:3.6rem;}
	*[id^="contact"] .contactSetList .telNumBox .telNum small{
		margin-top:18px;
		font-size:1.0rem;
	}
	*[id^="contact"] .contactSetList .mailTxtBox .mailTxt{font-size:2.4rem;}
	#contact .contactFormList{margin-top:36px;}
	#contact .contactFormList li a{margin:0 auto;}
	#contact .buyHere{
		width:100%;
		margin-top:30px;
	}
	#contact .buyTtl{
		padding:12px 10px;
		font-size:1.5rem;
		border-radius:10px 10px 0 0;
	}
	#contact .buyList{
		padding:24px;
		border-radius:0 20px 20px 20px;
	}
	#contact .buyList li{display:block;}
	#contact .buyList li+li{margin-top:20px;}
	#contactCorp{
		padding:28px 0;
		margin-top:100px;
	}
	#contactCorp .inner{
		width:88vw;
		padding:68px 5.8vw 40px;
		border-radius:16px;
	}
	#contactCorp .pgTtl img{
		right:-22px;
		top:-165px;
	}
	#contactCorp .pgTtl strong{margin-top:26px;}
	#contactCorp .rightBox{
	}
	#contactCorp .contactLead{
		margin-top:76px;
		font-size:1.3rem;
	}
	#contactCorp .detailLink{margin-top:30px;}
	#contactCorp .detailLink a{
		width:260px;
		padding:16px;
		margin:0 auto;
		font-size:1.6rem;
		border-radius:25px;
	}
	#contactCorp .contactSetList{margin-top:60px;}
	#contactCorp .contactFormList{margin-top:50px;}
	#contactCorp .contactFormList a{padding:20px 0;}
	#contactCorp .contactSetList li p{border:2px solid #6888b8;}
	#faq:not(.faqArchivesList){padding:46px 0 150px;}
	#faq .secTtl{
		margin-bottom:35px;
		text-align:center;
	}
	#faq .secTtl img{height:82px;}
	#faq .catList{
		width:100%;
		margin-bottom:40px;
		justify-content:space-between;
		flex-wrap:wrap;
		border-radius:10px;
		overflow:hidden;
	}
	#faq .catList li{width:calc(50% - 1px);}
	#faq .catList li:nth-child(n+3){margin-top:1px;}
	#faq .catList li label{
		padding:13px 5px;
		font-size:1.5rem;
	}
	#faq.faqArchivesList.faqArchivesSingle .faqTab,
	#faq:not(.faqArchivesList) .faqTab,
	#faq .noFaq{margin-bottom:40px;}
	#faq .faqTab dt,
	#faq .faqTab dd{padding-left:50px;}
	#faq .faqTab dt{
		margin-bottom:30px;
		padding-top:10px;
		font-size:1.6rem;
	}
	#faq .faqTab dd+dt{margin-top:28px;}
	#faq .faqTab dd{
		padding-bottom:24px;
		border-bottom:1px dashed #8d8d8d;
		font-size:1.3rem;
	}
	#faq .faqTab dt:before,
	#faq .faqTab dd:before{
		width:36px;
		height:36px;
		top:0;
		left:0;
	}
	#faq .faqLink{margin-top:36px;}
	#faq .faqLink a{
		width:100%;
		max-width:326px;
		margin:0 auto;
		padding:20px 46px;
		font-size:1.6rem;
		border-radius:30px;
	}
	#pager{margin-top:80px;}
	#pager li{
		margin:0 3px;
		font-size:1.6rem;
	}
	#pager li.prev{margin-right:20px;}
	#pager li.next{margin-left:20px;}
	#pager li > *{
		width:30px;
		line-height:28px;
	}
}
@media screen and (max-width:766.999px){
}
@media screen and (min-width:767px) and (max-width:1159.999px){
}
@media screen and (min-width:1160px){
	body{font-size:1.6rem;}
	*[data-type="sp"]{display:none!important;}
	*[data-lineanime] > span:after{bottom:8px;}
	header{
		grid-template-columns:auto auto;
		padding-top:32px;
	}
	header .htLogo{width:160px;}
	#globalNavi{grid-column:2 / 3;}
	#globalNavi .mainNavi{
		display:flex;
		justify-content:flex-end;
		align-content:center;
	}
	#globalNavi .mainNavi li,
	#globalNavi .mainNavi li > *{display:block;}
	#globalNavi .mainNavi li+li{margin-left:20px;}
	#globalNavi .mainNavi li > *{font-size:1.8rem;}
	#globalNavi .mainNavi li label{padding-right:22px;}
	#globalNavi .mainNavi li label:before{
		content:"";
		display:block;
		position:absolute;
		top:calc(50% - 3px);
		right:0;
		width:12px;
		height:7px;
		background:url("../img/common/menu-arrow.png") no-repeat center center;
		background-size:12px auto;
		transform-origin:center center;
		transform:rotate(0deg);
		transition:transform 0.4s;
	}
	#globalNavi .mainNavi li:hover label:before{transform:rotate(180deg);}
	#globalNavi .popBox{
		position:absolute;
		top:56px;
		left:0;
		padding-top:38px;
		text-align:center;
	}
	#globalNavi .popBox .popInner{
		display:inline-flex;
		align-items:center;
		margin:0 auto;
		padding:35px 35px 35px 64px;
		border-radius:20px;
		background-color:#fff;
		transition:all 0.4s;
	}
	#globalNavi .menuTtl{padding-right:64px;}
	#globalNavi .menuTtl strong{
		font-size:4.2rem;
	}
	#globalNavi .menuTtl small{margin-top:20px;}
	#globalNavi .menuLink{
		margin-top:30px;
		padding:14px 36px;
		border:2px solid #D29576;
		border-radius:24px;
		color:#D29576;
		text-align:center;
	}
	#globalNavi .menuLink:hover{
		background-color:#D29576;
		color:#fff;
	}
	#globalNavi .popMenuList{
		display:flex;
		justify-content:flex-end;
		padding:12px 0 4px 50px;
		border-left:1px dashed #707070;
	}
	#globalNavi .popMenuList:not(#contactFormLink) li span{
		display:block;
		margin-top:10px;
		line-height:1.5;
		font-size:1.5rem;
	}
	#globalNavi .popMenuList:not(#contactFormLink) li a{text-align:left;}
	#globalNavi .popMenuList:not(#contactFormLink) li a:before{
		content:"";
		display:block;
		width:180px;
		height:120px;
		background-size:contain;
		background-repeat:no-repeat;
		background-position:center top;
		margin:0 auto;
		transition:opacity 0.4s;
	}
	#globalNavi .popMenuList:not(#contactFormLink) li a:hover:before{opacity:0.7;}
	#globalNavi #aboutMenu .popMenuList li:nth-child(1) a:before{background-image:url("../img/common/about-menu01.png");}
	#globalNavi #aboutMenu .popMenuList li:nth-child(2) a:before{background-image:url("../img/common/about-menu02.png");}
	#globalNavi #aboutMenu .popMenuList li:nth-child(3) a:before{background-image:url("../img/common/about-menu03.png");}
	#globalNavi #aboutMenu .popMenuList li:nth-child(4) a:before{background-image:url("../img/common/about-menu04.png");}
	#globalNavi #productMenu .popMenuList li a:before{content:none;}
	#globalNavi #productMenu .popMenuList li a figure{
		width:180px;
		height:120px;
		border:2px solid #d29576;
		overflow:hidden;
		border-radius:8px;
	}
	#globalNavi #productMenu .popMenuList li a figure img{
		display:block;
		width:100%;
		height:100%;
		object-fit:cover;
		object-position:center center;
	}
	
	/*
	#globalNavi #productMenu .popMenuList li:nth-child(1) a:before{background-image:url("../img/common/product-menu01.png");}
	#globalNavi #productMenu .popMenuList li:nth-child(2) a:before{background-image:url("../img/common/product-menu02.png");}
	#globalNavi #productMenu .popMenuList li:nth-child(3) a:before{background-image:url("../img/common/product-menu03.png");}
	#globalNavi #productMenu .popMenuList li:nth-child(4) a:before{background-image:url("../img/common/product-menu04.png");}*/
	#globalNavi #contactMenu .popMenuList li a{
		border-radius:10px;
		overflow:hidden;
	}
	#globalNavi #contactMenu .popMenuList li span{
		width:300px;
		display:flex;
		flex-direction:column;
		justify-content:center;
		align-items:center;
		padding:48px 0 40px;
	}
	#globalNavi #contactMenu .popMenuList li span > *{display:block;}
	#globalNavi #contactMenu .popMenuList li strong{font-size:2.8rem;}
	#globalNavi #contactMenu .popMenuList li small{margin-top:12px;}
	#globalNavi #buyBnr{
		position:absolute;
		top:0;
	}
	#globalNavi #buyBnr a{
		display:block;
		width:150px;
		height:175px;
		background:url("../img/common/buy-menu-btn-pc.svg") no-repeat center top;
	}
	#globalNavi #buyBnr a:before{
		content:"";
		position:absolute;
		top:113px;
		left:calc(50% - 41.5px);
		display:block;
		width:83px;
		height:57px;
		background:url("../img/common/buy-menu-btn-bag.png") no-repeat center top;
		transition:transform 0.4s;
		transform:translateY(0px);
	}
	#globalNavi #buyBnr a:hover:before{transform:translateY(-10px);}
	#globalNavi #buyBnr a i{
		display:block;
		position:absolute;
		top:92px;
		width:14px;
		height:33px;
		transition:transform 0.4s;
	}
	#globalNavi #buyBnr a .line01{
		left:12px;
		background:url("../img/common/buy-menu-btn-line01.svg") no-repeat right bottom;
		transform-origin:right bottom;
	}
	#globalNavi #buyBnr a:hover .line01{transform:rotate(-10deg);}
	#globalNavi #buyBnr a .line02{
		right:12px;
		background:url("../img/common/buy-menu-btn-line02.svg") no-repeat left bottom;
		transform-origin:left bottom;
	}
	#globalNavi #buyBnr a:hover .line02{transform:rotate(10deg);}
	footer{
		display:grid;
		grid-template-columns:250px 1fr;
		grid-template-rows:auto auto auto auto;
		padding-right:calc(50vw - 572px);
		padding-left:calc(50vw - 572px);
		padding-bottom:45px;
	}
	footer:before{
		height:150px;
		top:-150px;
		background:url("../img/common/ft-bg.svg") no-repeat center bottom;
	}
	footer .ftLogo{
		grid-column:1 / 2;
		grid-row:1 / 2;
	}
	footer .ftBnrList{
		grid-column:1 / 2;
		grid-row:2 / 3;
	}
	footer .ftBnrList li+li{margin-top:15px;}
	footer .ftMainNavi{
		display:flex;
		justify-content:flex-end;
		grid-column:2 / 3;
		grid-row:1 / 3;
		margin-bottom:64px;
	}
	footer .ftMainNavi > ul{
		display:block;
		font-size:1.8rem;
	}
	footer .ftMainNavi > ul > li+li{margin-top:40px;}
	footer .ftMainNavi ul+ul{margin-left:48px;}
	footer .ftMainNavi .ftListInner{
		margin-top:28px;
		font-size:1.5rem;
	}
	footer .ftMainNavi .ftListInner li+li{margin-top:18px;}
	footer .ftMainNavi .ftListInner li:before{content:"-";}
	footer #socialFtLink{
		display:flex;
		justify-content:flex-end;
		grid-column:1 / 3;
		grid-row:3 / 4;
		margin-bottom:20px;
	}
	footer #socialFtLink .snsTtl{padding-right:10px;}
	footer .snsLink li+li{margin-left:18px;}
	footer .snsLink svg{
		width:auto;
		height:30px;
	}
	footer #copyrights{
		padding-top:24px;
		grid-column:1 / 3;
		grid-row:4 / 5;
		font-size:1.3rem;
		text-align:right;
	}
	#pageReturn button{
		width:60px;
		height:60px;
	}
	#product{padding:144px 0 140px;}
	#product .productHd{
		display:flex;
		justify-content:space-between;
		align-items:flex-end;
		width:1040px;
		margin:0 auto;
	}
	#product .secTtl{padding-bottom:8px;}
	#product .secTtl img{height:133px;}
	#product .productBnr{width:480px;}
	#product .productBnr a{
		display:flex;
		justify-content:space-between;
		align-items:center;
		padding:16px 41px 11px 23px;
		vertical-align:top;
		border-radius:10px;
	}
	#product .productBnr a:after{
		content:"";
		width:21px;
		height:21px;
		display:block;
		position:absolute;
		top:calc(50% - 10px);
		right:15px;
		background:url("../img/common/blue-arrow.svg") no-repeat center center;
		transform-origin:center center;
		transform:translateX(0px);
		transition:transform 0.4s;
	}
	#product .productBnr a:hover:after{transform:translateX(10px);}
	#product .productBnr a .ttl{
		width:76px;
		font-size:1.8rem;
		line-height:1.555;
	}
	#product .productBnr a .txt{
		width:210px;
		padding-left:16px;
		border-left:1px dotted #fff;
	}
	#product .productBnr a img{width:132px;}
	#product #productSlider{padding:80px 0 84px;}
	#product #productSlider .swiper-slide{
		width:360px!important;
		margin:0 25px;
	}
	#product #productSlider .swiper-slide .itemName{
		margin-top:38px;
		font-size:2.0rem;
	}
	#product #productSlider .swiper-slide .itemTxt{
		margin-top:16px;
		font-size:1.6rem;
	}
	#product #productSlider .swiper-slide .itemLink{
		width:260px;
		margin:56px auto 0;
	}
	#product #productSlider .swiper-slide .itemLink a{
		padding:16px;
		border-radius:25px;
	}
	#product #productSlider .sliderSwiper{
		top:10px;
		left:2vw;
		height:40px;
	}
	#product #productSlider .sliderSwiper li{
		width:40px;
		height:40px;
	}
	#product #productSlider .sliderSwiper li.swiper-button-next{margin-left:20px;}
	#contact{
		display:flex;
		justify-content:space-between;
		flex-wrap:wrap;
		padding:175px 0 188px;
		padding-right:calc(50vw - 572px);
		padding-left:calc(50vw - 572px);
	}
	.firefox #contact{
		padding-right:calc(50vw - 580px);
		padding-left:calc(50vw - 580px);
	}
	#contact .secTtl{
		width:100%;
		text-align:center;
	}
	#contact .secTtl img{
		height:132px;
		margin:0 auto;
	}
	#contact .contactLead{
		width:100%;
		margin:32px auto 46px;
		font-size:1.8rem;
	}
	#contact .contactSetList{
		width:50%;
		padding-left:20px;
	}
	*[id^="contact"] .contactSetList li{display:table;}
	*[id^="contact"] .contactSetList li+li{margin-top:22px;}
	*[id^="contact"] .contactSetList li > *{
		display:table-cell;
		vertical-align:middle;
	}
	*[id^="contact"] .contactSetList li img{width:60px;}
	*[id^="contact"] .contactSetList li p{padding-left:12px;}
	#contact .contactFormList li+li{margin-top:20px;}
	*[id^="contact"] .contactFormList a{
		padding:20px 20px 20px 36px;
		border-radius:10px;
	}
	*[id^="contact"] .contactFormList a .formTtl{
		min-width:107px;
		padding-right:34px;
		font-size:2.4rem;
		line-height:1.333;
	}
	*[id^="contact"] .contactFormList a .formName{
		padding-left:32px;
		padding-right:56px;
		font-size:2.2rem;
	}
	*[id^="contact"] .contactFormList a .formName svg{
		width:28px;
		right:21px;
		top:calc(50% - 14px);
	}
	*[id^="contact"] .contactSetList .telNumBox .telNum strong{font-size:5.6rem;}
	*[id^="contact"] .contactSetList .telNumBox .telNum small{
		margin-top:18px;
		font-size:1.5rem;
		text-align:right;
	}
	*[id^="contact"] .contactSetList .mailTxtBox .mailTxt{font-size:3.0rem;}
	#contact .contactFormList{width:480px;}
	#contact .buyHere{
		width:100%;
		margin-top:30px;
	}
	#contact .buyTtl{
		top:-56px;
		left:0;
		padding:21px 48px 15px;
		font-size:2.1rem;
		border-radius:10px 10px 0 0;
	}
	#contact .buyList{
		display:flex;
		justify-content:space-between;
		padding:39px 34px;
		border-radius:0 20px 20px 20px;
	}
	#contact .buyList li{display:block;}
	#contactCorp{
		padding:50px 0;
		margin-top:140px;
	}
	#contactCorp .inner{
		display:flex;
		justify-content:center;
		min-width:1140px;
		width:calc(100% - 100px);
		padding:98px 20px 88px;
		border-radius:20px;
	}
	#contactCorp .leftBox{width:550px;}
	#contactCorp .pgTtl img{
		right:39px;
		top:-42px;
	}
	#contactCorp .pgTtl strong{margin-top:26px;}
	#contactCorp .rightBox{
		width:480px;
		padding-top:12px;
		margin-left:70px;
	}
	#contactCorp .contactLead{font-size:1.8rem;}
	#contactCorp .detailLink{margin-top:36px;}
	#contactCorp .detailLink a{
		width:100%;
		max-width:326px;
		padding:20px 46px;
		font-size:1.6rem;
		border-radius:30px;
	}
	#contactCorp .contactFormList{margin-top:36px;}
	#faq:not(.faqArchivesList){
		padding:150px 0 236px;
		padding-right:calc(50vw - 522px);
		padding-left:calc(50vw - 522px);
	}
	#faq .secTtl{
		margin-bottom:65px;
		text-align:center;
	}
	#faq .secTtl img{height:147px;}
	#faq .catList{
		width:100%;
		margin-bottom:80px;
		justify-content:space-between;
		border-radius:10px;
		overflow:hidden;
	}
	#faq .catList li{
		width:25%;
		flex-grow:1;
	}
	#faq .catList li+li{margin-left:1px;}
	#faq .catList li label{
		padding:27px 10px;
		font-size:1.8rem;
	}
	#faq.faqArchivesList.faqArchivesSingle .faqTab,
	#faq:not(.faqArchivesList) .faqTab,
	#faq .noFaq{
		padding:0 60px;
		margin-bottom:68px;
	}
	#faq .faqTab dt,
	#faq .faqTab dd{padding-left:80px;}
	#faq .faqTab dt{
		margin-bottom:40px;
		padding-top:17px;
		padding-bottom:17px;
		font-size:2.0rem;
	}
	#faq .faqTab dd+dt{margin-top:48px;}
	#faq .faqTab dd{
		padding-bottom:48px;
		border-bottom:1px dashed #8d8d8d;
	}
	#faq .faqTab dt:before,
	#faq .faqTab dd:before{
		width:54px;
		height:54px;
		top:0;
		left:0;
	}
	#faq .faqLink a{
		padding:18px 126px;
		font-size:2.0rem;
		border-radius:30px;
	}
	#pager{margin-top:98px;}
	#pager li{
		margin:0 6px;
		font-size:2.4rem;
	}
	#pager li.prev{margin-right:36px;}
	#pager li.next{margin-left:36px;}
	#pager li > *{
		width:60px;
		line-height:58px;
	}
}
@media screen and (min-width:1160px) and (max-width:1359.999px){
	header .htLogo{margin-left:2vw;}
	#globalNavi .mainNavi{padding-right:calc(170px + 2vw);}
	#globalNavi #buyBnr{right:2vw;}
}
@media screen and (min-width:1360px){
	header .htLogo{margin-left:80px;}
	#globalNavi .mainNavi{padding-right:254px;}
	#globalNavi #buyBnr{right:80px;}
}
