:root {
  --ff_ns: "Noto Sans JP";
  --ff_srf: "Noto Serif JP";
  --ff_m: "Montserrat";
}

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  overflow-y: scroll;
  scroll-behavior: smooth;
}

html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
}

body {
  width: 100%;
  max-width: 100%;
  min-height: 100vh;
  margin: 0;
  color: #403E3E;
  letter-spacing: 0;
  line-height: 150%;
}

body,
body * {
  box-sizing: border-box;
  font-family: var(--ff_ns), serif;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

[hidden],
template {
  display: none;
}

a {
  background-color: transparent;
}

a:active,
a:hover {
  outline: 0;
}

b,
strong {
  font-weight: bold;
}

img {
  border: 0;
}

*:focus {
  outline: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

a {
  text-decoration: none;
}

ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  margin-block-start: 0;
  margin-block-end: 0;
  padding-inline-start: 0;
}

li {
  list-style-type: none;
}

img {
  vertical-align: middle;
}

p,
span {
  margin: 0;
}

h1,
h2,
h3,
p,
span,
dl,
dt,
dd {
  margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0;
  margin-inline-end: 0;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

.wrapper {
  width: 100%;
}

.is_hidden {
  display: none !important;
}

@media (min-width : 767px) {
  .is_only_sp {
    display: none !important;
  }
}

@media (max-width : 766px) {
  .is_only_pc {
    display: none !important;
  }
}

@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(40px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.-scrollTrigger.--fadeUp {
  opacity: 0;
  transform: translateY(40px);
}

.-fadeUp {
  animation: fadeUp 0.8s ease-out forwards;
  animation-delay: 0.2s;
}
.-fadeUp.-delay01 {
  animation-delay: 0.5s;
}
.-fadeUp.-delay02 {
  animation-delay: 0.8s;
}
.-fadeUp.-delay03 {
  animation-delay: 1s;
}

.-scrollTrigger.--fadeIn {
  opacity: 0;
}

.-fadeIn {
  animation: fadeIn 0.8s ease-out forwards;
  animation-delay: 0.2s;
}
.-fadeIn.-delay01 {
  animation-delay: 0.5s;
}
.-fadeIn.-delay02 {
  animation-delay: 0.8s;
}
.-fadeIn.-delay03 {
  animation-delay: 1s;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.header {
  background-color: #fff;
  display: block;
  height: 73px;
  position: relative;
  z-index: 10;
  opacity: 0;
  animation: fadeIn 1.6s ease-in-out 0.1s forwards;
  padding-block-start: 30px;
}
@media (min-width : 767px) {
  .header {
    position: absolute;
    z-index: 20;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 126px;
    background-color: transparent;
    padding-block-start: 25px;
    padding-inline: 20px;
  }
}

@media (min-width : 767px) {
  .header_container {
    max-width: 1080px;
    margin-inline: auto;
  }
}

.header_logo {
  display: block;
  width: 89.5px;
  aspect-ratio: 179/38;
  margin-inline: auto;
}
@media (min-width : 767px) {
  .header_logo {
    margin-inline: 0;
    width: 111.5px;
    aspect-ratio: 223/48;
  }
}

.header_links_area {
  margin-block-start: 28px;
  display: flex;
  justify-content: space-between;
}

.header_link {
  display: inline-block;
  color: #000;
  font-size: 12px;
  text-decoration: none;
}

.pane-footer {
  margin-top: 0;
  font-size: 10px;
  line-height: 1.6;
  letter-spacing: 0.03rem;
  --vh: 7.22px;
  background-color: #dcd6d8 !important;	
}

.contact {
  width: 40%;
  max-width: 392px;
  margin: 0 0 20px;
  padding: 24px 28px;
  background-color: #f4f2f3;
}

.contact p {
  font-size: 15px;
  text-align: center;
}

.contact .tell {
  width: 98%;
  margin: 12px auto 18px auto;
}

.contact .contact_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.contact .contact_wrap .left {
  width: 75%;
}

.contact .contact_wrap .left .txt {
  margin-bottom: 10px;
  font-weight: 500;
}

.contact .contact_wrap .left .text_small b {
  text-decoration: underline;
}

.contact .contact_wrap .right {
  width: 20%;
}

#footernav > p {
  margin-top: 20px;
}

.fotter-member-contents {
  width: calc(100% - 120px);
  max-width: 1024px;
  margin: 0 auto 30px;
}

.fotter-member-contents .flex {
  display: -webkit-box;
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
}

.fotter-member-contents .box {
  display: -webkit-box;
  display: -ms-flexbox !important;
  display: flex !important;
  flex-direction: column;
  width: 20%;
  margin-bottom: 25px;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: center;
}

.fotter-member-contents .box:nth-child(4) {
  margin-right: 0;
}

.fotter-member-contents .box .img {
  display: flex;
  width: 40px;
  height: 55px;
  align-items: center;
  justify-content: center;
}

.fotter-member-contents .box .img img {
  max-height: 100%;
}

.fotter-member-contents .box p {
  margin-top: 10px;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.9;
  letter-spacing: 0.03em;
  text-align: center;
  flex-grow: 1;
}

#footer--contact .time .boxicon {
  display: inline-block;
  margin-right: 2px;
  padding: 2px 5px 2px;
  border: solid 1.5px;
  color: #fb8282;
  font-size: 11px;
  line-height: 1;
}

#footer--contact .time {
  margin-bottom: 6px;
}

#footer--contact .text_small {
  font-size: 12px;
  line-height: 1.7;
  letter-spacing: 0.07rem;
}

.member_wrap {
  width: 980px;
  margin: 0 auto 40px;
}

.member_wrap .h1_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.member_wrap .h1_flex .logo {
  width: 150px;
  margin-right: 40px;
}

.member_wrap .h1_flex .txt {
  font-size: 16px;
  letter-spacing: 0.15rem;
}

.member_wrap .h1_flex .txt .text_right {
  margin-top: 5px;
  text-align: right;
}

.member_wrap .h1_flex .txt .text_right a {
  position: relative;
  padding-right: 12px;
  font-size: 12px;
  letter-spacing: 0.07rem;
  text-decoration: underline;
}

.member_wrap .h1_flex .txt .text_right a:after {
  position: absolute;
  top: 30%;
  right: 0;
  transform: rotate(45deg);
  width: 6px;
  height: 6px;
  border-top: solid 1px;
  border-right: solid 1px;
  background: none;
  content: "";
}

.footer_contents_wrap {
  display: flex;
  width: 980px;
  margin: 40px auto;
  justify-content: space-between;
}

.footer_contents_wrap #footernav > ul {
  display: flex;
  font-weight: normal;
  justify-content: flex-start;
}
#footer--wrap{
	background: #dcd6d8;
}
#footer--wrap hr {
  border: 0;
  border-bottom: 1px dotted #fff;
}

#footernav {
  display: flex;
  flex-direction: column;
  width: 60%;
  margin: 0;
  font-size: 10px;
  text-align: left;
}

#footernav > p {
  margin-top: auto;
  font-size: 12px;
}

#footernav > ul li {
  font-size: 13px;
}

#footer--sns {
  margin: 50px 0;
}

#footer--sns ul li {
  width: 30px;
  margin: 0 7px;
}

#footer--sns ul li a {
  width: 30px;
  height: 30px;
}

#footer--contact {
  display: table;
  width: 35%;
  min-width: unset;
  margin: 0;
  padding: 25px;
  background: #f5f0e7;
}

#footer--contact .title {
  margin-bottom: 10px;
  font-weight: 600;
  font-size: 13px;
}

#footer--contact .number {
  margin-bottom: 15px;
}

#footernav > ul + ul {
  margin-top: 14px;
}

#footernav > ul li + li:before {
  display: inline-block;
  margin: 0 0.8rem;
  content: "|";
}

@media (max-width: 979px) {
  .member_wrap {
    width: 100%;
  }
  #footer--wrap {
    padding: 0 20px 40px;
	 background: #dcd6d8 !important; 
  }
  .fotter-member-contents {
    width: calc(100% - 20px);
  }
  .fotter-member-contents .flex {
    gap: 4%;
  }
  .fotter-member-contents .flex .box {
    width: 48%;
  }
  .fotter-member-contents .box p {
    letter-spacing: 0;
  }
  .footer_contents_wrap {
    width: 100%;
    flex-wrap: wrap;
  }
  #footernav {
    width: 100%;
    order: 2;
  }
  #footernav > p {
    margin: 6vw 0 0;
    color: #717171;
    font-size: 10px;
    line-height: 1.8;
    text-align: center;
  }
  .contact {
    width: 100%;
    margin-inline: auto;
    order: 1;
  }
  #footernav > ul li {
    padding-inline: 1em;
  }
  #footernav > ul li + li:before {
    display: none;
  }
  .footer_nav_only_sp {
    display: flex;
    padding-top: 20px;
    border-top: 1px dotted #fff;
    flex-wrap: wrap;
    gap: 0 20px;
  }
  .footer_nav_only_sp li {
    width: calc(50% - 10px);
    padding-inline: 1em;
  }
	.footer_nav_only_sp a{
	font-size: 12px!important;
	}	
}
.topView {
  position: relative;
  opacity: 0;
  animation: fadeIn 1.6s ease-in-out 0.1s forwards;
}
@media (min-width : 767px) {
  .topView {
    padding-top: 126px;
  }
}

.topView_bg {
  position: fixed;
  top: -44px;
  z-index: -1;
  width: 100%;
}
@media (min-width : 767px) {
  .topView_bg {
    top: 0;
    width: 100%;
    height: 100vh;
    object-fit: cover;
  }
}

.topView_image_area {
  width: 100%;
  aspect-ratio: 375/367;
}
@media (min-width : 767px) {
  .topView_image_area {
    display: none;
  }
}

.topView_container {
  position: relative;
  z-index: 1;
  padding-block: 14px 137px;
  padding-inline: 8%;
}
@media (min-width : 767px) {
  .topView_container {
    height: calc(100vh - 126px);
    width: 79.6875%;
    min-width: 687px;
    margin-inline: auto;
    padding-block: 0 177px;
    padding-inline: 20px;
  }
}
.topView_container::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(127, 147, 166, 0) 0%, rgba(127, 147, 166, 0.2) 100%);
  content: "";
  backdrop-filter: blur(15px);
  mask-image: linear-gradient(to top, rgb(0, 0, 0) 90%, rgba(0, 0, 0, 0) 100%);
  mask-composite: intersect;
}
@media (min-width : 767px) {
  .topView_container::after {
    display: none;
  }
}

.topView_container_inner {
  position: relative;
  z-index: 2;
}

.topView_breadclumb {
  display: none;
}
@media (min-width : 767px) {
  .topView_breadclumb {
    display: block;
    color: #000;
    font-family: var(--ff_ns);
    font-weight: 400;
    font-size: 12px;
    line-height: 166.667%;
    padding-inline-start: 20px;
  }
  .topView_breadclumb > a {
    color: #000;
    text-decoration: underline;
  }
  .topView_breadclumb > * + * {
    position: relative;
    margin-inline-start: 19px;
  }
  .topView_breadclumb > * + *::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -14px;
    content: ">";
    margin-block: auto;
  }
}

.topView_deco {
  color: #403e3e;
  font-family: var(--ff_m);
  font-weight: 600;
  line-height: 250%;
  letter-spacing: 0.1em;
  font-size: 10px;
  font-size: 2.6666666667vw;
  opacity: 0;
  transform: translateY(40px);
  animation: fadeUp 0.8s ease-out forwards;
  animation-delay: 1.6s;
}
@media (min-width : 767px) {
  .topView_deco {
    font-size: 11px;
    line-height: 227.273%;
    margin-block-start: 105px;
  }
}

.topView_title {
  color: #403e3e;
  font-family: var(--ff_m);
  font-weight: 400;
  line-height: 113.889%;
  letter-spacing: 0.04em;
  margin-block-start: 24px;
  font-size: 30px;
  font-size: 8vw;
  opacity: 0;
  transform: translateY(40px);
  animation: fadeUp 0.8s ease-out forwards;
  animation-delay: 1.7s;
}
@media (min-width : 767px) {
  .topView_title {
    font-weight: 400;
    font-size: 50px;
    line-height: 120%;
    letter-spacing: 0.09em;
    margin-block-start: 29px;
  }
}

.topView_description {
  margin-block-start: 14px;
  opacity: 0;
  transform: translateY(40px);
  animation: fadeUp 0.8s ease-out forwards;
  animation-delay: 1.8s;
}
@media (min-width : 767px) {
  .topView_description {
    margin-block-start: 32px;
  }
}
.topView_description > * + * {
  margin-block-start: 10px;
}
@media (min-width : 767px) {
  .topView_description > * + * {
    margin-block-start: 12px;
  }
}
.topView_description p {
  color: #000;
  font-family: var(--ff_srf);
  font-weight: 500;
  line-height: 173.333%;
  letter-spacing: 0.04em;
  font-size: 15px;
  font-size: 4vw;
}
@media (min-width : 767px) {
  .topView_description p {
    font-size: 18px;
    line-height: 161.111%;
    letter-spacing: 0.01em;
  }
}

.topView_scroll {
  display: none;
}
@media (min-width : 767px) {
  .topView_scroll {
    display: block;
    position: absolute;
    bottom: 230px;
    left: 60px;
    transform: rotate(90deg);
    transform-origin: top left;
    width: 250px;
    color: #eee;
    font-family: var(--ff_m);
    font-weight: 700;
    font-size: 12px;
    line-height: 125%;
    letter-spacing: 0.07em;
    padding-block-end: 5px;
  }
  .topView_scroll::after {
    display: block;
    opacity: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1px;
    background-color: #eee;
    content: "";
    transition: opacity 0.2s;
    animation: scrollDown 2s ease-out infinite;
  }
}

@keyframes scrollDown {
  0% {
    opacity: 0;
    width: 0;
  }
  100% {
    opacity: 1;
    width: 100%;
  }
}
.element {
  overflow: hidden;
  position: relative;
  z-index: 1;
  background: url(../img/element_bg_sp.webp) top 248px center/100% no-repeat, #edf0f5;
  padding-block: 100px 70%;
}
@media (min-width : 767px) {
  .element {
    background: url(../img/element_bg_pc.webp) top left/100% 100%;
    padding-block: 0 167px;
  }
}
.element::before {
  position: absolute;
  top: 0;
  z-index: 2;
  width: 100%;
  height: 100px;
  background: linear-gradient(to top, #edf0f5 0%, #c9cdd8 100%);
  content: "";
}
@media (min-width : 767px) {
  .element::before {
    display: none;
  }
}

.element_moving_moisture {
  position: relative;
  z-index: 3;
  padding-block: 13px;
}
.element_moving_moisture::before, .element_moving_moisture::after {
  position: absolute;
  top: 0;
  z-index: 4;
  width: 70px;
  height: 100%;
  content: "";
}
@media (min-width : 767px) {
  .element_moving_moisture::before, .element_moving_moisture::after {
    width: 529px;
    height: 200%;
  }
}
.element_moving_moisture::before {
  left: 0;
  background: linear-gradient(270deg, rgba(237, 240, 245, 0) 0%, #edf0f5 100%);
}
.element_moving_moisture::after {
  right: 0;
  background: linear-gradient(90deg, rgba(237, 240, 245, 0) 0%, #edf0f5 100%);
}

.element_marquee {
  --gap: 1rem;
  position: relative;
  display: flex;
  overflow: hidden;
  user-select: none;
  gap: var(--gap);
  color: #dcd6d8;
  font-weight: 400;
  line-height: 1;
  font-size: 100px;
  font-size: 26.6666666667vw;
}
@media (min-width : 767px) {
  .element_marquee {
    font-size: 300px;
    --gap: 2rem;
  }
}
.element_marquee.-marquee .element_marquee_content {
  animation: marqueeSlide 30s linear infinite;
}

.element_marquee_content {
  flex-shrink: 0;
  display: flex;
  justify-content: space-around;
  gap: var(--gap);
  min-width: 100%;
}
.element_marquee_content li {
  font-family: var(--ff_m);
}

@keyframes marqueeSlide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc(-100% - var(--gap)));
  }
}
@media (min-width : 767px) {
  .element_base {
    padding-inline-start: 13.75%;
  }
}
@media (min-width : 767px) and (max-width: 1024px) {
  .element_base {
    padding-inline-start: 10.5%;
  }
}

.element_container {
  position: relative;
  z-index: 6;
  padding-block-start: 55px;
  padding-inline: 5.3%;
}
@media (min-width : 767px) {
  .element_container {
    max-width: 674px;
    margin-inline: auto;
    padding-inline: 0;
    display: flex;
    gap: 18px;
  }
}

@media (min-width : 767px) {
  .element_container_item {
    width: 248px;
  }
}

.element_header {
  color: #403E3E;
  font-family: var(--ff_srf);
  font-size: 26px;
  font-size: 6.9333333333vw;
  font-weight: 400;
  line-height: 138.462%;
  letter-spacing: 0.03em;
}
@media (min-width : 767px) {
  .element_header {
    font-size: 30px;
    line-height: 153.333%;
  }
}

.element_deco {
  margin-block-start: 13px;
  color: #9E9397;
  font-family: var(--ff_m);
  font-size: 12px;
  font-size: 3.2vw;
  font-weight: 600;
  line-height: 125%;
  letter-spacing: 0.1em;
}
@media (min-width : 767px) {
  .element_deco {
    margin-block-start: 20px;
    font-size: 12px;
  }
}

.element_texts {
  margin-block-start: 40px;
}
@media (min-width : 767px) {
  .element_texts {
    margin-block-start: 0;
    width: 408px;
  }
}
.element_texts > * + * {
  margin-block-start: 8px;
}
@media (min-width : 767px) {
  .element_texts > * + * {
    margin-block-start: 15px;
  }
}
.element_texts p {
  color: #403E3E;
  font-family: var(--ff_ns);
  font-size: 13px;
  font-size: 3.4666666667vw;
  font-weight: 400;
  line-height: 176.923%;
  letter-spacing: 0.03em;
}
@media (min-width : 767px) {
  .element_texts p {
    font-size: 14px;
    line-height: 185.714%;
  }
}

.element_prodict1 {
  position: absolute;
  z-index: 2;
  aspect-ratio: 440/608;
  width: 58.6%;
  top: 150px;
  right: 0;
}
@media (min-width : 767px) {
  .element_prodict1 {
    z-index: 5;
    aspect-ratio: 325/418;
    width: 325px;
    top: 195px;
    left: calc(50% - 618px);
    right: auto;
  }
}
@media (min-width : 767px) and (max-width: 1044px) {
  .element_prodict1 {
    left: -10%;
  }
}

.element_prodict2 {
  position: absolute;
  z-index: 2;
  aspect-ratio: 513/458;
  width: 68.4%;
  bottom: 34px;
  left: 0;
}
@media (min-width : 767px) {
  .element_prodict2 {
    z-index: 5;
    aspect-ratio: 219/362;
    width: 219px;
    bottom: 35px;
    left: calc(50% + 398px);
  }
}
@media (min-width : 767px) and (max-width: 1044px) {
  .element_prodict2 {
    left: auto;
    right: -10%;
  }
}

.forSkin {
  background-color: #fff;
  position: relative;
  overflow: hidden;
}
@media (min-width : 767px) {
  .forSkin {
    padding-block: 158px 99px;
  }
}

.forSkin_bg {
  position: absolute;
  z-index: 1;
  top: 228px;
  width: 100%;
  aspect-ratio: 750/2317;
}
@media (min-width : 767px) {
  .forSkin_bg {
    top: 16px;
    width: 1038px;
    height: 1021px;
    left: calc(50% - 723px);
  }
}
.forSkin_bg.-fadeIn {
  animation: fadeIn 3s ease-out forwards;
  animation-delay: 0.1s;
}

@media (min-width : 767px) {
  .forSkin_base {
    max-width: 1280px;
    margin-inline: auto;
    display: flex;
    align-items: center;
    gap: 9.375%;
  }
}

.forSkin_main {
  position: absolute;
  z-index: 2;
  top: 0;
}
@media (min-width : 767px) {
  .forSkin_main {
    position: static;
    width: 41.875%;
    order: 2;
  }
}
.forSkin_main img {
  width: 100%;
  aspect-ratio: 1/1;
}
@media (min-width : 767px) {
  .forSkin_main img {
    aspect-ratio: 536/832;
  }
}

.forSkin_container {
  position: relative;
  z-index: 3;
  padding-block: 74% 80px;
  padding-inline: 5.3%;
}
@media (min-width : 767px) {
  .forSkin_container {
    order: 1;
    width: 51.25%;
    padding-block: 0;
    padding-inline: 11.2% 0;
  }
}

.forSkin_header {
  color: #FFF;
  font-family: var(--ff_srf);
  font-size: 24px;
  font-size: 6.4vw;
  font-weight: 400;
  line-height: 137.5%;
  letter-spacing: 0.03em;
}
@media (min-width : 767px) {
  .forSkin_header {
    color: #403E3E;
    font-size: 30px;
    line-height: 153.333%;
  }
}

.forSkin_deco {
  margin-block-start: 15px;
  color: #FFF;
  font-family: var(--ff_m);
  font-size: 12px;
  font-size: 3.2vw;
  font-weight: 600;
  line-height: 125%;
  letter-spacing: 0.1em;
}
@media (min-width : 767px) {
  .forSkin_deco {
    margin-block-start: 20px;
    color: #9E9397;
    font-size: 12px;
  }
}

.forSkin_text {
  margin-block-start: 16%;
  color: #403E3E;
  font-family: var(--ff_ns);
  font-size: 13px;
  font-size: 3.4666666667vw;
  font-weight: 400;
  line-height: 176.923%;
  letter-spacing: 0.04em;
}
@media (min-width : 767px) {
  .forSkin_text {
    margin-block-start: 41px;
    font-size: 13px;
    line-height: 184.615%;
    letter-spacing: 0.02em;
  }
}

.forSkin_images {
  margin-block-start: 40px;
}
@media (min-width : 767px) {
  .forSkin_images {
    display: flex;
    gap: 6.4%;
  }
  .forSkin_images > * {
    width: 46.8%;
  }
}
.forSkin_images * + * {
  margin-block-start: 10px;
}
@media (min-width : 767px) {
  .forSkin_images * + * {
    margin-block-start: 0;
  }
}

.seriesLinks {
  background-color: #fff;
  position: relative;
  z-index: 1;
}

@media (min-width : 767px) {
  .seriesLinks_container {
    display: flex;
    overflow: hidden;
    height: 600px;
    gap: 1px;
  }
}
.seriesLinks_container > * + * {
  margin-block-start: 1px;
}
@media (min-width : 767px) {
  .seriesLinks_container > * + * {
    margin-block-start: 0;
  }
}

.seriesLinks_item {
  display: block;
  position: relative;
}
@media (min-width : 767px) {
  .seriesLinks_item {
    width: calc((100% - 4px) / 5);
    transition: width 0.5s;
  }
}
@media (min-width : 767px) and (hover: hover) {
  .seriesLinks_item:hover {
    width: 43.4%;
  }
  .seriesLinks_item:hover .seriesLinks_hover_img {
    opacity: 1;
  }
  .seriesLinks_item:hover .seriesLinks_more {
    opacity: 1;
  }
  .seriesLinks_item:hover .seriesLinks_name {
    font-size: 26px;
  }
  .seriesLinks_item:hover .seriesLinks_deco {
    font-size: 13px;
    margin-block-start: 23px;
  }
}
.seriesLinks_item img {
  width: 100%;
}
@media (min-width : 767px) {
  .seriesLinks_item img {
    height: 100%;
    object-fit: cover;
  }
}

@media (min-width : 767px) {
  .seriesLinks_hover_img {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: opacity 0.5s;
    object-fit: cover;
  }
}

.seriesLinks_text {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  color: #fff;
  padding-block: 22px 30px;
  padding-inline: 5.3%;
}
@media (min-width : 767px) {
  .seriesLinks_text {
    padding-block: 50px;
    padding-inline: 11.7%;
  }
}

.seriesLinks_category {
  display: inline-flex;
  border: 1px solid #ccc;
  border-radius: 100vmax;
  background: rgba(221, 221, 221, 0.2);
  font-family: var(--ff_srf);
  font-weight: 700;
  line-height: 200%;
  letter-spacing: 0.05em;
  padding-inline: 9px;
  justify-content: center;
  align-items: center;
  font-size: 10px;
  font-size: 2.6666666667vw;
}
@media (min-width : 767px) {
  .seriesLinks_category {
    background: rgba(255, 255, 255, 0.05);
    font-size: 10px;
    letter-spacing: 0.01em;
    padding-inline: 11px;
  }
}

.seriesLinks_name {
  font-family: var(--ff_srf);
  font-weight: 500;
  line-height: 141.176%;
  letter-spacing: 0.03em;
  margin-block-start: 13px;
  font-size: 17px;
  font-size: 4.5333333333vw;
}
@media (min-width : 767px) {
  .seriesLinks_name {
    font-size: 18px;
    line-height: 144.444%;
    transition: font-size 0.5s;
    margin-block-start: 10px;
  }
}

.seriesLinks_deco {
  font-family: var(--ff_m);
  font-weight: 600;
  line-height: 150%;
  letter-spacing: 0.1em;
  margin-block-start: 6px;
  font-size: 10px;
  font-size: 2.6666666667vw;
}
@media (min-width : 767px) {
  .seriesLinks_deco {
    font-size: 10px;
    transition: font-size 0.5s;
    margin-block-start: 21px;
  }
}

.seriesLinks_more {
  position: absolute;
  bottom: 30px;
  left: 20px;
  width: fit-content;
  font-family: var(--ff_ns);
  font-weight: 500;
  line-height: 1;
  font-size: 10px;
  font-size: 2.6666666667vw;
}
@media (min-width : 767px) {
  .seriesLinks_more {
    display: flex;
    opacity: 0;
    position: static;
    width: 150px;
    height: 50px;
    background-color: #403e3e;
    text-align: center;
    transition: opacity 0.3s;
    margin-block-start: 35px;
    justify-content: center;
    align-items: center;
  }
  .seriesLinks_more span {
    display: inline-block;
    position: relative;
    color: #fff;
    font-family: var(--ff_ns);
    font-weight: 500;
    font-size: 11px;
    line-height: 1;
    padding-inline-end: 10px;
  }
  .seriesLinks_more span::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    transform: rotate(45deg);
    width: 5px;
    height: 5px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    content: "";
    margin-block: auto;
  }
}
.seriesLinks_more::after {
  position: absolute;
  top: 0;
  right: -10px;
  bottom: 0;
  transform: rotate(45deg);
  width: 5px;
  height: 5px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  content: "";
  margin-block: auto;
}

.lab {
  overflow: hidden;
  position: relative;
  background-color: #dcd6d8;
  padding-block: 62% 87px;
}
@media (min-width : 767px) {
  .lab {
    padding-block: 200px 100px;
  }
}

.lab_container {
  padding-inline: 5.3%;
}
@media (min-width : 767px) {
  .lab_container {
    display: flex;
    max-width: 1280px;
    padding-inline: 0;
    margin-inline: auto;
    gap: 4.6875%;
    align-items: center;
  }
}

.lab_img {
  position: absolute;
  top: 80px;
  z-index: 1;
  width: 89.4%;
  margin-inline: auto;
  aspect-ratio: 67/56;
}
@media (min-width : 767px) {
  .lab_img {
    position: static;
    width: 41.875%;
    aspect-ratio: 536/832;
  }
}
.lab_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lab_content {
  position: relative;
  z-index: 2;
}
@media (min-width : 767px) {
  .lab_content {
    width: 53.4375%;
    padding-inline-end: 9.7%;
  }
}

.lab_header {
  color: #fff;
  font-family: var(--ff_srf);
  font-weight: 400;
  line-height: 137.5%;
  letter-spacing: 0.03em;
  padding-inline: 5.9%;
  font-size: 24px;
  font-size: 6.4vw;
}
@media (min-width : 767px) {
  .lab_header {
    color: #403e3e;
    font-weight: 400;
    font-size: 30px;
    line-height: 153.333%;
    padding-inline: 0;
  }
}

.lab_deco {
  color: #fff;
  font-family: var(--ff_m);
  font-weight: 600;
  line-height: 125%;
  letter-spacing: 0.1em;
  padding-inline: 5.9%;
  margin-block-start: 15px;
  font-size: 12px;
  font-size: 3.2vw;
}
@media (min-width : 767px) {
  .lab_deco {
    color: #9e9397;
    font-size: 12px;
    padding-inline: 0;
    margin-block-start: 20px;
  }
}

.lab_text {
  color: #403e3e;
  font-family: var(--ff_ns);
  font-weight: 400;
  line-height: 176.923%;
  letter-spacing: 0.04em;
  margin-block-start: 14%;
  font-size: 13px;
  font-size: 3.4666666667vw;
}
@media (min-width : 767px) {
  .lab_text {
    font-size: 13px;
    line-height: 176.923%;
    letter-spacing: 0.02em;
    margin-block-start: 36px;
  }
}

.lab_banner {
  display: block;
  margin-block-start: 30px;
}
@media (min-width : 767px) {
  .lab_banner {
    margin-block-start: 60px;
  }
}
.lab_banner img {
  width: 100%;
  aspect-ratio: 335/120;
}
@media (min-width : 767px) {
  .lab_banner img {
    aspect-ratio: 556/133;
  }
}
@media (hover: hover) {
  .lab_banner {
    transition: filter 0.5s;
  }
  .lab_banner:hover {
    filter: brightness(1.05);
  }
}

.lab_slide {
  opacity: 0;
  transition: opacity 0.3s linear;
  margin-block-start: 60px;
}
@media (min-width : 767px) {
  .lab_slide {
    margin-block-start: 120px;
  }
}
.lab_slide.slick-initialized {
  opacity: 1;
}
.lab_slide .slick-dots {
  display: flex;
  margin-block-start: 18px;
  justify-content: center;
  gap: 10px;
}
.lab_slide .slick-dots button {
  font-size: 0;
}
.lab_slide .slick-dots li {
  display: block;
  width: 7px;
  height: 7px;
  border: 1px solid #403e3e;
  border-radius: 50%;
  cursor: pointer;
}
.lab_slide .slick-dots li.slick-active {
  background-color: #403e3e;
}
@media (hover: hover) {
  .lab_slide .slick-dots li {
    transition: opacity 0.5s;
  }
  .lab_slide .slick-dots li:hover {
    opacity: 0.5;
  }
}

.lab_item {
  width: 90.6%;
  margin-inline: 4px;
  aspect-ratio: 340/525;
}
@media (min-width : 767px) {
  .lab_item {
    width: 672px;
    height: 405px;
    aspect-ratio: 672/405;
    margin-inline: 16px;
  }
}

.lab_item_container {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 5px;
  background-color: #fff;
}
@media (min-width : 767px) {
  .lab_item_container {
    display: flex;
    align-items: center;
  }
}

.lab_item_img {
  aspect-ratio: 34/25;
}
@media (min-width : 767px) {
  .lab_item_img {
    width: 320px;
    height: 405px;
  }
}
.lab_item_img img {
  object-fit: cover;
}

@media (min-width : 767px) {
  .lab_item_contents {
    width: 352px;
    padding-inline: 30px;
  }
}

.lab_item_header {
  position: absolute;
  top: 20px;
  left: 7.7%;
}
@media (min-width : 767px) {
  .lab_item_header {
    position: static;
  }
}

.lab_point {
  color: #403e3e;
  font-family: var(--ff_m);
  font-weight: 600;
  line-height: 125%;
  letter-spacing: 0.1em;
  font-size: 12px;
  font-size: 3.2vw;
}
@media (min-width : 767px) {
  .lab_point {
    font-size: 12px;
  }
}

.lab_item_header_text {
  color: #403e3e;
  font-family: var(--ff_srf);
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.05em;
  margin-block-start: 10px;
  font-size: 15px;
  font-size: 4vw;
}
@media (min-width : 767px) {
  .lab_item_header_text {
    font-weight: 500;
    font-size: 18px;
  }
}
.lab_item_header_text::first-letter {
  letter-spacing: 0.08em;
  font-size: 26px;
  font-size: 6.9333333333vw;
}
@media (min-width : 767px) {
  .lab_item_header_text::first-letter {
    font-size: 35px;
  }
}

.lab_item_text {
  color: #403e3e;
  font-family: var(--ff_ns);
  font-weight: 400;
  line-height: 183.333%;
  padding-block: 15px 18px;
  padding-inline: 5.3%;
  font-size: 12px;
  font-size: 3.2vw;
}
@media (min-width : 767px) {
  .lab_item_text {
    font-size: 12px;
    letter-spacing: 0.02em;
    padding-block: 0;
    padding-inline: 0;
    margin-block-start: 18px;
  }
}

.lab_item_notice {
  display: block;
  color: #403e3e;
  font-family: var(--ff_ns);
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.01em;
  margin-block-start: 5px;
  font-size: 10px;
  font-size: 2.6666666667vw;
}
@media (min-width : 767px) {
  .lab_item_notice {
    font-size: 10px;
    margin-block-start: 6px;
  }
}

.collectionMovie {
  position: relative;
  background-color: #000;
  padding-block: 83px;
}
@media (min-width : 767px) {
  .collectionMovie {
    padding-block: 0;
  }
}

.collectionMovie_container {
  display: flex;
  line-height: 1;
  align-items: end;
}

.collectionMovie_video {
  width: 100%;
  aspect-ratio: 16/9;
}

.collectionMovie_link {
  position: absolute;
  right: 5.3%;
  bottom: 20px;
}
@media (min-width : 767px) {
  .collectionMovie_link {
    display: block;
    display: flex;
    right: 40px;
    bottom: 40px;
    width: 195px;
    height: 45px;
    background-color: #fff;
    justify-content: center;
    align-items: center;
  }
}
.collectionMovie_link span {
  display: inline-block;
  position: relative;
  color: #fff;
  font-family: var(--ff_ns);
  font-weight: 500;
  font-size: 10px;
  font-size: 2.6666666667vw;
  padding-inline-end: 8px;
}
@media (min-width : 767px) {
  .collectionMovie_link span {
    color: #403e3e;
    font-size: 11px;
    line-height: 90.909%;
    padding-inline-end: 12px;
  }
}
.collectionMovie_link span::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  transform: rotate(45deg);
  width: 5px;
  height: 5px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  content: "";
  margin-block: auto;
}
@media (min-width : 767px) {
  .collectionMovie_link span::after {
    border-top: 1px solid #403e3e;
    border-right: 1px solid #403e3e;
  }
}
@media (hover: hover) {
  .collectionMovie_link {
    transition: opacity 0.3s;
  }
  .collectionMovie_link:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

.categoryLinks {
  background-color: #fff;
  position: relative;
  z-index: 1;
  padding-block: 10px 60px;
}
@media (min-width : 767px) {
  .categoryLinks {
    padding-block: 118px;
    padding-inline: 20px;
  }
}

.categoryLinks_container {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(5, auto);
}
@media (min-width : 767px) {
  .categoryLinks_container {
    max-width: 1024px;
    margin-inline: auto;
    gap: 32px;
    grid-template-columns: repeat(3, 1fr);
  }
}

.categoryLinks_item {
  display: block;
  position: relative;
}
@media (min-width : 767px) {
  .categoryLinks_item {
    overflow: hidden;
  }
}
.categoryLinks_item.makeup {
  grid-column: 1/3;
  grid-row: 1/2;
  --pos_top: 15px;
  --pos_left: 5.3%;
  --width_link: 37.9%;
}
@media (min-width : 767px) {
  .categoryLinks_item.makeup {
    grid-column: 1/3;
    grid-row: 1/2;
  }
}
.categoryLinks_item.skin {
  grid-column: 1/2;
  grid-row: 2/4;
  --pos_top: 68%;
  --pos_left: 8.7%;
  --width_link: 78%;
}
@media (min-width : 767px) {
  .categoryLinks_item.skin {
    grid-column: 3/4;
    grid-row: 1/3;
  }
}
.categoryLinks_item.hair {
  grid-column: 2/3;
  grid-row: 2/3;
  --pos_top: 15px;
  --pos_left: 8.7%;
  --width_link: 78%;
}
@media (min-width : 767px) {
  .categoryLinks_item.hair {
    grid-column: 3/4;
    grid-row: 3/5;
  }
}
.categoryLinks_item.washing {
  grid-column: 2/3;
  grid-row: 3/4;
  --pos_top: 15px;
  --pos_left: 8.7%;
  --width_link: 78%;
}
@media (min-width : 767px) {
  .categoryLinks_item.washing {
    grid-column: 2/3;
    grid-row: 2/5;
  }
}
.categoryLinks_item.inner {
  grid-column: 1/3;
  grid-row: 4/5;
  --pos_top: 15px;
  --pos_left: 5.3%;
  --width_link: 37.9%;
}
@media (min-width : 767px) {
  .categoryLinks_item.inner {
    grid-column: 2/4;
    grid-row: 5/6;
  }
}
.categoryLinks_item.uv {
  grid-column: 1/2;
  grid-row: 5/6;
  --pos_top: 15px;
  --pos_left: 8.7%;
  --width_link: 78%;
}
@media (min-width : 767px) {
  .categoryLinks_item.uv {
    grid-column: 1/2;
    grid-row: 2/4;
  }
}
.categoryLinks_item.baby {
  grid-column: 2/3;
  grid-row: 5/6;
  --pos_top: 15px;
  --pos_left: 8.7%;
  --width_link: 78%;
}
@media (min-width : 767px) {
  .categoryLinks_item.baby {
    grid-column: 1/2;
    grid-row: 4/6;
  }
}
@media (hover: hover) {
  .categoryLinks_item:hover .categoryLinks_img {
    transform: scale(1.2);
  }
}

.categoryLinks_img {
  width: 100%;
  height: 100%;
  transition: transform 0.5s;
  object-fit: cover;
}

.categoryLinks_header {
  position: absolute;
  top: var(--pos_top);
  left: var(--pos_left);
}
@media (min-width : 767px) {
  .categoryLinks_header {
    top: 40px;
    left: 45px;
  }
}
@media (min-width : 767px) and (max-width: 1024px) {
  .categoryLinks_header {
    left: 20px;
  }
}

.categoryLinks_category {
  color: #fff;
  font-family: var(--ff_m);
  font-weight: 600;
  line-height: 150%;
  letter-spacing: 0.1em;
  font-size: 10px;
  font-size: 2.6666666667vw;
}
@media (min-width : 767px) {
  .categoryLinks_category {
    font-size: 12px;
    line-height: 125%;
  }
}

.categoryLinks_text {
  color: #fff;
  font-family: var(--ff_srf);
  font-weight: 500;
  line-height: 138.462%;
  letter-spacing: 0.02em;
  margin-block-start: 2px;
  font-size: 14px;
  font-size: 3.7333333333vw;
}
@media (min-width : 767px) {
  .categoryLinks_text {
    font-size: 17px;
    line-height: 147.059%;
    letter-spacing: 0.05em;
    margin-block-start: 5px;
  }
}

.categoryLinks_more {
  display: flex;
  position: absolute;
  bottom: 15px;
  left: var(--pos_left);
  width: var(--width_link);
  background-color: #fff;
  line-height: 1;
  text-align: center;
  aspect-ratio: 142/35;
  justify-content: center;
  align-items: center;
  padding-inline: 12px;
}
@media (min-width : 767px) {
  .categoryLinks_more {
    display: inline-flex;
    bottom: 30px;
    width: auto;
    height: 45px;
    aspect-ratio: auto;
    padding-inline: 20px;
  }
}
.categoryLinks_more span {
  display: inline-block;
  position: relative;
  color: #403e3e;
  font-family: var(--ff_ns);
  font-weight: 500;
  font-size: 10px;
  font-size: 2.6666666667vw;
  padding-inline-end: 8px;
}
@media (min-width : 767px) {
  .categoryLinks_more span {
    font-size: 11px;
    line-height: 90.909%;
    padding-inline-end: 12px;
  }
}
.categoryLinks_more span::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  transform: rotate(45deg);
  width: 5px;
  height: 5px;
  border-top: 1px solid #403e3e;
  border-right: 1px solid #403e3e;
  content: "";
  margin-block: auto;
}

.approach {
  position: relative;
  z-index: 1;
  background-color: #dcd6d8;
  padding-block-start: 86px;
}
@media (min-width : 767px) {
  .approach {
    overflow: hidden;
    position: relative;
    padding-block-start: 127px;
  }
}

.approach_container {
  padding-inline: 5.3%;
}
@media (min-width : 767px) {
  .approach_container {
    position: relative;
    z-index: 2;
    max-width: 1024px;
    padding-inline: 0;
    margin-inline: auto;
  }
}

.approach_header img {
  width: 79.1%;
  aspect-ratio: 530/157;
  margin-inline: auto;
}
@media (min-width : 767px) {
  .approach_header img {
    width: 450.5px;
    aspect-ratio: 901/239;
  }
}

.approach_video_wrapper {
  position: relative;
  border-radius: 50%;
  width: 265px;
  margin-block-start: -48px;
  aspect-ratio: 1/1;
  margin-inline: auto;
}
@media (min-width : 767px) {
  .approach_video_wrapper {
    width: 480px;
    margin-block-start: -60px;
  }
}

.approach_video {
  position: absolute;
  top: 1px;
  right: 0;
  left: 1px;
  z-index: 4;
  width: 265px;
  border-radius: 50%;
  overflow: hidden;
  background: radial-gradient(circle, #403e3e 0%, #403e3e 70%, rgba(64, 62, 62, 0) 70%, rgba(64, 62, 62, 0) 100%);
  margin-inline: auto;
  aspect-ratio: 1/1;
}
@media (min-width : 767px) {
  .approach_video {
    top: 1px;
    width: 480px;
  }
}
.approach_video video {
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  right: -100%;
  transition: opacity 0.5s, right 0.8s;
  object-fit: cover;
  aspect-ratio: 1/1;
}
.approach_video video.-active {
  right: 0;
}
.approach_video video.-leave {
  opacity: 0;
}

.approach_toggle {
  display: flex;
  align-items: baseline;
  margin-block-start: 37px;
  justify-content: center;
  aspect-ratio: 305/46;
}
@media (min-width : 767px) {
  .approach_toggle {
    display: none;
  }
}

.approach_switch {
  width: 50%;
  color: #b7b1a9;
  font-family: var(--ff_srf);
  font-weight: 500;
  line-height: 140%;
  letter-spacing: 0.01em;
  text-align: center;
  transition: color 0.5s, font-size 0.5s;
  font-size: 20px;
  font-size: 5.3333333333vw;
}
.approach_switch.-active {
  font-size: 25px;
  font-size: 6.6666666667vw;
  color: #403e3e;
}
.approach_switch.-active span {
  font-size: 11px;
  font-size: 2.9333333333vw;
}
.approach_switch span {
  display: block;
  font-family: var(--ff_m);
  font-weight: 600;
  line-height: 130%;
  transition: font-size 0.5s;
  font-size: 10px;
  font-size: 2.6666666667vw;
}
.approach_switch + .approach_switch {
  position: relative;
}
.approach_switch + .approach_switch::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 1px;
  height: 30px;
  background-color: #403e3e;
  content: "";
  margin-block: auto;
}

.approach_item_container {
  position: relative;
  margin-block-start: 40px;
  aspect-ratio: 335/167;
}
@media (min-width : 767px) {
  .approach_item_container {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    margin-block-start: 0;
    aspect-ratio: auto;
  }
}

.approach_item {
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity 0.5s;
  pointer-events: none;
}
@media (min-width : 767px) {
  .approach_item {
    pointer-events: auto;
    cursor: pointer;
    opacity: 0.4;
    width: 240px;
    height: auto;
    top: 151px;
  }
  .approach_item[data-item=ceramide] {
    left: 0;
  }
  .approach_item[data-item=mineral] {
    right: 0;
  }
}
.approach_item.-active {
  opacity: 1;
}

.approach_item_header {
  color: #403e3e;
  font-family: var(--ff_srf);
  font-weight: 500;
  line-height: 218.75%;
  letter-spacing: 0.01em;
  font-size: 16px;
  font-size: 4.2666666667vw;
}
.approach_item_header span {
  display: none;
}
@media (min-width : 767px) {
  .approach_item_header {
    font-size: 25px;
    line-height: 140%;
  }
  .approach_item_header span {
    display: block;
    color: #403E3E;
    font-family: var(--ff_m);
    font-size: 11px;
    font-style: normal;
    font-weight: 600;
    line-height: 227.273%;
    letter-spacing: 0.07em;
    margin-block-end: 12px;
  }
}

.approach_item_text {
  color: #403e3e;
  font-family: var(--ff_ns);
  font-weight: 400;
  line-height: 183.333%;
  font-size: 12px;
  font-size: 3.2vw;
}
@media (min-width : 767px) {
  .approach_item_text {
    font-size: 12px;
    margin-block-start: 12px;
  }
}

.approach_bg {
  display: none;
}
@media (min-width : 767px) {
  .approach_bg {
    display: block;
    opacity: 0;
    position: absolute;
    z-index: 1;
    transition: opacity 2s;
  }
  .approach_bg.-active {
    opacity: 1;
  }
  .approach_bg[data-item=ceramide] {
    top: 0;
    left: calc(50% - 100px);
    width: 982px;
    aspect-ratio: 1964/1278;
  }
  .approach_bg[data-item=mineral] {
    bottom: 0;
    left: calc(50% - 900px);
    width: 982px;
    aspect-ratio: 1964/1070;
  }
}

.approach_indicator {
  margin-block-start: 86px;
  position: sticky;
  z-index: 100;
  width: 100%;
  bottom: 0;
  display: flex;
  padding: 3px;
  gap: 3px;
  align-items: baseline;
}
@media (min-width : 767px) {
  .approach_indicator {
    margin-block-start: 96px;
    position: relative;
    padding: 10px;
    gap: 10px;
  }
}

.approach_bar {
  background-color: rgba(255, 255, 255, 0.5);
  position: relative;
  transition: height 0.5s, width 0.5s;
}
.approach_bar::after {
  width: 0%;
  height: 100%;
  background-color: #fff;
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  content: "";
}
.approach_bar span {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  color: #dcd6d8;
  top: 1px;
  bottom: 0;
  left: 0;
  right: 0;
  margin-block: auto;
  margin-inline: auto;
  text-align: center;
  font-family: var(--ff_m);
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  transition: font-size 0.5s;
}
.approach_bar[data-item=ceramide].-active::after {
  width: 100%;
  transition: width linear 19s;
}
.approach_bar[data-item=mineral].-active::after {
  width: 100%;
  transition: width linear 32s;
}
.approach_bar.-active {
  height: 25px;
  width: calc(66% - 1.5px);
}
@media (min-width : 767px) {
  .approach_bar.-active {
    height: 20px;
    width: calc(50% - 5px);
  }
}
.approach_bar.-active span {
  font-size: 11px;
}
@media (min-width : 767px) {
  .approach_bar.-active span {
    font-size: 10px;
  }
}
.approach_bar:not(.approach_bar.-active) {
  height: 18px;
  width: calc(34% - 1.5px);
  cursor: pointer;
}
@media (min-width : 767px) {
  .approach_bar:not(.approach_bar.-active) {
    height: 20px;
    width: calc(50% - 5px);
  }
}
.approach_bar:not(.approach_bar.-active) span {
  font-size: 9px;
}
@media (min-width : 767px) {
  .approach_bar:not(.approach_bar.-active) span {
    font-size: 10px;
  }
}

.history {
  overflow: hidden;
  background-color: #fff;
  padding-block: 80px;
}
@media (min-width : 767px) {
  .history {
    display: flex;
    padding-block: 146px 141px;
    gap: 35px;
  }
}

.history_container {
  padding-inline: 5.3%;
}
@media (min-width : 767px) {
  .history_container {
    width: 35%;
    background-color: #fff;
    padding-block-start: 74px;
    padding-inline: 10% 0;
  }
}

.history_header {
  color: #403e3e;
  font-family: var(--ff_srf);
  font-weight: 400;
  line-height: 137.5%;
  letter-spacing: 0.03em;
  font-size: 24px;
  font-size: 6.4vw;
}
@media (min-width : 767px) {
  .history_header {
    font-size: 30px;
    line-height: 153.333%;
  }
}

.history_deco {
  color: #9e9397;
  font-family: var(--ff_m);
  font-weight: 600;
  line-height: 125%;
  letter-spacing: 0.1em;
  margin-block-start: 15px;
  font-size: 12px;
  font-size: 3.2vw;
}
@media (min-width : 767px) {
  .history_deco {
    font-size: 12px;
  }
}

.history_articles {
  opacity: 0;
  transition: opacity 0.3s linear;
  margin-block-start: 40px;
}
@media (min-width : 767px) {
  .history_articles {
    overflow: hidden;
    width: calc(65% - 35px);
    margin-block-start: 0;
  }
}
.history_articles.slick-initialized {
  opacity: 1;
}

.history_slick_arrow {
  display: none;
}
@media (min-width : 767px) {
  .history_slick_arrow {
    display: flex;
    margin-block-start: 40px;
    justify-content: flex-start;
    gap: 10px;
  }
  .history_slick_arrow .history_arrow_next, .history_slick_arrow .history_arrow_prev {
    display: block;
    position: relative;
    width: 45px;
    height: 45px;
    border-radius: 5px;
    background-color: #dcd6d8;
    border: 1px solid #dcd6d8;
    cursor: pointer;
    transition: background-color 0.3s, opacity 0.3s;
  }
  .history_slick_arrow .history_arrow_next::after, .history_slick_arrow .history_arrow_prev::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: "";
    transition: border-color 0.3s;
    margin-block: auto;
    margin-inline: auto;
    transition: border-color 0.3s;
  }
  .history_slick_arrow .history_arrow_next.disabled, .history_slick_arrow .history_arrow_prev.disabled {
    background-color: #fff;
    cursor: not-allowed;
    pointer-events: none;
    opacity: 1;
  }
  .history_slick_arrow .history_arrow_next.disabled::after, .history_slick_arrow .history_arrow_prev.disabled::after {
    border-top: 2px solid #dcd6d8;
    border-right: 2px solid #dcd6d8;
  }
}
@media (min-width : 767px) and (hover: hover) {
  .history_slick_arrow .history_arrow_next:hover, .history_slick_arrow .history_arrow_prev:hover {
    opacity: 0.7;
  }
}
@media (min-width : 767px) {
  .history_slick_arrow .history_arrow_prev::after {
    left: 4px;
    transform: rotate(-135deg);
  }
  .history_slick_arrow .history_arrow_next::after {
    right: 4px;
    transform: rotate(45deg);
  }
}

.history_item {
  position: relative;
  width: 85.3%;
  border-radius: 5px;
  margin-inline: 10px;
  padding-block-start: 30px;
}
@media (min-width : 767px) {
  .history_item {
    width: 320px;
  }
}

.history_gif_area {
  width: 100%;
  aspect-ratio: 64/94;
  overflow: hidden;
  border-radius: 8px;
  background-color: #E9E5E6;
}
.history_gif_area img {
  aspect-ratio: 950/565;
  max-width: none;
  width: 170%;
  margin-block-start: -20px;
  margin-inline-start: -32%;
}
@media (min-width : 767px) {
  .history_gif_area {
    width: 320px;
  }
}
.history_gif_area::before, .history_gif_area::after {
  position: absolute;
  z-index: 1;
  content: "";
  width: 100%;
}
.history_gif_area::before {
  top: 30px;
  aspect-ratio: 320/192;
  opacity: 0.2;
  background: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0) 100%);
  border-radius: 8px 8px 0 0;
}
.history_gif_area::after {
  aspect-ratio: 32/21;
  bottom: 1px;
  border-radius: 0px 0px 5px 5px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%);
  backdrop-filter: blur(5px);
}

.history_year {
  position: absolute;
  z-index: 5;
  top: 0;
  color: #dcd6d8;
  font-family: var(--ff_srf);
  font-weight: 400;
  line-height: 67.647%;
  letter-spacing: -0.04em;
  font-size: 68px;
  font-size: 18.1333333333vw;
}
@media (min-width : 767px) {
  .history_year {
    font-size: 68px;
  }
}

.history_content {
  position: absolute;
  z-index: 5;
  bottom: 27px;
  color: #fff;
  font-family: var(--ff_ns);
  padding-inline: 9%;
}
@media (min-width : 767px) {
  .history_content {
    padding-inline: 30px;
  }
}

.history_item_header {
  font-weight: 700;
  line-height: 184.615%;
  font-size: 13px;
  font-size: 3.4666666667vw;
}
@media (min-width : 767px) {
  .history_item_header {
    font-size: 13px;
  }
}

.history_item_text {
  font-weight: 400;
  line-height: 183.333%;
  margin-block-start: 5px;
  font-size: 12px;
  font-size: 3.2vw;
}
@media (min-width : 767px) {
  .history_item_text {
    font-size: 12px;
  }
}

.history_item_notice {
  font-weight: 400;
  line-height: 1.7;
  margin-block-start: 7px;
  font-size: 10px;
  font-size: 2.6666666667vw;
}
@media (min-width : 767px) {
  .history_item_notice {
    font-size: 10px;
  }
}

@media (min-width : 767px) {
  .store {
    position: relative;
  }
}

.store_img {
  position: sticky;
  top: 0;
  z-index: 1;
}
@media (min-width : 767px) {
  .store_img {
    position: static;
    width: 100%;
    height: 100vh;
    object-fit: cover;
  }
}

@media (min-width : 767px) {
  .store_base {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-inline: 20px;
    display: flex;
    align-items: center;
  }
}

.store_container {
  position: relative;
  z-index: 2;
  padding-block: 116px 80px;
  background: linear-gradient(180deg, rgba(175, 158, 167, 0) 0%, rgba(175, 158, 167, 0.5) 80%);
  backdrop-filter: blur(15px);
  mask-image: linear-gradient(to top, rgb(0, 0, 0) 90%, rgba(0, 0, 0, 0) 100%);
  mask-composite: intersect;
  padding-inline: 5.3%;
}
@media (min-width : 767px) {
  .store_container {
    background: none;
    mask-image: none;
    padding-block: 0;
    padding-inline: 0;
    width: 80%;
    min-width: 727px;
    margin-inline: auto;
    backdrop-filter: none;
  }
}

.store_header {
  color: #E3DFDD;
  font-family: var(--ff_srf);
  font-size: 24px;
  font-size: 6.4vw;
  font-weight: 400;
  line-height: 137.5%;
  letter-spacing: 0.03em;
}
@media (min-width : 767px) {
  .store_header {
    font-size: 30px;
    line-height: 153.333%;
  }
}

.store_deco {
  margin-block-start: 15px;
  color: #E3DFDD;
  font-family: var(--ff_m);
  font-size: 12px;
  font-size: 3.2vw;
  font-weight: 600;
  line-height: 125%;
  letter-spacing: 0.1em;
}
@media (min-width : 767px) {
  .store_deco {
    font-size: 12px;
  }
}

.store_link_container {
  margin-block-start: 40px;
}
@media (min-width : 767px) {
  .store_link_container {
    margin-block-start: 50px;
  }
}
.store_link_container > * + * {
  margin-block-start: 10px;
}
@media (min-width : 767px) {
  .store_link_container > * + * {
    margin-block-start: 14px;
  }
}

.store_link_block {
  background-color: rgba(255, 255, 255, 0.2);
  padding-block: 13px 20px;
  padding-inline: 5.9%;
}
@media (min-width : 767px) {
  .store_link_block {
    width: 408px;
    padding-block: 25px;
    padding-inline: 30px;
  }
}

.store_link_header {
  color: #403E3E;
  font-family: var(--ff_m);
  font-size: 10px;
  font-size: 2.6666666667vw;
  font-weight: 700;
  line-height: 250%;
  letter-spacing: 0.14em;
}
@media (min-width : 767px) {
  .store_link_header {
    font-size: 12px;
    line-height: 208.333%;
  }
}

.store_text {
  margin-block-start: 5px;
  color: #403E3E;
  font-family: var(--ff_ns);
  font-size: 12px;
  font-size: 3.2vw;
  font-weight: 400;
  line-height: 183.333%;
  letter-spacing: 0.02em;
}
@media (min-width : 767px) {
  .store_text {
    margin-block-start: 6px;
    font-size: 12px;
  }
}

.store_link {
  margin-block-start: 10px;
  display: block;
  width: 50%;
  background-color: #403E3E;
  aspect-ratio: 168/45;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
@media (min-width : 767px) {
  .store_link {
    margin-block-start: 15px;
    width: 168px;
    height: 45px;
  }
}
.store_link span {
  position: relative;
  display: inline-block;
  color: #fff;
  font-family: var(--ff_ns);
  font-size: 11px;
  font-size: 2.9333333333vw;
  font-weight: 500;
  padding-inline-end: 10px;
  line-height: 1;
}
@media (min-width : 767px) {
  .store_link span {
    font-size: 11px;
    padding-inline-end: 14px;
  }
}
.store_link span::after {
  position: absolute;
  content: "";
  width: 5px;
  height: 5px;
  top: 0;
  bottom: 0;
  margin-block: auto;
  right: 0;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
}
@media (hover: hover) {
  .store_link {
    transition: opacity 0.5s;
  }
  .store_link:hover {
    opacity: 0.7;
  }
}

.sdgsAction {
  background-color: #fff;
  position: relative;
  z-index: 1;
}

@media (min-width : 767px) {
  .sdgsAction_sticky_container {
    display: flex;
  }
}

@media (min-width : 767px) {
  .sdgsAction_main_img {
    width: 41.875%;
  }
  .sdgsAction_main_img img {
    object-fit: cover;
    position: sticky;
    width: 100%;
    height: 100vh;
    top: 0;
  }
}

.sdgsAction_content {
  margin-block-start: 52px;
}
@media (min-width : 767px) {
  .sdgsAction_content {
    margin-block-start: 0;
    padding-block: 90px 175px;
    width: 58.125%;
  }
}

.sdgsAction_choice {
  padding-inline: 5.3%;
  padding-block-end: 30px;
}
@media (min-width : 767px) {
  .sdgsAction_choice {
    padding-inline: 9.375% 10%;
    padding-block-end: 50px;
  }
}

.sdgsAction_choice_img {
  width: 70.1%;
  aspect-ratio: 470/417;
  margin-inline: auto;
}
@media (min-width : 767px) {
  .sdgsAction_choice_img {
    width: 350px;
    height: 310px;
  }
}

.sdgsAction_header {
  margin-block-start: 40px;
  color: #403E3E;
  font-family: var(--ff_srf);
  font-size: 24px;
  font-size: 6.4vw;
  font-weight: 400;
  line-height: 137.5%;
  letter-spacing: 0.03em;
}
@media (min-width : 767px) {
  .sdgsAction_header {
    margin-block-start: 48px;
    font-size: 30px;
    line-height: 153.333%;
  }
}

.sdgsAction_deco {
  margin-block-start: 15px;
  color: #9E9397;
  font-family: var(--ff_m);
  font-size: 12px;
  font-size: 3.2vw;
  font-weight: 600;
  line-height: 125%;
  letter-spacing: 0.1em;
}
@media (min-width : 767px) {
  .sdgsAction_deco {
    margin-block-start: 20px;
    font-size: 12px;
  }
}

.sdgsAction_text {
  margin-block-start: 40px;
  color: #403E3E;
  font-family: var(--ff_ns);
  font-size: 13px;
  font-size: 3.4666666667vw;
  font-weight: 400;
  line-height: 176.923%;
  letter-spacing: 0.04em;
}
@media (min-width : 767px) {
  .sdgsAction_text {
    margin-block-start: 27px;
    font-size: 13px;
    line-height: 184.615%;
    letter-spacing: 0.02em;
  }
}

.sdgsAction_sub_img {
  margin-block-start: 40px;
  width: 100%;
  aspect-ratio: 67/54;
}
@media (min-width : 767px) {
  .sdgsAction_sub_img {
    margin-block-start: 45px;
    aspect-ratio: 496/270;
  }
}

.sdgsAction_sub_header {
  margin-block-start: 25px;
  color: #403E3E;
  font-family: var(--ff_ns);
  font-size: 16px;
  font-size: 4.2666666667vw;
  font-weight: 500;
  line-height: 143.75%;
  letter-spacing: 0.02em;
}
@media (min-width : 767px) {
  .sdgsAction_sub_header {
    margin-block-start: 20px;
    font-size: 16px;
  }
}

.sdgsAction_sub_text {
  margin-block-start: 4px;
  color: #403E3E;
  font-family: var(--ff_ns);
  font-size: 12px;
  font-size: 3.2vw;
  font-weight: 400;
  line-height: 191.667%;
  letter-spacing: 0.02em;
}
@media (min-width : 767px) {
  .sdgsAction_sub_text {
    font-size: 12px;
  }
}

.sdgsAction_sub_notice {
  margin-block-start: 3px;
  color: #403E3E;
  font-family: var(--ff_ns);
  font-size: 10px;
  font-size: 2.6666666667vw;
  font-weight: 400;
  line-height: 1.7;
}
@media (min-width : 767px) {
  .sdgsAction_sub_notice {
    margin-block-start: 8px;
    font-size: 10px;
    line-height: 1.5;
  }
}

.sdgsAction_link_area {
  margin-block-start: 20px;
}
@media (min-width : 767px) {
  .sdgsAction_link_area {
    margin-block-start: 28px;
    display: flex;
    gap: 16px;
  }
}
.sdgsAction_link_area > * + * {
  margin-block-start: 10px;
}
@media (min-width : 767px) {
  .sdgsAction_link_area > * + * {
    margin-block-start: 0;
  }
}

.sdgsAction_link {
  display: block;
  width: 61.2%;
  text-align: center;
  border: 1px solid #403E3E;
  aspect-ratio: 205/45;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width : 767px) {
  .sdgsAction_link {
    height: 45px;
  }
}
.sdgsAction_link span {
  position: relative;
  font-family: var(--ff_ns);
  font-size: 11px;
  font-size: 2.9333333333vw;
  font-weight: 500;
  line-height: 90.909%;
  padding-inline-end: 10px;
}
@media (min-width : 767px) {
  .sdgsAction_link span {
    font-size: 11px;
    padding-inline-end: 12px;
  }
}
.sdgsAction_link span::after {
  position: absolute;
  content: "";
  width: 5px;
  height: 5px;
  top: 0;
  bottom: 0;
  margin-block: auto;
  right: 0;
  border-top: 1px solid #403E3E;
  border-right: 1px solid #403E3E;
  transform: rotate(45deg);
}
.sdgsAction_link.uv {
  background-color: #403E3E;
  color: #fff;
}
@media (min-width : 767px) {
  .sdgsAction_link.uv {
    width: 186px;
  }
}
.sdgsAction_link.uv span::after {
  border-color: #fff;
}
.sdgsAction_link.report {
  background-color: #fff;
  color: #403E3E;
}
@media (min-width : 767px) {
  .sdgsAction_link.report {
    width: 205px;
  }
}
@media (hover: hover) {
  .sdgsAction_link {
    transition: opacity 0.5s;
  }
  .sdgsAction_link:hover {
    text-decoration: none;
    opacity: 0.5;
  }
}

.sdgsAction_other {
  padding-block-end: 120px;
}
@media (min-width : 767px) {
  .sdgsAction_other {
    padding-inline: 9.375% 10%;
    padding-block-end: 0;
  }
}
.sdgsAction_other li {
  border-top: 1px solid #eee;
  padding-block: 25px 30px;
  padding-inline: 2.6% 5.3%;
  display: flex;
  gap: 4.3%;
}
@media (min-width : 767px) {
  .sdgsAction_other li {
    padding-block-end: 25px;
    padding-inline: 0;
    gap: 25px;
  }
  .sdgsAction_other li:last-child {
    border-bottom: 1px solid #eee;
  }
}

.sdgsAction_other_img {
  width: 23.2%;
}
@media (min-width : 767px) {
  .sdgsAction_other_img {
    width: 120px;
  }
}
.sdgsAction_other_img img {
  aspect-ratio: 1/1;
}

.sdgsAction_other_content {
  width: 72.5%;
}
@media (min-width : 767px) {
  .sdgsAction_other_content {
    width: calc(100% - 145px);
  }
}

.sdgsAction_other_header {
  color: #403E3E;
  font-family: var(--ff_ns);
  font-size: 13px;
  font-size: 3.4666666667vw;
  font-weight: 500;
  line-height: 176.923%;
  letter-spacing: 0.02em;
}
@media (min-width : 767px) {
  .sdgsAction_other_header {
    font-size: 13px;
    line-height: 76.923%;
  }
}

.sdgsAction_other_text {
  margin-block-start: 4px;
  color: #403E3E;
  font-family: var(--ff_ns);
  font-size: 12px;
  font-size: 3.2vw;
  font-weight: 400;
  line-height: 191.667%;
  letter-spacing: 0.02em;
}
@media (min-width : 767px) {
  .sdgsAction_other_text {
    margin-block-start: 8px;
    font-size: 12px;
    line-height: 183.333%;
    letter-spacing: 0;
  }
}

.topScroll_area.-active .topScroll_block {
  opacity: 1;
}

.topScroll_block {
  display: none;
}
@media (min-width : 767px) {
  .topScroll_block {
    position: fixed;
    z-index: 20;
    width: 60px;
    height: 60px;
    bottom: 0;
    right: 0;
    display: block;
    background: url(https://etvos.com/img/usr/common/btn_pagetop.png) center/22.5px auto no-repeat, #ede6e9;
    opacity: 0;
    transition: opacity 0.8s, background-color 0.5s;
  }
}
@media (min-width : 767px) and (hover: hover) {
  .topScroll_block:hover {
    background-color: #e3d2a1;
  }
}