@charset "UTF-8";
/* =============================================
                    COMMON
============================================= */
body{ font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W6", "Hiragino Kaku Gothic ProN", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;}
sup{ font-size: 70%; vertical-align: top; position: relative; top: -0.1em;}

/* =============================================
                    CONTENTS
============================================= */
*{ box-sizing: border-box;}
.btn-blue a{ background: #0071be; font-weight: 700; line-height: 1.3; color: #fff; text-align: center; text-decoration: none; display: block; position: relative; cursor: pointer; border-radius: 40px;}
.btn-blue a::after{
    content: "\f105";
    font-family: FontAwesome;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(0deg);
}
.btn-white a{ background: #fff; font-weight: 700; line-height: 1.3; color: #0071be; text-align: center; text-decoration: none; display: block; position: relative; cursor: pointer; border-radius: 40px;}
.btn-white a::after{
    content: "\f105";
    font-family: FontAwesome;
    font-size: 18px;
    font-weight: bold;
    color: #0071be;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(0deg);
}

#mv{ position: relative;}
#mv header{ background: #000; background: linear-gradient(0deg,rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%); width: 100%; position: absolute; top: 0px; left: 0px; z-index: 1;}
#mv header .inner{ display: flex; align-items: center;}
#mv header .logo-GDO{ margin-right: auto;}
#mv header .logo-right{ display: flex; align-items: center;}
#mv header .logo-right .logo-SG{ border-right: 1px solid #fff;}
#mv .tit-box p{ line-height: 1.6; color: #fff;}
nav .anchor-bnr{ filter: drop-shadow(5px 5px 20px rgba(0, 0, 0, 0.25));}
nav .anchor-nav{ display: flex;}
#how .box01 .detail .sub{ font-weight: 700; line-height: 1.4;}
#how .box01 .detail .text{ line-height: 1.6;}
#how .box02 .point-list li{ text-align: center;}
#how .box02 .point-list li h3{ font-weight: 700; line-height: 1.4;}
#how .box02 .point-list li .text{ line-height: 1.6;}
#collaborate .detail .sub{ font-weight: 700; line-height: 1.4;}
#collaborate .detail .text{ line-height: 1.6;}
#prize{ background-color: #c74600;}
#prize > .tit-box{ text-align: center;}
#prize > .tit-box .text{ color: #fff; line-height: 1.6;}
#prize .prize-list > li:last-of-type{ margin-bottom: 0;}
#prize .prize-list > li .box{ background: #fff;}
#prize .prize-list > li .box img{ width: 100%;}
#prize .prize-list > li .box .img-box{ background: #f4f4f4; border-top: 1px solid #000; border-bottom: 1px solid #000;}
#prize .prize-list > li .box .img-box .detail h3{ font-weight: 700; line-height: 1.4; color: #3e50f7;}
#prize .prize-list > li .box .img-box .detail .sub{ font-weight: 700;}
#prize .prize-list > li .box .img-box .detail .text{ line-height: 1.6;}
#prize .prize-list > li .box .functions-list li{ display: flex; align-items: center; border-bottom: 1px solid #000;}
#prize .prize-list > li .box .functions-list li .simg{ flex-shrink: 0;}
#prize .prize-list > li .box .functions-list li .detail h4{ font-weight: 700; line-height: 1.4;}
#prize .prize-list > li .box .functions-list li .detail .text{ line-height: 1.6;}
#prize .prize-list > li .box .functions-list li .detail .notes{ line-height: 1.6;}
#prize .prize-list > li .box .summary-tb{ width: 100%;}
#prize .prize-list > li .box .summary-tb th{ font-weight: 700; line-height: 1.4; vertical-align: top; border-bottom: 1px solid #000;}
#prize .prize-list > li .box .summary-tb td{ line-height: 1.4; vertical-align: top; border-bottom: 1px solid #000;}
#prize .prize-list > li .box .summary-tb td a{ color: #0071be;}
#prize .prize-list > li .box .t-link{ text-align: center;}
#prize .prize-list > li .box .t-link a{ line-height: 1.4; color: #0071be; text-decoration: underline;}
#challenge{ background: #0071be;}
#challenge .tit-box{ text-align: center;}
#challenge .tit-box .text{ font-weight: 700; line-height: 1.4; color: #fff600;}
#challenge .tit-box .notes{ line-height: 1.4; color: #fff;}
#challenge .challenge-list{ display: flex; align-items: center;}
#challenge .challenge-list li{ text-align: center;}
#challenge .challenge-list li .text{ font-weight: 700; line-height: 1.4; color: #fff;}
#challenge .hint{ text-align: center;}
#challenge .hint a{ background: url(../img/ico-hint.svg) left center no-repeat; font-weight: 700; line-height: 1.4; color: #fff; text-decoration: underline;}
#challenge .t-link{ text-align: center;}
#challenge .t-link a{ line-height: 1.4; color: #fff; text-decoration: underline;}
#summary h2{ font-weight: 700; line-height: 1.4; color: #fff;}
#summary #summary01 h2{ background: #0071be;}
#summary #summary02 h2{ background: #000;}
#summary #summary03 h2{ background: #ccc; color: #000;}
#summary table{ width: 100%;}
#summary table th{ background: #f4f4f4; border: 1px solid #ccc; font-weight: 700; line-height: 1.6; text-align: left; vertical-align: top;}
#summary table td{ border: 1px solid #ccc; line-height: 1.6; text-align: left; vertical-align: top;}
#summary table td a{ color: #0071be;}

#page-top{ position: fixed; z-index: 90; display: none;}
#page-top a{ display: block;}
footer{ background: #000; color: #fff; text-align: center;}
footer a{ color: #fff;}

.remodal-overlay{ background: rgba(0, 0, 0, 0.8);}
.remodal-cancel{ background: #000;}
.remodal-cancel:hover{ background: #3e50f7;}
.remodal .guest-list{ display: flex; flex-wrap: wrap; justify-content: center;}
.remodal .guest-list li .name{ font-weight: 700;}

/* ==== PC ===== */
@media screen and (min-width: 768px){
body{ font-size: 16px;}
#contents{ min-width: 1046px; overflow: hidden;}
a:hover,a:hover img{ opacity: 0.8; transition: .4s;}
.pc{ display: block;}
.sp{ display: none;}
.btn-blue{ width: 520px; margin: 0 auto;}
.btn-blue a{ box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.25); font-size: 24px; padding: 25px 0;}
.btn-blue a::after{ font-size: 20px; right: 15px;}
.btn-blue a:hover{ box-shadow: none; transition: .4s;}
.btn-white{ width: 520px; margin: 0 auto;}
.btn-white a{ box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.25); font-size: 24px; padding: 25px 0;}
.btn-white a::after{ font-size: 20px; right: 15px;}
.btn-white a:hover{ box-shadow: none; transition: .4s;}
.inner{ width: 1046px; margin: 0 auto; position: relative}
#mv header{ padding: 30px 0;}
#mv header .logo-right .logo-SG{ padding-right: 20px; margin-right: 20px;}
#mv{ background: #000 url(../img/main-bg_pc.jpg) center top no-repeat; height: 750px;}
#mv .tit-box{ margin-top: 110px;}
#mv .tit-box h1{ margin-bottom: 15px; filter: drop-shadow(5px 5px 20px rgba(0, 0, 0, 0.25));}
#mv .tit-box .text{ font-size: 18px; margin-bottom: 10px; text-shadow: 5px 5px 20px rgba(0, 0, 0, 0.25);}
#mv .tit-box .notes{ font-size: 12px; text-shadow: 5px 5px 20px rgba(0, 0, 0, 0.25);}
nav{ margin-top: -145px;}
nav .anchor-bnr{ margin-bottom: 60px;}
nav .anchor-bnr:hover{ filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.25));}
#how{ padding: 80px 0 0;}
#how .box01 .inner{ display: flex; align-items: center; flex-direction: row-reverse; margin-bottom: 100px;}
#how .box01 .img{ margin-right: -177px;}
#how .box01 .detail{ width: 490px; margin-right: auto;}
#how .box01 .detail h2{ margin-bottom: 25px;}
#how .box01 .detail .sub{ font-size: 24px; margin-bottom: 25px;}
#how .box01 .detail .text{ font-size: 18px;}
#how .box02{ background: #f4f4f4;}
#how .box02 img{ width: 100%;}
#how .box02 .point-list{ display: flex;}
#how .box02 .point-list li{ width: 50%; padding-bottom: 60px;}
#how .box02 .point-list li:first-of-type{ border-right: 1px solid #fff; padding-right: 30px;}
#how .box02 .point-list li:last-of-type{ padding-left: 30px;}
#how .box02 .point-list li .ico{ width: 100px; margin: -50px auto 25px;}
#how .box02 .point-list li h3{ font-size: 28px; margin-bottom: 20px;}
#how .box02 .point-list li .text{ font-size: 16px; margin-bottom: 25px;}
#collaborate{ padding: 90px 0 120px;}
#collaborate .box .inner{ display: flex; align-items: center; margin-bottom: 40px;}
#collaborate .box .img{ margin-left: -177px;}
#collaborate .box .detail{ width: 490px; margin-left: auto;}
#collaborate .box .detail h2{ margin-bottom: 25px;}
#collaborate .box .detail .sub{ font-size: 24px; margin-bottom: 25px;}
#collaborate .box .detail .text{ font-size: 18px;}
#prize{ background-image: url(../img/prize-bg-top_pc.jpg),url(../img/prize-bg-top_pc.jpg); background-position: center top, center bottom; background-size: 100% , 100%; padding: 80px 0 120px;}
#prize > .tit-box{ margin-bottom: 100px;}
#prize > .tit-box h2{ margin-bottom: 25px;}
#prize > .tit-box .text{ font-size: 18px;}
#prize .prize-list > li{ margin-bottom: 80px;}
#prize .prize-list > li .box{ background: #fff; padding-bottom: 80px;}
#prize .prize-list > li .box .ico{ width: 100px; margin: -50px auto 25px;}
#prize .prize-list > li .box .img-box{ display: flex; align-items: center;}
#prize .prize-list > li:nth-of-type(even) .box .img-box{ flex-direction: row-reverse;}
#prize .prize-list > li .box .img-box .img{ width: 50%;}
#prize .prize-list > li:nth-of-type(even) .box .img-box .img{ margin-left: auto;}
#prize .prize-list > li .box .img-box .detail{ padding-left: 40px;}
#prize .prize-list > li .box .img-box .detail h3{ font-size: 28px; margin-bottom: 10px;}
#prize .prize-list > li .box .img-box .detail h3 span{ font-size: 18px; display: inline-block; margin-left: 10px;}
#prize .prize-list > li .box .img-box .detail .sub{ font-size: 18px; margin-bottom: 20px;}
#prize .prize-list > li .box .img-box .detail .text{ font-size: 16px;}
#prize .prize-list > li .box .functions-list{ display: flex; flex-wrap: wrap;}
#prize .prize-list > li .box .functions-list li{ padding: 30px 20px; width: 50%;}
#prize .prize-list > li .box .functions-list li:first-of-type{ width: 100%;}
#prize .prize-list > li .box .functions-list li .simg{ margin-right: 20px;}
#prize .prize-list > li .box .functions-list li .detail h4{ font-size: 20px; margin-bottom: 5px;}
#prize .prize-list > li .box .functions-list li .detail .text{ font-size: 16px;}
#prize .prize-list > li .box .functions-list li .detail .notes{ font-size: 12px; margin-top: 5px;}
#prize .prize-list > li .box .summary-tb{ margin-bottom: 60px;}
#prize .prize-list > li .box .summary-tb th{ font-size: 16px; width: 160px; padding: 30px 0 30px 30px;}
#prize .prize-list > li .box .summary-tb td{ font-size: 16px; padding: 30px 30px 30px 0; position: relative;}
#prize .prize-list > li .box .summary-tb td ul li{ margin-bottom: 5px;}
#prize .prize-list > li .box .summary-tb td .notes{ font-size: 12px; margin-top: 5px;}
#prize .prize-list > li .box .summary-tb td .phot{ position: absolute; top: 25px; right: 30px; width: 270px;}
#prize .prize-list > li .box .summary-tb td .phot img{ width: 100%;}
#prize .prize-list > li .box .t-link{ margin-top: 40px;}
#prize .prize-list > li .box .t-link a{ font-size: 18px;}
#challenge{ padding: 80px 0;}
#challenge .tit-box{ margin-bottom: 40px;}
#challenge .tit-box h2{ margin-bottom: 30px;}
#challenge .tit-box .text{ font-size: 38px; margin-bottom: 20px;}
#challenge .tit-box .notes{ font-size: 12px;}
#challenge .challenge-list{ margin-bottom: 40px;}
#challenge .challenge-list li{ margin-right: auto;}
#challenge .challenge-list li:last-of-type{ margin-right: 0;}
#challenge .challenge-list li .img{ margin-bottom: 15px;}
#challenge .challenge-list li .text{ font-size: 28px;}
#challenge .hint{ margin-bottom: 60px;}
#challenge .hint a{ background-size: 18px; font-size: 24px; padding-left: 25px;}
#challenge .t-link{ margin-top: 40px;}
#challenge .t-link a{ font-size: 18px;}
#summary{ padding: 80px 0 120px;}
#summary #summary01,
#summary #summary02{ margin-bottom: 60px;}
#summary h2{ font-size: 20px; padding: 20px;}
#summary table th{ font-size: 16px; padding: 20px; width: 200px;}
#summary table td{ font-size: 16px; padding: 20px;}
#summary table td ul li{ text-indent: -16px; padding-left: 16px;}

#page-top{ right: 20px; bottom: 20px;}
footer{ padding: 60px 0;}
footer .cp{ margin-top: 20px;}

.remodal{ max-width: 1046px;}

.remodal .guest-list li{ margin:0 20px 30px;}
.remodal .guest-list li .img{ margin-bottom: 10px;}
.remodal .guest-list li .name{ font-size: 16px; margin-bottom: 10px;}
.remodal .guest-list li .job{ font-size: 12px;}

}

/* ==== SP ===== */
@media screen and (max-width: 767px){
body{ font-size: 14px;}
img{ width: 100%;}
.pc{ display: none;}
.sp{ display: block;}
.btn-blue a{ box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.25); font-size: 16px; padding: 18px 0;}
.btn-blue a::after{ font-size: 16px; right: 10px;}
.btn-white a{ box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.25); font-size: 16px; padding: 18px 0;}
.btn-white a::after{ font-size: 16px; right: 10px;}
.inner{ position: relative}
#mv header{ padding: 15px 20px;}
#mv header .logo-GDO{ width: 73px;}
#mv header .logo-right{ margin-top: 4px;}
#mv header .logo-right .logo-SG{ width: 135px; padding-right: 10px; margin-right: 10px; flex-shrink: 0;}
#mv header .logo-right .logo-PGM{ width: 78px; flex-shrink: 0;}
#mv{ background: #000; padding-bottom: 180px;}
#mv .tit-box .text{ font-size: 17px; text-align: center; margin-bottom: 10px;}
#mv .tit-box .notes{ font-size: 12px; text-align: center;}
nav{ margin-top: -160px;}
nav .anchor-bnr{ margin: 0 10px 30px;}
nav .anchor-bnr:hover{ filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.25));}
nav .anchor-nav{ flex-wrap: wrap; padding: 0 20px;}
nav .anchor-nav li{ width: 50%;}
#how{ padding: 40px 0 0;}
#how .box01 .inner{ padding: 0 20px 50px;}
#how .box01 .img{ margin: 0 -20px 20px 0;}
#how .box01 .detail h2{ width: 311px; margin: 0 auto 10px;}
#how .box01 .detail .sub{ font-size: 19px; text-align: center; margin-bottom: 10px;}
#how .box01 .detail .text{ font-size: 17px;}
#how .box02 .point-list li{ background: #f4f4f4; padding: 0 20px 30px;}
#how .box02 .point-list li:first-of-type{ margin-bottom: 50px;}
#how .box02 .point-list li .ico{ width: 66px; margin: 0 auto; position: relative; top: -33px;}
#how .box02 .point-list li h3{ font-size: 22px; margin: -20px 0 10px;}
#how .box02 .point-list li .text{ font-size: 15px; margin-bottom: 15px;}
#collaborate{ padding: 55px 0 60px;}
#collaborate .box .inner{ padding: 0 20px;}
#collaborate .box .img{ margin-left: -20px;}
#collaborate .box .detail{ margin-bottom: 25px;}
#collaborate .box .detail h2{ width: 320px; margin: 0 auto 10px;}
#collaborate .box .detail .sub{ font-size: 19px; text-align: center; margin-bottom: 10px;}
#collaborate .box .detail .text{ font-size: 17px;}
#collaborate .btn-blue{ margin: 0 20px;}
#prize{ background-image: url(../img/prize-bg-top_sp.jpg),url(../img/prize-bg-top_sp.jpg); background-position: center top, center bottom; background-size: 100% , 100%; padding: 55px 0 60px;}
#prize > .tit-box{ margin-bottom: 50px;}
#prize > .tit-box h2{ width: 320px; margin: 0 auto 10px;}
#prize > .tit-box .text{ font-size: 17px;}
#prize .prize-list > li{ margin-bottom: 50px;}
#prize .prize-list > li .box{ background: #fff; padding-bottom: 40px;}
#prize .prize-list > li .box .inner{ padding: 0 20px;}
#prize .prize-list > li .box .ico{ width: 66px; margin: 0 auto; position: relative; top: -33px;}
#prize .prize-list > li .box .img-box{ margin-top: -20px;}
#prize .prize-list > li .box .img-box .detail{ padding: 20px;}
#prize .prize-list > li .box .img-box .detail h3{ font-size: 22px; margin-bottom: 5px;}
#prize .prize-list > li .box .img-box .detail h3 span{ font-size: 12px; display: inline-block; margin-left: 5px;}
#prize .prize-list > li .box .img-box .detail .sub{ font-size: 17px; margin-bottom: 10px;}
#prize .prize-list > li .box .img-box .detail .text{ font-size: 15px;}
#prize .prize-list > li .box .functions-list li{ padding: 15px 0;}
#prize .prize-list > li .box .functions-list li .simg{ width: 100px; margin-right: 10px;}
#prize .prize-list > li .box .functions-list li .detail h4{ font-size: 17px; margin-bottom: 5px;}
#prize .prize-list > li .box .functions-list li .detail .text{ font-size: 14px;}
#prize .prize-list > li .box .functions-list li .detail .notes{ font-size: 10px; text-indent: -10px; padding-left: 10px; margin-top: 5px;}
#prize .prize-list > li .box .summary-tb{ margin-bottom: 30px;}
#prize .prize-list > li .box .summary-tb th{ font-size: 14px; width: 85px; padding: 15px 0;}
#prize .prize-list > li .box .summary-tb td{ font-size: 14px; padding: 15px 0;}
#prize .prize-list > li .box .summary-tb td ul li{ margin-bottom: 5px;}
#prize .prize-list > li .box .summary-tb td ul.summary-list li{ text-indent: -70px; padding-left: 70px;}
#prize .prize-list > li .box .summary-tb td ul.notes-list li{ text-indent: -14px; padding-left: 14px;}
#prize .prize-list > li .box .summary-tb td .notes{ font-size: 10px; margin-top: 5px;}
#prize .prize-list > li .box .summary-tb td .phot{ margin-top: 10px;}
#prize .prize-list > li .box .t-link{ margin-top: 20px;}
#prize .prize-list > li .box .t-link a{ font-size: 17px;}
#challenge{ padding: 40px 0;}
#challenge .inner{ padding: 0 20px;}
#challenge .tit-box{ margin-bottom: 10px;}
#challenge .tit-box h2{ width: 291px; margin: 0 auto 10px;}
#challenge .tit-box .text{ font-size: 24px; margin-bottom: 10px;}
#challenge .tit-box .notes{ font-size: 12px;}
#challenge .challenge-list{ flex-wrap: wrap; margin-bottom: 20px;}
#challenge .challenge-list li{ width: 160px; margin-right: auto; flex-shrink: 0;}
#challenge .challenge-list li:nth-of-type(2){ margin-right: 0;}
#challenge .challenge-list li:last-of-type{ margin-left: auto; margin-right: auto;}
#challenge .challenge-list li .img{ margin-bottom: 5px;}
#challenge .challenge-list li .text{ font-size: 17px;}
#challenge .hint{ margin-bottom: 30px;}
#challenge .hint a{ background-size: 18px; font-size: 19px; padding-left: 20px;}
#challenge .t-link{ margin-top: 20px;}
#challenge .t-link a{ font-size: 17px;}
#summary{ padding: 40px 0 60px;}
#summary .inner{ padding: 0 20px;}
#summary #summary01,
#summary #summary02{ margin-bottom: 30px;}
#summary h2{ font-size: 15px; text-align: center; padding: 10px;}
#summary table tr,
#summary table th,
#summary table td{ display: block;}
#summary table th{ font-size: 12px; padding: 10px; border-top: none;}
#summary table td{ font-size: 12px; padding: 10px; border-top: none;}
#summary table td ul li{ text-indent: -12px; padding-left: 12px;}
#page-top{ right: 10px; bottom: 20px; width: 12%;}
footer{ font-size: 10px; padding: 30px 0;}
footer .cp{ margin-top: 10px;}

.remodal{ padding: 20px;}
.remodal .guest-list li{ width: calc(50% - 30px); margin:0 15px 20px;}
.remodal .guest-list li .img{ margin-bottom: 10px;}
.remodal .guest-list li .name{ font-size: 12px; margin-bottom: 10px;}
.remodal .guest-list li .job{ font-size: 10px;}


}

/* =============================================
                  終了対応
============================================= */
.btn-fin{
  background: #ccc;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
  padding: 25px 0;
  color: #fff;
  text-align:center;
  pointer-events: none;
  border-radius: 40px;
}
.btn-fin::after{
  content: none;
}
@media screen and (max-width: 767px){
  .btn-fin{
    font-size: 16px;
    padding: 18px 0;
  }
}