@charset "UTF-8";
/* CSS Document */
/*--------------------------
      campaign
----------------------------*/
.square_cp {
	background:url("../img/bg_point.png") no-repeat center top 188px / 1751px, linear-gradient(to bottom , #79B3DF, #388ECF,#30549C 8%, #1E2752 20%, #1E2752);
}
@media screen and (max-width: 640px) {
	.square_cp {
		background:linear-gradient(to bottom , #79B3DF, #388ECF,#30549C 8%, #1E2752 20%, #1E2752);
	}
}
.square_cp .contents {
	background: url("../img/bg_pattern_pale.png") repeat-x center top -944px / 2136px;
	position:relative;
}
@media screen and (max-width: 640px) {
	.square_cp .contents {
		background: url("../img/bg_pattern_pale.png") repeat-x center top -76px / 834px;
	}
}
.square_cp .contents::after {
	content:"";
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	right:0;
	top:406px;
	background:url("../img/bg_pattern.png") repeat center top / 2136px;
	z-index:-1;
}
@media screen and (max-width: 640px) {
	.square_cp .contents::after {
		background:url("../img/bg_pattern.png") repeat center top / 834px;
	}
}
.square_cp .main{
	display:flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding:100px 0 60px;
}
@media screen and (max-width: 640px) {
	.square_cp .main{
		padding:82px 10px 30px;
	}
}
.square_cp .main_sub{
	position: relative;
	transform:translateY(-23px);
}
@media screen and (max-width: 640px) {
	.square_cp .main_sub{
		transform:translateY(-8%);
	}
}
.square_cp section {
	padding:0 0 100px;
}
.square_cp .section_inner {
	padding:0 20px;
}
.square_cp .contents h2{
	text-align:center;
	margin-bottom:18px;
}
@media screen and (max-width: 640px) {
	.square_cp .contents h2{
		margin-bottom:10px;
	}
}
.square_cp .box {
	max-width:1200px;
	margin:0 auto 60px;
	text-align:center;
	line-height:1.6em;
}
@media screen and (max-width: 640px) {
	.square_cp .box {
		margin:0 auto 30px;
	}
}
.square_cp .box + .box {
}

.square_cp .box_head {
	background: url("../img/bg_box_head.png") no-repeat center top/ cover;
	display:flex;
	align-items: center;
	position: relative;
	height:233px;
	padding-top:42px;
	box-sizing: border-box;
	flex-direction: column;
	gap:8px;
}
@media screen and (max-width: 640px) {
	.square_cp .box_head {
		background: url("../img/bg_box_head_sp.png") no-repeat center top/ cover;
		gap:4px;
		height:auto;
		padding:8% 10px 4%;
	}
}
.square_cp .box_head h3{
	margin:0;
	padding:0;
	display:flex;
	flex-direction: column;
	align-items: center;
	gap:24px;
}
@media screen and (max-width: 640px) {
	.square_cp .box_head h3{
		gap:12px;
	}
}
@media screen and (max-width: 640px) {
	.square_cp .box_number {
		max-width:76px;
	}
	.square_cp .box_title {
		max-width:216px;
	}
}
.square_cp .box_head_date{
	margin:0;
	padding:0;
	font-weight: bold;
	font-size:1.33em;
}
.square_cp .box_head_date > span{
	font-size:0.8em;
}
.square_cp .box_hukidashi {
	position:absolute;
	top:10px;
	left:calc(50% - 506px);
}
@media screen and (max-width: 640px) {
	.square_cp .box_hukidashi {
		    top: -6px;
		left: 9%;
		width: 30%;
	}
}
.square_cp .box_inner {
	border-radius:0 0 30px 30px;
	padding:45px 100px 60px;
	background:#fff;
}
@media screen and (max-width: 640px) {
	.square_cp .box_inner {
		padding:20px 24px 40px;
	}
}
@media screen and (max-width: 640px) {
	.square_cp .box_lead {
		text-align:left;
	}
}
.square_cp .box_detail {
	text-align:left;
}
.square_cp .box_detail dt{
	width:100%;
	display:block;
	padding:40px 0 0 0;
	border-top:1px solid #DDDDDD;
	margin:40px 0 0 0;
}
@media screen and (max-width: 640px) {
	.square_cp .box_detail dt{
		padding:20px 0 0 0;
		border-top:1px solid #DDDDDD;
		margin:20px 0 0 0;
	}
}
.square_cp .box_detail .box_detail_head {
	color:#fff;
	background:#000;
	border-radius:50px 50px 0 50px;
	padding:5px 10px;
	text-align:center;
	max-width:186px;
}
@media screen and (max-width: 640px) {
	.square_cp .box_detail .box_detail_head {
		max-width:116px;
		font-size:0.875em;
	}
}
.square_cp .box_detail dd{
	margin:0;
	padding:0;
	width:100%;
	margin-top:20px
}
@media screen and (max-width: 640px) {
	.square_cp .box_detail dd{
		margin-top:10px
	}
}
.square_cp .detail_conditions {
	padding-top:30px;
}
@media screen and (max-width: 640px) {
	.square_cp .detail_conditions {
		padding-top:10px;
	}
}
.square_cp .detail_conditions > li{
	border-radius: 30px;
	background: #fff2f8;
	margin-bottom:20px;
	padding:24px;
}
@media screen and (max-width: 640px) {
	.square_cp .detail_conditions > li{
		padding:20px;
		margin-bottom:10px;
	}
}
.square_cp .detail_conditions_title {
	text-indent:-1em;
	padding-left:1em;
}
.square_cp .text-comingsoon {
	background: #E7ECFA;
	color:#024EA2;
	font-weight: bold;
	position:relative;
	display:inline-block;
	border-radius: 30px 0 30px 0;
	padding:20px 30px;
	margin:20px auto 0;
}
.square_cp .text-comingsoon::after {
	content:"";
	background:url(../img/kira.png) no-repeat center /contain;
	width:32px;
	height:32px;
	position:absolute;
	left:0;
	right:0;
	margin:auto;
	top:-12px;
}
@media screen and (max-width: 640px) {
	.square_cp .text-comingsoon::after {
		width:24px;
		height:24px;
		top:-6px;
	}
}
.square_cp .text-point {
	font-weight: bold;
	font-size:1.125em;
}
.square_cp .box_form {
	border-top:1px solid #DDDDDD;
	padding:40px 0 0 0;
	margin:40px 0 20px;
	text-align:left;
}
@media screen and (max-width: 640px) {
	.square_cp .box_form {
		padding:20px 0 0 0;
		margin:20px 0 10px;
	}
}
.square_cp .box_form h1 {
	text-align:center;
}