/* ----------------------------------------
	.visual_home
---------------------------------------- */
.visual_home {
  position: relative;
  padding-top: 30px;
}
@media screen and (max-width: 480px) {
  .visual_home {
    padding-top: 0px;
  }
}
.visual_home .box_top {
  position: absolute;
  top: 66px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 1;
}
.visual_home .box_top .site_title img {
  display: block;
}
.visual_home .box_top .site_title img.logo {
  width: 120px;
}
.visual_home .tx_sub_01 {
  position: absolute;
  top: 325px;
  right: 30px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-family: "Kaisei Opti", serif;
  color: #356360;
  font-size: 28px;
  line-height: 1.5;
  text-indent: -2em;
  z-index: 1;
}
.visual_home .tx_sub_01 img {
  vertical-align: middle;
  padding: 5px 0;
}
.visual_home .tx_sub_01 .tx_bgblue {
  background-color: #7c9694;
  color: #ffffff;
  padding: 15px 5px;
  border-radius: 30px;
}
.visual_home .tx_sub_01 .line3 {
  line-height: 2.3;
  margin-top: 2em;
  display: inline-block;
  vertical-align: middle;
}
.visual_home .tx_sub_01 .line3 > * {
  vertical-align: middle;
}
.visual_home ul.fade {
  position: relative;
  width: 100%;
  border-radius: 227.5px 227.5px 0 0;
  overflow: hidden;
  border: solid 3px #ffffff;
  border-bottom: none;
}
@media screen and (max-width: 480px) {
  .visual_home ul.fade {
    border-radius: 0px 0px 0 0;
    border: solid 0px #ffffff;
  }
}
.visual_home ul.fade::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(191, 178, 143, 0.2);
  z-index: 1;
}
.visual_home ul.fade li {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.visual_home ul.fade li img {
  height: 653px;
  object-fit: cover;
  display: block;
}