@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300&display=swap');
* { min-height:0; min-width:0; box-sizing: border-box; }
*:focus	{ outline: none; }
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure, footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video {
  font-size: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
}
body	{ color: #2C2C2C; background-color: #ffffff; font-family: "Helvetica Neue", Helvetica, Arial,"Hiragino Sans","Hiragino Kaku Gothic ProN","游ゴシック",YuGothic,"メイリオ",Meiryo, sans-serif; font-weight: 400; font-feature-settings: "palt"; height:100%; overflow-x: hidden;}
.spConInner	{ margin: 0 auto; box-sizing: border-box; }
@media (max-width: 979px)	{ .spConcontainer { width: 100%; margin: 0; padding:0; } }
@media (min-width: 980px)	{ .spConInner { max-width: 1480px; } }
img	{ display: block; height: auto; width: 100%; max-width: 100%; }
a:hover img.hov	{ opacity: .6; -webkit-opacity: .6; -moz-opacity: .6; filter: alpha(opacity=60); -ms-filter: "alpha(opacity=60)"; transition: all .5s; }
a, a:link, a:visited, a:active	{ color: #2C2C2C; text-decoration: none; }
a:hover	{ color: #000; font-style: normal; text-decoration: none; }

/* ------------ LOADING ------------- */
.loading	{ position: fixed; display: -webkit-flex; display: flex; justify-content: center;  align-items: center; z-index: 99999; background-color: #ffffff; top: 0; left: 0; right: 0; bottom: 0; }
.loading-block	{ width: 60px; display: flex; justify-content: space-between; }
.circle	{ width: 10px; height: 10px; background-color: #dfdfdf; border-radius: 50%; animation: loading 1s infinite; }
.circle:nth-child(2)	{ animation-delay: 0.1s; }
.circle:nth-child(3)	{ animation-delay: 0.2s; }
.circle:nth-child(4)	{ animation-delay: 0.3s; }
@keyframes loading {
	0%	{ transform: scale(0.1); }
	100%	{ transform: scale(1); }
}
.fadein	{ opacity: 0; transition-duration: 1.5s; transform: translate(0, 30px); }
.fadein.inview	{ opacity: 1; transform: translate(0, 0); }

/* ------------ MAIN ------------- */
.mainVisual	{ position: fixed; top: 0px; left: 0px; right: 0; bottom: 0; width: 100%; height:100vh; padding: 0; z-index:-1; }
.mainVisual-inner	{ width: 100%; height: calc(100% - 100px); position: relative; background-color: #fff; overflow: hidden; min-height: 600px; }
@media (orientation : portrait)	{ 
	.mainVisual-inner	{ height: calc(100% - 70px); }
}
@keyframes loopLeft	{
  0%	{ transform: translateX(100%); }
  to	{ transform: translateX(-100%); }
}
@keyframes loopLeft2	{
  0%	{ transform: translateX(0); }
  to	{ transform: translateX(-200%); }
}
@keyframes loopRight	{
  0%	{ transform: translateX(-100%); }
  to	{ transform: translateX(100%); }
}
@keyframes loopRight2	{
  0%	{ transform: translateX(-200%); }
  to	{ transform: translateX(0); }
}
.loop_wrap	{ display: -webkit-flex; display: flex; min-width: 220%; width: 220vw; height: 50%; overflow: hidden; padding: 0; margin: 0; }
.loop_wrap > ul	{ display: -webkit-flex; display: flex; justify-content: space-around; min-height: 100%; width: 110%; }
.loop_wrap > ul > li	{ list-style: none; width: calc(100% / 5 - 20px); height: 100%; margin: 0; }
.loop_wrap.toploop > ul:first-child	{ animation: loopLeft 140s -70s linear infinite; }
.loop_wrap.toploop > ul:last-child	{ animation: loopLeft2 140s linear infinite; }
.loop_wrap.btmloop	{ padding: 0; margin: 20px 0 0; }
.loop_wrap.btmloop > ul:first-child	{ animation: loopRight 140s -70s linear infinite; }
.loop_wrap.btmloop > ul:last-child	{ animation: loopRight2 140s linear infinite; }
.pconly-slider { display: -webkit-flex; display: flex; } 
.sponly-slider { display: none; }
@media (orientation : portrait)	{ 
	.loop_wrap > ul > li	{ width: calc(100% / 4 - 20px); }
	.loop_wrap > ul > li:last-child	{ display: none; }
}
@media (orientation : portrait) and (max-width: 1024px)	{ 
	.loop_wrap	{ min-width: 260%; }
	.loop_wrap	{ height: 32%; }
	.loop_wrap > ul	{ width: 130%; }
	.loop_wrap > ul > li	{ width: auto; min-width: 31.5%; height: 100%; margin: 0 10px; }
	.loop_wrap > ul > li:last-child	{ display: inline-block; }
	.loop_wrap.btmloop	{ margin: 20px 0; }
	.pconly-slider { display: none!important; }
	.sponly-slider { display: -webkit-flex; display: flex; } 
}
@media (orientation : portrait) and (max-width: 767px)	{ 
	.loop_wrap	{ min-width: 240%; }
	.loop_wrap > ul	{ min-width: 60%; }
	.loop_wrap > ul > li	{ min-width: 29%; }
}
.topimg01	{ background: url(../images/topimg01.jpg) center center no-repeat; background-size: cover; }
.topimg02	{ background: url(../images/topimg02.jpg) center center no-repeat; background-size: cover; }
.topimg03	{ background: url(../images/topimg03.jpg) center center no-repeat; background-size: cover; }
.topimg04	{ background: url(../images/topimg04.jpg) center center no-repeat; background-size: cover; }
.topimg05	{ background: url(../images/topimg05.jpg) center center no-repeat; background-size: cover; }
.topimg06	{ background: url(../images/topimg06.jpg) center center no-repeat; background-size: cover; }
.topimg07	{ background: url(../images/topimg07.jpg) center center no-repeat; background-size: cover; }
.topimg08	{ background: url(../images/topimg08.jpg) center center no-repeat; background-size: cover; }
.topimg09	{ background: url(../images/topimg09.jpg) center center no-repeat; background-size: cover; }
.topimg10	{ background: url(../images/topimg10.jpg) center center no-repeat; background-size: cover; }
@media (max-width: 767px)	{ 
	.topimg03	{ background: url(../images/img02-01sp.jpg) center center no-repeat; background-size: cover; }
	.topimg05	{ background: url(../images/img05-01sp.jpg) center center no-repeat; background-size: cover; }
	.topimg08	{ background: url(../images/img09-01pc.jpg) center center no-repeat; background-size: cover; }
	.topimg07	{ background: url(../images/img08-01pc.jpg) center center no-repeat; background-size: cover; }
}
.mainTitle	{ width: 100%; height:100vh; margin: 0; }
.mainTitle > strong, 
.mainTitle > a	{ display: block; width: 100%; height: 100px; text-align: center; line-height: 0; display: -webkit-flex; display: flex; align-items: center; justify-content: center; background-color: #fff; }
.mainTitle > strong > img, 
.mainTitle > a > img	{ width: 40px; opacity: .3; transition: all .5s; }
@media (min-width: 768px) { 
	.mainTitle > a:hover > img	{ width: 40px; opacity: 1; }
	#topleed	{ transform: translateY(-100px); }
}
.mainTitle .wrapper	{ padding: 0; margin: 0 auto; max-width: 940px; height: calc(100% - 100px); }
.mainTitle .wrapper > h1	{ padding: 10% 0 0; margin: 0; }
.mainTitle .wrapper > h1 > img	{ width: auto; height: 45vh; }
@media (max-width: 767px)	{ 
	.mainTitle > strong	{ height: 70px; }
	.mainTitle .wrapper	{ padding: 0; height: calc(100% - 70px); }
	.mainTitle .wrapper > h1	{ padding: 30% 0 0; margin: 0; }
	.mainTitle .wrapper > h1 > img	{ width: 55%; height: auto; }
}
@media (min-width: 768px)	{ 
	.mainTitle .wrapper2	{ padding: 0; margin: 0 auto; position: relative; height: calc(100% - 100px); }
	.mainTitle .wrapper2 > h1	{ position: absolute; top: 9.5%; left: 14.28%; }
	.mainTitle .wrapper2 > h1 > img	{ width: auto; height: 45vh; }
}
@media (max-width: 767px)	{ 
	.mainTitle > strong	{ height: 70px; }
	.mainTitle .wrapper2	{ padding: 0; height: calc(100% - 70px); width: 100%; }
	.mainTitle .wrapper2 > h1	{ position: static; padding: 30% 0 0; margin: 0; }
	.mainTitle .wrapper2 > h1 > img	{ width: 55%; height: auto; }
}
/* ------------ CONTENT ------------- */
#wwrapper	{ background-color: #fff; }
.topleed	{ width: 100%; padding: 0; margin: 0; text-align: center; background-color: #fff; }
.topleed .wrapper	{ padding: 0 20px; margin: 0 auto; max-width: 980px; text-align: left; }
.topleed .wrapper h2	{ font-size: 25px; line-height: 30px; font-weight: 700; padding: 0; margin: 0; letter-spacing:.04rem; }
.topleed .wrapper p	{ font-size: 20px; line-height: 36px; font-weight: 700; padding: 16px 0 0; margin: 0; letter-spacing:.1rem; }
.section	{ width: 100%; padding: 0; margin: 0; text-align: center; border-bottom: 1px solid #EBE8E8; background-color: #fff; }
.section .wrapper	{ padding: 100px 20px 25px; margin: 0 auto; max-width: 980px; }
@media (max-width: 767px)	{ 
	.topleed .wrapper	{ padding: 25px 25px 90px; }
	.topleed .wrapper h2	{ font-size: 22px; }
	.topleed .wrapper p	{ font-size: 16px; line-height: 28px; padding: 10px 0 0; }
	.section	{ border-bottom: 0 solid #fff; }
	.section .wrapper	{ padding: 0 0 30px; max-width: 480px; }
}
@media (max-width: 374px) { 
	.topleed .wrapper h2	{ font-size: 20px; }
}
.snap__photo	{ display: -webkit-flex; display: flex; justify-content: space-between; }
.snap__photo *	{ line-height: 0; }
.snap__photo_main	{ width: calc(50% - 10px); position: relative; }
.snap__photo_name	{ position: absolute; left: 0; bottom: 20px; display: -webkit-flex; display: flex; flex-direction: column; align-items: flex-start; }
.snap__photo_name > li	{ list-style: none; background-color: rgba(255,255,255,1); padding: 4px 8px 3px 0; margin: 5px 0 0; display: -webkit-flex; display: flex; align-items: flex-start; justify-content: flex-start; }
.snap__photo_name > li > span	{ font-size: 16px; line-height: 24px; font-weight: 700; text-indent: -3px; padding: 0; margin: 0; width: 30px; }
.snap__photo_name > li > b	{ width: auto; font-size: 28px; font-size: clamp(12px, 28px, 2.8vw); line-height: 30px; font-weight: 700; letter-spacing:-.03rem; text-transform: uppercase; text-align: left; }
.snap__photo_name > li:last-child	{ font-size: 12px; line-height: 1; font-weight: 700; padding: 7px 10px 7px 32px; }
.snap__photo_sub	{ width: calc(50% - 10px); }
.photo_double	{ display: -webkit-flex; display: flex; justify-content: space-between; padding: 0; margin: 20px 0 0; }
.photo_double > li	{ width: calc(50% - 10px); list-style: none; }


@media (min-width: 768px) { 
	.photo_double.topno	{ margin: 0; }
}
@media (max-width: 767px)	{ 
	.snap__photo	{ flex-wrap: wrap; }
	.snap__photo_main	{ width: 100%; }
	.snap__photo_name > li > span	{ width: 45px; text-align: right; margin: 0 3px 0 0; }
	.snap__photo_name > li > b	{ width: auto; font-size: 28px; line-height: 30px; font-weight: 700; letter-spacing:-.03rem; text-align: left; }
	.snap__photo_name > li:last-child	{ padding: 7px 10px 7px 52px; }
	.snap__photo_sub	{ width: 100%; }
	.photo_single	{ padding: 0; margin: 20px 0 0; }
	.snaps06 .photo_double.topno > li:first-child	{ order:2; }
	.snaps06 .photo_double.topno > li::last-child	{ order:1; }
}
@media (max-width: 374px) { 
	.snap__photo_name > li > b	{ font-size: 22.5px; }
}
.snap__info	{ display: -webkit-flex; display: flex; justify-content: space-between; padding: 0; margin: 0 0 115px; }
.snap__txts	{ width: calc(50% - 10px); display: -webkit-flex; display: flex; flex-direction: column; justify-content: space-between; }
.snap__txts div > ul	{ display: -webkit-flex; display: flex; justify-content: space-between; padding: 0; margin: 20px 0 0; }
.snap__txts div > ul > li	{ list-style: none; color:#939393; font-size: 12px; line-height: 1; }
.snap__txts div > ul > li > span	{ font-size: 14px; line-height: 1; }
.snap__txts p	{ text-align: left; }
.snap__txts p.info	{ color:#939393; font-size: 14px; line-height: 1.2; padding: 10px 0 0; margin: 0; }
.snap__txts p.text	{ font-size: 16px; line-height: 30px; padding: 25px 0 0; margin: 0; }
.instaicon	{ display: -webkit-flex; display: flex; align-items: center; }
.instaicon > img	{ width: 12px; vertical-align: bottom; margin: 0 3px 0 0; }
.snap__item	{ width: calc(50% - 10px); display: -webkit-flex; display: flex; flex-direction: column; justify-content: flex-end; padding: 20px 0 0; margin: 0; position: relative; }
.snap__item_link	{ position: absolute; right: 0; bottom: 0; padding: 0; margin: 0; }
.snap__item_link > a	{ display: inline-block; font-size: 12px; font-size: clamp(10px, 12px, 1.3vw); padding: 2px; margin: 0; line-height: 1; text-decoration: underline; transition: all .5s; }
.snap__item_set	{ display: -webkit-flex; display: flex; justify-content: space-between; align-items: flex-end; }
.snap__item_img	{ width: calc(50% - 10px); line-height: 0; vertical-align: bottom; text-align: center; }
.snap__item_img img	{ max-width: 240px; margin: 0 auto; }
.snap__item_txt	{ width: calc(50% - 10px); text-align: left; padding: 0 0 30px; margin: 0; display: -webkit-flex; display: flex; flex-direction: column; }
.snap__item_txt b.brand	{ font-size: 12px; font-weight: 700; line-height: 1; letter-spacing:.05rem; padding: 0 0 6px; margin: 0; }
.snap__item_txt strong.name	{ font-size: 20px; font-weight: 700; line-height: 22px; text-transform: uppercase; padding: 0 0 5px; margin: 0; }
.snap__item_txt p.price	{ font-size: 12px; font-weight: 700; line-height: 1; padding: 0 0 23px; margin: 0; }
.snap__item_txt a.btn_store	{ display: -webkit-flex; display: flex; align-items: center; justify-content: center; border-radius: 50px; border: 2px solid #000; padding: 11px; margin: 0; transition: all .5s; }
.snap__item_txt a.btn_store > span	{ font-size: 16px; font-size: clamp(12px, 16px, 1.8vw); font-weight: 700; line-height: 1; letter-spacing:.075rem; }
.before_link	{ line-height: 1; text-align: right; }
.before_link > a	{ color:#939393; text-decoration: underline; display: inline-block; font-size: 12px; padding: 0; margin: 0; }
@media (min-width: 768px) { 
	.snap__item_link > a:hover	{ color:#fff; background-color: #000; text-decoration: none; }
	.snap__item_txt a.btn_store:hover	{ background-color: #000; }
	.snap__item_txt a.btn_store:hover > span	{ color:#fff; }
	.before_link > a:hover	{ color:#000; text-decoration: none; }
}
@media (max-width: 767px)	{ 
	.snap__info	{ flex-direction: column; margin: 0 0 80px; }
	.snap__txts, 
	.snap__item	{ width: 100%; flex-wrap: wrap; }
	.snap__txts	{ padding: 0 20px; margin: 0;  }
	.snap__txts p.text	{ padding: 16px 0 0; }
	.snap__item_link	{ position: static; width: 100%; text-align: right; padding: 20px 20px 0; }
	.snap__item_link > a	{ font-size: 12px; position: relative; text-decoration: none; }
	.snap__item_link > a:after { position: absolute; content: ""; display: block; border-bottom: solid 1px #2C2C2C; bottom: -1px; width: 100%; }
	.snap__item_txt	{ padding: 0 20px 0 0; margin: 0; display: -webkit-flex; display: flex; flex-direction: column; }
	.snap__item_txt a.btn_store	{ padding: 10px 0; margin: 0; transition: all .5s; }
	.snap__item_txt a.btn_store > span	{ font-size: 16px; letter-spacing:0rem; }
	.before_link > a	{ padding: 0 20px 0 0; }
	.snaps01 .snap__photo .photo_single, 
	.snaps03 .snap__photo .photo_single, 
	.snaps04 .snap__photo .photo_single, 
	.snaps07 .snap__photo .photo_single, 
	.snaps08 .snap__photo .photo_single, 
	.snaps09 .snap__photo .photo_single, 
	.snaps02 .snap__photo .photo_double, 
	.snaps05 .snap__photo .photo_double, 
	.snaps06 .snap__photo .photo_double.disno, 
	.snaps10 .snap__photo .photo_double	{ display: none; }
}
@media (max-width: 374px) { 
	.snap__txts div > ul > li	{ font-size: 11px; }
	.snap__txts div > ul > li > span	{ font-size: 11px; }
	.snap__item_txt a.btn_store > span	{ font-size: 14px; }
	.snap__txts p.info	{ font-size: 12px; }
}

/* ------------ BOTTOM BUTTON ------------- */
.bottomButton	{ display: -webkit-flex; display: flex; align-items: center; justify-content: center; padding: 100px 20px; margin: 0; background-color: #fff; }
.bottomButton > a	{ display: -webkit-flex; display: flex; align-items: center; justify-content: center; line-height: 1; width: 100%; max-width: 620px; height: 66px; background-color: #e2dfdf; transition: all .5s; }
.bottomButton > a > span	{ color:#ffffff; font-size: 22px; line-height: 1; font-weight: 700; }
@media (min-width: 768px) { 
	.bottomButton > a:hover	{ background-color: #000; }
}
@media (max-width: 767px)	{ 
	.bottomButton	{ border-top: 1px solid #ebe8e8; }
	.bottomButton > a > span	{ font-size: 18px; }

}

/* ------------ FOOTER ------------- */
.cf > li	{ list-style: none; }

/* ------------ GO TOP ------------- */
footer	{ position: relative; }
.gotop { position: fixed; bottom: 0; right: 0; display:block; width: 85px; overflow: hidden; transition: all 1s; opacity: 0; z-index: 10; line-height: 0; transition-delay: 1s; }
.gotop > a { vertical-align: bottom; display: block; line-height: 0; transition: all .5s; }
.gotop.active { opacity: 1; transition-delay: 0.1s; pointer-events: auto; display: inline-block; }
.gotop.absolute	{ opacity: 0; }
.gotop.absolute	{
  position: absolute;
  top: -73px;
  bottom: auto;
}
@media (min-width: 768px) { 
	.gotop.active:hover, 
	.gotop:hover	{ opacity: 1; }
}
@media (max-width: 767px) { 
	.gotop { width: 85px; display: none; }
}

/* ------------ BLOCK ------------- */
@media (max-width: 767px)	{ .pconly { display: none!important; } }
@media (min-width: 768px)	{ .pconly { display: block!important; } }
@media (max-width: 767px)	{ .sponly { display: block!important; } }
@media (min-width: 768px)	{ .sponly { display: none!important; } }
.noimg	{ display: none!important; }
.delay01	{ transition-delay: 0.1s; }
.delay02	{ transition-delay: 0.2s; }
.delay03	{ transition-delay: 0.3s; }
.delay04	{ transition-delay: 0.4s; }
.delay05	{ transition-delay: 0.5s; }
.delay06	{ transition-delay: 0.6s; }
.delay07	{ transition-delay: 0.7s; }
.delay08	{ transition-delay: 0.8s; }
.delay09	{ transition-delay: 0.9s; }

/* ------------ clearfix ------------- */
span.clearfix	{ display:block; }
.clearfix:after	{ content:"."; display:block; height:0; clear:both; visibility:hidden; font-size:0; line-height:0; }
.clearfix	{ *overflow:hidden; *zoom:1; }
.clearfix:not(:target)	{ /* overflow:hidden\9; */ /* zoom:1\9; */ }
* html .clearfix	{ height:1%; overflow:visible; }
