@charset "UTF-8";
/* TOP
------------------------------------------*/
div#mv { height: 100vh; position: relative; background: url("../img/main/mv01.jpg") no-repeat center bottom; background-size: cover; color: #fff; }

.mv-copy { position: absolute; z-index: 2; bottom: 4.16vw; right: 3.75vw; text-align: right; }
.mv-copy .jp { display: block; font-family: "min"; line-height: 1; font-size: 2.91vw; margin-bottom: 2.5vw; width: 39.0625vw; }
.mv-copy .en { display: block; font-size: 1.25vw; line-height: 1; letter-spacing: 0.104vw; }

.mv-scroll { position: absolute; width: 2.08vw; height: 10.41vw; left: 2.91vw; top: 50%; transform: translateY(-50%); text-align: right; }
.mv-scroll span.img { display: block; width: 0.625vw; margin-left: auto; }
.mv-scroll span.bar { position: absolute; left: 0; top: 0; width: 1px; height: 100%; overflow: hidden; background: rgba(255, 255, 255, 0.4); }
.mv-scroll span.bar span.move { height: 4.16vw; width: 1px; background: #C22B1F; animation: scr01 3.3s linear 0.2s infinite forwards; position: absolute; left: 0; }

@keyframes scr01 { 0% { top: -4.16vw; }
  100% { top: calc(100% + 18.73vw); } }
section#section01 { padding: 13.33vw 0 200px; overflow: hidden; }
section#section01 .wrap { width: 100%; max-width: calc(100% - 12.5vw); box-sizing: border-box; }
section#section01 .titles01 { margin-left: 39.58vw; margin-bottom: -6.35vw; position: relative; z-index: 3; }
section#section01 .titles01 .en { font-size: 6.25vw; }
section#section01 .titles01 .min { font-size: 1.14vw; }
section#section01 .titles01 .min > span { padding-left: 1.82vw; }
section#section01 .titles01 .min > span:before { width: 0.625vw; height: 0.625vw; border-radius: 0.104vw; left: 0.36vw; top: 0.46vw; }
section#section01 .cont01 { position: relative; display: flex; flex-wrap: wrap; width: 100%; justify-content: space-between; flex-direction: row-reverse; margin-bottom: 5.41vw; padding: 0 4.16vw; box-sizing: border-box; }
section#section01 .cont01 .img01 { position: absolute; top: -8.33vw; left: 12.5vw; width: 15vw; overflow: hidden; border-radius: 5px; }
section#section01 .cont01 .img01 img { width: 100%; max-width: none; display: block; position: relative; }
section#section01 .cont01 .img02 { padding-right: 2.91vw; width: 31.25vw; overflow: hidden; border-radius: 5px; }
section#section01 .cont01 .img02 img { width: 100%; max-width: none; display: block; position: relative; }
section#section01 .cont01 .text { margin-top: 16.66vw; }
section#section01 .cont02 { box-sizing: border-box; width: 100%; padding-left: 2.5vw; margin-bottom: 200px; display: flex; flex-wrap: wrap; justify-content: space-between; }
section#section01 .cont02 .img03 { width: 22.91vw; margin-top: 6.25vw; overflow: hidden; border-radius: 5px; }
section#section01 .cont02 .img03 img { width: 100%; max-width: none; display: block; position: relative; }
section#section01 .cont02 .text { width: 51.04vw; }
section#section01 .text.min { font-size: 1.25vw; line-height: 2.4; }

.scroll-text01 { width: 323.3vw; display: flex; flex-wrap: wrap; }
.scroll-text01 .text { width: 150.2vw; padding-right: 11.45vw; }
.scroll-text01 .text img { width: 100%; max-width: none; height: auto; }
.scroll-text01 .text:first-child { animation: scr-x01 120s -60s linear infinite; }
.scroll-text01 .text:nth-child(2) { animation: scr-x02 120s linear infinite; }

@keyframes scr-x01 { 0% { transform: translateX(100%); }
  to { transform: translateX(-100%); } }
@keyframes scr-x02 { 0% { transform: translateX(0); }
  to { transform: translateX(-200%); } }
div#curtain { margin-top: -40px; }

section.feature-sec { border-radius: 40px 40px 0 0; position: sticky; top: 0; padding: 80px 0 200px; }
section.feature-sec .wrap { width: 100%; padding: 0 8.33vw 100px; box-sizing: border-box; }
section.feature-sec .wrap .cont { width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; }
section.feature-sec .wrap .cont h3.titles03 { width: 28.5%; }
section.feature-sec .wrap .cont .img { width: 32.5%; }
section.feature-sec .wrap .cont .img img { width: 100%; max-width: none; }
section.feature-sec .wrap .cont .text { width: 27.5%; margin-top: auto; }

section#features01 { background: #E9DCCC; }

section#features02 { background: #F0E7DB; }

section#features03 { background: #F9F1E7; }
section#features03 .wrap { padding-bottom: 200px; }

section#section03 { padding: 120px 0 200px; background: #3F3533; color: #fff; position: sticky; top: 0; }
section#section03 .wrap { width: 100%; max-width: 1280px; }

h2#product { margin-left: -160px; margin-bottom: 40px; }

.item-list02.flex { padding-top: 56px; position: relative; z-index: 2; }

article.item-art01 { display: flex; flex-wrap: wrap; justify-content: space-between; flex-direction: row-reverse; align-items: flex-end; margin-bottom: 120px; background: #3F3533; }
article.item-art01 > .img { width: 40.625%; }
article.item-art01 > .img .in-img { padding-top: 100%; border-radius: 5px; }
article.item-art01 > .cont { width: 48.4375%; padding-top: 40px; }
article.item-art01 > .cont > .tit { font-size: 28px; line-height: 1.8; }
article.item-art01 > .cont .item-pieces { margin-top: 12px; font-size: 14px; line-height: 1.2; }
article.item-art01 > .cont .item-detail { border-top: solid 1px rgba(255, 255, 255, 0.08); padding-top: 40px; margin-top: 48px; }

article.item-art01:last-child { margin-bottom: 0; }

.item-data { margin-top: 24px; }
.item-data dl.flex { margin-bottom: 9px; justify-content: space-between; align-items: center; }
.item-data dl.flex dt { width: 100px; box-sizing: border-box; line-height: 1.2; font-size: 14px; text-align: center; padding: 3px; border: solid 1px rgba(255, 255, 255, 0.08); }
.item-data dl.flex dd { width: calc(100% - 108px); line-height: 1.8; }
.item-data dl.flex:last-child { margin-bottom: 0; }

article.item-art02.anima-t { transition: 0.3s; opacity: 0; transform: translateY(30px); }

article.item-art02.anima-t.anima { transition-delay: 0s; opacity: 1; transform: translateY(0); }

article.item-art02.anima-t.anima:nth-child(3n - 1) { transition-delay: 0.3s; opacity: 1; transform: translateY(0); }

article.item-art02.anima-t.anima:nth-child(3n) { transition-delay: 0.6s; opacity: 1; transform: translateY(0); }

article.item-art02 { width: 30%; margin: 64px 5% 0 0; }
article.item-art02 > .img { margin-bottom: 24px; }
article.item-art02 > .img .in-img { padding-top: 100%; border-radius: 5px; }
article.item-art02 > .cont > .tit { font-size: 22px; line-height: 1.6; }
article.item-art02 > .cont .item-detail { border-top: solid 1px rgba(255, 255, 255, 0.08); padding-top: 24px; margin-top: 24px; }

article.item-art02:nth-child(3n) { margin-right: 0; }

div#service.anima-t > .box { opacity: 0; transform: translateY(50px); transition: 0.8s; }

div#service.anima-t.anima > .box.box01 { opacity: 1; transform: translateY(0); transition: 0.8s; }
div#service.anima-t.anima > .box.box02 { opacity: 1; transform: translateY(0); transition: 0.8s; transition-delay: 0.2s; }
div#service.anima-t.anima > .box.box03 { opacity: 1; transform: translateY(0); transition: 0.8s; transition-delay: 0.4s; }
div#service.anima-t.anima > .box.box04 { opacity: 1; transform: translateY(0); transition: 0.8s; transition-delay: 0.6s; }

div#service { width: 100%; max-width: calc(100% - 16.66vw); min-width: 1160px; display: flex; flex-wrap: wrap; justify-content: space-between; margin: 160px auto 0; }
div#service > .box { width: 48.625%; box-sizing: border-box; border-top: solid 1px rgba(0, 0, 0, 0.16); padding: 24px 1.25% 64px; }
div#service > .box .inner01 { display: flex; flex-wrap: wrap; justify-content: space-between; }
div#service > .box .inner01 .img { width: 38.356%; }
div#service > .box .inner01 > .cont { width: 56.16%; }
div#service > .box .inner02 { display: flex; flex-wrap: wrap; justify-content: space-between; }
div#service > .box .inner02 .img { width: 80px; }
div#service > .box .inner02 > .cont { width: calc(95.62% - 80px); }
div#service > .box .tit.min { font-size: 24px; margin-bottom: 8px; }
div#service > .box > .text { pfont-size: 16px; }
div#service > .box.box03, div#service > .box.box04 { padding-bottom: 74px; }
div#service > .box:last-child { border-right: none; }

section#section05 { padding: 160px 0 200px; }
section#section05 .wrap { width: 100%; max-width: 1360px; }
section#section05 .wrap .titles01 { margin-left: auto; margin-bottom: -120px; position: relative; z-index: 2; width: 640px; }

div#how-to { margin-bottom: 0; position: relative; }
div#how-to .slick-counter { position: absolute; right: 0; bottom: 0; font-family: "pra"; line-height: 1; display: flex; flex-wrap: wrap; align-items: flex-start; }
div#how-to .slick-counter span.cu-l { font-size: 64px; letter-spacing: 8px; margin-right: 16px; }
div#how-to .slick-counter span.cu-r { font-size: 24px; }
div#how-to .slick-counter span.dot-sikiri { margin-right: 5px; }
div#how-to button.slick-arrow { opacity: 1; z-index: 2; transition: 0.3s !important; width: 144px; height: 55px; box-sizing: border-box; transition: 0s; border: solid 1px rgba(0, 0, 0, 0.16); top: auto; bottom: 0; transform: translateY(0); border-radius: 40px; }
div#how-to button.slick-prev.slick-arrow { background: url("../img/common/slide-arrow05.svg") no-repeat center; left: auto; right: 456px; background-size: contain; }
div#how-to button.slick-next.slick-arrow { background: url("../img/common/slide-arrow06.svg") no-repeat center; right: 302px; background-size: contain; }
div#how-to button.slick-arrow:before { content: none; }
div#how-to button.slick-prev.slick-arrow:hover, div#how-to button.slick-prev.slick-arrow.slick-disabled { border: solid 1px black; }
div#how-to button.slick-next.slick-arrow:hover, div#how-to button.slick-next.slick-arrow.slick-disabled { border: solid 1px black; }
div#how-to button.slick-arrow.slick-disabled { background-color: transparent; }

.slick-list div.how-toBox { margin-bottom: 0; }

div.how-toBox { display: flex !important; flex-wrap: wrap; justify-content: space-between; margin-bottom: 40px; }
div.how-toBox .img { width: 560px; }
div.how-toBox .cont { width: 600px; padding-bottom: 112px; margin-top: auto; }
div.how-toBox .cont .tit { font-size: 32px; margin-bottom: 24px; line-height: 1.85; }

section#section06 { padding: 0 6.25vw; }
section#section06 .wrap { width: 100%; max-width: 1680px; }
section#section06 .titles01 { position: absolute; left: 0; top: 0; }
section#section06 .shop-info-list.flex { align-items: flex-end; }
section#section06 .shop-info-list.flex .box01 { order: 2; width: 35.71%; margin-left: auto; margin-right: 100px; }
section#section06 .shop-info-list.flex .box02 { order: 3; width: 26.19%; }
section#section06 .shop-info-list.flex .box03 { order: 1; width: 21.42%; }
section#section06 .btn01.map-btn { width: 100%; }
section#section06 .btn01.map-btn a { background: none; }

div.gmap { margin-top: 16px; height: 240px; }
div.gmap iframe { width: 100%; height: 100%; }

.TBL01 th { width: 104px; }
.TBL01 th, .TBL01 td { box-sizing: border-box; padding: 20px 0; font-weight: 400; vertical-align: top; line-height: 1.5; }
.TBL01 tr { border-bottom: solid 1px rgba(0, 0, 0, 0.16); }
.TBL01 tr:first-child th, .TBL01 tr:first-child td { padding-top: 0; }
.TBL01 tr:last-child { border-bottom: none; }
.TBL01 tr:last-child th, .TBL01 tr:last-child td { padding-bottom: 0; }

div#instaArea { margin: 160px auto 0; background: #F9F1E7; border-radius: 10px; box-sizing: border-box; width: 100%; max-width: calc(100% - 80px); padding: 64px 80px 68px; position: relative; }
div#instaArea > .text { position: absolute; right: 80px; top: 80px; }
div#instaArea .btn01.insta-btn { position: absolute; z-index: 3; top: 118px; right: 80px; width: 320px; }
div#instaArea .btn01.insta-btn a { background: none; }
div#instaArea .btn01.insta-btn a span.ico-text { padding: 0 28px 0 0; background: url("../img/common/ico-blank.svg") no-repeat right center; }

h2.insta-tit { padding-left: 48px; background: url("../img/common/ico-insta.svg") no-repeat left center; line-height: 1.2; font-size: 50px; }

.instaBox { margin-top: 62px; }

.bg02 { padding-top: 200px; padding-bottom: 120px; background: #F0E7DB; }

/*404ページ
----------------------------------*/
body:not(.home) div#header { position: relative; background: #3F3532; padding-bottom: 8px; box-sizing: border-box; }

div#umv { width: 100%; background: #E9DCCC; padding: 50px 0; text-align: center; font-family: "min"; font-size: 30px; }

div#p100Box01 { padding: 100px 0; }
div#p100Box01 .btn01 { margin: 40px auto 0; }

.pp-title01 { font-size: 22px; border-bottom: solid 2px; margin-bottom: 25px; padding-bottom: 10px; }

.pp-title02:first-child { margin-top: 0; }

.pp-title02 { font-size: 18px; padding-left: 15px; position: relative; color: #3F3532; margin-top: 50px; }

.pp-title02:before { content: ""; width: 5px; height: 65%; background: #3F3532; position: absolute; left: 0; top: 0; bottom: 0; margin: auto 0; }

/*デバイス幅
----------------------------------*/
@media screen and (min-width: 0px) and (max-width: 1750px) { section#section06 .shop-info-list.flex .box01 { margin-right: 50px; } }
@media screen and (min-width: 0px) and (max-width: 1630px) { h2#product { margin-left: 0; } }
@media screen and (min-width: 0px) and (max-width: 1540px) { .titles03 .en { font-size: 60px; }
  .titles03 .min { font-size: 26px; }
  section#section06 .shop-info-list.flex { padding-top: 100px; }
  section#section06 .shop-info-list.flex { padding-top: 140px; }
  section#section06 .shop-info-list.flex .box01 { width: 30.71%; margin-right: 6.3%; }
  section#section06 .shop-info-list.flex .box02 { width: 30.19%; }
  section#section06 .shop-info-list.flex .box03 { width: 25.42%; } }
@media screen and (min-width: 0px) and (max-width: 1450px) { section.feature-sec .wrap .cont .text { width: 32%; position: relative; }
  section.feature-sec .wrap .cont h3.titles03 { width: 33%; }
  section.feature-sec .wrap { padding-right: 7.33vw; padding-left: 7.33vw; } }
@media screen and (min-width: 0px) and (max-width: 1380px) { article.item-art02 .item-data dl.flex dd { width: 100%; margin-top: 9px; font-size: 14px; } }
@media screen and (min-width: 0px) and (max-width: 1300px) { section#section03 .wrap { width: 1100px; }
  section#section05 .wrap { width: 1160px; }
  section#section05 .wrap .titles01 { margin-bottom: 10px; }
  div.how-toBox .img { width: 450px; }
  section.feature-sec .wrap .cont .img { width: 29.5%; position: relative; left: -5px; }
  .titles02 { margin-bottom: 80px; } }
@media screen and (max-height: 660px) { .nav-link01 { margin-top: 25px; }
  .nav-link01:first-child { margin-top: 0; }
  .nav-btns { margin-top: 34px; } }
/*ブラウザごと
----------------------------------*/
html.showPage.tokushu div#mv { height: 52.08vw; }
html.showPage.tokushu .imgm { transform: none !important; }
html.showPage.tokushu .imgm img { top: 0 !important; }
