@charset "utf-8";
/* CSS Document */
h2 {
	font-size: 2.2rem;
	letter-spacing: 3px;
	color: #51318f;
	margin-top: 1rem;
	padding-left: 0.8rem;
	margin-bottom: 1.5rem;
}
h2 .small {
	font-size: 1.5rem;
	display: block;
	margin-bottom: 1rem;
}
.bg_wrap {
	position: relative;
}
.bg_wrap:before {
	content: "";
	display: block;
	background-color: #252525;
	width: calc(100% - 50px);
	height: 100%;
	position: absolute;
}
/*--== index_mainvisual ==--*/
.index_mainvisual {
	background-image: url(../img/main_bg01.png);
	background-size: cover;
	background-repeat: no-repeat;
	position: relative;
}
.index_mainvisual img {
	max-width: 1200px;
	margin: auto;
	display: block;
}
.index_mainvisual:after {
	content: "";
	width: 100%;
	height: 140%;
	background-image: url(../img/main_bg02.png);
	background-repeat: no-repeat;
	position: absolute;
	top: 41vh;
	left: 0;
	z-index: -1;
}
/*--== point ==--*/
.point li {
	border-bottom: 1px solid #aaa;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
}
.point li {
	border-left: 14px solid #ff5692;
	margin-bottom: 1rem;
	padding: 1rem;
	box-shadow: -1px 0px 7px #bbb;
}
.point li img {
	max-width: 70px;
	display: block;
	margin: auto;
}
.point h3 {
	font-size: 28px;
}
/* box01 */
.box01 {
	padding: 2rem;
	background: #1197ff;
	margin: 1rem auto;
	border-radius: 1rem;
	color: #fff;
	border: 6px solid;
}
/*--== merit ==--*/
.merit {
	position: relative;
}
.merit:after {
	content: "";
	width: 100%;
	height: 100%;
	background-image: url(../img/main_bg02.png);
	background-repeat: no-repeat;
	background-position: bottom left;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}
.merit:before {
	content: "";
	width: 100%;
	height: 100%;
	background-image: url(../img/main_bg03.png);
	background-repeat: no-repeat;
	background-position: center right;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}
.merit .merit1 .right:last-child {
	margin-top: 10rem;
	background: #eee;
	border-radius: 2rem;
	border: 10px solid #fff;
	box-shadow: 0 0 10px #ddd;
	padding: 1rem;
	margin-left: 0;
}
.merit .merit1 {
	position: relative;
	z-index: 1;
}
.merit .merit1:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-image: url(../img/index_merit_bg01.png);
	background-repeat: no-repeat;
	background-position: top right;
	background-size: 170px;
	top: -20%;
	right: 0%;
	z-index: 2;
}
.merit .merit2 {
	position: relative;
	z-index: 2;
}

.merit .merit3 {
	margin-top: 22rem;
	position: relative;
	z-index: 1;
}
.merit .merit3:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-image: url(../img/index_merit_bg02.png);
	background-repeat: no-repeat;
	background-position: top left;
	background-size: contain;
	top: -60%;
	left: -20%;
	z-index: -1;
}
.merit .merit4 {
	margin-top: 10rem;
	position: relative;
	z-index: 1;
}
.merit .merit4:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-image: url(../img/index_merit_bg.png);
	background-repeat: no-repeat;
	background-position: top right;
	background-size: contain;
	bottom: -30%;
	right: -190px;
	z-index: -4;
}
.merit .merit5 {
	margin-top: 10rem;
	position: relative;
	z-index: 1;
}
.merit ol {
	position: relative;
	margin-bottom: 100px;
}
.merit ol:after {
	content: "";
	width: 100%;
	height: 100%;
	background-image: url(../img/index_merit_bg03.png);
	background-repeat: no-repeat;
	background-position: bottom right;
	position: absolute;
	bottom: -100px;
	left: 0;
	z-index: -1;
}
.merit .tokuten {
	position: absolute;
	top: -143px;
	left: -15px;
	width: 260px;
}
.merit .tokuten a {
	transition: 0.5s;
	display:block;
}
.merit .tokuten a:hover {
	transform: rotateZ( -10deg);
	display: block;
}
.merit .video {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.merit .video iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
/*--== campaign ==--*/
.campaign {
	position: relative;
	z-index: 1;
}
.campaign .campaign_contents {
	width: 62%;
	margin: 0 0 auto auto;
	padding-bottom: 5rem;
}
.campaign .campaign_img {
	width: 59%;
	position: absolute;
	top: 17rem;
}
/*--== attack ==--*/
.attack {
	background-color: #e7e7e7;
	background-image: url(../img/footer_bg2.png);
	background-position: right bottom;
	background-size: 500px;
	background-repeat: no-repeat;
	padding: 0rem 0;
	margin: 3rem 0 0;
	position: relative;
	box-shadow: 0 0 8px #898989;
}
.attack {
	margin: 3rem 0 0;
	padding: 3rem 0;
}
.attack .banner img{
	box-shadow: 0 0 7px 2px #393939;
	margin: 1rem auto 0;
}
/*--== solution ==--*/
.solution{ 
	padding-top: 4rem;
	padding-bottom: calc(10vw + 10px);  
	position: relative;
	overflow: hidden;
	background-color:#ebf6ff;
}
.solution::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	border-bottom: 10vw solid #fff;  /* 三角を白に */ 
	border-left: 100vw solid transparent;
}
.solution::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	border-bottom: 10vw solid #fff;   /* 三角を白に */ 
	border-right: 100vw solid transparent;
}
/* title */
.solution .title {
	margin: 1rem auto 5rem;
}
.solution .title h2 {
	width: 70%;
	margin-left: -20%;
}
.solution .title div {
	width: 50%;
}
/* h3 */
.solution h3 {
	margin-top: 3rem;
	color: #1197ff;
	letter-spacing: 2px;
}
.solution h3 .design {
	font-size: 25px;
	border: 1px solid;
	padding: 0.8rem;
	border-radius: 0 3rem 0 0;
	border-left: 20px solid;
	box-shadow: 5px 5px 0 #91cfff;
	background: #fff;
	margin-bottom: 2rem;
	display: block;
}
.solution h3 .small {
	background: #1197ff;
	color: #fff;
	padding: 0.5rem;
	max-width: 250px;
	margin: 0.5rem auto 0;
	transform: rotate(-3deg);
	display: block;
}
.solution .jitsumu{
	max-width: 1200px;
	background-color: rgba(255,255,255,.7);
	border: 2px solid #fff;
	padding: 2rem;
	box-shadow: 0 0 6px 2px #eee;
	margin: 15rem auto 5rem;
}
.solution .jitsumu .w-900{
	margin-top: -13rem;
}
.solution .jitsumu .w-300{
	max-width: 300px;
	margin: 0 auto;
}
.solution .jitsumu .w6{
	padding: 1rem;
}
.solution .jitsumu h3{
	color: #ff168c;
}
.solution .jitsumu h3 .small{
	background: #ff168c;
}
.solution .jitsumu h3 .design{
	box-shadow: 5px 5px 0 #ef95c3;
}
.solution .jitsumu h4 .border {
    font-size: 1.5rem;
    border-bottom: 4px double #ff168c;
    line-height: 1.8;
}
.solution .jitsumu table {
    max-width: 1000px;
}
.solution .jitsumu table tbody th{
	width: 33.3333%;
	background-color: #e63b5f;
	padding: 0 .5rem;
	border: none;
	height: 100px;
}
.solution .jitsumu table tbody:nth-child(2) th {
    background: #51318f;
}
.solution .jitsumu table tbody:nth-child(3) th {
    background: #ff7200;
}
.solution .jitsumu table tbody th .small{
	font-weight: 400;
	font-size: 12px;
	letter-spacing: .8px;
}
.solution .jitsumu table tbody td{
	background-color: #fff;
	padding: 1rem 1rem 2rem;
	border: 1px solid #ddd;
    border-top: none;
	height: 200px;
}
.solution .jitsumu table tbody:nth-child(2) td {
    border-left: transparent;
	border-right: transparent;
}
/*--== qa ==--*/
.qa {
	position: relative;
}
.qa:after {
	content: "";
	width: 100%;
	height: 100%;
	background-image: url(../img/main_bg03.png);
	background-repeat: no-repeat;
	background-position: bottom right;
	position: absolute;
	bottom: -30%;
	left: 0;
	z-index: -3;
}
.qa:before {
	content: "";
	width: 100%;
	height: 100%;
	background-image: url(../img/main_bg02.png);
	background-repeat: no-repeat;
	background-position: top left;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
.qa h2 {
	margin-top: -9rem;
}
.qa .phone {
	background-image: url(../img/index_qa_phone.svg);
	background-size: 100%;
	height: 100vh;
	min-height: 500px;
	max-height: 635px;
	min-width: 330px;
	max-width: 600px;
	margin: auto;
	background-repeat: no-repeat;
	background-position: top;
	position: relative;
}
.qa .phone:after {
	background: #e11b3f;
	content: "";
	display: block;
	width: 98%;
	height: 100%;
	position: absolute;
	top: 0;
	border-radius: 14% 13%0 0;
	left: 1%;
	z-index: -1;
}
.qa .scroll_box{
	overflow-x: hidden;
	width: 90%;
	position: relative;
	top: 100px;
	min-height: 560px;
}
.oneArea {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  max-width: 1024px;
  margin: 50px auto;
  padding: 0 10px;
}
.oneArea .onebox {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.oneArea .onebox:nth-child(even) {
  flex-direction: row-reverse;
  margin-top: 20px;
}
.oneArea .onebox .imgArea {
  width: 16%;
  position: relative;
	margin-right: 1rem;
	top: 2rem;
}
.oneArea .onebox:nth-child(odd) .imgArea img {
  width: 100%;
  max-width: 130px;
  position: absolute;
  top: -20px;
  left: 0;
  padding-right: 30px;
}
.oneArea .onebox:nth-child(even) .imgArea img {
  width: 100%;
  max-width: 130px;
  position: absolute;
  top: -20px;
  left: auto;
  right: 0;
  padding-left: 30px;
}
.oneArea .onebox .fukiArea {
  width: 80%;
}
.oneArea .onebox.LeftToRight .fukiArea {
	margin-left: 13%;
}
.oneArea .onebox.RightToLeft .fukiArea {
	margin-right: 18%;
}
.oneArea .onebox .fukidasi {
  width: 100%;
  position: relative;
  padding: 22px;
  background-color: #f2f3f7;
  font-size: 17px;
  color: #231815;
  border-radius: 12px;
  box-sizing: border-box;
	letter-spacing: 0;
}
.oneArea .onebox .fukidasi::before {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-radius: 50%;
  transform: rotate(45deg);
  top: 22px;
  border-right: 25px solid transparent;
  border-bottom: 25px solid transparent;
}
.oneArea .onebox .fukidasi::after {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-radius: 50%;
  transform: rotate(45deg);
  top: 40px;
  border-right: 25px solid transparent;
  border-bottom: 25px solid transparent;
}
.oneArea .onebox:nth-child(odd) .fukidasi::before {
  left: -15px;
  border-left: 25px solid #f2f3f7;
  border-top: 25px solid transparent;
}
.oneArea .onebox:nth-child(odd) .fukidasi::after {
  left: -25px;
  border-left: 25px solid #e11b3f;
  border-top: 25px solid transparent;
}
.oneArea .onebox:nth-child(even) .fukidasi {
  background-color: #fde5e5;
}
.oneArea .onebox:nth-child(even) .fukidasi::before {
  left: auto;
  right: -15px;
  border-left: 25px solid transparent;
  border-top: 25px solid #fde5e5;
}
.oneArea .onebox:nth-child(even) .fukidasi::after {
  left: auto;
  right: -25px;
  border-left: 25px solid transparent;
  border-top: 25px solid #e11b3f;
}

.LeftToRight:before {
	content: "Question.";
	top: -35px;
	left: 61px;
	font-size: 17px;
	color: #1197ff;
	position: absolute;
	background: #f3f0ab;
	padding-top: 3px;
	width: 100px;
	height: 30px;
	text-align: center;
	border-radius: 0.5rem;
	transform: rotate( -6deg);
	z-index: 10;
	box-shadow: 0 0 5px #e11b3f;
	top: -20px;
}
li .RightToLeft {
	margin-top: 2rem !important;
	margin-bottom: 3rem;
}
.RightToLeft:before {
	content: "Answer.";
	top: -35px;
	right: 61px;
	font-size: 17px;
	color: #e11b3f;
	position: absolute;
	background: #f3f0ab;
	padding-top: 3px;
	width: 100px;
	height: 30px;
	text-align: center;
	border-radius: 0.5rem;
	transform: rotate( 6deg);
	z-index: 10;
	box-shadow: 0 0 5px #e11b3f;
	top: -20px;
}
.qa a.tokuten:hover {
	transform: rotateZ(-8deg);
}
.qa a.tokuten {
	display: block;
	margin: 0.5rem auto 0;
	transition: 1s;
}


.attack.qa_after {
	margin-top: 0;
	background-color: #fff93c;
}
/*------------------------------------------------------------
fadein
------------------------------------------------------------*/
.RightToLeft {
  /*opacity: 0;*/
  transform: translateX(50px);
  transition: .6s;
}
.RightToLeft.is-show {
  opacity: 1;
  transform: translateY(0);
}
.LeftToRight {
  /*opacity: 0;*/
  transform: translateX(-50px);
  transition: .6s;
}
.LeftToRight.is-show {
  opacity: 1;
  transform: translateY(0);
}
.delay_a {
  transition-delay: .2s;
}

/*--== teacher ==--*/
.teacher_student {
	padding-top: 4rem;
}
.teacher {
	background: #eee;
	max-width: 1300px;
	margin: auto;
	padding: 3rem 0;
	border-radius: 2rem;
	background-image: url(../img/footer_bg1.png);
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: 450px;
}
.teacher_wrap {
	border-bottom: 2px dotted #aaa;
	padding-bottom: 1rem;
	margin-bottom: 0.5rem;
	background: rgba(238,238,238,0.6);
}
.teacher p {
	padding: 1rem;
}
.teacher_wrap h3 {
	max-width: 200px;
	margin-bottom: 0;
}

/*--== student ==--*/
.student {
	background: #fff1f9;
	max-width: 1300px;
	margin: auto;
	padding: 3rem 0;
	margin-top: 4rem;
	border-radius: 2rem;
}
.student_wrap {
	position: relative;
}
.student_wrap:before {
	background-repeat: no-repeat;
	background-position: top right;
	top: -1px;
	background-size: cover;
	content: "";
	display: block;
	width: 43%;
	height: calc(100% + 2px);
	position: absolute;
	left: 0;
	border-radius: 0.5rem;
}
.student_wrap.voice01:before {
	background-image: url(../img/index_voice_01.png);
}
.student_wrap.voice02:before {
	background-image: url(../img/index_voice_02.png);
	background-position: left top;
	left: auto;
	right: -1px;
}
.student_wrap.voice03:before {
	background-image: url(../img/index_voice_03.png);
}
.student_wrap.voice04:before {
	background-image: url(../img/index_voice_04.png);
	background-position: left top;
	left: auto;
	right: 0;
}
.student_wrap.voice05:before {
	background-image: url(../img/index_voice_05.png);
}
.student_text {
	padding: 3rem 0;
}
.student_text h3 {
	padding-bottom: 0.5rem;
	border-bottom: 1px solid;
	margin-bottom: 0.8rem;
}
.student_text h3 span {
	margin-left: 1rem;
}
/*--== access ==--*/
.access h2 {
	margin: 3rem auto 2rem ;
	border-top: 4px double;
	max-width: 500px ;
	padding: 1rem 0;
	border-bottom: 4px double;
	color: #e11b3f;
}
.access li {
	padding: 0.5rem 1rem;
	border-bottom: 1px dashed #aaa;
}
/*--== PRIVACY ==--*/
.box02 {
    padding: 2rem;
    box-shadow: 0 0 5px #aaa;
    margin-bottom: 2rem;
    border-radius: 1rem;
}
/* 下線のあるリスト */
.list01 li {
	border-bottom: 1px dashed #aaa;
	padding-bottom: 0.2rem;
	padding-top: 0.5rem;
}
.list01 {
	margin-bottom: 1rem;
}
/* list01-チェックマーク */
ul.list01 li {
	display: flex;
}
ul.list01 li:before {
	content: "\f00c";
	display: block;
	font-size: 0.9rem;
	position: relative;
	top: 5px;
	margin: 0 0.5rem;
}

.contact {
	background-size: 100%;
}
.contact .box01 {
    background-image: url(../img/contact_application_box.png);
    background-position: left top;
    background-size: 50%;
    background-repeat: no-repeat;
	text-shadow: 2px 1px 0 #1197ff;
	font-weight: bold;
}
.contact .box02 h3 {
    border-top: 2px dotted;
    border-bottom: 2px dotted;
    color: #0075ff;
    padding: 0.8rem;
    margin-bottom: 1rem;
}
.contact .box02 ol li {
	position: relative;
}
.contact .box02 ol li:before {
	content: "1";
	display: inline-block;
	position: absolute;
	right: -9px;
	top: 11%;
	z-index: 10;
}
.contact .box02 ol li:last-child:after {
	content: "";
	display: none;
}
.contact .box02 ol {
    counter-reset: number 0;
}
.contact .box02 ol li:before {
	counter-increment: number 1;
    content: counter(number);
    display: inline-block;
    position: absolute;
    left: 0;
    top: 7px;
    z-index: 10;
    width: 30px;
    height: 30px;
    background: #f23e64;
    border: 2px solid;
    color: #fff;
    text-align: center;
    border-radius: 15px;
}
.contact .box02 ol li:after {
	content: "";
	display: inline-block;
	border-style: solid;
	border-width: 48px 0 48px 29px;
	border-color: transparent transparent transparent #f23e64;
	position: absolute;
	right: -9px;
	top: 11%;
}
.contact .box02 ol p {
    position: relative;
    background: #f23e64;
    background-image: url(../img/contact_application_btn.png);
    background-position: left top;
    background-size: 156px;
    background-repeat: no-repeat;
    padding: 25px 10px;
    margin: 0 15px;
    text-align: center;
    font-weight: bold;
    color: #fff;
    font-size: 30px;
    border-radius: 15px 30px 30px 15px;
    line-height: 1.2;
	text-shadow: 0 0 5px #000;
}
/*--== 2 ==--*/
.contact .box02 ol li:nth-child(2):before,
.contact .box02 ol li:nth-child(2) p {
	background-color: #06b498;
}
.contact .box02 ol li:nth-child(2):after {
	border-color: transparent transparent transparent #06b498;
}
/*--== 3 ==--*/
.contact .box02 ol li:nth-child(3):before,
.contact .box02 ol li:nth-child(3) p {
	background-color: #6f18ad;
}
.contact .box02 ol li:nth-child(3):after {
	border-color: transparent transparent transparent #6f18ad;
}
/*--== 4 ==--*/
.contact .box02 ol li:nth-child(4):before,
.contact .box02 ol li:nth-child(4) p {
	background-color: #f20303;
}
.contact .box02 ol li:nth-child(4):after {
	border-color: transparent transparent transparent #f20303;
}
/*--== bank ==--*/
.contact .bank h3 {
	border-top: 2px dotted;
	border-bottom: 2px dotted;
    padding: 0.8rem 0;
    margin: 0 0.5rem;
    font-weight: bold;
    font-size: 22px;
}
/* privacy */
.privacy {
	width: 95%;
	max-width: 780px;
	height: 150px;
	margin: 3rem auto;
	padding: 2rem 1rem;
	overflow-y: scroll;
	border: 1px solid #ccc;
}
.privacy p {
	line-height: 1.5;
}
.privacy dt {
	font-size: 1.5rem;
	padding: 0.5rem 0;
}
.privacy dd {
	margin-left: 0.5rem;
	line-height: 1.5;
}
.privacy p.privacy_title {
	font-weight: bold;
	font-size: 1.7rem;
}
/*--== achievement ==--*/
.achievement {
	background: #e11b3f;
	padding: 3rem 0;
	margin-top: 3rem;
}
/*--== CONTACT ==--*/
.contact {
	background-image: url(../img/main_bg02.png);
	background-repeat: no-repeat;
	background-size: 600px;
	padding-top: 4rem;
	padding-bottom: calc(10vw + 10px);
	position: relative;
	overflow: hidden;
	background-color: #ebf6ff;
}
.contact h2,
.corporation h2 {
	color: #4697ff;
	border-top: 4px double;
	padding: 1rem 0;
	border-bottom: 4px double;
}
.contact::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	border-bottom: 10vw solid #fff;
	border-left: 100vw solid transparent;
}
.contact::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    border-bottom: 10vw solid #fff;
    border-right: 100vw solid transparent;
}

.contact.corporation {
	background-image: url(../img/main_bg03.png);
	background-repeat: no-repeat;
	background-position: right;
	background-color: unset;
}
.contact.corporation::before,
.contact.corporation::after {
    display: none;
}
.contact .main_box {
	max-width: 1000px;
}
/*--== レスポンシブｓ ==--*/
@media screen and (max-width: 1380px) {
	.merit .merit3:before {
		left:0;
	}
	.merit .merit4:before {
		right: 20%;
		bottom: -25%;
	}
}
@media screen and (max-width: 1200px) {
	.slider_wrap p {
		bottom: 100px;
		font-size: 20px;
		padding: 5px 5px 5px 10px;
		letter-spacing: 2px;
	}
}
@media screen and (max-width: 1024px) {
  .oneArea .onebox:nth-child(odd) .imgArea img {
    max-width: 70%;
    top: 0;
  }
  .oneArea .onebox:nth-child(even) .imgArea img {
		padding-left:15px;
    top: 45px;
		position: relative;
		z-index: 2;
  }
  .oneArea .onebox .fukidasi {
    padding: 15px;
    font-size: 14px;
  }
  .oneArea .onebox .fukidasi::before {
    top: 8px;
  }
  .oneArea .onebox .fukidasi::after {
    top: 20px;
  }
	.oneArea .onebox.RightToLeft .fukiArea {
    margin-right: 25%;
	}	
	.oneArea .onebox .fukiArea {
		width: 85%;
	}
}
@media screen and (max-width: 420px) {
  .oneArea {
    margin: 30px auto;
  }
  .oneArea .onebox:nth-child(even) {
    margin-top: 15px;
  }
  .oneArea .onebox .imgArea {
	width: 20%;
	top: 1rem;
  }
	
}

@media screen and (max-width: 999px) {
	h2 {
		font-size: 1.8rem;
		padding-left: 0;
	}
	h2 .small{
		margin-bottom: 0;
	}
	/*--== slider ==--*/
	.slider {
		margin-top: 60px;
	}
	/*--== index_mainvisual ==--*/
	.index_mainvisual:after {
		background-size: 75%;
		top: 80vh;
	}
	/*--== merit ==--*/
	.merit:before,
	.merit:after {
		background-size: 100%;
	}
	.merit ol:after {
		width: 75%;
		background-size: contain;
		margin-left: auto;
		right: 0;
		max-width: 500px;
		bottom: -200px;
	}
	.merit .merit1 .left {
		width: 80% !important;
		max-width: 500px;
	}
	.merit .merit1 .right:last-child {
		margin-top: 1rem;
	}
	.merit .merit1:before {
    background-size: 33%;
    top: 7%;
	}
	.merit .merit2 {
		width: 80% !important;
		margin-left: auto;
		margin-top: 1rem;
	}
	.merit .merit3 {
		width: 80% !important;
		margin-right: auto;
		margin-top: 1rem;
	}
	.merit .merit3:before {
		left: 0;
		z-index: -3;
		background-position: -10% 0;
	}
	.merit .merit4 {
		width: 80% !important;
		margin-left: auto;
		margin-top: 0rem;
	}
	.merit4 img {
		margin-bottom: 100px;
	}
	.merit .tokuten {
		position: relative;
		transform: rotateZ( -5deg);
    bottom: 4%;
    left: -24%;
		margin-bottom: 75px;
	}
	.merit .tokuten a:hover {
		transform: unset;
		display: block;
	}
	.merit .box01 {
    padding: 1rem;
	}

	/*--== campaign ==--*/
	.campaign .campaign_contents {
		width: 90%;
		padding-bottom: 30%;
	}
	.campaign .campaign_img {
		top: auto;
		bottom: -7%;
		width: 73%;
		left: -16%;
	}
	/*--== solution ==--*/
	.attack .w6 a {
    max-width: 600px !important;
			display: block;
			margin: auto;
	}
	/*--== solution ==--*/
	.solution .comment {
    margin-top: 5rem;
	}
	.solution .comment .w4 {
		margin:-4.5rem auto 0;
		width: 60% !important;
	}
	.solution .comment .w4:last-child {
		margin-top: -2rem;
	}
	.merit .merit5 {
		margin-top: -19rem;
	}
	.merit ol {
		margin-bottom: 200px;
	}
	.summary h3 {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
	.summary h3 .design {
		font-size: 20px;
	}
	.solution .jitsumu{
		margin-top: 8rem;
		padding: 2rem 0;
	}
	.solution .jitsumu .w-900 {
		margin-top: -8rem;
	}
	.solution .jitsumu h3 .design {
		font-size: 1.3rem;
		text-align: left;
	}
	.solution .jitsumu h4 .border {
		font-size: 1.1rem;
		margin-bottom: 1rem;
	}
	.solution .jitsumu table tbody {
		margin-bottom: 1rem;
		display: block;
	}
	.solution .jitsumu table tbody:nth-child(2) td {
		border-left: 1px solid #ddd;
		border-right: 1px solid #ddd;
	}
	/*--== qa ==--*/
	.qa:before,
	.qa:after {
    background-size: 100%;
	}
	.qa .phone:after {
		border-radius: 11% 11% 0 0;
	}
	.qa h2 {
		margin-top: -3rem;
	}
	.qa .scroll_box {
    padding: 0 1.5rem;
		min-height: 515px;
	}
	.LeftToRight:before {
		top: -26px;
		left: 30px;
	}
	li .RightToLeft {
		margin-top: 1rem !important;
	}
	.RightToLeft:before {
		top: 7px;
		right: 30px;
	}
	.qa .oneArea a.tokuten {
		margin-bottom: 14vw !important;
		right: 15px;
		position: relative;
	}
	/*--== teacher_student ==--*/
	.teacher_student {
		padding-left: 0.5rem;
		padding-right: 0.5rem;
	}
	.teacher_student .teacher img {
		max-width: 250px;
		margin: auto;
		display: block;
	}
	.student_wrap.voice02:before {
    right: 0;
    width: calc(100% + 1px);
	}
	.student .w-600 {
		margin: auto;
	}
	.student_wrap {
		padding-top: 230px;
		max-width: 500px;
		margin-left: auto;
		margin-right: auto;
		display: block;
	}
	.student_wrap:before {
    width: 100%;
    left: 0;
    height: 230px;
    border-radius: 0.5rem 0.5rem 0 0;
    background-position: center;
		background-color: #e1eef4;
	}
	.student_text {
		padding: 1rem 0 0;
	}
	/*--== privacy ==--*/
	.privacy {
    padding: 1rem;
	}
	.privacy .accshow_contents {
		padding: 1rem !important;
		margin: 2rem 0;
	}
	.privacy .accshow_contents {
		border: 1px solid;
		padding: 3rem !important;
		display: block;
		margin: 1rem;
	}
	/*--== contact ==--*/
	.contact {
		background-size: 80%;
	}
	.contact h2 img{
		max-width: 300px !important;
	}
	.contact .main_box {
    padding: 0;
    padding: 0;
	}
	.birthday .w4.year {
		width: 100% !important;
	}
	.birthday .w4 select {
		width: 75%;
	}
	.birthday .w4 {
		width: 50% !important;
		padding: 0.5;
	}
	.birthday .flex {
		display: flex !important;
	}
	.radio {
		padding: 5px 40px 5px 8px;
	}
	.contact .box02 ol li {
    margin-bottom: 45px;
	}
	.contact .box02 ol li:before {
		width: 40px;
		height: 40px;
		border-radius: 20px;
		font-size: 22px;
		top: 25%;
		padding-top: 2px;
	}
	.contact .box02 ol li:after {
			transform: rotateZ( 90deg);
			bottom: -59px;
			top: auto;
			left: 45%;
			right: auto;
	}
	.contact .box02 ol p {
		font-size: 26px;
	}
}
@media screen and (max-width: 750px) {
	.merit .merit1:before {
		background-size: 33%;
    top: 22%;
	}
}