html, html:hover {
  cursor: url("IMG/cursor.gif"), auto;
  
  text-transform: lowercase;
  
  scrollbar-width:none;
  -ms-overflow-style:none;
  scroll-behavior: smooth;
}

html::-webkit-scrollbar{
  display:none;
}

.frame{
 background-image: url(IMG/frame.png);
 background-repeat: no-repeat;
 background-position: center;
 background-size: cover;
 width: 100%;
 height: 100%;
 z-index: 49;
 position: fixed;
 top: 0;
 left: 0;
 pointer-events: none;
}

body{
  width: 95%;
  max-width: 1200px;
  min-height: 80vh;
  
  margin: 40px auto;
  background-image: url(IMG/background.png);
  background-size: 90%;
  background-color: #191B22;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
    
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-content: center;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0;
  
  overflow: auto;
    
  opacity: 0;
  animation: fadeIn 0.4s forwards;
  
  user-select: text;
  -webkit-user-select: text;
  -ms-user-select: text;

  opacity: 0;
  animation: fadeIn 0.4s forwards;
  
   user-select: text;
  -webkit-user-select: text;
  -ms-user-select: text;
}

@keyframes fadeIn{
  to{
    opacity:1;
  }
}

@font-face{
  font-family: "MetalGothic";
  src: url("font/MetalGothic-DemoVersion-Regular.ttf");
}

.ibm-plex-serif-thin {
  font-family: "IBM Plex Serif", serif;
  font-weight: 100;
  font-style: normal;
}

.ibm-plex-serif-extralight {
  font-family: "IBM Plex Serif", serif;
  font-weight: 200;
  font-style: normal;
}

.ibm-plex-serif-light {
  font-family: "IBM Plex Serif", serif;
  font-weight: 300;
  font-style: normal;
}

.ibm-plex-serif-regular {
  font-family: "IBM Plex Serif", serif;
  font-weight: 400;
  font-style: normal;
}

.ibm-plex-serif-medium {
  font-family: "IBM Plex Serif", serif;
  font-weight: 500;
  font-style: normal;
}

.ibm-plex-serif-semibold {
  font-family: "IBM Plex Serif", serif;
  font-weight: 600;
  font-style: normal;
}

.ibm-plex-serif-bold {
  font-family: "IBM Plex Serif", serif;
  font-weight: 700;
  font-style: normal;
}

.ibm-plex-serif-thin-italic {
  font-family: "IBM Plex Serif", serif;
  font-weight: 100;
  font-style: italic;
}

.ibm-plex-serif-extralight-italic {
  font-family: "IBM Plex Serif", serif;
  font-weight: 200;
  font-style: italic;
}

.ibm-plex-serif-light-italic {
  font-family: "IBM Plex Serif", serif;
  font-weight: 300;
  font-style: italic;
}

.ibm-plex-serif-regular-italic {
  font-family: "IBM Plex Serif", serif;
  font-weight: 400;
  font-style: italic;
}

.ibm-plex-serif-medium-italic {
  font-family: "IBM Plex Serif", serif;
  font-weight: 500;
  font-style: italic;
}

.ibm-plex-serif-semibold-italic {
  font-family: "IBM Plex Serif", serif;
  font-weight: 600;
  font-style: italic;
}

.ibm-plex-serif-bold-italic {
  font-family: "IBM Plex Serif", serif;
  font-weight: 700;
  font-style: italic;
}


h1, h2, h3, h4, h5, h6{
  font-family: "MetalGothic", sans-serif;
  font-style: normal;
  text-decoration: none;
  font-weight: 400;
  line-height: 0;
  cursor: url("IMG/cursor.gif"), default;
  overflow-wrap: break-word;
}

a, p, ul, li, table{
  font-family: "IBM Plex Serif", serif;
  font-size: 12px;
  line-height: 1.5;
  color: #C00000;
  margin: 0.5px;
  text-decoration: none;
  overflow-wrap: break-word;
}

a, p, ul, li, button, image, iframe, div {
  cursor: url("IMG/cursor.gif"), default;
}

::selection {
  background: #740A03;
  color: white;
}

::-moz-selection {
  background: #740A03;
  color: white;
}

a:hover, p:hover, ul:hover, li:hover, button:hover, image:hover, iframe:hover, div:hover {
  cursor: url("IMG/cursor.gif"), pointer;
}

.link:hover{
  cursor: url("IMG/cursor.gif"), pointer;
  background: #C00000;
  color: white;
  padding: 2px;
}

img{
  user-select: none;
  -webkit-user-drag: none;
}

main{
  width: 60%;
  padding: 10px;
  border-radius: 5px;
}

.main{
  width: 100%;
  display: flex;
  margin: 0 auto;
  gap: 0px;
  align-items: stretch;
}

.main2{
  width: 98.2%;
  display: block;
  margin: 0 auto;
  gap: 0px;
  align-items: stretch;
}

.main3{
  width: 38%;
  display: block;
  margin: 25px auto 0px auto;
  gap: 0px;
  align-items: stretch;
}

.aside1{
  width: 21.8%;
  padding: 10px;
  border-radius: 5px;
  display: flex;
  flex-direction: column;
}

.aside2{
  width: 22.4%;
  padding: 10px;
  border-radius: 5px;
  display: flex;
  flex-direction: column;
}

.aside1, .aside2, main{
  height: 100%;
}

.windown{
  border: 2px solid #740A03;
  background: rgb(191,70,70,0.7);
  padding: 4px;
  padding-bottom: 0px;
  box-shadow: 4px 4px #191B22;
  display: block;
  unicode-bidi: isolate;
  margin-bottom: 10px;
  image-rendering: pixelated;
}

.tittle-home, .tittle-navi, .tittle-contact, .tittle-blog, .tittle-img{
  border: 2px solid #740A03;
  background: white;
  padding: 4px;
  height: 22px;
  pointer-events: none;
  margin-bottom: 4px;
}

.tittle-home:before, .tittle-navi:before, .tittle-contact:before, .tittle-blog:before, .tittle-img:before{
  float: left;
  margin-top: 2px;
  margin-right: 2px;
  margin-left: 2px;
  padding-right: 2px;
}

.tittle-home:before{
  content: url("icon/house.png");
}

.tittle-navi:before{
  content: url("icon/menus.png");
}

.tittle-contact:before{
  content: url("icon/chat.png");
}

.tittle-blog:before{
  content: url("icon/blog.png");
}

.tittle-img:before{
  content: url("icon/picture.png");
}

.tittle-home:after{
  content: url("icon/window_buttons.png");
  float: right;
  pointer-events: all;
  margin-top: -19px;
}

.tittle-navi:after{
  content: url("icon/window_buttons.png");
  float: right;
  pointer-events: all;
  margin-top: -19px;
}

.tittle-contact:after{
  content: url("icon/window_buttons.png");
  float: right;
  pointer-events: all;
  margin-top: -19px;
}

.tittle-blog:after{
  content: url("icon/window_buttons.png");
  float: right;
  pointer-events: all;
  margin-top: -19px;
}

.tittle-img:after{
  content: url("icon/window_buttons.png");
  float: right;
  pointer-events: all;
  margin-top: -19px;
}

.blog-frame2{
  max-height:0;
  overflow:hidden;
  padding: 0 5px;
  border: 2px solid #740A03;
  transition:max-height 0.4s ease;
}

.blog-frame2.open{
  max-height:320px;
  border: 2px solid #740A03;
  margin-bottom: 10px;
  padding: 5px;
  overflow-y: auto;
}

.commission-tab{
display:none;
}

.commission-tab.active{
display:block;
}

.content, .content-blog, .content-cms1{
  border: 2px solid #740A03;
  background: white;
  color: #191B22;
  margin-top: 4px;
  padding: 4px;
  justify-content: center;
  align-items: center;
}

.content-img{
  border: 2px solid #740A03;
  background: white;
  color: #191B22;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.content-blog{
  height: auto;
  max-height: 625px;
  overflow-y: auto;
  scroll-behavior: smooth;
  justify-content: center;
  align-items: center;
}

.content-cms1{
  height: auto;
  max-height: 200px;
  overflow-y: auto;
  scroll-behavior: smooth;
  display: flex;
  justify-content: center;
  align-items: center;
}

.content-blog::-webkit-scrollbar, .blog-frame2.open::-webkit-scrollbar{
  width: 6px;
}

.content-blog::-webkit-scrollbar-track, .blog-frame2.open::-webkit-scrollbar-track{
  background: #191B22;
}

.content-blog::-webkit-scrollbar-thumb, .blog-frame2.open::-webkit-scrollbar-thumb{
  background: linear-gradient(#C00000,#6b0000);
  border-radius: 10px;
}

.windown:after{
  content: url("icon/rose.png");
  display: block;
  margin-top: 1px;
  margin-bottom: 1px;
}

.logo{
  width: 100%;
  cursor: url("IMG/cursor.gif"), default;
}

.img-padding{
    margin: 5px 2px;
}

.img-hover{
  position: relative;
  display: flex;
}

.intro-img{
  width:100%;
  transition:0.3s;
}

.intro-img:hover{
  content:url("IMG/img8.PNG");
}

.hover-text{
  position: absolute;
  bottom: 0px;
  left: 0px;
  
  background: rgba(116, 10, 3, 0.75);
  color: white;
  padding: 5px 8px;
  font-size: 12px;
  
  white-space: nowrap;
  
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
}

.img-hover:hover .hover-text{
  opacity: 1;
}

.div-navi{
  display: flex;
  flex-direction: column;
}

.div-tos{
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: center;
}

.div-menu{
    display: flex;
    align-content: flex-start;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

.enter{
    position: fixed;
    right: 50vh;
    bottom: 15vh;
}

.menu-2col{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.menu-col1{
    width: 45%;
}

.menu-col2{
    width: 55%;
}

.btn-navi, .btn-social{
  font-size: 12px;
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  padding: 2px;
  margin-left: 5px;
}

.btn-navi:before, .btn-social:before{ 
    content: url("icon/rose-icon.gif"); 
    display: block; 
    float: left; 
    margin-right: 5px; 
}

.btn-cms{
  width: 100%;
  text-align: center;
  background: none;
  border: none;
  padding: 2px;
  margin-left: 5px;
}

.btn-tos{
  color: #740A03;
  width: 290px;
  font-size: 12px;
  text-align: center;
  background: white;
  border: 1.5px solid #740A03;
  border-radius: 20px;
  padding: 4px;
  margin-left: 5px;
}


.btn-enter{
  color: #740A03;
  width: 230px;
  font-size: 12px;
  text-align: center;
  background: white;
  border: 1.5px solid #740A03;
  border-radius: 20px;
  padding: 4px;
  margin-left: 5px;
  margin-bottom: 5px;
  height: 30px;
}

.btn-port{
  color: #740A03;
  width: 160px;
  text-align: center;
  background: white;
  border: 1.5px solid #740A03;
  border-radius: 20px;
  padding: 6px;
  gap: 20px;
}

.div-social{
    width: 100%;
    display: flex;
    background: none;
    border: none;
    padding: 4px;
    flex-direction: column;
}

.btn-navi a:hover, .btn-social a:hover, .btn-cms:hover{
  color: white;
  background-color: #C00000;
  width: max-content;
  padding: 2px;
}

.btn-tos:hover, .btn-port:hover, .btn-enter:hover{
    background-color: #740A03;
    color: white;
    animation: fadeIn 0.4s forwards;
}

.h1-styling1{
  color: #740A03;
  font-size: 20px;
  line-height: 1;
  margin: 0;
}

.h1-styling2{
  color: #740A03;
  font-size: 25px;
  line-height: 1;
  margin: 0;
}

.h1-styling2:before{
    content: url("icon/ribbon-icon.gif"); 
    display: block; 
    float: left; 
    margin-right: 5px; 
    margin-top: 2px;
}

.h1-styling2:after{
    content: url("icon/ribbon-icon.gif"); 
    display: block; 
    float: right; 
    margin-left: 5px; 
    margin-top: 2px;
}

.ava{
    width: 8.5%;
    border-radius: 100%;
    border: 2px solid #740A03;
    cursor: url("IMG/cursor.gif"), default;
}

.ava:hover{
    filter: brightness(60%);
    cursor: url("IMG/cursor.gif"), default;
}

.symbol{
  font-size:15px;
  margin-left: -2px;
  margin-right: 0px;
}

.body-1{
  display: block;
  margin-top: 2.5px;
  margin-bottom: 2.5px;
  margin-left: 0px;
  margin-right: 0px;
}

.body-2{
  display: block;
  line-height: 1;
  font-size: 10px;
}

.blog-frame{
    border: 2px solid #740A03;
    margin-bottom: 10px;
    padding: 5px;
}

.blog-tittle{
    display: flex;
    justify-content: flex-start;
    align-content: center;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 10px;
}

.blog-tittle-detail{
    display: flex;
    justify-content: space-between;
    align-content: flex-start;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 0px;
}

.blog-content{
    padding: 10px;
}

.tos-2col{
    display: flex;
    align-content: center;
    flex-direction: row;
    justify-content: space-between;
    align-items: baseline;;
}

.policy-table{
  width: 295px;
  border-collapse:collapse;
  color:#740A03;
}

.price-table{
  width: 100%;
  border-collapse: collapse;
  color:#740A03;
  padding: 4px;
  margin-top: 10px;
}

.policy-table th, .price-table th{
  border:1px solid #740A03;
  font-size: 13px;
  background-color: #740A03;
  padding:0px;
  text-align:center;
  color: white;
}

.tos-heading{
  font-size: 20px;
  line-height: 0;
}

.policy-table td{
  border:1px solid #740A03;
  padding:4px;
  text-align:left;
}

.price-table td{
  border-bottom:1px solid #740A03;
  padding: 2px;
  text-align: left;
}

.price-table td, .price-table th{
  padding:8px;
}

.price-col1{
    width: 60%;
}

.price-col2{
    width: 40%;
    text-align: center;
}

.dashed{
    width: 100%;
    border-top: 1px dashed #740A03;
    margin: 10px 0px;
}

.sec-tos{
    color: #740A03;
    padding: 0px 2px;
}

.picture{
    width: 100%;
    cursor: url("IMG/cursor.gif"), default;
    border: 1px solid #740A03;
}

.h2-textstyling1{
    color: #740A03;
    font-size: 25px;
    line-height: 0.5;
}

.h2-textstyling1:before{
    content: url(icon/rose1-icon.gif);
    margin-right: 5px;
    margin-top: 2.4px;
}

.h3-textstyling3:before{
    content: url(icon/rose1-icon.gif);
    margin-right: 5px;
}

.h3-textstyling1{
    color: #740A03;
    font-size: 20px;
    margin-right: 5px;
}

.h3-textstyling3{
    color: #740A03;
    font-size: 20px;
    margin-bottom: 5px;
}

.h3-textstyling2{
    color: white;
    font-size: 13px;
}

.h1-textstyling2{
    color: #740A03;
    font-size: 35px;
    line-height: 0;
    text-align: center;
}

.h2-textstyling2{
    color: #740A03;
    font-size: 20px;
    line-height: 0;
    margin: 0;
    text-align: center;
}

.h1-textstyling2:before, .h2-textstyling3:before, .h2-textstyling4:before{
    content: url(icon/rose1-icon.gif);
    margin-right: 5px;
    margin-top: 5px;
}

.h1-textstyling2:after, .h2-textstyling3:after, .h2-textstyling4:after{
    content: url(icon/rose1-icon.gif);
    margin-left: 5px;
    margin-top: 5px;
}

.h2-textstyling3{
    color: #740A03;
    font-size: 30px;
    line-height: 0;
    margin: 15px 0;
    text-align: center;
}

.h2-textstyling4{
    color: #740A03;
    font-size: 25px;
    line-height: 0;
    margin: 15px 0;
    text-align: center;
}

.desc-price1{
    line-height: 1.4;
    margin: 20px 0px 10px 0px;
    text-align: left;
}

.desc-price2{
    line-height: 1.4;
    margin: 20px 0px 10px 0px;
    text-align: center;
}

#gallery{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:12px;
}

.gallery-img{
  width:100%;
  height:150px;
  object-fit:cover;
  cursor:pointer;
}

#lightbox{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.8);
  display:none;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  z-index:999;
}

#lightbox img{
  max-width:90%;
  max-height:80%;
}

#caption{
  margin-top:12px;
  color:white;
  font-size:14px;
  text-align:center;
}

#caption a{
  color:white;
  text-decoration:none;
}

.pdf-thumb{
    width:100%;
    cursor: url("IMG/cursor.gif"), pointer;
}

#pdf-lightbox iframe{
    width:80%;
    height:90%;
    border:none;
}

#pdf-lightbox{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.9);
    display:none;

    justify-content:center;
    align-items:center;
    z-index: 50;
}

.chibi-stand{
    z-index: 40;
    position: relative;
}

.chibi{
    position: absolute;
    transform: translateX(790px) translateY(1065px);
    width: 150px;
}

.chibi1{
    position: absolute;
    transform: translateX(790px) translateY(640px);
    width: 150px;
}

.logo2{
    width: 80%;
    padding: 5px;
}

@media (max-width:768px){
    
 html{
  -webkit-tap-highlight-color: transparent;
}

  body{
    max-width: 1200px;
    margin: 0 0 0 5px;
    padding: 0 10px;
    background-image: url(IMG/background-2.png);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
  }
    
  .main{
    flex-direction: column;
  }
  .aside1,
  .aside2,
  
  main{
    max-width:1200px;
    margin:auto 10px 5px;
    width:85%;
  }
  
  .main2{
    max-width:1200px;
    margin:50px 0px 0px 20px;
    width:85%;
      
  }
  
 .blog-frame{
      height: max-content;
      padding: 4px;
  }
  
  .blog-frame2.open{
    max-height:70vh;
    overflow-y:auto;
  }
  
.content-cms1{
      height: max-content;
      padding: 4px;
      justify-content: center;
      align-items: center;
  }
  
  .tos-2col{
      flex-direction: column;
  }
  
  .policy-table{
      width: 100%;
      padding: 2px;
  }
  
  a,p,ol,ul,li, button{
      overflow-wrap: break-word;
      line-height: 1.2;
      font-size: 12px;
  }
  
  h1,h2,h3,h4,h5,h6{
      overflow-wrap: break-word;
  }
  
  th, td{
    overflow-wrap: break-word;
    line-height: 1.2;
    font-size: 12px;
  }
  
 .price-table td, .price-table th{
  padding: 2px;
}

.price-table, .policy-table{
    margin: 10px 0px;
}

    .div-tos{
    flex-direction: column;
    gap: 5px;
  }
  
  .menu-2col{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
  }
  
  .menu-col1{
     display: none;
  }
  
  .menu-col2{
      width: 100%;
  }
  
  .btn-tos{
      width: 250px;
      font-size: 12px;
      touch-action: manipulation;
  }
  
  .h2-textstyling3{
      font-size: 25px;
      line-height: 0;
      margin: 0 0 10px 0;
  }
  
  .chibi{
    position: absolute;
    transform: translateX(220px) translateY(1643px);
    width: 130px;
}

  .chibi1{
    position: absolute;
    transform: translateX(220px) translateY(1215px);
    width: 130px;
}

  .frame{
    background-image: url(IMG/frame-2.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    width: 100%;
    height: 100%;
    z-index: 49;
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
}

.h2-textstyling4{
    font-size: 20px;
}

.enter{
  width: 55%;
  right: 3vh;
  margin-top: 5px;
}

.main3{
  width: 80%;
}

.h2-textstyling4{
 font-size: 25px;
}

.btn-enter{
    width: 200px;
}

.position{
    position: fixed;
    margin-top: 30px;
    right: 5vh;
}
    
}