/* styles.css */
body{
  background-color: #F8F4E6;
}
header, body,  h1, h2 ,h3 ,h4 ,a, ul{
  margin:0;
  padding:0;
  color: #C89932;
}
ul {
  list-style-type: none;
}
*{
  margin: 0;
  padding: 0;
}
header{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2;
  height: 5vw;
  background-color: #f8f4e665;
  border-radius: 0 0 2vw 2vw;
}
.fadeInUp_1 {
  opacity: 0;
  transform: translateY(120px);
}
@keyframes fadeIn {
  0% {}

  100% {
    opacity: 1;
    transform: translate(0);
  }
}
.fadeIn {
  animation-name: fadeIn;
  animation-duration: 2s;
  animation-fill-mode: forwards;
}
ruby rt {
  font-size: 0.5em;
  top: 0vw;
  position: relative;
}

/*高さを100%にして描画エリアをとる*/
/* html,body{
	height: 100%;
} */

/*ハンバーガーメニューここから*/
.menu-btn {
  position: fixed;
  top: 1vw;
  right: 1vw;
  display: flex;
  height: 3vw;
  width: 3vw;
  justify-content: center;
  align-items: center;
  z-index: 90;
  background-color: #96514D;
  border-radius: 25%;
}
.menu-btn img{
  width: 65%;
  height: 65%;
}
.menu-btn-open{
  display: block;
}
.menu-btn-close{
  display: none;
}
#menu-btn-check:checked ~ .menu-btn .menu-btn-open{
  display: none;
}
#menu-btn-check:checked ~ .menu-btn .menu-btn-close{
  display: block;
}

#menu-btn-check{
  display: none;
}

.menu-content {
  width: 100%;
  height: 100%;
  position: fixed;
  overflow-y: scroll;
  top: 0;
  left: 0;
  z-index: 80;
}
.menu-content ul {
  padding: 2.5vw 1vw 2.5vw;
}
.menu-content ul li {
  list-style: none;
}
.menu-content ul li a {
  display: block;
  width: 100%;
  box-sizing: border-box;
  color:#C89932;
  text-decoration: none;
  padding: 9px 15px 10px 0;
  position: relative;
}
.menu-content ul li a::before {
  content: "";
  width: 7px;
  height: 7px;
  transform: rotate(45deg);
  position: absolute;
  right: 11px;
  top: 16px;
}
.menu-content {
  width: 25%;
  height: 50%;
  position: fixed;
  line-height: 3vw;
  left: 100%;/*leftの値を変更してメニューを画面外へ*/
  z-index: 80;
  background-color: #F8F4E6;
  transition: all 0.5s;/*アニメーション設定*/
  text-align: center;
  font-size: 1.5vw;
  border-radius: 2.5vw 0vw 2.5vw 2.5vw;
}
#menu-btn-check:checked ~ .menu-content {
  left: 75%;/*メニューを画面内へ*/
}
.search-btn{
  width: 2.5vw;
}

/* header */
.header__menu__ul{
  line-height: 2vw;
  font-size: 1.5vw;
  margin-top: -7vw;
  margin-bottom: 2vw;
}
@media (max-width: 768px) {
  .header__menu__ul {
      margin-top: -14vh; /* 小さい画面向けに調整 */
      margin-bottom: 4vh; /* 小さい画面向けに調整 */
  }
}

.header__menu__ul li{
  border-bottom: 0px solid #fff !important;
}

.header__menu__ul li a::before{
  content: "";
  width: 0px !important;
  height: 0px !important;
  border: 0px !important;
}


.view{
  display: block;
}

.hide{
  display: none;
}
/*ハンバーガーメニューここまで*/

#particles-js{ 
	position:fixed;/*描画固定*/
	z-index:-1;/*描画を一番下に*/
	width: 100%;
	height: 100%;
}

#wrapper{
	position: relative;/*描画を#particles-jsよりも上にするためposition:relative;を指定*/
	z-index: 1;/*z-indexの数字を大きくすることで描画を#particles-jsよりも上に*/
	width:100%;
	height: 100%;
}

/*ページ内をスムーズにスクロールする*/
html {
  scroll-behavior: smooth;
}
h3 {
  scroll-margin-top: 3vw;
}

/*メニューやに触ったさいの指定*/
a:hover{
  color: #96514D;
}
.menu-content li a:hover {
  color: #96514D;
}
a.prefecture:hover{
  color: inherit;
}

.webfont {
  font-family: "Kaisei Opti", serif;
  font-weight: 400;
  font-style: normal;
}
li{
  list-style-type: none;
}
a{
  text-decoration: none;
}

.navi{
  font-size: 1.5vw;
  display:flex;
  width:100%;
  position: fixed;
  z-index: 1;
  margin-top: 1vw;
}
.menu{
  width:50%;
  display: flex;
  margin-left: 10vw;
}
.search{
  text-align:right;
  width:15%;
  margin-left: 10vw;
}
.sear{
  display: flex;
}
.textbox{
  font-size: 1.5vw;
  background-color: rgba(255, 255, 255, 0);
  border: 0px;
  border-bottom: 1px solid #C89932;
  width: 15vw;
}
.textbox:focus{
  outline: 0;
}

.title{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1vw;
  position: absolute;
  z-index: 2;
  width: 20%;
  margin-left: 40%;
  margin-top: 10%;
}
h1{
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: 2.7vw;
}
.title_item{
  width: 20%;
  height: auto;
}

/*Key Visualの指定*/
/*key Visualの入れ物の指定*/
  .kv-slider-slide {
    position: relative;
    width: 100%;
    aspect-ratio: 2/1;
    overflow: hidden;
    border-radius: 0 0 3vw 3vw;
    z-index: 1;
    display: flex;
    transition: transform 1s ease-in-out;
  }
  .kv-slider-slide-item {
    position: relative;
    flex-shrink: 0;
    width: 100%;
    aspect-ratio: 2/1;
    overflow: hidden;
    border-radius: 0 0 5vw 5vw;
    z-index: 2;
  }
  .kv-slider-slide-item.active img {
    transform: scale(1);
  }
  .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #747474; 
    opacity: 25%;
    z-index: 2;
  }
  .kv-slider-slide-item-p{
    display: flex;
    justify-content: flex-start;
    gap: 1vw;
    position: absolute;
    overflow: hidden;
    bottom: 10%;
    left: 10%;
    z-index: 2;
    color: #ffffff;
    font-size: 1.5vw;
  }
  .img-01, .img-02, .img-03, .img-04{
    position: absolute;
    top:0;
    left:0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
 }
.img-01{
  background-image: url('./zemi/kv/mitutada.jpg');
  animation: slide-animation-01 28s infinite;
}
.img-02{
  background-image: url('./zemi/kv/yasuie.png');
  animation: slide-animation-02 28s infinite;
}
.img-03{
  background-image: url('./zemi/kv/sasanuki.jpg');
  animation: slide-animation-03 28s infinite;
}
.img-04{
  background-image: url('./zemi/kv/muramasa.jpg');
  animation: slide-animation-04 28s infinite;
}
@keyframes slide-animation-01 {
  0% {opacity: 1; transform: scale(1.0);}
  25% {opacity: 1;}
  30% {opacity: 0; transform: scale(1.1);}
  100% {opacity: 0;}
}
@keyframes slide-animation-02 {
  0% {opacity: 0;}
  25% {opacity: 0; transform: scale(1.1);}
  30% {opacity: 1;}
  50% {opacity: 1;}
  55% {opacity: 0; transform: scale(1.0);}
  100% {opacity: 0;}
}
@keyframes slide-animation-03 {
  0% {opacity: 0;}
  50% {opacity: 0; transform: scale(1.0);}
  55% {opacity: 1;}
  75% {opacity: 1;}
  80% {opacity: 0; transform: scale(1.1);}
  100% {opacity: 0;}
}
@keyframes slide-animation-04 {
  0% {opacity: 0;}
  75% {opacity: 0; transform: scale(1.1);}
  80% {opacity: 1;}
  100% {opacity: 1; transform: scale(1.0);}
}



/*ページトップここから*/
.pagetop {
  position: fixed;
  right: 1vw;
  bottom: 1vw;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3vw;
  height: 3vw;
  transition: .3s;
  background: #96514D;
  opacity: 0;
  border-radius: 25%;
  z-index: 10;
}
.pagetop img{
  width: 70%;
}
/*ここまで*/
h2{
  font-size: 3vw;
  line-height: 6vw;
  margin-top: 5vw;
  margin-bottom: 5%;
  text-align: center;
}

.about{
  width: 32%;
  margin-left: 34%;
  align-items: center;
  font-size: 1.5vw;
  text-align: center;
}
.about_img{
  width: 10%;
  margin-bottom: 7%;
}
.cloud_g_l{
  width: 25%;
  margin-bottom: -20%;
  z-index: 3;
}
.cloud_g_r{
  width: 25%;
  margin-left: 75%;
  margin-top: -15%;
  margin-bottom: -5%;
  z-index: 3;
}

h3{
  font-size: 3vw;
  line-height: 7vw;
  margin-top: 5%;
  margin-bottom: 5%;
  text-align: center;
  color: #C5AF78;
}
.sword_background{
  color: #C5AF78;
  position: relative;
  z-index: 0;
  width: 100%;
  background-image: url(./zemi/item/about-back.png);
  background-position: center;
  align-items: center;
  background-size: cover;
}
.sword_about{
  width: 60%;
  margin-left: 20%;
  margin-bottom: 5%;
  font-size: 1.5vw;
  text-align: center;
}
.sword_contents{
  width: 100%;
  margin-top: 5vw;
}
.sword_contents img{
  width: 70%;
  margin-left: 15%;
  position: relative;
  z-index: -1;
}

.item-1{
  margin-top: -0.7vw;
  margin-left: 22vw;
}
.item-2{
  margin-top: -1.8vw;
  margin-left: 26.8vw;
}
.item-3{
  margin-top: -0.7vw;
  margin-left: 33.7vw;
}
.item-4{
  margin-top: -2.2vw;
  margin-left: 44.3vw;
}
.item-5{
  margin-top: -1.4vw;
  margin-left: 56.5vw;
}
.item-6{
  margin-top: 1.6vw;
  margin-left: 81vw;
}
.item-7{
  margin-top: -0.5vw;
  margin-left: 20.5vw;
}
.item-8{
  margin-top: -8.47vw;
  margin-left: 21vw;
}
.item-9{
  margin-top: -0.7vw;
  margin-left: 44.25vw;
}
.item-10{
  margin-top: -4vw;
  margin-left: 54.3vw;
}

.openModal {
  position: absolute; 
  font-size: 1.5vw; 
  background: none;
  border: none;
  cursor: pointer; /* カーソルがホバーした時にポインタが表示されるように設定 */
}
.openModal a{
  color: #C5AF78
}
.openModal a:hover{
  color: #ffffe3;
}
.modal {
  display: none; /* デフォルトでは非表示に設定 */
  position: relative; 
  /* top: 0; 
  left: 0;  */
  /* width: 100%;
  height: 100%;  */
  z-index: 10;
}
.modal-content {
  margin-left: -12%;
  margin-top: 1.5%;
  position: absolute; 
  width: 30%; 
  background-color: #96514D;
  color: #FFF0CF;
  border-radius: 2.5vw;
  /* aspect-ratio: 2.15 / 1; */
  /* background-image: url(./zemi/item/frame.svg); */
  background-size: cover;
  z-index: 10;
}
/* 吹き出しの三角形 */
.modal-content::after {
  content: "";
  position: absolute;
  top: -3.5vw;
  left: var(--triangle-left, 40%); /*ここを動的に変える*/
  /* left: 48.5%; */
  border-width: 2vw 0.8vw 2vw;
  border-style: solid;
  border-color: transparent transparent #96514D transparent;
}
.closeModal {
  position: absolute; 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  top: 7%; 
  right: 7%; 
  font-size: 1.5vw; 
  font-weight: bold; 
  cursor: pointer; 
  color: #FFF0CF; 
}
.sword-item{
  display: flex;
  gap: 2vw;
  font-size: 1.2vw;
  padding: 3% 7% 0;
  color: #FFF0CF;
  align-items: baseline;
}
.sub-title{
  font-size: 1.7vw;
}
.sword-info{
  font-size: 1.2vw;
  padding: 0 5% 3%;
}
.sword_more{
  font-size: 1vw;
  margin-left: 70%;
  margin-top: 1vw;
  text-align: center;
  list-style: none;
}
.sword_more li{
  display: flex; 
  flex-direction: column;
  align-items: center; 
}
.sword_more img{
  width: 30%;
  margin-top: -vw;
}
.sword_more a{
  color: #C5AF78;
}
.cloud_w_r{
  width: 13%;
  margin-left: 87%;
  margin-bottom: -30%;
}
.cloud_w_l{
  width: 15%;
  margin-top: -15%;
  margin-bottom: 4vw;
}


.pre-choice{
  position: relative;
  background-image: url(./zemi/item/texture.png);
  background-size: cover;
  background-position: center;
  align-items: center;
  margin-top: -5%;
  /* margin-bottom: 10%; */
  z-index: 1;
}
.pre_title{
display: flex;
align-items: center;
justify-content: center;
gap: 1vw;
margin-top: 5%;
}
.pre_title img{
  width: 3.5%;
  height: auto;
}
.road {
  position: relative;
  width: 100%;
  overflow: hidden;
  z-index: 0;
  /* min-height: 100vh; */
}
.road-img {
  margin-top: -10vw;
  margin-bottom: 20vw;
  width: 100%;
  display: block;
  z-index: 0;
  position: relative;
  pointer-events: none;
}
.road-mask {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 40vh;
  background: linear-gradient(to bottom, rgba(245,245,220,0) 0%,#F8F4E6 75%, #F8F4E6 100%);
  pointer-events: none;
  z-index: 2;
  display: none;
}
.contens{
  /* position: absolute; */
  width: 100%;
  height: 0 auto;
  z-index: 1;
  margin-bottom: 35%;
}
.sakura-con{
  position: relative;
  margin-bottom: 5vw;
}
.sakura{
  position: absolute;
  z-index: 2;
}
.sakura-1{
  width: 50%;
  top: 0vw;
  left: -2vw;
}
.sakura-2{
  width: 50%;
  top: 25vw;
  left: 53vw;
}
.sakura-3{
  width: 60%;
  top: 98vw;
  left: -10vw;
  transform: rotate(25deg);
}
.sakura-4{
  width: 40%;
  top: 175vw;
  left: 63vw;
}
.sakura-5{
  width: 40%;
  top: 200vw;
  left: -4vw;
  transform: rotate(15deg);
}
.sakura-6{
  width: 55%;
  top: 230vw;
  left: -3vw;
  transform: rotate(180deg)
}
.sakura-7{
  width: 40%;
  top: 283vw;
  left: 63vw;
  transform: rotate(180deg)
}
.sakura-8{
  width: 47%;
  top: 303vw;
  left: -3vw;
}
.sakura-9{
  width: 45%;
  top: 332vw;
  left: 60vw;
  
}
.sakura-10{
  width: 47%;
  top: 420vw;
  left: -2vw;
}

.con-1 {
  margin-top: 0vw;
  margin-left: 60%;
}
.con-2 {
  margin-top: 31vw;
  margin-left: 21%;
}
.con-3 {
  margin-top: 45vw;
  margin-left: 58.8%;
  writing-mode: vertical-rl;
}
.con-4 {
  margin-top: 12.5vw;
  margin-left: 62vw;
}
.con-5 {
  margin-top: 17.5vw;
  margin-left: 15%;
  writing-mode: vertical-rl;
}
.con-6 {
  margin-top: 11.5vw;
  margin-left: 42.3%;
}
.con-7 {
  margin-top: 40.5vw;
  margin-left: 65.5%;
}
.con-8 {
  margin-top: 23.5vw;
  margin-left: 17.7%;
  writing-mode: vertical-rl;
}
.con-9 {
  margin-top: 12.5vw;
  margin-left: 52.8%;
}
.con-10 {
  margin-top: 28.7vw;
  margin-left: 13.7%;
}
.con-11 {
  margin-top: 41.5vw;
  margin-left: 33.2%;
  writing-mode: vertical-rl;
}
.con-12 {
  margin-top: 8.5vw;
  margin-left: 62.5%;
  height: auto;
  margin-bottom: 45%;
}
.css-fukidashi {
  position: relative;
  width: 35%;
  /* align-items: center; */
  display: flex;
  z-index: 1;
}
.css-fukidashi-2 {
  position: relative;
  width: 35%;
  /* align-items: center; */
  z-index: 1;
  /* display: flex; */
}
.css-fukidashi:hover{
  z-index: 5;
}
.btn a{
  position: relative;
  color: #6B4C3B;
  font-size: 3.2vw;
  display: flex;
  align-items: center;
}
.btn img{
  width: 2.7vw;
  object-fit: contain;
  padding: 0.5vw;
}
.btn a:hover {
  color: #96514D;
}
.fukidashi {
  width: 90%;
  position: absolute;
  top: 100%;
  left: 42%;
  transform: translateX(-50%);
  border-radius: 1em;
  color: #2b2b2b;
  font-size: 1.5vw;
  writing-mode: horizontal-tb;
  z-index: 1;
}
.fukidashi-2 {
  width: 100%;
  height: 0 auto;
  border-radius: 1em;
  color: #2b2b2b;
  font-size: 1.5vw;
  z-index: 1;
  writing-mode: vertical-rl;
}
.have-item{
  /* width: 100%; */
  line-height: 2.5vw;
}
.map{
  margin-top: 5%;
  width: 70%;
  height: auto;
  object-fit: contain;
  padding: 3.5%;
  border: 0.1vw solid #6B4C3B;
  border-radius: 1em;
}
.fukidashi-2 img{
  width: 70%;
  margin-top: 12%;
  margin-right: 7%;
}

h4{
  font-size: 2.2vw;
  text-align: center;
  align-items: center;
  margin-bottom: 5%;
  z-index: 2;
}
.border{
  width: 90%;
  margin-left: 5%;
  margin-bottom: 3vw;
  border-top: 1.5px solid#C89932;
  z-index: 2;
}
footer{
  /* margin-top: 10vw; */
  margin-bottom: 10vw;
  z-index: 2;
}
.f_item{
  display: flex;
  justify-content: center;
  font-size: 1.5vw;
  z-index: 2;
}
.f_about{
  width: 25%;
  z-index: 2;
  text-align: center;
}
.f_about p{
  margin-bottom: 2vw;
}
.f_pre{
  width: 25%;
  z-index: 2;
  text-align: center;
}
.f_pre p{
  margin-bottom: 2vw;
}
.link{
  width: 25%;
  z-index: 2;
}
.link p{
  margin-bottom: 2vw;
  text-align: center;
}