@charset "UTF-8";
/* ===================================================================
CSS information
 file name  :  style.css
 style info :  Butchサマーキャンペーン2019 発表スタイル
=================================================================== */
html {
  max-width: 1920px;
  min-width: 1371px;
  margin: 0 auto;
}
body {
  background-color: #fff;
  color: #000000;
  font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo', 'ＭＳ Ｐゴシック', sans-serif;
  font-size: 16px;
  width: 100%;
}
img {
  vertical-align: bottom;
}

a img {
  -webkit-transition: .5s;
  -moz-transition: .5s;
  -o-transition: .5s;
  -ms-transition: .5s;
  transition: .5s;
}
a img:hover {
  opacity: 0.7;
}
ul, li {
  list-style: none;
}
@-webkit-keyframes keyframeSprite2 {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 200%;
  }
}
@keyframes keyframeSprite2 {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 200%;
  }
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.animated>span,
.shohin .item,
.shashin .omoide,
.shashin .enkaku,
.gopro_area .omoide,
.tabi_cam .fukidashi,
.tabi_cam .ribbon,
.go_pro .dog,
.go_pro .dog1,
.go_pro .dog2,
.go_pro .cat,
.bye_dog {
  font-size: 0;
}
.bg_animation {
  display: block;
  white-space: nowrap;
  text-indent: 100%;
  font-size: 0;
  -webkit-animation: keyframeSprite2 1.8s steps(2) infinite;
  animation: keyframeSprite2 1.8s steps(2) infinite;
  overflow: hidden;
}

.only_pc {
  display: block !important;
}
.only_sp {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .only_pc {
    display: none !important;
  }
  .only_sp {
    display: block !important;
  }
}


/* -------------------------------------
  FVエリア
------------------------------------- */
section#fv {
  width: 100%;
  height: 945px;
  background: url(../img/fv_bg_pc.png) no-repeat top center;
  overflow: hidden;
}
section#fv .inner_fv {
  width: 1095px;
  height: 1031px;
  margin: 0 auto;
  position: relative;
}
section#fv .site_ttl {
  width: 830px;
  height: 688px;
  position: absolute;
  top: 9px;
  left: -176px;
}
section#fv .site_ttl span {
  width: 100%;
  height: 100%;
  background: url(../img/fv_title_pc.png) no-repeat top center;
}
section#fv .flag {
  width: 300px;
  height: 294px;
  position: absolute;
  top: 630px;
  left: -133px;
}
section#fv .flag span {
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/fv_illust_flag.png) no-repeat top center;
}
section#fv .tabi_cam {
  width: 361px;
  height: 316px;
  position: absolute;
  top: 148px;
  right: 124px;
  z-index: 5;
}
section#fv .tabi_cam .ribbon {
  width: 413px;
  height: 316px;
  background: url(../img/fv_illust_ribbon_pc.png) no-repeat top center;
  position: absolute;
  top: 178px;
  right: -15px;
}
section#fv .tabi_cam .fukidashi {
  width: 361px;
  height: 316px;
  background: url(../img/fv_illust_fukidashi_pc.png) no-repeat top center;
  position: absolute;
  top: 0px;
  right: 0px;
}
section#fv .takusan {
  width: 205px;
  height: 216px;
  position: absolute;
  top: 163px;
  right: -54px;
}
section#fv .takusan span {
  width: 100%;
  height: 100%;
  background: url(../img/fv_illust_takusan_pc.png) no-repeat top center;
}
section#fv .go_pro {
  position: absolute;
  bottom: 0px;
  right: -302px;
}
section#fv .go_pro .dog {
  width: 614px;
  height: 732px;
  background: url(../img/fv_photo_gopro_dog_pc.png) no-repeat top center;
  position: absolute;
  bottom: -96px;
  right: -7px;
  z-index: 3;
}
section#fv .go_pro .dog1 {
  width: 614px;
  height: 732px;
  background: url(../img/fv_photo_dog1.png) no-repeat top center;
  position: absolute;
  bottom: -379px;
  right: 655px;
  z-index: 2;
}
section#fv .go_pro .dog2 {
  width: 614px;
  height: 732px;
  background: url(../img/fv_photo_dog2.png) no-repeat top center;
  position: absolute;
  bottom: -252px;
  right: 311px;
  z-index: 2;
}
section#fv .go_pro .cat {
  width: 614px;
  height: 732px;
  background: url(../img/fv_photo_cat.png) no-repeat top center;
  position: absolute;
  bottom: -237px;
  right: 565px;
}
section#fv .go_pro .kirakira::after {
  display: block;
  content: '';
  width: 1017px;
  height: 503px;
  position: absolute;
  bottom: -22px;
  right: 67px;
  background: url(../img/fv_kirakira_pc.png) no-repeat top center;
  z-index: 4;
  -webkit-animation: keyframeSprite2 1.8s steps(2) infinite;
  animation: keyframeSprite2 1.8s steps(2) infinite;
}

/* -------------------------------------
  総合大賞＆入賞者が決定
------------------------------------- */
section#dodon {
  width: 100%;
  height: 404px;
  background: url(../img/dodon_bg_pc.png) no-repeat top center;
}
section#dodon .inner_dodon {
  width: 1115px;
  height: 365px;
  margin: 0 auto;
  position: relative;
  z-index: 5;
}
section#dodon .shuchu {
  display: block;
  width: 848px;
  height: 478px;
  background: url(../img/dodon_confetti_pc.png) no-repeat top center;
  position: absolute;
  top: -24px;
  left: 111px;
  -webkit-animation: keyframeSprite2 1.8s steps(2) infinite;
  animation: keyframeSprite2 1.8s steps(2) infinite;
  overflow: hidden;
}
section#dodon .title {
  width: 470px;
  height: 334px;
  position: absolute;
  top: 40px;
  left: 323px;
}
section#dodon .title span {
  width: 100%;
  height: 100%;
  background: url(../img/dodon_title_pc.png) no-repeat;
}

/* -------------------------------------
  メインエリア（賞エリア〜締めの言葉）
------------------------------------- */
#main {
  width: 100%;
  background-image: url(../img/bumon_bg_confetti_pc.png), url(../img/bumon_bg_pc.png);
  background-position: center bottom -226px, center bottom;
  background-repeat: no-repeat, repeat-y;
}
#sho {
  margin-bottom: 20px;
}

/* -------------------------------------
  総合大賞・部門賞　共通パーツ
------------------------------------- */
.content_board {
  min-height: 2077px;
  position: relative;
  padding-left: 66px;
}
.content_board.narrow {
  min-height: 800px;
}
.content_top_box {
  width: 1360px;
  max-width: 100%;
  min-height: 1724px;
  padding: 102px 0 65px;
  margin: -44px auto 0;
}
.narrow .content_top_box {
  min-height: 800px;
}
.content_top_inner::after {
  content: '';
  display: block;
  position: absolute;
  pointer-events: none;
  top: 203px;
  left: calc((100% - 924px)/2);
  width: 939px;
  height: 988px;
  z-index: 4;
  background: url(../img/content_board_kirakira_pc.png) no-repeat;
  -webkit-animation: keyframeSprite2 1.8s steps(2) infinite;
  animation: keyframeSprite2 1.8s steps(2) infinite;
}
.content_top_inner {
  margin-left: -60px;
}
.content_frame {
  width: 814px;
  height: 835px;
  padding-top: 120px;
  margin: -10px auto 0;
  position: relative;
  z-index: 2;
}
.content_frame img,
.content_frame a[data-lity] {
  display: block;
  width: 633px;
  height: 633px;
  margin: 0 auto;
}
.winner_comment {
  background-color: #ffffff;
  width: 633px;
  height: 100%;
  min-height: 718px;
  padding: 5px;
  border: 1px solid #fcd503;
  border-radius: 20px;
  margin: -60px auto 0;
  box-shadow: 0 3px 10px #948665;
  position: relative;
  z-index: 3;
}
.winner_comment .comment_inner {
  width: 100%;
  min-height: 708px;
  padding: 25px;
  margin: 0;
  border: 2px solid #fcd503;
  border-radius: 15px;
}
.narrow .winner_comment,
.narrow .winner_comment .comment_inner {
  min-height: 200px;
}
.winner_comment h4 {
  padding-right: 5px;
  font-size: 20px;
  text-align: center;
  font-weight: bold;
  line-height: 1.15;
}
.winner_comment h4 .small {
  font-size: 16px;
}
.winner_comment h4::after {
  content: '';
  display: block;
  width: 567px;
  height: 90px;
  margin-top: -3px;
}
.winner_comment p {
  font-size: 18px;
  line-height: 1.8;
  margin-bottom: 25px;
}
.winner_comment p.comment_from {
  text-align: center;
  line-height: 25px;
  margin: -33px 0 46px;
  padding-right: 20px;
}
.winner_comment p:last-of-type {
  margin-bottom: 0;
}
.content_bottom_box {
  display: block;
  width: 1360px;
  max-width: 100%;
  height: 353px;
  margin: -2px auto 0;
  padding-right: 50px;
}

.staff_comment {
  position: relative;
  width: 625px;
  margin: 0 auto;
  color: #ffffff;
  padding-top: 78px;
}
.staff_comment h4 {
  position: absolute;
  top: -14px;
  left: calc(50% - 176px);
}
.staff_comment h4::before {
  content: '';
  display: block;
  width: 70px;
  height: 120px;
  background: url(../img/staff_comment_icon_pc.png) center top no-repeat;
  position: absolute;
  top: -38px;
  left: -133px;
  -webkit-animation: keyframeSprite2 1.8s steps(2) infinite;
  animation: keyframeSprite2 1.8s steps(2) infinite;
}
.staff_comment p {
  line-height: 1.8;
  margin-bottom: 18px;
}
.staff_comment p:last-of-type {
  margin-bottom: 0;
}

/* -------------------------------------
  総合大賞
------------------------------------- */
section#sogo {
  width: 100%;
  min-height: 4690px;
  background: url(../img/sogo_bg_pc.png) no-repeat top center;
  padding-top: 16px;
}
section#sogo .drumroll {
  display: block;
  width: 578px;
  height: 150px;
  background: url(../img/drumroll_pc.png) right top no-repeat;
  margin: 0 auto 34px;
}
section#sogo .drumroll .animated {
  padding-left: 39px;
}
section#sogo h2 {
  width: 100%;
  position: relative;
}
section#sogo h2 .title {
  width: 393px;
  height: 178px;
  background: url(../img/sogo_title_pc.png) no-repeat top center;
  position: absolute;
  top: 5px;
  left: calc(50% - 196px);
}
section#sogo .ribbon {
  width: 762px;
  height: 217px;
  margin: 0 auto;
  background: url(../img/sogo_illust_ribbon_pc.png) left top no-repeat;
}
section#sogo .content_top_box {
  background: url(../img/sogo_content_board_top_pc.svg) left top no-repeat;
  background-size: 1360px 100.5%;
}
section#sogo .content_bottom_box {
  background: url(../img/sogo_content_board_bottom_pc.png) left top no-repeat;
  background-size: 1340px auto;
}
section#sogo .douga h3,
section#sogo .shashin h3 {
  text-align: center;
}
section#sogo .shashin h3 {
  margin-left: -10px;
}
section#sogo .trophy {
  width: 295px;
  height: 320px;
  position: absolute;
  top: -124px;
  left: calc((100% - 993px)/2);
  z-index: 5;
}
section#sogo .trophy span {
  width: 100%;
  height: 100%;
  background: url(../img/sogo_illust_trophy_pc.png) no-repeat top center;
}
section#sogo .content_frame {
  background: url(../img/sogo_content_frame_pc.png) right top no-repeat;
}
section#sogo .winner_comment h4::after{
  background: url(../img/sogo_illust_comment_pc.png) center top no-repeat;
}
section#sogo .douga {
  margin-bottom: 31px;
}
section#sogo .douga .ryokouken {
  width: 300px;
  position: absolute;
  top: -5px;
  right: calc((100% - 897px)/2);
  z-index: 3;
}
section#sogo .douga .ryokouken .item {
  position: absolute;
  top: 0px;
  right: 0px;
}
section#sogo .shashin .trophy {
  top: -47px;
}
section#sogo .shashin .dog_right {
  width: 312px;
  position: absolute;
  top: -12px;
  right: calc((100% - 1007px)/2);
  z-index: 3;
}
section#sogo .shashin .dog_right .item {
  position: absolute;
  top: 0px;
  right: 0px;
}

@media screen and (max-width: 1339px) and (min-width: 769px) {
  .content_board {
    padding-left: 30px;
  }
  .content_top_inner {
    margin-left: -30px;
  }
  section#sogo .content_top_box {
    background-size: 1340px 100%;
  }
  section#sogo .content_bottom_box {
    background-size: 1321px 100%;
  }
}

/* -------------------------------------
  部門賞
------------------------------------- */
section#bumon {
  width: 100%;
  min-height: 2077px;
}
section#bumon .drumroll {
  display: block;
  content: '';
  width: 578px;
  height: 164px;
  background: url(../img/drumroll_pc.png) right bottom no-repeat;
  margin: 20px auto 193px;
}
section#bumon .drumroll .animated {
  padding-left: 39px;
}
section#bumon h2 {
  position: relative;
  z-index: 2;
}
section#bumon h2 .title {
  width: 533px;
  height: 230px;
  background: url(../img/bumon_title_pc.png) no-repeat top center;
  position: absolute;
  top: -229px;
  left: calc((100% - 493px)/2);
}
section#bumon .shield {
  width: 275px;
  height: 228px;
  position: absolute;
  top: -47px;
  left: calc((100% - 954px)/2);
  z-index: 3;
}
section#bumon .shield span {
  width: 100%;
  height: 100%;
  background: url(../img/bumon_illust_shield_pc.png) no-repeat top center;
}
section#bumon .ryokouken {
  width: 300px;
  position: absolute;
  top: -6px;
  right: calc((100% - 1087px)/2);
  z-index: 3;
}
section#bumon .ryokouken .item {
  position: absolute;
  top: 0px;
  right: 0px;
}
section#bumon .content_board {
  margin-bottom: 20px;
}
section#bumon .content_board:last-of-type {
  margin-bottom: 0;
}
section#bumon .kawaii.content_board {
  margin-bottom: 25px;
}
section#bumon .content_board h3 {
  text-align: center;
}
.mogu h3 {
  padding-left: 5px;
}
.kawaii h3 {
  padding: 3px 20px 0 0;
}
.insta h3 {
  padding: 0 20px 0 0;
}
.omoshiro h3 {
  padding: 10px 20px 0 0;
}
.recipe h3 {
  padding: 0 20px 0 0;
}
section#bumon .content_top_box {
  background: url(../img/bumon_content_board_top_pc.svg) left top no-repeat;
  background-size: 1340px 100%;
  padding-top: 95px;
}
section#bumon .recipe .content_top_box {
  padding-top: 90px;
}
section#bumon .content_frame {
  background: url(../img/bumon_content_frame_pc.png) right top no-repeat;
  margin-top: -30px;
  position: relative;
  z-index: 2;
}
section#bumon .mogu .content_frame {
  margin-top: -25px;
}
section#bumon .kawaii .content_frame {
  margin-top: -31px;
}
section#bumon .insta .content_frame {
  margin-top: -31px;
}
section#bumon .omoshiro .content_frame {
  margin-top: -25px;
}
section#bumon .recipe .content_frame {
  margin-top: -35px;
}
section#bumon .winner_comment,
section#bumon .comment_inner {
  border-color: #2b49bf;
}
section#bumon .winner_comment h4::after{
  background: url(../img/bumon_illust_comment_pc.png) center top no-repeat;
}
section#bumon .content_bottom_box {
  background: url(../img/bumon_content_board_bottom_pc.png) left top no-repeat;
  background-size: 1340px auto;
}
section#bumon .content_bottom_box p {
  color: #000000;
}


@media screen and (max-width: 1339px) and (min-width: 769px) {
  section#bumon .content_top_box {
    background-size: 1321px 100%;
  }
  section#bumon .content_bottom_box {
    background-size: 1321px 100%;
  }
}

/* -------------------------------------
  締めの言葉
------------------------------------- */
.peroration {
  text-align: center;
  padding-bottom: 8px;
}
.peroration h2 {
  padding-left: 25px;
  margin-bottom: 38px;
}
.peroration p {
  padding-left: 2px;
  line-height: 1.6;
  letter-spacing: 2.2px;
  margin-bottom: 20px;
}
.peroration .bye_dog {
  margin-left: 15px;
}
.peroration .bye_dog span {
  margin: 0 auto;
  width: 235px;
  height: 245px;
  background: url(../img/peroration_illust_pc.png) center top no-repeat;
}

/* -------------------------------------
  フッター
------------------------------------- */
.footer {
  position: relative;
  background-color: #2b49bf;
  padding: 0 0 84px;
}
.footer .container {
  width: 1200px;
  margin: 0 auto;
  text-align: center;
  padding-top: 89px;
}
.footer .footer-logo {
  display: block;
  margin-bottom: 8px;
  text-align: center;
}
.footer-logo img {
  width: 143px;
}
.footer .footer-logo a {
  display: inline-block;
}
.footer .footer-menu {
  display: flex;
  width: 510px;
  justify-content: space-between;
  margin: 15px auto 0;
  padding-left: 0;
}
.footer .footer-menu li:first-child {
  border-left: none;
}
.footer .footer-menu li {
  width: 100%;
  text-align: center;
  white-space: nowrap;
  border-left: 1px solid #fff;
  font-size: 12px;
}
.footer .footer-menu li a {
  display: block;
  color: #fff;
  text-decoration: none;
  padding: 0 15px;
}
.pagetop_area {
  position: absolute;
  left: 50%;
  width: 946px;
  margin-left: -473px;
  margin-top: -112px;
  z-index: 999;
}
.btn_top {
  max-width: 1200px;
  margin: 0 auto;
  float: right;
}
.btn_top img {
  width: 100px;
}
.top-area2, .top-area1 {
  position: relative;
}
.top-area2 a.active {
  position: fixed;
  bottom: 1%;
}
.top-area2 a img {
  max-width: 100px;
}
.top-area2 a img:hover {
  opacity: 1;
}


/* ================================================
  SPスタイル
================================================ */
@media screen and (max-width: 768px) {
  html {
    max-width: 750px;
    min-width: 0px;
  }
  body {
    width: 100%;
    font-size: calc(28/750 * 100vw);
  }
  img {
    max-width: 100%;
  }

  /* -------------------------------------
    FVエリア
  ------------------------------------- */
  section#fv {
    width: 100%;
    height: calc(1404/750 * 100vw);
    background: url(../img/fv_bg_sp.png) no-repeat top center;
    background-size: contain;
  }
  section#fv .inner_fv {
    width: 100%;
    height: 600px;
  }
  section#fv .site_ttl {
    width: calc(746/750 * 100vw);
    height: calc(725/750 * 100vw);
    top: calc(60/750 * 100vw);
    left: calc(4/750 * 100vw);
  }
  section#fv .site_ttl span {
    background: url(../img/fv_title_sp.png) no-repeat top center;
    background-size: cover;
  }
  section#fv .flag {
    display: none;
  }
  section#fv .kamome {
    width: calc(253/750 * 100vw);
    height: calc(75/750 * 100vw);
    position: absolute;
    top: calc(767/750 * 100vw);
    left: calc(41/750 * 100vw);
  }
  section#fv .kamome span {
    display: block;
    width: 100%;
    height: 100%;
    background: url(../img/fv_illust_kamome.png) center top no-repeat;
    background-size: cover;
  }
  section#fv .tabi_cam {
    width: calc(431/750 * 100vw);
    height: calc(431/750 * 100vw);
    top: calc(901/750 * 100vw);
    right: calc(309/750 * 100vw);
    background: url(../img/fv_illust_fukidashi_sp.png) center top no-repeat;
    background-size: contain;
    z-index: auto;
  }
  section#fv .tabi_cam .fukidashi {
    width: calc(468/750 * 100vw);
    height: calc(281/750 * 100vw);
    background: url(../img/fv_illust_ribbon_sp.png) no-repeat top center;
    background-size: contain;
    top: calc(64/750 * 100vw);
    right: calc(-27/750 * 100vw);
  }
  section#fv .tabi_cam .ribbon {
    width: calc(359/750 * 100vw);
    height: calc(158/750 * 100vw);
    background: url(../img/fv_illust_fukidashi_count.png) no-repeat top center;
    background-size: contain;
    top: calc(208/750 * 100vw);
    right: calc(41/750 * 100vw);
    z-index: 4;
  }
  section#fv .takusan {
    width: calc(368/750 * 100vw);
    height: calc(197/750 * 100vw);
    top: calc(693/750 * 100vw);
    right: calc(49/750 * 100vw);
  }
  section#fv .takusan span {
    background: url(../img/fv_illust_takusan_sp.png) center top no-repeat;
    background-size: contain;
    animation: none;
  }
  section#fv .go_pro {
    right: 0;
    top: calc(600/750 * 100vw);
  }
  section#fv .go_pro .dog {
    width: calc(529/750 * 100vw);
    height: calc(630/750 * 100vw);
    background: url(../img/fv_photo_gopro_dog_sp.png) center top no-repeat;
    background-size: contain;
    position: absolute;
    top: calc(245/750 * 100vw);
    right: calc(-136/750 * 100vw);
    z-index: 3;
  }
  section#fv .go_pro .dog1,
  section#fv .go_pro .dog2,
  section#fv .go_pro .cat {
    display: none;
  }
  section#fv .go_pro .kirakira::after {
    display: block;
    content: '';
    width: calc(703/750 * 100vw);
    height: calc(522/750 * 100vw);
    position: absolute;
    top: calc(266/750 * 100vw);
    right: calc(37/750 * 100vw);
    background: url(../img/fv_kirakira_sp.png) no-repeat top center;
    background-size: cover;
    z-index: 4;
  }

  /* -------------------------------------
    総合大賞＆入賞者が決定
  ------------------------------------- */
  section#dodon {
    width: 100%;
    height: calc(695/750 * 100vw);
    background: url(../img/dodon_bg_sp.png) no-repeat top center;
    background-size: contain;
  }
  section#dodon .inner_dodon {
    width: 100%;
    height: calc(695/750 * 100vw);
    margin: 0 auto;
    position: relative;
    top: 0;
    left: 0;
  }
  section#dodon .dodon_photo {
    width: 100%;
    height: calc(687/750 * 100vw);
    background: url(../img/dodon_photo.png) center bottom no-repeat;
    background-size: cover;
    position: absolute;
    top: calc(4/750 * 100vw);
    left: 0;
    z-index: 4;
  }
  section#dodon .shuchu {
    width: 100%;
    height: calc(614/750 * 100vw);
    background: url(../img/dodon_confetti_sp.png) center top no-repeat;
    background-size: cover;
    position: absolute;
    top: calc(4/750 * 100vw);
    left: 0;
    z-index: 3;
  }
  section#dodon .title {
    width: 100%;
    height: calc(608/750 * 100vw);
    top: calc(12/750 * 100vw);
    left: 0;
    z-index: 5;
  }
  section#dodon .title span {
    width: 100%;
    height: 100%;
    background: url(../img/dodon_title_sp.png) center calc(10/750 * 100vw) no-repeat;
    background-size: cover;
  }

  /* -------------------------------------
    メインエリア（賞エリア〜締めの言葉）
  ------------------------------------- */
  #main {
    width: 100%;
    background: url(../img/bumon_bg_sp.png) center top repeat-y;
  }
  #sho {
    margin-bottom: 0;
    overflow: hidden;
  }

  /* -------------------------------------
    総合大賞・部門賞　共通パーツ
  ------------------------------------- */
  .content_board {
    min-height: 50%;
    padding-left: 0;
  }
  .content_board.narrow {
    min-height: 100%;
  }
  .content_top_box {
    width: 100%;
    max-width: 100%;
    min-height: 100%;
    padding: 0 0 calc(21/750 * 100vw);
    margin: calc(-214/750 * 100vw) 0 0;
  }
  .narrow .content_top_box {
    min-height: 100%;
  }
  .content_top_inner::after {
    content: '';
    display: block;
    position: absolute;
    top: calc(268/750 * 100vw);
    left: 0;
    width: 100%;
    height: calc(810/750 * 100vw);
    z-index: 4;
    background: url(../img/content_board_kirakira_sp.png) center top no-repeat;
    background-size: cover;
  }
  .content_top_inner {
    padding-right: calc(5/750 * 100vw);
    margin-left: 0;
    background: linear-gradient(rgba(255,255,255,0) 10%, #ffffff 100%);
  }
  .content_frame {
    width: 100vw;
    height: calc(779/750 * 100vw);
    padding: calc(110/750 * 100vw) 0 0 calc(5/750 * 100vw);
    margin: calc(4/750 * 100vw) auto 0;
    position: relative;
  }
  .content_frame img,
  .content_frame a[data-lity] {
    width: calc(602/750 * 100vw);
    height: calc(602/750 * 100vw);
    margin: 0 auto;
  }
  .winner_comment {
    background-color: #ffffff;
    width: calc(696/750 * 100vw);
    height: 100%;
    min-height: auto;
    padding: calc(8/750 * 100vw);
    border-radius: calc(25/750 * 100vw);
    margin: calc(14/750 * 100vw) auto 0;
    box-shadow: 0 calc(3/750 * 100vw) calc(10/750 * 100vw) #948665;
    border-width: calc(3/750 * 100vw);
  }
  .winner_comment .comment_inner {
    width: 100%;
    min-height: auto;
    padding: calc(25/750 * 100vw);
    margin: 0;
    border-radius: calc(15/750 * 100vw);
    border-width: calc(2/750 * 100vw);
  }
  .narrow .winner_comment,
  .narrow .winner_comment .comment_inner {
    min-height: 100%;
  }
  .winner_comment h4 {
    padding-right: 0;
    font-size: calc(32/750 * 100vw);
    text-align: center;
    font-weight: bold;
    letter-spacing: calc(0.3/750 * 100vw);
    margin-top: calc(5/750 * 100vw);
  }
  .winner_comment h4 .small {
    display: inline-block;
    font-size: calc(26/750 * 100vw);
    margin-top: calc(8/750 * 100vw);
    line-height: 1.3;
  }
  .winner_comment h4::after {
    content: '';
    display: block;
    width: 100%;
    height: calc(128/750 * 100vw);
    margin-top: calc(-20/750 * 100vw);
  }
  .winner_comment p {
    font-size: calc(27/750 * 100vw);
    line-height: 1.6;
    margin-bottom: calc(44/750 * 100vw);
    letter-spacing: calc(-0.6/750 * 100vw);
  }
  .winner_comment p.comment_from {
    text-align: center;
    margin: -50px 0 30px;
    padding-right: 0;
  }
  .winner_comment p:last-of-type {
    margin-bottom: calc(23/750 * 100vw);
  }
  .content_bottom_box {
    width: 100%;
    max-width: 100%;
    height: 100%;
    margin: 0;
    padding-right: 0;
  }
  .content_bottom_box::after {
    display: block;
    content: '';
    width: 100%;
    margin-top: calc(33/750 * 100vw);
  }
  .staff_comment {
    position: relative;
    width: 100%;
    margin: 0 auto;
    color: #ffffff;
    padding-top: 0;
  }
  .staff_comment h4 {
    position: relative;
    top: -1px;
    left: 0;
    margin-bottom: calc(22/750 * 100vw);
  }
  .staff_comment h4::before {
    width: calc(94/750 * 100vw);
    height: calc(166/750 * 100vw);
    background-image: url(../img/staff_comment_icon_sp.png);
    background-size: cover;
    top: calc(-14/750 * 100vw);
    left: calc(27/750 * 100vw);
  }
  .staff_comment p {
    padding: 0 calc(65/750 * 100vw);
    line-height: calc(42/750 * 100vw);
    margin-bottom: calc(24/750 * 100vw);
  }

  /* -------------------------------------
    総合大賞
  ------------------------------------- */
  section#sogo {
    width: 100%;
    height: 100%;
    min-height: 100%;
    background: url(../img/sogo_bg_sp.png) no-repeat top center, #ffffff;
    background-size: contain;
    padding-top: calc(44/750 * 100vw);
    position: relative;
  }
  section#sogo .drumroll {
    display: block;
    width: calc(675/750 * 100vw);
    height: calc(185/750 * 100vw);
    background: url(../img/drumroll_sp.png) right top no-repeat;
    background-size: contain;
    margin: 0 auto calc(315/750 * 100vw);
  }
  section#sogo .drumroll .animated {
    width: calc(564/750 * 100vw);
    padding-left: calc(2/750 * 100vw);
  }
  section#sogo .content_board:first-child {
    margin-top: calc(-3/750 * 100vw);
  }
  section#sogo h2 .title {
    width: 100%;
    height: calc(231/750 * 100vw);
    background-image: url(../img/sogo_title_sp.png);
    background-size: contain;
    top: 0;
    left: calc(-5/750 * 100vw);
  }
  section#sogo .ribbon {
    width: 100%;
    height: calc(290/750 * 100vw);
    background: url(../img/sogo_illust_ribbon_sp.png) center calc(30/750 * 100vw) no-repeat;
    background-size: contain;
  }
  section#sogo .content_board::before {
    display: block;
    content: '';
    width: 100%;
    height: calc(270/750 * 100vw);
    background: url(../img/sogo_content_board_top_sp.png) center top no-repeat;
    background-size: contain;
  }
  section#sogo .content_top_box {
    background: none;
  }
  section#sogo .content_bottom_box {
    background: url(../img/sogo_staff_comment_bg.png) left top repeat;
    background-size: auto auto;
  }
  section#sogo .trophy {
    width: calc(287/750 * 100vw);
    height: calc(311/750 * 100vw);
    top: calc(-34/750 * 100vw);
    left: calc(-45/750 * 100vw);
    z-index: 5;
  }
  section#sogo .trophy span {
    background-image: url(../img/sogo_illust_trophy_sp.png);
    background-size: cover;
  }
  section#sogo .content_frame {
    background: url(../img/sogo_content_frame_sp.png) right calc(2/750 * 100vw) top no-repeat;
    background-size: contain;
  }
  section#sogo .winner_comment h4::after{
    background-image: url(../img/sogo_illust_comment_sp.png);
    background-size: contain;
    margin-left: calc(-2/750 * 100vw);
  }
  section#sogo .douga {
    margin-bottom: calc(31/750 * 100vw);
    padding-right: calc(1/750 * 100vw);
  }
  section#sogo .douga h3 img {
    max-height: calc(214/750 * 100vw);
  }
  section#sogo .douga .ryokouken {
    width: calc(277/750 * 100vw);
    top: calc(26/750 * 100vw);
    right: calc(-33/750 * 100vw);
  }
  .douga .content_bottom_box::after {
    height: calc(176/750 * 100vw);
    background: url(../img/sogo_douga_bottom.png) center top no-repeat;
    background-size: contain;
  }
  .shashin.content_board {
    margin-top: calc(-107/750 * 100vw);
  }
  section#sogo .shashin h3 {
    margin: calc(3/750 * 100vw) 0 0 calc(-2/750 * 100vw);
  }
  section#sogo .shashin h3 img {
    max-height: calc(211/750 * 100vw);
  }
  section#sogo .shashin .trophy {
    top: calc(-34/750 * 100vw);
    left: calc(-46/750 * 100vw)
  }
  section#sogo .shashin .dog_right {
    width: calc(337/750 * 100vw);
    top: calc(-42/750 * 100vw);
    right: calc(-27/750 * 100vw);
    z-index: 5;
  }
  section#sogo .shashin .content_bottom_box {
    overflow: hidden;    
  }
  .shashin .content_bottom_box::after {
    height: calc(712/750 * 100vw);
    background: url(../img/sogo_shashin_bottom.png) center bottom no-repeat;
    background-size: contain;
    vertical-align: bottom;
  }

  /* -------------------------------------
    部門賞
  ------------------------------------- */
  section#bumon {
    width: 100%;
    min-height: 100%;
    background: url(../img/bumon_bg_top.png) left top no-repeat;
    background-size: contain;
  }
  section#bumon .drumroll {
    display: block;
    width: calc(668/750 * 100vw);
    height: calc(184/750 * 100vw);
    background: url(../img/drumroll_sp.png) right top no-repeat;
    background-size: contain;
    position: relative;
    top: calc(8/375 * 100vw);
    margin: 0 auto;
    padding-left: calc(8/750 * 100vw);
  }
  section#bumon .drumroll .animated {
    position: absolute;
    top: calc(-8/375 * 100vw);
    left: calc(6/750 * 100vw);
    width: calc(555/750 * 100vw);
    padding-left: 0;
  }
  section#bumon .animatedParent:nth-child(2) {
    margin-bottom: calc(102/750 * 100vw);
  }
  section#bumon h2 {
    width: calc(710/750 * 100vw);
    height: calc(306/750 * 100vw);
  }
  section#bumon h2 .title {
    width: 100%;
    height: 100%;
    top: calc(13/375 * 100vw);
    left: calc(40/750 * 100vw);
    background: url(../img/bumon_title_sp.png) no-repeat top center;
    background-size: contain;
  }
  section#bumon .shield {
    width: calc(275/750 * 100vw);
    height: calc(228/750 * 100vw);
    top: calc(-58/750 * 100vw);
    left: calc(-23/750 * 100vw);
  }
  section#bumon .shield span {
    background-image: url(../img/bumon_illust_shield_sp.png);
    background-size: cover;
  }
  section#bumon .ryokouken {
    width: calc(277/750 * 100vw);
    top: calc(-56/750 * 100vw);
    right: calc(-33/750 * 100vw);
  }
  section#bumon .content_board {
    margin-bottom: 0;
  }
  section#bumon .content_board:last-of-type {
    margin-bottom: 0;
  }
  section#bumon .kawaii.content_board {
    margin-bottom: calc(25/750 * 100vw);
  }
  section#bumon .content_board h3 {
    text-align: center;
  }
  .mogu h3 {
    padding: calc(4/750 * 100vw) calc(4/750 * 100vw) 0 0;
  }
  .mogu h3 img {
    max-height: calc(127/750 * 100vw);
  }
  .kawaii h3 {
    margin-top: calc(-2/750 * 100vw);
    padding: 0 calc(23/750 * 100vw) 0 0;
  }
  .insta h3 {
    margin: calc(-5/750 * 100vw) calc(-13/750 * 100vw) 0 0;
    padding: 0;
  }
  .kawaii h3 img,
  .insta h3 img {
    max-height: calc(145/750 * 100vw);
  }
  .omoshiro h3 {
    margin-right: calc(-15/750 * 100vw);
    padding: calc(4/750 * 100vw) 0 0 0;
  }
  .omoshiro h3 img {
    max-height: calc(128/750 * 100vw);
  }
  .recipe h3 {
    margin: calc(-4/750 * 100vw) calc(-33/750 * 100vw) 0 0;
    padding: 0;
  }
  .recipe h3 img {
    max-height: calc(147/750 * 100vw);
  }
  section#bumon .content_top_box {
    padding: 0;
    background: transparent;
  }
  section#bumon .content_top_box::before {
    display: block;
    content: '';
    width: 100%;
    height: calc(76/750 * 100vw);
    background: url(../img/bumon_content_board_top.png) center top no-repeat;
    background-size: contain;
  }
  section#bumon .content_board:nth-of-type(n+3) .content_top_box {
    margin: calc(-76/750 * 100vw) 0 0;
  }
  section#bumon .content_top_inner {
    background-color: #ffffff;
    padding: 0 calc(4/750 * 100vw) calc(47/750 * 100vw) 0;
  }
  section#bumon .content_top_inner::after {
    top: calc(204/750 * 100vw);
    left: 0;
  }
  section#bumon .content_board.insta .content_top_box {
    margin-top: calc(-101/750 * 100vw);
  }
  section#bumon .content_board.recipe .content_top_box {
    padding-top: 0;
  }
  section#bumon .content_top_box .content_frame {
    background: url(../img/bumon_content_frame_sp.png) left top no-repeat;
    background-size: contain;
    margin-top: calc(3/750 * 100vw);
  }
  section#bumon .kawaii .content_frame {
    margin-top: calc(-9/750 * 100vw);
  }
  section#bumon .insta .content_frame {
    margin-top: calc(-6/750 * 100vw);
  }
  section#bumon .omoshiro .content_frame {
    margin-top: calc(2/750 * 100vw);
  }
  section#bumon .recipe .content_frame {
    margin-top: calc(-9/750 * 100vw);
  }
  section#bumon .winner_comment h4 {
    margin-left: calc(-3/750 * 100vw);
    margin-top: calc(31/750 * 100vw);
  }
  section#bumon .winner_comment h4::after{
    background: url(../img/bumon_illust_comment_sp.png) left top no-repeat;
    background-size: contain;
    margin: calc(-14/750 * 100vw) 0 calc(20/750 * 100vw);
  }
  .winner_comment p.comment_from {
    margin: calc(-50/750 * 100vw) 0 calc(38/750 * 100vw);
  }
  section#bumon .winner_comment p:last-of-type {
    margin-bottom: calc(46/750 * 100vw);
  }
  section#bumon .content_bottom_box {
    background: url(../img/bumon_staff_comment_bg.png) left top repeat;
    background-size: auto auto;
  }
  .mogu .content_bottom_box::after {
    height: calc(210/750 * 100vw);
    background: url(../img/bumon_mogu_bottom.png) center top no-repeat;
  }
  .kawaii .content_bottom_box::after {
    height: calc(214/750 * 100vw);
    background: url(../img/bumon_kawaii_bottom.png) center top no-repeat;
  }
  .insta .content_bottom_box::after {
    height: calc(209/750 * 100vw);
    background: url(../img/bumon_insta_bottom.png) center top no-repeat;    
  }
  .omoshiro .content_bottom_box::after {
    height: calc(219/750 * 100vw);
    background: url(../img/bumon_omoshiro_bottom.png) center top no-repeat;    
  }
  /* .recipe .content_bottom_box::after {
    height: calc(215/750 * 100vw);
    background: url(../img/bumon_recipe_bottom.png) center top no-repeat;    
  } */
  #bumon .content_board:last-of-type .content_bottom_box::after {
    height: calc(128/750 * 100vw);
    background: url(../img/bumon_reiwa_bottom.png) center top no-repeat;
    background-size: cover;
  }
  section#bumon .content_bottom_box::after {
    background-size: contain;
  }
  /* -------------------------------------
    締めの言葉
  ------------------------------------- */
  .peroration {
    width: 100%;
    text-align: center;
    padding-bottom: calc(8/750 * 100vw);
    background-image: url(../img/peroration_bg.png) ,url(../img/bumon_bg_sp.png);
    background-position:  center bottom, center top;
    background-repeat: no-repeat, repeat-y;
    background-size: contain;
    padding-top: 0;
    overflow: hidden;
  }
  .peroration h2 {
    padding: 0 0 0 calc(3/750 * 100vw);
    margin: 0 0 calc(24/750 * 100vw);
  }
  .peroration h2 img {
    max-height: calc(153/750 * 100vw);
  }
  .peroration p {
    padding-left: 0;
    font-size: calc(25/750 * 100vw);
    line-height: 1.45;
    letter-spacing: calc(-1.5/750 * 100vw);
    margin: 0 0 calc(15/750 * 100vw) calc(-4/750 * 100vw);
  }
  .peroration p img {
    max-width: 100%;
  }
  .peroration p:last-of-type {
    padding-left: 0;
    margin: 0 0 calc(16/750 * 100vw) calc(-18/750 * 100vw);
  }
  .peroration p:last-of-type img {
    max-height: calc(169/750 * 100vw);
  }
  .peroration .bye_dog {
    margin-left: calc(-8/750 * 100vw);
  }
  .peroration .bye_dog span {
    margin: 0 auto;
    width: calc(282/750 * 100vw);
    height: calc(293/750 * 100vw);
    background-image: url(../img/peroration_illust_sp.png);
    background-size: cover;
  }

  /* -------------------------------------
    フッター
  ------------------------------------- */
  .footer {
    padding: 0 0 calc(110/750 * 100vw);
  }
  .footer .container {
    width: 100%;
    padding-top: calc(100/750 * 100vw);
  }
  .footer .footer-logo {
    width: 100%;
    margin-bottom: calc(8/750 * 100vw);
  }
  .footer-logo img {
    width: calc(263/750 * 100vw);
    height: calc(104/750 * 100vw);
  }
  .footer .footer-logo a {
    margin-right: calc(-41/750 * 100vw);
  }
  .footer .footer-menu {
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
    margin: calc(15/750 * 100vw) auto 0;
    padding: 0 calc(20/750 * 100vw);
  }
  .footer .footer-menu li:first-child {
    border-left: 1px solid #fff;
  }
  .footer .footer-menu li:nth-child(even) {
    border-right: 1px solid #fff;
  }
  .footer .footer-menu li:nth-child(-n+2) {
    margin: calc(21/750 * 100vw) 0;
  }
  .footer .footer-menu li:nth-child(3) {
    margin-left: calc(72/750 * 100vw);
  }
  .footer .footer-menu li {
    width: auto;
    max-width: 50%;
    font-size: calc(24/750 * 100vw);
  }
  .footer .footer-menu li a {
    display: block;
    color: #fff;
    text-decoration: none;
    padding: 0 calc(28/750 * 100vw);
  }
  .pagetop_area {
    width: 100%;
    left: 0;
    margin-left: 0;
    margin-top: calc(-183/750 * 100vw);
    z-index: 999;
  }
  .btn_top {
    max-width: 100%;
    margin: 0 auto;
    float: right;
  }
  .btn_top img {
    width: calc(153/750 * 100vw);
  }
  .top-area2, .top-area1 {
    position: relative;
  }
  .top-area1 a.active {
    position: fixed;
    bottom: 10px;
  }
  .top-area1 a img {
    max-width: calc(153/750 * 100vw);
  }
  .top-area1 a img:hover {
    opacity: 1;
  }
}