@charset "UTF-8";
/* CSS Document */
@media screen and (max-width: 374px) {
	.contact-form__dd--sex {
		display: block;
	}
	.contact-form__dd--sex label {
		display: block;
		margin-bottom: 16px;
	}
	.contact-form__address {
		flex-direction: column;
		grid-row-gap: 16px;
	}
	.contact-form__address--pref{
		width: 100%;
	}
	.contact-form__address--pref input{
		max-width: none!important;
	}
	.radio-btns label {
		display: flex;
	}
}
@media screen and (min-width: 801px) {
	.dpi--801 {
		display: inline !important;
	}
	.dpn--801 {
		display: none !important;
	}
	.dpb--801 {
		display: block !important;
	}
	.character__vertical-rl--801 {
		-ms-writing-mode: tb-rl;
  	writing-mode: vertical-rl;
	}
	.ggmap {
		padding-bottom: 36.5%;
	}
	.head01 {
		font-size: 28px;
		padding-bottom: 16px;
		margin-bottom: 16px;
	}
	.top-bnr__contact--div,.top-bnr__contact--div2 {
		max-width: 1000px;
		margin-inline: auto;
	}
	.top-bnr__contact--anchor {
		padding-bottom: 28%;
	}
	.header__head {
		height: 100px;
	}
	.header__title--anchor {
		width: 245px;
		height: 48.6px;
	}
	.header__title--wrapper {
		display: flex;
		align-items: center;
	}
	.header__title-catch {
		font-size: 14px;
		color: #41BAA8;
		line-height: 1.428;
	}
	.header__contact {
		display: flex;
		align-items :center;
	}
	.header__tel--anchor {
		font-size: 14px;
		display: flex;
		align-items: center;
		margin-right: 14px;
	}
	.header__tel--anchor::before {
		content: "";
		display: block;
		width: 52.07px;
		height: 52.07px;
		background: url(../../img/ico-header-tel.png) center center no-repeat;
		background-size: contain;
		margin-right: 3px;
	}
	.header__tel--anchor span {
		color: #50BFD3;
		font-size: 36px;
		font-weight: 700;
		line-height: 1;
	}
	.header__contact--anchor {
		width: 240px;
		height: 60px;
		text-indent: 0;
		border-radius: 10px;
		border: #41BAA8 2px solid;
		background: #FFF;
		color: #41BAA8;
		text-align: center;
		font-size: 28px;
		font-weight: 700;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.header__contact--anchor::before {
		content: "";
		display: block;
		width: 40.03px;
		height: 31.24px;
		background: url(../../img/ico-header-mail.png) center center no-repeat;
		background-size: contain;
		margin-right: 10px;
	}
	.header__contact--anchor:hover {
		background: #41BAA8;
		color: #FFF;
	}
	.header__contact--anchor:hover::before {
		background-image: url(../../img/ico-header-mail-hover.png);
	}
	.fixed-menu {
		bottom: auto;
		top: 14%;
		right: 0;
		left: auto;
		width: 70px;
	}
	.fixed-menu__list {
		flex-direction: column;
		height: auto;
	}
	.fixed-menu__list--line .fixed-menu__list--anchor {
		-ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
	    height: auto;
	    padding: 12px 0;
	    font-size: 24px;
	}
	.fixed-menu__list--line .fixed-menu__list--anchor:hover {
		background: #48B26C;
		color: #FFF;
	}
	.fixed-menu__list--line .fixed-menu__list--anchor:hover::before {
		background-image: url('../../img/ico-side-LINE-hover.png');
	}
	.fixed-menu__list--line {
		width: 100%;
		order: 2;
	}
	.fixed-menu__list--tel {
		width: 100%;
		order: 1;
	}
	.fixed-menu__list--tel .fixed-menu__list--anchor {
		-ms-writing-mode: tb-rl;
  	writing-mode: vertical-rl;
	  height: auto;
	  padding: 12px 0 ;
	  font-size: 24px;
	  border-top-left-radius: 20px;
	  display: flex;
	  flex-direction: row-reverse;
	}
	.fixed-menu__list--tel .fixed-menu__list--anchor .time {
		-ms-writing-mode: lr-tb;
		writing-mode: horizontal-tb;
		font-size: 16px;
		margin-top: 8px;
	}
	.fixed-menu__list--tel .fixed-menu__list--anchor .holiday {
		font-size: 14px;
	}
	.fixed-menu__list--tel .fixed-menu__list--anchor:hover {
		background: #50BFD3;
		color: #FFF;
	}
	.fixed-menu__list--tel .fixed-menu__list--anchor:hover .icon--tel::before  {
		background-image: url(../../img/ico-side-tel-hover.png);
	}
	.fixed-menu__list--free {
		width: 100%;
		order: 2;
	}
	.fixed-menu__list--free .fixed-menu__list--anchor {
		-ms-writing-mode: tb-rl;
  	writing-mode: vertical-rl;
	  height: auto;
	  padding: 12px 0 ;
	  font-size: 24px;
	  display: flex;
	}
	.fixed-menu__list--free .fixed-menu__list--anchor .bikkuri {
		position: relative;
		left: 6px;
	}
	.fixed-menu__list--free .fixed-menu__list--anchor .here {
		-ms-writing-mode: lr-tb;
		writing-mode: horizontal-tb;
		font-size: 14px;
		margin-top: 8px;
	}
	.fixed-menu__list--free .fixed-menu__list--anchor .holiday {
		font-size: 14px;
	}
	.fixed-menu__list--free .fixed-menu__list--anchor:hover {
		background: #EC6E88;
		color: #FFF;
	}
	.fixed-menu__list--free .fixed-menu__list--anchor:hover .icon--tel::before  {
		background-image: url(../../img/ico-side-zero-hover.png);
	}
	.fixed-menu__list--insta {
		width: 100%;
		order: 3;
	}
	.fixed-menu__list--insta .fixed-menu__list--anchor {
		height: 70px;
		transition: .2s!important;
	}
	.fixed-menu__list--insta .fixed-menu__list--anchor {
		background: none;
		background: url(../../img/bg-insta.png) center center no-repeat;
		background-size: cover;
		position: relative;
		}
	.fixed-menu__list--insta .fixed-menu__list--anchor::before {
		content: "";
		display: block;
		background: url(../../img/ico-side-instagram.png) center center no-repeat;
		background-size: 40px;
		width: 100%;
		height: 100%;
		transition: .2s;
	}
	.fixed-menu__list--insta .fixed-menu__list--anchor:hover::before {
		background-size: 50px;
	}
	.fixed-menu__list--tiktok {
		width: 100%;
		order: 4;
	}
	.fixed-menu__list--tiktok .fixed-menu__list--anchor {
		height: 70px;
		border-bottom-left-radius: 20px;
		background-size: 35px;
	}
	.fixed-menu__list--tiktok .fixed-menu__list--anchor:hover {
		background-size: 45px;
	}
	.btn__contact--anchor {
		font-size: 28px;
		margin-block: 120px 80px;
		padding: 18px;
		border: #41BAA8 4px solid
	}
	.top-bnr__contact img{
		width: 100%;
		max-width: 1000px;
	}
	.footer {
		padding-bottom: 0;
	}
	.top-contact-company {
		font-size: 24px;
	}
	#topbutton {
		width: 72px;
		height: 72px;
		right: 30px;
		bottom: 10px;
	}
	.top-mv {
		height: 880px;
	}
	.top-mv::before {
		height: 352px;
	}
	.top-mv__slider {
		height: 880px;
	}
	.top-mv__title {
		font-size: 36px;
		letter-spacing: 1.2em;
		top: 76px;
	}
	.top-mv__description {
		bottom: 114px;
		transform: translateX(-80%);
		padding: 0;
		width: auto;
		font-size: 18px;
	}
	.top-mv__catch {
		font-size: 28px;
	}
	.top-nayami__title--wrapper {
		height: 100px;
	}
	.top-nayami__title {
		font-size: 36px;
		letter-spacing: 0.2em;
		padding-block: 20px;
	}
	.top-nayami__content--wrapper {
		padding-top: 0;
		display: flex;
		justify-content: center;
	}
	.top-nayami__photo {
		width: 50%;
		height: auto;
	}
	.top-nayami__list--wrapper {
		width: 50%;
		display: flex;
		align-items: center;
		padding: 60px;
	}
	.top-nayami__item {
		font-size: 18px;
	}
	.top-nayami__item::before {
		width: 31.27px;
		height: 29px;
	}
	.top-kaiketsu {
		text-align: center;
		font-size: 18px;
		line-height: 1.78;
		letter-spacing: 0.05em;
		padding-block: 120px;
	}
	.top-kaiketsu__title {
		font-size: 36px;
		letter-spacing: 0.2em;
		margin-bottom: 24px;
	}
	.top-miryoku {
		padding-block: 120px 40px;
	}
	.top-miryoku__title {
		text-align: left;
		font-size: 36px;
		margin-bottom: 60px;
	}
	.top-miryoku--inner {
		max-width: 1000px;
		margin-inline: auto;
		display: flex;
		justify-content: space-between;
	}
	.top-miryoku--inner + .top-miryoku--inner {
		margin-top: 60px;
	}
	.top-miryoku__photo {
		margin-left: 0;
		width: 49.5%;
	}
	.top-miryoku__photo img {
		border-left: #41BAA8 8px solid;
	}
	.top-miryoku__text {
		width: 49.5%;
		margin: 0;
		font-size: 18px;
		line-height: 1.78;
	}
	.top-miryoku__text-title {
		font-size: 28px;
		display: block;
		margin-block: 0 8px;
	}
	.top-miryoku__text-title--number {
		font-size: 72px;
		display: block;
		line-height: 1;
		margin-bottom: 24px;
	}
	.top-bnr__contact {
		padding-block: 120px;
	}
	.top-course__title {
		font-size: 58px;
		margin-block: 60px 120px;
	}
	.top-course__title .bg-logo {
		width: 6.5em;
	}
	.tab__menu {
		grid-column-gap: 14px;
	}
	.tab__menu-item {
		width: 100%;
		max-width: 500px;
		font-size: 36px;
		height: 80px;
	}
	.tab__menu-item--risu .panel-label::before {
		width: 65px;
		height: 60px;
	}
	.tab__menu-item--isu .panel-label::before {
		width: 38px;
		height: 60px;
	}
	.tab__panel-box--inner {
		padding-block: 120px;
	}
	.tab__panel-box p {
		font-size: 18px;
	}
	.top-course__tabpanel--wrapper {
		display: flex;
		justify-content: space-between;
		grid-column-gap: 9.58%;
		margin-bottom: 100px;
	}
	.top-course__tabpanel-text {
		width: 41.08%;
	}
	.top-course__tabpanel-title {
		font-size: 36px;
		margin-bottom: 40px;
	}
	.top-course__tabpanel-title span {
		font-size: 28px;
		margin-bottom: 40px;
	}
	.top-course__tabpanel-photo {
		margin: 0;
		width: 49.33%;
	}
	.top-course__tabpanel-photo img {
		border-radius: 20px;
	}
	.top-course__tabpanel-effect {
		margin-bottom: 80px;
	}
	.top-course__tabpanel-effect p {
		line-height: 1.78;
	}
	.top-course__other-program--wrapper {
		display: flex;
		grid-column-gap: 1.42%
	}
	.top-course__other-program {
		width: calc(100% / 3 - 1.42% * 2 / 3);
	}
	.top-course__other-program + .top-course__other-program {
		margin-top: 0;
	}
	.top-course__other-program-title {
		font-size: 28px;
		padding: 10px;
	}
	.top-course__other-program-description {
		font-size: 18px;
		line-height: 1.78;
		letter-spacing: 0.05em;
		padding: 24px 38px;
	}
	.btn__contact--2 .btn__contact--anchor {
		margin-block: 80px;
	}
	.top-course__schedule {
		font-size: 18px;
	}
	.top-course__schedule-table .youbi {
		font-size: 28px;
		border-radius: 10px;
		line-height: 1.64;
	}
	.top-course__schedule-table .time {
		border-radius: 10px;
	}
	.top-course__schedule-table .program {
		border-radius: 10px;
		font-size: 18px;
	}
	.top-course__schedule-table {
		width: 1280px;
		border-spacing : 40px 12px;
		margin-left: -40px;
	}
	.top-course__schedule-table tbody {
		width: 100%;
	}
	.top-course__plan-list {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.top-course__plan-item {
		width: calc(50% - 1.17% / 2);
		font-size: 21px;
	}
	.top-course__plan-title {
		font-size: 24px;
	}
	.top-course__plan-memo {
		font-size: 21px;
		padding: 30px;
		min-height: 91.5px;
	}
	.top-course__plan-div {
		padding: 30px;
	}
	.top-course__stamp-title {
		font-size: 34px;
		margin-block: 80px 16px;
	}
	.top-course__stamp-list {
		max-width: 1000px;
		margin-inline: auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		grid-row-gap: 12px;
	}
	.top-course__stamp-item {
		width: calc(50% - 6px);
		font-size: 32px;
		padding: 15px;
	}
	.top-course__stamp-item + .top-course__stamp-item {
		margin: 0;
	}
	.top-course__voice {
		margin-block: 80px;
	}
	.top-course__voice-list {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		grid-row-gap: 16px;
	}
	.top-course__voice-item {
		width: 32.08%;
		margin: 0;
	}
	.top-course__voice-item a::after {
		height: 44px;
		bottom: 26px;
		left: 50%;
		font-size: 16px;
}
	.top-course__instructor-list--wrapper {
		width: 1040px;
		margin-inline: auto;
		height: 466px;
	}
	.top-course__instructor-item--inner {
		width: 324px;
	}
	.top-course__instructor-list {
		width: 1000px!important;
	}
	.top-course__instructor-photo {
		width: 244px;
		height: 244px;
	}
	.top-course__instructor-name {
		font-size: 21px;
		margin-top: 21px;
		padding-bottom: 20px;
		margin-bottom: 21px;
	}
	.top-course__instructor-comment {
		line-height: 1.78;
	}
	.swiper-button-prev, .swiper-button-next {
		width: 48px !important;
		height: 48px !important;
	}
	.swiper-button-prev::after, .swiper-button-next::after {
		width: 48px !important;
		height: 48px !important;
	}
	.head01.top-contact-form__title {
		margin-bottom: 60px;
	}
	.top-contact-form__title::after {
		content: "※は必須項目となります。";
		font-size: 18px;
		margin-left: 36px;
		color: #242424;
		font-weight: 400;
	}
	.contact-form {
		margin-block: 30px 120px;
		font-size: 21px;
	}
	.contact-form__div {
		margin-bottom: 40px;
	}
	.contact-form__dt {
		width: 130px;
	}
	.contact-form__dd--subject {
		flex-direction: row;
		grid-column-gap: 36px;
	}
	.contact-form__dd--subject-inner + .contact-form__dd--subject-inner {
		margin-top: 0;
	}
	.contact-form__dd .form--box {
		font-size: 21px;
	}
	.form__type--textarea {
		width: 100%!important;
		transform: none;
	}
	.contact-form__address {
		grid-column-gap: 0;
	}
	.contact-form__address--zip input {
		margin-inline: 10px;
		width: 130px!important;
	}
	.contact-form__address--zip {
		width: 200px;
	}
	.contact-form__address--pref select {
		width: 143px;
		height: 47px;
		line-height: 47px;
	}
	.top-contact-access--inner {
		display: flex;
		margin-top: 40px;
		justify-content: space-between;
		max-width: 998px;
		margin-inline: auto;
	}
	.contact-form__agreement {
		text-align: center;
	}
	.contact-form__submit input {
		font-size: 28px;
		padding: 17px;
		cursor: pointer;
	}
	.top-contact-access {
		padding-block: 120px 40px;
	}
	.top-contact-access .ggmap {
		margin-inline: 0;
		width: 491px;
		margin-top: 0;
	}
	.top-contact-information {
		width: calc(100% - 491px - 14px);
		margin-top: 0;
	}
	.top-contact-information__title {
		font-size: 24px;
		padding-block: 28px;
	}
	.top-contact-information__description {
		padding-block: 28px;
		font-size: 21px;
		line-height: 1.52;
	}
	.top-contact-tel__anchor {
		font-size: 60px;
	}
	.top-contact-tel__anchor::before {
		width: 44.52px;
		height: 44.52px;
	}
	.thanks-complete {
		padding-top: 190px;
	}
	.thanks-complete__title {
		font-size: 50px;
		margin-bottom: 100px;
	}
	.thanks-complete__description {
		font-size: 28px;
	}
	.thanks-complete .btn__contact--anchor {
		margin-block: 100px;
	}
	.thanks-sns {
		font-size: 22px;
	}
	.thanks-sns__list {
		grid-column-gap: 51px;
		margin-top: 22px;
	}
	.thanks-sns__item {
		width: 60px;
		height: 60px;
	}
}
@media screen and (min-width: 1200px) {
	html {
		scroll-padding-top: 150px;
	}
	.dpn--1200 {
		display: none !important;
	}
	.dpb--1200 {
		display: block !important;
	}
	.dpi--1200 {
		display: inline !important;
	}
}
@media screen and (min-width: 1400px) {
	.top-course__schedule-table--wrapper {
		overflow: visible;
	}
}




@media screen and (min-width: 801px) {
	.top-renewal {
		min-height: calc(100vh - 314px);
	}
	.renewal__title::before {
		margin-top: 190px;
		font-size: 26px;
		margin-bottom: 30px;
	}
	.renewal__description {
		text-align: center;
		margin-bottom: 80px;
	}
	.renewal__title {
		font-size: 40px;
		margin-bottom: 50px;
	}
	.renewal__description {
		font-size: 20px;
		font-weight: 700;
	}
	.renewal__contact--text {
		font-size: 20px;
	}
	.renewal__contact--time {
		font-size: 16px;
	}
}