a:hover {
  text-decoration: none;
}

._pc {
  display: block !important;
}

._sp {
  display: none !important;
}

.content_wrapper {
  max-width: 1060px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 auto;
  font-size: 16px;
  padding: 0 15px;
  line-height: 1.75;
  padding-bottom: 60px;
}

.content_wrapper img {
  max-width: 100%;
  width: auto;
  display: block;
  margin: 0 auto;
}

.hero_2025 {
  margin-top: 50px;
  border-bottom: 1px solid #c9171e;
}

.hero_text {
  padding: 30px 0 60px;
}

.hero_entry {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 30px;
  padding: 60px 0;
  border-bottom: 1px solid #c9171e;
}

.hero_imgbox {
  width: 470px;
}

.hero_imgbox img {
  border: 1px solid #ccc;
}

.hero_imgbox p {
  font-size: 20px;
  font-weight: bold;
}

.hero_imgbox p span {
  color: #c9171e;
}

.hero_textbox {
  width: calc(100% - 500px);
}

.hero_textbox h4 {
  font-size: 28px;
  color: #c9171e;
  padding-bottom: 30px;
}

.aq_link_btn a {
  display: block;
  max-width: 300px;
  text-align: center;
  background: #000;
  color: #fff;
  padding: 15px;
  border-radius: 10px;
  margin: 30px auto 0;
  border: 1px solid #000;
  transition: ease-in-out 0.5s;
}

.aq_link_btn a:hover {
  color: #000;
  background: #fff;
}

/*under page*/
.main {
  overflow-x: hidden;
}
.aw_page .hero_2025 {
  border: none;
}
.aw_entry {
  padding: 60px 0 0;
  width: 100%;
}

.aw_connect .aw_entry {
  color: #005e3c;
  padding: 60px 20px;
}

.bg_connect {
  background: url('/assets/img/2025/aw_connect_bg.jpg');
  color: #fff;
  padding: 30px 20px 60px;
  text-align: center;
  font-size: 20px;
  position: relative;
}

.aw_connect .bg_connect:before {
  content: '';
  width: 300%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: url('/assets/img/2025/aw_connect_bg.jpg');
  margin-left: -100%;
  z-index: -1;
}

.aw_connect .bg_connect02 {
  color: #fff;
  padding: 30px 0 60px;
  font-size: 20px;
  margin-top: 60px;
  position: relative;
}

.aw_connect .bg_connect02:before {
  content: '';
  width: 300%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: url('/assets/img/2025/aw_connect_bg02.jpg');
  margin-left: -100%;
  z-index: -1;
}

.aw_connect .bg_connect03 {
  color: #fff;
  padding: 30px 20px;
  font-size: 20px;
  margin-top: 60px;
  position: relative;
}

.aw_connect .bg_connect03:before {
  content: '';
  width: 300%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: url('/assets/img/2025/aw_connect_bg.jpg');
  margin-left: -100%;
  z-index: -1;
}

.trophy {
  text-align: center;
  margin: -45px auto 30px;
  position: relative;
  z-index: 2;
}

.layout_tro {
  margin-top: -80px;
}

.trophy img {
  margin: 0 auto;
}

.aw_entry_title {
  font-size: 36px;
  text-align: center;
  margin: 0 auto 30px;
  width: 100%;
  position: relative;
}

.aw_entry_title span {
  position: relative;
  padding: 0 55px 15px 25px;
  border-radius: 20px;
  display: inline-block;
}

.aw_entry_title span i {
  position: relative;
  font-style: normal;
}

.aw_entry_title span i:before {
  content: '';
  width: 20px;
  height: 20px;
  background: #fff;
  position: absolute;
  left: -30px;
  bottom: -25px;
}

.aw_entry_title span:before {
  content: '';
  height: 100%;
  width: 100%;
  /* background: #005e3c; */
  border-right: 10px solid #005e3c;
  border-bottom: 10px solid #005e3c;
  position: absolute;
  bottom: 0;
  left: 0;
  border-radius: 15px;
}

.aw_entry_title span:after {
  content: url('/assets/img/2025/aw_ar.jpg');
  position: absolute;
  right: -1px;
  top: -13px;
  width: 32px;
  height: 84px;
}

.aw_style {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 40px 20px;
  max-width: 800px;
  margin: 0 auto;
}

.aw_style li {
  width: calc(50% - 30px);
  border-radius: 4px;
  padding: 20px;
  text-align: center;
  background-image: linear-gradient(90deg, #006934, #3c712e 50%, #006934);
  box-shadow: 0 0 8px #333;
}

.aw_style_inner {
  background: #fff;
  box-shadow: 0 0 8px #333;
  border-radius: 4px;
  padding: 15px 25px;
  position: relative;
  height: 100%;
}

.aw_badge {
  position: absolute;
  background: url('/assets/img/2025/badge.png') no-repeat center center;
  width: 90px;
  height: 115px;
  color: #005e3c;
  text-align: center;
  padding: 15px 0 0;
  left: -50px;
  top: -40px;
}

.aw_style h5 {
  padding-bottom: 10px;
  font-size: 18px;
  display: inline-block;
  margin: 0 auto 20px;
  border-bottom: 4px solid #005e3c;
  line-height: 1.5;
}
.aw_style h5 span {
  font-size: 17px;
}
.aw_style li p {
  color: #000;
  font-size: 14px;
}

.aw_style li p.badge_title {
  color: #005e3c;
  font-weight: bold;
}

.aw_style li p.badge_num {
  color: #005e3c;
  font-weight: bold;
  font-size: 28px;
  line-height: 1;
}

.aw_lineup {
  padding: 60px 0;
  position: relative;
}

.aw_lineup:before {
  content: '';
  background: #fffcdb;
  position: absolute;
  left: -100%;
  top: 0;
  width: 300%;
  height: 100%;
  z-index: -1;
}

.aw_lineup h5 {
  font-size: 24px;
  position: relative;
  padding-left: 65px;
}

.aw_lineup h5:not(:last-child) {
  margin-bottom: 20px;
}

.aw_lineup h5 span {
  font-size: 15px;
  margin-left: 10px;
}

.aw_lineup h5:before {
  content: '';
  width: 45px;
  height: 45px;
  background: url('/assets/img/2025/trophy.png') center center no-repeat;
  background-size: cover;
  position: absolute;
  left: 0;
  top: -3px;
}

.aw_shinsa {
  font-size: 20px;
  text-align: center;
}

.shinsa_list {
  margin: 30px 0;
  padding: 60px 0;
  position: relative;
}

.shinsa_list:before {
  content: '';
  width: 300%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #f7f7f7;
  margin-left: -100%;
  z-index: -1;
  border-top: 2px solid #006934;
  border-bottom: 2px solid #006934;
}

.shinsa_list .pre {
  width: 200px;
  font-size: 24px;
}

.shinsa_list .sl_entry {
  width: 100%;
  max-width: 940px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  justify-content: space-between;
  gap: 30px;
}

.shinsa_list .sl_entry li {
  display: flex;
  gap: 15px;
  justify-content: space-between;
}

.sl_img {
  width: 150px;
}

.sl_textbox {
  width: calc(100% - 15px);
}

.shinsa_list .roll {
  font-size: 15px;
}

.shinsa_list .name {
  color: #000;
  font-size: 20px;
}

.shinsa_list .comment {
  color: #000;
  font-size: 15px;
  margin-top: 8px;
}

.aw_link a {
  display: block;
  border-radius: 40px;
  padding: 20px;
  text-align: center;
  color: #fff;
  background: #7c6846;
  margin: 20px auto;
  max-width: 600px;
  font-size: 20px;
  font-weight: bold;
  transition: ease-in-out 0.3s;
  border: 1px solid #7c6846;
}

.aw_link a:hover {
  border: 1px solid #000;
  background: #fff;
  color: #000;
}

.aw_link_area {
  position: relative;
  padding: 30px 0;
  text-align: center;
}
.aw_link a span {
  font-size: 15px;
}

.oubo {
  font-size: 36px;
  font-weight: bold;
}

.aw_2025 .aw_entry {
  color: #d70c18;
}

.aw_2025 .aw_entry_title span:after {
  content: url('/assets/img/2025/aw_ar_2025.jpg');
}

.aw_2025 .aw_entry_title span:before {
  border-color: #d70c18;
}

.aw_2025 .aw_style li {
  border-color: #d70c18;
  box-shadow: -10px 10px 0 #d70c18;
}

.aw_2025 .aw_style h5 {
  border-bottom: 4px solid #d70c18;
}

.aw_2025 .shinsa_list .sl_entry li {
  border-left: 8px solid #d70c18;
}

.aw_2025 .aw_link a {
  background: #d70c18;
}

.aw_2025 .aw_link a:hover {
  background: #fff;
}

.aw_style_list {
  display: flex;
  gap: 15px;
  justify-content: center;
}

.aw_2025 .aw_shinsa {
  margin-top: 30px;
}

.aw_flow li {
  padding: 22px;
  border: 2px solid #d70c18;
  box-shadow: -10px 10px 0 #d70c18;
  border-radius: 60px;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  color: #000;
  position: relative;
}

.aw_flow li:not(:last-child) {
  margin-bottom: 50px;
}

.aw_flow li:not(:last-child):before {
  display: block;
}

.aw_flow li:before {
  display: none;
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 30px solid transparent;
  border-left: 30px solid transparent;
  border-top: 30px solid #d70c18;
  border-bottom: 0;
  position: absolute;
  left: 50%;
  bottom: -30px;
  transform: translate(-50%, 0);
}

.aw_amb .aw_entry {
  color: #00488e;
}

.aw_amb .aw_entry_title span:after {
  content: url('/assets/img/2025/aw_ar_amb.jpg');
}

.aw_amb .aw_entry_title span:before {
  border-color: #00488e;
}

.aw_amb .aw_style li {
  border-color: #00488e;
  box-shadow: -10px 10px 0 #00488e;
}

.aw_amb .aw_style h5 {
  border-bottom: 4px solid #00488e;
}

.aw_amb .shinsa_list .sl_entry li {
  border-left: 8px solid #00488e;
}

.aw_amb .aw_link a {
  background: #00488e;
}

.aw_amb .aw_link a:hover {
  background: #fff;
}

.aw_amb_img {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-top: 30px;
}

.aw_amb .aw_amb_img li {
  width: 22%;
}

.aw_amb_img li img {
  border: 2px solid #00488e;
}

.aw_amb_flow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 60px;
}

.aw_amb_flow .aw_box {
  width: 50%;
}

.aw_amb_flow01,
.aw_amb_flow02 {
  width: 100%;
}

.aw_amb_flow02 li {
  border-radius: 20px;
  padding: 30px 20px;
  text-align: center;
  border: 2px solid #00488e;
  font-size: 20px;
  position: relative;
  margin-bottom: 80px;
}
.aw_amb_flow02 li:not(:last-child):before {
  display: block;
}

.aw_amb_flow02 li:before {
  display: none;
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 30px solid transparent;
  border-left: 30px solid transparent;
  border-top: 30px solid #00488e;
  border-bottom: 0;
  position: absolute;
  left: 50%;
  bottom: -30px;
  transform: translate(-50%, 0);
}

.aw_amb_flow02 li:before {
  content: '';
}

.aw_amb_flow02 li h5 {
  position: absolute;
  left: 50%;
  top: -35px;
  background: #fff;
  padding: 5px 10px;
  transform: translate(-50%, 0);
  font-size: 30px;
  font-weight: bold;
}

.title_2025 {
  display: flex;
  gap: 30px;
  justify-content: center;
}

.step_left {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translate(0, -50%);
}

.step_right {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translate(0, -50%);
}

.step_sns {
  position: absolute;
  left: -35px;
  top: -55px;
}

.aw_amb_text {
  font-size: 28px;
  font-weight: bold;
}

.wide_bnr {
  position: relative;
  width: 96%;
  max-width: 1020px;
  margin: 60px auto 0;
  border-radius: 4px 4px 40px 4px;
  opacity: 0;
  animation: fadeIn 0.5s ease-in forwards;
  animation-delay: 0.5s; /* 0.5秒後に開始 */
  filter: drop-shadow(0 2px 1px rgba(0, 0, 0, 0.2));
  background: #f9f6f3;
}

@keyframes fadeIn {
  to {
    opacity: 1;
  }
}

/* .nabe_item_clickable用のフェードインアニメーション */
.nabe_item_clickable,
.nabeItem_item_clickable {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1.5s ease-out, transform 1.5s ease-out;
}

.nabe_item_clickable.fade-in,
.nabeItem_item_clickable.fade-in {
  opacity: 1;
  transform: translateY(0);
}

.wide_bnr a {
  position: relative;
  width: 100%;
  display: block;
  padding: 30px;
}

.top_aw_bnr {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.top_aw_bnr img {
  width: calc(50% - 20px);
}

.wide_bnr a:hover .contents-list__text {
  opacity: 1;
}

.top_aw_list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 32px 25px;
}

.top_aw_list_wide {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px 25px;
  margin-bottom: 30px;
}

.top_aw_list_wide img {
  max-width: 100%;
}

.top_aw_list li {
  width: 234px;
  height: 234px;
  opacity: 0;
  animation: fadeIn 0.5s ease-in forwards;
  animation-delay: 0.5s; /* 0.5秒後に開始 */
}

.top_aw_list_wide li {
  max-width: 500px;
  opacity: 0;
  animation: fadeIn 0.5s ease-in forwards;
  animation-delay: 0.5s; /* 0.5秒後に開始 */
}

.top_aw_list li a,
.top_aw_list_wide li a {
  display: block;
  position: relative;
}

.top_aw_list .is-imgfit,
.top_aw_list_wide .is-imgfit {
  border-radius: 4px 4px 40px 4px;
  filter: drop-shadow(0 2px 1px rgba(0, 0, 0, 0.2));
}

.top_aw_listbox {
  margin-top: 30px;
}

.top_aw_list a:hover p,
.top_aw_list_wide a:hover p {
  opacity: 1;
  border-radius: 4px 4px 44px 4px;
  filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.3));
}

.aw_stage {
  max-width: 840px;
  margin: 0 auto;
}

.aw_stage h5 {
  position: relative;
  padding-left: 80px;
  font-size: 30px;
  margin-bottom: 20px;
}

.aw_stage h5 span {
  font-size: 15px;
  display: block;
  font-weight: normal;
}

.aw_stage h5:before {
  content: '';
  width: 70px;
  height: 60px;
  position: absolute;
  left: 0;
  top: 0;
  content: url('/assets/img/2025/trophy.png');
}

.bg_connect03 .aw_link a {
  color: #006934;
  background: #fff;
  border: none;
}

.oubo_sp a {
  font-size: 40px;
}

.bg_connect03 a:hover {
  border: none;
  background: #dcb726;
  color: #fff;
}

.oubo_sp span {
  display: block;
}

.pa_zero {
  padding: 0 0 20px !important;
}

.aw_catch_connect {
  background: url('/assets/img/2025/aw_connect_catch_bg.png');
  margin: 10px 0 -50px;
  width: 100%;
  height: 760px;
  overflow: hidden;
}

.hero_2025_list {
  position: relative;
  text-align: center;
  height: 100%;
}

.aw_catch_title {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
}

.aw_catch_logo {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 5;
  margin-left: -450px;
  margin-top: 220px;
}

.aw_catch_trophy {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  margin-left: 450px;
  margin-top: 220px;
  mix-blend-mode: multiply;
}

.aw_catch_badge {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  margin-left: 450px;
  margin-top: -150px;
  z-index: 10;
}

.aw_catch_arch img {
  width: auto;
  max-width: none;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0);
}

.aw_att {
  background: #fff;
  padding: 20px;
  border-radius: 20px;
  margin: 60px auto;
  max-width: 750px;
}

.aw_att h4 {
  text-align: center;
  color: #c9171e;
  font-size: 25px;
  padding-bottom: 20px;
}

.aw_att p {
  font-size: 16px;
  color: #000;
}

.aw_limit {
  background: #dcb726;
  color: #c9171e;
  padding: 15px 30px;
  border-radius: 20px;
  margin-top: 20px;
  display: inline-block;
  font-weight: bold;
  font-size: 24px;
}

.open_list li {
  margin-bottom: 25px;
  background: #fff;
  color: #000;
  overflow: hidden;
  font-size: 18px;
  padding: 0 20px 0 0;
}
.open_list i {
  font-style: normal;
  background: #c9171e;
  color: #fff;
  padding: 10px 20px;
  margin-right: 15px;
  display: inline-block;
  width: 200px;
  text-align: center;
}

.amb_att .s_attbox {
  border: 3px solid #c9171e;
}

.amb_att h5 {
  text-align: center !important;
  font-size: 36px !important;
}

.amb_att h5 img {
  padding-bottom: 15px;
}

.amb_att p {
  font-size: 24px !important;
  font-weight: bold;
  padding: 10px;
  background: #fff;
}

.amb_att .s_tokuten {
  border: none;
  width: 100%;
  display: block;
  padding: 0 80px 20px;
  position: relative;
}

.amb_selection {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  margin-bottom: 15px;
}

.s_tokuten_text h6 {
  margin-bottom: 30px;
  text-align: center;
  font-size: 15px;
}

.leaf_left {
  width: 55px;
  position: absolute;
  left: 10px;
  bottom: 40px;
}

.leaf_right {
  width: 55px;
  position: absolute;
  right: 10px;
  bottom: 40px;
}

@media screen and (min-width: 1580px) {
  .aw_catch_arch img {
    width: 100%;
  }
}

@media screen and (max-width: 1180px) {
  .aw_catch_badge {
    margin-left: 0;
    top: 0;
    transform: none;
    right: 0;
    left: auto;
    margin-top: 10px;
  }
}

/*tablet*/
@media screen and (max-width: 900px) {
  .aw_lineup h5 {
    max-width: 500px;
    margin: 0 auto;
  }
  .aw_lineup h5 span {
    display: block;
  }
  .step_left,
  .step_right {
    width: 50px;
  }
  .step_sns {
    width: 150px;
  }
  .aw_catch_title img {
    width: 500px;
  }
  .aw_catch_logo {
    margin-left: -280px;
    margin-top: 270px;
  }
  .aw_catch_logo img {
    width: 120px;
  }
  .aw_catch_trophy {
    margin-left: 340px;
  }
  .aw_catch_badge {
    margin-left: 0;
    top: 0;
    transform: none;
    right: 0;
    left: auto;
    margin-top: 10px;
  }
  .aw_catch_badge img {
    width: 200px;
  }
}

/*smp*/

@media screen and (max-width: 767px) {
  .top_aw_bnr img:first-child {
    margin-bottom: 10px;
  }
  .hero_2025_list {
    flex-wrap: wrap;
  }
  .hero_imgbox,
  .hero_textbox {
    width: 100%;
  }
  .hero_textbox h4 {
    font-size: 22px;
  }
  .aw_entry_title {
    font-size: 24px;
  }
  .aw_style,
  .shinsa_list {
    display: block;
    padding: 40px 0;
    margin: 30px 0 0;
  }
  .aw_style li {
    width: 100%;
    margin: 0 auto 30px;
  }
  .aw_lineup h5 {
    font-size: 20px;
  }
  .aw_lineup h5 span {
    font-size: 13px;
  }
  .shinsa_list .sl_entry {
    width: 100%;
    grid-template-columns: 1fr;
  }
  .aw_style {
    padding: 0 20px;
  }
  .aw_style h5 {
    font-size: 20px;
  }
  .aw_style img {
    width: 200px;
    margin: 10px auto;
  }
  .aw_2025 .aw_style h5 br,
  .aw_flow li br {
    display: none;
  }
  .aw_flow .final {
    font-size: 20px;
  }
  .aw_entry_title span i br {
    display: none;
  }
  .aw_shinsa br {
    display: none;
  }
  .aw_amb_flow {
    display: block;
  }
  .aw_amb_flow .aw_box {
    width: 100%;
  }
  .step_sns {
    width: 110px;
    left: 10px;
    top: -25px;
  }
  .aw_amb_text {
    font-size: 22px;
  }
  .wide_bnr {
    padding: 15px;
    width: calc(100% - 16vw);
  }
  .top_aw_list {
    gap: 5.33333vw 4vw;
    grid-template-columns: 1fr 1fr;
  }
  .top_aw_list li {
    width: 100%;
    height: 100%;
  }
  .aw_stage h5 {
    font-size: 20px;
  }
  .bg_connect br {
    display: none;
  }
  .bg_connect {
    text-align: left;
    font-size: 16px;
  }
  .aw_shinsa {
    font-size: 20px;
  }
  .aw_connect .aw_entry {
    margin: 0;
    padding: 60px 0 30px;
  }
  .oubo_sp a {
    font-size: 30px;
  }
  .aw_link a {
    font-size: 16px;
  }
  .aw_link_area p {
    font-size: 16px;
  }
  .top_aw_bnr {
    display: block;
  }
  .top_aw_bnr img {
    width: 100%;
  }

  .aw_catch_badge img {
    width: 120px;
  }
  .aw_catch_title img {
    width: 320px;
  }
  .aw_catch_connect {
    height: 500px;
  }
  .aw_catch_trophy {
    left: auto;
    right: -40px;
    margin-left: 0;
    transform: none;
    top: auto;
    bottom: -65px;
  }
  .aw_catch_trophy img {
    width: 200px;
  }
  .aw_catch_logo {
    margin-left: 0;
    margin-top: 0;
    transform: none;
    left: 20px;
    top: auto;
    bottom: 20px;
  }
  .aw_catch_logo img {
    width: 80px;
  }
}

/*AW セレクション*/

.aw_catch_selection {
  background: url('/assets/img/2025/aw_selection_catch_bg.jpg');
  background-size: cover;
  margin: 10px 0 -50px;
  width: 100%;
  height: 760px;
  overflow: hidden;
}
.bg_selection {
  color: #fff;
  padding: 30px 20px 60px;
  text-align: center;
  font-size: 20px;
  position: relative;
}

.aw_selection .bg_selection:before,
.aw_selection .bg_connect03:before {
  content: '';
  width: 300%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: url('/assets/img/2025/aw_selection_bg.jpg');
  margin-left: -100%;
  z-index: -1;
}

.star {
  margin: -70px auto 30px;
  text-align: center;
  position: relative;
  z-index: 2;
}

.star img {
  margin: 0 auto;
}

.hero_text span {
  text-align: left;
  display: inline-block;
  text-align: justify;
}

.aw_entry .star {
  margin-top: -90px;
}

.aw_entry .aw_entry_title {
  color: #c9171e;
}

.badge_selection {
  background: url('/assets/img/2025/badge02.png') no-repeat center center;
}

.aw_style .badge_selection .badge_title,
.aw_style .badge_selection .badge_num {
  color: #fff;
}

.selection_style {
  max-width: none;
}

.selection_style li {
  background: #c9171e;
}

.selection_style h5 {
  border-bottom: 4px solid #c9171e;
  color: #c9171e;
}

.selection_style h5 span {
  font-size: 14px;
}

.selection_style h6 {
  color: #c9171e;
  font-size: 16px;
  padding-top: 15px;
}

.aw_imgs {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.aw_imgs li {
  width: calc(50% - 10px);
  padding: 0;
  background: none;
  box-shadow: none;
}

.aw_imgs li p {
  font-size: 12px;
}

.selection_entry {
  position: relative;
}

.aw_selection .bg_connect03 {
  position: relative;
  color: #fff;
  margin-top: 120px;
  padding-top: 0;
}

.aw_selection .bg_connect03 .aw_link a {
  color: #c9171e;
}

.aw_selection .bg_connect03 .star img {
  position: relative;
  top: -30px;
}

.selection_entry:before {
  content: '';
  width: 300%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: url('/assets/img/2025/selection_bg.jpg');
  margin-left: -100%;
  z-index: -1;
}

.selection_att {
  font-size: 20px;
  text-align: center;
  color: #c9171e;
  padding: 60px 0;
  margin: 0 auto;
  max-width: 1000px;
}

.selection_att a {
  color: #c9171e;
}

.aw_selection .bg_connect02 {
  color: #fff;
  padding: 60px 0 60px;
  font-size: 20px;
  position: relative;
}

.aw_selection .bg_connect02:before {
  content: '';
  width: 300%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: url('/assets/img/2025/aw_connect_bg02.jpg');
  margin-left: -100%;
  z-index: -1;
}

.aw_selection .bg_connect02 .aw_entry_title {
  color: #fff;
}

.selection_flow {
  position: relative;
  margin: 60px 0;
}

.selection_flow span {
  background: #c9171e;
  color: #fff;
  padding: 2px 40px;
  font-size: 20px;
  position: absolute;
  left: 50%;
  top: -25px;
  transform: translate(-50%, 0);
  z-index: 10;
}

.s_flow_badge {
  position: absolute;
  left: 40px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
}

.selection_flow p {
  padding: 20px 80px;
  position: relative;
  font-size: 22px;
  text-align: center;
  border-radius: 40px;
  color: #000;
  background: #fff;
}

.selection_flow p:before {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 20px solid transparent;
  border-left: 20px solid transparent;
  border-top: 20px solid #fff;
  border-bottom: 0;
  position: absolute;
  left: 50%;
  bottom: -18px;
  transform: translate(-50%, 0);
}

.s_final span {
  background: #fff;
  color: #c9171e;
}

.s_final p {
  color: #fff;
  background: #c9171e;
}

.s_final p:before {
  border-top: 20px solid #c9171e;
}

.s_open p {
  color: #c9171e;
}

.s_open {
  margin-bottom: 0;
}

.s_open p:before {
  display: none;
}

.aw_selection .shinsa_list:before {
  border-top: 2px solid #c9171e;
  border-bottom: 2px solid #c9171e;
}

.selection_shinsa h4 {
  color: #c9171e;
  font-size: 30px;
}

.selection_shinsa .sl_entry {
  width: 100%;
  max-width: none;
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}

.selection_shinsa .roll {
  color: #c9171e;
}

.shinsa_title_sub {
  margin-top: 40px;
}

.shinsa_title_sub span {
  margin-left: 20px;
  font-size: 15px;
}

.sl_selection {
  gap: 20px;
  justify-content: space-between;
}

.sl_selection li {
  width: calc(50% - 20px);
}

.selection_shinsa .comment {
  font-size: 14px;
  text-align: justify;
  max-width: 700px;
}

.selection_shinsa .roll {
  font-size: 14px;
  line-height: 1.4;
}

.btn_red a {
  background: #c9171e;
  border: 1px solid #c9171e;
}

.selection_att {
  background: none;
}

.selection_att h4 {
  color: #fff;
  font-size: 30px;
}

.s_attbox {
  padding: 20px;
  background: #fff;
  border-radius: 20px;
}

.s_tokuten {
  display: flex;
  gap: 30px;
  padding: 30px 0;
  border-bottom: 1px solid #c9171e;
  text-align: left;
}

.s_tokuten_text h5 {
  text-align: left;
  font-size: 24px;
  padding-bottom: 15px;
}

.s_tokuten_text p {
  margin-bottom: 0;
  margin-left: 1em;
  text-indent: -1em;
}

.s_tokuten p span {
  color: #c9171e;
}

.yushu p span {
  color: #999;
}

.saiyushu p span {
  color: goldenrod;
}

.panf_data {
  display: flex;
  gap: 20px;
}

.panf_data li {
  width: 180px;
}

.selection_linkbox {
  padding: 40px 20px 40px 430px;
  border: 2px solid #c9171e;
  background: #f7f7f7;
  margin: 60px 0;
  position: relative;
}

.amb_linkbox {
  padding-left: 230px;
}

.panf_data {
  position: absolute;
  left: 20px;
  top: 20px;
}

.panf_textbox h4 {
  font-size: 20px;
  color: #c9171e;
}

.panf_textbox .aw_link a {
  background: #000;
  border: 1px solid #000;
}

.panf_textbox .aw_link a:hover {
  background: #fff;
  color: #000;
}

.aw_text {
  text-align: center;
}

.aw_text a {
  color: #c9171e;
}

.s_example {
  padding-top: 40px !important;
}

.nfs_explain {
  left: 100px;
  top: 30px;
}

.nfs_explain li {
  width: 250px;
}

.aw_catch_selection .aw_catch_logo {
  margin-top: 0;
}

/*AW フォトコン*/

.aw_catch_amb {
  background: url('/assets/img/2025/aw_amb_catch_bg.jpg') center center no-repeat;
  background-size: cover;
  margin: 10px 0 -50px;
  width: 100%;
  height: 760px;
  overflow: hidden;
}

.aw_amb_title {
  height: 100%;
  img {
    height: 100%;
    object-fit: contain;
  }
}

.bg_amb {
  span {
    text-align: center;
  }
  .small {
    font-size: 13px;
  }
}

.aw_selection .aw_amb_entry:before {
  content: '';
  width: 300%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: url('/assets/img/2025/aw_amb_bg.jpg');
  margin-left: -100%;
  z-index: -1;
}

.aw_amb_entry h4 {
  color: #40220f !important;
}

.open_list {
  li {
    strong {
      color: #c9171e;
      padding-left: 5px;
    }
  }
}

.amb_qr {
  padding: 20px 0;
  background: #a58a3d;
  img {
    max-width: 480px;
    width: 100%;
  }
}

.qr_list {
  margin: 0 auto 50px;
  padding: 0 !important;
  margin-bottom: 50px !important;
}

/*AW サステ鍋*/

.aw_catch_nabe {
  margin: 10px 0 -50px;
  width: 100%;
  overflow: hidden;
  position: relative;
}

.nabe_catch {
  width: 1800px;
  margin: 30px auto;
  position: absolute;
  left: 50%;
  top: -50px;
  transform: translate(-50%, 0);
}

.nabe_catch_box {
  background: url('/assets/img/2025/nabe_bg.jpg') center center no-repeat;
  background-size: cover;
  height: 800px;
}

.aw_catch_nabe img {
  width: 100%;
}

.nabe_main {
  position: relative;
  z-index: 1;
  margin-top: -245px;
}

.aw_nabe_entry {
  background: url('/assets/img/2025/nabe_border.png');
  position: relative;
  min-height: 500px;
  z-index: 5;
  padding-bottom: 50px;
}

.aw_catch_nabe .hero_2025_list {
  position: relative;
  z-index: 1;
  margin-bottom: 40px;
}

.aw_nabe_entry:before {
  content: '';
  width: 100%;
  height: 45px;
  position: absolute;
  left: 0;
  top: 0;
  background: url('/assets/img/2025/nabe_design.png');
}

.nabe_content {
  position: relative;
  z-index: 10;
  padding: 40px;
  background: rgba(56, 147, 56, 0.95);
  max-width: 1200px;
  margin: 0 auto;
  border-radius: 20px;
  top: -250px;
}

.nabe_title {
  position: relative;
  top: -80px;
}

.nabe_title img {
  position: relative;
  z-index: 10;
  margin: 0 auto;
  display: block;
}

.nabe_title:before {
  content: '';
  width: 146px;
  height: 168px;
  position: absolute;
  left: 0;
  top: -80px;
  background: url('/assets/img/2025/nabe_fukidashi02.png') center center no-repeat;
  background-size: cover;
}

.nabe_title:after {
  content: '';
  width: 146px;
  height: 168px;
  position: absolute;
  right: 0;
  top: -80px;
  background: url('/assets/img/2025/nabe_fukidashi01.png') center center no-repeat;
  background-size: cover;
}

.nabe_text {
  color: #fff;
  font-size: 20px;
  max-width: 1000px;
  margin: -50px auto 0;
  line-height: 1.6;
}

.nabe_imglist ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
  margin-top: 60px;
}

.nabe_imglist ul li {
  width: calc(50% - 20px);
  padding: 0;
  background: #fffddf;
  position: relative;
  border-radius: 20px;
}

.nabe_icon {
  position: absolute;
  left: 20px;
  top: -20px;
}

.nabe_imglist_title {
  font-size: 20px;
  color: #004c36;
  padding: 15px 30px 15px 150px;
}

.nabe_imglist_title span {
  font-size: 14px;
  margin-left: 5px;
}

.nabe_illust img {
  width: 100%;
  display: block;
}

.nabe_att {
  text-align: center;
  margin: 10px 0;
}

.nabe_bnr {
  margin: -150px auto 0;
  padding: 0 20px;
  max-width: 1000px;
  transition: ease-in-out 0.3s;
}
.nabe_bnr:hover {
  transform: scale(1.05);
}
.nabe_bnr img {
  display: block;
  border: 2px solid #1f913b;
  border-radius: 20px;
}

.nabe_bnr ul {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
}

.nabe_bnr img {
  display: block;
  width: auto;
  max-width: 100%;
}

.nabe_bnr ul {
  border-radius: 20px;
  border: 6px solid #7fbe26;
  overflow: hidden;
}

.amb_term {
  margin: 30px auto;
  background: #fff;
  color: #40220f;
  padding: 20px;
  font-size: 20px;
  font-weight: bold;
  border-radius: 20px;
  text-align: center;
  max-width: 700px;
}

.amb_theme {
  margin: 30px auto;
  background: #fff;
  color: #c9171e;
  padding: 40px;
  font-size: 24px;
  font-weight: bold;
  border-radius: 20px;
  text-align: center;
  max-width: 880px;
}

.nabe_title02 {
  position: relative;
  max-width: 960px;
  margin: 0 auto;
}

.nabe_title02 img {
  position: relative;
  z-index: 10;
  margin: 0 auto;
  display: block;
}

.nabe_title02:before {
  content: '';
  width: 165px;
  height: 134px;
  position: absolute;
  left: 0;
  top: 0;
  background: url('/assets/img/2025/nabe01.png') center center no-repeat;
  background-size: cover;
}

.nabe_title02:after {
  content: '';
  width: 165px;
  height: 134px;
  position: absolute;
  right: 0;
  top: 0;
  background: url('/assets/img/2025/nabe02.png') center center no-repeat;
  background-size: cover;
}

.nabe_list {
  margin-top: 100px;
  padding: 0 20px;
}

.nabe_listbox,
.nabeItem_listbox {
  display: grid;
  gap: 30px;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  max-width: 1300px;
  margin: 40px auto;
}

.nabe_listbox li img,
.nabeItem_listbox li img {
  width: 100%;
  display: block;
}

.nabe_img {
  overflow: hidden;
  border-radius: 20px 20px 0 0;
  border: 2px solid #1f913b;
  border-bottom: none;
}

.nabe_textbox {
  background: #fff;
  padding: 5px 15px 10px;
  border-radius: 0 0 20px 20px;
  border: 2px solid #1f913b;
  border-top: none;
}

.nabe_partner {
  color: #000;
  font-size: 15px;
  padding: 8px 0 4px;
}
.nabe_name {
  color: #1f913b;
  font-size: 14px;
}

/* クリック可能な鍋リスト項目 */
.nabe_item_clickable,
.nabeItem_item_clickable {
  cursor: pointer;
  transition: all 0.3s ease;
  transform: rotate(-3deg);
  transform-origin: top right;
}

.nabe_item_clickable:hover,
.nabeItem_item_clickable:hover {
  transform: translateY(-5px);
}

.nabe_item_clickable:hover .nabe_img img,
.nabeItem_item_clickable:hover .nabe_img img {
  transform: scale(1.05);
}

.nabe_img {
  overflow: hidden;
}

.nabe_img img {
  transition: transform 0.3s ease;
}

/* ポップアップ時のスクロール制御 */
body.popup_open {
  overflow: hidden;
}

.nabe_prbox {
  background: url('/assets/img/2025/nabe_pr_bg.jpg');
  padding: 100px 20px 40px;
}

.nabe_prbox h3 {
  text-align: center;
  color: #fff;
  font-size: 36px;
}

.nabe_prbox h3 span {
  font-size: 20px;
  display: block;
}

.nabe_pr_list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 20px;
  max-width: 1100px;
  margin: 40px auto;
}
.nabe_pr_list img {
  width: 100%;
  display: block;
  transition: ease-in-out 0.3s;
}

.nabe_pr_list a:hover img {
  transform: translate(0, -8px);
}

.nabe_logo {
  margin-bottom: 5px;
}

.nabe_logo_name {
  color: #fff;
  font-size: 14px;
}

/* ページネーション */
.nabe_pagination,
.nabeItem_pagination,
.stock_pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin: 40px 0;
  padding: 20px 0;
}

.pagination_btn,
.nabeItem_pagination_btn {
  background: #fff;
  border: 2px solid #c9171e;
  color: #c9171e;
  padding: 8px 16px;
  border-radius: 5px;
  cursor: pointer;
  font-size: 16px;
  font-weight: bold;
  transition: all 0.3s ease;
  min-width: 44px;
  height: 44px;
}

.pagination_btn:hover,
.nabeItem_pagination_btn:hover {
  background: #c9171e;
  color: #fff;
}

.pagination_btn:disabled,
.nabeItem_pagination_btn:disabled {
  background: #f5f5f5;
  border-color: #ddd;
  color: #999;
  cursor: not-allowed;
}

.pagination_btn:disabled:hover,
.nabeItem_pagination_btn:disabled:hover {
  background: #f5f5f5;
  color: #999;
}

.pagination_btn.active,
.nabeItem_pagination_btn.active {
  background: #c9171e;
  color: #fff;
}

.pagination_numbers,
.nabeItem_pagination_numbers,
#stockPageNumbers {
  display: flex;
  gap: 5px;
}

.pagination_number,
.nabeItem_pagination_number {
  min-width: 44px;
}

.pagination_prev,
.pagination_next,
.nabeItem_pagination_prev,
.nabeItem_pagination_next {
  padding: 8px 20px;
}

/* サステ鍋 ポップアップ */
.nabe_popup_overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 9999;
  padding: 20px;
  box-sizing: border-box;
}

.nabe_popup {
  position: relative;
  background: #fff;
  border-radius: 15px;
  max-width: 800px;
  max-height: 90vh;
  margin: 0 auto;
  top: 50%;
  transform: translateY(-50%);
  overflow-y: auto;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.nabe_popup_close {
  position: absolute;
  top: 10px;
  right: 10px;
  border: none;
  font-size: 24px;
  color: #666;
  cursor: pointer;
  z-index: 10;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.3s ease;
  background: #fff;
  line-height: 1;
}

.nabe_popup_close:hover {
  background: #f0f0f0;
  color: #c9171e;
}

.nabe_popup_content {
  padding: 30px;
  display: flex;
  gap: 30px;
  align-items: flex-start;
}

.nabe_popup_img {
  flex: 0 0 300px;
}

.nabe_popup_img img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  border: 1px solid #ddd;
}

.nabe_popup_info {
  flex: 1;
}

.nabe_popup_partner {
  color: #c9171e;
  font-size: 16px;
  margin: 0 0 10px 0;
  font-weight: bold;
}

.nabe_popup_name {
  color: #333;
  font-size: 24px;
  margin: 0 0 20px 0;
  font-weight: bold;
  line-height: 1.4;
}

.nabe_popup_text {
  color: #333;
  font-size: 16px;
  line-height: 1.6;
  margin: 0 0 25px 0;
}

.nabe_popup_link a {
  display: block;
  text-align: center;
  background: #c9171e;
  color: #fff;
  padding: 12px 30px;
  border-radius: 25px;
  text-decoration: none;
  font-weight: bold;
  font-size: 16px;
  transition: all 0.3s ease;
}

.nabe_popup_link a:hover {
  background: #a50f17;
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(201, 23, 30, 0.3);
}

.pr_oubo {
  background: #fff;
  padding: 40px;
  border-radius: 20px;
  max-width: 940px;
  margin: 40px auto;
  color: #005e3c;
}

.pr_oubo h3 {
  font-size: 28px;
  color: #005e3c;
}

.pr_oubo p {
  color: #000;
  margin: 30px 0;
  font-size: 16px;
}

.pr_oubo h4 {
  text-align: center;
  font-size: 20px;
}

.pr_oubo .link_btn a {
  display: block;
  background: #ed7100;
  font-size: 20px;
  color: #fff;
  border-radius: 40px;
  max-width: 700px;
  width: 100%;
  margin: 30px auto;
  padding: 20px;
  text-align: center;
  transition: ease-in-out 0.3s;
}

.pr_oubo .link_btn a span {
  font-size: 16px;
}

.pr_oubo .link_btn a:hover {
  background: #000;
}

.qr_text {
  font-size: 15px !important;
  margin: 20px auto 0 !important;
  max-width: 350px !important;
  padding: 10px !important;
  background: #c9171e !important;
  color: #fff !important;
  text-align: center !important;
}

/*ローリングストック*/

.aw_catch_stock {
  margin: 10px 0 -50px;
  width: 100%;
  overflow: hidden;
  position: relative;
}

.stock_catch {
  max-width: 400px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-top: -75px;
}

.stock_catch_box {
  background: url('/assets/img/2025/stock_bg.jpg') center center no-repeat;
  background-size: cover;
  height: 800px;
}

.aw_stock_entry {
  background: url('/assets/img/2025/stock_border.png');
  position: relative;
  min-height: 500px;
  z-index: 5;
  padding-bottom: 50px;
}

.stock_content {
  position: relative;
  z-index: 10;
  padding: 40px;
  background: rgba(77, 67, 151, 0.95);
  max-width: 1200px;
  margin: 0 auto;
  border-radius: 20px;
  top: -250px;
}

.stock_title {
  position: relative;
  top: -50px;
}

.stock_title img {
  position: relative;
  z-index: 10;
  margin: 0 auto;
  display: block;
  margin-top: -30px;
  max-width: 100%;
}

.stock_text {
  color: #fff;
  font-size: 20px;
  max-width: 1000px;
  margin: 0px auto 0;
  line-height: 1.6;
}

.stock_img {
  max-width: 900px;
  margin: 40px auto 0;
}

.stock_img img {
  max-width: 100%;
}

.stock_title02 {
  text-align: center;
}

.stock_title02 img {
  max-width: 100%;
}

#stock_active {
  margin-top: -150px;
}

.stock_bnrlist {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 30px;
  margin: 50px auto;
  max-width: 1300px;
  padding: 0 20px;
}

.stock_bnrlist img {
  max-width: 100%;
  /* border-radius: 20px; */
  border: 2px solid #5d1986;
  transition: ease-in-out 0.3s;
}

.stock_bnrlist li:hover img {
  transform: scale(1.03);
}

.stock_bnrlist h5 {
  font-size: 14px;
  padding: 3px 10px;
  color: #000;
}

.stock_bnrlist h6 {
  font-size: 16px;
  padding: 0 10px;
  color: #ab378e;
}

.stock_listbox {
  display: grid;
  gap: 30px;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  max-width: 1300px;
  margin: 40px auto;
}
.stock_listbox li img {
  width: 100%;
  display: block;
}

.stock_bnr .pagination_btn,
.stock_pagination_btn {
  background: #fff;
  border: 2px solid #5d1986;
  color: #5d1986;
  padding: 8px 16px;
  border-radius: 5px;
  cursor: pointer;
  font-size: 16px;
  font-weight: bold;
  transition: all 0.3s ease;
  min-width: 44px;
  height: 44px;
}

.stock_bnr .pagination_btn:hover,
.stock_pagination_btn:hover {
  background: #5d1986;
  color: #fff;
}

.stock_bnr .pagination_btn:disabled {
  background: #f5f5f5;
  border-color: #ddd;
  color: #999;
  cursor: not-allowed;
}

.stock_bnr .pagination_btn:disabled:hover,
.stock_pagination_btn:disabled:hover {
  background: #5d1986;
  color: #fff;
}

.stock_bnr .pagination_btn.active,
.stock_pagination_btn.active {
  background: #5d1986;
  color: #fff;
}

.stock_prbox {
  background: url('/assets/img/2025/stock_pr_bg.jpg');
  padding: 100px 20px 40px;
  position: relative;
}

.stock_prbox:before {
  content: '';
  width: 100%;
  height: 45px;
  background: url('/assets/img/2025/stock_design.png') repeat-x;
  position: absolute;
  top: 0;
  left: 0;
}

.stock_prbox h3 {
  text-align: center;
  color: #fff;
  font-size: 36px;
}

.stock_prbox h3 span {
  font-size: 20px;
  display: block;
}

.pr_stock h3,
.pr_stock h4 {
  color: #5d1985;
}

.pr_stock .link_btn a {
  background: #ab378e;
}

.stock_item .nabe_img {
  border: 2px solid #ab378e;
  border-bottom: none;
}

.stock_item .nabe_textbox {
  border: 2px solid #ab378e;
  border-top: none;
}

.stock_item .nabe_name {
  color: #ab378e;
  height: 3em;
  overflow: hidden;
}

.mark_point {
  position: fixed;
  top: 40px;
  right: 25px;
  z-index: 10;
  width: 140px;
}

.mark_point img {
  width: auto;
  max-width: 100%;
}

.mp_02 {
  top: 200px;
}

/* クイズマーククリック可能スタイル */
.mp_02 {
  cursor: pointer;
}

.mp_02:hover {
  opacity: 0.8;
  transform: scale(1.05);
  transition: all 0.3s ease;
}

/* ポップアップスタイル */
.mark_popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  display: none;
  z-index: 1000;
  justify-content: center;
  align-items: center;
}

.mark_popup_content {
  background: #fff;
  border-radius: 15px;
  padding: 30px;
  max-width: 500px;
  width: 90%;
  max-height: 80vh;
  overflow-y: auto;
  position: relative;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  animation: popupFadeIn 0.3s ease-out;
}

@keyframes popupFadeIn {
  from {
    opacity: 0;
    transform: scale(0.8) translateY(-20px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.mark_popup_close {
  position: absolute;
  top: 15px;
  right: 20px;
  background: none;
  border: none;
  font-size: 30px;
  cursor: pointer;
  color: #999;
  transition: color 0.3s ease;
}

.mark_popup_close:hover {
  color: #c01;
}

.mark_popup h3 {
  color: #c01;
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 15px;
  text-align: center;
}

.mark_popup p {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 20px;
  color: #333;
}

.mark_popup_btn {
  display: block;
  width: 100%;
  max-width: 250px;
  margin: 20px auto 0;
  padding: 12px 20px;
  background: #c01;
  color: #fff;
  text-decoration: none;
  border-radius: 8px;
  text-align: center;
  font-weight: bold;
  transition: background-color 0.3s ease;
}

.mark_popup_btn:hover {
  background: #a00;
  color: #fff;
  text-decoration: none;
}

/* フェス2025 */
.info_fes2025 {
  background: #c01;
  color: #fff;
  padding: 20px 40px;
}
.info_fes2025 h3 {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}
.info_fes2025 p {
  font-size: 16px;
}
.info_fes2025 a {
  font-size: 16px;
  color: #000;
  text-decoration: underline;
  color: #fff;
  padding: 5px 0;
}
.info_fes2025 a:hover {
  text-decoration: none;
}

.contents_info {
  min-height: 400px;
  max-width: 900px;
  margin: 50px auto;
  padding: 0 20px;
}

.contents_info_title {
  color: #c01;
  font-size: 36px;
  margin: 40px 0;
}

.contents_info_subtitle {
  margin: 40px 0;
  font-size: 24px;
}

.contents_info hr {
  margin: 40px 0;
}

.contents_info p {
  font-size: 16px;
  line-height: 1.65;
  margin: 0 0 20px !important;
}

.contents_info a {
  text-decoration: underline;
  color: #c01;
}

.contents_info iframe {
  width: 100%;
}

.connect_info_box {
  position: relative;
}

.connect_info_box:before {
  content: '';
  background: url('/assets/img/2025/fes2025_bg.jpg') center center no-repeat;
  background-size: cover;
  position: absolute;
  left: -50%;
  top: 0;
  height: 100%;
  width: 200%;
  z-index: -1;
}

.connect_info {
  background: #b89c4f;
  padding-bottom: 20px;
}

.connect_info h4 {
  color: #fff !important;
  padding: 40px 0 0;
}

.connect_info p {
  color: #fff !important;
  padding: 0 40px;
}

.connect_info_btn {
  color: #fff;
  background: #004c36;
  padding: 10px 20px;
  border-radius: 20px;
  text-align: center;
  max-width: 350px;
  width: 90%;
  margin: 40px auto;
}

.connect_att {
  background: #c01;
  color: #fff !important;
  text-align: center;
  padding: 20px;
}

.connect_att h4 {
  font-size: 20px;
  padding-bottom: 20px;
}

.connect_att a {
  color: #fff;
  text-decoration: underline;
}

/* mark ポップアップ */

.mp02_popup h3,
.mp02_popup p {
  color: #5d1986;
}

.quiz_q {
  display: grid;
  grid-template-columns: 1fr;
  justify-content: center;
  max-width: 240px;
  margin: 0 auto 30px;
  gap: 5px;
  font-weight: bold;
}

.mp02_popup h4 {
  border-top: 2px solid #5d1986;
  padding-top: 20px;
  font-size: 24px;
  color: #5d1986;
}

.mp02_popup h4 span {
  background: #5d1986;
  padding: 3px 10px;
  color: #fff;
  margin-right: 15px;
}

.quiz_a {
  font-size: 14px;
  line-height: 1.6;
  margin: 20px 0;
}

.quiz_q li {
  font-size: 28px;
  color: #5d1986;
}

.quiz_link a {
  font-size: 13px;
  color: #5d1986;
  text-decoration: underline;
}

@media screen and (max-width: 1500px) {
  .nabe_content {
    top: -120px;
  }
  .stock_content {
    top: -120px;
  }
  .nabe_bnr {
    margin: -50px auto 0;
  }
  #stock_active {
    margin-top: 0;
  }
}

@media screen and (max-width: 1000px) {
  .aw_catch_selection .aw_catch_title {
    width: 350px;
  }
  .open_list li {
    width: 100%;
    padding: 15px;
    font-size: 18px;
  }
  .open_list i {
    margin: 0 0 15px 0;
    width: 100%;
  }
  .aw_catch_selection .aw_catch_title img {
    width: 100%;
  }
  .aw_catch_selection .aw_catch_title {
    width: 380px;
  }
  .selection_flow p {
    padding-left: 150px;
  }
  .stock_listbox {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .mark_point {
    position: fixed;
    top: 30px;
    right: 15px;
    z-index: 10;
    width: 80px;
  }
}

/* レスポンシブ対応 */
@media (max-width: 800px) {
  .info_fes2025 {
    margin: 20px auto -20px;
  }
  .mark_point {
    position: fixed;
    top: auto;
    bottom: 100px;
    right: 15px;
    z-index: 10;
    width: 80px;
  }
  .mp_02 {
    position: fixed;
    top: auto;
    bottom: 10px;
    right: 15px;
    z-index: 10;
    width: 80px;
  }

  .mark_popup_content {
    padding: 20px;
    max-width: 90%;
    width: 95%;
  }

  .mark_popup h3 {
    font-size: 20px;
  }

  .mark_popup p {
    font-size: 14px;
  }
  .stock_item .nabe_name {
    height: auto;
  }
  .stock_bnrlist {
    grid-template-columns: 1fr 1fr;
  }
  #stock_active {
    margin-top: 50px;
  }
  .stock_listbox {
    grid-template-columns: 1fr 1fr;
    gap: 15px;
  }
  .amb_selection {
    grid-template-columns: 1fr 1fr;
  }
  .nabe_popup {
    margin: 20px;
    max-height: calc(100vh - 40px);
  }

  .nabe_popup_content {
    flex-direction: column;
    padding: 20px;
    gap: 20px;
  }

  .nabe_popup_img {
    flex: none;
  }

  .nabe_popup_name {
    font-size: 20px;
  }
  .nabe_catch {
    width: 1200px;
  }
  .nabe_content {
    top: 0;
  }
  .stock_content {
    top: 0;
  }
  .nabe_title img {
    padding: 0 90px;
    width: 100%;
  }
  .nabe_title02 img {
    padding: 0 190px;
    width: 100%;
  }
  .nabe_imglist_title {
    font-size: 20px;
    color: #004c36;
    padding: 80px 15px 15px;
  }
  .nabe_imglist_title br {
    display: none;
  }
  .nabe_icon {
    left: 50%;
    transform: translate(-50%, -10px);
  }
  .nabe_listbox,
  .nabeItem_listbox {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .nabe_catch_box {
    height: 600px;
  }
  .top_aw_list {
    grid-template-columns: 1fr 1fr;
  }
  .top_aw_list_wide {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 600px) {
  .nfs_explain {
    justify-content: center;
  }
  .aw_catch_selection {
    height: 500px;
  }
  .hero_text span {
    font-size: 16px;
  }
  .selection_style h6 {
    font-size: 15px;
    padding-top: 0;
  }
  .aw_catch_selection .aw_catch_title {
    width: 250px;
  }
  .selection_style h6 br {
    display: none;
  }
  .selection_style h5 span {
    font-size: 14px;
    line-height: 1.4;
    display: inline-block;
  }
  .aw_imgs li p {
    line-height: 1.4;
  }
  .selection_att {
    padding-top: 30px;
  }
  .s_flow_badge {
    left: 20px;
  }
  .selection_flow p {
    padding: 40px 20px 40px 100px;
    font-size: 18px;
    text-align: left;
    line-height: 1.5;
  }
  .s_flow_badge img {
    width: 55px;
  }
  .selection_flow span {
    width: 100%;
    max-width: 250px;
    text-align: center;
  }
  .s_open p {
    padding: 40px 20px;
  }
  .sl_selection li {
    width: 100%;
  }
  .selection_shinsa .comment {
    font-size: 13px;
    line-height: 1.5;
  }
  .selection_sp {
    padding-top: 40px;
    font-size: 18px;
  }
  .selection_style {
    padding: 0 0 0 20px;
  }
  .s_tokuten_badge {
    width: 100%;
    text-align: center;
  }
  .s_tokuten_badge img {
    margin: 0 auto 20px;
  }
  .s_tokuten_text {
    width: 100%;
  }
  .selection_att h4 {
    font-size: 20px;
  }
  .aw_page .hero_2025 {
    width: 100%;
  }
  .s_tokuten {
    display: block;
  }
  .s_tokuten_text h5 {
    text-align: center;
  }
  .panf_data {
    position: initial;
  }
  .selection_linkbox {
    padding: 15px;
  }
  .panf_textbox h4 {
    font-size: 18px;
    line-height: 1.5;
    margin: 20px 0;
  }
  a {
    word-break: break-all;
  }
  .aw_catch_amb {
    height: 260px;
  }
  .amb_linkbox .panf_data li {
    margin: 0 auto;
  }

  .leaf_left,
  .leaf_right {
    display: none;
  }
  .amb_att h5 img {
    display: block;
    padding-bottom: 15px;
  }
  .amb_att .s_tokuten {
    padding: 0;
  }
  .amb_att h5 {
    font-size: 24px !important;
  }
  .amb_att p {
    font-size: 18px !important;
  }
  .nabe_title:before,
  .nabe_title:after {
    width: 54px;
    height: 60px;
  }
  .nabe_title img {
    padding: 0 30px;
  }
  .nabe_title {
    top: 0;
  }
  .nabe_text {
    margin: 30px auto 0;
    font-size: 18px;
  }
  .nabe_content {
    padding: 40px 20px;
  }
  .stock_content {
    padding: 40px 20px;
  }
  .nabe_imglist ul {
    display: block;
  }
  .nabe_imglist ul li {
    width: 100%;
  }
  .nabe_imglist ul li:not(:last-child) {
    margin: 20px 0 50px;
  }
  .nabe_imglist_title {
    font-size: 18px;
  }
  .nabe_popup_img {
    margin: 0 auto;
    display: block;
  }
  .nabe_catch {
    width: 800px;
  }
  .nabe_bnr {
    width: calc(100% - 30px);
    margin: 30px auto;
    padding: 0;
  }
  .nabe_bnr ul {
    flex-wrap: wrap;
    background: #fff;
  }
  .nabe_bnr ul li:first-child {
    width: 30%;
  }
  .nabe_bnr ul li:nth-child(2) {
    width: 70%;
  }
  .nabe_bnr ul li:last-child {
    width: 100%;
  }
  .nabe_list {
    margin-top: 40px;
  }
  .nabe_title02:before,
  .nabe_title02:after {
    width: 45px;
    height: 34px;
    top: 50%;
    transform: translate(0px, -50%);
  }
  .nabe_title02 img {
    padding: 0 60px;
  }
  .nabe_listbox,
  .nabeItem_listbox {
    grid-template-columns: 1fr 1fr;
    gap: 15px;
  }
  .nabe_partner {
    font-size: 13px;
    padding: 3px 0;
  }
  .nabe_name {
    font-size: 13px;
  }
  .nabe_list {
    padding: 0 15px;
  }
  .nabe_prbox h3 span {
    font-size: 16px;
  }
  .nabe_prbox h3 {
    font-size: 22px;
  }
  .stock_prbox h3 span {
    font-size: 16px;
  }
  .stock_prbox h3 {
    font-size: 22px;
  }
  .nabe_pr_list {
    grid-template-columns: 1fr 1fr;
  }
  .nabe_logo_name {
    font-size: 13px;
  }
  .pr_oubo {
    padding: 40px 20px;
  }
  .pr_oubo h4 {
    font-size: 16px;
  }
  .pr_oubo .link_btn a {
    font-size: 16px;
  }
  .nabe_popup_text {
    font-size: 14px;
    margin-bottom: 10px;
    max-height: 115px;
    overflow: scroll;
  }
  .nabe_popup {
    margin: 20px 0;
  }

  .nabe_imglist_title {
    text-align: center;
  }
  .nabe_imglist_title br {
    display: block;
  }

  .nabe_catch_box {
    height: 380px;
  }
  .nabe_main {
    margin-top: -180px;
  }
  .pagination_next,
  .pagination_prev {
    display: none;
  }
  .pagination_number {
    min-width: 36px;
    padding: 8px;
  }
  ._pc {
    display: none !important;
  }

  ._sp {
    display: block !important;
  }
  .nabe_popup_content {
    gap: 10px;
  }
  .nabe_popup_name {
    margin-bottom: 10px;
  }
  .stock_catch_box {
    height: 500px;
  }
  .stock_catch {
    width: 250px;
    margin-top: -50px;
  }
  .stock_title img {
    margin-top: -15px;
  }
  .stock_bnrlist {
    grid-template-columns: 1fr;
  }
}
