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

@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');

/*

使用フォント

日本語 セザンヌ
font-family: "fot-cezanne-pron", sans-serif;

日本語 Zen Kaku Gothic New
font-family: "Zen Kaku Gothic New", sans-serif;

.zen-kaku-gothic-new-light {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.zen-kaku-gothic-new-regular {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.zen-kaku-gothic-new-medium {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.zen-kaku-gothic-new-bold {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.zen-kaku-gothic-new-black {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 900;
  font-style: normal;
}

*/

.cf:before,
.cf:after {
    content: " ";
    display: table;
}

.cf:after {
    clear: both;
}

.cf {
    *zoom: 1;
}

/*マージン*/

.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;
}

.mt80{
	margin-top:80px;
}

.mt90{
	margin-top:90px;
}

.mt100{
	margin-top:100px;
}

.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;
}

/*マージン*/

/*IMG*/

.img_ma{
	margin-right:auto;
	margin-left:auto;
	display:block;
	max-width: 100%;
}

img{
	max-width: 100%;
	height:auto;
}

/*IMG*/

a{
	transition:.2s;
}

body{
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size:20px;
	line-height:2;
	font-weight: 400;
	padding-top: 70px;
}

header{
	width:100%;
	height: 70px;
	position: fixed;
	top:0;
	left: 0;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-left: 40px;
	background: #fff;
}

.h_logo{
	display: flex;
	align-items: center;
	font-family: "fot-cezanne-pron", sans-serif;
}

.h_logo img{
	display: block;
	width:210px;
	margin-right: 34px;
}

.h_btn:hover{
	opacity: 0.6;
}

.h_btn img{
	display: block;
	height: 70px;
}

.top_mov{
	width:calc( 100% - 80px );
	margin:30px auto 50px;
	position: relative;
}

.top_mov_sp{
	display: none;
}

.top_mov_sp video{
	display: block;
	width:100%;
}

.top_mov_volume{
	position: fixed;
	bottom:10px;
	left: 10px;
	width:50px;
	height: 50px;
	cursor: pointer;
	transition: .2s;
	z-index: 5;
}

.top_mov_volume2{
	opacity: 0;
	pointer-events: none;
}

@media screen and (max-width:650px) {
	.top_mov_sp{
		display: block;
	}
}

@media screen and (max-width:900px) {
	body{
		padding-top: 50px;
	}
	
	header{
		padding-left: 20px;
		height: 50px;
	}
	
	.h_logo{
		font-size: 16px;
	}
	
	.h_logo img{
		width:160px;
		margin-right: 15px;
	}
	
	.h_btn img{
		height: 50px;
	}
	
	.top_mov{
		width:calc( 100% - 40px );
	}
	
	.intro_text{
		width:100%;
		margin-top: 30px;
	}
	
	.pict1{
		display: none;
	}
}

@media screen and (max-width:650px) {
	body{
		padding-top: 0;
		font-size: 16px;
	}
	
	header{
		height: auto;
		position: static;
		display: flex;
		justify-content: center;
		padding: 15px 0;
	}
	
	.h_logo{
		display: block;
		line-height: 1;
	}
	
	.h_logo img{
		width:140px;
		margin: 0 auto 8px;
	}
	
	.h_btn{
		display: none;
	}
	
	.top_mov{
		width:100%;
		margin:0;
	}
}

footer{
	width:100%;
	position: relative;
}

.ft_bg{
	width:100%;
	height: 900px;
	background: url("images/ft_bg.webp") no-repeat center/cover;
}

.ft_flex{
	width:100%;
	position: absolute;
	top:-60px;
	left: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	flex-direction: row-reverse;
	justify-content: flex-end;
}

.ft_flex_r{
	display: block;
	width:calc( 50% - 120px );
	max-width: 460px;
	margin-top: 10px;
}

.ft_flex_r_sp{
	display: none;
	width:calc( 100% - 40px );
	max-width: 280px;
	margin-left: 20px;
	margin-bottom: 50px;
}

.ft_flex_l{
	width:50%;
	padding:50px 50px 40px;
	background: url("images/ft_text_bg.webp") no-repeat center/cover;
	border-radius: 0 40px 40px 0;
	margin-right: 60px;
}

.ft_flex_l_img{
	display: block;
	width:100%;
	max-width: 540px;
}

.ft_flex_l_img_sp{
	display: none;
	width:100%;
	max-width: 340px;
}

.ft_flex_l_a1{
	display: block;
	width:230px;
	margin:70px 0 20px;
	padding:10px;
	background: rgba(255,255,255,1)
}

.ft_flex_l_a1 img:nth-of-type(2){
	display: none;
}

.ft_flex_l_a2{
	display: table;
	font-size: 15px;
	line-height: 1.4;
	font-weight: 400;
	font-family: "source-han-sans-japanese", sans-serif;
	color:#fff;
	text-decoration: none;
	padding-left: 18px;
	background: url("images/ar1.svg") no-repeat left center;
	background-size: 12px 12px;
}

.ft_flex_l_a2 p{
	position: relative;
}

.ft_flex_l_a2 p::before{
	content:"";
	display: block;
	width:100%;
	height: 1px;
	position: absolute;
	bottom:0;
	left: 0;
	transform: scaleX(0);
	transform-origin: left;
	background: #fff;
	transition: .2s;
}

.ft_flex_l_a2:hover p::before{
	transform: scaleX(1);
}

.copy_r_pc{
	position: absolute;
	top:20px;
	right: 20px;
	font-size: 12px;
	font-weight: 400;
	font-family: "source-han-sans-japanese", sans-serif;
}

.copy_r_sp{
	display: none;
	font-size: 12px;
	font-weight: 400;
	font-family: "source-han-sans-japanese", sans-serif;
}

.fix_btn{
	position: fixed;
	bottom:0;
	right: 0;
	z-index: 10;
	display: none;
	width: 50px;
}

@media screen and (max-width:900px) {
	.ft_flex_r{
		width:calc( 50% - 80px );
	}
	
	.ft_flex_l{
		margin-right: 30px;
		padding:30px;
	}
}

@media screen and (max-width:650px) {
	.gray_wrap{
		padding-bottom: 60px;
	}
	
	.ft_flex{
		position: relative;
		display: block;
		z-index: 2;
		top: 0;
	}
	
	.ft_flex_r{
		display: none;
	}
	
	.ft_flex_r_sp{
		display: block;
	}
	
	.ft_flex_l{
		width:calc( 100% - 20px );
		padding:40px 20px 20px;
	}
	
	.ft_flex_l_img{
		display: none;
	}
	
	.ft_flex_l_img_sp{
		display: block;
	}
	
	.ft_flex_l_a1{
		margin:20px 0 20px;
	}
	
	.copy_r_pc{
		display: none;
	}
	
	.copy_r_sp{
		display: block;
		margin-top: 40px;
	}
	
	.ft_bg{
		margin-top: -110px;
		height: 420px;
	}
	
	.fix_btn{
		display: block;
	}
	
	.ft_flex_l_a1{
		width:calc( 100% + 40px );
		max-width: 350px;
		background: none;
		padding:0;
		margin-left: -20px;
	}
	
	.ft_flex_l_a1 img:nth-of-type(1){
		display: none;
	}
	
	.ft_flex_l_a1 img:nth-of-type(2){
		display: block;
	}
}

main{
	padding-bottom: 200px;
}

.catch_wrap{
	display: flex;
	justify-content: center;
	align-items: center;
	padding:160px 20px 90px;
	background: url("images/catch_bg.webp") no-repeat 70% 20% #fff;
	background-size: cover;
	position: relative;
	z-index: 3;
}

.catch{
	width:100%;
	max-width: 900px;
}

.catch_h{
	width:100%;
	max-width: 540px;
}

.ib{
	display: inline-block;
}

.catch p{
	font-weight: bold;
	color:#fff;
	padding: 30px 10px;
	text-shadow: 2px 2px 6px #993399, -2px -2px 6px #993399;
}

.catch_img{
	display: block;
	width:100%;
	max-width: 600px;
}

.catch_img_sp{
	display: none;
}

.catch_sign{
	display: flex;
	justify-content: flex-end;
	margin-top: 20px;
}

.catch_sign img{
	display: block;
	width:100%;
	max-width: 350px;
}

@media screen and (max-width:750px) {
	.catch_wrap{
		background: url("images/catch_bg_sp.webp") no-repeat center 10%;
		background-size: cover;
	}
}

@media screen and (max-width:650px) {
	.catch_wrap{
		padding:90px 20px 30px;
		margin-top: 40px;
	}
	
	.catch p{
		padding: 25px 0;
	}
	
	.catch_h{
		max-width: 280px;
	}
	
	.catch_img{
		display: none;
	}
	
	.catch_img_sp{
		display: block;
		width:100%;
		max-width: 320px;
	}
	
	.catch_sign img{
		max-width: 230px;
	}
}

.point_wrap{
	padding:150px 20px 250px;
	position: relative;
}

.point{
	position: relative;
	z-index: 2;
	max-width: 1050px;
	margin:0 auto;
}

.point_pict{
	width:100%;
	position: absolute;
	top:50%;
	left: 0;
	transform: translateY(-50%);
}

.point_pict_sp1 , .point_pict_sp2{
	display: none;
	width:100%;
	position: absolute;
	top:50%;
	left: 0;
	transform: translateY(-50%);
}

.point_h{
	width:100%;
	max-width: 630px;
	margin:0 auto 60px;
}

.point_h img:nth-of-type(2){
	display: none;
}

.point_list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.point_box{
	width:32%;
	max-width: 300px;
}

.point_box > img{
	height: 36px;
	display: block;
	margin:0 auto 20px;
}

.point_box > div img:nth-of-type(2){
	display: none;
}

@media screen and (max-width:850px) {
	.point_wrap{
		padding-bottom: 150px;
	}
}

@media screen and (max-width:650px) {
	.point_wrap{
		padding: 80px 20px;
	}
	
	.point_pict{
		display: none;
	}
	
	.point_pict_sp1{
		display: block;
	}
	
	.point_h{
		max-width: 300px;
		margin-bottom: 30px;
	}
	
	.point_h img:nth-of-type(1){
		display: none;
	}
	
	.point_h img:nth-of-type(2){
		display: block;
	}
	
	.point_list{
		justify-content: center;
	}
	
	.point_box{
		width:100%;
		max-width: 360px;
	}
	
	.point_box + .point_box{
		margin-top: 25px;
	}
	
	.point_box > img{
		height: 22px;
		margin-bottom: 10px;
	}
	
	.point_box > div img:nth-of-type(1){
		display: none;
	}
	
	.point_box > div img:nth-of-type(2){
		display: block;
	}
}

@media screen and (max-width:450px) {
	.point_pict_sp1{
		display: none;
	}
	
	.point_pict_sp2{
		display: block;
	}
}

.course_wrap{
	position: relative;
	padding:0 20px;
	margin-bottom: 150px;
}

.course{
	position: relative;
	z-index: 2;
}

.course_h{
	width:100%;
	max-width: 530px;
	margin:0 auto 50px;
}

.course_h img:nth-of-type(1){
	display: block;
}

.course_h img:nth-of-type(2){
	display: none;
}

.course_list{
	
}

.course_list > li{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
}

.course_list > li + li{
	margin-top: 15px;
}

.course_list > li > img{
	display: block;
	width:240px;
	margin-right: 30px;
}

.course_list > li > img:nth-of-type(2){
	display: none;
}

.course_list > li > div{
	display: flex;
	align-items: center;
	padding:10px 0;
}

.course_list > li > div > p{
	font-size: 24px;
	line-height: 1;
	font-weight: 400;
	margin-right: 30px;
}

.course_list > li > div > img{
	display: block;
	width:54px;
}

.course_pict{
	width:100%;
	position: absolute;
	top:50%;
	left: 0;
	transform: translateY(-40%);
}

.course_pict_sp{
	display: none;
	width:100%;
	position: absolute;
	top:50%;
	left: 0;
	transform: translateY(-30%);
}

@media screen and (max-width:650px) {
	.course_wrap{
		margin-bottom: 60px;
	}
	
	.course_h{
		max-width: 250px;
		margin-bottom: 30px;
	}
	
	.course_h img:nth-of-type(1){
		display: none;
	}

	.course_h img:nth-of-type(2){
		display: block;
	}
	
	.course_list > li > img:nth-of-type(1){
		display: none;
	}
	
	.course_list > li > img:nth-of-type(2){
		display: block;
		width:100%;
		max-width: 340px;
		margin-right: 0;
	}
	
	.course_list > li > div > p{
		font-size: 15px;
		margin-right: 10px;
	}
	
	.course_list > li > div > img{
		width:30px;
	}
	
	.course_pict{
		display: none;
	}
	
	.course_pict_sp{
		display: block;
	}
}

.cs > img:nth-of-type(1){
	width:10px;
	display: block;
	margin:0 auto 100px;
}

.cs > img:nth-of-type(2){
	width:560px;
	display: block;
	margin:0 auto;
}

@media screen and (max-width:650px) {
	.cs{
		margin-bottom: 80px;
	}
	
	.cs > img:nth-of-type(1){
		width:6px;
		margin-bottom: 50px;
	}
	
	.cs > img:nth-of-type(2){
		width:80%;
		max-width: 340px;
	}
	
	main{
		padding-bottom: 0;
	}
}

/* move */

.fade_up{
	opacity: 0;
	transition: .8s;
	position: relative;
	top:30px;
}

.fade_up_on{
	opacity: 1;
	top:0;
}

.ltr{
	transition: .4s;
	clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}

.ltr_on{
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}

.ttb{
	transition: .4s;
	clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}

.ttb_on{
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}

.ft_flex_l{
	transition: .6s;
	clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}

.ft_flex_r{
	transition: 1s;
	opacity: 0;
	transform: translateY(30px);
}

.ft_flex_r_sp{
	transition: 1s;
	opacity: 0;
	transform: translateY(30px);
}

.copy_r_pc{
	transition: 1s;
	opacity: 0;
	transition-delay: .6s;
}

.ft_flex_open .copy_r_pc{
	opacity: 1;
}

@media screen and (min-width:651px) {
	.ft_flex_r{
		transition-delay: .6s;
	}
	
	.ft_flex_open .ft_flex_l{
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
	}

	.ft_flex_open .ft_flex_r{
		opacity: 1;
		transform: translateY(0px);
	}
}

@media screen and (max-width:650px) {
	.ft_flex_l_open{
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
	}

	.ft_flex_r_open{
		opacity: 1;
		transform: translateY(0px);
	}
}


/* move end */



























