@charset "utf-8";
@font-face {
  font-family: "Noto Sans JP"; /* 任意のフォント名 */
  src: url("../fonts/NotoSansJP-Regular.ttf") format("truetype"); /* フォントファイルのパス */
  font-weight: 400;
  /*font-style: normal;*/
}

/* 太字の場合 */
@font-face {
  font-family: "Noto Sans JP";
  src: url("../fonts/NotoSansJP-Bold.ttf") format("truetype");
  font-weight: 700;
  /*font-style: normal;*/
}
/*独自リセット*/
header .logo {
  width: inherit;
  height: inherit;
}
h1, h2 {
  background-color: inherit;
  color: inherit;
  padding: 0;
}
footer {
  position: static;
  padding-top: 0;
  background: none;
}
*, *::before, *::after {
  box-sizing: border-box;
}
html {
  font-size: 62.5%;
}
img {
  width: 100%;
}
body {
  font-family: "Noto Sans JP", "メイリオ", sans-serif;
  margin: 0;
  background-color: #fffae8;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 400;
  /*横スクロールバーを出さない ※.full_width対応*/
  overflow-x: hidden;
}
#bg_wrap {
  position: relative;
  padding-top: 53px;
  margin-top: -53px;
}
input[type=checkbox],input[type=checkbox]:checked{
display: inline-block;
/*appearance: auto;*/
}
input[type=checkbox]:checked + label{
color: #333;
}
input[type=checkbox]:checked + label:after, input[type=checkbox]:checked + label:before{
background-image: none;
}
h2{
font-size: 2.2rem;
line-height: 1.8;
font-weight: 700;
text-align: center;
color: #5567a0;
}
h3{
font-size: 1.6rem;
line-height: 1.8;
font-weight: 400;
margin-bottom: 0.5em;
}
p {
  margin: 0;
  line-height: 1.8;
}
/*↓10/10追加↓*/
p.red_box {
  width: 100%;
  max-width: 740px;
  border: 2px #c12828 solid;
  background: #fff;
  padding: 10px;
  margin: 1em auto;
}
/*↑10/10追加↑*/
span.marker{
font-weight: 700;
background:linear-gradient(transparent 60%, #ffc7dd 60%);
}
span.bold{
font-weight: 700;
}
.font_red{
color: #cc0033;
}
.sp_none {
  display: none;
}
/*[開始]注釈*/
small{
font-size: 100%;
}
p.caution{
padding-left: 1em;
text-indent: -1em;
    font-size: 1.2rem;
    line-height: 1.8;
}
time{
margin: 0;
padding: 0;
}
/*[終了]注釈*/
/*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;
  padding: 0 5px;
  position: fixed;
  top: 0;
  z-index: 100;
}
header p {
  align-items: center;
  width: 90%;
  max-width: 960px;
  margin: auto;
}
header img {
    width: auto;
    height: 18px;
}
/*[終了]ヘッダ*/
/*
---------------------------------------------------
*/
/*[開始]フッタ*/
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) {
  flex-grow: 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.4rem;
  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;
}
/*[終了]フッタ*/
/*
---------------------------------------------------
*/
#terms_contents > div, #mv_text, .caution {
  width: 88.9%;
  max-width: 960px;
  margin-right: auto;
  margin-left: auto;
}
#top {
  width: 20%;
  max-width: 100px;
  position: fixed;
  right: 0.5em;
  bottom: 0.5em;
  z-index: 100;
}
/*
---------------------------------------------------
*/
/*[開始]横幅いっぱい伸ばす*/
.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.5));*/
  /*filter: drop-shadow(5px 5px 10px rgba(154, 151, 119, 0.5));*/
  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: 0 auto;
}
/*[終了]コンテンツ幅指定*/
/*
---------------------------------------------------
*/
/*[開始]ボタン共通*/
.cv_button, .standup_button {
  text-align: center;
  width: 90%;
  margin-top: 2em;
  margin-right: auto;
  margin-left: auto;
      margin-bottom: 15px;
}
.cv_button .button, .standup_button .button {
  display: block;
  width: 100%;
  max-width: 400px;
  border-radius: 10px;
  border-bottom-width: 6px;
  border-bottom-style: solid;
  text-align: center;
  color: #FFF;
  font-weight: 700;
  text-decoration: none;
  margin-right: auto;
  margin-bottom: 0.2em;
  margin-left: auto;
}
.cvbutton_caution{
margin-bottom: 50px;
}
/*[終了]ボタン共通*/
/*
---------------------------------------------------
*/
/*[開始]CVボタン*/
.cv_button p {
  line-height: 1.4;
}
.cv_button span {
  font-size: 80%;
}
.cv_button .button {
  font-size: 2.6rem;
  background-color: #2f942a;
  border-bottom-color: #285625;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}
.cv_button > h2{
/*display: block;*/
margin-top: 1em;
}
.cv_button > h2 span{
font-size: 80%;
}
/*スラッシュ吹き出し*/
/*https://ics.media/entry/240425/*/
.fukidashi {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  /*padding: 12px 16px;*/
}
.fukidashi::before {
  content: "";
  width: 30px;
  height: 2px;
  transform: rotate(60deg);
  box-sizing: border-box;
  background-color: #5567a0;
}
.fukidashi::after {
  content: "";
  width: 30px;
  height: 2px;
  transform: rotate(-60deg);
  box-sizing: border-box;
  background-color: #5567a0;
}
/*[終了]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: 700;
}
.cvbox p:last-of-type{
margin-bottom: 0;
}
.cvbox p span{
font-weight: normal;
}
#cv03 .cvbox {
width: 100%;
max-width: inherit;
padding: 0;
}
/*
---------------------------------------------------
*/
/*[開始]エントリーボタン*/
.standup_button > p {
  font-size: 1.8rem;
  font-weight: 700;
}
.standup_button .button{
pointer-events: none;
font-size: 2.0rem;
background-color: #909090;
border-bottom-color: #616161;
padding-top: 0.8em;
  padding-bottom: 0.8em;
}
.standup_button .button.entry-btnStyle_checked {
pointer-events:auto;
  background-color: #c12828;
  border-bottom-color: #6e2b2b;
}

.checkbox_style{
text-align: left;
display: flex;
  align-items: center;
  justify-content: center;
  /*gap: .4em;*/
}
input[type=checkbox] + label:before{
margin-left: 0;
display: none;
width: 0;
height: 0;
}
input[type="checkbox"]{
appearance: none;
position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 1px solid #ccc;
}
input[type="checkbox"]::before{
content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
input[type="checkbox"]:checked::before {
content: "";
  display: block;
  position: relative;
      left: 5px;
    top: 2px;
    width: 8px;
    height: 12px;
  border: solid #f6ab00;
  border-width: 0 4px 4px 0;
  transform: rotate(45deg);
  /*opacity: 1;*/
  background-color: #fff;
}
/*[終了]アプリ起動ボタン*/
/*
---------------------------------------------------
*/
/*[開始]エントリーボタン チェックボックス*/

/*[終了]CVボタン エントリーチェックボックス*/
/*
---------------------------------------------------
*/
/*[開始]#mv*/
#mv{
background-image: url("../images/bg.gif");
background-size: auto;
padding-top: 65px;
margin-bottom: 25px;
}
#mv .shimauma{
width: 13%;
max-width: 139px;
min-width: 50px;
margin: 1em auto 0;
position: relative;
z-index: 2;
}
#mv_text{
background-color: #fffae8;
}
#mv_text small{
font-size: 1.4rem;
}
/*[終了]#mv*/
/*
---------------------------------------------------
*/
/*[開始]波*/
.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: -6em;
  position: relative;
  z-index: 1;
}
.u-pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-pc {
    display: block;
  }
  .u-sp {
    display: none;
  }
}
/*[終了]波*/
/*
/*
---------------------------------------------------
*/
/*[開始]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;
  margin-bottom: 0.5em;
}
#terms dt, #terms dd {
  border-bottom: 1px solid #333;
  padding-bottom: 1em;
  margin-bottom: 1em;
}
#terms dd > span{
display: block;
margin-bottom: 0.7em;
}
#terms dd div {
  margin-bottom: 1em;
}
#terms dd div > span{
font-weight: 700;
}
/*[終了]terms 規約*/