/*!
 * Bootstrap Reboot v5.2.1 (https://getbootstrap.com/)
 * Copyright 2011-2022 The Bootstrap Authors
 * Copyright 2011-2022 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
 :root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:33,37,41;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg,rgba(255,255,255,.15),rgba(255,255,255,0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0,0,0,.175);--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-link-color:#0d6efd;--bs-link-hover-color:#0a58ca;--bs-code-color:#d63384;--bs-highlight-bg:#fff3cd}*,*::before,*::after{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:1px solid;opacity:.25}h6,h5,h4,h3,h2,h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + 0.9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + 0.6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + 0.3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-link-color);text-decoration:underline}a:hover{color:var(--bs-link-hover-color)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + 0.3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}

#wrapper {
    padding-top: 0;
}

body {
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
    background: radial-gradient(#004091, #0184d9);
    font-family: "Helvetica Neue", Helvetica, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Arial, sans-serif;
    -webkit-appearance: none;
}

.container--small {
    padding: 0;
}

.container--small img {
    width: auto;
    vertical-align: middle;
}

main {
    background-color: #fff;
}

a {
    text-decoration: none;
}

.mb-10 {
    margin-bottom: 10px;
}

.mt-20 {
    margin-top: 20px;
}

.mb-20 {
    margin-bottom: 20px;
}

.pt-30 {
    padding-top: 30px;
}

.pb-30 {
    padding-bottom: 30px;
}

.pc {
    display: none;
}

.sp {
    display: block;
}

.small_text {
    font-size: 14px;
}

.enjoy {
    position: absolute;
    top: 28px;
    left: 76px;
    transform: rotate(353deg);
    color: #fff;
    opacity: 0.8;
}

header h1.logo {
    padding: 5px 0;
    margin: 0;
    background-color:#0006b2;
}

header h1.logo img {
    width: 60px;
    margin: 0 auto;
}

.contents_box {
    position: relative;
    border: solid 1px #f0f0f0;
    background-color: #fff;
}

.contents_box p {
    padding-left: 14%;
    padding-top: 20px;
    font-size: 16px;
    font-weight: bold;
}

.bayticke::before {
    content: '';
    position: absolute;
    top: 20px;
    right: 12%;
    display: inline-block;
    width: 75px;
    height: 75px;
    background-image: url(../img/bayticke.jpg?v=1);
    background-size: cover;
}

main img {
    width: 100%;
}

.content {
    padding: 0 20px;
}

.h1 {
    background-image: url(../img/tanoshimi_back.png?v=1);
    background-size: contain;
    margin: 0;
    padding: 15px 0;
}

.h1 img {
    width: 75%;
}

.h2 {
    padding: 16px 10px;
    background-color: #098fe7;
    font-size: 26px;
    color: #fff;
    text-align: center;
    margin-bottom: 5px;
    font-weight: bold;
}

.h3 {
    font-size: 18px;
    font-weight: bold;
    margin: 20px 0 10px;
    word-break: break-all;
    padding: 10px;
    text-align: center;

    /* border-bottom: 2px solid #ffff;
    width: 230px;
    margin-left: auto;
    margin-right: auto; */
    display: flex;
    align-items: center;
    justify-content: center;
    color: #098FE7;
    gap: 1rem;
}
.h3::before,
.h3::after {
    content: "";
    flex: 1;
    height: 2px;
    background-color: #098FE7;
    max-width: 20px;
}

.h4 {
    font-size: 18px;
    font-weight: bold;
    margin: 20px 0 10px;
    color: #000;
    word-break: break-all;
}

p {
    font-size: 14px;
    margin: 0;
}

video {
    width: 100%;
}

.text_color-accent {
    color: #cc3333;
}

.attention {
    font-size: 13px;
    display: flex;
}

.sns-content {
    background-color: #098fe7;
    align-items: center;
    color: #fff;
    padding: 20px 25px;
    justify-content: space-between;
}

.icon_box {
    display: flex;
    width: 90%;
    margin: 0 auto;
}

.sns-content img {
    width: 80%;
    border-radius: 12px;
}

.sns-content a {
    text-align: center;
}

.footer-logo {
    background-color: #fff;
    text-align: center;
}

.footer-logo img {
    width: 100%;
    padding: 18px 85px;
}

.movie {
    position: relative;
    width: 100%;
    margin: 0 auto;
    border: 1px solid #fff;
    padding: 10px 20px;
}

.movie video {
    width: 100%;
}

.movie .play-btn {
    display: block;
    width: 20%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
}

.movie .play-btn.playActive {
    display: none;
}

@media screen and (min-width:768px) {
    .pc {
        display: block;
    }

    .sp {
        display: none;
    }
}

.coming-text {
    text-align: center;
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 20px;
    margin-top: 20px;
}

/* .special .desc {
    font-size: 24px;
    line-height: 1.6;
}

.special .special_wrap {
    display: flex;
    gap: 20px;
    padding-bottom: 30px;
    margin: 0 35px;
} */
.special .desc {
    font-size: 16px;
    /* text-align: center; */
}

.special .special_wrap {
    display: flex;
    gap: 20px;
    flex-direction: column;
    padding: 30px 0 10px 0;
    margin: 0 20px;
}

.special .special_wrap img {
    max-width: 100%;
}

.special .special_wrap img {
    width: 100%;
    max-width: 540px;
    object-fit: contain;
}

/* @media only screen and (max-width: 1119px) {
    .special .special_wrap img {
        max-width: 470px;
    }
}

@media only screen and (max-width: 991px) {
    .special .desc {
        font-size: 18px;
    }

    .special .special_wrap img {
        max-width: 355px;
    }

} */

@media only screen and (max-width: 767px) {
    .special .desc {
        font-size: 16px;
        /* text-align: center; */
    }

    .special .special_wrap {
        display: flex;
        flex-direction: column;
        padding: 30px 0 10px 0;
        margin: 0 6px;
    }

    .special .special_wrap img {
        max-width: 100%;
    }
}

@media only screen and (max-width: 575px) {
    .special .desc {
        font-size: 14px;
    }
}



.penlight .desc {
    font-size: 16px;
    line-height: 1.6;
}

.penlight .penlight_wrap {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 30px 0;
    margin: 0 35px;
}

@media only screen and (max-width: 575px) {
    .penlight .desc {
        font-size: 14px;
    }
}

.button {
    display: inline-block;
    min-width: 220px;
    padding: 14px 40px;
    background-color: #098FE7;
    color: #0006B2;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5em;
    text-align: center;
    text-decoration: none;
    border: 0;
    cursor: pointer;
}
.button:hover {
    color: #fff;
    opacity: 0.7;
    transition: 0.3s ease all;
}

.text--center {
    text-align: center;
}

.comingsoon {
    font-size: 25px;
    padding: 20px;
    font-weight: 700;
    text-align: center;
    color: #fff;
}

h3.heading {
    margin-top: 30px;
    padding: 15px 25px;
    font-size: 18px;
    font-weight: 700;
    background-color: #FFF;
    border-bottom: 1px solid #e0e0e0;
    border-left: 4px solid #004091;
    color: #262626;
    margin-bottom: 30px;
}
table tr th {
    padding: 10px;
    background-color: #F0F0F0;
    border: 1px solid #e0e0e0;
    color: #262626;
    font-size: 14px;
    font-weight: bold;
}
.table-simple {
    width: 100%;
    max-width: 100%;
    border-spacing: 0;
    border-collapse: collapse;
}
.table-simple th {
    background-color: #f0f0f0;
    vertical-align: middle;
}
.table-simple td, .table-simple th {
    padding: 10px;
    border: 1px solid #e0e0e0;
}
table tr td {
    padding: 10px;
    border: 1px solid #e0e0e0;
    color: #4d4d4d;
    font-size: 14px;
}
.text__color--accent {
    color: #f75239;
}
ul.newsattention {
    list-style-type: none;
    margin-left: -18px;
    font-size: 10px;
    color: white;

}
ul.newsattention li:before {
    content: '※';
    margin-left: -12px;
    color: white;
}

.info_item {
    font-size: 14px;
    font-size: 14px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.date {
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.56px;
    display: block;
}

.line {
    display: block;
    background-color: #f5f5f5;
    height: 2px;
    width: 100%;    
}

.info_box .info_item {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .h5{
    background: #006DC1;
    font-size: 18px;
    font-weight: bold;
    margin: 20px 0 10px;
    color: white;
    padding: 10px;
    text-align: center;
    width: max-content;
  }

  .content p{
    text-align: center;
  }

  main{
    background-color: #fff;
  }
  
  .ysn {
    background-color: #000;
    margin-bottom: 20px;
}

.ysn_container {
    max-width: 360px;
    margin: 0 auto;
    padding: 10px 0;
}
.ysn_wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    color: #fff;
}
.ysn_wrapper img {
    width: unset;
}
.ysn .ysn_ttl {
    color: #FFF;
    text-align: center;
}
.ysn .ysn_desc {
    font-size: 14px;
}
.ysn .ysn_desc .flex {
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center;
}
.ysn .ysn_desc .flex p {
    font-size: 14px;
}

.view-more {
    display: inline-flex;
    align-items: center;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    border: 2px solid #fff;
    padding: 10px 20px;
    text-align: center;
    transition: all 0.3s ease-in-out;
}

.view-more:hover {
    color: white;
    opacity: 0.7;
}
.arrow-icon {
    width: 16px;
    height: 16px;
}
.movie {
    color: #fff;
    transition: all 0.3s ease-in-out;
}

.button--light {
    display: inline-block;
    min-width: 200px;
    padding: 14px 40px;
    background-color: #d3d3d3;
    color: #9d9696;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5em;
    text-align: center;
    text-decoration: none;
    border: 0;
    cursor: pointer;
}

a:hover.button--light {
    color: #9d9696 !important;
}

.pt-15 {
    padding-top: 15px;
}

.pb-15 {
    padding-bottom: 15px;
}
.pb-40 {
    padding-bottom: 40px;
}

.lineup_wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    padding-bottom: 35px;
}

/* fadeUp */

.fadeUp{
    animation-name:fadeUpAnime;
    animation-duration:1s;
    animation-fill-mode:forwards;
    opacity:0;
    }
    
    @keyframes fadeUpAnime{
      0% {
        opacity: 0;
      transform: translateY(50px);
      }
    
      100% {
        opacity: 1;
      transform: translateY(0);
      }
    }
    
    
    /* スクロールをしたら出現する要素にはじめに透過0を指定　*/
     
    .fadeUpTrigger{
        opacity: 0;
    }


.fade {
  animation-name: fade;
  animation-duration: 1s;
}
    @keyframes fade{
      0%{
        opacity: 0;
      }
      100%{
        opacity: 1;
      }
}

/******* common *******/
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  font-weight: normal;
  font-family: "Mincho Std Bold", serif;
}

/* Firefox */
* {
  scrollbar-width: none;
}

/* IE and Edge */
* {
  -ms-overflow-style: none;
}

/* Chrome, Safari, Opera */
::-webkit-scrollbar {
  display: none;
}

@font-face {
  font-family: "Copperplate";
  src: url("../font/Copperplate-01.ttf");
}

@font-face {
  font-family: "Mincho Std Bold";
  src: url("../font/A-OTF-A1MinchoStd-Bold.ttf") format("truetype");
}

ul,
ol {
  list-style: none;
}

a,
a:visited {
  color: inherit;
  text-decoration: none;
}

img {
  width: 100%;
  max-width: 100%;
  vertical-align: bottom;
}

iframe {
  border: none;
}

.sp,
.pad {
  display: none;
}

.disable {
  pointer-events: none;
  opacity: 0.4;
}

main {
  position: relative;
}

.border_top {
  position: fixed;
  top: 0;
  left: 0;
  width: 100dvw;
  border-top: 4px solid #877429;
  z-index: 1;
}

.border_bottom {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100dvw;
  border-bottom: 4px solid #877429;
  z-index: 1;
}

.border_left,
.border_right {
  height: 100%;
  width: 4px;
  position: absolute;
  top: 0;
  background-color: #877429;
}

.border_left {
  left: 0;
}

.border_right {
  right: 0;
}

.inner {
  width: 440px;
  max-width: calc(100% - 30px);
  margin: 0 auto;
  padding: 70px 0;
  background-color: #0006b2;
}

.main_title {
  font-weight: 700;
  font-size: 80px;
  line-height: 72px;
  color: #fff;
  /* margin-bottom: 40px; */
  font-family: Copperplate;
}

.btn_more {
  font-size: 22px;
  font-weight: 700;
  color: #877429;
  position: relative;
  width: fit-content;
  line-height: 1;
  font-family: Copperplate;
}

.btn_more::after {
  content: "";
  display: block;
  background-color: currentColor;
  bottom: 0;
  height: 1.3px;
  left: 0;
  right: auto;
  width: 0;
  position: absolute;
  color: #877429;
}

.btn_more:hover::after {
  animation: underline 0.5s cubic-bezier(1, 0.61, 0.355, 0.215) forwards;
}

.btn_more.big {
  position: relative;
  width: fit-content;
  margin: 48px auto 0;
  font-size: 40px;
}

.btn_more.big .gold_arrow_right {
  width: 36px;
  position: absolute;
  right: -40px;
  bottom: 3px;
}

.btn_more.big:hover .gold_arrow_right {
  right: -55px;
}

@keyframes underline {
  0% {
    width: 0;
    left: 0;
    right: auto;
  }

  45% {
    width: 100%;
    left: 0;
    right: auto;
  }

  55% {
    width: 100%;
    left: auto;
    right: 0;
  }

  100% {
    width: 0;
    left: auto;
    right: 0;
  }
}

.btn_more .gold_arrow_right {
  width: 22px;
  position: absolute;
  bottom: 0%;
  right: -25px;
  transition: right 0.5s ease;
}

.btn_more:hover .gold_arrow_right {
  right: -30px;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }

  .pc {
    display: none;
  }

  .main_title {
    font-size: 50px;
    margin-bottom: 24px;
    line-height: 90%;
    font-family: Copperplate;
  }

  .inner {
    margin: 0 auto;
  }

  .btn_more {
    font-size: 17px;
    font-family: Copperplate;
  }

  .btn_more .gold_arrow_right {
    width: 20px;
    position: absolute;
    bottom: 10%;
    right: -25px;
  }

  .btn_more.big {
    margin: 40px auto 0;
    font-size: 24px !important;
  }

  .btn_more.big .gold_arrow_right {
    width: 24px;
    position: absolute;
    right: -24px;
    bottom: 1px;
  }

  .btn_more.big:hover .gold_arrow_right {
    right: -39px;
  }
}

/* !background
---------------------------------------------------------- */
.background {
  position: fixed;
  z-index: -10;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  /* background: radial-gradient(#004091, #0184d9); */
  background-color: #0006b2;

}

.background img {
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* parade追従
---------------------------------------------------------- */
.parade_follow {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 99;
}

.btn_parade_follow {
  border: 2px solid #fff;
  background: #877429;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.08);
  position: relative;
  /* width: 362px; */
  width: 430px;
  height: 69px;
  display: block;
  /* align-items: center;
  justify-content: center; */
}

.btn_parade_follow span {
  color: #fff;
  text-align: center;
  font-family: "Mincho Std Bold", serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 130%;
  position: absolute;
  top: 50%;
  left: 7%;
  transform: translateY(-50%);
}

.btn_parade_follow img {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 10px;
  width: 28px;
  height: 28px;
  transition: right 0.5s ease;
}

.btn_parade_follow:hover img {
  right: 5px;
}

@media screen and (max-width: 768px) {
  .parade_follow {
    bottom: 14px;
    right: unset;
    left: 50%;
    transform: translateX(-50%);
  }

  .btn_parade_follow {
    /* width: 310px; */
    width: 356px;
    height: 56px;
  }

  .btn_parade_follow span {
    font-size: 18px;
  }
}

/* !popup
---------------------------------------------------------- */
.overlay {
  display: none;
  width: 100%;
  height: 100%;
  background: rgba(2, 41, 98, 0.8);
  position: fixed;
  z-index: 100;
}

.btn_area {
  width: 675px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  max-width: calc(100% - 32px);

  /* アニメーション用のスタイルを追加 */
  opacity: 0;
  transform: translate(-50%, 100%);
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* 表示時のクラス */
.btn_area.show {
  opacity: 1;
  transform: translate(-50%, -50%);
}

@media screen and (min-width: 425px) {
  .popup_link {
    display: flex;
  }

  .popup_img {
    width: 60%;
    max-width: 675px;
    margin: 0 auto;
  }
}

@media screen and (min-width: 768px) {
  .popup_img {
    width: 50%;
  }
}

@media screen and (min-width: 1280px) {
  .popup_img {
    width: 60%;
  }
}

.btn_area button {
  display: block;
  margin: 48px auto 0;
  border: none;
  width: 240px;
  background-color: unset;
}

.btn_area button:hover {
  opacity: 0.6;
  transition: 0.3s ease;
}

@media screen and (max-width: 768px) {
  .btn_area button {
    margin: 32px auto 0;
  }
}

/* !news_header
---------------------------------------------------------- */
.news_header {
  background-color: #023983;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 400;
  overflow: hidden;
  white-space: nowrap;
  overflow: hidden;
}

.news_header .new {
  font-size: 28px;
  line-height: 28px;
  color: #877429;
  font-weight: 700;
  font-family: copperplate;
}

.news_header_content {
  overflow: hidden;
}

.news_header .news_header_detail {
  display: flex;
  gap: 50px;
  width: fit-content;
  margin: 0 auto;
}

.news_header .news_header_detail:hover .new_text {
  text-decoration: underline;
  color: #fff;
}

.news_header .new_text {
  font-family: "Mincho Std Bold", serif;
  font-size: 16px;
  line-height: 24px;
  color: #fff;
}

.news_header .white_arrow_down {
  width: 24px;
}

@media screen and (max-width: 767px) {
  .news_header {
    height: 52px;
  }

  .news_header .new {
    font-size: 16px;
    line-height: 24px;
    padding-left: 20px;
    font-family: copperplate;
  }

  .news_header .new_text {
    font-size: 12px;
    line-height: 20px;
    width: 60%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: "Mincho Std Bold", serif;
  }

  .news_header .news_header_detail {
    gap: 8px;
  }

  .news_header .white_arrow_down {
    width: 16px;
  }
}

/* !kv
---------------------------------------------------------- */
.kv .pc {
  width: 100%;
}

/* !header
---------------------------------------------------------- */
.headerIn {
  opacity: 0;
  transition: opacity 0.8s;
}

.headerIn.show {
  opacity: 1;
}

.headerIn .header_logo {
  width: 110px;
  position: fixed;
  top: 35px;
  left: 64px;
  z-index: 100;
}

.headerIn .menu_open_btn {
  position: fixed;
  width: 64px;
  top: 70px;
  right: 64px;
  z-index: 100;
  transition: opacity 0.4s;
  font-family: Copperplate;
}

.headerIn .menu_open_btn:hover {
  opacity: 0.7;
  font-family: Copperplate;
}

@media screen and (max-width: 767px) {
  .headerIn .header_logo {
    width: 65px;
    left: 20px;
    top: 25px;
  }

  .headerIn .menu_open_btn {
    width: 45px;
    right: 20px;
    top: 54px;
    font-family: Copperplate;
  }
}

/* !navigation
---------------------------------------------------------- */
#navigation {
  background-image: url(../image/bg.jpg);
  background-size: cover;
  background-position: center;
  border: 8px solid #877429;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
}

#navigation.open {
  opacity: 1;
  z-index: 100;
  pointer-events: auto;
}

#navigation .menu_close_btn {
  position: absolute;
  width: 64px;
  top: 60px;
  right: 64px;
  z-index: 100;
  transition: opacity 0.4s;
}

#navigation .menu_close_btn:hover {
  opacity: 0.7;
}

#navigation .navigation_container {
  display: flex;
  justify-content: center;
  align-items: start;
  width: fit-content;
  /* max-width: calc(100% - 100px); */
  max-width: 100%;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  gap: 64px;
  z-index: 100;
}

#navigation .nav_list {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 16px;
  font-size: 56px;
  font-weight: 700;
  line-height: 1.5;
  color: #877429;
  z-index: 10;
  font-family: Copperplate;
}

#navigation .nav_wave {
  position: absolute;
  bottom: 0;
  right: 0;
  max-width: 100%;
}

.nav_item a {
  transition: opacity 0.4s;
}

.nav_item a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 1040px) {
  #navigation .nav_list {
    font-size: 50px;
  }
}

@media screen and (max-width: 767px) {
  #navigation {
    background-image: url(../image/bg.jpg);
    border: 6px solid #877429;
  }

  #navigation .navigation_container {
    flex-direction: column;
    margin: 0 auto;
    align-items: center;
    gap: 16px;
  }

  #navigation .nav_list {
    font-size: 32px;
    align-items: center;
    font-family: Copperplate;
  }

  #navigation .menu_close_btn {
    width: 45px;
    top: 50px;
    right: 20px;
  }

  /* a#nav_07{
    font-size: 21px;
  } */
}

/* !RESULTS
---------------------------------------------------------- */
#results {
  /* font-family: "Zen Antique", serif; */
  color: #fff;
  padding-top: 100px;
}

#results .top_text {
  color: #fff;
  text-align: center;
  font-size: 25px;
  font-weight: 400;
  line-height: 150%;
  margin-bottom: 100px;
  font-family: "Mincho Std Bold", serif;
}

#results .ns_title {
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: center;
  font-family: Copperplate;
}

#results .ns_title .logo_ns {
  width: 90px;
  max-width: 100%;
  font-family: Copperplate;
}

#results .ns_title .text {
  color: #fff;
  font-size: 42px;
  font-weight: 700;
  line-height: 90%;
  text-transform: uppercase;
}

#results .game_schedule {
  display: flex;
  gap: 64px;
  align-items: center;
  justify-content: center;
}

#results .game_schedule .opponent {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: center;
}

#results .game_schedule .opponent .vs {
  color: #fff;
  font-size: 42px;
  font-weight: 700;
  line-height: 90%;
  text-transform: uppercase;
}

#results .game_schedule .opponent .opponent_img {
  width: 224px;
  max-width: 100%;
}

#results .date_wrapper {
  width: 638px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

#results .date_wrapper.pc {
  display: none;
}

#results .date_wrapper.sp {
  display: flex;
}

@media screen and (min-width: 768px) {
  #results .date_wrapper.pc {
    display: flex;
  }

  #results .date_wrapper.sp {
    display: none;
  }
}

.date_wrapper a {
  position: relative;
  display: inline-block;
}

#results .date_wrapper img {
  display: block;
}

#results .date_wrapper .item {
  width: 600px;
  max-width: calc(100% - 32px);
  transition: opacity 0.3s;
}

#results .date_wrapper .item.wh_big {
  width: 632px;
}

.date_wrapper .item.hover {
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 0.3s;
  opacity: 0;
}

.date_wrapper a:hover .item.hover {
  opacity: 1;
}

.date_wrapper a:hover .item {
  opacity: 0;
}

#results .date_wrapper a .arrow {
  width: 36px;
  position: absolute;
  bottom: 0;
  right: 0;
  transition: right 0.5s ease;
}

#results .date_wrapper a:hover .arrow {
  right: -15px;
}

#results .schedule_btn .arrow {
  width: 10%;
  position: absolute;
  bottom: -10px;
  right: 0;
  transition: right 0.5s ease;
}

#results .schedule_btn:hover .arrow {
  right: -15px;
}

#results .date_wrapper a {
  display: flex;
  gap: 2px;
  align-items: center;
}

#results .date_wrapper span {
  height: 1px;
  background-image: linear-gradient(to right, #ffffff 60%, transparent 40%);
  background-size: 12px 1px;
  background-repeat: repeat-x;
  width: 100%;
}

.date_wrapper {
  display: flex;
  gap: 20px;
}

@media screen and (max-width: 768px) {
  #results {
    padding-top: 48px;
  }

  #results .main_title {
    margin-bottom: 28px;
    font-family: Copperplate;
  }

  #results .top_text {
    font-size: 18px;
    margin-bottom: 64px;
  }

  #results .ns_title {
    gap: 8px;
    margin-bottom: 28px;
  }

  #results .ns_title .logo_ns {
    width: 40px;
    font-family: Copperplate;
  }

  #results .ns_title .text {
    font-size: 20px;
  }

  #results .game_schedule {
    gap: 28px;
    flex-direction: column;
  }

  #results .game_schedule .opponent .vs {
    font-size: 25px;
  }

  #results .game_schedule .opponent .opponent_img {
    width: 100px;
  }
}

@media screen and (max-width: 580px) {
  #results .date_wrapper a .arrow {
    width: 20px;
  }
}

/* !MESSAGE
---------------------------------------------------------- */
#message {
  padding: 120px 0 100px;
}

#message .inner {
  max-width: calc(100% - 64px);
}

#message .message_content {
  display: flex;
  gap: 48px;
  align-items: center;
}

#message .message_content.bottom {
  flex-direction: row-reverse;
  margin-top: 40px;
}

#message .message_content .message_img {
  width: 41.7%;
  margin: auto;
}

#message .message_content .about_text {
  width: 54.3%;
  font-family: "Mincho Std Bold", serif;
}

#message .message_content .about_text h2 {
  color: #fff;
  text-align: start;
  font-family: "Mincho Std Bold", serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 1.2px;
  margin-bottom: 12px;
}

#message .message_content .about_text .dec {
  color: #fff;
  font-family: "Mincho Std Bold", serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.64px;
}

#message .message_content .about_text a {
  color: #877429;
  font-size: 24px;
  font-weight: 700;
  line-height: 100%;
  display: flex;
  gap: 4px;
  align-items: center;
  margin-top: 24px;
}

#message .message_content .about_text img {
  width: 22px;
}

@media screen and (max-width: 767px) {
  #message {
    padding: 80px 0 40px;
  }

  #message .message_content .about_text {
    font-size: 16px;
    width: 100%;
  }

  #message .message_content .message_img {
    width: 100%;
  }

  #message .message_content {
    flex-direction: column;
    gap: 25px;
  }

  #message .message_content.bottom {
    flex-direction: column;
    margin-top: 48px;
  }

  #message .message_content .about_text .dec {
    font-size: 14px;
  }

  #message .message_content .about_text h2 {
    text-align: center;
    font-size: 24px;
  }
}

/* PHOTO
-----------------------------------------------------------*/
.photo_container {
  display: flex;
  background-color: transparent;
}

.photo_container .item {
  width: 100%;
  height: 100%;
  margin-right: 12px;
}

.photo_container .item img {
  width: 170px;
  object-fit: cover;
  border: 2px solid #877429;
}

@media screen and (max-width: 767px) {
  .photo_container .item img {
    width: 128px;
  }
}

/* !MOVIES
---------------------------------------------------------- */
#movies {
  padding-top: 120px;
}

#movies .movie_top {
  width: 100%;
  max-width: 768px;
  margin: 0 auto;
}

#movies .movie_top .item,
#movies .movie_bottom .item {
  aspect-ratio: 16 / 9;
}

#movies .movie_top .item_name,
#movies .movie_bottom .item_name {
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 20px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.8px;
  margin-top: 20px;
}

#movies .movie_bottom {
  display: flex;
  gap: 48px;
}

#movies .movie_bottom .item_box {
  flex: 1;
}

#movies a {
  color: #877429;
  font-size: 40px;
  font-weight: 700;
  line-height: 100%;
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: center;
  margin-top: 48px;
  cursor: pointer;
}

#movies a img {
  width: 36px;
}

@media screen and (max-width: 767px) {
  #movies {
    padding: 80px 0;
  }

  #movies .inner {
    margin-bottom: -64px;
  }

  #movies .main_title {
    line-height: 50.4px;
    position: relative;
    z-index: 10;
    font-family: Copperplate;
  }

  #movies .movie_bottom {
    width: 100%;
    height: 100%;
    flex-direction: column;
    padding: 0 16px;
  }

  #movies .movie_top .item_name,
  #movies .movie_bottom .item_name {
    font-size: 14px;
    margin-top: 12px;
  }

  #movies a {
    font-size: 24px;
    gap: 6px;
    align-items: center;
    justify-content: center;
    margin-top: 40px;
  }

  #movies a img {
    width: 24px;
  }
}

/* !event
---------------------------------------------------------- */
#event {
  padding-top: 120px;
}

#event .event_wrapper {
  width: 1000px;
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  gap: 40px;
  height: auto;
}

#event .event_wrapper .event_container {
  background-color: #fff;
  border: 2px solid #877429;
  width: 480px;
  max-width: calc(100% - 10px);
  padding: 24px 28px;
  font-family: "Noto Sans JP";
}

#event .event_wrapper .event_container .event_title {
  font-weight: 700;
  font-size: 18px;
  line-height: 28.8px;
  color: #877429;
  text-align: center;
  margin: 16px 0 12px;
  font-family: "Noto Sans JP";
}

#event .event_wrapper .event_container .event_solid {
  border-bottom: 2px solid #f1f1f1;
  max-width: 100%;
}

#event .event_wrapper .event_container .event_text {
  font-size: 14px;
  font-weight: 500;
  line-height: 25.2px;
  letter-spacing: 4%;
  color: #000;
  margin: 12px 0 16px;
}

#event .event_wrapper .btn_more {
  position: relative;
}

#event .event_wrapper .btn_more::after {
  content: "";
  display: block;
  background-color: currentColor;
  bottom: 0;
  height: 1.3px;
  left: 0;
  right: auto;
  width: 0;
  position: absolute;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(1, 0.61, 0.355, 0.215);
  transition-property: width;
  color: #877429;
}

#event .event_wrapper .btn_more:hover::after {
  width: 100%;
}

@media screen and (max-width: 767px) {
  #event {
    padding-top: 80px;
  }

  #event .event_wrapper {
    flex-direction: column;
  }

  #event .event_wrapper .event_container {
    width: auto;
    max-width: 100%;
    padding: 20px 16px;
  }

  #event .event_wrapper .event_container .event_title {
    font-size: 17px;
  }
}

/* GALLERY
-----------------------------------------------------------*/
#gallery {
  padding: 12.2rem 0 0;
  position: relative;
  z-index: 6;
}

.opening_lp_galleryWrap {
  max-width: 88.8rem;
  width: calc(100% - 64px);
  margin: 0 auto;
  position: relative;
}

.opening_lp_gallerySwiper .swiper-button-prev,
.opening_lp_gallerySwiper .swiper-button-next {
  display: none;
}

.opening_lp_gallerySwiper .galleryArrow {
  position: absolute;
  top: 32%;
  transform: translateY(-50%);
  width: 4.2rem;
  z-index: 30;
}

.opening_lp_gallerySwiper .galleryArrow.prev {
  left: 50%;
  transform: translateX(-50%);
  margin-left: -43.4rem;
}

.opening_lp_gallerySwiper .galleryArrow.next {
  right: 50%;
  transform: translateX(50%);
  margin-right: -43.4rem;
}

.opening_lp_gallerySwiper .swiper-slide a {
  display: block;
  max-width: 76.8rem;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

.opening_lp_gallerySwiper .swiper-slide img {
  /* width: auto; */
  margin: 0 auto;
  height: 100%;
}

.opening_lp_galleryThumbs {
  max-width: 72.9rem;
  width: 100%;
  margin: 2rem auto 0;
  position: relative;
}

.opening_lp_galleryThumbs::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  z-index: 3;
  width: 12rem;
  height: 100%;
  background: linear-gradient(270deg, #003a8f 0.29%, rgba(0, 58, 143, 0) 100%);
}

.opening_lp_galleryThumbs .swiper,
.opening_lp_galleryThumbs .swiper-wrapper {
  height: 100% !important;
}

.opening_lp_galleryThumbs .swiper-slide a {
  width: 100%;
  height: 100%;
  padding-top: 62%;
  position: relative;
  display: block;
}

.opening_lp_galleryThumbs .swiper-slide img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 3;
  object-fit: contain;
}

.opening_lp_galleryThumbs .swiper-slide-thumb-active {
  position: relative;
}

.opening_lp_galleryThumbs .swiper-slide-thumb-active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 4;
  width: 100%;
  height: 100%;
  border: 0.4rem solid #877429;
}

.opening_lp_popupWrap {
  z-index: 999;
  width: 100%;
  height: 100%;
  display: block;
  position: fixed;
  top: 0%;
  left: 0%;
  visibility: hidden;
  opacity: 0;
}

.opening_lp_popupWrap.show {
  visibility: visible;
  opacity: 1;
}

.opening_lp_popupWrap .overlay-ph {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 2;
  display: block;
}

.opening_lp_galleryPopup {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 3;
  margin-top: -5rem;
  transform: translate(-50%, -50%);
}

.swiper-slide {
  height: auto;
}

.opening_lp_galleryPopup .swiper-slide {
  height: 60rem;
  width: 76.8rem;
}

.opening_lp_galleryPopup .swiper-slide a {
  width: 100%;
  height: 100%;
  position: relative;
  display: block;
}

.opening_lp_galleryPopup .swiper-slide img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 3;
  object-fit: contain;
}

.opening_lp_galleryPopup .swiper-wrapper {
  max-width: 90rem;
  width: 100%;
  margin: 0 auto;
}

.opening_lp_galleryPopup .swiper-button-prev,
.opening_lp_galleryPopup .swiper-button-next {
  display: none;
}

.opening_lp_galleryPopup .galleryArrow {
  position: absolute;
  width: 8rem;
  bottom: -5%;
  z-index: 300;
  transform: translateY(100%);
}

.opening_lp_galleryPopup .galleryArrow a {
  width: 100%;
  display: block;
  position: relative;
  text-decoration: none;
}

.opening_lp_galleryPopup .galleryArrow.prev {
  left: 0;
}

.opening_lp_galleryPopup .galleryArrow.prev a::after {
  content: "PREV";
  position: absolute;
  color: #877429;
  left: 1.8rem;
  top: 0.1rem;
  z-index: 3;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.6rem;
}

.opening_lp_galleryPopup .galleryArrow.next {
  right: 0;
}

.opening_lp_galleryPopup .galleryArrow.next a {
  text-align: right;
}

.opening_lp_galleryPopup .galleryArrow.next a::before {
  content: "NEXT";
  position: absolute;
  left: 0;
  top: 0.1rem;
  z-index: 3;
  color: #877429;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.6rem;
}

.opening_lp_galleryPopup .galleryArrow img {
  width: 1.6rem;
}

.opening_lp_galleryPopup .popClose {
  position: absolute;
  bottom: -10%;
  left: 50%;
  z-index: 4;
  transform: translate(-50%, 100%);
  width: 16rem;
  z-index: 6;
}

#gallery .view {
  color: #877429;
  font-size: 40px;
  font-weight: 700;
  line-height: 100%;
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: center;
  margin-top: 48px;
}

#gallery .view .arrow {
  width: 36px;
}

#gallery .viewmorebtn {
  display: flex;
  font-size: 36px;
  gap: 6px;
  align-items: center;
  justify-content: center;
  margin-top: 40px;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  #gallery .viewmorebtn {
    font-size: 24px;
  }

  #gallery {
    padding-top: 80px;
  }

  #gallery .view {
    font-size: 24px;
  }

  #gallery .view .arrow {
    width: 24px;
  }

  .opening_lp_gallerySwiper .galleryArrow {
    top: 30%;
    width: 2.2rem;
    position: absolute;
  }

  .opening_lp_gallerySwiper .galleryArrow.prev {
    left: -1.5rem;
    margin-left: 0;
  }

  .opening_lp_gallerySwiper .galleryArrow.next {
    right: -1.5rem;
    margin-right: 0;
  }

  .opening_lp_gallerySwiper .swiper {
    width: 100%;
    margin: 0 auto;
  }

  .opening_lp_galleryThumbs {
    max-width: 37.5rem;
    margin: -5px auto 0;
  }

  .opening_lp_galleryThumbs::before {
    width: 4.9rem;
  }

  .opening_lp_galleryThumbs .swiper-slide-thumb-active::before {
    border: 0.2rem solid #877429;
  }

  .opening_lp_galleryPopup {
    height: auto;
    width: 45rem;
    max-width: calc(100% - 32px);
  }

  .opening_lp_galleryPopup .swiper-slide {
    height: 24rem;
  }

  .opening_lp_galleryPopup .swiper-slide a {
    position: relative;
    width: 100%;
  }

  .opening_lp_galleryPopup .swiper-slide a img {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 3;
    width: 100%;
    height: 100%;
  }

  .opening_lp_galleryPopup .swiper {
    width: 100%;
    margin: 0 auto;
  }

  .opening_lp_galleryPopup .swiper-button-prev,
  .opening_lp_galleryPopup .swiper-button-next {
    display: none;
  }

  .opening_lp_galleryPopup .galleryArrow {
    width: 6.2rem;
    bottom: -2rem;
    transform: translateY(100%);
  }

  .opening_lp_galleryPopup .galleryArrow.prev {
    left: 0;
  }

  .opening_lp_galleryPopup .galleryArrow.prev a::after {
    font-size: 1.8rem;
  }

  .opening_lp_galleryPopup .galleryArrow.next a::before {
    font-size: 1.8rem;
  }

  .opening_lp_galleryPopup .popClose {
    bottom: -5.2rem;
    width: 13rem;
  }

  .opening_lp_gallerySwiper .swiper-slide {
    aspect-ratio: 343/228.61;
  }

  .opening_lp_gallerySwiper .swiper-slide a {
    aspect-ratio: 343/228.61;
  }

  .opening_lp_gallerySwiper .swiper-slide img {
    object-fit: contain;
    aspect-ratio: 343/228.61;
  }
}


/* parade gallery  */

/* PARADE GALLERY - Similar Styling to PHOTO GALLERY */
#paradeGallery {
  padding: 12.2rem 0 0;
  position: relative;
  z-index: 5;
}

.parade_galleryWrap {
  max-width: 88.8rem;
  width: calc(100% - 64px);
  margin: 0 auto;
  position: relative;
}

.parade_gallerySwiper .swiper-button-prev,
.parade_gallerySwiper .swiper-button-next {
  display: none;
}

.parade_gallerySwiper .galleryArrow {
  position: absolute;
  top: 32%;
  transform: translateY(-50%);
  width: 4.2rem;
  z-index: 30;
}

.parade_gallerySwiper .galleryArrow.prev {
  left: 50%;
  transform: translateX(-50%);
  margin-left: -43.4rem;
}

.parade_gallerySwiper .galleryArrow.next {
  right: 50%;
  transform: translateX(50%);
  margin-right: -43.4rem;
}

.parade_gallerySwiper .swiper-slide a {
  display: block;
  max-width: 76.8rem;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

.parade_gallerySwiper .swiper-slide img {
  margin: 0 auto;
  height: 100%;
}

.parade_galleryThumbs {
  max-width: 72.9rem;
  width: 100%;
  margin: 2rem auto 0;
  position: relative;
}

.parade_galleryThumbs::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  z-index: 3;
  width: 12rem;
  height: 100%;
  background: linear-gradient(270deg, #003a8f 0.29%, rgba(0, 58, 143, 0) 100%);
}

.parade_galleryThumbs .swiper,
.parade_galleryThumbs .swiper-wrapper {
  height: 100% !important;
}

.parade_galleryThumbs .swiper-slide a {
  width: 100%;
  height: 100%;
  padding-top: 62%;
  position: relative;
  display: block;
}

.parade_galleryThumbs .swiper-slide img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 3;
  object-fit: contain;
}

.parade_galleryThumbs .swiper-slide-thumb-active {
  position: relative;
}

.parade_galleryThumbs .swiper-slide-thumb-active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 4;
  width: 100%;
  height: 100%;
  border: 0.4rem solid #877429;
}

.parade_popupWrap {
  z-index: 999;
  width: 100%;
  height: 100%;
  display: block;
  position: fixed;
  top: 0%;
  left: 0%;
  visibility: hidden;
  opacity: 0;
}

.parade_popupWrap.show {
  visibility: visible;
  opacity: 1;
}

.parade_popupWrap .overlay-ph {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 2;
  display: block;
}

.parade_galleryPopup {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 3;
  margin-top: -5rem;
  transform: translate(-50%, -50%);
}

.swiper-slide {
  height: auto;
}

.parade_galleryPopup .swiper-slide {
  height: 60rem;
  width: 76.8rem;
}

.parade_galleryPopup .swiper-slide a {
  width: 100%;
  height: 100%;
  position: relative;
  display: block;
}

.parade_galleryPopup .swiper-slide img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 3;
  object-fit: contain;
}

.parade_galleryPopup .swiper-wrapper {
  max-width: 90rem;
  width: 100%;
  margin: 0 auto;
}

.parade_galleryPopup .swiper-button-prev,
.parade_galleryPopup .swiper-button-next {
  display: none;
}

.parade_galleryPopup .galleryArrow {
  position: absolute;
  width: 8rem;
  bottom: -5%;
  z-index: 300;
  transform: translateY(100%);
}

.parade_galleryPopup .galleryArrow a {
  width: 100%;
  display: block;
  position: relative;
  text-decoration: none;
}

.parade_galleryPopup .galleryArrow.prev {
  left: 0;
}

.parade_galleryPopup .galleryArrow.prev a::after {
  content: "PREV";
  position: absolute;
  color: #877429;
  left: 1.8rem;
  top: 0.1rem;
  z-index: 3;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.6rem;
}

.parade_galleryPopup .galleryArrow.next {
  right: 0;
}

.parade_galleryPopup .galleryArrow.next a {
  text-align: right;
}

.parade_galleryPopup .galleryArrow.next a::before {
  content: "NEXT";
  position: absolute;
  left: 0;
  top: 0.1rem;
  z-index: 3;
  color: #877429;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.6rem;
}

.parade_galleryPopup .galleryArrow img {
  width: 1.6rem;
}

.parade_galleryPopup .popupClose {
  position: absolute;
  bottom: -10%;
  left: 50%;
  z-index: 5;
  transform: translate(-50%, 100%);
  width: 16rem;
}

.parade_gallerysoon {
  display: block;
  max-width: 76.8rem;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

#photo_01 {
  width: 100%;
  max-width: 768px;
  margin: 0 auto;
}

/* RESPONSIVE STYLES - PARADE GALLERY */
@media screen and (max-width: 767px) {
  #parade_gallery .viewmorebtn {
    font-size: 24px;
  }

  #parade_gallery {
    padding-top: 80px;
  }

  #parade_gallery .view {
    font-size: 24px;
  }

  #parade_gallery .view .arrow {
    width: 24px;
  }

  .parade_gallerySwiper .galleryArrow {
    top: 30%;
    width: 2.2rem;
    position: absolute;
  }

  .parade_gallerySwiper .galleryArrow.prev {
    left: -1.5rem;
    margin-left: 0;
  }

  .parade_gallerySwiper .galleryArrow.next {
    right: -1.5rem;
    margin-right: 0;
  }

  .parade_gallerySwiper .swiper {
    width: 100%;
    margin: 0 auto;
  }

  .parade_galleryThumbs {
    max-width: 37.5rem;
    margin: -5px auto 0;
  }

  .parade_galleryThumbs::before {
    width: 4.9rem;
  }

  .parade_galleryThumbs .swiper-slide-thumb-active::before {
    border: 0.2rem solid #877429;
  }

  .parade_galleryPopup {
    height: auto;
    width: 45rem;
    max-width: calc(100% - 32px);
  }

  .parade_galleryPopup .swiper-slide {
    height: 24rem;
  }

  .parade_galleryPopup .swiper-slide a {
    position: relative;
    width: 100%;
  }

  .parade_galleryPopup .swiper-slide a img {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 3;
    width: 100%;
    height: 100%;
  }

  .parade_galleryPopup .swiper {
    width: 100%;
    margin: 0 auto;
  }

  .parade_galleryPopup .swiper-button-prev,
  .parade_galleryPopup .swiper-button-next {
    display: none;
  }

  .parade_galleryPopup .galleryArrow {
    width: 6.2rem;
    bottom: -2rem;
    transform: translateY(100%);
  }

  .parade_galleryPopup .galleryArrow.prev {
    left: 0;
  }

  .parade_galleryPopup .galleryArrow.prev a::after {
    font-size: 1.8rem;
  }

  .parade_galleryPopup .galleryArrow.next a::before {
    font-size: 1.8rem;
  }

  .parade_galleryPopup .popupClose {
    bottom: -5.2rem;
    width: 13rem;
  }

  .parade_gallerySwiper .swiper-slide {
    aspect-ratio: 343/228.61;
  }

  .parade_gallerySwiper .swiper-slide a {
    aspect-ratio: 343/228.61;
  }

  .parade_gallerySwiper .swiper-slide img {
    object-fit: contain;
    aspect-ratio: 343/228.61;
  }
}


/* !goods
---------------------------------------------------------- */
#goods {
  padding-top: 120px;
}

#goods .inner {
  display: flex;
  align-items: baseline;
  gap: 36px;
  margin-bottom: 10px;
}

#goods .goods_wrapper {
  position: relative;
}

#goods .goods_container .slick-track {
  display: flex;
  justify-content: center;
  width: 100vw;
  overflow: hidden;
}

#goods .goods_container .goods_item {
  width: 290px !important;
  max-width: 100%;
  border-top: 1px solid #f1f1f1;
  border-bottom: 1px solid #f1f1f1;
  border-right: 0.8px solid #f1f1f1;
  border-left: 0.8px solid #f1f1f1;
  height: 470px;
}

#goods .goods_container .slick-active .goods_item,
#goods .goods_container .slick-active.slick-current+.slick-slide .goods_item {
  opacity: 1 !important;
  z-index: 1;
}

#goods .goods_navigation {
  display: flex;
  gap: 20px;
}

#goods .goods_detail {
  width: 250px;
  max-width: calc(100% - 10px);
  margin: 20px auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#goods .goods_detail .goods_name {
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-weight: 700;
  line-height: 27px;
  color: #fff;
  margin-top: 20px;
  margin-bottom: 28px;
  min-height: 80px;
}

#goods .goods_detail .price {
  font-family: "Noto Sans JP";
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  color: #fff;
  margin-top: 3px;
}

#goods .goods_detail .price span {
  font-family: "Noto Sans JP";
  font-size: 10px;
  line-height: 15px;
  font-weight: 400;
  color: #fff;
}

@media screen and (max-width: 767px) {
  #goods {
    padding-top: 80px;
  }

  #goods .main_title {
    margin-bottom: 0;
    font-family: Copperplate;
  }

  #goods .inner {
    max-width: 100%;
    padding: 0 15px;
    margin-bottom: 20px;
    gap: 14px;
  }

  #goods .swiper-slide {
    width: 140px;
    filter: grayscale(0);
  }

  #goods .goods_wrapper {
    overflow: hidden;
  }

  #goods .slick_navigation .slick-active {
    background-color: #877429 !important;
  }

  #goods .slick_navigation {
    margin-top: 24px;
  }
}

/* !news
---------------------------------------------------------- */
#news {
  padding-top: 120px;
  margin-bottom: 120px;
}

#news .main_title {
  margin-bottom: 24px;
  font-family: Copperplate;
}

#news .inner {
  display: flex;
  gap: 90px;
}

#news .news_title {
  width: fit-content;
}

#news .news_wrapper {
  color: #fff;
  font-size: 16px;
  line-height: 24px;
}

#news .news_wrapper .news_detail {
  display: flex;
  justify-content: space-between;
  position: relative;
}

#news .news_wrapper .news_container .news_date {
  font-weight: 700;
  margin-bottom: 4px;
}

#news .news_wrapper .news_container .news_detail .news_content {
  font-family: "Mincho Std Bold", serif;
  padding-right: 20px;
  font-weight: 400;
}

#news .news_wrapper .news_detail:hover .gold_arrow_right {
  right: -5px;
}

#news .news_content:hover {
  text-decoration: underline;
  color: #fff;
}

#news .news_wrapper .news_container .gold_arrow_right {
  width: 22px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  transition: right 0.5s ease;
}

#news .news_wrapper .solid {
  border-bottom: 1px solid #fff;
  max-width: 100%;
  margin: 20px 0;
}

@media screen and (max-width: 767px) {
  #news {
    padding-top: 80px;
    margin-bottom: 80px;
  }

  #news .main_title {
    margin-bottom: 0;
    font-family: Copperplate;
  }

  #news .inner {
    flex-direction: column;
    gap: 20px;
  }

  #news .news_wrapper {
    color: #fff;
    font-size: 14px;
    line-height: 21px;
  }
}

/* !banner
---------------------------------------------------------- */
.banner {
  padding-bottom: 120px;
}

.banner .inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
}

.banner a {
  width: 50%;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.banner a p {
  color: #fff;
  text-align: center;
  font-family: "Mincho Std Bold", serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 90%;
  /* 14.4px */
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
}

.banner a .arrow {
  width: 20px;
  position: relative;
  top: 0;
  right: 0;
  transition: right 0.5s ease;
}

.banner a:hover .arrow {
  right: -10px;
}

@media screen and (max-width: 767px) {
  .banner {
    padding-bottom: 80px;
  }

  .banner .inner {
    flex-direction: column;
  }

  .banner a {
    width: 100%;
  }

  .banner a p {
    font-size: 13px;
    gap: 6px;
  }
}

/* !footer
---------------------------------------------------------- */
footer {
    padding-bottom: 0;
}

footer .footer_logo {
  width: 150px;
  margin: 0 auto 28px;
}

footer .sns_text {
  font-size: 40px;
  font-weight: 700;
  color: #877429;
  text-align: center;
  font-family: Copperplate;
}

footer .sns_sub_text {
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  color: #fff;
  text-align: center;
}

footer .sns_logo {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: center;
  margin-top: 24px;
}

footer .sns_logo .sns_icon a {
  background-color: rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  padding: 15px;
  border-radius: 50px;
  transition: opacity 0.4s;
}

footer .sns_logo .sns_icon a:hover {
  opacity: 0.7;
}

footer .site_link {
  display: flex;
  gap: 16px;
  font-family: "Noto Sans JP";
  font-weight: 600;
  font-size: 16px;
  color: #fff;
  align-items: center;
  justify-content: center;
  margin: 48px auto 42px;
}

footer .site_link_text {
  position: relative;
}

footer .site_link_text::after {
  content: "";
  display: block;
  background-color: currentColor;
  bottom: 0;
  height: 1.3px;
  left: 0;
  right: auto;
  width: 0;
  position: absolute;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(1, 0.61, 0.355, 0.215);
  transition-property: width;
  color: #f1f1f1;
}

footer .site_link_text:hover::after {
  animation: underline 0.5s cubic-bezier(1, 0.61, 0.355, 0.215) forwards;
}

footer .site_link .vertical_line {
  border-left: 1px solid rgba(255, 255, 255, 0.2);
  height: 24px;
}

footer .copyright {
  font-family: "Noto Sans JP";
  font-size: 12px;
  font-weight: 400;
  text-align: center;
  line-height: 18px;
  color: #fff;
}

@media screen and (max-width: 767px) {

  .footer_top {
    padding: 48px 0 160px;
  }

  footer .footer_logo {
    width: 100px;
  }

  footer .sns_logo {
    gap: 8px;
  }

  footer .sns_text {
    font-size: 36px;
    line-height: 36px;
    font-family: Copperplate;
  }

  footer .sns_sub_text {
    font-size: 14px;
    line-height: 21px;
  }

  footer .sns_logo .sns_icon a {
    width: 48px;
    height: 48px;
    padding: 12px;
  }

  footer .site_link_list {
    margin-bottom: 42px;
  }

  footer .site_link_list .site_link {
    margin: 16px auto 0;
  }

  footer .copyright {
    font-size: 11px;
  }
}

/* モーダル背景色 */
.modal {
  display: none;
  width: 100vw;
  height: 100%;
  background: transparent;
}

.scrollToTop {
  position: fixed;
  bottom: 110px;
  right: 24px;
  opacity: 0;
  transition: 0.4s all;
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
}

.scrollToTop.scrolled {
  opacity: 1;
  transition: 0.4s opacity;
}

.scrollToTop.scrolled:hover {
  opacity: 0.8;
  transition: 0.4s ease all;
}

.scrollToTop .gold_arrow_top {
  width: 60px;
  transform: rotate(-90deg);
}

.scrollToTop_txt {
  font-size: 22px;
  font-weight: 700;
  color: #877429;
  width: fit-content;
  /* margin-top: -20px; */
  font-family: Copperplate;
}

@media screen and (max-width: 767px) {
  .scrollToTop {
    bottom: 84px;
    right: 10%;
  }

  .scrollToTop .gold_arrow_top {
    width: 40px;
  }

  .scrollToTop_txt {
    font-size: 20px;
    font-family: Copperplate;
  }
}

/* --------------------------------------------------------
photo gallery
-----------------------------------------------------------*/
.header .header_logo {
  width: 99px;
  position: fixed;
  top: 24px;
  left: 64px;
  z-index: 99;
}

.header .btn_back {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  width: fit-content;
  position: fixed;
  top: 62.5px;
  right: 64px;
  opacity: 1;
  transition: 0.3s ease;
  z-index: 99;
}

.header .btn_back:hover {
  opacity: 0.8;
}

.header .btn_back p {
  color: #FFD700;
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  line-height: 90%;
  /* 21.6px */
  letter-spacing: -0.96px;
  text-transform: uppercase;
  /* font-family: copperplate; */
  font-family: "Helvetica Neue", Helvetica, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Arial, sans-serif;
}

.header .btn_back img {
  width: 13px;
}

.photo_gallery .main_title {
  color: #FFD700;
  padding-bottom: 80px;
  /* font-family: Copperplate; */
  font-family: "Helvetica Neue", Helvetica, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Arial, sans-serif;
}

.photo_box {
  padding: 96px 0;
}

.hide {
  display: none !important;
}

.photo_gallery {
  padding: 0 180px;
  background: radial-gradient(#004091, #0184d9);
}

.photo_gallery .photo_wrapper .title {
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 30px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 1.2px;
  display: flex;
  gap: 26px;
  align-items: center;
  margin-bottom: 40px;
  margin-top: 40px;
}

.photo_gallery .photo_wrapper a {
  position: relative;
}

.photo_gallery .photo_wrapper .lens {
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 32px;
  transition: 0.3s;
}

.photo_gallery .photo_wrapper a:hover .lens {
  transform: scale(1.1);
}

.photo_gallery .photo_wrapper .title p {
  white-space: nowrap;
}

.photo_gallery .photo_wrapper .title span {
  height: 1px;
  width: 100%;
  background-color: #fff;
  display: block;
}

.photo_gallery .item_box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.photo_gallery .main_title {
  text-align: center;
  /* font-family: Copperplate; */
  font-family: "Helvetica Neue", Helvetica, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Arial, sans-serif;
}

.photo_gallery_container {
  display: flex;
  flex-direction: column;
  gap: 64px;
}

.attached .next img,
.attached .prev img,
.movie_attached .next img,
.movie_attached .prev img {
  width: 10px;
}

/*------- pop over -------*/
.fancyboxBox {
  max-width: 100vw;
  max-height: 100vh;
}

.fancyboxBox .fancyboxDisplay {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.4);
  padding: 50px 0;
  width: 100vw;
  justify-content: center;
  overflow-y: scroll;
}

.fancybox-content {
  padding: 0;
}

.fancybox-button svg {
  display: none;
}

.fancybox-slide--html {
  padding: 0;
}

.fancyboxBox .content {
  width: 750px;
  max-width: calc(100% - 32px);
  margin: 0 auto;
}

.fancyboxDisplay .item_img {
  border: 2px solid #877429;
  max-width: 80vw;
  max-height: 80vh;
  width: auto;
  height: auto;
}

.fancyboxDisplay .item_img.rectangle {
  width: 290px;
}

.fancyboxDisplay .item_img.map {
  width: 700px;
}

.fancyboxDisplay .close {
  max-width: calc(100% - 32px);
  margin: 30px auto 0;
}

.fancybox-content {
  top: 50%;
  transform: translateY(-50%);
}

.fancybox-slide::before {
  display: none;
}

.attached,
.movie_attached {
  display: flex;
  justify-content: space-between;
  margin-top: 24px;
}

.fancybox-content button.prev,
.fancybox-content button.next {
  cursor: pointer;
  background: transparent;
  border: none;
  color: #FFD700;
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  line-height: 100%;
  display: flex;
  gap: 4px;
  align-items: center;
  justify-content: center;
  /* font-family: "Copperplate"; */
  font-family: "Helvetica Neue", Helvetica, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Arial, sans-serif;
}

.fancybox-content button.prev.btn_disable,
.fancybox-content button.next.btn_disable {
  pointer-events: none;
  opacity: 0.6;
}

.fancybox-caption {
  display: none;
}

.fancybox-infobar {
  display: none;
}

.fancybox-toolbar {
  display: none;
}

.fancybox-content .fancybox-close-small {
  display: none;
  pointer-events: none;
}

.fancybox-navigation {
  display: none;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .photo_gallery {
    padding: 0 180px;
    background: #0006b2;
  }

  .photo_gallery .main_title {
    padding-bottom: 36px;
    /* font-family: Copperplate; */
    font-family: "Helvetica Neue", Helvetica, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Arial, sans-serif;
  }

  .photo_gallery {
    padding: 0;
  }

  .fancybox-slide {
    padding: 0;
  }

  .attached,
  .movie_attached {
    margin-top: 12px;
  }

  .fancyboxDisplay .close {
    margin: 18px auto 0;
  }

  .item_box .fancyboxDisplay .close {
    width: 180px;
  }

  .fancyboxBox .fancyboxDisplay {
    padding: 0;
  }

  .photo_gallery .item_box {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .fancybox-content button.prev,
  .fancybox-content button.next {
    position: relative;
    top: unset;
    left: unset;
    right: unset;
    font-size: 18px;
  }

  .fancyboxBox .fancyboxDisplay .txt {
    margin-bottom: 28px;
  }

  .fancyboxBox .fancyboxDisplay .modal_btn {
    width: 500px;
    max-width: calc(100% - 32px);
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
  }

  .header .header_logo {
    width: 72px;
    top: 22px;
    left: 16px;
  }

  .header .btn_back {
    gap: 4px;
    top: 30px;
    right: 16px;
  }

  .header .btn_back p {
    font-size: 18px;
    /* font-family: copperplate; */
    font-family: "Helvetica Neue", Helvetica, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Arial, sans-serif;
  }

  .header .btn_back img {
    width: 10px;
  }

  .photo_gallery .photo_wrapper .title {
    margin-bottom: 24px;
    gap: 14px;
  }

  .photo_gallery .photo_wrapper .title p {
    font-size: 18px;
  }

  .attached .next img,
  .attached .prev img {
    width: 10px;
  }
}

/* --------------------------------------------------------
movie
-----------------------------------------------------------*/
.content iframe {
  aspect-ratio: 16 / 9;
}

.photo_gallery .movie_item {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 64px;
}

#movies .movie_top .item_name,
#movies .movie_bottom .item_name {
  font-family: "Mincho Std Bold", serif;
}

.movie_attached {
  width: 750px;
  max-width: calc(100% - 32px);
  margin: 24px auto 0;
}

.movie_item .fancyboxDisplay .close {
  width: 240px;
  max-width: calc(100% - 32px);
  margin: 30px auto 0;
}

.fancyboxDisplay .close_btn {
  margin: 30px 0 auto;
}

.btn_disable {
  pointer-events: none;
  opacity: 0.6;
}

@media screen and (max-width: 768px) {
  .photo_gallery .movie_item {
    grid-template-columns: repeat(1, 1fr);
    gap: 24px;
  }

  .movie_attached {
    margin-top: 32px;
  }
}

/* --------------------------------------------------------
parade
-----------------------------------------------------------*/
.parade {
  padding: 200px 0 120px;
}

.parade .main_title {
  color: #fff;
  text-align: center;
  font-family: Copperplate;
  font-size: 80px;
  font-weight: 700;
  line-height: 90%;
  margin-bottom: 2px;
}

.title_sub_text {
  color: #fff;
  text-align: center;
  font-family: "Mincho Std Bold", serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 150%;
  /* 27px */
  letter-spacing: 0.72px;
}

.title_box .sub_text {
  color: #fff;
  text-align: center;
  font-family: "Mincho Std Bold", serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.72px;
  width: 1008px;
  max-width: calc(100% - 24px);
  margin: 80px auto 0;
}

.parade .item_title {
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 30px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 1.2px;
  display: flex;
  gap: 26px;
  align-items: center;
  margin-bottom: 40px;
}

.parade .item_title p {
  white-space: nowrap;
}

.parade .item_title span {
  height: 1px;
  width: 100%;
  background-color: #fff;
  display: block;
}

.parade_inner {
  padding-top: 80px;
}

.img_parade {
  max-width: 100%;
  width: 1008px;
  display: block;
  margin: 0 auto 48px;
}

.map_parade {
  aspect-ratio: 4 / 3;
  max-width: 100%;
  width: 1008px;
  display: block;
  margin: 0 auto 36px;
}

.info_box {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 768px;
  max-width: 100%;
  justify-items: center;
  margin: 0 auto;
}

.info_flex {
  display: flex;
  gap: 24px;
  align-items: center;
}

.info_flex .gold_heading {
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-weight: 700;
  line-height: 120%;
  letter-spacing: 0.72px;
  border: 1px solid #877429;
  background: #877429;
  width: 160px;
  height: 48px;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}

.info_flex .detail {
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 700;
  line-height: 150%;
  /* 27px */
  letter-spacing: 0.72px;
  width: 584px;
  max-width: 100%;
}

.info_flex .detail.big {
  font-size: 18px;
}

.ride_info_text {
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  /* 28.8px */
  letter-spacing: 0.64px;
  margin: 0 auto 36px;
  width: 768px;
  max-width: 100%;
}

.ticket_info_text {
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.72px;
  margin: 0 auto 36px;
  width: 768px;
  max-width: 100%;
}

#ticket_info .info_box {
  margin-bottom: 64px;
}

.ticket_btn_box {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
}

.ticket_btn_box .cv_btn {
  width: 320px;
  height: 66px;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  color: #fff;
  text-align: center;
  font-family: "Mincho Std Bold", serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 150%;
  align-items: center;
}

.ticket_btn_box .cv_btn.white {
  border: 2px solid #fff;
  position: relative;
}

.ticket_btn_box .cv_btn.gold {
  background: #877429;
  position: relative;
}

.ticket_btn_box .cv_btn img {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 10px;
  width: 28px;
  height: 28px;
  transition: right 0.5s ease;
}

.ticket_btn_box .cv_btn.white:hover img,
.ticket_btn_box .cv_btn.gold:hover img {
  right: 5px;
}

.crowdfunding_text {
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.72px;
  width: 768px;
  max-width: 100%;
  margin: 0 auto 36px;
}

.crowdfunding_btn {
  position: relative;
  border: 2px solid #fff;
  width: 360px;
  height: 66px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.crowdfunding_btn span {
  display: block;
  color: #fff;
  text-align: center;
  font-family: "Mincho Std Bold", serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 120%;
}

.crowdfunding_btn img {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 10px;
  width: 28px;
  height: 28px;
  transition: right 0.5s ease;
}

.crowdfunding_btn:hover img {
  right: 5px;
}

.sponsor_container {
  background-color: #fff;
  width: 1008px;
  max-width: 100%;
  margin: 0 auto;
}

.parade_inner.sponsor_inner {
  padding-top: 120px;
}

.sponsor_container .heading {
  background: #877429;
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 20px;
  font-weight: 700;
  line-height: 150%;
  /* 30px */
  letter-spacing: 0.8px;
  padding: 10px 0;
}

.sponsor_wrapper {
  display: flex;
  flex-direction: column;
  gap: 48px;
  padding: 64px 72px;
}

.sponsor_container .top_box,
.sponsor_container .bottom_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 48px 16px;
}

.sponsor_container .bottom_box {
  gap: 16px;
}

.sponsor_container .sponsor_banner {
  width: 200px;
  max-width: 100%;
  opacity: 1;
}

.sponsor_container .sponsor_name {
  color: #003a8f;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-weight: 700;
  line-height: 150%;
  /* 21px */
  letter-spacing: 0.56px;
  text-decoration-line: underline;
  border: 1px solid #e8e8e8;
  width: 200px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  /* transition: opacity 0.5s; */
}

.sponsor_container .sponsor_banner:hover,
.sponsor_container .sponsor_name:hover {
  opacity: 0.6;
  transition: all 0.5s ease;
}

#ride_info .comingsoon {
  color: #d1d1d1;
  text-align: center;
  font-family: Copperplate;
  font-size: 80px;
  font-weight: 400;
  line-height: 90%;
  /* 72px */
  letter-spacing: -3.2px;
  padding: 118px 0;
}

@media screen and (max-width: 768px) {
  .parade {
    padding: 130px 0 78px;
  }

  .parade .main_title {
    font-size: 50px;
    margin-bottom: 4px;
  }

  .title_sub_text {
    font-size: 13px;
  }

  .title_box .sub_text {
    font-size: 13px;
    text-align: center;
    margin: 28px auto 0;
  }

  .parade_inner {
    padding-top: 64px;
  }

  .parade_inner.root_inner {
    padding-top: 40px;
  }

  .parade .item_title {
    font-size: 19px;
    gap: 16px;
    margin-bottom: 24px;
  }

  .img_parade {
    margin: 0 auto 24px;
  }

  .map_parade {
    margin: 0 auto 25px;
    aspect-ratio: 1 / 1;
  }

  .info_box {
    gap: 24px;
  }

  .info_flex {
    flex-direction: column;
    justify-content: start;
    gap: 10px;
    align-items: start;
  }

  .info_flex .gold_heading {
    width: 100px;
    height: 45px;
    font-size: 14px;
  }

  .info_flex .detail,
  .info_flex .detail.big {
    font-size: 14px;
  }

  .ride_info_text {
    font-size: 14px;
    margin: 0 auto 24px;
  }

  .ticket_info_text {
    font-size: 14px;
  }

  .ticket_btn_box {
    flex-direction: column;
    gap: 12px;
  }

  .ticket_btn_box .cv_btn {
    width: 310px;
    height: 56px;
    font-size: 18px;
  }

  #ticket_info .info_box {
    margin-bottom: 48px;
  }

  .crowdfunding_text {
    font-size: 14px;
  }

  .crowdfunding_btn {
    width: 310px;
    height: 64px;
  }

  .crowdfunding_btn span {
    font-size: 18px;
  }

  .sponsor_container .heading {
    font-size: 16px;
    padding: 6px 0;
  }

  .sponsor_wrapper {
    padding: 28px 16px;
    gap: 32px;
  }

  .sponsor_container .sponsor_banner {
    width: 146px;
    height: 55.44px;
  }

  .sponsor_container .top_box,
  .sponsor_container .bottom_box {
    gap: 42px 12px;
  }

  .sponsor_container .bottom_box {
    gap: 12px;
  }

  .sponsor_container .sponsor_name {
    font-size: 10px;
    width: 146px;
    height: 48px;
  }

  .parade_inner.sponsor_inner {
    padding-top: 80px;
  }

  #ride_info .comingsoon {
    font-size: 32px;
    padding: 50px 0;
  }
}

.ticket_btn_box .pc {
  display: none;
}

.ticket_btn_box .sp {
  display: flex;
}

@media screen and (min-width: 768px) {
  .ticket_btn_box .pc {
    display: flex;
  }

  .ticket_btn_box .sp {
    display: none;
  }
}

.fs_sm {
  font-size: 11px;
}

@media screen and (min-width: 768px) {
  .fs_sm {
    font-size: 14px;
  }
}

.photo_wrapper {
  width: 420px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .photo_wrapper {
    width: 340px;
  }
}

.thumbs {
  height: 200px;
  object-fit: cover;
  object-position: center;
}

.masked {
  visibility: hidden;
  pointer-events: none;
}

.photo--text {
  text-align: center;
  color: white;
}

