body {
    background-color:#FFFFFF;
    color:#282828;
    line-height:1.7;
    font-size:16px;
    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
}


/*2-共通部分*/
.fl{
    float: left;
}
.fr{
    float: right;
}

/*文字*/
.text_bold{
    font-weight: bold;
}
.text_center{
    text-align: center;
}

a img:hover {
	opacity: 0.9 ;
}
.animated {
	animation: move-y .5s infinite alternate ease-in-out;
	/* display: inline-block; */
	color: red;
}
@keyframes move-y {
	from {
	transform: translateY(0);
	}
	to {
	transform: translateY(10px);
	}
}

@media screen and (min-width:769px) {


/*汎用*/
.txt-c {
    text-align: center;
}
.txt-r {
    text-align: right;
}
.mt10 {
    margin-top: 10px;
}
.mt20 {
    margin-top: 20px;
}
.mt30 {
    margin-top: 30px;
}
.mt40 {
    margin-top: 40px;
}
.mt50 {
    margin-top: 50px;
}
.mt60 {
    margin-top: 60px;
}
.mt70 {
    margin-top: 70px;
}
.mt100 {
    margin-top: 100px;
}
.pt20 {
    padding-top: 20px;
}
.pt30 {
    padding-top: 30px;
}
.pt40 {
    padding-top: 40px;
}
.pd40 {
    padding: 40px;
}
.pb20 {
    padding-bottom: 20px;
}
.pb40 {
    padding-bottom: 40px;
}
.pb120 {
    padding-bottom: 120px;
}
.pr50 {
    padding-right: 50px;
}
.pr100 {
    padding-right: 100px;
}
.m0auto {
    margin: 0 auto;
}
.mb10 {
    margin-bottom: 10px;
}
.mb20 {
    margin-bottom: 20px;
}
.mb30 {
    margin-bottom: 30px;
}
.mb40 {
    margin-bottom: 40px;
}
.mb50 {
    margin-bottom: 50px;
}
.mb60 {
    margin-bottom: 60px;
}
.mb70 {
    margin-bottom: 70px;
}
.mb80 {
    margin-bottom: 80px;
}
.mb90 {
    margin-bottom: 90px;
}
.mb100 {
    margin-bottom: 100px;
}
.mb110 {
    margin-bottom: 110px;
}
.mr40 {
    margin-right: 38px;
}

.psn-r {
    position: relative;
}
.psn-a {
    position: absolute;
}
.c-w {
    color: #fff;
}
.bold {
    font-weight: bold;
}

.sp { display: none !important; }
	
#wrap{
    margin: 0 auto;
    padding-top: 90px;
}

/*head*/

.head {
	box-shadow: 0px 0 10px;
    background: #fff;
    padding-top: 15px;
    position: fixed;
    max-width: 100%;
    left: 0;
    right: 0;
    z-index: 10;
}
.head_main{
    width: 1200px;
    height: 80px;
	margin: 0 auto;
}
.head_btn{
    float: left;
	padding-right: 15px;
}
	
/*main*/

.main_bg {
	background: url("../images/main_bg.jpg") no-repeat center center / cover;
	height: 850px;
	max-height: 70vw;
	margin: 0 auto;
	position: relative;
}

.main {
	position: absolute;
	right: 50%;
	bottom: 5%;
	width: clamp( 380px, 48%, 750px );
	height: clamp( 400px, 60%, 700px );
}

.main img {
	display: block;
	height: 100%;
	width: 100%;
	object-fit: contain;
}


/*cta*/

.cta{
    background: url("../images/cta_bg.jpg")no-repeat top center/ cover;
	margin: 0 auto;
}
.cta_main{
    width: 1000px;
	margin: 0 auto;
}
.cta_cam{
    padding-top: 60px;
    margin: 0 auto;
    text-align: center;
}
.cta_bnr{
    padding-top: 15px;
    width: 800px;
    margin: 0 auto;
}
.cta_bnr img{
    width: 800px;
}
.cta_cost{
    padding-top: 30px;
    margin: 0 auto;
    text-align: center;
}
.cta_otoku{
    position: absolute;
    top: 80px;
    right: -10px;
}
.document_btn{
    float: left;
}
.apply_btn{
    float: right;
}
	
.compare{
    background: #fff4f9;
	margin: 0 auto;
	line-height: 0px;
}
.compare_main{
	margin: 0 auto;
	text-align: center;
	padding: 80px 0 0px;
}
.trouble_tit{
    background: #e30171;
	margin: 0 auto;
	text-align: center;
	line-height: 0px;
}
.trouble_main{
    background: url("../images/trouble_bg.jpg")no-repeat top center;
	margin: 0 auto;
	text-align: center;
	line-height: 0px;
    padding: 100px 0 130px;
}
.solution{
	margin: 0 auto;
	line-height: 0px;
}
.solution_tit{
    background: #e30171;
	margin: 0 auto;
	text-align: center;
	line-height: 0px;
    padding-bottom: 50px;
}
.solution_tit img{
    margin-top: -77px;
}
.solution_01{
	background: url("../images/solution_01_bg.jpg")no-repeat top center;
	margin: 0 auto;
	text-align: center;
	line-height: 0px;
	padding: 100px 0 110px;
	background-size: cover;
	position: relative;
}

.solution_01 .gif_anime {
	position: absolute;
	width: 320px;
	bottom: 100px;
	right: calc( 50% + 100px );
}

.solution_01 .gif_anime img {
	width: 100%;
	height: auto;
	display: block;
}

.solution_02_arrow{
	margin: -150px auto 40px;
	position: relative;
}
.solution_02{
    background: url("../images/solution_02_bg.jpg")no-repeat top center;
	margin: 0 auto;
	text-align: center;
	line-height: 0px;
    padding: 100px 0 110px;
}
.solution_03{
    background: url("../images/solution_03_bg.jpg")no-repeat top center;
	margin: 0 auto;
	text-align: center;
	line-height: 0px;
    padding: 100px 0 110px;
}
	
.voice{
	margin: 50px auto 100px;
}
.voice_main{
	width: 1000px;
	margin: 0 auto;
	line-height: 0px;
	text-align: center;
}
.voice_tit{
	margin: 40px auto;
}
	
.course{
    background: url("../images/course_bg.jpg") center;;
	background-size: cover;
	margin: 0 auto;
	padding: 70px 0 0px;
}
.course_main{
	margin: 0 auto;
	line-height: 0px;
	text-align: center;
}
.course_tit{
	margin-bottom: 40px;
}
.course_cotents{
	background: #fff;
	width: 1000px;
	margin: 0 auto;
	line-height: 0px;
	text-align: center;
    padding-bottom: 50px;
}
.course_wrap{
	width: 900px;
	margin: 0 auto;
	line-height: 0px;
	text-align: center;
}
.qa{
    background: url("../images/qa_bg.jpg") #fff no-repeat top center;
	margin: 0 auto;
	padding: 80px 0 80px;
}
.qa_main{
	width: 1000px;
	margin: 0 auto;
	line-height: 0px;
	text-align: center;
}

footer .footer {
	background: #000;
    color: #ffffff;
    padding: 20px 0;
    font-size: 12px;
    text-align: center;
    font-family: "KozGoPro-Regular", sans-serif;
}
	
.pagetop {
    background: #3b3b3b;
    text-align: center;
}
#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 77%;
}
#page-top a {
	background: #c90248;
    text-decoration: none;
    color: #fff;
    width: 100px;
    padding: 30px 5px;
    text-align: center;
    display: block;
}
#page-top a:hover {
    text-decoration: none;
    background: #e71660;
}
}


@media screen and (max-width:768px){
.pc { display: none !important; }
.sp { display: block !important; }
img{
    width: 100%;
}
	
#wrap{
    overflow: hidden;
    margin: 0 auto;
    padding-top: 15%;
}

.pb40 {
    padding-bottom: 40px;
}
/*head*/

.head {
	box-shadow: 0px 0 10px;
    background: #fff;
    padding-top: 3%;
    position: fixed;
    left: 0;
    right: 0;
    z-index: 10;
}
.head_main{
	margin: 0 auto;
	width: 94%;
}
.head_main h1{
	width: 30%;
}
.head_main h1 img{
	width: 60%;
}
.head_main ul{
	width: 70%;
}
.head_main ul li{
	width: 48%;
	float: right;
}
.head_btn{
    float: left !important;
}
.head_btn:nth-child(2){
    float: right!important;
}
	
/*main*/

.main{
	margin: 0 auto;
	line-height: 0;
}
/*main*/
	
/*cta*/

.cta{
    background: url("../images/cta_bg.jpg")no-repeat top center/ cover;
	margin: 0 auto;
}
.cta_main{
    width: 100%;
	margin: 0 auto;
}
.cta_cam{
    padding-top: 60px;
    margin: 0 auto;
    text-align: center;
}
.cta_bnr{
    padding-top: 15px;
    width: 800px;
    margin: 0 auto;
}
.cta_bnr img{
    width: 800px;
}
.cta_cost{
    padding-top: 30px;
    margin: 0 auto;
    text-align: center;
}
.cta_otoku{
    position: absolute;
    top: -40px;
    right: -50px;
}
.document_btn{
    padding-bottom: 10px !important;
	width: 94%;
    margin: 0 auto;
}
.apply_btn{
	    width: 94%;
    margin: 0 auto;
}
	
.compare{
    background: #fff4f9;
	margin: 0 auto;
	line-height: 0px;
}
.compare_main{
	margin: 0 auto;
	text-align: center;
	padding: 80px 0 0px;
}
.trouble_tit{
    background: #e30171;
	margin: 0 auto;
	text-align: center;
	line-height: 0px;
}
.trouble_main{
	margin: 0 auto;
	text-align: center;
	line-height: 0px;
}
.solution{
	margin: 0 auto;
	line-height: 0px;
}
.solution_tit{
    background: #e30171;
	margin: 0 auto;
	text-align: center;
	line-height: 0px;
}
.solution_tit img{
}
.solution_01{
	background: url("../images/solution_01_bg.jpg")no-repeat top center;
	margin: 0 auto;
	text-align: center;
	line-height: 0px;
	background-size: cover;
	position: relative;
}

.solution_01 .gif_anime {
	position: absolute;
	width: 50vw;
	top: 38vw;
	left: 47vw;
}

.solution_02_arrow{
}
.solution_02{
    background: url("../images/solution_02_bg.jpg")no-repeat top center;
	margin: 0 auto;
	text-align: center;
	line-height: 0px;
}
.solution_03{
    background: url("../images/solution_03_bg.jpg")no-repeat top center;
	margin: 0 auto;
	text-align: center;
	line-height: 0px;
}
	
.voice{
}
.voice_main{
	width: 100%;
	margin: 0 auto;
	line-height: 0px;
	text-align: center;
}
.voice_tit{
	margin: 0px auto;
}
.document_btn{
    padding-bottom: 10px !important;
	width: 94%;
    margin: 0 auto;
}
.cta_sp02{
    padding-top: 20px !important;
    padding-bottom: 0px !important;
}
.course{
    background: url("../images/course_bg.jpg") center;;
	background-size: cover;
	margin: 0 auto;
}
.course_main{
	margin: 0 auto;
	line-height: 0px;
	text-align: center;
}
.course_tit{
}
.course_cotents{
	background: #fff;
	margin: 0 auto;
	line-height: 0px;
	text-align: center;
}
.course_wrap{
	margin: 0 auto;
	line-height: 0px;
	text-align: center;
}
.qa{
    background: url("../images/qa_bg.jpg") #fff no-repeat top center;
	margin: 0 auto 40px;
}
.qa_main{
	margin: 0 auto;
	line-height: 0px;
	text-align: center;
}


.pagetop {
    background: #3b3b3b;
    text-align: center;
}

footer .footer {
    background: #000000;
    color: #ffffff;
    padding: 20px  4%;
    font-size: 12px;
    text-align: center;
    font-family: "KozGoPro-Regular", sans-serif;
}
#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 77%;
}
#page-top a {
	background: #c90248;
    text-decoration: none;
    color: #fff;
    width: 100px;
    padding: 30px 5px;
    text-align: center;
    display: block;
}
#page-top a:hover {
    text-decoration: none;
    background: #e71660;
}

/*fotter*/
}

@media screen and (min-width:1599px) {
	.main_bg { background-position: center top;}
	.main { right: 54%; height: 700px;}
}


