@charset "utf-8";

@media screen and (max-width: 768px) {

  /* =============================================================

    Mobile - Module Setting

============================================================= */

  /*  Text
-------------------------- */

  /* -- Text Size -- */

  /* X Small */
  .txt-xs {
    font-size: .7em;
  }

  /* Small */
  .txt-sm {
    font-size: .85em;
  }

  /* Normal */
  .txt-nm {
    font-size: .95em;
  }

  /* X Normal */
  .txt-xn {
    font-size: 1.05em;
  }

  /* Middle */
  .txt-md {
    font-size: 1.1em;
  }

  /* X Middle */
  .txt-xm {
    font-size: 1.2em;
  }

  /* Large */
  .txt-lg {
    font-size: 1.3em;
  }

  /* X Large */
  .txt-xl {
    font-size: 1.5em;
  }

  /* -- Text Weight -- */

  .txt-bold-sp {
    font-weight: bold;
  }

  /* -- Text Other -- */

  .txt-catch {
    line-height: 1.6;
  }

  .txt-catch2 {}

  /*  Link
-------------------------- */

  /*  Title
-------------------------- */

  .ttl {
    line-height: 1.5;
  }

  .ttl-style1 {
    margin-bottom: 30px;
    font-size: 2em;
  }

  .ttl-style1 span:after {
    padding-left: 10px;
    font-size: .5em;
  }

  .ttl-style2 {
    margin-bottom: 30px;
  }

  .ttl-style3 {
    margin-bottom: 50px;
  }

  .ttl-style3 span {
    width: 100%;
    padding: 18px 20px;
    font-size: 1em;
    line-height: 1.5;
  }

  /*  Button
-------------------------- */

  .btn {
    font-size: 1em;
    white-space: normal;
  }

  .btn-icn {
    padding-top: 3px;
  }

  .btn .txt-sm {
    font-size: .6em;
  }

  /* -- Button Icon -- */

  .btn .fa {
    margin: 0 4px;
  }

  .btn .fa:before {
    margin-left: 0;
  }

  .btn.btn-download {
    text-align: center;
  }

  .btn.btn-download span {
    position: relative;
    display: inline-block;
    padding-left: 30px;
    text-align: left;
    line-height: 1.5;
  }

  .btn .fa.fa-download {
    position: absolute;
    top: 50%;
    left: -20px;
    margin-top: -10px;
  }


  /* -- Button Position -- */

  .btn-center {
    margin-top: 2.5em;
    margin-bottom: 0;
  }

  /* -- Button Size -- */

  /* Small Size */
  .btn.btn-sm {
    font-size: .9em;
  }

  /* Middle Size */
  .btn.btn-md,
  .entry-body a[target="_blank"].btn-md {
    width: 200px;
    max-width: 100%;
    min-width: 0;
    padding: 22px 25px;
    font-size: 1.1em;
  }

  .btn.btn-md.icn-arw {
    padding-right: 50px;
  }

  /* Large Size */
  .btn.btn-lg,
  .entry-body a[target="_blank"].btn-lg {
    min-width: 0;
    margin-right: auto;
    margin-left: auto;
    padding: 20px 50px;
    font-size: 1.2em;
    line-height: 1.4;
  }

  .btn.btn-lg.icn-arw {
    padding-right: 70px;
  }

  /* -- Default -- */

  .btn.btn-outline-default {}

  /* -- Accent -- */

  .btn.btn-accent {}

  /* ---- Button Other ---- */



  /*  Icon
-------------------------- */

  .icn {}

  /* -- Icon Arrow -- */

  .icn-arw {
    padding-left: 12px;
  }

  .icn-arw:before,
  .icn-arw:after {
    top: 7px;
    border-width: 4px 5px;
  }


  /*  List
-------------------------- */

  .list strong,
  .list .ttl-style5 {
    margin-top: 20px;
  }

  .list+.ttl-style2 {
    margin-top: 50px;
  }

  /* -- List Line -- */

  .list-line>*>li {
    padding: 20px 0;
  }

  .list-line>*>li:first-child {
    padding-top: 0;
  }

  .list-line>*>li>a,
  .list-line>*>li.active>* {
    margin: -25px 0;
    padding: 25px 0;
  }

  .list-line .list {
    margin-top: 20px;
  }

  .list-line .list.column.column2>* {
    margin-top: -15px;
  }

  .list-line .list.column.column2>*>* {
    padding: 15px 0 0;
  }

  /* -- List Dot -- */

  .list-dot {
    margin: 20px 0 30px;
  }

  .list-dot.list-dot2,
  .list-dot.list-dot3,
  .list-dot.list-dot4 {
    margin-top: 15px;
    margin-bottom: 15px;
  }

  .list-dot.list-dot2 ul li,
  .list-dot.list-dot3 ul li,
  .list-dot.list-dot4 ul li {
    padding-top: 8px;
  }

  .list.list-dot {
    margin-top: 0;
  }

  .list-dot.list-dot2 ul li:before,
  .list-dot.list-dot3 .list-dot.list-dot2 ul li:before {
    padding-right: 7px;
  }

  /* -- List Number -- */

  .list-num {
    margin: 20px 0 30px;
  }

  .list-num ol {
    padding-left: 25px;
  }

  .list-num li ol {
    padding-left: 35px;
  }

  /* -- List Arrow -- */

  .list-arw {}

  .list-arw ul {
    padding-left: 2px;
  }

  /* -- List Style -- */

  .list-style1 {
    margin-top: 20px;
    margin-bottom: 30px;
    font-size: .9em;
  }

  .list-style1>ul>li {
    width: 50%;
    margin: 7px -1px;
    border-width: 0 1px;
    background-color: #fff;
  }

  .list-style1 a {
    padding-right: 5px;
    padding-left: 15px;
    text-align: left;
  }

  /* -- List Definition -- */

  .list-dl dl {
    margin: 0;
  }

  .list-dl dl dt {
    float: none;
    width: auto;
    padding-bottom: 10px;
    font-size: 1.1em;
  }

  .list-dl dl dd {
    padding-left: 0 !important;
  }

  .list-dl>ul>li:first-child {
    padding-top: 0;
  }

  .contact-dl {
    margin-top: 30px;
    margin-bottom: 30px;
  }

  /* -- Text Main -- */

  .txt-main {
    margin-bottom: 40px;
    font-size: 1.2em;
    text-align: left;
  }

  .txt-main:first-child {
    padding-top: 0;
  }



  /*  Column
-------------------------- */

  /* ---- Common ---- */

  .column>* {
    letter-spacing: -.40em;
  }

  .column>*>* {
    display: inline-block;
    *display: inline;
    *zoom: 1;
    letter-spacing: normal;
    vertical-align: top;
  }

  .column>*>*.column-full-sp {
    width: 100% !important;
  }

  /* -- Title -- */

  .column .column-ttl {
    padding-top: 22px;
    text-align: center;
    line-height: 1.65;
  }

  /* -- Cont -- */

  .column .column-cont {
    padding-top: 15px;
  }

  /* ---- 2 Column ---- */

  .column.column2>* {
    margin-top: -20px;
    margin-left: 0;
  }

  .column.column2>*>* {
    width: 100%;
    padding: 20px 0 0;
  }

  .column.column2 .column-cont {
    line-height: 2;
  }

  /* ---- 3 Column ---- */

  .column.column3>* {
    margin-top: -30px;
    margin-left: -20px;
  }

  .column.column3>*>* {
    width: 50%;
    padding: 40px 0 0 20px;
  }

  .column.column3 .txt-cont {
    line-height: 2;
  }

  /* ---- 4 Column ---- */

  .column.column4>* {
    margin-top: -30px;
    margin-left: -30px;
  }

  .column.column4>*>* {
    width: 50%;
    padding: 30px 0 0 30px;
  }

  /* ---- 5 Column ---- */

  .column.column5>* {
    margin-top: -20px;
    margin-left: -20px;
  }

  .column.column5>*>* {
    width: 50%;
    padding: 20px 0 0 20px;
  }

  /* ---- 6 Column ---- */

  .column.column6>* {
    margin-top: -20px;
    margin-left: -20px;
  }

  .column.column6>*>* {
    width: 33.333%;
    padding: 20px 0 0 20px;
  }

  /* ---- Line Column ---- */

  .column.column-line {
    margin-bottom: 2em;
  }

  .column.column-line>* {
    margin: 0;
  }

  .column.column-line>*>* {
    margin: 0;
    padding: 15px 0;
  }

  .column.column-line>*>*:first-child {
    padding-top: 0;
  }

  .column.column-line>*>*:before {
    right: 0;
    left: 0;
  }

  .column.column-line>*>*:after,
  .column.column-line>*>*:first-child:before {
    display: none;
  }

  .column .column-inner {
    padding: 10% 10px;
  }

  /*  Section
-------------------------- */

  .section {}

  .section .inner {
    padding-top: 50px;
    padding-bottom: 50px;
  }


  /* =============================================================

    Add Module Setting

============================================================= */

  /*  Intro Section
-------------------------- */

  .intro-section {
    background-size: 110%;
  }

  .intro-section .inner {
    padding: 15px 8px 30px;
  }

  /* ------ Banner List ------ */

  .banner-list {
    margin-bottom: 20px;
  }

  .banner-list.column>ul {
    margin-bottom: 0;
    margin-top: -15px;
    margin-left: -15px;
    padding-left: 0;
  }

  .banner-list.column>ul>li {
    padding: 15px 0 0 15px;
  }


  /* ------ Wanted Section ------ */

  .wanted-section {
    margin: 0;
    padding: 40px 50px;
    background-size: 100% 100%;
    background-position: center;
    background-image: url(../imgs/bg-wanted-sp.png);
  }

  .wanted-section__txt {
    padding: 25px 20px;
    font-size: 1.1em;
    line-height: 1.9;
  }

  .wanted-section__txt .bg-txt {
    padding-bottom: 4px;
    background-size: auto 6px;
  }

  .wanted-section__txt:before {
    display: none;
  }

  .wanted-section__message {
    margin: 0;
    padding: 20px;
    text-align: center;
  }

  .wanted-section__title {
    margin-bottom: 20px;
    font-size: 1.5em;
    line-height: 1.4;
    letter-spacing: 0.05em;
  }

  .wanted-section__message-txt {
    padding: 5px 20px;
    text-align: left;
    font-size: 1em;
    line-height: 2;
  }

  .wanted-section__message-txt .txt-sm {
    position: inherit;
    top: auto;
    padding-top: 4px;
    font-size: 0.75em;
  }

  .wanted-section__message-txt ul li {

    padding-left: 15px;
  }

  .wanted-section__message-txt ul li:before {
    top: 6px;
    border-width: 5px 8px;

  }

  @media screen and (max-width: 480px) {

    .wanted-section {
      margin-top: -5px;
      margin-bottom: 20px;
      padding: 30px 35px 32px;
    }


    .wanted-section__txt {
      margin-bottom: 20px;
    }

    .wanted-section__message {
      padding: 18px;
    }

  }

  /* ------ Judge Section ------ */

  .judge-section {
    margin-top: 100px;
    margin-right: -20px;
    margin-left: -20px;
    margin-bottom: 35px;
    padding: 30px 30px 20px 30px;
  }

  .judge-section__title {
    max-width: 100%;
    margin: -65px auto 40px;
    padding: 25px 15px;
  }

  .judge-section.column ul {
    margin-top: -25px;
    margin-left: 0px;
    padding-left: 0;
  }

  .judge-section.column ul li {
    padding: 25px 0 0 0px;
  }

  .judge-section dl {
    position: relative;
    padding: 15px;
    text-align: center;
  }

  .judge-section .judge__title,
  .ttl-style4 {
    display: inline-block;
    margin-bottom: 20px;
    border-radius: 20px;
    background: #362921;
    min-width: 170px;
    padding: 6px 10px;
    color: #fff;
    font-size: 1.1em;
    font-weight: bold;
    line-height: 1.7;
    text-align: center;
    letter-spacing: 0.05em;
  }

  .judge-section .judge__name {}

  .judge-section .judge__content {
    width: calc(100% - 200px);
  }

  .judge-section .judge__thumb {
    width: 120px;
    height: 120px;
  }

  /* ------ Schedule Section ------ */

  .schedule-section {
    margin: 0;
    padding: 0 5px;
    text-align: center;
  }

  .schedule-section .ttl-style4 {
    font-size: 1.25em;
  }

  /*  Task Section
-------------------------- */

  .task-section {
    background-size: 100%;
  }

  .bg-task2 {
    margin: 0;
    padding: 60px 30px 30px;
    background-image: url(../imgs/bg-task2-sp.png);
    background-size: 100% 100%;
  }

  .task-intro-frame {
    margin-top: -20px;
    margin-bottom: 20px;
    padding: 30px 20px;
    font-size: 1.1em;
    line-height: 1.8;
  }

  .frame {
    margin: 20px 0;
    padding: 10px 15px;
  }

  .frame-list li {
    line-height: 1.6;
  }

  .frame-list li:before {
    width: 22px;
    height: 22px;
    padding: 11px 0 0;
    font-size: 0.9em;
  }

  .task-intro .btn {
    width: 100%;
    margin-top: 0;
    margin-bottom: 30px;
    padding: 25px 40px;
    font-size: 1.2em;
    letter-spacing: 0.1em;
    background-size: 22px;
  }

  /* ------ Banner Link ------ */

  .banner-link__content {
    width: 100%;
    margin-bottom: 0;
  }

  .banner-link {
    width: 100%;
    margin: 0 auto 40px;
    padding: 10px 15px 0;
  }

  .banner-link ul {
    margin-top: 0px !important;
    padding-left: 0 !important;
  }

  .banner-link ul li {
    padding-top: 50px !important;
  }

  .banner-link li:before {
    top: 15px;
  }

  /* ------ Point Section ------ */

  .point-section {
    margin-bottom: 30px;
    padding-top: 10px;
    padding-right: 0;
    padding-left: 0;
  }

  .point-section .ttl-style3 {
    margin-left: 0;
  }

  .point-box {
    position: relative;
    margin: 80px 0;
    padding: 65px 20px 35px 25px;
    background: #f9f5dd;
    font-size: 1.05em;
    line-height: 1.9;
  }

  .point-box__title {
    top: -48px;
    left: 50%;
    width: 95px;
    height: 95px;
    margin-left: -48px;
    font-size: 1.2em;
  }

  .point-box__title span {
    padding-top: 5px;
    font-size: 1.55em;
  }


  /* ------ Copy Section ------ */

  .copy-section {
    margin-top: -40px;
    margin-bottom: 0;
    padding-right: 0;
    padding-left: 0;
  }

  .copy-section .ttl-style3 {
    margin-bottom: 5px;
  }

  .copy-list.column ul {
    margin-top: -60px;
    margin-left: 0;
    padding-left: 0;
  }

  .copy-list.column ul li {
    width: 100%;
    padding: 60px 0 0 0;
  }

  .copy-list .copy-list__box {
    margin-bottom: 30px;
    padding: 60px 20px 20px 20px;
    font-size: 1.05em;
    line-height: 1.9;
  }

  .copy-list .copy-list__title {
    top: -35px;
    width: 152px;
    height: 70px;
    margin-left: -76px;
    padding-top: 14px;
    font-size: 1.65em;
    text-indent: .5em;
  }

  .copy-list__cont .pl_lg {
    padding-left: 80px;
  }

  @media screen and (max-width: 380px) {

    .copy-list__cont dt {
      float: none;
      width: 100%;
      padding-top: 5px;
      line-height: 1.8;
    }

    .copy-list__cont dd {
      padding-left: 0 !important;
    }

    .report-article .copy-list__cont dt {
      padding-bottom: 0;
    }

  }

  /*  Outline Section
-------------------------- */

  .outline-section {
    padding-right: 0;
    padding-left: 0;
    background: none;
    background-color: #99c8e6;
    font-size: 1.05em;
  }

  .outline-content {
    padding: 25px;
  }

  .outline-content>ul {
    margin-bottom: 0;
  }

  .outline-content dl {
    margin-bottom: 20px;
  }


  .outline-content dt {
    float: none;
    width: 150px;
    min-width: 150px;
    margin-bottom: 10px;
    padding: 6px 10px;
    font-size: 1.1em;
    font-weight: bold;
  }

  .outline-content dd {
    margin-bottom: 0;
    padding-top: 6px;
    padding-left: 0;
  }

  .outline-content .list {
    margin-bottom: 10px;
  }

  /*  Apply Section
-------------------------- */

  .apply-section .ttl-style2 {
    margin-bottom: 30px;
  }

  .apply-section .txt-catch {
    margin-bottom: 20px;
    line-height: 1.8;
  }

  .apply-form__inner {
    padding: 0 15px;
  }

  .apply-form table,
  .apply-form table tbody,
  .apply-form table tr,
  .apply-form table tr th,
  .apply-form table tr td {
    display: block;
    width: 100%;
    padding: 0;
  }

  .apply-form table tr {
    padding: 20px 0;
  }

  .apply-form table tr td:first-child {
    padding: 0 0 4px;
  }

  .gb_error {
    margin: 0 0 25px;
  }

  .apply-form #apply-area {
    width: 190px !important;
    min-width: 190px;
    margin-bottom: 0;
  }

  .apply-form #apply-age {
    min-width: 80px;
  }

  .apply-form #apply-kikaku {
    width: 430px;
  }

  .apply-form .address {
    vertical-align: 5px;
  }

  .required {
    margin-left: 15px;
    padding: 3px 15px;
  }

  .apply-form .btn-wrap {
    padding-top: 25px;
  }

  .apply-form.confirm table tr td:first-child {
    padding-top: 0;
  }

  .apply-form .btn-wrap form {
    display: block;
    padding: 0 0 15px;
  }

  .apply-form.error h2 {
    margin: 40px 0 20px;
  }

  .apply-form.error .error-list {
    margin: 15px 0 0;
  }

  #apply-address1,
  #apply-address2 {
    width: 47%;
  }

  #apply-address1 {
    margin-right: 0;
  }

  .apply-form .txt-cont {
    margin-top: 20px;
    margin-bottom: 10px;
  }

  /*  Copy Section
-------------------------- */
  .copy-section-child {
    width: 100%;
  }

  .copy-section__intro {

    margin: 0 0 30px;
    padding: 0;
  }

  .copy-section__intro-img {
    float: none;
    width: 100%;
    margin-bottom: 20px;
    padding: 0 30px;
    text-align: center;
  }

  .copy-section__intro-txt {
    float: none;
    width: 100%;
    padding: 0;
    font-size: 1em;
  }

  .copy-box {
    margin-bottom: 50px;
    padding-right: 35px;
    padding-left: 35px;
  }

  .copy-box__title {
    margin: -20px -15px 15px -15px;
    padding: 20px 20px 15px;
    font-size: 1.3em;
    line-height: 1.55;
  }

  .copy-box__title-num {
    min-width: 110px;
    margin-bottom: 0;
    padding: 4px 10px;
    font-size: 0.95em;
  }

  .copy-box__title-main {
    padding-top: 12px;
    font-size: 1.05em;
  }

  .copy-box__content {
    margin: 0 -15px;
  }

  .copy-box__content p {
    margin-bottom: 0;
  }

  .copy-box__img {
    width: 35%;
  }

  .copy-box__txt {
    padding-left: 39%;
  }


  @media screen and (max-width: 320px) {
    .copy-box__img {
      float: none;
      width: 100%;
      padding-bottom: 15px;
    }

    .copy-box__txt {
      padding-left: 0;
    }
  }

  /*  Case Section
-------------------------- */

  .case-section-child>.inner,
  .case-box .inner {
    width: 100%;
  }

  .case-box .inner {

    padding-top: 50px;
    padding-bottom: 30px;
  }

  .case-box:last-child .inner {
    padding-bottom: 40px;
  }

  .case-section-child {}

  .case-section-child>.inner {
    padding-bottom: 20px;
  }

  .case-section-child .txt-catch {
    font-size: 1em;
    line-height: 1.9;
  }

  .case-box__img {
    float: none;
    width: 100%;
    text-align: center;
  }

  .case-box__content {
    padding-left: 0;
  }

  .case-box__title,
  .case-box__content {
    float: none;
    width: 100%;
  }

  .case-box__title {
    text-align: center;
  }

  .case-box__title-num {
    display: block;
    margin-bottom: 20px;
  }

  .case-box__title-num img {
    height: 45px !important;
  }

  .case-box__title-main {
    padding: 0;
    line-height: 1.6;
  }

  .case-box__title-side {
    display: block;
    width: 280px;
    max-width: 100%;
    margin: 18px auto;
    font-size: 0.7em;
  }

  .case-box__sub-title {
    display: block;
    width: 200px;
    margin: 10px auto;
    font-size: 1.2em;
    text-align: center;
  }

  .case-box__content p {
    font-size: 1em;
  }


  /*  Report Section
---------------------------------------- */
  .report-section {
    background-size: 110%;
  }

  .report-section .inner {

    width: auto;
    padding: 20px 20px 20px;
  }

  /*  Reco Section
-------------------------- */

  .report-section-inner {
    margin-bottom: 80px;
    padding: 20px;
    background: rgba(255, 255, 255, 0.5);
  }

  .report-section-inner .ttl-style3 {
    margin-top: -52px;
    margin-bottom: 30px;
    font-size: 1.3em;
    font-weight: bold;
  }


  .report-section-inner .ttl-style3 span {
    padding: 22px 15px;
    font-weight: bold;
  }

  .report-article {
    padding: 30px 20px 10px;
    background: #f9f5dd;
    font-size: 1em;
  }

  .report-article__title {
    margin-bottom: 20px;
    padding: 0 0 15px;
    border-bottom: 2px solid #f0eac3;
    font-size: 1.38em;
    font-weight: bold;
    color: #362921;
    letter-spacing: 0.08em;
  }

  .report-article p {
    margin-bottom: 30px;
  }

  .report-article .copy-list__cont {
    margin: 25px 0;
  }

  .ttl-style5 {
    margin: 20px 0;
    color: #362921;
    font-size: 1.1em;
    font-weight: bold;
    letter-spacing: 0.08em;
  }

  .report-article .ttl-style5 {
    margin-top: 40px;
  }

  .report-article .copy-list__cont dd {
    margin-bottom: 10px;
  }

  /*  Winning Section
-------------------------- */

  .winning-section {}

  .winning-section .copy-list .copy-list__title {
    top: -40px;
    width: 180px;
    margin-left: -90px;
  }

  .winning-section .copy-list li {
    margin-bottom: 10px;
  }

  .winning-section .copy-list__cont dt .txt-sm {
    display: block;
    margin-right: -20px;
    font-size: .95em;
  }

  .winning-section .copy-list__cont p:first-child {
    padding-left: 60px;
  }

  @media screen and (max-width: 380px) {
    .winning-section .copy-list__cont p:first-child {
      padding-left: 0;
    }

    .winning-section .copy-list__cont dt br {
      display: none !important;
    }

    .media-sp2 {
      display: none;
    }
  }

  .winning-section.report-section-inner {
    padding-bottom: 20px;
  }

  .winning-section .copy-list .copy-list__box {
    min-height: 250px;
  }

  .winning-section .copy-list .txt-cont {
    display: block;
    margin: 15px 0;
  }

  #winning1.report-section-inner {
    margin-right: 0;
    margin-left: 0;
    padding: 14vw 10vw 40px;
    background-size: 100% auto, 100% auto, 100% auto;
    background-image: url(../imgs/report/img-flame-bottom.png), url(../imgs/report/img-flame-top.png), url(../imgs/report/img-flame-middle.png);
    background-repeat: no-repeat, no-repeat, repeat-y;
    background-position: bottom center, top center, 0 0;
  }

  #winning1.report-section-inner .ttl-style3 {
    margin-bottom: 16vw;
  }

  #winning1 .copy-list .copy-list__title {

    top: -11vw;
    width: 55vw;
    height: 20vw;
    margin-left: -29vw;
  }

  #winning1 .copy-list .copy-list__box {
    padding-top: 50px;
  }

  #winning2 {
    margin-bottom: 0;
  }

  #winning2 .ttl-style3 {
    margin-bottom: 10px;
  }

  #winning2 .ttl-style3 span {
    background-color: #231215;
    color: #ebe41c;
  }


  .notice-section.report-section-inner {
    margin-top: 70px;
    padding-bottom: 30px;
  }

  .report-main {
    padding-top: 30px;
  }

  .report-main .ttl-style2 {
    margin-bottom: 50px;
  }

  .report-main .report-section-inner {
    margin-bottom: 30px;
  }
}
