@charset "UTF-8";
/*-------------------------------------------
 ページ調整
-------------------------------------------*/
.cp_main {
  font-size: 16px;
  line-height: 1.7;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.cp_main h1, .cp_main h2, .cp_main h3, .cp_main h4, .cp_main h5, .cp_main h6 {
	font-weight: bold;
	margin-bottom: 0;
	max-width: initial;
}

.cp_main p ,
.cp_main li ,
.cp_main dt ,
.cp_main dd {
  line-height: 1.7;
}

.cont960__margin{
	max-width: calc(960px + 8%);
	padding-left: 4%;
	padding-right: 4%;
	margin-left: auto;
	margin-right: auto;
}

.cont960{
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
}

.cp_main img{
	max-width: 100%;
}


/* setting a テキスト */
.cp_main a{
	color:#0196ff;
}

.cp_main a:link{
	text-decoration: underline;
}

.cp_main a:hover{
	text-decoration: none;
}

@media (min-width: 769px){
	.cp_main a,
	.cp_main .arrow:before,
	.cp_main .arrow:after,
	.cp-btn__small{
		transition: all .3s ease-out;
	}
}


/*-------------------------------------------
 余白調整
-------------------------------------------*/
.cp_main .mt10{ margin-top:10px !important;}
.cp_main .mt20{ margin-top:20px !important;}
.cp_main .mt30{ margin-top:30px !important;}
.cp_main .mt40{ margin-top:40px !important;}


/*-------------------------------------------
 ボタン
-------------------------------------------*/
/* ボタン large */
.cp_main .cp-btn__large{
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 530px;
  font-size: 24px;
  font-weight: bold;
  background: #cc0033;
  height: 60px;
  padding: 12px;
  border-radius: 100px;
  margin: auto;
  position: relative;
  line-height: 1.2;
  }


/* ボタン middle -ボタンリンク- */
.cp_main .cp-btn__middle {
    clear: both;
    display: block;
    background: #cc0033;
    color: #FFF;
    padding: 12px;
    border-radius: 30px;
    font-weight: bold;
    text-align: center;
    font-size: 16px;
    position: relative;
}

/* ボタン small -ボタンリンク- */
.cp_main .cp-btn__small {
    clear: both;
    display: block;
    background: #cc0033;
    color: #FFF;
    padding: 12px;
    border-radius: 30px;
    font-weight: bold;
    text-align: center;
    font-size: 14px;
    position: relative;
	padding: 0.5em;
}

/* ボタン　テキスト */
.cp_main a.cp-btn__large,
.cp_main a.cp-btn__middle,
.cp_main .cp-btn__small{
  color: #FFF;
  text-decoration: none;
}

/* ボタン　＞ */
.cp_main .arrow:before{
	position: absolute;
	content: " ";
	right: 15px;
	width: 10px;
	height: 10px;
	border-top: 2px solid #FFF;
	border-right: 2px solid #FFF;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
}

/* ボタン影 */
.cp_main .btn-shadow{
	box-shadow: 0px 5px 0 #750000;
	transition: all .3s ease-out;
}
.cp_main .btn-shadow3{
	box-shadow: 3px 5px 0 #750000;
	transition: all .3s ease-out;
}

@media only screen and (min-width: 769px) {
	.cp_main .btn-shadow:hover,
	.cp_main .btn-shadow3:hover{
		box-shadow: none !important;
		top:3px !important;
		left:0;
	}
}

/* ボタン 色設定 */
.cp_main .btn-yellow{
	background: #ffb400;
	}
.cp_main .btn-green{
	background: #009141;
	}

@media only screen and (min-width: 769px) {
	/* PC */
	.cp_main .cp-btn__large{
	font-size: 24px;
	height: 90px;
	padding: 15px;
	border-radius: 100px;
	}

	.cp_main .arrow:before{
		right: 20px;
		width: 13px;
		height: 13px;
	}

}

/* テキストカラー */
.cp_main .txt-red{
	color:#cc0033;
	}


/*-------------------------------------------
 リスト頭出し
-------------------------------------------*/
.cp_main .list__normal li{
	padding-left:1em;
	text-indent:-1em;
}

/*-------------------------------------------
 パンくず余白
-------------------------------------------*/
.bw-breadcrumb{
	max-width: 960px;
	padding-left: 3%;
	padding-right: 3%;
	margin-left: auto;
	margin-right: auto;
}

@media all and (min-width: 1000px) {
	.bw-breadcrumb{
		padding-left: 0;
		padding-right: 0;
	}
}

/*-------------------------------------------
 block 共通setting
-------------------------------------------*/
.cp_main .box-setting{
	position: relative;
    padding: min(4% , 55px);
}

.cp_main .box-setting__inner{
    max-width: 870px;
    margin-left: auto;
    margin-right: auto;
}

/*-------------------------------------------
 メインビジュアル
-------------------------------------------*/
.cp_main h1 {
	background: url(../img/bg_cloud.png) repeat-x center bottom #71d3ee;
}
.cp_main h1 img{
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	display: block;

}

/*-------------------------------------------
 応募方法はこちら
-------------------------------------------*/
/* 背景 */
.cp_main .entry-block{
	background: url(../img/bg_green.jpg);
	
}

/* 空き調整 */
.cp_main .entry-block__inner{
	max-width: 980px;
	padding: min(4% , 55px);
	margin: auto;
}

/* タイトル */
.cp_main .entry-block h2{
	text-align: center;
	background: url(../img/bg_deepgreen.jpg) #0e8303;
	padding: min(2% ,18px);
}

/* タイトル img　 */
.entry-block h2 img{
	width: min(510px, 90%);
}


/* steplist */
.cp_main .list-step{
    margin: 20px auto 0 auto;
}


/*  step  */
.cp_main .step01,
.cp_main .step02{
	border-radius: 10px;
	background: #FFF;
	margin-bottom: 15px;
	position: relative;
	border: 3px solid #68ab10;
	border-radius: 10px;
	border-bottom-width: 5px;
}

.cp_main .step01{
	margin-bottom: 34px;
}

/* stepタイトル */
.cp_main .list-step h3{
	left: 0%;
	width: min(50%,345px);
	position: relative;
	background: #e31b74;
	top: 0;
	left: -10px;
	padding: min(2%, 10px);
	transform: translate(0, -50%);
	text-align: center;
}

/* stepタイトル img */
.cp_main .list-step h3 img{
	width: min(60%,100px);
}

.cp_main .list-step h3::before{
	content: "";
	position: absolute;
    bottom: -9px;
    left: 0;
    width: 9px;
    height: 9px;
    border-style: solid;
    border-width: 9px 0 0 9px;
    border-color: #800039 transparent transparent transparent;
  }

  .cp_main .list-step h3::after {
	background: #e31b74;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 90% 50%);
	content: "";
	height: 100%;
	position: absolute;
	top: 0;
	width: 15px;
	right: -15px;
	transform: scaleX(-1);
  }

/* stepリスト メインエリア */
.cp_main .list-step_main{
	padding: 0 5% 5% 5%;
}

/* stepリスト step2 */
.cp_main .step02 .list-step_main{
	align-items: center;
    display: flex;
    flex-direction: column;
    height: calc(100% - 49px);
    justify-content: center;
    margin: 0 auto;
    max-width: 500px;
    row-gap: 16px;
}

/* stepリスト step2　img */
.cp_main .step02 .list-step_main img{
	width: min(40% , 120px);
}

/* stepテキスト */
.cp_main .list-step_main,
.cp_main .list-step_main p
{
	font-size: clamp(13px, 2vw, 18px);
	text-align: center;
	line-height: 1.4;
}

.cp_main .list-step_main p.txt02
{
	font-size: clamp(12px, 1.7vw, 16px);
	text-align: center;
	line-height: 1.4;
}

.cp_main .list-step_main p.txt02 span
{
display: inline-block;
}

/* twitterリンクボタン */
.cp_main .btn-twt{
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 400px;
	font-size: 24px;
	font-weight: bold;
	background: url(../img/icon_twitter.png) #1d9bf0;
	box-shadow: 0px 5px 0 #006cb5;
	background-position: 15px;
	background-repeat: no-repeat;
	background-size: auto 30%;
	padding: 22px;
	color: #FFF;
	border-radius: 100px;
	margin: 5% auto;
	position: relative;
	top:0;
	left:0;
	line-height: 1.2;
	font-size: clamp(13px, 4.375vw, 20px);
  }

  .cp_main a.btn-twt{
	text-decoration: none;
  }

/* twitterリンクボタン img */
.cp_main .btn-twt img{
	width: 204px;
	width: clamp(100px , 40vw ,204px);
	image-rendering: -webkit-optimize-contrast;
}

/* 応募完了　上　矢印設定 */
.cp_main .oubo-kanryo{
	padding-top: 35px;
	position: relative;
	text-align: center;
}

.cp_main .oubo-kanryo:before{
	content: "";
	position: absolute;
	background: url(../img/icon_kanryo_arrow.png) no-repeat center top;
	background-size: contain;
	left: 50%;
	transform: translate(-50%,0);
	top: 0px;
	width: 35px;
	height: 30px;
}

.cp_main .oubo-kanryo img{
	width: min(80%, 370px);
}


@media all and (min-width: 769px) {
	/* ⇒の大きさ */
	.cp_main .oubo-kanryo:before{
		width: 50px;
		height: 50px;
	}

	/* ⇒の大きさ */
	.cp_main .oubo-kanryo{
		padding-top: 50px;
	}

	/* step下の空き */
	.cp_main .step01,
	.cp_main .step02{
		margin-bottom: 20px;

	}

	/* stepリストメインエリア */
	.cp_main .list-step_main{
		padding: 0 7% 7% 7%;
		height:calc( 100% - 41px );
	}

	/* step各要素 */
	.cp_main .list-step{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.cp_main .step01,
	.cp_main .step02{
		width: 48%;
	}

}

/*-------------------------------------------
 クイズマラソン
-------------------------------------------*/
.cp_main .marathon-block{
	background: url(../img/bg_blue.jpg);
}


.cp_main .marathon-block .box-setting__inner{
	border-radius: 10px;
	background: #8cce36;
	overflow: hidden;
	position: relative;
	border: 3px solid #FFF;
	border-radius: 10px;
	border-bottom-width: 5px;
}


.cp_main .marathon-block .btn-check{
	display: flex;
    justify-content: center;
    align-items: center;
	top:0;
    width: min(90%,450px);
    font-size: 24px;
    font-weight: bold;
    background: #e31e6f;
    height: 60px;
    padding: 12px;
    border-radius: 100px;
    margin: auto;
    position: relative;
    line-height: 1.2;
    margin: min(4%,10px) auto  min(8%,24px) auto;
}


.cp_main .marathon-block .btn-check img{
	width: 80%;
}

.cp_main .marathon-block .btn-check.btn-shadow{
	box-shadow: 0px 5px 0 #92043e;
	}

.cp_main .marathon-block .btn-check.btn-shadow3{
	box-shadow: 3px 5px 0 #92043e;
	}

/* ボタン用 
------------------------*/
/* ボタンの色 */
 .cp_main .cp-end{
	pointer-events: none;
	background-color: #c8c8c8 !important;
  }

/* 影 */
.cp_main .cp-end.btn-shadow,
.cp_main .cp-end.btn-shadow3 {
    box-shadow: none !important;
}

/* 矢印 */
.cp_main .cp-end.arrow:before{
	border-color: #FFF;
	}

/* 画像 */
.cp_main .cp-end img{
	-webkit-filter: brightness(0) invert(1);
	filter: brightness(0) invert(1);
	}

/*-------------------------------------------
 概要
-------------------------------------------*/
.cp_main .outline-block {
  margin-bottom: 0;
}

.cp_main .outline-block li{
  text-indent: -1em;
  margin-left: 1em;
}

.cp_main .outline-block dt {
    background: #1a72d3;
    border-radius: 5px;
    color: #fff;
    font-size: 16px;
    text-align: left;
    padding: .5em .5em .3em .5em;
    margin-bottom: 2%;
}

.cp_main .outline-block dt + dd {
    margin: 0 0% 2%;
    font-size: 14px;
    line-height: 1.8;
    text-align: left;
}

.cp_main .outline-block dt + dd:last-child {
  margin-bottom: 0;  
}

@media (min-width: 769px) {
	.cp_main .outline-block dt {
		font-size: 18px;
		padding: .5em .7em .3em .7em;
		margin-bottom: 2%;
	}
}

/*-------------------------------------------
 下コンテンツのスマホの調整　ボーター入れる
-------------------------------------------*/
/**/
.cp_main .btm-border__sp{
	margin-bottom: 6%;
	border-bottom: 1px solid #e4e4e4;
	padding-bottom: 6%;
}

@media (min-width: 768px){
	.cp_main .btm-border__sp{
		margin-bottom: 0;
    	border-bottom: none;
	}
}


/* ----------------------------------
　終了文言用 制御用
  -----------------------------------*/
.cp_attention{
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
}