@charset "utf-8";
path {
  fill: none;                /* 塗りなし */
  stroke: #f1e4d5;           /* ペンの色 */
  stroke-width: 0.7;            /* 線の太さ */
  stroke-linecap: round;      /* 線の端を丸く */
  stroke-linejoin: round;     /* 線の角を丸く */
  
  stroke-dasharray: 3000;     /* 線の全長（SVGのパスに合わせて調整） */
  stroke-dashoffset: 3000;    /* 線を非表示に */
  
 opacity: 0;
  animation: draw 4s ease forwards, fadeOut 3s ease 3s forwards;
}
@keyframes draw {
  to {
    stroke-dashoffset: 0;
    opacity: 1;
  }
}

@keyframes fadeOut {
  to {
    opacity: 0;
  }
}

@media(max-width:1000px){.swiper-wrapper {
  /* wrapperのサイズを調整 */
  width: 100%;
  height: 150%;
}
.slide-img {
  width: 100%;       /* 横幅をスライドに合わせる */     /* .swiper-wrapperと同じ高さにする */
  object-fit: contain; /* 縦横比を保ったまま、余白が出ないように切り抜く */
  display: block;    /* 下の隙間を消す */
}}

@media(min-width:1001px){
  .swiper{width: 100%;aspect-ratio: 13 / 5;}

  .swiper-wrapper {
  /* wrapperのサイズを調整 */
  width: 100%;
  aspect-ratio: 13 / 5 ;
  margin: auto;
  object-position: center bottom;  /* 下側を基準（上をカット） */
}

.slide-img {
  width: 100%;       /* 横幅をスライドに合わせる */     /* .swiper-wrapperと同じ高さにする */
  object-fit: cover; /* 縦横比を保ったまま、余白が出ないように切り抜く */
  display: block;    /* 下の隙間を消す */
  aspect-ratio: 12 / 5;
  object-position: center bottom;
}}

.swiper-button-prev,
.swiper-button-next {
  z-index: 100 !important; /* 他のどの要素よりも大きい数字にする */
  display: flex !important; /* 消えるのを防ぐ */
  opacity: 1 !important;        /* 透明にならないようにする */
  visibility: visible !important; /* 隠れないようにする */
  pointer-events: auto !important; /* クリックできるようにする */
  color:#F5F5DC !important;     /* 念のため色を付ける */
}
.swiper-button-disabled {
  opacity: 1 !important;
  pointer-events: auto !important;
}

.swiper-pagination{color: #E6EBF0 !important;}

.hiduke{font-size: larger;}

body {
  margin: 0; /* ブラウザのデフォルト余白を消す */
  font-family:"Noto Serif JP",serif;
}

@media(max-width:600px)
{.top-image{
    width: 150px;
    display: inline-flex;
}}
@media(max-width:999px) and (min-width:601px)
{.top-image{width:300px;
margin-left:10%;
display: inline-flex;}}
@media(min-width:1000px)
{.top-image{width:300px;
margin-left:45%;
display: inline-flex;}}
header .gnav .menu {
    display: flex; /* 中の要素を横並びにする */
}

.logo-link{display: inline-block;}

@media(max-width:600px)
{.name{font-family: "Great Vibes";
font-size:  250%;
}
.header-container {
  justify-content: center;
  display: flex;            /* 横並びにする */
  align-items: center;      /* 画像と文字を縦方向の中央にそろえる */
  padding: 5%;            /* ちょっと余白を入れる */
}
}
@media(max-width:999px) and (min-width:601px)
{.name{font-family: "Great Vibes";
font-size:450%;
margin-left:40%;}
.header-container {
  display: flex;            /* 横並びにする */
  align-items: center;    /* 画像と文字を縦方向の中央にそろえる */
  padding: 5%;            /* ちょっと余白を入れる */
}}
@media(min-width:1000px)
{.name{font-family: "Great Vibes";
font-size:600%;
margin-left: 60%;}
.header-container {
  display: grid;
  grid-template-columns: 1fr auto 1fr;           /* 横並びにする */
  align-items: center;    /* 画像と文字を縦方向の中央にそろえる */
padding: 5%;            /* ちょっと余白を入れる */
}
}
@media(max-width:600px)
{.content{text-align: center;
font-size: 250%;
position: relative;
  padding: 30px;
  z-index:0;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.45);
 }

.content::before{ padding: 30px;
  background-image: url("../images/logo 1.jpg");
background-size: contain;
content: "";  
background-position: center;
 position: absolute;
  inset: 0; /* top, right, bottom, left を0に */
  opacity: 0.15;  /* ←背景画像の透過率（ここを調整） */
  background-repeat: no-repeat;
  z-index: -1;
}}

@media(min-width:601px)
{.content{text-align:center;
font-size:400%;
position: relative;
  padding: 30px;
  z-index: 0;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.45);
}
.content::before{padding: 30px;
  background-image: url("../images/logo 1.jpg");
  content: "";  
background-size: contain;
background-position: center;
 position: absolute;
  inset: 0; /* top, right, bottom, left を0に */
  opacity: 0.15;  /* ←背景画像の透過率（ここを調整） */
z-index: -1;
background-repeat: no-repeat;}}


@media(max-width:600px)
{.jp1{text-align:center;
font-size:150%;}}
@media(min-width:601px)
{.jp1{text-align: center;
font-size: 225%;}}

@media(max-width:600px)
{.coming{text-align: center;
font-size: 200%;}}
@media(min-width:601px)
{.coming{text-align: center;
font-size: 240%;}}

@media(max-width:600px)
{.access{text-align: center;
font-size: 250%;
position: relative;
  padding: 30px;
  z-index:0;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.45);}


.access::before{ padding: 30px;
  background-image: url("../images/logo 1.jpg");
background-size: contain;
content: "";  
background-position: center;
 position: absolute;
  inset: 0; /* top, right, bottom, left を0に */
  opacity: 0.15;  /* ←背景画像の透過率（ここを調整） */
  background-repeat: no-repeat;
  z-index: -1;
}}
@media(min-width:601px)
{.access{text-align: center;
font-size:400%;
position: relative;
  padding: 30px;
  z-index:0;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.45);}


.access::before{ padding: 30px;
  background-image: url("../images/logo 1.jpg");
background-size: contain;
content: "";  
background-position: center;
 position: absolute;
  inset: 0; /* top, right, bottom, left を0に */
  opacity: 0.15;  /* ←背景画像の透過率（ここを調整） */
  background-repeat: no-repeat;
  z-index: -1;
}}

@media(max-width:600px)
{.jp2{text-align: center;
font-size:150%;}}
@media(min-width:601px)
{.jp2{text-align:center;
font-size:225%}}
.map-card {
  display: block;
  max-width: 360px;
  border-radius: 16px;
  background: #1f2f54;
  text-decoration: none;
  color: #fff;
  box-shadow: 0 0 15px #3b2a1a;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  min-height: 30px;
  padding-top: 2px;    /* 上の余白 */
  padding-bottom: 2px; /* 下の余白 */
}

.map-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 0 5px #3b2a1a;
}

  .map-card:active {
    transform: scale(0.97);
    box-shadow: 0 0 15px #3b2a1a;
  }
@media(min-width:601px){.map-text{text-align: center;
font-size:150%;}}
@media(max-width:600px){.map-text{text-align: center;
font-size:100%;}}

@media(min-width:601px){.map-wrapper {
  max-width: 300px;   /* ← 横幅を制限 */
  margin: 40px auto;  /* ← 中央寄せ */
}}
@media(max-width:600px){.map-wrapper{max-width: 200px;   /* ← 横幅を制限 */
  margin: 40px auto;  /* ← 中央寄せ */}}

@media(max-width:400px)
{.jp3{display: block;font-size: 10px;text-align: left;}}
@media(max-width:600px) and (min-width:401px)
{.jp3{display: block;font-size: 50%;text-align: left;}}
@media(max-width:999px) and (min-width:601px)
{.jp3{display: block;font-size:100%;text-align: left;}}
@media(min-width:1000px)
{.jp3{display:block;font-size:150%;text-align: left;}}

@media(max-width:600px)
{.place{text-align: center;
font-size:250%;
position: relative;
  padding: 30px;
  z-index:0;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.45);}
.place::before{ padding: 30px;
  background-image: url("../images/logo 1.jpg");
background-size: contain;
content: "";  
background-position: center;
 position: absolute;
  inset: 0; /* top, right, bottom, left を0に */
  opacity: 0.15;  /* ←背景画像の透過率（ここを調整） */
  background-repeat: no-repeat;
  z-index: -1;
}}
@media(min-width:601px)
{.place{text-align: center;
font-size:400%;
position: relative;
  padding: 30px;
  z-index:0;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.45);}
.place::before{ padding: 30px;
  background-image: url("../images/logo 1.jpg");
background-size: contain;
content: "";  
background-position: center;
 position: absolute;
  inset: 0; /* top, right, bottom, left を0に */
  opacity: 0.15;  /* ←背景画像の透過率（ここを調整） */
  background-repeat: no-repeat;
  z-index: -1;
}}

@media(max-width:600px)
{.jp4{text-align: center;
font-size: 150%;}}
@media(min-width:601px)
{.jp4{text-align: center;
font-size: 225%;}}

@media(max-width:600px)
{.jp5{text-align: center;
font-size:100%;} }
@media(min-width:601px)
{.jp5{text-align: center;
font-size:150%;}}

@media(max-width:600px)
{.jp5-1{text-align: center;
font-size:100%;} }
@media(min-width:601px)
{.jp5-1{text-align: center;
font-size:150%;}}

@media(max-width:600px)
{.hiduke1{text-align: center;
font-size:135%;} }
@media(min-width:601px)
{.hiduke1{text-align: center;
font-size:190%;}}

@media(max-width:600px)
{.hiduke2{text-align: center;
font-size:135%;} }
@media(min-width:601px)
{.hiduke2{text-align: center;
font-size:190%;}}

.ikkatsu1{display: flex;
justify-content: center;

align-items: flex-end;}

.ikkatsu2{display: flex;
justify-content: center;

align-items: flex-end;}

@media(max-width:600px)
{.zikan1{text-align: center;
font-size:100%;} }
@media(min-width:601px)
{.zikan1{text-align: center;
font-size:150%;}}

@media(max-width:600px)
{.zikan2{text-align: center;
font-size:100%;} }
@media(min-width:601px)
{.zikan2{text-align: center;
font-size:150%;}}

@media(max-width:600px)
{.setumei{text-align: center;
font-size:100%;
color: #fff;} }
@media(min-width:601px)
{.setumei{text-align: center;
font-size:150%;
color: #fff}}


@media(max-width:600px)
{.visitors{text-align: center;
font-size: 250%;position: relative;
  padding: 30px;
  z-index:0;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.45);}
.visitors::before{ padding: 30px;
  background-image: url("../images/logo 1.jpg");
background-size: contain;
content: "";  
background-position: center;
 position: absolute;
  inset: 0; /* top, right, bottom, left を0に */
  opacity: 0.1;  /* ←背景画像の透過率（ここを調整） */
  background-repeat: no-repeat;
  z-index: -1;
}}
@media(min-width:601px)
{.visitors{text-align: center;
font-size: 400%;position: relative;
  padding: 30px;
  z-index:0;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.45);}
.visitors::before{ padding: 30px;
  background-image: url("../images/logo 1.jpg");
background-size: contain;
content: "";  
background-position: center;
 position: absolute;
  inset: 0; /* top, right, bottom, left を0に */
  opacity: 0.1;  /* ←背景画像の透過率（ここを調整） */
  background-repeat: no-repeat;
  z-index: -1;
}}

@media(max-width:600px)
{.jp6{text-align: center;
font-size: 150%;}}
@media(min-width:601px)
{.jp6{text-align:center;
font-size: 225%;}}

@media(max-width:600px)
{.jp7{text-align: center
  ;font-size: 100%;
padding-left: 20px;
padding-right: 20px;}}
@media(min-width:601px)
{.jp7{text-align: center;
font-size: 150%;
padding-left: 20px;
padding-right: 20px;}}

.line{margin:0;}

@media(max-width:600px)
{footer{background-color:rgb(227, 214, 194);
height:190px;
margin: 0;}}
@media(max-width:1000px) and (min-width:601px)
{footer{background-color:rgb(227, 214, 194);
margin:0;
height:300px;}}
@media(min-width:1001px)
{footer{background-color:rgb(227, 214, 194);
margin: 0;
height:300px}}

.rikoten:hover {
  transform: translateY(-4px);
  transition: transform 0.2s ease;
}
 
  .rikoten:active {
    transform: scale(0.97);
    transition: transform 0.2s ease;
 }

@media(max-width:600px)
{.rikoten{width:140px;
height:105px;
float: left;
margin-left: 10px;
box-shadow: 0 0 20px #7a6a58;
}
}
@media(max-width:1000px) and (min-width:601px)
{.rikoten{width:240px;
height:180px;
float: left;
margin-left: 15px;
box-shadow: 0 0 20px #7a6a58;
}}
@media(min-width:1001px)
{.rikoten{width:300px;
height:225px;
float: left;
margin-left: 30px;
box-shadow: 0 0 20px #7a6a58;
}}

.kousiki:hover {
  transform: translateY(-4px);
transition: transform 0.2s ease;}

  .kousiki:active {
    transform: scale(0.97);
  transition: transform 0.2s ease;}

@media(max-width:600px)
{.kousiki{width:140px;
height:105px;
float: right;
margin-right: 10px;
box-shadow: 0 0 20px #7a6a58;}}
@media(max-width:1000px) and (min-width:601px)
{.kousiki{width:240px;
height:180px;
float: right;
margin-right: 15px;
box-shadow: 0 0 20px #7a6a58;}}
@media(min-width:1001px)
{.kousiki{width:300px;
  height:225px;
float: right;
margin-right: 30px;
box-shadow: 0 0 20px #7a6a58;}}

.apuri{filter: drop-shadow(20px 20px 10px rgba(0,0,0,.5));}

.nanimonai{clear: both;}

@media(max-width:600px)
{.copyright{text-align: center;
font-size: small;}}
@media(min-width:601px)
{.copyright{text-align: center;
font-size:medium;}}

img{border: none;
display: block;}
#content1{opacity: 0;
  transition: opacity 1s ease;}
#content1.show{opacity: 1;}
#animation{position: fixed;
  inset: 0; /* top, right, bottom, leftを全部0にする */
  display: flex;
  justify-content: center; /* 横方向の中央寄せ */
  align-items: center;     /* 縦方向の中央寄せ */}
#animation.fade-out{opacity:0;
transition: opacity 1s ease;}