@charset "utf-8";
/* CSS Document */
.section02 {
    padding: clamp(60px, 10vw, 120px) 0px;
}


body.on .intro-section {
    padding: 150px 20px 150px;
}
.intro-section {
    padding: 150px 20px 120px;
}
.intro-item1 .imgbox::after {
    background-image: url(https://gocoo-horse.jp/system_panel/uploads/images/cap3.png);
}

.therapy::before {
  content: "";
  position: absolute;
  top: -100px;
  left: 0;
  width: 100%;
  height: 150px;
  background: url(https://gocoo-horse.jp/system_panel/uploads/images/wave2.png) no-repeat center bottom;
  background-size: cover;
  z-index: 1;
  transform: scaleY(-1);
}
.therapy {
  position: relative;
      background-color: #ffe7d9;
}
.therapy::after {
  content: "";
  position: absolute;
  bottom: -100px;
  left: 0;
  width: 100%;
  height: 150px;
  background: url(https://gocoo-horse.jp/system_panel/uploads/images/wave2.png) no-repeat center bottom;
  background-size: cover;
  z-index: -1;
}
.features-section {
  gap: 40px;
  padding: 60px 20px;
}

.feature-card {
  background-color: #fff;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  box-sizing: border-box;
  padding: 30px 20px;
}

.feature-card .imgbox {
  background-color: #ffe7d9;
  border-radius: 50%;
  padding: 12px;
  width: 100px;
  height: 100px;
}

.feature-card img{
      width: 60px;
  height: 60px;
}

.hero-box {
  position: relative;
  width: clamp(320px, 90vw, 1600px);
  height: clamp(250px, 30vw, 450px);
  margin: 0 auto;
  border-radius: 20px;
  overflow: hidden;
}
.hero-box::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to left, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0));
  z-index: 1;
  pointer-events: none;
  border-radius: 20px;
}


.hero-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
      border-radius: 20px;
}

.hero-box .titlebox {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -20%);
  color: white;
  text-align: center;
  z-index: 2;
  gap: 80px;
    width: 100%;
}

.hero-text-jp {
  letter-spacing: 0.2em;
  line-height: 1.8;
  color: white;
}

.hero-text-en {
      font-family: "Lato", sans-serif;
  font-size: clamp(20px, 4vw, 80px);
  font-weight: bold;
  letter-spacing: 0.18em;
  color: white;
}

.button-wrap {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 40px;
}

.tel-box {
  background-color: #000;
  color: #fff;
  border-radius: 8px;
  text-align: center;
  padding: 30px clamp(24px, 6vw, 60px);
  margin: 0 auto;
}
.section03{
padding-top: clamp(180px, 20vw, 250px);
}

.txtbox .vertical-box .vertical-text{
   text-align: left;
}
/* ---------- IEのみ ---------- */
@media all and (-ms-high-contrast: none) {
}
/* ---------- 1280px ~ ---------- */
@media screen and (max-width: 1280px){
}
/* ---------- 1080px ~ ---------- */
@media screen and (max-width: 1080px){

}
/* ---------- 768px ~ ---------- */
@media screen and (max-width: 768px){
.hero-box .titlebox {
    gap: 10px;
}
.therapy .hero-box .hero-text-jp {
  font-size: clamp(12px, 1.5vw, 14px);
}
  .therapy .hero-box .hero-text-en {
font-size: 16px;
}
  }
/* ---------- 576px ~ ---------- */
@media screen and (max-width: 576px){
        .vertical-box::before {
        right: 40px;
    }
  .intro-item1  .vertical-box {
        max-height: 1500px;
 height: initial;
        writing-mode: initial;
    }
}
/* ---------- 350px ~ ---------- */
@media screen and (max-width: 350px){
}

