@charset "UTF-8";
/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */
@import url("https://fonts.googleapis.com/css2?family=Forum&family=Noto+Sans+JP:wght@100..900&display=swap");
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  word-break: normal;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
}

*, :after, :before {
  background-repeat: no-repeat;
  box-sizing: inherit;
}

:after, :before {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  padding: 0;
  margin: 0;
}

hr {
  overflow: visible;
  height: 0;
  color: inherit;
}

details, main {
  display: block;
}

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden] {
  display: none;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

a {
  background-color: transparent;
}

a:active, a:hover {
  outline-width: 0;
}

code, kbd, pre, samp {
  font-family: monospace, monospace;
}

pre {
  font-size: 1em;
}

b, strong {
  font-weight: bolder;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit;
  text-indent: 0;
}

input {
  border-radius: 0;
}

[disabled] {
  cursor: default;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

button, input, optgroup, select, textarea {
  font: inherit;
}

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
}

button, select {
  text-transform: none;
}

[role=button], [type=button], [type=reset], [type=submit], button {
  cursor: pointer;
  color: inherit;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button;
}

button, input, select, textarea {
  background-color: transparent;
  border-style: none;
}

a:focus, button:focus, input:focus, select:focus, textarea:focus {
  outline-width: 0;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

legend {
  border: 0;
  color: inherit;
  display: table;
  white-space: normal;
  max-width: 100%;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true] {
  cursor: default;
}

/*$mcl:#6FC4C4;
$kcl:#E0452C;*/
* {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

body {
  background: #000;
  line-height: 1.8em;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.4rem, 1.2rem + 0.425vw, 1.6rem);
  font-weight: 400;
  line-height: 2em;
  color: #fff;
  -webkit-text-size-adjust: 100%;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  color: #fff;
  text-decoration: none;
  transition: 0.3s;
  font-weight: 400;
}
a:hover {
  transition: 0.3s;
  text-decoration: none;
}
a img {
  transition: 0.3s;
}
a img:hover {
  opacity: 0.7;
  transition: 0.25s;
}

li {
  list-style: none;
}

.flb_sb, .spnav .icn, header .inner {
  display: flex;
  justify-content: space-between;
}

.flb_ct, .btn, header .menubtn {
  display: flex;
  justify-content: center;
}

.flb_st {
  display: flex;
  justify-content: flex-start;
}

.flb_ed {
  display: flex;
  justify-content: flex-end;
}

.sp {
  display: block;
}
@media screen and (min-width: 701px) {
  .sp {
    display: none;
  }
}

.sptab {
  display: block;
}
@media screen and (min-width: 961px) {
  .sptab {
    display: none;
  }
}

.tab {
  display: none;
}
@media screen and (min-width: 701px) {
  .tab {
    display: block;
  }
}
@media screen and (min-width: 961px) {
  .tab {
    display: none;
  }
}

.tabpc {
  display: none;
}
@media screen and (min-width: 701px) {
  .tabpc {
    display: block;
  }
}

.pc {
  display: none;
}
@media screen and (min-width: 961px) {
  .pc {
    display: block;
  }
}

.inner {
  width: min(100% - 4rem, 100rem);
  margin: auto;
}
@media screen and (min-width: 701px) {
  .inner {
    max-width: 80vw;
  }
}

.inner-slim {
  width: min(100% - 30vw, 110rem);
  margin: auto;
}

.fadeIn {
  opacity: 0;
  transition: 3s;
}
.fadeIn.is-show {
  opacity: 1;
}

.fadeIn_up {
  opacity: 0;
  transform: translate(0, 50px);
  transition: 2s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_left {
  opacity: 0;
  transform: translate(-50px, 0);
  transition: 2s;
}
.fadeIn_left.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_right {
  opacity: 0;
  transform: translate(50px, 0);
  transition: 2s;
}
.fadeIn_right.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.p_mb2 {
  margin-bottom: 2rem;
}

/* ヘッダー */
header {
  position: sticky;
  top: 0;
  left: 0;
  background: #000;
  width: 100%;
  padding-bottom: 1.2rem;
  z-index: 99;
}
@media screen and (min-width: 701px) {
  header {
    padding: 1.2rem 0;
  }
}
header .inner {
  width: 100%;
  align-items: flex-start;
}
@media screen and (min-width: 701px) {
  header .inner {
    width: min(100% - 4rem, 110rem);
    align-items: center;
  }
}
header .logo {
  display: block;
  width: 6.4rem;
  margin-top: 1.2rem;
  margin-left: 1.9rem;
}
@media screen and (min-width: 701px) {
  header .logo {
    margin: 0;
  }
}
header .menubtn {
  align-items: center;
  flex-direction: column;
  width: 6.8rem;
  aspect-ratio: 1/1;
  background: #dcd6d8;
  position: relative;
}
@media screen and (min-width: 701px) {
  header .menubtn {
    display: none;
  }
}
header .menubtn span {
  display: block;
  width: 3.4rem;
  height: 2px;
  background: #000;
  margin-bottom: 1rem;
}
header .menubtn span:nth-child(3) {
  margin-bottom: 0;
}
header .txt {
  display: none;
}
@media screen and (min-width: 701px) {
  header .txt {
    display: flex;
    justify-content: center;
    align-items: center;
    width: min(60%, 57.7rem);
  }
}
@media screen and (min-width: 701px) and (min-width: 701px) {
  header .txt {
    justify-content: space-between;
  }
}
header .txt li {
  font-size: clamp(1.6rem, 1.4rem + 0.625vw, 2rem);
  letter-spacing: 0.1em;
  text-align: center;
}
header .txt li a {
  color: #fff;
}
header .icn {
  display: none;
}
@media screen and (min-width: 701px) {
  header .icn {
    display: block;
  }
}
header .icn li {
  text-align: center;
}
header .icn li a {
  display: block;
}
header .icn li a img {
  display: block;
  filter: brightness(0) invert(1);
}
header.active {
  background: none;
}
header.active .logo {
  opacity: 0;
}
header.active .menubtn span {
  position: absolute;
  top: 50%;
  left: 25%;
}
header.active .menubtn span:nth-child(1) {
  transform: rotate(45deg);
}
header.active .menubtn span:nth-child(2) {
  transform: rotate(-45deg);
}
header.active .menubtn span:nth-child(3) {
  opacity: 0;
}

/* スマホナビ */
.spnav {
  display: none;
  width: 100%;
  height: 100dvh;
  position: fixed;
  top: 0;
  left: 0;
  background: #000;
  text-align: center;
  padding-top: 8rem;
  z-index: 98;
}
.spnav .txt {
  padding-bottom: 3.3rem;
}
@media screen and (min-width: 701px) {
  .spnav .txt {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: min(90%, 57rem);
    margin: auto;
    padding-bottom: 5.6rem;
  }
}
.spnav .txt li {
  font-size: clamp(1.8rem, 1.6rem + 0.625vw, 2rem);
  letter-spacing: 0;
  margin-bottom: 1.7rem;
}
@media screen and (min-width: 701px) {
  .spnav .txt li {
    margin-bottom: 0;
  }
}
.spnav .txt li a {
  color: #fff;
  font-weight: 400;
}
.spnav .icn {
  width: 22rem;
  margin: auto;
  padding-bottom: 3.8rem;
  justify-content: center;
}
.spnav .icn li {
  width: 27.2%;
}
.spnav .icn li a {
  display: block;
}
.spnav .icn li a img {
  display: block;
  filter: brightness(0) invert(1);
}
.spnav .logo {
  display: block;
  width: 7.9rem;
  margin: 0 auto 5.1rem;
}

/* フッター */
footer {
  text-align: center;
  border-top: #fff 1px solid;
  padding-top: 3.8rem;
  padding-bottom: 7rem;
}
@media screen and (min-width: 701px) {
  footer {
    padding-top: 6rem;
  }
}
footer .txt {
  padding-bottom: 3.3rem;
}
@media screen and (min-width: 701px) {
  footer .txt {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: min(90%, 57rem);
    margin: auto;
    padding-bottom: 5.6rem;
  }
}
footer .txt li {
  font-size: clamp(1.8rem, 1.6rem + 0.625vw, 2rem);
  letter-spacing: 0;
  margin-bottom: 1.7rem;
}
@media screen and (min-width: 701px) {
  footer .txt li {
    margin-bottom: 0;
  }
}
footer .txt li a {
  color: #fff;
  font-weight: 400;
}
footer .icn {
  margin: auto;
  padding-bottom: 3.8rem;
}
footer .icn li {
  text-align: center;
  margin: 0 auto;
}
footer .icn li a {
  display: block;
  margin: 0 auto;
  text-align: center;
}
footer .icn li a img {
  display: block;
  filter: brightness(0) invert(1);
  margin: 0 auto;
}
footer .logo {
  display: block;
  width: 7.9rem;
  margin: 0 auto 4rem;
}
@media screen and (min-width: 701px) {
  footer .logo {
    width: 7.9rem;
  }
}
footer .copy {
  font-size: 1.2rem;
  letter-spacing: 0;
  font-weight: 400;
}

/* 共通 */
.btn {
  align-items: center;
  width: 22rem;
  height: 5rem;
  position: relative;
  border: #fff 1px solid;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  border-radius: 6rem;
  margin: auto;
}
.btn.cart::after {
  content: "";
  display: block;
  width: 2.6rem;
  aspect-ratio: 13/12;
  background: url("../images/common/cart.svg") center center no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 2rem;
}
.btn.cart__wide {
  width: 32rem;
  height: 6rem;
  font-size: 2rem;
}
.btn:hover {
  background: #fff;
  color: #000;
}
.btn:hover::after {
  filter: brightness(1) invert(1);
}

.topttl {
  background: #dcd6d8;
  padding: 5rem 0;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.02em;
  line-height: 1.5em;
  color: #000;
}
@media screen and (min-width: 701px) {
  .topttl {
    padding-top: 7rem;
    padding-bottom: 7rem;
    font-size: clamp(2.8rem, 2.4rem + 0.5vw, 3.6rem);
  }
}
.topttl b {
  display: block;
  font-family: "Forum", serif;
  font-size: 5rem;
  font-weight: 400;
  color: #fff;
  letter-spacing: 0;
}
@media screen and (min-width: 701px) {
  .topttl b {
    font-size: clamp(8rem, 7.8rem + 0.625vw, 10rem);
  }
}
.topttl span {
  font-weight: 500;
  display: block;
  margin-top: -1em;
}
@media screen and (min-width: 701px) {
  .topttl span {
    margin-top: -0.5em;
  }
}

/* トップページ */
.mv {
  text-align: center;
  position: relative;
  padding-top: 3rem;
  padding-bottom: 10rem;
  z-index: 10;
}
@media screen and (min-width: 701px) {
  .mv {
    padding-top: 9rem;
    padding-bottom: 0;
  }
}
.mv .inner {
  position: relative;
}
.mv .site-title {
  display: block;
  position: relative;
  border: solid 1px red;
}
.mv h1 {
  display: inline-block;
  font-family: "Forum", serif;
  font-size: clamp(4.7rem, 4.5rem + 0.625vw, 13rem);
  font-weight: 400;
  color: #fff;
  position: relative;
  line-height: 1.2em;
}
@media screen and (min-width: 701px) {
  .mv h1 {
    font-size: clamp(8rem, 7.8rem + 0.625vw, 13rem);
    line-height: 1em;
  }
}
.mv h1 span {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.8rem, 1.6rem + 0.625vw, 3.2rem);
  letter-spacing: 0.28em;
}
.mv h1::after {
  content: "";
  display: block;
  width: 10rem;
  aspect-ratio: 1/1;
  background: url("../images/top/txt.webp") center center no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: -20%;
  right: -2rem;
  animation: rotate 25s infinite linear;
}
@media screen and (min-width: 701px) {
  .mv h1::after {
    width: 20rem;
    top: -30%;
    right: -11rem;
  }
}
.mv .img {
  display: block;
  margin-top: -6rem;
  margin-bottom: 2.3rem;
}
@media screen and (min-width: 701px) {
  .mv .img {
    width: min(48%, 53rem);
    margin: -12rem auto 0;
  }
}
.mv .txt {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 2.2em;
}
@media screen and (min-width: 701px) {
  .mv .txt {
    position: absolute;
    font-size: 1.8rem;
    left: 0;
    bottom: 4rem;
    text-align: left;
  }
}
@media screen and (min-width: 961px) {
  .mv .txt {
    bottom: 7.5rem;
  }
}
.mv .btn {
  margin-top: 2.9rem;
}
@media screen and (min-width: 701px) {
  .mv .btn {
    position: absolute;
    right: 0;
    bottom: 3rem;
  }
}
@media screen and (min-width: 961px) {
  .mv .btn {
    bottom: 5.6rem;
  }
}

.top-philosophy .inner {
  padding-top: 7rem;
  padding-bottom: 13rem;
}
@media screen and (min-width: 701px) {
  .top-philosophy .inner {
    padding-top: 10rem;
    padding-bottom: 16rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media screen and (min-width: 961px) {
  .top-philosophy .inner {
    padding-top: 16.6rem;
    padding-bottom: 22.5rem;
  }
}
.top-philosophy .inner .txt {
  padding-bottom: 4.9rem;
}
@media screen and (min-width: 701px) {
  .top-philosophy .inner .txt {
    width: 50%;
    padding-bottom: 0;
  }
}
@media screen and (min-width: 961px) {
  .top-philosophy .inner .txt {
    width: 47.5%;
  }
}
.top-philosophy .inner h3 {
  font-family: "Forum", serif;
  font-size: 5.5rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 0.8em;
  text-align: center;
  padding-bottom: 2.9rem;
}
.top-philosophy .inner h3 span {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.15em;
}
.top-philosophy .inner p {
  line-height: 2em;
}
.top-philosophy .inner .btn {
  margin-top: 4rem;
}
.top-philosophy .inner figure {
  max-width: 45rem;
  margin: auto;
}
@media screen and (min-width: 701px) {
  .top-philosophy .inner figure {
    width: 40%;
  }
}
@media screen and (min-width: 961px) {
  .top-philosophy .inner figure {
    width: 47.3%;
  }
}

.top-business {
  position: relative;
}
.top-business .inner {
  padding-top: 8.5rem;
  text-align: center;
}
@media screen and (min-width: 701px) {
  .top-business .inner {
    padding-top: 10rem;
    padding-bottom: 16rem;
    display: flex;
    justify-content: space-between;
  }
}
.top-business .inner .box {
  padding-bottom: 8.5rem;
  position: relative;
}
@media screen and (min-width: 701px) {
  .top-business .inner .box {
    padding-bottom: 9.2rem;
    width: 47%;
  }
}
.top-business .inner .box:nth-child(2) p {
  text-align: left;
}
.top-business .inner figure {
  margin-bottom: 3rem;
}
@media screen and (min-width: 701px) {
  .top-business .inner figure {
    margin-bottom: 3.2rem;
  }
}
.top-business .inner figure img {
  display: block;
  max-width: 70vw;
  margin: 0 auto;
}
@media screen and (min-width: 701px) {
  .top-business .inner figure img {
    max-width: 100%;
  }
}
.top-business .inner h3 {
  font-size: clamp(2rem, 1.8rem + 0.625vw, 2.8rem);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.6em;
  padding-bottom: 1.7rem;
}
@media screen and (min-width: 701px) {
  .top-business .inner h3 {
    padding-bottom: 2.8rem;
  }
}
.top-business .inner p {
  line-height: 2em;
  width: min(80%, 28rem);
  margin: auto;
  font-weight: 500;
  text-align: left;
}
@media screen and (min-width: 701px) {
  .top-business .inner p {
    width: min(94%, 52rem);
  }
}
@media screen and (min-width: 701px) {
  .top-business .inner p br {
    display: none;
  }
}
.top-business .inner .btn {
  margin-top: 3rem;
  width: 20rem;
  height: 4.6rem;
  font-size: 1.5rem;
}
@media screen and (min-width: 701px) {
  .top-business .inner .btn {
    width: 26rem;
    height: 6rem;
    font-size: 2rem;
    margin: 0;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
  }
}

.top-product {
  position: relative;
}
.top-product .inner {
  padding-top: 7.2rem;
  padding-bottom: 16rem;
}
.top-product figure {
  padding: 1.2rem;
  border: #fff 1px solid;
  margin-bottom: 5.3rem;
}
@media screen and (min-width: 701px) {
  .top-product figure {
    max-width: 50rem;
    margin: 0 auto 4.2rem;
  }
}
.top-product figure img {
  display: block;
}
.top-product h3 {
  font-size: clamp(2rem, 1.8rem + 0.625vw, 2.8rem);
  line-height: 2em;
  letter-spacing: 0;
  font-weight: 500;
  text-align: center;
  padding-bottom: 2rem;
}
@media screen and (min-width: 701px) {
  .top-product h3 {
    padding-bottom: 2.8rem;
  }
}
@media screen and (min-width: 701px) {
  .top-product h3 br {
    display: none;
  }
}
.top-product p {
  font-weight: 500;
  line-height: 2em;
}
@media screen and (min-width: 701px) {
  .top-product p {
    max-width: 48.4rem;
    margin: auto;
  }
}
.top-product p.att {
  font-size: clamp(1rem, 0.8rem + 0.625vw, 1.2rem);
  font-weight: 400;
  line-height: 1.8em;
  margin-top: 1.9rem;
}
.top-product .btn {
  margin-top: 4rem;
  width: 20rem;
  height: 4.6rem;
  font-size: 1.5rem;
}
@media screen and (min-width: 701px) {
  .top-product .btn {
    width: 26rem;
    height: 6rem;
    font-size: 2rem;
  }
}

.top-foot {
  position: relative;
  text-align: center;
  padding-bottom: 3.5rem;
}
@media screen and (min-width: 701px) {
  .top-foot {
    padding-bottom: 16rem;
  }
}
.top-foot .topttl {
  padding-top: 5.4rem;
  padding-bottom: 5.7rem;
}
@media screen and (min-width: 701px) {
  .top-foot .topttl {
    padding-top: 5.2rem;
    padding-bottom: 4.7rem;
  }
}
@media screen and (min-width: 701px) {
  .top-foot .inner {
    padding-top: 6rem;
  }
}
.top-foot h3 {
  display: inline-block;
  font-family: "Forum", serif;
  font-size: clamp(4.7rem, 4.5rem + 0.625vw, 9.3rem);
  font-weight: 400;
  color: #fff;
  position: relative;
  line-height: 1.2em;
  z-index: 1;
}
@media screen and (min-width: 701px) {
  .top-foot h3 {
    font-size: clamp(7rem, 6.8rem + 0.625vw, 9.3rem);
    line-height: 1em;
  }
}
.top-foot h3 span {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.8rem, 1.6rem + 0.625vw, 3.2rem);
  letter-spacing: 0.28em;
}
.top-foot h3::after {
  content: "";
  display: block;
  width: 10rem;
  aspect-ratio: 1/1;
  background: url("../images/top/txt.webp") center center no-repeat, #000;
  background-size: calc(100% - 1rem) auto;
  position: absolute;
  top: -10%;
  right: 5vw;
  border-radius: 50%;
  z-index: -1;
}
@media screen and (min-width: 701px) {
  .top-foot h3::after {
    width: 20rem;
    top: -46%;
    right: -11rem;
  }
}

/* 下層ページ */
.page {
  padding-top: 4rem;
  padding-bottom: 10rem;
}
@media screen and (min-width: 701px) {
  .page {
    padding-bottom: 16rem;
  }
}

.pagettl {
  text-align: center;
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0;
}
@media screen and (min-width: 701px) {
  .pagettl {
    font-size: clamp(2rem, 1.8rem + 0.625vw, 3rem);
  }
}
@media screen and (min-width: 961px) {
  .pagettl {
    font-size: clamp(3rem, 2.8rem + 0.625vw, 3.6rem);
  }
}
.pagettl b {
  font-family: "Forum", serif;
  font-size: 5rem;
  font-weight: 400;
  opacity: 0.35;
  display: block;
  margin-bottom: -5rem;
}
@media screen and (min-width: 701px) {
  .pagettl b {
    font-size: clamp(6rem, 5.8rem + 0.625vw, 8rem);
    margin-bottom: -9rem;
  }
}
@media screen and (min-width: 961px) {
  .pagettl b {
    font-size: clamp(8rem, 7.8rem + 0.625vw, 10rem);
  }
}
.pagettl span {
  font-weight: 500;
  display: block;
  margin-top: -1em;
}

/* About Us */
.philosophy {
  text-align: center;
  padding-top: 3.8rem;
  padding-bottom: 12rem;
  position: relative;
}
@media screen and (min-width: 701px) {
  .philosophy {
    padding-top: 7.1rem;
    padding-bottom: 12rem;
  }
}
.philosophy .inner {
  max-width: 79rem;
}
.philosophy p {
  line-height: 2;
}
@media screen and (min-width: 701px) {
  .philosophy p {
    line-height: 2.27em;
  }
}

.message {
  position: relative;
}
.message .inner {
  padding-top: 2.8rem;
  padding-bottom: 12rem;
}
@media screen and (min-width: 701px) {
  .message .inner {
    padding-top: 4.9rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}
.message .inner .txt {
  padding-bottom: 3.8rem;
}
@media screen and (min-width: 701px) {
  .message .inner .txt {
    width: 48%;
    padding-bottom: 0;
  }
}
@media screen and (min-width: 961px) {
  .message .inner .txt {
    width: 45%;
  }
}
.message .inner figure {
  width: min(90%, 30rem);
  margin: auto;
}
@media screen and (min-width: 701px) {
  .message .inner figure {
    width: 45%;
    margin: 0;
  }
}
@media screen and (min-width: 961px) {
  .message .inner figure {
    width: 45%;
  }
}
.message .inner figure img {
  display: block;
}
@media screen and (min-width: 701px) {
  .message .inner figure img {
    width: min(100%, 38rem);
  }
}
.message .inner h3 {
  text-align: center;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5em;
  padding-bottom: 2.8rem;
}
@media screen and (min-width: 701px) {
  .message .inner h3 {
    font-size: clamp(2.2rem, 2rem + 0.625vw, 2.8rem);
    font-weight: 600;
    line-height: 1.7em;
  }
}
.message .inner h4 {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: 0.15em;
  padding-bottom: 2.8rem;
  text-align: center;
}
@media screen and (min-width: 701px) {
  .message .inner h4 {
    font-size: clamp(1.8rem, 1.6rem + 0.625vw, 2rem);
    padding-bottom: 4.2rem;
  }
}
.message .inner p {
  line-height: 2.5em;
}
.message .inner p.name {
  max-width: 180px;
  margin-left: auto;
}

.business {
  padding-bottom: 40rem;
  position: relative;
}
@media screen and (min-width: 701px) {
  .business {
    padding-bottom: 28rem;
  }
}
.business h2 {
  background: #dcd6d8;
  padding: 0.8rem 0;
  text-align: center;
  position: relative;
  line-height: 1em;
  font-family: "Forum", serif;
  font-size: 5rem;
  font-weight: 400;
  margin-bottom: 5.5rem;
}
@media screen and (min-width: 701px) {
  .business h2 {
    max-width: 110rem;
    margin: 0 auto 5.5rem;
    font-size: clamp(5rem, 4.8rem + 0.625vw, 6rem);
  }
}
.business h2 span {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1em;
  letter-spacing: 0.02em;
  color: #162137;
  display: block;
  width: 100%;
  position: absolute;
  top: 32%;
  left: 0;
}
@media screen and (min-width: 701px) {
  .business h2 span {
    font-size: clamp(2rem, 1.8rem + 0.625vw, 2.8rem);
    top: 30%;
  }
}
.business .lead {
  text-align: center;
  padding-bottom: 7.5rem;
}
@media screen and (min-width: 701px) {
  .business .lead {
    padding-bottom: 5.1rem;
  }
}
.business .lead p {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.75em;
}
@media screen and (min-width: 701px) {
  .business .lead p {
    font-size: clamp(1.6rem, 1.4rem + 0.4vw, 2.2rem);
    line-height: 2.2em;
  }
}
@media screen and (min-width: 701px) {
  .business .box {
    display: flex;
    justify-content: space-between;
  }
}
.business .box figure {
  max-width: 26.2rem;
  margin: 0 auto 4.6rem;
}
@media screen and (min-width: 701px) {
  .business .box figure {
    width: 47.5%;
    max-width: 100%;
    margin: 0;
  }
}
.business .box figure img {
  display: block;
}
@media screen and (min-width: 701px) {
  .business .box .txt {
    width: 47.5%;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
  }
}
.business .box h3 {
  text-align: center;
  font-size: 2rem;
  font-weight: 500;
  padding-bottom: 1.7rem;
}
@media screen and (min-width: 701px) {
  .business .box h3 {
    text-align: left;
    font-size: clamp(2.2rem, 2rem + 0.625vw, 2.8rem);
    padding-bottom: 2.4rem;
  }
  .business .box h3 br {
    display: none;
  }
}
.business .box p {
  font-weight: 500;
  line-height: 2em;
}
.business .box .con {
  background: #dcd6d8;
  border-radius: 4px;
  text-align: center;
  padding: 2rem 1.4rem;
  margin-top: 4rem;
}
@media screen and (min-width: 1081px) {
  .business .box .con {
    margin-top: 4rem;
  }
}
.business .box .con p {
  font-size: 1.6rem;
  line-height: 1.75em;
  color: #000;
}
.business .box .con .btn {
  width: min(100%, 33rem);
  background: #4d4d4d;
  border: #4d4d4d 1px solid;
  border-radius: 6rem;
  color: #fff;
  letter-spacing: 0.1em;
  margin-top: 2.4rem;
}
@media screen and (min-width: 701px) {
  .business .box .con .btn {
    margin-top: 2.5rem;
  }
}
.business #cosmetics {
  padding-bottom: 18rem;
}
@media screen and (min-width: 701px) {
  .business #cosmetics {
    padding-bottom: 10rem;
  }
}

.company .pagettl b {
  opacity: 1;
}
.company table {
  width: min(100%, 98rem);
  margin: 4rem auto 0;
  border-collapse: collapse;
  border-top: #4d4d4d 1px solid;
  margin-bottom: 5rem;
}
@media screen and (min-width: 701px) {
  .company table {
    margin-top: 6.8rem;
    margin-bottom: 11rem;
  }
}
.company table th,
.company table td {
  text-align: left;
  border-bottom: #4d4d4d 1px solid;
  font-size: clamp(1.4rem, 1.2rem + 0.625vw, 1.8rem);
  font-weight: 400;
  vertical-align: top;
  line-height: 2.5em;
  display: block;
  width: 100%;
}
@media screen and (min-width: 701px) {
  .company table th,
  .company table td {
    display: table-cell;
  }
}
.company table th {
  padding: 0.75rem 0.5rem;
  background: #1a1a1a;
}
@media screen and (min-width: 701px) {
  .company table th {
    padding: 2.8rem 2.4rem;
    width: 19.5rem;
  }
}
.company table td {
  padding: 0.5rem 0.5rem 2.5rem;
}
@media screen and (min-width: 701px) {
  .company table td {
    padding: 2.8rem 4.4rem;
    width: auto;
  }
}
.company .gmap {
  width: 100%;
  aspect-ratio: 16/9;
}
@media screen and (min-width: 701px) {
  .company .gmap {
    aspect-ratio: 1440/530;
  }
}
.company .gmap iframe {
  display: block;
  border: 0;
  width: 100%;
  height: 100%;
}

/* Product */
.product {
  padding-top: 1.8rem;
  position: relative;
  text-align: center;
  padding-bottom: 33rem;
}
@media screen and (min-width: 701px) {
  .product {
    padding-top: 3.8rem;
    padding-bottom: 7rem;
  }
}
.product h2 {
  font-size: 1.6rem;
  font-weight: 500;
  padding-bottom: 4rem;
}
@media screen and (min-width: 701px) {
  .product h2 {
    font-size: clamp(1.6rem, 1.4rem + 0.625vw, 2.2rem);
  }
}
.product p {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.75em;
}
@media screen and (min-width: 701px) {
  .product p {
    font-size: clamp(1.6rem, 1.4rem + 0.625vw, 2.2rem);
    line-height: 2.2em;
  }
}

.eyelash {
  text-align: center;
  position: relative;
  padding-bottom: 34.5rem;
}
@media screen and (min-width: 701px) {
  .eyelash {
    padding-bottom: 14rem;
  }
}
.eyelash .inner {
  max-width: 51rem;
}
.eyelash figure {
  width: min(70%, 23.7rem);
  margin: 0 auto 3.8rem;
}
@media screen and (min-width: 701px) {
  .eyelash figure {
    width: min(64%, 32.8rem);
    margin-bottom: 2.3rem;
  }
}
.eyelash figure img {
  display: block;
}
.eyelash dl {
  padding-bottom: 2.4rem;
}
@media screen and (min-width: 701px) {
  .eyelash dl {
    padding-bottom: 1.8rem;
  }
}
.eyelash dl dt {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5em;
  padding-bottom: 0.8rem;
  border-bottom: #fff 1px solid;
  margin-bottom: 0.87rem;
}
@media screen and (min-width: 701px) {
  .eyelash dl dt {
    font-size: 2.2rem;
    padding-bottom: 1.2rem;
    margin-bottom: 1.2rem;
  }
}
.eyelash dl dd {
  font-size: 1.4rem;
  font-weight: 600;
}
@media screen and (min-width: 701px) {
  .eyelash dl dd {
    font-size: clamp(1.6rem, 1.4rem + 0.625vw, 2rem);
  }
}
.eyelash dl dd span {
  font-size: 1rem;
  font-weight: 600;
}
@media screen and (min-width: 701px) {
  .eyelash dl dd span {
    font-size: clamp(1.2rem, 1rem + 0.625vw, 1.4rem);
  }
}
.eyelash p {
  line-height: 2em;
  text-align: left;
}
.eyelash p.att {
  margin-top: 1.88rem;
  font-size: 1rem;
  line-height: 1.8em;
}
@media screen and (min-width: 701px) {
  .eyelash p.att {
    font-size: 1.2rem;
  }
}
.eyelash .btn {
  margin-top: 3rem;
  width: 23rem;
  height: 4.4rem;
  font-size: 1.4rem;
  letter-spacing: 0.02em;
  padding-right: 2rem;
}
@media screen and (min-width: 701px) {
  .eyelash .btn {
    width: 32rem;
    height: 6rem;
    font-size: 2rem;
  }
}

.item {
  max-width: 98rem;
  margin: auto;
  margin-bottom: 4rem;
}
.item li.video {
  padding: 4rem 1.9rem;
  aspect-ratio: 16/9;
  background: #272727;
}
@media screen and (min-width: 701px) {
  .item li.video {
    padding: 4rem 3.5rem;
  }
}
.item li.video iframe,
.item li.video video,
.item li.video img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* Contact */
.contact {
  text-align: center;
  padding-top: 3rem;
}
@media screen and (min-width: 701px) {
  .contact {
    padding-top: 7rem;
  }
}
@media screen and (min-width: 701px) {
  .contact p br {
    display: none;
  }
}
.contact input,
.contact textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.4rem, 1.2rem + 0.625vw, 1.8rem);
}
.contact input[type=text] {
  background: #fff;
  box-sizing: border-box;
  width: 100%;
  line-height: 4.8rem;
  padding: 0 1rem;
}
.contact input[type=text]:focus {
  outline: none;
}
.contact textarea {
  background: #fff;
  box-sizing: border-box;
  padding: 1rem;
  width: 100%;
  height: 22rem;
}
.contact input[type=submit] {
  display: block;
  width: min(100%, 32rem);
  line-height: 6rem;
  text-align: center;
  font-size: clamp(2rem, 1.8rem + 0.625vw, 2.8rem);
  font-weight: 400;
  cursor: pointer;
  letter-spacing: 0.27em;
  background: #dcd6d8;
  color: #000;
  border: none;
  margin: auto;
  transition: 0.3s;
  border-radius: 6rem;
}
.contact input[type=submit]:hover {
  background: #fff;
  color: #000;
  transition: 0.3s;
}
.contact dl {
  text-align: left;
  max-width: 64rem;
  margin: auto;
  padding-bottom: 4rem;
}
@media screen and (min-width: 701px) {
  .contact dl {
    padding-bottom: 7.2rem;
  }
}
.contact dl dt {
  font-weight: 500;
  line-height: 1.77em;
  padding-top: 4rem;
  padding-bottom: 1.2rem;
}
.contact dl dt span {
  color: #ff4b4b;
  margin-left: 0.5rem;
}

@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.wrap {
  width: 100vw;
  overflow: hidden;
}

.top_image01 {
  content: "";
  display: block;
  width: 32vw;
  aspect-ratio: 1/2;
  background: url("../images/top/flower1.webp") center center no-repeat;
  background-size: 100% auto;
  position: fixed;
  top: 26vh;
  left: -5vw;
  z-index: 10;
}
@media screen and (min-width: 701px) {
  .top_image01 {
    width: 20vw;
    top: 10vh;
  }
}

.top_image02 {
  content: "";
  display: block;
  width: 32vw;
  aspect-ratio: 643/1281;
  background: url("../images/top/flower2.webp") center center no-repeat;
  background-size: 100% auto;
  position: fixed;
  top: 40vh;
  right: -5vw;
  z-index: 10;
}
@media screen and (min-width: 701px) {
  .top_image02 {
    width: 15vw;
    top: 30vh;
  }
}

.about_image01 {
  display: block;
  width: 32vw;
  aspect-ratio: 1/2;
  background: url("../images/about/flower2.webp") center center no-repeat;
  background-size: 100% auto;
  position: fixed;
  top: 32vh;
  left: 0;
  z-index: 10;
}
@media screen and (min-width: 701px) {
  .about_image01 {
    width: 20vw;
    top: 10vh;
  }
}

.about_image02 {
  display: block;
  width: 28vw;
  aspect-ratio: 1/2;
  background: url("../images/about/flower1.webp") center center no-repeat;
  background-size: 100% auto;
  position: fixed;
  top: 40vh;
  right: -2vw;
  z-index: 10;
}
@media screen and (min-width: 701px) {
  .about_image02 {
    width: 15vw;
    top: 30vh;
  }
}

.product_image01 {
  display: block;
  width: 32vw;
  aspect-ratio: 1/2;
  background: url("../images/product/flower4.webp") center center no-repeat;
  background-size: 100% auto;
  position: fixed;
  top: 22vh;
  left: 0;
  z-index: 10;
}
@media screen and (min-width: 701px) {
  .product_image01 {
    width: 20vw;
    top: 10vh;
  }
}

.product_image02 {
  display: block;
  width: 28vw;
  aspect-ratio: 1/2;
  background: url("../images/product/flower3.webp") center center no-repeat;
  background-size: 100% auto;
  position: fixed;
  top: 30vh;
  right: -4vw;
}
@media screen and (min-width: 701px) {
  .product_image02 {
    width: 15vw;
    top: 30vh;
  }
}

.contact-image01 {
  display: none;
  width: 32vw;
  aspect-ratio: 1/2;
  background: url("../images/top/flower1.webp") center center no-repeat;
  background-size: 100% auto;
  position: fixed;
  top: 26vh;
  left: 0;
  z-index: 10;
}
@media screen and (min-width: 701px) {
  .contact-image01 {
    display: block;
    width: 20vw;
    top: 10vh;
  }
}

.contact-image02 {
  display: none;
  width: 32vw;
  aspect-ratio: 643/1281;
  background: url("../images/top/flower2.webp") center center no-repeat;
  background-size: 100% auto;
  position: fixed;
  top: 40vh;
  right: 0;
  z-index: 10;
}
@media screen and (min-width: 701px) {
  .contact-image02 {
    display: block;
    width: 15vw;
    top: 30vh;
  }
}

.thanks {
  max-width: 70vw;
  margin: 0 auto;
}
.thanks p {
  text-align: left;
}
@media screen and (min-width: 701px) {
  .thanks p {
    text-align: center;
  }
}
.thanks .go-home {
  padding: 4rem 0 0;
}

.formTable {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  margin: 3rem 0;
}
.formTable th {
  width: 30%;
  border: solid 1px #ffffff;
  padding: 0.5rem;
}
.formTable td {
  width: 70%;
  padding: 0.5rem;
  border: solid 1px #ffffff;
}

.base section {
  padding: 24px 0;
  border-bottom: solid 1px #ffffff;
}
.base section.first-sec {
  border-top: solid 1px #ffffff;
  margin-top: 24px;
}
.base section h2 {
  font-size: 2rem;
  padding: 0 0 16px 0;
}
.base section ol {
  margin: 1em 0;
  padding-left: 40px;
}
.base section ol li {
  list-style-type: decimal;
}
.base section ul {
  margin: 1em 0;
  padding-left: 40px;
  list-style-type: disc;
}
.base section ul li {
  list-style-type: disc;
}

.hp_t-right {
  text-align: right;
}

.footerNav {
  margin-bottom: 4rem;
}
@media screen and (min-width: 701px) {
  .footerNav {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
.footerNav li {
  padding: 1rem 2rem;
}/*# sourceMappingURL=style.css.map */