@charset "UTF-8";
@import url(http://fonts.googleapis.com/css?family=Open+Sans+Condensed:300,700);
@import url(https://fonts.googleapis.com/earlyaccess/mplus1p.css);
@import url(https://fonts.googleapis.com/earlyaccess/sawarabimincho.css);
@import url(https://fonts.googleapis.com/earlyaccess/mplus1p.css);

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

/*============================
common
============================*/

strong {font-weight: bold;}

/*============================
layout
============================*/

html {
  width: 100%;

  margin: 0px;
  padding: 0px;
    background-color: #FBFCFA;
 }

body {
    width: 100%;

	color: #333;
	font-size: 16px;
    font-family: "Mplus 1p　black";
	/*font-family: 'Sawarabi Mincho','Open Sans','Mplus 1p','Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Meiryo', 'メイリオ', 'Osaka', 'MS PGothic', arial, helvetica, sans-serif;*/
	margin: 0px auto;
    padding: 0px;
    letter-spacing: 0.08em;
	text-align: center;
	background: #fff;
    overflow-x: hidden;
    background: url(../img/rose_s.png);
    -webkit-overflow-scrolling: touch;
}

/*a {
	color: #000000;
	text-decoration:  none;
}*/

small {
	font-size: 77%;
}

p {

}

a {
    color:#ff1493;
}

.midashi1_old {
    font-size: 30px;
    font-weight: bold;
    margin: 0.5em auto;
}

.GlobalBody {
  width: 100%;

  /* html, body の hidden を打ち消す */
   overflow-x: auto;
}

/*============================
dropdown
============================*/
.box label{
	background: #045495;
    color: #fff;
	display: block;
	padding: 10px;
	margin-bottom: 5px;
	cursor: pointer;
}
 
.box input[type="checkbox"].on-off,
.box input[type="checkbox"].on-off +div{
	display: none;
}
 
.box input[type="checkbox"].on-off:checked +div{
	display: block;
}
 
.box div{
	margin: 0 0 20px;
}

/*============================
top
============================*/

.top {
    position: fixed;
    background: #fff;
    border-bottom: solid 1px #045495;
    height: 48px;
    z-index: 999;
}

.top_logo {
padding-top: 6px;
}

.box {
    position: fixed;
}

/*============================
side
============================*/

.category {
    border-bottom: 1px solid #808080;
}

/*============================
side
============================*/

#side {
    position: fixed;
	padding:3px;
	top: 0px;
	left: 0;
	border-left:2px #CCC solid;
	border-right:2px #CCC solid;
	background: #fff;
    font-size: 77%;
    z-index: 999;
}

#side p{

	line-height: 140%;
	font-weight: bolld;
	font-size: 12px;
	color:#3a3a3a;
	text-align: left;
	padding-left: 1em;

}


#side h2 {

	font-size: 13px;
	font-weight: bold;
	color: #fafafa;
  position: relative;
  text-align: center;

}
#side h2 span {
  position: relative;
  color: #416188;
  z-index: 8;
  font-weight: bold;
  margin: 0.1em auto;
  display: inline-block;
  padding: 0.5em 0;
  background-color: #e5e5e5;
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#e2e2e2+0,dbdbdb+50,d1d1d1+51,fefefe+100;Grey+Gloss+%231 */
background: rgb(226,226,226); /* Old browsers */
background: -moz-linear-gradient(top,  rgba(226,226,226,1) 0%, rgba(219,219,219,1) 50%, rgba(209,209,209,1) 51%, rgba(254,254,254,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  rgba(226,226,226,1) 0%,rgba(219,219,219,1) 50%,rgba(209,209,209,1) 51%,rgba(254,254,254,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  rgba(226,226,226,1) 0%,rgba(219,219,219,1) 50%,rgba(209,209,209,1) 51%,rgba(254,254,254,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e2e2e2', endColorstr='#fefefe',GradientType=0 ); /* IE6-9 */
  text-align: left;
}
#side h2::before {
  position: absolute;
  top: 50%;
  z-index: 7;
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background-color: #e6e6e6;
}

#side ul{

	list-style: disc;
	padding-left: 0;

	 }
#side li {
	list-style: disc;
	color: #fafafa;
	padding: 0.5em 0;
	width:100%;
	line-height: 160%;
}

#side li a{
	color: blue;
    width: 100%;
    display: block;
	font-size: 36px;
	font-weight: bold;
	text-decoration: none;
    border-bottom: 1px #aaa solid;
}

#side li a:hover{
	color: #ec9800;
	font-weight: bold;
	text-decoration: underline;
}

#side  li ul li {
	overflow:hidden;
	height:0px;

				}
#side  li:hover ul li{
  overflow: visible;
  height: 26px;
  display:block;
}

#side  li ul:hover {
	
	width: 100%;
	
}

.now {

	background: #fdca8a;

}

/*============================
top
============================*/

#top {
    margin-top: 50px;
}

/*============================
hr
============================*/

hr {
  height: 1px;
  background: #fae5e4;
  background-image: -webkit-linear-gradient(left, #fae5e4, #c5004c, #fae5e4);
  background-image: -moz-linear-gradient(left, #fae5e4, #c5004c, #fae5e4);
  background-image: -ms-linear-gradient(left, #fae5e4, #c5004c, #fae5e4);
  background-image: -o-linear-gradient(left, #fae5e4, #c5004c, #fae5e4);
}

/*============================
logo_top
============================*/

.logo_top {
    background: #c34b7f;
    color: #fafafa;
    font-size: 12px;
    padding: 0.5em;
}

/*============================
c_w
============================*/

.c_w {
    width: 100%
    margin: 0 auto;
    padding: 1em 0;
    background: rgba(255, 255, 255, 0.8); 
    border-bottom: solid 1px #ff1493;
}

/*============================
menu
============================*/

#menu {

}

#menu2, #menu3, #menu4, #menu5 {
    margin:1em auto;
}


#sub_menu {
    margin: 1em auto;
    text-align: center;
}

#sub_menu a {
    color: deeppink;
}

#sub_menu_active {
    background: #ff1493;

}
#sub_menu_active a {
    color: #fff;
}


/*============================
lesson
============================*/

.lesson {
    font-size: 18px;
    margin: auto;
}

.lesson h2{
    font-size: 28px;
    font-weight: bold;
}

.lesson h3{
    font-size: 24px;
    margin: 0 auto 0.2em;
    font-weight: bold;
}

.lesson div{
 line-height: 200%;
　text-align: left;  
}

.lesson p {
 line-height: 250%;
　text-align: left;  
}

.lesson i{
    color: crimson;
}

.lesson_plus {
    font-size: 18px;
    margin: auto;
    border-top: 2px solid #c40026; 
}

.lesson_plus h2{
    font-size: 28px;
    font-weight: bold;
    margin: 1em auto;
}

.lesson_plus_b div{
text-align: center;
    padding: 0.5em 0;
    
}

.lesson_plus_b p{
    padding: 0;
    margin: 0;
     line-height: 180%;
}

.lesson_plus i{
    color: crimson;
}

.lesson_plus_contact {
    padding: 0.2em;
    margin: 1em auto;
    line-height: 180%;
    border: double 5px #c34b7f;
}

.lesson_plus_img {
    text-align: center;
    margin: auto;
}

.lesson_plus_img p{
    font-size: 18px;
    margin: 5px auto;
    text-align: center;
    padding: 5px;
    
}

#lesson_cal {
    width: 100%;
    margin: auto;
    text-align: center;
}

/*============================
about
============================*/

.about {
    margin: auto;
}

.about p {
    line-height: 200%;
    font-size: 18px;
}

.about h3 {
    margin: 1.5em auto 1em;
    font-size: 21px;
}

.about h3{
position: relative;
background: #dfefff;
box-shadow: 0px 0px 0px 5px #dfefff;
border: dashed 1px #96c2fe;
padding: 0.2em 0.5em;
color: #454545;
}

.about h3:after{
position: absolute;
content: '';
left: -7px;
top: -7px;
border-width: 0 0 15px 15px;
border-style: solid;
border-color: #fff #fff #a8d4ff;
box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
}

.about2 h3{
position: relative;
background: #ef9c99;
box-shadow: 0px 0px 0px 5px #ef9c99;
border: dashed 1px #c5004c;
padding: 0.2em 0.5em;
color: #454545;
}

.about2 h3:after{
position: absolute;
content: '';
left: -7px;
top: -7px;
border-width: 0 0 15px 15px;
border-style: solid;
border-color: #fff #fff #c5004c;
box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
}

.about3 h3{
position: relative;
background: #96c79a;
box-shadow: 0px 0px 0px 5px #96c79a;
border: dashed 1px #4da619;
padding: 0.2em 0.5em;
color: #454545;
}

.about3 h3:after{
position: absolute;
content: '';
left: -7px;
top: -7px;
border-width: 0 0 15px 15px;
border-style: solid;
border-color: #fff #fff #4da619;
box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
}

.about4 h3{
position: relative;
background: #fdca8a;
box-shadow: 0px 0px 0px 5px #fdca8a;
border: dashed 1px #ec9800;
padding: 0.2em 0.5em;
color: #454545;
}

.about4 h3:after{
position: absolute;
content: '';
left: -7px;
top: -7px;
border-width: 0 0 15px 15px;
border-style: solid;
border-color: #fff #fff #ec9800;
box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
}

.about5 h3{
position: relative;
background: #a586b3;
box-shadow: 0px 0px 0px 5px #a586b3;
border: dashed 1px #53005d;
padding: 0.2em 0.5em;
color: #fff;
}

.about5 h3:after{
position: absolute;
content: '';
left: -7px;
top: -7px;
border-width: 0 0 15px 15px;
border-style: solid;
border-color: #fff #fff #53005d;
box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
}

.about6 h3{
position: relative;
background: #d1df9c;
box-shadow: 0px 0px 0px 5px #d1df9c;
border: dashed 1px #92c000;
padding: 0.2em 0.5em;
color: #fff;
}

.about6 h3:after{
position: absolute;
content: '';
left: -7px;
top: -7px;
border-width: 0 0 15px 15px;
border-style: solid;
border-color: #fff #fff #92c000;
box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
}

.about h4 {
    margin: 0.5em auto 0;
    font-size: 18px;
}

.about8 h3{
position: relative;
background: #ed9db9;
box-shadow: 0px 0px 0px 5px #ed9db9;
border: dashed 1px #92c000;
padding: 0.2em 0.5em;
color: #fff;
}

.about8 h3:after{
position: absolute;
content: '';
left: -7px;
top: -7px;
border-width: 0 0 15px 15px;
border-style: solid;
border-color: #fff #fff #ff1493;
box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
}

/*============================
viewer_lesson
============================*/

.viewer_lesson {
    padding: 0;
    margin: 0 auto;
    width: 320px;
    height: 427px;
    text-align: center;
    overflow: hidden;
}
 
.viewer_lesson ul {
    width: 320px;
    height: 427px;
    text-align: center;
    overflow: hidden;
    position: relative;
}
 
.viewer_lesson ul li {
    top: 0;
    left: 0;
    width: 320px;
    height: 427px;
    margin: 0 auto;
    text-align: center;
    display: none;
    position: absolute;
}


/*============================
viewer_info
============================*/

.viewer_info {
    padding-bottom: 1em;
    margin: 0 auto;
    width: 360px;
    height: 460px;
    text-align: center;
    overflow: hidden;
}
 
.viewer_info ul {
    width: 360px;
    height: 480px;

    text-align: left;
    overflow: hidden;
    position: relative;
}
 
.viewer_info ul li {
    top: 0;
    left: 0;
    width: 360px;
    height: 480px;
    margin: 0 auto;
    text-align: center;
    display: none;
    position: absolute;
}


/*============================
viewer_info2
============================*/

.viewer_info2 {
    padding-bottom: 1em;
    margin: 0 auto;
    width: 360px;
    height: 460px;
    text-align: center;
    overflow: hidden;
}
 
.viewer_info2 ul {
    width: 360px;
    height: 460px;
    text-align: left;
    overflow: hidden;
    position: relative;
}
 
.viewer_info2 ul li {
    top: 0;
    left: 0;
    width: 360px;
    height: 460px;
    text-align: center;
    margin: 0 auto;
    display: none;
    position: absolute;
}

/*============================
viewer_info3
============================*/

.viewer_info3 {
    padding-top: 2em;
    padding-bottom: 1em;
    margin: 0 auto;
    width: 320px;
    height: 240px;
    text-align: center;
    overflow: hidden;
}
 
.viewer_info3 ul {
    width: 320px;
    height: 240px;
    padding-bottom: 1em;
    text-align: left;
    overflow: hidden;
    position: relative;
}
 
.viewer_info3 ul li {
    top: 0;
    left: 0;
    width: 320px;
    height: 240px;
    padding-bottom: 1em;
    text-align: center;
    margin: 0 auto;
    display: none;
    position: absolute;
}

/*============================
midashi
============================*/

.midashi1  {
position: relative;
padding: 0.2em 0.5em;
background: url(../img/bg.png) center center;
background-size: contain;
color: #fff;
font-weight: bold;
text-shadow: 2px 2px 0px #aaa;
box-shadow: 0 0 4px rgba(0, 0, 0, 0.56);
}

.midashi2  {
position: relative;
padding: 0.2em 0.5em;
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#cb60b3+0,c146a1+50,a80077+51,db36a4+100;Pink+Gloss */
background: rgb(203,96,179); /* Old browsers */
background: -moz-linear-gradient(top, rgba(203,96,179,1) 0%, rgba(193,70,161,1) 50%, rgba(168,0,119,1) 51%, rgba(219,54,164,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, rgba(203,96,179,1) 0%,rgba(193,70,161,1) 50%,rgba(168,0,119,1) 51%,rgba(219,54,164,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, rgba(203,96,179,1) 0%,rgba(193,70,161,1) 50%,rgba(168,0,119,1) 51%,rgba(219,54,164,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cb60b3', endColorstr='#db36a4',GradientType=0 ); /* IE6-9 */
color: white;
font-weight: lighter;
box-shadow: 0 0 4px rgba(0, 0, 0, 0.56);
}

.midashi3  {
position: relative;
padding: 0.2em 0.5em;
background: -moz-linear-gradient(to right, rgb( 0, 160, 221 ), #8ecdf0);
background: -webkit-linear-gradient(to right, rgb( 0, 160, 221 ), #8ecdf0);
background: linear-gradient(to right, rgb( 0, 160, 221 ), #8ecdf0);
color: white;
font-weight: lighter;
box-shadow: 0 0 4px rgba(0, 0, 0, 0.56);
}

/*============================
contact_table
============================*/

.contact_table {

    
}

.contact_table div {
    margin: 0.2em auto;
    line-height: 200%;
}

.contact_table h3 {
    font-size: 14px;
    margin: 1em auto;
    font-weight: bold;
}

.contact_table h3:first-letter {
font-size: 1.2em;
color: #7172ac;
}

.contact_table strong {
    font-weight: bold;
}

.contact_table input {
    padding: 0.5em;
    border-radius: 20px;
}

.contact_table textarea{
    padding: 0.5em;
    border-radius: 20px;
}

.contact_table input[type="submit"] {
   /* input要素のうちtype属性値がbuttonのものに対して装飾 */
   background-image: linear-gradient(0deg, #a7d9f5, #eaf6fd); /* グラデーション */
   border: 1px solid #3c7fb1; /* 枠線 */
   border-radius: 0.3em;      /* 角丸 */
}
.contact_table input[type="submit"]:hover {
   /* マウスが載ったとき */
   background-image: linear-gradient(0deg, #68d3db, #e5f4fc);
   border: 1px solid #2c628b;
}
.contact_table input[type="submit"]:active {
   /* クリックされたとき */
   background-image: linear-gradient(180deg, #68d3db, #e5f4fc);
   border: 1px solid skyblue;
}

.contact_table input[type="reset"] {
   /* input要素のうちtype属性値がbuttonのものに対して装飾 */
   background-image: linear-gradient(0deg, #a7d9f5, #eaf6fd); /* グラデーション */
   border: 1px solid #3c7fb1; /* 枠線 */
   border-radius: 0.3em;      /* 角丸 */
}
.contact_table input[type="reset"]:hover {
   /* マウスが載ったとき */
   background-image: linear-gradient(0deg, #68d3db, #e5f4fc);
   border: 1px solid #2c628b;
}
.contact_table input[type="reset"]:active {
   /* クリックされたとき */
   background-image: linear-gradient(180deg, #68d3db, #e5f4fc);
   border: 1px solid skyblue;
}

.contact_setumei {
    
    width: 100%;
    background: rgba(255,255,255,0.8);
    border-radius: 20px;
    border: 2px solid #c34b7f;
    
}

/*============================
Footer
============================*/

.footer_chiharuya{
	text-align:center;
	padding: 5px 0;
	font-size: 77%;
    line-height: 240%;
    color: #9a6400;
}

.footer_chiharuya p {
	text-align:center;
	margin: auto;
}
.copyright{
	margin: 0 auto;
	padding: 5px 0;
	text-align: center;
	color: #333333;
}

/* footer button end */

.padding_left_10 {
	padding-left: 10px;
}

.float_left {
	float: left;
}
.clear {
	clear: both;
}

/*============================
flexbox
============================*/

.flex_w {
	display: -webkit-flex;
	display: flex;
	width: 100%;
}

.flex_wc {
	display: -webkit-flex;
	display: flex;

}

.flex1 {
	-webkit-flex: 1;
	flex: 1;
}

.flex2 {
	-webkit-flex: 2;
	flex: 2;
}

.flex3 {
	-webkit-flex: 3;
	flex: 3;
}

.flex4 {
	-webkit-flex: 4;
	flex: 4;
}

.flex5 {
	-webkit-flex: 5;
	flex: 5;
}

/*============================
address
============================*/

address {
    background: url(../img/bb.png) no-repeat center center;
    background-size: cover;
    height: 360px;
    color: #fff;
}

/*============================
Footer
============================*/

.footertop {
    margin: 1.5em 0 0 0;
}

footer {
	width: 100%;
	text-align: center;
	margin: auto;
    background: #f0cce5;
	border-top: 1px solid #fe7e13;
}


.footer_chiharuya a{
	color: #4da619;
}

.footer_chiharuya a:hover{
	color: #ff9302;
	text-decoration: underline;
}

.copyright{
	margin: 0 auto;
	padding: 5px 0;
	text-align: center;
	color: #9a6400;
}

.copyright a{
	color: #4da619;
}

.copyright a:hover{
	color: #ff9302;
	text-decoration: underline;
}

/*============================
page-top
============================*/


.page-top
{
	margin: 0 ;
	padding: 0 ;
}
 
.page-top p
{
	margin: 0 ;
	padding: 0 ;

	position: fixed ;
	right: 16px ;
	bottom: 16px ;
}
 
.move-page-top
{
	display: block ;
    
	background: #4da619;
	width:  50px ;
	height: 50px ;

	color: #fff;
	line-height: 50px ;
	text-decoration: none ;
	text-align: center ;

	-webkit-transition:all 0.3s ;
	-moz-transition:all 0.3s ;
	transition:all 0.3s ;

	border-radius: 10px;		/* CSS3草案 */
	-webkit-border-radius: 10px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 10px;
	-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */

	
}

.move-page-top:hover
{
	opacity: 0.85 ;
}

/*============================
square_btn
============================*/

.square_btn{
    display: inline-block;
    padding: 0.5em 1em;
    text-decoration: none;
    background: #668ad8;/*ボタン色*/
    color: #FFF;
    border-bottom: solid 4px #627295;
    border-radius: 3px;
}
.square_btn:active {/*ボタンを押したとき*/
    -ms-transform: translateY(4px);
    -webkit-transform: translateY(4px);
    transform: translateY(4px);/*下に動く*/
    box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);/*影を小さく*/
    border-bottom: none;
}

/*============================
SNS
============================*/

.fl_tw2{/*ボタンの背景*/
  color: #FFF;/*文字・アイコン色*/
  border-radius: 7px;/*角丸に*/
  display: inline-block;
  height: 50px;/*高さ*/
  width: 190px;/*幅*/
  text-align: center;/*中身を中央寄せ*/
  font-size: 25px;/*文字のサイズ*/
  line-height: 50px;/*高さと合わせる*/
  vertical-align: middle;/*垂直中央寄せ*/
  background: #1da1f3;
  overflow: hidden;/*はみ出た部分を隠す*/
  text-decoration:none;/*下線は消す*/
}

.fl_tw2 .fa-twitter {
    text-shadow: 2px 2px 0px #4287d6;
    font-size: 30px;
}

.fl_tw2 span {/*テキスト*/
  display:inline-block;
  transition: .5s}

.fl_tw2:hover span{/*ホバーで一周回転*/
  -webkit-transform: rotateX(360deg);
  -ms-transform: rotateX(360deg);
  transform: rotateX(360deg);
}


.fl_fb2 {/*ボタンの下地*/
  color: #FFF;/*文字・アイコン色*/
  border-radius: 7px;/*角丸に*/
  display: inline-block;
  height: 50px;/*高さ*/
  width: 190px;/*幅*/
  text-align: center;/*中身を中央寄せ*/
  font-size: 25px;/*文字のサイズ*/
  line-height: 50px;/*高さと合わせる*/
  vertical-align: middle;/*垂直中央寄せ*/
  background: #4966a0;
  overflow: hidden;/*はみ出た部分を隠す*/
  text-decoration:none;/*下線は消す*/
}

.fl_fb2 .fa-facebook {
    text-shadow: 2px 2px 1px #224282;
    font-size: 30px;
}

.fl_fb2 span {/*テキスト*/
  display:inline-block;
  transition: .5s;
}

.fl_fb2:hover span{/*ホバーで一周回転*/
  -webkit-transform: rotateX(360deg);
  -ms-transform: rotateX(360deg);
  transform: rotateX(360deg);
}

/*============================
top_go
============================*/

.top_go {
    font-size: 18px;
    margin: 1em;
}

/*============================
20190902
============================*/

.headline1cb {
  font-size: 36px;
  width:auto;
  padding:3px 0 3px 10px;
  margin: 5px 0 0;
  color:#fff;
  background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(0.48, #8eff7f), color-stop(0.52, #00ff0a));
  text-shadow:0px -1px 1px #000;
}
