@charset "utf-8";
/* CSS Document */

/*==================================
	base
==================================*/
* { box-sizing: border-box;}
html { height: 100%; width: 100%; font-size: 62.5%;/* 10px */}
body { font-family: "Shippori Mincho", serif; font-weight: 400; font-style: normal; font-size:1.6rem; color:#2d1e0f; line-height: 1.5; letter-spacing: 0.01em; height: 100%; width: 100%; background: url("../img/bg.jpg");}
.wrapper { position: relative; height: 100%; width: 100%;}
section { position: relative; z-index: 1;}
h1,h2,h3,h4,h5,ul,li,dl,dt,dd,p { font-weight: 400;}
img { width: 100%;}
.none { display: none;}

a { color: #2d1e0f; text-decoration: none;display: block;}
a:hover {text-decoration: none;}

.en { font-family: "Cormorant", serif;}
.inner { width: 100%; margin: 0 auto;}
/* innerはコンテンツに応じて 1440 1360 1224 1100 */
@media screen and (max-width: 1099px) {
.inner { width: 89.86%;}
}
@media screen and (min-width: 750px) {
.spOnly { display: none;}
}
@media screen and (max-width: 749px) {
body { font-size: 1.4rem; min-width: 100%;}
.pcOnly { display: none;}
}

/*==================================
	parts
==================================*/
.secTit { color: #be263b;}
.secTit .en { font-size: 15.2rem; font-family: "Cormorant", serif; line-height: 1;}
.secTit .en span { transform: scaleX(0.92); display: inline-block; text-indent: -15px;}
.secTit .jp { font-size: 2rem;}
@media screen and (max-width: 749px) {
.secTit .en { font-size: 7.6rem; text-indent: 5px;}
.secTit .jp { font-size: 1.2rem;}
}
/*==================================
	pace.min.js
==================================*/
.pace-running #wrapper, #wrapper {
  opacity: 0;
}
.pace-done #wrapper {
  opacity: 1;
}
#wrapper {
  transition: opacity 0.8s ease;
}
/*==================================
	opening
==================================*/
#opening { width: 100%; height: 100vh; background: url("../img/opening_bg.jpg") center center no-repeat; background-size: cover; position: fixed; z-index: 100; display: flex; align-items:  center; justify-content: center; flex-wrap: wrap;}
#opening .onlybr { display: none;}
#opening .box { text-align: center;}
#opening .box .txt { font-size: 7.1rem; width: 100%; color: #fff;opacity: 0;transform: translateY(40%);}
#opening .box .txt span { /*transform: scaleX(1.06);*/ letter-spacing: 0; display: inline-block;}
#opening .box .pkg { margin-top: 100px;opacity: 0;transform: translateY(-20%);}
#opening .box .pkg img { max-width: 400px;}
@media screen and (max-width: 1169px) {
#opening .box .txt { font-size: 6rem;}
}
@media screen and (max-width: 999px) {
#opening .onlybr { display: inline-block;}
}
@media screen and (max-width: 749px) {
#opening .box .txt { font-size: 2.7rem;}
#opening .box .txt span {display: block;white-space: nowrap;}
#opening .box .txt .punct {display:inline;margin-right: -0.5em;}
#opening .box .pkg { margin-top: 50px;}
#opening .box .pkg img { max-width: 56%;}
}
/*==================================
	opening show
==================================*/
#opening .txt.show {
	opacity: 1;
	transform: translateY(0%);
	transition: opacity 0.4s ease-in-out, transform 1s cubic-bezier(0.25, 1, 0.5, 1);
}
#opening .pkg.show {
	opacity: 1;
	transform: translateY(0%);
	transition: opacity 0.6s ease-out, transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
}
/*==================================
	header
==================================*/
header#hd { height: 80px;  position: fixed; z-index: 50; width: 100%;}
header#hd.scrolldown {}
header#hd .hd_logo { position: fixed; top: 30px; left: 50px; z-index: 10;}
@media screen and (min-width: 900px) {
header#hd .hd_logo {width: 180px;}
header#hd #navArea { position: fixed; top: 30px; right: 30px; z-index: 10;}
header#hd a { color: #fff;}
header#hd #navArea nav .hdNav { display: flex; align-items: center;}
header#hd #navArea nav .hdNav li { font-size: 1.6rem; margin: 0 12px;}
header#hd #navArea nav .hdNav li.shop a { padding: 10px 20px 10px 45px; border: solid 1px #fff; background-image: url("../img/icon_cart_WH.png"); background-position: left 20px center; background-repeat: no-repeat; background-size: 17px 18px;}
header#hd.scrolldown a { color: #2d1e0f;}
header#hd.scrolldown #navArea nav .hdNav li.shop a { border: solid 1px #be263b; color: #fff; background-color: #be263b;}
}
@media screen and (max-width: 1020px) {
header#hd .hd_logo {width: 140px;}		
header#hd #navArea nav .hdNav li {font-size: 1.4rem;}
}
@media screen and (max-width: 899px) {
header#hd { height: 60px;}
header#hd .hd_logo { width: 140px;top: 20px; left: 20px;}
header#hd nav { right: -300px; width: 300px; padding:60px 30px 0 30px; display: block; position: fixed; top: 0; bottom: 0; background: url("../img/bg.jpg"); overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; transition: all .5s; z-index: 20; opacity: 0;}
header#hd nav ul li { margin: 20px 0;}
header#hd nav ul li a { font-size: 1.5rem; display: block;}
header#hd nav ul li.shop { margin-top: 25px; padding-top: 25px; border-top: solid 1px #e1dcd1;}
header#hd nav ul li.shop a { color: #be263b; display: flex; align-items: center;}
header#hd nav ul li.shop a:before { width: 14px; height: 15px; margin-right: 5px; background: url("../img/icon_cart_RD.png") center center no-repeat; background-size: cover; content: ""; display: inline-block;}
header#hd nav ul li.shop a:after { width: 13px; height: 9px; margin-left: 10px; background: url("../img/icon_arr.png") center center no-repeat; background-size: cover; content: ""; display: inline-block;}
header#hd .toggle_btn { display: block; position: fixed; top: 20px; right: 20px; width: 30px; height: 20px; transition: all .5s; cursor: pointer; z-index: 20;}
header#hd .toggle_btn span { display: block; position: absolute; right: 0; width: 30px; height: 1px; background-color: #fff; transition: all .5s;}
header#hd .toggle_btn span:nth-child(1) { top: 4px;}
header#hd .toggle_btn span:nth-child(2) { bottom: 4px;}
header#hd #mask { display: none; transition: all .5s;}
/* open */
.open { overflow: hidden;}
.open header#hd nav { right: 0; opacity: 1;}
.open header#hd .toggle_btn span { background-color: #2d1e0f;}
.open header#hd .toggle_btn span:nth-child(1) { -webkit-transform: translateY(6px) rotate(-330deg); transform: translateY(6px) rotate(-330deg);}
.open header#hd .toggle_btn span:nth-child(2) { -webkit-transform: translateY(-6px) rotate(330deg); transform: translateY(-6px) rotate(330deg);}
.open header#hd #mask { display: block; position: fixed; top: 0; right: 0; width: 100%; height: 100%; background: #000; opacity: .3; z-index: 15; cursor: pointer;}
}
@media screen and (max-width: 749px) {
header#hd .hd_logo { width: 100px;top: 20px; left: 20px;}
}

/*==================================
	fadein
==================================*/
.fadein {opacity: 0;transform: translateY(40px);transition: opacity 0.8s ease, transform 0.8s ease;}
.fadein.is-active {opacity: 1;transform: translateY(0);}


/*==================================
	fv
==================================*/
#fv { height: 160vh; position: relative; background: transparent; overflow: hidden;clip-path: inset(0);}
#fv:before { height: 400px; position: absolute; bottom: -1px; left: 0; right: 0; content: ""; background: url("../img/concept_top.png") repeat-x; background-size: auto 100%; z-index: 10;}
#fv .fvbgMov { width: 100%; height: 100dvh; position: fixed;inset:0; left: 0; top: 0;overflow: hidden;z-index: 0;}
#fv .fvbgMov video { width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0;}
#fv .fvbgMov video,
#fv .fvbgMov img {width: 100%;height: 100%;object-fit: cover;}
#fv .kvScroll{position:absolute;right:40px;top:calc(100vh - 140px);z-index:10;display:flex;flex-direction: row-reverse;align-items:flex-start;gap:10px;writing-mode:horizontal-tb;}
#fv .kvScroll_txt{display:block;writing-mode:vertical-rl;text-orientation:mixed;font-size:1.1rem;letter-spacing:.25em;line-height:1;color:#fff;}
#fv .kvScroll_line{position:relative;display:block;width:1px;height:170px;background:rgba(186,180,171,.25);overflow:hidden;flex-shrink:0;}
#fv .kvScroll_line::before{content:"";position:absolute;left:0;top:-100%;width:1px;height:100%;background:#fff;animation:kvScrollLine 2.4s cubic-bezier(.3,.1,.2,1) infinite;}
@keyframes kvScrollLine{
0%{top:-100%;}
45%{top:0;}
70%{top:0;}
100%{top:100%;}
}
@media screen and (max-width: 749px) {
#fv { height: 120vh;}
#fv:before { height: 330px; background: url("../img/concept_top_sp.png") repeat-x; background-size: auto 100%;}
#fv .fvbgMov video { width: 101%;}
#fv .kvScroll {right: 15px;top: calc(100dvh - 120px);}
}

/*==================================
	concept
==================================*/
#concept { padding: 200px 0 800px 0; text-align: center; background: url("../img/concept_bg.jpg") top center no-repeat; overflow: hidden;}
#concept .secTit { color: #2d1e0f; position: relative; z-index: 1;}
#concept .subTit { margin-top: 70px; font-size: 4rem; position: relative; z-index: 1;}
#concept .map { width: 673px; position: absolute; right: -100px; top: 300px;}
#concept .txtBox { font-size: 1.8rem; position: relative; z-index: 1;}
#concept .txtBox .txt { line-height: 2.5;}
#concept .txtBox .txt.txt01 { margin-top: 70px;font-size: 2rem;}
#concept .txtBox .txt.txt02 { margin-top: 950px; max-width: 950px; width: 96%; margin-left: auto; margin-right: auto; text-align: left;font-size: 2rem;}
#concept .txtBox .txt.txt03 { margin-top: 240px; width: 50%; margin-left: 50%; padding-left: 150px; text-align: left;font-size: 2rem;}
#concept .layer {  position: absolute;transform: translate3d(0, 0, 0);will-change: transform;backface-visibility: hidden;transition: none;}
#concept .ph1 { top: 1000px; right: calc( 50% + 134px);}
#concept .ph2 { top: 1400px; left: calc( 50% + 10px);}
#concept .ph3 { top: 2100px; right: calc( 50% + 60px);}
#concept .ph4 { top: 2440px; left: calc( 50% - 180px);}
#concept .ph1 img { width: 506px; height: 387px;}
#concept .ph2 img { width: 671px; height: 536px;}
#concept .ph3 img{ width: 500px; height: 370px;}
#concept .ph4 img { width: 546px; height: 565px;}

@media screen and (max-width: 1099px) {
#concept .map { width: 440px; top: 450px; right: -20%; left:auto;}
#concept .txtBox .txt.txt02 { padding-left: 30px;}
#concept .txtBox .txt.txt03 { padding-left: 0;}
}
@media screen and (max-width: 999px) {
#concept .txtBox { font-size: 1.6rem;}
}
@media screen and (max-width: 749px) {
#concept { padding: 100px 0 400px 0; background: url("../img/concept_bg_sp.jpg") top center no-repeat; background-size: auto 1000px;}
#concept .subTit { margin-top: 30px; font-size: 2.1rem; line-height: 1.8;}
#concept .map { width: 370px; top: 350px; right: -15%;}
#concept .txtBox { font-size: 1.4rem;}
#concept .txtBox .txt { line-height: 2;}
#concept .txtBox .txt.txt01 { margin-top: 35px;font-size: 1.5rem;}
#concept .txtBox .txt.txt02 { margin-top: 750px; width: 86%; padding-left: 0;font-size: 1.5rem;}
#concept .txtBox .txt.txt03 { margin-top: 300px; width: 86%; margin-left: auto; margin-right: auto;font-size: 1.5rem;}
#concept .ph1 { width: 40%; top: 38%; left: 0;}
#concept .ph2 { width: 70%;top: 46%; left: auto; right: 0;}
#concept .ph3 { width: 50%;top: 66%; left: 0;right: 0;margin: auto;}
#concept .ph4 { width: 60%;top: 84%; left: calc( 50% - 100px);}
#concept .ph1 img,
#concept .ph2 img,
#concept .ph3 img,
#concept .ph4 img {width: 100%;height: auto;}
}


/*==================================
	story
==================================*/
#story { padding: 170px 0 190px 0; background: url("../img/bg2.jpg"); overflow: hidden; position: relative;}
#story:after { width: 630px; height: 827px; left: calc(50% + 90px); content: ""; position: absolute;}
#story:after { top: 190px; background:url("../img/story_ph01.jpg") no-repeat;}
#story .inner { max-width: 1100px;}
#story .secTit { color: #2d1e0f;}
#story .secTit .en { font-size: 16.6rem; display: inline-block;}
#story .secTit .jp { display: inline-block;}
#story .box { margin-top: 100px;}
#story .box .subtit { font-size: 3.4rem; line-height: 1.8;}
#story .box .txtArea { margin-top: 65px;}
#story .box .txtArea .txt { margin-top: 50px; font-size: 1.8rem; line-height: 2;}
@media screen and (max-width: 999px) {
#story:after { width: 370px; height: 465px; background-size: 100% auto; top: auto;}
#story:after { bottom: 160px;}
#story .box { margin-top: 80px;}
#story .box .txtArea { margin-top: 50px;}
}
@media screen and (max-width: 749px) {
#story { padding: 85px 0 95px 0;}
#story:before,
#story:after { display: none;}
#story .secTit .en { font-size: 7.6rem;}
#story .secTit .jp { font-size: 1.2rem;}
#story .box .subtit { font-size: 2rem;}
#story .box .txtArea .txt { font-size: 1.5rem;}
#story .box .txt01:before{ margin-bottom: 20px; width: 100%; height: 305px; content: ""; display: block;}
#story .box .txt01:before { background: url("../img/story_ph01.jpg") no-repeat; background-size: auto 100%; background-position: center center;}
#story .box .txt02:before { background: url("../img/story_ph01.jpg") no-repeat; background-size: auto 100%; background-position: center center;}
}#story .box .txt02:before { background: url("../img/story_ph01.jpg") no-repeat; background-size: auto 100%; background-position: center center;}
@media screen and (max-width: 749px) {
#story .box .txt01:before {display: none;}
}


/*==================================
	features
==================================*/
#features { padding: 200px 0; background-color: #9f1827; background-image: url("../img/features_bg.jpg"); background-size: 100% auto; background-position: top center; background-repeat: no-repeat; color: #fff; overflow: hidden; position: relative;}
#features:before,
#features:after { width: 630px; height: 630px; right: calc(50% + 90px); content: ""; position: absolute;}
#features:before { top: 410px; background: url("../img/features_ph01.jpg") no-repeat;}
#features:after { top: 1040px; background:url("../img/features_ph02.jpg") no-repeat;}
#features .inner { max-width: 1100px;}
#features .secTit { color: #fff;}
#features .secTit .en { display: inline-block;}
#features .secTit .jp { margin-left: 10px; display: inline-block;}
#features .box { margin-top: 100px; position: relative; left: calc(50% + 50px);}
#features .box .subtit { font-size: 3.4rem; line-height: 1.8;}
#features .box .txtArea {}
#features .box .txtArea .txt { margin-top: 50px; font-size: 1.8rem; line-height: 2;}
#features .box .txtArea2 { margin-top: 80px;}
#features .box .txtArea2 .tit { font-size: 4.8rem; font-family: "Cormorant", serif;}
#features .box .txtArea2 .tit:before { width: 52px; height: 1px; margin-right: 20px; margin-bottom: 12px; content: ""; background: #fff; display: inline-block;}
#features .box .txtArea2 .tit span { font-size: 1.8rem; margin-left: 15px; font-family: "Shippori Mincho", serif; }
#features .box .txtArea2 .txt { margin-top: 20px; font-size: 1.8rem; line-height: 2;}
#features .box .txtArea2 .img { max-width: 388px; margin-top: 50px;}
@media screen and (max-width: 1099px) {
#features .box { left: calc(50% - 20px);}
}
@media screen and (max-width: 999px) {
#features:before,
#features:after { width: 370px; height: 370px; background-size: auto 100%;}
#features:before {}
#features:after { top: 780px;}
#features .box { margin-top: 30px; left: calc( 50% - 50px);}
#features .box .txtArea2 .txt { font-size: 1.6rem; letter-spacing: 0;}
}
@media screen and (max-width: 749px) {
#features { padding: 100px 0;}
#features:before,
#features:after { display: none;}
#features .box { left: 0;}
#features .box .subtit { font-size: 2rem;}
#features .box .txtArea .txt { font-size: 1.5rem;}
#features .box .txt01:before,
#features .box .txt02:before { margin-bottom: 20px; width: 100%; height: 300px; content: ""; display: block;}
#features .box .txt01:before { background: url("../img/features_ph01.jpg") no-repeat; background-size: auto 100%; background-position: center center;}
#features .box .txt02:before { background: url("../img/features_ph02.jpg") no-repeat; background-size: auto 100%; background-position: center center;}
#features .box .txtArea2 { margin-top: 40px;}
#features .box .txtArea2 .tit { font-size: 2.5rem;}
#features .box .txtArea2 .tit:before { width: 26px; margin-right: 10px; margin-bottom: 6px;}
#features .box .txtArea2 .tit span { font-size: 1.3rem;}
#features .box .txtArea2 .txt { margin-top: 10px; font-size: 1.5rem;}
#features .box .txtArea2 .img { max-width: 250px; margin: 25px auto 0 auto;}
}


/*==================================
	products
==================================*/
#products { margin-top: 200px;}
#products .secTit { margin-bottom: 130px; text-align: center;}

#products .block .blockTit { color: #be263b;}
#products .block .blockTit .num { padding:0 2px 2px 2px; display: inline-block; border-bottom: solid 1px #be263b;}
#products .block .blockTit .num .icon { background: url("../img/products_icon.png")left center no-repeat;}
#products .block .blockTit .num .icon .big { font-family: "Shippori Mincho", serif;}
#products .block .blockTit .name span { transform: scaleX(1.06); letter-spacing: 0; display: inline-block;}
#products .block .blockTxt { line-height: 1.8;}
#products .block .blockTxt .subtit span { transform: scaleX(1.06); letter-spacing: 0; display: inline-block;}
#products .block .blockTxt .txt {}
#products .block .blockImg { position: relative; text-align: center;}
#products .block .blockImg .ph01 {}
#products .block .blockImg .txt {}
#products .block .blockDetail { text-align: center;}
#products .block .blockDetail .name {}
#products .block .blockDetail .name .en { font-family: "Cormorant Infant", serif;}
#products .block .blockDetail .modal { cursor: pointer; transition:0.8s; font-family: "Cormorant", serif;position: relative;display: inline-block;}
#products .block .blockDetail .modal span { padding: 5px 25px 5px 5px; background: url("../img/icon_arr_BR.png") right center no-repeat; background-size: 15px 11px;}
#products .pcOnly .itemDetail .block .blockDetail .modal::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:url("../img/line_dash.svg") no-repeat left center;background-size:100% 100%;clip-path: inset(0 100% 0 0);animation: modalDashDraw 2.8s cubic-bezier(.2,.9,.15,1) infinite;}
@keyframes modalDashDraw {
0% {clip-path: inset(0 100% 0 0);}
45% {clip-path: inset(0 0 0 0);}
70% {clip-path: inset(0 0 0 0);}
100% {clip-path: inset(0 0 0 100%);}
}
#products .block .blockDetail .modal:hover { opacity: 0.6;}
.modaal-content-container { padding: 60px 20px; text-align: center; background: url("../img/bg.jpg");}
.modaal-content-container .modalTit { font-size: 3.8rem; color: #be263b;}
.modaal-content-container .modalTit span { transform: scaleX(1.06); letter-spacing: 0; display: inline-block;}
.modaal-content-container .modalTxt { font-size: 1.5rem; color: #5b4d40;}
.modaal-content-container ul { margin-top: 15px; display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline;}
.modaal-content-container ul li { margin: 15px; padding-left: 20px;}
.modaal-content-container ul li:nth-child(1) img { width: 130px;}
.modaal-content-container ul li:nth-child(2) img { width: 140px;}
.modaal-content-container ul li:nth-child(3) img { width: 131px;}
.modaal-content-container ul li:nth-child(4) img { width: 130px;}
.modaal-close{ top: 10px;}
.modaal-close:before { display: none;}
.modaal-close:after { display: none;}
.modaal-close span { position: relative !important;}
.modaal-close:focus, .modaal-close:hover { background: none; opacity: 0.6;}
@media screen and (max-width: 749px) {
#products { margin-top: 100px;}
#products .secTit { margin-bottom: 65px;}
.modaal-content-container { padding: 30px 15px;}
.modaal-content-container .modalTit { font-size: 2.2rem;}
.modaal-content-container .modalTxt { font-size: 1.3rem;}
}

/* pcOnly */
#products .pcOnly { /*overflow: hidden;*/ position: relative;}
#products .pcOnly .pcslide {display: flex;flex-direction: row-reverse;justify-content: space-between;max-width: 1300px;margin: auto;width: 100%;}
#products .pcOnly .sidePhoto { /*left: calc( 50% + 450px);*/}
#products .pcOnly .sidePhoto .block { display: grid; width: 28rem; margin-left: auto; gap: 4rem;}
#products .pcOnly .sidePhoto .block.item01,
#products .pcOnly .sidePhoto .block.item02,
#products .pcOnly .sidePhoto .block.item03 { padding-bottom: 20rem;}
#products .pcOnly .sidePhoto .block img { max-width: 320px;}
#products .pcOnly .itemDetail { position: sticky;top: 180px;height: fit-content;}
#products .pcOnly .itemDetail .block { display: flex; width: 90%; max-width: 1224px; margin: 0 auto; position: relative;}
#products .pcOnly .itemDetail .block .box01 { position: relative; z-index: 1;width: 470px;}
#products .pcOnly .itemDetail .block .box02 { position: relative; z-index: 1;}
#products .pcOnly .itemDetail .block .blockTit { color: #be263b;}
#products .pcOnly .itemDetail .block .blockTit .num { padding:0 2px 2px 2px; display: inline-block; border-bottom: solid 1px #be263b;}
#products .pcOnly .itemDetail .block .blockTit .num .icon { font-size: 2rem; padding-left: 30px; background-size: 17px 23px;}
#products .pcOnly .itemDetail .block .blockTit .num .icon .en{ font-size: 2.3rem;}
#products .pcOnly .itemDetail .block .blockTit .num .icon .big { font-size: 2.6rem;}
#products .pcOnly .itemDetail .block .blockTit .name { font-size: 5rem; margin-top: 20px;}
#products .pcOnly .itemDetail .block .blockTit .name span { letter-spacing: -0.08em;}
#products .pcOnly .itemDetail .block .blockTxt .subtit { font-size: 2.6rem;}
#products .pcOnly .itemDetail .block .blockTxt .txt { font-size: 1.7rem; margin-top: 20px;}
#products .pcOnly .itemDetail .block .blockImg {}
#products .pcOnly .itemDetail .block .blockImg .ph01 {}
#products .pcOnly .itemDetail .block .blockImg .txt {}
#products .pcOnly .itemDetail .block .blockDetail { padding-left: 60px; position: relative; z-index: 1; display: inline-block;}
#products .pcOnly .itemDetail .itembox01 .block .blockDetail {padding-left: 40px;}
#products .pcOnly .itemDetail .block .blockDetail .name { font-size: 1.8rem;}
#products .pcOnly .itemDetail .block .blockDetail .name .en { margin-left: 15px; font-size: 1.8rem;}
#products .pcOnly .itemDetail .block .blockDetail .modal { font-size: 2rem; margin-top: 10px;}
#products .pcOnly .itemDetail .block .bgtxt { width: 100%; font-size: 19.8rem; text-align: left; left: 0; margin: auto; color: #7b7974; opacity: 0.07; position: absolute; font-weight: 300; line-height: 1;}
#products .pcOnly .itemDetail .block.item01 { padding-bottom: 300px;}
#products .pcOnly .itemDetail .block.item01 .blockImg .ph01 { max-width: 450px;}
#products .pcOnly .itemDetail .block.item01 .blockTxt { margin-top: 80px;}
#products .pcOnly .itemDetail .block.item01 .box02 { margin-left: 60px; padding-top: 150px;}
#products .pcOnly .itemDetail .block.item01 .blockDetail { top: -70px;}
#products .pcOnly .itemDetail .block.item01 .bgtxt { bottom: 100px;}
#products .pcOnly .itemDetail .block.item02 { padding-bottom: 100px;}
#products .pcOnly .itemDetail .block.item02 .blockImg .ph01 { max-width: 434px;}
#products .pcOnly .itemDetail .block.item02 .blockTxt { margin-top: 80px;}
#products .pcOnly .itemDetail .block.item02 .box02 { margin-left: 80px; padding-top: 50px;}
#products .pcOnly .itemDetail .block.item02 .blockDetail { top: -180px;}
#products .pcOnly .itemDetail .block.item02 .bgtxt { bottom: 120px;}
#products .pcOnly .itemDetail .block.item03  { padding-bottom: 100px;}
#products .pcOnly .itemDetail .block.item03 .blockImg .ph01 { max-width: 315px;}
#products .pcOnly .itemDetail .block.item03 .blockTxt { margin-top: 80px;}
#products .pcOnly .itemDetail .block.item03 .box02 { margin-left: 120px; padding-top: 60px;}
#products .pcOnly .itemDetail .block.item03 .blockDetail { top: -130px; margin-left: -50px;}
#products .pcOnly .itemDetail .block.item03 .bgtxt { bottom: 140px;}

@media screen and (min-width: 750px) and (max-width: 1024px) {
#products .pcOnly .itemDetail .block {display: block;}
#products .pcOnly .itemDetail .block .blockDetail {}
#products .pcOnly .itemDetail .block.item01 .blockDetail { top: -50px; padding-left: 10px;}
#products .pcOnly .itemDetail .block.item01 .blockTxt { margin-top: 40px;}
#products .pcOnly .itemDetail .block.item01 .box02 { margin-left: 30px;padding-top: 80px;}
#products .pcOnly .itemDetail .block.item02 .blockDetail { top: -130px; padding-left: 20px;}
#products .pcOnly .itemDetail .block.item02 .blockTxt { margin-top: 40px;}
#products .pcOnly .itemDetail .block.item02 .box02 { margin-left: 40px;}
#products .pcOnly .itemDetail .block.item03 .blockDetail { top: -100px; padding-left: 30px;}
#products .pcOnly .itemDetail .block.item03 .blockTxt { margin-top: 40px;}
#products .pcOnly .itemDetail .block.item03 .box02 { margin-left: 60px;}
}

/* spOnly */
#products .spOnly { overflow: hidden;}
#products .spOnly .block.item01 {}
#products .spOnly .block.item02 { margin-top: 150px;}
#products .spOnly .block.item03 { margin: 150px 0 100px 0;}
#products .spOnly .block .blockTit .num .icon { font-size: 1.4rem; padding-left: 20px; background-size: 14px 19px;}
#products .spOnly .block .blockTit .num .icon .en { font-size: 1.6rem;}
#products .spOnly .block .blockTit .num .icon .en .big { font-size: 1.9rem;}
#products .spOnly .block .blockTit .name { font-size: 2.6rem; margin-top: 5px;}
#products .spOnly .block .blockTit .name span { text-indent: 5px;}
#products .spOnly .block .blockTxt {}
#products .spOnly .block .blockTxt .subtit { font-size: 1.8rem; margin-top: 15px;}
#products .spOnly .block .blockTxt .subtit span { text-indent: 5px;}
#products .spOnly .block .blockTxt .txt { font-size: 1.4rem; margin-top: 10px;}
#products .spOnly .block .blockImg { margin-top: 40px;}
#products .spOnly .block.item01 .blockImg { height: 52vw; max-height: 390px;}
#products .spOnly .block.item02 .blockImg { height: 74.4vw; max-height: 558px;}
#products .spOnly .block.item03 .blockImg { height: 77vw; max-height: 578px;}
#products .spOnly .block .blockImg .ph01 { position: relative; z-index: 1;}
#products .spOnly .block .blockImg .txt { width: 1000px; font-size: 10rem; text-align: center; top: 10vw; left: calc(50% - 500px); margin: auto; color: #7b7974; opacity: 0.07; position: absolute;}
#products .spOnly .block.item01 .blockDetail { margin-top: -5vw;}
#products .spOnly .block.item02 .blockDetail { margin-top: -8vw;}
#products .spOnly .block.item03 .blockDetail { margin-top: -8vw;}
#products .spOnly .block .blockDetail { position: relative; z-index: 2;}
#products .spOnly .block .blockDetail .name { font-size: 1.6rem;}
#products .spOnly .block .blockDetail .name .en { margin-left: 10px; font-size: 1.7rem;}
#products .spOnly .block .blockDetail .modal { font-size: 1.5rem;}
#products .spOnly .block .ph02 { margin-top: 30px;}


/* shop */
#products .shopBox { padding: 60px 90px; display: flex; align-items: baseline; max-width: 1100px; background: url("../img/bg2.jpg");}
#products .shopBox .secTit { margin-bottom: 0; width: 50%; text-align: left;}
#products .shopBox .secTit .en { font-size: 7.2rem; display: inline-block;}
#products .shopBox .secTit .jp { font-size: 1.8rem; margin-left: 10px; display: inline-block;}
#products .shopBox .list { display: flex; width: 50%; justify-content: space-between;}
#products .shopBox .list li {}
#products .shopBox .list li a { font-size: 4.8rem; font-family: "Cormorant", serif; color: #be263b;}
#products .shopBox .list li a .icon { padding-right: 60px; background: url("../img/icon_arr.png") center right 15px no-repeat; background-size: 35px 24px; transform: scaleX(0.9); display: inline-block;transition: background-position 0.3s ease;}
#products .shopBox .list li a .icon:hover {background-position: right 5px center;}
@media screen and (max-width: 1099px) {
#products .shopBox { padding: 60px; display: block;}
#products .shopBox .secTit { width: 100%;}
#products .shopBox .list { margin-top: 50px; width: 100%; justify-content: flex-start;}
#products .shopBox .list li { width: 50%;}
}
@media screen and (max-width: 749px) {
#products .shopBox { padding: 30px 45px; width: 90%;}
#products .shopBox .secTit .en { font-size: 5rem;}
#products .shopBox .secTit .jp { font-size: 1.2rem;}
#products .shopBox .list { margin-top: 35px; display: block;}
#products .shopBox .list li { width: 100%; text-align: center;}
#products .shopBox .list li a { font-size: 3.7rem;padding: 15px 0 10px;}
#products .shopBox .list li a .icon { padding-right: 50px; background-size: 22px 15px;}
}


/*==================================
	quality
==================================*/
#quality { margin: 200px auto 0 auto; position: relative; max-width: 1390px;}
#quality .inner { padding: 60px 75px 75px 75px; position: relative; z-index: 1;}
#quality .secTit { color: #fff;}
#quality .secTit .en { font-size: 15rem;}
#quality .secTit .jp { margin-top: 30px;}
#quality .box { margin-top: 250px; color: #fff; display: flex;}
#quality .box .logo { padding-top: 10px; text-align: center;}
#quality .box .logo img{ max-width: 126px;}
#quality .box .logo .txt { font-size: 1.8rem; margin-top: 8px;}
#quality .box .txtArea { margin-left: 30px; padding: 20px 0 20px 30px; border-left: solid 1px #fff;}
#quality .box .txtArea dt { font-size: 3rem; text-indent: 8px;}
#quality .box .txtArea dt span { transform: scaleX(1.06); letter-spacing: 0; display: inline-block;}
#quality .box .txtArea dd { margin-top: 10px; line-height: 1.8;}
#quality .bgMov { width: 100%; height: 100%; position: absolute; left: 0; top: 0;}
#quality .bgMov:before { width: 100%; height: 100%; position: absolute; left: 0; top: 0;content: ""; background-color: rgba(29, 29, 29, .5);}
#quality .bgMov video { width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0;}
@media screen and (max-width: 999px) {
#quality .inner { padding: 60px 25px 75px 25px;}
#quality .pcOnly { display: none;}
#quality .box .txtArea { width: calc( 100% - 126px);}
}
@media screen and (max-width: 749px) {
#quality { margin-top: 100px;}
#quality .inner { padding: 30px 0 35px 0;}
#quality .secTit .en { font-size: 7.2rem;}
#quality .secTit .jp { margin-top: 15px;}
#quality .box { margin-top: 125px;}
#quality .box .logo { margin-top: 5px;}
#quality .box .logo img { max-width: 63px;}
#quality .box .logo .txt { font-size: 1rem; margin-top: 5px;}
#quality .box .txtArea { width: calc( 100% - 63px); margin-left: 15px; padding: 10px 0 10px 15px;}
#quality .box .txtArea dt { font-size: 1.8rem; text-indent: 5px;}
#quality .box .txtArea dt span { display: inline;}
#quality .box .txtArea dd { margin-top: 5px;}
}

/*==================================
	scene
==================================*/
#scene { padding: 170px 0 0 0; text-align: center;}
#scene .txt { font-size: 2rem; margin-top: 40px;}
#scene .txt span { transform: scaleX(1.06); letter-spacing: 0; display: inline-block;}
#scene .sceneSwiper { margin-top: 110px;}
#scene .swiper-wrapper { transition-timing-function: linear;}
#scene .swiper-slide { height: 606px; display: flex; justify-content: center; align-items: center; cursor: pointer; position: relative; overflow: hidden; margin-left: 25px; margin-right: 25px;}
#scene .swiper-slide.ph01 { width: 339px; height: 463px; margin-bottom: 143px;}
#scene .swiper-slide.ph02 { width: 289px; height: 330px; margin-top: 276px;}
#scene .swiper-slide.ph03 { width: 468px; height: 396px; margin-bottom: 210px;}
#scene .swiper-slide.ph04 { width: 339px; height: 460px; margin-top: 117px;}
#scene .swiper-slide.ph05 { width: 468px; height: 396px; margin-top: 25px;}
#scene .swiper-slide.ph06 { width: 339px; height: 460px; margin-top: 146px;}
#scene .swiper-slide.ph07 { width: 289px; height: 330px; margin-top: 25px;}
#scene .swiper-slide.ph08 { width: 468px; height: 396px; margin-top: 185px;}
#scene .swiper-slide.ph09 { width: 289px; height: 330px; margin-top: 25px;}
#scene .swiper-slide.ph10 { width: 468px; height: 396px; margin-top: 220px;}
#scene .swiper-slide.ph11 { width: 339px; height: 460px; margin-top: 82px;}
#scene .swiper-slide:before,
#scene .swiper-slide:after { content: ""; display: block; position: absolute; top: 0; left: 0; margin: auto; transition: .3s cubic-bezier(0.45, 0, 0.55, 1); opacity: 0;}
#scene .swiper-slide:before { background: rgba(0,0,0,.5); width: 100%; height: 100%;}
#scene .swiper-slide:after { font-size: 2rem; padding: 15px; color: #fff; display: flex; text-align: center; justify-content: center; align-items: center; bottom: 0; right: 0;}
#scene .swiper-slide:hover::before,
#scene .swiper-slide:hover::after { opacity: 1;}
#scene .swiper-slide.ph01:after { content: "＃素朴な生地に塩味のアクセント";}
#scene .swiper-slide.ph02:after { content: "＃甘さを引き締め、上品な余韻を生む";}
#scene .swiper-slide.ph03:after { content: "#お肉の旨味を引き立てる";}
#scene .swiper-slide.ph04:after { content: "＃まろやかな味わいに輪郭を添える";}
#scene .swiper-slide.ph05:after { content: "＃味をまとめる";}
#scene .swiper-slide.ph06:after { content: "＃野菜の旨味を際立たせる";}
#scene .swiper-slide.ph07:after { content: "＃野菜の旨味を際立たせる";}
#scene .swiper-slide.ph08:after { content: "＃全ての野菜を美味しくする";}
#scene .swiper-slide.ph09:after { content: "＃心地よい塩味";}
#scene .swiper-slide.ph10:after { content: "＃香ばしさを引き立てる";}
#scene .swiper-slide.ph11:after { content: "＃塩が旨みを豊かにする";}

@media screen and (max-width: 749px) {
#scene { padding: 85px 0 0 0;}
#scene .txt { font-size: 1.6rem;}
#scene .sceneSwiper { margin-top: 55px;}
#scene .swiper-slide { margin-left: 12px; margin-right: 12px;}
#scene .swiper-slide:after { font-size: 1.6rem;}
#scene .swiper-slide.ph01 { width: 245px; height: 335px; margin-bottom: 104px;}
#scene .swiper-slide.ph02 { width: 209px; height: 239px; margin-top: 200px;}
#scene .swiper-slide.ph03 { width: 338px; height: 287px; margin-bottom: 152px;}
#scene .swiper-slide.ph04 { width: 245px; height: 332px; margin-top: 85px;}
	
#scene .swiper-slide.ph05 { width: 268px; height: 226px; margin-top: 25px;}
#scene .swiper-slide.ph06 { width: 239px; height: 324px; margin-top: 146px;}
#scene .swiper-slide.ph07 { width: 189px; height: 215px; margin-top: 25px;}
#scene .swiper-slide.ph08 { width: 268px; height: 226px; margin-top: 185px;}
#scene .swiper-slide.ph09 { width: 189px; height: 215px; margin-top: 25px;}
#scene .swiper-slide.ph10 { width: 268px; height: 226px; margin-top: 220px;}
#scene .swiper-slide.ph11 { width: 239px; height: 324px; margin-top: 82px;}

	
	
}

/*==================================
	faq
==================================*/
#faq.inner { padding: 250px 0 200px 0; max-width: 1100px; position: relative;}
#faq.inner .secTit {}
#faq.inner .secTit .en { font-size: 13rem; display: inline-block;}
#faq.inner .secTit .jp { margin-left: 25px; display: inline-block;}
#faq.inner .list { margin-top: 50px; border-top: solid 1px #e1dcd1;}
#faq.inner .list dt,
#faq.inner .list dd { padding-left: 90px; position: relative;}
#faq.inner .list dt:before,
#faq.inner .list dd:before { font-size: 2.1rem; left: 40px; position: absolute; font-family: "Cormorant", serif;}
#faq.inner .list dt { font-size: 1.8rem; padding-top: 30px; margin-bottom: 10px;}
#faq.inner .list dt:before { top: 28px; content: "Q.";}
#faq.inner .list dd { padding-bottom: 30px; border-bottom: solid 1px #e1dcd1; line-height: 1.8;}
#faq.inner .list dd:before { top: 0; content: "A.";}
@media screen and (max-width: 1359px) {
#faq.inner { width: 89.86%;}
}
@media screen and (max-width: 999px) {
}
@media screen and (max-width: 749px) {
#faq.inner { padding: 125px 0 100px 0;}
#faq.inner .secTit .en { font-size: 6.5rem;}
#faq.inner .secTit .jp { margin-left: 12px;}
#faq.inner .list { margin-top: 25px;}
#faq.inner .list dt,
#faq.inner .list dd { padding-left: 50px;}
#faq.inner .list dt:before,
#faq.inner .list dd:before { font-size: 1.8rem; left: 20px;}
#faq.inner .list dt { font-size: 1.5rem; padding-top: 15px;}
#faq.inner .list dt:before { top: 13px;}
#faq.inner .list dd { padding-bottom: 15px;}
#faq.inner .list dd:before { top: -4px;}
}

/*==================================
	instagram
==================================*/
#instagram { padding: 190px 0 190px 0; text-align: center; background: url("../img/bg2.jpg");}
#instagram  .secTit .en { font-size: 12rem;}
#instagram .instagramSlider { margin-top: 80px;position: relative;}
#instagram .instagramSlider .inner {max-width: 1100px;margin: auto;position: relative;}
#instagram .instagramSwiper {padding: 20px 80px 100px;overflow: hidden;}
#instagram .swiper-slide {height: auto;}
#instagram .instaCard {display: block;background: #fff;border-radius: 24px;overflow: hidden;box-shadow: 0 12px 32px rgba(45, 30, 15, 0.08);transition: transform .3s ease, box-shadow .3s ease;}
#instagram .instaCard:hover {transform: translateY(-6px);box-shadow: 0 16px 40px rgba(45, 30, 15, 0.12);}
#instagram .instaCard_movie {position: relative;aspect-ratio: 9 / 16;background: #fff;overflow: hidden;}
#instagram .instaCard_movie video {display: block;width: 100%;height: 100%;object-fit: cover;}
#instagram .instagramNav {position: absolute;right: 0;bottom: -100px;z-index: 10;display: flex;gap: 40px;}
#instagram .instagramPrev,
#instagram .instagramNext {width: 60px;height: 60px;background: url("../img/icon_arr.png") no-repeat center / contain;cursor: pointer;}
#instagram .instagramPrev {transform: scaleX(-1);}

@media screen and (max-width: 749px) {
#instagram { padding: 95px 0 125px 0;}
#instagram  .secTit .en { font-size: 6rem;}
#instagram .instagramSlider { margin-top: 50px;}
#instagram .instagramSwiper {padding: 0 22px 80px;}
#instagram .instaCard {border-radius: 18px;}
#instagram .instagramPrev,
#instagram .instagramNext {width: 35px;height: 35px;top: calc(50% - 24px);}
#instagram .instagramPagination {margin-top: 24px;}
#instagram .instagramNav {bottom: -60px;gap:20px;}
}

/*==================================
	closing
==================================*/
.closing { text-align: center; background: url("../img/closing_bg.jpg") center center no-repeat; background-size: auto 100%; min-height: 840px;display: flex;justify-content: center;align-items: center;}
.closing .txt { font-size: 4.8rem; color: #fff;}
.closing .txt span { transform: scaleX(1.06); letter-spacing: 0; display: inline-block;}
.closing .ph { max-width: 343px; margin: 70px auto 0 auto;}
@media screen and (max-width: 999px) {
.closing { min-height: 650px;}
.closing .txt { font-size: 3.5rem;}
.closing .ph { max-width: 280px;}
}
@media screen and (max-width: 749px) {
.closing { min-height: 420px;}
.closing .txt { font-size: 2.4rem;}
.closing .ph { max-width: 172px; margin: 35px auto 0 auto;}
}

/*==================================
	shop
==================================*/
#shop.inner { padding: 70px 0 0 0; max-width: 1360px; position: relative;}
#shop.inner .secTit {}
#shop.inner .secTit .en { font-size: 12.6rem; display: inline-block;}
#shop.inner .secTit .jp { margin-left: 25px; display: inline-block;}
#shop.inner .list { margin-top: 70px; display: flex; border-right: solid 1px #e1dcd1; border-bottom: solid 1px #e1dcd1;}
#shop.inner .list li { width: 50%; border-left: solid 1px #e1dcd1; border-top: solid 1px #e1dcd1;}
#shop.inner .list li a { padding: 100px 0; font-size: 7.4rem; font-family: "Cormorant", serif; color: #be263b; text-align: center; transform: scaleX(0.9);}
#shop.inner .list li a .icon { padding-right: 80px; background: url("../img/icon_arr.png") center right 15px no-repeat;background-size: 50px auto; transition: background-position 0.3s ease;}
#shop.inner .list li a .icon:hover {background-position: right 5px center;}
@media screen and (max-width: 1359px) {
#shop.inner { width: 89.86%;}
}
@media screen and (max-width: 999px) {
#shop.inner .list { display: block;}
#shop.inner .list li { width: 100%;}
#shop.inner .list li a { padding: 50px 0;}
}
@media screen and (max-width: 749px) {
#shop.inner .secTit .en { font-size: 6.2rem;}
#shop.inner .secTit .jp { margin-left: 12px;}
#shop.inner .list { margin-top: 35px;}
#shop.inner .list li a { font-size: 3.7rem;}
#shop.inner .list li a .icon { padding-right: 55px; background-size: 22px 15px;}
}

/*==================================
	footer
==================================*/

footer#ft { padding: 70px 0 50px 0;}
footer#ft .inner { max-width: 1360px; position: relative;}
footer#ft .logo { position: absolute; left: 0; bottom: 0; max-width: 137px;}
footer#ft .ftNav { display: flex; justify-content: flex-end; flex-wrap: wrap;}
footer#ft .ftNav li { font-size: 1.4rem; margin: 10px 15px;}
footer#ft .ftNav li:last-child { margin-right: 0;}
footer#ft .copyArea { font-size: 1.2rem; text-align: right; font-family: "Cormorant", serif; color: #5b4d40;}
@media screen and (max-width: 1359px) {
footer#ft .inner { width: 89.86%;}
}
@media screen and (min-width: 750px) {
footer#ft {}
}
@media screen and (max-width: 749px) {
footer#ft { padding: 100px 0;}
footer#ft .logo { max-width: 100px; top: 0; bottom: auto; left: 0; right: 0; margin: auto;position: static;}
footer#ft .ftNav { padding-top: 40px;justify-content: center;}
footer#ft .ftNav li { font-size: 1rem; margin: 5px 8px;}
footer#ft .copyArea { font-size: 0.8rem;text-align: center;margin-top: 25px;}
}
