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

/*=======================================
	common
=======================================*/
body{
	height: 100%;
	font-size: 14px;
	font-family: "メイリオ", Meiryo, Osaka, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
ul{
	list-style-type:none;
	margin:0;
	padding:0;
}
img{
	min-width:100%;
	width:100%;
	height:auto;
	vertical-align:bottom;
}
a{
	text-decoration:none;
}
.wrap{
	width:85.714%;
	max-width:1024px;
	margin:0 auto;
	position:relative;
}
iframe{
	width:100%;
	max-width:100%;
}
.pc_only{


}
.sp_only{

}
/*=======================================
	#mainvisual
=======================================*/
#mainvisual{
	width:auto;
	height:auto;
	min-width:100%;
	min-height:100%;
	position:relative;
	background:url(../img/mv_bg.png)no-repeat;
	background-size:cover;
	padding-bottom:60px;
}
#mainvisual:before{
	margin:0;
	content:"";
	margin-top:-26px;
	margin-left:-24px;
	width:200px;
	height:200px;
	position:absolute;
	background:url(../img/paper_left.png);
	background-size:cover;
}
#mainvisual:after{
	margin:0;
	content:"";
	width:180px;
	height:182px;
	position:absolute;
	background:url(../img/paper_right.png);
	background-size:cover;
	right:0px;
	bottom:0px;
}
#body_top h1{
	width:90px;
	margin:0;
	position:absolute;
	top:20px;
	left:20px;
	z-index:1000;
}
#mainvisual h2{
	width:600px;
	padding-top:60px;
	margin:0 auto;
}
#mainvisual h2 img{
	width:600px;
	header:auto;
}
#mainvisual h3{
	width:38px;
	height:200px;
	position:absolute;
	top:0px;
	right:20px;
}
div.mv{
	width:1100px;
	min-width:1100px;
	margin:0 auto;
	position:relative;
	overflow:hidden;
}
#mainvisual div.mv_left{
	float:left;
	margin-left:40px;
}
#mainvisual div.mv_left p{
	position:relative;
}
#mainvisual div.mv_left p:before{
    content: "";
    display: inline-block;
    width:41px;
    height:131px;
    background: url(../img/mv_arrow_left.png)no-repeat;
    background-size: cover;
	position:absolute;
	left:-60px;
}
#mainvisual div.mv_right{
	float:right;
	margin-right:40px;
}
#mainvisual div.mv_right p{
	position:relative;
}
#mainvisual div.mv_right p:before{
    content: "";
    display: inline-block;
    width:42px;
    height:132px;
    background: url(../img/mv_arrow_right.png)no-repeat;
    background-size: cover;
	position:absolute;
	right:-60px;
}
#mainvisual div.mv_left main,
#mainvisual div.mv_right main{
	width:280px;
	border:#fcff00 2px solid;
	padding:8px;
}
#mainvisual div.mv span img{
	width:120px;
	min-width:auto;
	margin:0 auto;
	display:block;
	margin-top:40px;
	margin-bottom:20px;
}
#mainvisual p{
	width:180px;
	margin:0 auto;
	margin-top:24px;
}
#mainvisual div.mv a{
	position:absolute;
	width:160px;
	height:160px;
	right:-6%;
	bottom:-4%;
}
#mainvisual div.teacher{
	width:586px;
	margin:0 auto;
	margin-top:-450px;
}
#mainvisual div.teacher span img{
	width:200px;
	min-width:auto;
	margin:0 auto;
	display:block;
	margin-bottom:24px;
}
#mainvisual div.teacher main{
	width:500px;
	margin:0 auto;
}
#mainvisual div.button{
	width:500px;
	margin:0 auto;
	margin-top:-188px;
}
/*=======================================
	#problem
=======================================*/
#problem{
	width:auto;
	height:auto;
	min-width:100%;
	min-height:100%;
	position:relative;
	background:url(../img/problem_bg.png)no-repeat;
	background-size:cover;
	padding-bottom:60px;
	position: relative;
}
#problem h2{
	width:480px;
	margin:0 auto;
	padding-top:80px;
	padding-bottom:60px;
}
#problem  ul li{
	padding-bottom:12px;
}
#problem  ul li:before{
    content: "";
    display: inline-block;
    width:50px;
    height:43px;
    background: url(../img/problem_check.png)no-repeat;
    background-size: cover;
}
#problem  ul li img{
	min-width:auto;
	width:auto;
	height:30px;
	margin-bottom:8px;
	margin-left:4px;
}
#problem p{
	position: absolute;
	width:300px;
	bottom:-74px;
	right:0px;
}
/*=======================================
	#solution
=======================================*/
#solution{
	width:auto;
	height:auto;
	min-width:100%;
	min-height:100%;
	position:relative;
	background:url(../img/mv_bg.png)no-repeat;
	background-size: cover;
	padding-bottom:60px;
}
#solution h2{
	width:480px;
	margin:0 auto;
	padding-top:80px;
	padding-bottom:60px;
	mix-blend-mode:difference;
}
#solution ul li{
	margin-bottom:60px;
	position: relative;
}
#solution ul li div{
	background-color:#00d8ff;
	overflow: hidden;
	mix-blend-mode:difference;
}
#solution ul li .number{
	color: #000000;
	float:left;
	font-size:72px;
	position: absolute;
	top:12%;
	margin-left:20px;
}
#solution ul li .number_02{
	color: #000000;
	float:left;
	font-size:72px;
	position: absolute;
	top:4%;
	margin-left:20px;
}
#solution ul li h3{
	color: #000000;
	text-align:left;
	font-size:36px;
	line-height:44px;
	margin-left:140px;
}
#solution ul p{
	color: #ffffff;
	font-size: 20px;
}
#solution ul li span{
	color: #fcff00;
	font-size: 20px;
	font-weight: bold;
}
/*=======================================
	#appeal
=======================================*/
#appeal{
	width:auto;
	height:auto;
	min-width:100%;
	min-height:100%;
	position:relative;
	background:url(../img/appeal_bg.png)no-repeat;
	background-size: cover;
	padding-bottom:120px;
	padding-top:80px;
}
#appeal h2{
	width:500px;
	margin:0 auto;
	background-color: #000000;
	color:#f9fc03;
	font-size:40px;
}
#appeal h2.canva{
	background-color:#c50000;
	color: #f9fc03;
	margin-top:80px;
}
#appeal p{
	text-align:center;
	font-size:36px;
    font-weight: bold;
	margin-top:16px;
	margin-bottom:60px;
}
#appeal span{
	color:#00aecd;
}
#appeal .appeal{
	overflow:hidden;
}
#appeal .appeal_left{
	float:left;
	width:520px;
}
#appeal .appeal_right{
	float:right;
	width:500px;
}
/*=======================================
	#review
=======================================*/
#review{
	width:auto;
	height:auto;
	min-width:100%;
	min-height:100%;
	position:relative;
	background:url(../img/review_bg.png)no-repeat;
	background-size: cover;
	padding-bottom:120px;
	padding-top:80px;
}
#review h2{
	margin:0 auto;
	color:#000000;
	font-size:50px;
	padding-bottom:60px;
}
#review .script{
	width:847px;
	margin:0 auto;
	padding-bottom:60px;
}
#review .review_01,
#review .review_02{
	overflow:hidden;
}
#review .review_01 .review_left{
	width:320px;
	float:left;
}
#review .review_01 .review_right{
	width:680px;
	float:right;

}
#review .review_01 .review_right p,
#review .review_02 .review_left p{
	font-weight:bold;
	font-size:16px;
	line-height:28px;
}
#review .review_01 .review_right span,
#review .review_02 .review_left span{
	color:#fcff00;
	
}
#review .review_02 .review_left{
	width:680px;
	float:left;
}
#review .review_02 .review_right{
	width:320px;
	float:right;
}
.dotted-line{
  border: none;                
  border-top:4px dashed #000000;
  margin:40px 0;     
}
/*=======================================
	#google
=======================================*/
#google{
	width:auto;
	height:auto;
	min-width:100%;
	min-height:100%;
	position:relative;
	background:url(../img/mv_bg.png);
	padding-bottom:120px;
}
#google h2{
	padding-top:120px;
	margin:0 auto;
	color:#ffffff;
	font-size:50px;
	position:relative;
}
#google h2:before{
    content: "";
    display: inline-block;
    width:47px;
    height:155px;
    background: url(../img/google_left.png)no-repeat;
    background-size: cover;
	position:absolute;
	top:44%;
	left:15%;
}
#google h2:after{
    content: "";
    display: inline-block;
    width:47px;
    height:155px;
    background: url(../img/google_right.png)no-repeat;
    background-size: cover;
	position:absolute;
	top:44%;
	right:15%;
}
#google h2 span{
	color:#00aecd;
}
#google h2 span.yellow{
	color:#fcff00;
}
#google span.annotation{
	text-align:center;
	display:block;
	color:#ffffff;
	padding-bottom:100px;
}
#google ul{
	overflow:hidden;
	margin:0 auto;
}
#google li{
	width:307px;
	float:left;
	background-color:#ffffff;
	border-radius:50%;
	margin-right:30px;
	mix-blend-mode:difference;
}
#google li:nth-child(3){
	margin:0;
}
#google ul.list_02 li:nth-child(2){
	margin:0;
}
#google ul.list_01{
	width:981px;
}
#google ul.list_02{
	width:644px;
}
/*=======================================
	#kadokawa
=======================================*/
#kadokawa{
	width:auto;
	height:auto;
	min-width:100%;
	min-height:100%;
	position:relative;
	background:url(../img/appeal_bg.png)no-repeat;
	background-size: cover;
	padding-bottom:120px;
	padding-top:80px;
}
#kadokawa h2{
	width:600px;
	margin:0 auto;
	background-color: #000000;
	color:#f9fc03;
	font-size:40px;
	margin-bottom:60px;
}
#kadokawa ul{
	overflow:hidden;
	margin:0 auto;
	width:1024px;
}
#kadokawa ul li{
	width:496px;
	float:left;
}
#kadokawa ul li{
	margin-left:32px;
	margin-bottom:32px;
}
#kadokawa ul li:nth-child(1),
#kadokawa ul li:nth-child(3),
#kadokawa ul li:nth-child(5){
	margin-left:0px;
}
#kadokawa ul li:nth-child(5),
#kadokawa ul li:nth-child(6){
	margin-bottom:0px;
}
/*=======================================
	#use
=======================================*/
#use{
	width:auto;
	height:auto;
	min-width:100%;
	min-height:100%;
	position:relative;
	background:url(../img/review_bg.png)no-repeat;
	background-size:cover;
	padding-bottom:120px;
	padding-top:80px;
}
#use h2{
	margin:0 auto;
	color:#000000;
	font-size:50px;
	margin-bottom:20px;
}
#use .script{
    width: 600px;
    margin: 0 auto;
    padding-bottom: 60px;
}
#use .use{
	width:800px;
	margin:0 auto;
}
/*=======================================
	#price
=======================================*/
#price{
	width:auto;
	height:auto;
	min-width:100%;
	min-height:100%;
	position:relative;
	background:url(../img/appeal_bg.png)no-repeat;
	background-size: cover;
	padding-bottom:120px;
	padding-top:80px;
}
#price h2{
	margin:0 auto;
	color:#000000;
	font-size:50px;
	margin-bottom:20px;
}
#price h3{
	width:600px;
	margin:0 auto;
	background-color: #000000;
	color:#f9fc03;
	font-size:40px;
	margin-top:80PX;
	margin-bottom:20px;
	text-align:center;
}
#price li{
  display: flex;
  align-items: center;
  padding:16px 0;
  border-bottom:4px solid #000;
}
#price span{
  width:90px;        /* ← 回数の横幅固定 */
  flex-shrink:0;     /* ← 潰れない */
  color:#19b8e7;
  font-size:28px;
  font-weight:bold;
}
#price p{
  text-align:left;
  font-size:20px;
  font-weight:bold;
  line-height 1.6;
}
#price .arrow{
	width:80px;
	margin:20px auto;
}
#price .graduation{
  background: #00aecd;
  color: #000;
  font-size: 40px;
  font-weight: bold;
  padding: 25px 20px;
  margin: 0 auto;
  text-align:center;
}
#price .annotation{
  display: block;
  margin-top: 25px;
  font-size: 22px;
  font-weight: bold;
  color: #000;
  width:auto;
  text-align:center;
}








/*=======================================
	#experience
=======================================*/
#experience{
	width:auto;
	height:auto;
	min-width:100%;
	min-height:100%;
	position:relative;
	background:url(../img/mv_bg.png);
	padding-bottom:120px;
	padding-top:80px;
}
#experience h2{
	width:600px;
	margin:0 auto;
	margin-bottom:60px;
}
#experience .button{
	width:500px;
	margin:0 auto;
	margin-bottom:60px;
	margin-top:24px;
}
#experience ul{
	overflow:hidden;
	margin:0 auto;
	width:1012px;
}
#experience ul li{
	float:left;
	margin-right:56px;
}
#experience ul li:nth-child(3){
	margin-right:0px;
	margin-bottom:0px;
}
#experience ul li div.step_box{
	width:300px;
	height:240px;
	display:block;
	background-color:#00d3ff;
	mix-blend-mode:difference;
}
#experience ul li p{
	margin:0;
	text-align:center;
	font-size:24px;
	font-weight:bold;
	padding-top:40px;
}
#experience ul li span{
	background-color:#FFFFFF;
	border-radius:20px;
	padding:10px 40px;
	font-weight:bold;
	display:block;
	width:100px;
	margin:0 auto;
	text-align:center;
	margin-bottom:24px;
	mix-blend-mode:difference;
}
#experience ul li .icon{
	width:80px;
	margin:0 auto;
	padding-top:24px;
}
.fukidashi{
  position: relative;
  width: fit-content;
  padding: 8px 40px;
  margin:0 auto;
  background-color:#ffffff;
  font-size:24px;
  font-weight:bold;

  &::before {
    content: "";
    position: absolute;
    bottom: -5px;
    left: 50%;
    width: 15px;
    height: 15px;
    box-sizing: border-box;
    background-color: #ffffff; /* 背景色と同じ色を指定 */
    rotate: 135deg;
    translate: -50% 0;
  }
  &::after {
    content: "";
    position: absolute;
    bottom: -8px;
    left: 50%;
    width: 15px;
    height: 15px;
    box-sizing: border-box;
    border-color: #333333 #333333 transparent transparent;
    rotate: 135deg;
    translate: -50% 0;
  }
}
/*=======================================
	#narrowing_down
=======================================*/
#narrowing_down{
	width:auto;
	height:auto;
	min-width:100%;
	min-height:100%;
	position:relative;
	background:url(../img/review_bg.png)no-repeat;
  background-size: cover;
	padding-bottom:120px;
	padding-top:80px;
}
#narrowing_down h2{
	margin:0 auto;
	color:#000000;
	font-size:50px;
	margin-bottom:60px;
}
/*=======================================
	#lecturer
=======================================*/
#lecturer{
	width:auto;
	height:auto;
	min-width:100%;
	min-height:100%;
	position:relative;
	background:url(../img/mv_bg.png);
	padding-bottom:120px;
	padding-top:80px;
}
#lecturer .section_01{
	border: none;                
	border-bottom:4px dashed #ffffff;
	overflow:hidden;
	padding-bottom:80px;
}
#lecturer h2{
	width:600px;
	font-size:50px;
	margin:0 auto;
	margin-bottom:60px;
	color:#00d3ff;
}
#lecturer .lecturer_left{
	width:430px;
	box-sizing: border-box;
	border:8px #ffffff solid;
	border-radius:500px;
	padding:8px;
	float:left;
	margin-right:60px;
}
#lecturer .lecturer_right h3{
	color:#00d3ff;
	font-size:40px;
	margin:0;
	margin-bottom:8px;
}
#lecturer .lecturer_right p{
	color:#f9fc03;
	font-size:24px;
	font-weight:bold;
	margin:0;
	margin-bottom:32px;
}
#lecturer .lecturer_right span{
	color:#ffffff;
	font-size:20px;
}
#lecturer .lecturer_right span .color{
	color:#00d3ff;
}
#lecturer .section_02 h3{
	color:#00d3ff;
	text-align:center;
	font-size:32px;
	margin:24px;
}
#lecturer .section_02 h4{
	color:#ffffff;
	text-align:center;
	font-size:24px;
	margin:0;
}
#lecturer .section_02 p{
	color: #FFFFFF;
	text-align:center;
	font-size:20px;
}
#lecturer .button{
	width:500px;
	margin:0 auto;
	margin-top:80px;
}
@media (max-width: 480px) { 
.pc_only{
	display:none;
}
div.mv{
	width:auto;
	min-width:auto;
}
#mainvisual{
	height:740px;
}
#mainvisual h2{
	width:320px;
	padding-top:80px;
}
#mainvisual h2 img{
	width:320px;
}
#mainvisual:before{
	margin-top:-6px;
	margin-left:-4px;
	width:90px;
	height:90px;
}
#mainvisual:after{
	width:70px;
	height:72px;
	right:0px;
	bottom:0px;
}
#body_top h1{
	width:40px;
	top:10px;
	left:14px;
}
#mainvisual h3{
	display:none;
}
#mainvisual div.mv_left{
	margin:0;
}
#mainvisual div.mv_left main,
#mainvisual div.mv_right main{
	width:80%;
	margin:0 auto;
}
#mainvisual div.mv_left p{
	display:none;
}
#mainvisual div.teacher{
	width:auto;
	display:none;
}
#mainvisual div.button{
	width:80%;
	margin:20px auto 0;
}
#mainvisual div.mv span img{
	width:80px;
	margin-top:20px;
}
/*=======================================
	#problem sp
=======================================*/
#problem h2{
	width:100%;
	padding-top:60px;
}
#problem p{
	width:200px;
	right:-20px;
}
#problem ul li img{
	height:18px;
}
#problem ul li:before{
	width:30px;
	height:26px;
}
/*=======================================
	#solution sp
=======================================*/
#solution{
	padding-bottom:80px;
}
#solution h2{
	width:100%;
	padding-top:60px;
}
#solution ul li:nth-child(8){
	margin-bottom:0;
}
#solution ul li .number,
#solution ul li .number_02{
	float:none;
	position:static;
	margin:0 auto;
	display:block;
	width:26%;
}
#solution ul li .number_02{
	float:none;
	clear:both;	
	position:static;
}
#solution ul li h3{
	margin:0 20px 40px;
	font-size:28px;
}
/*=======================================
	#appeal sp
=======================================*/
#appeal{
	padding-top:60px;
	padding-bottom:80px;
}
#appeal h2{
	width:auto;
}
#appeal p{
	font-size:28px;
}
#appeal .appeal_left{
	width:auto;
}
#appeal .appeal_right{
	width:auto;
	margin-top: 40px;
}
#appeal h2.canva{
	margin-top:60px;
}
/*=======================================
	#review sp
=======================================*/
#review{
	padding-top:60px;
	padding-bottom:80px;
}
#review h2{
	padding-bottom:20px;
}
#review .script{
	width:auto;
	padding-bottom:20px;
}
#review .review_01 .review_left{
	width:200px;
	margin:0 auto;
	float:none;
	margin-bottom:32px;
}
#review .review_01 .review_right{
	width:auto;	
}
#review .review_02 .review_left{
	width:auto;
}
#review .review_02 .review_right{
	width:200px;
	margin:0 auto;
	float:none;
	margin-bottom:32px;
}
/*=======================================
	#google sp
=======================================*/
#google{
	padding-bottom:80px;
}
#google h2{
	padding-top:60px;
	font-size:32px;
}
#google h2:before{
	width:30px;
	height:100px;
	left:-4%;
}
#google h2:after{
	width:30px;
	height:100px;
	right:-4%;
}
#google ul.list_01{
	width:auto;
}
#google li{
	width:190px;
}
#google li:nth-child(2){
	margin-right: 0px;
}
#google li:nth-child(3){
	margin:32px 0;
}
#google span.annotation{
	padding-bottom: 40px;
}
#google ul.list_01{
	width:auto;
}
#google ul.list_02{
	width:auto;
}
/*=======================================
	#kadokawa sp
=======================================*/
#kadokawa{
	padding-top:60px;
	padding-bottom:80px;
}
#kadokawa h2{
	width:auto;
}
#kadokawa ul{
	width:auto;
}
#kadokawa ul li{
	float:none;
	width:auto;
	margin-bottom:16px;
	margin-left:0;
}
#kadokawa ul li:nth-child(5){
	margin-bottom:16px;
}
/*=======================================
	#use sp
=======================================*/
#use{
	padding-top:60px;
	padding-bottom:80px;
}
#use .script{
	width:300px;
	padding-bottom:20px;
}
#use .use{
	width:auto;
}
/*=======================================
	#experience sp
=======================================*/
#experience{
	padding-top:60px;
	padding-bottom:80px;
}
#experience h2{
	width:auto;
}
#experience .button{
	width:auto;
}
#experience ul{
	width:auto;
}
#experience ul li{
	float:none;
	margin-right:0;
	margin-bottom:40px;
}
#experience ul li div.step_box{
	width:auto;
}
/*=======================================
	#lecturer sp
=======================================*/
#lecturer{
	padding-top:60px;
	padding-bottom:80px;
}
#lecturer h2{
	width:auto;
}
#lecturer .lecturer_left{
	width:auto;
	margin:0;
	margin-bottom:40px;
}
#lecturer .section_01{
	padding-bottom:60px;
}
#lecturer .button{
	width:auto;
}
/*=======================================
	#price
=======================================*/
#price h3{
	width:auto;
}
}