/*--------------------------
マッキートレ
mackytr.com
2022-11-24
--------------------------*/
@charset "UTF-8";

/*------------------------
A Modern CSS Reset
------------------------*/
/* Box sizingの定義 */
*, *::before, *::after	{ box-sizing: border-box; }
/* デフォルトのpaddingを削除 */
ul[class], ol[class]	{ padding: 0; }
/* デフォルトのmarginを削除 */
body, 
h1, h2, h3, h4, h5, h6,
ul[class], ol[class], li,
figure, figcaption, blockquote, dl	{ margin: 0; }
/* bodyのデフォルトを定義 */
body {
	min-height: 100vh;
	scroll-behavior: smooth;
	text-rendering: optimizeSpeed;
}
/* class属性を持つul、ol要素のリストスタイルを削除 */
ul[class], ol[class]	{ list-style: none; }
/* classを持たない要素はデフォルトのスタイルを取得 */
a:not([class])	{ text-decoration-skip-ink: auto; }
/* img要素の扱いを簡単にする */
img	{ max-width: 100%; margin: auto; }
img	{ display: block; }
/* iframe */
iframe	{ max-width: 100%; margin: auto; }
iframe	{ display: block; }
/* Natural flow and rhythm in articles by default */
/* article要素内の要素に自然な流れとリズムを定義 
article > * + * { margin-top: 1em; }
*/
/* inputやbuttonなどのフォントは継承を定義 */
input, button, textarea, select	{ font: inherit; }
 
/* Remove all animations and transitions for people that prefer not to see them */
/* 見たくない人用に、すべてのアニメーションとトランジションを削除 */
@media (prefers-reduced-motion: reduce) {
	* {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}


/*----------------------
Inview
----------------------*/
/*
.effect		{ overflow: hidden; }
*/
.ef-fade,
.ef-fade01,
.ef-zoom,
.ef-rotate	{ transition: .6s; }
.ef-fade:nth-child(even)	{ transition: .9s; }
.ef-fade:nth-child(3)	{ transition: 1.2s; }
.ef-fade	{ opacity: 0; transform: translate(0, 60px); -webkit-transform: translate(0, 60px); }
.fade		{ opacity: 1; transform: translate(0, 0); -webkit-transform: translate(0, 0); }
.ef-fade01	{ opacity: 0; }
.fade01		{ opacity: 1; }
.ef-zoom	{ transform: scale(0, 0); -webkit-transform: scale(0, 0); }
.zoom		{ transform: scale(1, 1); -webkit-transform: scale(1, 1); }
.ef-rotate	{ transform: rotateY(0deg); -webkit-transform: rotateY(0deg); }
.rotate		{ transform: rotateY(360deg); -webkit-transform: rotateY(360deg); }


/*----------------------
Customize
--------------------- */
html { scroll-behavior: smooth; }

body {
	color: #334;
	font-size: 1rem;
	line-height: 1.5;
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;	/* mobile safariの自動文字サイズ調整をoffにする */
	-webkit-tap-highlight-color: transparent;	/* モバイルでタッチ時のハイライトカラーを消す */
	-webkit-font-smoothing: antialiased;	/* 文字のアンチエイリアスをきれいに表示 */
	-moz-osx-font-smoothing: grayscale;
}
/*
section	{ background-color: transparent; }
section	{ background-color: rgba(255,255,255,1); }
section:nth-child(odd)	{ background-color: rgba(255,248,230,.7); }
section:nth-child(even) .grid	{ direction: rtl; }
section:nth-child(even) .grid > *	{ direction: ltr; text-align: start; }
*/

a		{ text-decoration: none; }
a:hover	{ text-decoration: underline; }

h1 span,
h2 span,
h3 span,
h4 span	{ display: inline-block; }

table	{ border-collapse: collapse; }

/*----------------------
⭐カラー調整
----------------------*/
body	{ color: #333; background-color: #ddc3; }
section:nth-child(even) { position: relative; }
section:nth-child(even):before	{ content: ''; position: absolute; width: 100%; height: 100%; background-color: #f9f9d4; z-index: -1; }
/*a	{ color: #fff; }*/
/*h1,h2	{ color: #fff; }*/
/*h3	{ color: #fff; }*/
/*h4	{ color: #fff; }*/
/*section.timothy	{ background: #f7f2e7 url(bg01.png) no-repeat 50% 100% / contain; background-attachment: inherit; }*/
section.accent	{ background: #f7f2e7 url(bg03.jpg) no-repeat 50% 50%; background-size: cover; }
section.accent.org	{ background: #f7f2e7 url(bg04.jpg) no-repeat 50% 50%; background-size: cover; }
section.timothy	{ background: #f7f2e7 url(bg01.png) no-repeat 0% 100%; background-size: cover; }
section.timothy.rvs	{ background: #f7f2e7 url(bg01rvs.png) no-repeat 100% 0%; background-size: 100%; }

/*----------------------
	light
--------------------- */
section.light	{ background-color: #f8f8f4; }

/*----------------------
	Dark
--------------------- */
section.dark	{ color: #eee; background-color: #357; }

/*----------------------
	Form
----------------------*/
input[type="text"],
input[type="email"],
input[type="password"],
textarea	{ width: 100%; max-width: 800px; }
textarea	{ height: 9em; }

input[type="submit"] {
	margin: 1rem auto;
	padding: .6rem 1.2rem;
	color: #fff;
	cursor: pointer;
	border: none;
	border-radius: .2rem;
	background-color: #06c;
	transition: .3s;
	-webkit-appearance: none;
}
input[type="submit"]:hover { background-color: #39f; }

/*----------------------
※印つき<ul>、<ol>リスト
----------------------*/
ul.asterisk		{margin-top: 1em; }
ul.asterisk li	{padding-left: 1em; text-indent: -1em; }
ul.asterisk li:before { content: '※'; display: inline; }
ol.asterisk		{ counter-reset: number; }
ol.asterisk li:before { content: "※"counter(number)" "; counter-increment: number; }

/*----------------------
矢印つき<ul>リスト
----------------------*/
ul.arrow	{margin-top: 1em; }
ul.arrow li	{padding-left: 1em; text-indent: -1em; }
ul.arrow li:before { content: '\f138'; font-family: forkawesome; padding-right: .5em; opacity: .3; }


/*----------------------
	共通要素
--------------------- */
.inner {
	max-width: 1200px;
	margin: auto;
	padding: 2em 1em;
}
.inner > * + h2	{ margin-top: 4rem; }
.inner > h2 + *	{ margin-top: 2rem; }
.inner > * + h3	{ margin-top: 3rem; }
.inner > h3 + *	{ margin-top: 1rem; }
.inner > * + h4	{ margin-top: 3rem; }
.inner > h4 + *	{ margin-top: 1rem; }
.inner > * + h5	{ margin-top: 2rem; }
.inner > h5 + *	{ margin-top: 1rem; }

.sectitle	{ display: flex; flex-flow: column; justify-content: center; text-align: center; }
.sectitle	{ min-height: 20vh; background: url(../images/gym01.jpg) no-repeat 50% 50% / cover; }
.sectitle	{ border-top: 5px solid #d0c190; }

.sectitle	{ position: relative; }
.sectitle:before	{
	position: absolute; width: 100%; height: 100%;
	background-color: #0004;
	/*-webkit-backdrop-filter: grayscale(20%) blur(1px);*/
/*	backdrop-filter: grayscale(20%) blur(1px);*/
	backdrop-filter: blur(5px);
	content: '';
}
.sectitle > *	{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	color: #fff;
	z-index: 1;
}
.sectitle h2	{ font-size: .8em; font-weight: normal; }
/*
.sectitle	{ margin-bottom: 1em; color: #1968a6; font-size: 1.2em; text-align: center; }
*/

.hmsg	{
	margin: .5rem .5rem 3rem;
	padding: .5em 0;
	color: #fff;
	background-color: #04676aaa;
/*	font-family: 游明朝, YuMincho, serif;*/
	text-align: center;
	text-shadow: #3339 0 2px 6px;
	box-shadow: 0 0 15px 3px rgb(0 32 64 / 20%);
}

.bar	{ text-align: center; }
.bar:after	{ content: ''; display: block; margin: .5em auto 0; height: 1px; background-color: #333; }

.cbar	{ text-align: center; }
.cbar:after	{ content: ''; display: block; margin: .5em auto 0; height: 3px; background-color: #d0c190; border-radius: 1em; }
.cbar span	{ display: block; font-size: .9rem; font-weight: normal; letter-spacing: .5rem; }

.more	{ max-width: 280px; margin: 2rem auto; text-align: center; }
.more a { display: inline-block; padding: .5rem 2rem; }
.more a { color: #fff; background-color: #36d; border-radius: 3em; transition: .2s; }
.more a:hover { background-color: #039; text-decoration: none; }

.morebtn	{ display: inline-block; padding: .5rem 1rem; }
.morebtn	{ color: #fff; background-color: #06c; border-radius: 3em; transition: .2s; }
.morebtn:hover { background-color: #39f; text-decoration: none; }

/* Grid */
.grid	{
	margin: 0 auto;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	grid-gap: 1em;
	align-items: stretch;
	list-style-type: none;
}
.grid > *	{
	position: relative;
	padding: .5rem;
	color: #333;
	background-color: rgba(255,255,255,.8);
	border-radius: .3em;
	box-shadow: 0 0 18px rgba(0,0,0,.3);
	list-style-type: none;
}
.grid.shadow{ box-shadow: none; }
.grid.shadow > *	{ padding: .5rem; box-shadow: 0 0 10px rgba(0,0,0,.1); }
.grid.rvs	{ direction: rtl; }
.grid.rvs > *	{ direction: ltr; text-align: start; }
.grid.plain	{}
.grid.plain > *,
.grid .none	{ padding: 0; color: inherit; background: none; box-shadow: none; overflow-wrap: break-word; }
.grid .img	{ text-align: center; }
.grid img	{ margin: auto; display: block; max-width: 100%; }
.grid span	{ display: block; margin-top: .5rem; text-align: center; }
/*.grid p		{ font-size: .9em; }*/
.grid h3	{ text-align: center; }
.grid h3 span	{ display: block; margin-top: 0; font-size: 1rem; }
.grid h3:after	{
	content: '';
	display: block;
	margin: .5em auto 0;
	height: 3px;
	border-radius: 1em;
	background-color: #d0c190;
}
.grid h4	{ font-size: 1.4rem; text-align: center; }
.grid h4 span	{ display: block; margin-top: 0; font-size: 1rem; }
.grid h4:after	{
	content: '';
	display: block;
	margin: .5rem auto;
/*	width: 20%;*/
	height: 3px;
	border-radius: 1em;
	background-color: #61AFA0;
}

.flex	{
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	grid-gap: 2rem;
}
.flex.vc	{ align-items: center; }
.flex.rvs	{ flex-direction: row-reverse; }
.flex .img	{ flex: 1 0 auto; max-width: 50%; }

.flex+.flex,
.flex+.grid,
.grid+.flex,
.grid+.grid	{ margin-top: 1.5rem; }

.stampcard,
.free_trial,
.recommend	{ position: relative; }
.stampcard:before,
.free_trial:before,
.recommend:before	{ content: ''; position: absolute; top: -5px; right: -5px; aspect-ratio: 1/1; width: 40%; max-width: 100px; }
.stampcard:before	{ background-image: url(stampcard.svg); opacity: 1; }
.free_trial:before	{ background-image: url(free_trial.svg); opacity: 1; }
.recommend:before	{ background-image: url(recommend.svg); }

.note	{ padding: .75em; border: 3px solid #666; }
.note.red	{ border: 3px solid #e33; }
.note ul	{ margin: 0; padding-left: 1.5em; }
.note li+li	{ margin-top: .5em; }
.note strong{ color: #e00; }

.textbox	{ width: 100%; max-width: 680px; margin: 2em auto; }

.mbo	{ display: initial; }
.pco	{ display: none; }

.b	{ font-weight: bold; }
.bb	{ font-weight: bold; color: #000; font-size:1.2em; }

.xs	{ font-size: .6rem; }
.s	{ font-size: .8rem; }
.m	{ font-size: 1rem; }
.lg	{ font-size: 1.1rem; }
.xl	{ font-size: 1.2rem; }

.l	{ text-align: left;  }
.r	{ text-align: right; }
.c	{ text-align: center; }
.vt	{ vertical-align: top; }

.caution	{ color: #c00; }
.red	{ color: #e00; }
.grn	{ color: #393; }
.date	{ color: #393; }
.url	{ color: #393; word-break: break-all; }

.indent	{ padding-left: 1em; text-indent: -1em; }

.marker,
.marker.yellow	{ background: linear-gradient(transparent 60%, #ffff66 60%); }	/* 黄色 */
.marker.lime	{ background: linear-gradient(transparent 60%, #66FFCC 60%); }	/* 黄緑色 */
.marker.water	{ background: linear-gradient(transparent 60%, #66ccff 60%); }	/* 水色 */
.marker_pink	{ background: linear-gradient(transparent 60%, #ff66ff 60%); }	/* 桃色 */

/*----------------------
	Muscle Icon
----------------------*/
.icn_m	{ position: relative; margin: 1em auto; max-width: 96px; }
.icn_m:before	{ position: absolute; top: 0; display: block; width: 100%; height: 100%; }
.icn_m:before	{ content: ''; background-color: #6dd1d4; border-radius: 100%; }
.icn_m:before	{ background-color: #6d83d4; }
.icn_m img	{ position: relative; padding: 16px; }

/*----------------------
	SNS Icon
----------------------*/
.sns { display: flex; justify-content: center; gap: .5em; }
.sns a	{
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
	width: 50px;
	aspect-ratio: 1/1;
	font-size: 30px;
	color: #fff;
	background-color: rgba(0,0,0,.2);
	border-radius: 50px;
	transition: .2s;
}
.sns a:hover	{ transform: scale(1.2); text-decoration: none; }
.sns i	{ display: none; }
.sns .instagram	{ background-image: url(gradient-768x768.jpg); background-size: cover; }
.sns .facebook	{ background-color: #1977f1; }
.sns .youtube	{ background-color: #f00; }
.sns .twitter	{ background-color: #1DA1F2; }
.sns .envelope	{ background-color: #6c9; }
.sns .website	{ background-color: #f90; }
.sns .website2 	{ background-color: #f60; }

.sns .instagram:before	{ content: '\f16d'; font-family: forkawesome; margin-top: 2px; }
.sns .facebook:before	{ content: '\f09a'; font-family: forkawesome; margin-top: 2px; }
.sns .youtube:before	{ content: '\f16a'; font-family: forkawesome; margin-top: 2px; }
.sns .twitter:before	{ content: '\f099'; font-family: forkawesome; margin-top: 2px; }


/*----------------------
	アイコン付加
----------------------*/
a[href$=".pdf"]:after	{ content: '\f1c1'; font-family: forkawesome; margin-left: .5em; opacity: .7; }
a[href$=".docx"]:after,
a[href$=".doc"]:after	{ content: '\f1c2'; font-family: forkawesome; margin-left: .5em; opacity: .7; }
a[href$=".xlsx"]:after,
a[href$=".xls"]:after	{ content: '\f1c3'; font-family: forkawesome; margin-left: .5em; opacity: .7; }
a[href$=".zip"]:after	{ content: '\f1c6'; font-family: forkawesome; margin-left: .5em; opacity: .7; }
a[href^="mailto:"]:after{ content: '\f0e0'; font-family: forkawesome; margin-left: .5em; opacity: .7; }
/*
a[href^="http"]:after	{ content: '\f08e'; font-family: forkawesome; margin-left: .5em; opacity: .7; }
*/
/* No Icon */
.no_icon:after {
	content: '' !important;
	margin-left: 0 !important;
}

/*----------------------
コンテンツ幅に応じて中央に
----------------------*/
.fit-center	{ margin-left: auto; margin-right: auto; width: fit-content; }

/*----------------------
レスポンシブ対応（横スクロール）
<div class="scroll-table">
	<table>〜</table>
</div>
----------------------*/
.scroll-table {
	overflow: auto;
	white-space: nowrap;
}

/*----------------------
	テーブル要素
----------------------*/
table.solid		{ margin: 1em 0; }
table.solid th,
table.solid td	{ padding: .5em .5em; border: 1px solid #9996; }
table.solid th	{ font-weight: normal; background-color:#f3f3e8; }
table.solid .d	{ text-align: center; background-color:#e7f3fa; }
table.solid .e	{ text-align: center; background-color:#fffff0; }

table.noline	{ margin: 1em 0; }
table.noline th,
table.noline td	{ padding: .5em .8em; vertical-align: top; }
table.noline .d	{ white-space: nowrap; text-align: center; background-color: #f0f0f0; }


/*----------------------
	画像関連
----------------------*/
.phbox {
	padding: .5rem;
	color: #333;
	background-color: rgba(255,255,255,1);
	border-radius: .3em;
}
.phbox_c,
.phbox_r,
.phbox_l,
.phbox_nc,
.phbox_nr,
.phbox_nl	{
	display: flex;
	justify-content: center;
	text-align: center; color: #666; font-size: .8em;
}
.phbox_c p,
.phbox_r p,
.phbox_l p	{ padding: 1em; box-shadow: 0 0 16px 0px rgba(0,0,0,.2); }


/*----------------------
	YouTube
----------------------*/
.youtube iframe	{ display: block; width: 100%; height: auto; max-width: 800px; aspect-ratio: 16/9; }


/*----------------------
	Googlemap
----------------------*/
.googlemap iframe	{ display: block; width: 100%; height: auto; max-width: 800px; aspect-ratio: 16/9; }


/*-- Flex list with box-shadow --*/
.flexs	{ margin: 1em auto;; padding: 0; list-style-type: none; }
.flexs	{ display: flex; flex-wrap: nowrap; justify-content: center; }
.flexs li	{ padding: 1em; box-shadow: 0 0 16px 0px rgba(0,0,0,.2); }
.flexs li	{ flex: 1 0 auto; }
.flexs li+li	{ margin-left: 1em; }
.flexs .phbox	{ color: #666; font-size: .8em; text-align: center; }


/*----------------------
	等幅リスト（dl）
----------------------*/
.ttlist	{}
.ttlist dt,
.ttlist dd	{ float: left; display: inline-block; }
.ttlist dt	{ width: 6em; height: 1em; text-align: justify; clear: left; }
.ttlist dt:after { content: ''; display: inline-block; width: 100%; }
.ttlist dd	{ width: 7em; text-align: center; }

/*----------------------
	Telephone
----------------------*/
.telephone	{ margin: 1em auto; max-width: 640px; }



/*----------------------
	Header
----------------------*/
.header {
	background-color: #735fa6;
	width: 100%;
	z-index: 10;
/*
	position: sticky;
	top: 0;
	transition: .3s;
*/
}
.header .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: .5rem;
/*
	position: relative;
	background: #36c url(header.jpg) no-repeat center top;
	background: linear-gradient(to bottom,#004077,#0068B7 30%,#00A0E9);
	background: linear-gradient(to bottom,#333077,#3348a7,#33A0E9);
*/
}
.header .logo	{}
.header .logo a {
	display: block;
	width: 60vw;
	max-width: 300px;
	aspect-ratio: 3 / 1;
	background: url(logo3x1.png) no-repeat 50% 50% / cover;
	object-fit: contain;
	text-indent: -9999px;
	transition: .2s;
/*
	height: 20vw; max-height: 70px;
	aspect-ratio: 297 / 105;
	background-image: url(logo297x105-dark.svg);
	background-size: cover;
*/
}
.header .logo a:hover	{ transform: scale(1.05); text-decoration: none; }
.header .sns a	{ width: 30px; font-size: 18px; }

/*----------------------
	Fixed → Sticky
------------------------
.header.fixed { position: sticky; top: 0; }	モバイル表示でfixされない！
----------------------*/
.header.fixed { display: block; position: fixed; top: 0; }
.header.fixed {
	background-image: none;
	background-color: rgba(255, 255, 255, .5);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}
.header.fixed .logo a	{ max-width: 240px; }
.header.fixed .dr-open	{ background-image: url(menu-light.svg); }	/* ドロワーボタン */
.header.fixed+*	{ margin-top: 90px; }
/*
.header.fixed+section { margin-top: 100px; }
*/
/*----------------------
	Mobile Navigation
	and
	Navigation Drawer
----------------------*/
.nav-sp	{ display: flex; align-items: center; gap: .5em; }
.nav-btn	{	/* ボタン共通 */
	display: block;
	width: 12vw; max-width: 60px;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	text-indent: -9999px;
	background-image: url(base.svg);
	cursor :pointer;
	transition: .2s;
/*
	width: 15vw; max-width: 50px;
	height: 15vw; max-height: 50px;
	background: url(base.svg) no-repeat 50% 50% / contain;
	border-radius: 3px;
	z-index: 2;
*/
}
.nav-btn:hover	{ transform: scale(1.1); text-decoration: none; }

.nav-info	{ background: url(info.svg) no-repeat 50% 50% / contain; }	/* お知らせボタン */
.dr-open	{ background: url(menu-dark.svg) no-repeat 50% 50% / contain; }	/* ドロワーボタン */
.dr-close,
.dr-content	{ position: fixed; top: 0; width: 100vw; height: 100vh; transition: .3s; }
.dr-close	{ left: 0; background-color: #000; z-index: 99; opacity: 0; }	/* 閉じる用の薄黒カバー（全体） */
.dr-close	{ display: none; }	/* 初期は非表示 */
.dr-content	{ background-color: #735fa6; z-index: 9999; overflow: auto; }	/* ドロワーコンテンツ（最前面） */
.dr-content	{ right: 0; transform: translateX(105%); }	/* 右に隠しておく */
/*
.dr-content	{ left: 0; transform: translateX(-105%); }	/* 左に隠しておく */
.dr-unshown	{ display: none; }	/* チェックボックス等は非表示に */

#nav-drawer	{}
#nav-drawer .dr-content { width: 80%; max-width: 400px; padding: 1.5em; }
#nav-drawer .dr-content label {
	display: block;
	padding: 1em;
	color: #fff;
	cursor :pointer;
}
#nav-drawer .dr-content a	{ display: block; padding: 1em; color: #fff; transition: .2s; }
#nav-drawer .dr-content a:hover	{ background-color: #3b2d5f; text-decoration: none; }
/* 下階層 */
#nav-drawer .dr-content ul	{ margin: 0; padding: 0; display: block; }
#nav-drawer .dr-content ul	{ background-color: rgba(0, 0, 0, .1); border-bottom: thin solid rgba(255,255,255,.3); }
#nav-drawer .dr-content li	{ padding-left: 2em; line-height: 1.0; list-style-type: none; }
#nav-drawer .dr-content li	{ height: 0; overflow: hidden; transition: .4s; }
#nav-drawer .dr-content span	{ display: none; }
/* アコーディオン */
#nav-drawer .dr-content .accordion	{ display: none; }
#acc-box:checked ~ #acc-box-sub li	{ height: 3em; opacity: 1; }
.acc-none	{ border-bottom: thin solid rgba(255,255,255,.2); }
/* SNS */
#nav-drawer .dr-content .sns	{ position: initial; display: flex; background-color: transparent; }
#nav-drawer .dr-content .sns li	{ padding: 1rem 0; line-height: initial; }
#nav-drawer .dr-content .sns li	{ height: auto; }
#nav-drawer .dr-content .sns a	{ display: flex; padding: 0; }
/* スライドメニュー */
#nav-input:checked ~ .dr-close	{ display: block; opacity: .7; }	/* ✓→漆黒カバー */
#nav-input:checked ~ .dr-content{ transform: translateX(0%); box-shadow: -6px 0 25px rgba(0,0,0,.5); }	/* ✓→スライドメニュー */
#nav-input:checked ~ .header.fixed { bottom: 0; }


/*----------------------
	PC Navigation
----------------------*/
/*
.nav-pc	{ display: none; }
.nav-pc	{ position: absolute; top: 90px; right: 1em; }
.nav-pc ul	{ margin: 0; padding: 0; }
.nav-pc li	{
	list-style-type:none;
	float:left;
	width: 90px;
	height: 30px;
	margin-right: 8px;
	font-size: 12px;
	line-height: 30px;
	text-align: center;
	font-weight: bold;
	background-color: #963;
	background-color: #0b7d0b;
	border-radius: .5em .5em 0 0;
}
.nav-pc a	{ display: block; color: #fff; transition: .3s }
.nav-pc a:hover	{ color: #fc0; text-decoration: none; }
*/
.nav-pc ul	{ margin: 0; padding: 1em; list-style-type: none; }
.nav-pc ul	{ display: flex; flex-wrap: wrap; justify-content: center; gap: 1em 1.5em; }
.nav-pc a	{ display: block; color: inherit; transition: .2s }
.nav-pc a:hover	{ text-decoration: none; opacity: .8; }


/*-----------------------------
	footer
-----------------------------*/
.footer	{ font-size: 1rem; }
.footer .inner	{}
.footer .address{ padding: 1rem; border: 1px solid rgba(255,255,255,.3) }
.footer .nav-pc	{ color: #fff; background-color: #735fa6; }
/*.footer .nav-pc ul	{ font-size: 12px; }*/
.footer .nav-pc span	{ display: none; }
.footer .cprt	{ padding: 1rem; font-size: 12px; text-align: center; font-family: arial, sans-serif; }
.footer .cprt	{ color: #fff; background-color: #3b2d5f; }
.footer .grid	{ margin: auto; padding: 2em 1em; max-width: 1200px; }
.footer .grid span	{ display: inline-block; margin-top: 0; font-size: inherit; }

.footer .nav-foot	{}
.footer .nav-foot ul	{ margin: 0; padding: 0; list-style-type: none; }
.footer .nav-foot ul	{ display: flex; flex-wrap: wrap; gap: 2em; }
.footer .nav-foot li	{ flex: 1 0 auto; }
.footer .nav-foot li	{ display: flex; flex-direction: column; justify-content: center; }
.footer .nav-foot a		{ padding: .25rem 0; color: inherit; }
.footer .nav-foot a+a	{ border-top: thin solid rgba(255,255,255,.3); }
/*
.footer .nav-foot li:nth-child(1)	{ flex: 1 0 30%; }
.footer .nav-foot a:after	{ display: none; }
.footer .nav-foot img { display: block; margin: auto; }
*/

/*	2017-02-17
	Accordion - フッター部分に追加＆調整 */
/* アコーディオン効果 */
.footer .accordion { display: inline-block; padding-right: 1em; }
.footer .accordion label	{ position: relative; color: #fff; cursor: pointer; }
.footer .accordion input	{ display: none; }
.footer .accordion .cont	{ position: absolute; padding-left: 1em; background-color: #36c; overflow: hidden; }
.footer .accordion .cont	{ height: 0; }
.footer .accordion input:checked + .cont { height: auto; }
.footer .accordion ul		{ margin: 0; padding: 0; list-style: none; }


/*-----------------------------
	Page Top
-----------------------------*/
#pagetop { position: fixed; bottom: 1rem; right: 1rem; }
#pagetop {
	width: 4rem;
	aspect-ratio: 1/1;
	line-height: 1;
	font-size: 12px;
	text-align: center;
	color: white;
	background-color: orange;
	border-radius: 3em;
/*	z-index: 99;*/
}
#pagetop	{ display: flex; flex-flow: column; justify-content: center; align-items: center; }
/*#pagetop	{ opacity: .6; }*/
#pagetop a	{ display: block; width: 100%; padding: .5em 0 1em; color: inherit; text-decoration: none; }
#pagetop a:before { content: '\f106'; display: block; font-size: 200%; font-family: forkawesome; }


/*-----------------------------
	Booking
-----------------------------*/
.booking	{ display: flex; flex-flow: column; justify-content: center; text-align: center; }
.booking	{ padding: 3em 0; background: url(bg_lobby.jpg) 100% 65%; background-size: cover; }
.booking	{ position: relative; }
.booking:before	{
	position: absolute; width: 100%; height: 100%;
	background-color: #2203;
/*	-webkit-backdrop-filter: grayscale(20%) blur(3px);*/
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	content: '';
}
.booking > *	{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	color: #fff;
	z-index: 1;
}
.booking a	{ color: #fff; }
.booking .morebtn	{ margin-top: 1.5rem; padding: 1rem 2rem; font-size: 120%; }


/*-----------------------------
	Photo Gallery
-----------------------------*/
/*.gallery	{ background-color: #333; }*/
.gallery .inner { max-width: none; }
.gallery img { display: block; }


/*----------------------
	Links
----------------------*/
.links ul	{}
.links li	{}
.links a	{}
.links a span:nth-child(1)	{ margin-right: 1em; }
.links a span:nth-child(2)	{ display: inline-block; color: #393; word-break: break-all; }
.links a:hover	{ text-decoration: none; }
.links a:hover span:nth-child(1)	{ text-decoration: underline; }



/*----------------------
	Information CGI
----------------------*/
/*----------------------
	Tab Button & Box
----------------------*/
.tabBtn	{ display: flex; align-items: flex-end; grid-gap: 1px; margin: 2em 1em 0 !important; }
.tabBtn li a {
	position: relative;
	display: block;
	padding: .3em 1em;
	color: #fff;
	line-height: 2em;
	text-align: center;
	text-decoration: none;
}
.tabBtn li a.on	{ padding-top: .6em; }
.tabBtn li.all a	{ background-color: #e1963b; }	/* すべて */
.tabBtn li.c01 a	{ background-color: #405cc8; }	/* お知らせ */
.tabBtn li.c02 a	{ background-color: #3399cc; }	/* 活動報告 */
.tabBtn li.c03 a	{ background-color: #44ccaa; }	/* 未設定 */
.tabBtn li.c04 a	{ background-color: #99cc66; }	/* 未設定 */
.tabBtn li.etc a	{ background-color: #914d9c; }	/* その他 */

.tabBox { margin-top: 1em; }
.tabBox { margin-top: 0; }
.tabBox #all	{ border-color: #e1963b; }	/* すべて */
.tabBox #c01	{ border-color: #405cc8; }	/* お知らせ */
.tabBox #c02	{ border-color: #3399cc; }	/* 活動報告 */
.tabBox #c03	{ border-color: #44ccaa; }	/* 未設定 */
.tabBox #c04	{ border-color: #99cc66; }	/* 未設定 */
.tabBox #etc	{ border-color: #914d9c; }	/* その他 */

.tabBtn	{ display: none; }

.tabBox .tab	{ display: none; }
.tabBox #all	{ display: block; }	/* すべて（初期表示） */

/*----------------------
	Information
----------------------*/
.info h3	{ letter-spacing: normal; }
.info hr	{ height: 2px; background-color: #eee; border: none; }
.info span	{ display: inline-block; color: #678; font-size: .9em; margin-right: 1rem; }
.info .oview	{ margin: 1rem; max-height: 10em; overflow: hidden; }
.info .lead		{ display: block; font-weight: bold; }
.info .text		{ display: block; max-height: 4.5em; overflow: hidden; font-size: .9em; }
.info .ctg		{ display: inline-block; color: #678; font-size: .9em; }
.info .ctg:before	{ margin-right: .4em; font-family: forkawesome; content: '\f114'; }
.info .date		{ display: inline-block; color: #678; font-size: .9em; }
.info .date:before	{ margin-right: .4em; font-family: forkawesome; content: '\f073'; }
.info .thumb	{ position: relative; border-radius: .3em .3em 0 0; }
.info .thumb	{ margin: 0; padding: 0; border: none; }
.info .thumb	{ aspect-ratio: 16 / 9; background: #ccc url(base16x9.png) no-repeat 50% 50% / cover; }
.info .thumb.c01	{ background-image: url(base16x9.png); }	/* お知らせ */
.info .thumb.c02	{ background-image: url(base16x9.png); }	/* 活動報告 */
.info .thumb.c03	{ background-image: url(base16x9.png); }	/* 未設定 */
.info .thumb.c04	{ background-image: url(base16x9.png); }	/* 未設定 */
.info .thumb.etc	{}	/* その他 */

.info .thumb:after {
	content: '';
	position: absolute;
	bottom: 0; left: 0;
	width: 100%;
	height: 3rem;
	background: linear-gradient(0deg,rgba(0,0,0,.1) 0%,rgba(0,0,0,0) 100%);
	pointer-events: none;
	z-index: 1;
}
/*----------------------
	Information CGI List
----------------------*/
.info.list		{}
.info.list a	{ display: block; color: inherit; text-decoration: none; }
.info.list hr	{ height: 3px; background-color: #696; border: none; }
.info.list ul	{ margin: 2em auto 0; padding: 0; }
.info.list ul	{ display: flex; justify-content: space-around; flex-wrap: wrap; grid-gap: 2em; }
.info.list li	{
	flex: 1 0 40%;
	min-width: 300px;
	background-color: rgba(255,255,255,1);
	border-radius: .3em;
	box-shadow: 0 0 12px rgba(0,0,0,.1);
	list-style-type: none;
	transition: .2s;
}
.info.list li:hover	{ box-shadow: 0 0 0 6px #6cf; }

.info.list li.empty	{ padding: 0; background: none; box-shadow: none; }
.info.list h3	{ margin: 0; padding: 0; font-size: 1.1em; text-align: left; border: none; }
.info.list h3+*	{ margin-top: .5rem; }
/* 下書き（管理画面のみ） */
.info.list li.vmode0	{ background-color: #eee; box-shadow: none; }
.info.list li.vmode0 .thumb	{ opacity: .5; }
/*----------------------
	Information CGI Data
----------------------*/
.info.data	{ max-width: 1000px; margin: auto; padding: 3em 1em; }
.info.data .phbox	{ margin-top: 2em; }
.info.data .attach	{ margin-top: 2em; margin-left: 1em; list-style: disc inside; }
.info.data .more	{ margin-top: 6em; }

/*--------*/
.pagelink	{ margin: 0 auto 1em; padding: 0; font-size: 14px; line-height: 1.0; text-align: center; }
.pagelink .blank,
.pagelink .self,
.pagelink a.plink	{ display: inline-block; margin: 0 3px; padding: 3px 6px; text-decoration: none; border: 1px solid #ccc; background-color: #fff; }
.pagelink .blank	{ color:#999; }
.pagelink .self		{ color:#c00; font-weight:bold; padding:4px 6px; }
.pagelink a.plink:visited	{ color:#00f; text-decoration:none; }
.pagelink a.plink:hover		{ color:#fff; background-color:#36c; }

/*-- CGI PageLink --
div.pagelink		{ margin:2.6em; color:#ccc; font-size:12px; text-align:center; }
div.pagelink a,
div.pagelink span	{ margin:3px; padding:2px 6px; border:1px solid #bcd; }
div.pagelink a:hover{ color:#fff; background-color:#abc; border:1px solid #69c; }
div.pagelink .blank	{  }
div.pagelink .self	{ color:#369; font-weight:bold; border:2px solid #69c; }
div.pagelink .plink	{  }
*/



/*----------------------
	for SmartPhone 
	Landscape （横）
----------------------*/
@media screen and (min-width:480px) {
}


@media screen and (min-width:640px) {
	.grid		{ grid-gap: 1.5em; }
	.grid.x2	{ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
	.grid.x3	{ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
	.grid.x4	{ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
	.grid > *	{ padding: 1rem; }
	.grid h4	{ font-size: 1.6rem; }

	.sns	{ gap: 1em; }
	.nav-sp	{ gap: 1em; }

	.header .sns a	{ width: 40px; font-size: 24px; }
}


/*----------------------
	for Tablet
----------------------*/
@media screen and (min-width:768px) { /* and ( max-width:1024px) { */

	body	{ font-size: 1.2rem; }

	h2	{ font-size: 2.4rem; }
	h3	{ font-size: 2.0rem; }
	h4	{ font-size: 1.4rem; }
	h5	{ font-size: 1.2rem; }
/*
	h3 { letter-spacing: .1em; }
	h4 { letter-spacing: .1em; }

	section:not([class])	{ min-height: 320px; }
*/
	.xs	{ font-size: 60%; }
	.s	{ font-size: 80%; }
	.m	{ font-size: 1rem; }
	.lg	{ font-size: 120%; }
	.xl	{ font-size: 150%; }

	.fl	{ float: left; }
	.fr	{ float: right; }
	.clr{ clear: both; }

	.inner { padding: 3em 1em; }
	.inner + .inner { padding-top: 1em; }

	.sectitle	{ font-size: 2em; min-height: 38vh; }

	.grid		{ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
	.grid.x2	{ grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); }
/*	.grid.x2	{ grid-template-columns: 3fr 2fr; }*/
/*	.grid p		{ font-size: 1em; }*/

	.mbo	{ display: none; }
	.pco	{ display: initial; }

	/* Responsive Table Adjust 横スクロール解除 */
	table	{ display: table; white-space: normal; }

	.link .ttl,
	.link a	{ font-size: 1.2em; }
	.arrow li a		{ font-weight: normal; font-size: 1.1em; }
	.arrow li.sub a	{ font-weight: normal; font-size: 1.0em; }

	.phbox_r,
	.phbox_nr	{ float: right; margin: 0 0 2em 1em; }

	.phbox_l,
	.phbox_nl	{ float: left; margin: 0 1em 2em 0; }


/*
	#nav-drawer	{ display: none; }
	#nav-pc		{ display: block; }
*/

	.nav-pc ul	{ padding: 2em 0; }
	.nav-pc ul	{ gap: 1em 2em; }

	.booking	{ padding: 5em 0; }
	.booking h3	{ font-size: 3em; }
/*
	.footer {
		padding-top: 5em;
		background: url(bg-footer.svg) repeat-x 50% 100%;
	}
*/
	#pagetop { bottom: 2rem; right: 2rem; }

	/*----------------------
		Information CGI
	----------------------
	.tabBtn	{ display: flex; align-items: flex-end; grid-gap: 1px; margin: 2em 1em 0 !important; }
	.tabBox .tab	{ border-top: solid 3px; }
*/
}


/*----------------------
	for PC
----------------------*/
@media screen and (min-width:1000px) {
	.grid	{ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); grid-gap: 2em; }
}

