@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Lora:wght@500&family=Noto+Sans+JP&family=Shippori+Mincho:wght@400;500;600;700&display=swap");
/**********************************************************************************************

　common

**********************************************************************************************/
#site-wrpper {
  font-size: 3.73vw;
  font-family: STHeiti,"Microsoft JhengHei","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-weight: 300;
  overflow: hidden;
  position: relative;
  background: #fff; }
  @media (min-width: 768px) {
    #site-wrpper {
      min-width: 450px;
      max-width: 32vw;
      position: absolute;
      right: 11%;
      overflow: hidden;
      font-size: 1.6em; } }

img[src$=".svg"] {
  width: 100%; }

/* common */
img {
  max-width: 100%;
  height: auto; }

.inner {
  max-width: 90%;
  margin: auto;
  position: relative; }

.mincho {
  font-family: "STSong","Droid Sans", "Hiragino Sans GB", "Microsoft YaHei", SimSun, sans-serif; }

main {
  display: block;
  position: relative; }

@media (min-width: 768px) {
  .fadelink {
    transition: .4s opacity; }
    .fadelink:hover {
      opacity: 0.6; } }

/* フェードイン */
.is-fadeIn {
  opacity: 0;
  transform: translate3d(0, 30px, 0);
  transition: opacity 1.0s, transform 1.0s; }
  @media (min-width: 768px) {
    .is-fadeIn {
      transform: translate3d(0, 40px, 0); } }

.delay {
  transition-delay: 0.3s; }

.is-fadeIn.is-scrollIn {
  opacity: 1;
  transform: translate(0, 0); }

@media (min-width: 768px) {
  .u-sp {
    display: none !important; }

  a[href^="tel:"] {
    pointer-events: none; } }
@media (max-width: 767px) {
  .u-pc {
    display: none !important; } }
/**********************************************************************************************

　header

**********************************************************************************************/
.headNav {
  display: none;
  position: fixed;
  width: 84%;
  top: 0;
  right: 0;
  z-index: 9999;
  height: 100%;
  background: #fff;
  padding: 16vw 0 0;
  background: #222222; }
  @media (min-width: 768px) {
    .headNav {
      right: 11%;
      width: 380px;
      padding: 72px 0 0; } }

.headNav_list {
  background: #80C1C5;
  height: 100%;
  color: #fff;
  font-size: 5.3vw;
  letter-spacing: .1em; }
  @media (min-width: 768px) {
    .headNav_list {
      font-size: 2.4rem; } }
  .headNav_list li {
    border-bottom: 1px solid #fff; }
  .headNav_list a {
    padding: 0.4em 0.9em;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative; }
    .headNav_list a::after {
      content: "";
      display: block;
      width: 4.53vw;
      height: 4.53vw;
      background: url("../img/menu_arrow.png") no-repeat;
      background-size: contain; }
      @media (min-width: 768px) {
        .headNav_list a::after {
          width: 20px;
          height: 20px; } }

.menuBtn_wrap {
  background: #222222;
  width: 16vw;
  height: 16vw;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 0 auto;
  position: fixed;
  z-index: 99999;
  top: 0;
  right: 0; }
  @media (min-width: 768px) {
    .menuBtn_wrap {
      right: 11%;
      width: 72px;
      height: 72px; } }

.menuBtn {
  text-align: center;
  position: relative;
  z-index: 1000; }

.menuBtn,
.menuBtn span {
  display: inline-block;
  transition: all .4s;
  cursor: pointer;
  z-index: 1000; }

.menuBtn {
  width: 8.5vw;
  height: 6.6vw;
  position: relative; }
  @media (min-width: 768px) {
    .menuBtn {
      width: 38px;
      height: 30px; } }
  .menuBtn span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
    border-radius: 100px;
    background: #fff; }
    .menuBtn span:nth-of-type(1) {
      top: 0;
      width: 5.3vw; }
      @media (min-width: 768px) {
        .menuBtn span:nth-of-type(1) {
          width: 24px; } }
    .menuBtn span:nth-of-type(2) {
      top: calc(50% - 1px); }
    .menuBtn span:nth-of-type(3) {
      bottom: 0;
      width: 6.9vw; }
      @media (min-width: 768px) {
        .menuBtn span:nth-of-type(3) {
          width: 31px; } }
  .menuBtn.active span:nth-of-type(1) {
    transform: translateY(2.9vw) rotate(-45deg);
    width: 100%; }
    @media (min-width: 768px) {
      .menuBtn.active span:nth-of-type(1) {
        transform: translateY(14px) rotate(-45deg); } }
  .menuBtn.active span:nth-of-type(2) {
    opacity: 0; }
  .menuBtn.active span:nth-of-type(3) {
    transform: translateY(-2.8vw) rotate(45deg);
    width: 100%; }
    @media (min-width: 768px) {
      .menuBtn.active span:nth-of-type(3) {
        transform: translateY(-13px) rotate(45deg); } }

.overlay {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 90;
  display: none; }

/**********************************************************************************************

　footer

**********************************************************************************************/
footer {
  background: #5A5A5A;
  padding: 10% 0;
  color: #fff;
  font-size: 3.2vw; }
  @media (min-width: 768px) {
    footer {
      font-size: 1.4rem; } }

.foot_logo {
  width: 41.7%;
  display: block;
  margin: 0 auto 9%; }

.foot_txtArea:not(:last-child) {
  margin: 0 0 4%; }

.foot_tel {
  font-size: 4.8vw;
  display: flex;
  align-items: center;
  line-height: 1;
  margin: 0 0 4%; }
  @media (min-width: 768px) {
    .foot_tel {
      font-size: 2.1rem; } }

.foot_tel_link {
  font-size: 8.9vw;
  margin-left: 0.4em; }
  @media (min-width: 768px) {
    .foot_tel_link {
      font-size: 4rem; } }
  .foot_tel_link span {
    vertical-align: baseline;
    font-size: 8.2vw; }
    @media (min-width: 768px) {
      .foot_tel_link span {
        font-size: 3.7rem; } }

/**********************************************************************************************

　main

**********************************************************************************************/
/*---------------------------------------------
common
---------------------------------------------*/
.linkBtn {
  display: block;
  background: #1BA5A0;
  width: 55%;
  color: #fff;
  text-align: center;
  margin: auto;
  line-height: 1;
  padding: 1.1em 0 0.7em;
  border-radius: 100px; }

.sec_txt {
  line-height: 1.75; }

.sec_txt + .sec_txt {
  margin: 0.8em 0 0; }

.sec_comment {
  font-size: 3.2vw;
  margin: 0.3em 0 0; }
  @media (min-width: 768px) {
    .sec_comment {
      font-size: 1.4rem; } }

.icon_titArea {
  display: flex;
  align-items: center;
  margin: 0 0 2%; }

.icon_tit_icon {
  width: 9.5%;
  flex-shrink: 0; }

.icon_tit {
  font-size: 4.26vw;
  margin-left: 0.5em;
  letter-spacing: .1em; }
  @media (min-width: 768px) {
    .icon_tit {
      font-size: 1.9rem; } }

.indentList {
  line-height: 1.75;
  font-size: 3.2vw; }
  @media (min-width: 768px) {
    .indentList {
      font-size: 1.4rem; } }
  .indentList li {
    padding-left: 1em;
    text-indent: -1em; }

.sec_copy {
  color: #1BA5A0;
  line-height: 1.5;
  font-size: 6.4vw;
  margin: 0 0 5.5%; }
  @media (min-width: 768px) {
    .sec_copy {
      font-size: 2.8rem; } }
  .sec_copy strong {
    font-weight: 400;
    color: #E66F89; }

.bg_tit {
  background: #80C1C5;
  color: #fff;
  font-size: 5.8vw;
  text-align: center;
  margin: 0 0 3.2%; }
  @media (min-width: 768px) {
    .bg_tit {
      font-size: 2.6rem; } }

.checkList.-relief {
  margin: 10% 0 0; }
.checkList > li:not(:last-child) {
  margin: 0 0 10%; }

.checkList_checkTxt {
  display: flex;
  align-items: center;
  margin: 6% 0 0; }
  .checkList_checkTxt::before {
    content: "";
    display: block;
    width: 6.4vw;
    height: 6.1vw;
    background: url("../img/check.png") no-repeat;
    background-size: contain;
    flex-shrink: 0;
    margin: 0 0.5em 0 0; }
    @media (min-width: 768px) {
      .checkList_checkTxt::before {
        width: 28px;
        height: 27px; } }

.checkList_txt {
  margin: 0 0 8.5%; }

.bgItem::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: cover;
  position: fixed;
  visibility: visible;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: .4s;
  background-position: center center;
  opacity: 0;
  transition: .4s; }
  @media (max-width: 767px) {
    .bgItem::before {
      display: none; } }

.bgItem04::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  position: fixed;
  visibility: visible;
  top: 5%;
  left: 4%;
  width: 350px;
  height: 402px;
  z-index: 1;
  transition: .4s;
  background-position: center center;
  transition: .4s;
  background-image: url("../img/price01.png"); }
  @media (max-width: 767px) {
    .bgItem04::after {
      display: none; } }

.bgItem04.is-in::after {
  background-image: url("../img/price02.png"); }

.is-in::before,
.is-in::after {
  opacity: 1; }

.bgItem01::before {
  background-image: url("../img/slide_img01.jpg");
  background-size: cover; }

.bgItem02::before {
  background: url("../img/slide_img04.jpg") no-repeat;
  background-size: cover; }

.bgItem03::before {
  background: url("../img/slide_img03.jpg") no-repeat;
  background-size: cover; }

.bgItem04::before {
  background: url("../img/slide_img02.jpg") no-repeat;
  background-size: cover; }

.bgItem05::before {
  background: url("../img/slide_img05.jpg") no-repeat;
  background-size: cover; }

/*---------------------------------------------
kv
---------------------------------------------*/
.kv {
  position: relative; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/*---------------------------------------------
gallary
---------------------------------------------*/
.gallary {
  background: radial-gradient(#fff, #E7F6FD); }

.gallary_titArea {
  text-align: center;
  background: #80C1C5;
  color: #fff;
  line-height: 1.4;
  padding: 2.6%; }

.gallary_tit {
  font-size: 7.46vw; }
  @media (min-width: 768px) {
    .gallary_tit {
      font-size: 3.3rem; } }

/*---------------------------------------------
concept
---------------------------------------------*/
.concept {
  background: radial-gradient(#fff, #E7F6FD); }
  .concept .inner {
    padding: 8% 0 10%; }

.concept_titArea {
  text-align: center; }

.concept_tit {
  display: inline-block;
  color: #fff;
  background: #80C1C5;
  font-size: 4.26vw;
  border-radius: 100px;
  padding: 0.1em 1.75em;
  margin: 0 0 4%; }
  @media (min-width: 768px) {
    .concept_tit {
      font-size: 1.9rem; } }

.concept_copy {
  color: #1BA5A0;
  font-size: 6.4vw;
  line-height: 1.8;
  position: relative;
  padding: 0 0 17%;
  margin: 0 0 1%; }
  @media (min-width: 768px) {
    .concept_copy {
      font-size: 2.8rem; } }
  .concept_copy::after {
    content: "";
    display: block;
    width: calc(100% + 10%);
    height: 100%;
    background: url("../img/concept_deco.png") no-repeat bottom left;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: -5%; }

/*---------------------------------------------
nav
---------------------------------------------*/
.site_nav {
  background: #F6F6F7; }

.site_nav_list > li:not(:last-child) {
  border-bottom: 1px solid #80C1C5; }
.site_nav_list a {
  padding: 5%;
  display: block;
  position: relative;
  background: url("../img/arrow.png") no-repeat top 7% right 5%;
  background-size: 8.5%; }

.site_nav_list_copy {
  color: #1BA5A0;
  line-height: 1.5;
  font-size: 6.4vw;
  position: relative;
  margin: 0 0 5.5%;
  padding: 0 0 5.5%; }
  @media (min-width: 768px) {
    .site_nav_list_copy {
      font-size: 2.8rem; } }
  .site_nav_list_copy::after {
    content: "";
    display: block;
    width: 22%;
    height: 2px;
    background: #1BA5A0;
    left: 0;
    bottom: 0;
    position: absolute; }

.site_nav_list_txt {
  line-height: 1.75; }

.site_nav_list_txt + .indentList {
  margin: 0.5em 0 0; }

/*---------------------------------------------
relief
---------------------------------------------*/
.relief {
  background: url("../img/relief_bg.png") no-repeat;
  background-size: 100%;
  padding: 10% 0 20%; }

.checkList_tableWrap {
  overflow: scroll;
  margin: 9% 0 0 5%;
  padding: 0 5% 6% 0; }

.checkList_table {
  text-align: center;
  white-space: nowrap; }
  .checkList_table thead th {
    font-size: 3.2vw;
    padding: 0.6em; }
    @media (min-width: 768px) {
      .checkList_table thead th {
        font-size: 1.4rem; } }
  .checkList_table th, .checkList_table td {
    border: 1px solid #fff;
    padding: 1.5em;
    line-height: 1.5; }
  .checkList_table th {
    background: #DDDDDD;
    vertical-align: middle; }
  .checkList_table td {
    background: #F7F7F7;
    font-size: 3.2vw; }
    @media (min-width: 768px) {
      .checkList_table td {
        font-size: 1.4rem; } }
  .checkList_table .bg_blue {
    background: #80C1C5;
    color: #fff; }

.table_icon {
  margin: 0 auto 3.2vw; }
  @media (min-width: 768px) {
    .table_icon {
      margin: 0 auto 14px; } }
  .table_icon.-check {
    width: 5.3vw; }
    @media (min-width: 768px) {
      .table_icon.-check {
        width: 24px; } }
  .table_icon.-closs {
    width: 4vw; }
    @media (min-width: 768px) {
      .table_icon.-closs {
        width: 18px; } }
  .table_icon.-triangle {
    width: 4.26vw; }
    @media (min-width: 768px) {
      .table_icon.-triangle {
        width: 19px; } }

/*---------------------------------------------
sterilization
---------------------------------------------*/
.sterilization {
  background: linear-gradient(to right, #DDDDDD, #fff 50%, #EEEEEE 100%); }
  .sterilization > .inner {
    padding: 6% 0 11%; }

.sterilization_spellArea {
  background: #fff;
  padding: 1em 1.5em;
  margin: 0 0 6%; }

.sterilization_spell_tit {
  display: flex;
  align-items: center;
  margin: 0 0 0.8em; }
  .sterilization_spell_tit::before {
    content: "";
    border-radius: 50%;
    display: block;
    width: 2.1vw;
    height: 2.1vw;
    background: #E66F89;
    margin: 0 0.4em 0 0; }
    @media (min-width: 768px) {
      .sterilization_spell_tit::before {
        width: 10px;
        height: 10px; } }

.sterilization_spell_read {
  color: #1BA5A0; }

.sterilization_spell span {
  color: #E66F89; }

.sterilization_flow li {
  display: flex;
  align-items: center;
  background: #fff; }
  .sterilization_flow li:not(:last-child) {
    margin: 0 0 6%;
    position: relative; }
    .sterilization_flow li:not(:last-child)::after {
      content: "";
      display: block;
      width: 2.6vw;
      height: 3.46vw;
      left: 50%;
      transform: translateX(-50%);
      top: 100%;
      background: url("../img/sterilization_arrow.png") no-repeat;
      background-size: contain;
      position: absolute; }
      @media (min-width: 768px) {
        .sterilization_flow li:not(:last-child)::after {
          width: 12px;
          height: 15px; } }
.sterilization_flow .bg_pink {
  background: #E66F89;
  color: #fff;
  display: block;
  text-align: center;
  padding: 1.25em; }

.sterilization_flow_icon {
  width: 19%;
  margin: 0 1em 0 0; }

.sterilization_flexList {
  line-height: 1.75; }
  .sterilization_flexList li {
    display: flex;
    justify-content: space-between; }
    .sterilization_flexList li:nth-child(even) {
      flex-direction: row-reverse; }
    .sterilization_flexList li:not(:last-child) {
      margin: 0 0 6%; }
    .sterilization_flexList li.-center {
      align-items: center; }
      .sterilization_flexList li.-center .sterilization_flexList_txtArea {
        padding: 0; }

.sterilization_flexList + .checkList_img {
  margin: 10% 0; }

.sterilization_flexList_imgArea {
  width: 42%; }

.sterilization_flexList_txtArea {
  width: 52%;
  padding: 0.25em 0 0; }

.sterilization_flexList_tit {
  color: #1BA5A0;
  margin: 0 0 0.2em;
  font-size: 4.8vw; }
  @media (min-width: 768px) {
    .sterilization_flexList_tit {
      font-size: 2.1rem; } }

.sterilization_flexList_img:not(:last-child) {
  margin: 0 0 0.8em; }

.sterilization_table {
  width: 100%;
  font-size: 3.2vw;
  margin: 0 0 5%; }
  @media (min-width: 768px) {
    .sterilization_table {
      font-size: 1.4rem; } }
  .sterilization_table th, .sterilization_table td {
    vertical-align: middle;
    padding: 0.5em 2em; }
  .sterilization_table th {
    background: #DDDDDD; }
    .sterilization_table th:not(:last-child) {
      border-right: 1px solid #fff; }
  .sterilization_table td {
    background: #fff;
    border-top: 1px solid #EEEEEE;
    border-left: 1px solid #EEEEEE; }
    .sterilization_table td.-bNone {
      border: none; }

.sterilization_img {
  margin: 10% 0 0; }

/*---------------------------------------------
ecology
---------------------------------------------*/
.ecology_statement {
  padding: 10% 0;
  background: linear-gradient(to right, #EBF7FD, #fff);
  position: relative; }
  .ecology_statement::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url("../img/ecology_deco.png") no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 0; }
  .ecology_statement .inner {
    position: relative;
    z-index: 10; }

.ecology_list > li:not(:last-child) {
  margin: 0 0 9%; }

.ecology_list_tit {
  color: #1BA5A0;
  text-align: center;
  font-size: 4.8vw;
  position: relative;
  padding: 0 0 5%;
  margin: 0 0 6%;
  line-height: 1.5; }
  @media (min-width: 768px) {
    .ecology_list_tit {
      font-size: 2.1rem; } }
  .ecology_list_tit::after {
    content: "";
    display: block;
    width: 9.5%;
    height: 3px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    background: #1BA5A0; }

.ecology_list_flow {
  display: flex;
  justify-content: space-between; }
  .ecology_list_flow li {
    width: 44.7%;
    position: relative; }
    .ecology_list_flow li:not(:last-child)::after {
      content: "";
      display: block;
      width: 3.2vw;
      height: 3.73vw;
      background: url("../img/ecology_arrow.png") no-repeat;
      background-size: contain;
      position: absolute;
      left: calc(100% + 8%);
      top: 18.1vw; }
      @media (min-width: 768px) {
        .ecology_list_flow li:not(:last-child)::after {
          width: 14px;
          height: 16px;
          top: 80px; } }

.ecology_list_flow_tit {
  line-height: 1.5;
  font-size: 3.2vw;
  text-align: center;
  margin: 0.5em 0 0; }
  @media (min-width: 768px) {
    .ecology_list_flow_tit {
      font-size: 1.4rem; } }

.ecology_time {
  margin: 6% 0 0; }

.ecology_time_txt {
  text-align: center;
  font-size: 3.2vw;
  margin: 0.3em 0 0; }
  @media (min-width: 768px) {
    .ecology_time_txt {
      font-size: 1.4rem; } }

.ecology_performance {
  margin: 10% 0 0;
  background: #F7F7F7; }

.ecology_performance_box {
  padding: 6% 0; }
  .ecology_performance_box.-center {
    text-align: center; }
  .ecology_performance_box:not(:last-child) {
    border-bottom: 1px solid #CCCCCC; }

.ecology_performance_amountTxt {
  text-align: center; }

.ecology_performance_amount {
  display: flex;
  align-items: baseline;
  justify-content: center;
  margin: 0 0 2.5%; }

.ecology_performance_amount_num {
  color: #1BA5A0;
  font-size: 8.5vw;
  line-height: 1; }
  @media (min-width: 768px) {
    .ecology_performance_amount_num {
      font-size: 3.8rem; } }
  .ecology_performance_amount_num span {
    vertical-align: baseline;
    font-size: 4.26vw;
    display: inline-block;
    margin: 0 0.2em; }
    @media (min-width: 768px) {
      .ecology_performance_amount_num span {
        font-size: 1.9rem; } }
  .ecology_performance_amount_num sup {
    color: #222222;
    font-size: 2.1vw; }
    @media (min-width: 768px) {
      .ecology_performance_amount_num sup {
        font-size: 1rem; } }

.ecology_performance_amount_txt {
  font-size: 4.26vw;
  margin: 0 0 0 0.3em; }
  @media (min-width: 768px) {
    .ecology_performance_amount_txt {
      font-size: 1.9rem; } }

.ecology_performance_img {
  width: 86%;
  margin: 10% auto 6%; }

.ecology_performance_list {
  line-height: 1.5;
  font-size: 3.2vw; }
  @media (min-width: 768px) {
    .ecology_performance_list {
      font-size: 1.4rem; } }
  .ecology_performance_list li {
    display: flex; }
  .ecology_performance_list span {
    width: 2em;
    flex-shrink: 0; }

.ecology_performance_copy {
  font-size: 4.26vw;
  text-align: center;
  margin: 0 0 6%; }
  @media (min-width: 768px) {
    .ecology_performance_copy {
      font-size: 1.9rem; } }

.ecology_performance_point {
  line-height: 1.75;
  display: inline-block;
  text-align: left; }

/*---------------------------------------------
standard
---------------------------------------------*/
.standard {
  padding: 10% 0; }

.standard_tit {
  color: #1BA5A0;
  font-size: 6.4vw;
  text-align: center;
  margin: 0 0 0.5em; }
  @media (min-width: 768px) {
    .standard_tit {
      font-size: 2.8rem; } }

.standard_table {
  width: 100%; }
  .standard_table th, .standard_table td {
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    vertical-align: middle;
    padding: 0.5em 1.25em; }
  .standard_table th {
    width: 44.6%; }

.standard_table01 th {
  background: #F7F7F7; }

.standard_table02 th {
  background: #DEEBEB; }

.standard_txtArea {
  padding: 5% 0 6%;
  line-height: 1.75; }
  .standard_txtArea .indentList {
    font-size: 3.73vw; }
    @media (min-width: 768px) {
      .standard_txtArea .indentList {
        font-size: 1.6rem; } }

.standard_address {
  margin: 1em 0 0; }

.standard_address_table {
  width: 100%; }
  .standard_address_table th {
    white-space: nowrap; }
