:root {  --dac-red: #c62828;  --dac-red-dark: #ffffff;  --loader-size: 10vw;  --loader-min-size: 40px;}.bg-dac-red {    background-color: var(--dac-red) !important;}/* タイトル */h1 {    font-family: "RocknRoll One", sans-serif;    font-weight: 400;    font-style: normal;    font-size: clamp(20px, 7vw, 40px);    color: #292323;    text-shadow: 2px 2px 0 #efefef, -2px -2px 0 #efefef,    -2px 2px 0 #efefef, 2px -2px 0 #efefef,    0px 2px 0 #efefef, 0 -2px 0 #efefef,    -2px 0 0 #efefef, 2px 0 0 #efefef;}h2 {    font-family: "RocknRoll One", sans-serif;    font-weight: 400;    font-style: normal;    font-size: clamp(16px, 6vw, 32px);}h3 {    font-family: "RocknRoll One", sans-serif;    font-weight: 400;    font-style: normal;    font-size: clamp(14px, 5vw, 28px);}h4 {    font-family: "Zen Maru Gothic", sans-serif;    font-weight: 700;    font-style: normal;    font-size: clamp(12px, 4vw, 24px);}h5 {    font-size: clamp(10px, 3.5vw, 20px);}h6 {    font-size: clamp(8px, 3vw, 16px);}/* p */p {    font-family: "Kosugi Maru", sans-serif;    font-weight: 500;    font-style: normal;    font-size: clamp(7px, 3.5vw, 18px);}.section {    position: relative;    opacity: 0;    transform: translateY(30px);    transition: all 0.8s ease-out;    padding-top: 1rem;    padding-bottom: 1rem;}@media (min-width: 576px) {    .section {        padding-top: 2rem;        padding-bottom: 2rem;    }}@media (max-width: 768px) {    .section {        padding-top: 1rem;        padding-bottom: 1rem;    }}.section.show {    opacity: 1;    transform: translateY(0);}.custom-container {    max-width: 100%;    padding: 0 2rem;}.image-row {    display: flex;    justify-content: space-between;    gap: 1rem;}.image-row img {    width: 20%;    height: auto;    max-width: 20%;    flex: 1 1 0;    object-fit: contain;}.image-controller {    width: 50%;    height: auto;    max-width: 45%;    padding: 1rem;    margin: 0 auto;}/*ヘッダー*/header {    position: relative;    width: 100%;    display: flex;    align-items: center;    justify-content: space-between;    box-sizing: border-box;    z-index: 1000;}#header-container {    width: 100%;    text-align: center;    background-color: #fff;}#header-img {    height: clamp(15px, 5vw, 60px);    width: auto;    max-width: 100%;    object-fit: contain;    display: block;}body:not(.loaded) .main-content {    display: none;}/* フッター */footer {    width: 100%;    background-color: var(--dac-red);    text-align: center;    align-items: center;    padding-top: 10px;    padding-bottom: 10px;    z-index: 1000;    font-size: 0.9rem;    color: #fff;}.section:last-of-type {    margin-bottom: 2rem;}/* アニメ中に非表示にする全体ラッパー */body.dac-intro-active #dacPageContent {    display: none !important;}/* ホバー時の拡大アニメーション */.square-img-container img:hover {    transform: scale(1.05);    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);}.square-img-container img {    transition: transform 0.4s ease, box-shadow 0.4s ease;}/* リストグループ修正 */.list-group {    display: flex;    flex-direction: column;    align-items: center;}.list-group-item {    padding-top: 10px;    padding-bottom: 10px;    align-items: center;    border-right: none;    border-left: none;    color: #007bff;    text-decoration: underline;}.list-group-item h5 {    margin-bottom: 0;}.no-border {  border: none !important;  /*box-shadow: none !important; !* 影も消したい場合 *!*/}.info-list {    margin: 0;    padding: 0;}.info-list div {    display: flex;    margin-bottom: 4px;}.info-list dt {    width: 6em;    font-weight: bold;}.info-list dd {    margin: 0;}.modal {    z-index: 1055 !important;}.modal-backdrop {    z-index: 1040 !important;}/* カード内で横スクロールさせるための補助 */.card .table-responsive {    overflow-x: auto;               /* 横スクロールを有効に */    -webkit-overflow-scrolling: touch; /* スワイプでなめらかに */}/* DataTables のスクロールラッパの微調整（必要なら） */.dataTables_scrollHeadInner,.dataTables_scrollBody {    box-sizing: border-box;}#session-table {    width: 100% !important;}/* セルの折り返しを禁止して1行にする */#session-table th,#session-table td {    white-space: nowrap;     /* 折り返さない */}/* 全画面対応の DataTables ページネーション赤（枠線はデフォルトグレー） */.dataTables_wrapper .dataTables_paginate .page-item.active .page-link,.dataTables_wrapper .dataTables_paginate .page-item.active .page-link:focus,.dataTables_wrapper .dataTables_paginate .page-item.active .page-link:hover {    background-color: #dc3545 !important; /* 赤 */    border-color: #dee2e6 !important;    /* デフォルトグレー */    color: #ffffff !important;}.dataTables_wrapper .dataTables_paginate .page-link,.dataTables_wrapper .dataTables_paginate .page-link:focus,.dataTables_wrapper .dataTables_paginate .page-link:hover {    color: #dc3545 !important;           /* 未選択リンクも赤 */    background-color: transparent !important;    border-color: #dee2e6 !important;    /* 枠線はグレー */}/* モバイル用も強制 */@media (max-width: 768px) {    .dataTables_wrapper .dataTables_paginate .page-item.active .page-link,    .dataTables_wrapper .dataTables_paginate .page-item.active .page-link:focus,    .dataTables_wrapper .dataTables_paginate .page-item.active .page-link:hover {        background-color: #dc3545 !important;        border-color: #dee2e6 !important; /* グレー固定 */        color: #ffffff !important;    }    .dataTables_wrapper .dataTables_paginate .page-link,    .dataTables_wrapper .dataTables_paginate .page-link:focus,    .dataTables_wrapper .dataTables_paginate .page-link:hover {        color: #dc3545 !important;        border-color: #dee2e6 !important; /* グレー固定 */    }}img {  pointer-events: none;}/* DACローダーコンテナ */.dac-loader {  display: none;}.dac-loader.animate {  display: block;  position: relative;  top: 50%;  left: 50%;  transform: translate(-50%, -50%);  width: clamp(var(--loader-min-size), var(--loader-size), 150px);  height: clamp(var(--loader-min-size), var(--loader-size), 150px);  z-index: 9999;  pointer-events: none;  animation: dacIntroFull 2s ease forwards;  transform-origin: center;}/* ロゴ画像 */.dac-loader.animate img {  width: 100px;  height: 100px;  object-fit: contain;  position: absolute;  top: 50%;  left: 50%;  transform: translate(-50%, -50%);  transform-origin: center;}.dac-loader.animate img.shake {  animation: shakeImpact 0.2s ease-in-out 0.2s;}@keyframes dacIntroFull {  0% {    opacity: 0;    transform: translate(-50%, -50%) scale(8) rotate(0deg);  }  10% {    opacity: 1;    transform: translate(-50%, -50%) scale(1.5) rotate(0deg);  }  50% {    transform: translate(-50%, -50%) scale(1.5) rotate(0deg);  }  65% {    transform: translate(-50%, -50%) scale(1.5) rotate(360deg);  }  75% {    opacity: 1;    transform: translate(-50%, -50%) scale(1.5) rotate(360deg);  }  90% {    opacity: 0;    transform: translate(-50%, -50%) scale(2.5) rotate(360deg);  }  100% {    opacity: 0;    transform: translate(-50%, -50%) scale(2.5) rotate(360deg);  }}@keyframes shakeImpact {  0%   { transform: translate(-50%, -50%) rotate(0deg); }  20%  { transform: translate(-50%, -50%) rotate(5deg); }  40%  { transform: translate(-50%, -50%) rotate(-5deg); }  60%  { transform: translate(-50%, -50%) rotate(3deg); }  80%  { transform: translate(-50%, -50%) rotate(-3deg); }  100% { transform: translate(-50%, -50%) rotate(0deg); }}/* ナビバー関連 */#nav-container {  position: fixed;  left: 0;  width: 100%;  padding-bottom: 2rem;  z-index: 1010;  transition: transform 0.3s ease-in-out;}.navbar-toggler-icon {  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='white' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");}.navbar-toggler-text {  color: white;}.navbar-dac {  background-color: var(--dac-red);}.navbar-dac .nav-link {  color: #fff !important;  transition: color 0.3s ease;}.navbar-dac .nav-link:hover,.navbar-dac .nav-link.active,.navbar-dac .nav-link:focus {  color: #000 !important;  background-color: var(--dac-red-dark);  border-radius: 0.25rem;}.nav-alignment {  justify-content: center;  text-align: center;  width: 100%;}.offcanvas-header {  background-color: var(--dac-red);  color: #fff;}.offcanvas-header .btn-close {  filter: invert(1);}.offcanvas-body a {  color: var(--dac-red);}.offcanvas-body a:hover {  text-decoration: underline;}/*カード*/.card {  display: flex;  flex-direction: column;  align-items: stretch;  margin: 0 auto;  border: none;  background-color: #ffffff;  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);  overflow: hidden;  opacity: 0.9;}.card-title {  padding-bottom: 1rem;  display: flex;  flex-direction: column;  align-items: stretch;}.card-img {  margin: 0 auto 1rem;  object-fit: contain;  width: 100%;  height: auto;}.card p {  font-family: "M PLUS Rounded 1c", sans-serif;  font-weight: 500;  font-style: normal;  margin-bottom: 0.5rem;}@media (min-width: 768px) {  .card {    flex-direction: column;    align-items: stretch;    text-align: left;  }  .card-img {    margin: 0 auto 1rem;    object-fit: contain;    width: 100%;    height: auto;  }  .card-comment {    flex: 1;  }}/* PC・タブレットで中央寄せ */@media (min-width: 576px) {  .intro-center {    text-align: center;  }}/* カード内 左右のボックス設定 */.info-box {  flex: 0 0 40%;  min-width: 250px;  height: 100%;}.map-box {  flex: 1;  position: relative;  width: 100%;  min-height: 300px;  max-height: 100%; /* オーバー防止 */  padding: 0; /* 余計な余白防止 */}.map-container {  position: relative;  top: 0;  left: 0;  width: 100%;  height: 100%;  min-height: 300px;  overflow: hidden;}.map-container iframe {  width: 100%;  height: 100%;  border: 0;}/* スマホ時は縦並びに切り替え */@media (max-width: 768px) {  .card {    flex-direction: column !important;  }  .info-box, .map-box {    flex: none;    width: 100%;  }  .map-box {    min-height: 250px;  }  .map-container {    aspect-ratio: 4 / 3;    height: auto;  }}/*RocknRoll One: CSS class*/.rocknroll-one-regular {  font-family: "RocknRoll One", sans-serif;  font-weight: 400;  font-style: normal;}/*Dela Gothic One: CSS class*/.dela-gothic-one-regular {  font-family: "Dela Gothic One", sans-serif;  font-weight: 400;  font-style: normal;}/*WDXL Lubrifont JP N: CSS class*/.wdxl-lubrifont-jp-n-regular {  font-family: "WDXL Lubrifont JP N", sans-serif;  font-weight: 400;  font-style: normal;}/*BIZ UDGothic: CSS classes*/.biz-udgothic-regular {  font-family: "BIZ UDGothic", sans-serif;  font-weight: 400;  font-style: normal;}.biz-udgothic-bold {  font-family: "BIZ UDGothic", sans-serif;  font-weight: 700;  font-style: normal;}/*Kosugi Maru: CSS class*/.kosugi-maru-regular {  font-family: "Kosugi Maru", sans-serif;  font-weight: 400;  font-style: normal;}/*M PLUS Rounded 1c: CSS classes*/.m-plus-rounded-1c-regular {  font-family: "M PLUS Rounded 1c", sans-serif;  font-weight: 400;  font-style: normal;}.m-plus-rounded-1c-medium {  font-family: "M PLUS Rounded 1c", sans-serif;  font-weight: 500;  font-style: normal;}.m-plus-rounded-1c-bold {  font-family: "M PLUS Rounded 1c", sans-serif;  font-weight: 700;  font-style: normal;}.m-plus-rounded-1c-extrabold {  font-family: "M PLUS Rounded 1c", sans-serif;  font-weight: 800;  font-style: normal;}/*Zen Maru Gothic: CSS classes*/.zen-maru-gothic-regular {  font-family: "Zen Maru Gothic", sans-serif;  font-weight: 400;  font-style: normal;}.zen-maru-gothic-medium {  font-family: "Zen Maru Gothic", sans-serif;  font-weight: 500;  font-style: normal;}.zen-maru-gothic-bold {  font-family: "Zen Maru Gothic", sans-serif;  font-weight: 700;  font-style: normal;}/*ビホルダー*/.anim-box.fuwafuwa {    animation: fuwafuwa 10s ease-in-out infinite;    animation-delay: 4.5s;}@keyframes fuwafuwa {    0% {        transform: translate(0, 0) rotate(0deg);    }    10% {        transform: translate(0, -7px) rotate(-7deg);    }    20% {        transform: translate(0, 0) rotate(0deg);    }    30% {        transform: translate(-7px, 0) rotate(-7deg);    }    40% {        transform: translate(0, 0) rotate(0deg);    }    100% {    scale(1.0);    }}/*レッドドラゴン*/.anim-box.gogogo {    animation: gogogo 10s ease-out infinite;    animation-delay: 9s;}@keyframes gogogo {    0% {        transform: translateY(5px);    }    3% {        transform: translateX(5px);    }    6% {        transform: translateY(-5px) translateX(-5px);    }    9% {        transform: translateX(-5px);    }    12% {        transform: translateX(5px);    }    15% {        transform: translateY(5px);    }    100% {        transform: scale(1.0, 1.0) translate(0, 0);    }}/*オウルベア*/.anim-box.pyonpyon {    animation: pyonpyon 10s ease-in-out infinite;    animation-delay: 13.5s;}@keyframes pyonpyon {    0% {        transform: scale(1.0, 1.0) translate(0, 0);    }    2% {        transform: scale(0.98, 0.9) translate(0, 5px);    }    4% {        transform: scale(1.02, 1.0) translate(0, 8px);    }    6% {        transform: scale(0.98, 1.05) translate(0, -8px);    }    8% {        transform: scale(1.0, 0.9) translate(0, 5px);    }    12% {        transform: scale(1.0, 1.0) translate(0, 0);    }    100% {    scale(1.0);    }}/*ゼラチナス*/.anim-box.poyopoyo {    animation: poyopoyo 10s ease-out infinite;    animation-delay: 18s;}@keyframes poyopoyo {    0%, 4%, 12%, 20%, 100% {        transform: scale(1.0);    }    8%, 16% {        transform: scale(0.95);    }}/* 各コーナー基本値 */.fixed-corner {    position: fixed;    max-height: 270px;    height: 25vw;    width: auto;    opacity: 0.8;    z-index: -1;}/* 各コーナーに配置 */.top-left {    top: 13rem;    left: 1rem;}/* === スマートフォン === */@media (max-width: 576px) {    .top-left {        top: 8.5rem;    }}.top-right {    top: 12rem;    right: 1rem;}/* === スマートフォン === */@media (max-width: 576px) {    .top-right {        top: 8rem;    }}.bottom-left {    bottom: 6rem;    left: 1rem;}.bottom-right {    bottom: 6rem;    right: 1rem;}/*ギャラリー*//* デフォルト画像サイズ */.square-img-container {  position: relative;  width: 100%;  padding-top: 100%; /* ＝正方形（1:1） */  overflow: hidden;  border-radius: 8px;  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);}.square-img-container img {  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 100%;  object-fit: cover; /* 中央を切り出して拡大表示 */  transition: transform 0.4s ease, box-shadow 0.4s ease;}/* ホバー時の拡大アニメーション */.square-img-container img:hover {  transform: scale(1.05);  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);}.gallery-comment {  padding: 1rem;  flex: 1;  color: #4b3621;  font-size: 1rem;}/* === タブレット === */@media (max-width: 992px) {  .gallery-card {    flex-direction: column;    align-items: flex-start;  }  .gallery-comment {    padding: 1rem;    font-size: 0.95rem;  }}/* === スマートフォン === */@media (max-width: 576px) {  .gallery-card {    flex-direction: column;  }  .gallery-comment {    font-size: 0.9rem;    padding: 0.75rem;  }}/*モーダル*/.modal-img {  max-width: 100%;  height: auto;}