@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700;900&display=swap");
.ttlWrap h1 {
  padding-top: 100px;
}

.sec {
  padding-top: 40px;
  padding-bottom: 40px;
}

@media print, screen and (max-width: 767px) {
  .sec {
    padding-top: 7.8125vw;
    padding-bottom: 7.8125vw;
  }
  .sec > * {
    width: 90.4%;
    margin-left: auto;
    margin-right: auto;
  }
  /*.impression_content.sec{
      padding-top: 6%;
  }*/
}
.contents {
  font-weight: 500;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
.contents .inner {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
.contents p {
  line-height: 1.8;
}
.contents p.-size20 {
  font-size: 2rem;
}
@media print, screen and (max-width: 767px) {
  .contents p.-size20 {
    font-size: 3.125vw;
  }
}
.contents p.-size24 {
  font-size: 2.4rem;
}
@media print, screen and (max-width: 767px) {
  .contents p.-size24 {
    font-size: 3.75vw;
  }
}
.contents p.-size28 {
  font-size: 2.8rem;
}
@media print, screen and (max-width: 767px) {
  .contents p.-size28 {
    font-size: 4.375vw;
  }
}
.contents .-marker {
  background: linear-gradient(transparent 60%, #ffff00 0%);
  display: inline;
  padding: 0 1px 0px;
}
.contents .-blue {
  color: #00aeeb;
}
.contents .-pink {
  color: #ed848c;
}
.contents .-navy {
  color: #0068b6;
}
.contents .-center {
  text-align: center;
}
.contents .notes {
  font-size: 1.2rem;
}
@media print, screen and (max-width: 767px) {
  .contents .notes {
    font-size: 2.1875vw;
  }
}

/*-----------------------------------------------------
  KV
-----------------------------------------------------*/
.contents-kv {
  background-image: url(../img/special/impression/bg_title.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  /*padding-bottom: 33px;*/
  z-index: 1;
  position: relative;
  height: 340px;
}
.contents-kv .inner {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.contents-logo {
  max-width: 250px;
  width: 15%;
}

.contents-title {
  max-width: 680px;
  width: 98%;
  margin: 0 auto auto;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
}

@media print, screen and (max-width: 767px) {
  /* KV */
  .contents-kv {
    margin-bottom: 6vw;
    height: 58.7vw;
    background-image: url(../img/special/impression/bg_title_sp.jpg);
  }
  .contents-logo {
    margin: 0 auto;
    width: 37%;
  }
  .contents-title {
    margin: 7vw auto 0;
    display: block;
    width: 94%;
    display: block;
  }
  .contents-title img {
    width: 100%;
  }
}
/*-----------------------------------------------------
  コンテンツメイン
-----------------------------------------------------*/
@media print, screen and (max-width: 767px) {
  .intro {
    padding-bottom: 0;
  }
}
.intro_title {
  margin-bottom: 1em;
  color: #ed848c;
  font-size: 4rem;
  font-weight: 500;
}
@media print, screen and (max-width: 767px) {
  .intro_title {
    font-size: 6.25vw;
  }
}
.intro_title em {
  font-size: 5.6rem;
  font-weight: 500;
}
@media print, screen and (max-width: 767px) {
  .intro_title em {
    font-size: 8.75vw;
  }
}
.intro_text {
  margin-bottom: 1.5em;
  font-size: 2.4rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.5;
}
@media print, screen and (max-width: 767px) {
  .intro_text {
    font-size: 3.75vw;
  }
}

.compare_container {
  margin: 6rem auto;
  border-radius: 1em;
  padding: 3.5rem;
  display: flex;
  justify-content: space-between;
  background: rgba(202, 202, 202, 0.2);
}
@media print, screen and (max-width: 767px) {
  .compare_container {
    margin: 6.25vw auto;
    padding: 4.375vw;
  }
}
.compare_item {
  width: 45rem;
  text-align: center;
}
@media print, screen and (max-width: 767px) {
  .compare_item {
    width: 48%;
  }
}
.compare_item figcaption {
  margin-top: 0.75em;
  font-size: 2rem;
  font-weight: 500;
}
@media print, screen and (max-width: 767px) {
  .compare_item figcaption {
    font-size: 3.125vw;
  }
}

.first_frame {
  padding: 6rem;
  border: solid 3px #00aeeb;
  border-radius: 1.5em;
}
@media print, screen and (max-width: 767px) {
  .first_frame {
    padding: 5.625vw;
  }
}
.first_title {
  margin-bottom: 2em;
  font-size: 3.2rem;
  color: #ed848c;
  font-weight: 500;
}
@media print, screen and (max-width: 767px) {
  .first_title {
    font-size: 4.375vw;
  }
}
.first_title em {
  font-size: 4.8rem;
  display: inline-block;
  font-weight: 500;
}
@media print, screen and (max-width: 767px) {
  .first_title em {
    font-size: 6.875vw;
  }
}
.first_column {
  display: flex;
  justify-content: space-between;
}
@media print, screen and (max-width: 767px) {
  .first_column {
    flex-direction: column;
    gap: 9.375vw;
  }
}
.first_column.-column01 .first_column_text {
  width: 43.6rem;
}
@media print, screen and (max-width: 767px) {
  .first_column.-column01 .first_column_text {
    width: 100%;
  }
}
.first_column.-column01 .first_column_image {
  width: 35.2rem;
}
@media print, screen and (max-width: 767px) {
  .first_column.-column01 .first_column_image {
    margin: 0 auto;
    width: 80%;
  }
}
.first_column.-column02 {
  align-items: flex-end;
  gap: 3.125vw;
}
.first_column.-column02 .first_column_text {
  margin-bottom: 2em;
  width: 69.6rem;
}
@media print, screen and (max-width: 767px) {
  .first_column.-column02 .first_column_text {
    margin-top: 2em;
    margin-bottom: 0;
    width: 100%;
  }
}
.first_column.-column02 .first_column_image {
  margin-right: -6rem;
  width: 21.6rem;
}
@media print, screen and (max-width: 767px) {
  .first_column.-column02 .first_column_image {
    margin: 0 auto;
    padding-left: 5.625vw;
    width: 40%;
  }
}
.first_list {
  margin-top: 2.5em;
  display: flex;
  flex-direction: column;
  gap: 0.75em;
}
.first_list li {
  font-size: 1.6rem;
}
@media print, screen and (max-width: 767px) {
  .first_list li {
    font-size: 2.8125vw;
  }
}
.first_list li::before {
  content: "●";
  display: inline-block;
  color: #00aeeb;
}
.first_list li:nth-child(2)::before {
  opacity: 0.4;
}
.first_list li:nth-child(3)::before {
  opacity: 0.2;
}

.check_title {
  font-size: 4rem;
  text-align: center;
  color: #ed848c;
  font-weight: 500;
}
@media print, screen and (max-width: 767px) {
  .check_title {
    font-size: 5.625vw;
  }
}
.check_title::before {
  margin: 0 auto 0.25em;
  content: "";
  display: block;
  width: 10rem;
  height: 9.2rem;
  background: url(../img/special/impression/parts_check.png) no-repeat center top;
  background-size: 100% auto;
}
@media print, screen and (max-width: 767px) {
  .check_title::before {
    width: 15.625vw;
    height: 14.375vw;
  }
}

.impression {
  background: #dff4fd;
}
.impression_title {
  margin-bottom: 0.75em;
  color: #ed848c;
  font-size: 4rem;
  font-weight: 500;
  text-shadow: 0 0 10px #fff, 0 5px 10px #fff, 5px 0 10px #fff, 0 -5px 10px #fff, -5px 0 10px #fff;
}
@media print, screen and (max-width: 767px) {
  .impression_title {
    font-size: 5.625vw;
  }
}
.impression_title_caption {
  margin-bottom: 0.25em;
  font-size: 3.6rem;
  font-weight: 500;
  text-align: center;
}
@media print, screen and (max-width: 767px) {
  .impression_title_caption {
    margin-bottom: 0.5em;
    font-size: 4.375vw;
  }
}
.impression_title_caption em {
  font-weight: 500;
}
.impression_lead {
  margin-bottom: 1.5em;
  font-size: 2.8rem;
  text-align: center;
}
@media print, screen and (max-width: 767px) {
  .impression_lead {
    font-size: 4.375vw;
  }
}
.impression_lead em {
  background: #fff;
  color: #ed848c;
  font-weight: 500;
}
.impression_lead02 {
  margin-bottom: 1.5em;
  font-size: 2.6rem;
  text-align: center;
}
@media print, screen and (max-width: 767px) {
  .impression_lead02 {
    font-size: 3.75vw;
    text-align: left;
  }
}
.impression_lead02 em {
  font-weight: 500;
}
.impression_frame {
  border: solid 3px #00aeeb;
  border-radius: 4.4rem;
  background: #fff;
  overflow: hidden;
}
@media print, screen and (max-width: 767px) {
  .impression_frame {
    font-size: 6.875vw;
    border-radius: 6.875vw;
  }
}
.impression_frame_title {
  padding: 0.5em;
  color: #fff;
  background: #00aeeb;
  font-size: 4rem;
  text-align: center;
  line-height: 1.2;
}
@media print, screen and (max-width: 767px) {
  .impression_frame_title {
    font-size: 5.625vw;
  }
}
.impression_frame_title_number {
  margin-bottom: 2em;
  padding: 1.5em 1em 1em;
  border: solid 3px #9e9e9f;
  border-radius: 2rem;
  font-size: 2.8rem;
  text-align: center;
}
@media print, screen and (max-width: 767px) {
  .impression_frame_title_number {
    font-size: 3.75vw;
  }
}
.impression_frame_title_number.-num01::before {
  content: "";
  display: block;
  margin: -7rem auto 0.5em;
  width: 29.1rem;
  height: 5.4rem;
  background: url(../img/special/impression/parts_no01.png) no-repeat center top;
  background-size: 100% auto;
}
@media print, screen and (max-width: 767px) {
  .impression_frame_title_number.-num01::before {
    margin-top: -10.9375vw;
    width: 45.46875vw;
    height: 8.4375vw;
  }
}
.impression_frame_title_number.-num02 {
  margin-top: 3em;
}
.impression_frame_title_number.-num02::before {
  content: "";
  display: block;
  margin: -7rem auto 0.5em;
  width: 29.1rem;
  height: 5.4rem;
  background: url(../img/special/impression/parts_no02.png) no-repeat center top;
  background-size: 100% auto;
}
@media print, screen and (max-width: 767px) {
  .impression_frame_title_number.-num02::before {
    margin-top: -10.9375vw;
    width: 45.46875vw;
    height: 8.4375vw;
  }
}
.impression_frame_inner {
  margin: 7.2rem auto;
  width: 80.8rem;
}
@media print, screen and (max-width: 767px) {
  .impression_frame_inner {
    margin: 10vw auto 5vw;
    width: 90%;
  }
}
.impression_image01 {
  margin: 4em 0;
  width: 72rem;
}
@media print, screen and (max-width: 767px) {
  .impression_image01 {
    margin: 1em 0;
    width: 100%;
  }
}
.impression_image02 {
  margin: 4em auto;
  width: 64.8rem;
}
@media print, screen and (max-width: 767px) {
  .impression_image02 {
    margin: 1em auto;
    width: 90%;
  }
}

.conclusion {
  padding-bottom: 0;
}
.conclusion_title {
  margin-bottom: 1.5em;
  font-size: 3.2rem;
  text-align: center;
  color: #ed848c;
}
@media print, screen and (max-width: 767px) {
  .conclusion_title {
    font-size: 4.375vw;
  }
}
.conclusion_title em {
  font-size: 4.8rem;
}
@media print, screen and (max-width: 767px) {
  .conclusion_title em {
    font-size: 6.25vw;
  }
}

.fatigueSelfCheck__item {
  margin: 2.4em auto;
  text-align: center;
  width: 28%;
  text-align: center;
  border: 2px solid #0068b6;
  font-size: 1.8rem;
}
@media print, screen and (max-width: 767px) {
  .fatigueSelfCheck__item {
    width: 72%;
    font-size: 3.75vw;
  }
}
.fatigueSelfCheck__item p {
  color: #0068b6;
  padding: 2rem 0;
  line-height: 1.75;
  font-weight: 500;
}
@media print, screen and (max-width: 767px) {
  .fatigueSelfCheck__item p {
    padding: 3.125vw 0;
  }
}
.fatigueSelfCheck__item span {
  display: block;
  background: #0068b6;
  color: #fff;
  padding: 1rem 0;
  position: relative;
  line-height: 1;
}
@media print, screen and (max-width: 767px) {
  .fatigueSelfCheck__item span {
    padding: 1.5625vw 0;
  }
}
.fatigueSelfCheck__item span::after {
  content: "";
  position: absolute;
  background: url(../img/special/impression/icon-arrow.png) no-repeat center center;
  background-size: contain;
  width: 0.6rem;
  height: 1rem;
  right: 1.3rem;
  top: 50%;
  transform: translateY(-50%);
}
@media print, screen and (max-width: 767px) {
  .fatigueSelfCheck__item span::after {
    width: 0.9375vw;
    height: 1.5625vw;
    right: 2.03125vw;
  }
}
.fatigueSelfCheck__item.-colorPink {
  border: 2px solid #e88e91;
}
.fatigueSelfCheck__item.-colorPink p {
  color: #e88e91;
}
.fatigueSelfCheck__item.-colorPink span {
  background: #e88e91;
}

.link_learn {
  margin: 2.4em auto;
  text-align: center;
  font-size: 2.8rem;
}
@media print, screen and (max-width: 767px) {
  .link_learn {
    font-size: 4.375vw;
  }
}
.link_learn .btn_learn {
  margin-top: 0.25em;
}
.link_learn .btn_learn a {
  padding: 1em 0.75em 1em 2em;
  color: #fff;
  background: #e88e91;
  font-size: 2rem;
  display: inline-block;
  line-height: 1;
}
@media print, screen and (max-width: 767px) {
  .link_learn .btn_learn a {
    font-size: 3.125vw;
  }
}
.link_learn .btn_learn a::after {
  content: "";
  margin-left: 1.5em;
  display: inline-block;
  width: 11px;
  height: 14px;
  background: #fff;
  clip-path: polygon(0 50%, -10.2% 50%, -10.2% 0, 100% 50%, -10.2% 100%, -10.2% 50%, 0 50%);
}

.lumify {
  margin-top: 3.5em;
  padding-top: 3.5em;
  border-top: solid 0.2rem #0068b6;
  text-align: center;
}
.lumify_banner {
  margin: 1.5em auto 0;
  width: 49.2rem;
}
@media print, screen and (max-width: 767px) {
  .lumify_banner {
    width: 100%;
  }
}

p.intro_txt01 {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  line-height: 2;
  color: #57bffc;
}
p.intro_txt02 {
  text-align: center;
  font-size: 20px;
  line-height: 2;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 35px;
}
p.intro_txt02::before {
  content: "";
  width: 24px;
  height: 22px;
  background: url(../img/special/impression/star01.svg) center/contain no-repeat;
  margin-bottom: 35px;
}

@media print, screen and (max-width: 767px) {
  p.intro_txt01 {
    text-align: justify;
    font-size: 16px;
    letter-spacing: 0;
  }
  p.intro_txt02 {
    text-align: justify;
    font-size: 16px;
    letter-spacing: 0;
    padding-top: 35px;
  }
  p.intro_txt02::before {
    margin-bottom: 25px;
  }
}
/*-----------------------------------------------------
  section-link
-----------------------------------------------------*/
.section-link {
  /*padding-top: 55px;*/
  margin-bottom: -94px;
}
.section-link a {
  display: block;
  max-width: 920px;
  margin: 0 auto;
}

/*-----------------------------------------------------
  PC
-----------------------------------------------------*/
@media print, screen and (min-width: 768px) {
  /* footer */
  .sec04_box02 {
    justify-content: center;
  }
}
/*-----------------------------------------------------
  SP
-----------------------------------------------------*/
@media print, screen and (max-width: 767px) {
  .section-link {
    /*padding-top: 27px;*/
    margin-bottom: -47px;
  }
  .section-link a {
    width: 90%;
  }
}
.sec04 h2 {
  justify-content: center;
}

.sec04_box02 {
  justify-content: space-between;
}
.sec04_box02 .h2_sub {
  margin-bottom: 1em;
}
@media print, screen and (max-width: 767px) {
  .sec04_box02 > div {
    text-align: center;
  }
}/*# sourceMappingURL=impression.css.map */