@charset "UTF-8";
/* ------------------------------
photocontest_common
------------------------------ */
html {
  font-size: 625%;
}
@media (min-width: 768px) and (max-width: 1920px) {
  html {
    font-size: 5.2083333333dvw;
  }
}
@media (max-width: 767px) {
  html {
    font-size: 13.037809648dvw;
  }
}

body {
  font-size: 0.24rem;
}
@media (max-width: 767px) {
  body {
    font-size: 0.32rem;
  }
}

/* ------------------------------
wrap
------------------------------ */
#wrap {
  position: relative;
  min-height: 100dvh;
  overflow-x: hidden;
  font-family: "RocknRoll One", sans-serif;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  color: #733000;
  text-align: center;
  overflow-wrap: anywhere;
}
#wrap::before {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  content: "";
  background: url("../img/bg_pattern_ic.png") repeat 0 0/300px;
}
#wrap .inner {
  position: relative;
  max-width: 12.3rem;
  margin: auto;
}
#wrap img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
#wrap svg,
#wrap picture {
  display: block;
}
#wrap p,
#wrap ul,
#wrap dl {
  font-size: 0.24rem;
  line-height: 1.64;
}
@media (max-width: 767px) {
  #wrap p,
  #wrap ul,
  #wrap dl {
    font-size: 0.32rem;
    line-height: 1.5;
  }
}
#wrap .txt p + p {
  margin-top: 1.5em;
}
#wrap .disc,
#wrap .disc_list li {
  padding: 0 0 0 1em;
  margin: 0;
  text-indent: -1em;
  list-style: none;
}
#wrap .disc::before,
#wrap .disc_list li::before {
  margin: 0 0.25em;
  content: "・";
}
#wrap .hyphen,
#wrap .hyphen_list li {
  padding: 0 0 0 1em;
  margin: 0;
  text-indent: -1em;
  list-style: none;
}
#wrap .hyphen::before,
#wrap .hyphen_list li::before {
  margin: 0 0.3em;
  content: "-";
}
#wrap .asterisk,
#wrap .asterisk_list li {
  padding: 0 0 0 1em;
  text-indent: -1em;
}
#wrap .asterisk::before,
#wrap .asterisk_list li::before {
  content: "※";
}
#wrap a {
  text-decoration: none;
}
@media (max-width: 767px) {
  #wrap .pc {
    display: none;
  }
}
@media (min-width: 768px) {
  #wrap .sp {
    display: none;
  }
}
#wrap .bg_pattern_dia {
  position: relative;
  z-index: 1;
  padding: 0.4rem 0.4rem 0.8rem;
  font-size: 0.34rem;
  background: #fed97a;
  border-top: 0.04rem solid #7c5e26;
  border-bottom: 0.04rem solid #7c5e26;
}
#wrap .bg_pattern_dia::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  pointer-events: none;
  content: "";
  background: url("../img/bg_pattern_dia.svg") repeat 0 0/0.61rem;
  mix-blend-mode: overlay;
  opacity: 0.1;
}
#wrap .bg_pattern_dia .bg_beige {
  position: relative;
  padding: 0.4rem;
  background: #fff0cf;
  border-radius: 0.2rem;
}
#wrap .bg_pattern_dia .bg_beige + .bg_beige {
  margin-top: 0.4rem;
}
#wrap .ttl_round_wing {
  position: relative;
  padding: 0.22rem 0.4rem;
  margin: 0 0 0.6rem;
  line-height: 1.2;
  color: #fff;
  text-align: center;
  text-shadow: #652800 0.04rem 0 0.01rem, #652800 -0.04rem 0 0.01rem, #652800 0 -0.04rem 0.01rem, #652800 0 0.04rem 0.01rem, #652800 0.04rem 0.04rem 0.01rem, #652800 -0.04rem 0.04rem 0.01rem, #652800 0.04rem -0.04rem 0.01rem, #652800 -0.04rem -0.04rem 0.01rem, #652800 0.02rem 0.04rem 0.01rem, #652800 -0.02rem 0.04rem 0.01rem, #652800 0.02rem -0.04rem 0.01rem, #652800 -0.02rem -0.04rem 0.01rem, #652800 0.04rem 0.02rem 0.01rem, #652800 -0.04rem 0.02rem 0.01rem, #652800 0.04rem -0.02rem 0.01rem, #652800 -0.04rem -0.02rem 0.01rem;
  background: #ad802b;
  border: 0.08rem solid #7c5e26;
  border-radius: 9999px;
  -webkit-box-shadow: 0 0 0 0.04rem #f3d692 inset;
          box-shadow: 0 0 0 0.04rem #f3d692 inset;
}
#wrap .ttl_round_wing::before, #wrap .ttl_round_wing::after {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 0.78rem;
  height: 0.41rem;
  margin: auto;
  content: "";
  background: url("../img/ic_wing.png") no-repeat 0 0/contain;
}
#wrap .ttl_round_wing::before {
  left: 0.2rem;
}
#wrap .ttl_round_wing::after {
  right: 0.2rem;
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}

/* ------------------------------
pagetop
------------------------------ */
.pagetop {
  position: fixed;
  right: 0.4rem;
  bottom: 0.4rem;
  z-index: 9998;
  display: none;
  width: 0.46rem;
  height: 0.46rem;
  cursor: pointer;
  background: url("../img/ic_zoom.png") no-repeat 0 0/contain;
  -webkit-transition: -webkit-filter 0.4s;
  transition: -webkit-filter 0.4s;
  transition: filter 0.4s;
  transition: filter 0.4s, -webkit-filter 0.4s;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
@media (any-hover: hover) {
  .pagetop:hover {
    -webkit-filter: brightness(80%);
            filter: brightness(80%);
  }
}
@media (hover: none) {
  .pagetop:active {
    -webkit-filter: brightness(80%);
            filter: brightness(80%);
  }
}

/* ------------------------------
en
------------------------------ */
.en #wrap .asterisk::before,
.en #wrap .asterisk_list li::before {
  margin: 0 0.2em 0 0.3em;
  content: "*";
}

/* ------------------------------
wrap
------------------------------ */
#wrap {
  /* ------------------------------
  about_area
  ------------------------------ */
  /* ------------------------------
  bg_pattern_dia
  ------------------------------ */
}
#wrap .about_area {
  margin: 1rem 0;
}
#wrap .about_area .inner {
  display: grid;
  place-items: center;
  height: 6.4rem;
  padding: 1.1rem 0.8rem 0.8rem;
  background: url("../img/about_bg.jpg") no-repeat 0 0/contain;
}
@media (max-width: 767px) {
  #wrap .about_area .inner {
    height: 9rem;
    padding: 0.6rem;
    background-image: url("../img/about_bg_sp.jpg");
    background-size: 100%;
  }
}
#wrap .about_area .ttl_cloth {
  position: absolute;
  inset: -0.5rem 0 auto;
  width: calc(100% - 0.4rem);
  max-width: 9.95rem;
  margin: auto;
}
#wrap .bg_pattern_dia {
  padding: 0.8rem 0.4rem;
}
@media (max-width: 767px) {
  #wrap .bg_pattern_dia .ttl_round_wing {
    font-size: 0.28rem;
  }
}
#wrap .bg_pattern_dia section + section {
  margin-top: 1.2rem;
}
#wrap .bg_pattern_dia .bg_beige {
  padding: 0.4rem 1.4rem;
}
@media (max-width: 767px) {
  #wrap .bg_pattern_dia .bg_beige {
    padding: 1.2rem 0.4rem 0.4rem;
  }
}
#wrap .bg_pattern_dia .num {
  position: absolute;
  top: -0.15rem;
  left: -0.15rem;
  display: grid;
  place-items: center;
  width: 1.1rem;
  height: 1.1rem;
  color: #f8f7e4;
  text-shadow: #652800 0.04rem 0 0.01rem, #652800 -0.04rem 0 0.01rem, #652800 0 -0.04rem 0.01rem, #652800 0 0.04rem 0.01rem, #652800 0.04rem 0.04rem 0.01rem, #652800 -0.04rem 0.04rem 0.01rem, #652800 0.04rem -0.04rem 0.01rem, #652800 -0.04rem -0.04rem 0.01rem, #652800 0.02rem 0.04rem 0.01rem, #652800 -0.02rem 0.04rem 0.01rem, #652800 0.02rem -0.04rem 0.01rem, #652800 -0.02rem -0.04rem 0.01rem, #652800 0.04rem 0.02rem 0.01rem, #652800 -0.04rem 0.02rem 0.01rem, #652800 0.04rem -0.02rem 0.01rem, #652800 -0.04rem -0.02rem 0.01rem;
  background: #fa5;
  border: 0.05rem solid #754b0e;
  border-radius: 9999px;
  -webkit-box-shadow: 0 0 0 0.05rem #fff8d1 inset;
          box-shadow: 0 0 0 0.05rem #fff8d1 inset;
}
#wrap .bg_pattern_dia .num dt,
#wrap .bg_pattern_dia .num dd {
  line-height: 1;
}
#wrap .bg_pattern_dia .num dt {
  font-size: 0.16rem;
}
#wrap .bg_pattern_dia .num dd {
  font-size: 0.44rem;
}
@media (max-width: 767px) {
  #wrap .bg_pattern_dia .num dd {
    font-size: 0.38rem;
  }
}
#wrap .bg_pattern_dia .txt,
#wrap .bg_pattern_dia ul {
  text-align: left;
}
#wrap .bg_pattern_dia .img {
  margin: 0.34rem 0 0;
  border: 0.02rem solid #733000;
}