@charset "UTF-8";
body{
overflow-x: hidden;
}

.wrapper {
  line-height: 0;
  background-color: #fff
}

.fr-pagetop {
  z-index: 99;
}

.main_inner {
  max-width: 768px;
  margin: 0 auto;
  padding: 0;

  font-family: ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, Hiragino Sans, Noto Sans CJK JP, Osaka, Meiryo, メイリオ, MS PGothic, ＭＳ Ｐゴシック, YuGothic, Yu Gothic, Hiragino Sans GB, Helvetica Neue, HelveticaNeue, Helvetica, Noto Sans, Roboto, Arial, Arial Unicode MS, sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6em;
}

img {
  object-fit: contain;
}

footer .fr-globalFooter {
  margin-top: 0 !important;
}

[data-aos=fade-right] {
  transform: translate3d(-10px, 0, 0);
}

[data-aos=fade-left] {
  transform: translate3d(10px, 0, 0);
}

p.text {
  padding: 0 1em;
  line-height: 1.5em;
}

section {
  margin-bottom: 40px;
}

.list-note {
  margin: 0 2em;
  padding-bottom: 1em;
}

.list-note li {
  text-indent: -1em;
  margin-bottom: 0.5em;
}

.list-note li:before {
  content: "※";
}

.serif {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

/* content */
.header-container {
  position: relative;
  background: transparent;
  max-width: 768px;
  margin: 0 auto;
  z-index: 50;
}

.header_inner {
  position: absolute;
  padding: 10px;
}

.header_logo {
  width: 30px;
  height: 30px;
}

section.mv {
  position: relative;
}

.mv_img {
  position: relative;
}

.mv_title-main {
  max-height: 80vh;
}

.mv_title {
  position: absolute;
  z-index: 5;
  left: 0;
  bottom: 0;
  padding: 1em;
  text-shadow: 1px 1px 3px rgba(255, 255, 255, 1);
}

.mv_logo {
  position: absolute;
  z-index: 5;
  width: 25%;
  top: 5%;
  right: 5%;
}

h1.title,
h1.subtitle {
  font-weight: 100;
}

h1.title {
  font-size: 2em;
  margin-bottom: 0.5em;
}

h1.title span {
  font-size: 0.5em;
  padding-left: 1em;
}

.lead-title {
  display: flex;
  align-items: flex-end;
  margin: 0 auto;
  max-width: 500px;
  text-align: center;
  padding: 0 1em;
}

.lead-title_01 {
  width: 35%;
  margin-right: 1em;
}

.lead-title_02 {
  width: 65%;
}

section.movie {
  margin-bottom: 4em;
}

.video-area {
  max-width: 100%;
  margin: 0 auto;
}

.video {
  margin: 20px 0;
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}

.video iframe {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
}

section.function {
  max-width: 500px;
  margin: 0 auto 40px auto;
  position: relative;
}

.function-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-content: center;
  flex-wrap: wrap;
  margin-bottom: 2em;
}

.function-title img {
  padding: 0 1em;
  margin-bottom: 2em;
}

.list-icons {
  display: flex;
  justify-content: space-between;
  margin-bottom: 2em;
}

.list-icons li {
  width: 15%;
  margin: 1%;
}

.function-subtitle {
  position: absolute;

}

.styling {
  position: relative;
}

.styling-box {
  margin-bottom: 6em;
}

.section-h2 {
  text-align: center;
  font-size: 2em;
  font-weight: 100;
  margin-bottom: 1em;
}

.style-title {
  margin-bottom: 1em;
  text-align: left;
  padding: 0 1em;
  color: #3d3f65;
}

.style_img {
  width: 100%;
  margin-bottom: 1em;
}

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

.style_img_m {
  width: 75%;
}

.style_text {
  margin-bottom: 30px;
}

.style_comment {
  padding: 0 2em;
  color: #3d3f65;
  position: relative;
}

.style_comment::before,
.style_comment::after {
  font-family: serif;
  font-size: 2em;
  position: absolute;
  top: 0;
}

.style_comment::before {
  content: '\“';
  left: 1em;
}

.style_comment::after {
  content: '\”';
  right: 1em;
}

.style_item-carousel .sf_bff_products_inner ul {
  flex-wrap: nowrap;
  overflow-x: scroll;
  padding: 0 1em;
}

.style_item-carousel .sf_bff_products_inner ul.column_3 li {
  width: auto;
  min-width: 37%;
  margin-bottom: 1em;
}

.style_item-carousel .sf_bff_products_inner ul.column_3 li:nth-child(3n) {
  margin-right: 2%;
}

.style_item-carousel .sf_bff_products_inner ul:has(> :nth-child(-n+2):last-child) {
  flex-wrap: wrap;
  overflow-x: hidden;
}

.style_item-carousel .sf_bff_products_inner ul:has(> :nth-child(-n+2):last-child) li {
  width: 37%;
  margin-right: 2%;
}

.style_item-carousel .sf_bff_products_inner ul {
  margin: 0 auto 1em auto;
}

.style_item-carousel.list-note {
  padding-left: 1em;
}

.style_text .list-note {
  padding-left: 1em;
  margin-top: 1em;
}

.item-product {
  width: 90%;
  margin: 0 auto;
  margin-top: 20px;
}

.item-product .sf_bff_products_image {
  border: 1px solid #fff;
}

.link-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.link-box a {
  position: relative;
  display: inline-block;
  width: 250px;
  padding: 1em 0;
  margin-bottom: 2.5em;
  border: 1px solid #000;
}

.link-box a::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 27px;
  width: 9px;
  height: 9px;
  margin: auto;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg);
  box-sizing: border-box;
}

.catalog {
  text-align: center;
  margin: 0 auto 45px;
}

.catalog-img {
  width: 30%;
  margin-bottom: 2em;
}

.catalog p.text {
  margin-bottom: 1em;
}

.catalog-title {
  width: 50%;
  margin: 0 auto;
  margin-bottom: 1em;
}

.link-box.link-box_pdf a::before {
  content: '';
  background: url(https://www.plst.com/jp/ja/special-feature/common/images/pdficon.png) no-repeat;
  position: absolute;
  bottom: 0.9em;
  left: 2em;
  display: inline-block;
  width: 2em;
  height: 2em;
  background-size: contain;
  vertical-align: middle;
}


/* pc */

@media screen and (min-width: 768px) {

  .sp-only {
    display: none;
  }

  .main_inner {
    font-family: ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, Hiragino Sans, Noto Sans CJK JP, Osaka, Meiryo, メイリオ, MS PGothic, ＭＳ Ｐゴシック, YuGothic, Yu Gothic, Hiragino Sans GB, Helvetica Neue, HelveticaNeue, Helvetica, Noto Sans, Roboto, Arial, Arial Unicode MS, sans-serif;
    font-size: 16px;
  }

  .header_logo {
    width: 40px;
    height: 40px;
  }

  img.mv_title-main {
    object-fit: cover;
    object-position: top;
  }

  .mv_title p {
    font-size: 3em;
  }

  p.text {
    padding: 0;
  }

  .style-title {
    padding: 0;
  }

  .style_comment::before {
    left: 0;
  }

  .style_comment::after {
    right: 0;
  }

  .style_item-carousel .sf_bff_products_inner ul {
    padding: 0;
  }

  .item-product {
    width: 100%;
  }

}