/* body
---------------------------------------------------*/
html {
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
}
body {
  background: #f4f4e4;  
}

@media screen and (min-width: 769px) {.pc_br {display: block;}}
@media screen and (max-width: 768px) {.sp_br {display: block;}}

#Footer {
  margin-top: 0;
  padding-top: 80px;
}

sup {
  position: static;
  font-size: 50%;
  vertical-align: super;
}

/* wrap */
#wrapper {
  min-width: auto;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  #wrapper {
    padding-top: 0;
  }
}

#page-mascara-compare {
  width: 100%;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  margin: 0 auto;
}
#page-mascara-compare img {
  max-width: 100%;
  height: auto;
}

a:hover {
  opacity: 0.7;
}

.bnr_footer_links {
  max-width: 100%;
  background-color: #fff;
  padding: min(80px, 6.1538461538vw) 0;
}
@media screen and (max-width: 768px) {
  .bnr_footer_links .bnr_footer_links {
    padding: 12.5vw 0;
  }
}
.bnr_footer_links ul {
  width: min(1100px, 84.6153846154vw);
}

.fadeIn.animated {
  opacity: 0;
}
.fadeIn.did {
  animation-name: fadeIn;
  animation-duration: 0.6s;
}
.fadeInUp.animated {
  opacity: 0;
}
.fadeInUp.did {
  animation-name: fadeInUp;
  animation-duration: 0.6s;
}
.fadeInLeft.animated {
  opacity: 0;
}
.fadeInLeft.did {
  animation-name: fadeInLeft;
  animation-duration: 0.6s;
}
.bounceInUp.animated {
  opacity: 0;
}
.bounceInUp.did {
  animation: bounceInUp 0.6s ease-out forwards;
  opacity: 1;
}
.reveal.animated {
  clip-path: inset(0 100% 0 0);
}
.reveal.did {
  animation: reveal 0.6s ease-out forwards;
}

/* hero
---------------------------------------------------*/
#hero {
  position: relative;
  width: 100%;
  margin: 0 auto;
  z-index: 1;
}
#hero .inner {
  position: relative;
  width: min(1200px, 86vw);
  aspect-ratio: 1200 / 1183.88;
  margin: 40px auto 0 auto;
  background: url(../img/hero_bg.svg) no-repeat center top;
  background-size: cover;
  z-index: 1;
}
#hero .title {
  position: absolute;
  width: min(680px, 58%);
  top: 6.5%;
  left: 50%;
  translate: -50% 0;
}
#hero .model_01 {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
}
#hero .model_02 {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
}
#hero .copy_01 {
  position: absolute;
  top: 17%;
  left: -2%;
  width: min(200px, 14vw);
}
#hero .copy_02 {
  position: absolute;
  top: 15%;
  right: -4%;
  width: min(237px, 17vw);
}
#hero .side_01 {
  position: absolute;
  top: 40%;
  left: -5%;
  width: min(29px, 2.8vw);
}
#hero .side_02 {
  position: absolute;
  top: 40%;
  right: -5%;
  width: min(26px, 2.5vw);
}
@media screen and (max-width: 768px) {
  #hero .inner {
    width: 90vw;
    margin: 45vw auto 7vw auto;
  }
  #hero .title {
    width: 87vw;
    top: -26vw;
  }
  #hero .side_01,
  #hero .side_02 {
    display: none;
  }
}

/* introduce
---------------------------------------------------*/
#introduce {
  position: relative;
  z-index: 2;
  width: min(1200px, 86vw);
  margin: 0 auto 80px auto;
}
#introduce .navigated_area {
  margin: 0 20px;
  display: grid;
  grid-template-columns: 1fr 32%;
  grid-template-areas:
    "catch img"
    "title img"
    "text  img";
  align-items: start;
  grid-template-rows: auto auto 1fr;
}
.catch {
  grid-area: catch;
  margin: 6% 0 3% 5%;
}
.profile_title {
  grid-area: title;
  text-align: right;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 0.5em;
  margin-left: 5%;
  margin-right: -5%;
}
.profile_text {
  grid-area: text;
  text-align: right;
  font-size: clamp(6px, 0.9vw, 13px);
  line-height: 1.6;
  margin-left: 5%;
  margin-right: -5%;
}
.profile_text p {
  margin: 0 -0.6em 0 auto;
}
.profile_text p.insta_id {
  margin: 0 0 0 auto;
}
.profile_img {
  grid-area: img;
  margin-top: max(-70px, -4.7vw);
}
@media (max-width: 768px) {
  #introduce {
    margin-bottom: 60px;
  }
  #introduce .navigated_area {
    margin: 0 10px;
    grid-template-columns: 1fr 54%;
    grid-template-areas:
      "catch catch"
      "title title"
      "text img";
  }
  .catch {
    margin: 0 15% 10% 15%;
  }
  .profile_title {
    text-align: center;
    font-size: 14px;
    margin-left: 0;
    margin-bottom: 1.3em;
  }
  .profile_text {
    text-align: left;
    font-size: 2.6vw;
    margin-left: 0;
    margin-right: -50%;
    line-height: 1.7;
  }
  .profile_img {
    margin: -20% -20% 0 0;
  }
}

.product_compare {
  display: flex;
  justify-content: space-between;
  gap: 0 3.4%;
}
.product_compare .item {
  padding: 3% 4% 3% 4%;
  border-radius: 16px;
}
.product_compare .item.pp {
  background: #e0a0b1;
}
.product_compare .item.ss {
  background: #80c4d2;
}
.product_compare .item h2 {
  width: 78%;
  margin: 0 auto 2% auto;
}
.product_compare .item_img {
  position: relative;
}
.product_compare .deco {
  position: absolute;
  top: 0;
  left: 1%;
  width: 16%;
}
.product_compare .ss .deco {
  left: 5%;
}
.product_compare .deco.did {
  animation-duration: 0.2s;
}
.product_compare .item p {
  margin-top: 1em;
  text-align: center;
  color: #fff;
  line-height: 1.8em;
  font-size: clamp(8px, 1.0vw, 16px);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.4em;
}
@media screen and (max-width: 768px) {
  .product_compare {
    flex-direction: column;
    gap: 4vw;
  }
  .product_compare .item {
    padding: 8% 6%;
    border-radius: 16px;
  }
  .product_compare .item p {
    font-size: 2.4vw;
}
}

/* howto
---------------------------------------------------*/
#howto {
  width: min(1200px, 86vw);
  margin: 0 auto 80px auto;
}
.howto_header {
  width: min(1000px, 96%);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.howto_header h1 {
  position: relative;
  width: 44%;
  padding-left: 4%;
}
.howto_header h1 .check {
  position: absolute;
  top: -80%;
  left: 0;
  width: 17%;
}
.howto_header ul {
  width: 51%;
  display: flex;
  justify-content: space-between;
}
.howto_header ul li {
  width: 49%;
}
@media screen and (max-width: 768px) {
  #howto {
    margin: 0 auto 50px auto;
  }
  .howto_header {
    flex-direction: column;
    width: 60vw;
  }
  .howto_header h1 {
    width: 100%;
    padding-left: 10%;
  }
  .howto_header h1 .check {
    top: -70%;
  }
  .howto_header ul {
    width: 90%;
    margin-top: 20px;
  }
}
.howto_box {
  padding: 6% 6%;
  border-radius: 16px;
  margin-top: 70px;
}
.howto_box .inner {
  width: min(920px, 86%);
  margin: 0 auto;
}
.howto_box#look1 {
  background: #e0a0b1;
}
.howto_box#look2 {
  background: #80c4d2;
}
@media screen and (max-width: 768px) {
  .howto_box {
    padding: 8% 6% 12% 6%;
    margin-top: 20px;
  }
}
.howto_box h2 {
  width: min(530px, 78%);
  margin: 0 auto 3% auto;
}
.howto_box h3 {
  line-height: 1;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: clamp(20px, 2.7vw, 34px);
}
.howto_box h3 span {
  margin-right: 0.3em;
  line-height: 1;
}
.howto_box h3 span::before {
  display: inline-block;
  content: url("../img/title_bracket_left.svg");
  width: 0.3em;
  margin: 0 0.2em;
  vertical-align: -0.1em;
}
.howto_box h3 span::after {
  display: inline-block;
  content: url("../img/title_bracket_right.svg");
  width: 0.3em;
  margin: 0 0.2em;
  vertical-align: -0.1em;
}
.howto_box .inner {
  display: flex;
  justify-content: space-between;
  margin-top: 6%;
}
@media screen and (min-width: 769px) {
  .howto_box#look2 .look_contents {
    order: 2;
  }
  .howto_box#look2 .look_movie {
    order: 1;
  }
}
.howto_box .look_contents {
  width: 46%;
}
.howto_box h4 {
  width: 90%;
  margin: 4% auto 5% auto;
}
.howto_box .swiper {
  padding-bottom: 30px;
}
.howto_box .swiper-pagination-bullet {
  background: #fff;
  width: 12px;
  height: 12px;
}
.howto_box h5 {
  width: 60%;
  margin: 6% auto 3.5% auto;
}
.howto_box ul {
  background: #fff;
  border-radius: 16px;
  padding: 4% 6%;
}
.howto_box ul li {
  position: relative;
  margin-bottom: 0.4em;
  line-height: 1.6;
  font-size: clamp(6px, 1vw, 13px);
  padding-left: 1.2em;
}
.howto_box ul li::before {
  position: absolute;
  display: inline-block;
  content: url("../img/look1_kotsu_icon.svg");
  width: 1.2em;
  height: 1.2em;
  top: 0.2em;
  left: -0.4em;
}
.howto_box#look2 ul li::before {
  content: url("../img/look2_kotsu_icon.svg");
}
.howto_box .look_movie {
  width: 47%;
}
.howto_box .look_movie video {
  width: 100%;
  aspect-ratio: 4 / 7;
}
@media screen and (max-width: 768px) {
  .howto_box h3 {
    font-size: 3.4vw;
    margin-top: 1em;
  }
  .howto_box h3 span {
    display: block;
  }
  .howto_box .inner {
    flex-direction: column;
  }
  .howto_box .look_contents {
    width: 100%;
  }
  .howto_box .swiper {
    padding-bottom: 24px;
  }
  .howto_box .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
  }
  .howto_box ul li {
    font-size: 2vw;
  }
  .howto_box .look_movie {
    width: 100%;
    margin: 12% auto 0 auto;
  }
}

/* --- Navigator --- */
.scroll-agent {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 20;
  display: flex;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
}
.scroll-agent.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.scroll-agent .balloon {
  background: url("../img/navigator_balloon.svg") no-repeat right center;
  background-size: 100%;
  font-size: clamp(8px, 1.1vw, 15px);
  font-weight: bold;
  line-height: 1.8;
  position: relative;
  z-index: 19;
  color: #fff;
  width: min(500px, 36vw);
  aspect-ratio: 4 / 1;
  padding: 1.3em 0 0 2em;
  margin-right: -3vw;
}
.scroll-agent.look1 .balloon {
  color: #eb6da5;
}
.scroll-agent.look2 .balloon {
  color: #00a9c6;
}
.scroll-agent .icon img {
  width: min(220px, 18vw);
  position: relative;
  z-index: 18;
}
@media screen and (max-width: 768px) {
  .scroll-agent {
    right: 10px;
    bottom: 10px;
  }
  .scroll-agent .balloon {
    font-size: 2.2vw;
    width: 70vw;
    padding: 1.2em 0 0 1.5em;
    margin-right: -5vw;
  }
  .scroll-agent .icon img {
    width: 22vw;
  }
}
.balloon.is-changing {
  animation: balloonChange 0.4s ease-in-out forwards;
}
@keyframes balloonChange {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  30% {
    opacity: 0;
    transform: scale(0.8);
  }
  60% {
    opacity: 0;
    transform: scale(0.8);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/* chart
---------------------------------------------------*/
#chart {
  width: min(1200px, 86vw);
  margin: 0 auto 60px auto;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 16px;
  padding: 4% 6%;
}
#chart h1 {
  width: min(180px, 14vw);
  margin: 0 auto 30px auto;
}
@media screen and (max-width: 768px) {
  #chart {
    margin: 0 auto 8vw auto;
  }
  #chart h1 {
    width: 22vw;
    margin: 24px auto 20px auto;
  }
}

/* --- tableレイアウト --- */
.chart_table {
  display: flex;
}
@media screen and (min-width: 769px) {
  table.ss th {
    display: none;
  }
}
.chart_table table.pp {
  width: calc((100% + 8vw) / 2);
}
@media screen and (min-width: 1400px) {
  .chart_table table.pp {
    width: calc((100% + 112px) / 2);
  }
}
.chart_table table td.lineup .inner {
  display: flex;
}
@media screen and (max-width: 768px) {
  .chart_table {
    flex-direction: column;
  }
  .chart_table table.pp,
  .chart_table table.ss {
    width: 100%;
    margin-bottom: 20px;
  }
}

/* --- border --- */
.chart_table table th {
  border-bottom: 1px solid #000;
  box-sizing: border-box;
}
.chart_table table td {
  border-bottom: 1px solid #000;
  box-sizing: border-box;
}
.chart_table table.pp td {
  border-right: 1px solid #000;
}
.chart_table table td.title,
.chart_table table tr:last-of-type th,
.chart_table table tr:last-of-type td {
  border-bottom: 0;
}
.chart_table table td.lineup .inner .item:first-child {
  border-right: 1px dashed #000;
}
@media screen and (max-width: 768px) {
  .chart_table table.pp td {
    border-right: 0;
  }
}

/* --- セル内 contents --- */
.chart_table table .title {
  color: #fff;
  font-weight: bold;
  text-align: center;
  font-size: clamp(10px, 1.6vw, 18px);
  line-height: 1;
  height: 60px;
}
.chart_table table.pp .title {
  background: #e0a0b1;
}
.chart_table table.ss .title {
  background: #80c4d2;
}
.chart_table table th {
  background: #e9e9cc;
  width: min(112px, 8vw);
  font-size: clamp(8px, 1vw, 13px);
  line-height: 1.5;
  text-align: center;
  padding: 0;
}
.chart_table table td {
  position: relative;
  height: 60px;
  font-size: clamp(8px, 1vw, 13px);
  line-height: 1.5;
  text-align: center;
  padding: 0;
}
.chart_table table td .note {
  font-size: 65%;
  margin-top: 0.6em;
}
@media screen and (max-width: 768px) {
  .chart_table table .title {
    font-size: 3.2vw;
    height: 4em;
  }
  .chart_table table th {
    width: 15vw;
    font-size: 2vw;
    font-weight: bold;
  }
  .chart_table table td {
    font-size: 3vw;
    height: auto;
    padding: 1em 0;
  }
}
/* ラインナップ */
.chart_table table td.lineup,
.chart_table table td.lineup .item {
  height: min(480px, 37vw);
}
.chart_table table td.lineup .color {
  padding: 2em 0 0.4em 0;
}
.chart_table table td.lineup .texture {
  width: min(140px, 70%);
  margin: 0 auto;
}
.chart_table table td.lineup .item_img {
  width: min(170px, 80%);
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .chart_table table td.lineup {
    height: auto;
    padding: 0;
  }
  .chart_table table td.lineup .item {
    height: auto;
    padding: 1.5em 0 2em 0;
  }
  .chart_table table td.lineup .color {
    padding: 0 0 0.4em 0;
  }
}
/* 仕上がり */
.chart_table table td.finish {
  height: min(220px, 19vw);
}
.chart_table table .eye_text {
  width: min(240px, 60%);
  margin: -5px auto 0 auto;
}
.chart_table table .eye_img {
  width: min(240px, 60%);
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .chart_table table td.finish {
    height: auto;
    padding: 1.5em 0;
  }
  .chart_table table .eye_text {
    width: 70%;
  }
}
/* ブラシ形状 */
.chart_table table .brush_shape {
  height: min(140px, 12vw);
}
.brush {
  position: relative;
  width: min(390px, 30vw);
  margin: 1.5em 0 -0.5em auto;
}
.brush > img {
  position: relative;
  z-index: 2;
}
.chart_table table .point {
  position: absolute;
  z-index: 1;
}
.chart_table table.pp .point.animated {
  width: 0;
  opacity: 0;
  top: 90%;
  left: 5%;
  transition: 0.4s;
}
.chart_table table.pp .point.did {
  opacity: 1;
  top: -16%;
  left: -2%;
  width: 60%;
}
.chart_table table.ss .point.animated {
  clip-path: inset(100% 0 0 0);
  transition: 0.5s;
}
.chart_table table.ss .point.did {
  clip-path: inset(0 0 0 0);
  top: -22%;
  left: -4%;
  width: 40%;
}
.chart_table table .brush_name {
  padding-left: 1em;
}
@media screen and (max-width: 768px) {
  .chart_table table .brush_shape {
    height: auto;
  }
  .brush {
    width: 94%;
    margin: 1em 0 0.8em auto;
  }
  .chart_table table .brush_name {
    padding-left: 0;
  }
}
/* ウォータープルーフ */
.chart_table table .circle {
  margin: 1em auto;
  width: min(38px, 3.6vw);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  border: 2px solid #e0a0b1;
}
.chart_table table.ss .circle {
  border: 2px solid #80c4d2;
}
@media screen and (max-width: 768px) {
  .chart_table table .circle {
    margin: 0 auto;
    width: 6vw;
  }
}

/* chart
---------------------------------------------------*/
#btn_area {
  width: min(1200px, 86vw);
  margin: 0 auto 100px auto;
}
@media screen and (min-width: 769px) {
  #btn_area {
    display: flex;
    justify-content: space-between;
  }
  #btn_area .store_btn {
    width: 48.5%;
  }
}
@media screen and (max-width: 768px) {
  #btn_area .store_btn:first-child {
    margin-bottom: 3vw;
  }
}

/* animation
---------------------------------------------------*/
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
.animated.delay-05s {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}
.animated.delay-1s {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}
.animated.delay-2s {
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}
.animated.delay-3s {
  -webkit-animation-delay: 3s;
  animation-delay: 3s;
}
.animated.delay-4s {
  -webkit-animation-delay: 4s;
  animation-delay: 4s;
}
.animated.delay-5s {
  -webkit-animation-delay: 5s;
  animation-delay: 5s;
}
.animated.fast {
  -webkit-animation-duration: 800ms;
  animation-duration: 800ms;
}
.animated.faster {
  -webkit-animation-duration: 500ms;
  animation-duration: 500ms;
}
.animated.slow {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}
.animated.slower {
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
}

@media print and (prefers-reduced-motion: reduce) {
  .animated {
    -webkit-animation-duration: 1ms !important;
    animation-duration: 1ms !important;
    -webkit-transition-duration: 1ms !important;
    transition-duration: 1ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important;
  }
}
@keyframes bounceInUp {
  0%, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(0, 80%, 0) scaleY(1.2);
  }
  50% {
    opacity: 1;
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }
  70% {
    opacity: 1;
  }
  75% {
    transform: translate3d(0, 10px, 0) scaleY(0.95);
  }
  90% {
    transform: translate3d(0, -5px, 0) scaleY(0.985);
  }
  to {
    transform: translateZ(0);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 30px, 0);
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-30px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes flash {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}
@keyframes rotate {
  0% {
    rotate: 0deg;
  }
  100% {
    rotate: 360deg;
  }
}
@keyframes reveal {
  to {
    clip-path: inset(0 0 0 0);
  }
}

/*# sourceMappingURL=main.css.map */
