@charset "UTF-8";
body, html {
	font-size: 16px
}
ol, p, ul {
	margin: 0
}
.btn, .course__box, .flow__caution, .flow__heading, .flow__item, .header, .intro__btns, .intro__top, .job__name2, .lineup, .recommend__heading, .section__heading {
	text-align: center
}
.flow__heading, .footer__copy, .job__content, .job__name, .lineup__title, .skill__course {
	white-space: nowrap
}
.customer__item, .customer__nav, .flow__section, .header__btn {
	float: left
}
.btn, .pagetop, .slick__nav {
	cursor: pointer
}
body {
	color: #343434;
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	line-height: 2.4
}
h1, h2, h3, h4 {
	margin: 0;
	font-weight: 400;
	line-height: 1.3
}
ol, ul {
	padding: 0;
	list-style-type: none
}
a {
	text-decoration: none;
	color: inherit
}
img {
	max-width: 100%;
	vertical-align: bottom
}
.l-container {
	max-width: 1140px;
	margin: 0 auto;
	padding-right: 20px;
	padding-left: 20px
}
.btn--contact:not(:last-child), .btn--spnav:first-child {
	margin-bottom: 15px
}
.header {
	position: fixed;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100%;
	padding: 4px 0;
	background-color: #fff;
	box-shadow: rgba(0,0,0,.2) 0 2px 4px 0
}
.header__container {
	position: relative
}
.header__btns {
	position: absolute;
	top: 50%;
	right: 20px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.job__inner, .skill__inner {
	-webkit-transform: translate(-50%, -50%)
}
.header__btn {
	width: 95px
}
.header__btn:not(:last-child) {
	margin-right: 9px
}
.logo__img {
	display: block;
	width: 58px
}
.btn {
	display: inline-block;
	-webkit-transition: all .3s;
	transition: all .3s;
	border-radius: 5px;
	line-height: 1
}
.btn--request {
	color: #fff;
	border-bottom: 2px solid #09807c;
	background-color: #12b5b0
}
.btn--request2 {
	color: #fff;
	border-bottom: 2px solid #e6006f;
	background-color: #12b5b0
}
.btn--reserve {
	color: #fff;
	border-bottom: 2px solid #09807c;
	background-color: #12b5b0
}
.btn--header {
	display: block;
	padding: 5px 0;
	font-size: 12px
}
.btn--big {
	display: block;
	max-width: 400px;
	margin-right: auto;
	margin-left: auto;
	padding: 11px 0;
	letter-spacing: .2em;
	font-size: 16px
}
.btn--course, .btn--lineup {
	letter-spacing: .1em
}
.btn--lineup {
	display: block;
	width: 100%;
	max-width: 305px;
	margin-right: auto;
	margin-left: auto;
	padding: 8px 0
}
.btn--contact, .btn--spnav {
	max-width: 400px;
	margin-right: auto;
	margin-left: auto
}
.btn--contact, .btn--course {
	display: block;
	padding: 11px 0
}
.btn--contact {
	width: 100%;
	letter-spacing: .2em;
	font-size: 17px
}
.intro__course, .intro__header {
	font-size: 27px
}
.btn--footer {
	display: none
}
.btn--spnav {
	display: block;
	padding: 10px 0
}
.hero {
	margin-top: 44px
}
.intro {
	padding-bottom: 37px
}
.intro__top {
	padding: 20vw 0;
	color: #fff;
	background-image: url(../images/top/hero-bg.jpg);
	background-position: center;
	background-size: cover
}
.intro__bottom {
	padding-top: 20px
}
.intro__header {
	margin-bottom: 19px
}
.intro__text {
	margin-bottom: 27px;
	font-size: 15px;
	line-height: 1.8
}
.intro__btns {
	font-size: 0
}
.intro__btn {
	margin-bottom: 14px
}
.section__heading {
	margin-bottom: 17px;
	color: #e30070;
	font-size: 20px;
	font-weight: 700
}
.recommend__inner {
	padding: 17px 20px 24px;
	background-color: #eee
}
.recommend__heading {
	margin-bottom: 20px;
	font-size: 21px;
	font-weight: 700
}
.recommend__item {
	display: table;
	margin-right: auto;
	margin-left: auto;
	table-layout: fixed
}
.recommend__item:not(:last-child) {
	margin-bottom: 27px
}
.recommend__image {
	display: table-cell;
	width: 34%;
	max-width: 180px;
	vertical-align: middle
}
.recommend__img {
	border-radius: 50%
}
.recommend__factor {
	display: table-cell;
	padding-left: 20px;
	vertical-align: middle;
	font-size: 15px;
	line-height: 1.6
}
.skill__icon, .skill__title {
	display: inline-block;
	vertical-align: middle
}
.campaign {
	margin-top: 100px;
	padding: 37px 0;
	text-align: center;
	color: #fff;
	border-radius: 10px;
	background-color: #f16c67;
	font-size: 20px;
	line-height: 1.4
}
.campaign--intro {
	margin-top: 50px;
	padding: 20px 0;
	border-radius: 0
}
.campaign__date {
	color: #d3f024
}
.campaign__sub {
	font-size: 9px;
}
.lineup {
	padding: 48px 0 57px
}
.lineup__container {
	max-width: 992px
}
.lineup__heading {
	margin-bottom: 40px;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.7
}
.lineup__item:not(:last-child) {
	margin-bottom: 42px
}
.lineup__item:nth-child(3) .lineup__img {
	width: 200px
}
.lineup__img {
	width: 230px;
	height: auto;
	margin-bottom: 15px
}
.lineup__title {
	margin-bottom: 15px;
	font-size: 18px;
	font-weight: 700
}
.flow {
	padding-top: 29px;
	background-color: #eee
}
.flow__figure::after, .flow__item::before {
	background-color: #ccc;
	left: 50%;
	content: ''
}
.flow__text {
	margin-bottom: 22px;
	line-height: 1.9
}
.flow__section:nth-child(1) {
	width: 22%;
	margin-top: 97px;
	margin-bottom: 0;
	margin-left: -.5rem
}
.flow__section:nth-child(2) {
	width: 37%
}
.flow__section:nth-child(3) {
	width: calc(41% + .5rem)
}
.flow__heading {
	margin-bottom: 14px;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3
}
.flow__figure {
	position: relative
}
.flow__figure::after {
	position: absolute;
	top: 4%;
	width: 3px;
	height: 0;
	margin-left: -1px;
	-webkit-transition-delay: .5s;
	transition-delay: .5s;
	-webkit-transition-timing-function: linear;
	transition-timing-function: linear;
	-webkit-transition-duration: 2.8s;
	transition-duration: 2.8s;
	-webkit-transition-property: height;
	transition-property: height
}
.is-active .flow__figure::after {
	height: 99%
}
.flow__item {
	position: relative;
	z-index: 1;
	font-size: 13px;
	font-weight: 700;
	line-height: 1
}
.is-active .flow__item {
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp;
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both
}
.is-active .job__box, .is-active .job__item {
	-webkit-animation-duration: 1s;
	-webkit-animation-fill-mode: both
}
.is-active .flow__item:nth-child(1) {
	-webkit-animation-delay: 0s;
	animation-delay: 0s
}
.is-active .flow__item:nth-child(2) {
	-webkit-animation-delay: 1.06s;
	animation-delay: 1.06s
}
.is-active .flow__item:nth-child(3) {
	-webkit-animation-delay: 1.62s;
	animation-delay: 1.62s
}
.is-active .flow__item:nth-child(4) {
	-webkit-animation-delay: 2.18s;
	animation-delay: 2.18s
}
.is-active .flow__item:nth-child(5) {
	-webkit-animation-delay: 2.74s;
	animation-delay: 2.74s
}
.flow__item:not(:last-child) {
	padding-bottom: 126px
}
.flow__item::before {
	position: absolute;
	z-index: -1;
	top: 19px;
	width: 12px;
	height: 12px;
	margin-left: -6px;
	border-radius: 50%
}
.flow__caution {
	padding: 25px 0;
	font-size: 12px
}
.job {
	font-size: 14px
}
.job__item {
	position: relative;
	width: calc(100% - 22px);
	margin: 0 auto;
	color: #fff
}
.is-active .job__item {
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp;
	animation-duration: 1s;
	animation-fill-mode: both
}
.is-active .job__item--director {
	-webkit-animation-delay: 0s;
	animation-delay: 0s
}
.is-active .job__item--designer {
	-webkit-animation-delay: 1.06s;
	animation-delay: 1.06s
}
.is-active .job__item--corder {
	-webkit-animation-delay: 2.18s;
	animation-delay: 2.18s
}
.is-active .job__item--programmer {
	-webkit-animation-delay: 2.74s;
	animation-delay: 2.74s
}
.job__item:not(:last-child) {
	margin-bottom: 10px
}
.job__item--director {
	height: 120px;
	padding: 10px;
	background-color: #a2a2a2
}
.job__item--designer {
	height: 250px;
	background-color: #12b5b2
}
.job__item--corder {
	height: 120px;
	background-color: #12b5b2
}
.job__item--programmer {
	height: 120px;
	background-color: #5c98ce
}
.job__inner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%)
}
.job__box {
	margin-bottom: 8px;
	padding: 10px 0;
	background-color: #a6eadd
}
.is-active .job__box {
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp;
	animation-duration: 1s;
	-webkit-animation-delay: 1.06s;
	animation-delay: 1.06s;
	animation-fill-mode: both
}
.job__name {
	margin-bottom: 5px;
	font-size: 12px;
	line-height: 1.2
}
.job__name2 {
	margin-bottom: 3px;
	color: #15b4b0;
	font-size: 13px;
	line-height: 1
}
.job__content {
	position: relative;
	padding-left: 9px;
	font-size: 12px;
	line-height: 1
}
.job__content::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 3px;
	height: 3px;
	margin-top: 5px;
	content: '';
	border-radius: 50%;
	background-color: #fff
}
.job__content:not(:last-child), .job__content:only-child {
	margin-bottom: 15px
}
.skill__relations {
	margin-top: 170px
}
.skill__relation {
	position: relative;
	width: calc(100% - 13px);
	height: 249px;
	margin-left: auto;
	padding: 0 15px;
	color: #fff;
	background-color: #e55286
}
.skill__relation:nth-child(2) {
	height: 260px
}
.skill__relation::before {
	position: absolute;
	top: 50%;
	right: 100%;
	margin-top: -12px;
	content: '';
	border-top: 11.2px solid transparent;
	border-right: 8px solid #e55286;
	border-bottom: 11.2px solid transparent
}
.skill__relation:not(:last-child) {
	margin-bottom: 9px
}
.is-active .skill__relation {
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp;
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both
}
.is-active .skill__relation:nth-child(1) {
	-webkit-animation-delay: 1.06s;
	animation-delay: 1.06s
}
.is-active .skill__relation:nth-child(2) {
	-webkit-animation-delay: 2.18s;
	animation-delay: 2.18s
}
.skill__inner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%)
}
.service__content::after, .skill__course::before {
	top: 0;
	left: 0;
	content: ''
}
.skill__courses {
	margin-bottom: 10px
}
.skill__course {
	position: relative;
	margin-bottom: 8px;
	padding-left: 8px;
	font-size: 13px;
	line-height: 1.3
}
.service__text, .skill__skill {
	line-height: 1.9
}
.skill__course::before {
	position: absolute;
	margin-top: 2.5px;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 5px solid #fff
}
.service__section-1, .service__section-2 {
	border-bottom: 2px solid #fff;
	background-size: cover;
	background-position: center
}
.skill__skills {
	padding-left: 5px;
	font-size: 0
}
.skill__skill--long {
	width: 110%
}
.skill__icon {
	margin-right: 10px
}
.skill__img {
	width: 14px
}
.skill__title {
	font-size: 12px
}
.service {
	padding-top: 54px
}
.service__section-1 {
	padding-top: 45px;
	padding-bottom: 39px;
	background-image: url(../images/top/service-bg-1.jpg)
}
.service__section-2 {
	position: relative;
	padding-top: 42px;
	color: #fff;
	background-image: url(../images/top/service-bg-2.jpg)
}
.service__section-3 {
	position: relative;
	padding-top: 44px;
	padding-bottom: 46px;
	background-image: url(../images/top/service-bg-3.jpg);
	background-position: center;
	background-size: cover
}
.service__heading {
	margin-bottom: 7px;
	padding-left: 25px;
	font-size: 18px;
	font-weight: 700
}
.service__slick {
	background-color: rgba(0,0,0,.3)
}
.service__content {
	position: relative
}
.service__content::after {
	position: absolute;
	border-top: 11px solid #fed2d1;
	border-right: 11px solid transparent;
	border-bottom: 11px solid transparent;
	border-left: 11px solid #fed2d1
}
.slick, .slick__item {
	position: relative
}
.service__section-1 .service__content {
	margin-bottom: 25px
}
.service__section-2 .service__content {
	margin-bottom: 42px
}
.service__section-3 .service__content {
	margin-bottom: 25px
}
.service__text {
	font-size: 14px
}
.service__movie {
	display: block;
	width: 86%;
	margin: 0 auto
}
.service__movie:not(:last-child) {
	margin-bottom: 19px
}
.slick-slide:not(.slick-active) {
	pointer-events: none
}
.slick__item {
	height: 385px
}
.slick__img, .slick__nav {
	position: absolute;
	top: 50%
}
.slick__img {
	left: 50%;
	width: 200px;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}
.slick__nav {
	width: 22px
}
.slick__nav--prev {
	left: 0;
	-webkit-transform: translate(20px, -50%);
	transform: translate(20px, -50%)
}
.slick__nav--next {
	right: 0;
	-webkit-transform: translate(-20px, -50%);
	transform: translate(-20px, -50%)
}





.school {
	padding: 12px 23px 19px;
	color: #000;
	border-radius: 5px;
	background-image: url(../images/top/school-bg--sp.png);
	background-position: center;
	background-size: cover;
	font-size: 14px;
	line-height: 2
}
.school__list {
	margin: 23px auto 13px
}
.school__item {
	max-width: 450px;
	margin: 0 auto
}
.school__inner {
	position: relative;
	display: table;
	margin-bottom: 23px
}
.school__image, .school__title {
	display: table-cell;
	vertical-align: middle
}
.school__inner::after {
	position: absolute;
	top: calc(100% + 27px / 4);
	left: 44%;
	width: 19px;
	height: 13px;
	content: '';
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-image: url(../images/top/school__arrow--sp.png);
	background-size: contain
}
.school__text {
	line-height: 1.9
}
.school__image {
	width: 35%
}
.school__img {
	border-radius: 50%
}
.school__title {
	padding-left: 20px
}
.course {
	padding-top: 51px
}
.course__box, .support {
	padding-top: 30px
}
.course__link, .course__text {
	text-align: left;
	line-height: 1.9
}
.course__box:not(:last-child) {
	margin-bottom: 49px
}
.course__genre {
	margin-bottom: 50px;
	font-size: 19px;
	font-weight: 700
}
.course__item {
	display: inline-block
}
.footer__customer, .footer__descs, .footer__logo, .footer__section:nth-child(1), .footer__section:nth-child(2), .footer__text {
	display: none
}
.course__item:not(:last-child) {
	margin-bottom: 54px
}
.course__img {
	width: 229px;
	margin-bottom: 16px
}
.course__img--small {
	width: 205px
}
.course__img--big {
	width: 260px
}
.course__title {
	margin-bottom: 8px;
	font-size: 22px;
	font-weight: 700
}
.course__text {
	margin-bottom: 20px;
	font-size: 14px
}
.course__btn {
	width: 300px;
	margin: 7px auto
}
.course__link {
	margin-top: 22px;
	margin-bottom: 13px;
	font-size: 13px
}
.contact, .footer, .footer__bottom, .footer__section:nth-child(3) {
	text-align: center
}
.support__main {
	padding-top: 51px;
	padding-bottom: 39px;
	background-image: url(../images/top/support-bg.jpg);
	background-position: center;
	background-size: cover
}
.support__box {
	height: 515px;
	border-radius: 5px;
	background-image: url(../images/top/support__box-bg.png);
	background-size: cover
}
.contact {
	padding: 54px 0
}
.contact__heading {
	margin-bottom: 26px
}
.contact__text {
	margin-bottom: 28px;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.6
}
.footer {
	background-color: #d1d4db;
	line-height: 1.8
}
.footer ul a {
	-webkit-transition: color .3s;
	transition: color .3s
}
.footer ul a:hover {
	opacity: .7
}
.footer__box {
	font-size: 0
}
.footer__nav {
	position: absolute;
	top: 40px;
	left: 0;
	width: 100%
}
.footer__copy {
	margin-top: 35px;
	padding-bottom: 15px;
	font-size: 10px;
	line-height: 1.2
}
.customer__title {
	float: left;
	margin-right: 15px;
	color: #eb4197;
	font-size: 16px
}
.customer__item {
	position: relative;
	padding-left: 15px
}
.customer__item::before {
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -7px;
	content: '';
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 7px solid #8d8d8d
}
.customer__item:not(:last-child) {
	margin-right: 10px
}
.tel__heading {
	font-size: 22px;
	font-weight: 700
}
.tel__number {
	display: inline-block;
	margin-top: 9px;
	padding-left: 49px;
	color: #de618b;
	background-image: url(../images/top/icon--tel.png);
	background-position: left center;
	background-size: 35px 23px;
	font-size: 24px;
	font-weight: 700
}
.nav {
	display: none
}
.spnav__heading {
	padding: 11px 0;
	letter-spacing: 1px;
	text-transform: uppercase;
	font-size: 17px;
	font-weight: 700
}
.spnav__item {
	border-top: 1px solid #fff
}
.spnav__item:last-child {
	border-bottom: 1px solid #fff
}
.spnav__link {
	display: block;
	padding: 12px 0;
	letter-spacing: 1px;
	font-size: 16px;
	line-height: 1
}
.spnav__btns {
	margin: 45px 0 40px
}
.pagetop {
	position: fixed;
	right: 20px;
	bottom: 20px;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background-color: #7e7f83;
	background-image: url(../images/top/pagetop.png);
	background-position: center 20px;
	background-size: 28px
}
.cf::after {
	display: block;
	clear: both;
	content: ''
}
@-webkit-keyframes shine {
100% {
left:100%
}
}
@keyframes shine {
100% {
left:100%
}
}
.fadeInUp {
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp
}
@-webkit-keyframes fadeInUp {
0% {
-webkit-transform:translateY(30px);
transform:translateY(30px);
opacity:0
}
100% {
-webkit-transform:translateY(0);
transform:translateY(0);
opacity:1
}
}
@keyframes fadeInUp {
0% {
-webkit-transform:translateY(30px);
transform:translateY(30px);
opacity:0
}
100% {
-webkit-transform:translateY(0);
transform:translateY(0);
opacity:1
}
}
.lb-nav {
	display: none!important
}
.hidden-sm {
	display: none
}
.hidden-pc {
	display: block
}

.check_list{
    width: 100%;
}


@media (min-width:769px) {
.intro__bottom, .recommend {
	color: #fff;
	text-align: center
}
.course__main, .hero {
	background-position: center;
	background-size: cover
}
.course__box, .course__main, .hero {
	background-size: cover
}
body {
	margin: 0
}
.btn--request:hover {
	background-color: #14c8c2
}
.btn--reserve:hover {
	background-color: #ff1083
}
.btn--big {
	padding: 14px 0;
	font-size: 20px
}
.btn--lineup {
	padding: 12px 0
}
.btn--course {
	padding: 13px 0
}
.btn--contact {
	display: inline-block;
	width: 280px;
	margin: 15px;
	padding: 15px 0;
	letter-spacing: .1em;
	font-size: 22px
}
.btn--footer {
	display: block;
	width: 100%;
	max-width: 300px;
	margin: 0 auto 16px;
	padding: 8px 0;
	letter-spacing: .1em;
	font-size: 14px
}
.intro__course, .intro__header {
	letter-spacing: .1em;
	font-size: 40px;
	font-weight: 700
}
.hero {
	background-image: url(../images/top/hero-bg.jpg)
}
.intro {
	padding: 20vw 0;
}
.intro__top {
	padding: 0;
	background-image: none
}
.intro__bottom {
	padding-top: 0
}
.intro__header{
	font-size: 50px;
}
.intro__header span{
	font-size: 60%;
}


.intro__course {
	margin-bottom: 25px
}
.intro__text {
	margin-bottom: 55px;
	line-height: 2.2
}
.intro__btn {
	display: inline-block;
	width: 100%;
	max-width: 270px;
	margin: 15px 20px
}
.section__heading {
	margin-bottom: 48px;
	font-size: 34px
}
.recommend {
	padding-bottom: 50px;
	font-size: 0
}
.recommend__inner {
	padding: 0;
	background-color: transparent
}
.recommend__heading {
	margin-bottom: 35px;
	font-size: 30px
}
.recommend__item {
	display: inline-block;
	width: 33.33333%;
	vertical-align: top
}
.recommend__item:not(:last-child) {
	margin-bottom: 0
}
.recommend__image {
	display: initial
}
.recommend__img {
	margin-bottom: 21px
}
.recommend__factor {
	display: block;
	padding-left: 0;
	font-size: 16px
}
.campaign {
	font-size: 35px
}
.lineup {
	padding: 112px 0
}
.lineup__heading {
	margin-bottom: 92px;
	letter-spacing: .15em;
	font-size: 30px;
	line-height: 1.8
}
.lineup__item {
	float: left;
	width: 230px
}
.lineup__item:not(:last-child) {
margin-right:calc((100% - 230px * 3)/ 2);
	margin-bottom: 0
}
.lineup__item:nth-child(2) .lineup__title {
	margin-left: -1.5em
}
.lineup__img {
	height: 180px;
	margin-bottom: 49px
}
.lineup__title {
	margin-bottom: 37px
}
.flow {
	padding: 100px 0;
	background-color: initial;
	background-image: url(../images/top/stripe-bg.png);
	background-repeat: repeat
}
.flow__figure::after, .flow__item::before {
	top: 0;
	margin-left: 0;
	background-color: currentColor
}
.flow__text {
	margin-bottom: 95px;
	text-align: center;
	line-height: 2.4
}
.flow__section:nth-child(1) {
	width: 21%;
	margin-top: 123px;
	margin-bottom: 0;
	margin-left: 0;
	padding-left: 6px
}
.flow__section:nth-child(2) {
	width: 30%
}
.flow__section:nth-child(3) {
	width: 49%
}
.flow__heading {
	height: 2.5em;
	margin-bottom: 0;
	white-space: initial;
	font-size: 23px
}
.flow__figure::after {
	position: absolute;
	left: 9px;
	width: 3px;
	height: 0;
	content: '';
	-webkit-transition-delay: .5s;
	transition-delay: .5s;
	-webkit-transition-timing-function: linear;
	transition-timing-function: linear;
	-webkit-transition-duration: 2.8s;
	transition-duration: 2.8s;
	-webkit-transition-property: height;
	transition-property: height
}
.flow__item {
	padding-left: 42px;
	text-align: left;
	font-size: 22px
}
.flow__item:not(:last-child) {
	padding-bottom: 164px
}
.flow__item::before {
	left: 0;
	width: 20px;
	height: 20px
}
.flow__caution {
	margin-top: 58px;
	padding: 0;
	text-align: right;
	letter-spacing: .2em
}
.job__item {
	width: calc(100% - 53px);
	height: auto;
	padding: 18px 25px
}
.job__item:not(:last-child) {
	margin-bottom: 20px
}
.job__item--director {
	height: 148px
}
.job__item--designer {
	height: 324px
}
.job__item--corder {
	height: 147px
}
.job__item--programmer {
	height: 146px
}
.job__box {
	margin-bottom: 22px;
	padding: 14px 0 20px
}
.job__name {
	margin-bottom: 15px;
	font-size: 19px;
	line-height: 1
}
.job__name2 {
	margin-bottom: 12px;
	font-size: 19px
}
.job__content {
	padding-left: 10px;
	font-size: inherit
}
.job__content::before {
	top: 50%;
	width: 3px;
	height: 3px;
	margin-top: -3px
}
.skill__relations {
	margin-top: 209px
}
.skill__relation {
	width: calc(100% - 40px);
	height: 330px;
	padding: 0 12%
}
.skill__relation:nth-child(2) {
	height: 336px
}
.skill__relation::before {
	margin-top: -33px;
	border-top: 36px solid transparent;
	border-right: 30px solid #e55286;
	border-bottom: 36px solid transparent
}
.skill__relation:not(:last-child) {
	margin-bottom: 17px
}
.skill__inner {
	width: 75%
}
.skill__relation:first-child .skill__inner {
	padding-top: 25px
}
.skill__courses {
	margin-bottom: 28px
}
.skill__course {
	padding-left: 13px;
	white-space: initial;
	font-size: 20px;
	line-height: 1
}
.footer__item--nowrap, .footer__text, .school__title, .skill__title {
	white-space: nowrap
}
.skill__course::before {
	top: 50%;
	margin-top: -5px;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 5px solid #fff
}
.skill__course:not(:last-child) {
	margin-bottom: 10px
}
.skill__skills {
	padding-left: 0
}
.skill__skill {
	float: left;
	width: 70px;
	text-align: center;
	line-height: inherit
}
.skill__skill:not(:nth-child(3n)) {
margin-right:calc((100% - 71px * 3)/ 2)
}
.skill__skill:nth-child(-n+3) {
	margin-bottom: 17px
}
.skill__skill:nth-child(5) {
	width: 110px;
	margin-left: -5%
}
.skill__icon {
	position: relative;
	display: block;
	height: 45px;
	margin-right: 0;
	vertical-align: initial
}
.skill__img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: auto;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}
.skill__title {
	vertical-align: initial;
	font-size: 14px
}
.service {
	padding-top: 97px
}
.service__section-1 {
	padding-top: 145px;
	padding-bottom: 145px
}
.service__section-2 {
	padding-top: 149px
}
.service__section-3 {
	padding-top: 146px;
	padding-bottom: 113px
}
.service__heading {
	margin-bottom: 20px;
	padding-left: 0;
	font-size: 28px
}
.service__content {
	position: relative;
	padding-top: 21px;
	padding-left: 65px
}
.service__content::after {
	border-top: 25px solid #fed2d1;
	border-right: 25px solid transparent;
	border-bottom: 25px solid transparent;
	border-left: 25px solid #fed2d1
}
.service__section-1 .service__content {
	max-width: 860px;
	margin-bottom: 79px
}
.service__section-2 .service__content {
	margin-bottom: 154px
}
.service__section-3 .service__content {
	margin-bottom: 47px
}
.service__text {
	font-size: 17px;
	line-height: 2
}
.service__movie {
	display: inline-block;
	float: left;
width:calc((100% - 20px * 2)/ 3)
}
.service__movie:not(:last-child) {
	margin-right: 20px;
	margin-bottom: 0
}
.slick__item {
	height: 371px
}
.slick__img {
	width: 50%
}
.school {
	padding: 53px 45px;
	background-image: url(../images/top/school-bg.png);
	font-size: inherit;
	line-height: inherit
}
.school__list {
	position: relative;
	height: 265px;
	margin: 64px auto 19px
}
.school__item {
	position: absolute;
	top: 50%;
	width: 33.33333%;
	max-width: initial;
	margin: 0;
	text-align: center
}
.school__item:nth-child(1) {
	left: 0;
	-webkit-transform: translate(-10%, -50%);
	transform: translate(-10%, -50%)
}
.school__item:nth-child(2) {
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}
.school__item:nth-child(3) {
	right: 0;
	-webkit-transform: translate(10%, -50%);
	transform: translate(10%, -50%)
}
.school__inner {
	display: block
}
.school__inner::after {
	top: 25%;
	left: 103%;
	width: 46px;
	height: 90px;
	background-image: url(../images/top/school__arrow--pc.png)
}
.footer__item::before, .footer__place::before {
	top: 0;
	content: '';
	border-top: 5.4px solid transparent;
	border-bottom: 5.4px solid transparent
}
.school__image {
	display: block;
	width: 100%;
	margin-bottom: 14px
}
.school__img {
	width: 80%;
	max-width: 210px
}
.school__title {
	display: block;
	padding-left: 0;
	font-size: 18px
}
.course {
	padding-top: 98px
}
.course__main {
	padding: 102px 0 112px;
	background-color: #999;
	background-image: url(../images/top/course-bg.jpg)
}
.course__box {
	padding: 79px 6rem 50px 7rem;
	border-radius: 5px;
	background-image: url(../images/top/course__box-bg.png)
}
.course__box:not(:last-child) {
	margin-bottom: 28px
}
.course__genre {
	margin-bottom: 66px;
	font-size: 26px
}
.course__img {
	float: left;
	width: 250px;
	margin-bottom: 0
}
.course__img--big {
	width: 276px;
	margin-left: -19px
}
.course__body {
	float: right;
	width: calc(100% - 240px - 43px);
	text-align: left;
	font-size: 0
}
.course__title {
	margin-bottom: 10px;
	font-size: 26px
}
.course__text {
	margin-bottom: 12px;
	line-height: 1.8
}
.course__btn {
	display: inline-block;
	width: 225px;
	margin: 10px;
	font-size: 16px
}
.course__link {
	margin-top: 30px;
	margin-bottom: 0;
	text-align: right;
	font-size: 14px;
	line-height: inherit
}
.support {
	padding-top: 93px
}
.support__main {
	padding-top: 108px;
	padding-bottom: 106px
}
.support__box {
	height: 1180px
}
.contact {
	padding: 107px 0 120px
}
.contact__heading {
	margin-bottom: 66px
}
.contact__text {
	margin-bottom: 55px;
	font-size: 32px;
	font-weight: 400;
	line-height: 1.5
}
.footer {
	padding: 47px 0 30px;
	text-align: left;
	background-color: #cdcbd6
}
.footer__customer {
	display: block;
	margin-bottom: 33px
}
.footer__top {
	display: table;
	width: 100%;
	margin-bottom: 35px;
	table-layout: fixed
}
.footer__bottom {
	margin-top: -14px
}
.footer__section:nth-child(1) {
	display: block;
	float: left
}
.footer__section:nth-child(2) {
	display: block;
	float: left;
	width: 50%
}
.footer__section:nth-child(3) {
	float: right;
	width: 50%
}
.footer__heading {
	margin-bottom: 35px;
	font-size: 16px;
	font-weight: 700
}
.footer__list {
	display: inline-block;
width:calc((100% - 20px * 2)/ 3);
	height: 211px;
	margin-right: 20px;
	padding-left: 16px;
	text-align: left;
	vertical-align: top
}
.footer__list:nth-of-type(3n) {
	margin-right: 0
}
.footer__list:nth-child(-n+4) {
	margin-bottom: 20px
}
.footer__title {
	margin-bottom: 5px;
	font-size: 14px;
	font-weight: 700
}
.footer__item {
	position: relative;
	margin-bottom: 7px;
	padding-left: 15px;
	font-size: 12px
}
.footer__link, .footer__place {
	display: inline-block;
	text-align: left;
	font-size: 14px
}
.footer__item::before {
	position: absolute;
	left: 0;
	margin-top: 5px;
	border-left: 9px solid #8d8d8d
}
.footer__classroom {
	margin-bottom: 30px
}
.footer__place {
	position: relative;
	margin-right: 10px;
	margin-bottom: 8px;
	padding-left: 15px
}
.footer__place::before {
	position: absolute;
	left: 0;
	margin-top: 6px;
	border-left: 9px solid #de618b
}
.footer__link {
	position: relative;
	margin-right: 15px;
	margin-bottom: 11px;
	padding-left: 18px;
	font-weight: 700;
	line-height: 1
}
.footer__link::before {
	position: absolute;
	top: 2px;
	left: 0;
	content: url(../images/top/icon--arrow.png)
}
.footer__text {
	display: block;
	margin-bottom: 20px;
	text-align: center;
	color: #de618b;
	font-size: 12px;
	line-height: 1
}
.footer__logo {
	display: inline-block;
	margin-bottom: 27px
}
.footer__tel {
	display: inline-block;
	margin-top: 9px;
	text-align: initial
}
.footer__descs {
	display: block;
	margin-bottom: 54px;
	text-align: left
}
.footer__copy, .footer__nav, .nav {
	display: inline-block
}
.footer__desc {
	margin-bottom: 5px;
	font-size: 10px;
	line-height: 1.3
}
.footer__last {
	text-align: center;
	line-height: 1
}
.footer__nav {
	position: static;
	width: auto;
	margin: 5px;
	vertical-align: middle
}
.footer__copy {
	margin: 5px 0 5px 30px;
	padding-bottom: 0;
	vertical-align: middle;
	font-size: 14px
}
.tel__heading {
	margin-bottom: 3px;
	font-size: 14px
}
.tel__text {
	margin-bottom: 2px;
	font-size: 12px;
	line-height: 1
}
.tel__number {
	margin-top: -16px;
	margin-bottom: 5px;
	padding-left: 0;
	letter-spacing: 0;
	background-image: none;
	font-size: 20px
}
.nav__item {
	float: left;
	padding: 0;
	border-bottom: none;
	font-size: 14px;
	line-height: 1
}
.nav__item:nth-child(-n+3) {
	margin-right: 12px;
	padding-right: 12px;
	border-right: 1px solid #000
}
.pagetop, .spnav {
	display: none
}
.shine {
	position: relative;
	overflow: hidden
}
.shine::before {
	position: absolute;
	z-index: 1;
	top: 0;
	left: -55%;
	width: 50%;
	height: 100%;
	content: '';
	-webkit-transform: skewX(-25deg);
	transform: skewX(-25deg);
	background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0, rgba(255,255,255,.3) 100%);
	background: linear-gradient(to right, rgba(255,255,255,0) 0, rgba(255,255,255,.3) 100%)
}
.shine:hover::before {
	-webkit-animation: shine .7s;
	animation: shine .7s
}
.hidden-sm {
	display: block
}
.hidden-pc {
	display: none
}
}

@media (min-width:800px) {
body {
	margin: 0
}
.header {
	padding: 6px 0
}
.header__btn {
	width: 160px
}
.header__btn:not(:last-child) {
	margin-right: 15px
}
.logo {
	display: inline-block;
	vertical-align: middle
}
.logo__img {
	width: 109px
}
.btn--header {
	padding: 12px 0;
	letter-spacing: .28em;
	font-size: 17px
}
.hero {
	margin-top: 62px
}
}

@media (min-width:1132px) {
body {
	margin: 0
}
.footer__section {
	vertical-align: top
}
.footer__section:nth-child(1) {
	display: table-cell;
	float: none;
	width: 680px;
	padding-right: 30px;
	border-right: 1px solid #aaa
}
.footer__section:nth-child(2) {
	display: table-cell;
	float: none;
	width: 228px;
	padding: 0 30px;
	border-right: 1px solid #aaa
}
.footer__section:nth-child(3) {
	display: table-cell;
	float: none;
	width: 192px;
	padding-left: 30px
}
.footer__box:not(:last-child) {
	margin-bottom: 36px
}
.footer__classroom {
	margin-top: -15px;
	margin-bottom: 80px
}
.footer__place {
	display: list-item
}
}



/* --- 20170822 追加記述 --- */

.txt_box{text-align:left;}
@media (max-width:768px) {
	.txt_box{text-align:center;}
}
@media (max-width:329px) {
	.course__btn{width: 100%;}
}

/* --- 20171020 追加記述 --- */
.mt_30{margin_top:30px;}
.h_300{height: 300px;}
.web_course ul{
	display: flex;
	margin: 0 auto;
  width: 992px;
}
.web_course ul li{
   padding: 10px;
   display: inline-block;
}
.lineup__img {height:auto;}
.lineup__item:nth-child(3) .lineup__img {width: auto;}
ul.cf li ul{
	text-align: left;
	margin: 10px 0;
}
ul.cf li ul li{
	display: inline-block;
	border-radius: 30px;
  background-color: #eee;
  padding: 0 15px;
	margin-bottom: 10px;
}
ul.cf li ul li:last-child{background:none;}
ul.cf li:first-child ul li{margin-bottom: 0;}
ul.cf{
	display: flex;
	display: -webkit-flex; /* Safari */
}
.lineup__item:not(:last-child) {margin-right: calc((100% - 250px * 3)/ 2);}
.lineup__item{position: relative;}
.lineup__item p{text-align: left;}
.lineup__item .btn{
	position:absolute;
	bottom:-50px;
}
ul.point{
	padding: 60px 0;
	width:100%;
	max-width: 1200px;
	margin: 0 auto;
	text-align: center;
}
ul.point li{
	text-align: center;
	width: 29%;
	margin:0 2%;
	display: inline-block;
	vertical-align: top;
}
ul.point li h3{
	border-top: 1px #fff solid;
  border-bottom: 1px #fff solid;
  padding: 12px 0 10px;
  margin: -5px auto 10px;
}
ul.point li p{text-align: left;}
ul.point li img{margin-top: 20px;}
.slick_img3 img:nth-child(n+2){
	display: inline-block;
	width: 49%;
}
.course_lead{
	font-weight: bold;
	font-size: 17px;
}
ul.course__text li{
	text-indent: -1em;
	padding-left: 1em;
	line-height: 1.6;
	margin-bottom: 10px;
}

@media (max-width:999px) {
	ul.point{display:inherit;}
	ul.point li{margin-bottom: 40px;width: 90%;}
}
@media (max-width:768px) {
	ul.cf{display: inherit;}
	.lineup__item .btn{position: static;}
	ul.cf li ul{text-align: center;}
	ul.point{padding: 30px 0;}
}
@media (max-width:499px) {
	.slick_img3 img:nth-child(n+2){display: block; width: 100%; width: 90%;margin: 10px auto 0;}
}


/* --- 20190516 追加記述 --- */
.intro__course_list{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto 20px;
    max-width:1000px;
}
.intro__course_list li{
	margin:0 2%;
	text-align:center;
	color:#fff;
    width: 40%;
    border: 1px #fff solid;
    background: rgba(255,255,255,0.3);
    padding:10px 10px 0;
    display:inline-block;
}
.intro__course_list li dt{
	width:100px;
	margin:0 auto 10px;
}
.intro__course_list li dd{
	margin:0;
}




.lead{
	padding:50px 0;
}
.section__heading{
    line-height: 1.4;
}
.support__heading span{
	display:block;
}
.lead ul, ul.support_list, ul.task, .course__item, .trial__content{
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.lead ul li:first-of-type{
	width:40%;
}
.lead ul li:last-of-type{
	width:57%;
}
ul.task li{
	width:22%;
}
.course_txt{
	width:calc(100% - 280px);
}
.course_img{
	width:250px;
}
.support{
	background: url(../images/top/service-bg-1.jpg) center top no-repeat;
	background-size: cover;
	padding:70px 0;
}
ul.support_list > li{
	width: 48%;
    margin-bottom: 3vw;
    border: 1px #ccc solid;
    padding: 5px;
    background: #fff;
}
ul.support_list > li:last-of-type{
	border:none;
	background:none;
	padding:0;
}
.support_ttl{
	background:rgba(0,0,0,0.5);
    color: #fff;
    text-align: center;
    padding: 10px;
	position: absolute;
	width: 100%;
    bottom: 0;
}
.support_ttl p{
    line-height: 1.5;
}
.support_ttl p span{
    display:inline-block;
}
.support_ttl h3{
    font-size: 28px;
    font-weight: bold;
}
.support_img{
    position: relative;
}
ul.support_list > li > p{
	padding:15px;
	line-height: 1.8;
}
.check_list{
    background: #14c8c2;
    color: #fff;
    width: 100%;
    padding: 15px 20px;
    border-radius: 10px;
    position: relative;
}
.check_list p{
    font-size: 20px;
    font-weight: 500;
}
.check_list:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 25px solid #14c8c2;
}
.check_list li{
	font-size: 1.0rem;
	line-height: 1.7;
}
.course{
	padding: 70px 0;
	background: url(../images/top/course-bg.jpg) center top no-repeat;
	background-size: cover;
}
.course .txt_box{
	margin-bottom: 50px;
}
.task li p{
	font-size: 14px;
    line-height: 1.7;
    margin-top: 10px;
}
.course .course__img{
    margin-right: 30px;
}
.course__img{
    float: none;
}
.course h4{
    background: #565656;
    color: #fff;
    text-align: center;
    padding: 10px;
    margin-bottom: 30px;
    font-size: 25px;
}
.trial__img{
	width: 40%;
}
.trial__text{
	width: 55%;
}
.trial__text h3{
	font-size: 25px;
    font-weight: bold;
    margin-bottom: 15px;
}

.section__heading span{display:inline-block;}
.lead .section__heading span, .trial .section__heading span{
	background: linear-gradient(transparent 60%, #fff001 0%);
}
.trial{
	background: #F0F0F0;
	padding: 70px 0;
}
.contact{
	padding: 70px 0;
}
.course__item{
	background: rgba(255,255,255,0.7);
    padding: 30px;
    border-radius: 10px;
}
@media (max-width:999px) {
}
@media (max-width:799px) {
	.section__heading{font-size: 4.5vw;}
}
@media (max-width:768px) {
	.intro__top{padding: 10vw 0;}
	.intro__header {font-size: 6vw;font-weight: 700;}
	.intro__header span {font-size: 60%;}
	.lead ul li:first-of-type, .lead ul li:last-of-type, ul.support_list > li{width: 90%;max-width:600px;margin:0 auto 20px;}
	.lead ul li:last-of-type{margin-bottom:0;}
	.intro{padding-bottom:0;}
	.lead, .support{padding: 30px 0;}
	.course_txt{text-align:left;width:calc(100% - 160px);}
	.course_img{width:150px;}
	ul.task li{width: 47%;margin-bottom:5vw;}
	.course__item{padding: 10px;}
}
@media (max-width:499px) {
	.trial__text, .course_txt{width:100%;}
	.trial__img, .course_img{width:90%;margin:0 auto 20px;}
	.trial__text h3{font-size: 18px;}
	.section__heading{font-size: 5.6vw;}
	.course, .trial, .contact{padding: 30px 0;}
}
@media (max-width:399px) {
	.intro__header {font-size: 7vw;}
	.intro__course_list li dt{width:80px;}
	.intro__course_list li .course_lead{line-height: 1.5;font-size: 16px;}
	.intro__top {padding: 15vw 0;}
	.lead ul li:first-of-type, .lead ul li:last-of-type, ul.support_list > li{width: 100%;}
	.support_ttl h3{font-size: 25px;}
	.support .l-container{padding:0 5px;}
	.section__heading{font-size: 6vw;}
}

.point{
	color:#e30070;
}
.point2{
	color:#fff100;
	font-weight:bold;
}


.logo{display: inherit;}
.btn--header{letter-spacing: .1em;}
.btn--entry{border-bottom: 2px solid #c05800;background-color: #ff8f0b;color: #fff;}
.btn--entry2{border-bottom: 2px solid #a80057;background-color: #e6006f;color: #fff;}
.smt{display:none;}
.course__contact .btn--contact{width: 170px;font-size: 18px;}
.course__contact li{display:inline-block;}
.course__price{margin-top:15px;}
@media (max-width: 999px){
	.course__contact .btn--contact{width:100%;margin:5px 0;}
	.course__contact li{display:block;width:80%;}
}
@media (max-width: 719px){
	.header__btn{width:110px;}
	.course__contact .btn--contact{width:100%;font-size: 16px;margin:0;}
	.course__contact{width:80%;margin:10px auto;}
}
@media (max-width: 699px){
	.course__contact li{margin-bottom:10px;}
}
@media (max-width: 499px){
	.btn--header{letter-spacing: 0;}
	.header__btn{width:65px;}
	.smt{display: inherit;}
	.pc{display:none;}
	.l-container.header__container{padding: 0 1.5%;}
	.header__btns{right: 1.5%;}
	.course__contact li{margin-bottom:10px;width:100%;}
}



/*20200608index.htmlのhead内cssを転載*/
.btn--reserve:hover { background: #14c8c2;}
.btnSet_a .btn--reserve.btn--entry2:hover {background-color: #e6006f;}
.trial { background: #fff;}
.flow200512 { padding: 70px 0 10px; background: #f0f0f0;}
.flow200512 .flow_bnr_area { display: flex; flex-wrap: wrap; justify-content: space-between; margin-bottom: 70px;}
.flow200512 .flow_bnr_area li { width: 48%; display: inline-block; position: relative;}
.flow200512 .flow_bnr_area li:first-of-type:after { display: block; content: ""; position: absolute; bottom: -59px; left: 50%; height: 48px; width: 48px; -webkit-transform: translateX(-50%); -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -o-transform: translateX(-50%); transform: translateX(-50%); background: url(../images/flow200512/icon_bottomArrow.png) center center/cover no-repeat;}
.flow200512 .box_holder { background: #fff; margin-bottom: 30px; padding: 20px;}
.flow200512 .box_holder .txt_lead { font-size: 25px; font-weight: bold; line-height: 1.6;}
.flow200512 .box_flow { background: #fff; position: relative; margin-bottom: 70px; padding: 40px;}
.flow200512 .box_flow:not(:last-child):after { display: block; content: ""; position: absolute; bottom: -59px; left: 50%; height: 48px; width: 48px; -webkit-transform: translateX(-50%); -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -o-transform: translateX(-50%); transform: translateX(-50%); background: url(../images/flow200512/icon_bottomArrow.png) center center/cover no-repeat;}
.flow200512 .title_flow { padding: 24px 0 1px 62px; margin: 0 0 30px; border-bottom: 3px solid #e03258; font-size: 2rem; font-weight: bold; color: #e03258; position: relative;} 
.flow200512 .title_flow .icon_flow { position: absolute; bottom: -3px; left: 0;}
.flow200512 .h3_txt_s { position: absolute; top: 60px; right: 40px; color: #e03258; line-height: 1.4;}
.flow200512 .h3_txt_s span { font-size: 80%;}
.flow200512 .box_img { float: left; width: 300px; margin-right: 40px;}
.flow200512 .box_img img { width: 100%; height: auto;}
.flow200512 .box_txt { float: left; width: calc( 100% - 340px );}
.flow200512 .box_txtAndimg:after { content: ""; clear: both; display: block;}
.flow200512 .flow_list { margin-top: 0;}
.flow200512 .flow_list dt { font-weight: bold;}
.flow200512 .flow_list dd { margin-left: 0; line-height: 1.6;}
.flow200512 .box_flow_link { background-color: #f1f1f1; margin: 15px 10px 5px; padding: 12px 39px 12px;}
.flow200512 .btn_box { display: flex; flex-wrap: wrap; justify-content: center; margin-bottom: 5px; border-bottom: 1px solid #c9cbd1;}
.flow200512 .btn { position: relative; margin: 10px;}
.flow200512 .btn:after { content: ""; display: inline-block; width: 7px; height: 7px; border-top: 2px #fff solid; border-right: 2px #fff solid; position: absolute; top: 50%; right: 10px; -webkit-transform: translateY(-50%) rotate(45deg); -moz-transform: translateY(-50%) rotate(45deg); -ms-transform: translateY(-50%) rotate(45deg); -o-transform: translateY(-50%) rotate(45deg); transform: translateY(-50%) rotate(45deg);}
.flow200512 .box_flow_link .txt_contact { font-size: 21px; text-align: center; line-height: 1.6;}
.flow200512 .box_flow_link .txt_contact span { display: inline-block;}
.flow200512 .box_flow_link .txt_contact .icon, .flow200512 .box_flow_link .txt_contact .txt_tel { font-weight: bold; color: #e03258; font-size: 25px;}
.flow200512 .box_flow_link .txt_contact .icon { margin: 0 10px;}
.flow200512 .box_flow_link .txt { text-align: center;}
.flow200512 dl.flow_attention { background: #F7F6EB; padding: 20px; border-radius: 10px; clear: both; max-width: 800px; margin: 20px auto;}
.flow200512 dl.flow_attention dt { font-weight: bold;}
.flow200512 dl.flow_attention dd { margin: 0;}
.flow200512 dl.flow_attention dd li { text-indent: -1em; padding-left: 1em; line-height: 1.6; margin-bottom: 10px;}
.flow200512 dl.flow_attention dd li:before { content: "◆"; font-size: 10px; vertical-align: middle; margin: 0 6px 0 0;}
@media (max-width:999px) {
	.flow200512 .h3_txt_s { position: static; margin: -20px 0 20px;}
	.flow200512 .box_img { width: 30%;}
	.flow200512 .box_txt { width: calc( 70% - 40px );}
}
@media (max-width:899px) {
	.header__btn { width: 9em;}
	.flow200512 .box_flow_link { padding: 10px;}
}
@media (max-width:799px) {
	.header__btn { width: 7em;}
	.btn--header { font-size: 16px; letter-spacing: 0; padding: 6px;}
	.flow200512 .btn_box { flex-wrap: nowrap;}
	.flow200512 .btn img { height: auto;}
	.flow200512 .box_flow { padding: 20px;}
	.flow200512 .box_flow_link .txt_contact span:first-child { width: 100%;}
	.flow200512 .box_flow_link .txt_contact .icon { margin-left: 0;}
}
@media (max-width:599px) {
	.header { padding: 0;}
	.l-container.header__container { padding: 4px 1.5%;}
	.header__btns { right: 2px; width: calc( 100% - 80px );}
	.header__btns ul.pc { display: none;}
	.header__btns ul.smt { display: flex; flex-wrap: wrap; justify-content: flex-end;}
	.header__btn { width: 20%;}
	.header__btn:not(:last-child) { margin-right: 1px;}
	.btn--header { font-size: 14px; border-radius: 3px; padding: 5px; height: 40px; line-height: 15px; display: flex; flex-wrap: wrap; justify-content: center; align-content: center;}
	.btn--header span { display: block;}
	.flow200512 .flow_bnr_area { flex-direction: column-reverse; justify-content: center;}
	.flow200512 .flow_bnr_area li { width: 100%; max-width: 400px; margin: 0 auto 20px;}
	.flow200512 .title_flow { font-size: 5vw;}
	.flow200512 .btn_box { flex-wrap: wrap; padding: 5px;}
	.flow200512 .btn_box .btn { margin: 5px;}
	.flow200512 .box_txt p { line-height: 2;}
}
@media (max-width:499px) {
	.btn--header { font-size: 12px;}
	.btn--header span { width: 100%;}
	.flow200512 .box_holder .txt_lead { font-size: 18px;}
	.flow200512 .title_flow { padding: 5vw 0 0 12vw; font-size: 5.5vw; letter-spacing: -0.05em;}
	.flow200512 .title_flow .icon_flow { width: 10vw; height: auto;}
	.flow200512 .box_img { float: none; width: 80%; margin: 0 auto 20px;}
	.flow200512 .box_txt { float: none; width: 100%;}
}
@media (max-width:399px) {
	.flow200512 .box_flow_link .txt_contact .icon, .flow200512 .box_flow_link .txt_contact .txt_tel { font-size: 24px;}
}
ul.support_list > li.bnr_area{width: 100%;position: relative;}
.check_list{max-width: 450px;position: absolute;right: 0;top: -250px;}
.check_list li{font-size: 1.1rem;padding-left: 1em;text-indent: -1em;line-height: 1.5;margin-bottom: 7px;}
.check_list p{line-height: 1.5;margin-top: 10px;font-weight: 600;font-size: 24px;}
.img_smt{display:none;}
.img_smt, .img_pc{margin-top: 30px;text-align: center;}

@media (max-width:899px) {
	.check_list{max-width: 370px;}
	.check_list li{font-size: 1.0rem;}
	.check_list p{font-size: 20px;}
}
@media (max-width:799px) {
	ul.support_list > li{width: 95%;max-width: 600px;margin: 0 auto 20px;}
	.check_list{position: relative;top: 10px;right: 0;margin: 0 0 0 auto;}
}
@media (max-width:599px) {
	.img_pc{display:none;}
	.img_smt{display:inherit;}
	.check_list p{font-size: 18px;}
	.check_list{padding: 15px;}
}
/*20200608以降追記*/
header { height: 50px;}
main { width: 100%; margin: 44px 0 0; color: #333;}
main span { font-weight: inherit; display: inline-block;}
.bg_green { width: 100%; background: #d3fff4 url(../images/bg_green.jpg) no-repeat center top; background-size: cover;}
.bg_pink { width: 100%; background: #ffd5e1 url(../images/bg_pink.jpg) no-repeat center top; background-size: cover;}
.bg_exl_g { background: rgb(24,72,42); background: linear-gradient(120deg, rgba(24,72,42,1) 0%, rgba(22,145,84,1) 50%, rgba(41,194,127,1) 100%);}
.bg_ppt_g { background: rgb(193,39,45); background: linear-gradient(120deg, rgba(193,39,45,1) 0%, rgba(237,108,70,1) 50%, rgba(255,143,106,1) 100%);}
.bg_wrd_g { background: rgb(16,64,145); background: linear-gradient(120deg, rgba(16,64,145,1) 0%, rgba(42,124,212,1) 50%, rgba(64,166,238,1) 100%);}
.bg_ai_g { background: rgb(236,82,6); background: linear-gradient(120deg, rgba(236,82,6,1) 0%, rgba(246,158,50,1) 50%, rgba(255,217,140,1) 100%);}
.bg_ps_g { background: rgb(0,148,204); background: linear-gradient(120deg, rgba(0,148,204,1) 0%, rgba(28,170,215,1) 50%, rgba(140,225,255,1) 100%);}
.bg_exl_f { background: #ebf1de;}
.bg_ppt_f { background: #fdeada;}
.bg_wrd_f { background: #dce6f2;}
.bg_ai_f { background: #fff7d5;}
.bg_ps_f { background: #d9f2fb;}
h2.bg_green { text-align: center; padding: 5vw; font-weight: bold; font-size: 6vw; line-height: 1.5;}
h2.bg_pink { text-align: center; padding: 5vw; font-weight: bold; font-size: 6vw; line-height: 1.5;}
.f_exl { color: #006837;}
.f_ppt { color: #c1272d;}
.f_wrd { color: #2e3192;}
.f_ai { color: #b04619;}
.f_ps { color: #0b5e81;}
.btnSet_a { display: flex; flex-wrap: wrap; justify-content: center; margin: 10px auto;}
.btnSet_a .btn { display: block;padding:15px 0;}
.btnSet_a .btn a { display: block; text-align: center; padding: 10px; color: #fff;}
.btn_green a { background: #127c5b;}
.btn_red a { background: #ca0349;}
.bg_main_img { background: url(../images/main_img01.jpg) no-repeat center top; background-size: contain; position: relative; width: 100%; padding-top: 67vw;}
.ttl_box h1 { font-weight: bold; width: 98%; margin: 10px auto; line-height: 1; display: flex; flex-wrap: wrap; align-content: center; justify-content: center;}
.ttl_box h1 .h1_catch01 { font-size: 12vw; margin-right: 0.3em; line-height: 12vw; letter-spacing: -0.1em;}
/*
.ttl_box h1 .h1_catch01 strong { display: inline-block; font-size: 7vw; letter-spacing: -0.1em; position: relative;}
.ttl_box h1 .h1_catch01 strong:after { content: ""; display: block; height: 8px; width: 100%; background: rgba(240, 255, 0, 0.8); margin-top: -0.3em;}
*/
.ttl_box h1 .h1_catch02 { font-size: 8vw; color: #fff; background: #ed1e79; padding: 0 0.3em; line-height: 12vw;}
.ttl_box h1 .ttl { font-size: 15vw; margin: 7px auto 0; letter-spacing: -0.1em;}
.ttl_box .flex { position: absolute; top: 40vw; left: 0;}
.ttl_box .flex ul { display: flex; flex-wrap: wrap; justify-content: center; background: rgba(255, 255, 255, 0.8); width: calc( 100% - 10px ); margin: 0 auto 5px;}
.ttl_box .flex ul li { font-size: 6.2vw; padding: 0.3em 0.5em; line-height: 1; font-weight: bold;}
/*
.ballon_img { position: absolute; top: 5vw; left: 5vw; width: 40vw; height: 25vw; border: solid 3px #fff; border-radius: 50%; overflow: hidden; box-shadow: 2px 2px 5px rgba( 29, 70, 93, 0.4 );}
.ballon_img img { transform: scale(1.4); transform-origin: right top; margin: -3vw auto auto 3vw;}
*/
.ballon_img { display: none;}
.feature_list01 { background: #e6f5ff; text-align: center; width: 98%; margin: 0 auto 10px; padding: 4vw 2vw; border-radius: 10px;}
/*.feature_list01 > p { display: inline-block; background: #6e9aca; color: #fff; font-weight: bold; padding: 1vw 3vw; line-height: 1;}*/
.feature_list01 ul { display: flex; flex-wrap: wrap; justify-content: center;}
.feature_list01 ul li { width: calc( 33% - 4vw ); min-height: 6em; font-size: 4vw; line-height: 1.6; letter-spacing: -0.05em; margin: 0 2vw; display: flex; flex-wrap: wrap; justify-content: center; align-content: center; font-weight: bold; padding: 1vw 0;}
.feature_list01 .fl_bg01 { background: url(../images/feature_list01_img01.png) no-repeat center center; background-size: contain;}
.feature_list01 .fl_bg02 { background: url(../images/feature_list01_img02.png) no-repeat center center; background-size: contain;}
.feature_list01 .fl_bg03 { background: url(../images/feature_list01_img03.png) no-repeat center center; background-size: contain;}
.feature_list01 .fl_bg04 { background: url(../images/feature_list01_img04.png) no-repeat center center; background-size: contain;}
.feature_list01 .fl_bg05 { background: url(../images/feature_list01_img05.png) no-repeat center center; background-size: contain;}
.feature_list01 ul li strong { display: inline-block; position: relative;}
.feature_list01 ul li strong:after { content: ""; display: block; height: 5px; width: 100%; background: rgba(237, 30, 121, 0.5); margin-top: -0.6em;}
.voice_list li { width: 98%; margin: 10px auto; background: #f5f5f5; padding: 3vw;}
.voice_list li .flex { display: flex; flex-wrap: wrap; justify-content: space-between; flex-direction: row-reverse; margin-bottom: 10px; align-items: flex-end;}
.voice_list li .txt_area { font-size: 14px; line-height: 1.4; width: calc( 100% - 70px );}
.voice_list li .txt_area h3 { font-weight: bold; color: #ed1e79; margin-bottom: 5px;}
.voice_list li .txt_area p { font-size: 12px;}
.voice_list li .img_area { width: 60px; height: 60px; padding-top: 5px; background: #fff; border-radius: 50%; overflow: hidden;}
.voice_list li .img_area img { width: 100%;}
.voice_list li .comment { background: #fff; padding: 1em; line-height: 1.4; font-size: 14px; letter-spacing: -0.05em;}
#recommend { background: #e6f5ff; padding-bottom: 10px;}
.rcmd_voice { padding: 3vw; background: #e6f5ff;}
.rcmd_voice li .flex { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;}
.rcmd_voice li:nth-of-type(odd) .flex { flex-direction: row-reverse;}
.rcmd_voice li .flex .txt_area { color: #ed1e79; font-weight: bold; font-size: 14px; line-height: 1.4; width: calc( 100% - 70px - 20px ); background: #fff; padding: 3vw; position: relative; letter-spacing: -0.05em;}
.rcmd_voice li:nth-of-type(odd) .flex .txt_area:after, .rcmd_voice li:nth-of-type(even) .flex .txt_area:after { top: 50%; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; border-color: rgba(255, 255, 255, 0); margin-top: -6px; border-width: 6px;}
.rcmd_voice li:nth-of-type(odd) .flex .txt_area:after { right: 100%; border-right-color: #fff;}
.rcmd_voice li:nth-of-type(even) .flex .txt_area:after { left: 100%; border-left-color: #fff;}
.rcmd_voice li .flex .img_area { width: 70px; height: 70px; border-radius: 50%; overflow: hidden;}
.rcmd_voice li .flex .img_area img { width: 100%;}
#recommend >  h3 { font-weight: bold; text-align: center; font-size: 16px; padding: 0 10px; margin: 10px auto;}
#recommend > p { font-size: 16px; line-height: 1.6; padding: 10px; margin: 10px auto; text-align: center; background: #ed1e79; color: #fff; width: calc( 100% - 20px ); border-radius: 5vw;}
#recommend > p strong { display: inline-block; font-size: 18px; color: #fffd27;}
#recommend > p strong small { font-size: 12px;}
#quality .bg_blue { background: #e0f2fc; overflow: hidden; padding-bottom: 10px;}
#quality picture { display: block; text-align: center;}
.pack_idx dl { width: 98%; margin: 10px auto;}
.pack_idx dl dt { font-size: 18px; color: rgba( 255,255,255,.6 ); padding: 0; line-height: 1.6; font-size: 9vw; position: relative;}
.pack_idx dl dt a { display: block; padding: 0 30px 0 10px;}
.pack_idx dl dt a:after { font-size: 6vw; content: "\f054"; font-family: "Font Awesome 5 Free"; font-weight: 900; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); -webkit- transform: translateY(-50%);}
.pack_idx dl dt.bg_exl_g a:after { color: #284c2f;}
.pack_idx dl dt.bg_ppt_g a:after { color: #c1272d;}
.pack_idx dl dt.bg_wrd_g a:after { color: #214593;}
.pack_idx dl dt.bg_ai_g a:after { color: #b04619;}
.pack_idx dl dt.bg_ps_g a:after { color: #0b5e81;}
.pack_idx dl dd { margin: 0; padding: 0 3vw;}
.pack_list li { line-height: 1; padding: 10px 0;}
.pack_list li:not(:last-child) { border-bottom: 1px dotted #666;}
.pack_list .pack_copy { font-size: 12px; font-weight: bold; background: #fff; border-radius: 5px; padding: 0.3em 0.8em; margin-bottom: 5px;}
.pack_list .pack_ttl { display: block; font-weight: bold; font-size: 18px; line-height: 1.2;}
.pack_list .pack_ttl small { display: inline-block; font-weight: normal; color: #333;}
.course_wrap { padding: 3vw;}
.course_wrap li.pack_wrap { margin: 10px 0; padding-bottom: 10px; background: #fff; box-shadow: 3px 3px 0 rgba(0,0,0,0.2);}
.pack_wrap h3 { font-weight: bold; color: #fff; font-size: 18px; padding: 3vw; margin-bottom: 10px;}
.pack_wrap p.copy { font-weight: bold; font-size: 16px; padding: 0 3vw; line-height: 1.4;}
.pack_wrap .img_area { padding: 10px;}
.pack_wrap .img_area > div { width: 70%; height: auto;}
.pack_wrap .img_area > div:first-child { margin: 0 auto 0 0;}
.pack_wrap .img_area > div:last-child { margin: -50px 0 0 auto;}
#pack_ai1.pack_wrap .img_area > div, #pack_ps1.pack_wrap .img_area > div { width: 100%;}
#pack_ai1.pack_wrap .img_area > div:last-child, #pack_ps1.pack_wrap .img_area > div:last-child { margin: 0;}
.pack_wrap .txt_area01, .pack_wrap .txt_area02{ padding: 10px 10px 0;}
.pack_wrap p.detail { font-size: 14px; padding:0; line-height: 1.6;}
.pack_wrap .study_case { background: #f5f5f5; padding: 3vw; margin: 10px auto; line-height: 1;}
.pack_wrap .study_case dt, .pack_wrap .study_case dd { display: inline; line-height: 1.4; font-size: 14px;}
.pack_wrap .study_case dt { font-weight: bold;}
.pack_wrap .study_case dd { margin: 0;}
.pack_wrap .flex { display: flex; flex-wrap: wrap; justify-content: center; max-width: 96%; margin:0 auto 10px;}
.pack_wrap .flex .frame { display: flex; flex-wrap: wrap; justify-content: flex-start; margin: 3px;}
.pack_wrap p.txt_s{line-height: 1.4;padding-left: 1em;text-indent: -1em;margin-top: 5px;font-size: 13px;max-width: 470px;margin: 5px auto;}
.bg_exl_f .frame { border: solid 2px #3e9662;}
.bg_ppt_f .frame { border: solid 2px #e56551;}
.bg_wrd_f .frame { border: solid 2px #3e7dd4;}
.bg_ai_f .frame { border: solid 2px #f4912b;}
.bg_ps_f .frame { border: solid 2px #18a7d5;}
.pack_wrap .flex .frame dt { color: #fff; padding: 0 0.3em; font-size: 14px; font-weight: bold;}
.bg_exl_f .frame dt { background: #3e9662;}
.bg_ppt_f .frame dt { background: #e56551;}
.bg_wrd_f .frame dt { background: #3e7dd4;}
.bg_ai_f .frame dt { background: #f4912b;}
.bg_ps_f .frame dt { background: #18a7d5;}
.pack_wrap .flex .frame dd { margin: 0; padding: 0 0.3em; font-size: 14px; font-weight: bold;}
.pack_wrap .btnSet_b { display: flex; flex-wrap: wrap; justify-content: center;}
.pack_wrap .btnSet_b div {width:48%;margin:0 1%;}
.pack_wrap .btnSet_b div.entry, .pack_wrap .btnSet_b div .btn {width:100%;}
.pack_wrap .btnSet_b div .btn {padding: 12px 0;}
.pack_wrap .btn { display: block; text-align: center; margin: 5px auto; min-width: 8em;}
.pack_wrap .btn a { display:block; padding: 10px; color: #fff; font-size: 18px;}
.pack_wrap .btnSet_b .btn--reserve {}
.pack_wrap .btnSet_b .btn--entry {}
.example { margin: 5vw auto 10px;}
.example h3 { width: 100%; max-width: 1000px; margin: 0 auto 20px; text-align: center; border-bottom: solid 2px #006837; padding-bottom: 10px; font-weight: bold;}
.example li { background: #fff; padding: 10px; margin-bottom: 10px;}
.example .img_area { margin-bottom: 5px;}
.example dl { margin: 0; line-height: 1.6;}
.example dl dt { font-weight: bold;}
.example dl dd { margin: 0; padding: 0; font-size: 14px;}
.example p { font-weight: bold; line-height: 1.6; font-size: 14px;}
.quality_list li { display: flex; flex-wrap: wrap; flex-direction: column-reverse; padding: 10px;}
.quality_list li .txt_area { margin: 0;}
.quality_list li .txt_area dt { font-weight: bold; line-height: 1.4; font-size: 18px; letter-spacing: -0.05em; margin: 10px 0 5px;}
.quality_list li .txt_area dd { font-size: 14px; line-height: 1.6; margin: 0;}
/*
#trial_online h2.bg_pink { padding: 5vw 2vw;}
#trial_online h2 .flex { display: flex; flex-wrap: wrap; justify-content: center;}
#trial_online h2 .flex .img_area { width: 80px; height: 80px;}
#trial_online h2 .flex .img_area img { width: 100%;}
#trial_online h2 .flex .txt_area { width: calc( 100% - 80px ); text-align: left; padding-left: 1vw;}
#trial_online h2 .bg_wht { background: rgba(255,255,255,0.6); padding: 0.2em 0.8em; font-weight: bold; margin-bottom: 5px; font-size: 4.5vw;}
#trial_online h2 .f_big { font-size: 8vw; line-height: 1.2;}
#trial_online h2 .f_big span:first-child { letter-spacing: -0.1em;}
#trial_online h2 .bg_pnk { background: #ed1e79; color: #fff; line-height: 1.2; padding: 0.2em 1em; font-weight: bold; margin-top: 5px; font-size: 5vw; border-radius: 20px;}
.trial_qa { padding: 3vw;}
.trial_qa .txt_area { background: #f5f5f5; font-size: 14px; line-height: 1.4; width: 80vw; padding: 1em 1em 30px;}
.trial_worry .txt_area { margin: 0 0 auto auto;}
.trial_answer .txt_area { margin: 0 auto auto 0;}
.trial_qa .txt_area strong { font-size: 18px; color: #ed1e79;}
.trial_qa .img_area { width: 30vw;}
.trial_qa .img_area img { border-radius: 50%;}
.trial_worry .img_area { margin: -30px auto auto 0;}
.trial_answer .img_area { margin: -30px 0 auto auto;}
#trial_flow { background: #e6f5ff; padding: 3vw;}
#trial_flow h3 { font-weight: bold; text-align: center; font-size: 18px; color: #ed1e79;}
#trial_flow ol li { background: #fff; margin-bottom: 10px; padding: 3vw;}
#trial_flow ol li dl { display: flex; flex-wrap: wrap; justify-content: space-between; margin: 0; line-height: 1;}
#trial_flow ol li dt { width: 50px; color: #ed1e79; font-weight: bold; font-size: 11px; text-align: center; letter-spacing: -0.1em;}
#trial_flow ol li dt .num { font-size: 21px; width: 100%; text-align: center;}
#trial_flow ol li dd { width: calc( 100% - 60px ); margin: 0; line-height: 1.4; font-size: 14px;}
#trial_flow ol li dd strong { display: inline-block; margin-bottom: 5px;}
#order_flow h2.bg_pink { padding: 5vw 2vw;}
#order_flow h2 .flex { display: flex; flex-wrap: wrap; justify-content: center;}
#order_flow h2 .flex .img_area { width: 80px; height: 80px;}
#order_flow h2 .flex .img_area img { width: 100%;}
#order_flow h2 .flex .txt_area { width: calc( 100% - 80px ); text-align: left; padding-left: 1vw;}
#order_flow h2 .f_big { font-size: 7.5vw; line-height: 1.6;}
#order_flow h2 .f_big span:first-child { letter-spacing: -0.1em;}
#order_flow h2 .bg_pnk { background: #ffc107; color: #fff; line-height: 1.2; padding: 0.2em 1em; font-weight: bold; margin-top: 5px; font-size: 6vw; border-radius: 20px;}
#order_flow > p.txt_center { text-align: center; line-height: 1.6; font-weight: bold; font-size: 14px; margin: 20px;}
#order_flow ol { background: #e6f5ff; padding: 3vw;}
#order_flow ol li { background: #fff; position: relative;}
#order_flow ol li:not(:last-child) { margin-bottom: 30px;}
#order_flow ol li:not(:last-child):after { top: calc( 100% + 7px ); left: 50%; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; border-color: rgba(153, 153, 153, 0); border-top-color: #999999; border-width: 15px; margin-left: -15px;}
#order_flow ol li dl { margin: 0;}
#order_flow ol li dl dt { background: #ed1e79; color: #fff; font-weight: bold; text-align: center;}
#order_flow ol li dl dd { margin: 0; padding: 10px; font-size: 14px; line-height: 1.4;}
#order_flow .memo_payment { padding: 3vw; border: solid 1px #ccc; margin: 10px 0 0;}
#order_flow .memo_payment dl { margin: 0;}
#order_flow .memo_payment dl dt { font-weight: bold; color: inherit; background: none; text-align: left; padding: 0; font-size: 12px;}
#order_flow .memo_payment dl dt:before { content: "◎";}
#order_flow .memo_payment dl dd { margin: 0; padding: 0;}
#order_flow .memo_payment dl dd li { padding-left: 1em; text-indent: -1em; line-height: 1.4; font-size: 12px; margin-bottom: 5px;}
#order_flow .memo_payment dl dd li:before { content: "◆";}
*/
#trial_online2 > .flex { padding: 10px;}
#trial_online2 .img_area { margin: 0 auto 10px; max-width: 400px;}
#trial_online2 h3 { font-weight: bold; color: #ed1e79; margin-bottom: 5px; text-align: center;}
#trial_online2 p { font-size: 14px; line-height: 1.6;}
#trial_online2 p strong { font-weight: normal; color: #ed1e79;}
.flow200512 { padding: 0 0 20px;}
.flow200512 .flow_bnr_area { padding: 10px; margin-bottom: 40px;}
.flow200512 .flow_bnr_area li:first-of-type:after, .flow200512 .box_flow:not(:last-child):after { background: url(../images/icon_bottomArrow.png) center center/cover no-repeat;}
.flow200512 .box_flow { width: calc( 100% - 20px ); margin: 0 auto 70px; padding: 10px;}
.flow200512 .box_flow:last-of-type { margin-bottom: 0;}
.flow200512 .box_flow_link .txt_contact > span:first-child { font-size: 14px;}
.flow200512 .box_flow_link .txt { font-size: 12px;}
.flow200512 .box_txt { line-height: 1.6;}
.flow200512 .flow_list dd, .flow200512 .box_txt p { font-size: 14px;}
.flow200512 dl.flow_attention { font-size: 12px;}
.flow200512 .box_flow_link { margin: 0;}
.aviva_feature_list { display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start;}
.aviva_feature_list li { width: calc( 50% - 20px ); max-width: 300px; margin: 10px; display: flex; flex-wrap: wrap; justify-content: center; flex-direction: column-reverse;}
.aviva_feature_list li .img_area { max-width: 60%; margin: auto auto 10px;}
.aviva_feature_list li .txt_area { line-height: 1.2; font-size: 10px;}
.aviva_feature_list li .txt_area .f_large { font-weight: bold; font-size: 16px; line-height: 1.2;}
.aviva_feature_list li .txt_area .f_med { font-size: 12px; line-height: 1.4;}
.flex{display: flex;flex-wrap: wrap;}
#sec_contact > p { text-align: center; font-size: 120%; margin: 20px auto; line-height: 1.6;}
#aviva_feature .flex{justify-content: space-around;padding: 2%;}
#aviva_feature .flex li{width:45%; margin-bottom:5%;text-align:center;}
#aviva_feature .flex li img{max-width:300px;width:100%;}

.btnSet_a div {
    width: 30%;
    margin: 0 1%;
    max-width: 240px;
}
@media (max-width:499px) {
	.btnSet_a div{width:48%;margin-bottom:10px;}
	.btnSet_a div.entry{width:100%;max-width: inherit;}
}

@media (min-width:400px) {
	.bg_main_img { padding-top: 70vw;}
	.pack_idx dl dt { font-size: 24px;}
	.pack_idx dl dt a:after { font-size: 16px;}
}

@media (min-width:500px) {
	.bg_main_img { height: 70vw; padding: 0; background-size: cover;}
	.ttl_box { display: flex; align-content: center; flex-wrap: wrap; justify-content: center; position: absolute; top: 50%; left: 50%; -webkit-transform : translate(-50%,-50%); transform : translate(-50%,-50%); width: calc(100% - 10vw); height: auto; padding: 20px; background: rgba(255,255,255,0.2); color: #fff;}
	.ttl_box h1 .h1_catch01 { font-size: 7vw; line-height: 1; letter-spacing: 0; text-shadow: 0 1px 8px rgba(0,0,0,0.6);}
	.ttl_box h1 .h1_catch02 { font-size: 3.5vw; line-height: 7vw; letter-spacing: 0;}
	.ttl_box h1 .ttl { font-size: 10vw; letter-spacing: 0; text-shadow: 0 1px 10px rgba(0,0,0,0.6);}
	.ttl_box .flex { position: static;}
	.ttl_box .flex ul { width: 100%; max-width: 500px;}
	.ttl_box .flex ul li { font-size: 28px;}
	/*.ballon_img { width: 30vw; height: 20vw; top: 3vw; left: 3vw;}*/
	h2.bg_green { font-size: 21px;}
	h2.bg_pink { font-size: 21px;}
	/*.feature_list01 > p { font-size: 18px;}*/
	.feature_list01 { width: 100%; border-radius: 0; padding: 3vw 2vw; margin-bottom: 0;}
	.feature_list01 ul li { width: calc( 33% - 4vw ); font-size: 18px;}
	.rcmd_voice li .flex .img_area { width: 80px; height: 80px;}
	.rcmd_voice li .flex .txt_area { font-size: 16px; width: calc( 100% - 140px - 40px );}
	.rcmd_voice li:nth-of-type(odd) .flex .txt_area { margin: 0 auto 0 10px;}
	.rcmd_voice li:nth-of-type(even) .flex .txt_area { margin: 0 10px 0 auto;}
	.example ul { display: flex; flex-wrap: wrap; justify-content: space-between;} 
	.example li { width: calc( 50% - 5px );}
	.example p { text-align: center; font-size: 16px;}
	.quality_list { max-width: 400px; margin: 10px auto;}
/*
	#trial_online h2 .flex .img_area, #order_flow h2 .flex .img_area { width: 120px; height: 120px;}
	#trial_online h2 .flex .txt_area, #order_flow h2 .flex .txt_area { width: calc( 100% - 120px );}
	.trial_qa { position: relative; min-height: 36vw;}
	.trial_answer { padding-top: 0;}
	.trial_qa .txt_area { width: 70vw;}
	.trial_worry .txt_area { padding: 1.5em 1.5em 1.5em 3em;}
	.trial_answer .txt_area { padding: 1.5em 3em 1.5em 1.5em;}
	.trial_qa .img_area { position: absolute; bottom: 3vw; margin: auto;}
	.trial_worry .img_area { left: 3vw;}
	.trial_answer .img_area { right: 3vw;}
	#trial_flow h3 { font-size: 21px; margin-bottom: 15px;}
	#order_flow h2 .bg_pnk { font-size: 5vw;}
	#order_flow > p.txt_center { font-size: 18px}
*/
	#aviva_feature .flex li{width:30%; }
}

@media (min-width:600px) {
	.feature_list01 ul li { width: calc( 20% - 4vw ); font-size: 2vw;}
	.pack_wrap .img_area { width: 80%; max-width: 600px; margin: auto auto 20px;}
	.quality_list li .img_area { width: 80%; max-width: 600px; margin: auto auto 10px;}
	.quality_list li .txt_area { width: 80%; max-width: 600px; margin: 0 auto;}
	.pack_wrap .btnSet_b .btn--reserve, .pack_wrap .btnSet_b .btn--entry {}
/*
	#trial_flow h3 { font-size: 24px; margin-bottom: 10px;}
	#trial_flow ol li { padding: 0;}
	#trial_flow ol li dt { width: 25%; padding: 20px; background: #ed1e79; color: #fff; display: flex; flex-wrap: wrap; justify-content: center; align-content: center;}
	#trial_flow ol li dt span { line-height: 1.4; font-size: 18px;}
	#trial_flow ol li dt .num { width: auto; font-size: 18px; margin-left: 0.3em;}
	#trial_flow ol li dt span:last-child { width: 100%;}
	#trial_flow ol li dd { width: 75%; padding: 20px;}
*/
	#trial_online2 > .flex { display: block; max-width: 1000px; margin: auto;}
	#trial_online2 > .flex:after { content: ""; display: block; clear: both;}
	#trial_online2 .img_area { width: 300px; max-width: 40%; float: right; margin: 0 0 10px 20px;}
	#trial_online2 h3 { text-align: left; padding-left: 0.5em; text-indent: -0.5em;}
	#trial_online2 h3 span { text-indent: 0;}
	.flow200512 .flow_bnr_area { margin-bottom: 60px;}
	.aviva_feature_list li { width: calc( 33% - 20px );}
	.pack_wrap p.detail {padding: 0;}
}

@media (min-width:700px) {
	.btnSet_a { margin: 20px auto;}
	.btnSet_a .btn a { padding: 20px;}
	.voice_list { display: flex; justify-content: center; flex-wrap: wrap; padding: 5px 0;}
	.voice_list li { width: calc( 50% - 20px ); margin: 5px;}
	.rcmd_voice { display: flex; flex-wrap: wrap; justify-content: center;}
	.rcmd_voice li { width: calc( 50% - 10px ); max-width: 360px; margin: 5px;}
	.rcmd_voice li .flex { height: 100%; align-items: flex-end;}
	.rcmd_voice li:nth-of-type(even) .flex { flex-direction: row-reverse;}
	.rcmd_voice li .flex .txt_area { width: calc( 100% - 70px - 30px ); border-radius: 20px;  padding: 20px;}
	.rcmd_voice li:nth-of-type(odd) .flex .txt_area, .rcmd_voice li:nth-of-type(even) .flex .txt_area { margin: 0 auto auto 10px;}
	.rcmd_voice li:nth-of-type(odd) .flex .txt_area:after, .rcmd_voice li:nth-of-type(even) .flex .txt_area:after { top:unset; bottom: 20px;}
	.rcmd_voice li:nth-of-type(even) .flex .txt_area:after { left: unset; right: 100%; border-left-color: rgba(255, 255, 255, 0); border-right-color: #fff;}
	#recommend > h3 { font-size: 21px;}
	#recommend > p { font-size: 24px; max-width: 640px; border-radius: 30px;}
	#recommend > p strong { font-size: 30px;}
	#recommend > p strong small { font-size: 18px;}
	.pack_idx { display: flex; flex-wrap: wrap; justify-content: space-between; padding: 1vw;}
	.pack_idx dl { width: 32.5%; margin: 0;}
	.pack_idx dl.bg_ai_f, .pack_idx dl.bg_ps_f { width: 49.5%; margin-top: 10px;}
	.pack_idx dl dd { padding: 0 10px;}
	.quality_list { max-width: unset; display: flex; flex-wrap: wrap; justify-content: space-between;}
	.quality_list li { width: 32%;}
	.quality_list li .txt_area { width: 100%; margin: 0 0 auto;}
	.quality_list li .txt_area dt { font-size: 16px; letter-spacing: 0;}
	.quality_list li .txt_area dt span { display: inline;}
	.quality_list li .txt_area dt br { display: none;}
	.quality_list li .img_area { width: 100%; margin: 0;}
	.course_wrap { padding: 5px 30px;}
	.course_wrap li.pack_wrap { overflow: hidden; margin: 30px 0;}
	.course_wrap li.pack_wrap:after { content: ""; display: block; clear: both;}
	.pack_wrap h3 { font-size: 24px; padding: 10px 20px;}
	.pack_wrap p.copy { padding: 0 20px; font-size: 18px; margin-bottom: 10px;}
	.pack_wrap .img_area {width: 50%;margin: 0 0 auto; padding: 0 20px; float: left;}
	.pack_wrap .txt_area01{width: 50%;margin: 0 0 auto; float: right;padding-right: 15px;}
	.pack_wrap .txt_area02{width:100%;margin: 0 0 auto; float: right;padding-right: 15px;}
	.pack_wrap .study_case {padding: 15px;}
	.pack_wrap .flex {width: 100%;padding: 3px;}
	.pack_wrap .flex .frame dt, .pack_wrap .flex .frame dd { padding: 0 0.5em;}
	.example li { width: calc( 25% - 8px );}
/*
	#trial_online h2 .flex .txt_area { max-width: 570px;}
	#trial_online h2 .bg_wht { font-size: 30px;}
	#trial_online h2 .f_big { font-size: 45px;}
	#trial_online h2 .bg_pnk { font-size: 24px;}
	.trial_qa .txt_area { font-size: 18px;}
	.trial_worry .txt_area { padding-left: 4em;}
	.trial_answer .txt_area { padding-right: 4em;}
	#trial_flow ol li dd { font-size: 16px;}
	#order_flow h2 .flex .txt_area { max-width: 430px;}
	#order_flow h2 .f_big { font-size: 45px; line-height: 1.4;}
	#order_flow h2 .bg_pnk { font-size: 24px;}
	#order_flow ol li dl dd { padding: 20px; font-size: 16px; line-height: 1.6;}
	#order_flow .memo_payment { padding: 20px;}
	#order_flow .memo_payment dl dt { font-size: 14px; margin-bottom: 10px;}
	#order_flow .memo_payment dl dd li { font-size: 14px;}
*/
}

@media (min-width:800px) {
	main { margin-top: 75px;}
	.btnSet_a .btn a { font-size: 24px;}
	.ttl_box { width: 100%; max-width: 700px; padding: 60px;}
	.ttl_box h1 .h1_catch01 { font-size: 50px; padding-left: 80px;}
	.ttl_box h1 .h1_catch02 { line-height: 50px; font-size: 30px;}
	.ttl_box h1 .ttl { font-size: 72px;}
	.ttl_box .flex ul { padding: 0 20px;}
/*
	.ballon_img { width: 210px; height: 140px; top: calc( 50% - 200px ); left: calc( 50% - 350px );}
	.ballon_img img { margin: -20px auto auto 20px;}
*/
	.feature_list01 { padding: 50px 0;}
	.feature_list01 ul li { font-size: 18px;}
	h2.bg_green { font-size: 24px;}
	h2.bg_green br.smt { display: none;}
	.voice_list li .comment { letter-spacing: 0; line-height: 1.6;}
	#aviva_feature .flex { justify-content: center;}
	#aviva_feature .flex li { width: 25%; padding: 0 10px; margin-bottom: 30px;}
/*
	.trial_qa { padding: 20px; min-height: 220px; max-width: 800px; margin-left: auto; margin-right: auto;}
	.trial_worry { padding-bottom: 0;}
	.trial_answer { padding-top: 0; margin-bottom: 20px;}
	.trial_qa .txt_area { width: calc( 100% - 400px + 40px ); position: absolute;}
	.trial_worry .txt_area { left: calc( 200px - 20px ); padding-left: 3em;}
	.trial_answer .txt_area { right: calc( 200px - 20px ); padding-right: 2em;}
	.trial_qa .img_area { width: 200px; bottom: 0;}
	.trial_worry .img_area { left: 20px;}
	.trial_answer .img_area { right: 20px;}
	#trial_flow, #order_flow ol { padding: 30px;}
	#trial_flow ol, #order_flow ol li { max-width: 800px; margin-left: auto; margin-right: auto;}
*/
}

@media (min-width:900px) {
	.bg_main_img { height: 750px; background-position: center center;}
	.voice_list li .flex { align-items: flex-start;}
	.voice_list li { width: calc( 33% - 10px ); padding: 20px;}
	.pack_wrap .txt_area02{width:50%;}
	.pack_wrap .btnSet_b .btn--reserve {}
	.pack_wrap .btnSet_b .btn--entry {}
}

@media (min-width:1000px) {
	.btnSet_a { margin: 40px auto;}
	.btnSet_a div{width: 30%;margin: 0 20px;max-width: 240px;}
	.btnSet_a .btn {width: 100%;padding: 20px 0;}
	h2.bg_green { width: 100%; max-width: 1000px; margin: 50px auto 30px; padding: 20px;}
/*
	#trial_online h2.bg_pink, #order_flow h2.bg_pink { width: 100%; max-width: 1000px; margin: 50px auto 30px; padding: 20px;}
*/
	.feature_list01 ul { max-width: 1000px; margin: auto;}
	#recommend { overflow: hidden; padding-bottom: 40px;}
	.voice_list { max-width: 1000px; margin: auto; padding: 0; justify-content: space-between;}
	.voice_list li { margin: 0;}
	.rcmd_voice { max-width: 1000px; margin: auto; padding: 20px;}
	#quality .bg_blue { padding: 30px 0;}
	#quality .bg_blue .btnSet_a { margin: 20px auto;}
	.pack_idx { max-width: 1000px; margin: auto; padding: 0; justify-content: space-between;}
	.pack_list .pack_ttl { font-size: 21px;}
	.course_wrap li.pack_wrap { padding-bottom: 15px;}
	.quality_list { max-width: 1000px; margin: auto auto 50px;}
	.course_wrap ul { max-width: 1000px; margin: auto;}
/*
	#order_flow h2 .flex { align-items: flex-end;}
	#order_flow h2 .flex .txt_area { max-width: 680px;}
	#order_flow h2 .flex .img_area { margin-top: -60px;}
	#order_flow h2 .f_big br { display: none;}
*/
	#trial_online2 p { font-size: 16px;}
	.flow200512 { overflow: hidden;}
	.flow200512 .flow_bnr_area { max-width: 1000px; margin: 0 auto 60px;}
	.flow200512 .box_flow { max-width: 1000px;}
	.flow200512 .h3_txt_s { top: 30px;}
	#aviva_feature .flex { max-width: 1000px; margin: auto; padding: 0;}
	#aviva_feature .flex li { width: 16% }
}

@media (min-width:1100px) {
	.btnSet_a { margin: 50px auto;}
	.course_wrap { padding: 50px 0 20px;}
	.course_wrap li.pack_wrap { margin: 0 0 30px;}
	.pack_list li { padding: 15px 5px;}
/*	#trial_flow, #order_flow ol { padding: 50px;}*/
}
/*
@media (min-width:1400px) {
	.bg_main_img { background-image: url(../images/main_img01.jpg), url(../images/main_img02.jpg); background-position: center center,  center center; background-repeat: no-repeat, no-repeat; background-size: 1200px, cover;}
}
*/

.header { height: auto;}

.header__container { position: relative; height: 44px;}

/*.header__container h1.logo { position: absolute; top: 50%; left: 50%; -webkit-transform : translate(-50%,-50%); transform : translate(-50%,-50%);}*/

/*
.hdr_menu { position: absolute; width: 44px; height: 44px; top: 0; left: 0;}
.hdr_contact_smt { position: absolute; right: 0; width:130px; height: 36px;}
.hdr_contact_smt a { width: 100%; height: 100%; display: flex; flex-wrap: wrap; justify-content: flex-end; align-content: center; line-height: 1; padding-right: 1.5%;}
.hdr_contact_smt a .telNo { width: 100%; font-weight: bold; letter-spacing: -0.05em; font-size: 100%; text-align: right;    margin-bottom: 4px;}
.hdr_contact_smt a .free_icon { background: #39b54a; color: #fff; font-size: 10px; letter-spacing: -0.1em; padding: 0.2em;}
.hdr_contact_smt a .txt { font-size: 10px; letter-spacing: -0.1em; padding: 0.2em;}
.hdr_contact_pc { display: none;}
*/

/*
@media (min-width:350px) {
	.hdr_contact_smt a .telNo, .hdr_contact_smt a .free_icon, .hdr_contact_smt a .txt { letter-spacing: 0;}
}
*/
@media (min-width:600px) {
/*	.sp_fixbtn { display: none;}*/
	.header { padding: 0;}
	.header__container h1.logo { position: absolute; top: 50%; left: 5px; -webkit-transform : translateY(-50%); transform : translateY(-50%);}
/*	.hdr_contact_smt { height: 44px;}*/
}

@media (min-width:800px) {
	.header__container { height: 75px;}
	.header__container h1.logo { top: 50%; left: 1.5%; -webkit-transform : translateY(-50%); transform : translateY(-50%);}
/*
	.hdr_menu, .hdr_contact_smt  { display: none;}
	.hdr_contact_pc { position: absolute; right: 1.5%; display: flex; flex-wrap: wrap; justify-content: space-between;}
	.hdr_tel { height: 75px; display: flex; flex-wrap: wrap; justify-content: space-between; width: 250px; padding: 3px;}
	.hdr_tel > div:first-child { width: 50px; height: 50px; margin-right: 5px; border-radius: 50%; background: #39b54a; color: #fff; font-size: 14px; text-align: center; line-height: 16px; padding: 10px 5px;}
	.hdr_tel > div:nth-child(2) { width: calc( 100% - 55px ); line-height: 1; text-align: left; padding-top: 5px;}
	.hdr_tel > div:nth-child(2) .txt { font-size: 12px; line-height: 1;}
	.hdr_tel > div:nth-child(2) .telNo { display: inline-block; line-height: 1; font-size: 26px; font-weight: bold;}
	.hdr_tel > div:last-child { font-size: 12px; line-height: 1;}
	.hdr_contact_pc .btnSet_a { margin: 0; align-content: center;}
	.hdr_contact_pc .btnSet_a .btn { width: 100%; margin: 2px 0;}
	.hdr_contact_pc .btnSet_a .btn a { padding: 8px 10px; font-size: 14px;}
*/
}

@media (max-width:599px) {
/*
	.sp_fixbtn { display: block; position: fixed; bottom: 0; right: 5px; width: 100%; z-index: 9999; background: rgba(255,255,255,.4); padding: 1px;}
	.sp_fixbtn .btnSet_a { margin: 0; justify-content: space-around;}
	.sp_fixbtn .btnSet_a .btn { width: calc( 50% - 1px ); max-width: unset; height: 43px; line-height: 43px; margin: auto;}
	.sp_fixbtn .btnSet_a .btn a { padding: 0;}
*/
	.pagetop { bottom: 50px;}
/*	.footer { padding-bottom: 50px;}*/
}

@media (max-width:350px) {
	.pack_wrap .flex{max-width:inherit;}
}

.dib{display:inline-block;}

