@charset "utf-8";

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
common
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ----------------------------------------------------
element base setting (common)
---------------------------------------------------- */
body {color: #fff; line-height: 1.8;  background: #111;}
#wrapper {}
a {color: #fff; text-decoration: none;}
a:hover {text-decoration: underline;}
.clickable a, .clickable a:hover {color: #fff;}
img {width:100%; height: auto;}
.inner {width: 90%; max-width: 1200px; margin-right: auto; margin-left: auto; position: relative;}
.inner--S {max-width:1000px !important;}

:root {
	--ff-serif: "EB Garamond", serif;
 --ff-num: caflisch-script-pro, sans-serif;
 --c-gold: #b09664;
 --c-yellow: #c9a927;
}

/* ----------------------------------------------------
header (common)
---------------------------------------------------- */
#header {background: rgb(0,0,0);background: linear-gradient(90deg, rgba(0,0,0,1) 20%, rgba(37,37,37,1) 50%, rgba(0,0,0,1) 80%); position: sticky; left: 0; top: 0; width: 100%; height: min(9.58vw,115px); display: flex; display: -webkit-flex; align-items: center; justify-content: center; box-shadow: -10px 0 15px 0 rgba(0,0,0,0.8); z-index: 10;}
#header::before{content:""; width: 100%; height: 100%; background: url("../img/common/bg-01.svg") left center / 7% auto repeat; opacity: 0.08; position: absolute; left: 0; top: 0;}
#header::after {content: ""; width: 100%; height: min(0.6vw, 8px); position: absolute; left: 0; bottom: 0; background: rgb(109,84,43); background: linear-gradient(90deg, rgba(109,84,43,1) 0%, rgba(237,221,172,1) 25%, rgba(168,136,65,1) 50%, rgba(208,183,126,1) 75%, rgba(122,93,51,1) 100%);}
#hd-logo {width: min(6.67vw,80px); z-index: 10;}

#btnGlobal {position: absolute; right:min(3.3vw,40px); top: min(2.79vw,33.5px); z-index: 120; display: flex; display: -webkit-flex; justify-content:center; align-items: center;cursor: pointer;}
#btnGlobal .btnWrapGlobal { width: min(3.75vw,45px); height: min(2.92vw,35px); position: relative;}
#btnGlobal .btnLine { height: 2px; background: #b09664; position: absolute; right:0; width: 100%;}
#btnGlobal .btnLine.btnLineT {  top: 0;}
#btnGlobal .btnLine.btnLineM { top: 50%; transform: translateY(-50%);}
#btnGlobal .btnLine.btnLineB { bottom: 0; }
#btnGlobal.active .btnLine.btnLineT { display: none;}
#btnGlobal.active .btnLine.btnLineM { transform: translateY(0) rotate(45deg) ;}
#btnGlobal.active .btnLine.btnLineB { transform: rotate(-45deg); bottom:inherit; top: 50%;}
#btnGlobal .btnLine.btnLineM, #btnGlobal .btnLine.btnLineB {transition: all, ease-in-out, 0.3s;}

#grandMenu {background: rgba(0,0,0,0.8); width: min(40vw, 400px); height: 100vh; position: fixed; z-index: 100;  right: -110%; top: 0; overflow: auto; padding: min(10vw, 120px) min(5vw,60px); transition: all 0.6s ease;}
#grandMenu.active {right: 0; }
#navGlobal li {font-family: var(--ff-serif); font-size: min(2vw, 2.4rem); font-weight: 400; border-bottom: 1px solid var(--c-gold);}
#navGlobal li a {display: block; padding: min(0.83vw,10px) 0;}

@media (max-width: 767px) {
 body {padding-top: min(15vw,115px);}
 #header {height: min(15vw,115px); position: fixed; left: 0; top:0; width: 100%;}
 #header::after {height: min(0.6vw, 8px);}
 #hd-logo {width: min(12vw,80px);}
 #btnGlobal {right:min(4vw,40px); top: min(4vw,33.5px);}
 #btnGlobal .btnWrapGlobal { width: min(8vw,45px); height: min(6vw,35px);}
 #grandMenu {width: 80vw; padding: min(16vw, 120px) min(5vw,60px);}
 #navGlobal li {font-size: min(5vw, 2.4rem);}
 #navGlobal li a {padding: min(2vw,10px) 0;}
}


/* ----------------------------------------------------
footer (common)
---------------------------------------------------- */
#footer{position: relative; background: rgb(17,17,17);background: linear-gradient(90deg, rgba(17,17,17,1) 0%, rgba(37,37,37,1) 50%, rgba(17,17,17,1) 100%); padding-bottom:min(6.6vw,80px);}
#footer::before {content:""; width: 100%; height: 100%; background: url("../img/common/bg-02.svg") left center / 7% auto repeat; position: absolute; left: 0; top: 0;}
#footer::after {content: ""; width: 100%; height: min(0.6vw, 8px); position: absolute; left: 0; top: 0; background: rgb(109,84,43); background: linear-gradient(90deg, rgba(109,84,43,1) 0%, rgba(237,221,172,1) 25%, rgba(168,136,65,1) 50%, rgba(208,183,126,1) 75%, rgba(122,93,51,1) 100%);}

#ftContact {background: #2f2f2f url("../img/common/bg-ftContact-01.jpg") center center / cover no-repeat; padding-top: min(0.6vw, 8px); display: flex; display: -webkit-flex; justify-content: center; align-items: center; height: min(34vw,408px); position: relative;}
.ftContact__txt {text-align: center; font-size: min(1.6vw,2rem);}
.ftContact__txt h2 {font-family: var(--ff-serif); font-size: min(3.17vw,3.8rem); letter-spacing: 0.25rem;}
.ftContact__btn {margin: min(2.5vw,30px) auto 0;}

.ft__wrapper {width: 90%; max-width: 1320px; margin: 0 auto; padding: min(6.6vw,80px) 0  0; position: relative;}
#ft-logo {width:min(7.5vw,90px);}

.ft__address{margin-top: min(3.75vw,45px);}
.ft__address h3 {font-size: min(2vw,2.4rem); font-family: var(--ff-serif); }
.ft__flex {flex-wrap: wrap; display: flex; display: -webkit-flex; column-gap: min(3.3vw,40px);}
.ft__location {font-size: min(1.25vw, 1.5rem); line-height: 1.6; margin-top: min(2.5vw,30px)}
.ft__location h4 {font-weight: 600;}

.ft__link{text-align: right; position: absolute; right: 0; bottom: 0; font-size: min(1.25vw, 1.5rem);}

#pagetop { z-index: 150; position: fixed; bottom: 4%; right: 3%;}
#pagetop a {display:block; width: 50px;	height: 50px; border-radius: 50%; background-color: var(--c-yellow); position: relative;}
#pagetop a::before {content:""; width: min(1vw,12px); aspect-ratio: 1/1; border-top: 2px solid #fff;  border-right: 2px solid #fff; position: absolute; left: 50%; top: 50%; transform-origin: center center; transform: translate(-50%,-50%) rotate(-45deg);}

@media (max-width: 767px) {
 #footer{padding-bottom:min(4vw,80px);}
 #footer::before {background-size: 15% auto;}
 #footer::after {height: min(0.6vw, 8px);}

 #ftContact {height: auto; padding: 6vw 4vw;}
 .ftContact__txt {font-size: min(3.8vw,2rem);}
 .ftContact__txt h2 {font-size: min(6vw,3.8rem);}
 .ftContact__btn {margin: min(4vw,30px) auto 0;}

 .ft__wrapper {padding: min(8vw,80px) 0  0;}
 #ft-logo {width:min(18vw,90px); margin: 0 auto;}
 .ft__address{margin-top: min(6vw,45px);}
 .ft__address h3 {font-size: min(5vw,2.4rem);}
 .ft__flex {display: block;}
 .ft__location {font-size: min(3.4vw, 1.5rem); line-height: 1.4; margin-top: min(3vw,30px)}
 .ft__location p {margin-bottom: 0;}
 .ft__location h4 {font-weight: 600; font-size: min(4vw, 1.8rem);}

 .ft__link{text-align: center; position: relative; font-size: min(3.5vw, 1.5rem); margin-top: 5vw;}
 .ft__link a {text-decoration: underline;}
  #pagetop { bottom: 2%;}
  #pagetop a::before { width: min(3vw,12px);}
}


/* ----------------------------------------------------
common
---------------------------------------------------- */
.btn {display: inline-block; min-width: min(27.5vw,330px); font-family: var(--ff-serif); font-size: min(1.6vw,2rem); padding: min(1.5vw, 18px) min(1.66vw, 20px); letter-spacing: 0.15rem; position: relative; text-align: center; margin: 0 auto;}

.btn--gold {background: rgb(201,159,0); background: linear-gradient(90deg, rgba(201,159,0,1) 15%, rgba(147,117,0,1) 50%, rgba(201,159,0,1) 85%); }
.btn--gold::before{content: ""; width: 100%; height: min(0.25vw,3px); position: absolute; left: 0; bottom: 0; background: rgb(160,129,13);
background: linear-gradient(90deg, rgba(160,129,13,1) 15%, rgba(181,161,85,1) 50%, rgba(160,129,13,1) 85%);}

.btn--line {border: 1px solid #fff;}
.btn--line::before {content: ""; width:min(8.3vw,100px); height: 1px; background: #fff; position: absolute; right: 0; top: 50%; transform: translateX(30%);}

@media (max-width: 767px) {
 .btn {display: block; min-width: inherit; width: 70vw; font-size: min(4.5vw,2rem); padding: min(3vw, 18px) min(4vw, 20px);}
 .btn--gold::before{height: min(0.6vw,3px); }
 .btn--line::before {width:min(20vw,100px);}
}

/* ----------------------------------------------------
home
---------------------------------------------------- */
#homVisual {width: 100%; aspect-ratio: 1600/ 785; background: #222 url("../img/home/img-mainVisual-01.jpg") center center / cover no-repeat; display: flex; display: -webkit-flex; justify-content: center; align-items: center; position: relative;}
#homVisual::before {content: ""; width: 100%; height: min(0.6vw, 8px); position: absolute; left: 0; bottom: 0;background: rgb(109,84,43);
background: linear-gradient(90deg, rgba(109,84,43,1) 0%, rgba(237,221,172,1) 25%, rgba(168,136,65,1) 50%, rgba(208,183,126,1) 75%, rgba(109,84,43,1) 100%); z-index: 1;}
.homVis__txt {text-align: center; font-family: var(--ff-serif);}
.homVis__txt h1 {width: min(35.83vw,430px); margin: 0 auto;}
.homVis__txt p {margin-bottom: 0;font-size: min(1.83vw,2.2rem); letter-spacing: 0.15rem; }
.homVis__txt .homTitle__read {font-size: min(2.5vw,3rem); margin: 0 auto min(7.5vw,90px); }

@media (max-width: 767px) {
 #homVisual {aspect-ratio: 4/3; padding: 3vw 5vw;}
 .homVis__txt h1 {width: min(50vw,430px);}
 .homVis__txt p {font-size: min(3.9vw,2.2rem); letter-spacing: 0;  line-height: 1.3;}
 .homVis__txt .homTitle__read {font-size: min(6vw,3rem); margin: 0 auto 6vw;}
}

#homAbout {padding: min(10vw, 120px) 0 min(10.42vw,125px); text-align: center; background: url("../img/home/bg-homAbout-01.jpg") center center / cover no-repeat; position: relative;}
#homAbout::before{content: ""; background: url("../img/home/bg-face-01.svg") center center / cover no-repeat; aspect-ratio: 132/150; height: 94%; position: absolute; left: 50%; top: 0; transform: translateX(-50%); opacity: 0.1;}
#homAbout .inner {position: relative;}
#homAbout h2 {font-size: min(4vw,4.8rem); line-height: 1.2; margin-bottom: min(3.3vw, 40px );}
#homAbout h2 span {font-size: min(6vw,7.2rem);}
.homAbout__btn {margin-top: min(5.83vw,70px);}

@media (max-width: 767px) {
 #homAbout {padding: min(20vw, 120px) 0 min(18vw,125px); }
 #homAbout::before{height: 40%;}
 #homAbout h2 {font-size: min(6vw,4.8rem); margin-bottom: min(8vw, 40px );}
 #homAbout h2 span {font-size: min(8vw,7.2rem);}
 .homAbout__btn {margin-top: min(15vw,70px);}
}

#homProduct{ position: relative; background: rgb(0,9,21);background: linear-gradient(90deg, rgba(0,9,21,1) 20%, rgba(6,15,45,1) 50%, rgba(0,9,21,1) 80%);}
#homProduct::after {content: ""; position: absolute; left: 0; bottom: 0; width: 100%; background: url("../img/home/bg-homProduct-01.png") center bottom / 100% auto no-repeat; aspect-ratio: 320/203;}
#homProduct::before{content:""; width: 100%; height: 100%; background: url("../img/common/bg-01.svg") left center / 8% auto repeat; opacity: 0.08; position: absolute; left: 0; top: 0;}
.homPrd__wrap {padding: min(8.3vw,100px) 0 min(15vw, 180px); position: relative;}
.homPrd__wrap::after{content: ""; width: calc(100% - min(4vw, 40px)); height: calc(100% - min(4vw, 40px)); border: 1px solid var(--c-gold); position: absolute; left: min(2vw,20px); top: min(2vw,20px); z-index: 1; }

#homProduct .inner {z-index: 2;}
.homPrd__title {text-align: center; font-family: var(--ff-serif); font-size: min(3.3vw, 4rem); margin-bottom: min(4.16vw,50px);}
.homPrd__title h2 {width: min(30vw,360px); margin: 0 auto min(4.16vw,50px);}
.homPrd__title p {line-height: 1.4; letter-spacing: 0.1rem;}
.homPrd__title h3 {font-size: min(7.5vw, 9rem);}
.homPrd__title h3 span {display: inline-block; line-height: 1.2;  font-weight: 600; background: rgb(201,159,0);
background: linear-gradient(180deg, rgba(201,159,0,1) 15%, rgba(233,209,98,1) 30%, rgba(147,117,0,1) 50%, rgba(237,216,111,1) 80%);
-webkit-background-clip: text;-webkit-text-fill-color: transparent;}
.homPrd__txt {max-width: 900px; margin: 0 auto;}
.homPrd__list {background: rgba(0,0,0,0.9); margin: min(5vw,60px) auto 0; padding: min(5vw,60px) min(6.67vw,80px); position: relative;}
.homPrd__list::before{content: ""; width: calc(100% - min(5vw,60px));  height: calc(100% - min(5vw,60px)); border: 1px solid var(--c-gold); position: absolute; left: min(2.5vw,30px); top: min(2.5vw,30px); }
.homPrd__list h3 {color: var(--c-gold); position: absolute; left: min(5vw,60px); top: min(2.5vw,30px); transform: translateY(-50%); font-size: min(2.5vw,3rem);}
.homPrd__list h3 span {background:rgba(0,0,0,0.9); padding: 0 min(1.66vw,20px) ;position: relative;}
.homPrd__list ul {position: relative;}
.homPrd__list ul li:not(:last-child) {margin-bottom: min(1.66vw,20px);}
.homPrd__list ul li {position: relative; padding-left: min(5.83vw,70px);}
.homPrd__list ul li::before{content: ""; height: 1px; width: min(3.3vw, 40px); position: absolute; left: 0; top: 50%; background: #fff;}
.homPrd__btn {text-align: center; margin: min(5.83vw,70px) auto 0;}

@media (max-width: 767px) {
 #homProduct::before{background-size: 20% auto;}
 .homPrd__wrap {padding: min(10vw,100px) 0 min(20vw, 180px);}
 .homPrd__wrap::after{width: calc(100% - min(8vw, 40px)); height: calc(100% - min(8vw, 40px));left: min(4vw,20px); top: min(4vw,20px);  }

 #homProduct .inner {width: 80%;}
 .homPrd__title {font-size: min(5vw, 4rem); margin-bottom: min(8vw,50px);}
 .homPrd__title h2 {width: min(30vw,360px); margin: 0 auto min(8vw,50px);}
 .homPrd__title p {line-height: 1.4; letter-spacing: 0.1rem;}
 .homPrd__title h3 {font-size: min(7vw, 9rem);}
 .homPrd__list {margin: min(6vw,60px) auto 0; padding: min(6vw,60px) min(5vw,80px); }
 .homPrd__list::before{width: calc(100% - min(4vw,60px));  height: calc(100% - min(4vw,60px)); left: min(2vw,30px); top: min(2vw,30px); }
 .homPrd__list h3 {left: 50%; top: min(2vw,30px); transform: translate(-50%,-50%); font-size: min(5.4vw,3rem);}
 .homPrd__list h3::before {content: ""; width: 20vw; height: 2vw; background: rgba(0,0,0,0.9); position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); }
 .homPrd__list h3 span {background: none; position: relative; z-index: 10;}
 
 .homPrd__list ul li:not(:last-child) {margin-bottom: min(3vw,20px);}
 .homPrd__list ul {margin: 0;}
 .homPrd__list ul li {padding-left: min(5vw,70px); line-height: 1.4;}
 .homPrd__list ul li::before{width: min(3vw, 40px);  top: 0.8em; }
 .homPrd__btn {margin: min(6vw,70px) auto 0;}
}

/* homInstagram */
#homSNS {padding: min(7.5vw,90px) 0 min(11.25vw,135px); text-align: center;}
#homSNS h2 {font-size: min(3.17vw,3.8rem); position: relative; padding-top: min(3.3vw,40px);  line-height: 1.4; margin-bottom: min(4.16vw,50px);}
#homSNS h2::before{content: ""; background: url("../img/common/ic-fb-01.svg") center center / cover no-repeat; aspect-ratio:1/1; width: min(3.3vw,40px); position: absolute; left: 50%; top: 0; transform: translateX(-50%);}

.fb__wrap {height: 500px; width: 500px; margin: 0 auto;}
.fb__wrap iframe {width: 100%; height: 100%; margin: 0 auto; text-align: center;}

@media (max-width: 767px) {
 #homSNS {padding: min(10vw,90px) 0 min(10vw,135px);}
 #homSNS h2 {font-size: min(7vw,3.8rem); padding-top: min(8vw,40px);  margin-bottom: min(5vw,50px);}
 #homSNS h2::before{width: min(8vw,40px);}
 .fb__wrap {max-width: 380px; width: 100%;}
 .fb__wrap iframe {width: 100%;}
 
 .mt20{margin-top: 4vw;}
 .homFB__btn {margin-top: 6vw;}

}

/* faq */
#homQA {padding: min(7.92vw,95px) 0 min(14.58vw,175px); background: #111 url("../img/home/bg-homQA-02.png") center bottom / 100% auto no-repeat; position: relative;}
#homQA::before {content: ""; position: absolute; left: 0; top:0; background: url("../img/home/bg-homQA-01.png") left top / 100% auto no-repeat; aspect-ratio: 32/12; width: 100%;}
#homQA h2 {text-align: center; font-size: min(6vw,7.2rem); line-height: 1.2; }
#homQA h2 span {font-size: min(5vw,6rem);}
.homQA__wrap {margin-top: min(3.3vw,40px);}

.homQA {border-bottom: 1px solid var(--c-gold); }
.homQA--Q {padding: min(2.5vw,30px) min(6.6vw, 80px) min(2.5vw,30px) min(3.3vw, 40px); position: relative; cursor: pointer;}
.homQA--A {position: relative; padding: 0 0 0 min(3.3vw, 40px); display: none; margin-bottom: min(2.5vw,30px);}
.homQA--Q span, .homQA--A span{position: absolute; left: 0; font-family: var(--ff-serif);  font-size: min(2.33vw,2.8rem); line-height: 1.2;}
.homQA--Q span {color: #25c8f1;  top:min(2.5vw,30px);}
.homQA--A span {color: #ffc527;  top:0;}

.homQA--Q::before, .homQA--Q::after {content: ""; width: min(2.5vw,30px); height: 1px; background: #25c8f1; position: absolute; right: min(1.66vw,20px); top: 50%; transform-origin: center center; transition: all 0.3s ease;}
.homQA--Q::after {transform: rotate(90deg);}
.homQA--Q.active::after {transform: rotate(0);}

@media (max-width: 767px) {
 #homQA {padding: min(10vw,95px) 0 min(15vw,175px);}
 #homQA::before {background-size: cover; aspect-ratio: 32/20;}
 #homQA h2 {font-size: min(7vw,7.2rem); }
 #homQA h2 span {font-size: min(6vw,6rem);}
 .homQA__wrap {margin-top: min(5vw,40px);}

 .homQA--Q {padding: min(4vw,30px) min(16vw, 80px) min(4vw,30px) min(8vw, 40px); margin: 0; line-height: 1.4;}
 .homQA--A {padding: 0 0 0 min(8vw, 40px);margin-bottom: min(6vw,30px);}
 .homQA--Q span, .homQA--A span{font-size: min(5.4vw,2.8rem); }
 .homQA--Q span {top:min(3vw,30px);}
 .homQA--Q::before, .homQA--Q::after {width: min(3vw,30px); right: min(3vw,20px);}
}

/* location */
#homLocation {width: 100%; height: min(46.67vw,560px); background: #0e445d;}
.homLocation__wrap { overflow: hidden; width: 100%; height: 100%;}
.homLocation__wrap iframe {width: 100%; height: 100%; border: none; }

@media (max-width: 767px) {
#homLocation { height: min(70vw,600px);}
.homLocation__wrap iframe { height: 100%; }
}


/* ----------------------------------------------------
underlayer
---------------------------------------------------- */
.p-title{display: flex; display: -webkit-flex; justify-content: center; align-items: center; height: min(12vw,180px); background: #222; margin-bottom: min(5vw,60px);}
.p-title__txt {text-align: center; }
.p-title__txt h2 {font-size: min(5vw, 6rem); line-height: 1.2; }

@media (max-width: 767px) {
.p-title{height: min(20vw,180px);}
.p-title__txt h2 {font-size: min(7vw, 6rem); }
}

/* ----------------------------------------------------
about
---------------------------------------------------- */
.abtInfo {background: #111 url("../img/page/about/bg-abtInfo-01.png") center top / 100% auto no-repeat; padding-bottom: min(7.5vw, 90px);}
.abtInfo__inr {padding: min(7.5vw,90px) 0; text-align: center;}
.abtInfo__inr h3 {width: min(20vw,240px); margin: 0 auto min(3.3vw, 40px);}
.abtInf__above h4 {font-size:min(6vw,7.2rem); line-height: 1; margin-bottom: min(3.3vw, 40px);}
.abtInf__above h3:not(:first-child) {margin-top: min(7vw, 85px) ;}

.abtInf__below h4 {font-size: min(2vw, 2.4rem); line-height: 1;}
.abtInf__history {position: relative;}
.abtInf__history__wrap {width: 90%; max-width: 1320px; margin: min(7.5vw,90px) auto; display: flex; display: -webkit-flex; position: relative;}
.abtInf__history:nth-child(even) .abtInf__history__wrap {justify-content: flex-end;}

.abtInf__history__cont {width: 50%; text-align: left; position: relative; background: rgba(17,17,17,0.8);}
.abtInf__history__cont h4 {color: var(--c-yellow); font-size: min(5vw, 6rem); line-height: 1.2; font-weight: 600; margin-bottom: min(4.16vw, 50px);}
.abtInf__history__cont h4 span {display: block; font-size: min(2vw, 2.4rem);}

.abtInf__history--01 .abtInf__history__cont {padding: min(7.5vw,90px) min(6.6vw,80px) min(7.5vw,90px) 0; background: none;}
.abtInf__history--01::before {content: ""; width: 60%; height: 100%; position: absolute; right: 0; top: 0; background: url("../img/page/about/bg-abtHistory-01.jpg") right center / cover no-repeat; }
.abtInf__history--02 .abtInf__history__cont {padding: min(5.83vw,70px) 0 min(2.5vw,30px) min(6.6vw,80px);}
.abtInf__history--02::before {content: ""; width: 55%; height: 100%; background: url("../img/page/about/bg-abtHistory-02.png") center top / auto 100% no-repeat; position: absolute; left: 0; top: max(-2.5vw, -30px);}

.abtInf__history--03 .abtInf__history__cont {width: 56%; padding: 0 min(6.6vw,80px) min(5.83vw,70px) min(5vw, 60px); } 
.abtInf__history--03 .abtInf__history__wrap::before {content: ""; width: 53%; height: 100%; position: absolute; right: 0;top:min(7.5vw,90px);background: url("../img/page/about/bg-abtHistory-03.jpg") right center / cover no-repeat;}

.abtLocation {background: #111 url("../img/page/about/bg-abtLocation-01.jpg") center top / cover no-repeat; padding: min(8.3vw,100px) 0 min(10.83vw,130px); text-align: center;}
.abtLocation__txt h3 {width: min(22.67vw,272px); margin: 0 auto min(4.16vw, 50px);}
.abtLocation__txt h4 {font-size: min(5vw, 6rem); line-height: 1.1; margin-bottom: min(3.3vw, 40px);}

.abtLocation__detailer {width: 90%; max-width: 1320px; margin: min(7.5vw, 90px) auto 0; border: 3px solid rgba(166,140,0,0.5);  background: rgba(0,0,0,0.5); padding: min(5vw,60px) min(5vw,60px) min(6.6vw,80px);}
.abtLocation__detailer h3{color: var(--c-yellow); font-size: min(4.16vw,5rem);margin-bottom: min(3.3vw,40px);}
.abtLocation__detailer h3 span {position: relative; padding-bottom: min(1.25vw, 15px);}
.abtLocation__detailer h3 span::before{content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background: var(--c-yellow);}
.abtLocation__detailer h4 {font-size: min(3.3vw,4rem); line-height: 1.4; margin-bottom: min(3.3vw,40px);}
.abtLocation__detailer ul {margin: min(3.3vw,40px) auto 0; text-align: left; max-width: 890px; color: var(--c-yellow);}
.abtLocation__detailer ul li {margin: min(0.83vw, 10px) 0; padding-left: 3.5em; position: relative;}
.abtLocation__detailer ul li::before {content: ""; width: 2.2em; height: 1px; background: var(--c-yellow); position: absolute; left: 0; top: 50%;}

@media (max-width: 767px) {
.abtInfo {background-size: auto 40% ; padding-bottom:0;}
.abtInfo__inr {padding: min(10vw,90px) 0;}
.abtInfo__inr h3 {width: min(40vw,240px); margin: 0 auto min(5vw, 40px);}
.abtInf__above h4 {font-size:min(8vw,7.2rem); margin-bottom: min(7vw, 40px);}
.abtInf__above h3:not(:first-child) {margin-top: min(15vw, 85px) ;}

.abtInf__below h4 {font-size: min(7vw, 2.4rem);}
.abtInf__history__wrap {margin: min(7.5vw,90px) auto; display: block;}

.abtInf__history__cont {width: 100%; }
.abtInf__history__cont h4 {font-size: min(8vw, 6rem); line-height: 1.2; margin-bottom: min(6vw, 50px);}
.abtInf__history__cont h4 span {font-size: min(5vw, 2.4rem);}

.abtInf__history--01 {padding-top: 40vw;}
.abtInf__history--01 .abtInf__history__cont {background: rgba(17,17,17,0.8); padding: 8vw 4vw 0;}
.abtInf__history--01::before {width: 90%; height: 50vw; top: 10vw;}
.abtInf__history--02 {padding-top:0;}
.abtInf__history--02 .abtInf__history__cont {padding: 5vw 4vw 0;}
.abtInf__history--02 h4 {text-align: center;}
.abtInf__history--02::before {width: 100%; height: 100%; top: 0;}
.abtInf__history--03 h4 {text-align: right;}
.abtInf__history--03 .abtInf__history__cont {width: 100%; padding:8vw 4vw; } 
.abtInf__history--03 .abtInf__history__wrap{padding-bottom: 40vw;}
.abtInf__history--03 .abtInf__history__wrap::before {width: 100%; height: 50vw; top:inherit; right: inherit; left: -5vw; bottom: 0;}

.abtLocation { padding: min(10vw,100px) 0; text-align: left;}
.abtLocation__txt h3 {width: min(36vw,272px); margin: 0 auto min(6vw, 50px); text-align: center;}
.abtLocation__txt h4 {font-size: min(7vw, 6rem); margin-bottom: min(8vw, 40px); text-align: center;}
.abtLocation__detailer {margin: min(10vw, 90px) auto 0; padding: min(8vw,60px) min(5vw,60px);}
.abtLocation__detailer h3{font-size: min(7vw,5rem);margin-bottom: min(8vw,40px); text-align: center;}
.abtLocation__detailer h3 span {padding-bottom: min(3vw, 15px);}
.abtLocation__detailer h4 {font-size: min(6vw,4rem); margin-bottom: min(5vw,40px);text-align: center;}
.abtLocation__detailer ul {margin: min(6vw,40px) auto 0; }
.abtLocation__detailer ul li {margin: min(2vw, 10px) 0; padding-left: 1.8em;}
.abtLocation__detailer ul li::before {width: 1em; top: 0.8em;}

}


/* ----------------------------------------------------
product
---------------------------------------------------- */
#products .flex {display: flex; display: -webkit-flex; justify-content: space-between; flex-wrap: wrap;}

.prdVisual {aspect-ratio: 24/11; position: relative; background: url("../img/page/products/img-visual-01.jpg") center center / cover no-repeat; width: 100%; text-align: center; padding-top: min(6vw,100px);}
.prdVisual h2 {width: min(30.5vw,366px); margin: 0 auto 0;}
.prdVis__img {margin: 0; position: absolute; right: 0; bottom: 0; width: min(36vw,633px); transform: translateY(10%);}
.prdRead {padding: min(7.08vw,85px) 0 0; text-align: center;}

.prdWrap{padding: min(16.67vw,200px) 0 min(6.6vw,80px); position: relative; font-size: min(1.3vw,1.6rem);}
.prdWrap::after{content: "";position: absolute; left: 0; top: 0; background: url("../img/page/products/bg-prdWrap-01.svg") center top / cover no-repeat; aspect-ratio: 300/21; width: 100%; }

.prdContent {width: 90%; max-width: 1000px; margin: 0 auto; position: relative;}
.prdContent .prdCont__step {text-align: center; margin-bottom: min(4.16vw, 50px);}
.prdCont__step p {font-family: var(--ff-num); margin: 0; line-height: 1; font-size: min(5vw,6rem); }
.prdCont__step p span {position: relative; padding: 0 2rem; }
.prdCont__step p span::before, .prdCont__step p span::after {content: ""; width: min(4.58vw,55px); height: 1px; background: #fff; position: absolute; top: 50%;}
.prdCont__step p span::before {left:0; transform: translateX(-100%);}
.prdCont__step p span::after {right:0; transform: translateX(100%);}
.prdCont__step h3 {font-size: min(6vw,7.2rem); line-height: 1.3; letter-spacing: 0.5rem;}
.prdContent h4 {color: var(--c-yellow); font-size: min(4.16vw,5rem); line-height: 1.4; margin-bottom: min(2.5vw, 30px); text-align: center; letter-spacing: 0.5rem;}

.prdContent .flex .prdCont__img {width: 42%; aspect-ratio: 1/1; background: #fff; display: flex; display: -webkit-flex; justify-content: center; align-items: center;}
.prdContent .flex .prdCont__content {width: 50%; display: flex; display: -webkit-flex; justify-content: center; align-items: center; }
.prdContent .flex .prdCont__content p:not(:last-child) {margin-bottom: 1em;}

.prd-01 {text-align: center; padding-top: min(10vw,120px);}

/* silder */
.prdSlider--01{background: #fff; margin: 0 auto min(3.3vw, 40px); padding: min(2.5vw,30px) 0; width: 100%; max-width:680px; }
.prdSlider--02{ padding: min(2.5vw,30px);}
.prdSlider--01 div img {width: auto; max-width: 100%; margin: 0 auto;}
.prdSlider--02 div img {width: 100%; margin: 0 auto; max-width: 300px;}

.prd-02::before,.prd-03::before {content: ""; width: 100%; aspect-ratio: 160/23; position: absolute; left: 0; top: 0; background: rgb(17,17,17);
background: linear-gradient(0deg, rgba(17,17,17,1) 0%, rgba(0,25,55,1) 100%);}
.prd-04::before{content: ""; width: 100%; aspect-ratio: 160/23; position: absolute; left: 0; top: 0;background: rgb(17,17,17);
background: linear-gradient(0deg, rgba(17,17,17,1) 0%, rgba(107,98,0,1) 100%);}

.prd-04 {padding-bottom: min(12.5vw,150px);}
.prdEx {width: 90%; max-width: 1200px; margin: min(10vw, 120px) auto 0; border: 1px solid var(--c-gold); position: relative; padding: min(8.3vw,100px) min(5vw,60px) min(5vw,60px);}
.prdEx h4 {text-align: center; width: 100%; position: absolute; left: 0; top: 0; transform: translateY(-50%); color: var(--c-yellow); font-size: min(4.16vw, 5rem); letter-spacing: 0.2rem; }
.prdEx h4 span {background: #111; padding: 0 min(2.5vw, 30px);}

.prdEx__cont {width: 45%;}
.prdEx__cont h5 {font-size: min(3vw,3.6rem); margin-bottom: min(2.5vw,30px);}
.prdEx__img {width: 49%;}


@media (max-width: 767px) {
.prdVisual {aspect-ratio: 5/3; padding-top: min(6vw,100px);}
.prdVisual h2 {width: min(40vw,366px);}
.prdVis__img {width: min(45vw,633px); transform: translateY(30%);}
.prdRead {padding: min(15vw,85px) 0 0; text-align: left;}

.prdWrap{padding: min(15vw,200px) 0 min(8vw,80px); font-size: min(3.8vw,1.6rem);}

.prdContent .prdCont__step {margin-bottom: min(8vw, 50px);}
.prdCont__step p {font-size: min(8vw,6rem); }
.prdCont__step p span::before, .prdCont__step p span::after {width: min(5vw,55px);}
.prdCont__step h3 {font-size: min(8vw,7.2rem); letter-spacing: 0.1rem;}
.prdContent h4 {font-size: min(6.5vw,5rem); margin-bottom: min(3vw, 30px); letter-spacing: 0.1rem;}

.prdContent .flex .prdCont__img {width: 100%; margin: 0 auto min(10vw, 50px); padding: 4vw;}
.prdContent .flex .prdCont__content {width: 100%; display: block; text-align: left;}

/* slider */
.prdSlider--01{margin: 0 auto min(6vw, 40px); padding: min(4vw,30px) 0; }
.prdSlider--02{ padding: min(4vw,30px); height: 80vw;}
.prdSlider--01 div img {width: 100%; margin: 0 auto;}
.prdSlider--02 div img {width: auto; max-height: 72vw;}


.prdEx {margin: min(15vw, 120px) auto 0;  padding: min(8.3vw,100px) min(5vw,60px) min(5vw,60px);}
.prdEx h4 {font-size: min(7vw, 5rem); letter-spacing: 0.1rem; }
.prdEx__cont {width: 100%; margin-bottom: 5vw;}
.prdEx__cont h5 {font-size: min(6vw,3.6rem); margin-bottom: min(5vw,30px);}
.prdEx__img {width: 100%;}
}


/* --------------------------------------------------
contact
---------------------------------------------------- */
.cont_wrap {max-width: 1000px; padding-bottom: min(10vw, 120px);}
.cont_wrap h3 {text-align: center; font-size: min(3vw, 3.6rem); margin-bottom: min(2.5vw,30px);}
.cont_wrap h3 span {position: relative; padding-bottom: min(0.83vw,10px);}
.cont_wrap h3 span::before {content: ""; width: 100%; height: 1px; background: #fff; position: absolute; left: 0; bottom: 0;}

.cont__table {max-width: 690px; background: #fff; margin: min(5vw,60px) auto 0; padding: min(4.16vw,50px);}
.cont__table table{width: 100%;}
.cont__table table td {padding: 5px 0;}
.cont__table input[type="text"], .cont__table input[type="email"], .cont__table textarea {width: 100%; border: 1px solid #ccc; padding: min(0.83vw, 10px); outline: none; color: #333;}
.cont__table textarea {height: min(20vw,240px);}
.policyAgree {text-align: center; color: #333; font-size: min(1.25vw, 1.5rem); margin: min(0.83vw, 10px) auto 0;}
.policyAgree a {color: #333; text-decoration: underline;}
.policyAgree input[type="checkbox"] {border-radius: 0; padding: 5px; margin-right: 10px; display:inline-block;}
.btnPrimary {border: none; background: #af0000; width: 80%; display: block; margin:min(1.66vw, 20px) auto 0; padding: min(1vw,12px);}

@media (max-width: 767px) {
 .cont_wrap {padding-bottom: min(15vw, 120px);}
 .cont_wrap h3 {font-size: min(6vw, 3.6rem); margin-bottom: min(5vw,30px);}
 .cont_wrap h3 span {padding-bottom: min(2vw,10px);}
 .cont__table {padding: min(5vw,50px) min(5vw,50px) min(8vw,50px);}
 .cont__table input[type="text"], .cont__table input[type="email"], .cont__table textarea {padding: min(2vw, 10px);}
 .policyAgree {font-size: min(3.8vw, 1.5rem); margin: min(1vw, 10px) auto 0;}
 .btnPrimary {margin:min(4vw, 20px) auto 0; padding: min(2vw,12px);}

 }
 
 
/* --------------------------------------------------
privacy
---------------------------------------------------- */
.privacy__wrap{font-size: min(1.25vw, 1.5rem);}
.privacy__date {text-align: right; margin: 0;}

.privacy__cont {margin: min(3.3vw,40px) 0;}
.privacy__cont h3 {text-align: left;}

.privacy__cont dl dt {font-weight: 600; }
.privacy__cont dl dt:not(:first-child) {margin-top: min(1.25vw, 15px);}

.listDot {margin: min(1.25vw, 15px) 0;}
.listDot li {position: relative; left: 1em; text-indent: -1em;}
.listDot li::before{content: "・"; }

@media (max-width: 767px) {
.privacy__wrap{font-size: min(3.8vw, 1.5rem);}
.privacy__cont {margin: min(8vw,40px) 0;}
.privacy__cont dl dt:not(:first-child) {margin-top: min(3vw, 15px);}
.listDot {margin: min(3vw, 15px) 0;}

}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
pcSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media (min-width:768px) {
/* ----------------------------------------------------
common(pc)
---------------------------------------------------- */
/* hover */
a:hover {
  opacity: .8 !important; filter: alpha(opacity=80);
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
}
a img:hover {
  opacity: .8 !important; filter: alpha(opacity=80);
  -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
}
.clickable:hover {
  filter: alpha(opacity=80) !important;	opacity: .8 !important;
  -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
}
.clickable:hover {
  opacity: 0.7;
  -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
}

}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
tabletSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media (max-width: 1200px) and (min-width: 768px) {

}


/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
spSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media (max-width: 767px) {


}