@charset "UTF-8";
/* Scss Document */
.sp{
	display: block;
}
.pc{
	display: none;
}

.sec_s,
.sec_m,
.sec_e{
	background-size: 100%;
	background: #CAEC87;
}
.sec_s .inner,
.sec_m .inner,
.sec_e .inner{
	background: #fff;
}
.sec_s .inner{
	padding-top: calc(150rem / 20);
	border-top-left-radius: 2rem;
	border-top-right-radius: 2rem;
}
.sec_m .inner{
	
}
.sec_e .inner{
	padding-top: calc(150rem / 20);
	padding-bottom: calc(80rem / 20);
	border-bottom-left-radius: 2rem;
	border-bottom-right-radius: 2rem;
}
.imp_txt{
	display: block;
	margin-top: 40px;
	margin-bottom: 50px;
	color: #F58C7E;
	text-align: center;
	font-weight: bold;
	font-size: calc(37rem / 20);
	font-style: normal;
}
[class*="sec"] .ttl{
	margin-bottom: 20px;
	text-align: center;
	color: #47C76F;
	font-weight: 500;
	font-size: calc(35rem / 20);
	position: relative;
}
.ttl02{
	margin-bottom: 20px;
	text-align: center;
	color: #47C76F;
	font-weight: 600;
	font-size: calc(45rem / 20);
	position: relative;
}
.item-ttl{
	
}
.sec_m .ttl{
	margin-bottom: 0;
	margin-top: 50px;
}
#problems{
	width: 100vw;
	margin-top: 100px;
	margin-bottom: 80px;
	margin-left: calc(-40rem / 20);
	padding-bottom: 30px;
	background-color: #F9F7EC;
}
#problems .wap {
	position: relative;
	margin: 0 auto;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-flow: wrap;
	align-items: flex-start;
	margin-top: -50px;
}
#problems .wap .item {
	width: calc(310rem / 20);
    margin-bottom: calc(30rem / 20);
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -webkit-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    border-radius: 3rem;
}
#problems .wap .item-txt{
	font-size: calc(26rem / 20);
}
#problems #problemsIll01{
		position: relative;
		width: calc(564rem / 20);
		margin-left: auto;
		margin-right: auto;
		top: -80px;
}
#reform .sec_s .inner {
	background: url(../images/reform/reform_bg.png) no-repeat top #fff;
	background-size: 100%;
	background-position: top 2em left;
}


.box-wap01 * {
    font-size: 1em;
    list-style-type: none;
    text-decoration: none;
    transition-duration: .5s;
    transition-property: none;
}
.box-wap01 :last-of-type {
    margin-bottom: 0;
}
.box-wap01 .box-teltxt {
    width: calc(466rem / 20);
    margin-bottom: calc(20rem / 20);
	margin-left: auto;
	margin-right: auto;
}
.box-wap01 .box-tel {
    width: calc(576rem / 20);
    position: relative;
    margin-bottom: calc(30rem / 20);
	margin-left: auto;
	margin-right: auto;
    color: #fff; }
.box-wap01 .box-tel a {
      display: -webkit-box;
      display: -webkit-flex;
      display: flex;
      -webkit-box-direction: normal;
      -webkit-box-orient: vertical;
      -webkit-flex-direction: column;
      flex-direction: column;
      -webkit-box-pack: center;
      -webkit-flex-pack: center;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-box-align: center;
      -webkit-align-items: center;
      align-items: center;
	color: #6DC378;
      background: #F8E9DD;
      border-radius: 3rem;
      height: calc(213rem / 20); }
.box-wap01 .box-tel .teltxt1 {
      text-align: center;
      font-size: calc(27rem / 20); }
.box-wap01 .box-tel .teltxt2 {
      text-align: center;
      font-size: calc(46rem / 20);
      letter-spacing: .1rem;
	color: #F58C7E;
      font-weight: 700;
      font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
      position: relative;
      padding-left: calc(70rem / 20); }
.box-wap01 .box-tel .teltxt2::before {
        content: "";
        background: url("../images/footer_ico_tel.svg") no-repeat;
        background-size: calc(57rem / 20);
        width: calc(57rem / 20);
        height: calc(50rem / 20);
        top: 50%;
        transform: translateY(-50%);
        left: 0;
        position: absolute;
	filter: brightness(0) saturate(100%) invert(70%) sepia(30%) saturate(562%) hue-rotate(77deg) brightness(91%) contrast(95%);
}
.box-wap01 .box-tel .teltxt3 {
      text-align: center;
      font-size: calc(24rem / 20); }
.box-wap01 .box-mail {
    width: calc(576rem / 20);
    position: relative;
	margin-left: auto;
	margin-right: auto;
    margin-bottom: calc(45rem / 20);
    font-size: calc(27rem / 20);
    color: #fff;
    text-align: center; }
.box-wap01 .box-mail .mailtxt {
      margin-top: calc(15rem / 20); }
.box-wap01 .box-mail a {
      display: -webkit-box;
      display: -webkit-flex;
      display: flex;
      -webkit-box-direction: normal;
      -webkit-box-orient: vertical;
      -webkit-flex-direction: column;
      flex-direction: column;
      -webkit-box-align: center;
      -webkit-align-items: center;
      align-items: center;
	color: #6DC378;
      height: calc(183rem / 20);
      border-radius: 3rem;
      background: #F8E9DD; }
.box-wap01 .box-mail::before {
      content: "";
      background: url("../images/footer_ico_mail.svg") no-repeat;
      background-size: calc(69rem / 20);
      width: calc(69rem / 20);
      height: calc(50rem / 20);
      left: 50%;
      transform: translateX(-50%);
      bottom: calc(25rem / 20);
      position: absolute;
	filter: brightness(0) saturate(100%) invert(70%) sepia(30%) saturate(562%) hue-rotate(77deg) brightness(91%) contrast(95%);
}

#reform .ttl-img {
    width: calc(654rem / 20);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: calc(75rem / 20);
}
#reform .ttl-img2 {
    width: calc(654rem / 20);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: calc(30rem / 20);
}
#reform [class*="sec"] .txt {
    font-size: calc(32rem / 20);
    text-align: center;
    letter-spacing: .21rem;
    margin-bottom: calc(100rem / 20);
}
#reform .item-ttl {
    font-size: calc(32rem / 20);
    text-align: center;
    color: #44C269;
    padding-bottom: calc(20rem / 20);
    line-height: 1.25;
    margin-bottom: calc(40rem / 20);
    border-bottom: 2px dashed #44C269;
}
#warning .item-ttl {
	font-size: calc(50rem / 20);
}
.sec_m .ttl:before{
	content: "";
	background: url(../images/livingschool/ttl_voice_bg.svg) no-repeat;
	background-size: calc(425rem / 20);
	width: calc(425rem / 20);
	height: calc(50rem / 20);
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	position: absolute;
}
.sec_s .sbb{
	width: calc(544rem / 20);
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
}
#warning{
	position: relative;
	padding-top: calc(140rem / 20);
	padding-bottom: calc(120rem / 20);
	padding-left: calc(60rem / 20);
	padding-right: calc(60rem / 20);
	background-color: #F6EEB3;
	border-radius: 2.5rem;
	margin-bottom: calc(150rem / 20);
}
#warning:before {
	content: '';
	position: absolute;
	display: block;
	background: url(../images/reform/reform_ico01.svg) no-repeat;
	background-size: cover;
	margin: auto;
	left: 0;
	right: 0;
	width: calc(138rem / 20);
	height: calc(120rem / 20);
	top: -20px;
}
#warning:after {
	content: '';
	position: absolute;
	display: block;
	background: url(../images/reform/reform_ill02.png) no-repeat;
	background-size: cover;
	margin: auto;
	left: 0;
	right: 0;
	width: calc(294rem / 20);
	height: calc(210rem / 20);
	bottom: -50px;
}
#warning p{
	font-size: calc(32rem / 20);
    letter-spacing: .21rem;
}

#areaInner{
	/*padding-top: calc(30rem / 20);*/
	width: 100vw;
	padding: 20px;
	margin-left: -2rem;
	background-color: #F4F9E3;
}
#areaInner p{
	padding: 20px 20px 0;
}


@media only screen and (min-width: 48em) {
	.sp{
		display: none;
	}
	.pc{
		display: block;
	}
	.sec_s .inner,
	.sec_m .inner,
	.sec_e .inner{
		width: calc(1180rem / 20);
	}
	.sec_s .sbb{
		width: calc(414rem / 20);
		margin-bottom: 20px;
	}
	.sec_m .inner{
		padding-top: 100px;
	}
	.sec_m .ttl{
		margin-top: 0;
	}
	.sec_m .ttl:before{
		background-size: calc(425rem / 20);
		width: calc(425rem / 20);
		height: calc(50rem / 20);
	}
	
	.box-wap01 {
		width: calc(824rem / 20);
		margin-left: auto;
		margin-right: auto;
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		-webkit-box-pack: justify;
		-webkit-flex-pack: justify;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		-webkit-box-align: end;
		-webkit-align-items: flex-end;
		align-items: flex-end;
		/*margin-bottom: calc(50rem / 20);*/
	}
	.box-wap01 .box-teltxt {
        width: calc(357rem / 20);
        margin-left: auto;
        margin-right: auto;
    }
	.box-wap01 .box-tel {
        width: calc(520rem / 20);
        margin-bottom: 0;
	}
	.box-wap01 .box-tel a {
        border-radius: 1.5rem;
        height: calc(165rem / 20);
        transition: .3s;
    }
	.box-wap01 .box-mail {
        width: calc(280rem / 20);
        margin-bottom: 0;
        font-size: calc(20rem / 20);
        line-height: 1.25;
    }
	.box-wap01 .box-mail a {
        height: calc(165rem / 20);
        border-radius: 1.5rem;
        transition: .3s;
    }
	.box-wap01 .box-tel .teltxt1 {
		font-size: calc(20rem / 20);
	}
	.box-wap01 .box-tel .teltxt3 {
		font-size: calc(14rem / 20);
	}
	
	#reform .ttl-img {
        width: calc(710rem / 20);
        margin-bottom: calc(75rem / 20);
    }
	#reform .ttl-img2 {
		width: calc(710rem / 20);
	}
	#reform [class*="sec"] .txt {
        font-size: calc(19rem / 20);
        letter-spacing: .1rem;
        margin-bottom: calc(60rem / 20);
	}
	#reform .item-ttl {
        font-size: calc(38rem / 20);
        padding-bottom: calc(15rem / 20);
        margin-bottom: calc(20rem / 20);
    }
	
	#problems{
		width: 100%;
		margin-left: auto;
		margin-top: 100px;
		margin-bottom: 0;
		padding-bottom: 50px;
		border-radius: 1.5rem;
	}
	#problems #problemsIll01{
		position: relative;
		width: calc(484rem / 20);
		margin-left: auto;
		margin-right: auto;
		top: -60px;
	}
	#problems .wap {
		width: calc(890rem / 20);
	}
	#problems .wap .item {
		width: calc(258rem / 20);
        margin-bottom: calc(30rem / 20);
        margin-left: 0;
        margin-right: 0;
		/*
        padding-top: calc(30rem / 20);
        padding-bottom: calc(30rem / 20);
		*/
        border-radius: 2.5rem;
	}
	#problems .wap .item .item-ttl{
		font-size: calc(24rem / 20);
		width: 100%;
	}
	#problems .wap .item .item-txt{
		font-size: calc(16rem / 20);
	}
	#warning{
		margin-top: calc(100rem / 20);
		padding: calc(100rem / 20);
		margin-bottom: calc(120rem / 20);
		background-color: #F6EEB3;
		border-radius: 2.5rem;
		line-height: 2;
	}
	#warning:before {
		width: calc(88rem / 20);
        height: calc(78rem / 20);
		top: -30px;
	}
	#warning:after {
		width: calc(208rem / 20);
        height: calc(148rem / 20);
		bottom: -80px;
	}
	#warning p{
		margin-top: 40px;
		font-size: calc(20rem / 20);
		letter-spacing: .11rem;
	}
	#areaInner{
		margin-bottom: calc(70rem / 20);
		padding-left: calc(80rem / 20);
		padding-right: calc(80rem / 20);
		padding-top: calc(40rem / 20);
		padding-bottom: calc(40rem / 20);
		border-radius: 2.5rem;
		width: 100%;
		margin-left: auto;
	}
	#areaInner p{
		margin-top: 40px;
		padding: 0;
	}
	.imp_txt{
		font-size: calc(28rem / 20);
	}
}

@-webkit-keyframes fade-bottom {
  0% {
    -webkit-transform: translateY(2.5rem);
    transform: translateY(2.5rem);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }
@keyframes fade-in-bottom {
  0% {
    -webkit-transform: translateY(2.5rem);
    transform: translateY(2.5rem);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }
