@charset "UTF-8";
/*========= スマホナビ ===============*/
.btn { display: block; width: fit-content; min-width: 280px; }

#g-nav { /*position:fixed;にし、z-indexの数値を大きくして前面へ*/ position: fixed; z-index: 999; /*ナビのスタート位置と形状*/ top: 0; left: -120%; width: 100%; height: 100vh; /*ナビの高さ*/ background: #999; /*動き*/ transition: all 0.6s; }

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive { left: 0; }

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list { /*ナビの数が増えた場合縦スクロール*/ position: fixed; z-index: 999; width: 100%; height: 100vh; /*表示する高さ*/ overflow: auto; -webkit-overflow-scrolling: touch; }

/*ナビゲーション*/
#g-nav ul { /*ナビゲーション天地中央揃え*/ position: absolute; z-index: 999; top: 50%; left: 50%; transform: translate(-50%, -50%); }

/*リストのレイアウト設定*/
#g-nav li { list-style: none; text-align: center; white-space: nowrap; }

#g-nav li a { color: #333; text-decoration: none; padding: 10px; display: block; text-transform: uppercase; letter-spacing: 0.1em; font-weight: bold; }

#gnav { background-color: #fff; position: fixed; left: 0; right: 0; bottom: 0; display: none; }

#gnav ul.nav { display: none; display: flex; margin: 0; font-size: 1em; }

#gnav li.nav-item { flex-grow: 1; margin: 0; transition: 0.25s; }

#gnav li.nav-item:has(a.nav-link:hover) { background-color: #73b2ee; }

#gnav li.nav-item:has(a.nav-link:hover) a.nav-link { color: #fff; }

#gnav a.nav-link { color: #000; height: 2lh; display: flex; justify-content: center; align-items: center; padding: 0; }

.scrolled #gnav { left: 0; right: 0; top: 0; bottom: auto; z-index: 100; opacity: 0; }

/*　上に上がる動き　*/
#gnav.UpMove { position: fixed; width: 100%; animation: UpAnime 0.5s forwards; }

@keyframes UpAnime { from { opacity: 1;
    transform: translateY(0); }
  to { opacity: 0;
    transform: translateY(-100px); } }

/*　下に下がる動き　*/
#gnav.DownMove { position: fixed; width: 100%; animation: DownAnime 0.5s forwards; }

@keyframes DownAnime { from { opacity: 0;
    transform: translateY(-100px); }
  to { opacity: 1;
    transform: translateY(0); } }

body::before { position: fixed; top: 0; left: 0; z-index: -1; width: 100vw; height: 100vh; background-repeat: no-repeat; background-blend-mode: normal; content: ""; background-position: center; background-size: auto 100%; -webkit-background-size: cover; background-size: cover; background-repeat: repeat; background-size: 15vw; background-image: url(../../images/event/shintoku-shinsoba2025/bg2.png), url(../../images/event/shintoku-shinsoba2025/bg1.png); }

.shinsoba2025 p { font-size: clamp(0.875rem, 0.4063rem + 1.5vw, 1.25rem); }

.shinsoba2025 ul { font-size: clamp(0.875rem, 0.4063rem + 1.5vw, 1.25rem); }

.shinsoba2025 * { text-decoration: none; }

.shinsoba2025 .w-1600 { max-width: 1600px; }

.shinsoba2025 .w-1000 { max-width: 1000px; }

.shinsoba2025 .w-800 { max-width: 800px; }

.shinsoba2025 .btn-blk { display: block; color: white; font-weight: bold; background-color: black; text-decoration: none; padding: 15px 25px; text-align: center; padding-right: 35px; width: fit-content; min-width: 200px; position: relative; top: 0; border-radius: 50px; transition: all 0.2s; box-shadow: 3px 3px 3px #808080; }

.shinsoba2025 .btn-blk:after { content: ""; width: 10px; height: 10px; border-right: 2px solid white; border-top: 2px solid white; transform: rotate(45deg); position: absolute; top: 0; bottom: 0; right: 25px; display: block; margin: auto; transition: all 0.2s; }

.shinsoba2025 .btn-blk:hover { top: 2px; }

.shinsoba2025 .btn-blk:hover:after { right: 20px; }

.shinsoba2025 .btn-blk2 { display: block; color: white; font-weight: bold; background-color: black; text-decoration: none; padding: 15px 25px; text-align: center; width: fit-content; min-width: 200px; position: relative; top: 0; border-radius: 50px; transition: all 0.2s; box-shadow: 3px 3px 3px #808080; }

.shinsoba2025 .btn-blk2:after { content: ""; width: 10px; height: 10px; border-right: 2px solid #fff; border-top: 2px solid #fff; transform: rotate(135deg); position: absolute; bottom: 8px; right: 50%; left: 50%; display: block; margin: auto; transition: all 0.2s; }

.shinsoba2025 .btn-blk2:hover { top: 2px; }

.shinsoba2025 .btn-blk2:hover:after { bottom: 4px; }

.shinsoba2025 .btn-blk3 { display: block; color: white; font-weight: bold; background-color: black; text-decoration: none; padding: 2px 10px; text-align: center; padding-right: 35px; width: fit-content; position: relative; top: 0; transition: all 0.2s; box-shadow: 3px 3px 3px #808080; }

.shinsoba2025 .btn-blk3:after { content: ""; width: 10px; height: 10px; border-right: 2px solid white; border-top: 2px solid white; transform: rotate(45deg); position: absolute; top: 0; bottom: 0; right: 25px; display: block; margin: auto; transition: all 0.2s; }

.shinsoba2025 .btn-blk3:hover { top: 2px; }

.shinsoba2025 .btn-blk3:hover:after { right: 20px; }

.shinsoba2025 .bgw { background-color: #fafafaeb; background-image: url(../../images/event/shintoku-shinsoba2025/wave.webp); margin: 50px auto; border-radius: 16px; border: solid 3px; background-repeat: no-repeat; background-position-x: -30%; background-position-y: calc(top + -10%); background-size: 50%; }

.shinsoba2025 .ttl-adj1 { max-height: 2.5rem; }

.shinsoba2025 .sct1 .gmap .map-ttl { font-weight: 700; text-align: center; background-color: #bc5939; color: #fff; width: 100%; margin-bottom: 0; border-radius: 10px 10px 0 0; font-size: 20px; }

.shinsoba2025 .sct1 .gmap .map-frame { border-radius: 0 0 10px 10px; border: solid 2px #bc5939 !important; width: 100%; }

.shinsoba2025 .sct2 .red-ttl { background: #af3834; padding: 5px 10px; width: 100%; border-radius: 50px; box-shadow: 0px 5px 0px #000; }

.shinsoba2025 .sct2 .red-ttl img { margin: auto; display: block; }

.shinsoba2025 .sct2 .cards { max-width: 1600px; }

.shinsoba2025 .sct2 .card-wrp { padding: 5px; display: flex; flex-direction: column; }

.shinsoba2025 .sct2 .card-wrp h4 { margin: 0; font-size: clamp(1rem, 0.5313rem + 1.5vw, 1.375rem); }

.shinsoba2025 .sct2 .card-wrp p { margin: 0; }

.shinsoba2025 .sct2 .card-wrp .grow { flex-grow: 1; }

.shinsoba2025 .sct2 .card-wrp .tag { border-radius: 50px; font-size: 12px; width: fit-content; color: #af3834; padding: 2px 5px; margin: 2px; border: solid 1px #af3834; }

.shinsoba2025 .sct2 .bg { background-color: white; padding: 30px 5px; }

.shinsoba2025 .sct2 table { margin: auto; border-collapse: collapse; }

.shinsoba2025 .sct2 thead th { font-weight: bold; }

.shinsoba2025 .sct2 tr { border-bottom: 1px solid #333; }

.shinsoba2025 .sct2 td { max-width: 500px; padding: 5px; }

.shinsoba2025 .sct3 h2 { margin: 30px 0; border-top: #af3834 solid 10px; border-bottom: #af3834 solid 10px; padding: 10px 0; }

.shinsoba2025 .sct3 h2 img { display: block; margin: auto; }

.shinsoba2025 .sct3 .mc .tag { color: white; border-radius: 50px; background-color: #000; padding: 2px 10px; font-weight: bold; }

.shinsoba2025 .sct3 .mc img { border-radius: 10px; max-width: 220px; }

.shinsoba2025 .sct3 .ttl { max-height: 3rem; }

.shinsoba2025 .sct3 .round { border-radius: 16px; }

.shinsoba2025 .sct3 .topics img { max-height: 60vw; display: block; margin: auto; }

.shinsoba2025 .sct3 .rule { list-style-type: decimal; }

.shinsoba2025 .sct3 .rule .red { color: #af3834; }

.shinsoba2025 .modal-content { max-width: 1000px; margin: auto; text-align: center; display: inline-block; }

.shinsoba2025 .thumbnail-img { cursor: pointer; }

.shinsoba2025 .visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); /* 古いブラウザ互換 */ clip-path: inset(50%); /* 新しいブラウザ向け */ white-space: nowrap; /* 改行で見えるのを防ぐ */ border: 0; }

footer { background: black !important; color: white !important; }

@media screen and (min-width: 768px) { #g-nav { display: none; } }

@media screen and (min-width: 992px) { #gnav { display: block; z-index: 9999999999; } }
