@charset "utf-8";
/* CSS Document */

.compliance #mainVisual{
	position: relative;
	background: url("/compliance/img/mainVisual_compliance.jpg") no-repeat center;
	background-size: cover;
	height: 180px;
}

.small{
	font-size: 12px;
}

.spStyle{
	display: none;
}

#declaration{
	margin-bottom: 80px;
}

.declaration_content{
	margin-bottom: 20px;
	padding: clamp(20px, 5.21vw, 40px) clamp(15px, 3.91vw, 30px);
	border: 2px solid #D5D5D5;
	border-radius: 20px;
	background-color: #f7f7f7;
}
#sub-page  .declaration_content h4{
	text-align: center;
	color: #000;
}
.declaration_content h5 span,
.declaration_content > div li span{
	display: inline-block;
	width: 1.5em;
}
.declaration_content h5{
	margin-bottom: 4px;
}
.declaration_content > div > p,
.declaration_content > div ul{
	padding-left: 1.5em;
	line-height: 1.7;
}
.declaration_content > div ul{
	margin-bottom: 20px;
	padding-left: 1.5em;
}
.declaration_content > div li{
	display: flex;
	align-items: flex-start;
}
.declaration_content > div li span{
	flex-shrink: 0;
	width: 1.5em;
}
.declaration_content > div li p{
	flex: 1;
	margin: 0;
}
.declaration_content > p{
	margin: 30px 0 0;
	text-align: right;
}
.declaration_content > p span{
	font-size: 20px;
}
.declaration_btns{
	display: flex;
	justify-content: center;
	gap: 20px;
}
.declaration_btns a.btn_outer{
	max-width: 340px;
}

a.btn_outer {
	display: block;
    width: 100%;
    padding: 14px 0;
    color: #fff;
	position: relative;
	text-align: center;
}
a.btn_outer:hover{
	text-decoration: none;
}

a.btn_outer::before,
a.btn_outer::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    -webkit-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

a.btn_outer::before {
	background: -o-linear-gradient(45deg, #2D8C3D 0%, #25BA25 100%);
	background: linear-gradient(45deg, #2D8C3D 0%, #25BA25 100%);
	position: absolute;
}

a.btn_outer::after {
	background: -o-linear-gradient(45deg, #25BA25 0%, #2D8C3D 100%);
	background: linear-gradient(45deg, #25BA25 0%, #2D8C3D 100%);
	opacity: 0;
}
a.btn_outer:hover::after {
		opacity: 1;
}

@media screen and (max-width: 768px){
	.declaration_content {
		padding: 30px 20px;
	}
	.declaration_btns a.btn_outer {
		max-width: 670px;
		margin: 0 auto;
	}
}

@media screen and (max-width: 750px){
	.compliance #mainVisual{
		background: url("/compliance/img/mainVisual_compliance_sp.jpg") no-repeat center;
		background-size: cover;
	}
}

@media screen and (max-width: 600px){
	.declaration_btns{
		flex-direction: column;
	}
}

@media screen and (max-width: 550px){
	.spStyle{
		display: block;
	}
}

@media screen and (max-width: 252px){
	.declaration_content > p span{
		display: block;
	}
}