@charset "UTF-8";
body { background-size: cover; background-position: center; background-attachment: fixed; }

body::before { position: fixed; top: 0; left: 0; z-index: -1; width: 100vw; height: 100vh; background-image: url("../../images/event/kamishihoro-fes2025/body-bg.png"); background-repeat: no-repeat; -webkit-background-size: cover; background-size: cover; content: ""; }

img { max-width: 100% !important; height: auto; }

.container-mxw-lg { max-width: 992px; }

.lp-body { overflow: hidden; }

/*========= スマホナビ ===============*/
#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; }

/*========= ボタンのためのCSS ===============*/
.openbtn { position: fixed; z-index: 9999; /*ボタンを最前面に*/ bottom: 10px; left: 10px; cursor: pointer; width: 50px; height: 50px; background-color: rgba(0, 0, 0, 0.5); }

/*×に変化*/
.openbtn span { display: inline-block; transition: all 0.4s; position: absolute; left: 14px; height: 3px; border-radius: 2px; background-color: #fff; width: 45%; }

.openbtn span:nth-of-type(1) { top: 15px; }

.openbtn span:nth-of-type(2) { top: 23px; }

.openbtn span:nth-of-type(3) { top: 31px; }

.openbtn.active span:nth-of-type(1) { top: 18px; left: 18px; transform: translateY(6px) rotate(-45deg); width: 30%; }

.openbtn.active span:nth-of-type(2) { opacity: 0; }

.openbtn.active span:nth-of-type(3) { top: 30px; left: 18px; transform: translateY(-6px) rotate(45deg); width: 30%; }

.lp-header { position: relative; overflow: hidden; }

.lp-header .container-fluid { position: relative; text-align: center; }

.lp-header img { width: 100%; height: 100svh; object-fit: contain; }

#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: #0075c2; }

#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); } }

.lp-header-sm { min-height: 240px; position: relative; }

.lp-header-sm .main-catch { position: absolute; left: 50%; top: 50%; max-width: 240px; transform: translate(-50%, -50%); }

.bl-date { background-color: rgba(0, 0, 0, 0.3); border-radius: 9999px; border: solid 1px #fff; padding: 0 20px; text-align: center; }

.section { padding-top: 3rem; padding-bottom: 3rem; padding-left: 1rem; padding-right: 1rem; }

.bg-main { background-color: #e7310e; }

.bg-sub { background-color: #0075c2; }

.bg-accent { background-color: #ffda00; }

.bg-w25 { background-color: rgba(255, 255, 255, 0.25); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }

.bg-b50 { background-color: rgba(0, 0, 0, 0.5); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }

.bg-b75 { background-color: rgba(0, 0, 0, 0.75); }

.bg-main50 { background-color: rgba(231, 49, 14, 0.5); }

.bg-main80 { background-color: rgba(231, 49, 14, 0.8); color: #fff; }

.bg-sub80 { background-color: rgba(0, 117, 194, 0.8); color: #000; }

.bg-accent80 { background-color: rgba(255, 218, 0, 0.8); margin: 0; padding: 0; }

.bg-accent80 h3 { margin: 1.5rem 0 0; }

.bg-accent80 p { margin: 1.5rem; }

.badge-num { font-size: 1.2rem; background: #0075c2; margin-right: 10px; box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5); padding: 0.2em 0.4em; }

.ttl-q { position: relative; padding-left: 1.5em; }

.ttl-q .lm-q { position: absolute; left: 0; top: 0; }

.fukidashi { position: relative; padding: 0.5em 0.75em; background-color: #fff; border: 1px solid #ccc; border-radius: 6px; }

.fukidashi.bl::before, .fukidashi.bl::after { position: absolute; top: 100%; left: 30px; content: ""; height: 0; width: 0; border: 10px solid transparent; }

.fukidashi.bl::before { border-top: 15px solid #ccc; }

.fukidashi.bl::after { margin-top: -2px; border-top: 15px solid #fff; }

.lp-footer { background-color: #e7310e; }

.lp-footer a { color: #fff; }

.table-schedule img { height: 90vh; width: auto !important; max-width: 1600px !important; }

.list-lm { list-style: none; padding-left: 0; }

.list-lm li { position: relative; padding-left: 2em; }

.list-lm li .lm { position: absolute; left: 0; top: 0; }

.btn { border-radius: 5px; padding: 1em 1.5em; border: none; }

.btn::after { display: none; }

.btn[href$=".pdf"] { padding-right: calc(1.5em + 1em); }

.btn[href$=".pdf"]::after { right: auto; transition: all 0.5s; }

.btn[href$=".pdf"]:hover::after { margin-left: 0.5em; }

.btn.btn-accordion span { display: inline-flex; justify-content: center; }

.btn .accordion_is_close, .btn .accordion_is_open { width: 4em; }

.btn[aria-expanded="true"] .accordion_is_close { display: none; }

.btn[aria-expanded="false"] .accordion_is_open { display: none; }

.btn-sub { color: #fff; background-color: #0075c2; border-color: #0075c2; }

.btn-warning { color: #000; background-color: #ffc107; border-color: #ffc107; }

.btn-success { color: #fff; background-color: #28a745; border-color: #28a745; }

.btn-success:focus { color: #fff; background-color: #28a745; border-color: #28a745; box-shadow: none; }

.accordion img { width: 90%; }

.table-schedule a:hover img { filter: none; }

.sns_link:hover { background: #ffda00; color: white; }

.sns_link:hover .position-absolute { opacity: 0; }

.weblink-list { padding-left: 0; margin-bottom: 0; }

.weblink-list li { text-align: center; }

.weblink-list img { width: 40px !important; }

.card dt { margin-bottom: 5px; }

.sct-card { border-radius: 1rem; padding: 2rem 0.5rem 1rem; position: relative; border: solid 3px #00446d; box-shadow: 5px 5px 0 #00446d; }

.sct-card h2 { margin-bottom: 0.5rem; }

.sct-card h2 img { max-height: 50px; }

.sct-card h3 { margin-top: 0; margin-bottom: 0.5rem; }

.sct-card h3 img { max-height: 40px; }

.sct-card .card-catch { position: absolute; left: -10px; top: -20px; }

.sct-card .card-catch img { height: 40px; width: auto; filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.5)); }

.sct-card .card-place { color: #fff; font-weight: bold; margin-bottom: 0.5rem; }

.sct-card .icn-map { position: absolute; right: 0; top: -20px; }

.sct-card .icn-map img { width: 40px; height: auto; }

.sct-card .card-inner { background-color: #fff; border-radius: 1rem; padding: 1.5rem; }

.sct-card-1 { background-color: #ec6d47; }

.sct-card-1 .lm-list .lm { color: #ec6d47; }

.sct-card-2 { background-color: #26b37a; }

.sct-card-2 .lm-list .lm { color: #26b37a; }

.sct-card-3 { background-color: #f29319; }

.sct-card-3 .lm-list .lm { color: #f29319; }

.sct-card-4 { background-color: #aacc03; }

.sct-card-4 .lm-list .lm { color: #aacc03; }

.sct-card-5 { background-color: #fff; }

.sct-card-5 .card-place { color: #00446d; }

.sct-card-6 { background-color: #f29319; }

.sct-card-6 .lm { color: #f29319; }

.sct-card-6 .portrait { width: 200px; }

.sct-card-7 { background-color: #2aaee5; }

.sct-card-7 .lm { color: #2aaee5; }

.sct-card-8 { background-color: #187fc3; }

.sct-card-8 .lm { color: #187fc3; }

.material-icons { vertical-align: -0.2em; }

.el_baloon_left { display: none; }

.el_baloon_left img { width: 100%; height: auto; }

.el_baloon_right { display: none; }

.el_baloon_right img { width: 100%; height: auto; }

@keyframes el_baloon_updown { 0% { /* 基準のtransform値 */
    transform: translate(-50%, -15px); }
  50% { /* 基準からさらに10px上に移動したtransform値 */
    transform: translate(-50%, -25px); }
  100% { /* 基準のtransform値に戻る */
    transform: translate(-50%, -15px); } }

@media screen and (min-width: 768px) { #g-nav { display: none; } .openbtn { display: none; } .badge-num { font-size: 2rem; } .weblink-list img { width: 60px !important; } .sct-card h2 { text-align: center; } .sct-card .icn-map img { width: 60px; } }

@media screen and (min-width: 992px) { .lp-header img { height: 100%; } #gnav { display: block; z-index: 9999999999; } .lg-lead { font-size: 1.25rem; font-weight: 300; } .section { padding-left: 2rem; padding-right: 2rem; } .table-schedule img { max-width: 100% !important; height: auto !important; } }

@media screen and (min-width: 1200px) { .sct-card { padding-top: 3rem; } .sct-card h2 img { max-height: 70px; } .sct-card .card-catch img { height: 60px; } .sct-card-7 .sct7-txt { width: 500px; } }

@media screen and (min-width: 1400px) { .el_baloon_left { display: block; width: 180px; position: fixed; left: 60px; top: 30%; animation: el_baloon_updown 2s ease-in-out infinite; } .el_baloon_right { display: block; width: 120px; position: fixed; right: 0px; top: 60%; animation: el_baloon_updown 2s ease-in-out infinite; } }
