@charset "UTF-8";

@import url("https://fonts.googleapis.com/css2?family=Philosopher:ital,wght@0,400;0,700;1,400;1,700&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");

:root {
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 700;
  --font-weight-black: 900;
}

/*************
FMT
*************/
.info_wrap,
.footer_container {
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Arial", "Verdana", "sans-serif";
  font-size: 16px;
  color: #000;
  line-height: 1.5;
  font-weight: 400;
}

img {
  display: block;
  width: 100%;
}

.content_wrap {
  -webkit-font-smoothing: antialiased;
  /* font-family: "〇〇〇〇〇〇〇〇〇〇〇〇",'Noto Sans JP', serif; */
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 400;
  color: var(--text-color);
  margin-top: 66px;
  /* background-color: var(--bg-color); */
  background-color: #e6d3cd;
  background-image: url(../img/bg-line.png);
  background-size: 36px;
  background-repeat: repeat;
  background-position: left top;
  width: 100%;
  position: relative;
  letter-spacing: 0.05em;
  z-index: 0;
}

a:hover img {
  opacity: 1;
}

figure {
  margin: 0 auto;
  width: 100%;
  max-width: 500px;
}

figcaption .caption {
  margin-left: auto;
  margin-right: 0;
  width: fit-content;
  font-size: 12px;
}

@media (min-width: 751px) {
  .content_wrap {
    margin-top: 90px;
  }
}

:root {
  --text-color: #000000;
  --primary-color: #2ebcad;
  --bg-color: #ffffff;
  --red-color: #ee0000;
  --accent-color: #ffff00;
}

/*アキ*/
.mgt48 {
  margin-top: 48px !important;
}

.mgt32 {
  margin-top: 32px !important;
}

.mgt24 {
  margin-top: 24px !important;
}

.mgt16 {
  margin-top: 16px !important;
}

.mgt8 {
  margin-top: 8px !important;
}

.mgt4 {
  margin-top: 4px !important;
}

.mgt0 {
  margin-top: 0 !important;
}

/*テキストサイズ*/
.annotation {
  font-size: 14px;
}

.smallest {
  font-size: 12px;
}

.larger {
  font-size: 1.5em;
}

.smaller {
  font-size: 0.75em;
}

/* テキスト揃え */
.center {
  text-align: center;
}

.auto_center {
  margin-left: auto;
  margin-right: auto;
  width: fit-content;
}

.right {
  text-align: right;
}

.left {
  text-align: left;
}

.ib {
  display: inline-block;
}

/* テキストカラー */
.fcPrimary {
  color: var(--primary-color);
}

.fcRed {
  color: var(--red-color);
}

.fcWhite {
  color: #fff;
}

.fcYellow {
  color: #ff0;
}

/* テキスト汎用 */
.bold {
  font-weight: bold;
}

.text_link {
  /* color: var(--primary-color); */
  text-decoration: underline;
  font-weight: bold;
  cursor: pointer;
}

.marker {
  background: linear-gradient(transparent 50%, var(--accent-color) 50%);
}

.relative_wrap {
  position: relative;
}

/* 箇条書き */
ul.text_list li,
p.text_list {
  text-indent: -1em;
  padding-left: 1em;
  text-align: left;
}

ul.text_list li + li {
  margin-top: 2px;
}

ul.text_list.annotation li {
  font-size: 12px;
}

ul.text_list.annotation li.qr_notice {
  font-size: 10px;
  margin-bottom: 20px;
}

@media (min-width: 751px) {
  .red_box {
    font-size: 22px;
  }

  .pc_center {
    text-align: center;
  }
}

/* js-fadeUp */
.js-fadeUp {
  transform: translateY(10px);
  opacity: 0;
  transition: all 1s;
}

.js-fadeUp.is-inview {
  transform: translateY(0);
  opacity: 1;
}

/*************
汎用
*************/
/* ボイストック枠 */
.VoiStock_btn {
  display: block;
  position: relative;
  max-width: 400px;
  margin: 32px auto 8px;
}

.VoiStock_btn.comingSoon {
  pointer-events: none;
}

.VoiStock_btn p.comingSoon {
  background: rgba(56, 18, 36, 0.8);
  color: #fff;
  font-weight: bold;
  font-size: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  max-width: 400px;
  transform: translate(-50%, -50%);
  border-radius: 100vmax;
}

.qr_wrap {
  display: none;
}

@media (min-width: 751px) {
  .qr_wrap {
    padding: 16px;
    margin: 32px auto 6px;
    border: 2px solid #fff;
    background-image: url(../img/bg-qr.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    display: flex;
    gap: 16px;
    border-radius: 10px;
    max-width: 480px;
    align-items: center;
  }

  .qr_text {
    flex: 1;
  }

  .qr_text_wrap {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .qr_text_hd {
    font-weight: bold;
    margin-bottom: 6px;
    font-size: 17px;
    color: #b24555;
    background-color: #fff;
    padding: 4px 12px;
    border-radius: 40px;
    text-align: center;
  }

  .qr_text p {
    font-size: 14px;
    color: #fff;
    text-align: left;
  }

  .qr_img {
    width: 100px;
    position: relative;
    padding: 4px;
    border-radius: 8px;
    background-color: #fff;
  }

  .qr_img .comingSoon {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    color: var(--text-color);
    font-size: 20px;
    line-height: 1.2;
    text-align: center;
  }
}

/* アコーディオン */
.acc_body {
  display: none;
}

.acc_btn {
  font-weight: bold;
  width: fit-content;
  margin: 32px auto 0;
  color: var(--text-color);
  position: relative;
  padding-right: 28px;
  cursor: pointer;
  transition: all 0.3s;
}

.acc_btn span {
  position: absolute;
  background-color: #fff;
  height: 16px;
  width: 16px;
  border-radius: 100%;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.acc_btn span::before,
.acc_btn span::after {
  content: "";
  background-color: #24282f;
  position: absolute;
  width: 10px;
  height: 2px;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  transition: transform 0.3s;
}

.acc_btn span::before {
  transform: translate(-50%, -50%) rotate(90deg);
}

.acc_btn.open span::before {
  transform: translate(-50%, -50%);
}

/* ご注意事項アコーディオン */
.caution_acc .acc_btn {
  background-color: #24282f;
  width: 100%;
  color: #fff;
  text-align: center;
  padding: 5px 10px 7px;
  box-sizing: border-box;
}

.caution_acc .acc_btn span {
  right: 10px;
}

.caution_acc .acc_body {
  padding: 10px 0;
  border-radius: 8px;
  /* margin-top: 16px; */
  /* border: 2px solid var(--primary-color); */
}

.caution_head {
  font-weight: bold;
  font-size: 14px;
  margin-bottom: 4px;
}

.text_list + .caution_head {
  margin-top: 8px;
}

@media (min-width: 751px) {
  .caution_acc .acc_body {
    padding: 0;
    border-radius: 16px;
  }
}

/*************
〇〇〇〇
*************/
@media (min-width: 751px) {
}

/*************
〇〇〇〇
*************/
@media (min-width: 751px) {
}

/*************
〇〇〇〇
*************/
@media (min-width: 751px) {
}

/*************
〇〇〇〇
*************/
@media (min-width: 751px) {
}

/*************
〇〇〇〇
*************/
@media (min-width: 751px) {
}

/*************
〇〇〇〇
*************/
@media (min-width: 751px) {
}

/*************
終了処理
*************/

.red_box {
  font-weight: bold;
  border: 2px solid var(--red-color);
  color: var(--red-color);
  font-size: 18px;
  text-align: center;
  padding: 8px;
  margin: 16px auto 0;
  max-width: 800px;
  width: calc(100% - 40px);
  background-color: #fff;
}

.VoiStock_btn.sign-off-btn {
  pointer-events: none;
  position: relative;
}

.sign-off {
  background-color: rgba(255, 255, 255, 0.8);
  color: #ee0000;
  border: #ee0000 2px solid;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 85%;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 18px;
  text-align: center;
  padding: 16px 0;
}

@media (min-width: 751px) {
  /* 終了処理 QR枠用 */
  .sign-off-pc {
    background-color: rgba(255, 255, 255, 0.9);
    color: #ee0000;
    border: #ee0000 2px solid;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 85%;
    height: 85%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
    text-align: center;
  }
}

/*************
footer
*************/
/*その他の推し旅プラン*/
.info_wrap {
  margin: 0 auto;
  padding: 8px 40px 20px;
  position: relative;
  background-color: #fff;
}

.oshitabi_btn {
  display: block;
  border: 4px solid #000;
  background-color: #fff;
  max-width: 740px;
  margin: 32px auto 0;
  text-align: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  border-radius: 10px;
  position: relative;
  padding: 10px 30px 10px 5px;
  font-size: 18px;
  transition: all 0.3s;
}

.oshitabi_btn:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 30px;
  height: 12px;
  width: 12px;
  border-top: 3px solid #000;
  border-right: 3px solid #000;
  transform: translateY(-50%) rotate(45deg);
  transition: all 0.3s;
}

.oshitabi_btn:hover {
  background-color: var(--primary-color);
  color: #fff;
  border: 4px solid var(--primary-color);
}

.oshitabi_btn:hover::after {
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
}

.credit {
  text-align: center;
  margin-top: 16px;
  font-size: 12px;
}

.footer_container {
  position: relative;
  z-index: 100;
  background-color: #fff;
  padding-top: 1px;
}

@media (min-width: 751px) {
  .info_wrap {
    margin: 0 auto;
    padding: 8px 20px 100px;
  }

  .oshitabi_btn {
    padding: 15px;
    font-size: 20px;
  }
}

/*************
メディアクエリ
*************/
.en {
  font-family: "Philosopher", sans-serif;
  font-style: normal;
}

@media (min-width: 751px) {
  .sp {
    display: none;
  }
}

@media (max-width: 750px) {
  .pc {
    display: none;
  }
}

.content_wrap_inner {
  padding: 5% 4vw 50px;
}

#mainVisual figure {
  opacity: 0;
  filter: blur(15px);
  transition: 2s ease;
  position: relative;
}

.loaded #mainVisual figure {
  opacity: 1;
  filter: blur(0);
}

#mainVisual .sp h1 {
  display: grid;
  grid-template-rows: 2, 1fr;
}

.mv_txt {
  position: relative;
  z-index: 10;
  text-align: center;
  margin-top: -20px;
}

.date {
  width: 81.3%;
  margin: 0 auto;
}

[class^="group_"] .date {
  margin: 20px auto 0;
}

.logo {
  width: 76.07%;
  margin: 1rem auto 0;
}

.notice_txt {
  position: relative;
  font-size: 15px;
  font-weight: var(--font-weight-bold);
  text-align: center;
  margin-top: 50px;
}

.notice_txt::before,
.notice_txt::after {
  content: "";
  display: block;
  position: absolute;
  width: 70px;
  height: 58px;
}

.notice_txt::before {
  top: -3rem;
  left: 2rem;
  background-image: url(../img/deco01.png);
  scale: 0.5;
}

.notice_txt::after {
  bottom: -3rem;
  right: 2rem;
  background-image: url(../img/deco01.png);
  scale: -0.5;
}

.notice_txt span {
  background: linear-gradient(transparent 50%, #ddc0b6 50%);
}

.navi_list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-top: 50px;
}

.navi_list li img {
  width: 100%;
  height: auto;
  display: block;
}

.navi_list li {
  width: calc((100% - 10px) / 2);
}

.hgroup1 {
  position: relative;
  font-weight: var(--font-weight-bold);
  text-align: center;
  margin-top: 50px;
  padding: 60px 0 20px;
  z-index: 10;
}

.hgroup1::before,
.hgroup1::after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  translate: -50%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: -1;
}

.hgroup1::before {
  top: 0;
  background-image: url(../img/deco_ribbon.png);
  width: 150px;
  height: 63px;
}

.hgroup1::after {
  bottom: 0;
  background-image: url(../img/deco_line.png);
  width: 180px;
  height: 12px;
}

.hgroup1 .num {
  position: absolute;
  top: -20px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 90px;
  height: 90px;
  font-size: 36px;
  font-weight: var(--font-weight-bold);
  color: #ddad9e;
  z-index: 1;
}

.hgroup1 .num::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  animation: 30s movie-txt linear infinite;
  pointer-events: none;
}

.hgroup1 .num1 {
  left: 0;
}

.hgroup1 .num1::before {
  background: url(../img/text-rotate01.png) no-repeat center / contain;
}

.hgroup1 .num2 {
  right: 0;
}

.hgroup1 .num2::before {
  background: url(../img/text-rotate02.png) no-repeat center / contain;
}

.hgroup1 .num3 {
  left: 0;
}

.hgroup1 .num3::before {
  background: url(../img/text-rotate03.png) no-repeat center / contain;
}

.hgroup1 .num4 {
  right: 0;
}

.hgroup1 .num4::before {
  background: url(../img/text-rotate04.png) no-repeat center / contain;
}

.hgroup1 .ttl {
  display: block;
  font-size: 15px;
  color: #c5727e;
}

.hgroup1 h2.en {
  font-size: 32px;
  font-weight: var(--font-weight-bold);
  margin-top: 5px;
}

.hgroup1 .comment {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 15px;
  font-weight: var(--font-weight-bold);
  margin-top: 5px;
}

.hgroup1 .comment::before,
.hgroup1 .comment::after {
  width: 1px;
  height: 14px;
  background-color: #000;
  content: "";
}

.hgroup1 .comment::before {
  rotate: -35deg;
  margin-top: 5px;
  margin-right: 14px;
}

.hgroup1 .comment::after {
  rotate: 35deg;
  margin-top: 5px;
  margin-left: 14px;
}

.hgroup1 .lead {
  display: inline-block;
  font-size: 15px;
  font-weight: var(--font-weight-bold);
  margin-top: 5px;
}

.hgroup2 {
  position: relative;
  font-weight: var(--font-weight-bold);
  text-align: center;
  padding: 50px 0 0;
  z-index: 10;
}

.hgroup2::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50%;
  scale: 0.5;
  background-image: url(../img/deco-ribbon_pink.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 294px;
  height: 51px;
  z-index: -1;
}

.hgroup2 .ttl {
  font-size: 32px;
  font-weight: var(--font-weight-bold);
  color: #ffb6c1;
}

@keyframes movie-txt {
  0% {
    rotate: 0eg;
  }

  100% {
    rotate: 360deg;
  }
}

.block_contents1 {
  background-color: #efe4e1;
  border: solid 1px #24282f;
  border-radius: 20px;
  margin-top: 20px;
  padding: 30px 15px;
}

.block_contents2 {
  background-color: #fff;
  border-radius: 20px;
  margin-top: 30px;
  padding: 30px 15px;
}

.block_contents2:not(:first-child) {
  margin-bottom: 50px;
}

.qr_notice {
  font-size: 10px;
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 10px;
}

.contents_txt {
  font-size: 15px;
  font-weight: var(--font-weight-bold);
  line-height: 1.8;
  text-align: center;
  letter-spacing: normal;
}

.contents_txt-collab {
  border-top: solid 1px #24282f;
  font-size: 17px;
  font-weight: var(--font-weight-bold);
  line-height: 1.5;
  text-align: center;
  letter-spacing: normal;
  margin-top: 20px;
  padding-top: 20px;
}

.contents_txt-collab span {
  font-size: 12px;
}

.contents_txt-collab_notice {
  display: block;
  font-size: 12px;
  text-align: center;
}

.img-question {
  position: relative;
  width: 47.62%;
  margin-top: 20px;
  z-index: 1;
}

.img-question::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: -40px;
  background-image: url(../img/img-total.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 72px;
  height: 72px;
}

.img-question_notice {
  display: block;
  font-size: 12px;
  text-align: center;
  margin-top: 5px;
}

.precautions_ttl {
  font-size: 13px;
  font-weight: var(--font-weight-bold);
  border-bottom: solid 1px #24282f;
  padding-bottom: 10px;
  margin-bottom: 10px;
}

.geoup3_acc .text_list {
  padding: 10px;
}

.contents_datelist {
  background-color: #fff;
  border-radius: 10px;
  text-align: center;
  margin-top: 20px;
  padding: 20px 15px;
}

.contents_datelist .num {
  position: relative;
  display: inline-block;
  font-size: 16px;
  font-weight: var(--font-weight-bold);
  margin: 5px 0;
  z-index: 1;
}

.contents_datelist .num::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  background-image: url(../img/bg-ellipse.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 48px;
  height: 25px;
  padding: 3px;
  z-index: -1;
}

.date_txt {
  display: flex;
  justify-content: center;
  align-items: baseline;
  font-size: 22px;
  font-weight: var(--font-weight-bold);
}

.date_txt:not(:last-child) {
  border-bottom: solid 1px #24282f;
  margin-bottom: 10px;
  padding-bottom: 10px;
}

.date_txt span {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 15px;
  margin-left: 5px;
}

.date_txt span:first-child::after {
  content: "";
  display: block;
  width: 18px;
  height: 1px;
  background-color: #24282f;
  margin: 0 10px;
}

.advance_txt {
  font-size: 13px;
}

.notice_acc .acc_btn {
  background-color: #fff;
  border-radius: 100px;
  width: fit-content;
  color: #24282f;
  padding: 5px 35px 7px 20px;
}

.notice_acc .acc_btn span {
  background-color: #24282f;
}

.notice_acc .acc_btn span::before,
.notice_acc .acc_btn span::after {
  background-color: #fff;
}

.hgroup_notice {
  font-size: 12px;
  font-weight: var(--font-weight-bold);
  color: #fd1f1f;
  text-align: center;
  letter-spacing: normal;
  margin-top: 10px;
}

.content_wrap2 {
  position: relative;
  background-color: #24282f;
  padding-top: 40px;
  z-index: 1;
}

.content_wrap2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../img/bg-circle.png);
  background-size: 22px;
  background-repeat: repeat;
  background-position: left top;
  opacity: 0.12;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.img-photoframe {
  width: 88.89%;
  margin-top: 40px;
}

.contents2-symbol {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  margin: 10px auto;
}

.contents2-symbol::before,
.contents2-symbol::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  background-color: #24282f;
  width: 4px;
  height: 30px;
}

.contents2-symbol::after {
  rotate: 90deg;
}

.ttl_complete {
  position: relative;
  background-color: #24282f;
  padding: 8px 4px;
  font-size: 14px;
  font-weight: var(--font-weight-bold);
  color: #ffb6c1;
  text-align: center;
  margin-bottom: 20px;
}

.ttl_complete::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -18px;
  left: 50%;
  translate: -50%;
  background-color: #24282f;
  width: 18px;
  height: 18px;
  clip-path: polygon(100% 0, 0 0, 50% 70%);
}

.img-photoframe_complete {
  width: 76.83%;
  margin-right: 15%;
  margin-bottom: 20px;
}

.info_list {
  margin-top: 20px;
}

.info_list div {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  column-gap: 10px;
}

.info_list div:not(:last-child) {
  margin-bottom: 10px;
}

.info_list dt {
  background-color: #e6d3cd;
  border-radius: 100px;
  width: fit-content;
  font-size: 13px;
  font-weight: var(--font-weight-bold);
  flex-shrink: 0;
  padding: 2px 10px;
}

.info_list dd.en {
  font-size: 16px;
  font-weight: var(--font-weight-bold);
}

.info_list dd.en span {
  font-size: 13px;
}

.info_list dd.place {
  font-size: 14px;
  font-weight: var(--font-weight-bold);
}

.btn_Special-wrap {
  margin-top: 20px;
}

.btn_Special {
  display: block;
  border: solid 1px #24282f;
  border-radius: 200px;
  font-size: 16px;
  font-weight: var(--font-weight-bold);
  width: fit-content;
  padding: 15px 30px;
  margin: 0 auto;
}

.logo-group {
  width: 38.1%;
  margin: 30px auto 0;
}

.profile_txt {
  font-size: 14px;
  font-weight: var(--font-weight-medium);
  color: #fff;
  margin-top: 30px;
  padding: 0 15px;
}

.group_contents4 .block_date {
  margin-top: 10px;
}

.group_contents4 .block_date figcaption {
  font-size: 14px;
  font-weight: var(--font-weight-bold);
  text-align: center;
}

.group_contents4 .block_date .date {
  margin-top: 5px;
}

.group_contents4 .auto_center {
  margin-top: 30px;
}

.live_ttl {
  border-bottom: solid 1px #24282f;
  font-size: 22px;
  font-weight: var(--font-weight-bold);
  font-family: "Philosopher", sans-serif;
  text-align: center;
  margin-bottom: 20px;
  padding-bottom: 20px;
}

.img-poster {
  width: 71.75%;
}

.digital_ttl {
  font-size: 17px;
  font-weight: var(--font-weight-bold);
  text-align: center;
  margin-bottom: 10px;
}

.member_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 25px 15px;
  margin-top: 30px;
  padding: 0 15px;
}

.member_list figure figcaption {
  font-size: 15px;
  font-weight: var(--font-weight-bold);
  color: #e6d3cd;
  text-align: center;
  margin-top: 5px;
}

.bn_official {
  margin: 30px auto 0;
  padding: 0 15px;
}

.official_notice {
  font-size: 12px;
  text-align: center;
  margin-top: 5px;
}

.howto_wrap__heading {
  text-align: center;
  margin: 10px auto;
}

.howto_wrap__heading img {
  width: 46px;
  height: auto;
  margin: auto;
}

.step_acc .acc_body {
  border: #000 1px solid;
  margin-top: -0.1rem;
  padding: 14px 10px 34px;
  border-radius: 0px 0px 8px 8px;
  background-color: #ffffff;
}

.text14_14_n {
  font-size: 14px;
  line-height: 1.4em;
}

.howto_wrap_btn {
  width: 220px;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 10px;
}

.Plate__bk {
  background-color: #24282f;
  border-radius: 24rem;
  color: #fff;
  padding: 5px;
  margin: 8px auto;
}

.aori__txt {
  display: flex;
  justify-content: center;
  align-items: center;
}

.aori__txt::before,
.aori__txt::after {
  width: 1px;
  height: 14px;
  background-color: #000;
  content: "";
  translate: -10%;
}

.aori__txt::before {
  transform: translateY(5px) rotate(-35deg);
  margin-right: 14px;
}

.aori__txt::after {
  transform: translateY(5px) rotate(35deg);
  margin-left: 14px;
}

.contTextBox01 {
  background-color: #ffffff;
  padding: 15px;
  font-size: 11px;
  line-height: 1.3em;
  margin: 10px auto;
}

.fsSm10 {
  font-size: 10px;
}

.contUl01 li {
  text-indent: -1em;
  padding-left: 1em;
  margin: 4px 0px;
}

.mb25 {
  margin-bottom: 25px;
}

/* splide */
.splide {
  position: relative;
  /* ここで基準にする */
  margin-top: 8px;
}

/* 矢印を絶対配置でリストの上に重ねる */
.splide__arrow {
  position: absolute;
  top: 50%;
  /* 縦中央 */
  transform: translateY(-50%);
  /* 上下補正 */
  background: none;
  border: none;
  padding: 0;
  width: auto;
  height: auto;
  z-index: 10;
  /* スライドの上に表示 */
}

/* 左右の位置 */
.splide__arrow--prev {
  left: 0;
  /* 左端 */
}

.splide__arrow--next {
  right: 0;
  /* 右端 */
}

/* 画像だけ表示 */
.splide__arrow img {
  display: block;
  width: 7.73vw;
  /* お好みで調整 */
  height: auto;
}

/* ページネーションリセット */
.splide__pagination {
  all: unset;
  display: flex !important;
  /* 強制表示 */
  justify-content: center;
  gap: 8px;
  position: absolute;
  bottom: -18px;
  width: 100%;
}

.splide__pagination__page {
  all: unset;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #e5e5e5;
}

.splide__pagination__page.is-active {
  background: #000;
}

/* スライド自体をフレックスコンテナに */
.splide__slide {
  display: flex;
  /* フレックス化 */
  flex-direction: column;
  /* 上下方向 */
  justify-content: center;
  /* 縦中央 */
  align-items: center;
  /* 横中央 */
  text-align: center;
  /* テキスト中央寄せ */
  box-sizing: border-box;
  height: 125px;
  background-color: #f7e7e1;
  border-radius: 10px;
}

.splide__slide .txt {
  font-size: 14px;
  font-weight: var(--font-weight-bold);
  color: #181a0e;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
  width: 90%;
  margin: 0 auto;
}

.row {
  display: flex;
  justify-content: center;
  align-items: center;
}

.col {
  display: flex;
  flex-direction: column;
}

.group_contents2 .row {
  column-gap: 10px;
}

.group_contents2 .row img {
  width: 38px;
}

.group_contents2 .txt span {
  display: inline-block;
  background-color: #24282f;
  border-radius: 100px;
  color: #fff;
  padding: 5px 10px;
}

.group_contents1 .splide__pagination,
.group_contents2 .splide__pagination,
.group_contents3 .splide__pagination {
  display: none !important;
}

.group_contents4 .splide__slide {
  height: auto;
}

.group_contents4 .splide__slide .txt {
  background-color: #24282f;
  font-size: 17px;
  font-weight: var(--font-weight-bold);
  color: #fff;
}

.group_contents4 .splide__slide .txt p {
  line-height: 1.2;
  padding: 5px;
}

.group_contents4 .splide__slide .txt p span {
  display: block;
  font-size: 13px;
}

.group_contents4 .splide__slide .txt img {
  aspect-ratio: 2 / 1;
}

.group_contents4 .splide__pagination__page {
  background-color: #fff;
}

.group_contents4 .splide__pagination__page.is-active {
  background-color: #24282f;
}

.group_contents1 .text_list.annotation {
  margin-top: 10px;
}

.group_contents2 .text_list-ttl {
  margin-block: 10px;
  padding-bottom: 3px;
  font-size: 13px;
  font-weight: bold;
  border-bottom: 1px solid #24282f;
}

.group_contents3 .notice_acc.geoup3_acc .acc_btn {
  margin-bottom: 10px;
}

.group_contents3 .notice_acc.geoup3_acc .acc_btn span {
  right: 10px;
}

.group_contents3 .notice_acc.geoup3_acc .text_list.annotation {
  font-size: 12px;
}

.group_contents4 .hgroup1 h2.en {
  position: relative;
  z-index: 2;
  margin-top: -20px;
}

.group_contents2 .contents_txt span {
  color: #c5727e;
  font-weight: bold;
}

@media (min-width: 751px) {
  #mainVisual h1 {
    display: grid;
    /* 左にテキスト、右に画像 */
    grid-template-columns: 1fr 1fr;
    column-gap: 30px;
    align-items: center;
    /* 上下中央揃え */
  }

  .mv_txt {
    margin-top: 0;
    /* PCでは重なりを解除 */
    grid-column: 1;
    /* 左側へ */
    order: -1;
    /* HTMLの順序に関わらず左に配置 */
  }

  #mainVisual figure {
    grid-column: 2;
    /* 右側へ */
  }

  .content_wrap {
    background-size: 72px;
  }

  #mainVisual h1 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 30px;
    align-items: center;
    width: 900px;
    margin: 0 auto;
  }

  .mv_txt {
    display: flex;
    flex-direction: column-reverse;
    margin-top: 0;
    grid-column: 1;
    order: -1;
  }

  .mv_txt .date {
    margin-top: 1rem;
  }

  .mv_txt .logo {
    margin: 0 auto;
  }

  #mainVisual figure {
    grid-column: 2;
  }

  .notice_wrap {
    margin-top: 50px;
  }

  .notice_txt {
    width: 578px;
    font-size: 17px;
    margin: 0 auto;
  }

  .notice_txt::before {
    left: -2rem;
  }

  .notice_txt::after {
    right: -2rem;
  }

  .navi_list {
    width: 865px;
    margin-inline: auto;
  }

  .navi_list li {
    width: calc((100% - 40px) / 5);
  }

  [class^="group_"] {
    width: 600px;
    margin: 0 auto;
  }

  .hgroup1 {
    margin: 80px auto 20px;
  }

  .hgroup1::before {
    top: 10px;
  }

  .hgroup1 .num {
    top: 0;
  }

  .hgroup1 .ttl {
    font-size: 17px;
  }

  .hgroup1 h2.en {
    font-size: 40px;
  }

  [class^="group_"] .date {
    width: 304px;
  }

  .block_contents1 {
    padding: 30px 40px;
  }

  .contents_txt {
    font-size: 16px;
  }

  .contents_datelist .num {
    margin: 5px 0 10px;
  }

  .date_txt {
    font-size: 28px;
  }

  .date_txt span {
    font-size: 19px;
  }

  .splide__arrow--prev {
    left: 8px;
  }

  .splide__arrow--next {
    right: 8px;
  }

  .splide__arrow img {
    display: block;
    width: 30px;
    height: auto;
  }

  .hgroup_notice {
    margin-top: 15px;
  }

  .img-photoframe {
    width: 350px;
  }

  .ttl_complete {
    font-size: 16px;
    padding-block: 10px;
  }

  .img-photoframe_complete {
    width: 323px;
    margin-right: 20%;
  }

  .contents_txt-collab {
    font-size: 17px;
  }

  .precautions_ttl {
    margin-top: 15px;
  }

  .geoup3_acc .text_list {
    font-size: 12px;
  }

  .digital_ttl {
    font-size: 20px;
  }

  .group_contents4 .splide__slide .txt p {
    padding: 10px;
  }

  .block_contents2 {
    padding: 30px 40px;
  }

  .img-poster {
    width: 300px;
  }

  .btn_Special {
    width: 100%;
    box-sizing: border-box;
    text-align: center;

    display: inline-block;
    text-decoration: none;
    outline: none;
    color: #24282f;
    background-color: #fff;
    position: relative;
    border: 1px solid #24282f;
    transition: color 0.3s ease, background-color 0.3s ease;
  }

  .btn_Special:hover {
    background-color: #24282f;
    color: #fff;
  }

  .member_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .member_list li {
    width: 128px;
  }

  .bn_official {
    width: 400px;
    margin: 50px auto 0;
  }

  .bn_official a {
    opacity: 1;
    transition: opacity 0.3s;
  }

  .bn_official a:hover {
    opacity: 0.7;
  }

  .bn_official .official_notice {
    color: #fff;
  }

  .logo-group {
    width: 25.1%;
  }
}

.contents4_digital-img {
  padding-left: 0px;
  padding-right: 0px;
  margin: 0 auto;
  width: 90%;
}

.contents4_digital-img .txt {
  background-color: #24282f;
  font-size: 17px;
  font-weight: var(--font-weight-bold);
  color: #fff;
  text-align: center;
}

.contents4_digital-img .txt p {
  line-height: 1.2;
  padding: 5px;
}

.contents4_digital-img .txt p span {
  display: block;
  font-size: 13px;
}
