@charset "UTF-8";/*==========================================動画埋め込み===========================================*//* kv */.kv {  height: 100vh;  display: flex;  justify-content: center;  align-items: center;  position: relative;  overflow: hidden;}.kv .main-copy {  background: linear-gradient(45deg, #fcc200 0%, #DAAF08 45%, #ffff00 70%, #DAAF08 85%, #fcc200 90% 100%);  -webkit-background-clip: text;  -webkit-text-fill-color: transparent;  font-size: 75px;  font-weight: bold;  text-align: center;  line-height: 1;  font-family: "Lora-VariableFont_wght", serif;  font-optical-sizing: auto;  font-style: normal;  letter-spacing: -0.5px;  position: relative;  z-index: 2;}.kv .sub-copy {  background: linear-gradient(45deg, #fcc200 0%, #DAAF08 45%, #ffff00 70%, #DAAF08 85%, #fcc200 90% 100%);  -webkit-background-clip: text;  -webkit-text-fill-color: transparent;  font-size: 30px;  text-align: center;  font-family: "HinaMincho-Regular", serif;  font-optical-sizing: auto;  font-style: normal;  position: relative;  z-index: 2;}.sub-copy img {  width: 100%;  max-width: 229px;}/* video */.video {  width: 100%;  height: 100vh;  background: url("../img/kv-alternative-sp.webp") no-repeat center / cover;  position: absolute;  top: 0;  left: 0;  overflow: visible;  z-index: 0;  box-shadow:    0 30px 60px rgba(70, 20, 80, 0.45),    0 60px 120px rgba(50, 0, 60, 0.35),    0 100px 180px rgba(30, 0, 40, 0.28),    0 10px 20px rgba(0, 0, 0, 0.25);}/* 動画の色味を少し落として高級感を出す */.video::after {  content: "";  width: 100%;  height: 100%;  background: linear-gradient(    to bottom,    rgba(42, 15, 53, 0.10) 0%,    rgba(42, 15, 53, 0.16) 45%,    rgba(42, 15, 53, 0.22) 100%  );  display: block;  position: absolute;  left: 0;  top: 0;  z-index: 1;}/* 動画の下に溶け込む影 */.video::before {  content: "";  position: absolute;  bottom: -70px;  left: 0;  width: 100%;  height: 140px;  background: linear-gradient(    to bottom,    rgba(70, 20, 80, 0.30) 0%,    rgba(50, 0, 60, 0.18) 45%,    rgba(30, 0, 40, 0) 100%  );  z-index: 0;  pointer-events: none;}.video video {  width: 100%;  height: 100%;  object-fit: cover;  position: absolute;  top: 0;  left: 0;}.mobile-video {  display: block;}.large-screen-video {  display: none;}@media screen and (min-width: 768px) {  .kv {    min-width: 768px;  }  .kv .main-copy {    font-size: 80px;  }  .kv .sub-copy {    font-size: 40px;  }  .video {    min-width: 768px;    background: url("../img/kv-alternative-pc.webp") no-repeat center / cover;  }  .large-screen-video {    display: block;  }  .mobile-video {    display: none;  }}