@charset "utf-8";


html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td, small, button, time, figure {
  margin: 0;
  padding: 0;
}

@font-face {
	font-family: 'HuiFontP109';
	src: url('../font/HuiFontP109.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'Corporate-Logo-Rounded-Bold-ver3';
	src: url('../font/Corporate-Logo-Rounded-Bold-ver3.otf') format('opentype');
	font-weight: bold;
	font-style: normal;
}

@font-face {
	font-family: 'Semamojikana-Bold';
	src: url('../font/Semamojikana-Bold.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

/*
WEBフォントで「ふい字(HuiFontP109)」 ver130717
http://customtemplate.blog112.fc2.com/blog-entry-143.html
@font-face{
	font-family:'HuiFontP109';
	src:url('https://dl.dropboxusercontent.com/s/6snqvg654tirsyv/HuiFontP109.eot');
	src:url('https://dl.dropboxusercontent.com/s/6snqvg654tirsyv/HuiFontP109.eot?#iefix') format('embedded-opentype'),
	url('https://dl.dropboxusercontent.com/s/7pscemjdvt0wyiq/HuiFontP109.woff') format('woff'),
	url('https://dl.dropboxusercontent.com/s/0w9uuopxrns8ehi/HuiFontP109.ttf') format('truetype'),
	url('https://dl.dropboxusercontent.com/s/xnnsbxtz8o6d98i/HuiFontP109.svg#HuiFontP109') format('svg');
}
*/



/* ページ共通 右カラムの「PAGE TOP」ボタン */

#page-top {
	position:fixed;
	bottom: 20px;
	right: 20px;
	font-size: 77%;
}

#page-top a {
	background: #FD4C99;
	border-radius: 50%;
	color: #fff;
	display: block;
	text-align: center;
	text-decoration: none;
	padding: 20px 0px;
	width: 100px;
}

#page-top a:hover {
	background: #FF6CB9;
	text-decoration: none;
}



/* ページ共通 */

body {
	color: #666666 !important;
	font-family:'メイリオ', 'Meiryo', sans-serif;
	height: 100%;
	width: 100%;
}

.container {
	margin: 0 auto;
	height: 100%;
}

.d_rev {
	display: flex;
	flex-direction: column-reverse;
}

.pre_line {
	white-space: pre-line;
}

.d_flex{
	display: flex;
}

h2.ttl_h2 {
	background-color: #D18A30;
	border-radius: 15px;
	color: white;
	font-weight: bold;
	font-size: min(4.5vw,25px) !important;
	margin: 20px auto;
	max-width: 800px;
	padding: 5px 0;
}

h3.ttl_h3 {
	font-size: min(4.5vw,22px) !important;
	font-weight: bold;
	margin: 40px auto;
}


/* ヘッダー */

.h_inner {
}

.h_inner .inner_left {
	display: flex;
}

@media screen and (max-width:900px){
	.inner_left {
		width: 75%;
	}
}

header {
	background: rgba(255,255,255,0.7);
	display: block;
	width: 100%;
}

@media screen and (max-width:900px){
	header {
	}
}

header .h_inner {
	box-shadow: none;
	border-bottom-left-radius: 90px 90px;
	display: flex;
	justify-content: space-between;
	z-index: 2;
}

@media screen and (max-width:900px){
	header .h_inner {
		width: 98%;
	}
}


header a {
	color: #666666 !important;
	transition: 0.4s;
}

header a:hover {
	color: #29acef;
	text-decoration: underline !important;
}




/* ヘッダーロゴ画像 */

header #logo {
	margin-top: 5px;
	margin-left: 10px;
}

@media screen and (max-width:900px){
	header #logo {
		margin-top: 5px;
		margin-left: 10px;
	}
}


header #logo img {
	width: 70px;
}

@media screen and (max-width:900px){
	header #logo img {
		top: 10px;
		left: 10px;
	}
}





/* サイト内ナビメニュー */


header .top_nav {
    display: flex;
    text-align: right;
    margin-right: 20px;
    flex-direction: column;
    align-items: end;
}
@media screen and (max-width:900px){
header .top_nav {
	margin-right: 0;
	}
}

header #menubar {
	font-size: 18px;
	overflow: hidden;
}

@media screen and (max-width:900px){
	header #menubar {
		display: none;
	}
}

header #menubar li {
	overflow: hidden;
	float: left;
	text-align: center;
	padding: 0px 10px;
}

header #menubar li a {
	font-family:'メイリオ', 'Meiryo', sans-serif;
	font-size: min(1.4vw,16px) ;
	display:  block;text-decoration: none;
	padding-top: 3px;
}







/* SNSナビメニュー */

header .top_sns_nav {
	margin-top: 5px;
	margin-right: 10px;
	width: 180px;
}

@media screen and (max-width:900px){
	header .top_sns_nav {
	}
}

header ul.icon {
	display: flex;
	justify-content: space-between;
	text-align: right;
	width: 50%;
}

@media screen and (max-width:900px){
	header ul.icon {
	}
}

header ul.icon li {
	display: inline;
	width: 23%;
}

header ul.icon li a {
}

header ul.icon a img {
	margin-left: 5px;
	width: 100%;
	max-width: 30px;
}

header ul.icon a img.mute {
	opacity: 0.3;
}










/* h1 */

h1 {
	color: #444444;
	font-size: min(1.8vw,20px) ;
	font-weight: bold;
	line-height: 110%;
	margin: 30px 0 0 10px !important;
	display: block;
}

h1 {
	font-family:'HuiFontP109', sans-serif;
}

@media screen and (max-width:900px){
	h1 {
		font-size: min(3.5vw,30px);
	}
}

@media (max-width:500px) {
	h1 {
		font-size: min(4.5vw,30px);
		position: absolute;
		top: 15px;
		left: 80px;
	}
}










.fl_r {
	flex-direction: row-reverse;
}

.top_explain {
    height: 830px;
    background-color: #f1efff;
    border-bottom: #dddddd;
}



@supports(-ms-accelerator:true) or (-ms-ime-align:auto){
	div.idj4nt767j{animation:slide_supyoga_ie 12s infinite;}
}

@-webkit-keyframes slide_supyoga{
	0%{background-position:100vw center,center center}
	45%{background-position:100vw center,center center}
	50%{background-position:center center,center center}
	95%{background-position:center center,center center}
	100%{background-position:-100vw center,center center}
}

@keyframes slide_supyoga{
	0%{background-position:100vw center,center center}
	45%{background-position:100vw center,center center}
	50%{background-position:center center,center center}
	95%{background-position:center center,center center}
	100%{background-position:-100vw center,center center}
}

@keyframes slide_supyoga_ie{
	0%{background-position:100vw center,0vw center}
	45%{background-position:100vw center,0vw center}
	50%{background-position:0vw center,0vw center}
	95%{background-position:0vw center,0vw center}
	100%{background-position:-100vw center,0vw center}
}







@media (max-width:883px) {
	.top_explain {
		text-align: center,center;
	}
}

@media (max-width:360px) {
	.top_explain {
		background-position: center left 74%,center left 74%;
	}
}

.top_explain .top_img_frame {
	margin-left: 100px;
	max-width: 470px;
	padding-top: 85px;
}

@media (max-width:1280px) {
	.top_explain .top_img_frame {
	}
}

@media (max-width:883px) {
	.top_explain .top_img_frame {
		margin: 0 auto;
		width: 96%;
	}
}

.top_explain .top_img_frame img#logo_supyoga {
	width: 100%;
}

.top_explain .top_img_frame p {
	color: white;
	font-family:'HuiFontP109', sans-serif;
	font-size: min(5.7vw,18px);
	line-height: 1.2em;
	padding: 0 5px;
}

.container {
	display: inline !important;
	text-align: center;
}

.preface {
	/* background: radial-gradient(#77aaFA,white); */
	line-height: 1.5em;
	margin: 0 auto;
	padding: 0 15px 80px;
}

@media (max-width:900px) {
	.preface {
	}
}

.preface p.pre_line {
	font-family:'HuiFontP109', sans-serif;
	font-size: min(5.7vw,23px);
}

@media (max-width:900px) {
	.preface p.pre_line {
		font-size: min(4vw,18px);
	}
}


.container .n_title {
	margin: 40px auto;
	width: 60%;
}

.container .n_title img#news_title {
	display: block;
	overflow: hidden;
	margin: 0 auto;
	max-width: 1100px;
	width: 100%;
}

.container img.posters {
	max-width: 1000px;
	margin: 5px auto;
	width: 100%;
}

.container .flx {
	display: block;
	padding: 10px !important;
}

.container .flx .fl_cld {
}

.container .flx .fl_cld img {
	margin: 5px 0;
	max-width: 2000px;
	width: 100%;
}

.container .map_hachijo {
	background-color: #9CC0FA;
	text-align: center;
	margin: 20px auto;
	max-width: 720px;
	padding-top: 25px;
}

.container .map_hachijo img {
	max-width: 600px;
	width: 100%;
}

.container .map_hachijo h2.under {
	font-family:'HuiFontP109';
	font-size: min(4.5vw,40px);
	font-weight: bold;
	padding-bottom: 10px;
}

.container .map_hachijo p {
	font-family:'HuiFontP109';
	font-size: min(3.5vw,30px);
	padding-bottom: 20px;
}

.container .line_ad{
	margin: 5px 0;
}

.container .line_ad img {
	max-width: 720px;
	width: 100%;
}


h2.ttl_h2 {
	background: radial-gradient(#77aaFA,white);
	color: white;
	font-family:'HuiFontP109';
	font-size: min(4.5vw,25px) !important;
	font-weight: bold;
	height: 40px;
	margin: 20px auto;
	max-width: 500px;
	padding-top: 15px;
	width: 96%;
}

h3.ttl_h3 {
	font-size: min(4.5vw,22px) !important;
	font-weight: bold;
	margin: 40px auto;
}

p.plan {
}

hr {
	margin: 40px 0;
}

#form a {
	font-weight: bold;
	text-decoration: underline;
}

span.crd {
	color: red;
	font-weight: bold;
}

#news_clm p.plan {
	font-size: min(4.5vw,22px) !important;
}




/* 詳細ページ（explain.html） */


.bg_explain {
	margin: 0 auto;
	width: 98%;
	max-width: 800px;
}

.bg_explain h5 {
	font-family:'HuiFontP109';
	font-size: min(4.5vw,20px);
	padding-top: 10px;
}

.bg_explain p.pre_line {
	font-family:'HuiFontP109';
	font-size: min(4vw,17px);
	line-height: 1.5em;
}

.d_flex p.links {
	margin: 10px 0;
}

.d_flex p.links a {
	color: #666 !important;
	font-size: min(4vw,15px);
	font-weight: bold;
}

.bg_explain img {
	width: 100%;
	max-width: 300px;
}

.d_flex {
	border-top: 1px solid #eee;
	padding-top: 40px;
}

.fl_l, .fl_r {
	margin: 20px auto 50px;
	justify-content: space-between;
}

@media (max-width:900px) {
.fl_l, .fl_r {
		flex-direction: column-reverse;
	}
}

.clm_image, .clm_explain {
	width: 50%;
}

@media (max-width:900px) {
	.clm_image, .clm_explain {
		margin: 0 auto;
		width: 95%;
	}
}

.clm_image, .clm_explain p {
	font-size: min(3vw,20px);
}








/* コースページ（course.html） */


table {
	font-size: min(2.5vw,18px);
	border-collapse:collapse;
	margin:10px auto;
	margin-bottom:30px;
	max-width:800px;
	text-align: center;
	width:90%;
}

table caption {
	background-color: #FFDD99;
	border:solid 1px #ccc;
	font-weight: bold;
	padding: 5px 4px;
}

table#tb1  caption {
	background-color: #ABE1FA;
}

table,th,td {
	border:solid 1px #ccc;
	line-height: 140%;
	padding: 5px 4px;
}


td {
	min-width: 40px;
}


td.td1 {
	max-width:80px;
	width:10%;
}

td.td2 {
	max-width:120px;
	width:16%;
}

td.td3 {
	max-width:160px;
	width:20%;
}

td.td4 {
	text-align: left;
}


#flow_clm {
	padding-top: 50px;
	padding-bottom: 50px;
}

#flow_clm p {
	margin-bottom: 30px;
}

span.spb {
	font-weight: bold;
}






/* 申込みページ（form.html） */

#form_page {
}

#form_page p {
	line-height: 1.8em;
}

#form_page p.plan {
	font-size: min(3.3vw,15px);
}

#form_page .form_divs {
	margin-bottom: 90px;
}

#form_page #kouza {
	font-size:18px;
	font-weight:bold;
	margin-bottom: 40px;
}

#form_page .to_form {
	padding: 25px 0 0;
}






/*----------------------------
* メニュー開閉ボタン
*----------------------------*/
.burger_menu_btn {
	position: relative;
	top: 40px;
	left: 125px;
	z-index: 2;
	width: 40px;
	min-width: 40px;
	height: 40px;
	justify-content: center;
	align-items: center;
	background: #fff;
	color: #888;
	font-weight: bold;;
	text-indent: -2px;
	display: none;
}

@media screen and (max-width:900px){
	.burger_menu_btn {
		display: flex;
	}
}

.burger_menu_btn .burger_mark {
	font-size: 40px;
}

/*----------------------------
* メニュー本体
*----------------------------*/

.burger_menu {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 1 !important;
	width: 100vw;
	height: 100vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: radial-gradient(#77aaFA,white);
}

.burger_menu_item {
	width: 100%;
	height: auto;
	padding: .5em 1em;
	text-align: center;
	color: #fff;
	box-sizing: border-box;
}

/*----------------------------
* アニメーション部分
*----------------------------*/

/* アニメーション前のメニューの状態 */
.burger_menu {
	transform: translateX(100vw);
	transition: all .3s linear;
}

/* アニメーション後のメニューの状態 */
.burger_menu.is_active {
	transform: translateX(0);
}










