@charset"utf-8";

/*base--------------------------------*/

*{
	font-family: 'Noto Sans JP', sans-serif, 'Meiryo', 'メイリオ', 'ヒラギノ 角ゴPro W3', 'Hiragino Kaku Gothic Pro', 'MS PGothic', 'ＭＳ Ｐゴシック';
	font-size: 100%;
	}
.container figcaption {
	font-size: 0.75em;
}

html, body {
	height: 100%;
}

body{
	width: 100%;
	margin: 0;
	padding: 0;
	overflow-x: hidden;
	overflow-y: scroll;
}

/* よく登場する要素のリセット */

h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, caption, th, td, img, form, div {
	margin: 0;
	padding: 0;
	border: none;
	font-style: normal;
	font-weight: normal;
	font-size: 1.6rem;
	letter-spacing: .05em;
	line-height: 1.64em;
	text-align: left;
	list-style-type: none;
	font-family: 'Noto Sans JP', 'Meiryo', 'メイリオ', 'ヒラギノ 角ゴPro W3', 'Hiragino Kaku Gothic Pro', 'MS PGothic', 'ＭＳ Ｐゴシック';
	color: #333;
}

/* テキストエリア内文字サイズのブラウザ間での差異をなくす */
textarea { font-size: 100%; }

/* 画像の下にできる隙間をなくす */
img {
	vertical-align: bottom;
}

.cf:after {
	content: ".";	/* 新しい要素を作る */
	display: block;	/* ブロックレベル要素に */
	clear: both;
	height: 0;
	visibility: hidden;
}

.cf {
	min-height: 1px;
}

* html .cf {
	height: 1px;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}

ruby rt {
	font-size: 50%;
}
@-moz-document url-prefix() {
	ruby rt {
		font-size: 50%;
	}
}

:root {
	font-size: 10px;
	--main-color: #6699cc;
	--lightblue: #afd1f3;
	--darkblue: #133150;
	--white: #fff;
  	--black: #282828;
	--gray: #ececec;
	--yellow: #eee25c;
}

.oswald {
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
}

.serif {
	font-family: "Noto Serif", serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-variation-settings: "wdth" 100;
}


/*common--------------------------------*/

#wrap {
	overflow: hidden;
}

a:link,
a:visited,
a:active {
	color: inherit;
	text-decoration: none;
}

a:focus {
	outline:none;
	text-decoration: none;
}

a.underline {
	text-decoration: underline;
}

.hover {
	transition: .3s ease-out;
}

.hover:hover {
	opacity:0.6;
	zoom:1;
	transition: .3s ease-out;
}

.disabled {
	pointer-events: none;
}

.pc {
	display: block;
}

.sp,
.tab {
	display: none;
}

.red {
	color: #cc0000;
}

.fit {
	width: 100%;
}

.zoom {
	transition-duration: 0.3s;
}

.zoom:hover {
	transform: scale(1.1);
	transition-duration: 0.3s;
}

.fade_up{
    animation-name:fadeUpAnime;
    animation-duration:1.5s;
    animation-fill-mode:forwards;
    opacity:0;
}
@keyframes fadeUpAnime{
    0% {
      opacity: 0;
      transform: translateY(0);
    }
    50% {
      opacity: 0;
      transform: translateY(0);
    }
    100% {
      opacity: 1;
      transform: translateY(-130px);
    }
}


section {
	padding-bottom: 160px;
	position: relative;
}

.main_container {
	width: 91.67vw;
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
}

.sec_ttl {
	width: 90vw;
	max-width: 1200px;
	margin: 0 auto;
	padding-bottom: 60px;
	transform: translateY(-20px);
}

.sec_ttl em {
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 7.2rem;
	font-weight: 300;
	color: var(--main-color);
	letter-spacing: .1em;
}

.sec_ttl strong {
	font-family: "Noto Serif", serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 2.4rem;
	font-weight: 700;
	color: var(--black);
	letter-spacing: .1em;
}

.sub_ttl {
	font-family: "Noto Serif", serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 4.8rem;
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 1.33em;
	text-align: center;
	padding-bottom: 30px;
	margin-bottom: 40px;
	position: relative;
}

.sub_ttl::after {
	content: '';
	display: block;
	width: 100px;
	height: 2px;
	background-color: var(--yellow);
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);

}

.lead_txt {
	font-size: 2.4rem;
	font-weight: 500;
	letter-spacing: .05em;
	text-align: center;
	padding-bottom: 30px;
}

.plain_txt {
	font-size: clamp(1.6rem, 1.25vw, 1.8rem);
	font-weight: 400;
	line-height: 2em;
	padding-bottom: 1em;
}

.btn_container {
	padding-top: 60px;
}

.btn_container a {
	width: 400px;
	height: 80px;
	margin: 0 auto;
	background-color: var(--main-color);
	font-size: 3rem;
	font-weight: 500;
	color: var(--white);
	display: flex;
	justify-content: center;
	align-items: center;
	transition-duration: 0.3s;
}

.btn_container a:hover {
	background-color: var(--darkblue);
	transition-duration: 0.3s;
}

.fa-external-link-alt {
	padding-left: .5em;
}

.link_container {
	padding: 15px 0 15px;
}

.link_container a {
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 1.6rem;
	font-weight: 300;
	line-height: 1em;
	padding-right: 50px;
	position: relative;
}

.link_container a::after {
	content: '';
	display: block;
	width: 5px;
	height: 5px;
	border-top: 2px solid var(--black);
	border-right: 2px solid var(--black);
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%) rotate(45deg);
}

.anchor#concept
.anchor#trainer,
.anchor#access {
	padding: 140px;
	margin: -140px;
}

.anchor#trial,
.anchor#plan {
	padding: 80px;
	margin: -80px;
}


/*--------------------------------------*/

/*header*/

/*--------------------------------------*/

header {
	width: 100%;
	position: relative;
	z-index: 99999;
}

header .logo_container {
	width: 100%;
	background-color: var(--white);
	padding: 10px 0;
}

header .logo_container a {
	display: block;
	width: 123px;
	margin: 0 auto;
}

header nav {
	width: 100%;
	padding: 35px 0;
	background-color: var(--black);
	display: flex;
	justify-content: center;
}

header .nav_list_container {
	display: flex;
	align-items: center;
	transition: .3s ease-out;
}

header .nav_list_item {
	padding: 0 1.5em;
	transition: .3s ease-out;
}

header .nav_list_item a {
	font-size: 1.8rem;
	font-weight: 400;
	color: var(--white);
	transition: .3s ease-out;
}

header .nav_list_item a:hover {
	color: var(--main-color);
	transition: .3s ease-out;
}

header .nav_list_item:last-child a {
	width: 180px;
	height: 50px;
	background-color: var(--main-color);
	display: flex;
	justify-content: center;
	align-items: center;
}

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 20px;
	box-sizing: border-box;
	background-color: var(--white);
	box-shadow: 2px 2px 2px rgba(0,0,0,.2);
	display: flex;
	justify-content: space-between;
	align-items: center;
  }
  
  #headerFloat .logo_container{ width: 70px; }
  #headerFloat .logo_container a{ width: 100%; }
  
  #headerFloat nav{
	width: unset;
	padding: 15px 0;
	background-color: unset;
	display: flex;
	justify-content: flex-end;
  }
  
  #headerFloat .nav_list_container{ justify-content: flex-end; }
  #headerFloat .nav_list_item{ padding: 0 1em; }
  
  #headerFloat .nav_list_item a{
	font-size: 1.6rem;
	color: unset;
  }
  
  #headerFloat .nav_list_item:last-child a{
	width: 140px;
	height: 40px;
	color: var(--white);
  }



/*--------------------------------------*/

/*footer*/

/*--------------------------------------*/

.footer_wrap {
	background-color: var(--black);
	padding: 80px 0;
}

footer nav {
	width: 100%;
	display: flex;
	justify-content: center;
	padding-bottom: 50px;
}

footer .nav_list_container {
	display: flex;
	align-items: center;
	transition: .3s ease-out;
}

footer .nav_list_item {
	padding: 0 1.5em;
	transition: .3s ease-out;
}

footer .nav_list_item a {
	font-size: 1.8rem;
	font-weight: 400;
	color: var(--white);
	transition: .3s ease-out;
}

footer .nav_list_item a:hover {
	color: var(--main-color);
	transition: .3s ease-out;
}

footer .nav_list_item:last-child a {
	width: 180px;
	height: 50px;
	background-color: var(--main-color);
	display: flex;
	justify-content: center;
	align-items: center;
}

footer .nav_list_item:last-child a:hover {
	color: var(--darkblue);
	font-weight: 500;
	background-color: var(--lightblue);
}

.footer_wrap .tel_container {
	text-align: center;
	padding-bottom: 40px;
}

.footer_wrap .tel_container a {
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 7.2rem;
	font-weight: 700;
	color: var(--white);
	letter-spacing: 0;
}

.footer_wrap .sns_list_container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.footer_wrap .inst_obj {
	width: 70px;
}

footer .logo_container {
	padding: 40px 0;
}

footer .logo_container {
	display: flex;
	flex-direction: column;
	align-items: center;
}

footer .copy_wrap {
	text-align: center;
	padding-bottom: 40px;
}

footer .copy_wrap small {
	font-size: 1.2rem;
	letter-spacing: .1em;
}


/*--------------------------------------*/

/*top*/

/*--------------------------------------*/

/*mv_wrap--------------------------------*/

.mv_wrap {
	width: 100%;
	height: calc(100vh - 230px);
	position: relative;
}

.mv_list_container {
	width: 100%;
	height: 100%;
	display: flex;
}

.mv_list_item {
	width: 20%;
	height: 100%;
}

.mv_list_obj {
	display: block;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: cover;
}

.mv_list_obj01 {
	background-position: 25% center;
}

.mv_list_obj02 {
	background-position: 40% center;
}

.mv_list_obj03 {
	background-position: 35% center;
}

.mv_list_obj04 {
	background-position: center center;
}

.mv_list_obj05 {
	background-position: 60% center;
}


.catch_container {
	font-family: "Noto Serif", serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: clamp(3.6rem, 4.86vw, 7.2rem);
	font-weight: 700;
	color: var(--white);
	letter-spacing: .01em;
	white-space: nowrap;
	text-shadow: 0 0 10px rgba(0,0,0,.8);
	position: absolute;
	top: 52%;
	left: 50%;
	z-index: 999;
	transform: translate(-50%,-50%);
}

.mv_list_item {
  overflow: hidden;
}

.catch_container {
  opacity: 0;
}

.mv_list_container.is-animating{
  position: relative;
}

.mv_list_container.is-animating .mv_list_item{
  position: absolute;
  top: 0;
  height: 100%;
}

/*sec01--------------------------------*/

.latest_news_wrap {
	padding: 120px 0 180px;
}

.latest_news_wrap .main_container {
	display: flex;
}

.latestnews_ttl {
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	font-size: 3rem;
	font-weight: 600;
	font-style: normal;
	color: var(--main-color);
	line-height: 1em;
	letter-spacing: .1em;
	width: 140px;
	padding: 15px 60px 15px 0;
	box-sizing: border-box;
}

.latest_news_container {
	width: calc(100% - 280px);
	padding: 15px 60px 15px;
	box-sizing: border-box;
	border-left: 2px solid var(--black);
}

.latest_news_container a {
	display: flex;
}

.latest_news_container a em {
	font-size: 1.8rem;
	font-weight: 500;
	font-style: normal;
	line-height: 1.67em;
	letter-spacing: .05em;
}

.latest_news_container a strong {
	font-size: 1.8rem;
	font-weight: 500;
	font-style: normal;
	letter-spacing: .05em;
	padding-left: 3em;
}



/*sec02--------------------------------*/

.top .concept_wrap {
	padding-bottom: 180px;
}

.top .concept_wrap .elm {
	width: 90vw;
	margin: 0 auto;
}

.top .concept_wrap .sub_ttl {
	color: var(--darkblue);
	margin-bottom: 0;
}

.top .concept_wrap .sub_ttl::after {
	display: none;
}

.top .concept_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(--black);
	border-bottom:  40px solid var(--black);
}


/*sec03--------------------------------*/

.top .choose_wrap {
	background-color: var(--black);
}

.top .choose_wrap .sec_ttl strong,
.top .choose_wrap .sub_ttl,
.top .choose_wrap .lead_txt,
.top .choose_wrap .plain_txt {
	color: var(--white);
	position: relative;
	z-index: 1;
}

.top .choose_wrap .choose_list_container {
	width: clamp(338px , 90vw, 1380px);
	margin: 0 auto;
	padding-top: 60px;
}

.top .choose_wrap .choose_list_item {
	display: flex;
	justify-content: space-between;
}

.top .choose_wrap .choose_list_item:not(:first-child) {
	padding-top: 80px;
}

.top .choose_wrap .choose_list_item:nth-child(odd) {
	flex-direction: row-reverse;
}

.top .choose_wrap .choose_list_item .img_container {
	width: 40%;
}

.top .choose_wrap .choose_list_item .txt_container {
	width: 55%;
}

.top .choose_wrap .choose_list_item .choose_list_obj {
	width: 100%;
	box-shadow: 10px 10px 0 rgba(102,153,204,.7);
}

.top .choose_wrap .plain_txt span {
	background-color: var(--darkblue);
	padding: 0 2px;
	border-radius: 4px;
}

.top .choose_wrap .choose_list_item .choose_list_ttl {
	font-family: "Noto Serif", serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: clamp(2.4rem, 2.22vw, 3.2rem);
	font-weight: 700;
	color: var(--white);
	padding: 80px 0 40px;
	position: relative;
}

.top .choose_wrap .choose_list_item .choose_list_ttl::before {
	display: block;
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	font-size: 9.2rem;
	font-weight: 600;
	font-style: normal;
	color: var(--yellow);
	position: absolute;
	top: 0;
	left: 0;
}

.top .choose_wrap .choose_list_item:nth-child(1) .choose_list_ttl::before {
	content: '01';
}

.top .choose_wrap .choose_list_item:nth-child(2) .choose_list_ttl::before {
	content: '02';
}

.top .choose_wrap .choose_list_item:nth-child(3) .choose_list_ttl::before {
	content: '03';
}

.top .choose_wrap .choose_list_item:nth-child(4) .choose_list_ttl::before {
	content: '04';
}

.top .choose_wrap .choose_list_item:nth-child(5) .choose_list_ttl::before {
	content: '05';
}

.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 {
	width: 90vw;
	max-width: 1200px;
	margin: 0 auto;
	transform: rotate(-2.5deg);
}

.top .inst_container .link_container {
	text-align: right;
}


/*sec05--------------------------------*/

.top .trial_wrap {
	background: url('../img/fitness_obj.jpg') center bottom / cover no-repeat;
	padding: 0;
}

.top .trial_wrap .elm {
	width: 90vw;
	margin: 0 auto;
}

.top .trial_wrap .bg_container {
	width: 100%;
	height: 100%;
	padding-bottom: 160px;
	position: relative;
}

.top .trial_wrap::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.7);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

.top .trial_wrap .elm {
	position: relative;
	z-index: 1;
}

.top .trial_wrap .sec_ttl {
	transform: translateY(60px);
	padding-bottom: 140px;
}

.top .trial_wrap .sec_ttl strong,
.top .trial_wrap .sub_ttl,
.top .trial_wrap .lead_txt {
	color: var(--white);
}

.top .trial_container {
	width: 768px;
	margin: 0 auto;
	padding: 50px 0;
	box-sizing: border-box;
	background-color: rgba(102,153,204,.7);
	border-radius: 10px;
}

.top .trial_list_container {
	display: flex;
	justify-content: space-around;
}

.top .trial_list_item {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
}

.top .trial_list_item em {
	font-size: 3rem;
	font-weight: 500;
	font-style: normal;
	color: var(--white);
	letter-spacing: .05em;
	line-height: 1em;
}

.top .trial_list_item strong {
	font-family: "Noto Serif", serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 30rem;
	font-weight: 700;
	color: var(--yellow);
	letter-spacing: .1em;
	line-height: .8em;
}

.top .trial_list_item strong i {
	font-style: normal;
	font-size: 4.8rem;
	font-weight: 700;
	color: var(--white);
	letter-spacing: .1em;
	line-height: 1em;
	position: absolute;
	bottom: 0;
	right: 50%;
	transform: translateX(2.5em);
}

.top .bg_container::before {
	content: '';
	display: block;
	position: absolute;
	left:0;
	top: -1px;
	overflow: hidden;
	border-top: 40px solid var(--white);
	border-left: 51vw solid var(--white);
	border-right: 51vw solid transparent;
	border-bottom: 40px solid transparent;
}

.top .bg_container::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(--black);
	border-bottom:  40px solid var(--black);
}


/*sec06--------------------------------*/

.top .flow_wrap {
	background-color: var(--black);
}

.top .flow_wrap .sec_ttl strong {
	color: var(--white);
}

.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 {
	width: 90vw;
	max-width: 1200px;
	margin: 0 auto;
}

.top .flow_list_item {
	display: flex;
	justify-content: space-between;
	background-color: var(--white);
	border-radius: 20px;
	border: 5px solid var(--darkblue);
	position: relative;
}

.top .flow_list_item:not(:first-child) {
	margin-top: 60px;
}

.top .flow_list_item:not(:first-child)::before {
	content: '';
	display: block;
	border-left: 30px solid transparent;
	border-right: 30px solid transparent;
	border-top: 30px solid var(--yellow);
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -160%);
}

.top .flow_list_item .img_container {
	width: 25%;
	overflow: hidden;
	border-radius: 15px 0 0 15px;
}

.top .flow_list_item .txt_container {
	width: 70%;
	padding: 30px 20px 30px 0;
	box-sizing: border-box;
}

.top .flow_list_obj {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.top .flow_list_item .lead_txt {
	font-weight: 700;
	text-align: left;
	padding: 0 0 20px 6em;
	position: relative;
}

.top .flow_list_item .lead_txt::before {
	display: block;
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	font-size: 4.2rem;
	font-weight: 300;
	font-style: normal;
	color: var(--yellow);
	position: absolute;
	top: 0;
	left: 0;
}

.top .flow_list_item:nth-child(1) .lead_txt::before {
	content: 'STEP 01';
}

.top .flow_list_item:nth-child(2) .lead_txt::before {
	content: 'STEP 02';
}

.top .flow_list_item:nth-child(3) .lead_txt::before {
	content: 'STEP 03';
}

.top .flow_list_item:nth-child(4) .lead_txt::before {
	content: 'STEP 04';
}

.top .flow_list_item:nth-child(5) .lead_txt::before {
	content: 'STEP 05';
}

.top .flow_list_item .btn_container {
	padding-top: 10px;
}

.top .flow_list_item .btn_container a {
	width: 300px;
	height: 60px;
}


/*sec07--------------------------------*/

.top .plan_wrap {
	background-color: var(--main-color);
}

.top .plan_wrap .sec_ttl em,
.top .plan_wrap .sec_ttl strong,
.top .plan_wrap .sub_ttl,
.top .plan_wrap .lead_txt {
	color: var(--white);
}

.top .plan_container {
	width: 90vw;
	max-width: 1200px;
	margin: 0 auto;
}

.top .plan_container + .plan_container {
	padding-top: 80px;
}

.top .plan_table {
	width: 100%;
}

.top .plan_table thead th {
	min-width: 6em;
	padding: 30px 20px;
	background-color: var(--black);
	text-align: center;
	font-weight: 700;
	font-size: clamp(1.6rem, 1.67vw, 2.4rem);
	color: var(--white);
	line-height: 1.5em;
	letter-spacing: .1em;
}

.top .plan_container tbody th,
.top .plan_container tbody td {
	padding: 30px 20px;
	background-color: var(--white);
	text-align: center;
	font-size: clamp(1.6rem, 1.67vw, 2.4rem);
	font-weight: 700;
	line-height: 1.5em;
	letter-spacing: .1em;
}

.top .plan_container tbody th i,
.top .plan_container tbody td i {
	display: block;
	font-size:  clamp(1.2rem, 1.25vw, 1.8rem);
	font-weight: 500;
	font-style: normal;
	letter-spacing: .05em;
}

.top .plan_container tbody td ul li {
	font-size:  clamp(1.2rem, 1.25vw, 1.8rem);
	font-weight: 700;
	font-style: normal;
	letter-spacing: .05em;
	line-height: 1.33em;
	padding: 0 0 .67em 1em;
	text-indent: -1em;
}

.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 {
	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(--black);
	border-bottom:  40px solid var(--black);
}


/*sec08--------------------------------*/

.top .trainer_wrap {
	background-color: var(--black);
}

.top .trainer_wrap .sec_ttl em,
.top .trainer_wrap .sec_ttl strong,
.top .trainer_wrap .sub_ttl,
.top .trainer_wrap .lead_txt,
.top .trainer_wrap .plain_txt {
	color: var(--white);
}

.top .trainer_wrap .sub_ttl {
	text-align: left;
	margin-bottom: 0;
}

.top .trainer_wrap .sub_ttl::after {
	display: none;
}

.top .trainer_wrap .sub_ttl i {
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	font-size: 2rem;
	font-weight: 300;
	font-style: normal;
	padding-left: 1em;
}

.top .trainer_wrap .trainer_container {
	width: 90vw;
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.top .trainer_wrap .txt_container {
	width: 48%;
}

.top .trainer_wrap .img_container {
	width: 45%;
}

.top .trainer_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(--gray);
	border-bottom:  40px solid var(--gray);
}


/*sec09--------------------------------*/

.top .map_wrap {
	background-color: var(--gray);
}

.top .map_container {
	width: 90vw;
	max-width: 1200px;
	height: 450px;
	margin: 0 auto;
	overflow: hidden;
}

.top .add_list_container {
	width: 91.67vw;
	max-width: 1200px;
	margin: 30px auto 0;
}

.top .add_list_container dt {
	font-size: 1.8rem;
	font-weight: 900;
	line-height: 1.67em;
	letter-spacing: .05em;
}

.top .add_list_container dd {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.67em;
	letter-spacing: .05em;
}

.top .map_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);
}


/*sec10--------------------------------*/

.top .faq_list_container {
	width: 90vw;
	max-width: 1200px;
	margin: 0 auto;
}

.top dt.faq_list_item {
	width: 100%;
	padding: 30px 80px;
	box-sizing: border-box;
	background-color: var(--main-color);
	margin-bottom: 30px;
	font-size: 1.8rem;
	font-weight: 700;
	color: var(--white);
	position: relative;
	cursor: pointer;
}

.top dt.faq_list_item::before {
	content: 'Q';
	display: block;
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 3.2rem;
	font-weight: 700;
	color: var(--yellow);
	position: absolute;
	top: 50%;
	left: 30px;
	transform: translateY(-50%);
}

.top dt.faq_list_item::after {
	content: '＋';
	display: block;
	font-size: 2.4rem;
	font-weight: 900;
	color: var(--white);
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
}

.top dt.faq_list_item.current::after {
	content: '－';
}

.top dd.faq_list_item {
	display: none;
}

.top .answer_container {
	padding: 0 10px 0 80px;
	box-sizing: border-box;
	margin-bottom: 30px;
	font-size: 1.8rem;
	font-weight: 700;
	position: relative;
}

.top .answer_container::before {
	content: 'A';
	display: block;
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 3.2rem;
	font-weight: 700;
	color: var(--main-color);
	position: absolute;
	top: 0;
	left: 30px;
}




@media screen and (min-width: 768px) and (max-width: 940px) {
}
