@charset "UTF-8";

body {
    background: url(https://himeji-shirahama-kanko.jp/wp/wp-content/themes/reborn/img/back.webp);
}

h1, h2, h3, h4, h5 {
   font-family: "游明朝 Light", "Yu Mincho Light", "YuMincho Medium", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif; 
    font-weight: 100;
}
section h2 {
    font-size: 33px;
    margin-bottom: 30px;
}


/*header*/
header#masthead h1 {
    position: fixed;
    left: 25px;
    top: 20px;
    z-index: 99999;
}
/* ロゴの通常状態 */
.header-logo {
  transition: opacity 0.3s ease, transform 0.3s ease;
  opacity: 1;
  transform: scale(1);
  transform-origin: center center;
}

/* スクロール時の状態 */
.header-logo.scrolled {
  opacity: 0.6;      /* 半透明に */
  transform: scale(0.85); /* 少し小さく */
}

/*header*/

/*cotent*/
/*.sec00 {
    background: url(https://himeji-shirahama-kanko.jp/wp/wp-content/themes/reborn/img/main01.webp);
    background-size: cover;
    height: 780px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
}*/

/* ▼ パララックスを効かせるために固定しない */
.sec00 {
    position: relative;
    height: 780px;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
}

/* ▼ 動かす背景レイヤー（新規追加） */
.sec00::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 120%; /* ズームのため少し大きめ */
    background: url(https://himeji-shirahama-kanko.jp/wp/wp-content/themes/reborn/img/main01.webp) center/cover no-repeat;
    transform: translateY(0) scale(1.1); /* 初期ズーム */
    transition: transform 0.1s linear;
    will-change: transform;
    transform: translateY(var(--moveY, 0)) scale(var(--scale, 1.1));
}


/* テキストは上に表示 */
.sec00 > * {
    position: relative;
    z-index: 2;
}


.sec00 h1 {
    letter-spacing: 5px;
    font-weight: 100;
font-size: 250%;
}
.sec00 h1 span {
    font-size: 80%;
    letter-spacing: 2px;
}

.tate {
    width: 500px;
    margin: 60px auto;
    writing-mode: vertical-rl;
}
.tate h2 {
}
.tate p {
    line-height: 2.5;
    margin-right: 40px;
    letter-spacing: 2px;
}
/* スライダー全体 */
.slider-wrapper {
    display: flex;
    overflow: hidden;
    width: 100%;
    border-bottom: 1px solid #3f3e27;
    padding-bottom: 10px;
}
/* スライド3枚のグループ */
.slider {
  animation: scroll-left 30s infinite linear .5s both;
  display: flex; /* スライド3枚を横並び */
}
/* スライド */
.slide {
  width: calc(100vw / 4); /* 3はスライドの枚数かつ大きさ */
}
/* スライドの画像 */
.slide img {
  display: block;
  width: 98%;
}
/* CSSアニメーション */
@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
/* hover(マウスオーバー)で拡大 */
.slide {
  cursor: pointer;
  overflow: hidden;
}
.slide img {
  transition: transform 0.4s;
}
.slide:hover img {
  transform: scale(1.1);
}
/* スライダー全体 */


section.sec02 {
    background: #ECE1CC;
    margin: 50px 0;
}
.inner {
    width: 800px;
    margin: 0px auto;
    padding: 50px 0;
}
section.sec02 {
    background: #ECE1CC;
    margin: 50px 0 0;
}
h3.eng {
    font-size: 20px;
    letter-spacing: 6px;
    color: #fffbf5;
    margin: -30px 0 30px 0;
}
/* 1文字ずつアニメする span */
[data-smoke] .char {
  opacity: 0;
  display: inline-block;
  transform: translateY(20px);
  animation: fadeUp 0.6s forwards ease-out;
}

/* まだ発火前は絶対に動かさない */
[data-smoke].waiting .char {
  animation: none !important;
  opacity: 0 !important;
  transform: translateY(20px) !important;
}

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/*アニメ↑*/
ul.mado {
    display: flex;
    margin: 50px 10px;
}
li.mado1 {
    margin: 60px 30px 0;
}

/* ----- スクロールに合わせて動かす土台 ----- */
.mado li {
  overflow: hidden;
}

.mado li img {
  width: 100%;
  transform-origin: center center;
  transform: scale(1.08) translateY(0);
  will-change: transform; /* スクロール時のカクカク防止 */
}



.enjoy {
    display: flex;
    flex-wrap: wrap;
}
.event {
    width: 29%;
    margin: 2%;
}
.event img {
    width: 100%;
    height: 155px;
    object-fit: cover;
}
.shirushi {
    margin: 0 0 5px;
    display: inline-block;
    background: rgba(0, 0, 0, 1);
    font-size: 80%;
    padding: 0.5% 2%;
    color: white;
}
.event h3 {
    font-size: 17px;
    font-weight: 700;
    overflow: hidden;
}
.day {
    font-size: 80%;
}
.hon {
    font-size: 90%;
}
.yotei {
    background: #547777;
}
/**
.sche {
    background: linear-gradient(to bottom, #ffffff00 0% 36%, #000 36% calc(36% + 1px), #ffffff00 calc(36% + 1px) 100%);
}

.sche ul {
    display: flex;
    flex-wrap: wrap;
    width: 800px;
    margin: 0 auto;
}
.sche ul li {
    text-align: center;
    width: 12%;
    margin: 1%;
}
.sche ul li .maru {
    font-size: 40px;
    font-weight: 100;
}
/**/

/* sche 全体 */
.sche {
    position: relative;
    background: #ECE1CC;
    padding: 60px 0 80px;
}

/* UL */
.sche ul {
    display: flex;
    flex-wrap: wrap;
    width: 900px;
    margin: 0 auto;
    position: relative;
}

/* 行ごとの横線（JavaScript で追加される） */
.sche .line-row {
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
background: #404040;
    z-index: 1;
}

/* LI（1項目） */
.sche ul li {
    width: 12%;
    margin: 1%;
    text-align: center;
    position: relative;
}

/* 日付 */
.sche .nittei {
    margin-bottom: 0px;
}
.sche ul li .maru {
    font-size: 40px;
    font-weight: 100;
}

/* タイトル */
.sche .shtitle {
    margin-top: 45px;
    font-size: 12px;
    line-height: 1.4;
}
/* sche 全体 */

section.sec03 {
    background: #547766;
    color: white;
}


footer {
    text-align: center;
    padding: 50px;
}
footer h2 {
    margin: 20px;
}

/**/
.bloinner {
    width: 800px;
    margin: 150px auto;
}
section.blosec01 {
    border-bottom: 1px solid #404040;
    padding-bottom: 30px;
    margin-bottom: 40px;
}
section.blosec01 span {
    font-size: 50%;
}
.blocon2 {
    margin-top: 60px;
}

li.evlist {
    border-bottom: 1px solid #404040;
    padding: 0 0 30px;
    margin-bottom: 50px;
}
li.evlist span {
    display: inline-block;
    width: 12%;
}
/**/

.sche p {
    font-size: 80%;
}
.owari {
    background: #9685a7;
}

.nav-links div a {
    border: 1px gray dashed;
    padding: 2px 6px;
    border-radius: 10px;
}

.sbi_feedtheme_header_text {
    color: white;
}
ul.uminoinsta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

ul.uminoinsta li {
    width: 90%;
    margin: 20px auto 0;
    display: block;
    text-align: center;
    font-size: 110%;
    line-height: 1.2;
}
ul.uminoinsta li span {
    font-size: 80%;
}
ul.uminoinsta li a {
    display: block;
    border: 1px solid white;
    color: white;
    border-radius: 30px;
    padding: 5px 0;
}
ul.uminoinsta li a:hover {
    background: #8dd1b5;
transition-duration: 0.8s;
}