@charset "utf-8";

#main .sctn {padding: 0 0 40px;}
main #sb_hdr + p {
  margin: 0 auto 39px;
}
main p.end {
  margin: 19px auto 39px;
  padding: 15px 0;
  border: 1px solid;
  background: #ffffcc;
  color: #990000;
  font-size: min(4vw, 1.4rem);
  font-weight: bold;
  line-height: 1.3;
}

section > h3,
#p_lst > div > h3 {
  margin: 0 auto 36px;
  padding: 10px 1%;
  background: #003366;
  color: #fff;
  font-size: 1.8rem;
  line-height: 1;
}
section#rlly > h3 {background: #990033;}


#p_lst > div > h3 {
  background: #557744;
  font-weight: normal;:
}
#p_lst > div > h3.lv {background: #005588;}
main section > dl,
main section > ul {
  margin: 0 auto 50px;
  display: flex;
  justify-content: space-between;
  text-align: left;
}
main section > dl dd {
  width: 40%;
  padding: 0 0 0 2%;
}
main section > dl dd img {
  filter: drop-shadow(0 0 6px rgba(0, 0, 0, .4));
}

#rlly > p {
  width: 96%;
  max-width: 1050px;
  margin: 0 auto 39px;
  text-align: left;
}
section > ul li strong {
  margin: 0 auto 30px;
  display: block;

  color: #fff;
  font-size: min(2vw, 1.8rem);
  line-height: 1;
}
section > ul li strong img {
  max-width: 70%;
  margin: 0 auto;
}
#en section > ul li strong img {max-width: 370px;}
#en section > ul li:last-child strong img {
  max-width: 400px;
  margin: 0 auto 2px;
}
section > ul li strong + img {
  width: 68%;
  margin: 0 auto 20px;
  filter: drop-shadow(0 0 6px rgba(0, 0, 0, .4));
}
#rlly > ul {
  width: 96%;
  max-width: 1050px;
  flex-wrap: wrap;
  justify-content: space-between;
}
main section#rlly > ul li {
  width: 44%;
  padding: 30px 2%;
  background: #fff;
  text-align: center;
}
#rlly > ul > li > h4 {
  margin: 0 auto 15px;
  font-size: min(3.8vw, 1.4rem);
}
#rlly > ul > li > p {
  margin: 0 auto;
  border: 2px solid;
  color: #790000;
  font-size: 1.2rem;
  font-weight: bold;
}

#nakowaza {
  margin: 0 auto 60px;
  padding: 40px 4% 40px 24%;
  background: url(../../../2024/com/img/prsnt/wazaneko.png) no-repeat 6% 30% #fff;
  background-size: 16% auto;
  border: 2px solid #0077bb;
  text-align: left;
}
#main .sctn #nakowaza > h2 {
  margin: 0 auto 9px;
  color: #0077bb;
  font-size: min(2.8vw, 2rem);
  font-family: Noto Sans, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  text-align: left;
}
#main .sctn #nakowaza > h2 img {
  width: 80%;
}
#main #nakowaza .bx_btn {
  padding: 15px 0 0 8%;
  text-align: left;
}
@media screen and (max-width: 820px) {
  #main #nakowaza .bx_btn {padding: 15px 0 0 0;}
}
#main #nakowaza .bx_btn a {
  width: 98%;
  max-width: 480px;
  padding: 16px 2% 16px 0;
  background: #0077bb;
  background-size: auto 44%;
  border: none;
  display: block;
  color: #fff;
  font-size: min(4vw, 1.3rem);
  text-align: center;
}

/* present */
p#apply {
  margin: 0 auto 30px;
  color: #fff;
  background: linear-gradient(90deg, #0d2f62, #970134);
  font-size: 1.6rem;
}
#prsnt > p.end {
  margin: 0 auto 30px;
  padding: 15px 0;
  border: 1px solid;
  background: #ffffcc;
  color: #990000;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.3;
}
#prsnt > h3 {
  margin: 0 auto 15px;
  padding: 15px 0;
  color: #990000;
  border-bottom: 2px solid #000;
  font-size: 1.4rem;
  font-weight: normal;
}
#prsnt > ol {
  margin: 0 auto 30px 2rem;
  list-style: disc;
  text-align: left;
}

#abt {
  margin: 0 auto 10px;
  padding: 20px 2%;
  background: #fff;
  border: 1px solid #990000;
  color: #665544;
  text-align: left;
}
#abt > p {
  margin: 0 auto;
  line-height: 1.5;
}

#main #p_lst {
  padding: 0 0 40px;
/*   background: #fafbfa url(../../img/bg_yl.jpg) repeat 0 0; */
}
#p_lst > div > h3 {
  margin: 0 auto;
  box-shadow: 0px 1px 8px #aaa;
}
#p_lst > div > ul {
  padding: 45px 0 0;
  background: #fff;
/* 
  border: 2px solid;
  box-shadow: 0px 1px 8px #aaa; */
}
#p_lst > div > ul > li > dl {
  width: 94%;
  margin: 0 auto 36px;
/*   padding: 0 0 40px; */
  display: flex;
  justify-content: space-between;
}
#p_lst > div > ul > li:not(:last-child) > dl {
  padding: 0 0 30px;
  border-bottom: 1px solid;
}
#p_lst > div > ul > li > dl dt {
  max-width: 260px;
}
#p_lst > div > ul > li > dl dd {
  width: calc(96% - 260px);
/*   padding: 20px 0 0; */
  text-align: left;
}
#p_lst > div > ul > li > dl dd h4 {
  margin: 0 auto 15px;
  font-size: 1.2rem;
  color: #396538;
}
#p_lst > div > h3.lv + ul > li > dl dd h4 {
  color: #335588;
}
#p_lst > div > ul > li > dl dd p {
  margin: 0 auto 20px;
}
#p_lst dl dd ol li {margin: 0 0 0 6.1rem;}
#p_lst dl dd ol.key li {margin: 0 0 0 11.3rem;}
#p_lst dl dd ol li:nth-child(1):before {
  margin: 0 0 0 -6.1rem;
  content: '・出展団体 ： ';
  color: #006532;
}
#p_lst > div > h3.lv + ul > li > dl dd ol li:nth-child(1):before {
  color: #335588;
}
#p_lst dl dd ol.wnnr_nm li:nth-child(1):before {
  content: '・当選人数 ： ';
}
#p_lst dl dd ol.wnnr_nm li:nth-child(1):after {
  content: '名様';
}
#p_lst dl dd ol.key li:nth-child(1):before {
  margin: 0 0 0 -11.3rem;
  content: '・キーワード取得番組 ： ';
}
#p_lst dl dd > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#main #p_lst dl dd > ul.bx_btn {
  padding: 30px 0 36px;
}
#p_lst dl dd > ul li {width: 46%;}
#p_lst dl dd > ul li:last-child {width: 52%;}
#p_lst ul dl > dd > ul > li button {
  width: 100%;
  padding: 14px 0;
  display: block;
/*   display: none; */
  background: #666;
  border: none;
  color: #fff;
}
#main #p_lst .bx_btn.l_red a {
  padding: 16px 0;
  background: #fff url(../../img/arw_ble.svg) no-repeat 96% center;
  background-size: auto 40%;
  border: 2px solid;
  color: #333399;
  font-size: min(1.5vw, 1.3rem);
  font-weight: normal;
}
#main #p_lst .bx_btn.l_red a:hover {background-color: #ffee66;}
#main #p_lst dl dd > ul li a {
  width: 98%;
}
#p_lst dl > dd > ul > li form button {
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  padding: 11px 0;
  background: linear-gradient(90deg, #0d2f62, #970134);
  border: 2px solid #333399;
  color: #fff;
  cursor: pointer;
  display: block;
  font-size: min(1.5vw, 1.3rem);
  font-weight: bold;
  position: relative;
}
/* safari */
_::-webkit-full-page-media, _:future, :root
#p_lst dl > dd > ul > li form button {
  padding: 12px 0;
}

#p_lst dl > dd > ul > li form button:after {
  width: 22px;
  height: 100%;
  background: url(../../img/arw_wht.svg) no-repeat 94% center;
  background-size: auto 42%;
  content: ' ';
  display: block;
  position: absolute;
  top: 0;
  right: 3%;
}



#prsnt > ul > li {
  margin: 0 auto 40px;
  padding: 30px 3%;
  background: #fff;
}
#prsnt > ul > li h3 {
  margin: 0 auto 26px;
  padding: 0 0 15px;
  border-bottom: 1px solid #999;
  color: #990000;
  font-size: 1.4rem;
}
#prsnt > ul > li h3:after {
  content: 'からのプレゼント！';
}
#prsnt > ul > li > ol {
  margin: 0 auto 5px;
  text-align: left;
}
#prsnt > ul > li > ol > li {
  width: calc(96% - 200px);
}
#prsnt > ul > li > ol > li:first-child {
  width: 200px;
}
/* #prsnt > ul > li > ol > li:first-child:before {
  background: #990000;
  color: #fff;
  content: 'キーワード';
  display: block;
  text-align: center;
} */


#prsnt ol.key_prgrm li {margin: 0 0 0 10.8em;}
#prsnt ol.key_prgrm li:nth-child(2),
#prsnt ol.key_prgrm li:nth-child(4) {
  padding: 0 0 0 1.4em;
}
#prsnt ol.quiz {
  margin: 0 auto 10px;
  padding: 10px 20px;
  background: #990000;
  color: #fff;
  display: flex;
  align-items: center;
}
#prsnt ol.quiz:before {
  padding: 0 20px 0 0;
  border-right: 1px solid #fff;
  content: '匠クイズ';
  font-weight: bold;
}
#prsnt ol.quiz li {
  padding: 0 0 0 20px;
}
#prsnt > ul > li ul.bx_btn2 {
  margin: 0 auto;
  padding: 20px 0 0;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
#prsnt > ul > li ul.bx_btn2 li {
  width: 31%;
}
#prsnt > ul > li ul.bx_btn2 li:nth-child(2) {
  margin: 0 3.6%;
}
#prsnt > ul > li ul.bx_btn2 li a {
  background: #fff;
  border: 1px solid;
  color: #990000;
  display: block;
  text-decoration: none;
  text-align: center;
}
#prsnt > ul > li ul.bx_btn2 li button {
  width: 100%;
  padding: 13px 0;
  background: #990000;
  border: 1px #990000;
  color: #fff;
  cursor: pointer;
  line-height: 1;
}
#prsnt > ul > li ul.bx_btn2 li button.end {
  background: #ccc;
  border: 1px #ccc;
}
#prsnt > ul > li ul.bx_btn2 li button:after {
  margin: 0 6px 0 -20px;
  content: "　";
  background:url(../../img/arw_wht.svg) no-repeat center center;
  background-size: 100% 100%;
  float: right;
}


@media screen and (max-width: 640px) {
  main:not(.top) #sb_hdr h2 + p {
    width: 98%;
  }

  #main .sctn {
    padding: 0 0 40px;
  }
  #main #prsnt {padding: 0;}
  #apply {font-size: 6vw;}

  #prsnt > p.end {font-size: 4vw;}

  section > h3, #rlly > ul > li > p,
  #p_lst > div > h3 {
    font-size: 4vw;
    line-height: 1.2;
  }

  main section > dl,
  main section > ul {
    margin: 0 auto 50px;
    display: block;
  }
  main section > dl dd {
    width: 90%;
    margin: 0 auto;
    padding: 0;
  }
  main section > ul li,
  main section#rlly > ul li,
  #rlly > ul > li:last-child {
    width: 80%;
    padding: 20px 2%;
    margin: 0 auto 20px;
  }
  #rlly > ul > li:last-child > img,
  #rlly > ul > li:last-child > p {
    max-width: 98%;
    float: unset;
  }
  #rlly > ul > li:last-child > p {
    width: 100%;
  }

  #en section > ul li strong img {
    width: 90%;
  }

  #nakowaza {
    padding: 58vw 4% 40px;
    background-position: center 20px;
    background-size: 44% auto;
  }
  #main .sctn #nakowaza > h2 {
    font-size: 4.3vw;
  }
  #main .sctn #nakowaza > h2 img {width: 100%;}
  #main #nakowaza > div > a > span {
    font-size: 3.6vw;
  }
  #main #nakowaza .bx_btn a {
    margin: 0 auto;
  }

  #abt {padding: 10px 3%;}
  #abt > p {
    font-size: 100%/* 4vw */;
    line-height: 1.4;
  }

  #prsnt > h3 {
    padding: 10px 2%;
    font-size: 4vw;
  }
  /* iPhone8 plus */
  @media only screen and (-webkit-min-device-pixel-ratio:3) {
    #prsnt > h3 {font-size: 3.8vw;}
  }
  #main #p_lst.sctn {
    padding: 20px 0;
  }

  #p_lst > div > ul > li > dl {
    margin: 0 auto 6px;
    padding: 0 0 0px;
    flex-wrap: wrap;
  }
  #p_lst > div > ul > li > dl dt,
  #p_lst > div > ul > li > dl dd {
    width: 100%;
    max-width: 100%;
    margin: 0 auto 9px;
  }
  #p_lst dl dd > ul li,
  #p_lst dl dd > ul li:last-child {
    width: 100%;
    max-width: 350px;
    margin: 0 auto;
  }
  #p_lst dl dd > ul li:not(:last-child) {
    margin: 0 auto 15px;
  }
  #p_lst dl dd ol li {margin: 0 0 0 5.8rem;}
  #p_lst dl dd ol li:nth-child(1):before {
    margin: 0 0 0 -5.8rem;
  }
  #p_lst dl dd ol.key li {margin: 0 0 0 1rem;}
  #p_lst dl dd ol.key li:nth-child(1):before {
    margin: 0 0 0 -1rem;
    display: block;
  }
  #main #p_lst .bx_btn.l_red a,
  #p_lst dl > dd > ul > li form button {
    font-size: min(4.5vw, 1.3rem);
  }


  #prsnt > ul > li {padding: 30px 4%;}
  #prsnt > ul > li h3 {font-size: 5vw;}
  #prsnt > ul > li > ol {display: block;}
  #prsnt > ul > li > ol > li,
  #prsnt > ul > li > ol > li:first-child {
    width: 100%;
  }
  #prsnt > ul > li > ol > li:first-child,
  #prsnt > ul > li ol > li > p {
    margin: 0 auto 15px;
  }
  #prsnt ol.key_prgrm li,
  #prsnt ol.key_prgrm li:nth-child(1):before {
    margin: 0 0 0 5.2%;
    display: block;
  }
  #prsnt ol.key_prgrm li:nth-child(1):before {
    margin: 0 0 0 -5.2%;
  }
  #prsnt ol.quiz {
    margin: 0 auto;
    display: block;
    text-align: center;
  }
  #prsnt ol.quiz:before {
    width: 100%;
    margin: 0 auto 8px;
    padding: 0;
    border-bottom: 1px solid #fff;
    border-right: none;
    display: block;
  }
  #prsnt ol.quiz li {
    padding: 0;
    text-align: left;
  }
  #prsnt > ul > li ul.bx_btn2 {
    margin: 0 auto 6px;
    display: block;
  }
  #prsnt > ul > li ul.bx_btn2 li,
  #prsnt > ul > li ul.bx_btn2 li:nth-child(2) {
    width: 80%;
    margin: 0 auto 15px;
  }
  #prsnt > ul > li ul.bx_btn2 li:last-child {
    margin: 0 auto;
  }

  #prsnt ol.exhbtr li/* ,
  #prsnt ol.wnnr_nm li */ {
    margin: 0 0 0 6.5em;
  }
  #prsnt ol.exhbtr li:nth-child(1):before/* ,
  #prsnt ol.wnnr_nm li:nth-child(1):before */ {
    margin: 0 0 0 -6.5em;
  }
}
