@charset "UTF-8";

/*---------------------------------------------------------
	Template:sw-new
	Theme Name:sw_child-new
	Theme URI: http://【hoge.jp】/
	Description: 【suworks】ホームページテンプレートです。
	Author: SUWO!RKS
	Author URI: http://su-works.jp/
	Version: 1.0
---------------------------------------------------------*/
/* header */
.trial a {
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	font-size: 14px;
	text-align: center;
	height: 110px;
	background: #21B8C5;
	padding-bottom: 10px;
	position: relative;
	font-weight: bold;
	padding: 10px;
}

.trial a:before {
	content: '';
	position: absolute;
	top: 20px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	width: 45px;
	height: 47px;
	background: url(img/icon-trial.svg) no-repeat center center / contain;
}

.join a {
	color: #3E3A39;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	font-size: 14px;
	text-align: center;
	height: 110px;
	background: #FFEA00;
	padding-bottom: 10px;
	position: relative;
	font-weight: bold;
	padding: 10px;
	min-width: 110px;
}

.join a:before {
	content: '';
	position: absolute;
	top: 20px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	width: 50px;
	height: 49px;
	background: url(img/icon-join.svg) no-repeat center center / contain;
}

/* mv */
.mv_banner {
	display: block;
	position: absolute;
	max-width: 450px;
	width: 26vw;
	bottom: -12%;
	left: 0;
}

@media screen and (max-width: 680px) {
	.mv_banner {
		width: 56vw;
		bottom: -60%;
		display: none;
	}
}

/* common */
.entry p.subt {
	font-weight: 700;
	font-style: normal;
	letter-spacing: 0.05em;
	color: #21B8C5;
	margin-bottom: 0;
	text-transform: uppercase;
	text-align: left;

}

.center {
	text-align: center !important;
}

.full_inner{
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 20px;
}

/* about */
.about_wrap .div_2col>div:nth-child(1) {
	width: 60%;
	padding-right: 40px;
}

.about_wrap .div_2col>div:nth-child(2) {
	width: 40%;
}

.about_wrap .full-width {
	margin: 100px 0 150px;
}

@media screen and (max-width: 680px) {
	.about_wrap .div_2col>div:nth-child(1) {
		width: 100%;
		padding-right: 0;
	}

	.about_wrap .div_2col>div:nth-child(2) {
		width: 100%;
	}

	.about_wrap .full-width {
		margin: 50px 0 100px;
	}

}

/* price */
.entry .price_wrap {
	padding-top: 200px;
	background: #21B8C5;
	position: relative;
	color: #fff;
}

.entry .price_wrap:before {
	width: 100%;
	height: 100px;
	position: absolute;
	content: '';
	background: #fff;
	height: calc(tan(70deg) * 100px / 2);
	clip-path: polygon(0 0, 0% 100%, 100% 0);
	left: 0;
	top: 0;
}

.home .widget-full-width .widget_pageContent {
	max-width: 1200px;
	width: 98%;
	padding-left: 1%;
	padding-right: 1%;
	margin-left: auto;
	margin-right: auto;
}

.entry .price_wrap p.subt {
	color: #FF6C00;
}

.price_wrap .lead {
	text-align: center;
}

h2.monthly_price {
	margin-top: 100px;
}

.price_box {
	max-width: 800px;
	margin: 0 auto 100px;
}

.price_box .price_bar {
	display: flex;
	align-items: center;
	padding: 20px;
	justify-content: center;
	flex-wrap: wrap;
}

.price_box .price_bar01 {
	background: #FFD53F;
}

.price_box .price_bar02 {
	background: #FFC700;
}

.price_box .price_bar03 {
	background: #FFA900;
}

.price_box .price_bar04 {
	background: #FF8A00;
}

.price_box .price_bar05 {
	background: #FF6C00;
}

.price_box .price_bar:nth-child(n+2) {
	margin-top: 20px;
}

.price_box .price_bar p {
	margin: 0;
	line-height: 1.0;
}

.price_box .price_bar .month {
	font-size: 30px;
	padding: 10px 20px;
	border: 1px solid #fff;
	font-weight: bold;
	line-height: 1.0;
}

.price_box .price_bar .month span {
	font-size: 40px;
}

.price_box .price_bar .cost {
	font-size: 50px;
	font-weight: bold;
	width: 300px;
	text-align: center;
}

.price_box .price_bar .cost span {
	font-size: 70px;
}

.price_box .price_bar .caption {
	font-size: 20px;
	font-weight: bold;
}

@media screen and (max-width: 680px) {
	.price_box .price_bar{
		padding: 10px 20px;
	}
	.price_box .price_bar p {
		margin-bottom: 10px;
	}
	.price_box .price_bar .month {
	font-size: 20px;
	padding: 5px 10px;
		margin-right: 20px;
}

.price_box .price_bar .month span {
	font-size: 30px;
}

.price_box .price_bar .cost {
	font-size: 30px;
	width: inherit;
}

.price_box .price_bar .cost span {
	font-size: 50px;
}

.price_box .price_bar .caption {
	font-size: 16px;
	width: 100%;
	text-align:center;
}
}

/* reason */
.entry .reason_wrap {
	background: #006BAA;
	color: #fff;
	padding: 100px 0;
}

body:not(.home) .entry .reason_wrap {
	margin-left: calc(((100vw - 100%) / 2) * -1) !important;
	margin-right: calc(((100vw - 100%) / 2) * -1) !important;
	overflow: hidden;
	box-sizing: content-box;
}

.entry .reason_wrap h2 {
	text-align: center;
}

.entry .reason_wrap h2 span {
	font-size: 1.8em;
}

.entry .reason_wrap h3 {
	display: flex;
	margin: 0 0 20px;
	background: #302D2C;
	min-height: 90px;
	align-items: center;
	justify-content: center;
	padding: 0;
	line-height: 1.17;
	font-weight: 900;
	position: relative;
	font-size: clamp(20px, 1.8vw, 28px);
	padding: 10px 20px;
}

.entry .reason_wrap h3:before {
	width: 20px;
	position: absolute;
	content: '';
	background: #006BAA;
	height: calc(tan(60deg) * 20px / 2);
	clip-path: polygon(0 0, 0% 100%, 100% 0);
	left: 0;
	top: 0;
}

.entry .reason_wrap h3:after {
	width: 20px;
	position: absolute;
	content: '';
	background: #006BAA;
	height: calc(tan(60deg) * 20px / 2);
	clip-path: polygon(100% 100%, 100% 0, 0 100%);
	right: 0;
	bottom: -1px;
}

.entry .adv_wrap {
	padding: 100px 0;
}

.adv_wrap .panelex_link, .advantage .panelex_link {
	margin-bottom: 100px;
}

.access_wrap .access_txt {
	font-weight: bold;
	font-size: 22px;
}

.access_wrap .access_box {
	width: 45%;
	padding-right: 20px;
}

.access_wrap .map {
	width: 55%;
}

@media screen and (max-width: 680px) {
	.access_wrap .access_box {
		width: 100%;
		padding-right: 0;
	}

	.access_wrap .map {
		width: 100%;
	}

	.access_wrap .access_txt {
	font-weight: bold;
	font-size: 18px;
}

}

/* trainer */
.entry .tr_wrap {
	padding-top: 200px;
	background: #F0F0F0;
	position: relative;
}

.entry .tr_wrap:before {
	width: 100%;
	position: absolute;
	content: '';
	background: #fff;
	height: calc(tan(70deg) * 100px / 2);
	clip-path: polygon(0 0, 100% 100%, 100% 0);
	left: 0;
	top: 0;
}

/* experience */
.entry .ex_wrap {
	background: #21B8C5;
	padding: 100px 0;
}

.entry .ex_wrap .subt {
	color: #FFEA00;
}

.entry .ex_wrap h2 {
	color: #fff;
}

.entry .ex_wrap .lead {
	color: #fff;
}

.col10 .entry .ex_wrap .div_4col h3 {
	margin: 0;
	padding: 0;
}

.col10 .entry .ex_wrap .div_4col p {
	text-align: center;
}

.col10 .entry .ex_wrap .div_4col>div {
	width: calc(25% - 30px);
	position: relative;
}

.col10 .entry .ex_wrap .div_4col>div:nth-child(n+2) {
	margin-left: 40px;
}

.col10 .entry .ex_wrap .div_4col>div:nth-child(n+2):before {
	content: '';
	position: absolute;
	position: absolute;
	top: 20%;
	left: -35px;
	width: 30px;
	height: 52px;
	background: url(img/flow_arrow.svg) no-repeat center center / contain;
}

@media screen and (max-width: 680px) {
	.col10 .entry .ex_wrap .div_4col>div {
		width: 100%;
	}

	.col10 .entry .ex_wrap .div_4col>div:nth-child(n+2) {
		margin-left: 0;
		margin-top: 70px;
	}

	.col10 .entry .ex_wrap .div_4col>div:nth-child(n+2):before {
		content: '';
		position: absolute;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		top: -70px;
		left: 46%;
		width: 30px;
		height: 50px;
		background: url(img/flow_arrow.svg) no-repeat center center / contain;
		transform: rotate(90deg);
	}


}

/* faq */
.entry .faq_wrap {
	padding: 100px 0;
}

/* blog */
.entry .blog_wrap {
	background: #F0F0F0;
	padding: 100px 0;
}

.blog_wrap h2 {
	position: relative;
	padding-top: 20px;
}

.blog_wrap h2:before {
	content: 'BLOG';
	font-weight: 700;
	font-style: normal;
	letter-spacing: 0.05em;
	color: #21B8C5;
	margin-bottom: 0;
	font-size: 14px;
	position: absolute;
	top: 0;
}

.entry .blog_wrap .post-cat-widget {
	max-width: 1200px;
	width: 98%;
	padding-left: 1%;
	padding-right: 1%;
	margin-left: auto;
	margin-right: auto;
}

/* footer */
.footer-menu .menu {
	display: flex;
	justify-content: flex-end;
}

.menu-fnavi01-container .menu li a {
	font-weight: bold;
	padding: 0.5em 1em;
}

.menu-fnavi02-container .menu li a {
	padding: 0.5em 1em;
}

.sns_box {
	margin-top: 70px;
	display: flex;
	justify-content: center;
	flex-direction: row-reverse;
}

.sns_box>div {
	margin: 0 15px;
}

.sns_box a img {
	max-width: 40px;
}

@media screen and (max-width: 680px) {
	.footer-box>div {
		width: 100%;
		text-align: center;
	}

	.shopinfo-logo a {
		display: flex;
		justify-content: center;
	}

	.footer-menu {
		margin-top: 30px;
	}

	.footer-menu .menu {
		width: 100%;
		justify-content: center;
		flex-wrap: wrap;
	}

	.sns_box {
		margin-top: 30px;
	}

}