@charset"utf-8";

@media screen and (max-width: 768px) {

	/*common--------------------------------*/

	body{
		overflow-x: hidden;
	}

	#wrap {
		overflow-x: hidden;
	}

	.sp {
		display: block;
		width: 100%;
		height: auto;
		padding: 0;
		margin: 0;
	}

	.pc {
		display: none;
	}
	
	.hover:hover {
		opacity: 1;
	}

	section {
		padding: 16vw 0;
	}

	.sec_ttl {
		padding-bottom: 10.67vw;
		transform: translateY(-25vw);
	}

	.sec_ttl strong {
		display: block;
		padding-top: .4em;
		font-size: 4.8vw;
	}

	.sub_ttl {
		font-size: 7.47vw;
		padding-bottom: 5.33vw;
		margin-bottom: 8vw;
	}

	.sub_ttl::after {
		width: 16vw;

	}

	.lead_txt {
		font-size: 4.8vw;
		padding-bottom: 5.33vw;
	}

	.plain_txt {
		font-size: 4.27vw;
	}

	.btn_container {
		padding-top: 10.67vw;
	}

	.btn_container a {
		width: 70vw;
		height: 16vw;
		font-size: 6.4vw;
	}

	.link_container {
		padding: 2.67vw 0;
	}

	.link_container a {
		font-size: 4.27vw;
		padding-right: 10.67vw;
	}

	.link_container a::after {
		width: 1.33vw;
		height: 1.33vw;
	}

	.anchor#concept,
	.anchor#trial,
	.anchor#plan {
		padding: 14vw;
		margin: -14vw;
	}

	.anchor#trainer,
	.anchor#access {
		padding: 34vw;
		margin: -34vw;
	}


	/*--------------------------------------*/

	/*header*/

	/*--------------------------------------*/

	header .logo_container {
		padding: 2.67vw 0;
	}

	header .logo_container a {
		width: 21.33vw;
	}

	header nav {
		padding: 0;
		position: relative;
	}

	header .nav_list_container {
		width: 100%;
		height: 17vw;
		padding: 0 30vw 0 5vw;
		box-sizing: border-box;
		display: flex;
		flex-wrap: wrap;
		justify-content: left;
	}

	header .nav_list_item {
		width: calc(100% / 3);
		box-sizing: border-box;
		padding: 0;
	}

	header .nav_list_item:nth-child(1),
	header .nav_list_item:nth-child(2),
	header .nav_list_item:nth-child(3) {
		padding-top: 1.5vw;
	}

	header .nav_list_item:nth-child(4),
	header .nav_list_item:nth-child(5) {
		padding-bottom: 1.5vw;
	}
	header .nav_list_item:nth-child(2),
	header .nav_list_item:nth-child(3),
	header .nav_list_item:nth-child(5) {
		padding-left: .7em;
	}

	header .nav_list_item a {
		font-size: 3.73vw;
	}

	header .nav_list_item:last-child {
		width: 30vw;
		height: 17vw;
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
	}

	header .nav_list_item:last-child a {
		width: 100%;
		height: 100%;
		font-size: 3.73vw;
	}

	header .nav_list_item:last-child a:hover {
		color: var(--darkblue);
		font-weight: 500;
		background-color: var(--lightblue);
	}


	/*fixed--------------------------------*/

	#headerFloat{
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 99999;
	
		transform: translateY(-110%);
		transition: transform .3s ease-out;
		pointer-events: none; /* 隠れてる間クリック無効 */
	}
	
	/* 表示 */
	#headerFloat.is-show{
		transform: translateY(0);
		pointer-events: auto;
	}
	
	/* ↓ここに「fixed時の見た目」を寄せる（あなたの header.is-fixed の中身） */
	#headerFloat{
		padding: 0 5vw 0 3vw;
	}
	
	#headerFloat .logo_container{
		width: 16vw;
		z-index: 99999;
	}
	


	/*menu_trigger--------------------------------*/
	
	#headerFloat .menu_trigger {
		width: 9.66vw;
		height: 9.66vw;
		border-radius: 100vh;
		display: block;
		z-index: 99999;
		position: relative;
		transition: .2s ease-out;
	}
	
	#headerFloat .menu_trigger,
	#headerFloat .menu_trigger span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	
	#headerFloat .menu_trigger span {
		position: absolute;
		left: 2.17vw;
		width: 8vw;
		height: 3px;
		background-color: var(--main-color);
		border-radius: 100vh;
		z-index: 4;
		-webkit-transition: .2s ease-out;
		transition: .2s ease-out;
	}
	
	#headerFloat .menu_trigger span:nth-of-type(1) {
		top: 1.67vw;
	}
	#headerFloat .menu_trigger span:nth-of-type(2) {
		top: 4.4vw;
	}
	#headerFloat .menu_trigger span:nth-of-type(3) {
		bottom: 1.67vw;
	}
	#headerFloat .menu_trigger.active span:nth-of-type(1) {
		-webkit-transform: translateY(2.78vw) rotate(-45deg);
		transform: translateY(2.78vw) rotate(-45deg);
	}
	
	#headerFloat .menu_trigger.active span:nth-of-type(2) {
		left: 100%;
		opacity: 0;
		-webkit-animation: active-menu-bar02 .8s forwards;
		animation: active-menu-bar02 .8s forwards;
	}
	
	#headerFloat .menu_trigger.active span:nth-of-type(3) {
		-webkit-transform: translateY(-2.78vw) rotate(45deg);
		transform: translateY(-2.78vw) rotate(45deg);
	}
	


	/*menu_target--------------------------------*/
	
	#headerFloat .menu_target {
		width: 100vw;
		padding: 20vw 5vw 5vw;
		box-sizing: border-box;
		background-color: var(--white);
		box-shadow: 2px 2px 2px rgba(0,0,0,.2);
		position: fixed;
		top: 0;
		left: 0;
		z-index: 1;
		transform: translateY(-100%);
		transition: .3s ease-out;
	}

	#headerFloat .menu_target.active {
		transform: translateY(0);
		transition: .5s ease-out;
	}

	#headerFloat nav{
		width: 100%;
		padding: 0;
		display: block;
	}
	
	#headerFloat .nav_list_container{
		display: block;
		padding: 0;
		height: unset;
	}
	
	#headerFloat .nav_list_item{
		width: 100%;
		padding: 1em 0;
		text-align: center;
	}
	
	#headerFloat .nav_list_item a{
		font-size: 4.27vw;
		text-align: center;
	}
	
	#headerFloat .nav_list_item:last-child {
		position: static;
		transform: translate(0);
	}
	
	#headerFloat .nav_list_item:last-child a{
		width: 100%;
		height: 16vw;
		padding: 0;
		transform: translate(0);
	}



	/*--------------------------------------*/

	/*footer*/

	/*--------------------------------------*/

	.footer_wrap {
		padding: 9.67vw 0;
	}

	footer nav {
		width: 70vw;
		margin: 0 auto;
		padding-bottom: 10.67vw;
	}

	footer .nav_list_container {
		flex-wrap: wrap;
	}

	footer .nav_list_item {
		padding: 0 0 1.5em 0;
	}

	footer .nav_list_item:nth-child(1),
	footer .nav_list_item:nth-child(3) {
		width: 72%;
	}

	footer .nav_list_item:nth-child(2),
	footer .nav_list_item:nth-child(4) {
		width: 28%;
	}

	footer .nav_list_item a {
		font-size: 4.27vw;
	}

	footer .nav_list_item:last-child {
		padding-top: 5.33vw;
	}

	footer .nav_list_item:last-child a {
		width: 70vw;
		height: 10.67vw;
	}

	footer .nav_list_item:last-child a:hover {
		color: var(--darkblue);
		font-weight: 500;
		background-color: var(--lightblue);
	}

	.footer_wrap .tel_container {
		padding-bottom: 10.67vw;
	}

	.footer_wrap .tel_container a {
		font-size: 12vw;
	}

	.footer_wrap .inst_obj {
		width: 12vw;
	}

	footer .logo_container {
		padding: 9.67vw 0;
	}

	footer .logo_ico_obj {
		width: 30vw;
	}

	footer .copy_wrap {
		padding-bottom: 5.33vw;
	}

	footer .copy_wrap small {
		font-size: 3.2vw;
	}


	/*--------------------------------------*/

	/*top*/

	/*--------------------------------------*/

	/*mv_wrap--------------------------------*/

	.mv_wrap {
		width: 100%;
		height: calc(100vh - 39.33vw);
	}

	.mv_list_container {
		flex-wrap: wrap;
		position: relative;
	}

	.mv_list_item {
		width: calc(100% / 3);
		height: 50%;
		margin-top:  calc((100vh - 39.33vw)/4);
	}

	.mv_list_item:first-child {
		width: 100%;
		height: 25%;
		margin: 0;
		position: absolute;
		top: 0;
	}

	.mv_list_item:last-child {
		width: 100%;
		height: 25%;
		margin: 0;
		position: absolute;
		bottom: 0;
	}

	.catch_container {
		font-size: 8.53vw;
	}



	/*sec01--------------------------------*/

	.latest_news_wrap {
		padding: 10.67vw 0 0;
	}

	.latest_news_wrap .main_container {
		display: block;
		position: relative;
	}

	.latestnews_ttl {
		font-size: 8vw;
		width: 100%;
		padding: 0;
		box-sizing: border-box;
	}

	.latest_news_container {
		width: 100%;
		padding: 2.67vw 0 0;
		border-left: unset;
	}

	.latest_news_container a {
		display: block;
	}

	.latest_news_container a em {
		font-size: 3.73vw;
		display: block;
	}

	.latest_news_container a strong {
		font-size: 4.67vw;
		padding : .5em 0 0;
	}

	.latest_news_wrap .link_container {
		position: absolute;
		top: 0;
		right: 0;
		transform: translateY(-.4em);
	}



	/*sec02--------------------------------*/

	.top .concept_wrap {
		padding-bottom: 32vw;
	}

	.top .concept_wrap .sec_ttl {
		padding-bottom: 10.67vw;
		transform: translate(0);
	}

	.top .concept_wrap .lead_txt {
		text-align: left;
	}

	.top .concept_wrap::after {
		border-top: 8vw solid transparent;
		border-bottom:  8vw solid var(--black);
	}


	/*sec03--------------------------------*/

	.top .choose_wrap {
		background-color: var(--black);
	}

	.top .choose_container {
		transform: translateY(-21.33vw);
	}

	.top .choose_wrap .lead_txt {
		text-align: left;
		width: 90vw;
		margin: 0 auto;
	}

	.top .choose_wrap .choose_list_container {
		width: 90vw;
		padding-top: 10.67vw;
	}

	.top .choose_wrap .choose_list_item {
		display: block;
	}

	.top .choose_wrap .choose_list_item:not(:first-child) {
		padding-top: 10.67vw;
	}

	.top .choose_wrap .choose_list_item .img_container {
		width: 100%;
	}

	.top .choose_wrap .choose_list_item .txt_container {
		width: 100%;
	}

	.top .choose_wrap .plain_txt span {
		background-color: var(--main-color);
		padding: 0 2px;
		border-radius: 4px;
	}

	.top .choose_wrap .choose_list_item .choose_list_ttl {
		font-size: 6.4vw;
		padding: 10.67vw 0 5.33vw;
	}

	.top .choose_wrap .choose_list_item .choose_list_ttl::before {
		font-size: 24.53vw;
		left: .1em;
		transform: translateY(-70%);
	}

	.top .choose_wrap::after {
		content: '';
		display: block;
		position: absolute;
		left:0;
		bottom: -1px;
		overflow: hidden;
		border-top:40px solid transparent;
		border-left: 51vw solid transparent;
		border-right: 51vw solid var(--white);
		border-bottom:  40px solid var(--white);
	}


	/*sec04--------------------------------*/

	.top .inst_wrap .sec_ttl {
		padding-bottom: 0;
	}

	.top .inst_container {
		transform: translateY(-21.33vw) rotate(-5deg);
	}


	/*sec05--------------------------------*/

	.top .trial_wrap .bg_container {
		padding-bottom: 32vw;
	}

	.top .trial_wrap::before {
		background-color: rgba(0,0,0,.5);
	}

	.top .trial_wrap .elm {
		position: relative;
		z-index: 1;
	}

	.top .trial_wrap .sec_ttl {
		transform: translateY(16vw);
		padding-bottom: 21.33vw;
	}

	.top .trial_container {
		width: 90vw;
		padding: 8vw 0;
	}

	.top .trial_list_container {
		display: block;
	}

	.top .trial_list_item + .trial_list_item {
		padding-top: 10.67vw;
	}

	.top .trial_list_item em {
		font-size: 6.4vw;
	}

	.top .trial_list_item strong {
		font-size: 80vw;
	}

	.top .trial_list_item strong i {
		font-size: 8vw;
	}

	.top .bg_container::before {
		border-top: 8vw solid var(--white);
		border-bottom: 8vw solid transparent;
	}

	.top .bg_container::after {
		border-top: 8vw solid transparent;
		border-bottom:  8vw solid var(--black);
	}


	/*sec06--------------------------------*/

	.top .flow_wrap::after {
		content: '';
		display: block;
		position: absolute;
		left:0;
		bottom: -1px;
		overflow: hidden;
		border-top:40px solid transparent;
		border-left: 51vw solid transparent;
		border-right: 51vw solid var(--main-color);
		border-bottom:  40px solid var(--main-color);
	}

	.top .flow_list_container {
		transform: translateY(-21.33vw);
	}

	.top .flow_list_item {
		display: block;
	}

	.top .flow_list_item:not(:first-child) {
		margin-top: 14.49vw;
	}

	.top .flow_list_item .img_container {
		width: 100%;
		height: 60vw;
		overflow: hidden;
		border-radius: 15px 15px 0 0;
	}

	.top .flow_list_item .txt_container {
		width: 100%;
		padding: 5.33vw 3vw;
	}

	.top .flow_list_item .lead_txt {
		padding: 0 0 4vw 6em;
	}

	.top .flow_list_item .lead_txt::before {
		font-size: 3.2rem;
	}

	.top .flow_list_item .plain_txt {
		line-height: 1.46em;
		padding-bottom: unset;
	}

	.top .flow_list_item .btn_container {
		padding-top: 5.33vw;
	}

	.top .flow_list_item .btn_container a {
		width: 6s0vw;
		height: 10.67vw;
	}


	/*sec07--------------------------------*/

	.top .plan_wrap {
		padding-bottom: 21.33vw;
	}

	.top .plan_container {
		width: 92vw;
		margin-left: 5vw;
		transform: translateY(-21.33vw);
	}

	.top .plan_container + .plan_container {
		padding-top: 16vw;
	}

	.top .plan_container .lead_txt {
		text-align: left;
	}

	.swipe_wrap {
		width: 95vw;
		overflow-x: scroll;
		position: relative;
	}

	.swipe_txt {
		font-size: 3.73vw;
		font-weight: 500;
		color: var(--white);
		padding-bottom: 2.67vw;
	}

	.swipe_container {
		width: 45vw;
		padding: 3vw .8vw;
		box-sizing: border-box;
		background-color: rgba(0,0,0,.7);
		border-radius: 10px;
		font-size: 2.93vw;
		font-weight: 500;
		color: var(--white);
		text-align: center;
		position: absolute;
		top: 55%;
		left: 20vw;
		transform: translateY(-50%);
	}

	.swipe_container svg {
		display: block;
		margin: 0 auto 3vw;
		width: 40%;
		fill: var(--white);
	}

	.top .plan_table {
		width: 920px;
		margin-right: 5vw;
	}

	.top .plan_table thead th {
		padding: 2.67vw .33vw;
		font-size: 4.27vw;
	}

	.top .plan_container tbody th,
	.top .plan_container tbody td {
		padding: 2.67vw .33vw;
		font-size: 4.27vw;
	}

	.top .plan_container tbody th i,
	.top .plan_container tbody td i {
		font-size: 3.2vw;
	}

	.top .plan_container tbody td ul li {
		font-size:  3.73vw;
	}

	.top .plan_wrap .btn_container {
		transform: translateY(-21.33vw);
	}

	.top .plan_wrap .btn_container a {
		background-color: var(--white);
		color: var(--main-color);
	}

	.top .plan_wrap .btn_container a:hover {
		background-color: var(--darkblue);
		color: var(--white);
	}

	.top .plan_wrap::after {
		border-top: 8vw solid transparent;
		border-bottom: 8vw solid var(--black);
	}


	/*sec08--------------------------------*/

	.top .trainer_wrap .sub_ttl {
		text-align: center;
	}

	.top .trainer_wrap .trainer_container {
		flex-direction: column-reverse;
		transform: translateY(-21.33vw);
	}

	.top .trainer_wrap .txt_container {
		width: 100%;
	}

	.top .trainer_wrap .img_container {
		width: 80%;
		padding-bottom: 8vw;
	}

	.top .trainer_wrap::after {
		border-top: 8vw solid transparent;
		border-bottom:  8vw solid var(--gray);
	}


	/*sec09--------------------------------*/

	.top .map_wrap {
		background-color: var(--gray);
	}

	.top .map_container {
		height: 93.33vw;
		transform: translateY(-21.33vw);
	}

	.top .add_list_container {
		margin: 5.33vw auto 0;
		transform: translateY(-21.33vw);
	}

	.top .add_list_container dt {
		font-size: 4.27vw;
	}

	.top .add_list_container dd {
		font-size: 4.27vw;
	}

	.top .map_wrap::after {
		border-top: 8vw solid transparent;
		border-bottom:  8vw solid var(--white);
	}


	/*sec10--------------------------------*/

	.top .faq_wrap {
		padding-bottom: 0;
	}

	.top .faq_list_container {
		transform: translateY(-21.33vw);
	}

	.top dt.faq_list_item {
		width: 100%;
		padding: 2.67vw 11vw 2.67vw 13vw;
		margin-bottom: 5.33vw;
		font-size: 4.27vw;
	}

	.top dt.faq_list_item::before {
		font-size: 8.53vw;
		left: 4vw;
	}

	.top dt.faq_list_item::after {
		font-size: 6.4vw;
		right: 4vw;
	}

	.top .answer_container {
		padding: 0 0 0 13vw;
		margin-bottom: 5.33vw;
		font-size: 4.27vw;
	}

	.top .answer_container::before {
		font-size: 8.53vw;
		left: 4vw;
	}



/*-------------------------------------*/
}