@charset "utf-8";

body{
	font-family: "ヒラギノ角ゴ Pro";
}

/*
#####################################################################

	mv

#####################################################################

/* ==========================================================================
   1. スマホ向けスタイル（標準・すべての画面サイズにまず適用）
   ========================================================================== */
.contents.contents01 {
	margin-bottom: -20px;
	background-color: #FBD6DD;
	position: relative;
	overflow: hidden;
	background: url(/excludes/images/ohbo/1million-coin/bg_campaign.png) repeat repeat;
}
.contents.contents01::before {
	content: "";
	position: absolute;
	background-image: url(/excludes/images/ohbo/1million-coin/sp/mv_background.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 100%;
	height: 100%;
	top: 0;
	left: 50%;
	z-index: 0;
	transform: translate(-50%, 0);
}
/* .contents.contents01::after {
	content: "";
	position: absolute;
	background-image: url(/excludes/images/ohbo/2million/sp/confetti.png);
	background-size: contain;
	background-repeat: no-repeat;
	max-width: 1330px;
	width: 100%;
	height: 568vw;
	top: 5vw;
	left: 0;
	transform: none;
	z-index: 0;
} */
.contents.contents02 {
	background-color: #fff;
}
.contents.contents03 {
	margin-top: -40px;
	background-color: #FFF0F0;
}
.contents.contents01 .contentsInner {
	width: auto;
	position: relative;
	z-index: 1;
	padding-bottom: 30px;
}
.mv {
	margin: 0 auto 15vw;
	padding: 2rem;
}
.mv h1 {
	margin: 0 auto;
	max-width: 1000px;
	width: 100%;
	text-align: center;
	padding: 10% 0 0;
}
.mv h1 img {
	width: 100%;
}
.mv .mv_period {
	position: relative;
	max-width: 800px;
	width: 100%;
	background-color: #fff;
	border-radius: 30px;
	margin: 20px auto 0;
}
.mv .mv_period p {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	padding: 10px 0;
	font-family: "ヒラギノ角ゴ ProN";
}
.mv .mv_period p .pink {
	color: #EF4B7D;
}
/* スマホではキャラクター画像を非表示（生成しない） */
.mv .mv_period::before {
	content: none;
}
.mv .mv_period::after {
	content: none;
}
.mv .mv_txt {
	max-width: 800px;
	width: 84%;
	background-color: #fff;
	border-radius: 15px;
	padding: 3% 0;
	margin: 5% auto 0;
}
.mv .mv_txt p.mv_txt_ttl {
	font-size: 6.4vw;
	font-weight: bold;
	color: #EF4B7D;
	text-align: center;
	margin-bottom: 10px;
}
.mv .mv_txt p.mv_txt_txt {
	font-size: 4.3vw;
	text-align: center;
	line-height: 1.5;
	padding: 0 3%;
}


/* ==========================================================================
   2. PC向けスタイル（画面幅 769px 以上で上書き）
   ========================================================================== */

@media screen and (min-width: 769px) {
	.contents.contents01 {
		margin-bottom: 0;
	}
	.contents.contents01::before {
		background-image: url(/excludes/images/ohbo/1million-coin/mv_background.png);
		width: 1900px;
		height: 1000px;
		top: -250px;
	}
	.contents.contents01::after {
		background-image: url(/excludes/images/ohbo/1million-coin/confetti.png);
		background-size: 100%;
		height: 2500px;
		top: 44px;
		left: 50%;
		transform: translate(-50%, 0);
	}
	.mv {
		margin: 0 auto 150px;
		padding: 0; 
	}
	.mv h1 {
		margin: 50px auto 0;
		padding: 0; 
	}

	.mv .mv_period::before {
		content: "";
		position: absolute;
		background-image: url(/excludes/images/ohbo/2million/character_left.png);
		background-size: contain;
		background-repeat: no-repeat;
		width: 174px;
		height: 118px;
		top: -98px;
		left: 0;
	}
	.mv .mv_period::after {
		content: "";
		position: absolute;
		background-image: url(/excludes/images/ohbo/2million/character_right.png);
		background-size: contain;
		background-repeat: no-repeat;
		width: 250px;
		height: 354px;
		top: -195px;
		right: -140px;
	}
	.mv .mv_txt {
		width: 100%;
		border-radius: 10px;
		padding: 20px 0;
		margin: 35px auto 0;
	}
	.mv .mv_txt p.mv_txt_ttl {
		font-size: 24px;
		margin-bottom: 10px;
	}
	.mv .mv_txt p.mv_txt_txt {
		font-size: 18px;
		padding: 0; 
	}
	.contents.contents02 {
		padding: 2rem;
	}
	.contents.contents03 {
		padding: 2rem;
	}
}


/*
#####################################################################

	btn_content

#####################################################################

/* ==========================================================================
   ベーススタイル（スマホ・モバイル向け：画面幅 768px 以下）
   ========================================================================== */
.btn_content {
	margin: 0 auto;
	width: 80%;
}

.btn_content p a {
	display: block;
}

.btn_content p a img {
	width: 100%;
}

.btn_content .application_btn {
	margin: 5rem auto;
	text-align: center;
}
.btn_content .application_btn .stamp_txt {
	margin: 3rem auto;
	font-size: 24px;
	line-height: 1.8;
}
.btn_content .application_btn .stamp_txt span {
	font-size: 18px;
}
.btn_content .login_btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
    margin: auto;
	max-width: 1000px;
}

.btn_content .login_btn .btn {
	width: 100%;
	margin-top: 2rem;
	 padding: 0 2rem;
}
.btn_content .entry_txt {
	padding: 2rem 0;
	font-size: 20px;
	font-weight: bold;
	color:#e5006a;
	text-align: center;
}
.login_before .btn_content {
	width: 100%;
}

.contents.contents02 .login_before .btn_content .btn {
	width: 80%;
}
/* ==========================================================================
   PC向けスタイル（画面幅 769px 以上）
   ========================================================================== */
@media screen and (min-width: 769px) {

	.btn_content .application_btn {
		width: 450px;
	}
	.btn_content {
	margin: 50px auto 0;
	width: 100%;
	}
	.btn_content .entry_txt {
		font-size: 22px;
	}

	.btn_content .application_btn .btn-area {
	margin: auto;
	max-width: 600px;
	}

	.btn_content .login_btn .btn {
	padding: 2rem;
	max-width: 450px;
	}

	.btn_content .login_btn .btn.newmember {
	max-width: 360px;
	}

	.btn_content .login_btn .btn:first-child {
	margin-right: 5%;
	}
	.about_mall .btn_content .login_btn .btn {
	padding: 2rem;
	}
	.login_before .btn_content .login_btn .btn:first-child {
	margin-right: 0;
	}
	.login_before .btn_content .login_btn .btn.newmember {
		margin-left: 0;
		max-width: 360px;
	}
	.contents.contents02 .login_before .btn_content {
    width: 100%;
}
}

/*
#####################################################################

	campaign

#####################################################################

/* ==========================================================================
   1. スマホ向けスタイル（標準・すべての画面サイズにまず適用）
   ========================================================================== */
.campaign h2 {
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
.campaign h2 img {
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
}
.campaign h3 {
	max-width: 600px;
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
.campaign h3 img {
	max-width: 600px;
	width: 100%;
	margin: 5rem auto 2rem;
}
.campaign {
	padding: 5rem 2rem 10%;
}
.campaign p.campaign_txt {
	padding: 3rem 0 0;
	font-size: 4.8vw;
	text-align: center;
	line-height: 1.8;
}
.campaign p.campaign_txt span {
	color: #e5006a;
	font-size: 20px;
	font-weight: bold;
}
.campaign p.annotation {
	margin-top: 1rem;
	font-size: 1.4rem;
	text-align: center;
}
.campaign .campaign_img {
	margin: 15px auto 30px;
	max-width: 990px;
	width: 100%;
}
.campaign .campaign_img img {
	width: 100%;
}

.campaign .campaing_step {
	margin-bottom: 2rem;

}
.campaign .campaing_step ul {
	display: flex;
    justify-content: center;
    flex-direction: column;
    margin: auto;
    padding: 0;
    align-items: center;
}
.campaign .campaing_step li {
    position: relative;
    margin: 3rem auto 5rem;
    padding: 4rem 2rem 2rem;
    width: 90%;
    border-radius: 10px;
    background: #fff;
    text-align: center;
}
.campaign .campaing_step li::after {
	position: absolute;
    content: "";
    bottom: -60px;
    right: 50%;
    margin-top: -3px;
    border: 15px solid transparent;
    border-top-color: #e5006a;
    transform: translateX(50%);
}
.campaign .campaing_step li:last-child {
	margin-bottom: 0;
}
.campaign .campaing_step li:last-child:after {
	content: none;
}
.campaign .campaing_step li .step_head {
    margin-inline: auto;
	margin-bottom: 2rem;
	padding-bottom:2rem;
	border-bottom: 2px solid #e5006a;
}
.campaign .campaing_step .step_item .step-ttl {
	margin-bottom: 2rem;
	font-size: 2rem;
	font-weight: bold;
	color: #e5006a;;
}
.campaign .campaing_step .step_item .step-txt {
    margin-bottom: 1rem;
    margin-left: 2rem;
    font-size: 16px;
    text-align: left;
    line-height: 1.6;
    text-indent: -2rem;
}

.campaign .stamp-area {

}
.campaign .stamp-area .stamp_status_txt {
	padding: 0;
    text-align: center;
    line-height: 1.8;
}
.campaign .stamp-area .stamp_status_txt p {
	margin-bottom: 1rem;
    font-size: 18px;
}
.campaign .stamp-area .stamp_status_txt p.annotation_txt {
    font-size: 16px;
}

.about_campaign {
	margin: 0 auto -40px;
	padding: 2rem 0 1rem;
	width: 100%;
	background: #fff4f9;
}
.about_campaign .about_campaign_item {
	margin: 3rem auto;
	padding: 2rem;
	max-width: 1000px;
	text-align: center;
}
.about_campaign .about_campaign_item h3 img {
	width: 100%;
	max-width: 600px;
}
.about_campaign .about_campaign_item .about_campaign_txt {
	margin: 2rem auto;
}
.about_campaign .about_campaign_item .about_campaign_txt p {
	margin-bottom: 3rem;
	font-size: 18px;
}
.about_campaign .about_campaign_item .about_campaign_txt p span {
	color: #e5006a;
	font-weight: bold;
}
.about_campaign .about_campaign_item .about_campaign_txt p.cantion_txt {
	font-weight: bold;
	color: #e5006a;
}
.about_campaign .about_campaign_item .about_campaign_txt .annotation_txt {
    margin-bottom: 1rem;
    margin-left: 2rem;
    font-size: 16px;
    text-align: left;
    line-height: 1.6;
    text-indent: -2rem;
}

.about_mall {
    margin: 0 auto -30px;
	padding: 2rem 0;
	width: 100%;
	background: #fff;
}
.about_mall .btn_content .login_btn .btn {
    margin: auto;
	padding: 0;
	text-align: center;
}
.about_mall .about_mall_inner {
	margin: auto;
	max-width: 1000px;
}

.about_mall .about_mall_inner .btn {
	text-align: center;
    margin: auto;
}
.about_mall .btn p > a > img {
	width: 80%;
}
.about_mall .about_mall_item {
	margin: 5rem 2rem;
	padding: 0;
    border: 2px solid #e5006a;
    border-radius: 30px;
}
.about_mall .about_mall_item .about_mall_head {
	margin-bottom: 3rem;
    padding: 2rem;
	border-radius: 30px 30px 0 0;
    background-color: #fff4f9;
    text-align: left;
}
.about_mall .about_mall_item .about_mall_head p {
	font-size: 18px;
}
.about_mall .about_mall_item .about_mall_head .ttl_about_mall {
	margin-block: 2rem;
	color: #e5006a;
	font-size: 28px;
	font-weight: bold;
	text-align: center;
}
.about_mall .about_mall_item img {
    display: block;
    margin: auto;
	width: 80%;
}

.campaign .campaign_img p.remarks {
	font-size: 3.7vw;
	text-align: left;
	margin: 5% auto 0;
	max-width: 880px;
	width: 85%;
	padding-left: 1em;
	text-indent: -1em;
}

.login_after {
	text-align: center;
}
.login_after .btn {
	margin: 3rem auto;
	padding: 0 2rem;
}
.login_after .btn img{
	width: 100%;
}
.login_after input,
.login_after label {
	margin-inline: 0.5rem;
	vertical-align: middle;
    font-size: 20px;
    color: #e5006a;
    font-weight: bold;
}


.stamp-area {
	margin: 5rem auto;
	max-width: 1000px;
	text-align: center;
}
.stamp-area .entry_after {
	margin: 5rem auto;
	text-align: center;
}
.stamp-area .stamp_category {
	margin: 5rem 0;

}
.stamp-area .stamp_category .stamp-seat {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-block: 1rem;
    width: 100%;
    height: 160px;
}
.stamp-area .stamp_category .stamp-seat img {
	display: none;
	margin-top: 2rem;
}
.stamp-area .stamp_category .stamp-seat.on img {
	display: block;
}
.stamp-area .stamp_category .stamp_wrap {
	display: flex;
    max-width: 270px;
    margin: 2rem auto 3rem;
}
.stamp-area .stamp_category .stamp_wrap.cat_play {
	position: relative;
    left: -1rem;
	margin-top: 1rem;
	max-width: 330px;
}
.stamp-area .stamp_category .stamp_wrap .mall_stamp_wrap.play_category {
	width: 15%;
    background: transparent;
}
.stamp-area .stamp_category .stamp_wrap .mall_stamp_wrap.play_category img {
	display: block;
	margin-top: 0;
}
.stamp-area .stamp_category .stamp_wrap .mall_stamp_wrap {
	margin-inline: 2px;
	width: 50%;
    border-radius: 15px;
	background: #fff995;
}
.stamp-area .stamp_category .stamp-seat.seat_july {
	position: relative;
	background: url(/excludes/images/ohbo/1million-coin/bg_stump_july.png) no-repeat center;
	background-size: contain;
}
.stamp-area .stamp_category .stamp-seat.seat_august {
	position: relative;
	background: url(/excludes/images/ohbo/1million-coin/bg_stump_august.png) no-repeat center;
	background-size: contain;
}
.stamp-area .stamp_category .stamp-seat::after {
	position: absolute;
    content: "";
	bottom: -15px;
    right: 10px;
    width: 50px;
    height: 50px;
    background: url(/excludes/images/ohbo/1million-coin/icon_twice.png) no-repeat center;
}
.stamp-area .stamp_category .mall_stamp_wrap.play_july,
.stamp-area .stamp_category .mall_stamp_wrap.play_august {
	position: relative;
}
.stamp-area .stamp_category .mall_stamp_wrap.play_july::after,
.stamp-area .stamp_category .mall_stamp_wrap.play_august::after {
	position: absolute;
    content: "";
	bottom: -40px;
    right: -10px;
    width: 80px;
    height: 80px;
    background: url(/excludes/images/ohbo/1million-coin/icon_twice_complete.png) no-repeat center;
}
.stamp-area .stamp_category .stamp_wrap.cat_play .stamp-seat::after {
	content: none;
}
.stamp-area .stamp_category.cat_app .stamp-seat::after {
    background: url(/excludes/images/ohbo/1million-coin/icon_once.png) no-repeat center;
}

.campaign .application {
	max-width: 880px;
	width: 84%;
	margin: 0 auto 35px;
	background-color: #fff;
	border-radius: 10px;
	padding: 7% 0;
}
.campaign .application .application_ttl {
	font-size: 6.4vw;
	font-weight: bold;
	text-align: center;
	margin-top: 0;
	margin-bottom: 10%;
	color: #EF4B7D;
}
.campaign .application .application_ttl.note {
	font-size: 5.5vw;
	margin-top: 5%;
}
.campaign .application .application_list ul li {
	font-size: 4.3vw;
	line-height: 1.5;
	list-style-type: disc;
	margin-left: 13%;
	margin-right: 5%;
	margin-bottom: 3%;
}
.campaign .application .application_list ul li>span {
	vertical-align: 0.25em;
}
.campaign .application .application_list ul li span mark {
	color: #EF4B7D;
	font-weight: bold;
	background-color: #FFF572;
	padding: 3px;
	font-style: normal;
}
.campaign .application .application_list ul li::marker {
	font-size: 150%;
	font-weight: bold;
	line-height: 1;
	color: #EF4B7D;
}
.campaign .application .application_list.underline {
	padding-bottom: 5%;
	position: relative;
}
.campaign .application .application_list.underline::after {
	content: "";
	position: absolute;
	border-bottom: 2px solid #FCD6DE;
	width: 90%;
	left: 50%;
	bottom: 0;
	transform: translate(-50%, 0);
}
.campaign .application .application_list .remarks {
	font-size: 3.7vw;
	margin-left: 5%;
	margin-right: 5%;
	margin-top: 7%;
	padding-left: 1em;
	text-indent: -1em;
}
.campaign .result {
	max-width: 880px;
	width: 84%;
	margin: 0 auto 10%;
	background-color: #fff;
	border-radius: 10px;
	padding: 7% 0;
}
.campaign .result p {
	font-size: 4.1vw;
	text-align: left;
	width: 90%;
}
.campaign .result p mark {
	color: #EF4B7D;
	font-weight: bold;
	background-color: #FFF572;
	padding: 3px;
	font-style: normal;
}
.campaign .result p.result_ttl {
	font-size: 6.5vw;
	font-weight: bold;
	text-align: center;
	margin: 0 auto;
	color: #EF4B7D;
}
.campaign .result p.result_txt {
	margin: 10% auto;
}
.campaign .result p.result_txt02 {
	margin: 0 auto;
	width: 96%;
}
.campaign .btn_flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.campaign .btn_flex .btn {
	max-width: 378px;
	width: 100%;
}
.campaign .btn_flex .btn:first-child {
	margin-right: 0;
}


/* ==========================================================================
   2. PC向けスタイル（画面幅 769px 以上で上書き）
   ========================================================================== */
@media screen and (min-width: 769px) {
	.campaign {
		padding-block: 0; 
	}
	.campaign p.campaign_txt,
	.campaign p.campaign_txt span {
		font-size: 28px;
	}
	.campaign p.annotation {
		font-size: 14px;
		text-align: right;
	}
	.campaign .campaign_img {
		margin: 30px auto;
	}
	.campaign .campaign_img p.remarks {
		font-size: 15px;
		margin: 10px auto 0;
		width: 100%;
		padding-left: 0;
		text-indent: 0;
	}
	.login_after .btn {
		width: 450px;
	}

	.campaign .campaing_step {
		max-width: 1000px;
		margin: auto;
	}
	.campaign .campaing_step ul {
		align-items: stretch;
        flex-direction: row;
	}
	.campaign .campaing_step li {
		margin-bottom: 0;
		margin-inline: 2rem;
	}
	.campaign .campaing_step li:last-child {
		margin-bottom: 0;
	}
	.campaign .campaing_step li .step_head {
		width: 50%;
	}
	.campaign .campaing_step li::after {
		top: 50%;
        right: -40px;
        bottom: inherit;
        margin-right: -3px;
        border-color: transparent;
        border-left-color: #e5006a;
        transform: translateY(50%);
	}
	.campaign .stamp-area .stamp_status_txt p {
		font-size: 24px;
	}
	.campaign .stamp-area .stamp_status_txt p.annotation_txt {
		font-size: 18px;
	}

	.about_campaign .about_campaign_item .about_campaign_txt {
		margin-block: 4rem;
		width: 90%;
	}
	.about_campaign .about_campaign_item .about_campaign_txt p {
		font-size: 24px;
	}
	.about_campaign .about_campaign_item .about_campaign_txt .annotation_txt {
		font-size: 18px;
	}
	.about_mall .btn_content .login_btn .btn {
		max-width: 450px;
	}
	.about_mall .about_mall_inner .btn {
		max-width: 450px;
	}
	.about_mall .btn p > a > img {
		width: 100%;
	}
	.about_mall .about_mall_item .about_mall_head p {
		text-align: center;
		font-size: 22px;
	}
	.about_mall .about_mall_item .about_mall_head .ttl_about_mall {
		font-size: 32px;
	}
	.about_mall .about_mall_item img.only_sp {
        display: none;
    }
	.about_mall .btn_content .login_btn .btn {
		max-width: 450px;
	}
	.about_mall .login_before .btn_content .login_btn .btn.newmember {
		margin-left: 40px;
	}
	.stamp-area .stamp_area{
		display: flex;
	}
	.stamp-area .stamp_category {
		margin: 5rem auto;
		width: 32%;
	}
	.stamp-area .stamp_category .stamp_wrap .mall_stamp_wrap {
		padding: 1rem 0.5rem;
	}
	/* .stamp-area .stamp_category .stamp_wrap.cat_play {
		margin-left: -1rem;
	} */
	.stamp-area .stamp_category .stamp-seat {
		margin-bottom: 1rem;
		height: 160px;
	}

	.campaign .application {
		width: 100%;
		margin: 0 auto 35px;
		padding: 30px 0;
	}
	.campaign .application .application_ttl {
		font-size: 24px;
		margin-top: 15px;
		margin-bottom: 30px;
	}
	.campaign .application .application_ttl.note {
		font-size: 20px;
		margin-top: 0;
	}
	.campaign .application .application_list ul li {
		font-size: 18px;
		line-height: 1.8;
		margin-left: 97px;
		margin-right: 0;
		margin-bottom: 0;
	}
	.campaign .application .application_list ul li::marker {
		font-size: 200%;
	}
	.campaign .application .application_list.underline {
		padding-bottom: 25px;
	}
	.campaign .application .application_list.underline::after {
		width: 86%;
	}
	.campaign .application .application_list .remarks {
		font-size: 15px;
		margin-left: 60px;
		margin-top: 10px;
		margin-right: 0;
		padding-left: 0;
		text-indent: 0;
	}
	.campaign .result {
		width: 100%;
		margin: 0 auto 35px;
		padding: 30px 0;
	}
	.campaign .result p {
		font-size: 18px;
		width: 86%;
	}
	.campaign .result p.result_ttl {
		font-size: 24px;
		margin: 15px auto 0;
	}
	.campaign .result p.result_txt {
		margin: 30px auto;
	}
	.campaign .result p.result_txt02 {
		margin: 0 auto;
		width: 86%;
	}
	.campaign .btn_flex .btn:first-child {
		margin-right: 5%;
	}
}


/*当選確率アップ*/
/* ==========================================================================
   1. スマホ向けスタイル（標準・すべての画面サイズにまず適用）
   ========================================================================== */
.campaign .oddswin_area {
	margin: 5rem auto 2rem;
}
.campaign .oddswin_area .oddswin_inner {
	display: flex;
    justify-content: center;
    flex-direction: column;
    margin: auto;
    padding: 0;
    align-items: center;
}
.campaign .oddswin_area .oddswin_item {
    position: relative;
    margin: 3rem auto 0;
    padding: 0;
    width: 100%;
    border-radius: 10px;
    text-align: center;
}
.campaign .oddswin_area .oddswin_item .oddswin_head {
	position: relative;
	margin-inline: -20px;
	margin-bottom: 2rem;
	padding:2rem 0;
	background: #f18e2e;
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	text-indent: -2rem;
	cursor: pointer;
}
.campaign .oddswin_area .oddswin_item .oddswin_head::marker {
	content: none;
}
.campaign .oddswin_area .oddswin_item[open] .oddswin_head::after {
	position: absolute;
    content: "";
    margin-top: -0.5rem;
    top: 50%;
    right: 2rem;
    width: 1.1rem;
    height: 1.1rem;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    transform: rotate(-135deg);
}
.campaign .oddswin_area .oddswin_item .oddswin_head::after {
    position: absolute;
    content: "";
    margin-top: -1rem;
    top: 50%;
    right: 2rem;
    width: 1.1rem;
    height: 1.1rem;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    transform: rotate(45deg);
}
.campaign .oddswin_area .oddswin_item:nth-child(2) .oddswin_head {
	background: #ec6850;
}
.campaign .oddswin_area .oddswin_item .oddswin_txt_area {
	padding: 1rem 0;
	min-height: inherit;
    align-items: center;
    display: grid;
}
.campaign .oddswin_area .oddswin_item .oddswin_txt_area .oddswin_txt {
	font-size: 18px;
	font-weight: bold;
}
.campaign .oddswin_area .oddswin_item .oddswin_txt_area .oddswin_txt span {
	color: #e5006a;
}
.campaign .oddswin_area .oddswin_item .oddswin_txt_area .annotation-txt {
	margin-top: 1rem;
	margin-left: 1.6rem;
    padding-inline: 1rem 0;
	font-size: 16px;
	text-align: left;
	text-indent: -1.6rem;
}
.campaign .oddswin_area .oddswin_item .oddswin_img {
	padding: 2rem;
}
.campaign .oddswin_area .oddswin_item .oddswin_img img {
	width: 100%;
}
.campaign .oddswin_area .oddswin_item .btn {
	padding: 2rem;
}
.campaign .oddswin_area .oddswin_item .btn img {
	width: 100%;
}
.campaign .oddswin_area .step_item .step-ttl {
	margin-bottom: 2rem;
	font-size: 2rem;
	font-weight: bold;
	color: #e5006a;;
}
.campaign .oddswin_area .step_item .step-txt {
    margin-bottom: 1rem;
    margin-left: 2rem;
    font-size: 16px;
    text-align: left;
    line-height: 1.6;
    text-indent: -2rem;
}

/* ==========================================================================
   PC向けスタイル（画面幅 769px 以上）
   ========================================================================== */
@media screen and (min-width: 769px) {
		.campaign .oddswin_area {
		max-width: 1100px;
		margin: auto;
		justify-content: space-around;
	}
	.campaign .oddswin_area .oddswin_item .oddswin_head {
		margin-inline: auto;
		pointer-events: none;
		cursor: default;
	}
	.campaign .oddswin_area .oddswin_item .oddswin_head::marker {
		content: ""; 
	}
	.campaign .oddswin_area .oddswin_item[open] .oddswin_head::after {
		content: none;
	}
	.campaign .oddswin_area .oddswin_inner {
		flex-direction: row;
		margin-block: 3rem;
	}
	.campaign .oddswin_area .oddswin_item {
		width: 30%;
	}
	.campaign .oddswin_area .oddswin_item .oddswin_txt_area {
		min-height: 20rem;
	}
}


.application {
	background-color: #fff4f9;
}


/*
#####################################################################

	duskin_site

#####################################################################
*/
.duskin_site{
	background-color: #fff;
	margin-bottom: 60px;
	padding-top: 60px;

}
.duskin_site h2{
	font-size: 30px;
	color: #EF4B7D;
	text-align: center;
}
.duskin_site p.logo{
	text-align: center;
}
.duskin_site p.logo img{
	max-width: 160px;
	width: 100%;
}
.duskin_site .duskin_img{
	max-width: 950px;
	width: 100%;
	margin: 30px auto 45px;
}
.duskin_site .duskin_img p img{
	width: 100%;
}
.duskin_site .save_up{
	max-width: 950px;
	width: 100%;
	margin: 0 auto 30px;
	border: 1px solid #EF4B7D;
	border-radius: 30px;
}
.duskin_site .save_up h3{
	background-color: #EF4B7D;
	color: #fff;
	font-size: 26px;
	font-weight: bold;
	text-align: center;
	padding: 10px 0;
	border-radius: 27px 27px 0 0;
}
.duskin_site .save_up h3 span{
	font-size: 22px;
}
.duskin_site .save_up ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 35px 30px;
}
.duskin_site .save_up ul li{
	position: relative;
	width: 265px;
	padding: 0 0 173px;
}
.duskin_site .save_up ul li h4{
	background-color: #FCD6DE;
	color: #EF4B7D;
	border-radius: 25px;
	font-size: 24px;
	text-align: center;
	line-height: 1.5;
	margin-bottom: 0.5em;
}
.duskin_site .save_up ul li p{
	font-size: 16px;
	text-align: left;
	line-height: 1.5;
}
.duskin_site .save_up ul li p.indent{
	font-size: 14px;
	margin: 0.5em 0 0 1em;
	text-indent: -1em;
}
.duskin_site .save_up ul li .img{
	position: absolute;
	left: 0;
	bottom: 0;
}
.duskin_site .flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 950px;
	width: 100%;
	margin: 0 auto;
}
.duskin_site .flex .coupon, .duskin_site .flex .present{
	max-width: 460px;
	width: 100%;
	padding: 0 0 312px;
	border-radius: 10px;
	position: relative;
	border: 1px solid #EF4B7D;
}
.duskin_site .flex .coupon h3, .duskin_site .flex .present h3{
	font-size: 26px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background-color: #EF4B7D;
	border-radius: 10px 10px 0 0;
	padding: 10px 0;
}
.duskin_site .flex .coupon h3 span{
	font-size: 22px;
}
.duskin_site .flex .coupon p, .duskin_site .flex .present p{
	font-size: 16px;
	text-align: left;
	margin-top: 20px;
	padding: 0 15px;
	line-height: 1.5;
}
.duskin_site .flex .coupon p.indent, .duskin_site .flex .present p.indent{
	font-size: 14px;
	margin: 0.5em 0 0 1em;
	text-indent: -1em;
}
.duskin_site .flex .coupon .img, .duskin_site .flex .present .img{
	position: absolute;
	left: 50%;
	bottom: 20px;
	transform: translate(-50%, 0);
}
.duskin_site .about_dduet {
	padding: 2rem;
	text-align: center;
}
.duskin_site .about_dduet p {
	font-size: 25px;
	line-height: 1.8;
}
.duskin_site .about_dduet .ttl_dduet {
	margin-block: 1rem;
	color: #f05383;
	font-size: 24px;
	font-weight: bold;
}
@media screen and (max-width: 768px){
	.duskin_site{
		margin-bottom: 15%;
		padding-top: 15%;
	}
	.duskin_site h2{
		font-size: 4.8vw;
	}
	.duskin_site .duskin_img{
		width: 84%;
		margin: 8% auto 10%;
	}
	.duskin_site .save_up{
		width: 84%;
		margin: 0 auto 7%;
		border: 2px solid #EF4B7D;
	}
	.duskin_site .save_up h3{
		font-size: 5.3vw;
		padding: 3% 0;
	}
	.duskin_site .save_up h3 span{
		font-size: 6.4vw;
	}
	.duskin_site .save_up ul{
		padding: 10% 5%;
	}
	.duskin_site .save_up ul li{
		width: 100%;
		padding: 0 0 10vw;
	}
	.duskin_site .save_up ul li:nth-of-type(3){
		padding: 0;
	}
	.duskin_site .save_up ul li h4{
		font-size: 6.4vw;
		line-height: 1.8;
	}
	.duskin_site .save_up ul li p{
		font-size: 4.3vw;
	}
	.duskin_site .save_up ul li p.indent{
		font-size: 3.8vw;
	}
	.duskin_site .save_up ul li .img{
		position:initial;
		text-align: center;
		margin-top: 5%;
	}
	.duskin_site .save_up ul li .img img{
		width: 100%;
	}
	.duskin_site .flex{
		justify-content: center;
	}
	.duskin_site .flex .coupon, .duskin_site .flex .present{
		width: 84%;
		max-width: inherit;
		padding: 0 0 10vw;
		border: 2px solid #EF4B7D;
		border-radius: 30px;
	}
	.duskin_site .flex .coupon{
		margin-bottom: 7%;
	}
	.duskin_site .flex .coupon h3, .duskin_site .flex .present h3{
		font-size: 5.3vw;
		border-radius: 27px 27px 0 0;
		padding: 3% 0;
	}
	.duskin_site .flex .coupon h3 span, .duskin_site .flex .present h3 span{
		font-size: 6.4vw;
	}
	.duskin_site .flex .coupon p, .duskin_site .flex .present p{
		font-size: 4.3vw;
		margin-top: 7%;
		padding: 0 5%;
	}
	.duskin_site .flex .coupon p.indent{
		font-size: 3.8vw;
	}
	.duskin_site .flex .coupon .img, .duskin_site .flex .present .img{
		position: initial;
		transform: none;
	}
	.duskin_site .flex .coupon .img img, .duskin_site .flex .present .img img{
		width: 100%;
	}
	.duskin_site .about_dduet p {
		font-size: 18px;
	}
}


/*
#####################################################################

	fun_content

#####################################################################
*/
.fun_content{
	max-width: 950px;
	width: 100%;
	margin: 0 auto 40px;
	padding-block: 50px;
}
.fun_content h2{
	font-size: 30px;
	text-align: center;
	color: #EF4B7D;
	line-height: 1.5;
	margin-top: 0;
}
.fun_content h2 span{
	font-size: 48px;
}
.fun_content p{
	font-size: 24px;
	text-align: center;
}
.fun_content .content{
	width: 100%;
	margin-top: 50px;
	margin-bottom: 30px;
}
.fun_content .content ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.fun_content .content ul li{
	width: 31%;
	height: auto;
	max-width: 280px;
	margin-bottom: 40px;
	border-radius: 20px;
	background-color: #fff;
	position: relative;
	text-align: center;
	box-shadow: 1px 6px 3px rgba(0, 0, 0, 0.1);
}
.fun_content .content ul li:not(:nth-child(3n)){
	margin-right: 24px;
}
.fun_content .content ul li h3{
	font-size: 20px;
	font-weight: bold;
	color: #EF4B7D;
	position: relative;
	display: flex;
	flex-direction: column;
}
.fun_content .content ul li h3::before{
	content: "";
	background-repeat: no-repeat;
	background-size: 100%;
	display: block;
	width: 74px;
	height: 74px;
	margin: 30px auto 12px;
}
.fun_content .content ul li:nth-child(1) h3::before{
	background-image: url(/excludes/images/ohbo/1million-coin/icon_01.png);
}
.fun_content .content ul li:nth-child(2) h3::before{
	background-image: url(/excludes/images/ohbo/1million-coin/icon_02.png);
}
.fun_content .content ul li:nth-child(3) h3::before{
	background-image: url(/excludes/images/ohbo/1million-coin/icon_03.png);
}
.fun_content .content ul li:nth-child(4) h3::before{
	background-image: url(/excludes/images/ohbo/1million-coin/icon_04.png);
}
.fun_content .content ul li:nth-child(5) h3::before{
	background-image: url(/excludes/images/ohbo/1million-coin/icon_05.png);
}
.fun_content .content ul li:nth-child(6) h3::before{
	background-image: url(/excludes/images/ohbo/1million-coin/icon_06.png);
}
.fun_content .content ul li p{
	font-size: 16px;
	line-height: 1.5;
	margin-top: 10px;
	padding-bottom: 20px;
}
.fun_content .btn{
	max-width: 378px;
	width: 100%;
	margin: 15px auto 0;
}
.fun_content .btn p a{
	display: block;
}
.fun_content .btn p a img{
	width: 100%;
}
@media screen and (max-width: 768px){
	.fun_content{
		padding-bottom: 10%;
		margin: 5% auto 0;
	}
	.fun_content h2{
		font-size: 5vw;
		margin-top: 0;
		padding-top: 10%;
	}
	.fun_content h2 span{
		font-size: 8vw;
	}
	.fun_content p{
		font-size: 4.8vw;
	}
	.fun_content .content{
		width: 84%;
		margin: 10% auto;
	}
	.fun_content .content ul li{
		width: 47%;
		height: 50vw;
		margin-bottom: 7%;
		border-radius: 2.7vw;
		position: initial;
		box-shadow: 1px 6px 3px rgba(0, 0, 0, 0.1);
	}
	.fun_content .content ul li:not(:nth-child(3n)){
		margin-right: 0;
	}
	.fun_content .content ul li:not(:nth-child(2n)){
		margin-right: 3.47vw;
	}
	.fun_content .content ul li h3{
		font-size: 4vw;
		position: relative;
	}
	.fun_content .content ul li h3::before{
		width: 16vw;
		height: 16vw;
		margin: 4.2vw auto 2.67vw;
	}
	.fun_content .content ul li p{
		font-size: 2.9vw;
		margin-top: 2%;
	}
	.fun_content .btn{
		margin: 5% auto 0;
		width: 80%;
	}
	.fun_content .btn p{
		text-align: center;
	}
}

#MB div.location {
	display: none;
}

.location_sp {
	display: block;
}
.location_sp li a {
	padding-right: 20px;
	background: url(/excludes/images/p/common02/arrow_location.gif) no-repeat right center;
}

@media screen and (min-width: 769px){
	#MB div.location.location {
		display: block;
        padding-top: 10px;
		text-align: left;
		width: 980px;
		margin: 0 auto;
		min-height: 26px;
	}
	#MB div.location ul li {
		font-size: 13px;
		line-height: 14px;
		display: inline;
	}
	#MB div.location li a {
		padding-right: 20px;
		background: url(/excludes/images/p/common02/arrow_location.gif) no-repeat right center;
		color: #D71C58;
	}

	.location_sp {
		display: none;
	}
}

/* b-dash切り替え部分の調整（add:20260615） */
#entry_block{
	text-align: center;
	margin: 30px auto;
}
