@charset"utf-8";

.spNone {
	display: block!important;
}
.pcNone {
	display: none!important;
}


.triangle {
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 32px solid transparent;
  border-bottom: 32px solid transparent;
  border-left: 24px solid #41b57d;
  border-right: 0;
}
.color_g {
  border-left-color: #0c7f68;
}
.footer_qrtxt {
    background: #edf9f6;
}
/*---------------------------------------------------
 cvMain Area
----------------------------------------------------*/
.cvmainarea {
	width: 95%;
	max-width: 1400px;
	height: auto; 
	margin: 80px auto 0;
    padding: 50px 0 50px;
	display: flex;
	justify-content: center;
}
.mainbox {
	width: 40%;
	height: auto;
	margin-right: 2%;
	align-content: center;
}
.mainbox h1 {
	font-size: 43px;
	font-weight: 600;
	padding-bottom: 0.25rem;
	margin-bottom: 0.5em;
}
.mainbox h1 b {
	color: #0c7f68;
}
.mainbox h1 span {
	background:linear-gradient(transparent 90%, #ffc31e 10%);
	display: inline;
}
.mainbox h2 {
	font-size: 23px;
	font-weight: 600;
	margin-bottom: 0.25rem;
}
.mainbox p {
	font-size: 17px;
}
.mainbox02 {
	width: 58%;
	display: flex;
	justify-content: center;
}
.box_a_item,
.box_b_item {
	width: 35%;
	margin-right: 2%;
	padding: 3em 3% 1%;
	background: #f2f2f2;
	border: solid 2px #b3b3b3;
	border-radius: 10px;
	box-sizing: border-box;
	position: relative;
}
.box_b_item {  
	width: 50%;
    background: #ffffff;
    border: solid 2px #0c7f68;
    margin: 0 0 0 2%;
}
.box_a_item h3,
.box_b_item h3 {
	width: fit-content;
	height: 2.5em;
	margin: 0 auto;
	padding: 0.25em 1em;
	font-size: 16px;
	font-weight: 600;
	text-align: center;
	align-content: center;
	border-radius: 0 0 6px 6px;
	color: #ffffff;
	background: #808080;
	box-sizing: border-box;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}
.box_b_item h3 {
	padding: 0.25em 2em;
	background: #0c7f68;
}
.box_b_item h3 img {
    width: 80px;
    margin: 0;
    margin-right: 0.25em;
}
.box_a_item img,
.box_b_item img {
	width: 100%;
	max-width: fit-content;
	margin: 5% auto 2.5%;
}
.box_a_item p,
.box_b_item p {
	margin: 2% 0;
    font-size: 18px;
}
.box_a_item + .triangle {
	margin: auto 0;
}

/*---------------------------------------------------
 cv area
----------------------------------------------------*/	
.cvarea {
    width: 100%;
    padding: 50px 2.5% 100px;
    border-radius: 80px 80px 0 0;
    box-sizing: border-box;
}
.title {
    font-size: 30px;
    font-weight: 600;
	display: flex;
	justify-content: center;
	align-items: flex-end;
}
.title span {
	background:linear-gradient(transparent 90%, #ffc31e 10%);
	display: inline;
}
.title::before,
.title::after {
  width: 3px;
  height: 25px;
  content: "";
  background-color: #333333;
}
.title::before {
  margin-right: 0.85em;
  transform: rotate(-30deg);
}
.title::after {
  margin-left: 0.85em;
  transform: rotate(30deg);
}
.stepboxarea {
    width: 95%;
    max-width: 1400px;
    margin: 2% auto 5%;
    display: flex;
    justify-content: center;
}
.stepboxarea .box {
    width: 31%;
    border: solid 2px #0c7f68;
    background: #ffffff;
    border-radius: 10px;
    box-sizing: border-box;
}
.stepboxarea .box:first-child {
	margin-right: 1%;
}
.stepboxarea .box:nth-child(3) {
	margin: 0 1%;
}
.stepboxarea .box:last-child {
	margin-left: 1%;
}
.stepboxarea .triangle {
	margin: auto 0;
}
.box .titlebox {
	width: 85%;
	margin: 0 auto;
    display: flex;
	justify-content: flex-start;
    flex-wrap: wrap;
}
.box .titlebox img {
	width: 28%;
	max-width: fit-content;
}
.box .titlebox h3 {
	width: 67%;
	margin-left: 5%;
	font-size: 18px;
	font-weight: 500;
	align-content: center;
}
.box .titlebox h2 small {
	font-size: 75%;
}
.box img.stepimg {  
	width: 95%;
    max-width: fit-content;
    margin: 1em auto 5%;
}

/*---------------------------------------------------
 expert Area
----------------------------------------------------*/
.expertarea {
	width: 95%;
	max-width: 1400px;
	margin: 0 auto;
	padding: 1.5%;
	background-image: linear-gradient(266deg, #fcd121, #3dc381 48%, #0c7f68);
	border-radius: 10px;
	display: flex;
    justify-content: space-between;
	box-sizing: border-box;
}
.expertboxarea {
	width: 75%;
	padding: 2%;
	border-radius: 8px;
	display: flex;
	justify-content: space-between;
	background: #ffffff;
	box-sizing: border-box;
}
.expertarea h2 {
	width: 23%;
	margin-right: 2%;
	font-size: 30px;
	font-weight: 600;
	text-align: center;
	align-content: center;
	color: #ffffff;
}
.expertarea h2 span {
	background:linear-gradient(transparent 90%, #ffc31e 10%);
	display: inline;
}
.expertbox {  
	width: 30%;
    display: flex;
    justify-content: space-around;
    align-items: center;
}
.expertbox:nth-child(2) {  
	width: 40%;
    display: flex;
    justify-content: space-around;
    align-items: center;
}
.expertbox img {
	width: 23%;
	max-width: fit-content;
}
.expertbox .expert_txt {
	width: 82%;
	margin-left: 5%;
}
.expert_txt h3 {
	font-size: 18px;
	font-weight: 600;
}
.expert_txt h3 b {
	color: #0c7f68;
}
.expert_txt p {
	font-size: 14px;
}

/*---------------------------------------------------
 point area
----------------------------------------------------*/	
.pointarea {
    width: 95%;
    max-width: 1400px;
    margin: 80px auto 80px;
}
.pointboxarea {
    width: 100%;
    padding: 2%;
    background: #ffffff;
    border: solid 2px #0c7f68;
    border-radius: 10px;
    display: flex;
    justify-content: space-around;
    box-sizing: border-box;
}
.pointboxarea .box  {
	flex-grow: 1;
	position: relative;
	height: auto;
	line-height: 100%;
	margin-right: 2em;
}
.pointboxarea .box ::after {
	position: absolute;
	top: 0;
	left: 100%;
	margin: 0 1rem;
	content: "";
	width: 2px; 
	height: 100%;
	background-color: #0c7f68;
}
.pointboxarea .box:last-child {
	margin-right: 0;
}
.pointboxarea .box:last-child ::after {
	display: none;
}
.pointboxarea .box img {
    width: 100%;
    max-width: fit-content;
    margin: 0 auto 5%;
}
.pointboxarea .box h3 {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
	margin-bottom: 0.85em;
}
.pointboxarea .box p {
	font-size: 14px;
	text-align: center;
	line-height: 1.7;
}

/*---------------------------------------------------
 trial link area
----------------------------------------------------*/	
.trial_lnkarea {
    width: 80%;
    max-width: 960px;
    margin: 0 auto;
    padding: 3%;
    background: #ffffff;
    border: solid 2px #0c7f68;
    border-radius: 10px;
    box-sizing: border-box;
}
.trial_lnkarea img {
	width: 30%;
	max-width: fit-content;
	margin: 0 auto 1.5em;
	display: block;
}
.trial_lnkarea h2 {
	font-size: 24px;
	font-weight: 600;
	text-align: center;
	margin-bottom: 1em;
}
.trial_lnkarea h2 b {
	text-decoration: underline;
}
.lnkbtn {
    width: 100%;
    display: flex;
    justify-content: center;
}
.lnkbtn a {
	width: 40%;
	height: 6vw;
	max-width: 340px;
	max-height: 60px;
	font-size: 18px;
	font-weight: 600;
	text-align: center;
	align-content: center;
	line-height: 1.5;
	color: #333;
	border: solid 2px #ffc31e;
	border-radius: 8px;
	background: #ffc31e;
	box-sizing: border-box;
	display: block;
}
.lnkbtn a:hover {
	background: #ffffff;
}
.lnkbtn a:last-child {
	margin-left: 3%;
}
a.txtlnk {
    width: fit-content;
    margin: 2em auto 0;
    font-size: 15px;
    text-align: center;
    text-decoration: underline;
    color: #333333;
    display: block;
}
a.txtlnk:hover {
	text-decoration: none;
}



@media screen and (max-width: 960px) {
/*////////////////////////////////////////////////
=pc→spに表示変更
////////////////////////////////////////////////*/
.spNone {
	display: block!important;
}
.pcNone {
	display: none!important;
}
	
.title {
    font-size: min(30px, 2.98vw);
}
/*---------------------------------------------------
 cvMain Area
----------------------------------------------------*/
	.cvarea {
		padding: 3.5% 2.5% 10%;
	}
	.cvmainarea {
		padding: 3.5% 0 3.5%;
		display: block;
	}
	.mainbox {
		width: 100%;
		height: auto;
		margin-right: 0;
	}
	.mainbox h1 {
		font-size: min(43px, 4.47vw);
		line-height: 1.3;
	}
	.mainbox h2 {
		font-size: min(23px, 2.39vw);
	}
	.mainbox p {
		font-size: min(17px, 1.77vw);
	}
	.mainbox02 {
		width: 100%;
		margin: 4% auto 0;
	}
	.box_a_item, .box_b_item {
		width: 47.5%;
	}
	.box_a_item p, .box_b_item p {
		margin: 2% 0;
		font-size: min(18px, 1.875vw);
	}
	
	
/*---------------------------------------------------
 cv area
----------------------------------------------------*/	
	.stepboxarea {
		width: 100%;
		margin: 5% auto 8%;
		flex-wrap: wrap;
	}
	.stepboxarea .box {
		width: 47%;
	}
	.stepboxarea .box:first-child,
	.stepboxarea .box:nth-child(3) {
		margin-bottom: 2.5%;
	}
	.stepboxarea .box:nth-child(3) {
		margin-left: 1%;
		margin-right: 0;
	}
	.stepboxarea .box:first-child {
		margin-right: 1%;
	}
	.box .titlebox h3 {
		font-size: min(18px, 1.875vw);
	}
/*---------------------------------------------------
 expert area
----------------------------------------------------*/	
	.expertarea { 
		padding: 2.5%;
		display: block;
	}
	.expertarea h2 {
		width: 100%;
		margin: 0 auto 3%;
		font-size: min(30px, 3.125vw);
	}
	.expertboxarea {
		width: 100%;
		justify-content: flex-start;
		flex-wrap: wrap;
	}
	.expertbox{
		width: 40%;
	} 
	.expertbox:nth-child(2) {
        width: 55%;
		margin-left: 5%;
    }
	.expert_txt h3 {
		font-size: min(18px, 1.875vw);
	}
	.expert_txt p {
		font-size: min(13px, 1.35vw);
	}
/*---------------------------------------------------
 point area
----------------------------------------------------*/	
	.pointarea {
		margin: 5% auto;
	}
	.pointboxarea {
		flex-wrap: wrap;
	}
	.pointboxarea .box {
		width: 45%;
		margin-bottom: 1em;
		padding-bottom: 1em;
		border-bottom: solid 2px #0c7f68;
	}
	.pointboxarea .box:last-child,
	.pointboxarea .box:nth-last-child(2) {
		margin-top: 0;
		margin-bottom: 0;
		border-bottom: none;
	}
	.pointboxarea .box:nth-child(2){
		margin-right: 0;
	}
	.pointboxarea .box:nth-child(2) ::after {
		display: none;
	}
	.pointboxarea .box ::after {
		height: 95%;
	}
	.pointboxarea .box h3 {
		font-size: min(18px, 1.875vw);
	}
	.pointboxarea .box p {
		font-size: min(14px, 1.45vw);
		line-height: 1.65;
	}
/*---------------------------------------------------
 trial link area
----------------------------------------------------*/	
	.trial_lnkarea {
		width: 95%;
		padding: 5% 2.5%;
	}
	.trial_lnkarea img {
		width: 25%;
		margin-bottom: 1em;
	}
	.trial_lnkarea h2 {
		font-size: min(24px, 2.5vw);
	}
	.lnkbtn a {
		width: 45%;
		font-size: min(18px, 1.875vw);
	}
	a.txtlnk {
		font-size: min(15px, 1.5625vw);
	}
	
}
@media screen and (max-width: 767px) {
/*////////////////////////////////////////////////
=pc→spに表示変更
////////////////////////////////////////////////*/
    .spNone {
        display: none!important;
    }
    .pcNone {
        display: block!important;
    }

	.triangle {
		width: 0;
		height: 0;
		border-style: solid;
		border-right: 55px solid transparent;
		border-left: 55px solid transparent;
		border-top: 25px solid #41b57d;
		border-bottom: 0;
		display: block;
	}
	.title {
		max-width: 100%;
        font-size: 5.8vw;
    }
/*---------------------------------------------------
 cvMain Area
----------------------------------------------------*/
	.cvmainarea {
		margin: 60px auto 0;
		padding: 5% 0;
	}
	.mainbox h1 {
        font-size: 9.06vw;
    }
	.mainbox h2 {
        font-size: 5.2vw;
    }
	.mainbox p {
        font-size: 3.73vw;
    }
	.mainbox02 {
        display: block;
    }
	.box_a_item, .box_b_item {
        width: 100%;
        height: auto;  
		margin: auto;
    }
	.box_a_item h3, .box_b_item h3 {
		font-size: 4.2vw;
	}
	.box_a_item p, .box_b_item p {
        font-size: 4.8vw;
    }
	.box_a_item + .triangle {
		margin: 2.5% auto 2%;
	}
/*---------------------------------------------------
 cv area
----------------------------------------------------*/	
	.cvarea {
        border-radius: 30px 30px 0 0;
        padding: 10% 2.5% 15%;
    }
	.stepboxarea {
        display: block;
    }
	.stepboxarea .box,
	.stepboxarea .box:first-child,
	.stepboxarea .box:nth-child(3){
		width: 100%;
		margin: 0 auto 2.5%;
	}
	.box .titlebox {
		width: 95%;
	}
	.box .titlebox h3 {
        font-size: 4.53vw;
    }
	.box .titlebox img {
		width: 25%;
		max-width: fit-content;
	}
	.stepboxarea .triangle {
		margin: 2% auto 3%;
	}
/*---------------------------------------------------
 expert area
----------------------------------------------------*/
	.expertarea {
        padding: 4%;
    }
	.expertarea h2 {
		font-size: 6.67vw;
		margin-bottom: 5%;
	}
	.expertboxarea {
        width: 100%;
		padding: 5%;
        display: block;
    }
	.expertbox {
        width: 100%;
        margin-bottom: 5%;
    }    
	.expertbox:nth-child(2) {
        width: 100%;
        margin-left: auto;
    }
	.expertbox:last-child {
		margin-bottom: 0;
	}
	.expertbox img {
		width: 28%;
	}
	.expert_txt h3 {
        font-size: 5.26vw; 
		line-height: 1.25;
    }   
	.expert_txt p {
        font-size: 3.73vw;
    }
/*---------------------------------------------------
 point area
----------------------------------------------------*/	   
	.pointarea {
        margin: 10% auto;
    }  
	.pointboxarea {
		width: 100%;
		padding: 5%;
	}
	.pointboxarea .box,
	.pointboxarea .box:nth-last-child(2) {
        width: 100%;
        margin-right: 0;
        margin-bottom: 1em;     
		border-bottom: solid 2px #0c7f68;
    }
	.pointboxarea .box:last-child {
		padding-bottom: 0;
	}
	.pointboxarea .box ::after {
		margin: 0;
		padding: 0;
        display: none;
    }
	.pointboxarea .box img {
		width: 70%;
		margin: 0 auto 3%;
	}
	.pointboxarea .box h3 {
        font-size: 5.26vw;
		margin-bottom: 0.3em;
    }
	.pointboxarea .box p {
        font-size: 4vw;
    }
	
/*---------------------------------------------------
 trial link area
----------------------------------------------------*/	
	.trial_lnkarea {
        padding: 7% 5%;
    }
	.trial_lnkarea img {
        width: 40%;
        max-width: fit-content;
        margin-bottom: 1em;
    }
	.trial_lnkarea h2 {
        font-size: 5vw;
    }
	.lnkbtn {
		flex-wrap: wrap;
	}
	.lnkbtn a,
	.lnkbtn a:last-child {
        width: 100%;
        min-height: 45px;
        height: 13vw;
        font-size: 3.8vw;
        margin: 0 auto 5%;
    } 
	.lnkbtn a:last-child {
		margin-bottom: 0;
    } 
	a.txtlnk {
        margin: 8% auto 10%;
        font-size: 4.2vw;
    }
	
	
	
}