/* Safari */
  @supports (-webkit-appearance: none) {
    .sfr_svg {
      position: absolute;
      display: block;
      width: 0;
      height: 0;
      overflow: hidden;
    }
  }

.main_view{
  position:relative;
}

.main_header{
  position:relative;
}

.main_desc {
    display: flex;
    justify-content: center;
    align-items: center;
}

.desc_text {
    font-size: clamp(16px, 1.2vw, 22px);
    font-weight: 400;
    margin-top: 30px;
    line-height: normal;
}

h1.title{
    margin: 0;
    position: relative;
    top:0;
    left:0;  
    z-index: 500;
}

.svg-container {
    position: relative;
    width: 100%; /* コンテナの幅を50%に設定 */
    max-width: 30vw; /* 最大幅を設定 */
    height: auto; /* 高さを自動調整 */
}

.top_svg2{
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

.main_title{
  display: flex;
  justify-content: center;
  align-items: center;
}

.title_text{
  position:relative;
  min-width:50vw;
  text-align:center;  
}

.title_text h2{
  font-weight:700;
  font-size:clamp(32px, 4.4vw, 62px);
}

h1.title{
    display: block;
    position: absolute;
    left: -1px;
    top: -1px;
    z-index: 500;
    margin: 0;
}

h1.title img{
    width: clamp(120px, 24vw, 340px);
}

/******************************  スマホ最適  ****************************************/
@media screen and (max-width: 1020px) {
  .title_text h2{
  font-weight:700;
  font-size: calc(32px + (58 - 32) * ((100vw - 375px) / (1020 - 375)));
  }
  
  .desc_text {
    font-size: calc(16px + (20 - 16) * ((100vw - 375px) / (1020 - 375)));
    font-weight: 400;
  }  
  
}