
body {
    font-family: "Helvetica Neue",
      Arial,
      "Hiragino Kaku Gothic ProN",
      "Hiragino Sans",
      Meiryo,
      sans-serif;
            margin: 0;
          padding: 0;
      overflow: hidden;
  }
  *{
      box-sizing: border-box;
  }
  img{
      max-width: 100%;
  }
  p{
      margin: 0;
  }
  .main{
      overflow: hidden;
  }
  /* hotspotのスタイル設定 */
  .hotspot {
      display: block;
      width:12px;
      height: 12px;
      border-radius: 50%;
      border: none;
      background-color: #888888c6;
      box-sizing: border-box;
      pointer-events: none;
  }

  .hotspot[slot="hotspot-1"] {
      --min-hotspot-opacity: 0;
      background-color: red;
  }

  .annotation {
    background-color: #88888896;
    position: absolute;
    transform: translate(10px, 10px);
    border-radius: 10px;
    padding: 10px;
    color: white;
    font-size: 12px;
    letter-spacing: .05em;
    white-space: nowrap;
    line-height: 1.5;
  }

  /* This keeps child nodes hidden while the element loads */
  :not(:defined)>* {
      display: none;
  }
     
    /* アノテーション文字のフォント、大きさ、文字色、背景色の設定 */
      .view-button {
        background: #00000060;
        border-radius: 4px;
        border: none;
        box-sizing: border-box;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
        color: rgba(255, 255, 255, 0.8);
        display: block;
        font-family: Futura, Helvetica Neue, sans-serif;
        font-size: 8px;
        font-weight: 700;
        max-width: 128px;
        overflow-wrap: break-word;
        padding: 0.5em 1em;
        position: absolute;
        top: 60%;
        left: 50%;
        /* モデルに隠れた時の不透明度の設定　ここを変える */
        --min-hotspot-opacity: 0.15;
        --max-hotspot-opacity: 1.0;
        transform: translate3d(-50%, -50%, 0);
        white-space: nowrap;
       }
       
       .HotspotAnnotation {
          display: flex;
          justify-content: center;
          align-items: center;
          height: 100%;
          white-space: nowrap; 
      }
  
      .annotation-text {
          display: block;
          text-align: center;
      }
  
      .annotation-button {
      background-color: transparent;
      border: none;
      cursor: pointer;
      width: 12px; /* ここでボタンの大きさを調整 */
      height: 12px; /* ここでボタンの大きさを調整 */
      }


      @media screen and (max-width: 750px) {
        .annotation {
            font-size: 9px;
            padding: 5px 8px;
        }
        .hotspot {
            width: 12px;
            height: 12px;
        }
      }
  
      /* モデル切り替えのボタン */
  
      model-viewer {
          flex: 1;
          width: 100%;
      }
      .slider {
          display: flex;
          justify-content: center;
          padding: 10px;
          background-color: transparent;
      }
      .slide {
          padding: 10px;
          cursor: pointer;
      }
  .selected {
      background-color: #ddd;
  }
  .header{
      padding: 15px;
      width: 100%;
      background: #fff;
      text-align: center;
  }
  .header img{
      height: 50px;
      width: auto;
  }
  
  .footer{
      position: fixed;
      bottom: 0;
      left: 0;
  
  }
  
  .item-contents{
      height: 100%;
      position: relative;
  }
  .item-contents_bg_theme{
      background-color:#acd5eb;
  }
  .item-contents_bg_white{
      background-color:#fff;
  }
  .item-contents_bg_dark{
      background-color:#4a4a49;
  }
  .item-title-area{
      position: absolute;
      top: 10px;
      left: 50%;
      transform: translate(-50%, -0);
      background: #00000025;
      color: #fff;
      z-index: 3;
      text-align: center;
      padding: 8px 16px;
      border-radius: 8px;
      font-size: .75rem;
      width: 80%;
      max-width: 300px;
      /* box-sizing: inherit; */
  }
  .item-title-area_black{
      color: #333;
  }
  .item-title{
      font-weight: 500;
      font-size: 0.75rem;
      line-height: 1.25;
      text-align: center;
      font-size: 0.95rem;
      margin-bottom: .5rem;
  }
  .item-title span{
      font-size: .85em;
  }
  .item-title-sub{
      line-height: 1.5;
      font-size: .85rem;
  }
  .item-title-sub span {
      font-size: .85em;
  }
  .intro{
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      background: #fff;
      z-index: 10;
      display: flex;
      transition: .4s;
      
  }
  .intro.hide{
      visibility: hidden;
      opacity: 0;
  }
  .intro__inner{
      padding: 50px 20px;
      width: 100%;
      display: flex;
          justify-content: center;
      align-items: center;
  }
  .intro__wrap{
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      height: 100%;
  }
  .intro__logo-area{
      flex: 1;
      align-items: center;
      justify-content: center;
      display: flex;
  }
  .intro__logo-area img{
      max-width: 340px;
      width: 60%;
  }
  .intro__createby-area{
  
      max-width: 180px;
      width: 40%;
  }
  .ui-ar-btn{
      position: fixed;
      bottom: 15px;
      right: 15px;
      z-index: 2;
  }
  .ui-purchase{
      position: fixed;
      bottom: 15px;
      left: 15px;
      z-index: 2;
  }
  .exe-btn{
          font-size: 1em;
      user-select: none;
      padding: 12px 14px;
      text-decoration: none;
      border-radius: 6px;
      box-shadow: 3px 3px 8px -2px #4c4c4c;
      border: none;
      cursor: pointer;
      color: #333;
  }
  .exe-btn.hide{
      display: none;
  }
  .btn{
        font-size: 1em;
        user-select: none;
        padding: 12px 14px;
        text-decoration: none;
        border-radius: 6px;
        box-shadow: 3px 3px 8px -2px #4c4c4c;
        border: none;
        cursor: pointer;
        color: #333;
        display: inline-block;
        background: #fff;
  }
  .btn_purchase{
      font-size: .85rem;
      color: #931c33;
  }
  @media screen and (max-width: 750px) {
    .header{
        padding: 10px 15px;
    }
  .header img{
      height: 30px;
      width: auto;
  }
  }
  
  .ui-move-arrow{
      position: fixed;
  
      top: 50%;
      transform: translate(0, -50%);
      width: 40px;
      z-index: 5;
      
  }
  .ui-move-arrow__base{
      position: relative;
  }
  .ui-move-arrow.hide{
      display: none;
  }
  .ui-move-arrow__base svg{
    width: 30px;
  }
  .ui-move-arrow.hide{
      display: none;
  }
  .ui-move-arrow_left{
      left: 15px;
  }
  .ui-move-arrow_right{
      right: 15px;
  }
  .scroll-container{
      height: 100%;
  }
   .scroll-container {
              display: flex;
              overflow-x: scroll;
              scroll-behavior: smooth;
   }
   .scroll-item {
              flex: 0 0 100%;
          }
   .ui-move-arrow__text-box{
      position: absolute;
      top: 100%;
      width: 100px;
      /* left: 50%; */
      /* transform: translate(-50%, 0); */
     
  
   }
   .ui-move-arrow__text{
       font-size: .85rem;
        text-align: center;
        background: rgb(170 170 170 / 40%);
        border-radius: 12px;
        margin-top: 6px;
        display: inline-block;
        padding: 5px 10px;
        
   }
   .ui-move-arrow__text-box_left{
       left: 0px;
   }
   .ui-move-arrow__text-box_right{
       right: -20px;
   }
  #custom-ar-button {
      display: none;
  }
  /* material */
  .item-2d-area{
      height: 100%;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: stretch;
      max-width: 600px;
      margin: 0 auto;
      padding-bottom: 60px;
  }
  .item-material{
      padding: 10px 15px 40px;
  }
  .item-material__wrap{
      display: flex;
      padding: 10px 15px;
      border: 1px solid #333;
      /* justify-content: center; */
      align-items: center;
  }
  .item-material__left {
      padding: 10px 20px;
  }
  .item-2d-h-box{
      width: 100%;
      height: 140px;
      flex: none;
  
  }
  .item-2d-top {
      padding-top: 8px;
      padding-right: 15px;
      padding-left: 15px;
      width: 90%;
      display: flex;
          align-items: center;
          min-height: 40vh;
  }
  .item-2d-bottom{
    flex: 1;
    display: flex;
    align-items: center;
    padding-bottom: 60px;
    padding: 0 30px 0;
    /* width: 80%; */
    max-width: 400px;
    box-sizing: content-box;
  }
  .circle-material{
      overflow: hidden;
      border-radius: 50%;
      width: 100px;
      height: 100px;
  }
  .circle-material img{
      height: 100%;
  }
  .item-material__title{
      font-size: 0.85rem;
      margin-bottom: .5rem;
  }
  .item-material__text{
      font-size: .85rem;
      line-height: 1.5;
  }
  .item-structure-area{
      color: #fff;
      padding: 0 15px;
  }
  
  .item-structure__heading{
      font-size: 1rem;
      line-height: 1.5;
      margin-bottom: .5rem;
  }
  .item-structure__text{
      font-size: .85rem;
      line-height: 1.5;
  }
  .item-material__wrap_white{
  
      border-color: #fff;
  }

  @media screen and (max-width: 750px) {
    .item-2d-top{
        max-width: 300px;
        min-height: 30vh;
        display: flex;
        align-items: center;
        min-height:0;
    }
    .item-2d-bottom{
        max-width: 300px;
        max-height: 200px;
    }
    

  }