@charset 'UTF-8';
/*normalize: http://necolas.github.io/normalize.css/*/
/* normalize.css 2012-07-07T09:50 UTC - http://github.com/necolas/normalize.css */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined in IE 8/9.
 */
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{
	display: block;
}
/**
 * Correct `inline-block` display not defined in IE 8/9.
 */
audio,canvas,video{
	display: inline-block;
}
/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]){
	display: none;
	height: 0;
}
/**
 * Address `[hidden]` styling not present in IE 8/9.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */
[hidden],template{
	display: none;
}
/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html{
	font-family: sans-serif; /* 1 */

	-webkit-text-size-adjust: 100%; /* 2 */
	    -ms-text-size-adjust: 100%; /* 2 */
}
/**
 * Remove default margin.
 */
body{
	margin: 0;
}
/* ==========================================================================
   Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a{
	background: transparent;
}
/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus{
	outline: thin dotted;
}
/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,a:hover{
	outline: 0;
}
/* ==========================================================================
   Typography
   ========================================================================== */
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
h1,h2,h3,h4,p{
	font-size: 1em;
	margin: 0;
}
/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title]{
	border-bottom: 1px dotted;
}
/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,strong,.strong{
	font-weight: bold;
}
/**
 * Address styling not present in Safari 5 and Chrome.
 */
dfn,em,.em{
	font-style: italic;
}
/**
 * Address differences between Firefox and other browsers.
 */
hr{
	box-sizing: content-box;
	height: 0;
}
/*
 * proper formatting (http://blog.fontdeck.com/post/9037028497/hyphens)
*/
p{
	-webkit-hyphens: auto;
	        hyphens: auto;

	-epub-hyphens: auto;
}
/*
 * Addresses margins set differently in IE6/7.
 */
pre{
	margin: 0;
}
/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */
code,kbd,pre,samp{
	font-family: monospace, serif;
	font-size: 1em;
}
/**
 * Improve readability of pre-formatted text in all browsers.
 */
pre{
	white-space: pre-wrap;
}
/**
 * Set consistent quote types.
 */
q{
	quotes: '\201C' '\201D' '\2018' '\2019';
}
/**
 * Address inconsistent and variable font size in all browsers.
 */
q:before,q:after{
	content: '';
	content: none;
}
small,.small{
	font-size: 75%;
}
/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,sup{
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sup{
	top: -.5em;
}
sub{
	bottom: -.25em;
}
/* ==========================================================================
  Lists
========================================================================== */
/*
 * Addresses margins set differently in IE6/7.
 */
dl,menu,ol,ul{
	margin: 0;
}
dd{
	margin: 0;
}
/*
 * Addresses paddings set differently in IE6/7.
 */
menu{
	padding: 0 0 0 40px;
}
ol,ul{
	padding: 0;
	list-style-type: none;
}
/*
 * Corrects list images handled incorrectly in IE7.
 */
nav ul,nav ol{
	list-style: none;
	list-style-image: none;
}
/* ==========================================================================
  Embedded content
========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9.
 */
img{
	border: 0;
}
/**
 * Correct overflow displayed oddly in IE 9.
 */
svg:not(:root){
	overflow: hidden;
}
/* ==========================================================================
   Figures
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure{
	margin: 0;
}
/* ==========================================================================
   Forms
   ========================================================================== */
/**
 * Define consistent border, margin, and padding.
 */
fieldset{
	margin: 0 2px;
	padding: .35em .625em .75em;
	border: 1px solid #c0c0c0;
}
/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend{
	padding: 0; /* 2 */
	border: 0; /* 1 */
}
/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */
button,input,select,textarea{
	font-family: inherit; /* 1 */
	font-size: 100%; /* 2 */
	margin: 0; /* 3 */
}
/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,input{
	line-height: normal;
}
button{
	padding: 0;
	border: none;
	outline: none;
	background: none;

	line-break: 1;
}
/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
button,select{
	text-transform: none;
}
/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,html input[type='button'],/* 1 */
input[type='reset'],input[type='submit']{
	cursor: pointer; /* 3 */

	-webkit-appearance: button; /* 2 */
}
/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],html input[disabled]{
	cursor: default;
}
/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type='checkbox'],input[type='radio']{
	box-sizing: border-box; /* 1 */
	padding: 0; /* 2 */
}
/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type='search']{
	box-sizing: content-box;

	-webkit-appearance: textfield; /* 1 */ /* 2 */
}
/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type='search']::-webkit-search-cancel-button,input[type='search']::-webkit-search-decoration{
	-webkit-appearance: none;
}
/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,input::-moz-focus-inner{
	padding: 0;
	border: 0;
}
/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea{
	overflow: auto; /* 1 */
	vertical-align: top; /* 2 */
}
/* ==========================================================================
   Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table{
	border-spacing: 0;
	border-collapse: collapse;
}
*{
	box-sizing: border-box;
}
.image-replacement,.ir{
	overflow: hidden;
	white-space: nowrap;
	text-indent: 100%;
}
.clearfix,.cf{
	zoom: 1;
}
.clearfix:before,.clearfix:after,.cf:before,.cf:after{
	display: table; 
	content: '';
}
.clearfix:after,.cf:after{
	clear: both;
}
/*
use the best ampersand
http://simplebits.com/notebook/2008/08/14/ampersands-2/
*/
span.amp{
	font-family: Baskerville,'Goudy Old Style',Palatino,'Book Antiqua',serif !important;
	font-style: italic;
}
:root{
	--color: #222;
}
/* ==========================================================================
  アニメーション
========================================================================== */
@keyframes menuFadeIn{
	0%{
		display: grid;
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}
@keyframes menuFadeOut{
	0%{
		opacity: 1;
	}
	99%{
		opacity: 0;
	}
	100%{
		display: none;
		opacity: 0;
	}
}
@keyframes fadeInUp{
	0%{
		transform: translateY(20px);
		opacity: 0;
	}
	100%{
		transform: translateY(0);
		opacity: 1;
	}
}
.isAnime.fadeInUp{
	opacity: 0;
}
.fadeInUp.animeAction{
	animation: fadeInUp .6s ease 1 forwards;
}
/* ==========================================================================
   フォント
========================================================================== */
.fontA{
	font-family: 'Anton', sans-serif;
	font-weight: 400;
	font-style: normal;
}
.fontB{
	font-family: 'Black Ops One', system-ui;
	font-weight: 400;
	font-style: normal;
}
/* ==========================================================================
   ctaボタン
========================================================================== */
.lineCtaBtn{
	display: flex;
	max-width: 492px;
	height: 97px;
	color: #fff;
	border: 4px solid #fff;
	border-radius: 100px;
	background: #19d850;

	align-items: center;
	flex-flow: column;
	justify-content: center;
}
.lineCtaBtn p{
	font-weight: 900;
}
.lineCtaBtn .text1{
	font-size: 2.2rem;
	line-height: 1.2;
	display: inline-flex;

	align-items: flex-end;
	justify-content: center;
}
.lineCtaBtn .text1::before{
	width: 16px;
	height: 26px;
	margin-right: 6px;
	content: '';
	background: url('../img/cta_line.svg') no-repeat center center / contain;
}
.lineCtaBtn .text1::after{
	width: 16px;
	height: 26px;
	margin-right: 6px;
	margin-left: 0;
	content: '';
	transform: scale(-1, 1);
	background: url('../img/cta_line.svg') no-repeat center center / contain;
}
.lineCtaBtn .text2{
	font-size: 2.4rem;
	display: flex;
	margin-top: 12px;
	text-align: center;

	align-items: center;
}
.lineCtaBtn .text2::after{
	width: 24px;
	height: 24px;
	margin-left: 5px;
	content: '';
	background: url('../img/cta_arrow.svg') no-repeat center center / contain;
}
@media only screen and (max-width: 767px){
	.lineCtaBtn{
		display: flex;
		width: 100%;
		max-width: none;
		height: 17.94872vw;
		border: 1.02564vw solid #fff;
		border-radius: 25.64103vw;
	}
	.lineCtaBtn .text1{
		font-size: 1.6rem;
		line-height: 1.2;
	}
	.lineCtaBtn .text1::before{
		width: 3.33333vw;
		height: 4.87179vw;
		margin-right: .76923vw;
		background: url('../img/cta_line.svg') no-repeat center center / contain;
	}
	.lineCtaBtn .text1::after{
		width: 3.33333vw;
		height: 3.33333vw;
		margin-right: .76923vw;
		margin-left: 0;
		transform: scale(-1, 1);
		background: url('../img/cta_line.svg') no-repeat center center / contain;
	}
	.lineCtaBtn .text2{
		font-size: 1.6rem;
		margin-top: 2.05128vw;
	}
	.lineCtaBtn .text2::after{
		width: 4.61538vw;
		height: 4.61538vw;
		margin-left: 1.28205vw;
	}
}
/* ==========================================================================
   secMarkTitle
========================================================================== */
.secMarkTitle{
	font-size: 5.4rem;
	font-weight: 900;
	line-height: 1;
	position: relative;
	z-index: 1;
	display: flex;
	margin-bottom: 75px;
	text-align: center;

	align-items: center;
	justify-content: center;
}
.secMarkTitle::before{
	width: 80px;
	height: 65px;
	margin-right: 8px;
	content: '';
	background: url('../img/sec_title_logo.png') no-repeat center center / contain;

	flex-shrink: 0;
}
.secMarkTitle::after{
	position: absolute;
	z-index: -1;
	bottom: -11px;
	left: 50%;
	content: '';
	transform: translateX(-50%);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
.secMarkTitle span{
	transform: skewX(-10deg);
}
@media only screen and (max-width: 767px){
	.secMarkTitle{
		font-size: 3rem;
		margin-bottom: 6.66667vw;
	}
	.secMarkTitle::before{
		width: 10.25641vw;
		height: 8.33333vw;
		margin-right: 1.02564vw;
	}
	.secMarkTitle::after{
		bottom: 1.53846vw;
	}
}
/* ==========================================================================
   secNoMarkTitle
========================================================================== */
.secNoMarkTitle{
	font-size: 5.4rem;
	font-weight: 900;
	line-height: 1;
	position: relative;
	z-index: 1;
	text-align: center;
}
.secNoMarkTitle::after{
	position: absolute;
	z-index: -1;
	bottom: -11px;
	left: 50%;
	content: '';
	transform: translateX(-50%);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
.secNoMarkTitle span{
	transform: skewX(-10deg);
}
@media only screen and (max-width: 767px){
	.secNoMarkTitle{
		font-size: 3rem;
	}
	.secNoMarkTitle::after{
		bottom: 1.53846vw;
	}
}
/* ==========================================================================
   secMainText
========================================================================== */
.secMainText{
	font-size: 4rem;
	font-weight: 900;
	line-height: 1.6;
	transform: skewX(-10deg);
	text-align: center;
}
.secMainText strong{
	margin-right: .2em;
	padding: 2px 4px;
	color: #fff;
	background: #ff058d;
}
@media only screen and (max-width: 767px){
	.secMainText{
		font-size: 2rem;
	}
	.secMainText strong{
		padding: .51282vw 1.02564vw;
	}
}
/* ==========================================================================
   共通設定
========================================================================== */
html{
	font-size: 62.5%;
	overflow-y: scroll;

	-webkit-text-size-adjust: 100%;
	    -ms-text-size-adjust: 100%;
}
body{
	font-family: 'Noto Sans','Noto Sans JP','Noto Sans CJK JP','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','游ゴシック', '游ゴシック体','メイリオ',Meiryo,sans-serif;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.3;
	overflow: hidden;
	width: 100%;
	min-width: 1240px;
	text-align: justify;
	text-justify: inter-ideograph;
	color: #222;
	color: var(--color);

	font-feature-settings: 'pkna';
	font-optical-sizing: auto;
}
img{
	max-width: 100%;
	height: auto;
	vertical-align: bottom;

	backface-visibility: hidden;
}
a{
	text-decoration: none;
	color: #222;
	color: var(--color);
}
a:hover{
	opacity: .8;
}
.spShow{
	display: none;
}
.pcShow{
	display: inline-block;
}
.container{
	display: grid;
	min-height: 100vh;

	grid-template-columns: 100%;
	grid-template-rows: 80px 1fr auto;
}
.header{
	grid-column: 1;
	grid-row: 1;
}
.pageContainer{
	grid-column: 1;
	grid-row: 2;
}
.footer{
	grid-column: 1;
	grid-row: 3;
}
.anchor{
	display: block;
	margin-top: -270px;
	padding-top: 270px;
}
/* ==========================================================================
   header
========================================================================== */
.header{
	position: fixed;
	z-index: 999;
	top: 0;
	left: 0;
	display: grid;
	width: 100%;
	height: 80px;
	padding-left: 40px;
	background: #fff;

	grid-template-columns: 163px 1fr 208px;
	grid-template-rows: 80px;
}
.header .logo{
	align-self: center;
	grid-column: 1;
	grid-row: 1;
}
.header .gNav{
	align-self: center;
	grid-column: 2;
	grid-row: 1;
}
.header .hLineBox{
	grid-column: 3;
	grid-row: 1;
}
.header .hLineBox a{
	font-size: 1.6;
	font-weight: 700;
	display: flex;
	height: 100%;
	color: #fff;
	background: #22ba4e;

	align-items: center;
	justify-content: center;
}
.header .hLineBox a::before{
	width: 30px;
	height: 30px;
	margin-right: 10px;
	content: '';
	background: url('../img/header_line_icon.png') no-repeat center center / contain;

	flex-shrink: 0;
}
/* ==========================================================================
   gNav
========================================================================== */
.gNav .pageNav{
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
	display: flex;
	margin-right: 30px;

	align-items: center;
	gap: 0 30px;
	justify-content: flex-end;
}
.gNav .pageNav a:not(.instagram){
	position: relative;
	display: inline-block;
	padding: 9px 0;
}
.gNav .pageNav a:not(.instagram)::after{
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 100%;
	height: 2px;
	content: '';
	transition: opacity .1s linear;
	transform: translateX(-50%);
	opacity: 0;
	background: #1b650e;
}
.gNav .pageNav a:not(.instagram):hover{
	opacity: 1;
}
.gNav .pageNav a:not(.instagram):hover::after{
	opacity: 1;
}
/* ==========================================================================
   footer
========================================================================== */
.footer{
	padding: 60px 0 20px;
	background: #000;
}
.footer .logo{
	text-align: center;
}
.footer .sns{
	display: flex;
	margin-top: 40px;

	align-items: center;
	gap: 0 40px;
	justify-content: center;
}
.footer .sns li{
	flex: 0 1 44px;
}
.footer .footerNav{
	margin-top: 40px;
}
.footer .footerNav ul{
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
	display: flex;

	gap: 0 30px;
	justify-content: center;
}
.footer .footerNav ul a{
	color: #fff;
}
.footer .copyright{
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1;
	margin-top: 60px;
	text-align: center;
	color: #fff;
}
/* ==========================================================================
   mv
========================================================================== */
.mv{
	position: relative;
	z-index: 2;
	display: flex;
	overflow: hidden;
	height: calc(100vh - 80px);

	align-items: flex-end;
}
.mv>header{
	position: relative;
	z-index: 3;
	margin: 0 0 100px 118px;
	color: #fff;
}
.mv>header h2{
	font-size: 3.2rem;
	font-weight: 900;
	line-height: 1;
	margin-bottom: 30px;
}
.mv>header p{
	line-height: 1;
}
.mv>header ul{
	display: flex;
	margin-top: 38px;

	gap: 0 15px;
}
.mv>header ul li{
	font-size: 2.2rem;
	font-weight: 900;
	display: grid;
	height: 38px;
	padding: 0 12px;
	color: #000;
	border-radius: 5px;
	background: #fff;

	place-content: center;
}
.mv video{
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 101%;
	height: 101%;

	filter: drop-shadow(0px 0px rgba(0,0,0,0));
	grid-column: 1;
	grid-row: 1;
	-o-object-fit: cover;
	   object-fit: cover;
}
.mv::after{
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	width: 101%;
	height: 101%;
	content: '';
	background: rgba(255,255,255,.1);
}
/* ==========================================================================
   キャンペーン
========================================================================== */
.campaign{
	position: relative;
	z-index: 1;
	padding: 60px 0;
	background: url('../img/green_bk.png') repeat;
	background-color: #279014;
}
.campaign::before{
	position: absolute;
	z-index: -1;
	top: -58px;
	left: 50%;
	width: 1716px;
	height: 275px;
	content: '';
	transform: translateX(-50%);
	background: url('../img/campaign_title_en.png') no-repeat center center / contain;
}
.campaign::after{
	position: absolute;
	z-index: -1;
	top: 334px;
	right: 0;
	width: 671px;
	height: 749px;
	content: '';
	background: url('../img/logo_bk.png') no-repeat center center / contain;
}
.campaign>header{
	display: flex;

	align-items: center;
	flex-flow: row wrap;
	justify-content: center;
}
.campaign>header h2{
	font-size: 5.4rem;
	font-weight: 900;
	margin-left: 10px;
	transform: skewX(-10deg);
	color: #fff;
}
.campaign>header .topText{
	font-size: 2.8rem;
	font-weight: 900;
	line-height: 1.6;
	margin-top: 10px;
	text-align: center;
	color: #fff;

	flex: 0 0 100%;
}
.campaign ul{
	display: flex;
	margin-top: 28px;

	gap: 0 61px;
	justify-content: center;
}
.campaign .lineCtaBtn{
	margin: 60px auto 0;
}
/* ==========================================================================
   当クラブの特長
========================================================================== */
.features{
	position: relative;
	z-index: 2;
	margin-top: 215px;
}
.features .secMarkTitle::after{
	width: 1593px;
	height: 201px;
	background-image: url('../img/features_title_en.png');
}
.features .illList{
	display: flex;
	max-width: 1127px;
	margin: 70px auto 0;

	justify-content: space-between;
}
.features .illList li{
	text-align: center;
}
.features .illList li p{
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.6;
	margin-top: 20px;
	text-align: center;
}
.features .illList li p strong{
	font-weight: 900;
	color: #ff058d;
}
/* ==========================================================================
   トレーニングメニュー
========================================================================== */
.menu{
	margin-top: 288px;
}
.menu .secMarkTitle::after{
	width: 930px;
	height: 201px;
	background-image: url('../img/men_title_en.png');
}
.menu .menuSec{
	position: relative;
	z-index: 1;
	max-width: 1200px;
	margin: 0 auto;
}
.menu .menuSec::before{
	position: absolute;
	z-index: -1;
	bottom: 0;
	left: 50%;
	width: 100vw;
	min-width: 1240px;
	content: '';
	transform: translateX(-50%);
	background: url('../img/green_bk.png') repeat;
	background-color: #279014;
}
.menu .menuSec .movieBox{
	position: relative;
	display: grid;

	grid-template-rows: auto;
}
.menu .menuSec .movieBox::before{
	font-family: 'Black Ops One', system-ui;
	font-size: 20rem;
	line-height: 1;
	position: absolute;
	z-index: 2;
	top: 0;
	left: 20px;
	content: attr(data-number);
	color: #fff;
}
.menu .menuSec .movieBox video{
	z-index: 1;
	width: 100%;

	-webkit-clip-path: polygon(
	1.66667% 0%,
	98.33333% 0%,
	100% 3.1746%,
	100% 96.8254%,
	98.33333% 100%,
	1.66667% 100%,
	0% 100%,
	0% 3.1746%
	);
	        clip-path: polygon(
	1.66667% 0%,
	98.33333% 0%,
	100% 3.1746%,
	100% 96.8254%,
	98.33333% 100%,
	1.66667% 100%,
	0% 100%,
	0% 3.1746%
	);
	grid-column: 1;
	grid-row: 1;
}
.menu .menuSec .movieBox .textBox{
	z-index: 2;
	width: 738px;
	padding: 10px 40px 0 0;
	background: #fff;

	align-self: end;
	grid-column: 1;
	grid-row: 1;
}
.menu .menuSec .movieBox .textBox header{
	line-height: 1.6;
	display: flex;

	align-items: center;
}
.menu .menuSec .movieBox .textBox header .num{
	font-size: 3.2rem;
	margin-right: 16px;
	padding-top: .05em;

	flex-shrink: 0;
}
.menu .menuSec .movieBox .textBox header h2{
	font-size: 3.2rem;
	font-weight: 900;
}
.menu .menuSec .movieBox .textBox .text{
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.6;
	margin-top: 12px;
}
.menu .menuSec .menuContent{
	position: relative;
	z-index: 1;
	padding-bottom: 60px;
}
.menu .menuSec .menuContent>h2{
	font-size: 2.8rem;
	font-weight: 900;
	display: grid;
	height: 48px;
	margin-top: 90px;
	color: #fff;
	background: #1b650e;

	place-content: center;
}
.menu .menuSec1{
	margin-top: 60px;
}
.menu .menuSec1::before{
	height: 342px;
}
.menu .menuSec1 .contentRow{
	display: flex;
	margin-top: 40px;

	justify-content: space-between;
}
.menu .menuSec1 .innerSec{
	display: flex;
	padding-bottom: 20px;
	border-radius: 0 0 10px 10px;
	background: #fff;

	flex: 0 1 360px;
	flex-flow: column;
}
.menu .menuSec1 .innerSec header{
	font-size: 2.8rem;
	line-height: 1;
	display: flex;
	padding: 20px 0;

	gap: 0 16px;
	justify-content: center;
	order: 2;
}
.menu .menuSec1 .innerSec header .num{
	line-height: 1;
}
.menu .menuSec1 .innerSec .img{
	overflow: hidden;
	border-radius: 10px 10px 0 0;

	order: 1;
}
.menu .menuSec1 .innerSec>p{
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.6;
	max-width: 320px;
	margin: 0 auto;

	order: 3;
}
.menu .menuSec1 .innerSec+.innerSec{
	position: relative;
}
.menu .menuSec1 .innerSec+.innerSec::before{
	position: absolute;
	top: 50%;
	left: -41px;
	width: 24px;
	height: 30px;
	content: '';
	transform: translateY(-50%);
	background: url('../img/menu_01_arrow.svg') no-repeat center center / contain;
}
.menu .menuSec1+.secMainText{
	margin-top: 100px;
}
.menu .menuSec2{
	margin-top: 60px;
}
.menu .menuSec2::before{
	height: 752px;
}
.menu .menuSec2 .flowSwiper{
	margin-top: 40px;
}
.menu .menuSec2 .swiper-wrapper{
	display: grid;

	grid-gap: 40px 20px;
	grid-template-columns: repeat(4,285px);
}
.menu .menuSec2 .swiper-button-prev,.menu .menuSec2 .swiper-button-next{
	display: none;
}
.menu .menuSec2 .flowBox{
	display: grid;
	overflow: hidden;
	border-radius: 10px;
	background: #fff;

	grid-template-rows: auto 1fr;
}
.menu .menuSec2 .flowBox>header{
	z-index: 2;
	display: grid;
	min-height: 76px;
	padding: 10px;
	color: #fff;
	background: rgba(34,34,34,.3);

	align-self: start;
	grid-column: 1;
	grid-row: 1;
	grid-template-columns: 40px 1fr 40px;
	grid-template-rows: auto 1fr;
}
.menu .menuSec2 .flowBox>header::before{
	font-family: 'Anton', sans-serif;
	font-size: 2.4rem;
	display: grid;
	height: 40px;
	content: attr(data-num);
	color: #1b650e;
	border-radius: 50%;
	background: #fff;

	grid-column: 1;
	grid-row: 1 / 3;
	place-content: center;
}
.menu .menuSec2 .flowBox>header::after{
	content: '';

	grid-column: 3;
	grid-row: 1 / 3;
}
.menu .menuSec2 .flowBox>header>h2{
	font-size: 2rem;
	font-weight: 900;
	line-height: 1;
	margin-bottom: 10px;
	text-align: center;

	grid-column: 2;
	grid-row: 1;
}
.menu .menuSec2 .flowBox>header>p{
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
	text-align: center;

	grid-column: 2;
	grid-row: 2;
}
.menu .menuSec2 .flowBox .img{
	z-index: 1;

	grid-column: 1;
	grid-row: 1;
}
.menu .menuSec2 .flowBox>p{
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.6;
	padding: 16px 19px;

	grid-column: 1;
	grid-row: 2;
}
.menu .menuSec3{
	margin-top: 100px;
}
.menu .menuSec3::before{
	height: 396px;
}
.menu .menuSec3 .machineRow{
	display: grid;
	margin-top: 40px;

	grid-gap: 0 120px;
	grid-template-columns: 480px 1fr;
	grid-template-rows: 1fr auto;
}
.menu .menuSec3 .slideRow{
	grid-column: 1;
	grid-row: 1 / 3;
}
.menu .menuSec3 .machineList1{
	align-self: end;
	grid-column: 2;
	grid-row: 1;
}
.menu .menuSec3 .machineList2{
	margin-top: 40px;

	align-self: end;
	grid-column: 2;
	grid-row: 2;
}
.menu .menuSec3 .machineList>h2{
	font-size: 2.4rem;
	font-weight: 900;
	line-height: 1.6;
	margin-bottom: 10px;
	color: #fff;
}
.menu .menuSec3 .machineList ul{
	display: flex;

	flex-flow: row wrap;
	gap: 20px;
}
.menu .menuSec3 .machineList ul li{
	font-size: 2rem;
	font-weight: 900;
	display: grid;
	height: 40px;
	padding: 0 10px;
	background: #fff;

	place-content: center;
}
.menu .menuSec3 .slideWall{
	position: relative;
}
.menu .menuSec3 .slideWall .swiper{
	max-width: 360px;
	margin: 0 auto;
}
.menu .menuSec3 .slideWall .swiper-button-prev,.menu .menuSec3 .slideWall .swiper-button-next{
	width: 40px;
	height: 40px;
	margin-top: clac(-1 * 20px);
}
.menu .menuSec3 .slideWall .swiper-button-prev::after,.menu .menuSec3 .slideWall .swiper-button-next::after{
	display: none;
}
.menu .menuSec3 .slideWall .swiper-button-prev{
	left: 0;
	background: url('../img/mc_slide_prev.svg') no-repeat center center / contain;
}
.menu .menuSec3 .slideWall .swiper-button-next{
	right: 0;
	background: url('../img/mc_slide_next.svg') no-repeat center center / contain;
}
.menu .menuSec3 .machineSwiperTm{
	display: flex;
	max-width: 360px;
	margin: 20px auto 0;

	gap: 0 11px;
}
.menu .menuSec3 .machineSwiperTm li{
	flex: 0 1 42px;
}
.menu .menuSec3+.secMainText{
	margin-top: 100px;
}
.menu .menuSec4{
	margin-top: 60px;
}
.menu .menuSec4::before{
	height: 376px;
}
.menu .menuSec4 .trainerRow{
	display: grid;
	margin-top: 40px;

	grid-gap: 40px;
	grid-template-columns: repeat(3,373px);
}
.menu .menuSec4 .trainerBox{
	display: flex;
	overflow: hidden;
	border-radius: 10px;
	background: #fff;

	flex-flow: column;
}
.menu .menuSec4 .trainerBox>header{
	display: flex;
	padding: 20px 16px 0;

	align-items: center;
	gap: 0 30px;
	order: 2;
}
.menu .menuSec4 .trainerBox>header h2{
	font-size: 2.4rem;
	font-weight: 900;
}
.menu .menuSec4 .trainerBox>header .kana{
	font-size: 1.6rem;
	font-weight: 900;
}
.menu .menuSec4 .trainerBox figure{
	order: 1;
}
.menu .menuSec4 .trainerBox .inner{
	padding: 20px 16px 24px;

	order: 3;
}
.menu .menuSec4 .trainerBox .inner h2{
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 10px;
}
.menu .menuSec4 .trainerBox .inner li{
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.6;
}
/* ==========================================================================
   当クラブの設備
========================================================================== */
.facility{
	position: relative;
	margin-top: 287px;
}
.facility::before{
	position: absolute;
	z-index: -1;
	bottom: 0;
	left: 50%;
	width: 100vw;
	min-width: 1240px;
	height: 672px;
	content: '';
	transform: translateX(-50%);
	background: url('../img/green_bk.png') repeat;
	background-color: #279014;
}
.facility>header{
	position: relative;
	z-index: 2;
	text-align: center;
}
.facility .secMarkTitle{
	margin-bottom: 0;
}
.facility .secMarkTitle::after{
	width: 1606px;
	height: 224px;
	background-image: url('../img/facility_title_en.png');
}
.facility .read{
	font-size: 2.8rem;
	font-weight: 900;
	line-height: 1.6;
	margin-top: 88px;
	text-align: center;
}
.facility .row{
	position: relative;
	z-index: 1;
	display: grid;
	max-width: 1200px;
	margin: 40px auto 0;
	padding-bottom: 20px;

	grid-gap: 0 20px;
	grid-template-columns: repeat(4,285px);
}
.facility .facilityBox{
	display: grid;
	overflow: hidden;
	margin-bottom: 40px;
	padding-bottom: 35px;
	border-radius: 10px;
	background: #fff;

	grid-row: span 3;
	grid-row-gap: 0;
	grid-template-rows: subgrid;
}
.facility .facilityBox figure{
	grid-row: 1;
}
.facility .facilityBox h2{
	font-size: 2.6rem;
	font-weight: 900;
	line-height: 1.6;
	padding: 10px 20px 10px;
	text-align: center;

	grid-row: 2;
}
.facility .facilityBox p{
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.6;
	padding: 0 20px;

	grid-row: 3;
}
/* ==========================================================================
   料金システム
========================================================================== */
.price{
	position: relative;
	margin-top: 270px;
	padding-bottom: 60px;
}
.price::before{
	position: absolute;
	z-index: -1;
	bottom: 0;
	left: 50%;
	width: 100vw;
	min-width: 1240px;
	height: 845px;
	content: '';
	transform: translateX(-50%);
	background: url('../img/green_bk.png') repeat;
	background-color: #279014;
}
.price .secNoMarkTitle::after{
	width: 958px;
	height: 224px;
	background-image: url('../img/price_title_en.png');
}
.price .read{
	font-size: 2.8rem;
	font-weight: 900;
	line-height: 1.6;
	margin-top: 88px;
	text-align: center;
}
.price .planRow{
	display: flex;
	max-width: 1200px;
	margin: 40px auto 0;

	justify-content: space-between;
}
.price .planBox{
	padding: 30px 0;
	text-align: center;
	border: 5px solid #ff058d;
	border-radius: 10px;
	background: #fff;

	flex: 0 1 360px;
}
.price .planBox header p{
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.6;
}
.price .planBox header p::after{
	display: block;
	margin: 0 auto;
	content: '';
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
.price .planBox header h2{
	font-size: 1.8rem;
	font-weight: 900;
	display: inline-flex;
	height: 32px;
	padding: 0 8px;
	color: #fff;
	background: #ff058d;

	align-items: center;
	justify-content: center;
}
.price .planBox .priceText{
	line-height: 1;
	margin-top: 22px;
}
.price .planBox .priceText strong{
	font-size: 6rem;
	color: #ff058d;
}
.price .planBox .priceText small{
	font-size: 3.2rem;
	font-weight: 900;
	padding-left: 16px;
}
.price .planBox .priceText small span{
	font-size: 1.4rem;
	font-weight: 500;
}
.price .planBox .kome{
	font-size: 1.2rem;
	font-weight: 500;
	margin-top: 10px;
}
.price .planBox1>header p::after{
	width: 179px;
	height: 38px;
	margin-top: 16px;
	background-image: url('../img/plan_en1.png');
}
.price .planBox1>header h2{
	margin-top: 12px;
}
.price .planBox2>header p::after{
	width: 115px;
	height: 46px;
	margin-top: 19px;
	background-image: url('../img/plan_en2.png');
}
.price .planBox2>header h2{
	margin-top: 1px;
}
.price .planBox3>header p::after{
	width: 181px;
	height: 38px;
	margin-top: 16px;
	background-image: url('../img/plan_en3.png');
}
.price .planBox3>header h2{
	margin-top: 12px;
}
.price .optionRow{
	display: flex;
	max-width: 1200px;
	margin: 40px auto 0;

	flex-flow: row wrap;
	justify-content: space-between;
}
.price .optionRow .opitonText{
	font-size: 2.8rem;
	font-weight: 900;
	line-height: 1.6;
	margin-bottom: 30px;
	text-align: center;
	color: #fff;

	flex: 0 0 100%;
}
.price .optionBox{
	position: relative;
	display: grid;
	height: 199px;
	padding: 50px 0 20px;
	border-radius: 10px;
	background: #fff;

	flex: 0 1 580px;
}
.price .optionBox::before{
	position: absolute;
	top: 0;
	left: 0;
	width: 100px;
	height: 100px;
	content: '';
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
.price .optionBox header .catch{
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
}
.price .optionBox header .catch::after{
	display: block;
	margin: 9px 0 5px;
	content: '';
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
.price .optionBox header h2{
	font-size: 2rem;
	font-weight: 900;
	line-height: 1;
	color: #ff058d;
}
.price .optionBox .priceBox{
	text-align: right;
}
.price .optionBox .priceBox .num{
	font-family: 'Anton', sans-serif;
	font-size: 8rem;
	line-height: 1;
	color: #ff058d;
}
.price .optionBox .priceBox .num small{
	font-size: 2.4rem;
	font-weight: 900;
	padding-left: 10px;
	color: #222;
}
.price .optionBox .priceBox .text{
	font-size: 2rem;
	font-weight: 900;
	line-height: 1;
	margin-top: 15px;
}
.price .optionBox1{
	padding-right: 80px;
	padding-left: 80px;

	grid-template-columns: 100%;
}
.price .optionBox1::before{
	background-image: url('../img/option_num1.png');
}
.price .optionBox1 header{
	align-self: start;
	grid-column: 1;
	grid-row: 1;
}
.price .optionBox1 header .catch::after{
	width: 217px;
	height: 41px;
	background-image: url('../img/option_en1.png');
}
.price .optionBox1 .priceBox{
	align-self: end;
	grid-column: 1;
	grid-row: 1;
	justify-self: end;
}
.price .optionBox2{
	padding-right: 20px;
	padding-left: 60px;

	grid-template-columns: auto 1fr;
}
.price .optionBox2::before{
	background-image: url('../img/option_num1.png');
}
.price .optionBox2 header{
	align-self: start;
	grid-column: 1;
	grid-row: 1;
}
.price .optionBox2 header .catch::after{
	width: 321px;
	height: 41px;
	background-image: url('../img/option_en2.png');
}
.price .optionBox2 header .kome{
	font-size: 1.2rem;
	font-weight: 500;
	margin-top: 10px;
}
.price .optionBox2 .priceBox{
	align-self: end;
	grid-column: 2;
	grid-row: 1;
	justify-self: end;
}
.price .optionBox2 .priceBox .num{
	font-size: 5rem;
}
.price .optionBox2 .priceBox .text span{
	font-size: 1.4rem;
	font-weight: 500;
	padding-left: 7px;
}
.price .otherRow{
	display: flex;
	max-width: 1200px;
	margin: 43px auto 0;

	flex-flow: row wrap;
	justify-content: space-between;
}
.price .otherBox{
	padding: 30px 0 34px;
	border-radius: 10px;
	background: #fff;

	flex: 0 1 581px;
}
.price .otherBox>header{
	display: flex;
	margin-bottom: 20px;

	align-items: center;
	justify-content: center;
}
.price .otherBox>header::before{
	height: 1px;
	margin-right: 10px;
	content: '';
	background: #000;

	flex: 0 0 40px;
}
.price .otherBox>header::after{
	height: 1px;
	margin-left: 10px;
	content: '';
	background: #000;

	flex: 0 0 40px;
}
.price .otherBox>header h2{
	font-size: 2rem;
	font-weight: 900;
	line-height: 1.6;
}
.price .otherBox dl{
	display: grid;

	grid-template-columns: auot 1fr;
}
.price .otherBox dl dt{
	font-size: 2rem;
	font-weight: 700;

	grid-column: 1;
}
.price .otherBox dl dd{
	font-size: 2rem;
	font-weight: 900;
	text-align: right;

	grid-column: 2;
}
.price .otherBox dl dd .fontA{
	font-size: 2.4rem;
	font-weight: 400;
}
.price .otherBox dl dd small{
	font-size: 1.4rem;
	font-weight: 700;
	padding-left: .3em;
}
.price .otherBox dl dt:not(:nth-last-of-type(1)),.price .otherBox dl dd:not(:nth-last-of-type(1)){
	margin-bottom: 15px;
	padding-bottom: 15px;
}
.price .otherBox dl dt:not(:nth-last-of-type(1)){
	position: relative;
}
.price .otherBox dl dt:not(:nth-last-of-type(1))::before{
	position: absolute;
	bottom: 0;
	left: 0;
	height: 1px;
	content: '';
	background-image: linear-gradient(to right,#000 1px, transparent 1px);
	background-repeat: repeat-x;
	background-position: left bottom;
	background-size: 4px 1px;
}
.price .otherBox1 dl{
	width: 389px;
	margin: 0 auto;
}
.price .otherBox1 dl dt:not(:nth-last-of-type(1))::before{
	width: 389px;
}
.price .otherBox2 dl{
	width: 404px;
	margin: 0 auto;
}
.price .otherBox2 dl dt:not(:nth-last-of-type(1))::before{
	width: 404px;
}
/* ==========================================================================
   初回体験レッスンの流れ
========================================================================== */
.firstFlow{
	position: relative;
	margin-top: 288px;
	padding-bottom: 60px;
}
.firstFlow::before{
	position: absolute;
	z-index: -1;
	bottom: 0;
	left: 50%;
	width: 100vw;
	min-width: 1240px;
	height: 472px;
	content: '';
	transform: translateX(-50%);
	background: url('../img/green_bk.png') repeat;
	background-color: #279014;
}
.firstFlow .secNoMarkTitle::after{
	width: 859px;
	height: 223px;
	background-image: url('../img/flwo_title_en.png');
}
.firstFlow .read{
	font-size: 2.8rem;
	font-weight: 900;
	line-height: 1.6;
	margin-top: 68px;
	text-align: center;
}
.firstFlow .firstFlowSwiper{
	max-width: 1200px;
	margin: 40px auto 0;
}
.firstFlow .firstFlowSwiper .firstFlowBox{
	position: relative;
	overflow: hidden;
	min-height: 355px;
	padding: 24px 0;
	border-radius: 10px;
}
.firstFlow .firstFlowSwiper .firstFlowBox header h2{
	font-size: 2.4rem;
	font-weight: 900;
	line-height: 1.6;
	text-align: center;
	color: #ff058d;
}
.firstFlow .firstFlowSwiper .firstFlowBox header .num{
	font-family: 'Anton', sans-serif;
	font-size: 2.4rem;
	position: absolute;
	top: 75px;
	left: 19px;
	display: grid;
	width: 40px;
	height: 40px;
	color: #fff;
	border-radius: 50%;
	background: #222;

	place-content: center;
}
.firstFlow .firstFlowSwiper .firstFlowBox header::after{
	display: block;
	width: 100%;
	height: 75px;
	margin: 36px auto 0;
	content: '';
	background-repeat: no-repeat;
}
.firstFlow .firstFlowSwiper .firstFlowBox .text{
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.6;
	max-width: 192px;
	margin: 19px auto 0;
}
.firstFlow .firstFlowSwiper .firstFlowBox1{
	background: url('../img/first_flow_bk1.png') no-repeat center center / cover;
}
.firstFlow .firstFlowSwiper .firstFlowBox1 header::after{
	background-image: url('../img/first_flow_icon1.svg');
	background-position: center top;
	background-size: 40px auto;
}
.firstFlow .firstFlowSwiper .firstFlowBox1 .line{
	font-size: 1.6rem;
	font-weight: 900;
	display: grid;
	width: 192px;
	height: 44px;
	margin: 16px auto 0;
	color: #fff;
	border-radius: 100px;
	background: url('../img/line_arrow.svg') no-repeat calc(100% - 10px) center / 16px auto;
	background-color: #ff058d;

	place-content: center;
}
.firstFlow .firstFlowSwiper .firstFlowBox2{
	background: url('../img/first_flow_bk2.png') no-repeat center center / cover;
}
.firstFlow .firstFlowSwiper .firstFlowBox2 header::after{
	background-image: url('../img/first_flow_icon2.svg');
	background-position: center top;
	background-size: 60px auto;
}
.firstFlow .firstFlowSwiper .firstFlowBox3{
	background: url('../img/first_flow_bk3.png') no-repeat center center / cover;
}
.firstFlow .firstFlowSwiper .firstFlowBox3 header::after{
	background-image: url('../img/first_flow_icon3.svg');
	background-position: center 5px;
	background-size: 60px auto;
}
.firstFlow .firstFlowSwiper .firstFlowBox4{
	background: url('../img/first_flow_bk4.png') no-repeat center center / cover;
}
.firstFlow .firstFlowSwiper .firstFlowBox4 header::after{
	background-image: url('../img/first_flow_icon4.svg');
	background-position: center top;
	background-size: 60px auto;
}
.firstFlow .firstFlowSwiper .firstFlowBox5{
	background: url('../img/first_flow_bk5.png') no-repeat center center / cover;
}
.firstFlow .firstFlowSwiper .firstFlowBox5 header::after{
	background-image: url('../img/first_flow_icon5.svg');
	background-position: center top;
	background-size: 60px auto;
}
.firstFlow .firstFlowSwiper .firstFlowBox5 .free{
	font-size: 1.6rem;
	margin-top: 16px;
	text-align: center;
	color: #ff058d;
}
.firstFlow .lineCtaBtn{
	margin: 60px auto 0;
}
/* ==========================================================================
   アクセス・クラブ案内
========================================================================== */
.access{
	margin-top: 280px;
}
.access .secNoMarkTitle::after{
	width: 1299px;
	height: 201px;
	background-image: url('../img/access_title_en.png');
}
.access .row{
	display: grid;
	width: min(100%,1440px);
	margin: 75px auto 0;

	grid-template-columns: minmax(600px,720px) 621px minmax(20px,1fr);
	grid-template-rows: auto;
}
.access .row::after{
	content: '';

	grid-column: 3;
}
.access .row .map{
	grid-column: 1;
	grid-row: 1;
}
.access .row .map iframe{
	width: 100%;
	height: 100%;
}
.access .row dl{
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.6;
	display: grid;
	margin-left: 20px;

	grid-column: 2;
	grid-row: 1;
	grid-template-columns: 164px 1fr;
}
.access .row dl dt{
	padding-bottom: 20px;
	padding-left: 15px;

	grid-column: 1;
}
.access .row dl dd{
	padding-bottom: 20px;

	grid-column: 2;
}
.access .row dl dt:not(:nth-last-of-type(1)),.access .row dl dd:not(:nth-last-of-type(1)){
	margin-bottom: 20px;
}
.access .row dl dt{
	position: relative;
}
.access .row dl dt::before{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 581px;
	height: 1px;
	content: '';
	background-image: linear-gradient(to right,#000 1px, transparent 1px);
	background-repeat: repeat-x;
	background-position: left bottom;
	background-size: 4px 1px;
}
/* ==========================================================================
   よくある質問
========================================================================== */
.faq{
	margin-top: 280px;
	padding-bottom: 110px;
}
.faq .secNoMarkTitle{
	margin-bottom: 60px;
}
.faq .secNoMarkTitle::after{
	width: 667px;
	height: 257px;
	background-image: url('../img/faq_title_en.png');
}
.faq .faqBox{
	max-width: 1200px;
	margin: 0 auto;
}
.faq .faqBox>header{
	position: relative;
	display: flex;
	min-height: 80px;
	padding: 10px 90px 10px 30px;
	cursor: pointer;
	border: 1px solid #ddd;

	align-items: center;
}
.faq .faqBox>header::before{
	position: absolute;
	top: 50%;
	right: 30px;
	width: 30px;
	height: 3px;
	content: '';
	transform: translateY(-50%);
	background: #222;
}
.faq .faqBox>header::after{
	position: absolute;
	top: 50%;
	right: 43.5px;
	width: 3px;
	height: 30px;
	content: '';
	transition: rotate .2s linear;
	transform-origin: center;
	background: #222;

	translate: 0 -50%;
}
.faq .faqBox>header:hover{
	opacity: .8;
}
.faq .faqBox>header .q{
	font-size: 4.8rem;
	margin-right: 53px;
	color: #1b630e;

	flex-shrink: 0;
}
.faq .faqBox>header h2{
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.6;
}
.faq .faqBox .open::after{
	rotate: 90deg;
}
.faq .faqBox .hideBox{
	display: none;
	background: #1b630e;
}
.faq .faqBox .hideBox .inner{
	display: flex;
	padding: 16px 35px 16px 30px;
}
.faq .faqBox .hideBox .a{
	font-size: 4.8rem;
	margin-right: 53px;
	color: #fff;

	flex-shrink: 0;
}
.faq .faqBox .hideBox .text{
	padding-top: 5px;
}
.faq .faqBox .hideBox .text p{
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.6;
	color: #fff;
}
.faq .faqBox .hideBox .text p+p{
	margin-top: 1em;
}
.faq .faqBox+.faqBox{
	margin-top: 20px;
}
/* ==========================================================================
   END
========================================================================== */
@media only screen and (max-width: 767px){
	html{
		font-size: 2.5641vw;
	}
	body{
		min-width: 0;
	}
	a:hover{
		opacity: 1;
	}
	img{
		width: 100%;
		max-width: none;
	}
	button:hover{
		opacity: 1;
	}
	.spShow{
		display: inline-block;
	}
	.pcShow{
		display: none;
	}
	.container{
		padding: 0;

		grid-template-rows: 12.82051vw 1fr auto;
	}
	.header{
		grid-column: 1;
		grid-row: 1;
	}
	.pageContainer{
		grid-row: 2;
	}
	.footer{
		grid-row: 3;
	}
	.anchor{
		display: block;
		margin-top: -25.64103vw;
		padding-top: 25.64103vw;
	}
	/* ==========================================================================
   header
========================================================================== */
	.header{
		display: grid;
		height: 12.82051vw;
		padding: 0 4.10256vw;

		grid-template-columns: 25.64103vw 1fr;
		grid-template-rows: 12.82051vw;
	}
	.header .logo{
		align-self: center;
		grid-column: 1;
		grid-row: 1;
	}
	.header .hLineBox{
		display: none;
	}
	.header .menuBtn{
		width: 7.69231vw;

		align-self: center;
		grid-column: 2;
		grid-row: 1;
		justify-self: end;
	}
	/* ==========================================================================
   gNav
========================================================================== */
	.gNav{
		position: fixed;
		z-index: 1000;
		top: 0;
		left: 0;
		display: none;
		overflow-y: auto;
		width: 100%;
		height: 100dvh;
		padding: 2.5641vw 4.10256vw 12.82051vw;
		color: #fff;
		background: #222;

		overscroll-behavior-y: none;
	}
	.gNav a{
		color: #fff;
	}
	.gNav .logo{
		width: 25.64103vw;
	}
	.gNav .menuCloseBtn{
		position: absolute;
		top: 4.10256vw;
		right: 5.12821vw;
		width: 5.38462vw;
	}
	.gNav .pageNav{
		font-size: 1.6rem;
		display: block;
		margin: 15.89744vw 0 0;
	}
	.gNav .pageNav a:not(.instagram){
		display: flex;
		height: 5.12821vw;
		padding: 0;

		align-items: center;
		justify-content: space-between;
	}
	.gNav .pageNav a:not(.instagram)::after{
		position: static;
		width: 2.5641vw;
		height: 5.12821vw;
		transition: none;
		opacity: 1;
		background: url('../img/menu_arrow.png') no-repeat center center / contain;
	}
	.gNav .pageNav li+li{
		margin-top: 9.23077vw;
	}
	.gNav .lineCtaBtn{
		display: flex;
	}
	.gNav .tel{
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1;
		display: block;
		margin-top: 7.69231vw;
		text-align: center;
	}
	.gNav .tel span{
		font-size: 2.2rem;
		font-weight: 900;
		padding-left: 2.5641vw;
	}
	.gNav .timeBox{
		display: block;
		display: flex;
		margin-top: 4.10256vw;

		justify-content: center;
	}
	.gNav .timeBox .time{
		font-size: 1.6rem;
		font-weight: 500;
		line-height: 1.6;
	}
	.navOpen{
		display: grid;
		animation: menuFadeIn .3s 1 0s linear forwards;
	}
	.navClose{
		animation: menuFadeOut .3s 1 0s ease-out forwards;
	}
	/* ==========================================================================
   footer
========================================================================== */
	.footer{
		padding: 10.25641vw 0 20.51282vw;
		background: #000;
	}
	.footer .logo{
		width: 46.15385vw;
		margin: 0 0 0 30.46154vw;
	}
	.footer .sns{
		display: flex;
		margin-top: 10.25641vw;

		align-items: center;
		gap: 0 7.69231vw;
		justify-content: center;
	}
	.footer .sns li{
		flex: 0 1 11.28205vw;
	}
	.footer .footerNav{
		margin-top: 10.25641vw;
	}
	.footer .footerNav ul{
		display: flex;
		text-align: center;

		align-items: center;
		flex-flow: column;
		gap: 7.69231vw 0;
		justify-content: flex-start;
	}
	.footer .copyright{
		margin-top: 15.38462vw;
	}
	.fixMenu{
		position: fixed;
		z-index: 998;
		bottom: 2.5641vw;
		left: 0;
		display: flex;
		width: 100%;

		gap: 0 1.79487vw;
		justify-content: center;
	}
	.fixMenu .line{
		flex: 0 1 64.10256vw;
	}
	.fixMenu .tel{
		flex: 0 1 25.64103vw;
	}
	.fixMenu a{
		font-size: 1.7rem;
		font-weight: 700;
		line-height: 1;
		display: flex;
		height: 11.28205vw;
		color: #fff;
		border: .51282vw solid #fff;
		border-radius: 25.64103vw;

		align-items: center;
		justify-content: center;
	}
	.fixMenu .line a{
		background: #22ba4e;
	}
	.fixMenu .line a::before{
		width: 6.15385vw;
		height: 6.15385vw;
		margin-right: .76923vw;
		content: '';
		background: url('../img/fix_line.png') no-repeat center center / contain;

		flex-shrink: 0;
	}
	.fixMenu .tel a{
		background: #1b650e;
	}
	.fixMenu .tel a::before{
		width: 4.61538vw;
		height: 4.61538vw;
		margin-right: 1.28205vw;
		margin-left: -.51282vw;
		content: '';
		background: url('../img/fix_tel.png') no-repeat center center / contain;

		flex-shrink: 0;
	}
	/* ==========================================================================
   mv
========================================================================== */
	.mv{
		height: 93.58974vw;
	}
	.mv>header{
		margin: 0 0 12.82051vw 4.10256vw;
		color: #fff;
	}
	.mv>header h2{
		font-size: 1.6rem;
		margin-bottom: 3.84615vw;
	}
	.mv>header p{
		width: 76.92308vw;
	}
	.mv>header ul{
		margin-top: 6.66667vw;

		gap: 0 2.5641vw;
	}
	.mv>header ul li{
		font-size: 1.4rem;
		height: 6.66667vw;
		padding: 0 2.05128vw;
		border-radius: 1.28205vw;
	}
	.mv video{
		position: absolute;
		z-index: 1;
		top: 0;
		left: 0;
		width: 101%;
		height: 101%;

		filter: drop-shadow(0px 0px rgba(0,0,0,0));
		grid-column: 1;
		grid-row: 1;
		-o-object-fit: cover;
		   object-fit: cover;
	}
	.mv::after{
		background: rgba(0,0,0,.1);
	}
	/* ==========================================================================
   キャンペーン
========================================================================== */
	.campaign{
		position: relative;
		z-index: 1;
		padding: 4.10256vw 0 9.48718vw;
		background: url('../img/sp_green_bk.png') repeat-y top / 100% auto;
		background-color: #279014;
	}
	.campaign::before{
		display: none;
	}
	.campaign::after{
		display: none;
	}
	.campaign>header{
		position: relative;
		display: block;
	}
	.campaign>header::before{
		position: absolute;
		z-index: -1;
		top: 17.94872vw;
		left: 50%;
		width: 110vw;
		height: 17.69231vw;
		content: '';
		transform: translateX(-50%);
		background: url('../img/sp_campaign_title_en.png') no-repeat center center / contain;
	}
	.campaign>header .gentei{
		width: 20.51282vw;
		margin: 0 auto 5.12821vw;
	}
	.campaign>header h2{
		font-size: 3rem;
		line-height: 1;
		margin-left: 0;
		text-align: center;
	}
	.campaign>header .topText{
		font-size: 1.8rem;
		margin-top: 5.12821vw;
	}

	.campaign ul{
		display: block;
		width: 91.79487vw;
		margin: 0 auto;
		margin-top: 7.69231vw;
	}
	.campaign ul li:nth-child(2){
		margin-top: 7.69231vw;
	}
	.campaign ul li:nth-child(3){
		margin-top: 3.33333vw;
	}
	.campaign .lineCtaBtn{
		width: 91.79487vw;
		margin: 10.25641vw auto 0;
	}
	/* ==========================================================================
   当クラブの特長
========================================================================== */
	.features{
		position: relative;
		z-index: 2;
		margin-top: 21.53846vw;
	}
	.features .secMarkTitle::after{
		width: 102.05128vw;
		height: 12.82051vw;
		background-image: url('../img/sp_features_title_en.png');
	}
	.features .illList{
		max-width: 91.79487vw;
		margin: 7.69231vw auto 0;

		flex-flow: column;
		gap: 7.69231vw 0;
		justify-content: flex-start;
	}
	.features .illList li{
		display: flex;
		text-align: justify;

		align-items: center;
		gap: 0 5.12821vw;
	}
	.features .illList li picture{
		flex: 0 0 25.64103vw;
	}
	.features .illList li p{
		font-size: 1.8rem;
		margin-top: 0;
		text-align: justify;
	}
	.features .illList li:nth-child(2){
		flex-flow: row-reverse;
	}
	/* ==========================================================================
   トレーニングメニュー
========================================================================== */
	.menu{
		margin-top: 31.79487vw;
	}
	.menu .secMarkTitle::after{
		width: 59.48718vw;
		height: 12.82051vw;
		background-image: url('../img/sp_men_title_en.png');
	}
	.menu .menuSec{
		max-width: none;
		margin: 0 auto;
	}
	.menu .menuSec::before{
		bottom: 0;
		min-width: 0;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
	}
	.menu .menuSec .movieBox{
		position: relative;
		display: grid;

		grid-template-rows: auto 1fr;
	}
	.menu .menuSec .movieBox::before{
		font-size: 8rem;
		top: 2.5641vw;
		left: 2.5641vw;
	}
	.menu .menuSec .movieBox video{
		-webkit-clip-path: none;
		        clip-path: none;
		grid-row: 1;
	}
	.menu .menuSec .movieBox .textBox{
		width: 100%;
		padding: 5.12821vw 4.10256vw 0;
		background: #fff;

		align-self: start;
		grid-column: 1;
		grid-row: 2;
	}
	.menu .menuSec .movieBox .textBox header{
		display: flex;

		align-items: center;
	}
	.menu .menuSec .movieBox .textBox header .num{
		font-size: 2.2rem;
		margin-right: 2.5641vw;
	}
	.menu .menuSec .movieBox .textBox header h2{
		font-size: 2.2rem;
	}
	.menu .menuSec .movieBox .textBox .text{
		font-size: 1.6rem;
		line-height: 160%;
		margin-top: 2.5641vw;
	}
	.menu .menuSec .menuContent{
		padding-bottom: 10.25641vw;
	}
	.menu .menuSec .menuContent>h2{
		font-size: 2.2rem;
		height: 10.76923vw;
		margin-top: 12.82051vw;
	}
	.menu .menuSec1{
		margin-top: 7.69231vw;
	}
	.menu .menuSec1::before{
		height: 107.94872vw;
		background: url('../img/sp_green_bk.png') repeat-y top / 100% auto;
		background-color: #279014;
	}
	.menu .menuSec1 .contentRow{
		display: flex;
		margin-top: 7.69231vw;

		flex-flow: column;
		gap: 8.97436vw 0;
		justify-content: flex-start;
	}
	.menu .menuSec1 .innerSec{
		display: grid;
		width: 91.79487vw;
		margin: 0 auto;
		padding-bottom: 0;
		border-radius: 0;

		flex: 0 1 auto;
		grid-auto-columns: 32.30769vw 1fr;
		grid-gap: 0 3.07692vw;
		grid-template-rows: auto 1fr;
	}
	.menu .menuSec1 .innerSec header{
		font-size: 2rem;
		padding: 2.5641vw 0;

		gap: 0 2.5641vw;
		grid-column: 2;
		grid-row: 1;
		justify-content: flex-start;
	}
	.menu .menuSec1 .innerSec .img{
		overflow: hidden;
		border-radius: 0;

		grid-column: 1;
		grid-row: 1 / 3;
	}
	.menu .menuSec1 .innerSec>p{
		font-size: 1.6rem;
		font-weight: 500;
		line-height: 1.6;
		max-width: none;
		margin: 0 auto;
		padding: 0 3.07692vw 2.82051vw 0;

		grid-column: 2;
		grid-row: 2;
	}
	.menu .menuSec1 .innerSec+.innerSec{
		position: relative;
	}
	.menu .menuSec1 .innerSec+.innerSec::before{
		position: absolute;
		top: -6.66667vw;
		left: 50%;
		width: 5.12821vw;
		height: 4.10256vw;
		content: '';
		transform: translate(-50%,0) rotate(90deg);
		background: url('../img/menu_01_arrow.svg') no-repeat center center / contain;
	}
	.menu .menuSec1+.secMainText{
		margin-top: 20.51282vw;
	}
	.menu .menuSec2{
		margin-top: 7.69231vw;
	}
	.menu .menuSec2::before{
		height: 75.89744vw;
		background: url('../img/sp_green_bk.png') repeat-y top / 100% auto;
		background-color: #279014;
	}
	.menu .menuSec2 .flowSwiper{
		position: relative;
		margin-top: 10.25641vw;
	}
	.menu .menuSec2 .flowSwiper .swiper{
		overflow: visible;
		width: 91.79487vw;
	}
	.menu .menuSec2 .flowSwiper .swiper-slide{
		height: auto;
	}
	.menu .menuSec2 .swiper-wrapper{
		display: flex;

		grid-gap: 0;
	}
	.menu .menuSec2 .swiper-button-prev,.menu .menuSec2 .swiper-button-next{
		display: block;
		width: 5.38462vw;
		height: 7.17949vw;
		margin-top: clac(-1 * 3.58974vw);
	}
	.menu .menuSec2 .swiper-button-prev::after,.menu .menuSec2 .swiper-button-next::after{
		display: none;
	}
	.menu .menuSec2 .swiper-button-prev{
		left: 1.28205vw;
		background: url('../img/flow_slide_prev.svg') no-repeat center center / contain;
	}
	.menu .menuSec2 .swiper-button-next{
		right: 1.28205vw;
		background: url('../img/flow_slide_next.svg') no-repeat center center / contain;
	}
	.menu .menuSec2 .flowBox{
		border-radius: 2.5641vw;
	}
	.menu .menuSec2 .flowBox>header{
		display: grid;
		min-height: 16.92308vw;
		padding: 1.53846vw;

		grid-template-columns: 8.46154vw 1fr 8.46154vw;
	}
	.menu .menuSec2 .flowBox>header::before{
		font-size: 2rem;
		height: 8.46154vw;
		color: #fff;
		background: #000;
	}
	.menu .menuSec2 .flowBox>header>h2{
		font-size: 1.6rem;
		margin-bottom: 2.5641vw;
	}
	.menu .menuSec2 .flowBox>header>p{
		font-size: 1.4rem;
	}
	.menu .menuSec2 .flowBox>p{
		padding: 4.10256vw 3.84615vw 4.61538vw;
	}
	.menu .menuSec3{
		margin-top: 20.51282vw;
	}
	.menu .menuSec3::before{
		height: 202.82051vw;
		background: url('../img/sp_green_bk.png') repeat-y top / 100% auto;
		background-color: #279014;
	}
	.menu .menuSec3 .machineRow{
		display: block;
		width: 91.79487vw;
		margin: 7.69231vw auto 0;
	}
	.menu .menuSec3 .machineList1{
		margin-top: 10.25641vw;
	}
	.menu .menuSec3 .machineList2{
		margin-top: 10.25641vw;
	}
	.menu .menuSec3 .machineList>h2{
		font-size: 2.4rem;
		margin-bottom: 2.5641vw;
	}
	.menu .menuSec3 .machineList ul{
		gap: 2.5641vw;
	}
	.menu .menuSec3 .machineList ul li{
		font-size: 1.6rem;
		height: 8.71795vw;
		padding: 0 2.5641vw;
	}
	.menu .menuSec3 .slideWall .swiper{
		max-width: 91.79487vw;
	}
	.menu .menuSec3 .slideWall .swiper-button-prev,.menu .menuSec3 .slideWall .swiper-button-next{
		width: 10.25641vw;
		height: 10.25641vw;
		margin-top: clac(-1 * 5.12821vw);
		border: .25641vw solid #1b630e;
		border-radius: 50%;
	}
	.menu .menuSec3 .slideWall .swiper-button-prev{
		left: -4.10256vw;
		background: url('../img/mc_slide_prev.svg') no-repeat center center / contain;
	}
	.menu .menuSec3 .slideWall .swiper-button-next{
		right: -4.10256vw;
		background: url('../img/mc_slide_next.svg') no-repeat center center / contain;
	}
	.menu .menuSec3 .machineSwiperTm{
		display: flex;
		max-width: 91.79487vw;
		margin: 2.5641vw auto 0;

		gap: 0 2.05128vw;
	}
	.menu .menuSec3 .machineSwiperTm li{
		flex: 0 1 11.28205vw;
	}
	.menu .menuSec3+.secMainText{
		margin-top: 20.51282vw;
	}
	.menu .menuSec4{
		margin-top: 7.69231vw;
	}
	.menu .menuSec4::before{
		height: 330.25641vw;
		background: url('../img/sp_green_bk.png') repeat-y top / 100% auto;
		background-color: #279014;
	}
	.menu .menuSec4 .trainerRow{
		display: grid;
		width: 91.79487vw;
		margin: 7.69231vw auto 0;

		grid-gap: 10.25641vw 0;
		grid-template-columns: 100%;
	}
	.menu .menuSec4 .trainerBox{
		border-radius: 2.5641vw;
	}
	.menu .menuSec4 .trainerBox>header{
		display: flex;
		padding: 5.12821vw 4.10256vw 0;

		align-items: center;
		gap: 0 6.41026vw;
	}
	.menu .menuSec4 .trainerBox .inner{
		padding: 5.12821vw 4.10256vw 6.15385vw;
	}
	.menu .menuSec4 .trainerBox .inner h2{
		margin-bottom: 2.5641vw;
	}
	/* ==========================================================================
   当クラブの設備
========================================================================== */
	.facility{
		margin-top: 20.51282vw;
	}
	.facility::before{
		min-width: 0;
		height: 195.12821vw;
		background: url('../img/sp_green_bk.png') repeat-y top / 100% auto;
		background-color: #279014;
	}
	.facility .secMarkTitle::after{
		width: 102.82051vw;
		height: 14.35897vw;
		background-image: url('../img/sp_facility_title_en.png');
	}
	.facility .read{
		font-size: 1.6rem;
		margin-top: 5.12821vw;
	}
	.facility .row{
		max-width: 91.79487vw;
		margin: 7.69231vw auto 0;
		padding-bottom: 2.5641vw;

		grid-gap: 0 5.12821vw;
		grid-template-columns: repeat(2,43.33333vw);
	}
	.facility .facilityBox{
		margin-bottom: 7.69231vw;
		padding-bottom: 5.12821vw;
		border-radius: 2.5641vw;
	}
	.facility .facilityBox h2{
		font-size: 1.6rem;
		padding: 2.5641vw 2.5641vw 1.53846vw;
		text-align: center;
	}
	.facility .facilityBox p{
		padding: 0 2.5641vw;
	}
	/* ==========================================================================
   料金システム
========================================================================== */
	.price{
		margin-top: 26.92308vw;
		padding-bottom: 10.25641vw;
	}
	.price::before{
		min-width: 0;
		height: 404.87179vw;
		background: url('../img/sp_green_bk.png') repeat-y top / 100% auto;
		background-color: #279014;
	}
	.price .secNoMarkTitle::after{
		width: 61.53846vw;
		height: 14.10256vw;
		background-image: url('../img/ap_price_title_en.png');
	}
	.price .read{
		font-size: 1.6rem;
		margin-top: 4.10256vw;
	}
	.price .planRow{
		max-width: 91.79487vw;
		margin: 7.69231vw auto 0;

		flex-flow: column;
		gap: 5.12821vw 0;
		justify-content: flex-start;
	}
	.price .planBox{
		padding: 5.12821vw 0;
		text-align: center;
		border: 1.28205vw solid #ff058d;
		border-radius: 2.5641vw;
		background: #fff;

		flex: 0 1 auto;
	}
	.price .planBox header p{
		font-size: 1.6rem;
	}
	.price .planBox header h2{
		font-size: 1.6rem;
		height: 7.17949vw;
		padding: 0 2.05128vw;
	}
	.price .planBox .priceText{
		margin-top: 2.5641vw;
	}
	.price .planBox .priceText strong{
		font-size: 4.8rem;
	}
	.price .planBox .priceText small{
		font-size: 2.4rem;
		padding-left: 2.5641vw;
	}
	.price .planBox .kome{
		font-size: 1.2rem;
		margin-top: 2.5641vw;
	}
	.price .planBox1>header p::after{
		width: 30.51282vw;
		height: 6.41026vw;
		margin-top: 3.33333vw;
		background-image: url('../img/sp_plan_en1.png');
	}
	.price .planBox1>header h2{
		margin-top: 2.05128vw;
	}
	.price .planBox2>header p::after{
		width: 19.48718vw;
		height: 7.69231vw;
		margin-top: 3.58974vw;
		background-image: url('../img/sp_plan_en2.png');
	}
	.price .planBox2>header h2{
		margin-top: 1.02564vw;
	}
	.price .planBox3>header p::after{
		width: 30.76923vw;
		height: 6.41026vw;
		margin-top: 3.33333vw;
		background-image: url('../img/sp_plan_en3.png');
	}
	.price .planBox3>header h2{
		margin-top: 1.79487vw;
	}
	.price .optionRow{
		display: block;
		max-width: 91.79487vw;
		margin: 10.25641vw auto 0;
	}
	.price .optionRow .opitonText{
		font-size: 1.6rem;
		margin-bottom: 7.69231vw;
	}
	.price .optionBox{
		height: 37.94872vw;
		padding: 7.69231vw 0 2.5641vw;
		border-radius: 2.5641vw;
	}
	.price .optionBox::before{
		width: 14.35897vw;
		height: 14.35897vw;
	}
	.price .optionBox header .catch{
		font-size: 1.4rem;
	}
	.price .optionBox header .catch::after{
		margin: 2.30769vw 0 1.28205vw;
	}
	.price .optionBox header h2{
		font-size: 1.4rem;
	}
	.price .optionBox .priceBox .num{
		font-size: 3.2rem;
	}
	.price .optionBox .priceBox .num small{
		font-size: 1.4rem;
		padding-left: 1.28205vw;
	}
	.price .optionBox .priceBox .text{
		font-size: 1.4rem;
		margin-top: 1.53846vw;
	}
	.price .optionBox1{
		padding-right: 14.10256vw;
		padding-bottom: 5.12821vw;
		padding-left: 8.97436vw;

		grid-template-columns: 100%;
	}
	.price .optionBox1::before{
		background-image: url('../img/sp_option_num1.png');
	}
	.price .optionBox1 header .catch::after{
		width: 35.89744vw;
		height: 6.92308vw;
	}
	.price .optionBox1 .priceBox .num{
		font-size: 5.5rem;
	}
	.price .optionBox2{
		margin-top: 5.12821vw;
		padding-right: 3.33333vw;
		padding-left: 8.97436vw;

		grid-template-columns: 100%;
	}
	.price .optionBox2::before{
		background-image: url('../img/option_num1.png');
	}
	.price .optionBox2 header{
		align-self: start;
		grid-column: 1;
		grid-row: 1;
	}
	.price .optionBox2 header .catch::after{
		width: 45.64103vw;
		height: 5.89744vw;
	}
	.price .optionBox2 header .kome{
		font-size: 1.2rem;
		font-weight: 500;
		margin-top: 6.66667vw;
	}
	.price .optionBox2 .priceBox{
		padding-top: 5.12821vw;

		align-self: start;
		grid-column: 1;
		grid-row: 1;
		justify-self: end;
	}
	.price .optionBox2 .priceBox .num{
		font-size: 3.5rem;
	}
	.price .optionBox2 .priceBox .text span{
		font-size: 1.2rem;
		padding-left: 1.79487vw;
	}
	.price .otherRow{
		display: block;
		max-width: 91.79487vw;
		margin: 10.25641vw auto 0;
	}
	.price .otherBox{
		padding: 5.12821vw 0;
		border-radius: 2.5641vw;
	}
	.price .otherBox>header{
		margin-bottom: 7.69231vw;
	}
	.price .otherBox>header::before{
		height: .25641vw;
		margin-right: 1.53846vw;
		background: #000;

		flex: 0 0 5.12821vw;
	}
	.price .otherBox>header::after{
		height: .25641vw;
		margin-left: 1.53846vw;

		flex: 0 0 5.12821vw;
	}
	.price .otherBox>header h2{
		font-size: 1.6rem;
	}
	.price .otherBox dl dt{
		font-size: 1.6rem;
		padding-left: 2.05128vw;
	}
	.price .otherBox dl dd{
		font-size: 1.6rem;
		padding-right: 2.05128vw;
	}
	.price .otherBox dl dt:not(:nth-last-of-type(1)),.price .otherBox dl dd:not(:nth-last-of-type(1)){
		margin-bottom: 3.84615vw;
		padding-bottom: 3.84615vw;
	}
	.price .otherBox dl dt:not(:nth-last-of-type(1))::before{
		height: .25641vw;
		background-image: linear-gradient(to right,#000 .25641vw, transparent .25641vw);
		background-size: 1.02564vw .25641vw;
	}
	.price .otherBox1 dl{
		width: 87.69231vw;
		margin: 0 auto;
	}
	.price .otherBox1 dl dt:not(:nth-last-of-type(1))::before{
		width: 87.69231vw;
	}
	.price .otherBox2{
		margin-top: 5.12821vw;
	}
	.price .otherBox2 dl{
		width: 87.69231vw;
		margin: 0 auto;
	}
	.price .otherBox2 dl dt:not(:nth-last-of-type(1))::before{
		width: 87.69231vw;
	}
	/* ==========================================================================
   初回体験レッスンの流れ
========================================================================== */
	.firstFlow{
		margin-top: 26.92308vw;
		padding-bottom: 10.25641vw;
	}
	.firstFlow::before{
		min-width: 0;
		height: 109.74359vw;
		background: url('../img/sp_green_bk.png') repeat-y top / 100% auto;
		background-color: #279014;
	}
	.firstFlow .secNoMarkTitle::after{
		width: 55.12821vw;
		height: 14.10256vw;
		background-image: url('../img/sp_flwo_title_en.png');
	}
	.firstFlow .read{
		font-size: 1.6rem;
		margin-top: 3.84615vw;
	}
	.firstFlow .firstFlowSwiper{
		position: relative;
		max-width: none;
		margin-top: 7.69231vw;
	}
	.firstFlow .firstFlowSwiper .swiper{
		overflow: visible;
		width: 91.79487vw;
	}
	.firstFlow .firstFlowSwiper .swiper-button-prev,.firstFlow .firstFlowSwiper .swiper-button-next{
		width: 5.38462vw;
		height: 7.17949vw;
		margin-top: clac(-1 * 3.58974vw);
	}
	.firstFlow .firstFlowSwiper .swiper-button-prev::after,.firstFlow .firstFlowSwiper .swiper-button-next::after{
		display: none;
	}
	.firstFlow .firstFlowSwiper .swiper-button-prev{
		left: 1.28205vw;
		transform: rotate(180deg);
		background: url('../img/first_flow_slide_next.svg') no-repeat center center / contain;
	}
	.firstFlow .firstFlowSwiper .swiper-button-next{
		right: 1.28205vw;
		background: url('../img/first_flow_slide_next.svg') no-repeat center center / contain;
	}
	.firstFlow .firstFlowSwiper .firstFlowBox{
		min-height: 91.02564vw;
		padding: 6.15385vw 0;
		border-radius: 2.5641vw;
	}
	.firstFlow .firstFlowSwiper .firstFlowBox header .num{
		top: 19.23077vw;
		left: 4.87179vw;
		width: 10.25641vw;
		height: 10.25641vw;
	}
	.firstFlow .firstFlowSwiper .firstFlowBox header::after{
		height: 19.23077vw;
		margin: 9.23077vw auto 0;
		background-repeat: no-repeat;
	}
	.firstFlow .firstFlowSwiper .firstFlowBox .text{
		font-weight: 900;
		max-width: 49.23077vw;
		margin: 4.87179vw auto 0;
	}
	.firstFlow .firstFlowSwiper .firstFlowBox1{
		background: url('../img/sp_first_flow_bk1.png') no-repeat center center / cover;
	}
	.firstFlow .firstFlowSwiper .firstFlowBox1 header::after{
		background-size: 10.25641vw auto;
	}
	.firstFlow .firstFlowSwiper .firstFlowBox1 .line{
		width: 49.23077vw;
		height: 11.28205vw;
		margin: 4.10256vw auto 0;
		border-radius: 25.64103vw;
		background: url('../img/line_arrow.svg') no-repeat calc(100% - 2.5641vw) center / 4.10256vw auto;
		background-color: #ff058d;
	}
	.firstFlow .firstFlowSwiper .firstFlowBox2{
		background: url('../img/sp_first_flow_bk2.png') no-repeat center center / cover;
	}
	.firstFlow .firstFlowSwiper .firstFlowBox2 header::after{
		background-size: 15.38462vw auto;
	}
	.firstFlow .firstFlowSwiper .firstFlowBox3{
		background: url('../img/sp_first_flow_bk3.png') no-repeat center center / cover;
	}
	.firstFlow .firstFlowSwiper .firstFlowBox3 header::after{
		background-position: center 1.28205vw;
		background-size: 15.38462vw auto;
	}
	.firstFlow .firstFlowSwiper .firstFlowBox4{
		background: url('../img/sp_first_flow_bk4.png') no-repeat center center / cover;
	}
	.firstFlow .firstFlowSwiper .firstFlowBox4 header::after{
		background-size: 15.38462vw auto;
	}
	.firstFlow .firstFlowSwiper .firstFlowBox5{
		background: url('../img/sp_first_flow_bk5.png') no-repeat center center / cover;
	}
	.firstFlow .firstFlowSwiper .firstFlowBox5 header::after{
		background-size: 15.38462vw auto;
	}
	.firstFlow .firstFlowSwiper .firstFlowBox5 .free{
		margin-top: 4.10256vw;
	}
	.firstFlow .lineCtaBtn{
		width: 91.79487vw;
		margin: 10.25641vw auto 0;
	}
	/* ==========================================================================
   アクセス・クラブ案内
========================================================================== */
	.access{
		margin-top: 26.92308vw;
	}
	.access .secNoMarkTitle::after{
		width: 83.33333vw;
		height: 12.82051vw;
		background-image: url('../img/sp_access_title_en.png');
	}
	.access .row{
		display: grid;
		width: 100%;
		margin: 8.97436vw auto 0;

		grid-template-columns: 100%;
		grid-template-rows: auto 1fr;
	}
	.access .row .map{
		height: 83.07692vw;
	}
	.access .row dl{
		width: 91.79487vw;
		margin-top: 7.4359vw;
		margin-left: 0;
		padding-right: 0;

		grid-column: 1;
		grid-row: 2;
		grid-template-columns: 21.79487vw 1fr;
		justify-self: center;
	}
	.access .row dl dt{
		padding-bottom: 5.12821vw;
		padding-left: 0;
	}
	.access .row dl dd{
		padding-bottom: 5.12821vw;
	}
	.access .row dl dt:not(:nth-last-of-type(1)),.access .row dl dd:not(:nth-last-of-type(1)){
		margin-bottom: 5.12821vw;
	}
	.access .row dl dt::before{
		width: 91.79487vw;
		height: .25641vw;
		background-image: linear-gradient(to right,#000 .25641vw, transparent .25641vw);
		background-size: 1.02564vw .25641vw;
	}
	/* ==========================================================================
   よくある質問
========================================================================== */
	.faq{
		margin-top: 32.05128vw;
		padding-bottom: 20.51282vw;
	}
	.faq .secNoMarkTitle{
		margin-bottom: 8.97436vw;
	}
	.faq .secNoMarkTitle::after{
		width: 42.82051vw;
		height: 16.41026vw;
		background-image: url('../img/sp_faq_title_en.png');
	}
	.faq .faqBox{
		max-width: 91.79487vw;
	}
	.faq .faqBox>header{
		min-height: 21.53846vw;
		padding: 3.84615vw 11.28205vw 3.84615vw 2.82051vw;
		border: .25641vw solid #ddd;
	}
	.faq .faqBox>header::before{
		right: 2.30769vw;
		width: 4.10256vw;
		height: .51282vw;
	}
	.faq .faqBox>header::after{
		position: absolute;
		right: 4.10256vw;
		width: .51282vw;
		height: 4.10256vw;
		background: #222;
	}
	.faq .faqBox>header:hover{
		opacity: 1;
	}
	.faq .faqBox>header .q{
		margin-right: 3.84615vw;
	}
	.faq .faqBox .hideBox .inner{
		padding: 4.10256vw 11.28205vw 4.10256vw 2.82051vw;
	}
	.faq .faqBox .hideBox .a{
		margin-right: 3.84615vw;
	}
	.faq .faqBox .hideBox .text{
		padding-top: 1.28205vw;
	}
	.faq .faqBox+.faqBox{
		margin-top: 5.12821vw;
	}
	/*end*/
}

.bg-none::before{
	display: none;
}