@charset "utf-8";

/* models */
ul{
	padding-left: 0;
	margin: 0;
}

ul li{
	list-style: none;
}
p{
	font-size: 18px;
	line-height: 1.7;
	margin: 0;
}


/* --- SP ---------- */
@media print, screen and (max-width: 768px) {
	p{
		font-size: 16px;
	}

    .pc-contents{
        display: none;
    }
}

/* --- PC ---------- */
@media print, screen and (min-width: 769px) {
    .sp-contents{
        display: none;
    }
}



.partners .partners-fv-wrap{
	margin: 50px auto;
	max-width: 1284px;
    width: 95%;
	position: relative;
}

.partners .partners-fv-wrap .partners-fv-list .list-box{
	padding: 20px;
	border-radius: 30px;
	border: 1px solid #D9D9D9;
	box-sizing: border-box;
}

.partners .partners-fv-wrap .partners-fv-list .list-box .list-ttl{
	text-align: center;
	font-size: 21px;
	font-weight: bold;
	color: #2DC5C6;
	margin-bottom: 20px;
}

.partners .partners-fv-wrap .partners-fv-list .list-box:first-child .list-ttl{
	color: #00579D;
}

.partners .partners-fv-wrap .partners-fv-list .list-box .list-ttl span{
	position: relative;
	display: inline-block;
	padding-left: 2em;
	box-sizing: border-box;
}

.partners .partners-fv-wrap .partners-fv-list .list-box .list-ttl span::before{
	content: '';
	display: inline-block;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	width: 1.5em;
	height: 1.5em;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.partners .partners-fv-wrap .partners-fv-list .list-box:first-child .list-ttl span::before{
	background-image: url(../images/partners/icon-partners01.jpg);
}

.partners .partners-fv-wrap .partners-fv-list .list-box:last-child .list-ttl span::before{
	background-image: url(../images/partners/icon-partners02.jpg);
}

.partners .partners-fv-wrap .partners-list li{
	padding: 5px 10px 5px 40px;
	font-size: 18px;
	background: linear-gradient(90deg, #d5f3f4 0%, #fff 100%);
	position: relative;
	box-sizing: border-box;
	text-align: left;
}

.partners .partners-fv-wrap .partners-list li:nth-of-type(n+2){
	margin-top: 10px;
}

.partners .partners-fv-wrap .partners-list li::before{
	content: '✓';
	display: inline-block;
	color: #FF9556;
	font-weight: bold;
	font-size: 24px;
	position: absolute;
	left: 13px;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.partners .middle .partners-ttl{
	margin: 0;
    font-size: 36px;
    text-align: center;
}

.partners .middle .partners-lead{
	text-align: center;
    margin: 25px 0;
}

.partners .middle .ttl-bottom{
	text-align: center;
}

.partners .middle .ttl-bottom p{
	display: inline-block;
    font-size: 24px;
    font-weight: bold;
    color: #fff;
    background-color: #2DC5C6;
    padding: 0 10px;
    margin: 0 10px 10px;
    box-sizing: border-box;
}

.partners .middle .partners-case{
	margin-top: 40px;
    padding: 45px 40px 0;
    border-radius: 30px;
    border: 1px solid #D9D9D9;
    box-sizing: border-box;
}

.partners .middle .partners-case .partners-case-ttl{
	font-size: 36px;
    color: #2DC5C6;
    text-align: center;
    padding-bottom: 40px;
    margin: 0 0 40px;
    position: relative;
}

.partners .middle .partners-case .partners-case-ttl::after{
	content: '';
    display: inline-block;
    width: 1px;
    height: 25px;
    background-color: #2DC5C6;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
}

.partners .middle .partners-case .case-list-wrap .case-list li{
	padding: 5px 1em;
    font-size: 24px;
    font-weight: bold;
    background: linear-gradient(90deg, #d5f3f4 0%, #fff 100%);
    position: relative;
    box-sizing: border-box;
    text-align: left;
	margin-bottom: 15px;
}

.partners .middle .partners-case .case-list-wrap .case-list li::before{
	content: '';
	display: inline-block;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background-color: #FF9556;
	position: absolute;
	left: -7.5px;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.partners .middle .partners-case .case-list-wrap .case-img{
    text-align: center;
}

.partners .middle .partners-case .case-list-wrap .case-img p{
	max-width: 235px;
    width: 100%;
    margin: 0 auto 10px;
    box-sizing: border-box;
    border: 2px solid #2DC5C6;
    border-radius: 15px;
    padding: 5px 10px;
    display: block;
    font-weight: bold;
}

.partners .partners-faq{
	background-color: #EEF8F8;
	padding: 100px 0;
}

.partners .partners-faq .inner{
	max-width: 1284px;
    width: 95%;
	margin: 0 auto;
}

.partners .partners-faq .faq-ttl{
	font-size: 36px;
	margin: 0 0 50px;
	text-align: center;
}

.partners .partners-faq .faq-wrap .faq-box{
	padding: 30px;
	border-radius: 20px;
	background-color: #fff;
	box-sizing: border-box;
}

.partners .partners-faq .faq-wrap .faq-box .faq-desc{
	display: flex;
	align-items: center;
}

.partners .partners-faq .faq-wrap .faq-box .faq-desc:first-child{
	margin-bottom: 30px;
}

.partners .partners-faq .faq-wrap .faq-box .faq-desc .faq-circle{
	min-width: 40px;
	min-height: 40px;
	border-radius: 50%;
	border: 1px solid #2DC5C6;
	padding: 5px;
	line-height: 1;
	box-sizing: border-box;
	background-color: #fff;
	color: #2DC5C6;
	margin: 0;
	font-weight: bold;
	font-size: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.partners .partners-faq .faq-wrap .faq-box .faq-desc .faq-circle.question{
	background-color: #2DC5C6;
	color: #fff;
}

.partners .partners-faq .faq-wrap .faq-box .faq-desc .faq-txt{
	font-weight: bold;
	line-height: 1.75;
	margin: 0 0 0 1em;
	font-size: 16px;
}


/* --- PC ---------- */
@media print, screen and (min-width: 769px) {
	.partners .partners-fv-wrap .partners-fv-list{
		display: flex;
	}

	.partners .partners-fv-wrap .partners-fv-list .list-box{
		width: 38%;
	}

	.partners .partners-fv-wrap .partners-fv-list .list-box:first-child{
		margin-right: 24%;
	}

	.partners .partners-faq .faq-wrap{
		display: flex;
	}

	.partners .partners-faq .faq-wrap .faq-box{
		width: 32%;
	}

	.partners .partners-faq .faq-wrap .faq-box:nth-of-type(n+2){
		margin-left: 2%;
	}

	.partners .middle .partners-case .case-list-wrap{
		display: flex;
		align-items: flex-end;
	}

	.partners .middle .partners-case .case-list-wrap .case-img{
		width: 36%;
	}

	.partners .middle .partners-case .case-list-wrap .case-list{
		width: 62%;
		margin: 0 2% 40px 0;
	}
}

@media print, screen and (max-width: 1190px) {
	.partners .partners-fv-wrap .partners-fv-list .list-box{
		padding: 15px;
		border-radius: 15px;
	}

	.partners .partners-fv-wrap .partners-fv-list .list-box .list-ttl{
		font-size: 18px;
	}

	.partners .partners-fv-wrap .partners-list li{
		font-size: 16px;
	}
}


@media print, screen and (min-width: 990px) {
	.partners .partners-fv-wrap .img{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
		-webkit-transform: translateY(-50%) translateX(-50%);
	}
}


@media print, screen and (min-width: 768px) and (max-width: 990px) {
	.partners .partners-fv-wrap .partners-fv-list .list-box{
		width: 49%;
	}

	.partners .partners-fv-wrap .partners-fv-list .list-box:first-child{
		margin-right: 2%;
	}
}


@media print, screen and (max-width: 990px) {
	.partners .partners-fv-wrap{
		display: grid;
	}

	.partners .partners-fv-wrap .img{
		order: 2;
	}

	.partners .partners-fv-wrap .partners-fv-list{
		order: 1;
		margin-bottom: 20px;
	}

	.partners .middle .partners-case .case-list-wrap .case-list li{
		font-size: 18px;
	}
}


/* --- SP ---------- */
@media print, screen and (max-width: 768px) {

	.partners .partners-fv-wrap{
		margin: 30px auto;
		width: 100%;
		max-width: 426px;
	}

	.partners .partners-fv-wrap .partners-fv-list .list-box:first-child{
		margin-bottom: 15px;
	}

	.partners .partners-fv-wrap .partners-list li{
		font-size: 16px;
	}

	.partners .middle .partners-ttl{
		font-size: 26px;
	}

	.partners .middle .partners-lead{
		margin: 10px 0;
	}

	.partners .middle .ttl-bottom p{
		font-size: 18px;
	}

	.partners .middle .partners-case{
		margin-top: 20px;
		padding: 20px 25px 0;
	}

	.partners .middle .partners-case .partners-case-ttl{
		font-size: 26px;
		padding-bottom: 20px;
		margin-bottom: 20px;
	}

	.partners .middle .partners-case .partners-case-ttl::after{
		height: 15px;
	}

	.partners .middle .partners-case .case-list-wrap .case-list{
		margin-bottom: 20px;
	}

	.partners .partners-faq{
		padding: 50px 0;
	}

	.partners .partners-faq .faq-ttl{
		font-size: 26px;
		margin-bottom: 30px;
	}

	.partners .partners-faq .faq-wrap .faq-box{
		margin-top: 20px;
		padding: 20px;
	}

	.partners .partners-faq .faq-wrap .faq-box .faq-desc:first-child{
		margin-bottom: 15px;
	}
}