@charset "UTF-8";
/*---------------------------
ヘッダーフッターリセット
-----------------------------*/
header,
.aside,
.bottom {
  display: none;
}

#container {
  padding-top: 0;
}
@media screen and (max-width: 1000px) {
  #container {
    padding-top: 0;
  }
}
@media screen and (max-width: 768px) {
  #container {
    padding-top: 0;
  }
}
#container .wrap01 {
  max-width: 1000px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1000px) {
  #container .wrap01 {
    max-width: none;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #container .wrap01 {
    width: 100%;
  }
}
#container .wrap02 {
  max-width: 850px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1000px) {
  #container .wrap02 {
    max-width: none;
    width: 85vw;
  }
}
@media screen and (max-width: 768px) {
  #container .wrap02 {
    width: 100%;
  }
}
#container .wrap03 {
  max-width: 800px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1000px) {
  #container .wrap03 {
    max-width: none;
    width: 80vw;
  }
}
@media screen and (max-width: 768px) {
  #container .wrap03 {
    width: 100%;
  }
}
#container h2 {
  font-size: 22px;
  font-weight: 500;
  text-align: center;
  line-height: 2.3em;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1000px) {
  #container h2 {
    font-size: 2.2vw;
  }
}
@media screen and (max-width: 768px) {
  #container h2 {
    font-size: 3.7vw;
  }
}

#refa_content {
  font-family: "Zen Old Mincho", sans-serif;
  color: #333;
  letter-spacing: 0.05em;
}

#mv {
  position: relative;
  width: 100%;
  height: 430px;
  padding-top: 230px;
}
@media screen and (max-width: 1000px) {
  #mv {
    height: 43vw;
    padding-top: 23vw;
  }
}
@media screen and (max-width: 768px) {
  #mv {
    height: 54.9vw;
    padding-top: 24vw;
  }
}
#mv .head_logo {
  position: absolute;
  top: 40px;
  left: 45px;
  width: 194px;
}
@media screen and (max-width: 1000px) {
  #mv .head_logo {
    top: 4vw;
    left: 4.5vw;
    width: 19.4vw;
  }
}
@media screen and (max-width: 768px) {
  #mv .head_logo {
    top: 3.1vw;
    left: 3.6vw;
    width: 26.9vw;
  }
}
#mv .main_txt {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.4em;
  text-align: center;
}
@media screen and (max-width: 1000px) {
  #mv .main_txt {
    font-size: 2.4vw;
  }
}
@media screen and (max-width: 768px) {
  #mv .main_txt {
    font-size: 3.2vw;
  }
}

.switch_box {
  overflow: hidden;
}
.switch_box.head_switch {
  padding-top: 0;
  padding-bottom: 0;
}
.switch_box.bottom_switch {
  padding-top: 60px;
  padding-bottom: 60px;
}
@media screen and (max-width: 1000px) {
  .switch_box.bottom_switch {
    padding-top: 6vw;
    padding-bottom: 6vw;
  }
}
@media screen and (max-width: 768px) {
  .switch_box.bottom_switch {
    padding-top: 5.3vw;
    padding-bottom: 5.3vw;
  }
}
.switch_box .switch_list {
  max-width: 1000px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 0;
  position: relative;
}
@media screen and (max-width: 1000px) {
  .switch_box .switch_list {
    max-width: none;
    width: 100%;
  }
}
.switch_box .switch_list::before {
  content: "";
  position: absolute;
  width: 1.5px;
  height: 100%;
  background-color: #333;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.switch_box li {
  width: 50%;
  position: relative;
}
.switch_box li a, .switch_box li span {
  width: 100%;
  height: 64px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 1000px) {
  .switch_box li a, .switch_box li span {
    height: 6.4vw;
    font-size: 1.8vw;
  }
}
@media screen and (max-width: 768px) {
  .switch_box li a, .switch_box li span {
    height: 12.8vw;
    font-size: 2.5vw;
    line-height: 1.4em;
  }
}
.switch_box li.suigen, .switch_box li.fine_bubble_u {
  position: relative;
}
.switch_box li.suigen::before, .switch_box li.fine_bubble_u::before {
  content: "";
  position: absolute;
  width: 50vw;
  height: 1.5px;
  background-color: #333;
}
.switch_box li.suigen::before {
  right: 0;
}
.switch_box li.fine_bubble_u::before {
  left: 0;
}

#suigen .head_content {
  padding-top: 150px;
}
@media screen and (max-width: 1000px) {
  #suigen .head_content {
    padding-top: 15vw;
  }
}
@media screen and (max-width: 768px) {
  #suigen .head_content {
    padding-top: 14.7vw;
  }
}
#suigen .head_content .img01 {
  width: 394px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 80px;
}
@media screen and (max-width: 1000px) {
  #suigen .head_content .img01 {
    width: 39.4vw;
    margin-top: 8vw;
  }
}
@media screen and (max-width: 768px) {
  #suigen .head_content .img01 {
    width: 52.5vw;
    margin-top: 8.3vw;
  }
}
#suigen .head_content .detail_txt {
  font-size: 15px;
  line-height: 2.1em;
  text-align: center;
  letter-spacing: 0.2em;
  margin-top: 100px;
}
@media screen and (max-width: 1000px) {
  #suigen .head_content .detail_txt {
    font-size: 1.5vw;
    margin-top: 10vw;
  }
}
@media screen and (max-width: 768px) {
  #suigen .head_content .detail_txt {
    font-size: 2.4vw;
    margin-top: 9.3vw;
    letter-spacing: 0.1em;
  }
}
#suigen .head_content .movie {
  max-width: 620px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 75px;
  background-color: #e1e1e0;
}
@media screen and (max-width: 1000px) {
  #suigen .head_content .movie {
    max-width: none;
    width: 62vw;
    margin-top: 7.5vw;
  }
}
@media screen and (max-width: 768px) {
  #suigen .head_content .movie {
    max-width: none;
    width: 77.3vw;
    margin-top: 10vw;
  }
}
#suigen .head_content .movie .txt01 {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 15px;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.1em;
  padding: 0.5em 0 0.6em;
}
@media screen and (max-width: 1000px) {
  #suigen .head_content .movie .txt01 {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 768px) {
  #suigen .head_content .movie .txt01 {
    font-size: 2.3vw;
  }
}
#suigen #beutiful {
  width: 620px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 120px;
}
@media screen and (max-width: 1000px) {
  #suigen #beutiful {
    width: 62vw;
    margin-top: 12vw;
  }
}
@media screen and (max-width: 768px) {
  #suigen #beutiful {
    width: 77.3vw;
    margin-top: 13.3vw;
  }
}
#suigen #beutiful .img01 {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 56px;
}
@media screen and (max-width: 1000px) {
  #suigen #beutiful .img01 {
    margin-top: 5.6vw;
  }
}
@media screen and (max-width: 768px) {
  #suigen #beutiful .img01 {
    margin-top: 7.5vw;
  }
}
#suigen #beutiful .detail_txt {
  font-size: 15px;
  line-height: 2.1em;
  text-align: justify;
  letter-spacing: 0.2em;
  margin-top: 30px;
}
@media screen and (max-width: 1000px) {
  #suigen #beutiful .detail_txt {
    font-size: 1.5vw;
    margin-top: 3vw;
  }
}
@media screen and (max-width: 768px) {
  #suigen #beutiful .detail_txt {
    font-size: 2.4vw;
    margin-top: 5.3vw;
    letter-spacing: 0.1em;
  }
}
#suigen #all {
  margin-top: 110px;
}
@media screen and (max-width: 1000px) {
  #suigen #all {
    margin-top: 11vw;
  }
}
@media screen and (max-width: 768px) {
  #suigen #all {
    margin-top: 12vw;
  }
}
#suigen #all .detail_txt {
  font-size: 15px;
  line-height: 2.1em;
  text-align: center;
  letter-spacing: 0.2em;
  margin-top: 60px;
}
@media screen and (max-width: 1000px) {
  #suigen #all .detail_txt {
    font-size: 1.5vw;
    margin-top: 6vw;
  }
}
@media screen and (max-width: 768px) {
  #suigen #all .detail_txt {
    width: 77.3vw;
    margin-left: auto;
    margin-right: auto;
    font-size: 2.4vw;
    margin-top: 6vw;
    text-align: left;
    letter-spacing: 0.1em;
  }
}
#suigen #all .img01 {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 60px;
}
@media screen and (max-width: 1000px) {
  #suigen #all .img01 {
    margin-top: 6vw;
  }
}
@media screen and (max-width: 768px) {
  #suigen #all .img01 {
    width: 93.3%;
    margin-top: 7.1vw;
  }
}
#suigen #feature {
  overflow: hidden;
  margin-top: 120px;
}
@media screen and (max-width: 1000px) {
  #suigen #feature {
    margin-top: 12vw;
  }
}
@media screen and (max-width: 768px) {
  #suigen #feature {
    margin-top: 13.3vw;
  }
}
#suigen #feature .pho_box01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 80px;
}
@media screen and (max-width: 1000px) {
  #suigen #feature .pho_box01 {
    margin-top: 8vw;
  }
}
@media screen and (max-width: 768px) {
  #suigen #feature .pho_box01 {
    width: 93.3%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 7.5vw;
  }
}
#suigen #feature .pho_box01 .pho_block {
  width: 33%;
  padding-bottom: 20px;
  border-bottom: 1px solid #333;
}
@media screen and (max-width: 1000px) {
  #suigen #feature .pho_box01 .pho_block {
    padding-bottom: 2vw;
  }
}
@media screen and (max-width: 768px) {
  #suigen #feature .pho_box01 .pho_block {
    padding-bottom: 1.1vw;
  }
}
#suigen #feature .pho_box01 .pho_block .detail_txt {
  font-size: 17px;
  line-height: 1.5em;
  letter-spacing: 0em;
  margin-top: 1em;
  text-align: center;
}
@media screen and (max-width: 1000px) {
  #suigen #feature .pho_box01 .pho_block .detail_txt {
    font-size: 1.7vw;
  }
}
@media screen and (max-width: 768px) {
  #suigen #feature .pho_box01 .pho_block .detail_txt {
    font-size: 2.2vw;
  }
}
#suigen #feature .pho_box02 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 50px;
}
@media screen and (max-width: 1000px) {
  #suigen #feature .pho_box02 {
    margin-top: 5vw;
  }
}
@media screen and (max-width: 768px) {
  #suigen #feature .pho_box02 {
    width: 84%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 9.3vw;
  }
}
#suigen #feature .pho_box02 .pho_block {
  width: 22%;
  padding-bottom: 20px;
  border-bottom: 1px solid #333;
}
@media screen and (max-width: 768px) {
  #suigen #feature .pho_box02 .pho_block {
    width: 30.5%;
    padding-bottom: 1.1vw;
  }
}
@media screen and (max-width: 768px) {
  #suigen #feature .pho_box02 .pho_block:nth-child(n+4) {
    margin-top: 4.3vw;
  }
}
#suigen #feature .pho_box02 .pho_block:nth-child(n+5) {
  margin-top: 30px;
}
@media screen and (max-width: 1000px) {
  #suigen #feature .pho_box02 .pho_block:nth-child(n+5) {
    margin-top: 3vw;
  }
}
@media screen and (max-width: 768px) {
  #suigen #feature .pho_box02 .pho_block:nth-child(n+5) {
    margin-top: 4.3vw;
  }
}
@media screen and (max-width: 1000px) {
  #suigen #feature .pho_box02 .pho_block {
    padding-bottom: 2vw;
  }
  #suigen #feature .pho_box02 .pho_block:nth-child(n+5) {
    margin-top: 3vw;
  }
}
#suigen #feature .pho_box02 .pho_block .pho01 {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 15px;
}
@media screen and (max-width: 1000px) {
  #suigen #feature .pho_box02 .pho_block .pho01 {
    margin-bottom: 1.5vw;
  }
}
@media screen and (max-width: 768px) {
  #suigen #feature .pho_box02 .pho_block .pho01 {
    margin-bottom: 2.2vw;
  }
}
#suigen #feature .pho_box02 .pho_block .name {
  font-size: 18px;
  line-height: 1.5em;
}
@media screen and (max-width: 1000px) {
  #suigen #feature .pho_box02 .pho_block .name {
    font-size: 1.8vw;
  }
}
@media screen and (max-width: 768px) {
  #suigen #feature .pho_box02 .pho_block .name {
    font-size: 2.4vw;
  }
}
#suigen #feature .pho_box02 .pho_block .detail_txt {
  width: 110%;
  font-size: 14px;
  line-height: 1.5em;
  letter-spacing: 0em;
}
@media screen and (max-width: 1000px) {
  #suigen #feature .pho_box02 .pho_block .detail_txt {
    font-size: 1.4vw;
  }
}
@media screen and (max-width: 768px) {
  #suigen #feature .pho_box02 .pho_block .detail_txt {
    font-size: 2vw;
  }
}

#fine_bubble_u {
  padding-top: 154px;
}
@media screen and (max-width: 1000px) {
  #fine_bubble_u {
    padding-top: 15.4vw;
  }
}
@media screen and (max-width: 768px) {
  #fine_bubble_u {
    padding-top: 14.3vw;
  }
}
#fine_bubble_u .head_content {
  display: block;
  position: relative;
}
@media screen and (max-width: 768px) {
  #fine_bubble_u .head_content {
    width: 84%;
    margin-left: auto;
    margin-right: auto;
  }
}
#fine_bubble_u .head_content h2 {
  text-align: left;
}
@media screen and (max-width: 768px) {
  #fine_bubble_u .head_content h2 {
    letter-spacing: 0.05em;
  }
}
#fine_bubble_u .head_content .detail_txt {
  font-size: 15px;
  line-height: 2em;
  letter-spacing: 0.1em;
  text-align: left;
  margin-top: 50px;
}
@media screen and (max-width: 1000px) {
  #fine_bubble_u .head_content .detail_txt {
    font-size: 1.5vw;
    margin-top: 5vw;
  }
}
@media screen and (max-width: 768px) {
  #fine_bubble_u .head_content .detail_txt {
    font-size: 2.4vw;
    margin-top: 6.9vw;
    line-height: 1.9em;
    letter-spacing: 0em;
  }
}
#fine_bubble_u .head_content .img01 {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 275px;
}
@media screen and (max-width: 1000px) {
  #fine_bubble_u .head_content .img01 {
    width: 27.5vw;
  }
}
@media screen and (max-width: 768px) {
  #fine_bubble_u .head_content .img01 {
    width: 18.4vw;
    right: -1vw;
  }
}
#fine_bubble_u .bigimg01 {
  margin-top: 100px;
}
@media screen and (max-width: 1000px) {
  #fine_bubble_u .bigimg01 {
    margin-top: 10vw;
  }
}
@media screen and (max-width: 768px) {
  #fine_bubble_u .bigimg01 {
    width: 93.3%;
    margin-top: 12.7vw;
  }
}
#fine_bubble_u #bubble {
  margin-top: 100px;
}
@media screen and (max-width: 1000px) {
  #fine_bubble_u #bubble {
    margin-top: 10vw;
  }
}
@media screen and (max-width: 768px) {
  #fine_bubble_u #bubble {
    margin-top: 12.4vw;
  }
}
#fine_bubble_u #bubble #hydrophobic-force {
  background-color: #e6e6e6;
  padding: 40px 0 45px;
  margin-top: 70px;
}
@media screen and (max-width: 1000px) {
  #fine_bubble_u #bubble #hydrophobic-force {
    padding: 4vw 0 4.5vw;
    margin-top: 7vw;
  }
}
@media screen and (max-width: 768px) {
  #fine_bubble_u #bubble #hydrophobic-force {
    padding: 4.7vw 0 5.3vw;
    margin-top: 8.7vw;
  }
}
#fine_bubble_u #bubble #hydrophobic-force h3 {
  font-size: 22px;
  font-weight: 500;
  text-align: center;
  line-height: 2.3em;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1000px) {
  #fine_bubble_u #bubble #hydrophobic-force h3 {
    font-size: 2.2vw;
  }
}
@media screen and (max-width: 768px) {
  #fine_bubble_u #bubble #hydrophobic-force h3 {
    font-size: 2.8vw;
  }
}
#fine_bubble_u #bubble #hydrophobic-force .pho_box01 {
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 30px;
}
@media screen and (max-width: 1000px) {
  #fine_bubble_u #bubble #hydrophobic-force .pho_box01 {
    margin-top: 3vw;
  }
}
@media screen and (max-width: 768px) {
  #fine_bubble_u #bubble #hydrophobic-force .pho_box01 {
    width: 86.7%;
    display: block;
    margin-top: 3.7vw;
  }
}
#fine_bubble_u #bubble #hydrophobic-force .pho_box01 .pho_block {
  width: 31.3%;
}
@media screen and (max-width: 768px) {
  #fine_bubble_u #bubble #hydrophobic-force .pho_box01 .pho_block {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #fine_bubble_u #bubble #hydrophobic-force .pho_box01 .pho_block + .pho_block {
    margin-top: 6.7vw;
  }
}
#fine_bubble_u #bubble #hydrophobic-force .pho_box01 .pho_block .pho01 {
  width: 100%;
}
@media screen and (max-width: 768px) {
  #fine_bubble_u #bubble #hydrophobic-force .pho_box01 .pho_block .pho01 {
    width: 46.9%;
  }
}
@media screen and (max-width: 768px) {
  #fine_bubble_u #bubble #hydrophobic-force .pho_box01 .pho_block .txt_block {
    width: 46.6%;
  }
}
#fine_bubble_u #bubble #hydrophobic-force .pho_box01 .pho_block .txt_block .pho_txt01 {
  display: none;
}
@media screen and (max-width: 768px) {
  #fine_bubble_u #bubble #hydrophobic-force .pho_box01 .pho_block .txt_block .pho_txt01 {
    display: block;
    font-size: 3.7vw;
    font-weight: bold;
  }
}
#fine_bubble_u #bubble #hydrophobic-force .pho_box01 .pho_block .txt_block .pho_txt02 {
  font-size: 15px;
  line-height: 1.7em;
  letter-spacing: 0em;
  text-align: justify;
  margin-top: 1.2em;
}
@media screen and (max-width: 1000px) {
  #fine_bubble_u #bubble #hydrophobic-force .pho_box01 .pho_block .txt_block .pho_txt02 {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 768px) {
  #fine_bubble_u #bubble #hydrophobic-force .pho_box01 .pho_block .txt_block .pho_txt02 {
    font-size: 2.15vw;
  }
}
#fine_bubble_u #bubble .detail_txt {
  font-size: 15px;
  line-height: 2.1em;
  letter-spacing: 0.1em;
  text-align: left;
  margin-top: 40px;
}
@media screen and (max-width: 1000px) {
  #fine_bubble_u #bubble .detail_txt {
    font-size: 1.5vw;
    margin-top: 4vw;
  }
}
@media screen and (max-width: 768px) {
  #fine_bubble_u #bubble .detail_txt {
    width: 86.7%;
    display: block;
    font-size: 2.4vw;
    margin-top: 5.1vw;
  }
}
#fine_bubble_u #mode {
  margin-top: 100px;
}
@media screen and (max-width: 1000px) {
  #fine_bubble_u #mode {
    margin-top: 10vw;
  }
}
@media screen and (max-width: 768px) {
  #fine_bubble_u #mode {
    margin-top: 12.8vw;
  }
}
#fine_bubble_u #mode .detail_txt {
  font-size: 15px;
  line-height: 2.1em;
  letter-spacing: 0.1em;
  text-align: left;
  margin-top: 70px;
}
@media screen and (max-width: 1000px) {
  #fine_bubble_u #mode .detail_txt {
    font-size: 1.5vw;
    margin-top: 7vw;
  }
}
@media screen and (max-width: 768px) {
  #fine_bubble_u #mode .detail_txt {
    width: 86.7%;
    margin-left: auto;
    margin-right: auto;
    font-size: 2.4vw;
    text-align: justify;
    margin-top: 8.8vw;
  }
}
#fine_bubble_u #mode .pho_box01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 50px;
}
@media screen and (max-width: 1000px) {
  #fine_bubble_u #mode .pho_box01 {
    margin-top: 5vw;
  }
}
@media screen and (max-width: 768px) {
  #fine_bubble_u #mode .pho_box01 {
    width: 86.7%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 6.3vw;
  }
}
#fine_bubble_u #mode .pho_box01 .pho_block {
  width: 46.9%;
}
#fine_bubble_u #mode .pho_box01 .pho_block:nth-child(n+3) {
  margin-top: 60px;
}
@media screen and (max-width: 1000px) {
  #fine_bubble_u #mode .pho_box01 .pho_block:nth-child(n+3) {
    margin-top: 6vw;
  }
}
@media screen and (max-width: 768px) {
  #fine_bubble_u #mode .pho_box01 .pho_block:nth-child(n+3) {
    margin-top: 8.4vw;
  }
}
#fine_bubble_u #mode .pho_box01 .pho_block .name {
  font-size: 21px;
  line-height: 1.5em;
  text-align: left;
  letter-spacing: 0;
  margin-top: 1em;
}
@media screen and (max-width: 1000px) {
  #fine_bubble_u #mode .pho_box01 .pho_block .name {
    font-size: 2.1vw;
  }
}
@media screen and (max-width: 768px) {
  #fine_bubble_u #mode .pho_box01 .pho_block .name {
    font-size: 3.2vw;
  }
}
#fine_bubble_u #mode .pho_box01 .pho_block .detail_txt {
  font-size: 15px;
  line-height: 1.7em;
  letter-spacing: 0em;
  text-align: left;
  margin-top: 0.4em;
}
@media screen and (max-width: 1000px) {
  #fine_bubble_u #mode .pho_box01 .pho_block .detail_txt {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 768px) {
  #fine_bubble_u #mode .pho_box01 .pho_block .detail_txt {
    width: 100%;
    font-size: 2.3vw;
    text-align: justify;
  }
}

#refa_content.suigen .switch_box.head_switch .sugigen::before {
  top: 0;
}
#refa_content.suigen .switch_box.head_switch .fine_bubble_u::before {
  bottom: 0;
}
#refa_content.suigen .switch_box.bottom_switch .suigen::before {
  bottom: 0;
}
#refa_content.suigen .switch_box.bottom_switch .fine_bubble_u::before {
  top: 0;
}

#refa_content.fine_bubble_u .switch_box.head_switch .suigen::before {
  bottom: 0;
}
#refa_content.fine_bubble_u .switch_box.head_switch .fine_bubble_u::before {
  top: 0;
}
#refa_content.fine_bubble_u .switch_box.bottom_switch .suigen::before {
  top: 0;
}
#refa_content.fine_bubble_u .switch_box.bottom_switch .fine_bubble_u::before {
  bottom: 0;
}

#official {
  background-color: #efefef;
  padding-top: 100px;
  padding-bottom: 90px;
  margin-top: 80px;
  text-align: center;
}
@media screen and (max-width: 1000px) {
  #official {
    padding-top: 10vw;
    padding-bottom: 9vw;
    margin-top: 8vw;
  }
}
@media screen and (max-width: 768px) {
  #official {
    padding-top: 10.7vw;
    padding-bottom: 9.3vw;
    margin-top: 10.7vw;
  }
}
#official a {
  display: inline-block;
}
#official .img01 {
  width: 388px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 80px;
}
@media screen and (max-width: 1000px) {
  #official .img01 {
    width: 38.8vw;
    margin-bottom: 8vw;
  }
}
@media screen and (max-width: 768px) {
  #official .img01 {
    width: 45.3vw;
    margin-bottom: 8.5vw;
  }
}
#official .link_txt01 {
  width: 700px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1000px) {
  #official .link_txt01 {
    width: 70vw;
  }
}
@media screen and (max-width: 768px) {
  #official .link_txt01 {
    width: 72vw;
    transform: translateX(-0.5vw);
  }
}
#official .link_txt02 {
  width: 507px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1000px) {
  #official .link_txt02 {
    width: 50.7vw;
  }
}
@media screen and (max-width: 768px) {
  #official .link_txt02 {
    width: 58.1vw;
    transform: translateX(7.3vw);
  }
}

#back {
  background-color: #000;
}
#back .wrap02 {
  padding: 70px 0;
}
@media screen and (max-width: 1000px) {
  #back .wrap02 {
    padding: 7vw 0;
  }
}
@media screen and (max-width: 768px) {
  #back .wrap02 {
    padding: 7.2vw 0;
  }
}
@media screen and (max-width: 768px) {
  #back .link01 {
    width: 86.7%;
    margin-left: auto;
    margin-right: auto;
  }
}
#back .link01 a {
  display: block;
  background-color: #fff;
  color: #333;
  font-size: 23px;
  line-height: 1.5em;
  letter-spacing: 0.05em;
  padding: 1em 0 1.1em;
  text-align: center;
}
@media screen and (max-width: 1000px) {
  #back .link01 a {
    font-size: 2.3vw;
  }
}
@media screen and (max-width: 768px) {
  #back .link01 a {
    font-size: 2.7vw;
    letter-spacing: 0;
  }
}

/*---------------------------
アニメーション用CSS
-----------------------------*/
.animate,
.animate2,
.animate3,
.animate4 {
  opacity: 1;
  transition-property: opacity, transform, backdrop-filter;
  transition-duration: 0.7s;
  transition-timing-function: ease-in-out;
  transform: translateY(0);
  backdrop-filter: blur(0);
}

.animate.deactive,
.animate2.deactive,
.animate3.deactive,
.animate4.deactive {
  opacity: 0;
  transition: 0s;
  transform: translateY(20px);
  backdrop-filter: blur(20px);
}

#mv h1 {
  opacity: 0;
  transition-property: opacity, transform;
  transition-duration: 0.5s;
  transition-timing-function: ease-in-out;
  transform: scale(1.2);
}
#mv h1.act {
  opacity: 1;
  transform: scale(1);
}
#mv .main_txt {
  opacity: 0;
  transition-property: opacity, transform;
  transition-duration: 0.5s;
  transition-timing-function: ease-in-out;
  transform: translateY(10px);
}
#mv .main_txt.act {
  opacity: 1;
  transform: translateY(0);
}

.switch_box .switch_list::before {
  height: 0;
  transition-property: height;
  transition-duration: 0.5s;
  transition-timing-function: ease-in-out;
}
.switch_box .switch_list li.suigen::before, .switch_box .switch_list li.fine_bubble_u::before {
  width: 0;
  transition-property: width;
  transition-duration: 1s;
  transition-timing-function: ease-in-out;
  transition-delay: 0.5s;
}
.switch_box .switch_list li.suigen a, .switch_box .switch_list li.suigen span, .switch_box .switch_list li.fine_bubble_u a, .switch_box .switch_list li.fine_bubble_u span {
  opacity: 0;
  transition-property: opacity;
  transition-duration: 1s;
  transition-timing-function: ease-in-out;
}
.switch_box .switch_list li.suigen.act a, .switch_box .switch_list li.fine_bubble_u.act a {
  opacity: 0.3;
}
.switch_box .switch_list li.suigen.act a:hover, .switch_box .switch_list li.fine_bubble_u.act a:hover {
  opacity: 1;
}
.switch_box .switch_list li.suigen.act span, .switch_box .switch_list li.fine_bubble_u.act span {
  opacity: 1;
}
.switch_box.act .switch_list::before {
  height: 100%;
}
.switch_box.act li.suigen::before, .switch_box.act li.fine_bubble_u::before {
  width: 50vw;
}/*# sourceMappingURL=style_refa.css.map */