@charset "UTF-8";
/* ================================
  initialize
================================ */
#mainContent *, #mainContent *:before, #mainContent *:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#mainContent h1, #mainContent h2, #mainContent h3, #mainContent h4, #mainContent h5, #mainContent h6, #mainContent p {
  margin: 0;
  padding: 0;
}

#mainContent dl, #mainContent dd, #mainContent dt, #mainContent ol, #mainContent ul, #mainContent li {
  margin: 0;
  padding: 0;
  list-style: none;
}

#mainContent figure, #mainContent figcaption {
  margin: 0;
  padding: 0;
}

#mainContent del, #mainContent ins {
  text-decoration: none;
}

#mainContent a {
  display: inline-block;
  color: initial;
}

#mainContent a:link, #mainContent a:visited, #mainContent a:hover, #mainContent a:active, #mainContent a:focus {
  color: initial;
  text-decoration: none;
}

/* ================================
  #mainContent initialize
================================ */
#mainContent {
  display: block;
  color: #000;
  font-size: 14px;
  font-family: 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
}

#mainContent h1, #mainContent h2, #mainContent h3, #mainContent h4 {
  margin-top: -.25em;
  margin-bottom: -.25em;
  font-weight: 600;
  font-family: 'Gothic MB101 Bold', 'MySansSerif', 'YakuHanJP', sans-serif;
  line-height: 1.5;
}

#mainContent h5, #mainContent h6 {
  margin-top: -.25em;
  margin-bottom: -.25em;
  font-weight: 600;
  line-height: 1.5;
}

#mainContent a {
  color: #000;
}

#mainContent p {
  margin-top: -.4em;
  margin-bottom: -.4em;
  color: #585858;
  line-height: 1.8;
}

#mainContent img, #mainContent video {
  width: 100%;
  vertical-align: bottom;
  font-size: .5em;
}

/* ================================
  Utility
================================ */
#mainContent *.ut-hide {
  display: none !important;
}

#mainContent *.ut-inBlock {
  display: inline-block;
}

#mainContent *.ut-caption {
  padding-left: 1em;
  color: #585858;
  text-indent: -1em;
  font-weight: normal !important;
  font-size: .857em;
}

#mainContent *.ut-caption::before {
  content: '※';
}

#mainContent *.ut-left {
  float: left;
}

#mainContent *.ut-right {
  float: right;
}

#mainContent *.ut-clearfix::after {
  display: block;
  clear: both;
  content: '';
}

#mainContent *.ut-tb {
  display: none;
}

#mainContent *.ut-sp {
  display: none;
}

#mainContent *.ut-wrapper {
  margin-right: auto;
  margin-left: auto;
  padding-right: 40px;
  padding-left: 40px;
  max-width: 1180px;
}

#mainContent *.ut-inner {
  margin-right: auto;
  margin-left: auto;
  padding-right: 40px;
  padding-left: 40px;
  max-width: 1070px;
}

#mainContent .townMap__list{
    background-image: url(/img/recipe/contest/201224/town_map_05-01_pc.gif);
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    padding-top: 679.2%;
}

/* Utility Tablet */
@media screen and (min-width: 768px) and (max-width: 1023px) {
  #mainContent *.ut-tb {
    display: inline-block;
  }
  #mainContent *.ut-inner {
    padding-right: 0;
    padding-left: 0;
  }
}

/* Utility SP */
@media screen and (max-width: 767px) {
  #mainContent *.ut-pc {
    display: none !important;
  }
  #mainContent *.ut-tb {
    display: none !important;
  }
  #mainContent *.ut-sp {
    display: block !important;
  }
  #mainContent *.ut-wrapper {
    margin-right: 8vw;
    margin-left: 8vw;
    padding-right: 0;
    padding-left: 0;
  }
  #mainContent *.ut-inner {
    padding-right: 0;
    padding-left: 0;
  }

  #mainContent .townMap__list{
    background-image: url(/img/recipe/contest/201224/town_map_05-01_sp.gif);
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    padding-top: 2350%;
}
}

/* =====================
  - #mainContent
    > #hero
    > …
===================== */
#mainContent {
  margin-bottom: 70px;
}

#mainContent .section__heading {
  margin-right: auto;
  margin-bottom: 60px;
  margin-left: auto;
  padding-top: 40px;
  max-width: 800px;
  text-align: center;
}

#mainContent .section__heading .section__ttl {
  position: relative;
  margin-top: 0;
  margin-bottom: 0;
  text-align: center;
}

#mainContent .section__heading .section__ttl::before {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  height: 1px;
  background-color: #999;
  content: '';
}

#mainContent .section__heading .section__ttl > span {
  position: relative;
  display: inline-block;
  padding: 0 70px;
  background-color: #fff;
}

#mainContent .section__ttl {
  margin-top: -.25em;
  margin-bottom: -.25em;
  font-size: 32px;
  line-height: 1.5;
}

#mainContent .section__ttl:not(:only-child) {
  margin-bottom: calc(60px - .25em);
}

#mainContent .section__txt {
  font-size: 14px;
}

#mainContent .btn__square {
  max-width: 334px;
  text-align: center;
}

#mainContent .btn__square a {
  display: inline-block;
  padding: .4286em .8em;
  width: 100%;
  border: 1px solid #999;
  color: #585858;
  font-size: 14px;
  line-height: 1.5;
  cursor: pointer;
}

#mainContent .btn__square a:not(:first-of-type) {
  margin-top: 20px;
}

#mainContent .btn__circle {
  margin-right: auto;
  margin-left: auto;
  max-width: 334px;
  text-align: center;
}

#mainContent .btn__circle a {
  display: inline-block;
  padding: .964em .8em;
  width: 100%;
  border: 1px solid #999;
  border-radius: 2em;
  color: #000;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.5;
  cursor: pointer;
}

#mainContent .link__arrow {
  display: block;
  text-align: right;
  font-size: 0;
  line-height: 1;
}

#mainContent .link__arrow a {
  position: relative;
  display: inline-block;
  padding-left: 18.5px;
  color: #585858;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  -webkit-transition: .3s;
  transition: .3s;
}

#mainContent .link__arrow a::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 8.5px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216px%22%20height%3D%2223px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20stroke%3D%22rgb(153%2C%20153%2C%20153)%22%20stroke-width%3D%222px%22%20stroke-linecap%3D%22butt%22%20stroke-linejoin%3D%22miter%22%20fill%3D%22none%22%20d%3D%22M3.135%2C0.986%20L13.999%2C11.000%20L3.135%2C21.010%20%22%2F%3E%3C%2Fsvg%3E");
  background-position: left center;
  background-size: 8.5px 12.5px;
  background-repeat: no-repeat;
  content: '';
}

#mainContent .link__arrow a:not(:first-of-type) {
  margin-left: 40px;
}

#mainContent .link__pdf {
  position: relative;
}

#mainContent .link__pdf::after {
  position: absolute;
  width: 15px;
  height: calc(1em * 1.5);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214.414%22%20height%3D%2214.414%22%20viewBox%3D%220%200%2014.414%2014.414%22%3E%20%3Cg%20transform%3D%22translate(-25%20-24.224)%22%3E%20%3Cline%20y1%3D%225%22%20transform%3D%22translate(38%2025.638)%22%20fill%3D%22none%22%20stroke%3D%22%237f0019%22%20stroke-linecap%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%222%22%2F%3E%20%3Cline%20x1%3D%225%22%20transform%3D%22translate(33%2025.638)%22%20fill%3D%22none%22%20stroke%3D%22%237f0019%22%20stroke-linecap%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%222%22%2F%3E%20%3Cline%20x1%3D%226%22%20y2%3D%226%22%20transform%3D%22translate(32%2025.638)%22%20fill%3D%22none%22%20stroke%3D%22%237f0019%22%20stroke-linecap%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%222%22%2F%3E%20%3Cpath%20d%3D%22M37.638%2C34.313v1.663a1.668%2C1.668%2C0%2C0%2C1-1.663%2C1.663H27.663A1.668%2C1.668%2C0%2C0%2C1%2C26%2C35.975V27.663A1.668%2C1.668%2C0%2C0%2C1%2C27.663%2C26h1.663%22%20fill%3D%22none%22%20stroke%3D%22%237f0019%22%20stroke-linecap%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%222%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2215%22%20viewBox%3D%220%200%2015%2015%22%3E%20%3Cpath%20d%3D%22M15.5%2C2h-9A1.5%2C1.5%2C0%2C0%2C0%2C5%2C3.5v9A1.5%2C1.5%2C0%2C0%2C0%2C6.5%2C14h9A1.5%2C1.5%2C0%2C0%2C0%2C17%2C12.5v-9A1.5%2C1.5%2C0%2C0%2C0%2C15.5%2C2ZM9.125%2C7.625A1.125%2C1.125%2C0%2C0%2C1%2C8%2C8.75H7.25v1.5H6.125V5.75H8A1.125%2C1.125%2C0%2C0%2C1%2C9.125%2C6.875Zm3.75%2C1.5A1.125%2C1.125%2C0%2C0%2C1%2C11.75%2C10.25H9.875V5.75H11.75a1.125%2C1.125%2C0%2C0%2C1%2C1.125%2C1.125Zm3-2.25H14.75v.75h1.125V8.75H14.75v1.5H13.625V5.75h2.25Zm-8.625.75H8v-.75H7.25ZM3.5%2C5H2V15.5A1.5%2C1.5%2C0%2C0%2C0%2C3.5%2C17H14V15.5H3.5ZM11%2C9.125h.75V6.875H11Z%22%20transform%3D%22translate(-2%20-2)%22%20fill%3D%22%237f0019%22%2F%3E%3C%2Fsvg%3E");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  content: '';
}

#mainContent .link__copy {
  display: -webkit-box !important;
  display: -webkit-flex !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -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;
  padding: 9px 2em !important;
  border-radius: 25px !important;
  font-weight: 600;
  font-family: 'Gothic MB101 Bold', 'MySansSerif', 'YakuHanJP', sans-serif;
}

#mainContent .link__copy::before {
  display: inline-block;
  margin-right: 10px;
  width: 30px;
  height: 30px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%3E%20%3Cg%3E%20%3Crect%20width%3D%2230%22%20height%3D%2230%22%20fill%3D%22none%22%2F%3E%20%3Cpath%20d%3D%22M88.594%2C56.6V39.994H71.986%22%20transform%3D%22translate(-63.684%20-34.906)%22%20fill%3D%22none%22%20stroke%3D%22%237f0019%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%223%22%2F%3E%20%3Crect%20width%3D%2216.608%22%20height%3D%2216.607%22%20transform%3D%22translate(3.612%209.779)%22%20fill%3D%22%237f0019%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: '';
}

#mainContent .thumb {
  display: block;
}

#mainContent .desc {
  display: block;
}

#mainContent .name {
  display: block;
  margin-top: -.25em;
  margin-bottom: calc(15px - .25em);
  color: #585858;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.5;
}

#mainContent .price {
  display: block;
  color: #585858;
  font-size: 12px;
  line-height: 1;
}

#mainContent .price .num {
  margin: 0 .2em;
}

#mainContent .num {
  color: #000;
  font-weight: 600;
  font-size: 18px;
  font-family: 'Helvetica', sans-serif;
}

#mainContent .label {
  display: inline-block;
  margin-top: 10px;
}

#mainContent .label--caption {
  padding: .4167em .4em;
  border: 1px solid #7f0019;
  border-radius: 4px;
  color: #7f0019;
  font-size: 12px;
  line-height: 1;
}

/* common hover */
@media screen and (min-width: 768px) {
  #mainContent .link__arrow a::after {
    position: absolute;
    right: 0;
    bottom: -.1em;
    left: 0;
    height: 0;
    background-color: #999;
    content: '';
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
  }
  #mainContent .link__arrow a:hover::after {
    height: 1px;
  }
}

/* common Tablet */
/* common SP */
@media screen and (max-width: 767px) {
  #mainContent .section__heading {
    margin-bottom: 40px;
  }
  #mainContent .section__heading .section__ttl > span {
    padding: 0 5.333vw;
    max-width: 56vw;
  }
  #mainContent .section__ttl {
    margin-top: -.25em;
    margin-bottom: -.25em;
    font-size: 24px;
    font-size: clamp(0px, 6.4vw, 24px);
    line-height: 1.5;
  }
  #mainContent .section__ttl:not(:only-child) {
    margin-bottom: calc(30px - .25em);
  }
  #mainContent .section__txt {
    text-align: left;
    font-size: 14px;
  }
  #mainContent .btn__square {
    max-width: 100%;
    text-align: center;
  }
  #mainContent .btn__square a {
    display: inline-block;
    padding: .4643em .8em;
    width: 100%;
    border: 1px solid #999;
    color: #585858;
    font-size: 14px;
    line-height: 1.5;
    cursor: pointer;
  }
  #mainContent .btn__circle {
    max-width: 100%;
  }
  #mainContent .btn__circle a {
    display: inline-block;
    padding: .75em .8em;
    width: 100%;
    border: 1px solid #999;
    border-radius: 1.6em;
    color: #585858;
    font-size: 14px;
    line-height: 1.5;
    cursor: pointer;
  }
  #mainContent .link__copy {
    padding: 6px 2em !important;
    border-radius: 22px !important;
    font-size: 16px !important;
  }
  #mainContent .price {
    font-size: 10px;
  }
  #mainContent .num {
    font-size: 16px;
  }
}

/* ================================
  #hero
================================ */
/* #hero PC */
@media screen and (min-width: 768px) {
  #hero .mainvisual {
    position: relative;
  }
  #hero .mainvisual .mainvisual__ttl {
    position: absolute;
    right: 0;
    bottom: 10%;
    left: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    color: #fff;
    text-align: center;
    text-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
    font-size: 4.8vw;
  }
}

/* #hero SP */
@media screen and (max-width: 767px) {
  #hero .mainvisual {
    position: relative;
  }
  #hero .mainvisual .mainvisual__ttl {
    position: absolute;
    right: 0;
    bottom: 12%;
    left: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    color: #fff;
    text-align: center;
    text-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
    font-size: 8vw;
  }
}

/* ================================
  #about
================================ */
/* #about PC */
@media screen and (min-width: 768px) {
  #about {
    margin-top: 60px;
    padding-top: 40px;
    padding-bottom: 60px;
  }
  #about .about__ttl {
    text-align: center;
  }
  #about .about__ttl:not(:only-child) {
    margin-bottom: calc(80px - .25em);
  }
  #about .aboutIpt {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #about .aboutIpt .aboutItp__tmb {
    width: 40.40%;
  }
  #about .aboutIpt .aboutItp__desc {
    width: 53.53%;
  }
  #about .aboutIpt .aboutItp__ttl {
    margin-bottom: calc(20px - .2em);
    font-size: 24px;
  }
  #about .aboutIpt .aboutItp__pd {
    margin-top: 20px;
  }
  #about .aboutIpt .aboutItp__pd .aboutItp__pdLink {
    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: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
  }
  #about .aboutIpt .aboutItp__pd .aboutItp__pdLink:hover {
    opacity: .8;
  }
  #about .aboutIpt .aboutItp__pd .aboutItp__pdLink:not(:first-of-type) {
    margin-top: 40px;
  }
  #about .aboutIpt .aboutItp__pd .aboutItp__pdLink .thumb {
    width: 22.64%;
  }
  #about .aboutIpt .aboutItp__pd .aboutItp__pdLink .desc {
    width: 73.58%;
  }
  #about .aboutIpt .aboutItp__pd .btn__square {
    margin-top: 20px;
  }
}

/* #about SP */
@media screen and (max-width: 767px) {
  #about {
    margin-top: 40px;
    padding-top: 40px;
    padding-bottom: 40px;
  }
  #about .about__ttl {
    text-align: center;
    font-size: 20px;
  }
  #about .about__ttl:not(:only-child) {
    margin-bottom: calc(60px - .25em);
  }
  #about .aboutIpt {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #about .aboutIpt .aboutItp__tmb {
    margin-bottom: 30px;
    width: 100%;
  }
  #about .aboutIpt .aboutItp__desc {
    width: 100%;
  }
  #about .aboutIpt .aboutItp__ttl {
    margin-bottom: calc(20px - .2em);
    font-size: 18px;
  }
  #about .aboutIpt .aboutItp__txt .ut-inBlock {
    display: inline;
  }
  #about .aboutIpt .aboutItp__pd {
    margin-top: 30px;
  }
  #about .aboutIpt .aboutItp__pd .aboutItp__pdLink {
    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: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #about .aboutIpt .aboutItp__pd .aboutItp__pdLink:not(:first-of-type) {
    margin-top: 30px;
  }
  #about .aboutIpt .aboutItp__pd .aboutItp__pdLink .thumb {
    width: 31.75%;
  }
  #about .aboutIpt .aboutItp__pd .aboutItp__pdLink .desc {
    width: 61.90%;
  }
  #about .aboutIpt .aboutItp__pd .btn__square {
    margin-top: 20px;
  }
}

/* ================================
  #making
================================ */
/* #making PC */
@media screen and (min-width: 768px) {
  #making {
    padding-bottom: 60px;
  }
  #making .makingIpt {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #making .makingIpt:not(:first-child) {
    margin-top: 60px;
  }
  #making .makingIpt .makingItp__tmb {
    width: 40.40%;
  }
  #making .makingIpt .makingItp__desc {
    width: 53.53%;
  }
  #making .makingIpt .makingItp__ttl {
    margin-bottom: calc(20px - .2em);
    font-size: 24px;
  }
  #making .makingIpt .makingItp__stl {
    margin-bottom: calc(20px - .2em);
    padding-top: 10px;
    font-size: 18px;
  }
  #making .makingIpt .makingItp__stl .makingItp__stl-sub {
    display: block;
    margin-bottom: calc(.5em - .2em);
    font-size: 16px;
  }
  #making .makingIpt .makingItp__pd {
    margin-top: 20px;
  }
  #making .makingIpt .makingItp__pd .makingItp__pdLink {
    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: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
  }
  #making .makingIpt .makingItp__pd .makingItp__pdLink:hover {
    opacity: .8;
  }
  #making .makingIpt .makingItp__pd .makingItp__pdLink .thumb {
    width: 22.64%;
  }
  #making .makingIpt .makingItp__pd .makingItp__pdLink .desc {
    width: 73.58%;
  }
  #making .makingIpt .btn__square {
    margin-top: 30px;
    width: 334px;
  }
  #making .makingIpt .link__arrow {
    margin-top: 30px;
  }
}

/* #making SP */
@media screen and (max-width: 767px) {
  #making {
    padding-bottom: 40px;
  }
  #making .makingIpt {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #making .makingIpt:not(:first-child) {
    margin-top: 60px;
  }
  #making .makingIpt .makingItp__tmb {
    margin-bottom: 30px;
    width: 100%;
  }
  #making .makingIpt .makingItp__desc {
    width: 100%;
  }
  #making .makingIpt .makingItp__ttl {
    margin-bottom: calc(20px - .2em);
    font-size: 18px;
  }
  #making .makingIpt .makingItp__stl {
    margin-bottom: calc(20px - .2em);
    padding-top: 10px;
    font-size: 16px;
  }
  #making .makingIpt .makingItp__stl .makingItp__stl-sub {
    display: block;
    margin-bottom: calc(.5em - .2em);
    font-size: 14px;
  }
  #making .makingIpt .makingItp__pd {
    margin-top: 30px;
  }
  #making .makingIpt .makingItp__pd .makingItp__pdLink {
    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: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #making .makingIpt .makingItp__pd .makingItp__pdLink:not(:first-of-type) {
    margin-top: 30px;
  }
  #making .makingIpt .makingItp__pd .makingItp__pdLink .thumb {
    width: 31.75%;
  }
  #making .makingIpt .makingItp__pd .makingItp__pdLink .desc {
    width: 61.90%;
  }
  #making .makingIpt .btn__square {
    margin-top: 40px;
    width: 100%;
  }
  #making .makingIpt .link__arrow {
    margin-top: 20px;
  }
}

/* ================================
  #example
================================ */
/* #example PC */
@media screen and (min-width: 768px) {
  #example {
    padding-bottom: 40px;
  }
  #example .exampleList {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #example .exampleList__item {
    width: 24.72%;
  }
}

/* #example Tablet */
/* #example SP */
@media screen and (max-width: 767px) {
  #example {
    padding-bottom: 40px;
  }
  #example .exampleList {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #example .exampleList__item {
    width: calc(50% - .267vw);
  }
  #example .exampleList__item:nth-of-type(n+3) {
    margin-top: .533vw;
  }
}

/* ================================
  #event
================================ */
/* #event PC */
@media screen and (min-width: 768px) {
  #event {
    margin-top: 20px;
    padding-bottom: 40px;
  }
  #event .event__heading {
    margin-bottom: 80px;
    padding-top: 80px;
    text-align: center;
  }
  #event .event__ttl {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: -.2em;
    margin-bottom: -.2em;
    max-width: 530px;
    text-align: left;
    font-size: 42px;
    line-height: 1.4;
  }
  #event .event__ttl img {
    margin-right: 30px;
    width: 80px;
  }
  #event .eventAnnounce {
    padding: 80px;
    background-color: #f4f4f4;
    text-align: center;
  }
  #event .eventAnnounce__ttl {
    margin-bottom: calc(40px - .2em);
    font-size: 24px;
  }
  #event .eventAnnounce__txt {
    color: #000;
  }
  #event .eventAnnounce__txt:not(:first-of-type) {
    margin-top: calc(20px - .4em);
  }
  #event .eventAnnounce__txt--caption {
    color: #585858;
  }
  #event .eventAnnounce__txt--close {
    color: #7f0019;
    text-align: center;
    font-weight: 600;
    font-size: 24px;
  }
  #event .eventAnnounce__txt .eventAnnounce__txtLink {
    display: inline-block;
    text-decoration: underline;
    font-weight: 600;
  }
  #event .eventAnnounce__def {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 40px;
    font-weight: 600;
    font-size: 18px;
  }
  #event .eventAnnounce__def--close {
    color: #999;
  }
  #event .eventAnnounce__dttl {
    margin-right: 40px;
  }
  #event .eventAnnounce__dttl:not(:first-of-type) {
    margin-top: 20px;
  }
  #event .eventAnnounce__data:not(:first-of-type) {
    margin-top: 20px;
  }
  #event .eventCopy {
    margin-top: 60px;
    text-align: center;
  }
  #event .eventCopy__ttl {
    position: relative;
    display: inline-block;
    padding-bottom: 1px;
    font-weight: 600;
    font-size: 18px;
  }
  #event .eventCopy__ttl ::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22415%22%20height%3D%223%22%20viewBox%3D%220%200%20415%203%22%3E%20%3Cline%20x2%3D%22415%22%20transform%3D%22translate(0%201.5)%22%20fill%3D%22none%22%20stroke%3D%22%23707070%22%20stroke-width%3D%223%22%20stroke-dasharray%3D%223%203%22%2F%3E%3C%2Fsvg%3E");
    background-size: cover;
    background-repeat: no-repeat;
    content: '';
  }
  #event .btn__circle {
    margin-top: 40px;
  }
}

/* #event Tablet */
@media screen and (min-width: 768px) and (max-width: 1023px) {
  #event .eventAnnounce {
    padding: 80px 60px;
  }
  #event .eventAnnounce__dttl {
    margin-right: 0;
  }
  #event .eventAnnounce__data:not(:first-of-type) {
    margin-top: 0;
  }
}

/* #event SP */
@media screen and (max-width: 767px) {
  #event {
    margin-top: 40px;
    padding-bottom: 40px;
  }
  #event .event__heading {
    margin-bottom: 40px;
    padding-top: 40px;
    text-align: center;
  }
  #event .event__ttl {
    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-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: -.25em;
    margin-bottom: -.25em;
    text-align: center;
    font-size: 28px;
    font-size: clamp(0px, 7.467vw, 28px);
    line-height: 1.5;
  }
  #event .event__ttl img {
    margin-bottom: calc(20px - .5em);
    width: 50px;
  }
  #event .eventAnnounce {
    padding: 40px 20px;
    background-color: #f4f4f4;
    text-align: left;
  }
  #event .eventAnnounce__ttl {
    margin-bottom: calc(30px - .2em);
    text-align: center;
    font-size: 18px;
  }
  #event .eventAnnounce__txt {
    color: #000;
  }
  #event .eventAnnounce__txt:not(:first-of-type) {
    margin-top: calc(20px - .4em);
  }
  #event .eventAnnounce__txt--caption {
    color: #585858;
    font-size: 12px;
  }
  #event .eventAnnounce__txt--close {
    color: #7f0019;
    text-align: center;
    font-weight: 600;
    font-size: 18px;
  }
  #event .eventAnnounce__txt .eventAnnounce__txtLink {
    display: inline;
    text-decoration: underline;
    font-weight: 600;
  }
  #event .eventAnnounce__def {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-top: 30px;
    font-weight: 600;
    font-size: 18px;
  }
  #event .eventAnnounce__def--close {
    color: #999;
  }
  #event .eventAnnounce__dttl {
    margin-bottom: calc(10px - .25em);
  }
  #event .eventAnnounce__dttl:not(:first-of-type) {
    margin-top: 20px;
  }
  #event .eventAnnounce__data {
    font-size: 14px;
    line-height: 1.6;
  }
  #event .eventCopy {
    margin-top: 40px;
    text-align: center;
  }
  #event .eventCopy__ttl {
    position: relative;
    display: inline-block;
    padding-bottom: .5em;
    font-weight: 600;
    font-size: 12px;
    font-size: clamp(0px, 3.2vw, 12px);
  }
  #event .eventCopy__ttl ::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22415%22%20height%3D%223%22%20viewBox%3D%220%200%20415%203%22%3E%20%3Cline%20x2%3D%22415%22%20transform%3D%22translate(0%201.5)%22%20fill%3D%22none%22%20stroke%3D%22%23707070%22%20stroke-width%3D%223%22%20stroke-dasharray%3D%223%203%22%2F%3E%3C%2Fsvg%3E");
    background-size: cover;
    background-repeat: no-repeat;
    content: '';
  }
  #event .btn__circle {
    margin-top: 30px;
    max-width: 100%;
  }
}

/* ================================
  #town
================================ */
/* #town PC */
@media screen and (min-width: 768px) {
  #town .town__heading {
    margin-bottom: 60px;
    padding-top: 60px;
    text-align: center;
  }
  #town .town__ttl {
    font-weight: 600;
    font-size: 38px;
    font-family: 'Helvetica', sans-serif;
  }
  #town .townSchedule {
    position: relative;
    margin-bottom: 60px;
  }
  #town .townSchedule::before {
    position: absolute;
    top: 40%;
    right: 110px;
    left: 110px;
    height: 1px;
    background-color: #999;
    content: '';
  }
  #town .townSchedule__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 6.364%;
  }
  #town .townSchedule__item {
    position: relative;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    padding-right: 3.437%;
    padding-left: 3.437%;
    width: 60px;
    background-color: #fff;
    text-align: center;
  }
  #town .townSchedule__item:first-of-type {
    padding-left: 0;
  }
  #town .townSchedule__item:last-of-type {
    padding-right: 0;
  }
  #town .townSchedule__item--future .townSchedule__itemTmb {
    opacity: .4;
  }
  #town .townSchedule__item--future .townSchedule__itemTxt {
    opacity: .6;
  }
  #town .townSchedule__itemTmb {
    height: 42px;
  }
  #town .townSchedule__itemTmb img {
    width: auto;
    height: 100%;
  }
  #town .townSchedule__itemTxt {
    margin-top: 10px;
    margin-bottom: 0;
    color: #000;
  }
  #town .townSchedule__no {
    display: block;
    font-weight: 600;
    font-size: 18px;
    line-height: 1;
  }
  #town .townSchedule__no .num {
    margin: 0 .1em;
    font-size: 24px;
  }
  #town .townSchedule__date {
    display: block;
    margin-top: 9px;
    font-weight: 600;
    font-size: 12px;
    line-height: 1.2;
  }
  #town .townSchedule__label {
    display: inline-block;
    margin-top: 15px;
    padding: .3em 0 .2em;
    width: 100%;
    border: 1px solid #000;
    border-radius: .833em;
    font-size: 12px;
    line-height: 1;
  }
}

/* #town Tablet */
@media screen and (min-width: 768px) and (max-width: 1023px) {
  #town .townSchedule::before {
    right: 40px;
    left: 40px;
  }
  #town .townSchedule__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0;
  }
}

/* #town SP */
@media screen and (max-width: 767px) {
  #town .town__heading {
    margin-bottom: 40px;
    padding-top: 40px;
    text-align: center;
  }
  #town .town__ttl {
    font-weight: 600;
    font-size: 25px;
    font-family: 'Helvetica', sans-serif;
  }
  #town .townSchedule {
    position: relative;
    overflow: hidden;
    margin-right: 0;
    margin-bottom: 26px;
    margin-left: 0;
  }
  #town .townSchedule::before {
    position: absolute;
    top: 40%;
    right: 8vw;
    left: 8vw;
    height: 1px;
    background-color: #999;
    content: '';
  }
  #town .townSchedule__list {
    display: list-item;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 8vw 4px;
    white-space: nowrap;
    font-size: 0;
  }
  #town .townSchedule__item {
    position: relative;
    display: inline-block;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    padding-right: 2.667vw;
    padding-left: 2.667vw;
    width: 70px;
    background-color: #fff;
    vertical-align: top;
    text-align: center;
    white-space: normal;
    font-size: 14px;
  }
  #town .townSchedule__item:first-of-type {
    padding-left: 0;
  }
  #town .townSchedule__item:last-of-type {
    padding-right: 0;
  }
  #town .townSchedule__item:not(:first-of-type) {
    margin-left: 4vw;
  }
  #town .townSchedule__item--future .townSchedule__itemTmb {
    opacity: .4;
  }
  #town .townSchedule__item--future .townSchedule__itemTxt {
    opacity: .6;
  }
  #town .townSchedule__itemTmb {
    height: 42px;
  }
  #town .townSchedule__itemTmb img {
    width: auto;
    height: 100%;
  }
  #town .townSchedule__itemTxt {
    margin-top: 10px;
    margin-bottom: 0;
    color: #000;
  }
  #town .townSchedule__no {
    display: block;
    font-weight: 600;
    font-size: 16px;
    line-height: 1;
  }
  #town .townSchedule__no .num {
    margin: 0 .1em;
    font-size: 22px;
  }
  #town .townSchedule__date {
    display: block;
    margin-top: 9px;
    font-weight: 600;
    font-size: 12px;
    line-height: 1.2;
  }
  #town .townSchedule__label {
    display: inline-block;
    margin-top: 15px;
    padding: .3em 0 .2em;
    width: 100%;
    border: 1px solid #000;
    border-radius: .833em;
    font-size: 12px;
    line-height: 1;
  }
}

/* ================================
  .townMap
================================ */
/* .townMap 1500 */
@media screen and (min-width: 768px) {
  #town .townMap {
    position: relative;
    margin-right: auto;
    margin-left: auto;
    max-width: 1500px;
  }
  #town .townMap__item {
    position: absolute;
    overflow: hidden;
    width: 110px;
    height: 110px;
    border: 5px solid #fff;
    border-radius: 30%;
    -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
            box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
  }
  #town .townMap__link {
    display: block;
    cursor: pointer;
  }
}

/* .townMap 768 */
@media screen and (min-width: 768px) and (max-width: 1500px) {
  #town .townMap__item {
    width: 7.333vw;
    height: 7.333vw;
    border: .5208vw solid #fff;
  }
}

/* .townMap SP */
@media screen and (max-width: 767px) and (max-width: 1500px) {
  #town .townMap {
    position: relative;
  }
  #town .townMap__item {
    position: absolute;
    overflow: hidden;
    border: 5px solid #fff;
    border-radius: 30%;
    -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
            box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
  }
  #town .townMap__link {
    display: block;
    cursor: pointer;
  }
}

/* ================================
  #contest
================================ */
/* #contest PC */
@media screen and (min-width: 768px) {
  #contest {
    padding-bottom: 40px;
  }
  #contest .contestPoint__def {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #contest .contestPoint__def--center {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #contest .contestPoint__def:not(:first-of-type) {
    margin-top: 40px;
  }
  #contest .contestPoint__dttl {
    padding: .6389em 1em;
    width: 20.91%;
    background-color: #f2f2f2;
    text-align: center;
    font-weight: 600;
    font-size: 18px;
  }
  #contest .contestPoint__data {
    width: 76.36%;
  }
  #contest .contestPoint__txt {
    color: #000;
  }
  #contest .contestPoint__txt--caption {
    color: #585858;
  }
  #contest .contestPoint__txt--strong {
    font-weight: 600;
    font-size: 18px;
  }
  #contest .contestPoint__txt:not(:first-of-type) {
    margin-top: calc(1em - .4em);
  }
  #contest .contestPoint__txtLink {
    display: inline;
  }
  #contest .contestPoint__pd {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  #contest .contestPoint__pdLink {
    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;
    width: 44.04%;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
  }
  #contest .contestPoint__pdLink:hover {
    opacity: .8;
  }
  #contest .contestPoint__pdLink:not(:first-of-type) {
    margin-left: 20px;
  }
  #contest .contestPoint__pdLink .thumb {
    margin-right: 10px;
    width: 43.24%;
  }
  #contest .contestPoint__pdLink .desc {
    min-width: 180px;
    width: 54.05%;
  }
  #contest .contestPoint__item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  #contest .contestPoint__item:not(:first-of-type) {
    margin-top: calc(10px - .25em);
  }
  #contest .contestPoint__itemNum {
    display: inline-block;
    margin-right: 15px;
    min-width: 62px;
    font-weight: 600;
    font-size: 16px;
  }
  #contest .link__arrow {
    margin-top: 15px;
    text-align: left;
  }
  #contest .link__arrow a {
    font-size: 16px;
  }
}

/* #contest Tablet */
@media screen and (min-width: 768px) and (max-width: 1023px) {
  #contest .contestPoint__dttl {
    width: 27.61%;
  }
  #contest .contestPoint__data {
    width: 69.47%;
  }
  #contest .contestPoint__pdLink {
    width: 70%;
  }
  #contest .contestPoint__pdLink:not(:first-of-type) {
    margin-top: 20px;
    margin-left: 0;
  }
}

/* #contest SP */
@media screen and (max-width: 767px) {
  #contest {
    padding-bottom: 40px;
  }
  #contest .contestPoint__def--center {
    text-align: left;
  }
  #contest .contestPoint__def--center:first-of-type {
    text-align: center;
  }
  #contest .contestPoint__def:not(:first-of-type) {
    margin-top: 60px;
  }
  #contest .contestPoint__dttl {
    margin-bottom: 30px;
    padding: .8125em 2em;
    width: 100%;
    background-color: #f2f2f2;
    text-align: center;
    font-weight: 600;
    font-size: 16px;
  }
  #contest .contestPoint__data {
    width: 100%;
  }
  #contest .contestPoint__txt {
    color: #000;
  }
  #contest .contestPoint__txt--caption {
    color: #585858;
  }
  #contest .contestPoint__txt--strong {
    font-weight: 600;
    font-size: 16px;
  }
  #contest .contestPoint__txt:not(:first-of-type) {
    margin-top: calc(1em - .4em);
  }
  #contest .contestPoint__txtLink {
    display: inline;
  }
  #contest .contestPoint__pd {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  #contest .contestPoint__pdLink {
    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: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
  }
  #contest .contestPoint__pdLink:not(:first-of-type) {
    margin-top: 20px;
  }
  #contest .contestPoint__pdLink .thumb {
    width: 31.75%;
  }
  #contest .contestPoint__pdLink .desc {
    width: 61.91%;
  }
  #contest .contestPoint__item:not(:first-of-type) {
    margin-top: calc(20px - .25em);
  }
  #contest .contestPoint__itemNum {
    display: block;
    margin-bottom: calc(10px - .25em);
    font-weight: 600;
    font-size: 16px;
  }
  #contest .link__arrow {
    margin-top: 20px;
    text-align: left;
  }
  #contest .link__arrow a {
    font-size: 16px;
  }

    #town .townMap__item {
    width: 22.4vw;
    height: 22.4vw;
  }
}

/* ================================
  #works
================================ */
/* #works PC */
@media screen and (min-width: 768px) {
  #works {
    margin-top: 40px;
    padding-bottom: 60px;
  }
  #works .worksList {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #works .worksList__item {
    margin: 0;
    width: 30.36%;
  }
}

/* #works Tablet */
@media screen and (min-width: 768px) and (max-width: 1023px) {
  #works .worksList {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #works .worksList__item {
    width: 100%;
  }
  #works .worksList__item:not(:first-of-type) {
    margin-top: 30px;
  }
}

/* #works SP */
@media screen and (max-width: 767px) {
  #works {
    padding-bottom: 40px;
  }
  #works .worksList {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #works .worksList__item:not(:first-of-type) {
    margin-top: 30px;
  }
  #works .btn__circle {
    margin: 0;
    width: 100%;
  }
}

/* ================================
  #feature
================================ */
/* #feature PC */
@media screen and (min-width: 768px) {
  #feature {
    margin-top: 60px;
  }
  #feature .featureList__tmb {
    margin: 0 auto 40px;
    max-width: 986px;
  }
}

/* #feature SP */
@media screen and (max-width: 767px) {
  #feature .featureList__tmb {
    margin-bottom: 30px;
  }
}

/* ================================
  .column
================================ */
/* .column PC */
@media screen and (min-width: 768px) {
  #mainContent .columnArea {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-top: 80px;
  }
  #mainContent .column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 8px;
  }
  #mainContent .column:not(:first-of-type) {
    margin-top: 60px;
  }
  #mainContent .column .column__tmb {
    position: relative;
    min-width: 372px;
    width: 372px;
    height: 100%;
  }
  #mainContent .column .column__tmb img {
    height: 100%;
    font-family: 'object-fit: cover;';
    -o-object-fit: cover;
       object-fit: cover;
  }
  #mainContent .column .column__desc {
    padding: 40px;
    width: 100%;
  }
  #mainContent .column .column__ttl {
    margin-bottom: calc(20px - .2em);
    font-size: 24px;
  }
  #mainContent .column .column__ttl span {
    display: block;
    margin-bottom: calc(1em - .2em);
    font-size: 18px;
  }
  #mainContent .column .column__productLink {
    -webkit-transition: .3s;
    transition: .3s;
  }
  #mainContent .column .column__productLink:hover {
    opacity: .8;
  }
  #mainContent .column .link__arrow {
    margin-top: 20px;
  }
}

/* .column Tablet */
@media screen and (max-width: 1023px) and (min-width: 768px) {
  #mainContent .column .column__tmb {
    min-width: 50%;
  }
}

/* .column SP */
@media screen and (max-width: 767px) {
  #mainContent .columnArea {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-top: 60px;
  }
  #mainContent .column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 16px;
  }
  #mainContent .column:not(:first-of-type) {
    margin-top: 60px;
  }
  #mainContent .column .column__tmb {
    position: relative;
    min-width: 0;
    width: 100%;
    height: 100%;
  }
  #mainContent .column .column__tmb img {
    height: 100%;
    font-family: 'object-fit: cover;';
    -o-object-fit: cover;
       object-fit: cover;
  }
  #mainContent .column .column__desc {
    padding: 25px 20px;
    width: 100%;
  }
  #mainContent .column .column__ttl {
    margin-bottom: calc(20px - .2em);
    font-size: 18px;
  }
  #mainContent .column .column__ttl span {
    display: block;
    margin-bottom: calc(1em - .2em);
    font-size: 14px;
  }
  #mainContent .column .link__arrow {
    margin-top: 20px;
  }
}

/* ================================
  Remodal
================================ */
/* remodal initialize */
html.remodal-is-locked {
  -ms-touch-action: none;
      touch-action: none;
}

.remodal {
  color: #000;
  text-align: left;
  font-size: 14px;
  font-family: 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
}

.remodal *, .remodal *:before, .remodal *:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.remodal h1, .remodal h2, .remodal h3, .remodal h4, .remodal h5, .remodal h6, .remodal p {
  margin: 0;
  padding: 0;
}

.remodal dl, .remodal dd, .remodal dt, .remodal ol, .remodal ul, .remodal li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.remodal figure, .remodal figcaption {
  margin: 0;
  padding: 0;
}

.remodal del, .remodal ins {
  text-decoration: none;
}

.remodal h1, .remodal h2, .remodal h3, .remodal h4, .remodal h5, .remodal h6 {
  margin-top: -.25em;
  margin-bottom: -.25em;
  font-weight: 600;
  line-height: 1.5;
}

.remodal a {
  color: #67affd;
  font-weight: 600;
}

.remodal p {
  margin-top: -.4em;
  margin-bottom: -.4em;
  color: #585858;
  line-height: 1.8;
}

.remodal img, .remodal video {
  width: 100%;
  vertical-align: bottom;
  font-size: .5em;
}

/* remodal PC */
@media screen and (min-width: 768px) {
  .remodal-overlay {
    background: rgba(0, 0, 0, 0.8);
  }
  .remodal-wrapper {
    padding: 40px;
  }
  .remodal {
    margin: 0;
    padding: 0;
  }
  .remodal--map {
    max-width: 640px;
  }
  .remodal--terms {
    max-width: 900px;
  }
  .remodal--terms .remodal-close {
    position: absolute;
    position: -webkit-sticky;
    position: sticky;
    top: auto;
    bottom: -40px;
    width: 100%;
    height: 80px;
    -webkit-backdrop-filter: blur(5px);
            backdrop-filter: blur(5px);
  }
  .remodal--terms .remodal-close::before {
    content: none;
  }
  .remodal--terms .remodal-close > span {
    display: inline-block;
    padding: .714em 3.071em;
    border: 1px solid #999;
    border-radius: 1.285em;
    background-color: #fff;
    color: #999;
    font-size: 14px;
    line-height: 1;
  }
  .remodal--terms .remodal__inner {
    padding: 60px 40px 20px;
  }
  .remodal--terms .remodal__heading {
    margin-bottom: 40px;
  }
  .remodal--terms .remodal__ttl {
    text-align: center;
    font-weight: 600;
    font-size: 22px;
  }
  .remodal--terms .remodal__ttl:not(:only-child) {
    margin-bottom: calc(30px - .2em);
  }
  .remodal--terms .remodal__stl {
    font-weight: 600;
    font-size: 18px;
  }
  .remodal--terms .remodal__stl:not(:only-child) {
    margin-bottom: calc(20px - .2em);
  }
  .remodal--terms .remodal__txt {
    color: #000;
  }
  .remodal--terms .remodal__link {
    word-wrap: break-word;
  }
  .remodal--terms .remodal__block:not(:first-child) {
    margin-top: 30px;
  }
  .remodal--terms .remodal__list:not(:first-child) {
    margin-top: 10px;
  }
  .remodal--terms .remodal__item {
    padding-left: 1em;
    text-indent: -1em;
  }
  .remodal--terms .remodal__item:not(:first-child) {
    margin-top: calc(10px - .25em);
  }
  .remodal--terms .remodal__def:not(:first-child) {
    margin-top: 20px;
  }
  .remodal--terms .remodal__dttl {
    margin-bottom: 10px;
    font-weight: 600;
    font-size: 16px;
  }
  .remodal--terms .remodal__dttl:not(:first-child) {
    margin-top: 20px;
  }
  .remodal--terms .remodal__data {
    padding-left: 1em;
    text-indent: -1em;
  }
  .remodal--terms .remodal__data + .remodal__data {
    margin-top: calc(10px - .25em);
  }
}

/* IE11 PC */
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) and (min-width: 768px) {
  .remodal--terms .remodal__inner {
    padding: 60px 40px 100px;
  }
  .remodal--terms .remodal-close {
    bottom: 0;
  }
}

/* remodal SP */
@media screen and (max-width: 767px) {
  .remodal-overlay {
    background: rgba(0, 0, 0, 0.8);
  }
  .remodal-wrapper {
    padding: 40px 0;
  }
  .remodal {
    margin: 0;
    padding: 0;
  }
  .remodal--map {
    max-width: 89.06vw;
  }
  .remodal--terms .remodal-close {
    position: absolute;
    position: -webkit-sticky;
    position: sticky;
    top: auto;
    bottom: -40px;
    width: 100%;
    height: 80px;
    -webkit-backdrop-filter: blur(5px);
            backdrop-filter: blur(5px);
  }
  .remodal--terms .remodal-close::before {
    content: none;
  }
  .remodal--terms .remodal-close > span {
    display: inline-block;
    padding: .714em 3.071em;
    border: 1px solid #999;
    border-radius: 1.285em;
    background-color: #fff;
    color: #999;
    font-size: 14px;
    line-height: 1;
  }
  .remodal--terms .remodal__inner {
    padding: 60px 8vw 20px;
  }
  .remodal--terms .remodal__heading {
    margin-bottom: 40px;
  }
  .remodal--terms .remodal__ttl {
    text-align: center;
    font-weight: 600;
    font-size: 22px;
  }
  .remodal--terms .remodal__ttl:not(:only-child) {
    margin-bottom: calc(30px - .2em);
  }
  .remodal--terms .remodal__stl {
    font-weight: 600;
    font-size: 18px;
  }
  .remodal--terms .remodal__stl:not(:only-child) {
    margin-bottom: calc(20px - .2em);
  }
  .remodal--terms .remodal__txt {
    color: #000;
  }
  .remodal--terms .remodal__link {
    word-wrap: break-word;
  }
  .remodal--terms .remodal__block:not(:first-child) {
    margin-top: 30px;
  }
  .remodal--terms .remodal__list:not(:first-child) {
    margin-top: 10px;
  }
  .remodal--terms .remodal__item {
    padding-left: 1em;
    text-indent: -1em;
  }
  .remodal--terms .remodal__item:not(:first-child) {
    margin-top: calc(10px - .25em);
  }
  .remodal--terms .remodal__def:not(:first-child) {
    margin-top: 20px;
  }
  .remodal--terms .remodal__dttl {
    margin-bottom: 10px;
    font-weight: 600;
    font-size: 16px;
  }
  .remodal--terms .remodal__dttl:not(:first-child) {
    margin-top: 20px;
  }
  .remodal--terms .remodal__data {
    padding-left: 1em;
    text-indent: -1em;
  }
  .remodal--terms .remodal__data + .remodal__data {
    margin-top: calc(10px - .25em);
  }
}

/* IE11 SP */
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) and (max-width: 767px) {
  .remodal--terms .remodal__inner {
    padding: 60px 8vw 100px;
  }
  .remodal--terms .remodal-close {
    bottom: 0;
  }
}

/* ================================
  userAgent
================================ */
.ua-mp.remodal-is-locked {
  overflow: visible;
}

/* userAgent Tablet */
/* userAgent SP */
/*# sourceMappingURL=contest_201120.css.map */