@charset "UTF-8";
/*--------------------------------------------------
**************************************************
  PC用
**************************************************
--------------------------------------------------*/
@media screen and (min-width: 768px) {
	
	.main{
		margin-bottom: 160px;
	}
	
	.pre_box {
		margin:150px 0 200px;
	}
	.pre_box p {
		text-align:center;
		font-size:24px;
		font-weight:700;
	}
	.pre_box p span {
		font-family:Poppins;
		display:block;
		font-size:48px;
		margin-bottom:20px;
	}
	
	h2.catch{
		font-size: 4.0rem;
		font-weight: 700;
	}
	
	h2.catch + div{
		text-align: center;
		font-size: 2.0rem;
	}

	.pc{
    width: 50%;
	margin: 0 auto 120px;
	}
	.pc img{
		width: 100%;
		height: auto;
	}
	
	.info{
		font-size: 1.4rem;
		color: #8E8E8E;
	}
	
	/* partner */
	.partner_content h3 {
		text-align:center;
		font-size:30px;
	}
	.partner_content ul {
		width:1280px;
		max-width:86%;
		margin:40px auto 0;
		display:flex;
		justify-content:space-between;
		text-align:center;
	}
	.partner_content ul li {
		width:23.5%;
		color:#0055B8;
		font-size:22px;
		font-weight:bold;
		padding:40px 0;
		border:1px solid #0055B8;
		border-radius:20px;
	}
	
	
	/*------------merit---------------*/
	.merit {
		margin-top:120px;
	}
	.merit-part-container{
		position: relative;
		margin-bottom: 80px;
	}
	
	.merit-part{
		padding-bottom: 80px;
		display: flex;
		justify-content: flex-end;
	}
	.merit-part-container:nth-of-type(even) .merit-part{
		flex-direction:row-reverse
	}
	
	.merit-part-text{
        width: 42%;
		max-width: 640px;
		padding-right: 56px;
	}
	
	.merit-part-container:nth-of-type(even) .merit-part .merit-part-text{
		padding-left: 56px;
	}
	.merit-number{
		font-size: 4.0rem;
		font-weight: 500;
		font-family: 'Outfit';
		padding-left: 32px;
		position: relative;
		left: 24px;
	}
	.merit-number::before{
		position: absolute;
		left: 0;
		top: 0.6rem;
		height: 4.8rem;
		content: '';
		border-right: solid 3px;
		transform: rotate(40deg);
	}
	.merit-number span{
		font-size: 1.8rem;
		padding-left: 8px;
		
	}
	.merit-part-text h3{
		font-size: 4.0rem;
		font-weight: 700;
		margin-bottom: 40px;
	}
	.merit-part-text .box_shadow{
		background: #fff;
		padding: 40px 48px;
		border-radius: 10px;
	}
	.merit-part-image{
		width: 50%;
		text-align: right;	
	}
	.merit-part-container:nth-of-type(even) .merit-part-image img{
		border-radius: 0 20px 20px 0 ;
	}
	
	.merit-part-image img{
		border-radius: 20px 0 0 20px;
		width: 100%;
		height: 576px;
		object-fit: cover;
	}
	.merit-list + div{
		margin-top: 24px;
	}
	.merit-list + div p{
		margin-bottom: 8px;
	}
	
	
	/*------------flow---------------*/
	.flow_contents{
		display: flex;
		justify-content: space-between;
		width: 90%;
        margin: 0 auto 60px;
	}
	.flow_contents .mb24 {
		margin-bottom:10px !important;
	}
	.flow_contents img{
		width: 100%;
		height: auto;
	}
	.flow_contents li{
		width: 18.8%;
		text-align: center;
	}
	.flow-number{
		font-size: 4.0rem;
		font-weight: 500;
		font-family: 'Outfit';
		padding-left: 32px;
		position: relative;
		left: 24px;
		display: inline-block;
	}
	.flow-number::before{
		position: absolute;
		left: 0;
		top: 0.6rem;
		height: 4.8rem;
		content: '';
		border-right: solid 3px;
		transform: rotate(40deg);
	}
	.flow-number span{
		font-size: 1.8rem;
		padding-left: 8px;	
	}
	.flow_title{
		font-size: 2.4rem;
		font-weight: 700;
	}
	.flow_text{
		margin-top:20px;
		text-align: left;
	}
	
	/*------------faq---------------*/
	.faq{
		width: 1080px;
		max-width:86%;
		margin: 0 auto 32px;
		border-radius: 20px;
		padding: 40px;
		background: #F6F6F6 ;
	}
	
	.faq dt{
		position: relative;
		cursor: pointer;
		font-weight: 700;
		padding-left: 64px;
		background: #F6F6F6 url("../imgs/common/icon_down.png") no-repeat right center;
		background-size: 16px 8px;
		
	}
	.faq dt.close{
		background: #F6F6F6 url("../imgs/common/icon_up.png") no-repeat right center;
		background-size: 16px 8px;
	}
	.faq dd{
		position: relative;
		padding-left: 64px;
		display: none;
		margin-top: 32px;

	}
	.faq dt::before{
		position: absolute;
		top: 50%;
		left: 0%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		display: inline-block;
		content: 'Q';
		font-family: "Poppins", sans-serif;
		font-size: 2.0rem;
		background:#0055B8;
		color: #fff;
		width: 40px;
		height: 40px;
		border-radius: 20px;
		text-align: center;
		line-height: 40px;
		
	}
	
	.faq dd::before{
		position: absolute;
		top: 50%;
		left: 0%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		display: inline-block;
		content: 'A';
		font-family: "Poppins", sans-serif;
		font-size: 2.0rem;
		background:#fff;
		color: #0055B8;
		width: 40px;
		height: 40px;
		border-radius: 20px;
		text-align: center;
		line-height: 40px;
		margin-right: 24px;
		border: solid 1px #0055B8;
	}
	
	
}/* End PC */


@media screen and (min-width:768px) and ( max-width:1199px) {
	.flow_contents{
		display: flex;
		flex-wrap:wrap;
		justify-content: center;
		width: 90%;
        margin: 0 auto 20px;
	}
	.flow_contents li{
		width: 25%;
		text-align: center;
		margin:0 2% 50px;
	}
}


/*--------------------------------------------------
**************************************************
  SP用
**************************************************
--------------------------------------------------*/
@media screen and (max-width: 767px) {
	
	.main{
		margin-bottom: 120px;
	}
	
	.pre_box {
		margin:60px 0 100px;
	}
	.pre_box p {
		text-align:center;
		font-size:6vw;
		font-weight:700;
	}
	.pre_box p span {
		font-family:Poppins;
		display:block;
		font-size:8vw;
		margin-bottom:20px;
	}
	
	h2.catch{
		margin-top:40px;
		font-size: 2.6rem;
		font-weight: 700;
	}
	
	h2.catch + div{
		text-align: center;
		font-size: 1.4rem;
	}
	.pc{
		margin: 0 auto 64px;
	}
	.pc img{
		width: 100%;
		height: auto;
	}
	
	/* partner */
	.partner_content h3 {
		text-align:center;
		font-size:6vw;
	}
	.partner_content ul {
		width:86%;
		margin:20px auto 0;
		text-align:center;
	}
	.partner_content ul li {
		color:#0055B8;
		font-size:4.5vw;
		font-weight:bold;
		padding:10px 0;
		border:1px solid #0055B8;
		border-radius:10px;
		margin-top:10px;
	}
	
	/*------------merit---------------*/
	.merit {
		margin-top:50px;
	}
	.merit h2 +div{
		font-size: 1.4rem;
	}
	.info{
		color: #8E8E8E;
		font-size: 1.3rem;
	}
	.merit-part-container{
		position: relative;
		margin-bottom: 50px;
	}
	.merit-part{
		display: flex;
		flex-direction:column-reverse;
		flex-wrap:wrap;
	}
	.merit-part-text{
		width: 86%;
		margin: 0 auto;
	}
	

	.merit-number{
		font-size: 2.4rem;
		font-weight: 500;
		font-family: 'Outfit';
		padding-left: 16px;
		position: relative;
		left: 10px;
	}
	.merit-number::before{
		position: absolute;
		left: 0;
		top: 0.6rem;
		height: 2.6rem;
		content: '';
		border-right: solid 2px;
		transform: rotate(40deg);
	}
	.merit-number span{
		font-size: 1.5rem;
		padding-left: 4px;
		
	}
	.merit-part-text h3{
		font-size: 2.2rem;
		font-weight: 700;
		margin-bottom: 24px;
	}
	.merit-part-text h3 + p{
		font-size: 1.4rem;
	}
	.merit-part-text .box_shadow{
		background: #fff;
		padding: 32px 20px 32px 24px;
		border-radius: 10px;
	}
	ul.merit-list{
		
	}
	ul.merit-list li{
		font-size: 1.4rem;
		padding-left: 24px;
		position: relative;
		margin-bottom: 16px;
	}
	ul.merit-list li:last-child{
		margin-bottom: 0;
	}
	ul.merit-list li::before{
		content: "●";
		color: #0055B8;
		font-size: 0.8rem;
		position: absolute;
		left: 0;
		 top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	}
	.merit-part-image{
		width: 100%;
		margin-bottom: 32px;
	}
	.merit-part-image img{
		width: 100%;
		height: auto;
		box-shadow: none;
	}
	.merit-list + div{
		margin-top: 24px;
	}
	.merit-list + div p{
		margin-bottom: 8px;
		font-size: 1.4rem;
	}
	.keyword{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.keyword li{
		width: 49%;
		background: #EDEDED;
		border-radius:10px;
		height: 46px;
		margin-bottom: 8px;
		line-height: 1.2;
		font-size: 1.2rem;
		
		display:flex;
		-webkit-align-items: center;
		align-items: center;
		-webkit-justify-content: center; 
		justify-content:center;
	}
	/*------------flow---------------*/
	.flow_contents{
		width: 86%;
        margin: 0 auto 40px;
		text-align: center;
	}
	.flow_contents img{
		width: 100%;
		height: auto;
		border-radius: 10px;

	}
	.flow_contents li{
		margin-bottom: 64px;
	}
	.flow_contents li:last-child{
		margin-bottom: 0;
	}
	.flow-number{
		font-size: 2.4rem;
		font-weight: 500;
		font-family: 'Outfit';
		padding-left: 16px;
		position: relative;
		display: inline-block;
		
	}
	.flow-number::before{
		position: absolute;
		top: 0.6rem;
		height: 2.6rem;
		content: '';
		left: 0;
		border-right: solid 2px;
		transform: rotate(40deg);
	}
	.flow-number span{
		font-size: 1.5rem;
		padding-left: 4px;
		
	}
	
	.flow_title{
		font-size: 2.2rem;
		font-weight: 700;
	}
	
	.flow_text{
		text-align: left;
		font-size: 1.4rem;
	}
	

	.flow_contents + div{
		width: 86%;
		margin: 0 auto 120px;
	}
	
	
	/*------------faq---------------*/
	.faq{
		width: 86%;
		margin: 0 auto 32px;
		border-radius: 20px;
		padding: 32px 24px 32px 24px;
		background: #F6F6F6 ;
		font-size: 1.4rem;

	}
	
	.faq dt{
		position: relative;
		cursor: pointer;
		font-weight: 700;
		padding-left: 48px;
		padding-right: 24px;
		background: #F6F6F6 url("../imgs/common/icon_down.png") no-repeat right center;
		background-size: 14px 7px;
		
	}
	.faq dt.close{
		background: #F6F6F6 url("../imgs/common/icon_up.png") no-repeat right center;
		background-size: 14px 7px;
	}
	.faq dd{
		position: relative;
		padding-left: 48px;
		display: none;
		margin-top: 32px;

	}
	.faq dt::before{
		position: absolute;
		top: 50%;
		left: 0%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		display: inline-block;
		content: 'Q';
		font-family: "Poppins", sans-serif;
		font-size: 1.6rem;
		background:#0055B8;
		color: #fff;
		width: 34px;
		height: 34px;
		border-radius: 17px;
		text-align: center;
		line-height: 34px;
		
	}
	
	.faq dd::before{
		position: absolute;
		top: 50%;
		left: 0%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		display: inline-block;
		content: 'A';
		font-family: "Poppins", sans-serif;
		font-size: 1.6rem;
		background:#fff;
		color: #0055B8;
		width: 34px;
		height: 34px;
		border-radius: 17px;
		text-align: center;
		line-height: 34px;
		margin-right: 24px;
		border: solid 1px #0055B8;
	}
	
	
}/* End SP */
