@charset "UTF-8";
/* CSS Document */

header,
footer,
section,
nav,
figure,
button{
	display:block;
}

body {
	background:#37a2b7;
}

a{
	text-decoration:none;
}

#wrapper{
	position:relative;
}

h2 {
	font-size:1.17em;
	border-bottom:solid 1px #58bbce;
	padding-bottom:10px;
	margin-bottom:25px;
	text-align:center;
	color:#37A2B7;
	position:relative;
}
h2 span{
	display:block;
	color:#82d3e2;
	font-size:0.71em;
	font-family: 'Great Vibes', cursive;
	padding:5px 0 0 0;
}
h2 span.icon{
	left:0;
	top:0;
	background-color:#37A2B7;
	height:0;
	overflow:hidden;
	margin:0 auto 25px;
	width:115px;
	padding-top:115px;
	border-radius: 115px;        /* CSS3草案 */  
    	-webkit-border-radius: 115px;    /* Safari,Google Chrome用 */  
    	-moz-border-radius: 115px;   /* Firefox用 */
}
h2 span.icon.Thanks{
	background-image:url(css_img/iconThanks.svg);
	background-position:center 30px;
	background-repeat:no-repeat;
	background-size:70%;
}
h2 span.icon.Trash{
	background-image:url(css_img/iconTrash.svg);
	background-position:center 20px;
	background-repeat:no-repeat;
	background-size:50%;
}
h2 span.icon.correction{
	background-image:url(css_img/iconCorrection.svg);
	background-position:center 18px;
	background-repeat:no-repeat;
	background-size:70%;
}
h2 span.icon.toroku{
	background-image:url(css_img/iconToroku.svg);
	background-position:center 12px;
	background-repeat:no-repeat;
	background-size:80%;
}

h3 {
	/*border-bottom:solid 1px #ccc;*/
	text-align:center;
	padding:0;
	height:40px;
	line-height:40px;
	background:#82d3e2;
	margin-bottom:25px;
	font-size:1.08em;
	color:#fff;
	border-radius: 40px;        /* CSS3草案 */  
	-webkit-border-radius: 40px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 40px;   /* Firefox用 */
}
h3.type01 {
	font-size:1.02em;
	font-weight:bold;
	padding:0.5em 0.8em;
	height:auto;
	margin:0;
	line-height:1.3em;
	border-radius: 0;        /* CSS3草案 */  
	-webkit-border-radius: 0;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 0;   /* Firefox用 */
}

h4.type01 {
	padding:0.25em 0;
	font-size:0.92em;
	font-weight:bold;
	color:#37A2B7;
}

.clear {
	clear:both;
}
.clearfix:after {
	clear:both;
	display:block;
	visibility:hidden;
	content:"";
}

img {
	max-width:100%;
	height:auto;
}

a.zoom {
	overflow:hidden;
	display:block;
	line-height:0;
}
a.zoom img {
	width:100%;
	height:auto;
	max-width:none;
	transition-property:width, height, margin-left, margin-top;
	transition-duration:0.3s;
	transition-timing-function:ease-in-out;
	transition-delay:0s;
}
a.zoom:hover img {
	width:115%;
	margin-left:-7%;
	margin-top:-7%;
}

/*ul,li（リスト設定）*/

li .price{
	font-size:0.82em;
}
li input[type="checkbox"],
li input[type="radio"]{
	margin-right:5px;
}

ul.type01 {}
ul.type01 li {
	padding:0.4em 0.3em;
	font-weight:bold;
	border-bottom:solid 1px #ccc;
	position:relative;
}
ul.type01 li .price {
	position:absolute;
	bottom:0.3em;
	right:0.5em;
	font-weight:normal;
}
ul.type01 li .price span{
	padding:0 0.3em;
}
ul.type01 li .price span::before{
	font-size:0.83em;
}
ul.type01 li .price .normal{}
ul.type01 li .price .normal::before{
	content:"(定価) ";
}
ul.type01 li .price .special::before{
	content:"(ご新規様) ";
}

ul.type01 li label{
	display:block;
	padding-bottom:1.3em;
}

/*更新情報のアイコン表示*/
.iconNews {
	text-align:center;
	min-width:25px;
	height:25px;
	padding:5px;
	line-height:25px;
	background:#ff5a48;
	color:#fff;
	font-size:0.87em;
	font-weight:bold;
	display:block;
	border-radius: 35px;        /* CSS3草案 */  
	-webkit-border-radius: 35px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 35px;   /* Firefox用 */
}


/*フォームオブジェクト*/
input[type="text"],
input[type="button"],
input[type="submit"],
input[type="reset"],
input[type="email"],
input[type="tel"],
input[type="date"],
input[type="file"],
input[type="password"],
select,
textarea,
button{
	/*padding:5px 0;*/
	color:#666;
	background:#fff;
	padding:0;
	height:38px;
	line-height:38px;
	text-indent:1em;
	border:solid 1px #ccc;
	width:100%;
	border-radius: 10px;        /* CSS3草案 */  
	-webkit-border-radius: 10px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 10px;   /* Firefox用 */
}
textarea {
	height:110px;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="date"]:focus,
input[type="file"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus{
	color:#333;
	background:#b8eaf4;
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
	color:#fff;
	cursor:pointer;
	background:#58BBCE;
	height:47px;
	line-height:47px;
	border:solid 1px #82d3e2;
	text-indent:0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	transition-property:background, color;
	transition-duration:0.3s;
	transition-timing-function:ease-in-out;
	transition-delay:0s;
}
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover {
	color:#fff;
	background:#19889d;
}

button.des,
input[type="button"].des,
input[type="submit"].des,
input[type="reset"].des,
button.des:hover,
input[type="button"].des:hover,
input[type="submit"].des:hover,
input[type="reset"].des:hover {
	background:#eee;
	border-color:#ccc;
	color:#999;
	cursor:text;
}

/*.group（各項目ごとのかたまりでの設定）*/

.group.type01 {
	margin-bottom:60px;
}

/*動画（You Tube）の拡大設置（可変）設定*/
.frameMovie{
	width:100%;
	height:0;
	overflow:hidden;
	padding-top:60%;
	position:relative;
	background:#333;
}
.frameMovie iframe{
	position: absolute;
	left: 0;
	top: -1px;
	width: 100%;
	height: 100%;
}

/*地図（google map）の拡大設置（可変）設定*/
.frameMap{
	width:100%;
	height:0;
	overflow:hidden;
	padding-top:60%;
	position:relative;
	background:#333;
}
.frameMap iframe{
	position: absolute;
	left: 0;
	top: -1px;
	width: 100%;
	height: 100%;
}


/*カレンダー枠*/
.groupCalendar {
	margin-bottom:55px;
}
	
.groupCalendar .midashi{
	display:none;
}
.groupCalendar h3 {
	width:130px;
	height:120px;
	background:#ffd169;
	color:#fff;
	font-size:1.21em;
	line-height:2.5em;
	text-align:center;
	margin:0 auto 35px auto;
	padding:20px 10px 10px;
	border-radius: 150px;        /* CSS3草案 */  
	-webkit-border-radius: 150px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 150px;   /* Firefox用 */
}
.groupCalendar h3 span {
	font-size:2.5em;
}

.boxCalendar,
.boxCalendar li .boxDate {
	border:solid 3px #58bbce;
}
.boxCalendar {
	border-right:none;
	border-bottom:none;
}
.boxCalendar li {
	overflow:hidden;
}
.boxCalendar li.other {
	display:none;
}
/**/.boxCalendar li .boxWeek {
	background:#666;
	font-size:0.87em;
	color:#fff;
	text-align:center;
	border-left:none;
	border-top:none;
}
.boxCalendar li .boxDate {
	/*background:#82d3e2;*/
	background:#fff;
	border-left:none;
	border-top:none;
	padding:0;
	cursor:pointer;
	transition-property:background-color, color;
	transition-duration:0.25s;
	transition-timing-function:ease-in-out;
	transition-delay:0s;
	overflow:hidden;
}
.boxCalendar li .boxDate h4 {display:none;}
.boxCalendar li .txtDate {
	float:left;
	width:20px;
	padding:0 5px;
	/*height:100%;*/
	text-align:center;
	/*box-sizing:content-box;
	box-sizing:border-box;*/
	
	-webkit-writing-mode: vertical-lr;
	-ms-writing-mode: vertical-lr;
	
	writing-mode:vertical-rl;
	/*-ms-writing-mode: tb-rl;*/
	font-size:0.85em;
	margin-bottom:0!important;
	color:#19889D;
}
.boxCalendar li .txtDate span {
	text-combine-upright: all;
	-webkit-text-combine: horizontal;
	-ms-text-combine-horizontal: all;
}

.boxCalendar li.other .boxDate {
	background:#eee;
	color:#afafaf;
}
.boxCalendar li .boxDate:hover {}
.boxCalendar li .boxDate .listLesson{
	background:#fff;
	margin-left:35px;
	border-left:solid 2px #fff;
	box-sizing:content-box;
	box-sizing:border-box;
}
.boxCalendar li .boxDate .itemLsn {
	font-size:0.81em;
}
.boxCalendar li .boxDate .itemLsn a {
	display:block;
	color:#fff;
	padding:5px;
	overflow:hidden;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.boxCalendar li .boxDate .itemLsn:nth-child(odd) a {
	background:#b8eaf4;
	color:#37a2b7;
}
.boxCalendar li .boxDate .itemLsn:nth-child(even) a {
	background:#58BBCE;
}
.boxCalendar li .boxDate .itemLsn a .itemIconCate {
	display:none;
}

/*スケジュール表（table）の定義*/

table.boxSchedule,
table.boxSchedule td,
table.boxSchedule th{
	box-sizing:border-box;
	position:relative;
	border:solid 1px #999;
	border-collapse:collapse;
	border-spacing:0;
	overflow:hidden;
}

table.boxSchedule {
	width:100%;
	/*font-size:3.1vw;*/
	border-right:none;
	border-bottom:none;
}
table.boxSchedule td,
table.boxSchedule th{
	border-left:none;
	border-top:none;
	text-align:center;
	line-height:1.3em;
	/*padding:10px 0;*/
}
table.boxSchedule th{
	border-color:#fff;
}

table.boxSchedule th {
	/*background:#19889d;*/
	background-color:#999;
	color:#fff;
	vertical-align: middle;
	padding:10px 0;
}
table.boxSchedule td {
	background:#eee;
}
table.boxSchedule td .block {
	display:block;
	padding:15px 8px;
	height:100%;
	box-sizing:border-box;
	color:#aaa;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
table.boxSchedule td a.block {
	background:#fff;
	font-size:4.2vw;
	color:#6781d6;
	font-weight:bold;
}
table.boxSchedule td a.block:hover {
	background:#ffebbf;
	color:#ff8f24;
}

/*(↓↓↓2019.03.26追加箇所↓↓↓)*/
table.boxSchedule {
	border-bottom:none;
}

table.boxSchedule th {
	padding:0;
}

table.boxSchedule th.tabMonth,
table.boxSchedule th.tabDay {
	padding-top:0.3em;
	padding-bottom:0.3em;
}

table.boxSchedule th.tabDay,
table.boxSchedule th.tabTime {
	padding-left:0.3em!important;
	padding-right:0.3em!important;
}

table.boxSchedule .boxTel,
table.boxSchedule .inframeBox,
table.boxSchedule .boxClose {
	background-color:#fff;
	border-color:#999;
	vertical-align:middle;
	position:relative;
	width:10%;
}

table.boxSchedule .boxTelInner {
	background-color:#fff;
	color:#6781d6!important;
}

table.boxSchedule .boxTelText {
	 -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: vertical-lr;
    writing-mode: vertical-lr;
		-webkit-text-orientation:upright;
		-ms-text-orientation:upright;
		text-orientation:upright;
}

/*.boxCloseInner {
	-webkit-writing-mode: vertical-lr;
	-ms-writing-mode: vertical-lr;
	writing-mode: vertical-lr;
}*/
table.boxSchedule .boxCloseInner .boxCloseText {
}

table.boxSchedule .boxClose {
	background-color:#eee;
}
table.boxSchedule .boxClose .inframeTable {
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%, -50%);
	-webkit-writing-mode: vertical-lr;
	-ms-writing-mode: vertical-lr;
	writing-mode: vertical-lr;
	white-space: nowrap;
}

table.boxSchedule .inframeTable {
	width:100%;
}

table.boxSchedule .inframeTable th,
table.boxSchedule .inframeTable td {
	padding:10px 0;
}
table.boxSchedule .inframeTable th {
	color:#fff;
}

table.boxSchedule .inframeTable td {
	color:#aaa;
	border-right:none;
}
table.boxSchedule .inframeTable td.widOpen {
	background:#fff;
}
table.boxSchedule .inframeTable td.widOpen:hover {
	background:#ffebbf;
	color:#ff8f24;
}

table.boxSchedule .inframeTable td.boxTelInner,
table.boxSchedule .inframeTable td.boxCloseInner {
	border:none;
	font-size:4.2vw;/**/
}

table.boxSchedule table,
table.boxSchedule table td,
table.boxSchedule table th{
	border-right:none;
}

/* ウィンドウ幅が992px〜の場合に適用するCSS */
@media screen and ( min-width:992px ){
	table.boxSchedule .inframeTable td.boxTelInner,
	table.boxSchedule .inframeTable td.boxCloseInner {
		font-size:1.1em;/**/
	}
}

/*(↑↑↑2019.03.26追加箇所↑↑↑)*/



/*.listPagelink（ページのリンクリスト）*/

.listPagelink {
}

.listPagelink li {
	float:left;
	margin:0 8px 0 0;
	font-size:0.83em;
}

.listPagelink li a {
	display:block;
	text-align:center;
	min-width:28px;
	height:28px;
	line-height:28px;
	color:#fff;
	background:#ccc;
	transition-property:background-color, color;
	transition-duration:0.25s;
	transition-timing-function:ease-in-out;
	transition-delay:0s;
}
.listPagelink li a:hover,
.listPagelink li a.sel {
	background:#82d3e2;	
}


/*アラート表示*/
.alert {
	border:solid 1px;
	padding:18px 20px;
	box-sizing:border-box;
	margin:45px 0;
	font-size:0.93em;
	background:#fff;
	border-radius: 10px;        /* CSS3草案 */
	-webkit-border-radius: 10px;    /* Safari,Google Chrome用 */
	-moz-border-radius: 10px;   /* Firefox用 */
}
#contents .alert p {
font-size:1.0em;
margin:0;
padding:5px 0;
}

/*成功メッセージ*/
.alert.alert-success{
	background:#CFFFD9;
	color:#008F66;
	border-color:#00AC66;
}
/*お知らせメッセージ*/
.alert.alert-info{
	color:#3383A6;
	background:#A0F6FF;
	border-color:#39A0C9;
}
/*警告メッセージ*/
.alert.alert-warning{
	color:#665533;
	background:#FFE966;
	border-color:#ccbf1d;
}
/*エラーメッセージ*/
.alert.alert-danger{
	background:#ffe6e6;
	color:#E03333;
	border-color:#FF5A48;
}
.alert.alert-default {
	color:#555;
	border-color:#999;
}

/*検索フォーム*/

#searchBox {
margin-bottom:40px;
padding-bottom:40px;
border-bottom:solid 2px #eee;
}
#searchBox form {
padding:25px 20px;
background:#BBF9EC;
border-radius: 10px;        /* CSS3草案 */
-webkit-border-radius: 10px;    /* Safari,Google Chrome用 */
-moz-border-radius: 10px;   /* Firefox用 */
}

#contents #searchBox p {
padding:5px 0;
margin:0;
}


#contents #searchBox input,
#contents #searchBox select {
text-align:center;
border:none;
}
#contents #searchBox select{
text-indent:1.5em;
background-image:url(css_img/cursorSele.svg);
background-repeat:no-repeat;
background-size:30px;
background-position:right 8px;
}

#searchBox input:focus,
#searchBox select:focus {
background:#FFEBBF;
}


/*ボタンの設定*/
.btm,
a.btm,
button.btm,
input.btm {
	display:block;
	background:#333;
	color:#fff;
	cursor:pointer;
	width:100%;
	box-sizing:border-box;
	font-size:1.2em;
	padding:0.9em 0.5em;
}
.btm.p02,
a.btm.p02,
button.btm.p02,
input.btm.p02 {
	/*padding:0.6em 0.2em;*/
	height:35px;
	line-height:35px;
	padding:0;
	font-size:0.89em;
	background-color:#666;
	text-align:center;
}

.frameBtmScroll{
	position:relative;
}

.btm.prev,
a.btm.prev,
button.btm.prev,
input.btm.prev,
.btm.next,
a.btm.next,
button.btm.next,
input.btm.next {
	position:relative;
	text-align:center;
}
.btm.prev,
a.btm.prev,
button.btm.prev,
input.btm.prev {
	padding-left:25px;
}
.btm.next,
a.btm.next,
button.btm.next,
input.btm.next {
	padding-right:25px;
}

.btm.prev::before,
a.btm.prev::before,
button.btm.prev::before,
input.btm.prev::before,
.btm.next::before,
a.btm.next::before,
button.btm.next::before,
input.btm.next::before {
	position: absolute;
	content:"";
	width:10px;
	height:10px;
	border:solid 2px #fff;
	border-left:none;
	border-bottom:none;
	top:50%;
	margin:-5px 0 0 0;
}
.btm.prev::before,
a.btm.prev::before,
button.btm.prev::before,
input.btm.prev::before {
	left:10px;
	-moz-transform:    rotate( -135deg );  /* Firefox用 */
	-webkit-transform: rotate( -135deg );  /* Chrome,Safari,新しいOpera用 */
	-o-transform:      rotate( -135deg );  /* 古いOpera用 */
	-ms-transform:     rotate( -135deg );  /* IE9用 */
	transform:         rotate( -135deg );  /* CSS3の書き方 */
}
.btm.next::before,
a.btm.next::before,
button.btm.next::before,
input.btm.next::before {
	right:10px;
	-moz-transform:    rotate( 45deg );  /* Firefox用 */
	-webkit-transform: rotate( 45deg );  /* Chrome,Safari,新しいOpera用 */
	-o-transform:      rotate( 45deg );  /* 古いOpera用 */
	-ms-transform:     rotate( 45deg );  /* IE9用 */
	transform:         rotate( 45deg );  /* CSS3の書き方 */
}

.frameBtmScroll{
	position:relative;
	padding:15px 0;
}
.frameBtmScroll a.prev,
.frameBtmScroll a.next {
	width:40%;
	font-size:4.1vw;
	/*font-size:0.97em;*/
}
.frameBtmScroll a.prev{
	float:left;
}
.frameBtmScroll a.next{
	float:right;
}

/*その他*/
.introOption {
	font-size:0.9em;
	/*background:#fff;*/
	background:#f2fffb;
	border:solid 1px #58BBCE;
	margin-bottom:25px;
	color:#58BBCE;
	padding:0.5em 0.8em;
	text-align:center;
}

.boxSumData {
	color:#6f6f6f;
	background:#fff;
	border:solid 1px #cacaca;
	margin-bottom:30px;
}
.boxSumData.menu {
	/*font-size:3.5vw;*/
}
.boxSumData h3 {
border-radius: 0;        /* CSS3草案 */
-webkit-border-radius: 0;    /* Safari,Google Chrome用 */
-moz-border-radius: 0;   /* Firefox用 */
/*background:#FFA148;*/
background:#616161;
margin-bottom:5px;
font-size:0.87em;
}
.boxSumData.menu h3 {
	padding:0.7em 0;
	height:auto;
	line-height:1.1em;
	margin:0;
	background:#9e9e9e;
}
.boxSumData ul {
	padding:5px;
}
.boxSumData.menu ul {
	padding:20px 11px;
}
.boxSumData li {
	padding:5px 0 5px 20px;
}
.boxSumData.menu li {
	padding:5px 0 5px 30px;
	border-bottom:solid 1px #eee;
	color:#666;
}
.boxSumData li span{
	/*font-size:1.2em;*/
	font-weight:bold;
}

.flowchart {
	border-bottom:solid 1px #eee;
	padding:0 0 25px 0;
	margin-bottom:35px;
}

.flowchart li {
	float:left;
	box-sizing:border-box;
	position:relative;
	width:33%;
	width : -webkit-calc(100% / 3) ;
	width : calc(100% / 3) ;
	font-size:2.7vw;
	padding:0 25px 0 10px;
}
.flowchart li.active {
	font-weight:bold;
	font-size:3.1vw;
	color:#58bbce;
}
.flowchart li:after {
	content:"";
	display:block;
	position:absolute;
	width:10px;
	height:10px;
	right:10px;
	top:50%;
	border:solid 2px #999;
	border-bottom:none;
	border-left:none;
	margin-top:-5px;
	-moz-transform:    rotate( 45deg );  /* Firefox用 */
	-webkit-transform: rotate( 45deg );  /* Chrome,Safari,新しいOpera用 */
	-o-transform:      rotate( 45deg );  /* 古いOpera用 */
	-ms-transform:     rotate( 45deg );  /* IE9用 */
	transform:         rotate( 45deg );  /* CSS3の書き方 */
}
.flowchart li.last:after {
	display:none;
}

.flowchartimgYoyaku {
	margin-bottom:35px;
	height:0;
	overflow:hidden;
	padding:12% 0 0 0;
	background:no-repeat left top;
	background-size:100%;
}
.flowchartimgYoyaku.p01 {
	background-image:url(css_img/imgFlowYoyaku01.svg);
}
.flowchartimgYoyaku.p02 {
	background-image:url(css_img/imgFlowYoyaku02.svg);
}
.flowchartimgYoyaku.p03 {
	background-image:url(css_img/imgFlowYoyaku03.svg);
}

.boxCheck {
	border:solid 1px #b8eaf4;
	background:#fff;
	padding:20px 25px;
	font-size:4.1vw;/**/z
}
.boxCheck.thanks {
	background:#ffebbf;
	border-color:#ffbb24;
	/*font-size:3.8vw;*/
}

.boxCheck dl {
	padding:0.8em 0;
	border-bottom:solid 1px #ccc;
}
.boxCheck.thanks dl {
	border-color:#fff;
}

.boxCheck dt {
	font-weight:bold;
	margin-bottom:8px;
	color:#58bbce;
}
.boxCheck.thanks dt {
	margin-bottom:8px;
	color:#ff8f24;
	/*color:#fff;*/
}

.boxCheck dd {
	padding-left:1.2em;
	color:#909090;
}
.boxCheck.thanks dd {
	color:#666;
}
.boxCheck dd li{
	padding:0.3em 0 0.3em 1.5em;
	position:relative;
}
.boxCheck dd li::before{
	content:"";
	display:block;
	position:absolute;
	background:#b8eaf4;
	width:8px;
	height:8px;
	left:0;
	top:0.6em;
}
.boxCheck.thanks dd li::before{
	background:#ffa148;
}

/*****************************************************************
フォーム項目の要素
*****************************************************************/

.itemForm {
	padding:15px 0;
}

.itemForm dt,
.itemForm dd {
	padding-left:15px;
	padding-right:15px;
	word-wrap: break-word;	
	word-break: break-all;
}
.itemForm dt {
	margin-bottom:7px;
	font-weight:bold;
	color:#7f7f7f;
	font-size:0.93em;
}
.itemForm dd {
	color:#58BBCE;
	font-size:0.89em;
}
.itemForm dd ul {
	padding:0 10px;
}
.itemForm dd li {
	padding:7px 0 7px 27px;
	position:relative;
	font-size:0.98em;
	color:#7f7f7f;
}
.itemForm dd li input {
	position:absolute;
	left:5px;
	top:10px;
}

.itemForm.line {
	float:left;
	width:50%;
}

.itemForm.lineTri {
	float:left;
	width:33%;
}

textarea#yourContent {
	height:150px;
}

.listBtn {
	padding-top:55px;
}
.listBtn li {
	float:left;
	width:50%;
	transition-property:width, float;
	transition-duration:0.7s;
	transition-timing-function:ease-in-out;
	transition-delay:0s;
	box-sizing:border-box;
	padding:5px 10px;
}
.listBtn li.wide {
	float: none;
	width:auto;
	clear:both;
}
.listBtn li .inframe {
	padding:5px 15px;
}

/*「同意する」項目にチェックを入れていない時の状態*/
.btmDisabled,
.btmDisabled:hover{
	background:#f3f3f3;
	color:#e0e0e0;
	cursor:inherit;
	border:solid 1px #e3e3e3;
}

/*フレームのパターン*/
.frameType01 {
	background:#fff;
	padding:20px 10px;
	border-radius: 10px;        /* CSS3草案 */  
	-webkit-border-radius: 10px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 10px;   /* Firefox用 */
}
.frameType01 .group {
	padding:15px 0;
}
.frameType01 h3 {
	color:#fff;
	padding:3px;
	border:none;
	font-size:1.13em;
	background:#58bbce;
}

/*カレンダー表示の細かい設定*/
.ui-widget.ui-widget-content .ui-datepicker-title .ui-datepicker-year{
width:70px;
height:28px;
border:none;
text-align:center;
line-height:28px;
padding:3px 3px;
box-sizing:border-box;
border-radius: 25px;        /* CSS3草案 */
-webkit-border-radius: 25px;    /* Safari,Google Chrome用 */
-moz-border-radius: 25px;   /* Firefox用 */
text-indent:0.5em;
top: 1px;
position: relative;
}

/*****************************************************************
利用規約記述形式
*****************************************************************/


.boxKiyaku h3 {
	height:auto;
	border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
		padding:5px;
		line-height:1.5em;
}
.boxKiyaku h4 {
	margin-bottom:15px;
	font-weight:bold;
	font-size:1.11em;
	color:#333;
}
.boxKiyaku p {
	margin-bottom:25px;
}
.boxKiyaku ul {}
.boxKiyaku li {
	position:relative;
	padding:8px 0 8px 18px;
}
.boxKiyaku li span{
	position:absolute;
	left:0;
	top:8px;
}
.boxKiyaku .groupKiyaku {
	margin-bottom:35px;
}

.boxKiyaku .groupLarg {
	margin-bottom:55px;
}

/***************************************************************
#header (ヘッダー部分）
***************************************************************/
#header {
	height:60px;
	position:relative;
	position: absolute;
	left:0;
	top:0;
	width:100%;
	transition-property:height;
	transition-duration:0.5s;
	transition-timing-function:ease-in-out;
	transition-delay:0s;
	z-index:100;
}
#header.menuOpen {
	position:fixed;
}
#header.menuOpen h1,
#header.menuOpen h1 a{
	color:#fff;
}
#header.menuOpen #btmOpenGLMenu li {
	background:#37a2b7;
}
#header.slideView,
#header.menuOpen {
	background:#82d3e2;
}
#header.slideView {
	position:fixed;
}

h1 {
	position:absolute;
	left:8px;
	top:12px;
	font-family: 'Playfair Display', serif;
	font-size:1.31em;
	transition-property:left,font-size;
	transition-duration:0.5s;
	transition-timing-function:ease-in-out;
	transition-delay:0s;
}
h1,
h1 a {
	color:#37a2b7;
	transition-property:color;
	transition-duration:0.25s;
	transition-timing-function:ease-in-out;
	transition-delay:0s;
}
h1 a:hover {
	color:#fff;
	background:#37a2b7;
}
h1 a img {
	opacity:0.7;
	transition-property:opacity;
	transition-duration:0.25s;
	transition-timing-function:ease-in-out;
	transition-delay:0s;
}
h1 a {
display:block;
text-align:center;
background:#fff;
/*width:150px;*/
width:150px;
height:35px;
line-height:35px;
font-size:0.87em;
overflow:hidden;
border-radius: 250px;        /* CSS3草案 */
-webkit-border-radius: 250px;    /* Safari,Google Chrome用 */ 
-moz-border-radius: 250px;   /* Firefox用 */ 

}
h1 a:hover img {
	opacity:1;
}
#header.slideView h1,
#header.slideView h1 a {
	color:#fff;
}

#header.slideView h1 a,
#header.menuOpen h1 a {
background:none;
}

/*メニュー開閉ボタンの設定*/
#btmOpenGLMenu {
	position:absolute;
	right:20px;
	top:5px;
	width:50px;
	height:50px;
	border-radius: 50px;        /* CSS3草案 */  
	-webkit-border-radius: 50px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 50px;   /* Firefox用 */ 
	overflow:hidden;
	cursor:pointer;
	background:#fff;
	transition-property:background-color, top;
	transition-duration:0.2s;
	transition-timing-function:ease-in-out;
	transition-delay:0s;
}
#btmOpenGLMenu li {
	position:absolute;
	width:26px;
	height:5px;
	left:12px;
	line-height:0;
	border-radius: 5px;        /* CSS3草案 */  
	-webkit-border-radius: 5px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 5px;   /* Firefox用 */
	background:#37a2b7;
	background-size:100%;
	transition-property:transform background-color;
	transition-duration:0.3s;
	transition-timing-function:ease-in-out;
	transition-delay:0s;
}
#header.slideView #btmOpenGLMenu li,
#header.slideView #btmOpenGLMenu li a {
	/*background:#fff;*/
	background:#37a2b7;
}

#btmOpenGLMenu li.p01 {
	top:15px;
}
#btmOpenGLMenu li.p02 {
	top:30px;
}

#btmOpenGLMenu:hover {
	/*background:#333;*/
}
#btmOpenGLMenu:hover li {
	background:#37a2b7;
}


#header.scroll {
	height:50px;
}
#header.scroll h1 {
	left:25px;
	top:5px;
	font-size:1.55em;
}

#header.scroll #btmOpenGLMenu {
	right:25px;
	top:4px;
}

/*ナビゲーションを表示した場合の配置*/
#btmOpenGLMenu.close li.p01 {
	top:22px;
	-moz-transform:    rotate( -45deg );  /* Firefox用 */
	-webkit-transform: rotate( -45deg );  /* Chrome,Safari,新しいOpera用 */
	-o-transform:      rotate( -45deg );  /* 古いOpera用 */
	-ms-transform:     rotate( -45deg );  /* IE9用 */
	transform: rotate( -45deg );  /* CSS3の書き方 */
	/*transition-duration:0.5s;*/
}
#btmOpenGLMenu.close li.p02 {
	top:22px;
	-moz-transform:    rotate( -135deg );  /* Firefox用 */
	-webkit-transform: rotate( -135deg );  /* Chrome,Safari,新しいOpera用 */
	-o-transform:      rotate( -135deg );  /* 古いOpera用 */
	-ms-transform:     rotate( -135deg );  /* IE9用 */
	transform: rotate( -135deg );  /* CSS3の書き方 */
	/*transition-duration:1s;*/
}


/***************************************************************
#pageTtlImg
***************************************************************/

#pageTtlImg {
	height:220px;
	position:relative;
	overflow:hidden;
	background:rgba(255,255,255,1);
}
#pageTtlImg img {
	width:100%;
	height:auto;
	min-height:100%;
	opacity:0.7;
	z-index:20;
}


#pageTtlImg h2 {
	font-size:1.192em;
	font-weight:normal;
	/*color:#58BBCE;
	background:rgba(255,255,255,0.9);
	border:solid 1px #58BBCE;*/
	background:#FFBB24;
	color:#fff;
	border:solid 2px #fff;
	padding:5px 15px;
	margin:0;
	position:absolute;
	left:20px;
	bottom:5px;
	left:0;
	bottom:0;
	text-align:left;
	z-index:25;
	border-radius: 0 10px 0 0;        /* CSS3草案 */
	-webkit-border-radius: 0 10px 0 0;    /* Safari,Google Chrome用 */
	-moz-border-radius: 0 10px 0 0;   /* Firefox用 */
}

#pageTtlImg h2 span{
	display: inline;
	padding-left:8px;
	color:#fff;
}

/***************************************************************
#glNav (ナビゲーション部分）
***************************************************************/

#glNav {
	position:fixed;
	left:0;
	top:0;
	width:100%;
	height:100%;
	overflow-y:scroll;
	display:none;
	background:rgba(88,187,206,0.8);
	z-index:90;
}
#glNav.show {
	display:block;
}

#glNav ul {
	padding:80px 25px 60px 25px;
}
#glNav ul ul {
	display:none;
}
#glNav ul ul.show {
	display:block;
}


#glNav li {
	text-align:center;
	position:relative;
	border-bottom:solid 1px #fff;
}
#glNav li a,
#glNav li a span {
	height:80px;
	line-height:80px;
}
#glNav li a {
	display:block;
	padding:0 15px;
	/*background:#999;*/
	font-size:1.17em;
	color:#fff;
	overflow:hidden;
	transition-property: background-color;
	transition-duration:0.3s;
	transition-timing-function:ease-in-out;
	transition-delay:0s;
}
#glNav li a span {
	display:block;
	font-family: 'Playfair Display', serif;
	transition-property: margin-top;
	transition-duration:0.3s;
	transition-timing-function:ease-in-out;
	transition-delay:0s;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
#glNav li a .lungEn {
	margin-top:0;
	font-size:1.08em;
	margin-top:-80px;
}
#glNav li a .lungJp {}
#glNav li a:hover {
	/*background:#666;*/
}
#glNav li a:hover .lungEn {margin-top:0;}
#glNav li a:hover .lungJp {}
#glNav li li a {
	font-size:0.97em;
}

/*サブメニュー*/
#glNav ul ul {
	padding:10px 25px 0px 25px;
	border-bottom:solid 1px #999;
	border-top:solid 1px #999;
}
#glNav li li a,
#glNav li li a span {
	color:#dfdfdf;
	height:45px;
	line-height:45px;
}
#glNav li li a:hover .lungEn {margin-top:-45px;}

/*サブメニュー開閉ボタン*/
#glNav li .btmSbmn {
	position:absolute;
	right:10px;
	top:7px;
	width:40px;
	height:40px;
}
#glNav li .btmSbmn a {
	width:100%;
	height:100%;
	padding:0;
	overflow:hidden;
	display:block;
	background:#fff;
	border-radius: 40px;        /* CSS3草案 */  
	-webkit-border-radius: 40px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 40px;   /* Firefox用 */
	position:relative;
}
#glNav li .btmSbmn a span {
	display:block;
	width:20px;
	height:20px;
	position:absolute;
	left:10px;
	top:10px;
}
#glNav li ol.btm {
	position:absolute;
	right:10px;
	top:35px;
	width:40px;
	height:40px;
	padding:0;
	position:absolute;
	overflow:hidden;
	/*background:#fff;*/
	border-radius: 40px;        /* CSS3草案 */  
	-webkit-border-radius: 40px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 40px;   /* Firefox用 */
	cursor:pointer;
	transition-property:background-color;
	transition-duration:0.2s;
	transition-timing-function:ease-in-out;
	transition-delay:0s;
}
#glNav li ol.btm li {
	width:17px;
	height:5px;
	position:absolute;
	padding:0;
	margin:0;
	top:20px;
	background:#fff;
	border-radius: 5px;        /* CSS3草案 */  
	-webkit-border-radius: 5px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 5px;   /* Firefox用 */
	transition-property:background-color,transform;
	transition-duration:0.15s;
	transition-timing-function:ease-in-out;
	transition-delay:0s;
	overflow:hidden;
}
#glNav li ol.btm li.p01 {
	left:5.5px;
	-moz-transform:    rotate( 38deg );  /* Firefox用 */
	-webkit-transform: rotate( 38deg );  /* Chrome,Safari,新しいOpera用 */
	-o-transform:      rotate( 38deg );  /* 古いOpera用 */
	-ms-transform:     rotate( 38deg );  /* IE9用 */
	transform: rotate( 38deg );  /* CSS3の書き方 */
}
#glNav li ol.btm li.p02 {
	right:5.5px;
	-moz-transform:    rotate( -38deg );  /* Firefox用 */
	-webkit-transform: rotate( -38deg );  /* Chrome,Safari,新しいOpera用 */
	-o-transform:      rotate( -38deg );  /* 古いOpera用 */
	-ms-transform:     rotate( -38deg );  /* IE9用 */
	transform: rotate( -38deg );  /* CSS3の書き方 */
}

#glNav li ol.btm:hover {
	background:#666;
}
#glNav li ol.btm:hover li {
	background:#fff;
}

#glNav li ol.btm.close li {
	top:18px;
}
#glNav li ol.btm.close li.p01 {
	left:5.5px;
	-moz-transform:    rotate( -38deg );  /* Firefox用 */
	-webkit-transform: rotate( -38deg );  /* Chrome,Safari,新しいOpera用 */
	-o-transform:      rotate( -38deg );  /* 古いOpera用 */
	-ms-transform:     rotate( -38deg );  /* IE9用 */
	transform: rotate( -38deg );  /* CSS3の書き方 */
}
#glNav li ol.btm.close li.p02 {
	right:5.5px;
	-moz-transform:    rotate( 38deg );  /* Firefox用 */
	-webkit-transform: rotate( 38deg );  /* Chrome,Safari,新しいOpera用 */
	-o-transform:      rotate( 38deg );  /* 古いOpera用 */
	-ms-transform:     rotate( 38deg );  /* IE9用 */
	transform: rotate( 38deg );  /* CSS3の書き方 */
}


/***************************************************************
#contents (コンテンツ部分）
***************************************************************/

#contents {
	/*background:#f1fdff;*/
	background:#fff;
}

#contents .areaType01 {
	padding:45px 10px;
	border-bottom:solid 1px #b8eaf4;
}
#contents .areaType02 {
	padding:0;
	border-bottom:solid 1px #ccc;
}
#contents .areaType03 {
	padding:105px 10px;
	border-bottom:solid 1px #b8eaf4;
}


#contents .imgLogin {
	margin-bottom:50px;
	text-align:center;
}

#contents p,
#contents .image {
	margin-bottom:25px;
	/*word-wrap: break-word;
	word-break: break-all;*/
	font-size:0.83em;
}

/*『arrangeType_01』の項目*/
#contents .arrangeType_01 {
}
#contents .arrangeType_01 .image {
	float:left;
	width:350px;
}
#contents .arrangeType_01 p {margin-left:370px;}
#contents .arrangeType_01 p.clear {margin-left:0;}

/*『arrangeType_02』の項目*/
#contents .arrangeType_02 {}
#contents .arrangeType_02 .image {
	float:right;
	width:350px;
}
#contents .arrangeType_02 p {margin-right:370px;}
#contents .arrangeType_02 p.clear {margin-right:0;}

/*『arrangeType_03』の項目*/
#contents .arrangeType_03 {}
#contents .arrangeType_03 .image {
	float:left;
	width:350px;
	margin-right:20px;
}

/*『arrangeType_04』の項目*/
#contents .arrangeType_04 .image {
	float:left;
	width:33%;
}
#contents .arrangeType_04 .image .box {
	margin:0 10px;
}

/***************************************************************
#footer (フッター部分）
***************************************************************/

#footer {
	background:#19889d;
	padding:45px 40px;
	height:80px;
	position:relative;
}

#footer h2 {
	width:210px;
	border:none;
	position:absolute;
	left:50%;
	top:35px;
	margin:0 0 0 -102px;
}
#footer h2 a {
	width:100%;
	display:block;
	height:0;
	overflow:hidden;
	padding-top:75px;
	background:url(css_img/logoFooter.svg) no-repeat center top;
	background-size:90%;
	mix-blend-mode: screen;
	background-blend-mode: screen;
	opacity:0.58;
}

#footer p {
	margin-bottom:0;
}

#btmPageScroll {
	position:fixed;
	right:10px;
	bottom:5px;
	display:none;
	transition-property:display;
	transition-duration:0.43s;
	transition-timing-function:ease-in-out;
	transition-delay:0s;
	z-index:55;
}
#btmPageScroll.show {
	display:block;
}

#btmPageScroll a {
	width:60px;
	height:0;
	padding-top:60px;
	background:url(css_img/btmScrollTop.svg) no-repeat center 13px;
	background-color:rgba(130,211,228,0.5);
	background-size:67%;
	border:solid 2px #fff;
	display:block;
	overflow:hidden;
	border-radius: 60px;        /* CSS3草案 */  
	-webkit-border-radius: 60px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 60px;   /* Firefox用 */
	transition-property:width,padding-top,background-size,background-position,border-radius,-webkit-border-radius,-moz-border-radius;
	transition-duration:0.15s;
	transition-timing-function:ease-in-out;
}

#footer #txtCopy {
	width:100%;
	text-align:center;
	color:#fff;
	position:absolute;
	left:0;
	bottom:15px;
	font-family: 'Pacifico', cursive;
	font-size:1.15em;
}

/* ウィンドウ幅が1024px〜の場合に適用するCSS */
@media screen and ( min-width:1024px ){
	
	
	/*アラート表示*/
	.alert {
		max-width:1024px;
		margin-left:auto;
		margin-right:auto;
	}
	

	/*動画（You Tube）の拡大設置（可変）設定*/
	.frameMovie{
		padding-top:45%;
	}
	
	/*地図（google map）の拡大設置（可変）設定*/
	.frameMap{
		padding-top:38%;
	}
	
	/*フォーム項目*/
	.itemForm dd li {
		padding:7px 0 7px 27px;
		margin-right:15px;
		float:left;
	}
	
	
	
	/*検索フォーム*/
	#contents #searchBox p {
	padding:8px 11px;
	box-sizing:border-box;
	float:left;
	width:33%;
	}
	
	#contents #searchBox p:nth-child(4) {
	float:none;
	clear:both;
	width:auto;
	}
	
	/*スケジュール表*/
	table.boxSchedule {
		font-size:0.9em;
	}
	table.boxSchedule td a.block {
		font-size:1.3em;
	}

	/*その他*/
	.flowchart li {
		font-size:1.1em;
		padding-right:25px;
	}
	
	.flowchart li.active {
		font-size:1.5em;
	}
	
	.flowchartimgYoyaku {
		margin-bottom:35px;
		padding:6.5% 0 0 0;
		background-position:left bottom;
	}
	
	.boxSumData.menu {
		font-size:0.95em;
	}
	
	.frameBtmScroll a.prev,
	.frameBtmScroll a.next {
		width:180px;
		font-size:1.0em;
	}
	
	.boxCheck {
    padding: 20px 25px;
    font-size: 0.9em!important;
	}
	
	/***************************************************************
	#contents (コンテンツ部分）
	***************************************************************/
	
	#contents .wideFrame {
		width:1024px;
		margin-left:auto;
		margin-right:auto;
	}
	
	
	
	/*カレンダー枠*/
	.groupCalendar {
		margin-bottom:55px;
	}
	
	.groupCalendar .midashi{
		display: block;
	}
	
	.groupCalendar h3 {
		width:130px;
		height:120px;
		font-size:1.21em;
		line-height:2.5em;
		margin:0 auto 35px auto;
		padding:20px 10px 10px;
		border-radius: 150px;        /* CSS3草案 */  
		-webkit-border-radius: 150px;    /* Safari,Google Chrome用 */  
		-moz-border-radius: 150px;   /* Firefox用 */
	}
	.groupCalendar h3 span {
		font-size:2.5em;
	}
	
	.boxCalendar,
	.boxCalendar li .boxDate {
		border-width:1px;
	}
	
	.boxCalendar li .boxDate .listLesson {
		margin-left:0;
		background:none;
		border:none;
	}
	
	.boxCalendar li {
		float:left;
		width:14.28%;
	}
	.boxCalendar li.other {
		display:block;
	}
	.boxCalendar li .boxDate {
		/*height:120px;*/
		background:#fff;
	}
	.boxCalendar li .txtDate {
		display:none;
		font-size:1.0em;
		float:none;
		color:#333;
		width:auto;
		writing-mode:horizontal-tb;
	}
	.boxCalendar li.other .txtDate {color:#ccc;}
	.boxCalendar li.other .boxDate {
		background:#eee;
		color:#afafaf;
	}
	.boxCalendar li .boxDate:hover {
		background:#b8eaf4;
	}
	.boxCalendar li .boxDate .itemLsn {
		font-size:0.81em;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		float:left;
		width:100%;
	}
	.boxCalendar li .boxDate .itemLsn a {
		display:block;
		padding:5px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space:normal;
	}
	
	.boxCalendar li .boxDate .itemLsn a span{
		display:block;
		text-align:center;
	}
	
	.boxCalendar li .boxDate .itemLsn a .itemLsnIntro,
	.boxCalendar li .boxDate .itemLsn a .itemLsnStaff{
		display:none;
	}
	
	.boxCalendar li .boxDate .itemLsn a .itemLsnDate {
	}
	
	.boxCalendar li .boxDate h4 {
		display:block;
		text-align:center;
		color:#58BBCE;
		font-weight:bold;
		font-size:0.8em;
	}
	
	
	
}

/* ウィンドウ幅が0〜640pxの場合に適用するCSS */
@media screen and ( max-width:640px ){
	
	
	/***************************************************************
	#contents (コンテンツ部分）
	***************************************************************/
	
	/*『arrangeType_01』の項目*/
	#contents .arrangeType_01 .image,
	#contents .arrangeType_02 .image,
	#contents .arrangeType_03 .image,
	#contents .arrangeType_04 .image {
		float:none;
		width:auto;
		margin-right:0;
	}
	#contents .arrangeType_01 p {margin-left:0;}
	/*『arrangeType_02』の項目*/
	#contents .arrangeType_02 p {margin-right:0;}
	
	/*『arrangeType_04』の項目*/
	#contents .arrangeType_04 .image .box {
		margin:10px 0;
	}
	
	.listBtn li {
		float: none;
		width:auto;
	}
	
	
	/*カレンダー枠*/
	.groupCalendar h3 {
		width:110px;
		height:105px;
		font-size:1.21em;
		line-height:2.5em;
		margin:0 auto 35px auto;
		padding:15px 10px 10px;
		border-radius: 130px;        /* CSS3草案 */  
		-webkit-border-radius: 130px;    /* Safari,Google Chrome用 */  
		-moz-border-radius: 130px;   /* Firefox用 */
	}

	.itemForm.lineTri {
	float:none;
	width:auto;
	}
	
}

/* ウィンドウ幅が0〜460pxの場合に適用するCSS */
@media screen and ( max-width:460px ){
	
	
	/***************************************************************
	#contents (コンテンツ部分）
	***************************************************************/
	
	
	.itemForm.line {
	float:none;
	width:auto;
	}
}
