@charset "utf-8";
/* CSS Document */
body {
  position: relative;
  z-index: 0;
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  color: #fff;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  /* font-feature-settings: "palt";*/
}
body.menu_open,
body.lang_open {
  position: fixed;
  width: 100%;
  height: 100vh;
}
/* 共通 ------------------- */
.block_00 .inner {
  margin: 0 auto;
  width: min(calc(890 / 1100 * 100vw), 890px);
}
.block_00 .ttl02 {
  color: #fff;
  font-size: min(calc(17 / 1100 * 100vw), 17px);
  font-weight: 400;
  line-height: normal;
  display: flex;
  flex-flow: column;
}
.block_00 .ttl02 .en {
  color: #fff;
  text-shadow: 0 0 min(calc(4 / 1100 * 100vw), 4px) rgba(255, 255, 255, 0.25), 0 0 min(calc(34 / 1100 * 100vw), 34px) #fff;
  font-size: min(calc(65 / 1100 * 100vw), 65px);
}
.block_00 .ttl02.shadow02 .en {
  text-shadow: 0 0 min(calc(46.678 / 1100 * 100vw), 46.678px) rgba(213, 196, 120, 0.25), 0 0 min(calc(20.593 / 1100 * 100vw), 20.593px) #d5c478;
}
.block_00 .text00 {
  color: #fff;
  font-size: min(calc(16 / 1100 * 100vw), 16px);
  font-style: normal;
  font-weight: 400;
  line-height: calc(35 / 16);
}
.block_00 .text00 .size_l {
  display: block;
  font-size: min(calc(34 / 1100 * 100vw), 34px);
  font-weight: 400;
  line-height: normal;
  margin-bottom: min(calc(27 / 1100 * 100vw), 27px);
}
.sp_on {
  display: none;
}
@media screen and (max-width: 768px) {
  .block_00 .inner {
    width: 85.38%;
  }
  .block_00 .ttl02 {
    font-size: calc(17 / 390 * 100vw);
  }
  .block_00 .ttl02 .en {
    text-shadow: 0 0 calc(4 / 390 * 100vw) rgba(255, 255, 255, 0.25), 0 0 calc(34 / 390 * 100vw) #fff;
    font-size: calc(40 / 390 * 100vw);
  }
  .block_00 .ttl02.shadow02 .en {
    text-shadow: 0 0 calc(46.678 / 390 * 100vw) rgba(213, 196, 120, 0.25), 0 0 calc(20.593 / 390 * 100vw) #d5c478;
  }
  .block_00 .text00 {
    font-size: calc(14 / 390 * 100vw);
    line-height: calc(24 / 14);
  }
  .block_00 .text00 .size_l {
    font-size: calc(20 / 390 * 100vw);
    margin-bottom: calc(31 / 390 * 100vw);
  }
  .sp_on {
    display: inline;
  }
}
/* block_header ------------------- */
.block_header {
  background: linear-gradient(0deg, rgba(39, 33, 57, 0) 5.48%, rgba(39, 33, 57, 0.45) 40.93%, rgba(39, 33, 57, 0.6) 100%);
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
}
.menu_open .block_header,
.lang_open .block_header {
  overflow: visible;
}
.block_header .inner {
  margin: 0 auto;
  width: min(100%, 1100px);
  padding: min(calc(30 / 1100 * 100vw), 30px) min(calc(40 / 1100 * 100vw), 40px);
  display: flex;
  justify-content: flex-end;
  gap: 0 min(calc(30 / 1100 * 100vw), 30px);
}
.lang_open .block_header .inner {
  position: relative;
}
.block_header .inner > * {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: min(calc(11 / 1100 * 100vw), 11px) 0;
  font-size: min(calc(12 / 1100 * 100vw), 12px);
}
.lang_open .block_header .inner .insta,
.lang_open .block_header .inner .menu,
.menu_open .block_header .inner .insta,
.menu_open .block_header .inner .language {
  opacity: 0.5;
  filter: blur(2px);
  pointer-events: none;
}
.block_header .inner .icon {
  width: min(calc(22 / 1100 * 100vw), 22px);
  aspect-ratio: 1;
}
.block_header .inner .menu .btn_name {
  width: min(calc(41 / 1100 * 100vw), 41px);
  text-align: center;
}
.block_header .inner .menu .icon {
  position: relative;
  z-index: 0;
}
.block_header .inner .menu .icon span {
  position: absolute;
  z-index: 0;
  left: 50%;
  transform: translate(-50%, 0);
  transform-origin: center;
  width: min(calc(22 / 1100 * 100vw), 22px);
  height: 2px;
  background-color: #fff;
}
.block_header .inner .menu .icon span:nth-of-type(1) {
  top: 0;
}
.block_header .inner .menu .icon span:nth-of-type(2),
.block_header .inner .menu .icon span:nth-of-type(3) {
  top: 50%;
  transform: translate(-50%, -50%);
}
.block_header .inner .menu .icon span:nth-of-type(4) {
  bottom: 0;
}
.block_header .inner .menu.open .icon span {
  width: min(calc(30 / 1100 * 100vw), 30px);
}
.block_header .inner .menu.open .icon span:nth-of-type(2) {
  transform: translate(-50%, -50%) rotate(45deg);
  transition: transform 0.3s;
}
.block_header .inner .menu.open .icon span:nth-of-type(3) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  transition: transform 0.3s;
}
.block_header .inner .menu.open .icon span:nth-of-type(1),
.block_header .inner .menu.open .icon span:nth-of-type(4) {
  width: 0;
}
.block_header nav {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  transform: translateX(100%);
  width: min(calc(636 / 1100 * 100vw), 636px);
  height: 100vh;
  height: 100dvh;
  background: rgba(20, 17, 29, 0.8);
  backdrop-filter: blur(min(calc(12 / 1100 * 100vw), 12px));
  padding: min(calc(187 / 1100 * 100vw), 187px) min(calc(192 / 1100 * 100vw), 192px) 0 min(calc(142 / 1100 * 100vw), 142px);
  flex-flow: column;
  gap: min(calc(37 / 1100 * 100vw), 37px);
  opacity: 0;
  filter: blur(min(calc(5 / 1100 * 100vw), 5px));
  transition: transform 0.3s;
  display: flex;
}
.block_header nav.open {
  transform: translateX(0);
  opacity: 1;
  filter: blur(0);
  transition: filter 0.7s, opacity 0.3s;
}
.block_header nav a {
  font-size: min(calc(17 / 1100 * 100vw), 17px);
  display: flex;
  align-items: center;
  gap: 0 min(calc(24 / 1100 * 100vw), 24px);
}
.block_header nav a .en {
  font-size: min(calc(30 / 1100 * 100vw), 30px);
}
.block_header nav a.contact {
  margin-top: min(calc(5 / 1100 * 100vw), 5px);
  border: 1px solid #fff;
  padding: min(calc(20 / 1100 * 100vw), 20px) 0;
  font-size: min(calc(13 / 1100 * 100vw), 13px);
  justify-content: center;
}
.block_header nav a.contact:has(.cheak_empty) .p-container {
  display: none;
}
.block_header nav a.contact::after {
  content: "";
  background-image: url("../img/icon_contact.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  width: min(calc(30 / 1100 * 100vw), 30px);
  aspect-ratio: 1;
}
.block_header nav a.contact .dec_text {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: min(calc(4 / 1100 * 100vw), 4px) 0;
}
.block_header nav a.contact .en {
  font-size: min(calc(24 / 1100 * 100vw), 24px);
}
.block_header .box_lang {
  position: absolute;
  top: min(calc(124 / 1100 * 100vw), 124px);
  right: min(calc(75 / 1100 * 100vw), 75px);
  width: min(calc(143 / 1100 * 100vw), 143px);
  border: 1px solid #fff;
  background: rgba(20, 17, 29, 0.8);
  backdrop-filter: blur(1.5px);
  display: flex;
  padding: min(calc(40 / 1100 * 100vw), 40px);
  flex-direction: column;
  align-items: center;
  gap: min(calc(32 / 1100 * 100vw), 32px);
  font-size: min(calc(18 / 1100 * 100vw), 18px);
  font-weight: 500;
  opacity: 0;
  filter: blur(5px);
  pointer-events: none;
  transition: 0.3s;
}
.block_header .box_lang.open {
  position: absolute;
  opacity: 1;
  filter: blur(0);
  pointer-events: auto;
}
@media screen and (max-width: 768px) {
  .block_header {
    background: linear-gradient(0deg, rgba(39, 33, 57, 0) 13.64%, rgba(39, 33, 57, 0.75) 93.18%);
  }
  .block_header .inner {
    width: 100%;
    padding: calc(30 / 390 * 100vw) calc(20 / 390 * 100vw);
    display: flex;
    justify-content: flex-start;
    gap: 0 calc(10 / 390 * 100vw);
  }
  .block_header .inner > * {
    gap: calc(7 / 390 * 100vw) 0;
    font-size: calc(12 / 390 * 100vw);
  }
  .block_header .inner > .menu {
    margin-left: auto;
  }
  .block_header .inner .icon {
    width: calc(22 / 390 * 100vw);
  }
  .block_header .inner .menu .btn_name {
    width: calc(41 / 390 * 100vw);
  }
  .block_header .inner .menu .icon span {
    width: calc(22 / 390 * 100vw);
  }
  .block_header .inner .menu.open .icon span {
    width: calc(30 / 390 * 100vw);
  }
  .block_header .inner .menu.open .icon span:nth-of-type(2) {
    transform: translate(-50%, -50%) rotate(45deg);
    transition: transform 0.3s;
  }
  .block_header nav {
    width: 100%;
    padding: calc(122 / 390 * 100vw) calc(30 / 390 * 100vw) 0;
    gap: calc(37 / 390 * 100vw);
  }
  .block_header nav a {
    font-size: calc(17 / 390 * 100vw);
    display: flex;
    align-items: center;
    gap: 0 calc(21 / 390 * 100vw);
  }
  .block_header nav a .en {
    font-size: calc(32 / 390 * 100vw);
  }
  .block_header nav a.contact {
    margin-top: calc(5 / 390 * 100vw);
    border: 1px solid #fff;
    padding: calc(20 / 390 * 100vw);
    font-size: calc(13 / 390 * 100vw);
  }
  .block_header nav a.contact::after {
    width: calc(30 / 390 * 100vw);
  }
  .block_header nav a.contact .dec_text {
    gap: calc(4 / 390 * 100vw);
  }
  .block_header nav a.contact .en {
    font-size: calc(24 / 390 * 100vw);
  }
  .block_header .box_lang {
    position: absolute;
    top: calc(80 / 390 * 100vw);
    right: calc(189 / 390 * 100vw);
    width: calc(113 / 390 * 100vw);
    border: 1px solid #fff;
    padding: calc(30 / 390 * 100vw) calc(25 / 390 * 100vw);
    gap: calc(36 / 390 * 100vw);
    font-size: calc(18 / 390 * 100vw);
  }
}
/* block_footer ------------------- */
.block_footer {
  background: #282c30;
  padding-bottom: min(calc(180 / 1100 * 100vw), 180px);
}
.block_footer small {
  display: block;
  text-align: center;
  font-size: min(calc(13 / 1100 * 100vw), 13px);
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
@media screen and (max-width: 768px) {
  .block_footer {
    padding-bottom: calc(50 / 390 * 100vw);
  }
  .block_footer small {
    font-size: calc(13 / 390 * 100vw);
  }
}
/* to top ------------------- */
.block_float {
  position: fixed;
  z-index: 999;
  width: 100%;
  left: 0;
  bottom: min(calc(100 / 1100 * 100vw), 100px);
  pointer-events: none;
}
.block_float .inner {
  margin: 0 auto;
  width: min(calc(1000 / 1100 * 100vw), 1100px);
}
.block_float .inner .to_top {
  position: relative;
  z-index: 0;
  pointer-events: auto;
  background: rgba(39, 33, 57, 0.7);
  display: block;
  width: min(calc(60 / 1100 * 100vw), 60px);
  aspect-ratio: 1;
  margin-left: auto;
  border: 1px solid #fff;
  border-radius: min(calc(999 / 1100 * 100vw), 999px);
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  gap: min(calc(5 / 1100 * 100vw), 5px);
  font-size: min(calc(15 / 1100 * 100vw), 15px);
  opacity: 0;
  filter: blur(min(calc(5 / 1100 * 100vw), 5px));
  transition: 0.3s;
}
.block_float.on .inner .to_top {
  opacity: 1;
  filter: blur(0);
  pointer-events: auto;
}
.block_float .inner .to_top::before {
  content: "";
  display: block;
  width: min(calc(9 / 1100 * 100vw), 9px);
  aspect-ratio: 1;
  border: solid #fff;
  border-width: 2px 2px 0 0;
  transform: rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .block_float {
    bottom: calc(30 / 390 * 100vw);
  }
  .block_float .inner {
    width: 77.95%;
  }
  .block_float .inner .to_top {
    width: calc(60 / 390 * 100vw);
    border-radius: calc(999 / 390 * 100vw);
    gap: calc(5 / 390 * 100vw);
    font-size: calc(15 / 390 * 100vw);
  }
  .block_float .inner .to_top::before {
    width: calc(9 / 390 * 100vw);
  }
}
/* block_mv ------------------- */
.block_mv {
  overflow: hidden;
  background-image: url("../img/bi_mv.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  height: min(calc(964 / 1400 * 100vw), 964px);
}
.block_mv .inner {
  position: relative;
  z-index: 0;
  margin: 0 auto;
  width: min(calc(1054 / 1400 * 100vw), 1054px);
  /* padding-bottom: min(calc(40 / 1400 * 100vw), 40px); */
}
.block_mv .inner .mv_text {
  width: 70%;
  /* padding-left: min(calc(13 / 1400 * 100vw), 13px); */
}
/* .block_mv .inner .mv_text .mv_ttl {
  width: 148.9%;
  margin-top: -8%;
  margin-left: -25.89%;
  margin-bottom: -15%;
} */
.block_mv .inner .mv_text .mv_ttl {
  width: 92.6%;
  margin-left: -14.2%;
  margin-bottom: 4%;
}
.block_mv .inner .mv_text .wrapper_data {
  display: flex;
  align-items: center;
  gap: 0 min(calc(32 / 1400 * 100vw), 32px);
}

.block_mv .inner .mv_text .mv_dec {
  margin-top: min(calc(18 / 1400 * 100vw), 18px);
  width: min(calc(144 / 1400 * 100vw), 144px);
  aspect-ratio: 1;
  border: 2px solid #fff;
  border-radius: 999px;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  gap: min(calc(12 / 1400 * 100vw), 12px) 0;
  font-size: min(calc(19 / 1400 * 100vw), 19px);
  font-weight: 500;
}
.block_mv .inner .mv_text .mv_dec .en {
  font-size: min(calc(36 / 1400 * 100vw), 36px);
  font-weight: 400;
}
.block_mv .inner .mv_text .mv_data {
}
.block_mv .inner .mv_text .mv_data .timing {
  display: flex;
  align-items: center;
  font-size: min(calc(48 / 1400 * 100vw), 48px);
  gap: 0 min(calc(8 / 1100 * 1400), 8px);
  margin-bottom: min(calc(10 / 1400 * 100vw), 10px);
}
.block_mv .inner .mv_text .mv_data .timing time {
  display: flex;
  align-items: center;
}
.block_mv .inner .mv_text .mv_data .timing time:first-of-type::after {
  content: "";
  display: block;
  background-color: #fff;
  width: 1em;
  height: 1px;
}
.block_mv .inner .mv_text .mv_data .timing .weekday {
  font-size: 0.5em;
}
.block_mv .inner .mv_text .mv_data .data {
  display: flex;
  align-items: baseline;
  gap: 0 min(calc(10 / 1400 * 100vw), 10px);
}
.block_mv .inner .mv_text .mv_data .data + .data {
  margin-top: min(calc(5 / 1400 * 100vw), 5px);
}
.block_mv .inner .mv_text .mv_data .data + .data:has(.size_s) {
  margin-top: min(calc(13 / 1400 * 100vw), 13px);
}
.block_mv .inner .mv_text .mv_data .data dt {
  font-size: min(calc(17 / 1400 * 100vw), 17px);
}
.block_mv .inner .mv_text .mv_data .data dd {
  font-size: min(calc(36 / 1400 * 100vw), 36px);
}
.block_mv .inner .mv_text .mv_data .data dd.size_s {
  font-size: min(calc(17 / 1400 * 100vw), 17px);
}
.block_mv .inner .mv_cap {
  position: absolute;
  z-index: 1;
  bottom: -1.2%;
  right: -3.5%;
  font-size: min(calc(34 / 1400 * 100vw), 34px);
}

.block_mv .inner .mv_cap:has(.size_ss) {
  bottom: -5.5%;
}

.block_mv .inner .mv_cap .size_s {
  font-size: 0.5em;
  margin-right: 0.7em;
}
.block_mv .inner .mv_cap .size_ss {
  font-size: 0.8em;
}
@media screen and (max-width: 1150px) {
  .block_mv .inner .mv_cap {
    right: 0;
  }
}
@media screen and (max-width: 768px) {
  .block_mv {
    background-image: url("../img/bi_mv_sp.jpg");
    height: calc(960 / 390 * 100vw);
  }
  .block_mv .inner {
    width: 85.38%;
    padding-bottom: unset;
  }
  .block_mv .inner .mv_text {
    width: 100%;
    padding-left: 0;
  }
  .block_mv .inner .mv_text .mv_ttl {
    width: 136.44%;
    margin-top: 25%;
    margin-left: -11%;
    margin-bottom: 17%;
  }
  .block_mv .inner .mv_text .wrapper_data {
    display: contents;
  }
  .block_mv .inner .mv_text .mv_dec {
    margin-bottom: calc(16 / 390 * 100vw);
    width: calc(120 / 390 * 100vw);
    border: 1.5px solid #fff;
    border-radius: 999px;
    gap: calc(10 / 390 * 100vw) 0;
    font-size: calc(17 / 390 * 100vw);
  }
  .block_mv .inner .mv_text .mv_dec .en {
    font-size: calc(32 / 390 * 100vw);
  }
  .block_mv .inner .mv_text .mv_data .timing {
    font-size: calc(32 / 390 * 100vw);
    gap: 0 calc(8 / 390 * 100vw);
    margin-bottom: calc(10 / 390 * 100vw);
  }
  .block_mv .inner .mv_text .mv_data .timing time:first-of-type::after {
    width: 0.8em;
  }
  .block_mv .inner .mv_text .mv_data .timing .weekday .size_s {
    font-size: 0.75em;
  }
  .block_mv .inner .mv_text .mv_data .data {
    gap: 0 calc(10 / 390 * 100vw);
  }
  .block_mv .inner .mv_text .mv_data .data:has(.cheak_en) {
    flex-flow: column;
    gap: calc(5 / 390 * 100vw) calc(10 / 390 * 100vw);
  }

  .block_mv .inner .mv_text .mv_data .data + .data {
    margin-top: calc(5 / 390 * 100vw);
  }
  .block_mv .inner .mv_text .mv_data .data + .data:has(.size_s) {
    margin-top: calc(13 / 390 * 100vw);
  }
  .block_mv .inner .mv_text .mv_data .data dt {
    font-size: calc(16 / 390 * 100vw);
    font-weight: 400;
  }
  .block_mv .inner .mv_text .mv_data .data dd {
    font-size: calc(30 / 390 * 100vw);
  }
  .block_mv .inner .mv_text .mv_data .data dd.size_s {
    font-size: calc(16 / 390 * 100vw);
  }
  .block_mv .inner .mv_cap {
    position: static;
    font-size: calc(25 / 390 * 100vw);
    margin-top: calc(16 / 390 * 100vw);
  }
  .block_mv .inner .mv_cap .size_ss {
    font-size: 0.78em;
  }
  .block_mv .inner .mv_cap:has(.cheak_en) {
    display: flex;
    flex-flow: column;
    gap: calc(5 / 390 * 100vw) calc(10 / 390 * 100vw);
  }
  .block_mv .inner .mv_cap .size_s {
    font-size: calc(16 / 390 * 100vw);
    margin-right: 0.7em;
  }
}
/* block_about ------------------- */
.block_about {
  background-image: url("../img/bi_about.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  height: min(calc(934 / 1100 * 100vw), 934px);
  padding-top: min(calc(122 / 1100 * 100vw), 122px);
}
.block_about .inner .ttl02 {
  margin-bottom: min(calc(20 / 1100 * 100vw), 20px);
}
.block_about .inner .text00 .size_l {
  /* 記述ルールに明示されていないCSSプロパティは、セレクタ内に記述しないでください。 */
}
@media screen and (max-width: 768px) {
  .block_about {
    background-image: url("../img/bi_about_sp.jpg");
    height: calc(866 / 390 * 100vw);
    padding-top: calc(70 / 390 * 100vw);
  }
  .block_about .inner .ttl02 {
    margin-bottom: calc(30 / 390 * 100vw);
  }
  .block_about .ttl02 {
    font-size: calc(14 / 390 * 100vw);
  }
}
/* block_news ------------------- */
.block_news {
  padding: min(calc(100 / 1100 * 100vw), 100px) 0;
  background: linear-gradient(180deg, #355871 0%, #27292b 100%);
}
.block_news .inner {
}
.block_news .inner .ttl02 {
  align-items: flex-end;
  margin-bottom: min(calc(45 / 1100 * 100vw), 45px);
}
.block_news .inner .new_list {
  /* 記述ルールに明示されていないCSSプロパティは、セレクタ内に記述しないでください。 */
}
.block_news .inner .new_list {
  /* 記述ルールに明示されていないCSSプロパティは、セレクタ内に記述しないでください。 */
}
.block_news .inner .new_list li {
  /* 記述ルールに明示されていないCSSプロパティは、セレクタ内に記述しないでください。 */
}
.block_news .inner .new_list li + li {
  margin-top: min(calc(40 / 1100 * 100vw), 40px);
}
.block_news .inner .new_list li a {
  display: flex;
  gap: 0 min(calc(70 / 1100 * 100vw), 70px);
  padding-bottom: min(calc(40 / 1100 * 100vw), 40px);
  border-bottom: 1px solid #fff; /* 1px固定（対象外） */
}
.block_news .inner .new_list li time {
  font-size: min(calc(18 / 1100 * 100vw), 18px);
  font-weight: 400;
}
.block_news .inner .new_list li .news_ttl {
  font-size: min(calc(16 / 1100 * 100vw), 16px);
  font-weight: 500;
  /* line-height: calc(30 / 16); */
  word-break: break-all;
}
@media screen and (max-width: 768px) {
  .block_news {
    padding: calc(100 / 390 * 100vw) 0;
    background: linear-gradient(180deg, #355871 0%, #27292b 100%);
  }
  .block_news .inner .ttl02 {
    margin-bottom: calc(45 / 390 * 100vw);
  }
  .block_news .inner .new_list li + li {
    margin-top: calc(40 / 390 * 100vw);
  }
  .block_news .inner .new_list li a {
    flex-flow: column;
    gap: calc(24 / 390 * 100vw) 0;
    padding-bottom: calc(40 / 390 * 100vw);
  }
  .block_news .inner .new_list li time {
    font-size: calc(18 / 390 * 100vw);
  }
  .block_news .inner .new_list li .news_ttl {
    font-size: calc(16 / 390 * 100vw);
  }
}
/* block_content ------------------- */
.block_content {
  padding: min(calc(75 / 1100 * 100vw), 75px) 0 min(calc(165 / 1100 * 100vw), 165px);
  background: linear-gradient(#27292b, #282c30);
}
.block_content .inner {
  /* 記述ルールに明示されていないCSSプロパティは、セレクタ内に記述しないでください。 */
}
.block_content .ttl02 {
  margin-bottom: min(calc(50 / 1100 * 100vw), 50px);
}
.block_content .inner .list_content {
  display: flex;
  flex-flow: wrap;
  justify-content: space-between;
  gap: min(calc(45 / 1100 * 100vw), 45px) 0;
}
.block_content .inner .list_content .item00 {
  width: 47.4%;
  border: 1px solid #fff; /* 1px固定（対象外） */
  border-radius: 0 min(calc(50 / 1100 * 100vw), 50px) 0 0;
  padding: min(calc(30 / 1100 * 100vw), 30px) min(calc(35 / 1100 * 100vw), 35px);
  display: flex;
  flex-flow: column;
  gap: min(calc(28 / 1100 * 100vw), 28px) 0;
}
.block_content .inner .list_content .item00 .dec_no {
  font-size: min(calc(48 / 1100 * 100vw), 48px);
}
.block_content .inner .list_content .item00 .ttl03 {
  font-size: min(calc(20 / 1100 * 100vw), 20px);
  min-height: min(calc(60 / 1100 * 100vw), 60px);
  font-style: normal;
  line-height: 1.5;
}
.block_content .text00 {
  line-height: calc(25 / 16);
}
.block_content .inner .list_content .item00 figure {
  /* 記述ルールに明示されていないCSSプロパティは、セレクタ内に記述しないでください。 */
}
.block_content .inner .list_content .item00 figure img {
  /* 記述ルールに明示されていないCSSプロパティは、セレクタ内に記述しないでください。 */
}
.block_content .inner .list_content .item00 .text00 {
}
@media screen and (max-width: 768px) {
  .block_content {
    overflow: hidden;
    padding: calc(50 / 390 * 100vw) 0 calc(100 / 390 * 100vw);
  }
  .block_content .ttl02 {
    margin-bottom: calc(45 / 390 * 100vw);
  }
  .block_content .wraooer_list {
    margin: 0 calc(50% - 50vw) calc(30 / 390 * 100vw) 0;
    width: 92.69vw;
    overflow: hidden;
  }
  .block_content .inner .list_content {
    flex-flow: unset;
    justify-content: flex-start;
    /* gap: calc(20 / 390 * 100vw);*/
    padding-bottom: 1px;
  }
  .block_content .inner .list_content .item00 {
    /*width: calc(290 / 390 * 100vw);*/
    /* width:74.35vw!important;*/
    border-radius: 0 calc(29 / 390 * 100vw) 0 0;
    padding: calc(11 / 390 * 100vw) calc(20 / 390 * 100vw) calc(48 / 390 * 100vw);
    gap: calc(15 / 390 * 100vw) 0;
    align-self: stretch;
    height: auto;
  }
  .block_content .inner .list_content .item00 .dec_no {
    font-size: calc(28 / 390 * 100vw);
  }
  .block_content .inner .list_content .item00 .ttl03 {
    font-size: calc(18 / 390 * 100vw);
    min-height: calc(50 / 390 * 100vw);
  }
  .block_content .text00 {
    line-height: 2;
  }
  .block_content .inner .list_content .item00 figure {
    aspect-ratio: 1;
  }
  .block_content .inner .list_content .item00 figure img {
    object-fit: cover;
    height: 100%;
  }
}
/* block_yatai */
.block_yatai {
  background: linear-gradient(165deg, #282c30 18.69%, #35576f 53.79%, rgba(95, 57, 131, 0.8) 89.57%), #000;
  padding: min(calc(100 / 1100 * 100vw), 100px) 0 min(calc(100 / 1100 * 100vw), 100px);
}
.block_yatai .inner {
  width: min(calc(1054 / 1100 * 100vw), 1054px);
}
.block_yatai .inner .ttl02 {
  align-items: flex-end;
  margin-bottom: min(calc(40 / 1100 * 100vw), 40px);
}
.block_yatai .inner .list_yatai {
  display: flex;
  flex-flow: wrap;
  gap: min(calc(30 / 1100 * 100vw), 30px) calc(5.12% / 3);
}
.block_yatai .inner .list_yatai .item00 {
  width: 23.72%;
  border-radius: 0 min(calc(30 / 1100 * 100vw), 30px) 0 0;
  background: rgba(255, 255, 255, 0.3);
  padding: min(calc(25 / 1100 * 100vw), 25px) min(calc(20 / 1100 * 100vw), 20px);
  display: flex;
  flex-flow: column;
  gap: min(calc(13 / 1100 * 100vw), 13px) 0;
}
.block_yatai .inner .list_yatai .item00 .store_name {
  font-size: min(calc(17 / 1100 * 100vw), 17px);
  line-height: calc(25 / 18);
  font-weight: 400;
  /* min-height: min(calc(50 / 1100 * 100vw), 50px); */
}
.block_yatai .inner .list_yatai .item00 figure {
  /* 記述ルールに明示されていないCSSプロパティは、セレクタ内に記述しないでください。 */
}
.block_yatai .inner .list_yatai .item00 figure img {
  /* 記述ルールに明示されていないCSSプロパティは、セレクタ内に記述しないでください。 */
}
.block_yatai .inner .list_yatai .item00 .text01 {
  font-size: min(calc(14 / 1100 * 100vw), 14px);
  font-weight: 500;
  line-height: calc(16.019 / 10.252);
}
@media screen and (max-width: 768px) {
  .block_yatai {
    padding: calc(50 / 390 * 100vw) 0 calc(100 / 390 * 100vw);
  }
  .block_yatai .inner {
    width: 85.38%;
  }
  .block_yatai .inner .ttl02 {
    margin-bottom: calc(50 / 390 * 100vw);
  }
  .block_yatai .wraooer_list {
    margin: 0 calc(50% - 50vw) calc(30 / 390 * 100vw) 0;
    width: 92.69vw;
    overflow: hidden;
  }
  .block_yatai .inner .list_yatai {
    flex-flow: unset;
    justify-content: flex-start;
    gap: unset;
  }
  .block_yatai .inner .list_yatai .item00 {
    width: auto;
    height: auto;
    border-radius: 0 calc(26 / 390 * 100vw) 0 0;
    padding: calc(33.5 / 390 * 100vw) calc(13.4 / 390 * 100vw);
    gap: calc(13.4 / 390 * 100vw) 0;
  }
  .block_yatai .inner .list_yatai .item00 .store_name {
    font-size: calc(20 / 390 * 100vw);
    line-height: calc(26 / 20);
    min-height: calc(52 / 390 * 100vw);
  }
  .block_yatai .inner .list_yatai .item00 .text01 {
    font-size: calc(14 / 390 * 100vw);
    font-weight: 400;
    line-height: calc(26.8 / 17.4);
  }
}
/* block_story */
.block_story {
  background-image: url("../img/bi_story.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  padding-top: min(calc(100 / 1100 * 100vw), 100px);
  aspect-ratio: 1440 / 624;
}
.block_story .inner .ttl02 {
  margin-bottom: min(calc(40 / 1100 * 100vw), 40px);
}
.block_story .inner .text00 {
}
@media screen and (max-width: 768px) {
  .block_story {
    background-image: url("../img/bi_story.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    padding-top: calc(100 / 390 * 100vw);
    aspect-ratio: 390 / 458;
  }
  .block_story .inner .ttl02 {
    margin-bottom: calc(40 / 390 * 100vw);
  }
}
/* block_access */
.block_access {
  background: #272139;
  padding: min(calc(145 / 1100 * 100vw), 145px) 0 min(calc(140 / 1100 * 100vw), 140px);
}
.block_access .inner {
  width: min(calc(1054 / 1100 * 100vw), 1054px);
  display: flex;
  justify-content: space-between;
}
.block_access .inner .ttl02 {
}
.block_access .inner dl {
  width: 27.2%;
}
.block_access .inner dl .data_content {
}
.block_access .inner dl .data_content + .data_content {
  margin-top: min(calc(40 / 1100 * 100vw), 40px);
}
.block_access .inner dl .data_content dt {
  position: relative;
  z-index: 0;
  font-size: min(calc(24 / 1100 * 100vw), 24px);
  line-height: calc(30 / 24);
  padding-bottom: min(calc(15 / 1100 * 100vw), 15px);
  margin-bottom: min(calc(15 / 1100 * 100vw), 15px);
}
.block_access .inner dl .data_content dt::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  background-color: #fff;
  bottom: 0;
  transform: translate(0, 0);
  width: min(calc(40 / 1100 * 100vw), 40px);
  height: 1px; /* 1px固定（対象外） */
}
.block_access .inner dl .data_content dd {
  font-size: min(calc(15 / 1100 * 100vw), 15px);
  font-weight: 500;
  line-height: calc(25 / 15);
}
.block_access .inner figure {
  width: 38.9%;
  align-self: baseline;
  aspect-ratio: 410 / 370;
}
.block_access .inner figure img {
  /* 記述ルールに明示されていないCSSプロパティは、セレクタ内に記述しないでください。 */
}
@media screen and (max-width: 768px) {
  .block_access {
    background: #272139;
    padding: calc(100 / 390 * 100vw) 0;
  }
  .block_access .inner {
    width: 85.38%;
    flex-flow: column;
    gap: calc(30 / 390 * 100vw) 0;
  }
  .block_access .inner .ttl02 {
    order: 1;
  }
  .block_access .inner dl {
    order: 3;
    width: 100%;
  }
  .block_access .inner dl .data_content {
  }
  .block_access .inner dl .data_content + .data_content {
    margin-top: calc(40 / 390 * 100vw);
  }
  .block_access .inner dl .data_content dt {
    position: relative;
    z-index: 0;
    font-size: calc(20 / 390 * 100vw);
    line-height: calc(30 / 24);
    padding-bottom: calc(15 / 390 * 100vw);
    margin-bottom: calc(15 / 390 * 100vw);
    font-weight: 400;
  }
  .block_access .inner dl .data_content dt::after {
    width: calc(40 / 390 * 100vw);
  }
  .block_access .inner dl .data_content dd {
    font-size: calc(14 / 390 * 100vw);
    font-weight: 400;
    line-height: calc(24 / 14);
  }
  .block_access .inner figure {
    order: 2;
    width: 100%;
    aspect-ratio: 333 / 170;
  }
}
/* block_contact */
.block_contact {
  background-image: url("../img/bi_contact.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  aspect-ratio: 1100 / 464;
  padding-top: min(calc(105 / 1100 * 100vw), 105px);
}
.block_contact .inner {
  /* 記述ルールに明示されていないCSSプロパティは、セレクタ内に記述しないでください。 */
}
.block_contact .inner .ttl02_l {
  color: #fff;
  text-align: center;
  font-size: min(calc(17 / 1100 * 100vw), 17px);
  font-weight: 400;
  display: flex;
  flex-flow: column;
  align-items: center;
  margin-bottom: min(calc(60 / 1100 * 100vw), 60px);
}
.block_contact .inner .ttl02_l .en {
  font-size: min(calc(96 / 1100 * 100vw), 96px);
}
.block_contact .btn01 {
  margin: 0 auto;
  width: min(calc(570 / 1100 * 100vw), 570px);
  aspect-ratio: 570 / 72;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 min(calc(13 / 1100 * 100vw), 13px);
  border: 1px solid #fff; /* 1px固定（対象外） */
  background: rgba(39, 33, 57, 0.6);
  font-size: min(calc(20 / 1100 * 100vw), 20px);
  line-height: normal;
}
.block_contact .btn01::after {
  content: "";
  background-image: url("../img/icon_contact.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  top: 0;
  left: 0;
  transform: translate(0, 0);
  width: min(calc(24 / 1100 * 100vw), 24px);
  aspect-ratio: 1;
}
@media screen and (max-width: 768px) {
  .block_contact {
    background-image: url("../img/bi_contact.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    aspect-ratio: 390 / 406;
    padding-top: calc(100 / 390 * 100vw);
  }
  .block_contact .inner .ttl02_l {
    font-size: calc(17 / 390 * 100vw);
    margin-bottom: calc(60 / 390 * 100vw);
  }
  .block_contact .inner .ttl02_l .en {
    font-size: calc(40 / 390 * 100vw);
    margin-bottom: calc(10 / 390 * 100vw);
  }
  .block_contact .btn01 {
    margin: 0 auto;
    width: 100%;
    aspect-ratio: 333 / 72;
    gap: 0 calc(10 / 390 * 100vw);
    font-size: calc(18 / 390 * 100vw);
  }
  .block_contact .btn01::after {
    width: calc(24 / 390 * 100vw);
  }
}
/* block_sponsor */
.block_sponsor {
  background: #282c30;
  padding: min(calc(70 / 1100 * 100vw), 70px) 0 min(calc(87 / 1100 * 100vw), 87px);
}
.block_sponsor .inner {
  /* 記述ルールに明示されていないCSSプロパティは、セレクタ内に記述しないでください。 */
}
.block_sponsor .inner .ttl02 {
  align-items: center;
  margin-bottom: min(calc(63 / 1100 * 100vw), 63px);
}
.block_sponsor .inner .list_sponsor {
  display: flex;
  justify-content: space-between;
  flex-flow: wrap;
  gap: min(calc(16 / 1100 * 100vw), 16px) 0;
  margin-bottom: min(calc(62 / 1100 * 100vw), 62px);
}
.block_sponsor .inner .list_sponsor .item00 {
  width: 48.54%;
}
.block_sponsor .inner .list_sponsor .item00 img {
  /* 記述ルールに明示されていないCSSプロパティは、セレクタ内に記述しないでください。 */
}
.block_sponsor .inner .list_banner {
  display: flex;
  flex-flow: wrap;

  gap: min(calc(17.5 / 1100 * 100vw), 17.5px) 1.97%;
}
.block_sponsor .inner .list_banner.adjust_center {
  justify-content: center;
}

.block_sponsor .inner .list_banner .item00 {
  width: 32.02%;
}

.block_sponsor .wrapper_banner + .wrapper_banner {
  margin-top: min(calc(32 / 1100 * 100vw), 32px);
}

.block_sponsor .wrapper_banner h3 {
  margin-bottom: min(calc(19 / 1100 * 100vw), 19px);
  text-align: center;
  font-size: min(calc(17 / 1100 * 100vw), 17px);
}

@media screen and (max-width: 768px) {
  .block_sponsor {
    padding: calc(46 / 390 * 100vw) 0 calc(67 / 390 * 100vw);
  }
  .block_sponsor .inner .ttl02 {
    margin-bottom: calc(48 / 390 * 100vw);
  }
  .block_sponsor .inner .list_sponsor {
    gap: calc(6 / 390 * 100vw) 0;
    margin-bottom: calc(20 / 390 * 100vw);
  }
  .block_sponsor .inner .list_sponsor .item00 {
    width: 48.5%;
  }

  .block_sponsor .wrapper_banner + .wrapper_banner {
    margin-top: calc(32 / 390 * 100vw);
  }

  .block_sponsor .wrapper_banner h3 {
    margin-bottom: calc(19 / 390 * 100vw);
    font-size: calc(17 / 390 * 100vw);
  }
}
/*スライドパーツ */
.wrapper_slide_op {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.wrapper_btn {
  width: calc(90 / 390 * 100vw);
  position: relative;
  display: flex;
  justify-content: space-between;
}
.wrapper_btn .swiper-button-prev01,
.wrapper_btn .swiper-button-next01,
.wrapper_btn .swiper-button-prev02,
.wrapper_btn .swiper-button-next02 {
  position: static;
  width: calc(40 / 390 * 100vw);
  height: calc(40 / 390 * 100vw);
  border: 1px solid #fff;
  border-radius: 999px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 0;
}
.wrapper_btn .swiper-button-next01::after,
.wrapper_btn .swiper-button-prev01::after,
.wrapper_btn .swiper-button-next02::after,
.wrapper_btn .swiper-button-prev02::after {
  content: "";
  display: block;
  background-image: url("../img/icon_arrow.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  width: calc(16.5 / 390 * 100vw);
  aspect-ratio: 18 / 13;
}
.wrapper_btn .swiper-button-prev01::after,
.wrapper_btn .swiper-button-prev02::after {
  transform: scale(-1, 1);
}
.wrapper_slide_op .swiper-pagination01,
.wrapper_slide_op .swiper-pagination02 {
  position: static;
  width: calc(220 / 390 * 100vw);
  display: flex;
}
.wrapper_slide_op .swiper-pagination-bullet {
  background: #fff;
  border-radius: unset;
  margin: 0 !important;
  flex: 1 1 auto;
  height: 2px;
}
@media screen and (min-width: 769px) {
  .wrapper_slide_op {
    display: none;
  }
}
