@charset "UTF-8";
/*reset*/
abbr, address, article, aside, audio, blockquote, body, canvas, cite, code, dd, details, div, dl, dt, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, iframe, legend, li, menu, nav, object, ol, p, pre, section, summary, table, tbody, td, tfoot, th, thead, tr, ul, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
  box-sizing: border-box;
  line-height: 2;
  font-size: 100%;
  font-style: normal;
  text-align: justify;
  color: #2B2B2B;
  font-weight: 400;
  letter-spacing: normal;
}

b, caption, del, dfn, em, i, ins, kbd, label, mark, q, samp, small, span, strong, sub, sup, time, var {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
  box-sizing: border-box;
  line-height: 1;
  font-weight: 400;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, picture, section, source {
  display: block;
  box-sizing: border-box;
}

li, ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:after, blockquote:before, q:after, q:before {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
}

ins {
  text-decoration: none;
}

ins, mark {
  background-color: #000;
  color: #2B2B2B;
}

mark {
  font-style: italic;
  font-weight: 700;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

img {
  vertical-align: bottom;
  font-size: 0;
  line-height: 0;
  width: 100%;
  height: auto;
  border: 0;
  display: block;
}

strong {
  font-weight: 400;
}

table {
  width: 100%;
}

/*base*/
body {
  background: #fff;
  -webkit-text-size-adjust: 100%;
  position: relative;
  font-family: YakuHanJP, "NotoSansCJKjp", "Noto Sans CJK JP", sans-serif;
}

a {
  color: #2B2B2B;
  text-decoration: none;
  -webkit-transition: .2s;
  transition: .2s;
}

a:visited, a:hover, a:link {
  color: #2B2B2B;
}

a:hover {
  opacity: .7;
}

@media screen and (min-width: 641px) {
  a[href^="tel:"] {
    cursor: default;
  }
}

@media screen and (max-width: 1000px) {
  a:hover {
    opacity: 1;
  }
}

input {
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
}

textarea {
  -webkit-appearance: none;
  appearance: none;
}

button {
  font-family: YakuHanJP, "NotoSansCJKjp", "Noto Sans CJK JP", sans-serif;
}

.ScrollStop {
  overflow: hidden;
  height: 100%;
}

.l-Main {
  padding-top: 77px;
}

@media screen and (max-width: 1600px) {
  .l-Main {
    padding-top: 4.8125vw;
  }
}

.l-Content {
  width: 1000px;
  margin: 0 auto;
  padding: 0 10px;
}

.l-FvContent {
  max-width: 1600px;
  margin: 0 auto 9.2%;
}

.l-TopContent {
  max-width: 1100px;
  margin: 0 auto 160px;
}

.l-TopContent--02, .l-TopContent--04 {
  margin: 0 auto;
}

.l-TopContent--03 {
  margin: 0 auto 110px;
}

.l-TopImgContent {
  height: 470px;
  position: relative;
  margin: 0 0 4.5%;
}

.l-TopImgContent__img {
  position: absolute;
  width: 25%;
}

.l-TopImgContent__img--01, .l-TopImgContent__img--03, .l-TopImgContent__img--04, .l-TopImgContent__img--05 {
  top: 0;
}

.l-TopImgContent__img--01, .l-TopImgContent__img--02 {
  left: 0;
}

.l-TopImgContent__img--02 {
  bottom: 0;
}

.l-TopImgContent__img--03 {
  left: 25%;
}

.l-TopImgContent__img--04 {
  right: 25%;
}

.l-TopImgContent__img--05, .l-TopImgContent__img--06 {
  right: 0;
}

.l-TopImgContent__img--06 {
  right: 0;
  bottom: 0;
  width: 50%;
}

.l-ProductHeadWrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 0 107px;
}

.l-About--01 {
  width: 1600px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}

.l-About--02 {
  width: 1100px;
  margin: 0 auto;
  position: relative;
}
.l-About--03 {
  width: 1100px;
  margin: 0 970px;
  position: relative;
}

.l-About--nohidden {
  overflow: visible;
}

.l-About--xhidden {
  overflow-x: hidden;
}

.l-Lp {
  margin: 0 -300px 115px;
}

.l-LpWrap {
  min-width: 1000px;
  overflow: hidden;
}

.l-LpWrap__inner {
  width: 1000px;
  margin: 0 auto;
}

.l-LpWrap__img {
  margin: 0 -300px;
}

.l-LpWrap__rele {
  position: relative;
}

.l-LpWrap__gif {
  position: absolute;
  top: 225px;
  left: 220px;
  width: 560px;
}

.l-AboutBody {
  min-width: 1000px;
  overflow: hidden;
}

.l-AboutBody__inner {
  width: 1000px;
  margin: 0 auto;
}

.Header {
  background: #fff;
  position: relative;
  height: 75px;
  position: fixed;
  width: 100%;
  z-index: 100;
  transition: 0.1s all;
}

@media screen and (max-width: 1600px) {
  .Header {
    height: 4.6875vw;
  }
}

.Top .Header {
  position: absolute;
  top: 0;
  left: 0;
}

.Top .Header.fixed {
  position: fixed;
  animation: header_transform 0.3s;
}

.HeaderInner {
  width: 1600px;
  margin: 0 auto;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  padding: 0 40px;
}

@media screen and (max-width: 1600px) {
  .HeaderInner {
    width: 100%;
    padding: 0 2.5vw;
  }
}

.HeaderLogo {
  flex: 0 1 295px;
  margin: -12px 151px 0 0;
}

@media screen and (max-width: 1600px) {
  .HeaderLogo {
    flex: 0 1 18.4375vw;
    margin: -0.75vw 3.125vw 0 0;
  }
}

.HeaderNav {
  flex: 0 1 438px;
  margin: 0 64px 0 0;
}

@media screen and (max-width: 1600px) {
  .HeaderNav {
    flex: 0 1 27.375vw;
    margin: 0 4vw 0 0;
  }
}

.HeaderNavList {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.HeaderNavList__item {
  text-align: center;
  line-height: 1;
  padding: 2.1% 0 5.5%;
  cursor: pointer;
}

.HeaderNavList__text--01 {
  margin: 4% 0 5%;
  font-size: 19px;
  display: block;
  letter-spacing: 0.105rem;
}

@media screen and (max-width: 1600px) {
  .HeaderNavList__text--01 {
    font-size: 1.1875vw;
  }
}

.HeaderNavList__text--02 {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.05rem;
}

@media screen and (max-width: 1600px) {
  .HeaderNavList__text--02 {
    font-size: 0.6875vw;
  }
}

.HeaderNavList__link {
  display: block;
  position: relative;
}

.HeaderNavList__link--01::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  position: absolute;
  border-bottom: 1px #2B2B2B solid;
  border-left: 1px #2B2B2B solid;
  transform: rotate(-45deg);
  opacity: 0;
  left: 0;
  right: 0;
  bottom: -37%;
  margin: auto;
  transition: 0.35s all;
}

.HeaderNavList__item--01:hover .HeaderNavList__link--01::after {
  opacity: 1;
}

.HeaderCart {
  flex: 0 1 216px;
  margin: -21px 20px 0 0;
}

@media screen and (max-width: 1600px) {
  .HeaderCart {
    flex: 0 1 16.625vw;
    margin: -1.3125vw 1.25vw 0 0;
  }
}

.HeaderCart__name {
  font-size: 12px;
  letter-spacing: 0.05rem;
  margin: 0 0 .6%;
}

@media screen and (max-width: 1600px) {
  .HeaderCart__name {
    font-size: 0.75vw;
  }
}

.HeaderCart2Col {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.HeaderCartBtn {
  font-size: 12px;
  border: #008676 1px solid;
  border-radius: 2px;
  flex: 0 1 48%;
  text-align: center;
  color: #008676;
  font-weight: 500;
  padding: .5% .5% .5% 8.5%;
  box-sizing: border-box;
  letter-spacing: 0.05rem;
  background: url(../images/header/header_icon_01.png) 13.3% 50% no-repeat;
  background-size: 15.5% auto;
}

@media screen and (max-width: 1600px) {
  .HeaderCartBtn {
    font-size: 0.75vw;
    border-radius: 0.125vw;
  }
}

.HeaderCartBtn--02 {
  background-image: url(../images/header/header_icon_02.png);
  background-position: 26% 50%;
}

.HeaderCartBtn:visited, .HeaderCartBtn:link, .HeaderCartBtn:focus {
  color: #008676;
}

.HeaderTel {
  flex: 0 1 182px;
  margin: -4px 15px 0 0;
}

@media screen and (max-width: 1600px) {
  .HeaderTel {
    flex: 0 1 14.5vw;
    margin: -0.25vw 0.9375vw 0 0;
  }
}

.HeaderTelBox {
  display: flex;
  justify-content: flex-start;
  flex-wrap: nowrap;
  align-items: center;
}

.HeaderTelBox__img {
  flex: 0 1 10.8%;
  margin: .9% 3.6% 0 0;
}

.HeaderTelBox__text {
  flex: 0 1 84.3%;
  font-size: 22px;
  line-height: 1;
  letter-spacing: 0.018rem;
}

@media screen and (max-width: 1600px) {
  .HeaderTelBox__text {
    font-size: 1.375vw;
  }
}

.HeaderTel__text {
  font-size: 10px;
}

@media screen and (max-width: 1600px) {
  .HeaderTel__text {
    font-size: 0.625vw;
  }
}

.HeaderBtn {
  flex: 0 1 120px;
  font-size: 12px;
  font-weight: 500;
  text-align: center;
  line-height: 1.45;
  padding: .5% 0;
  border-radius: 2px;
  letter-spacing: 0.05rem;
  border: #2B2B2B 1px solid;
  position: relative;
  margin: -13px 0 0;
}

@media screen and (max-width: 1600px) {
  .HeaderBtn {
    flex: 0 1 7.5vw;
    border-radius: 0.125vw;
    font-size: 0.75vw;
    margin: -0.8125vw 0 0 0;
  }
}

.HeaderBtn::after {
  content: "";
  display: block;
  border-top: #2B2B2B 1px solid;
  border-right: #2B2B2B 1px solid;
  width: 4px;
  height: 4px;
  position: absolute;
  right: 7%;
  top: 50%;
  margin: -1.9% 0 0;
  transform: rotate(45deg) skew(15deg, 15deg);
}

.HeaderBtnOuter {
  flex: 0 1 100%;
  margin: 4% 0 0;
}

.HeaderProductWrap {
  position: relative;
  width: 100%;
  height: 100%;
}

.HeaderProductWrap::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #FFFFFFaa;
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(40px);
}

.HeaderProductWrapOuter {
  visibility: hidden;
  position: absolute;
  left: 0;
  top: 75px;
  width: 100%;
  transition: 0s all;
  transform: translateY(-10vh);
  opacity: 0;
  z-index: -1;
  overflow: hidden;
  cursor: default;
}

@media screen and (max-width: 1600px) {
  .HeaderProductWrapOuter {
    top: 4.6875vw;
  }
}

.HeaderNavList__item--01:hover .HeaderProductWrapOuter {
  visibility: visible;
  transform: translateY(0);
  opacity: 1;
  z-index: 0;
  transition: 0.25s transform, 0s opacity 0.2s;
}

.HeaderProductInner {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  padding: 46px 0;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 1600px) {
  .HeaderProductInner {
    max-width: 56.25vw;
    padding: 2.875vw 0;
  }
}

.HeaderProductDefine {
  flex: 0 1 175px;
  margin: 0 146px 0 0;
}

@media screen and (max-width: 1600px) {
  .HeaderProductDefine {
    flex: 0 1 10.9375vw;
    margin: 0 9.125vw 0 0;
  }
}

.HeaderProductDefine:nth-child(3n) {
  flex: 0 1 185px;
  margin: 0;
}

@media screen and (max-width: 1600px) {
  .HeaderProductDefine:nth-child(3n) {
    flex: 0 1 11.5625vw;
  }
}

.HeaderProductDefine__ttl {
  font-size: 16px;
  display: inline-block;
  border-bottom: 1px #2B2B2B solid;
  letter-spacing: 0.105rem;
  margin: 0 0 13.8%;
}

@media screen and (max-width: 1600px) {
  .HeaderProductDefine__ttl {
    font-size: 1vw;
  }
}

.HeaderProductDefine__data {
  margin: 0 0 15px;
}

@media screen and (max-width: 1600px) {
  .HeaderProductDefine__data {
    margin: 0 0 0.9375vw;
  }
}

.HeaderProductDefine__small {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.05rem;
}

@media screen and (max-width: 1600px) {
  .HeaderProductDefine__small {
    font-size: 0.6875vw;
  }
}

.HeaderProductDefine__link {
  display: flex;
  justify-content: flex-start;
  flex-wrap: nowrap;
  align-items: center;
}

.HeaderProductDefine__pk {
  flex: 0 1 22%;
}

.HeaderProductDefine__text {
  flex: 0 1 78%;
  font-size: 12px;
  line-height: 1.5;
  padding: 0 0 0 1%;
  letter-spacing: 0.05rem;
}

@media screen and (max-width: 1600px) {
  .HeaderProductDefine__text {
    font-size: 0.75vw;
  }
}

@keyframes header_transform {
  0% {
    transform: translateY(-77px);
  }
  100% {
    transform: translateY(0);
  }
}

.Footer {
  background: #DCEFE9;
  margin-top: 100px;
}

.Media + .Footer,
.ProductListWrap + .Footer,
.Shop + .Footer {
  margin: 0;
}

.FooterInner {
  display: flex;
  justify-content: flex-start;
  flex-wrap: nowrap;
  padding: 80px 10px 50px 10px;
  background: #DCEFE9;
}

.FooterContent {
  position: relative;
}

.FooterContent--01 {
  flex: 0 1 24.8%;
  margin: 0 6.3% 0 0;
}

.FooterContent--02 {
  flex: 0 1 32.1%;
  margin: 0 6.1% 0 0;
}

.FooterContent--03 {
  flex: 0 1 30.8%;
}

.FooterLinkList {
  padding: 2.5% 0 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.FooterLinkList__item {
  flex: 0 1 50%;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.05rem;
  margin: 0 0 7.4%;
}

.FooterCopyRight {
  background: #DCEFE9;
  font-size: 10px;
  text-align: center;
  display: block;
  letter-spacing: 0.2rem;
  padding: 0 0 15px;
  width: 1000px;
  margin: 0 auto;
}

.Tel {
  margin: 0 0 3%;
  display: block;
}

.TelBox {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 0 1.3%;
}

.TelBox__img {
  flex: 0 1 10.7%;
  margin: 0.8% 0 0;
}

.TelBox__text {
  flex: 0 1 86%;
  font-size: 40px;
  letter-spacing: 0.018rem;
  color: #008676;
  line-height: 1;
}

.Tel__text {
  font-size: 11px;
  letter-spacing: 0.05rem;
}

/*Noto Serif*/
.u-NotoSerif {
  font-family: "Noto Serif CJK jp","NotoSerifCJKjp", "Noto Serif Japanese", serif;
  font-weight: 400;
}

/*Noto Sans*/
.u-NotoSans {
  font-family: "NotoSansCJKjp", serif;
  font-weight: 400;
}

/*Julius Sans One*/
.u-Julius {
  font-family: "Julius Sans One";
}

.u-dispNone {
  display: none;
}

/*要素表示・非表示*/
.u-pc_none {
  display: none;
}

.u-Page__ttl--bg {
  background: url(../images/common_bg_ttl_01.png) no-repeat;
  background-size: cover;
  background-position: center;
  width: 100%;
  height: 205px;
  box-sizing: border-box;
  padding: 76px 0 0;
  margin: 0 0 20px;
}

.ProductListWrap .u-Page__ttl--bg,
.Product .u-Page__ttl--bg {
  background-image: url(../images/common_bg_ttl_product_01.png);
}

.Media .u-Page__ttl--bg {
  background-image: url(../images/common_bg_ttl_media_01.png);
}

.Shop .u-Page__ttl--bg {
  background-image: url(../images/common_bg_ttl_shop_01.png);
}

.About .u-Page__ttl--bg {
  background-image: url(../images/common_bg_ttl_about_01.png);
}

.u-Page__ttl--main {
  display: block;
  margin: 0 auto 12px;
  text-align: center;
  letter-spacing: 0.3rem;
  font-size: 1.812rem;
}

.u-Page__ttl--sub {
  display: block;
  margin: 0 auto;
  text-align: center;
  letter-spacing: 0.04rem;
  font-size: 1rem;
}

.u-Content__ttl {
  margin: 0 0 70px;
  padding: 0 0 0 60px;
  display: flex;
  position: relative;
}

.Top .u-Content__ttl {
  margin: 0 0 50px;
}

.u-Content__ttl::before {
  content: "";
  width: 43px;
  height: 2px;
  display: block;
  background: #2B2B2B;
  position: absolute;
  left: 0;
  top: 50%;
  margin: -5px 0 0;
}

.u-Content__ttl--main {
  letter-spacing: 0.5rem;
  font-size: 2.812rem;
}

.Top .u-Content__ttl--main {
  font-size: 53px;
  letter-spacing: .46rem;
}

.u-Content__ttl--sub {
  align-self: center;
  margin: 10px 0 0 20px;
  font-size: 1rem;
}

.u-Content__text--01, .u-Content__text--02 {
  font-size: 1rem;
  margin: 0 0 26px;
  letter-spacing: 0.05rem;
  text-align: center;
}

.u-Content__text--02 {
  margin: 0 0 42px;
}

.u-Btn {
  width: 30.61224489795918%;
  max-width: 300px;
  margin: 0 auto;
  border: #2B2B2B 1px solid;
  text-align: center;
  display: block;
  font-size: 1rem;
  padding: 0.8%;
  box-sizing: border-box;
  letter-spacing: 0.05rem;
  position: relative;
}

.u-Btn::after {
  content: "";
  display: block;
  border-top: #2B2B2B 1px solid;
  border-right: #2B2B2B 1px solid;
  width: 8px;
  height: 8px;
  position: absolute;
  right: 3.6%;
  top: 50%;
  margin: -1.5% 0 0;
  transform: rotate(45deg) skew(10deg, 10deg);
}

.u-Btn__sakura {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  justify-content: flex-start;
  position: absolute;
  bottom: 15%;
  left: -307px;
  width: 76.6%;
  padding: 2.3% 7.8%;
}

.u-Btn__producthead {
  max-width: 100%;
  width: 100%;
  background: #CB5A6F;
  border-color: #CB5A6F;
  color: #fff;
  padding: 2% 6.3% 2% .8%;
  letter-spacing: .15rem;
}

.u-Btn__producthead:visited, .u-Btn__producthead:link, .u-Btn__producthead:focus {
  color: #fff;
}

.u-Btn__producthead::after {
  margin: -0.9% 0 0;
  transform: rotate(135deg) skew(10deg, 10deg);
}

.u-Btn__producthead--01 {
  width: 63%;
  margin: 0 4% 4% 34%;
  font-size: 20px;
  padding: 3.8% 6.3% 3.8% .8%;
}

.Product__sham_con .u-Btn__producthead--01 {
  width: 100%;
  margin: 0;
  font-size: 16px;
  padding: 3.6% 6.3% 3.6% .8%;
}

.u-Btn__producthead--01::after {
  border-color: #fff;
  transform: rotate(45deg) skew(10deg, 10deg);
}

.u-Btn__producthead--02 {
  padding: 3.3% 6.3% 3.2% .8%;
  background: #FCEDF0;
  color: #CB5A6F;
}

.u-Btn__producthead--02:visited, .u-Btn__producthead--02:link, .u-Btn__producthead--02:focus {
  color: #CB5A6F;
}

.u-Btn__producthead--02::after {
  border-color: #CB5A6F;
}

.u-Btn--Contact {
  color: #008676;
  border-color: #008676;
  max-width: 100%;
  width: 100%;
  padding: 3.1%;
  margin: 0 0 6.4%;
}

.u-Btn--Contact:visited, .u-Btn--Contact:link, .u-Btn--Contact:focus {
  color: #008676;
}

.u-Btn--Contact::after {
  border-color: #008676;
}

.u-Btn__text {
  font-size: 11px;
  line-height: 1.5;
  flex: 0 1 28%;
}

.u-Btn__img {
  flex: 0 1 72%;
  padding: 0 0 0 6%;
}

.u-Btn--insta {
  background: url(../images/common_sns_insta_01.png) 17.4% 52.7% no-repeat;
  background-size: 20px 20px;
  padding-left: 31px;
}

.u-Sns__insta {
  width: 30px;
  height: 30px;
}

.u-Sns__insta--02 {
  position: absolute;
  top: 145px;
  right: 127px;
}

.u-Sns__line {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  color: #008676;
  align-items: center;
}

.u-Sns__text {
  color: #008676;
}

.u-Sns__text--01 {
  flex: 0 1 87%;
  font-size: 12px;
  letter-spacing: 0.05rem;
}

.u-Sns__img {
  flex: 0 1 10.3%;
}

.u-maker__yellow {
  background: linear-gradient(transparent 0%, #fff799 0%);
  border-radius: 6px;
}

.u-anime01, .u-anime02, .u-anime03, .u-anime04, .u-anime05, .u-anime06 {
  transform: translateY(30px);
  opacity: 0;
  transition: .3s transform, .3s opacity;
}

.u-anime01.u-show, .u-anime02.u-show, .u-anime03.u-show, .u-anime04.u-show, .u-anime05.u-show, .u-anime06.u-show {
  transform: translate(0);
  opacity: 1;
}

.u-anime02 {
  transition-delay: 0.2s;
}

.u-anime03 {
  transition-delay: 0.3s;
}

.u-anime04 {
  transition-delay: 0.4s;
}

.u-anime05 {
  transition-delay: 0.5s;
}

.u-anime06 {
  transition-delay: 0.6s;
}

.u-Text--green {
  color: #008676;
}

.u-Text--yellow {
  color: #fff799;
}

.u-Text--ocher {
  color: #B58A17;
}

.u-Text--orange {
  color: #E08317;
}
/*# sourceMappingURL=main.css.map */