@charset "UTF-8";
/* Scss Document */
/* Scss Document */
.mainImage {
  margin-top: 100px;
  height: 740px;
}
@media screen and (max-width: 767px) {
  .mainImage {
    margin-top: 80px;
    height: 100%;
    aspect-ratio: 400 / 390;
  }
}
.mainImage__inner {
  width: 100%;
  height: 100%;
  position: relative;
  background-image: url("../img/common/bg-img01.jpg");
  background-size: cover;
  background-repeat: repeat;
  background-position: center;
}
.mainImage__inner .left .illust-topLeft {
  position: absolute;
  top: 93px;
  left: 6.4%;
  z-index: 1;
}
@media screen and (max-width: 1279px) {
  .mainImage__inner .left .illust-topLeft {
    width: calc(205px / 2);
  }
}
.mainImage__inner .left .illust-btmLeft {
  position: absolute;
  bottom: 150px;
  left: 12.6%;
  z-index: 1;
}
@media screen and (max-width: 1279px) {
  .mainImage__inner .left .illust-btmLeft {
    width: calc(284px / 2);
  }
}
.mainImage__inner .right .catchphrase {
  position: absolute;
  top: 190px;
  left: 52.3%;
  z-index: 10;
}
@media screen and (max-width: 1279px) {
  .mainImage__inner .right .catchphrase {
    top: 40%;
    left: 41%;
  }
}
@media screen and (max-width: 767px) {
  .mainImage__inner .right .catchphrase {
    top: 23%;
    left: 5%;
    width: min(42.25vw, 324px);
  }
}
.mainImage__inner .right .illust-topRight {
  position: absolute;
  top: 20px;
  right: 23.2%;
  z-index: 1;
}
@media screen and (max-width: 1279px) {
  .mainImage__inner .right .illust-topRight {
    width: calc(189px / 2);
  }
}
@media screen and (max-width: 767px) {
  .mainImage__inner .right .illust-topRight {
    position: absolute;
    top: 3%;
    right: 41.2%;
  }
}
.mainImage__inner .right .illust-btmRight {
  position: absolute;
  bottom: 150px;
  right: 11.3%;
  z-index: 1;
}
@media screen and (max-width: 1279px) {
  .mainImage__inner .right .illust-btmRight {
    width: calc(246px / 2);
  }
}
@media screen and (max-width: 767px) {
  .mainImage__inner .right .illust-btmRight {
    position: absolute;
    top: 50%;
    right: 15%;
  }
}
@media screen and (max-width: 329px) {
  .mainImage__inner .right .illust-btmRight {
    width: 100px;
  }
}

.slider01 {
  list-style: none;
  padding: 0;
  margin: 0;
  width: min(31vw, 594px);
  position: absolute;
  top: 20px;
  left: 17%;
}
.slider01 .mask-frame {
  width: min(31vw, 594px);
  aspect-ratio: 594 / 537;
  margin: 0 auto;
  /* SVGをマスクとして適用（Safari対策で -webkit- 必須級） */
  -webkit-mask-image: url("../img/festa/shape01.svg");
  mask-image: url("../img/festa/shape01.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  overflow: hidden;
  border-radius: 16px;
  /* 万一maskが効かない環境の“角丸” */
}
.slider01 .mask-frame img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.slider02 {
  list-style: none;
  padding: 0;
  margin: 0;
  width: min(16vw, 307px);
  position: absolute;
  bottom: 150px;
  right: 32%;
}
@media screen and (max-width: 767px) {
  .slider02 {
    width: min(35.5vw, 272px);
    position: absolute;
    top: 42.5%;
    left: 4%;
  }
}
.slider02 .mask-frame {
  width: min(16vw, 307px);
  aspect-ratio: 307 / 250;
  margin: 0 auto;
  /* SVGをマスクとして適用（Safari対策で -webkit- 必須級） */
  -webkit-mask-image: url("../img/festa/shape02.svg");
  mask-image: url("../img/festa/shape02.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  overflow: hidden;
  /*border-radius: 8px;*/
  /* 万一maskが効かない環境の“角丸” */
}
@media screen and (max-width: 767px) {
  .slider02 .mask-frame {
    width: min(35.5vw, 272px);
  }
}
.slider02 .mask-frame img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.slider03 {
  list-style: none;
  padding: 0;
  margin: 0;
  width: min(17.8vw, 343px);
  position: absolute;
  top: 20px;
  right: 6.25%;
}
@media screen and (max-width: 767px) {
  .slider03 {
    width: min(39.5vw, 303px);
    position: absolute;
    top: 2.75%;
    right: 4%;
  }
}
.slider03 .mask-frame {
  width: min(17.8vw, 343px);
  aspect-ratio: 343 / 381;
  margin: 0 auto;
  /*@media screen and (max-width:1279px){
    width: min(10vw, 343px);
  }*/
  /* SVGをマスクとして適用（Safari対策で -webkit- 必須級） */
  -webkit-mask-image: url("../img/festa/shape03.svg");
  mask-image: url("../img/festa/shape03.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  overflow: hidden;
  border-radius: 8px;
  /* 万一maskが効かない環境の“角丸” */
}
@media screen and (max-width: 767px) {
  .slider03 .mask-frame {
    width: min(39.5vw, 303px);
  }
}
.slider03 .mask-frame img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.fixed-btn {
  position: absolute;
  top: 290px;
  right: 2.6%;
}
@media screen and (max-width: 767px) {
  .fixed-btn {
    position: absolute;
    top: 44.8%;
    right: 3.75%;
  }
}
@media screen and (max-width: 329px) {
  .fixed-btn {
    top: 25%;
  }
}
.fixed-btn__anchor {
  display: inline-block;
  text-decoration: none;
  transition: 0.3s linear;
  overflow: hidden;
}
.fixed-btn__anchor:hover {
  text-decoration: none;
}
@media (hover: hover) {
  .fixed-btn__anchor:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: alpha(opacity=70);
    -moz-transform: scale(0.97);
    -webkit-transform: scale(0.97);
    transform: scale(0.97);
  }
}
.fixed-btn__anchor img {
  width: 22px;
  display: block;
  height: auto;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .fixed-btn__anchor img {
    width: 15px;
  }
}

.tab {
  width: 100%;
  position: relative;
  cursor: default;
  scroll-padding-top: 110px;
  scroll-behavior: smooth;
  /*&__item--anchor .tab-name {
    padding: 0;
  }*/
}
.tab__list {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
  position: absolute;
  top: -130px;
  left: 50%;
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
@media screen and (max-width: 479px) {
  .tab__list {
    position: absolute;
    top: -90px;
    left: 50%;
    gap: 2px;
  }
}
.tab__item {
  flex: 1;
  width: min(30.8vw, 592px);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
  border-radius: 45px 45px 0 0;
  border: 5px solid #fff;
  border-bottom: 0px;
  background-color: #ffd28f;
}
@media screen and (max-width: 1279px) {
  .tab__item {
    width: min(36.5vw, 592px);
  }
}
@media screen and (max-width: 767px) {
  .tab__item {
    border-radius: 15px 15px 0 0;
    border: 2px solid #fff;
    border-bottom: 0px;
  }
}
.tab__item.first {
  background-color: #ecb9cb;
  height: 130px;
}
@media screen and (max-width: 479px) {
  .tab__item.first {
    height: 90px;
  }
}
.tab__item.first .tab-name {
  padding-left: 5px;
  padding-right: 5px;
}
.tab__item.second {
  /*background-color: $color04;*/
}
.tab__item.third {
  flex: 0 0 180px;
  padding-top: 0;
}
@media screen and (max-width: 767px) {
  .tab__item.third {
    flex: 0 0 100px;
  }
}
@media screen and (max-width: 479px) {
  .tab__item.third {
    flex: 0 0 70px;
  }
}
.tab__item.third .tab-name {
  height: 100%;
}
.tab__item.third .tab-name__btm {
  text-align: center;
}
.tab__item--anchor {
  width: 100%;
  height: 96px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 5px;
  padding-right: 5px;
  margin: 0 auto;
  display: inline-block;
  text-decoration: none;
  transition: 0.3s linear;
  overflow: hidden;
  border-radius: 45px 45px 0 0;
}
@media screen and (max-width: 767px) {
  .tab__item--anchor {
    border-radius: 15px 15px 0 0;
  }
}
@media screen and (max-width: 479px) {
  .tab__item--anchor {
    height: 63px;
  }
}
.tab__item--anchor:hover {
  text-decoration: none;
}
@media (hover: hover) {
  .tab__item--anchor:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: alpha(opacity=70);
    -moz-transform: scale(0.98);
    -webkit-transform: scale(0.98);
    transform: scale(0.98);
  }
}
.tab .tab-name {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  height: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding-top: 10px;
}
@media screen and (max-width: 479px) {
  .tab .tab-name {
    padding-top: 5px;
  }
}
.tab .tab-name__top {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
  font-family: "M PLUS 1", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
  color: #333;
  margin-bottom: 5px;
}
@media screen and (max-width: 767px) {
  .tab .tab-name__top {
    font-size: 0.8125rem;
  }
}
@media screen and (max-width: 479px) {
  .tab .tab-name__top {
    font-size: 0.625rem;
  }
}
@media screen and (max-width: 329px) {
  .tab .tab-name__top {
    font-size: 0.5rem;
  }
}
.tab .tab-name__top span {
  background-color: #fff;
}
.tab .tab-name__btm {
  width: 96%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 auto;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.5;
  font-family: "M PLUS 1", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
  color: #333;
  padding-bottom: 5px;
  white-space: nowrap;
  /* 改行を禁止する */
  overflow: hidden;
  /* 溢れた分を隠す */
  text-overflow: ellipsis;
  /* 溢れた分を「...」にする */
}
@media screen and (max-width: 767px) {
  .tab .tab-name__btm {
    font-size: 1rem;
    text-align: left;
    white-space: unset;
    text-overflow: unset;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    /* 2行目以降を…に */
  }
}
@media screen and (max-width: 479px) {
  .tab .tab-name__btm {
    font-size: 0.8125rem;
  }
}

.cnts {
  background-image: linear-gradient(to top, #feedf3, #fff, #feedf3, #fff);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding-top: 60px;
  padding-bottom: 200px;
}
@media screen and (max-width: 1279px) {
  .cnts {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media screen and (max-width: 767px) {
  .cnts {
    padding-top: 30px;
    padding-bottom: 100px;
  }
}
.cnts__inner {
  margin: 0 auto;
  max-width: 1020px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 70px min(29%, 30px) 150px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .cnts__inner {
    padding: 20px min(27%, 10px) 80px;
  }
}
.cnts__topFig {
  margin: 0 auto 60px;
}
@media screen and (max-width: 479px) {
  .cnts__topFig {
    margin-bottom: 40px;
  }
}
.cnts__topFig img {
  /*width: 100%;*/
  display: block;
  height: auto;
  object-fit: contain;
  margin: 0 auto;
  max-width: 100%;
}
.cnts__hlList {
  margin: 0 0 60px;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 479px) {
  .cnts__hlList {
    margin-bottom: 40px;
  }
}
.cnts__hlItem {
  flex: 1 1 25%;
  height: 120px;
}
@media screen and (max-width: 479px) {
  .cnts__hlItem {
    height: 50px;
  }
}
@media screen and (max-width: 329px) {
  .cnts__hlItem {
    height: 65px;
  }
}
.cnts__hlItem a {
  width: 100%;
  height: 100%;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  font-family: "M PLUS 1", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
  color: #333;
  text-decoration: none;
  transition: 0.3s linear;
  background-color: #fdf5e6;
  border: 1px solid #36281c;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 1279px) {
  .cnts__hlItem a {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .cnts__hlItem a {
    font-size: 1rem;
  }
}
@media screen and (max-width: 479px) {
  .cnts__hlItem a {
    font-size: 0.875rem;
  }
}
.cnts__hlItem a span {
  display: inline-block;
  text-underline-offset: 3px;
  text-decoration: underline;
  padding-left: 5px;
  padding-right: 5px;
  text-align: center;
}
.cnts__hlItem a:hover {
  text-decoration: none;
}
@media (hover: hover) {
  .cnts__hlItem a:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: alpha(opacity=70);
  }
}
.cnts__summary {
  margin-bottom: 60px;
}
@media screen and (max-width: 479px) {
  .cnts__summary {
    margin-bottom: 40px;
  }
}
.cnts__summary .summary-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 15px;
}
@media screen and (max-width: 479px) {
  .cnts__summary .summary-table {
    border-spacing: 0 10px;
  }
}
.cnts__summary .summary-table th, .cnts__summary .summary-table td {
  text-align: left;
}
.cnts__summary .summary-table th {
  width: max-content;
  /*min-width: 100px;*/
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  font-family: "M PLUS 1", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
  color: #333;
  text-align: center;
}
@media screen and (max-width: 1279px) {
  .cnts__summary .summary-table th {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .cnts__summary .summary-table th {
    font-size: 1rem;
  }
}
@media screen and (max-width: 479px) {
  .cnts__summary .summary-table th {
    font-size: 0.875rem;
  }
}
.cnts__summary .summary-table th span {
  width: 100%;
  height: 100%;
  max-width: 140px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 5px 8px;
  display: inline-block;
  border: 1px solid #333;
  background-color: #ecb9cb;
  word-break: keep-all;
}
@media screen and (max-width: 479px) {
  .cnts__summary .summary-table th span {
    max-width: 80px;
    padding: 5px 3px;
  }
}
.cnts__summary .summary-table td {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  font-family: "M PLUS 1", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
  color: #333;
  padding-left: 15px;
}
@media screen and (max-width: 1279px) {
  .cnts__summary .summary-table td {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .cnts__summary .summary-table td {
    font-size: 1rem;
  }
}
@media screen and (max-width: 479px) {
  .cnts__summary .summary-table td {
    font-size: 0.875rem;
    padding-left: 10px;
  }
}
.cnts .system-free {
  padding-bottom: 60px;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
  font-family: "M PLUS 1", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
  color: #333;
}
@media screen and (max-width: 1279px) {
  .cnts .system-free {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .cnts .system-free {
    font-size: 1rem;
  }
}
@media screen and (max-width: 479px) {
  .cnts .system-free {
    font-size: 0.875rem;
  }
}
.cnts section {
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin-top: 100px;
}
@media screen and (max-width: 479px) {
  .cnts section {
    margin-top: 50px;
  }
}
.cnts section h2 {
  font-size: 1.875rem;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-weight: 500;
  line-height: 1.5;
  font-family: "M PLUS 1", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
  color: #333;
  text-align: center;
  position: relative;
  padding-top: 110px;
}
@media screen and (max-width: 767px) {
  .cnts section h2 {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 479px) {
  .cnts section h2 {
    font-size: 1.25rem;
  }
}
.cnts .secNews {
  padding-bottom: 100px;
  /*case no-news*/
  /*case no-news*/
}
@media screen and (max-width: 479px) {
  .cnts .secNews {
    padding-bottom: 50px;
  }
}
.cnts .secNews p {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  font-family: "M PLUS 1", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
  color: #333;
}
@media screen and (max-width: 1279px) {
  .cnts .secNews p {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .cnts .secNews p {
    font-size: 1rem;
  }
}
@media screen and (max-width: 479px) {
  .cnts .secNews p {
    font-size: 0.875rem;
  }
}
.cnts .secNews h2 {
  padding-top: 116px;
  padding-bottom: 50px;
}
@media screen and (max-width: 479px) {
  .cnts .secNews h2 {
    padding-top: 95px;
    padding-bottom: 40px;
  }
}
.cnts .secNews h2:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/festa/hl_news.png");
  background-size: auto;
  background-repeat: no-repeat;
  background-position: top center;
}
@media screen and (max-width: 479px) {
  .cnts .secNews h2:before {
    background-size: auto 73px;
  }
}
.cnts .secNews__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.cnts .secNews__item {
  border-bottom: 1px dashed #333;
}
.cnts .secNews__item--anchor {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 25px 0;
  display: flex;
  align-items: center;
  gap: 80px;
  text-decoration: none;
  color: #333 !important;
  transition: 0.3s linear;
}
@media screen and (max-width: 479px) {
  .cnts .secNews__item--anchor {
    padding: 10px 0;
    gap: 20px;
  }
}
.cnts .secNews__item--anchor:hover {
  text-decoration: none;
}
@media (hover: hover) {
  .cnts .secNews__item--anchor:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: alpha(opacity=70);
    -moz-transform: scale(0.98);
    -webkit-transform: scale(0.98);
    transform: scale(0.98);
  }
}
.cnts .secNews__item--anchor .paragraph {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 20px 80px;
}
@media screen and (max-width: 1279px) {
  .cnts .secNews__item--anchor .paragraph {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media screen and (max-width: 479px) {
  .cnts .secNews__item--anchor .paragraph {
    flex-direction: row;
    gap: 20px;
  }
}
@media screen and (max-width: 329px) {
  .cnts .secNews__item--anchor .paragraph {
    flex-direction: column;
  }
}
.cnts .secNews__item--anchor .paragraph .top, .cnts .secNews__item--anchor .paragraph .btm {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  font-family: "M PLUS 1", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
  color: #333;
}
@media screen and (max-width: 767px) {
  .cnts .secNews__item--anchor .paragraph .top, .cnts .secNews__item--anchor .paragraph .btm {
    font-size: 1rem;
  }
}
@media screen and (max-width: 479px) {
  .cnts .secNews__item--anchor .paragraph .top, .cnts .secNews__item--anchor .paragraph .btm {
    font-size: 0.875rem;
  }
}
.cnts .secNews__item--anchor img {
  flex: 0 0 28px;
  width: 28px;
  display: block;
  height: auto;
  max-width: 100%;
}
@media screen and (max-width: 479px) {
  .cnts .secNews__item--anchor img {
    flex-basis: 16px;
    width: 16px;
  }
}
.cnts .secBooth h2 {
  padding-top: 116px;
  padding-bottom: 50px;
}
@media screen and (max-width: 479px) {
  .cnts .secBooth h2 {
    padding-top: 95px;
    padding-bottom: 40px;
  }
}
.cnts .secBooth h2:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/festa/hl_booth.png");
  background-size: auto;
  background-repeat: no-repeat;
  background-position: top center;
}
@media screen and (max-width: 479px) {
  .cnts .secBooth h2:before {
    background-size: auto 73px;
  }
}
.cnts .secBooth .booth-category[open] summary::before {
  transform: translateY(-50%) rotate(180deg);
}
.cnts .secBooth .booth-category:last-of-type {
  padding-bottom: 100px;
}
@media screen and (max-width: 479px) {
  .cnts .secBooth .booth-category:last-of-type {
    padding-bottom: 50px;
  }
}
.cnts .secBooth .booth-category[open] {
  padding-bottom: 100px;
}
@media screen and (max-width: 479px) {
  .cnts .secBooth .booth-category[open] {
    padding-bottom: 60px;
  }
}
.cnts .secBooth .booth-category {
  padding-bottom: 30px;
  overflow: hidden;
}
@media screen and (max-width: 479px) {
  .cnts .secBooth .booth-category {
    padding-bottom: 20px;
  }
}
.cnts .secBooth .booth-category summary {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 20px 25px 20px 80px;
  min-height: 80px;
  font-size: 1.875rem;
  font-weight: 500;
  line-height: 1.5;
  font-family: "M PLUS 1", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
  color: #333;
  cursor: pointer;
  list-style: none;
  background-image: url("../img/common/booth_bgimg.jpg");
  background-size: 100% auto;
  background-repeat: repeat;
  background-position: center;
  border: 1px solid #ddd;
  position: relative;
}
@media screen and (max-width: 1279px) {
  .cnts .secBooth .booth-category summary {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .cnts .secBooth .booth-category summary {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 479px) {
  .cnts .secBooth .booth-category summary {
    font-size: 1.125rem;
    min-height: 60px;
    padding: 15px 20px 15px 60px;
  }
}
@media screen and (max-width: 329px) {
  .cnts .secBooth .booth-category summary {
    padding: 15px 15px 15px 45px;
  }
}
.cnts .secBooth .booth-category summary::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 30px;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 26px;
  height: 14px;
  background-image: url("../img/common/icon_arrow-btm.svg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-transition: 0.3s linear;
  transition: 0.3s linear;
}
@media screen and (max-width: 479px) {
  .cnts .secBooth .booth-category summary::before {
    width: 18px;
    height: 9px;
    left: 25px;
  }
}
@media screen and (max-width: 329px) {
  .cnts .secBooth .booth-category summary::before {
    width: 15px;
    height: 7px;
    left: 15px;
  }
}
.cnts .secBooth .booth-category summary::-webkit-details-marker {
  display: none;
}
.cnts .secBooth .booth-category .shop__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
@media screen and (max-width: 479px) {
  .cnts .secBooth .booth-category .shop__list:last-of-type {
    padding-bottom: 30px;
  }
}
.cnts .secBooth .booth-category .shop__item {
  padding: 30px 30px 0;
  border-bottom: 1px dashed #333;
}
@media screen and (max-width: 767px) {
  .cnts .secBooth .booth-category .shop__item {
    padding: 15px 0 0;
  }
}
.cnts .secBooth .booth-category .shop__item--anchor {
  display: flex;
  align-items: center;
  gap: 75px;
  text-decoration: none;
  color: #333 !important;
  transition: 0.3s linear;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding-top: 20px;
  padding-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .cnts .secBooth .booth-category .shop__item--anchor {
    gap: 15px;
  }
}
@media screen and (max-width: 479px) {
  .cnts .secBooth .booth-category .shop__item--anchor {
    padding-top: 15px;
    padding-bottom: 15px;
    gap: 12px;
  }
}
.cnts .secBooth .booth-category .shop__item--anchor:hover {
  text-decoration: none;
}
@media (hover: hover) {
  .cnts .secBooth .booth-category .shop__item--anchor:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: alpha(opacity=70);
    -moz-transform: scale(0.98);
    -webkit-transform: scale(0.98);
    transform: scale(0.98);
  }
}
.cnts .secBooth .booth-category .shop__item--left {
  flex: 1;
}
.cnts .secBooth .booth-category .shop__item--left .shopName {
  font-size: 1.875rem;
  font-weight: 500;
  line-height: 1.5;
  font-family: "M PLUS 1", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
  color: #333;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding-bottom: 25px;
  padding-left: 45px;
}
@media screen and (max-width: 1279px) {
  .cnts .secBooth .booth-category .shop__item--left .shopName {
    font-size: 1.5rem;
    padding-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .cnts .secBooth .booth-category .shop__item--left .shopName {
    font-size: 1.25rem;
    padding-left: 40px;
  }
}
@media screen and (max-width: 479px) {
  .cnts .secBooth .booth-category .shop__item--left .shopName {
    font-size: 1rem;
    padding-bottom: 10px;
    padding-left: 25px;
  }
}
.cnts .secBooth .booth-category .shop__item--left .shopName:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 37px;
  background-image: url("../img/common/icon_flag.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top left;
}
@media screen and (max-width: 479px) {
  .cnts .secBooth .booth-category .shop__item--left .shopName:before {
    width: 17px;
    height: 21px;
  }
}
.cnts .secBooth .booth-category .shop__item--left .shopTxt {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
  font-family: "M PLUS 1", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
  color: #333;
}
@media screen and (max-width: 1279px) {
  .cnts .secBooth .booth-category .shop__item--left .shopTxt {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .cnts .secBooth .booth-category .shop__item--left .shopTxt {
    font-size: 1rem;
  }
}
@media screen and (max-width: 479px) {
  .cnts .secBooth .booth-category .shop__item--left .shopTxt {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}
.cnts .secBooth .booth-category .shop__item--middle img {
  width: 100%;
  height: auto;
  display: block;
  max-width: 160px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
@media screen and (max-width: 479px) {
  .cnts .secBooth .booth-category .shop__item--middle img {
    max-width: 100px;
  }
}
.cnts .secBooth .booth-category .shop__item--right img {
  width: 28px;
}
@media screen and (max-width: 479px) {
  .cnts .secBooth .booth-category .shop__item--right img {
    width: 16px;
  }
}
.cnts .secAccess h2 {
  padding-top: 116px;
  padding-bottom: 50px;
}
@media screen and (max-width: 479px) {
  .cnts .secAccess h2 {
    padding-top: 95px;
    padding-bottom: 40px;
  }
}
.cnts .secAccess h2:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/festa/hl_access.png");
  background-size: auto;
  background-repeat: no-repeat;
  background-position: top center;
}
@media screen and (max-width: 479px) {
  .cnts .secAccess h2:before {
    background-size: auto 73px;
  }
}
.cnts .secAccess .flex {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .cnts .secAccess .flex {
    flex-direction: column;
  }
}
.cnts .secAccess .flex__left {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .cnts .secAccess .flex__left {
    width: 100%;
  }
}
.cnts .secAccess .flex__left iframe {
  width: 100%;
}
@media screen and (max-width: 479px) {
  .cnts .secAccess .flex__left iframe {
    height: 250px;
  }
}
.cnts .secAccess .flex__right {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .cnts .secAccess .flex__right {
    width: 100%;
  }
}
.cnts .secAccess .flex__right .access-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 15px;
}
@media screen and (max-width: 479px) {
  .cnts .secAccess .flex__right .access-table {
    border-spacing: 0 10px;
  }
}
.cnts .secAccess .flex__right .access-table th, .cnts .secAccess .flex__right .access-table td {
  text-align: left;
}
.cnts .secAccess .flex__right .access-table th {
  width: max-content;
  /*min-width: 100px;*/
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  font-family: "M PLUS 1", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
  color: #333;
  text-align: center;
  vertical-align: baseline;
}
@media screen and (max-width: 1279px) {
  .cnts .secAccess .flex__right .access-table th {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .cnts .secAccess .flex__right .access-table th {
    font-size: 1rem;
  }
}
@media screen and (max-width: 479px) {
  .cnts .secAccess .flex__right .access-table th {
    font-size: 0.875rem;
  }
}
.cnts .secAccess .flex__right .access-table th span {
  width: 100%;
  height: 100%;
  max-width: 140px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 5px 8px;
  display: inline-block;
  border: 1px solid #333;
  background-color: #ecb9cb;
  word-break: keep-all;
}
@media screen and (max-width: 479px) {
  .cnts .secAccess .flex__right .access-table th span {
    max-width: 80px;
    padding: 5px 3px;
  }
}
.cnts .secAccess .flex__right .access-table td {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  font-family: "M PLUS 1", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
  color: #333;
  padding-left: 15px;
}
@media screen and (max-width: 1279px) {
  .cnts .secAccess .flex__right .access-table td {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .cnts .secAccess .flex__right .access-table td {
    font-size: 1rem;
  }
}
@media screen and (max-width: 479px) {
  .cnts .secAccess .flex__right .access-table td {
    font-size: 0.875rem;
    padding-left: 10px;
  }
}

.next .tab__item.first {
  height: auto;
  background-color: #ffd28f;
}
.next .tab__item.second {
  background-color: #c0f0f0;
  height: 130px;
}
@media screen and (max-width: 479px) {
  .next .tab__item.second {
    height: 90px;
  }
}
.next .cnts {
  background-image: linear-gradient(40deg, #fff, #e5fdff, #fff, #e5fdff);
  background-color: #e5fdff;
}
.next .cnts__summary .summary-table th span {
  background-color: #c0f0f0;
}
.next .cnts .secAccess .flex__right .access-table th span {
  background-color: #c0f0f0;
}
