@charset "utf-8";

@import url("https://use.typekit.net/kjq3nfu.css");
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700;900&family=Noto+Serif+JP:wght@500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@500;700;900&display=swap');

@font-face {
	font-family:'CGothic';
	src:url('images/fonts/CGothic.ttf') format('truetype');
}
@font-face {
	font-family:'CSerif';
	src:url('images/fonts/CSerif.ttf') format('truetype');
}


@media screen and (min-width:800px){
	.noPC ,
	.xElements > *:nth-child(2) {
		display:none!important;
	}
	.event-none {
/*
		pointer-events:none;
*/
	}
	a[href^="tel:"] {
		pointer-events:none;
	}
}
@media screen and (max-width:799px){
	.noSP ,
	.xElements > *:nth-child(1) {
		display:none!important;
	}
}

.noDisp {
	display:none!important;
}

.animated.off {
	opacity:0;
}

@media screen and (min-width:800px){
	.imgHover ,
	.imgHoverB {
		filter:contrast(0.9);
	}
	.imgHover:hover {
		filter:contrast(1);
	}
	.imgHoverB:hover {
		filter:contrast(1);
	}
}


/* ======================================================================================================
	CSS reset
====================================================================================================== */
* ,*:before ,*:after {
	box-sizing:border-box;
	text-size-adjust:100%;
	-webkit-text-size-adjust:100%;
}
html ,body ,div ,p ,span ,iframe ,a ,img ,
h1 ,h2 ,h3 ,h4 ,h5 ,h6 ,
dl ,dt ,dd ,ol ,ul ,li ,
form ,label ,
table ,thead ,tbody ,tfoot ,tr ,th ,td ,
blockquote ,q ,pre ,em ,i ,strong ,small ,a
header ,footer ,nav ,article ,section ,aside {
	margin:0;
	padding:0;
	border:0 none;
	color:inherit;
	vertical-align:baseline;
	font-size:inherit;
	font-weight:inherit;
	font-style:inherit;
	text-decoration:inherit;
}
button ,input ,textarea ,select {
	font-size:100%;
	padding:5px;
	letter-spacing:1px;
	font-family:'Poppins' ,'Noto Sans JP' ,sans-serif;
}
input[type="submit"] ,button {
	font-size:100%;
	padding:10px 30px;
	font-family:inherit;
}

html ,body {
	min-height:100%;
	height:100%;
	font-family:'Poppins' ,'Noto Sans JP' ,sans-serif;
}
a {
	display:inline-block;
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}
@media screen and (min-width:800px){
	a:hover {
		text-decoration:none;
	}
}

img ,video {
	vertical-align:top;
	max-width:100%;
	max-height:100%;
	filter: drop-shadow(3px 3px 3px #333);
}
@media screen and (max-width:799px){
	img ,video {
		filter: drop-shadow(2px 2px 2px #ccc);
	}
}

ol ,ul ,li {
	list-style:none;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}



/* ======================================================================================================
	common
====================================================================================================== */
body{
	position:relative;
	font-size:16px;
	line-height:1.6;
	color:#fff;
	background-color:#000;
	-webkit-font-smoothing:antialiased;
}

#bgLayer{
	min-height:100vh;
	position:relative;
	margin:0 auto;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
}

.innerFrame {
	width:100%;
	margin:0 auto;
}

main {
	width:100%;
	overflow:hidden;
}

body:not(#page-index) main {
	padding-bottom:6em;
}

.nopage {
	padding:10em 0;
	text-align:center;
}

@media screen and (min-width:800px){
	#bgLayer {
		min-width:1280px;
		max-width:1920px;
	}
	.innerFrame {
		margin:0 auto;
	}
}
@media screen and (max-width:799px){
	body{
	}
	#bgLayer {
		width:480px;
		margin:0 auto;
	}
	.innerFrame {
		padding:0 0.5em;
	}
}


main > section {
	background:50% 50% no-repeat;
	background-size:cover;
}

main > section.content-body {
	padding:4em 0;
}
main > section.content-body2 {
	padding:4em 0 0;
}

@media screen and (max-width:799px){
	main > section.content-body {
		padding:2em 0;
	}
	main > section.content-body2 {
		padding:2em 0 0;
	}
}

.section-title {
	text-align:center;
	padding-bottom:3em;
}
.section-title .main {
	display:inline-block;
	padding:0 3em;
	font-size:250%;
	font-weight:bold;
	border-bottom:2px solid #039;
}
.section-title .sub {
	display:block;
	font-size:150%;
	color:#039;
}
@media screen and (max-width:799px){
	.section-title {
		width:100%;
		padding-bottom:2em;
	}
	.section-title .main {
		width:100%;
		padding:0;
		font-size:180%;
	}
	.section-title .sub {
		font-size:130%;
	}
	.section-image {
		height:140px;
	}
}



.center {
	text-align:center;
}

.nowrap {
	white-space;nowrap
}

.strong {
	font-size:240%;
	font-weight:bold;
}
@media screen and (max-width:799px){
	.strong {
		font-size:130%;
	}
}

.anchorLink {
	cursor:pointer;
}
@media screen and (min-width:800px){
	.anchorLink:hover {
		opacity:0.8;
		transition:all 0.3s ease;
		-webkit-transition:all 0.3s ease;
	}
}

.altText {
	display:none;
}

.textShadow {
	text-shadow:
			2px 2px 0 #fff ,-2px 2px 0 #fff ,2px -2px 0 #fff ,-2px -2px 0 #fff
		,	0px 2px 0 #fff ,-2px 0px 0 #fff ,2px  0px 0 #fff , 0px -2px 0 #fff
		,	3px 3px 5px #000;
}


.borderImage {
    border:1px solid #fff;
    box-shadow:1px 1px 5px #666;
}


.noData {
	padding:5em 1em;
	text-align:center;
}


/* ====================================================================
	flex
==================================================================== */
.flex {
	display:flex;
	justify-content:center;
	align-items:center;
}
.flex.left {
	justify-content:flex-start;
}
.flex.right {
	justify-content:flex-end;
}
.flex.between {
	justify-content:space-between;
}
.flex.around {
	justify-content:space-around;
}
.flex.evenly {
	justify-content:space-evenly;
}

.flex.top {
	align-items:flex-start;
}
.flex.bottom {
	align-items:flex-end;
}
.flex.stretch {
	align-items:stretch;
}

.flex.column {
	flex-direction:column;
}
.flex.rev {
	flex-direction:row-reverse;
}
.flex.column.rev {
	flex-direction:column-reverse;
}

.flex.wrap {
	flex-wrap:wrap;
}

.flex.col2 > * {
	width:calc(100% / 2);
}
.flex.col3 > * {
	width:calc(100% / 3);
}
.flex.col4 > * {
	width:calc(100% / 4);
}
.flex.col5 > * {
	width:calc(100% / 5);
}

.flex > .half {
	width:50%;
}
.flex > .full {
	width:100%;
}

.height-inherit > * {
	height:100%;
}
.height-inherit-all * {
	height:100%;
}



/* ==============================================
	popup image (spotlight)
=============================================== */
body #spotlight {
}

body #spotlight .header {
	height:60px;
}
body #spotlight .header div {
	width:80px;
	height:60px;
	padding-top:20px;
	opacity:0.8;
}
body #spotlight .header div.page {
	opacity:1;
}
body #spotlight .icon {
	background-size:40px;
}
body #spotlight .arrow {
	opacity:0.8;
}


body #spotlight .footer {
	width:100%;
	text-align:center;
}




/* ==============================================
	pager
=============================================== */
.pager {
}
.pager.flex {
}
.pager ul li {
	padding:0.3em;
}
.pager ul li a.flex {
	width:2.5em;
	height:2.5em;
	color:#666;
	background:#222;
	border:1px solid #999;
	border-radius:0.3em;
}
.pager ul li.active a.flex span {
	padding-bottom:0.1em;
	font-size:150%;
	font-weight:bold;
	color:#09f;
}
@media screen and (min-width:800px){
	.pager ul li:not(.active) a.flex:hover span {
		color:#f00;
		text-decoration:underline;
	}
}



/* ====================================================================
	pagetop button
==================================================================== */
#pagetopButton {
	display:none;
	position:fixed;
	right:1em;
	bottom:1em;
	width:4em;
	height:4em;
	z-index:100;
}
#pagetopButton .anchorLink {
	width:100%;
	height:100%;
	display:flex;
	justify-content:center;
	align-items:center;
	background:rgba(0,0,0,0.9);
}
#pagetopButton .anchorLink img {
	filter:none;
}

@media screen and (max-width:799px){
	#pagetopButton {
		right:0.5em;
		bottom:0.3em;
		width:3.4em;
		height:3.4em;
	}
	.open #pagetopButton {
		display:none !important;
	}
}


/* ====================================================================
	link banner
==================================================================== */
.official_banner {
	width:600px;
	max-width:80%;
	margin:0 auto;
	padding-bottom:2em;
	text-align:center;
}
.official_banner a {
	white-space:nowrap;;
}
@media screen and (min-width:800px){
	.official_banner a:hover {
		filter:brightness(1.2);
	}
}
@media screen and (max-width:799px){
	.official_banner {
		padding:2em 0 4em;
	}
}


/* ==============================================
	sp bottom button
=============================================== */
#spBottomButton {
    display: none;
    position: fixed;
    left: 0;
    right: 0;
    bottom:0;
    width: 100%;
	padding:0.3em 4.4em 0.3em 0.3em;
	background:rgba(204,204,204,0.5);
    z-index: 99;
	text-align:center;
}
#spBottomButton .flex img,
#spBottomButton .bottom_banner img{
	max-width:100%;
	height:5.4em;
	opacity:0.95;
	z-index:2;
}

.bottom_banner {
	width:1100px;
	max-width:100%;
	margin:0 auto;
}


@media screen and (max-width: 799px){

	#spBottomButton .flex img,
	#spBottomButton .bottom_banner img{
		height:3.4em;
	}
}


/* ====================================================================
	side button ( PC only)
==================================================================== */
.sideButton {
	position:fixed;
	right:0;
	top:160px;
	width:70px;
	z-index:100;
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}
.sideButton > * {
	display:block;
	width:100%;
}
@media screen and (min-width:800px){
	.sideButton a:hover {
		filter:brightness(1.2);
	}
	.sideButton .anchorLink:hover {
		opacity:1;
	}
}




/* ======================================================================================================
	header
====================================================================================================== */
#header {
	position:fixed;
	top:0;
	left:0;
	right:0;
	height:80px;
	background:rgba(0,0,0,0.9);
	z-index:300;
	box-shadow: 0 2px 5px #666;
}
#header img {
	filter:none;
}


#header > .innerFrame.flex.between {
	height:100%;
	min-width:1200px;
}

#header-left .logo img {
	height:auto;
	max-height:100%;
}

#header-right {
	height:auto;
	width:1400px;
	margin:0 auto;
	min-width:calc(1200px - 250px);
}

@media screen and (min-width:1400px){
	#header {
		height:100px;
	}
}


@media screen and (max-width:799px){
	#header {
		height:63px;
	}
	#header > .innerFrame.flex.between {
		width:480px;
		min-width:auto;
		height:60px;
		padding:0;
	}

	#header #SPmenu .icon {
		padding:2px;
		text-align:center;
		line-height:1;
	}
	#header #SPmenu .icon > * {
		display:block;
		width:56px;
		height:56px;
		color:#fff;
		cursor:pointer;
	}
	#header #SPmenu .icon.tel > * {
		width:calc(56px * 4);
	}

	#header #SPmenu .icon img {
		width:100%;
		height:100%;
		object-fit:contain;
		object-position:50% 50%;
	}

	body:not(.open) #header #SPmenu .openIcon {
	}
	body:not(.open) #header #SPmenu .closeIcon {
		display:none;
	}

	body.open #header #SPmenu .openIcon {
		display:none;
	}
	body.open #header #SPmenu .closeIcon {
	}

}


/* ======================================================================================================
	header - navi
====================================================================================================== */
.navMenu {
	color:#fff;
	font-family:'termina' ,'Noto Sans JP' ,sans-serif;
}

@media screen and (min-width:800px){
	.pcNav .navMenu {
		display:flex;
		justify-content:center;
		text-align:center;
	}
	.pcNav .navCell {
		padding:0.1em 0.2em;
		flex-grow:1;
	}

	.pcNav .navCell .aLink {
		position:relative;
		padding:0.2em 0.3em;
		line-height:1.2;
		display:flex;
		justify-content:center;
		align-items:center;
		flex-direction:column;
	}
	.pcNav .navCell .aLink > span:nth-child(1) {
		font-size:100%;
		font-weight:600;
	}
	.pcNav .navCell .aLink > span:nth-child(2) {
		font-size:75%;
		white-space:nowrap;
	}
	.pcNav .navCell .aLink:after {
		content:"";
		position:absolute;
		bottom:-6px;
		left:0;
		right:0;
		display:block;
		width:100%;
		height:3px;
		background:#fff;
		transform:scaleX(0.8);
		transform-origin:50% 50%;
		transition:all 0.3s ease;
		-webkit-transition:all 0.3s ease;
	}
	.pcNav .navCell .aLink:hover {
		opacity:1;
	}
	.pcNav .navCell:not(.active) .aLink:after {
		transform:scaleX(0);
	}
	.pcNav .navCell:not(.active) .aLink:hover:after {
		transform:scaleX(0.8);
	}
}
@media screen and (min-width:1400px){
	.pcNav .navCell .aLink > span:nth-child(1) {
		font-size:110%;
	}
	.pcNav .navCell .aLink > span:nth-child(2) {
		font-size:80%;
	}
}


@media screen and (max-width:799px){
	.spNav {
		position:fixed;
		top:0;
		bottom:0;
		left:0;
		right:0;
		width:100%;
		height:100%;
		background:rgba(255,255,255,0.9);
		z-index:200;
		margin-top:-150vh;
		transition:all 0.3s ease;
		-webkit-transition:all 0.3s ease;
	}
	.open .spNav {
		margin-top:-0vh;
	}

	.spNav .innerFrame {
		width:480px;
		padding:80px 1em 0;
	}

	.spNav .navMenu {
		padding-bottom:2em;
	}
	.spNav .navCell {
		padding:0.1em 0;
		font-size:120%;
	}
	.spNav .navMenu > .navCell {
	}

	.spNav .navCell .aLink {
		position:relative;
		display:block;
		padding:0.5em 1em;
		color:#066;
		background:rgba(204,238,221,0.6);
	}
	.spNav .navMenu .aLink:active {
		background:rgba(204,238,221,0.8);
	}
	.spNav .navMenu > .navCell > .aLink:before {
		content:"\025b6\020";
		color:#06f;
	}
	.spNav .navCell .aLink > span:nth-child(2) {
		padding-left:1.5em;
		font-size:60%;
	}

}




/* ======================================================================================================
	contents
====================================================================================================== */
#page-index .content-header ,
#page-recruit .content-header {
	padding-top:80px;
}

@media screen and (min-width:1400px){
	#page-index .content-header ,
	#page-recruit .content-header {
		padding-top:100px;
	}
}

@media screen and (max-width:799px){
	#page-index .content-header ,
	#page-recruit .content-header ,
	.content-header {
		padding-top:60px;
	}
}



/* ====================================================================
	content header
==================================================================== */
.content-header {
	position:relative;
	padding-bottom:4em;
}
.content-header.concept {
	padding-bottom:0;
}

.content-header .bg {
	position:relative;
}

.content-header .content-header-title.flex {
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	padding-bottom:5%;
	text-align:center;
	color:#fff;
	text-shadow:0 0 0.2em #000,0 0 0.2em #000,0 0 0.2em #000,0 0 0.2em #000;
}
.content-header.rev .content-header-title.flex {
	color:#444;
	text-shadow:0 0 0.2em #fff,0 0 0.2em #fff,0 0 0.2em #fff,0 0 0.2em #fff;
}

.content-header .content-header-title.flex span.en {
	display:block;
	color:#000;
	-webkit-text-stroke:2px #fff;

	line-height:1.2;
	font-size:480%;
	font-weight:600;
	font-family:'termina' ,'Noto Sans JP' ,sans-serif;
}
.content-header .content-header-title.flex span.ja {
	display:block;
	font-size:160%;
	font-weight:bold;
	color:#fff;
}


@media screen and (max-width:799px){
	.content-header .bg {
		height:28vh;
	}
	.content-header .bg > img {
		width:100%;
		height:100%;
		object-fit:cover;
	}

	.content-header .content-header-title.flex {
		padding-bottom:20%;
	}

	.content-header .content-header-title.flex span.en {
		font-size:240%;
	}
	.content-header .content-header-title.flex span.ja {
		font-size:130%;
	}
}

.content-header.simple {
	padding: 5% 0 0;
}
.content-header.simple .content-header-title.flex {
	padding-bottom:0;
}

/* ====================================================================
	content block
==================================================================== */
.content-body {
}
.bg-1 {
	background:#000;
}
.bg-2 {
	background:#444;
}
.bg-3 {
	background:#222;
}


/* ====================================================================
	title
==================================================================== */
.title {
	display:flex;
	color:#fff;
	justify-content:center;
	align-items:baseline;
	padding-bottom:2em;
	text-align:center;
}
.title .en {
	font-size:240%;
	font-weight:600;
	font-family:'termina' ,'Noto Sans JP' ,sans-serif;
}
.title .ja {
	font-size:120%;
	padding-left:1em;
}

@media screen and (max-width:799px){
	.title {
		flex-direction:column;
		align-items:center;
	}
	.title .en {
		font-size:180%;
	}
	.title .ja {
		font-size:100%;
		padding:0;
	}
}



/* ====================================================================
	button
==================================================================== */
.button {
	width:800px;
	max-width:100%;
	margin:0 auto;
	padding-top:4em;
	text-align:center;
}
@media screen and (min-width:800px){
	.button a:hover {
		filter:brightness(1.1);
	}
}

@media screen and (max-width:799px){
	.button {
		padding-top:2em;
		padding-left:2em;
		padding-right:2em;
	}
}



/* ====================================================================
	comments
==================================================================== */
.notes {
	padding-top:1em;
	color:#ff0;
	text-align:center;
}
.attention {
	padding-bottom:0.5em;
	color:#fc0;
	font-size:150%;
	font-weight:bold;
	text-align:center;
}

.attention.blue {
	color:#0cf;
}
.attention.pink {
	color:#f9c;
}

.attention.large {
	font-size:240%;
}

.message {
	padding-top:1em;
	text-align:center;
	font-size:130%;
	font-weight:bold;
}


@media screen and (max-width:799px){
	.attention {
		font-size:130%;
	}
	.attention.large {
		font-size:160%;
	}

	.message {
		font-size:110%;
	}
}



/* ====================================================================
	map
==================================================================== */
.map iframe {
	width:100%;
}



/* ====================================================================
	news
==================================================================== */
.news-list {
	max-width:1200px;
	margin:0 auto;
	padding:1em 1em 3em;
}

.news-list-cell .title.flex {
	width:100%;
	padding:1em 1em;
	color:#fff;
	font-size:120%;
	cursor:pointer;
	border-top:1px dotted #666;
}
.news-list > :last-child {
	border-bottom:1px solid #666;
}
.news-list-cell .title.flex.open {
	background-image:none;
}
@media screen and (min-width:800px){
	.news-list-cell .title:hover {
		background-color:#333;
	}
}
.news-list-cell .title.flex > .date {
	width:7em;
}
.news-list-cell .title.flex > .head {
	width:calc(100% - 7em);
	flex-grow:1;
	padding-left:1.5em;
	padding-right:2em;
}

.news-list-cell > .body-outer {
	display:none;
	width:100% !important;
	border-top:1px solid #333;
}
.news-list-cell .body.flex {
	width:100%;
	padding:1em 1em;
	background-color:#333;
}
.news-list-cell .body.flex > .image {
	width:40%;
	text-align:right;
	padding-right:3em;
}
.news-list-cell .body.flex > .text {
	width:60%;
}


@media screen and (max-width:799px){
	.news-list-cell .title.flex {
		flex-wrap:wrap;
		font-size:90%;
		justify-content:flex-start;
	}
	.news-list-cell .title.flex > .head {
		width:100%;
		padding-top:0.3em;
		padding-left:1em;
		font-size:120%;
	}

	.news-list-cell .body.flex.bertween.top {
		padding:1em 0.5em;
		flex-direction:column;
	}
	.news-list-cell .body.flex > .image {
		width:100%;
		padding:0 5em 1em;
		text-align:center;
	}
	.news-list-cell .body.flex > .text {
		width:100%;
		padding:0 1em;
	}
}






/* ======================================================================================================
	top (index)
====================================================================================================== */

@media screen and (max-width:799px){
	.top-ad.flex.col2 {
		flex-direction:column;
	}
	.top-ad.flex.col2 > * {
		width:100%;
	}
}


/* ====================================================================
	slider
==================================================================== */
.bx-pager.header-slider {
	margin:0 auto;
	padding:1em 1em 2em;
}
.bx-pager.header-slider a img {
	width:12em;
	height:6em;
}

.header-banner.flex {
	position:relative;
	margin-top:-6%;
	padding:0 2em;
	z-index:100;
}
.header-banner.flex > div {
	position:relative;
	padding:1em;
}
.header-banner.flex > div:nth-child(1) {
	z-index:2;
}
.header-banner.flex > div:nth-child(2) {
	z-index:1;
}

.banner.flex {
	padding-top:4em;
}
.banner.flex > * {
	padding:1em;
}


@media screen and (max-width:799px){
	.bx-pager.header-slider {
		padding-bottom:0.5em;
	}
	.bx-pager.header-slider a img {
		width:auto;
		height:auto;
	}


	.header-banner.flex {
		margin-top:-20%;
	}

	#bx-pager.header-slider {
		max-width:none;
		padding:1em 0;
	}

	.banner.flex {
		padding-top:0;
	}
	.banner.flex > * {
		width:45%;
		padding:0.5em;
	}

}


/* ====================================================================
	concept
==================================================================== */
.concept-frame {
	max-width:1800px;
	margin:0 auto;
	padding:0 1em;
}


.concept-image {
	padding:0 3em;
	text-align:center;
}


.concept-text {
	position:relative;
	width:80%;
	min-width:1000px;
	max-width:1300px;
	margin-top:-3%;
	margin-left:auto;
	margin-right:2em;
	padding:3em 3em 2em;
	background:rgba(0,0,0,0.6);
}
.concept-text .head {
	font-size:155%;
	text-align:center;
	font-weight:bold;
	font-family:'Noto Sans JP' ,sans-serif;
}
.concept-text .text {
	padding:2em 1em;
}
.concept-text .text p {
	font-size:120%;
	letter-spacing:0.05em;
	line-height:2;
}
.concept-text .text p em {
	color:#06f;
}


.concept-text:after {
	content:"CONCEPT";
	position:absolute;
	top:-1em;
	left:-1.5em;
	display:inline-block;
	padding:0.5em 1.5em 0.3em;
	line-height:1;
	font-size:200%;
	font-weight:600;
	color:#fff;
	background:rgba(255,0,0,0.8);
	font-family:'termina' ,'Noto Sans JP' ,sans-serif;
}


@media screen and (max-width:799px){
	.concept-image {
		padding:0;
	}

	.concept-text {
		min-width:auto;
		width:100%;
		padding:2em 0.5em 0.5em;
	}
	.concept-text:after {
		left:-0.3em;
		font-size:130%;
	}

	.concept-text .head {
		font-size:130%;
	}
	.concept-text .text {
		padding:1em 0.5em 0.5em;
	}
	.concept-text .text p {
		font-size:95%;
		letter-spacing:0em;
		line-height:1.8;
	}


}


/* ==============================================
	instagram
=============================================== */
.instaImages {
	padding:0 1em 2em;
	display:flex;
	justify-content:flex-start;
	align-items:stretch;
	flex-wrap:wrap;
}
.instaImages > div {
	width:calc(100% / 3);
	padding:3px;
}
.instaImages > div > a {
	position:relative;
	display:block;
}
.instaImages > div > a > * {
	width:100%;
	aspect-ratio:1/1;
	object-fit:cover;
}
.instaImages > div.video > a:after {
	content:"";
	position:absolute;
	top:0;
	right:0;
	display:block;
	width:25%;
	aspect-ratio:1/1;
	background:url(images/icons/instagram_reel_w.png) 50% 50% no-repeat;
	background-size:contain;
	filter:drop-shadow(0 0 3px #666);
	z-index:10;
}
.instaImages > div > a > span {
	display:none;
}
.instaImages > div.noData {
	width:100%;
	text-align:center;
	padding:3em 0;
	font-size:90%;
	color:#666;
}

@media screen and (min-width:800px) {
	.instaImages > div {
		width:calc(100% / 4);
	}
	.instaImages > div:nth-child(n + 9) {
		display:none;
	}
	.instaImages > div > a:hover {
		opacity:0.8;
	}

}





/* ====================================================================
	sns frame
==================================================================== */
.flex.sns {
	margin:0 auto;
}
.flex.sns > div {
	padding:0 1em;
}
.flex.sns > div .instaImages {
	padding:0;
	justify-content:flex-start;
}

.flex.sns > div#sns-twitter iframe {
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}


@media screen and (min-width:800px){
	.flex.sns {
		padding:0 100px;
	}
	.flex.sns > div {
		padding:0 2em;
	}

	.instaImages > span.instaCell {
		padding:0.5em;
	}
}
@media screen and (min-width:1400px){
	.flex.sns > div#sns-insta {
/*
		width:65%;
*/
		width:100%;
		max-width:1200px;
	}

	.flex.sns > div#sns-twitter {
		width:35%;
	}
}
@media screen and (max-width:1399px){
	.flex.sns {
		flex-wrap:wrap;
	}
	.flex.sns > div {
		width:100%;
		margin:0 auto;
	}
	.flex.sns > div#sns-twitter {
		padding-top:4em;
		max-width:800px;
	}
}
@media screen and (max-width:799px){
	.flex.sns > div#sns-twitter {
		padding:4em 2em 0;
	}
}



/* ====================================================================
	floor guide
==================================================================== */
.floor-guide-table.flex {
	max-width:1800px;
	margin:0 auto;
	padding:1em;
}
.floor-photo-list.flex > .floor-photo-cell {
	max-width:calc(100% / 4);
	padding:0 1.5em;
}

.floor-photo-cell .floor-label {
}
.floor-photo-cell .floor-label span {
	font-size:200%;
	font-weight:600;
	font-family:'termina' ,'Noto Sans JP' ,sans-serif;
}

.floor-photo-cell .label span {
	line-height:2;
	font-size:120%;
	font-weight:bold;
}


@media screen and (max-width:799px){
	.floor-photo-list.flex {
		flex-wrap:wrap;
	}
	.floor-photo-list.flex > .floor-photo-cell {
		width:50%;
		max-width:none;
		padding:0.5em;
	}
	.floor-photo-cell .label span {
		font-size:100%;
	}
}



/* ======================================================================================================
	price
====================================================================================================== */
.price-table {
	max-width:1400px;
	margin:0 auto;
	padding:0 1em;
}

.price-table > li {
	display:flex;
	justify-content:center;
	align-items:stretch;
}

.price-table > li:nth-child(1) {
	border-top:1px solid #ccc;
}

.price-table > li > * {
	padding:0.6em;
	border-right:1px solid #ccc;
	border-bottom:1px solid #ccc;
	display:flex;
	justify-content:center;
	align-items:center;
}
.price-table > li > .course {
	width:30%;
	border-left:1px solid #ccc;
}
.price-table > li > .summary {
	width:45%;
}
.price-table > li > .price {
	width:25%;
}

.price-table > li.th {
	background:#39f;
}
.price-table > li.td .course {
	background:#666;
}
.price-table > li.td .summary ,
.price-table > li.td .price {
	background:transparent;
}
.price-table > li.td .price > span {
	font-size:160%;
}


@media screen and (max-width:799px){
	.price-table > li {
		flex-wrap:wrap;
	}

	.price-table > li.th > .summary {
		display:none;
	}
	.price-table > li > .course {
		order:1;
		width:60%;
	}
	.price-table > li > .summary {
		order:3;
		width:100%;
		border-left:1px solid #ccc;;
	}
	.price-table > li > .price {
		order:2;
		width:40%;
		text-align:center;
	}
}



/* ====================================================================
	slash
==================================================================== */
.price-table .before {
	color:#fff;
	font-size:70%;
	line-height:1;
}
.price-table .before .slash {
	position:relative;
	display:inline-block;
	padding-left:0.5em;
	padding-right:1em;
}
.price-table > li.td .price > span .slash:after {
	content:"";
	top:50%;
	left:0;
	right:0;
	position:absolute;
	height:2px;
	background:#f06;
	transform:rotate(-15deg);
}

.price-table .before:after {
	content:"\025b6";
	padding:0 0.5em;
}
@media screen and (max-width:799px){
	.price-table .before:after {
		content:"\025bc";
		display:block;
	}
}


/* ====================================================================
	type2 color
==================================================================== */
.price-table.type2 > li.th {
	background:#f90;
}
.price-table > li.td.type2 .price > span {
	color:#fc0;
}


.price-table.col3.noComment ,
.price-table.col2 {
	max-width:1000px;
}

.price-table.col3.noComment > li > * ,
.price-table.col2 > li > * {
	width:50%;
}
.price-table.col3.noComment > li > .summary {
	display:none;
}


@media screen and (max-width:799px){
	.price-table.noComment > li.td .price > span {
		font-size:120%;
	}
	.price-table.col3.noComment > li > *.course ,
	.price-table.col2 > li > *.course {
		width:60%;
	}
	.price-table.col3.noComment > li > *.price ,
	.price-table.col2 > li > *.price {
		width:40%;
	}
}



/* ======================================================================================================
	trainer
====================================================================================================== */
.trainer-table {
	width:100% !important;
	max-width:1400px;
	margin:0 auto !important;
	padding:0 1em !important;
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
	flex-wrap:wrap;
}
.trainer-table.flex > .trainer-cell {
	width:calc(100% / 3);
	padding:1em;
}


.trainer-table.flex > .noData {
	width:100%;
}

.trainer-cell a {
	display:block;
	position:relative;
	border:1px solid #666;
	filter: drop-shadow(3px 3px 3px #333);
}

@media screen and (min-width:800px){
	.trainer-cell a:hover .image img {
		transform:scale(1.1);
	}
}

@media screen and (max-width:799px){
	.trainer-table {
		padding:0 0.5em !important;
	}
	.trainer-table.flex > .trainer-cell {
		width:calc(100% / 2);
		padding:0.5em;
	}
}



/* ====================================================================
	trainer cell > image
==================================================================== */
.trainer-cell .image {
	width:100%;
	aspect-ratio:600/800;
	overflow:hidden;
	z-index:1;
}
.trainer-cell .image img {
	width:100%;
	height:100%;
	object-fit:cover;
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}


/* ====================================================================
	trainer cell > info
==================================================================== */
.trainer-cell .info {
	position:absolute;
	left:1em;
	right:1em;
	bottom:4.5em;
	padding:1em 1em 0.5em;
	color:#fff;
	background:rgba(34,34,34,0.8);
	z-index:10;
}
.trainer-cell .info .name {
	line-height:1;
	font-size:240%;
	font-family: 'termina' ,'Noto Sans JP' ,sans-serif;
}
.trainer-cell .info .age {
	line-height:1;
	font-size:180%;
	font-family: 'termina' ,'Noto Sans JP' ,sans-serif;
	text-align:right;
}
.trainer-cell .info .age .label {
	font-size:60%;
	padding-right:0.5em;
}
.trainer-cell .info .skill {
	padding-top:0.6em;
	height:5em;
	overflow:hidden;
}
.trainer-cell .info .skill .en {
	font-family: 'termina' ,'Noto Sans JP' ,sans-serif;
}
.trainer-cell .info .skill .ja {
	padding-top:0.5em;
	font-size:80%;
}


@media screen and (max-width:799px){
	.trainer-cell .info {
		margin:-3em 0 0;
		padding:0.5em;
	}
	.trainer-cell .info .name {
		font-size:120%;
	}
	.trainer-cell .info .age {
		font-size:120%;
	}
	.trainer-cell .info .skill {
		font-size:90%;
	}
}




/* ====================================================================
	trainer cell > time
==================================================================== */
.trainer-cell .time {
	padding:0.5em;
	background:rgba(34,34,34,0.8);
	text-align:center;
}
.trainer-cell .time > span {
	color:#ff0;
	font-size:160%;
	letter-spacing:0.1em;
	text-indent:0.1em;
}

#page-trainer .trainer-cell .info {
	bottom:1em;
}
#page-trainer .trainer-cell .time {
	display:none;
}


@media screen and (max-width:799px){
	.trainer-cell .time {
		margin:0.8em 0 0;
		padding:0.3em;
	}
	.trainer-cell .time span {
		font-size:120%;
	}
}



/* ====================================================================
	schedule date selector
==================================================================== */
.dateSelector {
	max-width:1600px;
	margin:0 auto;
	padding:0 1em 3em;
}
.date-table.flex > .date-cell {
	position:relative;
	width:calc(100% / 7);
	font-size:120%;
}
.date-table.flex > .date-cell > .inner-box {
	padding:0.5em 0;
	border:1px solid #999;
	display:flex;
	justify-content:center;
	align-items:center;
	cursor:pointer;
}
.date-table.flex > .date-cell:after {
	content:"";
	display:block;
	height:0.5em;
}

.date-table.flex > .date-cell.active > .inner-box {
	color:#000;
	background:#fff;
}
.date-table.flex > .date-cell.active:after {
	background:#f90;
}

@media screen and (min-width:800px){
	.date-table.flex > .date-cell:not(.active):hover > .inner-box {
		background:#666;
	}
}

.list-outer {
	min-height:60vh;
}
.list-outer .date-table.flex {
	display:none;
}


@media screen and (max-width:799px){
	.date-table.flex > .date-cell > .inner-box {
		flex-direction:column;
		line-height:1;
	}
	.date-table.flex > .date-cell:after {
		height:0.3em;
	}
}



/* ======================================================================================================
	trainer profile
====================================================================================================== */
#profile-frame {
	max-width:1400px;
	margin:0 auto;
	padding:4em 1em;
}


@media screen and (max-width:799px){
	#page-profile .content-header .bg {
		height:20vh;
	}
	#page-profile .content-header .content-header-title.flex {
		padding:15% 0 0;
	}
}



/* ====================================================================
	name & SNS icons
==================================================================== */
.profile-header.flex {
	padding:1em;
	border-bottom:2px solid #fff;
}

.profile-header.flex > .name {
	line-height:1;
}
.profile-header.flex > .name .en {
	font-size:400%;
	font-family:'termina' ,'Noto Sans JP' ,sans-serif;
}
.profile-header.flex > .name .ja {
	padding-left:1em;
	font-size:160%;
}

.profile-header.flex > .sns.flex {
	height:4.5em;
}
.profile-header.flex > .sns a {
	height:100%;
	margin:0.1em;
	border-radius:50%;
	background:#000;
}
@media screen and (min-width:800px){
	.profile-header.flex > .sns a:hover {
		background:#fff;
	}
	.profile-header.flex > .sns a:hover img {
		filter: invert(1);
	}
}

.profile-header.flex > .sns img {
	height:100%;
}


@media screen and (max-width:799px){
	.profile-header.flex {
		flex-wrap:wrap;
		padding-bottom:0.5em;
	}
	.profile-header.flex > .name {
		width:100%;
	}
	.profile-header.flex > .name span {
		display:block;
	}
	.profile-header.flex > .name .en {
		font-size:300%;
	}
	.profile-header.flex > .name .ja {
		padding-left:0.5em;
	}

	.profile-header.flex > .sns.flex {
		margin-left:auto;
		height:3em;
	}

}





/* ====================================================================
	main block
==================================================================== */
.profile-main.flex.between {
	padding:2em 1em;
	justify-content:center;
}

@media screen and (max-width:799px){
	.profile-main.flex {
		flex-direction:column;
	}
}


/* ====================================================================
	main > image (left)
==================================================================== */
.profile-main.flex > .image {
}

.profile-main.flex > .image #bx-pager {
	padding-top:2em;
}
.profile-main.flex > .image #bx-pager > li {
	width:calc(100% / 6 - 0.2em);
}

@media screen and (max-width:799px){
	.profile-main.flex > .image {
		width:100%;
		padding-bottom:2em;
	}
}
@media screen and (min-width:800px){
	.profile-main.flex > .image {
		display:flex;
		justify-content:space-evenly;
		align-items:stretch;
	}
	.profile-main.flex > .image > :nth-child(1){
		width:500px;
	}

	.profile-main.flex > .image #bx-pager {
		width:calc(100% - 500px);
		height:750px;
		padding:0;
		padding-left:1em;
		justify-content:space-between;
		align-items:flex-start;
		flex-direction:column;
	}
	.profile-main.flex > .image #bx-pager a {
		width:auto;
		max-width:none;
		height:calc(100% / 6 - 0.1em);
		padding:0;
	}
	.profile-main.flex > .image #bx-pager a img {
		height:100%;
		border-color:#ccc;
	}
	.profile-main.flex > .image #bx-pager a.active img {
		border-color:#f39;
	}
}


/* ====================================================================
	main > data (right)
==================================================================== */
.profile-main.flex > .data {
	width:50%;
	padding-left:2em
}

.data-box {
	padding:1em;
	margin-bottom:1em;
	background:rgba(51,51,51,0.6);
}

.data-box .age {
	line-height:1.3;
	padding:0 0.5em;
	border-bottom:2px solid #333;
}
.data-box .age .label {
	font-size:160%;
	padding-right:0.5em;
}
.data-box .age .number {
	font-size:300%;
}

.data-box .head {
	color:#fc0;
	padding:1em 0.5em 0.3em;
	border-bottom:2px solid #999;
}
.data-box .head span {
	font-size:130%;
}
.data-box .head.skill span {
	font-size:160%;
	font-family:'termina' ,'Noto Sans JP' ,sans-serif;
}

.data-box .text {
	padding:1em;
}
.data-box .text .en {
	font-size:140%;
	font-family:'termina' ,'Noto Sans JP' ,sans-serif;
}
.data-box .text .ja {
	padding-top:1em;
}

@media screen and (max-width:799px){
	.profile-main.flex > .data {
		width:100%;
		padding-left:0;
	}
	.data-box .text .en {
		font-size:120%;
	}	
	.data-box .text .ja {
		font-size:90%;
	}
}




/* ====================================================================
	schedule table
==================================================================== */
.profile-schedule {
	padding:3em 1em;
}

.profile-schedule-table {
	width:100%;
	font-size:120%;
	background:rgba(51,51,51,0.6);
}

.profile-schedule-table th ,
.profile-schedule-table td {
	width:calc(100% / 7);
	padding:0.5em;
	border:1px solid #999;
	text-align:center;
	vertical-align:middle;
}
.profile-schedule-table td {
	color:#ff6;
}
.profile-schedule-table .off {
	color:#f33;
}

.profile-schedule-table th.wday-6 {
	background:#009;
}
.profile-schedule-table th.wday-0 {
	background:#900;
}


@media screen and (max-width:799px){
	.profile-schedule {
		padding:2em 0;
	}
	.profile-schedule-table {
		font-size:100%;
	}

	.profile-schedule-table th ,
	.profile-schedule-table td {
		padding:0.5em 0;
		line-height:1.2;
	}

	.profile-schedule-table th > span {
		display:block;
	}
	.profile-schedule-table td:not(.off) {
		vertical-align:top;
	}
}



/* ======================================================================================================
	trial
====================================================================================================== */


/* ====================================================================
	flow
==================================================================== */
.flow-table {
	max-width:1400px;
	margin:0 auto;
	padding:0 1em;
}

.flow-table > li {
	position:relative;
	padding:1em 0;
	display:flex;
	justify-content:center;
	align-items:stretch;
	flex-direction:row-reverse;
	flex-wrap:wrap;
}
.flow-table > li > .text {
	width:65%;
}
.flow-table > li > .image {
	width:35%;
	text-align:center;
}

.flow-table .text h4 {
	padding-bottom:0.5em;
	font-size:150%;
	font-weight:bold;
	line-height:1;
}
.flow-table .text h4 .sub {
	padding-right:1em;
	color:#06f;
	font-weight:600;
	font-family:'termina' ,'Noto Sans JP' ,sans-serif;
}

.flow-table .text p {
	padding-left:1em;
}

.flow-table li + li {
	padding-top:4em;
}
.flow-table li + li:before {
	content:"";
	position:absolute;
	top:0.75em;
	left:calc(35% / 2);
	margin-left:-3em;
	display:block;
	width:3em;
	height:0;
	border-style:solid;
	border-width:1.5em 3em;
	border-color:#06f transparent transparent transparent;
}


@media screen and (max-width:799px){
	.flow-table > li {
		flex-direction:column;
	}

	.flow-table > li > .text {
		width:100%;
	}
	.flow-table .text h4 {
		font-size:130%;
		text-align:center;
	}

	.flow-table > li > .image {
		width:60%;
		margin:0 auto;
		padding-top:1em;
	}
	.flow-table li + li:before {
		left:50%;
	}
}


/* ====================================================================
	voice
==================================================================== */
.voice-table {
	max-width:1200px;
	margin:0 auto;
	padding:0 1em;
}

.voice-table > li {
	position:relative;
	padding:3em 1em;
	border-bottom:2px solid #0cf;
	display:flex;
	justify-content:center;
	align-items:stretch;
}
.voice-table > li > .name {
	width:25%;
	color:#0cf;
	font-size:120%;
	font-weight:bold;
}
.voice-table > li > .text {
	width:75%;
}


@media screen and (max-width:799px){
	.voice-table > li {
		flex-wrap:wrap;
	}

	.voice-table > li > .name ,
	.voice-table > li > .text {
		width:100%;
	}
}



/* ======================================================================================================
	access
====================================================================================================== */


/* ====================================================================
	photo
==================================================================== */
.gym-image {
	max-width:1400px;
	margin:0 auto;
	text-align:center;
}



/* ====================================================================
	gym information
==================================================================== */
.gym-info {
	padding:1em 0;
	text-align:center;
	font-size:110%;
	line-height:1.8;
}
.gym-info p {
	padding:0.5em 0;
}




/* ======================================================================================================
	gallery
====================================================================================================== */
.gallery-table {
	max-width:1600px;
	margin:0 auto;
	padding:0 1em;
	display;flex;
	justify-content:flex-start;
	flex-wrap:wrap;
}
.gallery-table.flex > .gallery-cell {
	width:calc(100% / 3);
	padding:1em;
	display:flex;
	flex-direction:column-reverse;
	align-items:flex-start;
}

.gallery-table.flex .title {
	padding:0.5em;
	font-size:110%;
}

.gallery-table.flex .image {
	position:relative;
	width:100%
}
.gallery-table.flex .image:before {
	content:"";
	display:block;
	width:100%;
	height:0;
	padding-top:100%;
}
.gallery-table.flex .image img {
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	width:100%;
	height:100%;
	object-fit:cover;
	cursor:pointer;
}


@media screen and (max-width:799px){
	.gallery-table {
		padding:0 0.5em;
	}
	.gallery-table.flex > .gallery-cell {
		padding:0.5em;
	}
}



/* ======================================================================================================
	Q & A
====================================================================================================== */
.faq {
	width:100%;
	max-width:1200px;
	margin:0 auto;
	padding:0 1em;
}

.faq > li {
	padding-bottom:1em;
}
.faq .head.flex {
	min-height:4em;
	background:#444;
	border-bottom:1px solid #444;
}
.faq .head.flex > .letter.flex {
	width:4em;
	background:#333;
}

.faq .body.flex {
	min-height:4em;
	background:#333;
}
.faq .body.flex > .letter.flex {
	width:4em;
	background:#222;
}

.faq .letter.flex > span {
	line-height:1;
	font-size:300%;
	font-weight:600;
	font-family:'termina' ,'Noto Sans JP' ,sans-serif;
}
.faq .head .letter.flex > span {
	color:#fc3;
}
.faq .body .letter.flex > span {
	color:#3cf;
}

.faq .text.flex {
	width:calc(100% - 4em);
	padding:0.5em 1em;
	letter-spacing:0.05em;
	justify-content:flex-start;
}


@media screen and (max-width:799px){
	.faq .head.flex > .letter.flex ,
	.faq .body.flex > .letter.flex {
		width:3em;
	}
	.faq .text.flex {
		width:calc(100% - 3em);
	}

	.faq .letter.flex > span {
		font-size:240%;
	}
}


/* ======================================================================================================
	recruit
====================================================================================================== */
.recruit-image {
	padding-bottom:4em;
	text-align:center;
}

.recruit-point.flex {
	margin:0 auto;
	padding:0 1em 4em;
}
.recruit-point.flex > .cell {
	padding:1em;
	display:flex;
	flex-direction:column;
}
.recruit-point.flex > .cell > h4 {
	order:2;
	padding-top:0.5em;
	font-size:130%;
	font-weight:bold;
	color:#f9c;
}
.recruit-point.flex > .cell > p {
	padding-top:0.5em;
	order:3;
}
.recruit-point.flex > .cell > img {
	order:1;
}
.recruit-point.flex > .cell > .number {
	order:1;
	line-height:1.2;
	font-size:600%;
	font-weight:bold;
	text-align:center;
}


.recruit-point.flex.type2 {
	max-width:1600px;
}
.recruit-point.flex.type2 > .cell {
	padding:1em 0;
	font-size:120%;
}
.recruit-point.flex.type2 > .cell > h4 {
	padding-top:1em;
}
.recruit-point.flex.type2 > .cell > p {
	max-width:450px;
	line-height:1.8;
	margin:0 auto;
	padding:1em;
}



.recruit-table {
	margin:0 auto;
	padding:0 1em;
	letter-spacing:0.05em;
}
.recruit-table th ,
.recruit-table td {
	padding:1em 2em;
	border-bottom:1px solid #666;
}
.recruit-table th {
	text-align:right;
	color:#fcf;
}


.recruit_photo_cover {
	padding:4em 0;
	background:transparent;
}
.recruit_photo_header {
	background:url(images/contents/recruit/recruit_photo_header.jpg) 50% 50% no-repeat;
	text-align:center;
}
.recruit_sub_1 {
	text-align:center;
}
.recruit_sub_3 {
	text-align:center;
}
.recruit_1920 {
	padding-top:3em;
	background:url(images/contents/recruit/recruit_1920.jpg) 50% 0 no-repeat;
	text-align:center;
}
.recruit_1920A {
	background:rgba(255,255,255,0.6);
}



@media screen and (max-width: 799px){
	.recruit_photo_cover {
		padding:2em 0;
	}

	.recruit-image {
		padding-bottom:2em;
	}

	.recruit-point.flex {
		flex-wrap:wrap;
	}
	.recruit-point.flex > .cell {
		width:100%;
	}
	.recruit-point.flex > .cell > h4 {
		font-size:120%;
	}
	.recruit-point.flex > .cell > img {
		width:80%;
		margin:0 auto;
	}
	.recruit-point.flex > .cell > .number {
		font-size:400%;
		line-height:1;
	}
	
	.recruit-table {
	}
	.recruit-table th ,
	.recruit-table td {
		padding:0.5em;
	}
}






/* ======================================================================================================
	footer
====================================================================================================== */
#footer {
	margin-top:auto;
}

#footer .pcNav .innerFrame {
	width:1400px;
	max-width:100%;
}


#footer-main {
	padding-top:2em;
}

#footer-info.flex {
	padding:3em 0;
}

#footer-left {
	width:50%;
	max-width:600px;
	align-self:flex-start;
}

#footer-left .logo {
	width:300px;
}
#footer-left .text {
	padding-top:2em;
	padding-left:1em;
	color:#fff;
	font-size:90%;
	line-height:2;
	letter-spacing:0.05em;
}

#footer-right {
	width:50%;
	max-width:560px;
	height:auto;
	text-align:center;
}
@media screen and (min-width:800px){
	#footer-right .banner a:hover {
		filter:brightness(1.1);
	}
}

#footer-right .footer-sns.flex {
	padding-top:1em;
	height:6em;
}
#footer-right .footer-sns.flex > li {
	padding:0 0.5em;
}
#footer-right .footer-sns.flex .snsLink {
	display:inline-block;
	border-radius:50%;
	background:#000;
	filter:none;
}
#footer-right .footer-sns.flex .snsLink img {
	filter:none;
}

@media screen and (min-width:800px){
	#footer-right .footer-sns.flex a.snsLink:hover {
		background:#fff;
	}
	#footer-right .footer-sns.flex a.snsLink:hover img {
		filter: invert(1);
	}
}


#footer-right .footer-sns.flex span.snsLink {
	position:relative;
}
#footer-right .footer-sns.flex span.snsLink img {
	filter: grayscale(1) opacity(0.3);
}
#footer-right .footer-sns.flex span.snsLink:after {
	content:"coming\asoon";
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	display:flex;
	justify-content:center;
	align-items:center;
	width:100%;
	height:100%;
	color:#ddd;
	line-height:1.2;
	font-weight:bold;
}

@media screen and (max-width:799px){
	#footer-main {
		padding-top:0;
	}
	#footer-info.flex {
		padding:1em 0;
	}


	#footer-info.flex {
		flex-direction:column;
	}

	#footer-left {
		width:100%;
	}
	#footer-left .logo {
		text-align:center;
		margin:0 auto;
	}
	#footer-left .text {
		padding:1em 1em 2em;
	}

	#footer-right {
		width:80%;
	}
	#footer-right .footer-sns.flex {
		height:5em;
	}

	#footer-right .footer-sns.flex span.snsLink:after {
		font-size:80%;
	}
}



/* ====================================================================
	footer - copyright
==================================================================== */
#footer-copyright {
	color:#eee;
	padding:0.5em 0;
}
@media screen and (max-width:799px){
	#footer-copyright {
		font-size:90%;
	}
}



/* ======================================================================================================
	form
====================================================================================================== */
#form {
	padding-top:2em;
	scroll-margin-top:100px;
}

.form-notes {
	width:1000px;
	max-width:100%;
	margin:0 auto;
	font-size:110%;
	line-height:1.8;
	text-align:center;
}
.form-notes.wide {
	width:1200px;
}
.form-notes.top-padding {
	padding-top:2em;
}

.form-wrapper {
	padding:2em 0 6em;
}
#form-table {
	width:800px;
	max-width:100%;
	margin:0 auto;
	font-size:120%;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
}


.form-wrapper dl {
	width:100%;
}

.form-wrapper dt {
	width:100%;
	padding:1.5em 0 0;
}

.form-wrapper dd {
	width:100%;
	padding:0.5em 1em 0;
}
.form-wrapper .status2 dd {
	color:#ff0;
}

.form-comment {
	padding:0.5em 0.5em 0;
	font-size:90%;
	color:#999;
}

@media screen and (max-width:799px){
	.form-notes {
		padding:0 1em;
		font-size:100%;
		line-height:1.6;
	}
	.form-header h1 {
		font-size:240%;
	}
	.form-wrapper dl {
		padding:0 0.5em;
	}

	.form-wrapper {
		padding:0 0 3em;
	}

	form:not(.status2) #form-table {
		font-size:100%;
		justify-content:center;
	}

	.form-comment {
		padding-top:0;
		display:block;
		text-align:left;
	}
}

.form-wrapper dt:not(.sub) {
	margin:2em auto 0.5em;
	padding:0.3em 0.5em;
	border:1px solid #666;
	background: #000;
}

.form-wrapper textarea {
	height:8em;
}

@media screen and (max-width:799px){
	.form-wrapper form:not(.status2) dl {
		text-align:center;
	}
	.form-wrapper dt:not(.sub) {
		text-align:left;
	}

}


/* --------------------------- sub --------------------------- */ 
.form-wrapper dt.sub {
	padding-top:1em;
	padding-left:3em 
}
.form-wrapper form.status2 dt.sub {
	padding-left:1em;
	color:#333;
}

.form-wrapper dt.sub span:before {
	content:"・";
}

@media screen and (max-width:799px){
	.form-wrapper form:not(.status2) dt.sub span:before {
		content:none;
	}
	.form-wrapper dt.sub {
		padding-left:0;
	}
}


/* --------------------------- sub [text] --------------------------- */ 
.form-wrapper dt.sub.text {
	width:auto;
}
.form-wrapper dt.sub.text span:after {
	content:"：";
}
.form-wrapper dt.sub.text + dd {
	width:auto;
	padding-top:1em;
	padding-left:0.5em;
}
.form-wrapper dt.sub.text + dd input {
	width:8em;
}


/* --------------------------- sub [textarea] --------------------------- */ 
.form-wrapper dt.sub.textarea {
}
.form-wrapper dt.sub.textarea + dd textarea {
	height:6em;
}


@media screen and (min-width:800px){
	.form-wrapper form:not(.status2) dt.sub.textarea + dd {
		padding-left:4em;
	}
	.form-wrapper form.status2 dt.sub.textarea + dd {
		padding-left:2em;
	}
}
@media screen and (max-width:799px){
	.form-wrapper dt.sub.textarea + dd {
		padding:0.5em 2em 0;
	}
}


/* --------------------------- score --------------------------- */ 
.form-wrapper dt.score {
}
.form-wrapper dt.score + dd input {
	width:5em;
}
.form-wrapper dt.score + dd:before {
	content:"100％中／";
}
.form-wrapper dt.score + dd:after {
	content:"％";
}






/* ====================================================================
	form - optional / required
==================================================================== */
dt:not(.sub) .optional,
dt:not(.sub) .required{
	display:flex;
	justify-content:flex-start;
	align-items:center;
}


dt:not(.sub) .required:before {
	content:"";
	display:inline-block;
	margin-right:0.5em;
	height:1.2em;
	width:3em;
	background:url(images/icons/icon_mandatory.png) 50% 50% no-repeat;
	background-size:contain;

	filter:contrast(2);
}

@media screen and (max-width:799px){
	dt:not(.sub) .required {
		align-items:flex-start;
		flex-direction:column;
	}
	form:not(.status2) dt.sub .optional {
		justify-content:center;
	}
}


/* ====================================================================
	form - field
==================================================================== */
input ,textarea{
	width:100%;
	-webkit-appearance:none; 
	appearance:none;
	border-radius:0.3em;
}
input[type='radio'] ,input[type='checkbox']{
	width:1em;
	height:1em;
	-webkit-appearance:auto; 
	appearance:auto;
}

:required {
	scroll-margin-top:250px;
}



input:not([type="submit"]){
	border:2px solid #999;
	padding:0.3em 0.5em;
}

.textarea-text{
	padding:2.5em 5em !important;
}

textarea{
	resize:none;
	height:8em;
	padding:0.5em;
	border:2px solid #999;
}

span.check {
	display:flex;
	justify-content:flex-start;
	align-items:center;
}
span.check > label {
	padding-left:0.3em;
}


.field-group.flex {
	justify-content:flex-start;
}
.field-group.flex > * {
	margin-left:2em;
}

.form-wrapper dt.column + dd .field-group.flex {
	flex-direction:column;
	align-items:flex-start;
}


input[type="checkbox"] ,
input[type="radio"] {
	position:relative;
	width:20px;
	z-index:2;
}
input[type="checkbox"] + label ,
input[type="radio"] + label {
	position:relative;
	margin-left:-2em;
	padding:0.3em 1.5em 0.3em 2em;
	border-radius:0.3em;
	transition:all 0.1s ease;
	-webkit-transition:all 0.1s ease;
}
input[type="checkbox"] + label > span ,
input[type="radio"] + label > span {
	padding-left:0.3em;
}
input[type="checkbox"]:checked + label ,
input[type="radio"]:checked + label {
	color: #fff;
	background:#09f;
}


@media screen and (max-width:799px){
	:required {
		scroll-margin-top:150px;
	}

	input[type="submit"]{
		width:auto;
		padding:0.5em 1em;
	}

	input:focus ,textarea:focus{
		border:solid 2px #000000;
		outline:none;
		background-color:#99e5ff;
	}

	input:focus[type="submit"]{
		opacity:0.8;
		border:none;
		outline:none;
		background-color:#000f4c;
	}

	.field-group.flex {
		justify-content:center;
	}
	.field-group.flex > * {
		margin:0 1em;
	}
}



/* ====================================================================
	form - button
==================================================================== */
.formButton{
	padding-top:2em;
	padding-left:1em;
	text-align:center;
}

input[type="submit"] ,.formButton a{
	width:auto;
	padding:1em 3em;
	background-color:#0c9;
	color:#ffffff;
	font-size:120%;
	line-height:1;
	text-indent:0.3em;
	letter-spacing:0.3em;
	border:none;
	outline:none;
	transition:all 0.2s ease;
	-webkit-transition:all 0.2s ease;
	cursor:pointer;
}
@media screen and (min-width:800px){
	input[type="submit"]:hover ,.formButton a:hover {
		background-color:#096;
	}
}

.formButton a{
	font-size:100%;
	text-indent:0.1em;
	letter-spacing:0.1em;
	border-radius:0.5em;
}

@media screen and (max-width:799px){
	.button-wrapper{
		padding:2em 7em 0;
	}
}


/* ====================================================================
	form - error
==================================================================== */
.error {
	margin:0.3em 0 0.5em;
	display:inline-block;
	padding:0.2em 2em;
	color:#f00;
	border:1px solid #f00;
	background:#f1f1f1;
	border-radius:0.2em;
	font-size:90%;
}



/* ====================================================================
	form - custom
==================================================================== */
.form-17 .form-comment {
	font-size:90%;
	color:#ccc;
}



/* ====================================================================
	thankyou page
==================================================================== */
#page-thankyou .form-wrapper {
	padding:2em 1em 6em;
	line-height:1.8;
	font-size:120%;
}
#page-thankyou .form-wrapper p {
	padding-top:0.5em;
}
.sendIP {
	padding-top:3em;
	color:#99c;
	font-size:12px;
	line-height:1.4;
}
.sendIP:before {
	content:"[ Form Data ]";
	display:block;
}

@media screen and (max-width:799px){
	.form-frame{
		font-size:130%;
	}
}




/* ======================================================================================================
	concept
====================================================================================================== */
#page-concept .button {
	padding:2em;
}

@media screen and (min-width:800px){
	#page-concept .content-header .bg > img {
		width:100%;
		height:100%;
		min-height:420px;
		object-fit:cover;
	}
}


/* ====================================================================
	concept - content-header custom
==================================================================== */
.concept.content-header .content-header-title.flex {
	padding-bottom:0;
}
.concept .content-header-title .head {
	font-size:450%;
	font-weight:bold;
	line-height:1.2;
	border-bottom:0.05em solid #fff;
}
.concept .content-header-title .text {
	padding:1em 0;
	font-size:180%;
	font-weight:bold;
}
.concept .content-header-title .text-box {
	padding:0.5em 2em;
	font-weight:bold;
	border:1px solid #fff;
}

@media screen and (max-width:799px){
	.content-header.concept {
		padding-top:0;
	}
	.concept .content-header-title .head {
		font-size:240%;
	}
	.concept .content-header-title .text {
		font-size:120%;
	}
	.concept .content-header-title .text-box {
		padding:0.5em 1em;
		font-size:90%;
	}
}


/* ====================================================================
	concept - explain text
==================================================================== */
.cencept-explain {
	max-width:1400px;
	margin:0 auto;
	padding:4em 2em;
}
.cencept-explain p {
	font-size:120%;
	line-height:2.4;
	letter-spacing:0.05em;
}
.cencept-explain .strong {
	padding:0.5em 0;
	font-size:160%;
	font-weight:bold;
	color:#f00;
	filter:brightness(2)
}

@media screen and (max-width:799px){
	.cencept-explain {
		padding:2em;
	}
	.cencept-explain p {
		font-size:100%;
		line-height:1.8;
	}
	.cencept-explain .strong {
		font-size:125%;
	}
}


/* ====================================================================
	concept - order program
==================================================================== */
.order-program {
}

.order-program-title {
	order:2;
}
.order-program-title .title {
	flex-direction:column;
	align-items:center;
	font-size:120%;
	padding:4em 0;
}
.concept-title .title .ja{
	padding:0;;
}


.order-program .flex {
	max-width:1600px;
	padding:2em;
}
.order-program .flex > .image {
	width:40%;
}
.order-program .flex > .text {
	width:calc(100% - 40% - 3em);
}

.order-program .flex h4 {
	font-size:180%;
	font-weight:bold;
	letter-spacing:0.05em;
	padding-bottom:0.5em;
	filter:brightness(1.1);
}
.order-program .flex p {
	font-size:120%;
	letter-spacing:0.05em;
	line-height:2;
}
.order-program .flex p em {
	color:#fc0;
	padding-bottom:0.1em;
	background:linear-gradient( 0deg ,#fe9 15% ,transparent 20% );
}


.for-mens.flex {
	order:1;
}
.for-mens.flex h4 {
	color:#9cf;
}

.for-ladies.flex {
	order:3;
}
.for-ladies.flex h4 {
	color:#f9c;
}

@media screen and (max-width:799px){
	.order-program .flex {
		padding:2em 1em;
		flex-direction:column-reverse !important;
	}
	.order-program .flex > .image {
		width:100%;
		padding:2em;
	}
	.order-program .flex > .text {
		width:100%;
	}

	.order-program .flex h4 {
		font-size:130%;
	}
	.order-program .flex p {
		font-size:100%;
	}

	.order-program-title {
		order:1;
	}
	.order-program-title .title {
		padding:2em 0 0;
		text-align:center;
	}
}



/* ====================================================================
	concept - attribute
==================================================================== */
.cencept-attribute {
	padding-top:4em;
	color:#9cf;
	line-height:2;
	letter-spacing:0.1em;
	text-align:center;
	filter:brightness(1.1);
}
.cencept-attribute h4 {
	font-size:150%;
	font-weight:bold;
}
.cencept-attribute ul {
	padding-top:1em;
	display:inline-block;
}
.cencept-attribute ul li {
	font-size:130%;
	text-align:left;
}

@media screen and (max-width:799px){
	.cencept-attribute ul {
	}
	.cencept-attribute ul li {
		font-size:110%;
		padding:0.5em 0;
		text-indent:-0.6em;
		padding-left:0.6em;
	}
}



/* ====================================================================
	concept - step
==================================================================== */
.cencept-step {
	padding-top:4em;
}
.cencept-step h4 {
	font-size:150%;
	font-weight:bold;
	color:#06f;
	line-height:2;
	letter-spacing:0.1em;
	text-align:center;
	filter:brightness(1.1);
}
.cencept-step ul {
	max-width:1800px;
	margin:0 auto;
	padding:2em;
}
.cencept-step ul li {
	padding:1em 1.5em;
}

.cencept-step ul li .image {
	padding:0 2em;
}

.cencept-step ul li .head {
	padding-top:1em;
	font-weight:bold;
}
.cencept-step ul li .head > .left {
	padding-right:0.5em;
	line-height:1.1;
    font-family: 'termina' ,'Noto Sans JP' ,sans-serif;
}
.cencept-step ul li .head > .left .number {
	font-size:300%;
	-webkit-text-stroke:2px;
	letter-spacing:0.05em;
}
.cencept-step ul li .head > .left .label {
	font-size:130%;
	color:#06f;
}

.cencept-step ul li .head > .right {
	padding-left:0.5em;
	border-left:0.2em solid #06f;
}
.cencept-step ul li .head > .right h5 {
	font-size:160%;
	line-height:1.2;
}

.cencept-step ul li .text {
	padding-top:1em;
	line-height:2;
	font-size:110%;
}


@media screen and (max-width:799px){
	.cencept-step ul.flex {
		flex-direction:column;
	}
	.cencept-step ul.flex.col3 > * {
		width:100%;
	}
}


/* ====================================================================
	concept - healthy eating
==================================================================== */
.concept-eating .recruit-point.flex {
	max-width:1800px;
	margin:0 auto;
	padding:4em 2em;
}
.concept-eating .recruit-point.flex > .cell {
	text-align:center;
}
.concept-eating .recruit-point.flex > .cell > h4 {
	order:1;
	padding-bottom:0.5em;
	color:#9f0;
}

.concept-eating .cencept-explain h4 {
	padding-bottom:1em;
	font-size:150%;
	font-weight:bold;
	color:#9f0;
	line-height:2;
	letter-spacing:0.1em;
	text-align:center;
}


@media screen and (max-width:799px){
	.concept-eating .cencept-explain h4 {
		font-size:120%;
	}
}


/* ====================================================================
	concept - after stretch
==================================================================== */
.concept-after h4 {
	padding-bottom:1em;
	font-size:150%;
	font-weight:bold;
	color:#6cf;
	line-height:2;
	letter-spacing:0.1em;
	text-align:center;
}

@media screen and (max-width:799px){
	.concept-after h4 .sub {
		display:inline-block;
		line-height:1.6;
		font-size:70%;
	}
}



/* ====================================================================
	concept - empty-handed
==================================================================== */
.concept-empty-handed {
}

.empty-handed-images.flex.col3 {
	padding:2em 1em 4em;
}
.empty-handed-images.flex.col3 > li {
	padding:0.5em;
}

.concept-empty-handed .cencept-explain .strong {
	color:#6cf;
	text-align:center;
	filter:brightness(1);
}




/* ========================================================================================================================================
	top-ad recreate
======================================================================================================================================== */
.top-ad.flex {
	max-width:1680px;
	margin:0 auto;
	padding:0 1em;
}
.top-ad-cell {
	padding:0 1em;
}

.top-ad-cell .image {
	background:#fff;
}
.top-ad-cell .image a {
	display:block;
}
@media screen and (min-width:800px){
	.top-ad-cell .image a:hover {
		opacity:0.8;
	}
}

.top-ad-cell .text {
	position:relative;
	width:90%;
	min-width:350px;
	margin:-1.8em auto 0;
	padding:2em 5%;
	background:rgba(0,0,0,0.6);
}
.top-ad-cell .text > .head {
	position:absolute;
	top:-1.5em;
	left:-1em;
	width:50%;
	min-width:240px;
	padding:0 1.5em;
	letter-spacing:0.1em;
	color:#fff;
	outline:2px solid rgba(0,0,0,0.8);
}
.top-ad-cell.cell-1 .text > .head {
	background:rgba(0,0,153,0.8);
}
.top-ad-cell.cell-2 .text > .head {
	background:rgba(153,0,0,0.8);
}
.top-ad-cell.cell-3 .text > .head {
	background:rgba(153,102,0,0.8);
}
.top-ad-cell .text > .head span {
	font-size:170%;
	font-weight:bold;
}

.top-ad-cell .text > h3 {
	font-weight:bold;
}
.top-ad-cell .text > h3 > span {
	display:block;
}
.top-ad-cell .text > h3 > span.r {
	text-align:right;
}

.top-ad-cell .text > .body {
	padding-top:1em;
	height:6em;
}
.top-ad-cell .text > .body p {
	font-size:95%;
	line-height:1.8;
}

.top-ad-cell .button {
	text-align:center;
}

.top-ad-cell .button a {
	width:auto;
	padding:0.5em 1em;
	color:#fff;
	font-size:90%;
	font-weight:bold;
	line-height:1;
	border-radius:0.5em;
}
.top-ad-cell.cell-1 .button a {
	background:#f0e;
}
.top-ad-cell.cell-2 .button a {
	background:#096;
}
.top-ad-cell.cell-3 .button a {
	background:#f60;
}


.top-ad-cell a {
	transition:all 0.2s ease;
	-webkit-transition:all 0.2s ease;
	cursor:pointer;
	opacity:0.9;
}

@media screen and (min-width:800px){
	.top-ad-cell a:hover {
		opacity:1;
		box-shadow:0 0 0.5em #096;
	}
}
@media screen and (max-width:799px){
	.top-ad.flex {
		flex-direction:column;
	}
	.top-ad.flex.col3 > * {
		width:100%;
		padding-bottom:2em;
	}
}


/* ====================================================================
	top-ad #apply
==================================================================== */
#apply {
	text-align:center;
}
#apply .top-ad-cell {
}
#apply .top-ad-cell .button {
	padding-top:2em;
}
#apply .top-ad-cell .button a {
	min-width:60%;
	font-size:120%;
}
#apply .top-ad-cell .text {
	width:100%;
	margin:0 auto;
	padding:1em 1em 2em;
	background:#333;
}
#apply .top-ad-cell .text > .head {
	position:relative;
	top:0;
	left:0;
	width:100%;
	text-align:center;
}
#apply .top-ad-cell .text > .head span {
	font-size:150%;
}
#apply .top-ad-cell .text > .body {
	padding:1.5em 2em 0;
}


#apply .top-ad-cell.cell-1 .text > .head ,
#apply .top-ad-cell.cell-1 .button a {
	background:#00c;
}
#apply .top-ad-cell.cell-2 .text > .head ,
#apply .top-ad-cell.cell-2 .button a {
	background:#090;
}
#apply .top-ad-cell.cell-3 .text > .head ,
#apply .top-ad-cell.cell-3 .button a {
	background:#c06;
}


@media screen and (max-width:799px){
	#apply {
		padding-left:1em;
		padding-right:1em;
	}

	#apply .top-ad-cell .text > .body {
		padding:1em 1em 0;
	}
}


#apply .top-ad-cell .text > .body.flex {
	height:10em;
}
#apply .top-ad-cell .text > .body.flex > p {
	width:60%;
}
#apply .top-ad-cell .text > .body.flex > .qr img {
	height:8em;
}
@media screen and (max-width: 799px){
	#apply .top-ad-cell .text > .body.flex {
		display:block;
		height:auto;
	}
	#apply .top-ad-cell .text > .body.flex > p {
		width:100%;
	}
}



/* ====================================================================
	spotlight
==================================================================== */
.spotlight {
	cursor:pointer;
}
.spotlight img {
	filter:grayscale(0.2) brightness(1);
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}

@media screen and (min-width:800px){
	.spotlight:hover img {
		filter:grayscale(0) brightness(1.1);
	}
}

body #spotlight .header {
	height:60px;
	transform:translateY(0);
}
body #spotlight .header div {
	width:80px;
	height:60px;
	padding-top:20px;
	opacity:0.8;
}
body #spotlight .icon {
	background-size:40px;
}

body #spotlight .arrow {
	filter:invert(1);
	opacity:0.8;
}




/* ====================================================================
	media
==================================================================== */
.media {
	max-width:1800px;
	margin:0 auto;
	padding:0 0 6em;
	font-size:90%;
}
.media.w1400 {
	max-width:1400px;
	padding-bottom:0;
}

.media .subTitle {
	color:#fc0;
	font-size:210%;
	font-weight:600;
	font-family:'termina' ,'Noto Sans JP' ,sans-serif;
	text-align:center;
}

.media-banner {
	max-width:1600px;
	margin:0 auto;
	padding:1em 3em 2em;
	display:flex;
	justify-content:center;
	align-items:center;
}

.media-banner a {
}
.media-banner a .head {
	display:block;
	padding-top:0.3em;
	font-size:120%;
	text-align:center;
}
@media screen and (min-width:800px){
	.media-banner a:hover {
		filter:brightness(1.05);
		box-shadow:0 0 0 0.6em #666;
		background:#666;
	}
}

.media-video-list.flex {
	padding:0 1em;
	flex-wrap:wrap;
	justify-content:flex-start;
}
.media-video-cell {
	padding:1.5em;
}
.media-video-cell > .iframe {
	position:relative;
	width:100%;
}
.media-video-cell > .iframe:before {
	content:"";
	display:block;
	width:100%;
	height:0;
	padding-top:calc(100% / 560 * 315);
}
.media-video-cell > .iframe > iframe {
	position:absolute;
	display:block;
	top:0;
	left:0;
	width:100% !important;
	height:100% !important;
}

.media-video-cell .label {
	padding-top:0.3em;
}

.media .news-list {
	max-width:1300px;
}
.media .news-list-cell .title.flex > .head {
	text-align:left;
	padding-right:0;
}

@media screen and (max-width:799px){
	.media {
		padding:0 0 4em;
		font-size:80%;
	}
	.media .subTitle {
		padding:0;
	}

	.media-banner a .head {
		font-size:100%;
	}

	.media-video-list.flex.col4 > li {
		width:50%;
		padding:0.5em;
	}
	.media-video-list.flex.col4 > li .label {
		line-height:1.6;
	}
	.media .news-list-cell .flex {
		align-items:flex-start;
	}
	.media .news-list-cell .date {
		font-size:120%;
		text-align:left;
	}
	.media .news-list-cell .title.flex > .head {
		padding-left:0.5em;
	}
}




/* ========================================================================================================================================
	2023.10 overload
======================================================================================================================================== */


@media screen and (max-width:799px){
	#page-concept .content-header .bg > img {
		object-position:55%;
	}
	#page-concept .content-header .bg.traning-method-header > img {
		object-position:52%;
	}
	#page-concept .concept-after .content-header .bg {
		height:20vh;
	}
	#page-concept .concept-after .content-header .bg > img {
		object-position:44%;
	}

	#page-trainer .content-header .bg > img {
		object-position:55%;
	}

}










