* {
	margin:0;
	padding:0;
	font-size:100%;
	box-sizing:border-box;
	font-family: "Avenir Next", Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, sans-serif;
}
* a:link { text-decoration:none; }
* a:visited { text-decoration:none; }
* a:hover { text-decoration:underline; }
* a:active { text-decoration:none; }
html {
	font-size:10px;
}
html, body {
	background:#fff;
	color:#000;
}

@media only screen and (min-width: 0px) {
header {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:7rem;
	z-index:999;
	color:#fff;
}
header h1{
	margin:0;
	padding:1rem 2rem;
	background:#000;
}
header h1 img{
	width:auto;
	height:5rem;
}
header ul{
	position:absolute;
}
header ul li{
	list-style:none;
	font-size:1.2rem;
	font-weight:700;
}
header ul li a{
	color:#fff;
}
header ul.contact,
header ul.utilities{
	left:11rem;
}
header ul.contact {
	top:1.5rem;
}
header ul.utilities{
	top:4rem;
}
header ul.contact li.email{
	display:none;
}

header #toggle_btn_gnav {
	position:absolute;
	display:block;
	top:1rem;
	right:2rem;
	color:#fff;
	text-align:center;
}
header #toggle_btn_gnav i{
	font-size:3.5rem;
}

header ul.gnav.open {
	display:flex;
	display:-webkit-flex;
}
header ul.gnav {
	display:none;
	flex-wrap:wrap;
	align-items:center;
	z-index:999;
	top:70px;
	width:100%;
	background:#B21B27;
}
header ul.gnav li{
	width:50%;
	text-align:center;
	background:#B21B27;
	list-style:none;
}
header ul.gnav li a{
	display:block;
	width:100%;
	height:100%;
	padding:2rem 0;
	font-size:1.3rem;
	font-weight:700;
	font-family: Impact, "Avenir Next", Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, sans-serif;
}
header ul.gnav li.rsvp a{
	background:#000;
	color:#f00;
}

#cfa {
	display:block;
	padding-top:9rem;
	margin:0 auto 2rem;
	width:80%;
	max-width:800px;
}

#keyvisual_wrap{
	position:relative;
	/* 100 : 56.25 = 16 : 9 */
	width:100%;
	padding-top:56.25%;
}
#keyvisual {
	position:absolute;
	top:0;
	left:0;
	width: 100%;
	height:100%;
}
#keyvisual div {
	background-repeat:no-repeat;
	background-size:cover;
	background-position:50% 50%;
	width:100%;
	height:100%;
}
#keyvisual div.keyvisual0 {
	background-image:url(../img/000_cfa.png);
}
#keyvisual div.keyvisual1 {
	background-image:url(../img/001_main.jpg);
}
#keyvisual div.keyvisual2 {
	background-image:url(../img/002_cfa.jpg);
}
#keyvisual div.keyvisual3 {
	background-image:url(../img/003_cfg.jpg);
}
#keyvisual div.keyvisual4 {
	background-image:url(../img/004_cfg.jpg);
}
#keyvisual div.keyvisual5 {
	background-image:url(../img/005_cfg.jpg);
}
.slick-next {
	right: 10px;
	z-index: 99;
}
.slick-prev {
	left: 10px;
	z-index: 100;
}
.slick-dots li button::before {
	font-size:12px;
	color:#999;
	opacity:.75;
}
.slick-dots li.slick-active button:before {
	color:#000;
}
div.section {
	width:100%;
	max-width:940px;
	margin:0 auto;
	padding:6rem 1rem 0;
}
div.section h2 {
	font-family: Impact, "Avenir Next", Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, sans-serif;
	text-align:center;
	font-size:2.5rem;
	color:#B21B27;
	margin:0 0 1.5rem;
	width:100%;
}
div.section h3 {
	font-family: Impact, "Avenir Next", Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, sans-serif;
	text-align:center;
	font-size:2.2rem;
	color:#000;
	margin:0 0 1.5rem;
	width:100%;
}
div.section h2:first-of-type {
	margin:4.5rem 0 1.5rem;
}
div.section h3:first-of-type {
	margin:0 0 1.5rem;
}
div.section div.youtube{
	position:relative;
	width:100%;
	padding-top:56.25%;
}
div.section div.youtube iframe{
	position:absolute;
	top:0;
	right:0;
	width:100%;
	height:100%;
}
div.section p {
	width:100%;
	margin: 1rem 0;
	font-size:1.4rem;
	line-height:1.3;
}

div.booking_btn,
a.booking_btn {
	display:block;
	width:100%;
	flex-basis:355px;
	max-width:355px;
	height:120px;
	margin:1rem auto 0;
	text-align:center;

	/* border-radius */
	border-radius:10px;
	-moz-border-radius:10px;
	-webkit-border-radius:10px;
}
div.booking_btn p,
a.booking_btn p{
	position: relative;
	top: 50%;
	-webkit-transform: translateY(-50%); /* Safari用 */
	transform: translateY(-50%);
}
div.booking_btn p span.title,
a.booking_btn p span.title{
	font-size:2rem;
	font-weight:700;
	font-family: Impact, "Avenir Next", Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, sans-serif;
}
div.booking_btn p span.price,
a.booking_btn p span.price{
	font-size:2rem;
	font-family: Impact, "Avenir Next", Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, sans-serif;
}

/****** Grand Open ******/
#grandopen,
#grandopen *{
	margin-top: 10rem;
	text-align: center;
	color: #B21B27;
	font-weight: 700;
	font-size: 3rem;
	font-family: Impact, "Avenir Next", Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, sans-serif;
}
#grandopen span{
	font-size: 2rem;
}

/****** History ******/
#history img{
	width:100%;
	height:auto;
}

/****** Staff ******/
#staff {
	text-align:center;
}
div.astaff {
	margin-top:1.5rem;
}
div.astaff:first-of-type {
	margin-top:0;
}
div.astaff span.name{
	font-family: Impact, "Avenir Next", Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, sans-serif;
	font-weight:700;
	font-size:1.8rem;
}
div.astaff p {
	margin: 0;
	line-height:1.2;
}

/****** Get Started ******/
#get_started p:first-of-type {
	margin-top:0;
}
#get_started p.price {
	font-family: Impact, "Avenir Next", Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, sans-serif;
	font-weight:700;
	font-size:2.5rem;
	color:#B21B27;
	text-align:center;
	margin:2rem 0;
}
#get_started a.booking_crossFit_fundamentals_course{
	background:#B21B27;
	color:#fff;
}
#get_started a.am_class{
	background:#0d8bd3;
	color:#fff;
}
#get_started a.pm_class{
	background:#d4560d;
	color:#fff;
}


/****** Membership ******/
#membership {
	text-align:center;
}
#membership div.plans div.plan {
	border: 5px solid #B21B27;
	width:100%;
	padding: 2rem 1rem;
	margin:0 0 10px;
}
#membership div.plans div.plan p {
	margin:0;
	font-size:1.4rem;
}
#membership div.plans div.plan .title {
	font-family: Impact, "Avenir Next", Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, sans-serif;
	color: #B21B27;
	font-size: 2rem;
	font-weight: 700;
	line-height:2rem;
}
#membership div.plans div.plan .price {
	margin-top:1.5rem;
	font-weight: 700;
}
#membership div.plans div.plan .num {
	font-family: Impact, "Avenir Next", Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, sans-serif;
	color: #B21B27;
	font-size: 2rem;
}
#membership div.plans div.plan p.caption {
	margin-top:1.5rem;
}
#membership div.plans div.plan dl {
	margin-top:1.5rem;
	display:flex;
	display:-webkit-flex;
	flex-wrap:wrap;
	align-items:center;
	font-size:1.4rem;
	font-weight:700;
}
#membership div.plans div.plan dl dt {
	width:50%;
	text-align:right;
}
#membership div.plans div.plan dl dd {
	width:50%;
	text-align:left;
	padding-left:.5rem;
}

/****** Schedule ******/
#schedule a.booking_btn {
	height:100px;
	background-color:#B21B27;
	color:#fff;
	font-weight:bold;
}
#schedule a.booking_btn p {
	font-size:1.3rem;
}

/****** Access ******/
#access {
	text-align:center;
}
#access a {
	color:#000;
}
#access div.ggmap {
	position: relative;
	padding-bottom: 100%;
	height: 0;
	overflow: hidden;
}
#access div.ggmap iframe,
#access div.ggmap object,
#access div.ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#cflogo {
	text-align:center;
	padding-bottom:0;
}
#cflogo a img {
	width:50%;
	max-width:300px;
	height:auto;
}

footer {
	margin-top:6rem;
	padding:2rem 0;
	text-align:center;
	background:#000;
	color:#fff;
	font-size:1.3rem;
}
footer img {
	width:4rem;
	height:auto;
}
footer p {
	margin-bottom:1rem;
}
footer p:last-child {
	margin-bottom:0;
}
footer a:link,
footer a:visited,
footer a:active,
footer a:link {
	color:#fff;
}
}/*** min-width: 0px ***/

@media (min-width: 768px) {
header {
	position:fixed;
	top:0;
	width:100%;
	padding:0;
	height:70px;
}
header h1{
	text-align:center;
}
header h1 img{
	height:50px;
}
header ul.contact{
	width:auto;
}
header ul.contact{
	top:1.8rem;
	left:calc(50% + 50px);
}
header ul.contact li{
	text-align:left;
}
header ul.contact li.email{
	display:block;
}
header ul.contact li.email a{
	color:#fff;
}
header ul.utilities{
	top:2.8rem;
	right:calc(50% + 50px);
	left:auto;
}
header ul.gnav{
	width:100%;
	height:50px;
	background:#B21B27;
	justify-content:space-between;
}
header ul.gnav li{
	width:auto;
	height:100%;
}
header ul.gnav li a{
	padding:1.6rem 1rem 0;
}
header ul.gnav li.rsvp a{
	background:#262626;
}

div.section {
	padding:12rem 1rem 0;
}
div.section > p {
	padding:0 15%;
}

#whats_crossfit div.youtubes {
	display:flex;
	display:-webkit-flex;
	flex-wrap:wrap;
}
#whats_crossfit div.youtubes div.youtube{
	width:50%;
	padding-top:28%;
}

/*** Staff ***/
#staff {
	display:flex;
	display:-webkit-flex;
	flex-wrap:wrap;
}
#staff .astaff{
	margin-top:3rem;
}
#staff .astaff:first-of-type,
#staff .astaff:nth-of-type(2){
	margin-top:0;
}
#staff .astaff{
	width:50%;
}

#get_started div.booking_btns{
	display:flex;
	display:-webkit-flex;
	flex-wrap:wrap;
	justify-content:center;
}
#get_started div.booking_btns a.booking_btn{
	margin:1rem .5rem 0;
}

#membership div.plans {
	display:flex;
	display:-webkit-flex;
	flex-wrap:wrap;
	justify-content: space-around;
	align-items:baseline;
}
#membership div.plans #membership_starter_pack {
	width:52%;
}
#membership div.plans #crossfit_class_monthly_membership,
#membership div.plans #crossfit_12_session_punch_card,
#membership div.plans #weightlifting,
#membership div.plans #zumba,
#membership div.plans #cardio_core_workout,
#membership div.plans #yoga,
#membership div.plans #strictly_cardio,
#membership div.plans #crossfit_kids,
#membership div.plans #ivan_sakamoto_bjj,
#membership div.plans #open_gym_monthly_membership {
	width:49%;
}
#membership div.plans #drop_in{
	width:52%;
}

}/*** min-width: 768px ***/

@media only screen and (min-width: 1024px) {
header ul.gnav li a{
	padding:1.6rem 2rem 0;
}
}

@media only screen and (min-width: 1200px) {
#cfa{
	padding-top:13rem;
	margin:0 auto 7rem;
}
.slick-next {
	right: 20px;
}
.slick-prev {
	left: 20px;
}
.slick-dots li button::before {
	font-size:14px;
}

}/*** min-width: 1200px ***/

@media only screen and (min-width: 3200px) {
}/*** min-width: 3200px ***/
