@charset "UTF-8";
#firstContent {
  background: url(../images/bg.png);
  background-size: 29px;
}

#firstContent .c-frame {
  margin-bottom: 5%;
}

.btn a {
  display: block;
  color: #146246;
}

.btn.toggle_btn {
  cursor: pointer;
}

.twitter_btn {
  width: 78%;
  max-width: 400px;
  margin: 3% auto;
  padding: 2%;
  cursor: pointer;
  color: #146246;
  border: 2px solid #fff;
  border-radius: 10px;
  background: -webkit-linear-gradient(top, #55d0ff 0%, #038ae7 99%);
  background: linear-gradient(to bottom, #55d0ff 0%, #038ae7 99%);
  box-shadow: 1px 1px 5px #999b9e;
  position: relative;
}

.twitter_btn::before {
  content: "";
  background: url(../images/1st/common/twitter_logo.png) no-repeat center center;
  background-size: 100%;
  position: absolute;
  width: 40px;
  padding-top: 40px;
  top: 8%;
  left: 10%;
}

@media screen and (max-width: 750px) {
  .twitter_btn::before {
    width: 20px;
    padding-top: 20px;
    top: 10%;
    left: 10%;
  }
}

.twitter_btn a {
  display: block;
  text-align: center;
  color: #fff;
}

.color__green {
  color: #0ea09d;
}

.color__pink {
  color: #f890a1;
}

.bold {
  font-weight: bold;
}

.side_anniversary {
  position: relative;
}

.clearfix:after {
  content: " ";
  display: block;
  clear: both;
}

.first_content {
  width: 750px;
  margin-bottom: 20px;
}

@media screen and (max-width: 750px) {
  .first_content {
    width: 100%;
  }
}

.main_img {
  position: relative;
  padding-top: 52%;
  margin-top: 60px;
}

@media screen and (max-width: 750px) {
  .main_img {
    padding-top: 95%;
    margin-top: 17%;
  }
}

.main_img .main_img_inner {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  background: url(../images/1st/pc/1st_top_pc.png) no-repeat top center;
  background-size: 100%;
  padding-top: 59.375%;
}

@media screen and (max-width: 750px) {
  .main_img .main_img_inner {
    background: url(../images/1st/sp/1st_top_sp.png) no-repeat top center;
    background-size: 100%;
    padding-top: 100%;
  }
}

.main_img .info_countdown {
  position: absolute;
  bottom: 5%;
  right: 5%;
  background: url(../images/1st/common/info_release_bg.png) no-repeat top center;
  background-size: 100%;
  width: 348px;
  padding-top: 188px;
}

@media screen and (max-width: 750px) {
  .main_img .info_countdown {
    bottom: 5%;
    right: 0;
    width: 40%;
    padding-top: calc(188 / 348 *40%);
  }
}

.main_img .info_countdown .count_number {
  position: absolute;
  bottom: 10px;
  right: 160px;
  font-size: 75px;
  color: #4d3100;
  text-shadow: 2px 0px 0px #fff, 0px 2px 0px #fff, -2px 0px 0px #fff, 0px -2px 0px #fff;
}

@media screen and (max-width: 750px) {
  .main_img .info_countdown .count_number {
    bottom: 4%;
    right: 45%;
    font-size: 9vw;
  }
}

.main_img.sousenkyo_main_img {
  padding-top: 48%;
}

@media screen and (max-width: 750px) {
  .main_img.sousenkyo_main_img {
    padding-top: 65%;
    margin-top: 16%;
  }
}

.main_img.sousenkyo_main_img .main_img_inner {
  background: url(../images/1st/pc/senkyo_top_pc.png) no-repeat top center;
  background-size: 100%;
  padding-top: calc(950 / 1600 * 100%);
}

@media screen and (max-width: 750px) {
  .main_img.sousenkyo_main_img .main_img_inner {
    background: url(../images/1st/sp/senkyo_top_sp.png) no-repeat top center;
    background-size: 100%;
    padding-top: 100%;
  }
}

.first_anniversary_wrap {
  background-image: none;
}

.first_anniversary_container {
  position: relative;
}

@media screen and (min-width: 751px) {
  .first_anniversary_container {
    width: 1200px;
    margin: 0 auto;
  }
}

.first_anniversary_frame {
  position: relative;
  padding-top: 90px;
  margin-bottom: 5%;
}

@media screen and (max-width: 750px) {
  .first_anniversary_frame {
    padding-top: 10px;
  }
}

.first_anniversary_frame:after {
  content: "";
  display: block;
  top: -1px;
  width: 100%;
  height: 0;
  padding-bottom: 7.6%;
  background-image: url(../images/frame_bottom.png);
  background-size: 100%;
}

.first_anniversary_title {
  position: absolute;
  top: -5px;
  width: 890px;
  left: -70px;
}

@media screen and (max-width: 750px) {
  .first_anniversary_title {
    top: -20px;
    width: 110%;
    left: -10.5%;
  }
  .first_anniversary_title img {
    width: 110%;
    max-width: initial;
  }
}

.anniversary_frame_inner {
  background-image: url(../images/frame_middle.png);
  background-size: 100%;
  padding: 50px 60px 0px;
}

@media screen and (max-width: 750px) {
  .anniversary_frame_inner {
    padding: 50px 7.5% 0px;
  }
}

.cp_banner_list li {
  position: relative;
  margin-bottom: 10px;
}

.cp_banner_list li:after {
  content: "";
  display: block;
  background-image: url(../images/c_line.png);
  background-size: 100%;
  padding-top: calc(20 / 630 * 100%);
}

.cp_banner_list li a {
  display: block;
  color: #4c4c4c;
}

.cp_banner_list .limit_over .banner_img {
  position: relative;
}

.cp_banner_list .limit_over .banner_img:after {
  content: "終了しました\Aご参加ありがとうございました";
  white-space: pre;
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  font-size: 30px;
}

@media screen and (max-width: 750px) {
  .cp_banner_list .limit_over .banner_img:after {
    font-size: 14px;
  }
}

.cp_banner_list .banner_img {
  text-align: center;
  margin-bottom: 5px;
}

.cp_banner_list .banner_img img {
  vertical-align: bottom;
}

.cp_banner_list .banner_text {
  font-size: 14px;
}

.cp_banner_list .cp_icon {
  color: #fff;
  font-size: 14px;
  padding: 1px 10px;
  border-radius: 20px;
  margin-right: 1em;
  text-align: center;
}

.cp_banner_list .cp_icon.cp_on {
  background: #b40d26;
}

.cp_banner_list .cp_icon.cp_off {
  background: #4c4c4c;
}

.cp_banner_list .period {
  font-size: 12px;
}

.center_text {
  text-align: center;
}

.twitter_widget_area:before {
  content: "";
  display: block;
  background-image: url(../images/c_line.png);
  background-size: 100%;
  padding-top: calc(20 / 630 * 100%);
}

.entry_list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 90%;
  margin: 0 auto;
}

@media screen and (max-width: 750px) {
  .entry_list {
    padding-top: 20px;
  }
}

.entry_list li {
  margin-right: 16%;
  margin-bottom: 30px;
}

@media screen and (max-width: 750px) {
  .entry_list li {
    margin-bottom: 5px;
  }
}

.entry_list li:nth-child(2n) {
  margin-right: 0;
}

.entry_list li:last-child {
  margin-right: 0;
}

.entry_list a {
  color: #4c4c4c;
  display: block;
}

.entry_list a:hover {
  opacity: .8;
}

.entry_list .img_block {
  position: relative;
}

.entry_list .img_block img {
  vertical-align: bottom;
}

.entry_list .img_block .rank_icon {
  width: 40%;
  position: absolute;
  left: -15px;
  bottom: 0;
  padding-top: calc(150 / 132 * 40%);
}

.rank_1 {
  background: url(../images/1st/common/rank_1.png) no-repeat center bottom;
  background-size: 100%;
}

.rank_2 {
  background: url(../images/1st/common/rank_2.png) no-repeat center bottom;
  background-size: 100%;
}

.rank_3 {
  background: url(../images/1st/common/rank_3.png) no-repeat center bottom;
  background-size: 100%;
}

.rank_4 {
  background: url(../images/1st/common/rank_4.png) no-repeat center bottom;
  background-size: 100%;
}

.rank_5 {
  background: url(../images/1st/common/rank_5.png) no-repeat center bottom;
  background-size: 100%;
}

.rank_6 {
  background: url(../images/1st/common/rank_6.png) no-repeat center bottom;
  background-size: 100%;
}

.rank_7 {
  background: url(../images/1st/common/rank_7.png) no-repeat center bottom;
  background-size: 100%;
}

.rank_8 {
  background: url(../images/1st/common/rank_8.png) no-repeat center bottom;
  background-size: 100%;
}

.rank_9 {
  background: url(../images/1st/common/rank_9.png) no-repeat center bottom;
  background-size: 100%;
}

.rank_10 {
  background: url(../images/1st/common/rank_10.png) no-repeat center bottom;
  background-size: 100%;
}

.rank_11 {
  background: url(../images/1st/common/rank_11.png) no-repeat center bottom;
  background-size: 100%;
}

.rank_12 {
  background: url(../images/1st/common/rank_12.png) no-repeat center bottom;
  background-size: 100%;
}

.rank_13 {
  background: url(../images/1st/common/rank_13.png) no-repeat center bottom;
  background-size: 100%;
}

.rank_14 {
  background: url(../images/1st/common/rank_14.png) no-repeat center bottom;
  background-size: 100%;
}

.ranking_by_dept {
  padding-top: 15px;
}

.ranking_by_dept .inner_title {
  text-align: center;
  background: url(../images/1st/common/obi.png) no-repeat center center;
  background-size: cover;
  color: #fff;
  padding: 15px 0;
  margin-bottom: 20px;
}

.sousenkyo_character_inner:after {
  content: "";
  display: block;
  background-image: url(../images/c_line.png);
  background-size: 100%;
  padding-top: calc(20 / 630 * 100%);
  margin: 20px 0;
}

@media screen and (max-width: 750px) {
  .sousenkyo_character__frame {
    margin-top: 6%;
  }
}

.sousenkyo_character__frame .title-inner {
  font-size: 2.5rem;
}

.commitment .character_img {
  width: 85%;
  margin: 0 auto;
  position: relative;
}

.commitment .icon_achieve {
  width: 25%;
  position: absolute;
  top: 55%;
  right: 0;
  background: url(../images/1st/common/achieve.png) no-repeat center bottom;
  background-size: 100%;
  padding-top: calc(134 / 136 * 25%);
}

.ranking_list {
  font-size: 18px;
  width: 85%;
  margin: 20px auto;
}

@media screen and (max-width: 750px) {
  .ranking_list {
    font-size: 14px;
  }
}

.ranking_list li:last-child {
  text-indent: 1em;
}

.entry_list_inner {
  width: 42%;
  text-align: center;
}

.entry_list_inner .name {
  font-size: 18px;
}

.news_detail__image {
  margin: 1em 0;
  text-align: center;
  max-width: 100%;
  overflow: hidden;
}

.news_detail__image img {
  max-height: 500px;
}

.cp_text_area:after {
  content: "";
  display: block;
  background-image: url(../images/c_line.png);
  background-size: 100%;
  padding-top: calc(20 / 630 * 100%);
}

.cp_text_area .text-title {
  margin-top: 0;
}

.cp_text_area p {
  margin-bottom: 1em;
}
