/* ============================
http://gym-gecko.com/
2019. providesign

@media (min-width: 576px) {}
@media (min-width: 768px) {}
@media (min-width: 992px) {}
@media (min-width: 1200px) {}
============================ */

/* ============================
共通パーツ
============================ */
/* ななめ背景 */
.bg-slope-t {
	width: 100%;
	height: 18vw;
	border-top: 9vw solid rgba(255,255,255,1);
	border-left: 50vw solid #bbc3c3;
}
.bg-slope-b {
	width: 100%;
	height: 18vw;
	border-right: 50vw solid #bbc3c3;
	border-bottom: 9vw solid rgba(255,255,255,1);
}
#price .bg-slope-t {
	border-right: 50vw solid #ffeb00;
	border-bottom: 9vw solid #ffeb00;
}
#price .bg-slope-b {
	border-top: 9vw solid #ffeb00;
	border-left: 50vw solid #ffeb00;
}
#calendar .bg-slope-t {
	border-right: 50vw solid #05afd2;
	border-bottom: 9vw solid #05afd2;
}
#calendar .bg-slope-b {
	border-top: 9vw solid #05afd2;
	border-left: 50vw solid #05afd2;
}
#map .bg-slope-t {
	border-right: 50vw solid #c4eb43;
	border-bottom: 9vw solid #c4eb43;
}
#map .bg-slope-b {
	border-top: 9vw solid #c4eb43;
	border-left: 50vw solid #c4eb43;
}
#inquiry .bg-slope-t {
	border-right: 50vw solid #ffb618;
	border-bottom: 9vw solid #ffb618;
}
#inquiry .bg-slope-b {
	border-top: 9vw solid #ffb618;
	border-left: 50vw solid #ffb618;
}

/* ななめ背景がある領域のタイトル */
#price .page-title-a,
#calendar .page-title-a,
#map .page-title-a,
#inquiry .page-title-a {
	padding-left: 10px;
	position: absolute;
	top: -6vw;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
}
#price .page-title-a::before,
#calendar .page-title-a::before,
#map .page-title-a::before,
#inquiry .page-title-a::before {
	left: 10px;
}

.bg-slope-inner {
	margin-bottom: 0 !important;
}

#sns,
#about,
#school,
#faq {
	background-color: #fff;
	padding-top: 1rem;
}
footer {
	background-color: #fff;
}

/* ● */
[class^="cir-"] {
	position: relative;
	padding-left: 1.25rem;
}
.cir-bl {}
.cir-yw {}
[class^="cir-"]::before {
	content: '';
	width: 16px;
	height: 16px;
	border-radius: 50%;
	position: absolute;
	top: 3px;
	left: 0;
}
.cir-bl::before {
	background-color: #05afd2;
}
.cir-yw::before {
	background-color: #ffeb00;
}

.caution {
	padding-left: 1.25rem;
	position: relative;
}
.caution::before {
	content: '※';
	color: #f23581;
	position: absolute;
	top: 1px;
	left: 0;
}
.caution-yw {
	color: #ffeb00;
}

/* ============================
header ヘッダ
============================ */
header {}
.cb-header {
	position: fixed;
	top: -120px;
	left: 0;
	right: 0;
}

header .navbar-collapse {}
@media (min-width: 576px) {}
@media (min-width: 768px) {
	header .navbar-collapse {
		width: 520px;
	}
	header .navbar {
		align-items: flex-start;
	}
}
@media (min-width: 992px) {
	header .navbar-collapse {
		width: 760px;
	}
}
@media (min-width: 1200px) {
	header .navbar-collapse {
		width: 940px;
	}
}



/* ============================
footer フッタ
============================ */
footer {
	position: relative;
}
footer .footer-logo a {
	display: block;
	width: 134px;
	height: 70px;
	background-image: url(../images/parts/pts-logo.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
}
footer .footer-logo span {
	display: none;
}

footer .copyright {
	font-size: 0.75rem;
	text-align: center;
	padding-top: 5rem;
}

@media (min-width: 576px) {
	footer .copyright {
		padding-top: 3.5rem;
	}
}
@media (min-width: 768px) {
	footer .footer-logo a {
		position: absolute;
		top: -30px;
	}
}
@media (min-width: 992px) {
	footer .footer-logo a {
		position: absolute;
		top: -50px;
	}
	footer .copyright {
		padding-top: 2.5rem;
	}
}
@media (min-width: 1200px) {
	footer .footer-logo a {
		position: absolute;
		top: -70px;
	}
	footer .copyright {
		padding-top: 1.5rem;
	}
}



/* ============================
#top-movie Movie
============================ */
#top-movie {}
#top-movie {
	overflow: hidden;
}

.secIndexMovie {}
.txt {}
.imgR {}
.btn {}
.spOnly {}


/* secIndexMovie */
.secIndexMovie{
	width: 100%;
	height: 100vh;
	position: relative;
}
.secIndexMovie .bg{
	position: absolute;
	left: 50%;
	bottom: 0;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.secIndexMovie .txt{
	position: absolute;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	top: 40%;
	width: 260px;
	height: 136px;
	z-index: 8;
}
.secIndexMovie .txt img{
	width: 100%;
	height: auto;
}
@media (min-width: 576px) {
}
@media (min-width: 768px) {
	.secIndexMovie .txt{
		width: 364px;
		height: 190px;
	}
}
@media (min-width: 992px) {}
@media (min-width: 1200px) {}

#top-movie .top-movie-nav {
	display: none;
}

/*cf*/
.cf:before,.cf:after {
	content:".";
	display:table;
	height:0;
	font-size:0;
	line-height:0;
	visibility:hidden;
}
.cf:after {
	clear:both;
}
.cf {
	*zoom:1;
	overflow:hidden;
}

/*
#top-movie {
	height: 100vh;
	background-image: url(../images/parts/pts-logo-mv.png), url(../images/top-movie/mv.jpg);
	background-repeat: no-repeat, no-repeat;
	background-size: 360px auto, cover;
	background-position: center center, top center;
	z-index: 10;
}

#top-movie {
	height: 100vh;
}
#top-movie #video {
    position: fixed;
    top: 0;
    left: 0;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: -1;
}

#top-movie .top-movie-inner {
	height: 100%;
	position: relative;
}

#top-movie .gecko-logo {
	width: 32%;
	height: auto;
	position: absolute;
	top: 35vh;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
*/

#top-movie .top-movie-nav ul {
	padding-top: 1.75rem;
	list-style-type: none;
	padding-left: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	font-weight: 500;
}

#top-movie .top-movie-nav li {
	margin-right: 1.75rem;
}

#top-movie .top-movie-nav a {
	color: #fff;
}
#top-movie .top-movie-nav a:hover {
	color: #ffeb00;
}

@media (min-width: 768px) {
	#top-movie .top-movie-nav {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
	}
}


/* ============================
#top-image
============================ */
#top-image {
	min-height: 100vh;
	position: relative;
	padding-bottom: 0;
	height: auto;
	background: -moz-linear-gradient(top, #C6CDCD, #FFF);
	background: -webkit-linear-gradient(top, #C6CDCD, #FFF);
	background: linear-gradient(to bottom, #C6CDCD, #FFF);
}
#top-image .white-box {
	width: 100%;
	height: 100px;
	background: -moz-linear-gradient(top, rgba(255,255,255,0), #FFfffF);
	background: -webkit-linear-gradient(top, rgba(255,255,255,0), #fff);
	background: linear-gradient(to bottom, rgba(255,255,255,0), #fff);
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 3;
}
#top-image .top-image-inner {
	height: 100%;
	background-image: url(../images/top-image/01-bg.png);
	background-repeat: no-repeat;
	background-size: 100% auto;
}
#top-image #bg03,
#top-image #bg02,
#top-image #bg01 {
	height: 100%;
	background-repeat: no-repeat;
	background-size: 120% auto;
}
#top-image #bg03 {
	background-image: url(../images/top-image/01-c-sp.png);
}
#top-image #bg02 {
	background-image: url(../images/top-image/01-b-sp.png);
}
#top-image #bg01 {
	background-image: url(../images/top-image/01-a-sp.png);
}
#top-image .top-image-txt {
	margin-left: 0;
	margin-right: 0;
	padding-top: 142vw;
	padding-bottom: 5rem;
}
#top-image .top-image-txt p {
	line-height: 1.875;
}

@media (min-width: 576px) {
	#top-image {
	}
	#top-image #bg03,
	#top-image #bg02,
	#top-image #bg01 {
		height: 100%;
		background-repeat: no-repeat;
		background-size: 760px auto;
	}
	#top-image .top-image-txt {
		margin-left: 0;
		margin-right: 0;
		padding-top: 880px;
	}
	#top-image .top-image-txt p {
		line-height: 1.5;
	}
}
@media (min-width: 768px) {
	#top-image {
	}
	#top-image #bg03 {
		background-image: url(../images/top-image/01-c.png);
	}
	#top-image #bg02 {
		background-image: url(../images/top-image/01-b.png);
	}
	#top-image #bg01 {
		background-image: url(../images/top-image/01-a.png);
	}
	#top-image #bg03,
	#top-image #bg02,
	#top-image #bg01 {
		height: 100%;
		background-repeat: no-repeat;
		background-size: 1010px auto;
	}
	#top-image .top-image-txt {
		margin-left: 10%;
		margin-right: 10%;
		padding-top: 550px;
	}
	#top-image .top-image-txt p {
		line-height: 1.75;
	}
}
@media (min-width: 992px) {
	#top-image {
	}
	#top-image #bg03,
	#top-image #bg02,
	#top-image #bg01 {
		height: 100%;
		background-repeat: no-repeat;
		background-size: 1350px auto;
	}
	#top-image .top-image-txt {
		margin-left: 55%;
		margin-right: 0;
		padding-top: 270px;
	}
	#top-image .top-image-txt p {
		line-height: 1.875;
	}
}
@media (min-width: 1200px) {
	#top-image {
	}
	#top-image #bg03,
	#top-image #bg02,
	#top-image #bg01 {
		height: 100%;
		background-repeat: no-repeat;
		background-size: 1600px auto;
	}
	#top-image .top-image-txt {
		margin-left: 57%;
		padding-top: 330px;
	}
	#top-image .top-image-txt p {
		line-height: 1.875;
	}
}






/* ============================
#sns
============================ */
#sns .sns-area {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#sns .sns-area p.button-more {
	margin-top: 2rem;
}
@media (min-width: 768px) {
	#sns .sns-area {
		justify-content: space-between;
		align-items: stretch;
	}
}
@media (min-width: 992px) {
	#sns .sns-area {
		flex-wrap: nowrap;
	}
}

#sns .news-area {
	width: 100%;
	margin-bottom: 2rem;
}
#sns .news-area section {
	border-bottom: 1px dashed #bbc3c3;
	padding: 1rem 0;
}
#sns .news-area p.meta-date {
	font-weight: 700;
	margin-bottom: 0;
}
#sns .news-area h3 {
	font-weight: 700;
	font-size: 1rem;
}
#sns .news-area a {
	color: #262626;
}
#sns .news-area p.txt {
	font-size: 0.875rem;
	max-height: 42px;
	overflow: hidden;
	text-overflow: ellipsis;
	margin-bottom: 0;
}

#sns .fb-area {
	width: 100%;
	margin-bottom: 2rem;
}
#sns .insta-area {
	width: 100%;
	margin-bottom: 2rem;
}
@media (min-width: 576px) {
	#sns .news-area {
		width: 100%;
	}
	#sns .fb-area {
		width: 100%;
	}
	#sns .insta-area {
		width: 100%;
	}
}
@media (min-width: 768px) {
	#sns .news-area {
		width: 100%;
	}
	#sns .fb-area {
		width: 50%;
		padding-bottom: 4rem;
		position: relative;
	}
	#sns .insta-area {
		width: 45%;
		padding-bottom: 4rem;
		position: relative;
	}
	#sns .fb-area p.button-more,
	#sns .insta-area p.button-more {
		position: absolute;
		bottom: 0;
		right: 0;
	}

}
@media (min-width: 992px) {
	#sns .news-area {
		width: 25%;
		position: relative;
		padding-bottom: 4rem;
	}
	#sns .news-area p.button-more {
		position: absolute;
		bottom: 0;
		right: 0;
	}
	#sns .fb-area {
		width: 34%;
	}
	#sns .insta-area {
		width: 31%;
	}
}
@media (min-width: 1200px) {
	#sns .news-area {
		width: 29%;
	}
	#sns .fb-area {
		width: 28%;
	}
	#sns .insta-area {
		width: 35%;
	}
}

#sns .insta-area ul#instafeed {
	list-style-type: none;
	padding-left: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}
#sns .insta-area ul#instafeed li {
	width: 30%;
	height: 28vw;
	margin-bottom: 1rem;
}
@media (min-width: 576px) {
	#sns .insta-area ul#instafeed li {
		height: 162px;
		margin-bottom: 1.7rem;
	}
}
@media (min-width: 768px) {
	#sns .insta-area ul#instafeed li {
		height: 86px;
		margin-bottom: 1rem;
	}
}
@media (min-width: 992px) {}
@media (min-width: 1200px) {
	#sns .insta-area ul#instafeed li {
		height: 120px;
		margin-bottom: 1rem;
	}
}


/* ============================
#price 料金案内
============================ */

#price {
	overflow-x: hidden;
}
#price .bg-slope-inner {
	background-color: #ffeb00;
	position: relative;
}

#price .price-circle {
	width: 210px;
	height: 210px;
	background-color: #f23581;
	border-radius: 50%;
	color: #fff;
	font-size: 1.375rem;
	font-weight: 700;
	line-height: 1.27;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 2rem;
}
@media (min-width: 576px) {}
@media (min-width: 768px) {}
@media (min-width: 992px) {
	#price .price-circle {
		margin-left: 0;
		margin-bottom: 0;
	}
}
@media (min-width: 1200px) {}


#price table {
	width: 100%;
	line-height: 1.2;
	font-weight: 700;
}
#price table hr {
	margin-top: 0.25rem;
	margin-bottom: 0.25rem;
	border-top: 1px solid rgba(255,255,255,0.5);
}
#price table span.super {
	vertical-align: super;
	color: #f23581;
	font-size: 0.75rem;
}

#price table tbody tr:last-child {
	border-bottom: 1px solid #bbc3c3;
}
#price table tbody tr > *:last-child {
	border-right: 1px solid #bbc3c3;
}
#price table tbody th,
#price table tbody td {
	border-top: 1px solid #bbc3c3;
	border-left: 1px solid #bbc3c3;
}
#price table th,
#price table td {
	text-align: center;
	padding: 0.5rem;
}
#price table th[class^="th1-"] {
	color: #fff;
	font-size: 1.375rem;
	border-radius: 10px 10px 0 0;
}
#price table th.th1-or {
	background-color: #f58c00;
}
#price table th.th1-bl {
	background-color: #05afd2;
}
#price table th[class^="th2-"] {
	color: #fff;
	border-top: 1px solid #bbc3c3;
	border-left: 1px solid #bbc3c3;
}
#price table th[class^="th2-"]:last-child {
	border-right: 1px solid #bbc3c3;
}
#price table th.th2-or {
	background-color: #ffb618;
}
#price table th.th2-bl {
	background-color: #3dcfe8;
}
#price table th.ths {
	background-color: #fff;
}
#price table td.td-or {
	background-color: #ffe2a3;
}
#price table td.td-bl {
	background-color: #d3ffff;
}

#price #price-daily {}
#price #price-daily .daily-inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#price #price-daily .daily-1 {
	width: 100%;
	text-align: center;
}

#price #price-daily .daily-2 {
	width: 100%;
	margin-bottom: 2rem;
}
#price #price-daily .daily-3 {
	width: 100%;
	margin-bottom: 2rem;
}
#price #price-daily .daily-4 {
	display: none;
}
@media (min-width: 768px) {
	#price #price-daily .daily-inner {
		display: flex;
		justify-content: space-between;
	}
	#price #price-daily .daily-1 {
		width: 100%;
	}
	#price #price-daily .daily-2 {
		display: none;
	}
	#price #price-daily .daily-3 {
		display: none;
	}
	#price #price-daily .daily-4 {
		display: block;
		width: 100%;
	}
}
@media (min-width: 992px) {
	#price #price-daily .daily-inner {
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: center;
	}
	#price #price-daily .daily-1 {
		width: 22%;
	}
	#price #price-daily .daily-4 {
		display: block;
		width: 76%;
	}
}
@media (min-width: 1200px) {
	#price #price-daily .daily-1 {
		width: 20%;
	}
	#price #price-daily .daily-4 {
		width: 78%;
	}
}

#price #price-member {}

#price #price-freepass {}
#price #price-freepass .freepass-inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 2rem;
}
#price #price-freepass .freepass-1 {
	width: 100%;
	margin-bottom: 2rem;
}
#price #price-freepass .freepass-2 {
	width: 100%;
	margin-bottom: 2rem;
}
#price #price-freepass .freepass-3 {
	width: 100%;
	margin-bottom: 2rem;
}
#price #price-freepass tbody {
}
@media (min-width: 576px) {}
@media (min-width: 768px) {
	#price #price-freepass .freepass-inner {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: baseline;
	}
	#price #price-freepass .freepass-2 {
		width: 48%;
	}
	#price #price-freepass .freepass-3 {
		width: 48%;
	}
	#price #price-freepass tbody {
	}
}
@media (min-width: 992px) {
	#price #price-freepass .freepass-inner {
		align-items: center;
	}
	#price #price-freepass .freepass-1 {
		width: 22%;
		margin-bottom: 0;
	}
	#price #price-freepass .freepass-2 {
		width: 37%;
		margin-bottom: 0;
	}
	#price #price-freepass .freepass-3 {
		width: 37%;
		margin-bottom: 0;
	}
}
@media (min-width: 1200px) {
	#price #price-freepass .freepass-inner {
		justify-content: flex-start;
	}
	#price #price-freepass .freepass-1 {
		width: 20%;
		margin-right: 1.5rem;
	}
	#price #price-freepass .freepass-2 {
		width: 32%;
		margin-right: 1.25rem;
	}
	#price #price-freepass .freepass-3 {
		width: 32%;
	}
}

#price #price-rental {}


/* ============================
#about ジムのご紹介
============================ */
#about {}
#about .lightbox {}
#about .lightbox a {
	color: #262626;
	transition-duration: 0.5s;
}
#about .lightbox a:hover {}
#about .lightbox a:hover img:nth-child(1) {
	transform: scale(1.1);
	transition-duration: 0.5s;
}
#about .lightbox div {
	overflow: hidden;
}
#about .lightbox img {
	margin-bottom: 0;
}
#about .lightbox p {
	line-height: 1.3;
}
.modal-title {
	margin-bottom: 0;
	line-height: 1.2;
	font-size: 1rem;
	font-weight: normal;
}



/* ============================
#calendar 営業時間
============================ */
#calendar {
	overflow-x: hidden;
}
#calendar .bg-slope-inner {
	background-color: #05afd2;
	position: relative;
}

#calendar .calendar-inner {
	display: flex;
	flex-wrap: wrap;
}
#calendar .calendar-1 {
	width: 100%;
}
#calendar .calendar-2 {
	width: 100%;
	height: 500px;
}
@media (min-width: 576px) {}
@media (min-width: 768px) {}
@media (min-width: 992px) {
	#calendar .calendar-inner {
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
	}
	#calendar .calendar-1 {
		width: 23%;
	}
	#calendar .calendar-2 {
		width: 72%;
		height: 600px;
	}
}
@media (min-width: 1200px) {
	#calendar .calendar-1 {
		width: 24%;
	}
	#calendar .calendar-2 {
		width: 72%;
	}
}


/* ============================
#school クライミング・ボルタリング教室
============================ */
#school {}
#school section {
	border-top: 1px dashed #bbc3c3;
	padding: 1.5rem 1rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
}
#school section:last-child {
	border-bottom: 1px dashed #bbc3c3;
}
#school section div {
	width: 100%;
}
#school section h3 {
	font-size: 1.25rem;
	font-weight: 700;
	margin-bottom: 1rem;
}
#school section h3 a {
	color: #f58c00;
}
#school section p.txt {
	height: 48px;
	overflow: hidden;
	text-overflow: ellipsis;
}
#school section p.button-more {
	width: 100%;
}

@media (min-width: 576px) {}
@media (min-width: 768px) {
	#school section {
		padding: 1.5rem 2.5rem;
	}
}
@media (min-width: 992px) {
	#school section div {
		width: 78%;
	}
	#school section p.button-more {
		width: 20%;
	}
}
@media (min-width: 1200px) {
	#school section div {
		width: 81%;
	}
	#school section p.button-more {
		width: 17%;
	}
}



/* ============================
#map アクセス
============================ */
#map {
	overflow-x: hidden;
}
#map .bg-slope-inner {
	background-color: #c4eb43;
	position: relative;
}

#map .access {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding-top: 3rem;
}
#map .access-1 {
	width: 100%;
	margin-bottom: 2rem;
}
#map .access-2 {
	width: 100%;
}
@media (min-width: 576px) {
	#map .access {
		padding-top: 2rem;
	}
	#map .access-2 {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	#map .access-2-1 {
		width: 58%;
	}
	#map .access-2-2 {
		width: 36%;
	}
}
@media (min-width: 768px) {
	#map .access {
		padding-top: 1rem;
	}
}
@media (min-width: 992px) {
	#map .access {
		padding-top: 0.5rem;
	}
	#map .access {
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: stretch;
	}
	#map .access-1 {
		width: 68%;
	}
	#map .access-2 {
		width: 27%;
		display: block;
	}
	#map .access-2-1 {
		width: 100%;
		margin-bottom: 1rem;
	}
	#map .access-2-2 {
		width: 100%;
	}
}
@media (min-width: 1200px) {
	#map .access {
		padding-top: 0;
	}
	#map .access-1 {
		width: 70%;
	}
	#map .access-2 {
		width: 26%;
	}
}

#map a {
	text-decoration: none;
}

/* ============================
#faq よくある質問
============================ */

/* common.css に記載 */

/* ============================
#inquiry ご予約・お問合せ
============================ */
#inquiry {
	overflow-x: hidden;
}
#inquiry .bg-slope-inner {
	background-color: #ffb618;
	position: relative;
}


