* {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
}
    
 body, html {
height: 100%;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
}
html{ font-size: 16px; }
body{ font-size: 1rem; } 
h1 { font-size: 2rem; }
p{ font-size: 1rem;line-height: 1.8;}
@media (max-width: 768px){
html{ font-size: 14px; }
}
.background {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-image: url('../img/comingsoon/bg.webp?01');
      background-size: cover;
      background-position: center;
      background-attachment: fixed;
      z-index: -1;
    }
    
    
    .logo {
      position: fixed;
      top: 30px;
      left: 20px;
  top: clamp(20px, 3vw, 30px);
  left: clamp(20px, 3vw, 40px);
  width: clamp(130px, 18vw, 180px);
  height: clamp(70px, 9vw, 100px);
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 100;
      background-image: url(../img/common/logo.webp) ;
      background-repeat: no-repeat;
      background-size: contain;
    }

    .container {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      height: auto;
      text-align: center;
      padding: 1rem;
}
.coming-soon {
      margin-bottom: 2vw;
      animation: fadeInUp 1s ease-out;      
      background-image: url(../img/comingsoon/comingsoon.svg) ;
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      min-width: 100%;
      min-height: 150px;
      display: block;
    }

.features {
margin-bottom: 2vw;
text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5);
      animation: fadeInUp 1.2s ease-out;
    }
.features span{
        background-color: rgba(90, 82, 76, 0.8);
        padding: .5rem;
        display:inline-block;  word-wrap: break-word;
  overflow-wrap: break-word;
  color: #fff;
    }
 .features br.sp_none{
        display: none;
       }
    .info {
      animation: fadeInUp 1.4s ease-out;
      color: #1c1c1c;
    }
    
    .clinic-name {
      font-size:1.1rem;
      margin-bottom: .8rem;
    }
    
    .qr-code {
      position: fixed;
      bottom: 20px;
      right: 20px;
      width: 150px;
      height: 180px;
      background: white;
      border-radius: 12px;
      padding: 15px;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      z-index: 100;
    }
    
    .qr-code-image {
      width: 120px;
      height: 120px;
      background: #f0f0f0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.8rem;
      color: #666;
      margin-bottom: 8px;
      border: 1px solid #ddd;
    }
    span.bar{
        border-right:solid #666 1px;
        display: block;
        height: 100%;
        max-height: 100px;
        width: 1px;
        text-align: center;
        display: block;
        margin: auto;
        min-height: 30px;
    }
    .qr-text {
      font-size: 0.8rem;
      color: #333;
      font-weight: 600;
    }
    .address a{
      color: #5a524c;
      border: solid 1px #5a524c;
      font-size: .8rem;
      padding: .3rem .5rem;
      text-decoration: none;
      border-radius: 3px;
      padding-right: 22px;
      background-image: url(../img/common/icon-arrow-open.svg);
      background-repeat: no-repeat;
      background-size: .6rem;
      background-position: center right 8px;
    }
    .mobile-button {
      display: none;
      position: fixed;
      bottom: 20px;
      left: 50%;
      transform: translateX(-50%);
      background: #7f746a;
      color: #fff;
      padding: 18px 50px;
      border-radius: 50px;
      text-decoration: none;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
      z-index: 100;
      transition: all 0.3s ease;
      min-width: 280px;
      text-align: center;
/*      background-image: url(../img/common/icon-line.webp);*/
      background-repeat: no-repeat;
      background-size: 30px 30px;
      background-position: center left 30px;
      letter-spacing: 1px;
    }
    
    .mobile-button:hover {
      transform: translateX(-50%) scale(1.05);
      box-shadow: 0 6px 30px rgba(0, 0, 0, 0.4);
    }
    
    @keyframes fadeInUp {
      from {
        opacity: 0;
        transform: translateY(30px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }
    
.flex{
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 30vh 0 0;
justify-content: space-evenly;
gap:10px;
width: 100%;
}
@media (max-width: 768px) {
.background {
      background-image: url('../img/comingsoon/bg_sp.webp?01');
      background-size: cover;
      background-repeat: no-repeat;
      background-position: top center;
      background-attachment: fixed;
      z-index: -1;
    }
.coming-soon {
      min-height: 100px;
}
.flex{
  display: flex;
  flex-direction: column;
  margin: 30vh 0 20vh;
justify-content: space-evenly;
gap:10px;
}
.qr-code {
        display: none;
}
      
.mobile-button {
        display: block;
      }
}
    

    /****/
    