html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}
body {
  line-height: 1;
}
img {
  width: 100%;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  line-height: 1;
}
ul,
li,
dl,
dd,
dt {
  padding: 0;
  margin: 0;
  list-style: none;
}
@font-face {
  src: url("https://cdn.jsdelivr.net/npm/yakuhanjp@2.0.0/dist/fonts/YakuHanJP/YakuHanJP-Light.eot");
  src: url("https://cdn.jsdelivr.net/npm/yakuhanjp@2.0.0/dist/fonts/YakuHanJP/YakuHanJP-Light.woff2")
      format("woff2"),
    url("https://cdn.jsdelivr.net/npm/yakuhanjp@2.0.0/dist/fonts/YakuHanJP/YakuHanJP-Light.woff")
      format("woff");
  font-display: swap;
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 200;
}
.sp_show {
  display: none;
}
.pc_show {
  display: none;
}
.l-contest {
  padding-bottom: 12.7rem;
}
.l-imagecreation {
  border: 2rem solid #ff5900;
  font-family: "YakuHanJP", "Noto Sans JP", sans-serif;
}
.l-imagecreation_img_txt {
  padding: 3rem 3.4rem 1rem;
  margin-bottom: 0;
  background: #ff5900;
  font-size: 2.8rem;
  font-weight: 700;
  text-align: center;
  color: #fff;
  line-height: 1.28;
  letter-spacing: 0.04em;
}
.l-imagecreation img {
  display: block;
}
.l-imagecreation_item_wrapper {
  display: grid;
  grid-template: auto auto / 1fr 1fr;
  gap: 2rem;
  background: #ff5900;
}
.l-imagecreation_item {
  display: grid;
  grid-template-rows: 8rem 35rem 5.6rem auto 5.6rem auto;
  grid-template-rows: subgrid;
  grid-row: span 6;
  gap: 0;
}
.l-imagecreation_item_head {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 8rem;
  background: #fff;
}
.l-imagecreation_item_head_ttl {
  text-align: center;
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.l-imagecreation_item_head_tag {
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 6rem;
  height: 6rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #33c;
  border-radius: 50%;
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.04em;
  transform: translateY(-50%);
}
.l-imagecreation_item_img_wrapper {
  height: max-content;
  padding: 2.8rem 0 3rem;
  margin-bottom: 0;
  background: #fff2cc;
}
.l-imagecreation_item_img_txt {
  width: max-content;
  padding: 1.2rem 1.6rem;
  margin: 0 auto 2rem;
  background: #fff;
  font-size: 1.8rem;
  letter-spacing: 0.04em;
}
.l-imagecreation_item_content_ttl {
  padding: 1.8rem 2.1rem;
  background: #03ae4b;
  text-align: center;
  font-size: 2rem;
  color: #fff;
  text-align: left;
}
.l-imagecreation_item_content_txt {
  padding: 3rem 2rem;
  margin-bottom: 0;
  background: #fff;
  font-size: 1.8rem;
  letter-spacing: 0.04em;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .sp_show {
    display: block;
  }
  .pc_show {
    display: none;
  }
  .l-contest {
    padding-bottom: 6rem;
  }
  .l-imagecreation {
    border: 1rem solid #ff5900;
    border-top-width: 6rem;
  }
  .l-imagecreation_img_txt {
    padding: 3rem 1rem 0rem;
    font-size: 1.8rem;
    text-align: left;
    line-height: 1.5;
  }
  .l-imagecreation_item_wrapper {
    display: block;
  }
  .l-imagecreation_item {
    display: block;
    margin-bottom: 6rem;
  }
  .l-imagecreation_item:last-of-type {
    margin-bottom: 0;
  }
  .l-imagecreation_item_head {
    height: 6rem;
  }
  .l-imagecreation_item_head_ttl {
    font-size: 2rem;
  }
  .l-imagecreation_item_head_tag {
    width: 5.2rem;
    height: 5.2rem;
    top: 0;
    right: -2rem;
    font-size: 1.6rem;
  }
  .l-imagecreation_item_content_ttl {
    padding: 2rem 1rem;
    font-size: 1.6rem;
  }
  .l-imagecreation_item_content_txt {
    padding: 2rem 1rem;
  }
}
