@charset "utf-8";


/* -----------------------------------------------------------
    政策
-------------------------------------------------------------- */
#policy{}

#policy .banner-area .policy{
    display: none;
}

#policy .policy-eng-catch{
    font: 600 8.4rem / 1 'Cormorant Garamond', serif;
	text-align: center;
	position: relative;
	z-index: 1;
	padding: 30px 0 0;
}
#policy .policy-catch{
	text-align: center;
	/*
	color: #1B4C9E;
    font: 700 3.4rem / 1 'Noto Sans JP', sans-serif;
	*/
}


@media screen and (max-width: 667px){
	
	#policy .policy-eng-catch{
        font-size: 4rem;
		padding: 10px 0 0;
    }

    #policy .policy-catch{
		padding: 0 0 20px;
	}
    #policy .policy-catch img{
        width: 233px;
    }
	
}


/*    pagelink-area
-------------------------------------------------------------- */
.pagelink-area{
    display: flex;
    justify-content: space-between;
    padding: 70px 0 20px;
}
.pagelink-area > li{
    /*width: 340px;*/
	width: 270px;
}

.pagelink-area a{
    display: block;
    color: #fff;
    font: 700 2.6rem / 1 'Noto Sans JP', sans-serif;
    text-align: center;
    padding: 23px 0;
    position: relative;
}
.pagelink-area a::after{
    display: block;
    content: "\f107";
    color: #fff;
    font: 900 2.6rem / 1 "Font Awesome 5 Free";
    position: absolute;
    top: calc((100% - 1em) / 2);
    right: 25px;
}

.pagelink-area .policy01 a{
    background: #338DCB;
}
.pagelink-area .policy02 a{
    background: #33BBCB;
}
.pagelink-area .policy03 a{
    background: #33CB9C;
}
.pagelink-area .policy04 a{
    background: #00af79;
}

@media screen and (max-width: 667px){

	/*
    .pagelink-area{
        display: none;
    }
	*/
	.pagelink-area{
		display: block;
		margin: 0 10px 20px;
		padding: 12px 20px;
		width: auto;
		border: 1px #666 solid;
	}
	.pagelink-area > li{
		width: auto;
	}

	.pagelink-area a{
		display: block;
		color: #333;
		font: 500 1.8rem / 1 'Noto Sans JP', sans-serif;
		text-align: left;
		padding: 14px 0 16px;
		border-bottom: 1px #ddd solid;
	}
	.pagelink-area li:last-child a{
		border-bottom: none;
	}
	.pagelink-area a::after{
		color: #0071BE;
		font-size: 2rem;
		right: 0;
	}

	.pagelink-area .policy01 a{
		background: #fff;
	}
	.pagelink-area .policy02 a{
		background: #fff;
	}
	.pagelink-area .policy03 a{
		background: #fff;
	}
	.pagelink-area .policy04 a{
		background: #fff;
	}
	
}


/*    policy-area
-------------------------------------------------------------- */
.policy-area{
    width: 100%;
    margin: 0 0 30px;
}

.policy-title{
    font: 700 4rem / 1 'Noto Sans JP', sans-serif;
    text-align: center;
    padding: 80px 0;
}
.policy-title small{
    display: block;
    font-size: 3rem;
    margin: 15px 0 0;
	line-height: 1.3;
}

.policy-wrap > li{
    width: 690px;
    background: #fff;
    box-shadow: 0 0 20px rgba(117, 117, 117, .15);
    padding: 60px;
    margin: 0 0 50px;
    position: relative;
}
.policy-wrap > li:nth-of-type(2n){
    margin: 0 0 50px auto;
}
.policy-wrap > li:last-of-type{
    margin-bottom: 0;
}

.policy-wrap .section-title{
    color: #222;
    font-size: 3.4rem;
    line-height: 1.4;
}
.policy-wrap .section-title::after{
    margin: 20px 0 40px;
}

.policy-img{
    position: absolute;
    z-index: 1;
}
.policy-img img{
    width: 100%;
}

/* policy01 */
#policy01{
    background: url("../img/policy-bg01.png") no-repeat top center / 100% 100%;
}
#policy01 .policy-title{
    color: #338DCB;
}
#policy01 .policy-wrap .section-title::after{
    background: #338DCB;
}

.policy-img.policy-01-01{
    width: 320px;
    top: -20px;
    right: -285px;
}
.policy-img.policy-01-02{
    width: 355px;
    top: 60px;
    left: -335px;
}
.policy-img.policy-01-03{
    top: 60px;
    right: -365px;
}

/* policy02 */
#policy02{
    background: url("../img/policy-bg02.png") repeat-y top center / 100%;
}
#policy02 .policy-title{
    color: #33BBCB;
}
#policy02 .policy-wrap .section-title::after{
    background: #33BBCB;
}

.policy-img.policy-02-01{
    top: 95px;
    right: -485px;
}

.policy-img.policy-02-02,
.policy-img.policy-02-04{
    width: 480px;
    top: 40px;
    left: -460px;
}
.policy-img.policy-02-03{
    top: 60px;
    right: -465px;
}
.policy-img.policy-02-05{
    width: 375px;
    top: -20px;
    left: -355px;
}
.policy-img.policy-02-06{
    width: 320px;
    top: 40px;
    right: -290px;
}
.policy-img.policy-02-07{
    width: 500px;
    top: 80px;
    left: -465px;
}

/* policy03 */
#policy03{
    background: url("../img/policy-bg03.png") no-repeat top center / 100% 100%;
    /*padding: 0 0 160px;
    margin: 0;*/
}
#policy03 .policy-title{
	color: #31C196;
}
#policy03 .policy-wrap .section-title::after{
    background: #31C196;
}

#policy03 .policy-wrap > li{
    width: 705px;
	/*margin: 0 auto;*/
}

.policy-img.policy-03-01{
    width: 370px;
    top: 60px;
    right: -340px;
}
.policy-img.policy-03-02{
    width: 330px;
    bottom: -80px;
    left: -295px;
}

#policy03 .cv-btn a{
    margin: 35px auto 0;
}

@media screen and (max-width: 667px){

    .policy-area{
        padding: 10px;
        margin: 0 0 5px;
    }

    .policy-title{
        color: #fff !important;
        font-size: 2.2rem;
        padding: 15px 0;
        position: relative;
    }
	/* アコーディオン
    .policy-title::after{
        content: "\f067";
        display: block;
        font: 900 1.5rem / 1 "Font Awesome 5 Free";
        transition: all .4s;
        position: absolute;
        right: 15px;
        top: calc((100% - 1em) / 2);
    }
    .policy-title.active::after{
        content: "\f068";
    }
	*/
    .policy-title small{
        font-size: 1.5rem;
        margin: 8px 0 0;
    }
    
    .policy-wrap{
		/* アコーディオン
        display: none;
		*/
    }

    .policy-wrap > li{
        width: 100%;
        box-shadow: none;
        padding: 20px;
        margin: 0 0 20px;
    }
    .policy-wrap > li:nth-of-type(2n){
        margin: 0 0 20px;
    }

    .policy-wrap .section-title{
        font-size: 2.4rem;
    }
    .policy-wrap .section-title::after{
        margin: 15px 0 20px;
    }

    .policy-img{
        position: static;
    }

    /* policy01 */
    #policy01{
        background: #f3fbff;
    }
    #policy01 .policy-title{
        background: #338DCB;
    }

    .policy-img.policy-01-01{
        width: 150px;
        float: left;
        margin: 10px 15px 5px 0;
    }
    .policy-img.policy-01-02,
    .policy-img.policy-01-03{
        width: 100%;
        margin: 0 0 10px;
    }

    /* policy02 */
    #policy02{
        background: #f2fdf9;
    }
    #policy02 .policy-title{
        background: #33BBCB;
    }

    .policy-img.policy-02-01,
    .policy-img.policy-02-02,
    .policy-img.policy-02-03,
    .policy-img.policy-02-04,
    .policy-img.policy-02-07{
        width: 100%;
        margin: 0 0 10px;
    }
    .policy-img.policy-02-05,
    .policy-img.policy-02-06{
        width: 180px;
        float: left;
        margin: 0 10px 10px 0;
    }

    /* policy03 */
    #policy03{
        background: #f2fdf3;
        padding: 20px;
        margin: 0;
    }
    #policy03 .policy-title{
        background: #31C196;
    }

    #policy03 .policy-wrap > li{
        width: 100%;
    }

    .policy-img.policy-03-01{
        width: 180px;
        float: left;
        margin: 0 10px 10px 0;
    }
    .policy-img.policy-03-02{
        width: 180px;
        float: right;
        margin: 0 0 10px 10px;
    }

    #policy03 .cv-btn a{
        margin: 10px auto 0;
    }
}


/*    2023.03　選挙用
-------------------------------------------------------------- */

/* policy01 */
.policy-box-01 .img-01{
    top: -30px;
    right: -360px;
}

.policy-box-01 .img-02{
    top: 40px;
    left: -350px;
}

.policy-box-01 .img-03{
    top: 70px;
    right: -360px;
}

.policy-box-01 .img-04{
    top: 40px;
    left: -350px;
}

.policy-box-01 .policy-img{
	width: 375px;
}
.policy-box-01 .policy-img img{
	width:100%;
}

.info-video{
	margin: 50px auto;
}

.info-video video{
	width: 100%;
}

/* policy02 */
.policy-box-02{
	display: flex;
}

.policy-box-02 .digital-img{
	margin-right: 30px;
}

/* policy03 */
.policy-box-03 .img-01{
    top: 50px;
    right: -440px;
}

.policy-box-03 .img-02{
    top: 30px;
    left: -470px;
}

.policy-box-03 .img-03{
    top: 100px;
    right: -430px;
}

.policy-box-03 .checkmark li{
	line-height: 1.8;
}

.policy-box-03 .checkmark li:before {
    content: '';
    display: block;
    position: relative;
    top: 17px;
    left: -17px;
    width: 10px;
    height: 5px;
    border-left: 2px solid #f6e80d;
    border-bottom: 2px solid #f6e80d;
    transform: rotate(-45deg);
}

/* policy04 */
#policy04{
    background: url("../img/policy-bg04.png") no-repeat top center / 100%;
	padding: 0 0 100px;
}

#policy04 .policy-title{
	color: #00af79;
}

.policy-box-04{
	width: 1300px;
	margin: 0 auto;
}

.policy-box-04 h3{
	margin-bottom: 10px;
	font-size: 2.0rem;
	font-weight: bold;
	padding: 5px 5px;;
  	border-left: 4px solid #00af79;
}

.policy-box-04 ul{
	display: flex;
}

.policy-box-04 ul li{
	width:calc((100% - 60px) / 3);
}

.policy-box-04 ul .img-01,
.policy-box-04 ul .img-02{
	margin-right: 30px;
}

.policy-box-04 ul li img{
	width:100%;
}
.policy-box-04 video{
	margin-top: 30px;
	width: 410px;
	height: 260px;
}

@media screen and (max-width: 667px){
	
	/* policy01 */
	.policy-box-01 .policy-img{
		width: 100%;
		margin: 0 0 10px;
	}
	
	.info-video{
		margin: 30px 0;
		width:100%;
		height:auto; 
	}
	
	/* policy02 */
	.policy-box-02{
		flex-direction: column;
		padding: 20px 10px;
	}
	
	.policy-box-02 .digital-img{
		margin-right: 0;
		margin-bottom: 20px;
	}
	
	/* policy03 */
	.policy-box-03 .policy-img{
		margin: 0 0 10px;
	}
	
	.policy-box-03 .checkmark{
		padding: 0 10px 0 20px;
	}
	
	/* policy04 */
	#policy04 {
		margin: 0;
		padding: 0;
	}
	
	#policy04 .policy-title{
        background: #00af79;
    }
	
	.policy-box-04{
		width: 100%;
	}

	.title-padding{
		padding: 20px;
	}
	
	.policy-box-04 ul{
		flex-direction: column;
	}
	
	.policy-box-04 ul li{
		width: 100%;
		padding: 20px;
		margin: 0 0 20px;
	}
	
	.policy-box-04 ul .img-01,
	.policy-box-04 ul .img-02{
		margin-right: 0;
	}
	
	.policy-box-04 video{
		width: 100%;
		height:auto;
	}
}


