@charset "utf-8";
/*独自リセット*/
header .logo {
  width: inherit;
  height: inherit;
}
h1, h2 {
  background-color: inherit;
  color: inherit;
  padding: 0;
}
footer {
  background: none;
  position: static;
  padding-top: 0;
}
*, *::before, *::after {
  box-sizing: border-box;
}
html {
  font-size: 62.5%;
}
img {
  width: 100%;
}
body {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  margin: 0;
  font-size: 1.8rem;
  line-height: 1.6;
  /*横スクロールバーを出さない ※.full_width対応*/
  overflow-x: hidden;
}
#bg_wrap {
  position: relative;
  padding-top: 53px;
  margin-top: -53px;
}
#bg_wrap:before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-image: url("../images/pattern.png");
  background-size: auto;
  z-index: -1;
  clip-path: inset(0);
}
p {
  margin: 0;
  line-height: 1.8;
}
.sp_none {
  display: none;
}
/*FLEX BOX*/
.flex {
  display: flex;
}
/*リンク*/
a:link, a:visited {
  color: #C12828;
  text-decoration: underline;
}
a:hover, a:active {
  text-decoration: none;
}
/*[開始]ヘッダ*/
header {
  background-color: #FFF;
  width: 100vw;
  height: 52px;
  display: flex;
  border-bottom: 1px solid #CCC;
  position: fixed;
  top: 0;
  z-index: 100;
  padding-left:5px;
}
header p {
  align-items: center;
  width: 90%;
  max-width: 960px;
  margin: auto;
}
header img {
  width: 64px;
  height: 20px;
}
/*[終了]ヘッダ*/
/*
---------------------------------------------------
*/
/*[開始]フッタ*/
footer {
  background-color: #333;
  color: #FFF;
}
footer div {
  width: 90%;
  max-width: 960px;
  margin-right: auto;
  margin-left: auto;
}
footer div .flex {
  width: 100%;
  max-width: 400px;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
  padding-top: 20px;
}
footer div .flex a:nth-of-type(1), footer div .flex a:nth-of-type(2) {
  flex-grow: 1;
}
footer div .flex a:nth-of-type(3) {
  flex-grow: 2;
}
footer div a {
  font-size: 1.6rem;
  margin-bottom: 0.5em;
}
footer div a:link, footer div a:visited {
  color: #FFF;
  text-decoration: underline;
}
footer div a:hover, footer div a:active {
  text-decoration: none;
}
footer div img {
  width: 40%;
  max-width: 200px;
  display: block!important;
  vertical-align: bottom;
  padding-bottom: 1em;
  margin-top: 4em;
  margin-right: auto;
  margin-left: auto;
}
/*[終了]フッタ*/
/*
---------------------------------------------------
*/
#mission_contents > div, #prize_contents > div, #terms_contents > div, #dkids_contents {
  width: 88.9%;
  max-width: 960px;
  margin-right: auto;
  margin-left: auto;
}
/*[開始]横幅いっぱい伸ばす*/
.full_width {
  margin: 0 calc(50% - 50vw);
  padding: 0 calc(50vw - 50%);
  width: 100vw;
}
/*[終了]横幅いっぱい伸ばす*/
/*
---------------------------------------------------
*/
/*[開始]波*/
.svg-sample {
  padding-right: 0;
  padding-left: 0;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}
.wave_top {
  margin-bottom: -1em;
  position: relative;
  z-index: -1;
}
.wave_bottom {
  margin-top: -1em;
  position: relative;
  z-index: -1;
}
.u-pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-pc {
    display: block;
  }
  .u-sp {
    display: none;
  }
}
/*[終了]波*/
/*
---------------------------------------------------
*/
/*[開始]シャドウ*/
.shadow {
  filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.2));
}
/*[終了]シャドウ*/
/*
---------------------------------------------------
*/
/*[開始]箱のボーダー指定*/
#mission .content_wrap, #dkids #dkids_contents > div {
  border-radius: 10px;
  border-top: 3px solid #333;
  border-right: 3px solid #333;
  border-left: 3px solid #333;
  border-bottom: 6px solid #333;
}
#mission .content_wrap {
  background-color: #FFF;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  padding-bottom: 1em;
}
/*[終了]箱のボーダー指定*/
/*
---------------------------------------------------
*/
/*[開始]白背景*/
.bg-white {
  background-color: #FFF;
  padding-top: 2em;
  padding-bottom: 2em;
}
/*[終了]白背景*/
/*
---------------------------------------------------
*/
/*[開始]コンテンツ幅指定*/
#content_wrap {
  width: 100%;
  max-width: 960px;
  margin: 53px auto 0;
}
#mission {
  margin-bottom: 0;
}
#prize, #terms, #dkids {
  margin-top: 50px;
  margin-bottom: 50px;
}
/*[終了]コンテンツ幅指定*/
/*
---------------------------------------------------
*/
/*[開始]h2吹き出しの見出し*/
h2 {
  font-size: 2.4rem;
  font-weight: bold;
}
h2.h2_fukidashi {
  position: relative;
  display: inline-block;
  background: #FFF;
  border: 3px solid #333;
  border-radius: 8px;
  box-sizing: border-box;
  width: 100%;
  color: #333;
  text-align: center;
  margin-top: 0;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 1em;
  padding: 0.6em;
}
h2.h2_fukidashi:before {
  content: "";
  position: absolute;
  bottom: -23px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 12px solid #FFF;
  z-index: 2;
}
h2.h2_fukidashi:after {
  content: "";
  position: absolute;
  bottom: -28px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-top: 14px solid #333;
  z-index: 1;
}
.h2_fukidashi span {
  margin: 0;
  padding: 0;
}
/*[終了]h2吹き出しの見出し*/
/*
---------------------------------------------------
*/
/*[開始]ボタン共通*/
.cv_button, .standup_button {
  text-align: center;
  width: 90%;
  margin: 2em auto;
}
.cv_button .button, .standup_button .button {
  display: block;
  max-width: 400px;
  border-radius: 10px;
  border-bottom-width: 6px;
  border-bottom-style: solid;
  text-align: center;
  color: #FFF;
  font-weight: bold;
  text-decoration: none;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 0.5em;
}
#standup02.standup_button p {
  font-size: 1.6rem;
}
#standup02.standup_button .button {
  font-size: 1.6rem;
}
/*[終了]ボタン共通*/
/*
---------------------------------------------------
*/
/*[開始]CVボタン*/
.cv_button p {
  line-height: 1.4;
}
.cv_button span {
  font-size: 80%;
}
.cv_button .button {
  font-size: 2.8rem;
  background-color: #2F942A;
  border-bottom-color: #285625;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}
/*[終了]CVボタン*/
/*
---------------------------------------------------
*/
/*[開始]CVボタン下注釈ボックス*/
.cvbox {
  width: 100%;
  max-width: 740px;
  background-color: #FFF;
  padding: 20px;
  margin-top: 1.5em;
  margin-right: auto;
  margin-left: auto;
  border-radius: 8px;
}
.cvbox p {
  margin-bottom: 1em;
  font-weight: bold;
}
.cvbox p:last-of-type {
  margin-bottom: 0;
}
.cvbox p span {
  font-weight: normal;
}
#cv02 .cvbox {
  width: 100%;
  max-width: inherit;
  padding: 0;
}
/*
---------------------------------------------------
*/
/*[開始]アプリ起動ボタン*/
.standup_button > p {
  font-size: 1.8rem;
  font-weight: bold;
}
.standup_button > p:before {
  content: "＼";
}
.standup_button > p:after {
  content: "／";
}
.standup_button .button {
  font-size: 1.8rem;
  background-color: #C12828;
  border-bottom-color: #6E2B2B;
  padding-top: 0.8em;
  padding-bottom: 0.8em;
  padding-left: 0.5em;
  padding-right: 0.5em;
}
/*[終了]アプリ起動ボタン*/
/*
---------------------------------------------------
*/
/*[開始]mission アプリで遊ぼう*/
#mission h2 {
  text-align: center;
  font-weight: bold;
}
#mission_contents > div {
  text-align: center;
}
#cp_finish p {
  text-align: center;
}
#cp_finish img {}
/*[終了]mission アプリで遊ぼう*/
/*
---------------------------------------------------
*/
/*[開始]app アプリ紹介*/
#app {
  text-align: center;
}
/*[終了]app アプリ紹介*/
/*
---------------------------------------------------
*/
/*[開始]terms 規約*/
#terms {
  line-height: 1.8;
}
#terms #terms_contents div h3 + p {
  margin-bottom: 1em;
}
#terms .flex {
  justify-content: space-between;
  flex-wrap: wrap;
}
#terms dt {
  width: 30%;
  padding-right: 3%;
}
#terms dd {
  width: 70%;
  margin-left: 0;
}
#terms dd ol li, #terms dd ul li {
  list-style: none;
}
#terms dt, #terms dd {
  border-bottom: 1px solid #333;
  padding-bottom: 1em;
  margin-bottom: 1em;
}
#terms dd div {
  margin-bottom: 1em;
}
#terms dl + p {
  text-align: center;
}
#terms dl + p img {
  width: 100%;
  max-width: 800px;
}
#terms dd > span {
  display: block;
  margin-bottom: 0.7em;
}
#terms dd div > span {
  font-weight: bold;
}
/*[終了]terms 規約*/
/*
---------------------------------------------------
*/
/*[開始]dkids dキッズとは*/
#dkids {
  z-index: 2;
}
#dkids h2 {
  position: relative;
  background-color: #c12828;
  width: 70%;
  color: #FFF;
  font-size: 2.4rem;
  text-align: center;
  border-radius: 10px;
  border: 3px solid #333;
  border-bottom: 6px solid #333;
  padding-top: 0.3em;
  padding-bottom: 0.3em;
  margin-right: auto;
  margin-left: auto;
  z-index: 2;
}
#dkids #dkids_contents > div {
  background-color: #FFF;
  padding-top: 3em;
  margin-top: -2em;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}
#dkids div div, #dkids div img {
  width: 83.3%;
  max-width: 800px;
}
#dkids div img {
  padding-top: 2em;
  margin-top: -2em;
}
#dkids #cv03 {
  margin-right: auto;
  margin-left: auto;
}
/*[終了]dkids dキッズとは*/