@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
* {
  margin: 0;
  padding: 0;
  text-decoration: none;
  list-style: none;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1vw;
}

body {
  width: 100%;
}

img {
  width: 100%;
  margin: 0;
  padding: 0;
}

.spBr {
  display: none;
}


/* ----------- TOP AREA ----------- */

#mainArea {
  width: 100%;
}

.mainImg {}

h1 {
  width: 20%;
  position: absolute;
  top: 30%;
  left: 10%;
}

#mainArea ul {
  color: #fff;
}

#mainArea ul .title {
  font-size: 1.4vw;
  position: absolute;
  top: 45%;
  left: 10%;
  font-weight: 500;
}

#mainArea ul .text {
  font-size: 0.9vw;
  position: absolute;
  top: 53%;
  left: 10%;
  line-height: 1.8;
  font-weight: 400;
}

#mainArea button {
  padding: 10px 50px;
  color: #fff;
  background: #000;
  border: 1px solid #000;
  position: absolute;
  top: 73%;
  left: 10%;
  font-size: 1vw;
  font-weight: 700;
}

#mainArea button:hover {
  background: #fff;
  color: #000;
  border: 1px solid #000;
  font-weight: 700;
  transition: color 0.5s;
  transition: background 0.5s;
  cursor: pointer;
}


/* ----------- YOUTUBE ----------- */

#video {
  width: 100%;
  margin: 8% 0;
  height: auto;
}

.youtube {
	position: relative;
  width: 50%;
  aspect-ratio: 16 / 9;
  margin: 0 auto;
}

.youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
  width: 100%;
  height: 100%;
}

.youtube img {
	position: absolute;
	top: 0;
	left: 0;
	cursor: pointer;
}

/* ----------- MESSAGE ----------- */

#message {
  width: 100%;
  height: auto;
  margin: 0;
  overflow: hidden;
  display: flex;
  justify-content: center;
}

#message .img {
  width: 50%;
  height: auto;
  display: flex;
}

#message .messageWrapper {
  width: 50%;
  min-width: 600px;
  max-height: 100%;
  background: #E8E6E1;
}

#message ul {
  width: 80%;
  height: auto;
  padding: 0 0 10px 0;
  margin: 6% 10% 5% 10%;
  border-bottom: 1px solid #000;
  overflow: hidden;
}

#message ul .sub {
  float: left;
  font-weight: 700;
  padding: 10px 0 0 0;
  margin: 0 0 0 15px;
}

#message ul .name {
  float: left;
  font-size: 1.8vw;
  font-weight: 700;
  margin: 0 0 0 5%;
}

#message ul .title {
  float: right;
  font-size: 1vw;
  font-weight: 700;
  padding: 10px 0 0 0;
  margin: 0 15px 0 0;
}

#message .text {
  width: 80%;
  margin: 0 10%;
  font-size: 0.9vw;
  text-align: center;
  line-height: 1.8;
}

.tb-logo_top{
  width: 100%;
  text-align:center;
}
/* ----------- PRODUCE ----------- */

#produce {
  width: 100%;
  height: auto;
  margin: 0;
  padding: 8% 0;
  overflow: hidden;
}

#produce .title {
  width: 80%;
  height: 50px;
  margin: 0 10% 5% 10%;
  font-size: 1.2vw;
  font-weight: 700;
  line-height: 50px;
  text-align: center;
  background: #E8E6E1;
}

#produce .produceWrapper {
  width: 80%;
  margin: 0 auto;
  height: auto;
  display: flex;
  justify-content: center;
}

#produce .teaImg {
  width: 45%;
}

#produce .teaImg img {}

#produce ul {
  width: 55%;
}

#produce .subTitle {
  font-size: 1.5vw;
  font-weight: 500;
  margin: 5% 0 0 10%;
}

#produce .text {
  font-size: 0.9vw;
  margin: 3% 0 0 10%;
  line-height: 1.7;
}


/* ----------- DAMAGE ----------- */

#damage {
  padding: 8% 0;
  background: #E8E6E1;
}

.damageWrapper {
  width: 80%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.damageWrapper ul {
  width: 50%;
}

.damageWrapper ul .title {
  width: 80%;
  margin: 0 auto;
}

.damageWrapper ul .subTitle {
  font-size: 1vw;
  margin: 3% auto 0 auto;
  text-align: center;
  font-weight: 700;
}

.damageWrapper ul .cause {
  font-size: 1.5vw;
  margin: 8% auto 5% auto;
  text-align: center;
  font-weight: 700;
}

.damageWrapper ul .text {
  width: 80%;
  font-size: 0.9vw;
  margin: 0 auto;
  line-height: 2.2;
}

.damageWrapper .damageImg {
  width: 50%;
  margin: 3%;
}

.causeCnt {
  width: 75%;
  margin: 3% auto 0 auto;
  height: auto;
  overflow: hidden;
  text-align: center;
}

.causeCntWrapper {
  width: 50%;
  margin: 0 auto;
  float: left;
}

.causetitle {
  font-size: 1vw;
  margin: 3% 0 3% 0;
}

.causeCntWrapper ul {
  display: flex;
  justify-content: center;
}

.causeCntWrapper ul li {
  width: 30%;
  margin: 0 1%;
}


/* ----------- CARE ----------- */

#care {
  padding: 8% 0;
  background: #FBFAF7;
}

.careWrapper {
  width: 60%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
}

.careImg {
  width: 40%;
}

.careWrapper ul {
  width: 60%;
  text-align: center;
  font-size: 1vw;
}

.careWrapper li {
  margin: 5% auto;
  font-weight: 500;
  line-height: 1.8;
}

.bottleSet img {
  width: 40%;
  margin: 10% auto 0 auto;
  display: block;
}


/* ----------- FEATURES ----------- */

#features {
  width: 100%;
  padding: 8% 0 3% 0;
  background: #DCD9D3;
}

#features .heading {
  width: 100%;
  text-align: center;
  margin: 0 auto 5% auto;
  letter-spacing: 1px;
}

#features .heading .title {
  width: 30%;
  margin: 0 auto;
  font-size: 2vw;
  font-weight: 900;
  border-bottom: 1px solid #000;
  padding: 0 0 10px 0;
}

#features .heading .sub {
  width: 100%;
  font-size: 1vw;
  padding: 10px 0 0 0;
  text-align: center;
}

.featuresContent {
  width: 80%;
  height: auto;
  margin: 0 auto 5% auto;
  padding: 7% 0;
  overflow: hidden;
  background: #fff;
}

.contentTitle {
  width: 100%;
  display: flex;
  justify-content: center;
}

.contentTitle .title {
  width: 250px;
  height: 50px;
  font-size: 1.3vw;
  text-align: center;
  line-height: 50px;
  color: #fff;
  background: #000;
  font-weight: 500;
}

.contentTitle .sub {
  float: left;
  font-size: 1.5vw;
  line-height: 50px;
  margin: 0 0 0 3%;
  font-weight: 500;
}

.singleList {
  width: 40%;
  height: auto;
  margin: 8% auto 3% auto;
  font-size: 1.2vw;
  font-weight: 500;
  padding: 0 1% 1% 1%;
  text-align: center;
  border-bottom: 1px solid #000;
}

.materialDetail {
  width: 80%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.materialDetail .img {
  width: 30%;
}

.materialDetail .text {
  width: 70%;
  font-size: 0.9vw;
  line-height: 2;
  padding: 0 5%;
}

.border {
  width: 85%;
  margin: 5% auto;
  border-bottom: 1px solid #BFBFBF;
  display: block;
  text-align: center;
}

.doubleList {
  width: 80%;
  margin: 0 auto 5% auto;
  line-height: 2;
}

.doubleList .text {
  font-size: 0.9vw;
  width: 80%;
  margin: 0 auto;
  line-height: 2;
  text-align: center;
}

.layoutLeft {
  width: 60%;
  display: flex;
  margin: 3% auto;
  justify-content: flex-start;
  align-items: center;
}

.layoutLeft .title {
  font-size: 1.1vw;
  font-weight: 500;
  margin: 0 0 0 3%;
}

.layoutLeft .detail {
  font-size: 0.9vw;
  font-weight: 500;
  margin: 0 0 0 2%;
}

.number {
  width: 100%;
  height: auto;
  max-width: 50px;
  min-height: 50px;
  background: #000;
  color: #fff;
  text-align: center;
  line-height: 50px;
  font-size: 1.5vw;
  font-weight: 500;
}

.layoutCenter {
  width: 60%;
  margin: 2% auto 5% auto;
  font-size: 0.9vw;
  display: flex;
  line-height: 2;
  flex-direction: row;
}

.madeinjapan {
  display: flex;
  justify-content: center;
  align-items: center;
}

.madeinjapan .en {
  width: 20px;
  height: 20px;
  border-radius: 20px;
  background: #E51212;
  display: block;
}

.madeinjapan .text {
  font-size: 1.2vw;
  font-weight: 700;
  margin: 0 1%;
}

.madeinjapan .ex {
  font-size: 0.8vw;
  font-weight: 500;
  margin: 0 1%;
}

#materialImg {
  width: 80%;
  margin: 0 auto;
}

#materialImg .left {
  float: left;
  width: 30%;
}

#materialImg .right {
  float: right;
  width: 20%;
}

.marginNone {
  margin: 0 auto 2% auto;
}


/* ----------- HOW TO USE ----------- */

#howtouse {
  width: 100%;
  height: auto;
  padding: 8% 0;
  overflow: hidden;
  background: #EDEAEA;
}

#howtouseWrapper {
  width: 80%;
  height: auto;
  margin: auto;
  text-align: center;
}

#howtouseTitle {
  text-align: center;
}

#howtouseTitle .title {
  font-size: 2vw;
  font-weight: 900;
}

#howtouseTitle .jptitle {
  font-size: 1vw;
  margin: 0.5% 0 3% 0;
}

#howtouseTitle .text {
  font-size: 1vw;
  line-height: 1.8;
  font-weight: 500;
}

#howtouseImg {
  width: 80%;
  margin: 5% auto;
}

#howtouseImg li {
  width: 70%;
  margin: 0 auto;
}


/* ----------- JIN BACK ----------- */

#jinBack {
  width: 100%;
  position: relative;
}

#jinBack .text {
  width: 80%;
  position: absolute;
  text-align: center;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  color: #fff;
  letter-spacing: 1px;
  line-height: 2;
  font-size: 1vw;
}


/* ----------- BUY NOW ----------- */

#buynow {
  width: 100%;
  height: auto;
  padding: 8% 0;
  background: #FBFAF7;
}

#buynow .logo {
  width: 15%;
  margin: 0 auto;
}

#buynow .img {
  width: 25%;
  margin: 5% auto;
}

#buynow .name {
  margin: 0 auto 1% auto;
  text-align: center;
  font-size: 1.3vw;
  font-weight: 700;
}

#buynow .detail {
  margin: 0 auto;
  text-align: center;
  font-size: 0.9vw;
  line-height: 2;
}

#buynow .btn {
  margin: 3% 0;
}

#buynow button {
  text-align: center;
  margin: 0 auto;
  display: block;
  padding: 10px 50px;
  color: #fff;
  background: #000;
  border: 1px solid #000;
  font-size: 1vw;
  font-weight: 700;
}

#buynow button:hover {
  background: #fff;
  color: #000;
  font-weight: 700;
  border: 1px solid #000;
  transition: color 0.5s;
  transition: background 0.5s;
  cursor: pointer;
}


/* ----------- FOOTER ----------- */

.lp-footer{background:#1C2212;display:-ms-flexbox;display:flex;padding:10px 50px;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}
.lp-footer a{transition:.3s}
.lp-footer a:hover{opacity:0.5}
.lp-footer img{width:180px}
.lp-footer ul{display:-ms-flexbox;display:flex}
.lp-footer ul li{padding-left:15px;padding-right:15px}
.lp-footer ul a{font-size: 14px;font-weight: bold;transition:none;color:#fff;letter-spacing:0.1em;text-decoration: none}
.lp-footer ul a:hover{opacity:1;text-decoration:underline}

/* ---- フェード ---------------------------- */

.animation {
  opacity: 0;
  visibility: hidden;
  transition: 1s;
  transform: translateY(30px);
}


/*アニメーション要素までスクロールした時のスタイル*/

.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}



