@charset "UTF-8";
/*--------------------------------------------------
**************************************************
  PC用
**************************************************
--------------------------------------------------*/
@media screen and (min-width: 768px) {
	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;
	}
	/*------------meo---------------*/
	.meo-part-container{
		position: relative;
		margin-bottom: 80px;
	}
	
	.meo-part{
		padding-bottom: 80px;
		display: flex;
		justify-content: flex-end;
	}
	.meo-part-container:nth-of-type(odd) .meo-part{
		flex-direction:row-reverse
	}
	
	.meo-part-text{
        width: 42%;
		max-width: 640px;
		padding-right: 56px;
	}
	
	.meo-part-container:nth-of-type(odd) .meo-part .meo-part-text{
		padding-left: 56px;
	}
	.meo-number{
		font-size: 4.0rem;
		font-weight: 500;
		font-family: 'Outfit';
		padding-left: 32px;
		position: relative;
		left: 24px;
	}
	.meo-number::before{
		position: absolute;
		left: 0;
		top: 0.6rem;
		height: 4.8rem;
		content: '';
		border-right: solid 3px;
		transform: rotate(40deg);
	}
	.meo-number span{
		font-size: 1.8rem;
		padding-left: 8px;
		
	}
	.meo-part-text h3{
		font-size: 4.0rem;
		font-weight: 700;
		margin-bottom: 40px;
	}
	.meo-part-text .box_shadow{
		background: #fff;
		padding: 40px 48px;
		border-radius: 10px;
	}
	ul.meo-list{
		
	}
	ul.meo-list li{
		padding-left: 24px;
		position: relative;
		margin-bottom: 16px;
	}
	ul.meo-list li:last-child{
		margin-bottom: 0;
	}
	ul.meo-list li::before{
		content: "●";
		color: #0055B8;
		font-size: 1.2rem;
		position: absolute;
		left: 0;
		 top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);

	}
	.meo-part-image{
		width: 50%;
		text-align: right;
		
	}
	.meo-part-container:nth-of-type(odd) .meo-part-image img{
		border-radius: 0 20px 20px 0 ;
	}
	
	.meo-part-image img{
		border-radius: 20px 0 0 20px;
		width: 100%;
		height: 576px;
		object-fit: cover;
	}
	.meo-list + div{
		margin-top: 24px;
	}
	.meo-list + div p{
		margin-bottom: 8px;
	}
	.keyword{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.keyword li{
		width: 49%;
		background: #EDEDED;
		border-radius:10px;
		height: 46px;
		margin-bottom: 8px;
		text-align: center;
		line-height: 46px;
		font-size: 1.5rem;
		font-weight: 300;
	}
	/*------------flow---------------*/
	
	.flow_contents{
		display: flex;
		justify-content: space-between;
		width: 90%;
        margin: 0 auto 40px;
	}
	.flow_contents img{
		width: 100%;
		height: auto;
		border-radius: 10px;

	}
	.flow_contents li{
		width: 32%;
		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{
		text-align: left;
	}
	
	/*------------other---------------*/
	
	.other-part-container{
		position: relative;
		margin-bottom: 80px;
	}
	
	.other-part{
		padding-bottom: 80px;
		display: flex;
		justify-content: flex-end;
	}
	.other-part-container:nth-of-type(odd) .other-part{
		flex-direction:row-reverse
	}
	
	.other-part-text{
        width: 42%;
		max-width: 640px;
		padding-right: 56px;
		padding-left: 56px;

	}
	.other-part-text > div{
		font-size: 3.0rem;
		font-weight: 700;
		margin-bottom: 40px;
	}
	
	.other-part-image{
		width: 50%;
		text-align: right;
	}
	.other-part-container:nth-of-type(odd) .other-part-image img{
		border-radius: 0 20px 20px 0 ;
	}
	
	.other-part-image img{
		border-radius: 20px 0 0 20px;
		width: 100%;
		height: 576px;
		object-fit: cover;
	}


	
	.other-part-text h3{
		font-size: 4.0rem;
		font-weight: 700;
		margin-bottom: 40px;
	}
	.other-part-container:nth-of-type(odd) .other-part-image img{
		border-radius: 0 20px 20px 0;
	}
	
	
	.other-part-image img{
		border-radius: 20px 0 0 20px;
		width: 100%;
		height: 400px;
		object-fit: cover;
	}
}/* End PC */



/*--------------------------------------------------
**************************************************
  SP用
**************************************************
--------------------------------------------------*/
@media screen and (max-width: 767px) {
	h2.catch{
		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;
	}
	
	/*------------meo---------------*/
	.meo h2 +div{
		font-size: 1.4rem;
	}
	
	.info{
		color: #8E8E8E;
		font-size: 1.3rem;
	}
	
	
	.meo-part-container{
		position: relative;
		margin-bottom: 80px;
	}
	
	.meo-part{
		display: flex;
		flex-direction:column-reverse;
		flex-wrap:wrap;
	}

	
	.meo-part-text{
		width: 86%;
		margin: 0 auto;
	}
	

	.meo-number{
		font-size: 2.4rem;
		font-weight: 500;
		font-family: 'Outfit';
		padding-left: 16px;
		position: relative;
		left: 10px;
	}
	.meo-number::before{
		position: absolute;
		left: 0;
		top: 0.6rem;
		height: 2.6rem;
		content: '';
		border-right: solid 2px;
		transform: rotate(40deg);
	}
	.meo-number span{
		font-size: 1.5rem;
		padding-left: 4px;
		
	}
	.meo-part-text h3{
		font-size: 2.2rem;
		font-weight: 700;
		margin-bottom: 24px;
	}
	.meo-part-text h3 + p{
		font-size: 1.4rem;
	}
	.meo-part-text .box_shadow{
		background: #fff;
		padding: 32px 20px 32px 24px;
		border-radius: 10px;
	}
	ul.meo-list{
		
	}
	ul.meo-list li{
		font-size: 1.4rem;
		padding-left: 24px;
		position: relative;
		margin-bottom: 16px;
	}
	ul.meo-list li:last-child{
		margin-bottom: 0;
	}
	ul.meo-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%);

	}
	.meo-part-image{
		width: 100%;
		margin-bottom: 32px;
		
	}

	
	.meo-part-image img{
		width: 100%;
		height: auto;
		box-shadow: none;
	}
	.meo-list + div{
		margin-top: 24px;
	}
	.meo-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;
	}
	
	
	/*------------other---------------*/
	
	.other-part-container{
		position: relative;
		margin-bottom: 80px;
	}
	
	.other-part{
		display: flex;
		flex-direction:column-reverse;
		flex-wrap:wrap;
	}

	
	.other-part-text{
		width: 86%;
		margin: 0 auto ;
		line-height: 2.0;
		font-size: 1.4rem;
	}
	.other-part-text > div{
		font-size: 1.8rem;
		font-weight: 700;
		margin-bottom: 24px;
		letter-spacing: -0.6px;

	}


	
	.other-part-text h3{
		font-size: 3.0rem;
		font-weight: 700;

	}
	
	
	.other-part-image img{
		width: 100%;
		height: auto;
		box-shadow: none;
	}
	
}/* End SP */
