@charset "UTF-8";
/* CSS Document */


@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');

body{
	letter-spacing: 2px !important;
	font-family: 'Noto Sans JP', sans-serif;
	color: #424242;
}

img{
	height: auto !important;
}

body {
    overflow-x: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}

html {
    overflow-x: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}


html{
	background-color: #F5FFFC;
}

.sp{
	display: none !important;
}

.wrap{
	padding: 136px 5% 0;
}

p{
	line-height: 1.8;
}

.mv{
	position: relative;
    padding: 0 32px;
}

.h1{
	    text-align: center;
    background-color: #2AD277;
    color: #fff;
    border-radius: 16px;
    padding: 16px 0;
	text-shadow: 0px 3px 0px #0000003d;
	box-shadow: 0px 2px 8px 1px #0000002e;
}.h1h1{
    padding: 32px 0;
}

.h1 h1{
	font-size: 36px;
}

.mvTxt001{
	    position: absolute;
    top: 220px;
    left: 170px;
    background-color: inherit;
    color: #000;
    padding: 3px;
	
	
}
.mvTxt001 span{
	
}

.mvTxt0010{

	    padding-top: 24px;
    margin-bottom: -16px;
    text-align: center;
	
}
.mvTxt0010 span{
		 display: inline-block;
    background-color: inherit;
    color: #000;
    padding: 3px;
}
.mvTxt0010 span::after{
	content: "";
	display: none !important;
}


.rmark {
    position: absolute;
    bottom: 8px;
    right: 16px;
	color: #000;
    border: 1px solid #000;
    border-radius: 50%;
    font-weight: bold;
    padding: 2px 4px 2px 6px;
    font-size: 10px;
}

.rmark span{
	
}

.rmark span::after{
	content: "";
	display: none !important;
	
}

.rmark02{
	position: absolute;
	bottom: 2px;
    right: 6px;
	color: #000;
    border: 1px solid #000;
    border-radius: 50%;
    font-weight: bold;
    padding: 2px 4px 2px 6px;
    font-size: 8px;
}

.rmark02 span{
	
}

.rmark02 span::after{
	content: "";
	display: none !important;
	
}



.headerF li{
	position: relative;
}
.headerF li::after{

    position: absolute;
    content: '';
    bottom: -3px;
    left: 0;
    width: 0;
    height: 1px;
    background: #000;
    transition: all 0.3s ease 0s;
}

.headerF li:hover {
	cursor: pointer;
}
.headerF li:hover::after {
	width: 100%;
}


.ftul li{
	position: relative;
}
.ftul li::after{

    position: absolute;
    content: '';
    bottom: -3px;
    left: 0;
    width: 0;
    height: 1px;
    background: #fff;
    transition: all 0.3s ease 0s;
}

.ftul li:hover {
	cursor: pointer;
}
.ftul li:hover::after {
	width: 100%;
}



.padT200{
	padding-top: 200px;
}

   
.header{
 padding: 24px 5% 40px;
	    position: fixed;
	    width: -webkit-fill-available;
    z-index: 2;
}

.headerF{
    display: flex;
    justify-content: center;

}

.bana{
	    width: 1100px;
    margin: 40px auto 40px;

}


.bana{

  height:270px;
  background-image:url('../img/top/banner02.png');
    background-size: contain;
    background-repeat: no-repeat;
}

.bana:hover{
  background:url('../img/top/banner02af.png');
    background-size: contain;
    background-repeat: no-repeat;
}


.banaLine{
	    width: 1100px;
    margin: 104px auto 40px;

}


.banaLine{

  height:270px;
  background:url('../img/top/linebaner01.png');
    background-size: contain;
    background-repeat: no-repeat;
}

.banaLine:hover{
  background:url('../img/top/linebaner01af.png');
    background-size: contain;
    background-repeat: no-repeat;
}



.headerF div:nth-child(1){
width: 180px;
    align-self: center;

}

.headerF div:nth-child(2){
    align-self: center;
    margin: 0 0 0 auto;

}

.headerF div:nth-child(2) ul{
display: flex;
    gap: 48px;
    font-size: 14px;
    font-weight: bold;
    list-style: none;
    background-color: #fff;
    padding: 16px 48px;
    border-radius: 32px;
	box-shadow: 0px 2px 8px 1px #0000002e;
	
}

.mvi{
	    height: 570px;
    width: 100%;
    object-fit: cover;
    object-position: top;
}


.mvTxt01{
	position: absolute;
    top: 72px;
    left: 160px;
    font-size: 22px;
    -webkit-background-clip: text;
    text-shadow: 0px 3px 2px #d3d3d3, 2px 0px 2px #ffffff, -2px 0px 2px #ffffff, 2px 2px 2px #ffffff, 0px -2px 2px #ffffff, -1px 0px 2px #ffffff, 0px 0px 0px #ffffff, 0px 0px 0px #ffffff;
    font-weight: bold;
    letter-spacing: 2px;
}

.mvImg01{
	    position: absolute;
    top: 210px;
    left: 130px;
	
}
.mvImg01 img{
	  width: 500px;
	
}

.rel{
	position: relative;
}

.mvBar{
	position: absolute;
    bottom: 56px;
    left: -5%;
    transform: translate(0%,50%);
    width: 110%;
    padding: 0 !important;
    background-color: #2AD277;
    color: #fff;
    border-radius: 48px;
	box-shadow: 0px 2px 8px 1px #0000002e;
}

.mvBar ul{
	display: flex;
    justify-content: center;
    align-items: center;
    gap: 32px;
    font-size: 32px;
    list-style: none;
    padding: 0 5%;
	font-weight: bold;
}

.btnCenter{
	text-align: center;
}

.mvBar ul span{
	    font-size: 35px;
    color: #FEFF00;
}

.spanM{
	font-size: 16px !important;
    margin-top: 8px;
	
}

.mvBar li{
	    line-height: 1;
    text-align: center;
}

.mvBar li:nth-child(2){
	
	font-size: 32px;
	
}

.mvBar li:nth-child(3){
	    margin-top: 30px;
	font-size: 32px;
	 
}

.fs28{
	font-size: 28px;
	    color: inherit !important;
}

.cmarkUe{
	    margin-bottom: -32px;
}


.mvImg02{
	      position: absolute;
    bottom: 100px;
    width: 32%;
    height: auto;
    left: 140px;
}
.mvTxt02{
	 position: absolute;
    bottom: 103px;
    right: 8%;
    background-color: #fff;
    border: 2px solid #2AD277;
    color: #2AD277;  
	padding: 6px 32px 12px;
    font-size: 26px;
    border-radius: 10px;
	box-shadow: 0px 2px 8px 1px #0000002e;
}
.mvTxt02 span{
    font-size: 45px;
	position: relative;
}
.mvTxt02 span::after{
   position: absolute;
    content: "フリー";
    bottom: -10px;
    left: 6px;
    transform: translate(0%, 0%);
    font-size: 12px;
    white-space: nowrap;
    text-shadow: 1px 1px 1px #FEFF00, -1px 1px 1px #FEFF00, 1px -1px 1px #FEFF00, -1px -1px 1px #FEFF00, 1px 0px 1px #FEFF00, 0px 1px 1px #FEFF00, -1px 0px 1px #FEFF00, 0px -1px 1px #FEFF00;

}



.mvImg02::before{
    position: absolute;
    content: "";
    background-image: url(../img/top/mvchara01.png);
    width: 150px;
    height: 200px;
    background-size: contain;
    background-repeat: no-repeat;
    bottom: -16px;
    left: -50px;
    transform: translate(-50%,0%);

}
.mvTxt02::before{
	position: absolute;
    content: "";
    background-image: url(../img/top/mvchara02.png);
    width: 150px;
    height: 200px;
    background-size: contain;
    background-repeat: no-repeat;
    bottom: -16px;
    right: -16px;
    transform: translate(50%,0%);

}

.baner{
	      position: relative;
    background-color: rgb(16, 195, 252);
    height: 214px;
	margin: 0 auto;
    margin-top: 160px;
    max-width: 1100px;
}

.baner:hover{

    background-color: rgb(17 155 199);
 
}

.banerImg01{
	position: absolute;
    width: 256px;
    bottom: 0;
    left: 0;

}
.banerImg02{
position: absolute;
    width: 240px;
    height: auto;
    left: 190px;
    top: 50%;
    transform: translate(0%,-50%);

}

.banerTxt01{
	    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);

}

.banerTxt01 p{
	font-size: 28px;
    color: #FF3A00;
    text-align: center;
	text-shadow: 1px 1px 1px #ffffff, -1px 1px 1px #ffffff, 1px -1px 1px #ffffff, -1px -1px 1px #ffffff, 1px 0px 1px #ffffff, 0px 1px 1px #ffffff, -1px 0px 1px #ffffff, 0px -1px 1px #ffffff;
	    font-weight: 500;

	
}
.banerTxt01 p span{
	font-size: 48px
	
}


.banerTxt02{
	    position: absolute;
    left: 440px;
    top: 12px;
	    width: 620px;

}
.banerTxt02 p{
	    font-weight: 500;
	    font-size: 35px;
	line-height: 1.5;
	text-shadow: 1px 1px 1px #ffffff, -1px 1px 1px #ffffff, 1px -1px 1px #ffffff, -1px -1px 1px #ffffff, 1px 0px 1px #ffffff, 0px 1px 1px #ffffff, -1px 0px 1px #ffffff, 0px -1px 1px #ffffff;

}
.banerTxt02 p span{
	    font-size: 45px;
	color: #FEFF00;
	text-shadow: 1px 1px 1px #2A63D2, -1px 1px 1px #2A63D2, 1px -1px 1px #2A63D2, -1px -1px 1px #2A63D2, 1px 0px 1px #2A63D2, 0px 1px 1px #2A63D2, -1px 0px 1px #2A63D2, 0px -1px 1px #2A63D2;

}

.banerFlex{
	display: flex;
	gap: 40px;
	margin-top: 6px;
}

.banerBtn{
	background-color: #FF527C;
    width: 264px;
    padding: 12px;
    text-align: center;
    color: #fff;
    border-radius: 32px;
    font-size: 18px;
}

.flexTxt{
	color: #fff;
}


.sabisFlex{
	    display: flex;
    margin: 0 auto;
    align-items: center;
    justify-content: center;
    font-size: 40px;
	color: #424242;
	font-weight: bold;
	    text-shadow: #0000004d 0px 3px 2px;
}

.sabisFlex h2{
	font-size: 40px;
	color: #424242;

}

.sabisFlex img{
	    width: 280px;
    margin-top: -12px;

}

.sabis{
	color: #7A7A7A;
    font-size: 40px;
    text-align: center;
    margin: 0 auto;
    width: 1100px;
    font-weight: bold;
    border-bottom: 1px solid #2AD277;
	padding-bottom: 8px;
    margin-top: 56px;
    margin-bottom: 40px;
}


.tohaFlex{
	display: flex;  
	width: 1100px;
    margin: 80px auto 0;
	    gap: 28px;
	position: relative;
}

.tohaFlex::before{
position: absolute;
    content: "";
    background-image: url(../img/top/twostep021.png);
    width: 162px;
    height: 229px;
    background-size: contain;
    background-repeat: no-repeat;
    top: auto;
    left: auto;
    right: 0px;
    bottom: -64px;
    transform: translate(0%, -50%);
}




.tohaFlex div{
	width: 50%;
	    font-weight: bold;
}


.flexImgs{
	position: relative;
}

.flexImgs01{
	position: absolute;
	width: 167px;
	top: -40px;
}
.flexImgs02{
	position: absolute;
	width:  185px;
	right: 0;
	top: -40px;
}
.flexImgs03{
	    position: absolute;
    width: 141px;
    top: 40%;
    left: 50%;
    transform: translate(-50%,-50%) !important;
}
.flexImgs04{
	position: absolute;
	width: 209px;
	    bottom: 0px;
	left: 0;
}
.flexImgs05{
	position: absolute;
	width: 166px;
   bottom: 72px;
    right: 0;
}

.tohaFlex p span{
	color: #FF527C;
	font-size: 22px;
	    font-weight: bold;
    margin-right: 8px;
	text-shadow: 1px 1px 1px #FEFF00, -1px 1px 1px #FEFF00, 1px -1px 1px #FEFF00, -1px -1px 1px #FEFF00, 1px 0px 1px #FEFF00, 0px 1px 1px #FEFF00, -1px 0px 1px #FEFF00, 0px -1px 1px #FEFF00;
}
.tohaFlex p{
	line-height: 2.6;
	
}

.marT24{
	margin-top: 24px;
	margin-left: 8px;
}

.tohaBtn{
	    background-color: #2AD277;
    width: 360px !important;
    padding: 32px 0 32px 32px;
    border-radius: 40px;
    font-size: 16px;
    margin: 0px 0;
    color: #fff;
	position: relative;
	box-shadow: 0px 2px 8px 1px #0000002e;
	display: inline-block;
}
.tohaBtn:hover{

	background: #27B03C;
	color: #d9d9d9;


}

.marB40{
	margin-bottom: 40px;
}


.tohaBtn .btArow {
    position: absolute;
    top: 50%;
    right: 20px;
    width: auto;
    font-size: 20px;
    border-left: 1px solid #D9D9D9;
    padding-left: 16px;
    transform: translate(0%, -50%);
}



.wd43{
	width: 43%;
	margin-left: 7%;
}

#hyou{
	margin-top: 240px;
}

.hyou{
	
	background-color: #2AD277;
	    padding: 104px 0 32px 10%;
	width: 1100px;
	margin-left: 0%;
	    border-radius: 32px;
	position: relative;
	box-shadow: 0px 2px 8px 1px #0000002e;
}

.hyouC{
    color: #fff;
	
}
.hyouC h2{
    
	font-size: 35px;
	margin-bottom: 32px;
	text-shadow: #0000004d 0px 2px 1px;
	
}
.hyouC p{
    margin-bottom: 24px;
	font-size: 16px;
	text-shadow: #0000004d 0px 1px 1px;
	
}
.hyouC p:nth-child(4){
    margin-bottom: 32px;
	
}

.hyouBtn{
	background-color: #ffffff;
    width: 360px !important;
    padding: 32px 0 32px 48px;
    border-radius: 40px;
    font-size: 16px;
    margin: 40px 0 0;
    color: #000;
	color: #424242;
    font-weight: bold;
	position: relative;
	box-shadow: 0px 2px 8px 1px #0000002e;
	display: inline-block;
}
.hyouBtn:hover{
	background-color: #EFEFEF;
	color: #000;
    
}


.hyouBtn .btArow {
    position: absolute;
    top: 50%;
    right: 20px;
    width: auto;
    font-size: 22px;
    border-left: 1px solid #D9D9D9;
	color: #2AD277;
    padding-left: 16px;
    transform: translate(0%, -50%);
}



.hyouImgR01{    
	position: absolute;
    top: -24px;
    left: 15%;
    transform: translate(-50%,-50%);
	width: 166px;
}
.hyouImgR01::before{
	position: absolute;
    content: "";
    background-image: url(../img/top/hyoulogox.png);
    width: 420px;
    height: 120px;
    background-size: contain;
    background-repeat: no-repeat;
    top: 60%;
    left: 130px;
    transform: translate(0%,-50%);
}
.hyouImgR02{
	position: absolute;
    bottom: 0;
    left: 72%;
    transform: translate(-50%,0%);
}
.hyouImgR03{
	position: absolute;
	     top: -16px;
    right: -176px;
    transform: translate(0%, 0%);
}

.hyouL01{
	    position: absolute;
        top: -56px;
    left: 172px;
}
.hyouL02{
	position: absolute;
        top: 46%;
    left: 24px;
    transform: translate(-20%,-50%);
}
.hyouL03{
	    position: absolute;
       bottom: -100px;
    left: 172px;
    transform: translate(0%,-60%);
}
.hyouLt{
	    position: absolute;
    font-size: 35px;
    color: #2AD277;
    font-weight: bold;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
	text-shadow: 1px 1px 1px #FEFF00, -1px 1px 1px #FEFF00, 1px -1px 1px #FEFF00, -1px -1px 1px #FEFF00, 1px 0px 1px #FEFF00, 0px 1px 1px #FEFF00, -1px 0px 1px #FEFF00, 0px -1px 1px #FEFF00;
}

.conceptM{
	  background-color: #fff;
    width: 1100px;
    border-radius: 32px;
    margin: 0 auto;
    padding: 64px 10px;
	margin-top: 48px;
	margin-bottom: 300px;
	box-shadow: 0px 2px 8px 1px #0000002e;

}

.conceptM h2{
	text-align: center;
    font-size: 30px;
    color: #2AD277;
    margin-bottom: 40px;
	text-shadow: 1px 1px 1px #FEFF00, -1px 1px 1px #FEFF00, 1px -1px 1px #FEFF00, -1px -1px 1px #FEFF00, 1px 0px 1px #FEFF00, 0px 1px 1px #FEFF00, -1px 0px 1px #FEFF00, 0px -1px 1px #FEFF00;
	
	
}

.conceptM h3{
	font-size: 18px;
    text-align: center;
    line-height: 1.8;
    color: #FF527C;
    font-weight: 500;

}

.move{
	
}

.conseptIconF{
	
	display: flex;
	gap:20px;
	    margin-top: 48px;

}

.conseptIconF h4{
	color: #2AD277;
    font-size: 20px;
    margin-bottom: 8px;
	
}

.conseptIconF div{
	text-align: center;
}

.conseptIconF div img{
	    width: 120px;
    margin: 0 auto 24px;

}

.conseptIconF div p{
	   font-size: 16px;
	font-weight: 500;

}

.conceptBtn{
	    background-color: #2AD277;
    width: 360px !important;
    padding: 32px 0 32px 48px;
    border-radius: 40px;
    font-size: 18px;
    margin: 40px 0 0;
    color: #fff;
    margin: 80px auto 0;
    font-weight: bold;
	    font-size: 16px;
	box-shadow: 0px 2px 8px 1px #0000002e;
	position: relative;
	display: inline-block;
	text-align: justify;
}
.conceptBtn:hover{
	

	
	background-color: #27B03C;

    color: #d9d9d9;



}

.conceptBtn .btArow {
    position: absolute;
    top: 50%;
    right: 20px;
    width: auto;
    font-size: 22px;
    border-left: 1px solid #D9D9D9;
    padding-left: 16px;
    transform: translate(0%, -50%);
}


.conseptIconF div:nth-child(1){
	position: relative;
	width: 33%;
}
.conseptIconF div:nth-child(1)::before{
    position: absolute;
    content: "";
    background-image: url(../img/top/movenbr01.png);
    width: 91px;
    height: 91px;
    background-size: contain;
    background-repeat: no-repeat;
    top: -24px;
    left: 8px;
    transform: translate(0%,0%);
}


.conseptIconF div:nth-child(2){
	position: relative;
	width: 33%;
}
.conseptIconF div:nth-child(2)::before{
    position: absolute;
    content: "";
    background-image: url(../img/top/movenbr02.png);
    width: 91px;
    height: 91px;
    background-size: contain;
    background-repeat: no-repeat;
    top: -24px;
    left: 8px;
    transform: translate(0%,0%);
}
.conseptIconF div:nth-child(3){
	position: relative;
	width: 33%;
}
.conseptIconF div:nth-child(3)::before{
    position: absolute;
    content: "";
    background-image: url(../img/top/movenbr03.png);
    width: 91px;
    height: 91px;
    background-size: contain;
    background-repeat: no-repeat;
    top: -24px;
    left: 8px;
    transform: translate(0%,0%);
}

.kinou{
	    background-color: #2AD277;
    width: 1100px;
    margin: 0 auto;
	padding: 120px 100px 56px;
	border-radius: 32px;
	position: relative;
	box-shadow: 0px 2px 8px 1px #0000002e;
}

.kinou::before{
	position: absolute;
    content: "";
    background-image: url(../img/top/abusokinou.png);
    width: 307px;
    height: 307px;
    background-size: contain;
    background-repeat: no-repeat;
    top: -40px;
    left: -3px;
    transform: translate(0%, -50%);
}

.h2flex{
	display: flex;
    align-items: center;
    font-size: 35px;
    width: 578px;
    height: 104px;
    background-color: #fff;
    border-radius: 40px;
    justify-content: center;
	    position: absolute;
    top: -4px;
    left: 60%;
	border: 1px solid #2AD277;
    box-shadow: 0px 2px 8px 1px #0000002e;
    transform: translate(-50%,-50%);
	    font-weight: bold;
}

.h2flex h2{
	
	font-size: 35px;
}

.h2flex div:nth-child(1){
	
	width: 250px;
}

.marR5{
	margin-right: -5%;
	margin-top: 160px;
}

.knouC01{
	      background-color: #fff;
    width: 690px;
    min-height: 290px;
    padding: 40px 48px;
        margin: 0px auto;
    margin-right: 48px;
    border-radius: 40px;
	box-shadow: 0px 2px 8px 1px #0000002e;
}


.knouC01 h3{
	    text-align: center;
    font-size: 24px;
    margin-bottom: 32px;
}


.knouC01 h3 span{
	color: #FF527C;
}

.knouC02{
	      background-color: #fff;
    width: 690px;
    min-height: 290px;
    padding: 40px 48px;
       margin: 0px auto;
    margin-right: 48px;
    border-radius: 40px;
	box-shadow: 0px 2px 8px 1px #0000002e;
}


.knouC02 h3{
	    text-align: center;
    font-size: 24px;
    margin-bottom: 32px;
}


.knouC02 h3 span{
	color: #F8931E;
}

.knouC03{
	      background-color: #fff;
    width: 690px;
    min-height: 290px;
    padding: 40px 48px;
        margin: 0px auto;
    margin-right: 48px;
    border-radius: 40px;
	box-shadow: 0px 2px 8px 1px #0000002e;
}


.knouC03 h3{
	    text-align: center;
    font-size: 24px;
    margin-bottom: 32px;
}


.knouC03 h3 span{
	color: #1086FC;
}

.knouC01,.knouC02,.knouC03{
	position: relative;
	margin-bottom: 32px;
	    text-shadow: #3a3a3a36 0px 1px 1px;
}

.knouC01::after{

	position: absolute;
    content: "";
    background-image: url(../img/top/kinouchara01.png);
    width: 162px;
    height: 229px;
    background-size: contain;
    background-repeat: no-repeat;
   bottom: -32px;
    right: -88px;
    transform: translate(0%, 0%);


}
.knouC02::after{

	position: absolute;
    content: "";
    background-image: url(../img/top/kinouchara02.png);
    width: 162px;
    height: 229px;
    background-size: contain;
    background-repeat: no-repeat;
    bottom: -32px;
    right: -88px;
    transform: translate(0%, 0%);


}
.knouC03::after{

	position: absolute;
    content: "";
    background-image: url(../img/top/kinouchara03.png);
    width: 162px;
    height: 229px;
    background-size: contain;
    background-repeat: no-repeat;
    bottom: -32px;
    right: -88px;
    transform: translate(0%, 0%);


}


.knouC03{
	margin-bottom: 40px;
}


.knouC01 p{
	    font-weight: 500;
}

.knouC02 p{
	    font-weight: 500;
}

.knouC03 p{
	    font-weight: 500;
}


.knouC01 p span{
	
}

.knou03Ka{
	font-size: 12px;
}

.midospa{
	    color: #2AD277;
}

.pinspa{
	
    color: #FF527C;
}


.knouC01::before{
	position: absolute;
    content: "";
    background-image: url(../img/top/kinou01.png);
    width: 150px;
    height: 150px;
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    left: -112px;
    transform: translate(-50%,-50%);
}

.knouC02::before{
	position: absolute;
    content: "";
    background-image: url(../img/top/kinou02.png);
    width: 150px;
    height: 150px;
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    left: -112px;
    transform: translate(-50%,-50%);
}

.knouC03::before{
	
	position: absolute;
    content: "";
    background-image: url(../img/top/kinou03.png);
    width: 150px;
    height: 150px;
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    left: -112px;
    transform: translate(-50%,-50%);
}


.kinouBtn{
	    background-color: #fff;
    width: 360px !important;
    padding: 32px 0 32px 48px;
    border-radius: 40px;
    font-size: 18px;
    margin: 40px 0 0;
    color: #424242;
    margin: 80px auto 0;
    font-weight: bold;
    font-size: 16px;
    box-shadow: 0px 2px 8px 1px #0000002e;
    position: relative;
	    display: inline-block;
    text-align: justify;

	
}
.kinouBtn:hover{
	    background-color: #EFEFEF;
	color: #000;
   

	
}

.kinouBtn .btArow {
    position: absolute;
    top: 50%;
    right: 20px;
    width: auto;
    font-size: 22px;
    border-left: 1px solid #D9D9D9;
	    color: #2AD277;
    padding-left: 16px;
    transform: translate(0%, -50%);
}


.kinouBtn02{
	
	background-color: #2AD277;
    width: 360px !important;
    padding: 32px 0 32px 48px;
    border-radius: 40px;
    font-size: 18px;
    margin: 40px 0 0;
    color: #fff;
    margin: 80px auto 0;
    font-weight: bold;
    font-size: 16px;
    box-shadow: 0px 2px 8px 1px #0000002e;
    position: relative;
	    display: inline-block;
    text-align: justify;

}

.kinouBtn02:hover{
	
	background-color: #27B03C;

    color: #d9d9d9;


}

.kinouBtn02 .btArow {
    position: absolute;
    top: 50%;
    right: 20px;
    width: auto;
    font-size: 22px;
    border-left: 1px solid #D9D9D9;
	    color: #fff;
    padding-left: 16px;
    transform: translate(0%, -50%);
}


.kinouBtn0202{
	margin-top: 0 !important;
}


.banersF{
	display: flex;
	gap:100px;
	    justify-content: center;
	    margin-top: 64px;
	
    margin-bottom: 40px;

}

.baners01{
    background-color: #FF84A2;
    width: 500px;
   padding: 40px 0 40px 48px;
    text-align: center;
    font-size: 22px;
	border-radius: 32px;
    color: #fff;
	box-shadow: 0px 2px 8px 1px #0000002e;
	    font-weight: bold;
}
.baners02{
	background-color: #2A63D2;
	width: 500px;
	padding: 40px 0 40px 56px;
    text-align: center;
    font-size: 22px;
	border-radius: 32px;
    color: #fff;
	box-shadow: 0px 2px 8px 1px #0000002e;
	    font-weight: bold;
}




.baners01:hover{
    background-color: #E86786;
    color: #d9d9d9;

}
.baners02:hover{
	background-color: #2050AF;
	
    color: #d9d9d9;

}





.baners01,.baners02{
	position: relative;
}

.baners01::before{
		position: absolute;
    content: "";
    background-image: url(../img/top/baners01.png);
width: 146px;
    height: 146px;
    background-size: contain;
    background-repeat: no-repeat;
    bottom: 0;
    left: 24px;
    transform: translate(0%,0%);
}
.baners02::before{
		position: absolute;
    content: "";
    background-image: url(../img/top/baners02.png);
width: 146px;
    height: 146px;
    background-size: contain;
    background-repeat: no-repeat;
    bottom: 0;
    left: 24px;
    transform: translate(0%,0%);
}


.stepC{
	    padding: 40px 64px;
    width: 1100px;
    background-color: #29d277;
	    margin: 0 auto;
	border-radius: 50px;
	    margin-bottom: 80px;
	 box-shadow: 0px 2px 8px 1px #0000002e;
   
}

.stepC h2{
	text-align: center;
    margin-bottom: 64px;
    font-size: 38px;
    padding-bottom: 8px;
    border-bottom: 2px solid #FEFF00;
    width: 600px;
    margin: 0 auto 64px;
	color: #27B03C;
	text-shadow: 2px 2px 1px #feff00, -2px 2px 1px #feff00, 2px -2px 1px #feff00, -2px -2px 1px #feff00, 2px 0px 1px #feff00, 0px 2px 1px #feff00, -2px 0px 1px #feff00, 0px -2px 1px #feff00, #0000004d 0px 6px 2px;
}

.stepF{
	display: flex;
	gap:100px;
	    margin-bottom: 40px;
	justify-content: center;
	    font-weight: 500;
}

.stepW{
	 background-color: #fff;
    width: 418px;
    height: 350px;
    text-align: center;
	    border-radius: 50px;
	font-size: 14px;
	position: relative;
	 box-shadow: 0px 2px 8px 1px #0000002e;
}

.stepF div{
	
}
.stepF div h3{
	
	    margin: 0 auto;
	    margin: 52px auto 24px;
    font-size: 25px;
    font-weight: 500;
	position: relative;
}

.stepH3Icon01,.stepH3Icon02{
	position: relative;
}

.stepH3Icon01{
	padding-left: 48px;
}

.stepH3Icon01::before{
	position: absolute;
    content: "";
    background-image: url(../img/top/movenbr01.png);
    width: 91px;
    height: 91px;
    background-size: contain;
    background-repeat: no-repeat;
    top: -24px;
    left: 8px;
    transform: translate(0%, 0%);
	
}
.stepH3Icon02::before{
	position: absolute;
    content: "";
    background-image: url(../img/top/movenbr02.png);
    width: 91px;
    height: 91px;
    background-size: contain;
    background-repeat: no-repeat;
    top: -24px;
    left: 8px;
    transform: translate(0%, 0%);	
}


.stepF div img{
	
	margin: 0 auto;
	
    margin-bottom: 16px;
}


.stepTxt{
	text-align: center;
	font-weight: 500;
	
}

.stepTxt p{
	    display: inline-block;
    text-align: justify;
	color: #fff;
}

.stepTxt p span{
	  color: #Fff;
}
.stepTxt p a{
	     border-bottom: 1px solid #FEFF00;
}


.stepCh01{
	
	position: relative;
	
}
.stepCh02{
	position: relative;
	
}

.stepCh01::before{
	
	position: absolute;
    content: "";
    background-image: url(../img/top/twostep01.png);
    width: 162px;
    height: 229px;
    background-size: contain;
    background-repeat: no-repeat;
    bottom: -24px;
    left: -12px;
    transform: translate(-50%, 0%);
	
}
.stepCh02::before{
	
	position: absolute;
    content: "";
    background-image: url(../img/top/twostep02.png);
    width: 162px;
    height: 229px;
    background-size: contain;
    background-repeat: no-repeat;
    bottom: -24px;
    right: 0px;
    transform: translate(50%, 0%);
}

.stepAb{
	
	position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 220px;
    padding: 8px 0;
    color: #2AD277;
    background-color: #F5FFFC;
    border-radius: 50px;
    font-size: 25px;
    box-shadow: 0px 2px 8px 1px #0000002e;
	font-weight: 500;
	text-shadow: 1px 1px 1px #feff00, -1px 1px 1px #feff00, 1px -1px 1px #feff00, -1px -1px 1px #feff00, 1px 0px 1px #feff00, 0px 1px 1px #feff00, -1px 0px 1px #feff00, 0px -1px 1px #feff00;
}





.baners2{
	width: 1100px;
    margin: 0 auto;
}

.baners201{
	position: relative;
	    margin-bottom: 32px;
	opacity: 0.9;
	    box-shadow: 0px 2px 8px 1px #0000002e;
    border-radius: 60px;


}
.baners201:hover{
	
	opacity: 1;
}



.baners2Txt01{
	position: absolute;
    top: 64px;
    left: 120px;
	color: #fff;
      font-weight: bold;
    text-shadow: 0px 2px 1px #0000003d;
}

.baners2Txt01 p:nth-child(1){
	font-size: 35px;
	margin-bottom: 12px;
	font-weight: 500 !important;
	
}
.baners2Txt01 p:nth-child(2){
	
	font-size: 20px;
	margin-bottom: 22px;
}

.baners2F{    display: flex;
    width: 100%;
	gap:40px;
}

.baners2F div{
	width: 100%;
	text-align: center;
	    color: #FFF;
	

}

.baners2Gr{
	
	background-color: #2AD277;
	    border-radius: 50px;
	padding: 48px 0 56px;
}

.baners2Gr:hover{
	
	background-color: #27B03C;
	color: #D9D9D9;
}
.baners2Pi{
	
	background-color: #FF84A2;
	    border-radius: 50px;
	padding: 48px 0 56px;
	text-shadow: 0px 2px 1px #0000003d;
}
.baners2Pi:hover{
	
	background-color: #E86786;
	color: #D9D9D9;
}

.baners2Gr p{
	font-size: 35px;
	margin-bottom: 32px;
	text-shadow: 0px 2px 1px #0000003d;
	

}
.baners2Gr a{
	font-size: 16px;
	

}
.baners2Pi p{
	
	font-size: 35px;
	margin-bottom: 32px;
	text-shadow: 0px 2px 1px #0000003d;
}


.baners2Pi a{
	font-size: 16px;
	

}

a{
	color: inherit;
	text-decoration:none;
}

.baners2Gr,.baners2Pi{
	position: relative;
	box-shadow: 0px 2px 8px 1px #0000002e;
	    font-weight: 500;
}

.baners2Gr::before{
	position: absolute;
    content: "";
    background-image: url(../img/top/banerschara01.png);
    width: 146px;
    height: 146px;
    background-size: contain;
    background-repeat: no-repeat;
    bottom: 0;
    left: 8px;
    transform: translate(0%,0%);
}

.baners2Pi::before{
	position: absolute;
    content: "";
    background-image: url(../img/top/banerschara02.png);
    width: 146px;
    height: 146px;
    background-size: contain;
    background-repeat: no-repeat;
    bottom: 0;
   	right: 0px;
    transform: translate(0%,0%);
}


.news{
	width: 1100px;
    margin: 0 auto;
}

.news h2{
	    color: #7A7A7A;
    font-size: 40px;
    text-align: center;
    margin: 0 auto;
    width: 1100px;
    font-weight: bold;
    border-bottom: 1px solid #2AD277;
    padding-bottom: 8px;
    margin-top: 56px;
    margin-bottom: 40px;
}

.kageBlo{
	font-size: 40px;
    font-weight: bold;
    padding-left: 0%;
    margin: 16px 0;
    text-shadow: 0px 3px 0px #0000003d;
}

.newsG{
	    display: flex;
    gap: 64px;
    margin-top: 32px;
}

.newsC{
	
    width: 33%;

}

.newsTf{
	display: flex;
    margin-top: 24px;
    margin-bottom: 16px;

}

.niti{
	    margin: 0 16px 0 auto;
    color: #B6B6B6;
    font-weight: bold;
}

.newsTf h3{
	color: #2AD277;
	font-size: 16px;
}

.newsC p{
	font-weight: 500;
    color: #424242;
}


.news02{
	width: 1100px;
    background-color: #fff;
    border-radius: 32px;
    padding: 32px 0;
    margin: 114px auto 80px;
    box-shadow: 0px 2px 8px 1px #0000002e;
}

.news02 h2{
	font-size: 27px;
    color: #2AD277;
    margin: 0 auto;
    text-align: center;
    margin-bottom: 40px;
}

.news02F{
	display: flex;
    border-bottom: 1px solid #2AD277;
    gap: 112px;
    width: 800px;
    margin: 0 auto;
    padding-bottom: 8px;
    font-size: 16px;
    font-weight: bold;
	margin-bottom: 44px;
	position: relative;
	color: #242424;
}

.niti02{
	margin-left: 16px;
}


.news02F div:nth-child(2){
	
	position: relative;
}
.news02F::before{
	
	position: absolute;
    content: "";
    background-image: url(../img/top/asarow02.png);
   right: 128px;
    top: 14px;
    width: 40px;
    height: 40px;
    background-size: cover;
    transform: translate(0%, -50%);
}


.bana_{
	    width: 1100px;
    margin: 0 auto;
}

.clicY {
    position: absolute;
    right: -13px;
    top: -24px;
    width: 130px;
    height: 130px;
    transform: translate(0%, 0%);
}

.linebana_{
	position: relative;
    color: #fff;
	font-weight: 500;
	opacity: 0.9;
}


.linebana_:hover{
	
	opacity: 1;
}

.bana_lineTxt{
	font-size: 30px;
    position: absolute;
    top: 16px;
    left: 416px;
	color: #707070;
	text-shadow: 1px 1px 1px #fff, -1px 1px 1px #ffffff, 1px -1px 1px #ffffff, -1px -1px 1px #ffffff, 1px 0px 1px #ffffff, 0px 1px 1px #ffffff, -1px 0px 1px #ffffff, 0px -1px 1px #ffffff;
}
.bana_lineTxt02{
	font-size: 24px;
    position: absolute;
    top: 70px;
    left: 405px;

}
.bana_lineTxt03{
	font-size: 32px;
    position: absolute;
    top: 170px;
    left: 275px;
}


.bana_lineTxt03 span{
	color: #FEFF00;
}

.companyBana{
	    position: relative;
    margin-top: 32px;
    margin-bottom: 64px;
}

.campanyBaT{
	font-size: 40px;
    position: absolute;
    left: 50%;
    top: 72px;
    transform: translate(-50%, 0%);
	text-shadow: 2px 2px 2px #ffffff, -2px 2px 1px #ffffff, 2px -2px 1px #ffffff, -2px -2px 1px #ffffff, 2px 0px 1px #ffffff, 0px 2px 1px #ffffff, -2px 0px 1px #ffffff, 0px -2px 1px #ffffff;
	font-weight: bold;
}

.campanyBbtn{
	    position: absolute;
    bottom: 64px;
    left: 50%;
    transform: translate(-50%, 0%);
}

.campBtn{
	background-color: #fff;
    width: 360px !important;
    padding: 28px 0 28px 48px;
    border-radius: 40px;
    font-size: 18px;
    color: #424242;
    font-weight: bold;
    font-size: 16px;
    margin: 0;
}

.campBtn:hover{
	background-color: #EFEFEF;
	color: #000;
   
}


footer{
	
	
}



.ftBtnF{
display: flex;
    justify-content: center;
    gap: 8px;
   margin-bottom: 64px;
    position: relative;
    z-index: 1;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0%);
}

.ftBtnImg{

    position: fixed;
    z-index: 1;
    bottom: 2px;
    right: 0;
    transform: translate(-50%, 0%);
	
}



.ftBtn01{
	
	background-color: #2963d2;
    color: #FFF;
    width: 400px;
    font-size: 20px;
    text-align: center;
    border-radius: 20px;
    padding: 12px 0;
   	box-shadow: 0px 2px 2px 1px #00000040;
	position: relative;
}

.ftBtn02{
	background-color: #f8931f;
    color: #FFF;
    width: 400px;
    font-size: 20px;
    text-align: center;
    border-radius: 20px;
    padding: 12px 0;
    box-shadow: 0px 2px 2px 1px #00000040;
	position: relative;
	
}

.ftBtn01::before{
		position: absolute;
	content: "";
	background-image: url("../img/top/hedicn03.png");
	 top: 50%;
    left: 64px;
    width: 30px;
    height: 30px;
    transform: translate(-50%, -50%);
    background-size: cover;
	
}
.ftBtn02::before{

		position: absolute;
	content: "";
	background-image: url("../img/top/hedicn03.png");
	 top: 50%;
    left: 64px;
    width: 30px;
    height: 30px;
    transform: translate(-50%, -50%);
    background-size: cover;
}

.ftBtn01 p{
	
	    font-weight: 500;
}

.ftBtn02 p{
	
	    font-weight: 500;
}


.ftrBgG{
	    background-color: #29d277;
	border-radius: 50px;
	padding-bottom: 40px;
}

.db{
	display: inline-block;
	margin: 0 auto;
    left: 50%;
    position: relative;
    transform: translate(-50%, 0%);
}

.ftBtnBgF{
	    display: flex;
    justify-content: center;
    margin: -24px auto 0;
    gap: 8px;
}

.ftBtnBg01{
	width: 600px;
}

.ftBtnBg02{
	width: 600px;
}


.ftLsF{
	display: flex;
    justify-content: center;
    align-items: center;
    gap: 56px;
    margin-top: 56px;
}


.ftul{
	
}
.ftul span{
	position: relative;
}

.ftul span::before{
	position: absolute;
	content: ">";
	font-size: 18px;
    top: 50%;
    left: -13px;
	transform: translate(-50%,-50%);
	
}

.ftul ul{
	    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 10px;
    color: #fff;
}

.ftul li{
	list-style: none;
	width: fit-content;
}


.ftimg{
	    width: 650px;
    height: auto;
}


.ftBtnBg01{
	position: relative;
	opacity: 1;
}
.ftBtnBg02{
	
	position: relative;
	opacity: 1;
}


.ftBtnBg01:hover{
	
	opacity: 0.9;
}

.ftBtnBg02:hover{
	
	opacity: 0.9;
}






.ftBtnBg01 div:nth-child(1){
	
}
.ftBtnBg02 div:nth-child(1){
	
	
}
.ftBtnBg01 div:nth-child(1) span{
	
}
.ftBtnBg02 div:nth-child(1) span{
	
}



.ftBtnBg01 div:nth-child(2){
	position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #00C300;
    color: #fff;
    font-size: 20px;
    width: 230px;
    text-align: center;
    padding: 16px 0;
    font-weight: bold;
    border-radius: 30px;
}
.ftBtnBg02 div:nth-child(2){
	position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #2963d2;
    color: #fff;
    font-size: 20px;
    width: 230px;
    text-align: center;
    padding: 16px 0;
    font-weight: bold;
    border-radius: 30px;
}



.ftBtnBg01 div:nth-child(2) span{
	margin-right: 6px;
}
.ftBtnBg02 div:nth-child(2) span{
	margin-left: 6px;
}


.ftBtnBg01 div:nth-child(3){
	    position: absolute;
    bottom: 4px;
    left: 50%;
    width: 100%;
    color: #27B03C;
    font-weight: bold;
    text-align: center;
    transform: translate(-50%, -50%);
}
.ftBtnBg02 div:nth-child(3){
	
	   position: absolute;
    bottom: 4px;
    left: 50%;
    width: 100%;
    color: #2963d2;
    font-weight: bold;
    text-align: center;
    transform: translate(-50%, -50%);
}

.cplg{
	text-align: center;
    margin-top: 40px;
    color: #fff;
	font-size: 12px;
}

.snsF{
	 display: flex;
    justify-content: end;
	    margin-top: 8px;
}

.snsF div{
	width: 54px;
}

.headerIconF{
	display: flex;
	    gap: 16px;
    justify-content: end;
    color: #fff;
}

.headerIconF div{
	
	box-shadow: 0px 1px 3px 1px #0000002e;
}

.headerIconF div:nth-child(1){
	 background-color: #2963d2;
    width: 194px;
    text-align: center;
    padding: 8px 0;
    padding-left: 24px;
    border-radius: 40px;
    position: relative;
	box-shadow: 0px 1px 3px 1px #0000002e;
}
.headerIconF div:nth-child(1):hover{
	
    background-color: #2454b0;
	color: #D8D8D8;
}
.headerIconF a:nth-child(2) div {
	    background-color: #F8931E;
    width: 163px;
    text-align: center;
    padding: 8px 0;
	padding-left: 16px;
    border-radius: 40px;
	position: relative;
}
.headerIconF a:nth-child(2) div:hover{
	
    background-color: #de8217;
	color: #D8D8D8;
}
.headerIconF a:nth-child(3) div{
	    background-color: #2AD277;
    width: 188px;
    text-align: center;
    padding: 8px 0;
	padding-left: 24px;
    border-radius: 40px;
	position: relative;
}


.headerIconF a:nth-child(3) div:hover{
	
    background-color: #25c16d;
	color: #D8D8D8;
}





.headerIconF a:nth-child(1) div::before{
	  
	position: absolute;
    content: "";
    background-image: url(../img/top/hedicn01.png);
    top: 50%;
    left: 32px;
    width: 30px;
    height: 24px;
    transform: translate(-50%, -50%);
    background-size: cover;
}
.headerIconF a:nth-child(2) div::before{
	position: absolute;
	content: "";
	background-image: url("../img/top/hedicn03.png");
	 top: 50%;
    left: 32px;
    width: 30px;
    height: 24px;
    transform: translate(-50%, -50%);
    background-size: cover;
	 
}
.headerIconF a:nth-child(3) div::before{
	position: absolute;
	content: "";
	background-image: url("../img/top/hedicn02.png");
	 top: 50%;
    left: 32px;
    width: 30px;
    height: 24px;
    transform: translate(-50%, -50%);
    background-size: cover;
	
}


.newsC img{
	border-radius: 35px;
}


.move{
	
	margin: 0 auto 24px;
    text-align: center;
	
}
.move iframe{
	
	width: 720px;
	
}

.gaibu{
	position: relative;
}
.gaibu::before{
	position: absolute;
	content: "";
	background-image: url("../img/top/gaibu.png");
	background-size: contain;
	    width: 25px;
    height: 25px;
    top: 50%;
    right: -26px;
	transform: translate(0%,-50%);
}


@media screen and (max-width:767px) {
	
	.sp{
		display: block !important;
	}
	
	.pc{
		display: none !important;
	}
	
	.wrap {
    padding: 80px 3% 0;
}
	.wrap02 {
    padding: 0px 3% 0;
}
	.mv {
    position: relative;
    padding: 0 0px;
    width: 100%;
    height: auto;
		z-index: 1;
	
}
.mvi {
    height: auto;
    width: 100%;
    object-fit: cover;
    object-position: top;
}

	.mv h1{
		font-size: 30px;
	}
	
.mvTxt01 {
    position: absolute;
    top: 8px;
    left: 16px;
    font-size: 22px;
}
	
	.bana{

  height:40vw;
  background:url('../img/top/banner02sp.png');
    background-size: contain;
    background-repeat: no-repeat;
}

.bana:hover{
  background:url('../img/top/banner02spaf.png');
    background-size: contain;
    background-repeat: no-repeat;
}
	
	
	.banaLine{

  height:38vw;
  background:url('../img/top/linebaner01sp.png');
    background-size: contain;
    background-repeat: no-repeat;
}

.banaLine:hover{
  background:url('../img/top/linebaner01spaf.png');
    background-size: contain;
    background-repeat: no-repeat;
}
	
	


	
	.mvSp{
		background-color: #fff;
    width: 90%;
    margin: -4px 0 0 auto;
		padding-top: 0px;
		z-index: 0;
		box-shadow: 0px 1px 3px #00000057;
	}
	
	.mvSp h2{
	font-size: 20px;
    color: #2AD277;
	margin: -16px 32px 0 auto;
    display: table;
    margin-bottom: 32px;
    font-weight: bold;
	text-shadow: 3px 3px 3px #ffffff, -3px 3px 3px #ffffff, 3px -3px 3px #ffffff, -3px -3px 3px #ffffff, 3px 0px 3px #ffffff, 0px 3px 3px #ffffff, -3px 0px 3px #ffffff, 0px -3px 3px #ffffff;
	
	}
	.mvSp h2 span{
		    font-size: 35px;
		text-shadow: 1px 1px 1px #FEFF00, -1px 1px 1px #FEFF00, 1px -1px 1px #FEFF00, -1px -1px 1px #FEFF00, 1px 0px 1px #FEFF00, 0px 1px 1px #FEFF00, -1px 0px 1px #FEFF00, 0px -1px 1px #FEFF00;
	}
	
	.mvImg01Sp{
		position: relative;
		
	}
	.mvImg02Sp{
	width: 82%;
    margin: 0 10px 0 auto;
	}
	.mvImg02Sp img{
		
	}
	
	.mvBarSp{
	background-color: #2AD277;
    color: #fff;
    margin-top: -16px;
    padding: 16px 0px 2px 8px;
    border-radius: 30px;
	}
	.mvBarSp ul{
		list-style: none;
    padding-left: 16px;
		font-weight: bold;
	}
	.mvBarSp li{
		font-size: 22px;
		
	}
	.mvBarSp li span{
		color: #FEFF00;
    margin-left: 16px;
		
	}
	
	.bana {
    width: 100%;
    margin: 40px auto 16px;
}
	.bana img{
    width: 100%;
}
	.banaLine {
    width: 100%;
    margin: 40px auto 16px;
}
	.banaLine img{
    width: 100%;
}
	
	.marL6{
		margin-left: 6px !important;
	}
	
	.marL27{
		margin-left: 27px !important;
	}
	
	.spanMr{
		    font-size: 12px;
    margin: 0 0 0 auto;
    display: table;
    margin-top: 8px;
	}
	
	
	.baner {
    position: relative;
    background-color: rgb(16, 195, 252);
    height: 142px;
    margin: 0 auto;
    margin-top: 64px;
    max-width: 1100px;
	}
	
	
	.banerImg01 {
       position: absolute;
    width: 124px;
    bottom: 0;
    left: -28px;
		
	}
	.banerImg02 {
       position: absolute;
    width: 118px;
    height: auto;
    left: 64px;
    top: -6px;
    transform: translate(0%, 0%);
	}
	

	.banerTxt01 {
    position: absolute;
    top: 50%;
    left: 50%;
    width: max-content;
    font-size: 20px;
    transform: translate(-50%, -50%);
		
		
	}
	.banerTxt01 p {
   font-size: 18px;
    color: #FF3A00;
    text-align: center;
    line-height: 1.4;
}
	
	.banerTxt01 p span {
    font-size: 26px;
}
	
	.banerTxt02 {
   position: absolute;
       left: auto;
    right: 24px;
    top: 6px;
    text-align: center;
    width: auto;
}
	
	.move iframe {
    width: 100%;
    height: auto;
}
	
	.banerFlex {
	
		display: none;
}
	
	.banerFlexSp{
		
	}
	
	
	.banerTxt02 p span {
    font-size: 20px;
    color: #FEFF00;
}
	
	.banerTxt02 p {
    font-size: 20px;
    line-height: 1.5;
}
	
	.banerFlexSp{
	position: absolute;
    display: flex !important;
    bottom: 3px;
    left: 64px;
    gap: 12px;
    align-items: center;
	}
	
	.banerBtn {
    background-color: #FF527C;
    width: 130px;
    height: 35px;
    padding: 10px 0px;
    text-align: center;
    color: #fff;
    border-radius: 32px;
    font-size: 10px;
}
	
	.flexTxt {
    color: #fff;
    font-size: 8px;
		
	}
	
	.sabis {
   color: #7A7A7A;
    font-size: 24px;
    text-align: center;
    margin: 24px auto 32px;
    width: 80%;
    font-weight: bold;
    border-bottom: 1px solid #2AD277;
	}
	
	.sabisFlex h2 {
    font-size: 24px;
    color: #424242;
    text-align: center;
    margin: 18px 0;
}
	.sabisFlex {
     display: block; 
    margin: 0 auto;
    align-items: center;
    justify-content: center;
    color: #424242;
	
	
	
}
	
	.sabisuSpFlex{
	display: flex;
    justify-content: center;
    font-size: 24px;
	}
	
	.sabisFlex img {
    width: 154px;
		margin-top: 0;
	}
	.tohaFlex {
    display: block;
    width: auto;
    margin: 48px auto 0;
}
	
	.flexImgs {
    position: relative;
    height: 304px;
}
	
	.tohaFlex div {
    width: auto;
		    text-align: center;
}
	
	.flexImgs01 {
    position: absolute;
    width: 104px;
    top: 0px;
    left: 0;
}
	
	.flexImgs02 {
    position: absolute;
    width: 104px;
    right: 16px;
    top: 0px;
}
	
	.flexImgs03 {
    position: absolute;
    width: 94px;
    top: 100px;
    left: 50%;
    transform: translate(-50%, 0%);
}
	
	.flexImgs04 {
    position: absolute;
    width: 140px;
    bottom: 0px;
    left: 40px;
}
	
	.flexImgs05 {
    position: absolute;
    width: 104px;
    bottom: 50px;
    right: 24px;
}
	.moreSp{
		font-size: 16px;
    text-align: center;
		    margin-top: 48px;

	}
	
	.matTsp{
		  

	}
	
	.matTsp span{
		  font-size: 16px !important;
    font-weight: bold;
    margin-right: 2px;
	}
	.wd43 {
	
		margin-left: 0;
	}
	
	.tohaBtn {
    color: #fff;
    background-color: #2AD277;
    width: 88% !important;
    padding: 24px 0 24px 24px;
    text-align-last: left;
    border-radius: 40px;
    font-size: 16px;
    margin: 0px auto;
   
}
	
	#hyou {
    margin-top: 240px;
}
	
	
	.hyou {
    background-color: #2AD277;
    padding: 184px 0 32px 0%;
    text-align: center;
    width: auto;
    margin-left: 0%;
    border-radius: 32px;
    position: relative;
}
	
	.hyouC {
    color: #fff;
    padding: 0px 22px;

}
	.tohaBtn .btArow {
    position: absolute;
    top: 50%;
    right: 20px;
    width: auto;
    font-size: 22px;
    border-left: 1px solid #D9D9D9;
    padding-left: 12px;
		
	}
	
	.hyouC h2 {
    font-size: 20px;
    margin-bottom: 32px;
    color: #FEFF00;
    font-weight: 500;
}
	
	.hyouC p {
    margin-bottom: 24px;
    font-size: 16px;
}
	
	.hyouC p:nth-child(4) {
    margin-bottom: 32px;
}
	
	
	.hyouImgR03 {
    position: absolute;
    top: -52px;
    width: 288px;
    right: 0px;
    transform: translate(0%, -50%);
}
	
	
	
	.hyouImgR02 {
    position: absolute;
    bottom: 0;
    left: 72%;
    transform: translate(-50%, 0%);
		display: none !important;
}
	
	
	.hyouImgR01 {
    position: absolute;
    top: 40px;
    left: 15%;
    transform: translate(-50%, 0%);
    width: 108px;
}
	
	
	.hyouImgR01::before {
    position: absolute;
    content: "";
    background-image: url(../img/top/hyoulogox.png);
    width: 260px;
    height: 72px;
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    left: 100px;
    transform: translate(0%, -50%);
}
	
	.hyouL01 {
    position: absolute;
    top: -40px;
    left: 120px;
    width: 95px;
}
	
	.hyouL02 {
    position: absolute;
   top: 50%;
    left: 0;
    width: 95px;
    transform: translate(0%, -50%);
}
	
	.hyouL03 {
    position: absolute;
    bottom: -10%;
    left: 120px;
    width: 95px;
    transform: translate(0%, 0%);
}
	
	
	.hyouLt {
    position: absolute;
    font-size: 35px;
    color: #2AD277;
    font-weight: bold;
    top: 50%;
    left: 50%;
    width: max-content;
    font-size: 22px;
    transform: translate(-50%, -50%);
}
	
	
	
	
	.hyouBtn {
  
}
	.conceptM h2 {
    text-align: center;
    font-size: 24px;
    color: #2AD277;
    margin-bottom: 40px;
}
	
	.conceptM h3 {
    font-size: 16px;
    text-align: center;
    line-height: 3;
    color: #FF527C;
		line-height: 2.2;
}
	.conseptIconF {
    display: block;
    gap: 32px;
    margin-top: 48px;
}
	
	
	.conseptIconF div:nth-child(1) {
    position: relative;
    width: 100%;
}
	
	.conseptIconF div img {
    width: 106px;
    margin: 0 auto 24px;
}
	.conseptIconF h4 {
    color: #2AD277;
    font-size: 20px;
    margin-bottom: 8px;
}
	
	.conseptIconF div p {
    font-size: 16px;
}
	.conseptIconF div:nth-child(2) {
    position: relative;
    width: 100%;
    margin-top: 56px;
}
	
	.conseptIconF div:nth-child(3) {
    position: relative;
    width: 100%;
    margin-top: 56px;
}
	
	.conseptIconF {
    display: block;
    gap: 32px;
    margin-top: 48px;
}
	
	.conceptBtn {
    background-color: #2AD277;
    width: auto !important;
    border-radius: 40px;
    font-size: 18px;
    margin: 40px 0 0;
    color: #fff;
    margin: 80px auto 0;
    font-weight: bold;
    font-size: 16px;
	padding: 24px 0 24px 24px;
    text-align-last: left;
		    width: 100% !important;
}
	
	.kinou {
    background-color: #2AD277;
    width: auto;
    margin: 0 auto;
    padding: 120px 16px 56px;
    border-radius: 32px;
    position: relative;
}
	
	.h2flex {
    display: flex;
    align-items: center;
    font-size: 24px;
    font-weight: bold;
    width: 96%;
    padding: 8px;
    height: auto;
    background-color: #fff;
    border-radius: 40px;
    justify-content: center;
    position: absolute;
    top: 88px;
    left: 50%;
    transform: translate(-50%, -50%);
}
	
	.h2flex div:nth-child(1) {
    width: 167px;
}
	
	.knouC01, .knouC02, .knouC03 {
    position: relative;
    margin-bottom: 24px;
}
	
	.knouC01 {
  background-color: #fff;
    width: 100%;
    min-height: auto;
    padding: 26px 16px 32px;
    margin: 24px auto;
    margin-right: 0px;
    border-radius: 40px;
		
}
	
	.knouC01 h3 {
  
		text-align: justify;
    font-size: 18px;
    margin: 0 0 0 auto;
    margin-bottom: 32px;
    display: table;
}
	
	.knouC01 p {
}
	
	.knouC02 {
    background-color: #fff;
    width: 100%;
    min-height: auto;
    margin: 0px auto;
    margin-right: 48px;
    border-radius: 40px;
   padding: 32px 16px 32px;
    margin: 0px auto;
    margin-right: 48px;
    border-radius: 40px;
}
	
	.kinouBtn {
    background-color: #fff;
    width: 88%;
    padding: 16px 0 16px 48px;
    border-radius: 40px;
    font-size: 18px;
    margin: 40px 0 0;
    color: #000;
    margin: 80px auto 0;
    font-weight: bold;
    font-size: 16px;
}
	
	
	.banersF {
    display: block;
    margin-top: 48px;
    margin-bottom: 56px;
    text-align: -webkit-center;
}
	
	.baners01::before {
    position: absolute;
    content: "";
    background-image: url(../img/top/baners01.png);
    width: 97px;
    height: 95px;
    background-size: contain;
    background-repeat: no-repeat;
    bottom: -5px;
    left: 6px;
    transform: translate(0%, 0%);
}
	
	.baners02 {
    background-color: #2A63D2;
    width: 84%;
    padding: 32px 0;
    text-align: center;
    font-size: 18px;
    border-radius: 32px;
    color: #fff;
    margin-top: 24px;
}
	.baners02::before {
    position: absolute;
    content: "";
    background-image: url(../img/top/baners02.png);
    width: 97px;
    height: 97px;
    background-size: contain;
    background-repeat: no-repeat;
    bottom: -5px;
    right: 0px;
		left: auto;
    transform: translate(0%, 0%);
}
	
	
	.stepC {
    padding: 40px 16px;
    width: 100%;
    background-color: #29d277;
    margin: 0 auto;
    border-radius: 50px;
    margin-bottom: 80px;
}
	
	.stepC h2 {
    text-align: center;
    margin-bottom: 64px;
    font-size: 24px;
    padding-bottom: 8px;
    border-bottom: 0px solid #FEFF00;
    width: auto;
    margin: 0 auto 64px;
}
	
	.stepTxt p {
    display: inline-block;
    color: #fff;
    text-align: center;
}
	
	.stepF {
    display: block;
    
    margin-bottom: 40px;
  

		
	}
	
	.stepW {
    background-color: #fff;
    width: 100%;
    text-align: center;
    border-radius: 30px;
    font-size: 12px;
    padding-bottom: 32px;
    padding: 64px 5px 32px;
    margin-bottom: 120px;
}
	
	.stepF div h3 {
    margin: 0 auto;
    margin: 0px auto 24px;
    font-size: 20px;
    color: #424242;
	font-weight: bold;
    margin-left: 8px;
}
	
	.stepF div img {
    margin: 0 auto;
    margin-bottom: 16px;
}
	
	.stepW {
    background-color: #fff;
    width: 100%;
    text-align: center;
    border-radius: 30px;
    font-size: 12px;
    padding-bottom: 32px;
    padding: 64px 5px 32px;
    margin-bottom: 120px;
}
	
	.baners2 {
    width: 100%;
    margin: 0 auto;
}
	
	.baners201 {
    position: relative;
    margin-bottom: 32px;
    width: 100%;
    height: auto;
}
	
	
	.baners201 img{
		
		height: 150px !important;
	}
	
	.baners2Txt01 {
    position: absolute;
    top: 40%;
    transform: translate(0%, -50%);
    left: 40px;
    color: #fff;
}
	
	.baners2Txt01 p:nth-child(1) {
    font-size: 20px;
}
	
	.baners2Txt01 p:nth-child(2) {
    font-size: 15px;
		margin-bottom: 15px;
		display: none;
}
	

	
	.baners2F {
    display: block;
    width: 100%;
  
}
	
	
	.baners2F div {
    width: 100%;
    text-align: center;
    color: #FFF;
    margin-bottom: 24px;
}
	
	.baners2Gr::before {
    position: absolute;
    content: "";
    background-image: url(../img/top/banerschara01.png);
    width: 112px;
    height: 112px;
    background-size: contain;
    background-repeat: no-repeat;
    bottom: 0;
    left: 8px;
    transform: translate(0%, 0%);
}
	.baners2Gr p {
    font-size: 24px;
    margin-bottom: 16px;
}
	
	.baners2Pi::before {
    position: absolute;
    content: "";
    background-image: url(../img/top/banerschara02.png);
    width: 112px;
    height: 112px;
    background-size: contain;
    background-repeat: no-repeat;
    bottom: 0;
    right: 0px;
    transform: translate(0%, 0%);
}
	
	.baners2Pi p {
    font-size: 25px;
    margin-bottom: 16px;
}
	
	.news02 {
    width: 100% !important;
    background-color: #fff;
    border-radius: 32px;
       padding: 32px 24px;
    margin: 80px auto 80px;
    box-shadow: 0px 2px 8px 1px #0000002e;
}
	
	
	.news02 h2 {
    font-size: 27px;
    color: #2AD277;
    margin: 0 auto;
    text-align: center;
    margin-bottom: 40px;
}
	
	.news02F {
    display: flex;
    border-bottom: 1px solid #2AD277;
    gap: 16px;
    width: auto;
    margin: 0 auto;
    padding-bottom: 8px;
    font-size: 12px;
    font-weight: bold;
    margin-bottom: 56px;
}
	
	.bana_ {
    width: 100%;
    margin: 0 auto;
}
	

	
	.bana_lineTxt {
    font-size: 15px;
    position: absolute;
    top: 16px;
    left: 50px;
}
	
.bana_lineTxt02 {
     font-size: 13px;
    position: absolute;
    top: 42px;
	left: auto;
    text-align: end;
    right: 0;
	
}
	
	
.bana_lineTxt03 {
        font-size: 16px;
    position: absolute;
    top: auto;
    left: 100px;
    bottom: 0;
}
	
	.campanyBaT {
    font-size: 24px;
    position: absolute;
    left: 50%;
    top: 30px;
    transform: translate(-50%, 0%);
}
	
	
	.db {
    display: block;
    margin: 0 auto;
    left: 50%;
    position: relative;
    transform: translate(-50%, 0%);
}


	
	.ftBtnBgF {
    display: inline-block;
    justify-content: center;
    margin: -24px auto 0;
    gap: 8px;
}
	
	.ftBtnBg01 {
    position: relative;
}
	
	.ftBtnBg02 {
    width: 80%;
    margin: 0 auto;
}


	
	.ftLsF {
    display: block;
    margin-top: 56px;
}
	
	.ftul {
    display: none;
}

	.ftimg {
    width: 90%;
    margin: 0 auto;
    height: auto;
}
}



@media screen and (max-width:767px) {


	.baners01 {
    background-color: #FF84A2;
    width: 84%;
    padding: 32px 0;
    text-align: center;
    font-size: 18px;
    border-radius: 32px;
    color: #fff;
		
	}

	.marB48{
		
		margin-bottom: 48px;
	}
	
	.baners2Gr {
    background-color: #2AD277;
    border-radius: 30px;
   padding: 18px 0px 18px 30px;
}

	.baners2Pi {
    background-color: #FF84A2;
    border-radius: 30px;
   padding: 18px 40px 18px 0px;
}
	
	.conceptM {
    background-color: #fff;
    width: auto;
    border-radius: 32px;
    margin: 0 auto;
    margin-top: 48px;
	padding: 64px 22px;
		margin-bottom: 184px;
}
	
	.knouC03 {
    background-color: #fff;
    width: 100%;
    min-height: 290px;
   padding: 32px 16px 32px;
    margin: 0px auto;
    margin-right: 48px;
    border-radius: 40px;
    margin-top: 32px;
}
	
	.kinouBtn {
    width: 90% !important;
    margin: 40px auto 0;
    color: #424242;
	padding: 24px 0 24px 32px;

		
	}
	
	.kinouBtn02 {
    background-color: #2AD277;
    width: 90% !important;
    padding: 24px 0 24px 40px;
    border-radius: 40px;
    font-size: 18px;
    margin: 40px 0 0;
    color: #fff;
    margin: 80px auto 0;
    font-weight: bold;
    font-size: 16px;
    box-shadow: 0px 2px 8px 1px #0000002e;
    position: relative;
}
		.kinouBtn0202 {
   
    width: 100% !important;
 
}
	
	

	
	
	.ftBtnBg01 {
    width: 80%;
    margin: 0 auto 6px;

}
	.hyouBtn {
    background-color: #ffffff;
    width: 80% !important;
    padding: 16px 0 16px 40px;
    border-radius: 40px;
    font-size: 16px;
    margin: 40px auto 0;
    color: #000;
    font-weight: bold;
}
	.hyouBtn {
    background-color: #ffffff;
    width: 100% !important;
    border-radius: 40px;
    font-size: 16px;
    margin: 40px 0 0;
    color: #424242;
    font-weight: bold;
	padding: 24px 0 24px 32px;
    text-align-last: left;
}
	
	.hyouC p span{
		    color: #FEFF00;
	}
	
	.knouC01 {
    background-color: #fff;
    width: 100%;
    min-height: auto;
    padding: 32px 16px 32px;
    margin: 32px auto;
    border-radius: 40px;
}
	
	.h2flex h2 {
    font-size: 24px;
}
	
	
	.news02F::before {
    position: absolute;
    content: "";
    background-image: url(../img/top/asarow02.png);
   right: 6px;
    top: 8px;
    width: 31px;
    height: 31px;
    background-size: cover;
    transform: translate(0%, -50%);
}
	
	.headerF {
    display: flex;
    justify-content: inherit;
		position: relative;
		    z-index: 13;
}
	
	.campanyBbtn {
    position: absolute;
    bottom: 38px;
    left: 50%;
    transform: translate(-50%, 0%);
}
	
	.ftBtnBg01 div:nth-child(2) {
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #00C300;
    color: #fff;
    font-size: 18px;
    width: 200px;
    text-align: center;
    padding: 10px 0;
    font-weight: bold;
    border-radius: 30px;
}
	
	.ftBtnBg02 div:nth-child(2) {
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #2963d2;
    color: #fff;
    font-size: 18px;
    width: 200px;
    text-align: center;
    padding: 10px 0;
    font-weight: bold;
    border-radius: 30px;
}
	
.news {
    width: 100%;
    margin: 0 auto;
}
	
	.spMini{
		font-size: 10px;
	}
	
	.slider .slick-list {
  padding: 0 30% 0 0!important;
}
	
	
	


.newsC img{
	
	width: 80%;
	margin: 0 auto;
}

.newsC div{
	
	width: auto;
	
}

.newsTf{
	width: 85% !important;
	margin: 8px auto 24px;
    align-items: center;
}

.newsC p{
	width: 80%;
	margin: 0 auto;
}
	
	.knouC03 h3 {
    text-align: justify;
    font-size: 18px;
    margin: 0 0 0 80px;
    margin-bottom: 32px;
    display: table;
}
	.knouC03::before {
    position: absolute;
    content: "";
    background-image: url(../img/top/kinou03.png);
    width: 70px;
    height: 70px;
    background-size: contain;
    background-repeat: no-repeat;
    top: 28px;
    left: 18px;
    transform: translate(0%, 0%);
}
	
	.knouC02 h3 {
		text-align: justify;
    font-size: 18px;
    margin: 16px 0 0 80px;
    margin-bottom: 32px;
    display: table;
}
	
	.knouC02::before {
    position: absolute;
    content: "";
    background-image: url(../img/top/kinou02.png);
    width: 70px;
    height: 70px;
    background-size: contain;
    background-repeat: no-repeat;
    top: 28px;
    left: 18px;
    transform: translate(0%, 0%);
}
	
	.knouC01 h3 {
   text-align: justify;
    font-size: 18px;
    margin: 0 0 0 80px;
    margin-bottom: 32px;
    display: table;
}
	
	.knouC01::before {
    position: absolute;
    content: "";
    background-image: url(../img/top/kinou01.png);
    width: 70px;
    height: 70px;
    background-size: contain;
    background-repeat: no-repeat;
    top: 28px;
    left: 18px;
    transform: translate(0%, 0%);
}
	.inlF{
		    display: inline-flex;
    margin-right: 64px;
	}
	
	.inlB{
		display: inline-block;
    margin-left: 56px;
	}
	
	.news{
		width: 100%;
    margin: 80px auto;
	}
	
	.news h2{
		text-align: center;
    border-bottom: 1px solid #2AD277;
    width: 80%;
    margin: 0 auto;
    color: #7A7A7A;
    padding-bottom: 8px;
		font-size: 24px;
		font-weight: bold;
	}
	
	.kageBlo{
		font-size: 20px;
    font-weight: 500;
    padding-left: 10%;
    margin: 16px 0;
    text-shadow: 0px 3px 0px #0000003d;
}
	
	.newsTf h3 {
    font-size: 13px;
}
	
	.niti {
 
    font-size: 13px;

}
	
	.newsC p{
		font-size: 13px;
	}
	
	
	.stepH3Icon01::before,.stepH3Icon02::before {
  
    top: 50%;
    left: -8px;
    transform: translate(0%, -50%);
	width: 80px;
    height: 80px;
		
	}
	
	.hyouBtn .btArow {
    position: absolute;
    top: 50%;
    right: 20px;
    width: auto;
    font-size: 30px;
    border-left: 1px solid #2AD277;
    color: #2AD277;
	}
	
	.conceptBtn .btArow {
    position: absolute;
    top: 50%;
    right: 20px;
    width: auto;
    font-size: 22px;
    border-left: 1px solid #D9D9D9;
    padding-left: 12px;
	}

	
	.headerF div:nth-child(1) {
    width: 120px;
    align-self: center;
}
	
	.header {
    padding: 16px 5%;
		
		
	
}
	
	.mvSp{
		position: relative;
	}
	
	.mvSp::before{
	position: absolute;
    content: "";
    background-image: url(../img/top/mvchara01.png);
    width: 120px;
    height: 170px;
    background-size: contain;
    background-repeat: no-repeat;
    bottom: -22px;
    left: 0px;
    transform: translate(-50%, 0%);
	}
	
	.tohaFlex::before,.knouC01::after,.knouC02::after,.knouC03::after,.stepCh01::before,.stepCh02::before{
		display: none;
	}
	
	.conseptIconF div:nth-child(1)::before,.conseptIconF div:nth-child(2)::before,.conseptIconF div:nth-child(3)::before {
		
		left: 8px;
	}

	
	.wid3{
		width: 300px !important;
	}
	
	.kinou::before {
    position: absolute;
    content: "";
    background-image: url(../img/top/abusokinou.png);
    width: 163px;
    height: 163px;
    background-size: contain;
    background-repeat: no-repeat;
    top: -40px;
    left: -3px;
    transform: translate(0%, -50%);
}
	.kinou::after {
    position: absolute;
    content: "";
    background-image: url(../img/top/kinouchara02.png);
    width: 108px;
    height: 152px;
    background-size: contain;
    background-repeat: no-repeat;
    top: 0px;
    right: 6px;
    transform: translate(0%, -50%);
}
	
	.ftBtnF02 {
        position: fixed;
    z-index: 1;
    width: -webkit-fill-available;
    bottom: 0;
    margin-bottom: 0px;
	display: flex !important;
    justify-content: center;
    gap: 8px;
    align-items: center;

		
}
	
	.ftBtn01sp,.ftBtn02sp{
		font-size: 14px;
		position: relative;
	}
	
	.ftBtn01sp{
	
	background-color: #2963d2;
    color: #FFF;
    width: 150px;
    font-size: 14px;
    text-align: center;
    border-radius: 20px;
    padding: 12px 0 12px 24px;
    box-shadow: 0px 2px 8px 1px #0000002e;
}

.ftBtn02sp{
	background-color: #f8931f;
    color: #FFF;
    width: 150px;
    font-size: 14px;
    text-align: center;
    border-radius: 20px;
    padding: 12px 0 12px 16px;
    box-shadow: 0px 2px 8px 1px #0000002e;
	
}
	.ftBtnF02 img{
		    width: 45px;
    height: 45px;
    margin-top: 8px;
	}
	
	
	.ftBtn01sp::before{
	position: absolute;
    content: "";
    background-image: url(../img/top/hedicn01.png);
    width: 28px;
    height: 28px;
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    left: 10px;
    transform: translate(0%, -45%);
}
	
	.ftBtn02sp::before{
	    position: absolute;
    content: "";
    background-image: url(../img/top/hedicn03.png);
    width: 28px;
    height: 28px;
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    left: 10px;
    transform: translate(0%, -45%);
	}
	
	.clicY {
    position: absolute;
    right: 8px;
    top: auto;
    bottom: -12px;
    width: 56px;
    height: 56px;
    transform: translate(0%, 0%);
		
	}
	
	.ftrBgG{
	    background-color: #29d277;
	border-radius: 50px;
	padding-bottom: 80px;
}
	
}

/*　ハンバーガーボタン */
.hamburger {
 display: block;
    position: absolute;
    z-index: 13;
    right: -8px;
    transform: translate(-50%, -50%);
    top: 48%;
    width: 42px;
    height: 42px;
    background-color: #ffffff;
    border-radius: 50%;
    box-shadow: 0px 2px 0px 1px #00000024;
    border: 0px solid #e96301;

  
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 20px;
  height  : 2px ;
  left    : 9px;
 background: #2AD277;
  -webkit-transition: 0.5s all;
  -moz-transition   : 0.5s all;
  transition        : 0.5s all;
	    margin-left: 2px;
}
.hamburger span:nth-child(1) {
  top: 15px;
}
.hamburger span:nth-child(2) {
  top: 20px;
	display: none;
}
.hamburger span:nth-child(3) {
  top: 24px;
}

/* ナビ開いてる時のボタン */

.hamburger.active span:nth-child(1) {
  top: 20px;
    left: 9px;
    width: 20px;
    background: #2AD277;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}
.hamburger.active span:nth-child(2) {
  left: 60%;
  opacity: 0;
  -webkit-animation: active-btn17-bar02 .8s forwards;
  animation: active-hamburger-bar02 .8s forwards;
}
@-webkit-keyframes active-hamburger-bar02 {
  100% {
    height: 0;
  }
}
@keyframes active-hamburger-bar02 {
  100% {
    height: 0;
  }
}
.hamburger.active span:nth-child(3) {
 top: 20px;
    left: 9px;
    width: 20px;
    background: #2AD277;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}


.hamburger::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  content: '';
  width: 52px;
  height: 52px;
  margin: -32px 0 0 -32px;
  border-radius: 50%;
  border: 2px solid rgba(0, 0, 0, 0);
  transition: all .75s;
}
.hamburger.active::after {

}

nav.globalMenuSp {
  position: fixed;
  z-index : 12;
  top  : 0;
  left : 0;
  color: #fff;
  background: #2AD277;
  text-align: center;
  width: 100%;
  opacity: 0;
  transition: opacity .6s ease, visibility .6s ease;
	visibility: hidden;
}

nav.globalMenuSp ul {
  margin: 0 auto;
  padding: 0;
  width: 100%;
	height: 100vh;
    gap: 0 0;
    padding-top: 80px;
    text-align: justify;
	display: block;
	font-size: 16px;
	    font-weight: bold;
	



}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0px 0;
  width: 100%;
  transition: .4s all;
	padding-left: 10%;
    border-top: 0px solid #ffffff6e;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
	    
}

.lastLi{
	border-bottom: 0px solid #ffffff6e;
}
nav.globalMenuSp ul li:hover{
  background :#ddd;
}

nav.globalMenuSp ul li a {
  display: block;
  color: #fff;
  padding: 1em 0;
  text-decoration :none;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  opacity: 100;
	visibility: visible;

	
}
	
.mvSp span{
	position: relative;
}
.mvSp span::after{
	    position: absolute;
    content: "フリー";
    bottom: -18px;
    left: 25px;
    transform: translate(-50%, 0%);
    font-size: 16px;
    white-space: nowrap;
	
}


.master{
	background-color: #2A63D2 !important;
	
}
.pro{
	background-color: #FF84A2 !important;
}



#header.UpMove{
  animation: UpAnime 0.5s forwards;
}



@keyframes UpAnime{
  from {
    opacity: 1;
  transform: translateY(0);
  }
  to {
    opacity: 0;
  transform: translateY(-100px);
  }
}

/*　下に下がる動き　*/

#header.DownMove{
  animation: DownAnime 0.2s forwards;
}
@keyframes DownAnime{
  from {
    opacity: 0;
  transform: translateY(-20px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}

.scroll-fade-up {
  
}


.page-numbers.current {
    background-color: #2AD277; /* 背景色 */
    

}

@charset "UTF-8";
/* CSS Document */



.wrap {
    padding: 40px 5% 0 !important;
}

.baner {
 
    margin-top: 80px !important;

}



.h1 h2{
	font-size: 36px !important;
    align-items: center;
    justify-content: center;
}


.h1 span{
	
}

.h1 span::before{
	
}
.h1 img{
    margin-top: -8px;
	width: 320px;
	
}

.container {

    position: relative;
    background: #fff;
    width: 1100px;
    margin: 0 auto;
	box-shadow: 0px 2px 8px 1px #0000002e;
	padding: 24px 56px 32px;
	border-radius: 50px;
	margin: 48px auto 80px;
     

   }
   .container h2 {
    text-align: center; 

   }
   .qa-container {
    text-align: justify;
    margin-bottom: 56px;

   }
   .qa-container label {
    display: block;
    position: relative;
    background: #2AD277;
    color: #fff;
	padding: 24px 64px 24px 171px;
    cursor: pointer;
    border-radius: 30px;
	   box-shadow: 0px 2px 8px 1px #0000002e;
	       font-weight: bold;
}
   .qa-container label::before {
    position: absolute;
	   content: "Q";
	   font-size: 30px;
	   color: #fff;
	   top: 50%;
	   left: 85px;
    transform: translate(-50%, -50%);
	       font-weight: bold;
}
.qa-container label:after {
    content: '';
    display: block;
    width: 18px;
    height: 18px;
    border-right: solid 5px #FEFF00;
    border-bottom: solid 5px #FEFF00;
  transform: rotate(45deg) translate(0%, -50%);
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -3px;
    margin-right: 32px;
}


   .qa-container input:checked ~ label:after {
   transform: rotate(-135deg) translate(-50%, 0%);
    margin-top: -8px;

   }
   .qa-container input {
    display: none;
   }
  .qa-container p {
    height: 0px;
    opacity: 0;
    transition: opacity 0s ease-in-out, height 0.2s ease-in-out, margin 0.5s ease-in-out;
    margin: 0 0.5rem;
}
   .qa-container input:checked ~ p {
    height: 85px;
    background-color: #F5F5F5;
    opacity: 1;
    transition: opacity 0.3s 0.2s ease-in-out, height 0.3s ease-in-out;
    margin: 0px 0;
    border-radius: 30px;
    align-content: center;
    padding: 0px 64px 0px 171px;
	   position: relative;
	   box-shadow: 0px 2px 8px 1px #0000002e;
	       font-weight: bold;
}
.qa-container input:checked ~ p::before {
   position: absolute;
	   content: "A";
	   font-size: 30px;
	   color: #000;
	   top: 50%;
	   left: 85px;
	   transform: translate(-50%,-50%);
	    font-weight: bold;
}

   
.toggle_title {
	ine-height: 42px;
    margin: 0;
    position: relative;
    background: #2AD277;
    color: #fff;
    padding: 24px 64px 24px 171px;
    cursor: pointer;
    border-radius: 30px;
    box-shadow: 0px 2px 8px 1px #0000002e;
    font-weight: bold;
}
.toggle_btn {
	display: inline-block;
	width: 55px;
	height: 55px;
	background: url( "../img/question/open.png") no-repeat right top;
	position: absolute;
	    bottom: 3px;
    right: 12px;
	cursor: pointer;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background-size: contain;
}
.toggle_btn.selected {
	background: url( "../img/question/close.png") no-repeat right top;
	background-size: contain !important;
}
.toggle_txt {
	display: none;
	position: relative;
    background-color: #F5F5F5;
    border-radius: 30px;
    align-content: center;
    padding: 32px 64px 32px 171px;
    height: auto;
    box-shadow: 0px 2px 8px 1px #0000002e;
    font-weight: bold;
}


.toggle_title::before {
    position: absolute;
	   content: "Q";
	   font-size: 30px;
	   color: #fff;
	   top: 50%;
	   left: 85px;
    transform: translate(-50%, -50%);
	       font-weight: bold;
}

.toggle_txt::before {
   position: absolute;
	   content: "A";
	   font-size: 30px;
	   color: #000;
	   top: 50%;
	   left: 85px;
	   transform: translate(-50%,-50%);
	    font-weight: bold;
}


.qaBw{
	   background-color: #fff;
    width: 1100px;
    margin: 48px auto 80px;
    padding: 24px 56px 32px;
    border-radius: 50px;
    box-shadow: 0px 2px 8px 1px #0000002e;
}




.qandA{
	margin-bottom: 64px;
}


@media screen and (max-width:767px) {
	
	
	
	.padT200 {
    padding-top: 80px;
}
	.h1 {
    text-align: center;
    background-color: #2AD277;
    color: #fff;
    border-radius: 40px;
    padding: 24px 0;
}
	
	

	
	.h1 h2 {
    text-align: center;
    font-size: 18px !important;
    color: #fff;
		
	}
	
	
	
	 .container {
         margin: 0 auto;
    padding: 24px 24px;
    width: 100%;
	margin: 0px auto 80px;
    }
    .qa-container input:checked ~ p {
       height: 260px;
    padding: 72px 24px 0px 24px;
    }
	.qa-container input:checked ~ p::before {
    position: absolute;
    content: "A";
    font-size: 30px;
    color: #000;
    top: 32px;
    left: 24px;
    transform: translate(0%, -50%);
}
	
	.qa-container label {
display: block;
    position: relative;
    background: #2ad277;
    color: #fff;
    padding: 72px 24px 24px;
    cursor: pointer;
    border-radius: 30px;
}
	
	.qa-container label:after {
 content: '';
    display: block;
    width: 18px;
    background-size: cover;
    height: 18px;
    border-right: solid 5px #feff00;
    border-bottom: solid 5px #feff00;
    transform: rotate(45deg) translate(-50%, -50%);
    position: absolute;
    top: auto;
    bottom: 0px;
    right: 12px;
    margin-top: 0px;
    margin-right: 0px;
}
	
	.qa-container input:checked ~ label:after {
    transform: rotate(-135deg) translate(0%, 0%);
        margin-top: 0px;
    right: 12px;
    bottom: 7px;
}


	
	.qa-container {
    text-align: justify;
    margin-bottom: 24px;
}
	
	
	
	.qa-container label::before {
   position: absolute;
    content: "Q";
    font-size: 30px;
    color: #fff;
    top: 33px;
    left: 24px;
    transform: translate(0%, -50%);
}
	
	.qaBw {
    background-color: #fff;
    width: 100%;
    margin: 48px auto 80px;
    padding: 24px 24px 6px;
    border-radius: 50px;
    box-shadow: 0px 2px 8px 1px #0000002e;
}
	.toggle_title {
    margin: 0;
    position: relative;
    background: #2AD277;
    color: #fff;
    padding: 64px 32px 24px;
    cursor: pointer;
    border-radius: 30px;
    box-shadow: 0px 2px 8px 1px #0000002e;
    font-weight: bold;
}
	
	
	
	.toggle_title::before {
    position: absolute;
    content: "Q";
    font-size: 30px;
    color: #fff;
    top: 30px;
    left: 43px;
    transform: translate(-50%, -50%);
    font-weight: bold;
}
	
	.toggle_btn {
    display: inline-block;
    width: 55px;
    height: 55px;
    background: url(../img/question/open.png) no-repeat right top;
    position: absolute;
    bottom: -24px;
    right: 12px;
    cursor: pointer;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    z-index: 1;
    background-size: contain;
	
	}
		
		.toggle_txt {
    height: auto;
	padding: 64px 32px 24px 32px;

}
	

	
	.toggle_txt::before {
    position: absolute;
    content: "A";
    font-size: 30px;
    color: #000;
    top: 30px;
    left: 43px;

		
	}
   }


@media screen and (min-width:768px) and (max-width:1200px) {
	
	.h1 h2 {
    font-size: 28px !important;
	
	}
	
	.qaBw {
    width: 100%;
		
	}
	
	
	.toggle_title {
    padding: 24px 64px 24px 136px;
		
	}
	
	.toggle_title::before {
    font-size: 30px;
    top: 50%;
    left: 72px;
		
	}
	
	.toggle_txt {
    padding: 32px 64px 32px 136px;
		
	}
	
	.toggle_txt::before {
    font-size: 30px;
    top: 50%;
    left: 72px;
		
	}
	
	.toggle_btn {
    width: 45px;
    height: 45px;
		
	}
	
	.h1h1{
    padding: 24px 0;
}
}




@media screen and (min-width:768px) and (max-width:950px) {
	
.toggle_txt {
    display: none;
    position: relative;
    background-color: #F5F5F5;
    border-radius: 30px;
    align-content: center;
    padding: 24px 64px 24px 136px;
	
	}
	
	.h1 h2 {
    font-size: 24px !important;
}
	
	.h1h1 {
    padding: 19px 0;
}
	



	
}



@media screen and (min-width:950px) and (max-width:1100px) {
	

	.toggle_txt {
    height: auto;
	padding: 32px 64px 32px 136px;
		
	}

	
	
}



@media screen and (min-width:600px) and (max-width:767px) {
	
	.toggle_txt {
    height: auto;
    padding: 64px 32px 24px 32px;
}
	

	
	
	
}

@media screen and (min-width:500px) and (max-width:599px) {
	
	.toggle_txt {
    height: auto;
    padding: 64px 32px 24px 32px;
}
	

	
	
	
}
@media screen and (min-width:430px) and (max-width:499px) {
	
	.toggle_txt {
    height: auto;
    padding: 64px 32px 24px 32px;
}
	
	
		
	
	
}