@charset "UTF-8";
img {
  display: block;
  margin: auto;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  margin: 0;
}

table {
  font-size: 100%;
  line-height: 1.5;
  border-collapse: collapse;
  border-spacing: 0;
}

th {
  font-weight: normal;
  text-align: left;
}

ul li {
  list-style: none;
  margin: 0;
}

ol {
  padding-left: 18px;
  *padding-left: 24px;
  _padding-left: 24px;
}

dl, dt, dd {
  margin: 0;
}

input, textarea {
  vertical-align: middle;
}

address, em {
  font-style: normal;
}

a {
  text-decoration: none;
  color: #000;
}

a:hover {
  opacity: 80%;
}

.toTop {
  position: relative;
  opacity: 0;
  transition: .7s;
  position: fixed;
  bottom: 60px;
  right: 25px;
  width: 60px;
  height: 60px;
  z-index: 200;
}

.toTop img {
  width: 100%;
  display: block;
}

.toTop.show {
  opacity: 1;
}

@media (max-width: 1024px) {
  .toTop {
    bottom: calc(20 / 1024 * 100%);
    right: calc(20 / 1024 * 100%);
    width: calc(102 / 1024 * 100%);
    height: auto;
  }
}

/* =========================================================================
 共通
========================================================================= */
#event03 {
  margin: -30px 0 0;
  width: 100%;
  color: #000;
  font-family: 'Noto Sans JP', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
  font-weight: 400;
  line-height: 1.5;
  font-size: 0.875rem;
  position: relative;
}

#event03 .ttlArea {
  margin: 0 auto 50px;
  background: #cde8ff;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

#event03 .ttlArea h1 {
  margin: 70px 50px 50px 0;
  text-align: center;
  position: relative;
}

#event03 .ttlArea h1 .ttl01 {
  display: block;
  font-size: 0.875rem;
}

#event03 .ttlArea h1 .ttl01::before {
  content: "";
  display: block;
  background: url("../img/kumo.png") no-repeat;
  background-size: contain;
  width: 78px;
  height: 62px;
  position: absolute;
  top: 0;
  left: -15px;
}

#event03 .ttlArea h1 .ttl01::after {
  content: "";
  display: block;
  background: url("../img/kamome.png") no-repeat;
  background-size: contain;
  width: 89px;
  height: 59px;
  position: absolute;
  top: 0;
  right: 0;
}

#event03 .ttlArea h1 img {
  width: 420px;
  height: auto;
  margin-top: 50px;
  margin-bottom: 30px;
}

#event03 .ttlArea h1 .end {
  font-size: 1rem;
  background: #EA334D;
  color: #FFF;
  padding: 10px 30px;
}

#event03 .ttlArea .photo img {
  width: 520px;
  margin: 40px 0 0 0;
}

#event03 #topicPath {
  width: 1000px;
}

#event03 #topicPath div {
  margin: 0 auto 100px;
  text-align: left;
  color: #999;
}

#event03 #topicPath div a, #event03 #topicPath div span {
  margin: 0 10px;
  color: #999;
  font-size: 0.75rem;
  font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}

#event03 #topicPath div a {
  text-decoration: underline;
}

#event03 #topicPath div a:hover {
  text-decoration: none;
}

#event03 .readCopy {
  margin: 0 0 50px;
  font-size: 1rem;
  line-height: 200%;
}

#event03 .readCopy .ttl02 {
  display: block;
  margin: 0 auto 50px;
  width: 667px;
  height: 70px;
  font-size: 2.375rem;
  font-weight: bold;
  background: url("../event03/img/sec01_ttl_obi.png") no-repeat center bottom;
  background-size: contain;
  line-height: 1.5;
}

#event03 .winner section {
  width: 1000px;
  margin: 0 auto 100px;
}

#event03 .winner section:last-child {
  margin: 0 auto;
}

#event03 .winner section .ribbonWrap {
  display: inline-block;
  position: relative;
  height: 45px;
  text-align: center;
  box-sizing: border-box;
}

#event03 .winner section .ribbonWrap::before {
  content: '';
  position: absolute;
  width: 10px;
  bottom: -10px;
  left: -35px;
  border: 20px solid #D86125;
  border-left-color: transparent;
  /*山形に切り抜き*/
}

#event03 .winner section .ribbonWrap::after {
  content: '';
  position: absolute;
  width: 10px;
  bottom: -10px;
  right: -35px;
  border: 20px solid #D86125;
  border-right-color: transparent;
  /*山形に切り抜き*/
}

#event03 .winner section .ribbonWrap .ribbon {
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 0 50px;
  line-height: 45px;
  font-size: 1.625rem;
  color: #000;
  font-weight: 600;
  background: linear-gradient(90deg, #f78039 0%, #ffd45e 17%, #ffe7a6 45%, #f49943 74%, #f78039 100%);
  /*真ん中の背景色*/
  z-index: 10;
}

#event03 .winner section .ribbonWrap .ribbon::before {
  position: absolute;
  content: '';
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 10px transparent;
  border-right: solid 15px #511B20;
  /*左の折り返し部分*/
}

#event03 .winner section .ribbonWrap .ribbon::after {
  position: absolute;
  content: '';
  top: 100%;
  right: 0;
  border: none;
  border-bottom: solid 10px transparent;
  border-left: solid 15px #511B20;
  /*右の折り返し部分*/
}

#event03 .winner section .opus {
  display: flex;
  flex-wrap: wrap;
  padding: 50px 0 0 50px;
}

#event03 .winner section .opus li {
  margin: 0 50px 50px 0;
  width: 28%;
}

#event03 .winner section .opus li .thumbnail img {
  width: 100%;
}

#event03 .winner section .opus li .union {
  margin: 20px 0 0;
  font-size: 0.75rem;
}

#event03 .winner section .opus li .name {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
}

#event03 .winner section .opus li .name span {
  font-size: 1.125rem;
}

#event03 .winner #first_prize {
  margin: 0 auto 150px;
  display: flex;
  justify-content: space-around;
}

#event03 .winner #first_prize .inner div {
  margin: 0;
}

#event03 .winner #first_prize .inner .thumbnail img {
  display: inline;
  width: 90%;
}

#event03 .winner #first_prize .inner .union {
  margin: 30px 0 0;
  font-size: 0.875rem;
}

#event03 .winner #first_prize .inner .name {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 600;
}

#event03 .winner #first_prize .inner .name span {
  font-size: 1.875rem;
}

#event03 .winner #first_prize .inner .crown {
  margin: 0 auto 30px;
}

#event03 .winner #first_prize .inner .crown::before {
  display: block;
  margin: 0 auto 20px;
  content: '';
  background: url("../event01/img/crown.png") no-repeat;
  background-size: contain;
  width: 75px;
  height: 50px;
}

#event03 .inquiry {
  margin: -20px 0 30px;
  background: #FFF;
}

#event03 .inquiry dl {
  width: 50%;
  margin: auto;
  border: 3px solid #EA334D;
}

#event03 .inquiry dl dt {
  padding: 10px;
  background: #EA334D;
  font-size: 1rem;
  color: #FFF;
  font-weight: 900;
}

#event03 .inquiry dl dd {
  padding: 20px;
}

#event03 .pc {
  display: block;
}

#event03 .sp {
  display: none;
}

/* =========================================================
 スマホ対応
========================================================= */
@media (max-width: 1024px) {
  #event03 {
    margin: calc(30 / 1024 * 100%) 0 0;
    font-size: 1.95313vw;
    text-align: center;
  }
  #event03 .ttlArea {
    margin: 0 auto calc(50 / 1024 * 100%);
  }
  #event03 .ttlArea h1 {
    margin: calc(70 / 1024 * 100%) auto calc(50 / 1024 * 100%);
  }
  #event03 .ttlArea h1 .ttl01 {
    font-size: 1.95313vw;
  }
  #event03 .ttlArea h1 img {
    width: 80%;
    margin-top: calc(50 / 1024 * 100%);
    margin-bottom: calc(30 / 1024 * 100%);
  }
  #event03 .ttlArea .photo img {
    width: 80%;
    margin: 0 auto calc(50 / 1024 * 100%);
  }
  #event03 #topicPath {
    width: 100%;
  }
  #event03 #topicPath div {
    background: none;
    margin: 0 auto calc(50 / 1024 * 100%);
  }
  #event03 #topicPath div a, #event03 #topicPath div span {
    margin: 0 calc(10 / 1024 * 100%);
  }
  #event03 .readCopy {
    margin: 0 auto calc(50 / 1024 * 100%);
    width: 90%;
    font-size: 2.92969vw;
  }
  #event03 .readCopy .ttl02 {
    margin: 0 auto calc(50 / 1024 * 100%);
    width: 100%;
    height: auto;
    font-size: 3.90625vw;
  }
  #event03 .winner section {
    width: 80%;
    margin: 0 auto calc(100 / 1024 * 100%);
  }
  #event03 .winner section:last-child {
    margin: 0 auto calc(50 / 1024 * 100%);
  }
  #event03 .winner section .opus {
    display: block;
    padding: calc(80 / 1024 * 100%) 0 0;
  }
  #event03 .winner section .opus li {
    margin: 0 auto calc(50 / 1024 * 100%);
    width: 100%;
  }
  #event03 .winner section .opus li .union {
    margin: calc(20 / 1024 * 100%) 0 0;
    font-size: 1.95313vw;
  }
  #event03 .winner section .opus li .name {
    font-size: 1.95313vw;
  }
  #event03 .winner section .opus li .name span {
    font-size: 2.92969vw;
  }
  #event03 .winner #first_prize {
    margin: 0 auto calc(200 / 1024 * 100%);
    display: block;
  }
  #event03 .winner #first_prize .inner div {
    margin: 0 0 calc(100 / 1024 * 100%);
  }
  #event03 .winner #first_prize .inner .union {
    margin: calc(30 / 1024 * 100%);
    font-size: 1.95313vw;
  }
  #event03 .winner #first_prize .inner .name {
    font-size: 2.92969vw;
  }
  #event03 .winner #first_prize .inner .name span {
    font-size: 3.90625vw;
  }
  #event03 .winner #first_prize .inner .crown {
    margin: 0 auto calc(80 / 1024 * 100%);
  }
  #event03 .inquiry {
    margin: 0 0 calc(100 / 1024 * 100%);
  }
  #event03 .inquiry dl {
    width: 90%;
  }
  #event03 .inquiry dl dt {
    padding: calc(10 / 1024 * 100%);
    font-size: 2.44141vw;
  }
  #event03 .inquiry dl dd {
    padding: calc(20 / 1024 * 100%);
    font-size: 2.44141vw;
  }
  #event03 .pc {
    display: none;
  }
  #event03 .sp {
    display: block;
  }
}

/*# sourceMappingURL=event03.css.map */