@charset "UTF-8";
/* CSS Document */
/*--------------------------
      campaign
----------------------------*/
.square_cp .steps {
	margin:0 auto 100px;
	text-align: center;
	max-width:1200px;
}
@media screen and (max-width: 640px) {
	.square_cp .steps {
		margin:0 auto 60px;
		padding:0 20px;
	}
}
.square_cp .steps_fukidashi {
	background:url("../img/fukidashi_3step.svg") no-repeat center top / contain;
	width:451px;
	height:78px;
	text-align:center;
	color:#fff;
	font-size:1.5em;
	font-weight: 700;
	vertical-align: bottom;
	padding:1.2% 0;
	margin:0 auto 30px;
}
@media screen and (max-width: 640px) {
	.square_cp .steps_fukidashi {
		background:url("../img/fukidashi_3step_sp.svg") no-repeat center top / contain;
		width:100%;
		height:auto;
		font-size:1.25em;
		font-size: 4.25vw;
		margin: 0 auto 21px;
		padding: 3% 0 6.8%;
	}
}
.square_cp .steps_fukidashi span{
	font-size:1.5em;
	display:inline-block;
}
.square_cp .steps_inner {
	display: flex;
	gap:68px;
	margin:0 auto 30px;
}
@media screen and (max-width: 640px) {
	.square_cp .steps_inner {
		flex-direction: column;
		gap:40px;
		margin:0 auto 20px;
	}
}
.square_cp .steps_item{
	width:calc((100% - 68px) / 3);
	position: relative;
}
@media screen and (max-width: 640px) {
	.square_cp .steps_item{
		width:100%;
	}
}
.square_cp .steps_num {
	background:linear-gradient(-45deg, #F7C9DD, #D7E3F0, #89DCF7);
	border-radius:22px 0 22px 0;
	color:#0D3582;
	display:inline-block;
	padding:4px 20px;
	position:absolute;
	left:0;
	right:0;
	margin:auto;
	max-width:140px;
	top:-0.5em;
}
.square_cp .num_inner {
	font-size:1.25em;
}
@media screen and (max-width: 640px) {
	.square_cp .steps_column {
		display:flex;
		gap:15px;
		align-items: center;
	}
}
.square_cp .steps_arrow{
	width:44px;
	height:44px;
	position: absolute;
	transform:rotate(-45deg);
	top:0;
	bottom:0;
	margin:auto;
	right:-42px;
}
@media screen and (max-width: 640px) {
	.square_cp .steps_arrow{
		width:32px;
		height:32px;
		transform:rotate(45deg);
		left:0;
		right:0;
		top:auto;
		bottom:-23px;
	}
}
.square_cp .steps_arrow_inner{
	display:block;
	position:relative;
	width:100%;
	height:100%;
}
.square_cp .steps_arrow_inner::after,.square_cp .steps_arrow_inner::before{
	content:"";
	display:block;
	border-radius:10px;
	background:#fff;
	position:absolute;
}
.square_cp .steps_arrow_inner::after {
	height:100%;
	width:6px;
	right:0;
	top:0;
}
.square_cp .steps_arrow_inner::before {
	width:100%;
	height:6px;
	bottom:0;
	left:0;
}
.square_cp .steps_item a{
	display:block;
	border-radius:30px;
	filter: drop-shadow(0 0 49px rgba(0,0,0,0.29));
	background: rgba(56,76,134,0.8);
	padding:50px 30px 72px;
	text-align:center;
	width:100%;
	height:100%;
	position: relative;
	transition: 0.3s;
}
@media screen and (max-width: 640px) {
	.square_cp .steps_item a{
		padding:40px 30px 25px;
	}
}
.square_cp .steps_item a:hover{
	transform: translateY(8px);
}
.square_cp .steps_head {
	font-size:1.25em;
	font-weight: 700;
	margin-bottom:20px;
}
@media screen and (max-width: 640px) {
	.square_cp .steps_head {
		margin-bottom:5px;
	}
}
.square_cp .steps_item a::before{
	content:"";
	display:block;
	width:28px;
	height:28px;
	border-radius:50px;
	background: linear-gradient(to left bottom, #18AAEC, #A28BD2 ,#F23BA1);
	position: absolute;
	left:0;
	right:0;
	margin:auto;
	bottom:30px;
}
@media screen and (max-width: 640px) {
	.square_cp .steps_item a::before{
		left:auto;
		right:20px;
		bottom:20px;
	}
}
.square_cp .steps_item a::after{
	content:"";
	display:block;
	width:8px;
	height:8px;
	border-right:2px solid #fff;
	border-top:2px solid #fff;
	transform: rotate(135deg);
	position: absolute;
	left:0;
	right:0;
	margin:auto;
	bottom:42px;
}
@media screen and (max-width: 640px) {
	.square_cp .steps_item a::after{
		left:auto;
		right:30px;
		bottom:32px;
	}
}
.square_cp .steps_image {
	margin-bottom:10px;
}
@media screen and (max-width: 640px) {
	.square_cp .steps_image {
		width:28%;
		margin-bottom:0;
	}
}
@media screen and (max-width: 640px) {
	.square_cp .steps_text {
		text-align: left;
	}
}
.square_cp .steps_text_small {
	font-size:0.75em;
	display:inline-block;
	margin-bottom:2px;
}
.square_cp .howto_flow {
	margin-top:40px;
}
.square_cp .howto_flow_chart {
    display: grid;
	color:#181818;
}
@media screen and (max-width: 640px) {
	.square_cp .howto_flow_chart {
		display:flex;
		flex-direction: column;
		gap:20px;
	}
}
.square_cp .chart {
    border-radius: 18px;
    background: #FFF2F8;
    position: relative;
    padding: 30px 20px;
    margin-right: 20px;
    text-align: left;
    box-sizing: border-box;
	text-align:center;
}
@media screen and (max-width: 640px) {
	.square_cp .chart {
		margin: 0px;
	}
}
.square_cp .chart img{
	margin:20px 0 0;
}
.square_cp .chart_text {
	text-align:left;
}
/*--chart1--*/
.square_cp .howto_flow-step1 .chart {
	width: calc(1160px / 3);
}
@media screen and (max-width: 640px) {
	.square_cp .howto_flow-step1 .chart {
		width:100%;
        padding: 20px;
	}
}
.square_cp .chart.step1-01 {
    grid-row: 1 / 2;
    grid-column: 1 / 2;
}
.square_cp .howto_flow-step1 .step1-02 {
    background: #c7e5fc;
    grid-row: 2 / 3;
    grid-column: 1 / 2;
    margin-top: 20px;
}
@media screen and (max-width: 640px) {
    .square_cp .howto_flow-step1 .step1-02 {
		margin-top: 0;
        width: auto !important;
        margin-left: 61px;
    }
}
.square_cp .howto_flow-step1 .step1-03 {
    grid-row: span 2;
    grid-column: 2 / 3;
}
.square_cp .howto_flow-step1 .step1-04 {
    grid-row: span 2;
    grid-column: 3 / 4;
}
.square_cp .howto_flow-step1 .chart:last-of-type {
    margin-right: 0;
}
/*--chart2--*/
.square_cp .howto_flow-step2 .howto_flow_chart {
	display: flex;
	flex-wrap: wrap;
}
.square_cp .howto_flow-step2 .chart {
	width: calc((100% - 40px) / 3);
}
@media screen and (max-width: 640px) {
	.square_cp .howto_flow-step2 .chart {
		width:100%;
	}
}
.square_cp .howto_flow-step2 .chart:nth-child(3n) {
    margin-right: 0;
}
.square_cp  .howto_flow-step2 .step2-04 {
	width: calc((((100% - 40px) / 3 ) * 2 ) + 20px);
	margin-right:20px;
}
@media screen and (max-width: 640px) {
	.square_cp  .howto_flow-step2 .step2-04 {
		width:100%;
	}
}
.square_cp  .howto_flow-step2 .step2-04,
.square_cp  .howto_flow-step2 .step2-05 {
	margin-top:20px;
}
@media screen and (max-width: 640px) {
	.square_cp  .howto_flow-step2 .step2-04,
	.square_cp  .howto_flow-step2 .step2-05 {
		margin:0;
	}
}
/*--chart2-2--*/
.square_cp .howto_flow-step2-2 .chart {
}
.square_cp .step2-2-01 {
    grid-row: 1 / 2;
    grid-column: 1 / 2;
	width: calc((1200px - 46px - 46px - 40px) / 3);
}
@media screen and (max-width: 640px) {
	.square_cp .step2-2-01 {
		width:auto;
	}
}
.square_cp .step2-2-02 {
    grid-row: 2 / 3;
    grid-column: 1 / 2;
    margin-top: 20px;
	width: calc((1200px - 46px - 46px - 40px) / 3);
}
@media screen and (max-width: 640px) {
	.square_cp .step2-2-02 {
		margin-top:0;
		width:auto;
	}
}
.square_cp .step2-2-03 {
    grid-row: 1 / 3;
    grid-column: 2 / 4;
    margin-right:0;
}
@media screen and (max-width: 640px) {
	.square_cp .step2-2-03 {
		width:auto;
	}
}
.square_cp .step2-2-04 {
    grid-row: 3 / 4;
    grid-column: 1 / 4;
    margin-top: 20px;
}
@media screen and (max-width: 640px) {
	.square_cp .step2-2-04 {
		margin-top:0;
	}
}
.square_cp .step2-2-04 .chart_column {
	align-items:center;
}
@media screen and (max-width: 640px) {
	.square_cp .step2-2-04 .chart_column {
		margin-top:20px;
	}
}
.square_cp .step2-2-04 .chart_inner_bg {
	height:100%;
}
.square_cp .step2-2-04 .chart_images {
	align-items:center;
}
.square_cp .chart:last-of-type {
    margin-right: 0;
}
/*--chart2-3--*/
.square_cp .howto_flow-step2-3 .howto_flow_chart {
	display: flex;
	flex-wrap: wrap;
}
.square_cp .howto_flow-step2-3 .chart {
	width: calc((100% - 40px) / 3);
}
@media screen and (max-width: 640px) {
	.square_cp .howto_flow-step2-3 .chart {
		width:100%;
	}
}
.square_cp .howto_flow-step2 .chart:nth-child(3n) {
    margin-right: 0;
}
/*--chart3--*/
.square_cp .howto_flow-step2-3 .howto_flow_chart {
	display: flex;
	flex-wrap: wrap;
}
.square_cp .howto_flow-step2-3 .chart {
	width: calc((100% - 40px) / 3);
}
@media screen and (max-width: 640px) {
	.square_cp .howto_flow-step2-3 .chart {
		width:100%;
	}
}
.square_cp .howto_flow-step2-3 .chart:nth-child(3n) {
    margin-right: 0;
}
/*--chart4--*/
.square_cp .howto_flow-step3 .howto_flow_chart {
	display: flex;
	flex-wrap: wrap;
}
.square_cp .howto_flow-step3 .chart {
	width: calc((100% - 40px) / 3);
}
@media screen and (max-width: 640px) {
	.square_cp .howto_flow-step3 .chart {
		width:100%;
	}
}
.square_cp .howto_flow-step3 .chart:nth-child(3n) {
    margin-right: 0;
}
.square_cp .howto_flow-step3 .chart_column {
	text-align:center;
	flex-direction: row;
}
.square_cp .howto_flow-step3 .chart_column_l,
.square_cp .howto_flow-step3 .chart_column_r {
	width:50%;
}
@media screen and (max-width: 640px) {
	.square_cp .howto_flow-step3 .chart_column_l,
	.square_cp .howto_flow-step3 .chart_column_r {
		width:auto;
	}
}
.square_cp .chart_arrow {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 18px;
    margin: auto !important;
    z-index: 2;
    right: -18px;
}
@media screen and (max-width: 640px) {
	.square_cp .chart_arrow {
        width: auto;
        height: 20px;
        top: auto;
        bottom: -20px;
        left: 0;
        right: 0;
    }
}
.square_cp .chart_arrow-no {
    position: absolute;
    left: 0;
    right: 0;
    width: 85px;
    margin: auto !important;
    z-index: 2;
    bottom: -18.88px;
}
@media screen and (max-width: 640px) {
    .square_cp .chart_arrow-no {
        width: auto;
        height: 20px;
        right: 0;
        left: 0;
        bottom: auto !important;
        top: -20px;
    }
}
.square_cp .chart_arrow-down {
    position: absolute;
    left: 0;
    right: 0;
    width: 19px;
    margin: auto !important;
    z-index: 2;
    bottom: -18.88px;
}
@media screen and (max-width: 640px) {
	.square_cp .chart_arrow-down {
		width: auto;
        height: 20px;
        top: auto;
        bottom: -20px;
	}
}
.square_cp .chart_arrow-yes {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 34px;
    margin: auto !important;
    z-index: 2;
    right: -27px;
}
@media screen and (max-width: 640px) {
    .square_cp .chart_arrow-yes {
        width: 100%;
        position: static;
    }
}
@media screen and (max-width: 640px) {
    .square_cp .chart_arrow-yes-wrap {
        height: calc(100% + 40px - 8px);
        width: 61px;
        top: auto;
        bottom: -12px;
        margin: auto;
        z-index: 2;
        right: auto;
        left: -61px;
        position: absolute;
        background: url(../img/chart_arrow_yes_line.png) repeat-y center / contain;
    }
}
@media screen and (max-width: 640px) {
    .square_cp .chart_arrow-yes-wrap.sp::after {
        position: absolute;
        left: 0;
        right: 0;
        bottom: -8px;
        margin: auto;
        content: "";
        background: #e85baa;
        height: 9px;
        width: 15px;
        clip-path: polygon(0 0, 100% 0, 50% 100%);
    }
}
@media screen and (max-width: 640px) {
    .square_cp .chart_arrow-yes-wrap img {
        display: block;
    }
}


@media screen and (max-width: 640px) {
    .square_cp .chart_inner {
        display: flex;
        align-items: flex-start;
    }
}
.square_cp .chart_inner_bg {
	background:#fff;
	border-radius:18px;
	padding:20px;
	text-align:left;
	margin:15px 0 0 0;
}
@media screen and (max-width: 640px) {
	.square_cp .chart_inner_bg {
		margin:0;
	}
}
.square_cp .chart_num {
    color: #E85BAA;
    text-align: center;
    font-weight: 900;
    font-size: 1.875rem;
    margin-bottom: 10px;
    line-height: 1em;
}
@media screen and (max-width: 640px) {
    .square_cp .chart_num {
        font-size: 1.5625rem;
        margin: 0 10px 0 0;
    }
}
.square_cp .chart_column {
	display:flex;
	align-items:flex-start;
	justify-content:center;
	gap:20px;
	text-align:left;
}
@media screen and (max-width: 640px) {
	.square_cp .chart_column {
		flex-direction: column;
		align-items:center;
		gap:10px;
	}
}
.square_cp .chart_images {
	display:flex;
	align-items:flex-start;
	justify-content:center;
	gap:20px;
}
@media screen and (max-width: 640px) {
	.square_cp .chart_images {
		flex-direction: column;
		align-items:center;
		gap:10px;
	}
}
.square_cp .chart .btn-secondary {
	margin:24px 0 0;
}
@media screen and (max-width: 640px) {
	.square_cp .chart .btn-secondary {
		margin:15px 0 0;
	}
}
.square_cp .howto_item {
	margin-bottom:40px;
	padding-bottom:40px;
	border-bottom:1px solid #DDDDDD;
}
@media screen and (max-width: 640px) {
	.square_cp .howto_item {
		margin-bottom:20px;
		padding-bottom:20px;
	}
}
.square_cp .howto_item:last-child {
	border:none;
	margin-bottom:0;
	padding-bottom: 0;
}
.square_cp .howto_item_head {
	color: #0D3582;
	font-size:1.25rem;
	font-weight: 700;
	margin-bottom:20px;
	display:inline-block;
	padding-left:15px;
	position:relative;
	text-indent:-15px;
	vertical-align: middle;
}
@media screen and (max-width: 640px) {
	.square_cp .howto_item_head {
		font-size:1rem;
		line-height:1.4em;
		margin-bottom:15px;
	}
}
.square_cp .howto_item_head::before {
	content:"";
	display:inline-block;
	width:10px;
	height:10px;
	border-radius:20px;
	background:#0D3582;
	margin-right:5px;
	vertical-align: middle;
	margin-bottom: 0.25em;
}
.square_cp .howto_item_title {
	font-weight: 700;
	margin-bottom:10px;
	margin-top:30px;
}
.square_cp .accordion_btn .charm {
	padding-left:22px;
	display:inline-block;
	position: relative;
}
.square_cp .accordion_btn .charm::before {
	content:"";
	display:block;
	width:18px;
	height:17px;
	background: url("../../img/charm_kira.svg") no-repeat center / contain;
	top:0;
	bottom:0;
	left:0;
	margin:auto;
	position:absolute;
}