﻿@charset "UTF-8";
 
@import url('https://use.fontawesome.com/releases/v6.4.0/css/all.css');
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;600;900&family=Open+Sans:wght@400;500;600&family=Zen+Kaku+Gothic+Antique:wght@300;400;500;700&display=swap');

/* all */
* {
margin: 0;
padding: 0;
word-break: normal;
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
}


BODY{
margin:0;
padding:0;
background:#FFF;
color:#555;
font-size: 100.0%;	/* 16pxベース */
line-height:1.6;
letter-spacing:1px;
text-align: center;
font-family:'Open Sans', 'Zen Kaku Gothic Antique', sans-serif;
-webkit-text-size-adjust: 100%;	/* iPhone版Safari対策 */
font-weight:400;
}


/*------ フォントサイズ ------
font-size:62.5%;	10px
font-size:75.0%;	12px
font-size:87.5%;	14px
font-size:100.0%;	16px
font-size:112.5%;	18px
font-size:125.0%;	20px
font-size:137.5%;	22px
font-size:150.0%;	24px
font-size:162.5%;	26px
font-size:175.0%;	28px
font-size:187.5%;	30px
font-size:200.0%;	32px
font-size:212.5%;	34px
font-size:225.0%;	36px
font-size:237.5%;	38px
font-size:250.0%;	40px
-----------------------------*/


IMG{
max-width: 100%;
image-rendering: -webkit-optimize-contrast;
}
IMG,
A IMG{
border:none;
}

P{
margin-top:1.8em;
margin-bottom:1.8em;
background:url(img/spacer.gif) no-repeat;	/* Android4.0対策 */
}

/*--------------------------------------------------------------------
  「レスポンシブ」固有
--------------------------------------------------------------------*/
.pc,
.pc_tablet{
display:inline-block;
}
.block_narrow_pc,
.tablet_sp,
.tablet,
.sp{
display:none;
}
.block_pc{	/* PCの時だけ改行する */
display:block;
}
@media only screen and (min-width:768px) and (max-width:1200px) {	/* 幅の狭いPC用 */
	.block_narrow_pc{	/* 幅の狭いPCの時だけ改行する */
	display:block;
	}
}


@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	IMG{
	width:auto;
	height:auto;
	max-width: 100%;
	}
	.block_tablet_sp{	/* タブレット・スマホの時だけ改行する */
	display:block;
	}
	.block_narrow_pc{
	display:none;
	}
	.block_pc{	/* PCの時だけ改行する */
	display:inline-block;
	}
}

@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
	.pc,
	.sp{
	display:none !important;
	}
	.tablet_sp,
	.pc_tablet,
	.tablet{
	display:inline-block !important;
	}
	.block_tablet{	/* タブレット・スマホ横の時だけ改行する */
	display:block;
	}
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	*{
	word-break: break-all;
	}
	.pc_tablet,
	.pc,
	.tablet{
	display:none !important;
	}
	.tablet_sp,
	.sp{
	display:inline-block !important;
	}
	.block_sp{	/* スマホ縦の時だけ改行する */
	display:block;
	}
	.linehalf.block_sp{
	line-height:0.5;
	}
}



.pc_none{
display:none;
}



/*--------------------------------------------------------------------
  「スマホ（横）」「タブレット」固有の設定
--------------------------------------------------------------------*/
@media only screen and (min-width:541px) and (max-width:768px) {
	.pc_none{
	display:inherit;
	}
	.tablet_none{
	display:none;
	}
}


/*--------------------------------------------------------------------
  「スマホ（縦）」固有の設定
--------------------------------------------------------------------*/
@media only screen and (max-width:540px) {
	.pc_none{
	display:inherit;
	}
	.sp_none{
	display:none;
	}
}




/*--------------------------------------------------------------------
リンクテキスト
---------------------------------------------------------------------*/
A{
color:#555;
transition: background 0.5s ease, border-color 0.5s ease, opacity 0.5s ease;
-webkit-transition: background 0.5s ease, border-color 0.5s ease, opacity 0.5s ease;
-moz-transition: background 0.5s ease, border-color 0.5s ease, opacity 0.5s ease;
-o-transition: background 0.5s ease, border-color 0.5s ease, opacity 0.5s ease;
text-decoration:none;
}
.content A:not([class]){
text-decoration:underline;
color:#F90;
}
.content A:not([class]):VISITED{
color:#CD853F;	/* Peru */
}
A:HOVER{
opacity:0.7;
text-decoration:none;
}


/*------ 外部リンクアイコン ------*/
.content A[href^="http"]::after {
margin-left:0.25em;
content: "\f35d";
font-family: "Font Awesome 6 Free";
font-weight : 900;
text-decoration:none;
display:inline-block;
}
.content A[href*="sapporo-shikamasui-office.com"]::after {	/* 自社リンクは除外 */
content:none;
}



/*--------------------------------------------------------------------
見出し 
---------------------------------------------------------------------*/
H1,H2,H3,H4,H5,H6{
margin:0;
padding:0;
font-size:100.0%;	/* 16px */
border:none;
background:none;
font-weight:500;
line-height:1.3;
}


/*------------------------------------------------
H2
------------------------------------------------*/
#content_header{
background-image:url(img/school_tokeidai.jpg);
background-position:center;
}
H2{
margin:0 auto;
color:#FFF;
line-height:1.2;
font-family:'Zen Old Mincho', serif;
}
H2 .text{
margin:0.5em auto auto auto;
font-size:45.0%;	/* 18px */
display:table;
letter-spacing:1px;
font-weight:500;
font-family:'Zen Kaku Gothic Antique' , sans-serif;
}
#content_header H2{
margin:0 auto;
padding:2.8em 2% 2.2em 2%;
font-size:250.0%;	/* 40px */
letter-spacing:0.1em;
background:rgba(152,98,60,0.75);	/* #98623C 灰茶 85% */
font-weight:400;
text-shadow: 0.02em 0.02em 0.07em #630 ,  -0.02em -0.02em 0.07em #630;
}
#content_header H2 .text::before{
margin:auto auto 1.0em auto;
content:"";
display:block;
width:3.0em;
height:1px;
background:#F5B2AC;	/* flamingo pink */
}
#content_header.small_header H2{
padding:1.5em 2%;
}


/*------ コンテンツ毎の画像設定 ------*/
#lesson #content_header{
}
#freedancetime #content_header{
background-image:url(img/bg3.jpg);
background-position:center 25%;
}
#staff #content_header{
background-image:url(img/school_nangou.jpg);
background-position:center 75%;
}
#access #content_header{
background-image:url(img/bg4.jpg);
background-position:center 50%;
}
#content_header.small_header{
background-image:url(img/bg2.jpg);
}
#link #content_header.small_header{
background-position:center bottom;
}
#privacypolicy #content_header.small_header{
background-position:center 15%;
}


/*------ コンテンツメニュー ------*/
#contentmenu{
margin:0 auto;
padding:0.5em 2% 1.5em 2%;
background:rgba(0,0,0,0.6);
width:100%;
}


#contentmenu.type_table{
display:table;
table-layout: fixed;	/*  LIを均等に分割 */
}

#contentmenu LI{
margin:0 auto;
padding:0;
*zoom: 1;  				/* IE7対策 */
vertical-align:middle;
background:url(img/spacer.gif) no-repeat;
}
#contentmenu.type_table LI{
display:table-cell;
}
#contentmenu.type_inline LI{
display:inline-block;
*display: inline;		/* IE7対策 */
}

#contentmenu A{
padding:1em;
color:#FFF;
border:1px solid #FFF;
text-decoration:none;
background:rgba(0,0,0,0.0);
display:block;
}
#contentmenu.type_table A{
margin:1em;
}
#contentmenu.type_inline A{
margin:0.5em;
}

#contentmenu A:hover{
background:rgba(0,0,0,0.6);
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	#content_header{
	}

	#content_header H2{
	padding:2.25em 2% 1.5em 2%;
	letter-spacing:1px;
	font-size:225.0%;	/* 36px */
	}
	H2 .text{
	font-size:50.0%;	/* 18px */
	}


	#contentmenu{
	display:block;
	}
}
@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
	#contentmenu.type_table LI,
	#contentmenu.type_inline LI{
	display:inline-block;
	*display: inline;		/* IE7対策 */
	width:48%;
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#contentmenu.type_table LI,
	#contentmenu.type_inline LI{
	display:block;
	}
}
@media only screen and (max-width:320px) {	/* スマホS縦用 */
	BODY:not(#home) H2{
	font-size:9.0vw;
	}
}


/*------------------------------------------------
   H3
------------------------------------------------*/
H3{
padding:0.5em 0;
font-size:200.0%;	/* 32px */
letter-spacing:0.1em;
font-family:'Open Sans' , 'Zen Old Mincho', serif;
}
ARTICLE>H3{
padding:0.5em;
}
.type_eng{	/* 英字が大きいタイプ */
font-weight:600;
}
.type_eng .jp{
margin:0.9em auto;
display:block;
font-size:50.0%;	/* 16px */
color:#71686C; /* 紫鼠 */
letter-spacing:1px;
font-weight:400;
font-family:'Zen Kaku Gothic Antique' , sans-serif;
}
H3 .eng{
margin:0 auto 0.8em auto;
padding:0 0 0.5em 0;
font-size:50.0%;	/* 16px */
display:table;
border-bottom:1px solid #F09199;	/* 桃色 */
font-family:'Open Sans' , sans-serif;
letter-spacing:1px;
}
/*------ 他要素隣接時 ------*/
*+H3,
H3~H3{
margin-top:3.0em;
}
H3+H4{
margin-top:1.0em;
}

@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
	H3{
	font-size:187.5%;	/* 30px */
	}

}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	H3{
	font-size:175.0%;	/* 28px */
	letter-spacing:0px;
	}

}
@media only screen and (max-width:320px) {	/* スマホS縦用 */
	H3{
	font-size:8.0vw;
	}
	.type_eng .jp,
	H3 .eng{
	font-size:55.0%;
	}

}



/*------------------------------------------------
   H4
------------------------------------------------*/
/*------ H4基本設定 ------*/
#privacypolicy DT,
H4{
margin-bottom:0.5em;
font-size:125.0%;	/* 20px */
font-weight:500;
color:#EE827C;	/* 甚三紅 */
}
H4.icon SPAN[class^="fa"]{
margin-bottom:0.2em;
}

/*------ 他要素隣接時 ------*/
*+H4,
H4~H4{
margin-top:3em;
}
H4+P{
margin-top:0.5em;
}

H3+SECTION H4:first-child{
margin-top:1.0em;
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
}
@media only screen and (max-width:320px) {	/* スマホS縦用 */
	#privacypolicy DT,
	H4{
	font-size:7.0vw;
	}

}


/*------------------------------------------------
   H5
------------------------------------------------*/
/*------ H5基本設定 ------*/
ARTICLE H5{
margin:auto auto 0.8em auto;
padding:0.3em;
display:table;
border-bottom:1px solid #F09199;	/* 桃色 */
font-size:112.5%;	/* 18px */
}
ARTICLE H5.line{
padding:0;
border-bottom:none;
}

/*------ 他要素隣接時 ------*/
ARTICLE H4+H5{
margin-top:0.5em !important;
}
ARTICLE H5+*{
margin-top:0.5em;
}

ARTICLE *+H5{
margin-top:2.0em;	/* 各要素と隣接時には上余白を多めに */
}


/*------------------------------------------------
   H6
------------------------------------------------*/
/*------ H6基本設定 ------*/
H6{
margin:1.8em auto 0.5em auto;
padding:0;
font-size:100.0%;	/* 16px */
}

/*------ 他要素隣接時 ------*/
H5+H6{
margin-top:0.5em;
}
H6+P,
H6+UL,
H6+OL,
H6+DL{
margin-top:0.5em;
}
*+H6{
margin-top:2.5em;	/* 各要素と隣接時には上余白を多めに */
}




/*--------------------------------------------------------------------
  画像レイアウト枠
--------------------------------------------------------------------*/
/*------ 1枚・複数共通 ------*/
.photo,
.photos{
text-align:center;
}
.photo IMG,
.photos IMG{
margin:0 auto;
padding:5px 0;
}

/*------ 1枚 ------*/
.photo IMG{
display:block;
}
/*------ 複数 ------*/
.photos IMG{
display:inline-block !important;
vertical-align:middle;
}
.photos IMG:nth-child(n+2){	/* 2個目以降 */
margin-left:10px;
}


@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
	.photos BR{
	display:none;
	}
	.photos IMG:nth-child(n+2){	/* 2個目以降 */
	margin-left:10px !important;
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.photos IMG:nth-child(n+2){	/* 2個目以降 */
	margin-left:auto;
	display:block;
	}
}


/*------------------------------------------------
  キャプション付き
------------------------------------------------*/
.caption{
text-align:center;
}
.caption IMG{
margin:auto auto 5px auto;
display:block;
}





/*--------------------------------------------------------------------
左寄せ・右寄せ
---------------------------------------------------------------------*/
.text_alignleft{
text-align:left;
}
.text_aligncenter{
text-align:center;
}
.text_alignright{
text-align:right;
}


/*------------------------------------------------
画像の左寄せ・右寄せ
------------------------------------------------*/
.content .aligncenter{
display: block;
margin-left: auto;
margin-right: auto;
}
.content .alignright{
float:right;
margin-left:25px;
}
.content .alignleft{
float:left;
margin-right:25px;
}
.clear{
clear:both;
}
.alignleft+P,
.alignright+P{
margin-top:0;
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	.content .alignleft,
	.content .alignright{
	margin-right:auto;
	margin-left:auto;
	display:block;
	float:none;
	}
}


/*--------------------------------------------------------------------
  フォントサイズ・色
---------------------------------------------------------------------*/

/*------------------------------------------------
   文字サイズ
------------------------------------------------*/
.extrasmall{
font-size:75.0%;	/* 12px */
}
.small{
font-size:87.5%;	/* 14px */
}
.large{
font-size:125.0%;	/* 20px */
}
.extralarge{
font-size:162.5%;	/* 26px */
}

.normal{
font-weight:normal;
}
STRONG{
font-weight:500;
}

SUP,SUB{
font-size:62.5%;	/* 10px */
}



/*------------------------------------------------
   強調下線
------------------------------------------------*/
.borderbottom{
border-bottom:2px solid #000;
}
.underline{
display:inline;
background: -prefix-linear-gradient(	/* Webkit系 */
bottom,
rgba(239,241,0,0.5),
rgba(239,241,0,0.5) 34%,
rgba(239,241,0,0) 35%),
url(img/spacer.gif);
background: linear-gradient(	/* 蛍光イエロー 12.1、IE 10、Fx 15 以降 */
to top,
rgba(239,241,0,0.5),
rgba(239,241,0,0.5) 34%,
rgba(239,241,0,0) 35%),
url(img/spacer.gif);
/ border-bottom:5px solid #EFF100;	/* IE7対策 */
}

/*------------------------------------------------
   前後の線
------------------------------------------------*/
.line::before,
.line::after{
margin:-0.2em 10px 0 10px;
content:"";
display:inline-block;
width:50px;
height:1px;
vertical-align:middle;
border-bottom-style:solid;
border-bottom-width:1px;
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.line::before,
	.line::after{
	width:20px;
	}
}

/*------------------------------------------------
   文字色
------------------------------------------------*/
.white{
color:#FFF;
}

.red{
color:#F03;
}
.darkred{
color:#C30D23; /* ロゴ赤 */
}
.blue{
color:#069;
}
.green{
color:#690;
}
.orange{
color:#F08200;	/* 暗いオレンジ */
}

/*------------------------------------------------
   フォント
------------------------------------------------*/
.font_m{
font-family:'Zen Old Mincho', serif;
}

/*--------------------------------------------------------------------
  リストスタイル
---------------------------------------------------------------------*/
UL{
padding:0;
list-style:none;
}
LI{
background:url(img/spacer.gif) no-repeat;	/* Android4.0対策 */
}

ARTICLE UL{
margin:1.2em 0;
}
ARTICLE UL>LI{
margin-top:0.7em;
margin-bottom:0.7em;
line-height:1.3;
}
ARTICLE UL LI UL LI{
margin-top:0.35em;
margin-bottom:0.35em;
}


/*------------------------------------------------
  ネスト時
------------------------------------------------*/
LI UL,
DD UL,
TD UL{
margin-top:0;
margin-bottom:0.3em;
}

/*------------------------------------------------
  箇条書きリスト
------------------------------------------------*/
DL.list>DD,
UL.list>LI:not([class]),
UL>LI.list{
padding-left:1.3em;
text-indent:-1.3em;
}
DL.list>DD *,
UL.list>LI *,
UL>LI.list *{
text-indent:0;
}


DL.list>DD::before,
LI.list::before,
.list>LI:not([class])::before{
margin:-0.2em 0.4em auto 0.4em;
display:inline-block;
content:"";
border:1px solid #999;
background:#999;
border-radius:50%;
-webkit-border-radius:50%;
-moz-border-radius:50%;
width:5px;
height:5px;
vertical-align:middle;
}



/*------------------------------------------------
  横並びリスト
------------------------------------------------*/
UL.inline{
}
UL.inline.table{
display:table;
}
UL.inline>LI{
padding-left:0.6em;
padding-right:0.6em;
display:inline-block;
vertical-align:middle;
}



UL.inline LI .extralarge{
vertical-align:top;
line-height:1em;
}
UL.inline.nolist LI{
padding-left:0;
}

.content:not(.text) UL.table{
text-align:left;
}


/*------------------------------------------------
  番号付きリスト
------------------------------------------------*/
OL{
margin:1.2em 0;
padding:0;
}
/*------------------------------------------------
  ネスト時
------------------------------------------------*/
LI OL,
DD OL,
TD OL{
margin-top:0;
margin-bottom:0;
}

OL>LI{
margin-top:1.0em;
margin-bottom:1.0em;
margin-left:2.0em;
line-height:1.3;
list-style-type : decimal;
}
OL>LI OL LI{
margin-top:0.5em;
margin-bottom:0.5em;
}


/*------ 両側に()カッコ ------*/
OL.kakko>LI{
margin-left:0;
padding-left:2.0em;
text-indent: -1.7em;
list-style-type:none;
list-style-position:inside;
counter-increment: cnt;
}
OL.kakko>LI:before{
display: marker;
content: "(" counter(cnt) ") ";
}
OL.kakko>LI OL>LI{
text-indent: -1.2em;
}



/*------------------------------------------------
  説明付きリスト
------------------------------------------------*/
DL{
margin:1.2em 0;
padding:0;
}

H5+DL,	/* H5のすぐ下の時は上余白を少な目に */
LI>DL{	/* ネストする時は上余白を少な目に */
margin-top:0.5em;
}
DT{
margin:0;
padding:0;
font-size:112.5%;	/* 18px */
}
DD{
margin:0 0 0 1.2em;
padding:0;
background:url(img/spacer.gif) no-repeat;	/* Android4.0対策 */
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	DD{
	margin:0 0 0 0.2em;
	}
}

DT+DT,
DD+DT{	/* 2番目以降のタイトル行だけ上余白を設ける */
margin-top:1.5em;
}
LI>DL DT+DT,
LI>DL DD+DT{	/* ネストする時は上余白を少な目に */
margin-top:1em;
}



/*------------------------------------------------
  注釈 ※ リスト
------------------------------------------------*/
UL.kome>LI,
LI.kome{
padding-left:1.3em;
text-indent:-1.2em;
line-height:1.3;
}
UL.kome>LI::before,
LI.kome::before{
margin-right:0.1em;
display:inline-block;
content:"※";
color:#EE827C;	/* 甚三紅 */
text-indent:0;
}


@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.kome LI{
	text-align:left;
	}
}


/*------------------------------------------------
  PDF・Word・Excel・PowerPoint・ZIP・Imageリスト
------------------------------------------------*/
/*------ 共通 ------*/
UL.pdf>LI,
UL.word>LI,
UL.excel>LI,
UL.powerpoint>LI,
UL.zip>LI,
UL.image>LI,
LI.pdf,
LI.word,
LI.excel,
LI.powerpoint,
LI.zip,
LI.image{
padding-top:0.3em;
padding-left:40px;
background-repeat:no-repeat;
background-position:0 0;
list-style:none;
min-height:32px;
}

/*------ PDFリスト ------*/
UL.pdf>LI,
LI.pdf{
background-image:url(img/pdf.png);
}

/*------ Wordリスト ------*/
UL.word>LI,
LI.word{
background-image:url(img/word.png);
}

/*------ Excelリスト ------*/
UL.excel>LI,
LI.excel{
background-image:url(img/excel.png);
}

/*------ PowerPointリスト ------*/
UL.powerpoint>LI,
LI.powerpoint{
background-image:url(img/pp.png);
}

/*------ Imageリスト ------*/
UL.image>LI,
LI.image{
background-image:url(img/image.png);
}
/*------ ZIPリスト ------*/
UL.zip>LI,
LI.zip{
background-image:url(img/zip.png);
}

/*------ PDFリスト（小） ------*/
A.pdf_s,
UL.pdf_s>LI,
LI.pdf_s{
padding-left:20px;
list-style:none;
background-image:url(img/pdf.png);
background-repeat:no-repeat;
background-position:0 0.2em;
background-size:16px 16px;
-webkit-background-size:16px 16px;
-moz-background-size:16px 16px;
-o-background-size:16px 16px;
-ms-background-size:16px 16px;
}
A.pdf_s{
display:inline-block;
}


/*--------------------------------------------------------------------
  表
---------------------------------------------------------------------*/
TABLE{
margin-top:1.5em;
margin-bottom:1.5em;
font-size:100%;
}

TH{
text-align:center;
font-weight:normal;
font-size:100%;
}
TD{
font-size:100%;
background:url(img/spacer.gif) no-repeat;	/* Android4.0対策 */
}
TH>*,
TD>*{
margin-top:0;
margin-bottom:0;
}
TH>*~*,
TD>*~*{
margin-top:5px;
}

/*------------------------------------------------
  罫線を表示するタイプの表
------------------------------------------------*/
TABLE.data_table{
border-collapse:collapse;
line-height:1.2;
border:1px solid #999;
}

@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
	TABLE.data_table,
	TABLE.color_table{
	width:100%;
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	TABLE.data_table,
	TABLE.color_table{
	width:100%;
	}
}

TABLE.data_table CAPTION{
text-align:right;
}
.data_table TH{
padding:0.5em 10px;
text-align:center;
background:#FFF;
}
.data_table THEAD TH{
background:rgba(245,178,172,0.5);	/* flamingo pink 50% */
border-left:1px solid #999;
}
.data_table TBODY TH{
border-top:1px solid #CCC;
}

.data_table TD{
padding:10px;
border-top:1px solid #CCC;
background:#FFF;
border-left:1px solid #999;
}
.data_table TBODY TR:first-child TH{
border-top:1px solid #999;
}
.data_table TBODY TR:first-child TD{
border-top-color:#999;
}
.data_table THEAD TR TH:first-child,
.data_table TBODY TR TD:first-child{
border-left:none;
}



/*------------------------------------------------
  スマホ表示時にセルをスライドさせるタイプの表
------------------------------------------------*/
TABLE.float_table{
}

@media only screen and (min-width:541px) and (max-width:768px) {
	TABLE.float_table{
	width:100%;
	}
}
.float_table TH{
}
.float_table TD{
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	TABLE.float_table{
	border-top:none;
	border-right:none;
	}
	.float_table TH,
	.float_table TD{
	padding-right:3%;
	padding-left:3%;
	float:left;
	width:94%;
	}
	.float_table TH{
	border-top:1px solid #999;
	border-right:1px solid #999;
	border-bottom:1px solid #999;
	border-left:none;
	}
	.float_table TD{
	border-top:none;
	border-right:1px solid #999;
	border-bottom:none;
	border-left:none;
	}
	.data_table.float_table TR:nth-child(odd),	/* 奇数行に着色 */
	.color_table.float_table TR:nth-child(odd){	/* 奇数行に着色 */
	background:none;
	}
	.color_table.float_table TH,
	.color_table.float_table TD{
	border:none;
	}
}


/*------------------------------------------------
  スマホ表示時にセルをスライドさせるタイプの表(WIDE)
------------------------------------------------*/

.float_table_wide SPAN.t_label{
display:none;
}


@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.data_table.float_table_wide{
	border-top:none;
	border-right:none;
	border-left:none;
	}

	.float_table_wide THEAD{
	display:none;
	}
	.float_table_wide TBODY TD{
	padding:0 10px 10px 10px;
	display:block;
	border-top:none;
	border-bottom:none;
	}
	.float_table_wide TH SPAN.t_label{
	margin-right:1em;
	display:inline-block;
	font-size:87.5%;
	}
	.float_table_wide TD SPAN.t_label{
	margin:0 -10px 10px -10px;
	padding:5px 10px;
	display:block;
	border-top:1px solid #999;
	background:#DCDCDC;
	}
	.float_table_wide TD~TD SPAN.t_label{
	border-top:none;
	}
}


/*------------------------------------------------
  横長の表にスクロールバー設置
------------------------------------------------*/
/*------ scrollmessage表示の親要素（基点） ------*/
.scroll_table_box{
margin-top:1.5em;
position:relative;
z-index:1;
}
/*------ 横スクロールさせる表の親要素 ------*/
.scroll_table{
overflow-x:auto;
position:relative;
}


/*-----------------------------------------------
  スワイプメッセージ
------------------------------------------------*/
/*------ ボックス全体 ------*/
.scrollmessage {
position:absolute;
top:0;
left:0;
line-height:1.2;
text-align:center;
width:100%;
z-index:2;
}
/*------ 表示する中身 ------*/
.scrollmessage div.swipe {
padding:1em 0;
background:rgba(153,102,51,0.6);
color:#FFF;
height: auto;
/* overflow-y: hidden; */
z-index:3;
cursor: pointer;
text-align:center;

border-radius:0.5em 0.5em 0 0;
-webkit-border-radius:0.5em 0.5em 0 0;
-moz-border-radius:0.5em 0.5em 0 0;

}

/*------ アイコンを大きく ------*/
.scrollmessage .fa-solid{
margin:0.2em;
font-size:200%;
}


.scroll_table TABLE{
margin-top:0;
margin-bottom:0;
}

/*------ ブラウザ幅968px以下でスクロールメッセージ表示 ------*/
@media only screen and (min-width:968px) {
	.scrollmessage{
	display:none;
	}
}


/*------------------------------------------------
  テーブルレイアウト
------------------------------------------------*/
DIV.island,
TABLE.island,
UL.island,
OL.island,
DL.island{
margin-right:auto !important;	/* インデントリセット */
margin-left:auto !important;	/* インデントリセット */
display: table;
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	DIV.island,
	TABLE.island,
	UL.island,
	OL.island,
	DL.island{
	margin-right:0 !important;
	margin-left:0 !important;
	}
}







/*--------------------------------------------------------------------
  「トップページ」固有の設定
---------------------------------------------------------------------*/
/*------------------------------------------------
  トップページ スライド欄
------------------------------------------------*/

/*-----------------------------------------------
  トップページ「PR欄」共通
------------------------------------------------*/
.top_pr>*{
margin-right:auto;
margin-left:auto;
}


@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.top_pr.lv1{
	padding:4em 0;
	}
	.top_pr P{
	text-align:left;
	}
	.top_pr P BR{
	display:none;
	}
}


/*-----------------------------------------------
  トップページ「PR欄」メインタイトル
------------------------------------------------*/
#mainvisual{
background:#FFF url(img/bg.jpg) no-repeat center;
background-size:cover;
-webkit-background-size:cover;
-moz-background-size:cover;
-o-background-size:cover;
-ms-background-size:cover;
height:666px;
width:100%;
position:relative;
top:0;
text-shadow: 0.05em 0.05em 0.1em #630 , -0.05em -0.05em 0.1em #630;
}
#mainvisual H2{
margin:0 auto;
padding:250px 0 0 0;
font-size:300.0%;	/* 48px */
font-weight:600;
position:absolute;
transform : translate(-50%, 0);
top:0;
left:50%;
width:90%;
}
#mainvisual H2 .sitecopy{
margin:auto;
padding:0 0 8px 0;
display:table;
font-size:40%;
letter-spacing:0;
line-height:1.2;
font-weight:900;
}


#mainvisual H2 .text{
margin-top:1.0em;
font-weight:700;
font-size:33.3%;	/*16px*/
line-height:1.8;
}

#mainvisual .inline{
white-space: nowrap;
}
#mainvisual H2:not(.h1fixed){
display:table;
}
#mainvisual H2.h1fixed{
display:none;
}



@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#mainvisual{
	margin-top:-55px;
	height:auto;
	position:static;
	}
	#mainvisual H2{
	padding:120px 0 60px 0;
	position:static;
	transform : translate(0, 0);
	}
	#mainvisual H2 .sitecopy,
	#mainvisual H2>.inline{
	display:none;
	}

}
@media only screen and (max-width:320px) {	/* スマホS縦用 */
	#mainvisual H2{
	font-size:15.0vw;
	}
}



/*-----------------------------------------------
  トップページ「PR欄」ご挨拶・レッスン共通
------------------------------------------------*/
.photo-text ARTICLE{
display:table;
}
.photo-text ARTICLE>.image,
.photo-text ARTICLE>.text{
display:table-cell;
vertical-align:top;
}
.photo-text ARTICLE>.image{
max-width:300px;
}
.photo-text ARTICLE>.text{
text-align:left;
width : -webkit-calc(100% - 300px) ;
width : calc(100% - 300px);
}



/*-----------------------------------------------
  トップページ「PR欄」ご挨拶
------------------------------------------------*/

#top_greeting.photo-text ARTICLE>.text{
padding:5.0em 0 2.0em 40px;
}
#top_greeting H3 .eng{
margin-right:0;
margin-left:0;
}


/*-----------------------------------------------
  トップページ「PR欄」レッスン
------------------------------------------------*/
#top_lesson H3 .eng{
margin-right:0;
margin-left:0;
}

#top_lesson.photo-text{
background-image:url(img/sparklingbg.jpg);
}
#top_lesson.photo-text ARTICLE>.text{
padding:3.0em 40px 0 0;
}
#top_lesson .image{
margin-top:-7.0em;
}

#top_lesson .image,
#top_lesson .image IMG{
display:block;
}
#top_lesson .image::after{
content:"";
width:300px;
height:200px;
background-image:url(img/image02_reflection.png);
background-repeat:no-repeat;
background-position:center top;
display:block;
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	.photo-text ARTICLE{
	padding:0;
	display:block;
	}
	.photo-text ARTICLE>.image,
	.photo-text ARTICLE>.text{
	margin:auto;
	padding:0;
	display:block;
	}
	.photo-text ARTICLE>.image{
	max-width:100%;
	}
	.photo-text ARTICLE>.text{
	width : -webkit-calc(100% - 30px) ;
	width : calc(100% - 30px);
	}
	#top_greeting.photo-text ARTICLE>.text{
	padding:2.0em 0 0 0;
	}
	#top_lesson.photo-text ARTICLE>.text{
	padding:0 0 3.0em 0;
	}
	#top_lesson .image{
	margin-top:0;
	}
	#top_lesson .image::after{
	display:none;
	}
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.photo-text.lv2{
	padding:0;
	}
	.photo-text ARTICLE{
	width:100%;
	}

	#top_greeting.photo-text{
	padding-bottom:2.0em;
	}
	#top_lesson.photo-text{
	padding-top:2.0em;
	}

}

/*-----------------------------------------------
  トップページ「PR欄」スクール案内
------------------------------------------------*/
#top_school H3{
margin-bottom:2.0em;
}

#top_school H3+.content>*:first-child{
margin-top:0;
}
#top_school ARTICLE{
margin-bottom:-1px;
padding-top:1.5em;
padding-bottom:4.0em;
border:1px solid #FDDEA5; /* 蜂蜜色 */
}
#top_school ARTICLE:nth-of-type(odd){
border-right-color:#FFF;
}
#top_school ARTICLE:nth-of-type(even){
border-left-color:#FFF;
}

.top_school_item{
margin:0 auto;
display:table;
border-collapse: separate;
border-spacing:20px 20px;	/* 前の数字：横方向　後ろの数字 縦方向 */
width:100%;
}
.top_school_item>LI{
display:table-cell;
vertical-align:top;
text-align:left;
}
.top_school_info{
width:36%;
position:relative;
}
.top_school_map{
width:64%;
}
.top_school_map IFRAME{
display:block;
margin-bottom:1px;
vertical-align:top;
}

/*------ スクール名 ------*/
.top_school_item>LI H4{
margin-bottom:0.5em;
color:#555;
}
/*------ スクール連絡先 ------*/
LI.school_address{
margin:0;
}
SPAN.address01,
SPAN.address02{
display:inline-block;
}
SPAN.address01{
padding-right:0.25em;
}


#top_school .tellink{
font-size:125.0%;	/* 20px */
line-height:1.2;
}
LI.school_tel,
LI.school_fax{
padding-right:1.0em;
display:inline-block;
vertical-align:bottom;
}
LI.school_tel{
line-height:1.2;
}

LI.school_tel .label,
LI.school_fax .label{
padding-left:0;
line-height:1;
vertical-align:middle;
}
LI.school_tel .label{
font-size:80.0%;	/* 16px */
}
LI.school_fax .label{
font-size:90.0%;
}


LI.school_data{	/* 営業時間・定休日 */
padding-top:0.3em;
}
SPAN.data01,
SPAN.data02{
display:inline-block;
}
SPAN.data01{
padding-right:1.5em;
}



/*------ アクセスリンク ------*/
#top_school .links{
margin:1.0em 0 0 0;
position:absolute;
right:-180%;
top:100%;
text-align:right;
}
.top_school_item>LI IMG{
margin-top:2.0em;
display:block;
}





@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	#top_school ARTICLE{
	margin-bottom:15px;
	padding-bottom:0;
	}

	#top_school ARTICLE:nth-of-type(odd){
	border-right-color:#FDDEA5; /* 蜂蜜色 */
	}
	#top_school ARTICLE:nth-of-type(even){
	border-left-color:#FDDEA5; /* 蜂蜜色 */
	}
	.top_school_item{
	display:block;
	}
	.top_school_item>LI{
	display:block;
	}
	.top_school_info,
	.top_school_map{
	margin:0;
	width:100%;
	}
	.top_school_item>LI H4{
	margin-top:0.5em;
	padding:0 15px;
	}
	.top_school_item>LI UL{
	padding:0 15px;
	}
	#top_school .links{
	position:static;
	}


}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.top_school_map IFRAME{
	height:50vh;
	}
	SPAN.data01,
	SPAN.data02{
	padding-right:0;
	display:block;
	}
}



/*-----------------------------------------------
  トップページお知らせ欄
------------------------------------------------*/
#top_news{
padding:1px 0 5.0em 0;
color:#71686C; /* 紫鼠 */
}
#top_news_item{
margin:-55px auto auto auto;
display:table;
border-collapse: separate;
border-spacing:10px 10px;	/* 前の数字：横方向　後ろの数字 縦方向 */
width:100%;
max-width:1200px;
}
#top_news_item>LI{
padding:10px;
display:table-cell;
vertical-align:top;
}


/*------ 左側お知らせHTML欄 ------*/
#top_info H3{
margin-top:0.8em;
color:#F09199;	/* 桃色 */
}
#iframebox{
position: relative;
width: 100%;
height:580px;
padding-top: 56.25%;
overflow:auto; 
-webkit-overflow-scrolling:touch;
}

#iframebox IFRAME{
position:absolute;
top:0;
left:0;
width:100%;	/* 最小590px */
height:100%;
display:block;
border:0;
}


/*------ 右側ブログ欄 ------*/
#top_blog{
width:100%;
height:600px;
}
#top_info{
min-width:610px;
width : -webkit-calc(100% - 35% - 30px) ;
width : calc(100% - 35% - 30px );
}
#top_blog{
width:35%;
max-width:400px;
}
#rss_box{
height:630px;
width:100%;
text-align:left;
line-height:1.3;
}
#rss_box H3{
margin:0 auto;
padding:0.5em;
line-height:1.3;
text-align:center;
font-family:'Open Sans', 'Zen Kaku Gothic Antique', sans-serif;
font-size:112.5%;	/* 18px */
font-weight:500;
}
#rss_box H3 IMG{
margin:0.5em auto;
display:block;
}

#top_blog IFRAME{
margin:0;
padding:0;
border:0;
width:100%;
height:100%;
}




#top_news H4{
margin-top:2.0em;
letter-spacing:0.1em;
}
#top_news H4 .jp{
margin-top:0.8em;
font-weight:500;
}


/*------ SNS欄 ------*/
#top_news_sns.icon{
font-weight:500;
}
#top_news_sns.icon LI{
padding:0.5em 1.0em 1.0em 1.0em;
}

#top_news_sns.icon A{
color:#71686C; /* 紫鼠 */
}

#top_news_sns.icon LI A>[class^="fa-"]{
margin-right:0.25em;
font-size:175.0%;	/* 28px */
}
SPAN.fa-stack{	/* メルマガ登録 アイコン2重 */
display:inline-block;
height:1.0em;
width:1.0em;
}
SPAN.fa-stack .fa-envelope{
margin-top:0.1em;
margin-left:0.5em;
font-size:65%;
transform: rotate(-30deg);
-webkit-transform: rotate(-30deg);
-moz-transform: rotate(-30deg);
-o-transform: rotate(-30deg);
-ms-transform: rotate(-30deg);
text-shadow: 0.05em 0.05em 0 #F5B2AC,-0.05em -0.05em 0 #F5B2AC;
}
@media only screen and (min-width:768px) and (max-width:950px) {	/* 幅の狭いPC用 */
	#top_info{
	min-width:auto;
	min-width:initial;
	}
	#rss_box H3{
	font-size:1.75vw;
	}

}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	#top_news_item{
	display:block;
	}
	#top_news_item>LI{
	width:100%;
	display:block;
	max-width:auto;
	max-width:initial;
	min-width:auto;
	min-width:initial;
	}
	#top_info #iframebox{
	height:70vh;
	}
	#top_blog{
	margin-top:10px;
	height:auto;
	}
	#rss_box{
	height:auto;
	}
	#rss{
/*	height:60vh; */
	}


	#top_news_sns.icon LI A>[class^="fa-"]{
	margin:0 auto;
	display:block;
	font-size:175.0%;	/* 28px */
	}
}
@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
	#top_news_item{
	margin-top:20px;
	display:block;
	width : -webkit-calc(100% - 40px) ;
	width : calc(100% - 40px );
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#top_news_item{
	margin-top:10px;
	width : -webkit-calc(100% - 20px) ;
	width : calc(100% - 20px );
	}
	#top_info H3{
	margin-top:0;
	}
}
@media only screen and (max-width:330px) {	/* スマホS縦用 */
	#rss_box H3{
	font-size:5.3vw;
	}

}



/*-----------------------------------------------
  トップページ集合写真欄
------------------------------------------------*/
#footer_photo IMG{
display:block;
}

/*--------------------------------------------------------------------
  「コンテンツ」共通の設定
--------------------------------------------------------------------*/
MAIN>ARTICLE>SECTION.flexbox{
margin-top:1.0em;
justify-content: space-between;
}
MAIN>ARTICLE>SECTION.flexbox>.text{
width : -webkit-calc(100% - 40% - 50px) ;
width : calc(100% - 40% - 50px);
}
MAIN>ARTICLE>SECTION.flexbox .image_photo{
padding-top:1.0em;
width:40%;
}
MAIN>ARTICLE>SECTION.flexbox IMG.image_photo,
MAIN>ARTICLE>SECTION.flexbox .image_photo IMG{
width:auto;
display:block;
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	MAIN>ARTICLE>SECTION.flexbox>.text,
	MAIN>ARTICLE>SECTION.flexbox .image_photo{
	width:100%;
	}
}

MAIN>ARTICLE>SECTION.flexbox .image_photo IMG{
margin:auto;
display:block;
}
MAIN>ARTICLE>SECTION.flexbox .image_photo.stack IMG{
position:relative;
}


/*--------------------------------------------------------------------
  「レッスン」固有の設定
--------------------------------------------------------------------*/

/*------------------------------------------------
  レッスンコース
------------------------------------------------*/
#course SECTION .text{
text-align:left;
}

#course SECTION.flexbox .links{
margin:-1.0em 0 0 auto;
display:table;
}

/*------------------------------------------------
  料金
------------------------------------------------*/
#fee SECTION.flexbox{
flex-direction: row-reverse;	/* 順序変更「画像を前に」 */
}
#fee SECTION.flexbox .image_photo.stack .stack01,
#fee SECTION.flexbox .image_photo.stack .stack02{
position:relative;
width : -webkit-calc(100% - 30px) ;
width : calc(100% - 30px);
}

#fee SECTION.flexbox .image_photo.stack .stack01{
margin:0 0 0 auto;
padding-left:30px;
z-index:2;
max-width:300px;
}
#fee SECTION.flexbox .image_photo.stack .stack02{
margin:-30px 30px 0 auto;
z-index:1;
}
.price{
word-spacing:1.5em;
}
.price H5{
margin-bottom:0.1em;
display:inline-block;
}


@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
	#fee SECTION.flexbox .image_photo.stack{
	margin:auto;
	max-width:600px;
	}
	#fee SECTION.flexbox .image_photo.stack .stack01,
	#fee SECTION.flexbox .image_photo.stack .stack02{
	margin:0;
	padding:0;
	display:inline-block;
	width:48%;
	}
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.price H5{
	margin-left:-0.3em;
	display:block;
	}
	#lesson #fee SECTION.flexbox .image_photo IMG{
	max-width:initial !important;
	}

	#fee SECTION.flexbox .image_photo.stack .stack01,
	#fee SECTION.flexbox .image_photo.stack .stack02{
	margin:0.5em auto;
	padding:0;
	width:100%;
	}

	#fee P{
	margin:auto;
	display:table;
	}
}

/*------------------------------------------------
  サークルスケジュール
------------------------------------------------*/
[id^="schedule_item"] .scroll_table{
border:1px solid #999;
}

[id^="schedule_item"] TABLE{
width:100%;
border:none;
}
@media only screen and (max-width:968px) {
	[id^="schedule_item"] TABLE{
	width:980px;
	}
}

[id^="schedule_item"] TBODY TR>*{
vertical-align:top;
background:rgba(255,245,238,0.1);	/* Seashell #FFF5EE 10% */
}
[id^="schedule_item"] TD>SPAN{
display:block;
}
[id^="schedule_item"] TD>SPAN.time{
font-weight:500;
}

[id^="schedule_item"] TD>SPAN.title{
font-size:112.5%;	/* 18px */
font-weight:500;
color:#EE827C;	/* 甚三紅 */
}
[id^="schedule_item"] TD>.instructor{
margin-bottom:0.5em;
padding-bottom:0.5em;
border-bottom:1px dotted #DCDCDC;	/* flamingo pink */
}
[id^="schedule_item"] TD>.fee{
font-size:93.75%;	/* 15px */
}

/*--------------------------------------------------------------------
  「フリーダンスタイム」固有の設定
--------------------------------------------------------------------*/
#freedancetime-schedule.check{
text-align:center;
font-size:125.0%;	/* 20px */
font-weight:500;
}
#freedancetime-schedule.check H4{
margin-top:0;
margin-bottom:1.0em;
}
#freedancetime-schedule UL+UL{	/* フリーダンスタイムの日程2回目がある場合 */
padding-top:1.0em;
border-top:1px solid #FFF;
}


.contact_list.inline.table,
.contact_list.inline.table>LI{
text-align:center !important;
}
.contact_list.inline.table>LI{
padding:1.0em;
}
.contact_list A{
font-size:125.0%;	/* 20px */
}
@media only screen and (min-width:769px) {	/* PC以上用 */
	#freedancetime-routine .image_photo{
	margin-top:-7.0em;
	}

}
@media only screen and (min-width:768px) and (max-width:900px) {	/* 幅の狭いPC用 */
	#freedancetime-routine H3{
	font-size:187.5%;	/* 30px */
	}
	.sp_list LI{
	padding-left:2.0em;
	text-indent:0;
	position:relative;
	}
	.sp_list.type_fa.size_m A::before,
	.sp_list LI.type_fa.size_m::before{
	position:absolute;
	top:-0.2em;
	left:0;
	font-size:125.0%;	/* 20px */
	}
}
@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
	#freedancetime-routine P{
	text-align:center;
	}
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#freedancetime-schedule H4{
	margin-right:auto;
	margin-left:auto;
	width : -webkit-calc( 100% - 1.0em );
	width : calc( 100% - 1.0em );
	display:table;
	}
	#freedancetime-routine P{
	text-align:left;
	}
	#freedancetime #entryguide.type_fa A[href^="mailto"]{
	text-decoration:none;
	}
	#freedancetime #entryguide.type_fa A[href^="mailto"]::before{
	margin:auto;
	display:block;
	}

}

/*--------------------------------------------------------------------
  「スタッフ」固有の設定
--------------------------------------------------------------------*/
#staff ARTICLE{
border-bottom:1px solid #FDDEA5;	/* 蜂蜜色 */
}
MAIN>ARTICLE[id^="profile_"]>SECTION{	/* プロフィール枠 */
width:65%;
}
MAIN>ARTICLE[id^="profile_"] >DIV.image_photo.dancing{	/* ダンスシーン枠 */
width:35%;
}
MAIN>ARTICLE[id^="profile_"] >DIV.image_photo.dancing>IMG{	/* ダンスシーン画像 */
padding:1.0em;
}

#staff H4.name{
margin-bottom:2.0em;
padding:2.0em 0;
font-family:'Zen Old Mincho', serif;
color:#555;
font-weight:600;
border-bottom:1px solid #F09199;	/* 桃色 */
}
#staff H4.name .eng{
margin-top:0.5em;
display:block;
font-size:80.0%;	/* 16px */
}

/*------ 相談役 ------*/
SECTION.flexbox#sato{
align-items: center;	/* 要素を横中央揃え */
flex-direction: row-reverse;	/* 順序変更「画像を前に」 */
}
SECTION.flexbox#sato H4.name{
margin-bottom:3.0em;
padding:3.0em 0;
}


/*------------------------------------------------
  プロフィール
------------------------------------------------*/
BODY:not(#home) ARTICLE[id^="profile_"].flexbox{	/* プロフィール枠とダンスシーンは横中央揃え */
padding-top:0;
padding-bottom:0;
align-items:center;
}
/*------ お一人掲載（結城良太先生） .flexbox.single ------*/
BODY:not(#home) ARTICLE[id^="profile_"].flexbox.single{	/* 結城良太先生 */
align-items: stretch;	/* 子要素の高さを揃える */
}
MAIN>ARTICLE[id^="profile_"].single >DIV.image_photo.dancing{	/* ダンスシーン枠 */
position:relative;
}
MAIN>ARTICLE[id^="profile_"].single >DIV.image_photo.dancing::before{
content:"";
border-left:1px solid #FDDEA5; /* 蜂蜜色 */
position:absolute;
left:-1px;
top:0;
bottom:0;
z-index:1;
}
[id^="profile_"].single .flexbox:nth-child(1){
border-right:1px solid #FFF;
z-index:2;
position:relative;
}



[id^="profile_"] .flexbox{	/* プロフィール枠内 画像とプロフィールは下揃え */
align-items: flex-end;
}
[id^="profile_"] .flexbox:nth-child(1){
border-bottom:1px solid #FDDEA5;	/* 蜂蜜色 */
border-left:1px solid #FDDEA5;	/* 蜂蜜色 */
}
[id^="profile_"] .flexbox:nth-child(2){
border-right:1px solid #FDDEA5;	/* 蜂蜜色 */
}

[id^="profile_"] .flexbox IMG.image_photo{
width:40%;
max-width:300px;
display:block;
}
[id^="profile_"] .flexbox .text{
padding:1.0em;
text-align:left;
width:60%;
}


[id^="profile_"] H5{
margin:0;
font-size:100.0%;	/* 16px */
}
[id^="profile_"] H5+UL{	/* レッスン料リスト */
margin:0 auto;
padding-top:0.5em;
padding-bottom:0.5em;
}

[id^="profile_"] UL[class^="profile_"]>LI{ 
margin:0.1em 0;
}
[id^="profile_"] UL.profile_qa>LI, 
[id^="profile_"] UL.profile_qa>LI>SPAN.q{
display:inline-block;
}
.profile_qa .q{
padding:0.15em 0;
font-size:87.5%;	/* 14px */
color:#800000;	/* Maroon */
}
.profile_qa .a{
padding:0 0.8em 0 0.5em;
}
.profile_qa .q::after{
content:":";
}

/*------ 戦績リスト ------*/
DL.awards{
padding:0.5em 1.0em;
}
.awards DT{
margin-bottom:0.75em;
padding:0.5em 0.25em;
border-bottom:1px solid #F09199;	/* 桃色 */
font-size:100.0%;	/* 16px */
font-weight:500;
}
.awards DD{
margin-left:0;
padding-top:0.25em;
padding-bottom:0.25em;
}

@media only screen and (max-width:980px) {	/* 狭いPC以下用 */
	MAIN>ARTICLE[id^="profile_"]>SECTION,	/* プロフィール枠 */
	MAIN>ARTICLE[id^="profile_"] >DIV.image_photo.dancing{	/* ダンスシーン枠 */
	width:100%;
	}
	[id^="profile_"] .flexbox:nth-child(2){
	flex-direction: row-reverse;	/* 順序変更「画像を右に」 */
	border-bottom:1px solid #FDDEA5;	/* 蜂蜜色 */
	}
	[id^="profile_"] H5+UL{	/* レッスン料リスト */
	padding-bottom:0;
	}

	MAIN>ARTICLE[id^="profile_"] >DIV.image_photo.dancing{	/* ダンスシーン枠 */
	display:table;
	border-left:1px solid #FDDEA5;	/* 蜂蜜色 */
	}
}
@media only screen and (min-width:768px) and (max-width:980px) {	/* 幅の狭いPC用 */

	MAIN>ARTICLE>SECTION.flexbox#sato>.text{	/* 相談役 */
	width:60%;
	}
	MAIN>ARTICLE>SECTION.flexbox#sato>.text UL,
	MAIN>ARTICLE>SECTION.flexbox#sato>.text P{
	padding-right:2.0em;
	}

	MAIN>ARTICLE[id^="profile_"] >DIV.image_photo.dancing{	/* ダンスシーン枠 */
	display:table;
	}
	MAIN>ARTICLE[id^="profile_"] >DIV.image_photo.dancing>IMG{	/* ダンスシーン画像 */
	padding-right:0;
	display:table-cell;
	vertical-align:middle;
	}
	DL.awards{
	padding-left:0;
	display:table-cell;
	vertical-align:middle;
	}
	DL.awards DT{
	padding-left:1.0em;
	}
	DL.awards DD{
	margin-left:1.0em;
	}
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	#staff H4.name{
	margin:0;
	padding:0 0 1.0em 0;
	}
	SECTION.flexbox#sato>.text {
	width:100% !important;
	}

	SECTION.flexbox#sato H4.name{
	margin-top:0;
	margin-bottom:1.0em;
	padding-bottom:1.0em;
	}
}

@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */

	MAIN>ARTICLE[id^="profile_"] >DIV.image_photo.dancing{	/* ダンスシーン枠 */
	display:table;
	}
	MAIN>ARTICLE[id^="profile_"] >DIV.image_photo.dancing>IMG{	/* ダンスシーン画像 */
	padding-right:0;
	display:table-cell;
	vertical-align:middle;
	}
	DL.awards{
	padding-left:0;
	display:table-cell;
	vertical-align:middle;
	}
	DL.awards DT{
	display:block;
	padding-left:1.0em;
	}
	DL.awards DD{
	margin-left:1.0em;
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	[id^="profile_"]+[id^="profile_"]{
	margin-top:10px;
	border-top:1px solid #FDDEA5;	/* 蜂蜜色 */
	}
	[id^="profile_"] .flexbox IMG.image_photo,
	[id^="profile_"] .flexbox .text{
	width:100%;
	}
	[id^="profile_"] .flexbox:nth-child(1){
	border-right:1px solid #FDDEA5;	/* 蜂蜜色 */
	}
	[id^="profile_"] .flexbox:nth-child(2){
	border-left:1px solid #FDDEA5;	/* 蜂蜜色 */
	}
	.image_photo.dancing{
	border-right:1px solid #FDDEA5;	/* 蜂蜜色 */
	}

	[id^="profile_"] .flexbox .text{
	background:rgba(253,222,165,0.5);	/* 蜂蜜色 50% */
	}
	DL.awards{
	margin-top:0;
	padding-top:0;
	}
	[id^="profile_"].single .flexbox:nth-child(1){
	border-right:1px solid #FDDEA5;	/* 蜂蜜色 */
	}
	MAIN>ARTICLE[id^="profile_"].single >DIV.image_photo.dancing::before{
	display:none;
	}

}


/*------------------------------------------------
  スタッフ勤務表
------------------------------------------------*/
#staff #schedule{
margin-top:3.0em;
}
#schedule_item_staff TBODY TR>*{
vertical-align:middle;
}



/*--------------------------------------------------------------------
  「アクセス」固有の設定
--------------------------------------------------------------------*/
#access .googlemap+P{
margin-top:1px;
}
.subway::before{
content:"\f239";
}
.bus::before{
content:"\f207";
}
.parking::before{
content:"\f5e4";
}

.trafic_list LI{
padding-left:3.5em;
text-indent:-3.5em;
}
.trafic_list LI::before{
width:1.5em;
}

/*------------------------------------------------
  Google Map
------------------------------------------------*/
IFRAME.googlemap{
margin:auto;
display:block;
width:100%;
max-width:1024px;
}

/*------------------------------------------------
  スクール情報
------------------------------------------------*/
#access #guide H3 .extrasmall{
margin-top:0.5em;
letter-spacing:1px;
display:block;
font-size:50%;
font-family:'Open Sans', 'Zen Kaku Gothic Antique', sans-serif;
font-weight:400;
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	#access .contact_list LI:first-child{
	display:block;
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.trafic_list LI{
	padding-left:2.5em;
	text-indent:-2.5em;
	}
	.trafic_list LI.type_fa.size_m::before{
	font-size:125.0%;	/* 20px */
	}



	IFRAME.googlemap{
	height:350px;
	}
}




/*--------------------------------------------------------------------
  「個人情報保護方針 プライバシーポリシー」固有の設定
--------------------------------------------------------------------*/
#privacypolicy SECTION.text{
max-width:900px;
padding-left:2.0em;
}
#privacypolicy H3{
padding-left:0;
text-indent:-1.35em;
font-size:125.0%;	/* 20px */
font-weight:400;
font-family:'Open Sans', 'Zen Kaku Gothic Antique', sans-serif;
}
#privacypolicy H3+*,
#privacypolicy H4+*{
margin-top:0;
}
#privacypolicy H4{
margin-left:0;
display:table;
font-size:112.5%;	/* 18px */
text-align:left;
}
#privacypolicy #lead{
margin-bottom:-3.0em;
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#privacypolicy H3{
	padding-left:0;
	text-indent:-1.05em;
	}
	#privacypolicy #lead{
	text-align:left;
	}
	#privacypolicy #lead .inline{
	display:inline;
	}
	#privacypolicy SECTION.text{
	padding-left:1.0em;
	}

}



/*--------------------------------------------------------------------
  「コンテンツ」固有の設定
--------------------------------------------------------------------*/

/*------------------------------------------------
  リボン
/* 折り返しタイプ */
外側のSPANに右の折り返し
内側のSPANに左の折り返し
<SPAN class="ribbon"><SPAN><SPAN>無料</SPAN></SPAN></SPAN>

------------------------------------------------*/

.ribbon{
margin-bottom:10px;
display: inline-block;
position: relative;
text-align: center;
z-index:1;
}
.ribbon>SPAN{	/* 左側の折り返し用 */
display: block;
position: relative;
}
.ribbon>SPAN>SPAN{
margin:auto;
padding:0.2em 1.0em;
color:#FFF;
background:#EE827C;	/* 甚三紅 */
display: block;
z-index: 4;
position: relative;
}
.ribbon>SPAN::before,
.ribbon>SPAN::after,
.ribbon::before,
.ribbon::after{
content: "";
position: absolute;
width: 0;
height: 0;
}
.ribbon>SPAN::before,	/* 折り返し影（左） */
.ribbon::before{		/* 折り返し影（右） */
top:auto;
bottom: -5px;
border-style: solid;
z-index: 3;
}
.ribbon>SPAN::before{	/* 折り返し影（左） */
left: 0;
border-color: transparent #CD5C5C transparent transparent ;	/* IndianRed */
border-width: 0 0.5em 5px 0;
}
.ribbon::before{		/* 折り返し影（右） */
right: 0;
border-color: transparent transparent transparent #CD5C5C;	/* IndianRed */
border-width: 0 0 5px 0.5em;
}


.ribbon>SPAN::after,	/* 折り返し（左） */
.ribbon::after{			/* 折り返し（右） */
top:auto;
bottom: -6px;
width: 0.5em;	/* 長さ */
border: 0.8em solid #EB7872;	/* 甚三紅+15% */
z-index: 2;
}
.ribbon>SPAN::after{	/* 折り返し（左） */
left: -1.6em;
right:auto;
border-left-color: transparent;
}
.ribbon::after{			/* 折り返し（右） */
left:auto;
right: -1.6em;
border-right-color: transparent;
}

@media only screen and (max-width:590px) {	/* スマホ縦用 */
	.ribbon>SPAN::after,	/* 折り返し（左） */
	.ribbon::after{			/* 折り返し（右） */
	width: 0;	/* 長さ */
	}
	.ribbon>SPAN::after{	/* 折り返し（左） */
	left: -1.1em;
	}
	.ribbon::after{			/* 折り返し（右） */
	right: -1.1em;
	}


}


/*------------------------------------------------
  OLリスト 自動ナンバリング + 丸数字
------------------------------------------------*/
OL.autonumbering{
list-style-position:inside;
}
DL.autonumbering>DT,
OL.autonumbering>LI{
margin-left:2.5em;
padding-top:0.3em;
padding-bottom:0.3em;
padding-left:0.5em;
counter-increment: cnt;
list-style-type:none;
position:relative;
}
OL.flow.autonumbering>LI{
margin-left:0;
padding-left:3.0em;
}
DL.autonumbering>DT::before,
OL.autonumbering>LI::before{
padding:0.26em 0 0.24em 0;
display: marker;
content: counter(cnt);
background:#90D5F0;	/* SkyBlue + */
color:#FFF;
width:1.5em;
line-height:1.0;
text-align:center;
border-radius:50%;
-webkit-border-radius:50%;
-moz-border-radius:50%;
letter-spacing:0;
font-size:125.0%;	/* 20px */
position:absolute;
right:100%;
top:0;
}
OL.flow.autonumbering>LI::before{
top:0.7em;
left:0.5em;
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	OL.flow.autonumbering>LI{
	padding-left:1.0em;
	}
	OL.flow.autonumbering>LI::before{
	top:-0.7em;
	left:50%;
	transform : translate(-50%, 0);

	}

}

/*-----------------------------------------------
  flexbox レイアウトをレスポンシブで可変
------------------------------------------------*/
BODY .flexbox{
margin:auto;
display : -webkit-box;     /* old Android */
display : -webkit-flex;    /* Safari etc. */
display : -ms-flexbox;     /* IE10        */
display : flex;
-webkit-flex-wrap: wrap;          /* Safari etc. */
-ms-flex-wrap    : wrap;          /* IE10        */
flex-wrap        : wrap;
align-items: stretch;	/* 子要素の高さを揃える */
justify-content:center;	/* 左右中央揃え（センタリング） */
}
.flexbox.space-between{
justify-content: space-between;
background:orange;
}
.flexbox.space-around{
justify-content: space-around;
}
.flexbox.start{
justify-content:flex-start;	/* 左揃え（初期値） */
}
.flexbox.end{
justify-content:flex-end;	/* 右揃え */
}
.flexbox.startalign{
align-items: flex-start;	/* 子要素の高さを揃えず上に付ける */
}
.flexbox.center{
align-items: center;	/* 子要素の高さを揃えず天地中央に置く */
}


/*-----------------------------------------------
  ふわっと表示　じわじわ(with JavaScript)
------------------------------------------------*/
.effect-fade {
opacity : 0;
transition : opacity 1500ms;
}
.effect-move{
opacity : 0;
transform : translate(0, 10vh);
transition : opacity 2500ms, transform 1500ms;
}

.effect-fade.effect-scroll {
opacity : 1;
}
.effect-move.effect-scroll {
opacity : 1;
transform : translate(0, 0);
}

/*------------------------------------------------
  斜め
------------------------------------------------*/
/*------ 右上がり3° ------*/
.naname{
transform: rotate(-3deg);
-webkit-transform: rotate(-3deg);
-moz-transform: rotate(-3deg);
-o-transform: rotate(-3deg);
-ms-transform: rotate(-3deg);

}
/*------ 右下がり3° ------*/
.naname-{
transform: rotate(3deg);
-webkit-transform: rotate(3deg);
-moz-transform: rotate(3deg);
-o-transform: rotate(3deg);
-ms-transform: rotate(3deg);
}



/*------------------------------------------------
  画像を背景に
------------------------------------------------*/
.photobg{
background-repeat:no-repeat;
background-size: cover;
-moz-background-size:cover;
-webkit-background-size:cover;
-o-background-size:cover;
-ms-background-size:cover;
background-position:center;
}

/*------ 背景色 ------*/
.whitebg{
background-color:#FFF;
}
.pinkbg{
background-color:#F5B2AC;	/* flamingo pink */
}
.lightpinkbg{
background:rgba(245,178,172,0.3);	/* flamingo pink 30% */
}




/*------------------------------------------------
  ギャラリー表示（Magnific-Popup-master）
------------------------------------------------*/
.gallery-popup A{
position:relative;
display:block;
outline:none;
text-decoration:none;
cursor: url(img/magnify_plus.cur), pointer;	/* カーソルを虫眼鏡に */
}
.gallery-popup A:hover{
opacity:0.8;	/* Safari,Opera,Chrome */
filter:alpha(opacity=80); 	/* IE8,IE7 */
-ms-filter:"alpha(opacity=80)";	/* IE8 */
-moz-opacity: 0.8;	/* FireFox */
zoom:1;
}


/* 
====== Zoom effect ======
*/
.mfp-zoom-in {
  /* start state */
  /* animate in */
  /* animate out */
}
.mfp-zoom-in .mfp-with-anim {
  opacity: 0;
  transition: all 0.5s ease-in-out;	/* 初期値0.3 */
  transform: scale(1.0);	/* 初期値0.8 */
}
.mfp-zoom-in.mfp-bg {
  opacity: 0;
  transition: all 0.3s ease-out;
}
.mfp-zoom-in.mfp-ready .mfp-with-anim {
  opacity: 1;
  transform: scale(1);
}
.mfp-zoom-in.mfp-ready.mfp-bg {
  opacity: 0.8;
}
.mfp-zoom-in.mfp-removing .mfp-with-anim {
  transform: scale(0.8);
  opacity: 0;
}
.mfp-zoom-in.mfp-removing.mfp-bg {
  opacity: 0;
}


/*------------------------------------------------
  スマホ・タブレットで別画面表示ズーム
------------------------------------------------*/
@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	A.zoom,
	.zoom A{
	padding:10px;
	position:relative;
	border:1px solid #CCC;
	display:block;
	outline:none;
	text-decoration:none;
	}
	A.zoom::after,
	.zoom A::after{
	position:absolute;
	bottom:0;
	right:0;
	display:inline-block;
	width:24px;
	line-height:24px;
	font-family: "Font Awesome 6 Free";
	content:"\f00e";
	font-weight:bold;
	font-size:20px;
	}
}

/*------------------------------------------------
  アイテム横並び .flexbox
------------------------------------------------*/
UL.item{
}
UL.item>LI{
margin-top:1.5em;
padding:0;
text-indent:0;
}
UL.item.margin>LI{
margin-top:3.0em;
}

UL.item.padding>LI{
padding:1.0em;
}
UL.item>LI::before{
display:none !important;
}

UL.item>LI>*{
margin-bottom:0;
}
UL.item>LI :first-child{
margin-top:0;
}

/*------ 2列 ------*/
UL.item.part2>LI{	/* □1.5□ */
width : -webkit-calc( (100% - 1.5em) / 2 );
width : calc( (100% - 1.5em) / 2 );
}
UL.item.part2.margin>LI{	/* □3.0□ */
width : -webkit-calc( (100% - 3.0em) / 2 );
width : calc( (100% - 3.0em) / 2 );
}
UL.item.part2>LI:nth-child(even){	/* 偶数 */
margin-left:1.5em;
}
UL.item.part2.margin>LI:nth-child(even){	/* 偶数 */
margin-left:3.0em;
}


/*------ 3列 ------*/
UL.item.part3>LI{	/* □1.5□1.5□ */
width : -webkit-calc( (100% - 3.0em) / 3 );
width : calc( (100% - 3.0em) / 3 );
}
UL.item.part3.margin>LI{	/* □3.0□3.0□ */
width : -webkit-calc( (100% - 6.0em) / 3 );
width : calc( (100% - 6.0em) / 3 );
}
UL.item.part3>LI:nth-child(3n+2){	/* 2、5、8番目… */
margin-right:1.5em;
margin-left:1.5em;
}
UL.item.part3.margin>LI:nth-child(3n+2){	/* 2、5、8番目… */
margin-right:3.0em;
margin-left:3.0em;
}
UL.item.part3.space-between::after{	/* ダミーカラム */
content:"";
display: block;
width : -webkit-calc( (100% - 3.0em) / 3 );
width : calc( (100% - 3.0em) / 3 );
}

UL.item.part3.space-between.margin::after{	/* ダミーカラム */
content:"";
display: block;
width : -webkit-calc( (100% - 6.0em) / 3 );
width : calc( (100% - 6.0em) / 3 );
}


/*------ 4列 ------*/
UL.item.part4>LI{	/* □1.5□1.5□1.5□ */
margin-left:1.5em;
width : -webkit-calc( (100% - 4.5em) / 4 );
width : calc( (100% - 4.5em) / 4 );
}
UL.item.part4>LI:nth-child(4n+1){	/* 1、5、9番目… */
margin-left:0;
}

@media only screen and (min-width:768px) and (max-width:900px) {	/* 幅の狭いPC用 */
	UL.item.part4>LI{	/* □1.5□1.5□ */
	width : -webkit-calc( (100% - 3.0em) / 3 );
	width : calc( (100% - 3.0em) / 3 );
	}

	UL.item.part4>LI:nth-child(4n+1){	/* 1、5、9番目… */
	margin-left:1.5em;
	}
	UL.item.part4>LI:nth-child(3n+1){	/* 1、4、7番目… */
	margin-left:0;
	}
	UL.item.part4.space-between::after{	/* ダミーカラム */
	margin-left:1.5em;
	content:"";
	display: block;
	width : -webkit-calc( (100% - 3.0em) / 3 );
	width : calc( (100% - 3.0em) / 3 );
	}


}
@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	UL.item.part3:not(.tab2)>LI,
	UL.item.part2:not(.tab2)>LI{
	margin-right:0 !important;
	margin-left:0 !important;
	width:100% !important;
	}
}
@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
	UL.item.part3.tab2>LI:nth-child(3n+2){	/* 2、5、8番目… */
	margin-right:0;
	margin-left:0;
	}
	UL.item.part3.tab2>LI:nth-child(even){	/* 偶数 */
	margin-left:1.5em;
	}
	UL.item.part3.tab2.margin>LI:nth-child(even){	/* 偶数 */
	margin-left:3.0em;
	}
	UL.item.part4>LI,
	UL.item.tab2>LI{	/* □1.5□ */
	width : -webkit-calc( (100% - 1.5em) / 2 );
	width : calc( (100% - 1.5em) / 2 );
	background:orange;
	}
	UL.item.tab2.margin>LI{	/* □3.0□ */
	width : -webkit-calc( (100% - 3.0em) / 2 );
	width : calc( (100% - 3.0em) / 2 );
	}
	UL.item.part4>LI:nth-child(odd){	/* 奇数 */
	margin-left:0;
	}
	UL.item.part4>LI:nth-child(even){	/* 偶数 */
	margin-left:1.5em;
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	UL.item.part4>LI{
	margin-right:0 !important;
	margin-left:0 !important;
	width:100%;
	}
}



/*------------------------------------------------
  左右振り分け 任意の幅
------------------------------------------------*/
.layoutbox{
margin:auto;
}
.layoutbox>*:nth-child(1){
float:left;
}
.layoutbox>*:nth-child(2){
float:right;
}
.layoutbox>LI>P{
line-height:1.8;
}


/*------ 4:6 ------*/
.layoutbox .w40p{
width : -webkit-calc(40% - 25px) ;
width : calc(40% - 25px);
}
.layoutbox .w60p{
width : -webkit-calc(60% - 25px) ;
width : calc(60% - 25px);
}

/*------ 4.5:5.5 ------*/
.layoutbox .w45p{
width : -webkit-calc(45% - 25px) ;
width : calc(45% - 25px);
}
.layoutbox .w55p{
width : -webkit-calc(55% - 25px) ;
width : calc(55% - 25px);
}

/*------ 5:5 ------*/
.layoutbox .w50p{
width : -webkit-calc(50% - 25px) ;
width : calc(50% - 25px);
}





@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	.layoutbox>*:nth-child(1),
	.layoutbox>*:nth-child(2){
	float:none;
	width:100%;
	}
}



/*------------------------------------------------
  電話番号自動リンク(with JavaScript)
------------------------------------------------*/
A.tellink {
pointer-events: none;	/* PCの時はリンクしない */
cursor: default;
text-decoration: none;
display:inline-block;
}
A.tellink.tel {
pointer-events: auto;
}



/*------------------------------------------------
  上部サブメニュー
------------------------------------------------*/


/*------------------------------------------------
  丸数字
------------------------------------------------*/
.number{
display:inline-block;
background:#246995;	/* 薄青 */
color:#FFF;
width:1.5em;
line-height:1.5;
text-align:center;
}
H4 .number{
margin-right:0.3em;
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	H4 .number{
	margin-left:-2%;
	}

}


/*------------------------------------------------
  ラベル
------------------------------------------------*/
.label{
margin-right:auto;
padding:0 0.5em;
display: inline-block;
width:auto;
text-align:center;
vertical-align:text-bottom;
}







/*------------------------------------------------
  2列の表のようなDLリスト
------------------------------------------------*/
.content .dl_table{
}
.content .dl_table DT{
margin:6px 0;
padding:3px 0.5em 5px 0.5em;
clear:left;
float:left;
display:inline;
width:9em;	/* 10em */
background:#FCE9F2;	/* 赤紫15% */
text-align:center;
font-size:100.0%;	/* 16px */
font-weight:normal;
text-align:center;
}

.content .dl_table DD{
margin:0 0 10px 0;
padding:10px 0 0 12em;
background:url(img/spacer.gif) no-repeat;	/* Android4.0対策 */
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.content .dl_table{
	background:none;
	}
	.content .dl_table DT{
	width:auto !important;
	float:none;
	display:block;
	text-align:left;
	}
	.content .dl_table DD+DT{
	margin-top:20px;
	}
	.content .dl_table DT BR{
	display:none;
	}
	.content .dl_table DD{
	margin:0 0 10px 0;
	padding:0 5px !important;
	}

}

/*------------------------------------------------
  レイアウト
------------------------------------------------*/
.inline{
display:inline-block;
}
.block{
margin-right:auto;
margin-left:auto;
display:block;
}
.table{
margin-right:auto;
margin-left:auto;
display:table;
width:auto;
}


.relative{
position:relative;
}
.absolute{
position:absolute;
}
.x50y50{
transform : translate(-50%, -50%);
top:50%;
left:50%;
}
.x0y50{
transform : translate(0, -50%);
top:50%;
left:0;
}
.x50y0{
transform : translate(-50%,0);
top:0;
left:50%;
}
/*------------------------------------------------
  準備中表示
------------------------------------------------*/
.content .underconstruction{
margin:30px auto;
padding:150px 0 100px 0;
background-image:url(img/comingsoon.png);
background-position:center 30px;
background-repeat:no-repeat;
text-align:center;
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.content .underconstruction{
	padding:30px 0;
	background-position:center;
	}
}


/*------------------------------------------------
  区切りのスラッシュ / 表示
------------------------------------------------*/
.slash::before{
margin-right:0.5em;
margin-left:0.5em;
display:inline-block;
content:"/";
}
.dot::before{
display:inline-block;
content:"・";
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.slash::before,
	.dot::before{
	display:block;
	content:"";
	}
}



/*------------------------------------------------
   行頭アイコン
------------------------------------------------*/
/*------ 行頭に配置 ------*/
.icon [class^="fa-"]{
margin-right:0.5em;
vertical-align:middle;
line-height:1.0;
}
/*------ 上に配置 ------*/
.icon.block [class^="fa-"]{
margin:0 auto 0.2em auto;
display:block;
}

/*------ 位置指定（指定なしは横並びinline-block） ------*/
.type_fa.display_b::before,
.type_fa.display_b A::before{
margin:auto auto 0.3em auto;
display:block;
}

/*------ Font Awesome タイプ ------*/
.type_fa::before,
.type_fa A::before,
.type_fa A::before{
margin:auto 0.5em auto auto;
display:inline-block;
text-align:center;
vertical-align:middle;
font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands";
font-weight:bold;
letter-spacing:0;
text-indent:0;
}
.type_fa.size_s::before,
.type_fa .size_s A::before,
.type_fa.size_s A::before{
font-size:125.0%;	/* 20px */
}
.type_fa.size_m::before,
.type_fa .size_m A::before,
.type_fa.size_m A::before{
font-size:175.0%;	/* 28px */
}
.type_fa.size_l::before,
.type_fa .size_l A::before,
.type_fa.size_l A::before{
font-size:225.0%;	/* 36px */
}

.icon.before A::before{
margin-right:0.4em;
font-family: "Font Awesome 6 Free" , "Font Awesome 6 Brands";
font-weight:bold;
display:inline-block;
vertical-align:middle;
}
.type_fa A[href^="mailto"]::before{
content:"\f0e0";
}
.type_fa A[href^="tel"].tellink::before{
content:"\f095";
}
.type_fa A[href*="youtube"]::before{
content:"\f167";
font-weight:400;
}
.type_fa .fax>SPAN::before{
content:"\f1ac";
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.sp_list LI{
	padding-left:2.0em;
	text-indent:0;
	position:relative;
	}
	.sp_list.type_fa.size_m A::before,
	.sp_list LI.type_fa.size_m::before{
	position:absolute;
	top:-0.2em;
	left:0;
	font-size:125.0%;	/* 20px */
	}

}


/*------------------------------------------------
   リンクボタン（共通）
------------------------------------------------*/

*[class^="link_"],
A[class^="link_"]:visited{
color:#FFF;
background:#60C7F0;	/* SkyBlue ++ */
border:1px solid #60C7F0;	/* SkyBlue ++ */
zoom: 1;
outline: none;
text-align:center;
display:inline-block;
border-radius:2em;
-moz-border-radius:2em;
-webkit-border-radius:2em;
}
A[class^="link_"]:hover{
color:#FFF;
background:#A0D8EF; /* SkyBlue */
border-color:#A0D8EF; /* SkyBlue */
}

*[class^="link_"].outline,
A[class^="link_"].outline:visited,
A[class^="link_"].outline:hover{
border-color:inherit;
background:transparent;
}


[class^="link_"].invert{
color:#000;
background:#FFF;
border-color:#000;
}
A[class^="link_"].invert.white{
color:#FFF;
background:url(img/spacer.gif);
border-color:#FFF;
}
A[class^="link_"].invert:hover{
color:#FFF;
background:#60C7F0;	/* SkyBlue ++ */
border:1px solid #60C7F0;	/* SkyBlue ++ */
}


.links.after A::after,
[class^="link_"].before::before,
[class^="link_"].after::after{
font-family: "Font Awesome 6 Free";
display:inline-block;
content: "\f061";
font-weight : 900;
font-size:75%;
border-style:solid;
border-width:1px;
border-radius:50%;
-webkit-border-radius:50%;
-moz-border-radius:50%;
letter-spacing:0;
width:1.75em;
line-height:1.75;
text-align:center;
}
.links.after A::after,
[class^="link_"].after::after{
margin-left:0.5em;
}
[class^="link_"].before::before{
margin-right:0.5em;
}
[class^="link_"].before.mail::before{
content: "\f0e0";
}


/*------------------------------------------------
   リンクボタン（小）
------------------------------------------------*/
.link_small{
padding:0 0.5em;
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	.link_small{
	padding:0.5em 10px;
	}
}

/*------------------------------------------------
   リンクボタン（大）
------------------------------------------------*/
.link_large{
margin:auto;
padding:0.7em 1em;
font-size:125.0%;	/* 20px */
}
.link_large SPAN[class^="fa-"]{
margin:-0.15em 0.5em 0 0;
font-size:120.0%;	/* 24px */
vertical-align:middle;
}



@media only screen and (max-width:768px) {	/*/* スマホ横以下用 */
	.link_large{
	padding:0.5em 0;
	display:block;
	width:90%;
	}
}
@media only screen and (min-width:541px) and (max-width:768px) {	/*/* スマホ横用 */
	.link_large{
	max-width:600px;
	}
}


/*------------------------------------------------
   強調枠囲み
------------------------------------------------*/
/*------------------------------------------------
  お問い合わせ枠
------------------------------------------------*/
.check{
padding:1.0em 1.5em;
}

.border{
border:1px solid #FDDEA5;	/* 蜂蜜色 */
}

.radius{
border-radius:0.5em;
-webkit-border-radius:0.5em;
-moz-border-radius:0.5em;
}

.radius2em{
border-radius:2em;
-webkit-border-radius:2em;
-moz-border-radius:2em;
}
.radius50{
border-radius:50%;
-webkit-border-radius:50%;
-moz-border-radius:50%;
}


@media only screen and (max-width:590px) {	/* スマホ縦用 */
	.border{
	padding:0.5em;
	}

}

DIV.check{
margin-top:1.8em;
margin-bottom:1.8em;
}

DIV.check>*{
margin-top:0;
margin-bottom:0;
}
DIV.check>*~*{
margin-top:15px;
}



@media only screen and (max-width:768px) {	/* スマホ横以下用 */
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.check{
	padding:0.5em;
	}
}




/*--------------------------------------------------------------------
  共通レイアウト枠
--------------------------------------------------------------------*/

@media only screen and (min-width:769px) {	/* PC用 */
	MAIN{
	min-height:70vh;
	}
}

BODY:not(#home) ARTICLE{
padding:3.0em 0 5.0em 0;
}
.lv1{
padding:6em 0;
}
.lv2{
padding:3em 0;
}
.lv3{
padding:1em 0;
}


/*------------------------------------------------
  SECTION
------------------------------------------------*/
.content{
margin-right:auto;
margin-left:auto;
padding-top:0.5em;
padding-bottom:0.5em;
width : -webkit-calc(100% - 30px) ;
width : calc(100% - 30px);
max-width:1150px;
}
.content.text{
text-align:left;
}
@media only screen and (min-width:980px) {	/* 幅の広いPC用 */
	.content.text>UL.list,
	.content.text>UL.kome,
	.content.text>P{
	max-width:900px;
	margin-right:auto;
	margin-left:auto;
	}
	.content.text>P:not(class^="text"){
	text-align: justify;
	text-justify: inter-ideograph;
	max-width:900px;
	}
}

H3+.content>*:first-child{
margin-top:1.0em;
}
BODY:not(#staff) ARTICLE>SECTION+SECTION{
margin-top:5.0em;
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	ARTICLE{
	padding:3em 0;
	max-width:auto;
	max-width:initial;
	min-width:auto;
	min-width:initial;
	}
	BODY:not(#home) ARTICLE>*{
	max-width:auto;
	max-width:initial;
	min-width:auto;
	min-width:initial;
	}

}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.content:not(.text)>P{
	text-align:left;
	}
	.content.text{
	text-align: left;
	}

}


/*--------------------------------------------------------------------
  ヘッダー
--------------------------------------------------------------------*/
#header{
width:100%;
/*
position:fixed;
top:0;
left:0;
*/
z-index:10;	/* IE7以下でプルダウンメニューが隠れるための対策 */
background:rgba(183,119,57,0.97);
}
#home #header:not(.color){
background:none;
text-shadow: 0.05em 0.05em 0.1em #630 ,  -0.05em -0.05em 0.1em #630;
}
#header H1 A{
display:block;
}

@media only screen and (min-width:769px) {	/* PC用 */
	#header.fixed{	/* ヘッダー上部固定用 */
	position:fixed;
	top:0;
	left:0;
	z-index:10000;
	width:100%;
	height:50px;
	}
	#home #header.fixed.color{	/* ヘッダー上部固定用 */
	background:rgba(183,119,57,0.97);
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#header{	/* ヘッダー上部固定用 */
	position:static;
	}
}


/*------------------------------------------------
  ヘッダーロゴ 
------------------------------------------------*/
#header H1{
padding-left:10px;
display:block;
height:50px;
width:280px;
font-weight:600;

}
#header H1 A{
background-image:url(img/logo_white.png);
background-repeat:no-repeat;
background-position:left center;
width:270px;
height:50px;
display:block;
}
#header H1 A SPAN{
display:none;
}

@media only screen and (min-width:541px)  {	 /* PCトップページ用 */
	#home #header H1:not(.h1fixed){
	display:none;
	}
	#home #header H1.h1fixed{
	display:table;
	}
}


@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#header H1{
	z-index:113;
	position:relative;
	max-width:-webkit-calc( 100% - 55px );
	max-width:calc( 100% - 55px );
	display:block;
	}
	#home #header H1 A:not(.open){
	background-image:url(img/logo_white_sp.png);
	}
	#header H1 A{
	background-size:contain;
	-moz-background-size:contain;
	-webkit-background-size:contain;
	-o-background-size:contain;
	-ms-background-size:contain;
	width:100%;
	}


}


/*--------------------------------------------------------------------
  プライマリーナビゲーションメニュー(PrimaryMenu)
--------------------------------------------------------------------*/

/*------------------------------------------------
  Homeボタン 廃止
------------------------------------------------*/

/*--------------------------------------------------------------------
  グローバルナビゲーションメニュー(menubar)
--------------------------------------------------------------------*/
#global_navi{
height:50px;
z-index:100;
width:100%;
height:1px;
text-align:left;
position:absolute;
top:0;
right:0;
display:block !important;	/* PCでの非表示から表示へ */
}


/*------------------------------------------------
  全体 
------------------------------------------------*/
#global_navi LI{
position: relative;
}


#global_navi > SPAN{
display:block;
padding:0;
position:absolute;
top:0;
right:0;
width: 50px;
height: 50px;
text-align: left;
text-indent: -9999px;
background-repeat:no-repeat;
background-image:url(img/sp_nav_w.png);
background-position:-50px 0;
cursor:pointer;
z-index:111;
}
#global_navi > SPAN#global_navi_close{
background-position:-100px 0px;
}


UL#globalmenu{
margin:0 auto;
padding:50px 0 0 0;
display: none;
position: absolute;
top:0;
right:0;
background:rgba(153,102,51,0.97);	/* #963 */

z-index:110;	/* IE7以下でプルダウンメニューが隠れるための対策 */
/* width:100%; */
}
#header.fixed #global_navi UL#globalmenu.open,
#global_navi UL#globalmenu.open{
display: block;
text-shadow: none;
}
#global_navi > SPAN.open{
background-position:-100px 0px;
}


UL#globalmenu>LI.active{
}
UL#globalmenu>LI>A{
padding:0.8em 1.2em;
color:#FFF;
position:relative;
font-weight:600;
display:block;
}
UL#globalmenu>LI A:hover{
background:#F09199;	/* 桃色 */
color:#FFF;
opacity:1.0;
}

UL#globalmenu>LI.active A::after{
content: "";
position:absolute;
top:0;
left:0;
width:4px;
height:100%;
background:#F09199;	/* 桃色 */
}

UL#globalmenu .radius2em{	/* お問い合わせ */
margin:0.5em;
padding:1.0em 0.5em;
display:block;
border:1px solid #FFF;
line-height:1.0;
text-align:center;
}




@media only screen and (min-width:981px) {	/* ワイドPC用＆スクロール無し */
	#header:not(.fixed) #global_navi > SPAN{
	display: none;
	}
	#header:not(.fixed) #global_navi{
	height:auto;
	width:auto;
	}
	#header:not(.fixed) UL#globalmenu{
	margin-right:10px;
	}
	

	/*------------------------------------------------
	  PCメインメニュー第一階層
	------------------------------------------------*/
	#header:not(.fixed) UL#globalmenu{
	padding:0;
	max-width:1100px;
	display:table;
	position: static;
	background:none;
	}
	#header.fixed UL#globalmenu{
	display:none;
	}
	#header:not(.fixed) UL#globalmenu>LI{
	display:table-cell;
	vertical-align:middle;
	}

	#header:not(.fixed) UL#globalmenu>LI>A{
	padding:0.5em 1.2em;
	}
	#header:not(.fixed) UL#globalmenu>LI>A:hover{
	opacity:0.7;
	background:none;
	}
	#header:not(.fixed) UL#globalmenu>LI.active A::after{
	width:-webkit-calc( 100% - 4px );
	width:calc( 100% - 4px );
	height:1px;
	top:auto;
	bottom:0;
	left:2px;
	background:#FFF;
	}
}

@media only screen and (max-width:768px) {	/* スマホ横以下用  */
}

@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	UL#globalmenu{
	width:100%;
	}

}









/*------------------------------------------------
  コンテンツメニュー
------------------------------------------------*/
/*------ コンテンツリンク ------*/
.links.inline LI{
padding-left:0;
padding-right:2.0em;
}
.content .links A{
color:#555;
text-decoration:none !important;
}


/*------ コンテンツメニュー ------*/
.contentmenu.inline{
margin:0 auto;
padding:0.5em 0;
text-align:center;
background:#FFF;
line-height:1.2;
font-size:87.5%;	/* 14px */
}

@media only screen and (min-width:1150px) {/* ワイドPC用 */
	.contentmenu.inline{
	padding:0.5em -webkit-calc( (102% - 1200px) / 2 );
	padding:0.5em calc( (102% - 1200px) / 2 );
	}

}


.contentmenu.inline LI{
margin:0.3em;
padding:0;
}
.contentmenu.inline A{
padding:0.8em 1.0em;
color:#FFF;
display:block;
border:1px solid transparent;
border-radius:2em;
-webkit-border-radius:2em;
-moz-border-radius:2em;
background:#666;
}
.contentmenu.inline .active A,
.contentmenu.inline A:hover{
background:#60C7F0;	/* SkyBlue ++ */

}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	.contentmenu.inline{
	font-size:100.0%;	/* 16px */
	}
}


/*--------------------------------------------------------------------
  パンくず・アンカー
--------------------------------------------------------------------*/
#pkl{
padding:0.5em 0;
background:rgba(255,228,225,0.9);	/* MistyRose #FFE4E1 10% */
font-size:87.5%;	/* 14px */
color:#666;
font-weight:500;
}
#pkl A,
#pkl A:visited{
padding:0.5em 0.25em;
display:block;
color:#000;
}
#pkl A:visited{
color:#555;
}

#pkl>UL{
margin:auto;
display:block;
width : -webkit-calc(100% - 25px) ;
width : calc(100% - 25px);
max-width:1150px;
text-align:left;
}
#pkl>UL LI{
display:inline-block;
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#pkl>UL{
	width : -webkit-calc(100% - 10px) ;
	width : calc(100% - 10px);
	}
	#pkl>UL LI{
	margin:0.2em;
	}
	#pkl A,
	#pkl A:visited{
	padding:0.5em;
	background:#FFF;
	border-radius:2em;
	-webkit-border-radius:2em;
	-moz-border-radius:2em;
	}

}

/*------------------------------------------------
  アンカー 
------------------------------------------------*/
#pt{
margin:0;
z-index:100;
position: fixed;
bottom:8px;
right:12px;
width: 40px;
height: 40px;
}
#pt A{
margin:0 auto;
display: block;
width: 40px;
height: 40px;
background:url(img/pt.png) 0 0 no-repeat;
zoom: 1;
text-indent: -9999px;
outline: none;
font-size: 1px;
overflow: hidden;
}
#pt A:hover{
background:url(img/pt_hover.png) 0 0 no-repeat;
}


/*--------------------------------------------------------------------
  フッター
--------------------------------------------------------------------*/
#footer{
margin:0 auto;
font-weight:500;
color:#524748; /* 紅消鼠 */
}


#footer_inner{
margin:0 auto;
padding:3.0em 0;
width : -webkit-calc(100% - 30px) ;
width : calc(100% - 30px);
max-width:1200px;
justify-content: space-around;
}

#footer A{
color:#524748; /* 紅消鼠 */
transition: opacity 0.5s ease;
-webkit-transition: opacity 0.5s ease;
-moz-transition: opacity 0.5s ease;
-o-transition: opacity 0.5s ease;
}
/*------------------------------------------------
  SNSメニュー
------------------------------------------------*/
#footer_snsmenu{
margin:0 0 0 auto;
padding:0.25em 0;
display:table;
font-size:150.0%;	/* 24px */
}

/*------------------------------------------------
  名称・お問い合わせ 
------------------------------------------------*/
#footer_contact{
width:46%;
}
/*------ H5名称 ------*/
#footer H5{
margin:1.5em auto 0 auto;
font-size:137.5%;	/* 22px */
display:table;
font-weight:500;
}
#footer H5 .small{
margin-bottom:0.2em;
display:block;
font-size:63.6%;	/* 14px */
}
#footer H5 A{
display:table;
}
#footer_mail .link_large{
display:block;
max-width:16em;
background:#FFF;
border-color:#FFF;
}




/*------------------------------------------------
  営業時間・住所
------------------------------------------------*/
#footer_data{
width:50%;
}

/*------ フッター 連絡先欄 ------*/
#footer_info{
margin:0 auto;
padding:0;
display:table;
text-align:left;
}
#footer_info>LI{
margin:0 auto;
}

#footer_info>LI UL{
padding-left:1.15em;
font-size:87.5%;	/* 14px */
}
#footer_info LI.school_tel .tellink{
font-size:114.3%;	/* 16px */
font-weight:500;
}




/*------------------------------------------------
  著作権
------------------------------------------------*/
#footermenu_copyright{
margin:0 auto;
border-top:1px solid #FCC;
}

#copyright{
margin:0;
padding:1.8em 0;
font-size:68.75%;	/* 11px */
}

/*------ FooterMenu ------*/
#footermenu{
margin:1.0em auto 0 auto;
font-size:87.5%;	/* 14px */
}
#footermenu *{
vertical-align:middle;
}

#footermenu LI A{
padding:0.5em;
display:inline-block;
}

@media only screen and (min-width:768px) and (max-width:900px) {	/* 幅の狭いPC用 */
	#footer_contact{
	width:58%;
	}
	#footer_data{
	width:38%;
	}

}
@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	#footer_inner{
	padding-top:0;
	}

	#footer_contact,
	#footer_data{
	display:table;
	width:100%;
	}
	#footermenu{
	margin:1.0em auto 0 auto;
	}
}
@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#footer_snsmenu{
	margin:auto;
	padding:1.0em 0;
	}
	#footer_info>LI{
	padding:0 0.5em;
	text-align:center;
	}
	#footer_info>LI+LI{
	margin-top:1.5em;
	border-top:1px solid #FCC;
	}
	#footer_info>LI UL{
	padding-left:0;
	}
	#footer_info LI{
	display:block;
	}

	#footer_info SPAN.address01,
	#footer_info SPAN.address02{
	padding-right:0;
	display:block;
	}

	#footer_info LI.school_tel,
	#footer_info LI.school_fax{
	padding:0;
	line-height:1.6;
	}
	#footer_info LI.school_tel A{
	padding:0.3em 0;
	}
	LI.school_fax{
	margin-bottom:0.5em;
	}

	#footer_info LI.school_data{
	padding-right:0;
	}
}


@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#footermenu_copyright{
	padding:0 3%;	/* #pt表示分 */
	}
}


/*--------------------------------------------------------------------
  clearfix
--------------------------------------------------------------------*/
/*------ 親要素にまとめて回り込み解除 ------*/
DL.dl_table::after{
    content: ""; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}


/* Win版IE7とMac版IE5対策 */
DL.dl_table{
display: inline-table;
min-height:1%;  /* for IE 7*/
}


/* Win版IE5および6対策 */
/* Hides from IE-mac \*/
* html DL.dl_table{
height: 1%;
}
DL.dl_table{
display: block;
}
/* End hide from IE-mac */



/*------ 個別に回り込み解除（clearfix） ------*/
.clearfix:after {
    content: ""; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}

.clearfix {
	display: inline-table;
}

/* Hides from IE-mac \*/
* html .clearfix {
	height: 1%;
}
.clearfix {
	display: block;
}
/* End hide from IE-mac */