@charset "utf-8";
/* CSS Document */

/*--------------------------------------
	基本設定
----------------------------------------*/
html {
	overflow-y: scroll;
}
body {
	background: #1a1a1a;
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.serif {
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
img {
	display: block;
	max-width: 100%;
	height: auto;
}
.cf:before,
.cf:after {
	content: " ";
	display: table;
}
.cf:after {
	clear: both;
}
.cf {
	*zoom: 1;
}
a:link {
	text-decoration: none;
}
li {
	list-style: none;
}
p {
	text-align: justify;
	color: #fff;
	font-size: 14px;
	line-height: 1.5em;
}

/*--------------------------------------
	SP
----------------------------------------*/
@media only screen and (max-width:1099px) {
	/*--------------------
		BASE
	--------------------*/
	body {
		padding-top: 50px;
	}
	.chase {
		display: none!important;
	}
	.tel {
		text-decoration: underline!important;
	}

	/*--------------------
		COMMON
	--------------------*/
	.new-line {
		margin-top: 1em;
	}

	/*--------------------
		HEADER
	--------------------*/
	#global-header {
		width: 100%;
		height: 50px;
		background: #101010;
		position: fixed;
		top: 0;
		z-index: 999;
	}
	h1 {
		float: left;
		width: 218px;
		height: 35px;
		margin: 7.5px 0 7.5px 2%;
	}

	/*--------------------
		NAVIGATION
	--------------------*/
	#nav-switcher {
		display: none;
	}
	#global-navi {
		width: 100%;
		position: absolute;
		top: 50px;
	}
	#global-navi label {
		float: right;
		display: block;
		width: 50px;
		height: 50px;
		background: #ce0002;
		text-align: center;
		color: #fff;
		font-size: 13px;
		font-weight: bold;
		line-height: 50px;
		margin-top: -50px;
	}
	#global-navi ul {
		width: 100%;
		background: rgba(16, 16, 16, 0.9);
	}
	#global-navi li a {
		display: block;
		height: 0;
		text-align: center;
		color: #ce0c18;
		font-weight: bold;
		line-height: 40px;
		letter-spacing: 0.1em;
		overflow: hidden;
		-webkit-transition: all ease-out 0.25s;
		-moz-transition: all ease-out 0.25s;
		transition: all ease-out 0.25s;
	}
	#nav-switcher:checked + ul li a {
		height: 40px;
		border-bottom: 1px dotted #878787;
	}
	#global-navi li a img {
		display: none;
	}
	#global-navi li a p {
		text-align: center;
		line-height: 40px;
	}

	/*--------------------
		MAIN
	--------------------*/
	.off{
		color: #CCAE13;
		font-size: 23px;
		text-align: center;
	}
	
	.bgsw {
		height: calc(100vh - 50px);
		min-height: 500px;
		padding: 0 0 0 3%;
		background-position: center center;
		background-size: cover;
		position: relative;
	}
	.catch {
		padding-top: calc(35vh - 50px);
		margin: 0 auto;
	}
	.bgsw a {
		display: block;
		width: 39px;
		height: 46px;
		position: absolute;
		bottom: 20px;
		left: calc(50% - 19.5px);
	}

	/*--------------------
		GREETING
	--------------------*/
	#greeting {
		max-width: 700px;
		padding: 100px 0 50px;
		margin: 0 auto;
	}
	#greeting h2 img {
		margin: 0 auto;
	}
	#greeting h2 img:nth-child(2) {
		margin: 10px auto;
	}
	#greeting h3 {
		text-align: center;
		color: #fff;
		font-size: 15px;
		font-weight: normal;
		line-height: 1.5em;
		padding: 0 5px;
		margin: 15px 0 45px;
	}
	#greeting p {
		padding: 0 5px;
	}
	#greeting p span {
		color: #f00;
	}
	.gree-img01 {
		float: right;
		margin-bottom: 45px;
	}
	.gree01 {
		clear: right;
	}
	.gree-img02 {
		margin: 45px auto;
	}
	#greeting a {
		float: right;
		display: block;
		width: 132px;
		height: 11px;
		margin: 45px 5px 0 0;
	}

	/*--------------------
		RECOMMEND
	--------------------*/
	.recommend {
		background: url(../img/top/rec_bg.png) no-repeat right 35% center;
		background-size: cover;
		padding: 40px 5px 50px;
	}
	.recommend h2 {
		max-width: 550px;
		margin: 0 auto;
	}
	.recommend h2 img {
		float: left;
	}
	.recommend h2 img:last-child {
		float: right;
	}
	.recommend ul {
		max-width: 550px;
		margin: 20px auto 30px;
	}
	.recommend li {
		color: #fff;
		font-size: 15px;
		line-height: 1.5em;
		margin-bottom: 10px;
	}
	.recommend img {
		margin: 0 auto;
	}

	/*--------------------
		CAST
	--------------------*/
	.cast {
		padding: 0 5px;
		margin: 100px auto 96px;
	}
	.cast h2 img {
		margin: 0 auto 10px;
	}
	.cast p {
		text-align: center;
		color: #fff;
		font-size: 16px;
		margin-top: 15px;
	}
	.cast p span {
		background: linear-gradient(transparent 65%, #c01616 0%);
	}

	/*--------------------
		CONTENTS
	--------------------*/
	.contents {
		max-width: 700px;
		margin: 0 auto;
	}
	.about {
		background: url(../img/top/about_bg.png) no-repeat center center;
		background-size: cover;
		margin-bottom: 20px;
	}
	.price {
		background: url(../img/top/price_bg.png) no-repeat center center;
		background-size: cover;
		margin-bottom: 20px;
	}
	.facility {
		background: url(../img/top/facility_bg.png) no-repeat center center;
		background-size: cover;
		margin-bottom: 20px;
	}
	.store {
		background: url(../img/top/store_bg.png) no-repeat center center;
		background-size: cover;
	}
	.contents section a {
		display: block;
		background: rgba(0, 0, 0, 0.3);
	}
	.contents h2 img {
		opacity: 0.9;
		padding: 25px 0;
		margin: 0 auto;
	}

	/*--------------------
		CONTACT
	--------------------*/
	.contact {
		background: #e9e9e9;
		padding: 50px 5px;
		margin-top: 100px;
	}
	.logo {
		margin: 0 auto 25px;
	}
	.box {
	}
	.box h2 img {
		margin: 0 auto;
	}
	.box p {
		text-align: center;
		color: #1a1a1a;
		font-size: 14px;
		letter-spacing: 0.1em;
		margin: 20px 0 10px;
	}
	.box .tel {
		display: block;
		width: 308px;
		height: 26px;
		margin: 0 auto;
	}
	.contact h2 img {
		margin: 0 auto;
	}
	.contact .btn {
		display: block;
		width: 220px;
		height: 55px;
		margin: 25px auto 0;
	}

	/*--------------------
		NEWS & BLOG
	--------------------*/
	.news {
		margin: 100px auto;
	}
	.news h2 {
		padding: 0 5px;
	}
	.news h2 img {
		margin: 0 auto 50px;
	}
	.news dl {
		width: 260px;
		margin: 0 auto 25px;
	}
	.news dl:nth-child(n+3) {
		display: none;
	}
	.news dt {
		height: 180px;
		overflow: hidden;
		margin-bottom: 15px;
	}
	.news dt img {
		object-fit: cover;
		width: 260px;
		height: 180px;
	}
	.news dd {
		color: #fff;
		font-size: 14px;
		letter-spacing: 0.05em;
	}
	.news .ttl {
		max-height: 42px;
		overflow: hidden;
		line-height: 1.5em;
		margin-top: 5px;
	}
	.news .ttl a {
		display: block;
		text-decoration: underline;
		color: #fff;
	}
	.news .btn {
		display: block;
		width: 315px;
		height: 55px;
		background: rgba(255, 255, 255, 0.25);
		margin: 25px auto 0;
	}

	/*--------------------
		TANNING
	--------------------*/
	.tanning {
		background: url(../img/top/tanning_bg.png) no-repeat center center;
		background-size: cover;
		position: relative;
	}
	.tanning a {
		display: block;
		padding: 60px 0;
	}
	.tanning h2 img {
		margin: 0 auto;
	}
	.tanning p {
		color: #999;
		font-size: 12px;
		font-weight: bold;
		padding: 0 5%;
		position: absolute;
		bottom: 102%;
	}

	/*--------------------
		TRIAL
	--------------------*/
	.trial {
		background: url(../img/top/trial_bg.png) no-repeat center center;
		background-size: cover;
		position: relative;
	}
	.trial a {
		display: block;
		padding: 60px 0;
	}
	.trial h2 img {
		margin: 0 auto;
	}
	.trial p {
		color: #999;
		font-size: 12px;
		font-weight: bold;
		padding: 0 5%;
		position: absolute;
		top: 102%;
	}

	/*--------------------
		ACCESS
	--------------------*/
	.access {
		margin: 150px auto 75px;
		position: relative;
	}
	.access h2 img {
		margin: 0 auto 35px;
	}
	.access .map {
		height: 435px;
	}
	.info {
		width: 94%;
		max-width: 340px;
		background: rgba(26, 26, 26, 0.95);
		padding: 25px 3%;
		margin: -135px auto 0;
		position: relative;
	}
	.info h3 {
		margin-bottom: 25px;
		position: relative;
		z-index: 2;
	}
	.info p {
		position: relative;
		z-index: 2;
	}
	.info .new-line {
		line-height: 2em;
	}
	.info a {
		display: block;
		width: 220px;
		height: 55px;
		margin: 20px auto 0;
		position: relative;
		z-index: 2;
	}
	.access .owner {
		width: 145px;
		height: 403px;
		position: absolute;
		left: 60%;
		bottom: -75px;
		z-index: 1;
	}

	/*--------------------
		FOOTER
	--------------------*/
	#global-footer {
		padding-top: 50px;
		border-top: 10px solid #e9e9e9;
	}
	#global-footer .inner {
		position: relative;
	}
	.f-logo {
		width: 274px;
		height: 44px;
		margin: 0 auto 25px;
	}
	.f-left p {
		text-align: center;
	}
	.f-left .new-line {
		line-height: 2em;
	}
	.f-navi ul {
		max-width: 320px;
		text-align: center;
		margin: 25px auto 50px;
	}
	.f-navi li {
		display: inline-block;
		width: 45%;
		font-size: 14px;
	}
	.f-navi li:nth-child(-n+8) {
		display: none;
	}
	.f-navi li a {
		text-decoration: underline;
		color: #fff;
	}
	.f-right p {
		text-align: center;
	}
	.f-right .btn {
		width: 220px;
		height: 55px;
		margin: 15px auto;
	}
	.f-right .tel {
		display: block;
		width: 231px;
		height: 19px;
		margin: 25px auto;
	}
	.copy {
		text-align: center;
		font-size: 12px;
		font-weight: bold;
		padding: 16px 0;
	}
	.copy a {
		color: #fff;
	}


/*
	LOWER
------------------------------*/
	/*--------------------
		BASE
	--------------------*/
	.sub-main {
		background: url(../img/common/submain_bg.png) no-repeat center center;
		background-size: cover;
	}
	.sub-main h2 img {
		padding: 100px 0;
		margin: 0 auto;
	}
	.lower {
		max-width: 700px;
		padding: 0 5px;
		margin: 50px auto 100px;
	}
	.lower h3 {
		color: #fff;
		font-size: 18px;
		line-height: 1.5em;
		padding: 5px;
		border-bottom: 1px solid #e9e9e9;
		margin-bottom: 20px;
	}
	.lower h3:first-letter {
		color: #bc0715;
		margin-right: 5px;
	}
	.lower h4 {
		background: #323232;
		color: #fff;
		line-height: 1.5em;
		padding: 2.5px 5px;
		margin-bottom: 10px;
	}
	.lower h4 i {
		color: #bc0715;
	}
	.lower-box {
		margin-bottom: 60px;
	}

	/*--------------------
		COMMON
	--------------------*/
	.lower .inner {}
	i {
		margin-right: 5px;
	}

	/*--------------------
		ABOUT
	--------------------*/
	#about .lower {
		padding: 0;
		max-width: 100%;
	}
	#about .lower h3 {
		padding: 0;
		border: none;
	}
	.concept {
		background: url(../img/about/concept_bg.png) no-repeat center center;
		background-size: cover;
		padding: 50px 5px;
	}
	.concept img {
		margin: 0 auto;
	}
	.serious {
		background: url(../img/about/serious_bg.png) no-repeat center center;
		background-size: cover;
		border-top: 10px solid #323232;
	}
	.coat {
		width: 80%;
		max-width: 330px;
		background: #323232;
		padding: 20px 5% 40px;
	}
	.coat h3 {
		margin-bottom: 30px;
	}
	.coat p {
		line-height: 1.7em;
	}
	.power {
		background: url(../img/about/power_bg.png) no-repeat center center;
		background-size: cover;
		border-bottom: 10px solid #323232;
	}
	.power .coat {
		float: right;
	}
	.about-bg {
		height: 500px;
		background: url(../img/about/content_bg.png) no-repeat center top;
		background-size: cover;
	}
	.contents-area {
		max-width: 700px;
		background: rgba(26, 26, 26, 0.96);
		padding-top: 90px;
		margin: -300px auto 0;
	}
	.contents-area div {
		margin: 0 auto;
	}
	.contents-area h3 {
		text-align: center;
		color: #fff;
		font-size: 15px;
		font-weight: normal;
		line-height: 1.5em;
		margin: 0 auto;
		position: relative;
	}
	.contents-area h3 img {
		margin: 0 auto 10px;
	}
	.pic {
		margin: 40px auto;
	}
	.contents-area p {
		text-align: center;
		line-height: 2em;
		padding: 0 5px;
	}
	#machine {
		padding: 65px 0;
		border-top: 1px solid #fff;
		border-bottom: 1px solid #fff;
		margin: 70px auto!important;
	}

	/*--------------------
		PRICE
	--------------------*/
	#price table {
		width: 100%;
		background: #323232;
		color: #fff;
		font-size: 15px;
		line-height: 1.5em;
		margin-bottom: 5px;
	}
	#price th {
		width: 31%;
		vertical-align: middle;
		font-weight: normal;
		padding: 20px 0;
		border: 3px solid #1a1a1a;
		box-sizing: border-box;
	}
	#price td {
		white-space: pre-wrap;
		vertical-align: middle;
		padding: 20px 10px 20px 20px;
		border: 3px solid #1a1a1a;
		box-sizing: border-box;
	}
	#price span {
		color: #f00;
		margin-right: 5px;
	}
	#price ul {
		margin-top: 10px;
	}
	#price li {
		text-indent: -0.7em;
		color: #fff;
		font-size: 14px;
		line-height: 1.5em;
		padding: 5px 5px 5px 1.7em;
		border-bottom: 1px dotted #666;
		margin-top: 10px;
	}
	#price li i {
		color: #bc0715;
	}

	/*--------------------
		FACILITY
	--------------------*/
	#facility .lower-box {
		max-width: 416px;
		margin: 0 auto 60px;
	}
	#facility dl {
		float: left;
		width: 48%;
		max-width: 200px;
		margin: 0 1%;
	}
	#facility dl:nth-child(2n+1) {
		clear: left;
	}
	#facility dl:nth-child(n+3) {
		margin: 20px 1% 0;
	}
	#facility dt {
		max-width: 200px;
		height: 200px;
		overflow: hidden;
		margin-bottom: 5px;
	}
	#facility dt img {
		object-fit: cover;
		width: 100%;
		height: 200px;
	}
	#facility dd {
		text-align: justify;
		line-height: 1.5em;
	}
	#facility .mcn {
		color: #bc0715;
		font-weight: bold;
	}
	#facility .exp {
		color: #fff;
		font-size: 14px;
	}

	/*--------------------
		VOICE
	--------------------*/
	#voice img {
		width: 100%;
		max-width: 550px;
		margin: 0 auto 10px;
	}
	#voice p {
		white-space: pre-wrap;
	}

	/*--------------------
		FAQ
	--------------------*/
	#faq p {
		white-space: pre-wrap;
	}

	/*--------------------
		STORE
	--------------------*/
	#store table {
		width: 100%;
		background: #323232;
		color: #fff;
		font-size: 15px;
		line-height: 1.5em;
	}
	#store th {
		width: 30%;
		vertical-align: middle;
		font-weight: normal;
		padding: 20px 0;
		border: 3px solid #1a1a1a;
		box-sizing: border-box;
	}
	#store td {
		vertical-align: middle;
		padding: 20px 0 20px 20px;
		border: 3px solid #1a1a1a;
		box-sizing: border-box;
	}
	#store td span {
		color: #f00;
	}
	#store td a {
		color: #fff;
	}
	#store p {
		margin-bottom: 1em;
	}
	#store img {
		object-fit: cover;
		width: 100%;
		max-height: 350px;
	}
	#store .map {
		height: 350px;
		-webkit-filter: grayscale(100%);
		-moz-filter: grayscale(100%);
		filter: grayscale(100%);
	}

	/*--------------------
		TRAINER
	--------------------*/
	#trainer .owner {
		width: 100%;
		max-width: 500px;
		margin: 0 auto 20px;
	}
	#trainer dl {
		background: #323232;
		color: #fff;
		font-size: 14px;
		line-height: 1.5em;
		border-bottom: 3px solid #1a1a1a;
	}
	#trainer dl:last-child {
		border: none;
	}
	#trainer dt {
		float: left;
		width: 20%;
		text-align: center;
		font-weight: bold;
		padding: 15px 0;
	}
	#trainer dd {
		white-space: pre-wrap;
		padding: 15px;
		border-left: 3px solid #1a1a1a;
		margin-left: 20%;
	}
	#trainer ul {
		max-width: 417px;
		margin: 0 auto;
	}
	#trainer li {
		float: left;
		width: 48%;
		max-width: 200px;
		margin: 0 1%;
	}
	#trainer li:nth-child(n+3) {
		margin: 2% 1% 0;
	}
	#trainer li img {
		object-fit: cover;
		width: 100%;
		height: 200px;
	}

	/*--------------------
		NEWS
	--------------------*/
	#news img {
		margin: 0 auto;
	}
	#news .date {
		padding: 0 5px;
		margin-bottom: 10px;
	}
	#news .date time {
		color: #ccc;
		font-size: 14px;
		font-weight: bold;
		letter-spacing: 0.1em;
	}
	.news-txt {
		max-height: 63px;
		overflow: hidden;
	}
	.news-txt img {
		display: none;
	}
	#news .more a {
		float: right;
		display: block;
		width: 150px;background: rgba(255, 255, 255, 0.5);
		text-align: center;
		color: #fff;
		font-weight: bold;
		line-height: 39px;
		letter-spacing: 0.2em;
		border: 2px solid #fff;
		box-sizing: border-box;
		margin: 20px auto 0;
	}

	/*--------------------
		CONTACT
	--------------------*/
	.atn {
		text-align: center;
		margin-bottom: 0.5em;
	}
	#contact table {
		width: 100%;
		background: #323232;
		color: #fff;
		font-size: 14px;
		line-height: 1.5em;
		margin: 0 auto;
	}
	#contact th {
		width: 30%;
		text-align: center;
		vertical-align: middle;
		font-weight: normal;
		padding: 15px 5px;
		border: 2px solid #1a1a1a;
		box-sizing: border-box;
	}
	#contact td {
		color: #fff;
		vertical-align: middle;
		font-weight: normal;
		padding: 15px;
		border: 2px solid #1a1a1a;
		box-sizing: border-box;
	}
	.conf {
		color: #fff;
		font-size: 14px;
	}

	/*--------------------
		SITE MAP
	--------------------*/
	#site li {
		line-height: 2em;
		letter-spacing: 0.1em;
		padding: 5px;
		border-bottom: 1px dotted #666;
		margin-top: 15px;
	}
	#site li i {
		color: #bc0715;
	}
	#site li a {
		color: #fff;
	}

	/*--------------------
		PRIVACY POLICY
	--------------------*/
	#privacy li {
		text-indent: -0.7em;
		color: #fff;
		font-size: 14px;
		line-height: 1.5em;
		padding: 5px 5px 5px 1.7em;
		border-bottom: 1px dotted #666;
		margin-top: 10px;
	}
	#privacy li i {
		color: #bc0715;
	}

	/*--------------------
		404
	--------------------*/
	#error a {
		text-decoration: underline;
		color: #f00;
		font-weight: bold;
	}


	/*==================================================
		CMS COMMON
	================================================== */
	/*--------------------
		CONTACT
	--------------------*/
	/* INPUT BOX
	----------------------------------------*/
	.input-big,
	.input-mid,
	.input-min {
		padding: 5px;
		box-sizing: border-box;
	}
	.input-big {
		width: 100%;
		line-height: 1.5em;
	}
	.input-mid {
		width: 75%;
	}
	.input-min {
		width: 50px;
	}
	/* REQUIRED
	----------------------------------------*/
	.required-mark {
		color: #f00;
	}
	/* AUTHENTICATION
	----------------------------------------*/
	.captcha-wrap a {
		display: block;
		width: 32px;
		height: 32px;
		margin: 10px 0;
	}
	/* ERROR MESSAGE
	----------------------------------------*/
	.error-text {
		margin: 0 0 5px;
		text-align: left!important;
		color: #f00;
		font-size: 12px;
		font-weight: bold;
		line-height: 1.5em;
	}
	/* BUTTON
	----------------------------------------*/
	.contact-submits {
		padding: 40px 0 0;
		text-align: center;
	}
	
	.contact-submits input {
		margin: 0 5px;
		padding: 5px;
	}
	/* ERROR
	----------------------------------------*/
	.sec-error-text {
		line-height: 50px;
		text-align: center;
		color: #f00;
		font-size: 16px;
		border: 2px solid #f00;
	}

	/*	PAGINATION
	-------------------------------------------------- */
	.pagination {
		text-align: center;
		font-size: 0;
		font-weight: bold;
		letter-spacing: 0;
	}
	.pagination li {
		display: inline-block;
		width: 26px;
		background: #999;
		font-size: 13px;
		line-height: 30px;
		margin: 0 2px;
	}
	.pagination li > * {
		color: #fff;
		text-decoration: none;
		display: block;
	}
	.pagination li.current {
		background: #bc0715;
	}

	/* ARCHIVE
	----------------------------------------*/
	.archive {
		max-width: 560px;
		margin: 40px auto 0;
	}
	.archive h3 {
		background: none;
		text-align: center;
		color: #fff;
		font-size: 18px;
		letter-spacing: 0.01em;
		border: none;
		border-bottom: 3px double #999;
		padding-bottom: 5px;	
		margin-bottom: 10px!important;
	}
	.archive h3:after {
		display: none;
	}
	.archive h3 i {
		color: #bc0715;
	}
	.archive ul {
		margin: 0 0.5%;
	}
	.archive li {
		float: left;
		width: 33%;
		text-align: center;
		font-size: 14px;
		margin-top: 10px;
	}
	.archive li a {
		text-decoration: underline;
		color: #ccc;
	}

	/*	PREV and NEXT
	-------------------------------------------------- */
	.prev-next-post {
		overflow: hidden;
	}
	.prev-next-post .prev-post,
	.prev-next-post .next-post {
		width: 100px;
		border: 2px solid #fff;
		box-sizing: border-box;
	}
	.prev-next-post .prev-post {
		float: left;
	}
	.prev-next-post .next-post {
		float: right;
	}
	.prev-next-post a {
		background: rgba(255, 255, 255, 0.5);
		text-align: center;
		color: #fff;
		font-size: 14px;
		font-weight: bold;
		line-height: 30px;
		letter-spacing: 0.1em;
		text-overflow: ellipsis;
		white-space: nowrap;
		display: block;
		overflow: hidden;
	}

}


/*--------------------------------------
	PC
----------------------------------------*/
@media only screen and (min-width:1100px) {
	/*--------------------
		BASE
	--------------------*/
	.tel {
		pointer-events: none;
	}

	/*--------------------
		COMMON
	--------------------*/
	.inner {
		width: 1100px;
		margin: 0 auto;
	}
	.new-line {
		margin-top: 1em;
	}

	/*--------------------
		HEADER
	--------------------*/
	#global-header {
		width: 100%;
		height: 65px;
		position: absolute;
		top: 0;
		z-index: 1;
	}
	h1 {
		float: left;
		width: 330px;
		height: 53px;
		margin: 6px 0 6px 6px;
		-webkit-transition: .5s;
		-moz-transition: .5s;
		transition: .5s;
	}
	h1:hover {
		opacity: 0.8;
	}

	/*--------------------
		NAVIGATION
	--------------------*/
	#nav-switcher,
	#controller {
		display: none;
	}
	#global-navi {
		float: right;
	}
	#global-navi li {
		float: left;
		margin: 19px 35px 0 0;
		-webkit-transition: .5s;
		-moz-transition: .5s;
		transition: .5s;
	}
	#global-navi li:last-child {
		margin: 0;
	}
	#global-navi li:hover {
		opacity: 0.8;
	}
	#global-navi li p {
		display: none;
	}

	/*--------------------
		CHASE
	--------------------*/
	.chase {
		width: 100%;
		height: 80px;
		background: #101010;
		position: fixed;
		top: 0;
		z-index: 999;
	}
	.chase ul {
		text-align: center;
	}
	.chase li {
		display: inline-block;
		margin: 0 20px 12.5px;
		-webkit-transition: .5s;
		-moz-transition: .5s;
		transition: .5s;
	}
	.chase li:hover {
		opacity: 0.8;
	}
	.chase li:last-child {
		margin: 12.5px 20px 0;
	}

	/*--------------------
		MAIN
	--------------------*/
	.off{
		color: #CCAE13;
		font-size: 37px;
		text-align: center;
	}
	
	.bgsw {
		height: 100vh;
		min-height: 700px;
		background-position: center center;
		background-size: cover;
		position: relative;
	}
	.catch {
		position: absolute;
		top: calc(50% - 195.5px);
		left: calc(50% - 450.5px);
	}
	.bgsw a {
		display: block;
		width: 39px;
		height: 46px;
		position: absolute;
		bottom: 25px;
		left: calc(50% - 19.5px);
		-webkit-transition: .5s;
		-moz-transition: .5s;
		transition: .5s;
	}
	.bgsw a:hover {
		opacity: 0.8;
	}

	/*--------------------
		GREETING
	--------------------*/
	#greeting {
		width: 1100px;
		height: 900px;
		padding: 150px 0 100px;
		margin: 0 auto;
		position: relative;
	}
	#greeting h2 img {
		float: left;
	}
	#greeting h3 {
		color: #fff;
		font-size: 15px;
		font-weight: normal;
		margin: 15px 0;
	}
	#greeting h3 br {
		display: none;
	}
	#greeting p span {
		color: #f00;
	}
	.gree-img01 {
		position: absolute;
		top: 230px;
		right: 0;
	}
	.gree01 {
		width: 500px;
		position: absolute;
		top: 300px;
		left: 0;
	}
	.gree-img02 {
		position: absolute;
		bottom: 100px;
		left: 0;
	}
	.gree02 {
		width: 650px;
		position: absolute;
		top: 730px;
		right: 0;
	}
	#greeting a {
		display: block;
		width: 132px;
		height: 11px;
		position: absolute;
		right: 0;
		bottom: 155px;
		-webkit-transition: .5s;
		-moz-transition: .5s;
		transition: .5s;
	}
	#greeting a:hover {
		opacity: 0.8;
	}

	/*--------------------
		RECOMMEND
	--------------------*/
	.recommend {
		background: url(../img/top/rec_bg.png) no-repeat right center;
		background-size: cover;
		padding: 75px 0 50px;
	}
	.recommend h2 img {
		float: left;
	}
	.recommend ul {
		margin: 10px 0 20px;
	}
	.recommend li {
		color: #fff;
		font-size: 20px;
		line-height: 1.65em;
		letter-spacing: 0.01em;
	}

	/*--------------------
		CAST
	--------------------*/
	.cast {
		width: 1120px;
		margin: 95px auto;
	}
	.cast h2 {
		width: 998px;
		margin: 0 auto 15px;
	}
	.cast h2 img {
		float: left;
	}
	.cast p {
		text-align: center;
		color: #fff;
		font-size: 20px;
		letter-spacing: 0.01em;
	}
	.cast p span {
		background: linear-gradient(transparent 65%, #c01616 0%);
	}

	/*--------------------
		CONTENTS
	--------------------*/
	.contents {
		width: 90%;
		margin: 0 auto;
	}
	.contents section {
		float: left;
		width: 49%;
		position: relative;
	}
	.about {
		background: url(../img/top/about_bg.png) no-repeat center center;
		background-size: cover;
		margin: 0 1% 1% 0;
	}
	.price {
		background: url(../img/top/price_bg.png) no-repeat center center;
		background-size: cover;
		margin: 0 0 1% 1%;
	}
	.facility {
		background: url(../img/top/facility_bg.png) no-repeat center center;
		background-size: cover;
		margin: 1% 1% 0 0;
	}
	.store {
		background: url(../img/top/store_bg.png) no-repeat center center;
		background-size: cover;
		margin: 1% 0 0 1%;
	}
	.contents section a {
		display: block;
		height: 450px;
		-webkit-transition: .5s;
		-moz-transition: .5s;
		transition: .5s;
	}
	.contents section a:hover {
		background: rgba(0, 0, 0, 0.5);
	}
	.contents h2 {
		position: absolute;
		right: 55px;
		bottom: 40px;
	}

	/*--------------------
		CONTACT
	--------------------*/
	.contact {
		background: #e9e9e9;
		padding: 50px 0;
		margin-top: 75px;
		position: relative;
	}
	.logo {
		float: left;
	}
	.box {
		width: 400px;
		position: absolute;
		top: 65px;
		left: calc(50% - 200px);
	}
	.box h2 img {
		margin: 0 auto;
	}
	.box p {
		text-align: center;
		color: #1a1a1a;
		font-size: 14px;
		letter-spacing: 0.1em;
		margin: 20px 0 10px;
	}
	.box br {
		display: none;
	}
	.box .tel {
		display: block;
		width: 308px;
		height: 26px;
		margin: 0 auto;
	}
	.contact h2 img {
		margin: 0 auto;
	}
	.contact .btn {
		float: right;
		display: block;
		width: 220px;
		height: 55px;
		margin-top: 47px;
		-webkit-transition: .5s;
		-moz-transition: .5s;
		transition: .5s;
	}
	.contact .btn:hover {
		opacity: 0.8;
	}

	/*--------------------
		NEWS & BLOG
	--------------------*/
	.news {
		width: 1100px;
		margin: 100px auto 150px;
	}
	.news h2 img {
		margin: 0 auto 50px;
	}
	.news dl {
		float: left;
		width: 260px;
		margin-right: 20px;
	}
	.news dl:last-child {
		margin: 0;
	}
	.news dt {
		height: 180px;
		overflow: hidden;
		margin-bottom: 15px;
	}
	.news dt img {
		object-fit: cover;
		width: 260px;
		height: 180px;
	}
	.news dd {
		color: #fff;
		font-size: 14px;
		letter-spacing: 0.05em;
	}
	.news .ttl {
		max-height: 56px;
		overflow: hidden;
		line-height: 2em;
		margin-top: 10px;
	}
	.news .ttl a {
		display: block;
		color: #fff;
	}
	.news .ttl a:hover {
		text-decoration: underline;
	}
	.news .btn {
		display: block;
		width: 315px;
		height: 55px;
		margin: 60px auto 0;
		-webkit-transition: .5s;
		-moz-transition: .5s;
		transition: .5s;
	}
	.news .btn:hover {
		background: rgba(255, 255, 255, 0.5);
	}

	/*--------------------
		TANNING
	--------------------*/
	.tanning {
		float: left;
		width: 50%;
		height: 400px;
		background: url(../img/top/tanning_bg.png) no-repeat center center;
		background-size: cover;
		position: relative;
	}
	.tanning a {
		display: block;
		padding: 135px 0;
		-webkit-transition: .5s;
		-moz-transition: .5s;
		transition: .5s;
	}
	.tanning a:hover {
		background: rgba(0, 0, 0, 0.5);
	}
	.tanning h2 img {
		margin: 0 auto;
	}
	.tanning p {
		color: #f9f9f9;
		font-size: 12px;
		font-weight: bold;
		padding: 0 5px;
		position: absolute;
		top: 415px;
	}

	/*--------------------
		TRIAL
	--------------------*/
	.trial {
		float: right;
		width: 50%;
		height: 400px;
		background: url(../img/top/trial_bg.png) no-repeat center center;
		background-size: cover;
		position: relative;
	}
	.trial a {
		display: block;
		padding: 135px 0;
		-webkit-transition: .5s;
		-moz-transition: .5s;
		transition: .5s;
	}
	.trial a:hover {
		background: rgba(0, 0, 0, 0.5);
	}
	.trial h2 img {
		margin: 0 auto;
	}
	.trial p {
		color: #f9f9f9;
		font-size: 12px;
		font-weight: bold;
		padding: 0 5px;
		position: absolute;
		top: 415px;
	}

	/*--------------------
		ACCESS
	--------------------*/
	.access {
		margin: 110px auto 125px;
		position: relative;
	}
	.access h2 img {
		margin: 0 auto 35px;
	}
	.access .map {
		width: 45%;
		height: 435px;
		margin-left: 10%;
	}
	.info {
		width: 340px;
		background: #1a1a1a;
		padding: 50px;
		position: absolute;
		top: 170px;
		left: 50%;
	}
	.info h3 {
		margin-bottom: 25px;
		position: relative;
		z-index: 2;
	}
	.info p {
		position: relative;
		z-index: 2;
	}
	.info .new-line {
		line-height: 2em;
	}
	.info a {
		display: block;
		width: 220px;
		height: 55px;
		margin-top: 20px;
		position: relative;
		z-index: 2;
		-webkit-transition: .5s;
		-moz-transition: .5s;
		transition: .5s;
	}
	.info a:hover {
		opacity: 0.8;
	}
	.access .owner {
		width: 213px;
		height: 592px;
		position: absolute;
		right: 20%;
		bottom: -125px;
		z-index: 1;
	}

	/*--------------------
		FOOTER
	--------------------*/
	#global-footer {
		padding: 50px 0 40px;
		border-top: 20px solid #e9e9e9;
	}
	#global-footer .inner {
		position: relative;
	}
	.f-left {
		float: left;
	}
	.f-logo {
		width: 330px;
		height: 53px;
		margin-bottom: 25px;
		-webkit-transition: .5s;
		-moz-transition: .5s;
		transition: .5s;
	}
	.f-logo:hover {
		opacity: 0.8;
	}
	#global-footer .new-line {
		line-height: 2em;
	}
	.f-navi {
		float: left;
		margin-left: 130px;
	}
	.f-navi li {
		font-size: 14px;
		line-height: 2em;
		letter-spacing: 0.075em;
	}
	.f-navi li:nth-child(8) {
		margin-top: -196px;
	}
	.f-navi li:nth-child(n+8) {
		margin-left: 180px;
	}
	.f-navi li a {
		color: #fff;
	}
	.f-navi li a:hover {
		text-decoration: underline;
	}
	.f-right {
		float: right;
	}
	.f-right .btn {
		width: 220px;
		height: 55px;
		margin: 15px 0;
		-webkit-transition: .5s;
		-moz-transition: .5s;
		transition: .5s;
	}
	.f-right .btn:hover {
		opacity: 0.8;
	}
	.copy {
		font-size: 12px;
		font-weight: bold;
		position: absolute;
		right: 0;
		bottom: 0;
	}
	.copy a {
		color: #fff;
	}
	.copy a:hover {
		text-decoration: underline;
	}


/*
	LOWER
------------------------------*/
	/*--------------------
		BASE
	--------------------*/
	.sub-main {
		background: url(../img/common/submain_bg.png) no-repeat center center;
		background-size: cover;
	}
	.sub-main h2 img {
		padding: 191px 0 140px;
		margin: 0 auto;
	}
	.lower {
		width: 1000px;
		margin: 100px auto 150px;
	}
	.lower h3 {
		color: #fff;
		font-size: 20px;
		line-height: 1.5em;
		padding: 5px;
		border-bottom: 1px solid #e9e9e9;
		margin-bottom: 30px;
	}
	.lower h3:first-letter {
		color: #bc0715;
		margin-right: 5px;
	}
	.lower h4 {
		background: #323232;
		color: #fff;
		line-height: 1.5em;
		padding: 2.5px 5px;
		margin-bottom: 15px;
	}
	.lower h4 i {
		color: #bc0715;
	}
	.lower-box {
		margin-bottom: 60px;
	}

	/*--------------------
		COMMON
	--------------------*/
	.lower .inner {
		width: 1000px;
	}
	i {
		margin-right: 5px;
	}

	/*--------------------
		ABOUT
	--------------------*/
	#about .lower {
		width: 100%;
		margin: 50px auto 150px;
	}
	#about .lower h3 {
		padding: 0;
		border: none;
	}
	.concept {
		background: url(../img/about/concept_bg.png) no-repeat center center;
		background-size: cover;
		padding: 100px 0;
	}
	.concept img {
		margin-left: 381px;
	}
	.serious {
		background: url(../img/about/serious_bg.png) no-repeat center center;
		background-size: cover;
		border-top: 15px solid #323232;
	}
	.coat {
		width: 330px;
		height: 400px;
		background: #323232;
		padding: 40px;
	}
	.coat h3 {
		margin-bottom: 30px;
	}
	.coat p {
		line-height: 1.7em;
		letter-spacing: 0.01em;
	}
	.power {
		background: url(../img/about/power_bg.png) no-repeat center center;
		background-size: cover;
		border-bottom: 15px solid #323232;
	}
	.power .coat {
		margin-left: 590px;
	}
	.power h3 {
		margin-top: 10px;
	}
	.about-bg {
		height: 526px;
		background: url(../img/about/content_bg.png) no-repeat center top;
		background-size: cover;
	}
	.contents-area {
		max-width: 1600px;
		background: rgba(26, 26, 26, 0.96);
		padding-top: 90px;
		margin: -308px auto 0;
	}
	.contents-area div {
		width: 1000px;
		margin: 0 auto;
	}
	.contents-area h3 {
		text-align: center;
		color: #fff;
		font-size: 15px;
		font-weight: normal;
		letter-spacing: 0.01em;
		margin: 0 auto;
		position: relative;
	}
	.contents-area h3 img {
		float: left;
		margin-bottom: 20px;
	}
	.pic {
		margin: 40px auto 45px;
	}
	.contents-area p {
		text-align: center;
		line-height: 2em;
	}
	.need h3 {
		width: 642px;
	}
	#machine {
		padding: 90px 0;
		border-top: 1px solid #fff;
		border-bottom: 1px solid #fff;
		margin: 90px auto!important;
	}
	#machine h3 {
		width: 635px;
	}
	.together h3 {
		width: 819px;
		line-height: 1.5em;
	}

	/*--------------------
		PRICE
	--------------------*/
	#price table {
		width: 100%;
		background: #323232;
		color: #fff;
		line-height: 1.5em;
		letter-spacing: 0.1em;
		margin: 0 auto 10px;
	}
	#price th {
		width: 40%;
		vertical-align: middle;
		font-weight: normal;
		padding: 25px;
		border: 3px solid #1a1a1a;
		box-sizing: border-box;
	}
	#price th br {
		display: none;
	}
	#price td {
		white-space: pre-wrap;
		vertical-align: middle;
		padding: 25px;
		border: 3px solid #1a1a1a;
		box-sizing: border-box;
	}
	#price span {
		color: #f00;
		margin-right: 5px;
	}
	#price ul {
		margin-top: 10px;
	}
	#price li {
		color: #fff;
		font-size: 14px;
		line-height: 1.5em;
		padding: 5px;
		border-bottom: 1px dotted #666;
		margin-top: 10px;
	}
	#price li i {
		color: #bc0715;
	}

	/*--------------------
		FACILITY
	--------------------*/
	#facility dl {
		float: left;
		width: 230px;
		margin: 0 10px;
	}
	#facility dl:nth-child(4n+1) {
		clear: left;
	}
	#facility dl:nth-child(n+5) {
		margin: 30px 10px 0;
	}
	#facility dt {
		width: 230px;
		height: 230px;
		overflow: hidden;
		margin-bottom: 5px;
		-webkit-transition: .5s;
		-moz-transition: .5s;
		transition: .5s;
	}
	#facility dt:hover {
		opacity: 0.8;
	}
	#facility dt img {
		object-fit: cover;
		width: 230px;
		height: 230px;
	}
	#facility dd {
		text-align: justify;
		line-height: 1.5em;
	}
	#facility .mcn {
		color: #bc0715;
		font-weight: bold;
	}
	#facility .exp {
		color: #fff;
		font-size: 14px;
	}

	/*--------------------
		VOICE
	--------------------*/
	#voice img {
		float: left;
		width: 300px;
		margin-right: 30px;
	}
	#voice p {
		white-space: pre-wrap;
	}

	/*--------------------
		FAQ
	--------------------*/
	#faq p {
		white-space: pre-wrap;
	}

	/*--------------------
		STORE
	--------------------*/
	#store table {
		width: 100%;
		background: #323232;
		color: #fff;
		line-height: 1.5em;
		letter-spacing: 0.1em;
	}
	#store th {
		width: 30%;
		vertical-align: middle;
		font-weight: normal;
		padding: 25px;
		border: 3px solid #1a1a1a;
		box-sizing: border-box;
	}
	#store td {
		vertical-align: middle;
		padding: 25px;
		border: 3px solid #1a1a1a;
		box-sizing: border-box;
	}
	#store td span {
		color: #f00;
	}
	#store td a {
		color: #fff;
	}
	#store br {
		display: none;
	}
	#store p {
		margin-bottom: 1em;
	}
	#store img {
		float: right;
		object-fit: cover;
		width: 50%;
		height: 350px;
	}
	#store .map {
		float: left;
		width: 50%;
		-webkit-filter: grayscale(100%);
		-moz-filter: grayscale(100%);
		filter: grayscale(100%);
	}

	/*--------------------
		TRAINER
	--------------------*/
	#trainer .owner {
		width: 500px;
		margin: 0 auto 30px;
	}
	#trainer dl {
		background: #323232;
		color: #fff;
		line-height: 1.5em;
		border-bottom: 3px solid #1a1a1a;
	}
	#trainer dl:last-child {
		border: none;
	}
	#trainer dt {
		float: left;
		width: 250px;
		text-align: center;
		font-weight: bold;
		padding: 25px 0;
	}
	#trainer dd {
		white-space: pre-wrap;
		padding: 25px;
		border-left: 3px solid #1a1a1a;
		margin-left: 250px;
	}
	#trainer li {
		float: left;
		width: 230px;
		margin: 0 10px;
	}
	#trainer li:nth-child(n+5) {
		margin: 20px 10px 0;
	}
	#trainer li img {
		object-fit: cover;
		width: 230px;
		height: 230px;
		-webkit-transition: .5s;
		-moz-transition: .5s;
		transition: .5s;
	}
	#trainer li img:hover {
		opacity: 0.8;
	}

	/*--------------------
		NEWS
	--------------------*/
	#news .date {
		padding: 0 5px;
		margin-bottom: 20px;
	}
	#news .date time {
		color: #ccc;
		font-size: 14px;
		font-weight: bold;
		letter-spacing: 0.1em;
	}
	.news-txt {
		max-height: 63px;
		overflow: hidden;
	}
	.news-txt img {
		display: none;
	}
	#news .more a {
		float: right;
		display: block;
		width: 200px;
		text-align: center;
		color: #fff;
		font-size: 14px;
		font-weight: bold;
		line-height: 44px;
		letter-spacing: 0.2em;
		border: 2px solid #fff;
		box-sizing: border-box;
		margin: 25px auto 0;
		-webkit-transition: .5s;
		-moz-transition: .5s;
		transition: .5s;
	}
	#news .more a:hover {
		background: rgba(255, 255, 255, 0.5);;
	}

	/*--------------------
		CONTACT
	--------------------*/
	.atn {
		margin: 0 0 0.5em 28px;
	}
	#contact table {
		width: 100%;
		background: #323232;
		color: #fff;
		line-height: 1.5em;
	}
	#contact th {
		width: 30%;
		text-align: left;
		vertical-align: middle;
		font-weight: normal;
		padding: 25px;
		border: 3px solid #1a1a1a;
		box-sizing: border-box;
	}
	#contact td {
		color: #fff;
		vertical-align: middle;
		padding: 25px;
		border: 3px solid #1a1a1a;
		box-sizing: border-box;
	}

	/*--------------------
		SITE MAP
	--------------------*/
	#site li {
		line-height: 2em;
		letter-spacing: 0.1em;
		padding: 5px;
		border-bottom: 1px dotted #666;
		margin-top: 15px;
	}
	#site li i {
		color: #bc0715;
	}
	#site li a {
		color: #fff;
	}
	#site li a:hover {
		text-decoration: underline;
	}

	/*--------------------
		PRIVACY POLICY
	--------------------*/
	#privacy li {
		color: #fff;
		font-size: 14px;
		line-height: 1.5em;
		padding: 5px;
		border-bottom: 1px dotted #666;
		margin-top: 10px;
	}
	#privacy li i {
		color: #bc0715;
	}

	/*--------------------
		404
	--------------------*/
	#error a {
		text-decoration: underline;
		color: #f00;
		font-weight: bold;
	}
	#error a:hover {
		text-decoration: none;
	}


	/*==================================================
		CMS COMMON
	================================================== */
	/*--------------------
		CONTACT
	--------------------*/
	/* INPUT BOX
	----------------------------------------*/
	.input-big,
	.input-mid,
	.input-min {
		padding: 5px;
		box-sizing: border-box;
	}
	.input-big {
		width: 100%;
		max-width: 581px;
		line-height: 1.5em;
	}
	.input-mid {
		width: 70%;
	}
	.input-min {
		width: 50px;
	}
	/* REQUIRED
	----------------------------------------*/
	.required-mark {
		color: #f00;
	}
	/* AUTHENTICATION
	----------------------------------------*/
	.captcha-wrap a {
		display: block;
		width: 32px;
		height: 32px;
		margin: 10px 0;
	}
	/* ERROR MESSAGE
	----------------------------------------*/
	.error-text {
		margin: 0 0 5px;
		text-align: left!important;
		color: #f00;
		font-size: 12px;
		font-weight: bold;
		line-height: 1.5em;
		letter-spacing: 0.1em;
	}
	/* BUTTON
	----------------------------------------*/
	.contact-submits {
		padding: 40px 0 0;
		text-align: center;
	}
	
	.contact-submits input {
		margin: 0 5px;
		padding: 5px;
	}
	/* ERROR
	----------------------------------------*/
	.sec-error-text {
		line-height: 50px;
		text-align: center;
		color: #f00;
		font-size: 16px;
		border: 2px solid #f00;
	}

	/*	PAGINATION
	-------------------------------------------------- */
	.pagination {
		text-align: center;
		color: #fff;
		font-size: 0;
		font-weight: bold;
		letter-spacing: 0;
		
	}
	.pagination li {
		display: inline-block;
		width: 26px;
		background: #999;
		font-size: 13px;
		line-height: 30px;
		margin: 0 2px;
		-webkit-transition: .5s;
		-moz-transition: .5s;
		transition: .5s;
	}
	.pagination li > * {
		color: #fff;
		display: block;
	}
	.pagination li:hover,
	.pagination li.current {
		background: #bc0715;
		
	}

	/* ARCHIVE
	----------------------------------------*/
	.archive {
		max-width: 560px;
		margin: 50px auto 0;
	}
	.archive h3 {
		background: none;
		text-align: center;
		color: #fff;
		font-size: 18px;
		letter-spacing: 0.01em;
		border: none;
		border-bottom: 3px double #999;
		padding-bottom: 5px;	
		margin-bottom: 10px!important;
	}
	.lower .archive h3:after {
		display: none;
	}
	.archive h3 i {
		color: #bc0715;
	}
	.archive ul {
		margin: 0 0.5%;
	}
	.archive li {
		float: left;
		width: 33%;
		text-align: center;
		font-size: 14px;
		font-weight: 500;
		margin-top: 10px;
	}
	.archive li a {
		color: #ccc;
	}
	.archive li a:hover {
		text-decoration: underline;
	}

	/*	PREV and NEXT
	-------------------------------------------------- */
	.prev-next-post {
		overflow: hidden;
	}
	.prev-next-post .prev-post,
	.prev-next-post .next-post {
		width: calc(50% - 400px);
		border: 2px solid #fff;
		box-sizing: border-box;
	}
	.prev-next-post .prev-post {
		float: left;
	}
	.prev-next-post .next-post {
		float: right;
	}
	.prev-next-post a {
		text-align: center;
		color: #fff;
		font-size: 14px;
		font-weight: bold;
		line-height: 30px;
		letter-spacing: 0.1em;
		text-overflow: ellipsis;
		white-space: nowrap;
		display: block;
		overflow: hidden;
		-webkit-transition: .5s;
		-moz-transition: .5s;
		transition: .5s;
	}
	.prev-next-post a:hover {
		background: rgba(255, 255, 255, 0.5);
	}

}
