@charset "UTF-8";
/*==============================

reset

==============================*/
* {
  box-sizing: border-box; }

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

img {
  max-width: 100%; }

ul {
  list-style: none;
  margin: 0;
  padding: 0; }

a {
  text-decoration: none;
  display: inline; }

a:focus {
  outline: none; }

sup,
sub {
  height: 0;
  line-height: 1;
  vertical-align: baseline;
  position: relative; }

sup {
  bottom: 1ex; }

sub {
  top: .5ex; }

p,
h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0; }

/*
@include animation(anime-opening_face 4s ease 0.5s);
@include keyframes(anime-opening_face){
    0%  { transform: translate(-50%,100%); }
    30% { transform: translate(-50%,0); }
    70% { transform: translate(-50%,0); }
    100%{ transform: translate(-50%,100%); }
}
*/
@media screen and (max-width: 640px) {
  .mod-freeHTML .pc_only {
    display: none; } }

@media (min-width: 641px) {
  .mod-freeHTML .sp_only {
    display: none; } }

.mod-freeHTML .st-contents {
  max-width: 1220px;
  margin: 0 auto; }

.mod-freeHTML .area-inner {
  max-width: 1000px;
  width: 94%;
  margin: 0 auto;
  position: relative; }
  @media screen and (max-width: 640px) {
    .mod-freeHTML .area-inner {
      width: 100%;
      padding: 0 20px; } }

.mod-freeHTML .area-main {
  width: 100%;
  text-align: center;
  margin-bottom: 105px; }
  @media screen and (max-width: 640px) {
    .mod-freeHTML .area-main {
      margin-bottom: 20.3125%; } }
  .mod-freeHTML .area-main .area-inner {
    max-width: none;
    width: 100%;
    padding: 0; }
    .mod-freeHTML .area-main .area-inner .box-main {
      width: 100%;
      display: block;
      margin: 0 auto 55px; }
      @media screen and (max-width: 640px) {
        .mod-freeHTML .area-main .area-inner .box-main {
          margin-bottom: 9.375%; } }
      .mod-freeHTML .area-main .area-inner .box-main img {
        max-width: none;
        width: 100%; }
    .mod-freeHTML .area-main .area-inner .box-copy {
      display: block;
      text-align: center;
      margin: 0 auto 40px; }
      @media screen and (max-width: 640px) {
        .mod-freeHTML .area-main .area-inner .box-copy {
          width: 70%;
          margin-bottom: 7.8125%; } }
    .mod-freeHTML .area-main .area-inner .box-txt {
      display: block;
      text-align: center;
      margin: 0 auto;
      font-size: 18px;
      line-height: 260%;
      letter-spacing: 0.05em; }
      @media screen and (max-width: 640px) {
        .mod-freeHTML .area-main .area-inner .box-txt {
          font-size: 14px;
          line-height: 175%; } }

.mod-freeHTML .area-contents {
  width: 100%;
  text-align: center;
  display: block; }
  .mod-freeHTML .area-contents .area-inner {
    padding: 50px 10px 90px; }
    @media screen and (max-width: 640px) {
      .mod-freeHTML .area-contents .area-inner {
        padding: 18.75% 0 28.125%; } }
    .mod-freeHTML .area-contents .area-inner .box-title2 {
      position: absolute;
      top: 0;
      left: 0;
      transform: translateY(-50%); }
      @media (min-width: 641px) {
        .mod-freeHTML .area-contents .area-inner .box-title2 {
          margin-left: -25px; } }
      @media screen and (max-width: 640px) {
        .mod-freeHTML .area-contents .area-inner .box-title2 {
          width: 73.4375%; } }
      @media screen and (max-width: 640px) {
        .mod-freeHTML .area-contents .area-inner .box-title2 img {
          width: 100%; } }
    .mod-freeHTML .area-contents .area-inner .wrap-head {
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 640px) {
        .mod-freeHTML .area-contents .area-inner .wrap-head {
          flex-direction: column; } }
      .mod-freeHTML .area-contents .area-inner .wrap-head > li {
        width: 48.4%; }
        @media screen and (max-width: 640px) {
          .mod-freeHTML .area-contents .area-inner .wrap-head > li {
            width: 100%; } }
        .mod-freeHTML .area-contents .area-inner .wrap-head > li.wrap-head_title {
          padding-top: 25px;
          text-align: left; }
          @media screen and (max-width: 640px) {
            .mod-freeHTML .area-contents .area-inner .wrap-head > li.wrap-head_title {
              order: 2;
              padding-top: 6.25%; } }
          .mod-freeHTML .area-contents .area-inner .wrap-head > li.wrap-head_title .box-title1 {
            margin-bottom: 35px; }
            @media screen and (max-width: 640px) {
              .mod-freeHTML .area-contents .area-inner .wrap-head > li.wrap-head_title .box-title1 {
                margin: 0 auto 6.25%; } }
          .mod-freeHTML .area-contents .area-inner .wrap-head > li.wrap-head_title .box-txt {
            font-size: 16px;
            line-height: 170%; }
            @media screen and (max-width: 640px) {
              .mod-freeHTML .area-contents .area-inner .wrap-head > li.wrap-head_title .box-txt {
                text-align: center;
                font-size: 12px;
                margin-bottom: 7.8125%; } }
        @media screen and (max-width: 640px) {
          .mod-freeHTML .area-contents .area-inner .wrap-head > li.wrap-head_main {
            order: 1;
            padding: 0 30px; } }
    .mod-freeHTML .area-contents .area-inner .box-btn {
      margin-top: 90px; }
      @media screen and (max-width: 640px) {
        .mod-freeHTML .area-contents .area-inner .box-btn {
          margin-top: 26.9230769231%;
          padding: 0 30px; } }

.mod-freeHTML .js-slide {
  margin-top: 45px;
  /*---------- 2022年12月更新箇所ここから ----------*/
  /*---------- 2022年12月更新箇所ここまで ----------*/ }
  @media screen and (max-width: 640px) {
    .mod-freeHTML .js-slide {
      padding: 0 20px;
      margin-top: 7.8125%; } }
  .mod-freeHTML .js-slide .box-slide_item {
    padding: 0 10px; }
  .mod-freeHTML .js-slide .slick-dots li {
    width: 10px;
    height: 10px;
    margin: 0 10px; }
  .mod-freeHTML .js-slide .slick-dots li button {
    width: 10px;
    height: 10px;
    background: #B6B6B6; }
  .mod-freeHTML .js-slide .slick-dots li button:before {
    content: ""; }
  .mod-freeHTML .js-slide .slick-dots li.slick-active button {
    background: #5CADC8; }
  .mod-freeHTML .js-slide .slick-dots {
    left: 50%;
    transform: translateX(-50%); }
  @media screen and (max-width: 640px) {
    .mod-freeHTML .js-slide .slick-dots li {
      margin: 0 7px; } }
  .mod-freeHTML .js-slide .slick-dots li button::before {
    display: none; }

.mod-freeHTML .area-contents.area-purifure {
  background: #E2EFF5;
  border-top: 10px solid #5CADC8;
  /*---------- 2022年12月更新箇所ここから ----------*/
  /*---------- 2022年12月更新箇所ここまで ----------*/ }
  .mod-freeHTML .area-contents.area-purifure .area-inner .wrap-head > li.wrap-head_title {
    padding-top: 0; }
    @media screen and (max-width: 640px) {
      .mod-freeHTML .area-contents.area-purifure .area-inner .wrap-head > li.wrap-head_title {
        padding-top: 1.5625%; } }
  .mod-freeHTML .area-contents.area-purifure .area-inner .wrap-head > li.wrap-head_title .box-title1 {
    width: 90.9282700422%;
    margin-bottom: 0; }
    @media screen and (max-width: 640px) {
      .mod-freeHTML .area-contents.area-purifure .area-inner .wrap-head > li.wrap-head_title .box-title1 {
        width: 75%;
        margin: 0 auto 3.125%; } }
  .mod-freeHTML .area-contents.area-purifure .js-slide .slick-dots li.slick-active button {
    background: #5CADC8; }

.mod-freeHTML .area-contents.area-terrace {
  background: #F8F0F3;
  border-top: 10px solid #E6829B;
  /*---------- 2022年12月更新箇所ここから ----------*/
  /*.area-inner{
      @include media-sp {
      padding-bottom: percentage(45/320);
      }
  }*/
  /*---------- 2022年12月更新箇所ここまで ----------*/ }
  @media screen and (max-width: 640px) {
    .mod-freeHTML .area-contents.area-terrace .area-inner .wrap-head > li.wrap-head_title .box-title1 {
      width: 62.5%; } }
  .mod-freeHTML .area-contents.area-terrace .js-slide .slick-dots li.slick-active button {
    background: #E6829B; }

/*---------- 2022年12月更新箇所ここから ----------*/
.mod-freeHTML .area-contents.area-slow {
  background: #fbf5d7;
  border-top: 10px solid #f3b43a; }
  @media screen and (max-width: 640px) {
    .mod-freeHTML .area-contents.area-slow .area-inner {
      padding-bottom: 14.0625%; } }
  @media screen and (max-width: 640px) {
    .mod-freeHTML .area-contents.area-slow .area-inner .wrap-head > li.wrap-head_title .box-title1 {
      width: 59.375%; } }
  .mod-freeHTML .area-contents.area-slow .js-slide .slick-dots li.slick-active button {
    background: #f3b43a; }
  @media screen and (max-width: 640px) {
    .mod-freeHTML .area-contents.area-slow .box-notes {
      padding: 0 30px; } }
  .mod-freeHTML .area-contents.area-slow .box-notes p {
    margin: 50px 2.0408163265% 0;
    padding-left: 1em;
    text-indent: -1em;
    font-size: 11px;
    line-height: 1.4em;
    text-align: left; }
    @media screen and (max-width: 640px) {
      .mod-freeHTML .area-contents.area-slow .box-notes p {
        margin: 15.3846153846% 0 0; } }
  .mod-freeHTML .area-contents.area-slow .box-btn {
    margin-top: 60px; }
    @media screen and (max-width: 640px) {
      .mod-freeHTML .area-contents.area-slow .box-btn {
        margin-top: 11.5384615385%; } }

/*---------- 2022年12月更新箇所ここまで ----------*/
.mod-freeHTML .area-topics {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  margin-top: 65px;
  margin-bottom: 70px; }
  @media screen and (max-width: 640px) {
    .mod-freeHTML .area-topics {
      margin-top: 14.0625%;
      margin-bottom: 12.5%; } }
  .mod-freeHTML .area-topics .area-inner .wrap-topics {
    position: relative;
    display: block;
    border: 2px solid #008AB3;
    padding: 40px 60px; }
    @media screen and (max-width: 640px) {
      .mod-freeHTML .area-topics .area-inner .wrap-topics {
        padding: 8.9285714286%; } }
    .mod-freeHTML .area-topics .area-inner .wrap-topics .box-title {
      position: absolute;
      top: 0;
      left: 0;
      margin-left: 25px;
      transform: translateY(-50%); }
      @media screen and (max-width: 640px) {
        .mod-freeHTML .area-topics .area-inner .wrap-topics .box-title {
          width: 22.8571428571%; } }
    .mod-freeHTML .area-topics .area-inner .wrap-topics .wrap-topics_list {
      height: 12em;
      overflow-y: scroll; }
      @media screen and (max-width: 640px) {
        .mod-freeHTML .area-topics .area-inner .wrap-topics .wrap-topics_list {
          height: 22em; } }
      .mod-freeHTML .area-topics .area-inner .wrap-topics .wrap-topics_list > li {
        display: flex;
        font-size: 14px; }
        @media screen and (max-width: 640px) {
          .mod-freeHTML .area-topics .area-inner .wrap-topics .wrap-topics_list > li {
            display: block;
            font-size: 12px; } }
        .mod-freeHTML .area-topics .area-inner .wrap-topics .wrap-topics_list > li + li {
          margin-top: 1em; }
        .mod-freeHTML .area-topics .area-inner .wrap-topics .wrap-topics_list > li .box-topics_data {
          width: 6em; }
          @media screen and (max-width: 640px) {
            .mod-freeHTML .area-topics .area-inner .wrap-topics .wrap-topics_list > li .box-topics_data {
              width: 100%; } }
        .mod-freeHTML .area-topics .area-inner .wrap-topics .wrap-topics_list > li .box-topics_text {
          width: calc( 100% - 6em ); }
          @media screen and (max-width: 640px) {
            .mod-freeHTML .area-topics .area-inner .wrap-topics .wrap-topics_list > li .box-topics_text {
              width: 100%; } }
        .mod-freeHTML .area-topics .area-inner .wrap-topics .wrap-topics_list > li a {
          color: #008AB3;
          text-decoration: none; }

.mod-freeHTML .area-link {
  width: 100%;
  margin-bottom: 70px; }
  @media screen and (max-width: 640px) {
    .mod-freeHTML .area-link {
      margin-bottom: 14.0625%; } }
  .mod-freeHTML .area-link .area-inner .box-title {
    text-align: center;
    display: block;
    margin-bottom: 30px; }
    @media screen and (max-width: 640px) {
      .mod-freeHTML .area-link .area-inner .box-title {
        margin-bottom: 3.125%; } }
  .mod-freeHTML .area-link .area-inner .wrap-link_banner {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    max-width: 710px;
    margin: 0 auto; }
    .mod-freeHTML .area-link .area-inner .wrap-link_banner > li {
      width: calc( ( 100% - 30px ) / 2 ); }
      @media (min-width: 641px) {
        .mod-freeHTML .area-link .area-inner .wrap-link_banner > li:nth-child(2n-1) {
          margin-right: 30px; }
        .mod-freeHTML .area-link .area-inner .wrap-link_banner > li:nth-child(n+3) {
          margin-top: 30px; } }
      @media screen and (max-width: 640px) {
        .mod-freeHTML .area-link .area-inner .wrap-link_banner > li {
          width: 100%; }
          .mod-freeHTML .area-link .area-inner .wrap-link_banner > li + li {
            margin-top: 10px; } }

/*
@import "mod-custom";
@import "top-br-product-main";
@import "top-br-product-copy";
@import "top-br-product-lineup";
@import "top-br-product-link";
@import "top-br-product-feature";
@import "top-br-product-function";
@import "top-br-product-know";
*/
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }
