﻿@charset "utf-8";

/*All Media CSS -Templates-*/

/***********************************
Link Setting
************************************/

a:link,
a:visited,
a:active{
	color: #fd6982;
	text-decoration: none;
}

a:hover{
	color: #ca5468;
}


/***********************************
html&body
************************************/

html{
	overflow-y:scroll;
}

body{
	font-family:"Yu Gothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo, Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	src: local("Yu Gothic Medium");
	color: #707070;
	background-image: url(../images/bg_main.png);
	background-position: left top;
}

/*スマホの文字サイズ自動変更無効*/
html,body{
	-webkit-text-size-adjust: 100%;
	height: 100%;
}


/***********************************
main container
************************************/

#mainContainer{
	line-height: 1.75;
	letter-spacing: .01em;
}

/***********************************
header
************************************/

header{
	background-image: url(../images/bg_main.png);
	background-position: left top;
}


/***********************************
#mainbox メインスライドリンク
************************************/

#s00{
	position: relative;
}

#s00 a.scroll{
	width: 50px;
	padding-top: 60px;
	color: #fff;
	display: block;
	text-align: center;
	position: absolute;
	bottom: 10px;
	left: 0;
	right: 0;
	margin: auto;
}

#s00 a.scroll span{
	position: absolute;
	left: 50%;
	width: 30px;
	height: 50px;
	margin-left: -15px;
	border: 2px solid #fff;
	border-radius: 50px;
	box-sizing: border-box;
	bottom: 20px;
	z-index: 9997;
}

#s00 a.scroll span::before{
	position: absolute;
	top: 10px;
	left: 50%;
	content: '';
	width: 6px;
	height: 6px;
	margin-left: -3px;
	background-color: #fff;
	border-radius: 100%;
	box-sizing: border-box;
	-webkit-animation: scroll 2s linear infinite;
	-moz-animation: scroll 2s linear infinite;
	animation: scroll 2s linear infinite;
}

#s00 a.sliderlink {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
}
/***keyframes***/
@-webkit-keyframes scroll{
	0%{opacity: .7; top: 20%;}
	30%{opacity: .9; top: 70%;}
	50%{opacity: 1; top: 50%;}
	100%{opacity: 1; top: 20%;}
}
@-moz-keyframes scroll{
	0%{opacity: .7; top: 20%;}
	30%{opacity: .9; top: 70%;}
	50%{opacity: 1; top: 50%;}
	100%{opacity: 1; top: 20%;}
}
@keyframes scroll{
	0%{opacity: .7; top: 20%;}
	30%{opacity: .9; top: 70%;}
	50%{opacity: 1; top: 50%;}
	100%{opacity: 1; top: 20%;}
}
@-webkit-keyframes opacity{
	0%{opacity: 0;}
	100%{opacity: 1;}
}
@-moz-keyframes opacity{
	0%{opacity: 0;}
	100%{opacity: 1;}
}
@keyframes opacity{
	0%{ opacity: 0;}
	100%{opacity: 1;}
}

/***********************************
clearfix
************************************/
.cf:after {
	content: "";
	clear: both;
	display: block;
}
/***********************************
content
************************************/

article#content{

}
p.read {
	margin-bottom: 3em;
	text-align: center;
}
p.read span{
	border-bottom:  1px solid #fe5672;
	padding-bottom: 5px;
	display: inline;
}
#s03 .crBox {
	padding-bottom: 3em;
}
#s03 .crBox .infoBox{
	max-width: 1040px;
	width: 95%;
	margin: 0 auto;
}
#s04 .crBox .titleBox {
	position: relative;
	cursor: pointer;
}
#s04 .crBox .titleBox.arrowDown:after {
  content: "";
  width: 25px;
  height: 25px;
  border-bottom: 7px solid #ff6780;
  border-left: 7px solid #ff6780;
  position: absolute;
  right: 2em;
  top: 0;
  bottom: 8px;
  margin: auto;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
	-webkit-animation: rotateArrowBack .1s ease forwards;
	        animation: rotateArrowBack .1s ease forwards;
}

#s04 .crBox .titleBox.open.arrowDown:after {
	-webkit-animation: rotateArrow .3s ease forwards;
	        animation: rotateArrow .3s ease forwards;
}
#s04 .crBox .titleBox .titleInBox {
	-webkit-transition: opacity .2s ease-in-out;
	transition: opacity .2s ease-in-out;
}
#s04 .crBox .titleBox:hover .titleInBox {
	opacity: .7;
}
#s04 .crBox .titleBox.arrowDown:hover:after {
	border-color: #ff9aab;
}
#s04 .crBox .fl p span img {
	max-width: 100%;
	height: auto;
	display: block;
}
#s04 .crBox table.lessonList{
	max-width: 410px;
	width: 100%;
	margin: 0 auto 2em;
	border: 1px solid #cccccc;
}
#s04 .crBox .acceptanceBox span {
	max-width: 410px;
	margin: 0 auto 1em;
	border: 1px dashed #ffa785;
	border-radius: 38px;
	text-align: center;
	display: block;
	line-height: 5em;
	background-image: url(../images/icon_note01.png), url(../images/icon_note02.png);
	background-repeat: no-repeat, no-repeat;
	background-position: left 6% center, right 6% center;
}
@-webkit-keyframes rotateArrow {
	0% {-webkit-transform: rotate(-45deg);transform: rotate(-45deg);}
	100% {-webkit-transform: rotate(135deg);transform: rotate(135deg);}
}
@keyframes rotateArrow {
	0% {-webkit-transform: rotate(-45deg);transform: rotate(-45deg);}
	100% {-webkit-transform: rotate(135deg);transform: rotate(135deg);}
}
@-webkit-keyframes rotateArrowBack {
	0% {-webkit-transform: rotate(135deg);transform: rotate(135deg);}
	100% {-webkit-transform: rotate(-45deg);transform: rotate(-45deg);}
}
@keyframes rotateArrowBack {
	0% {-webkit-transform: rotate(135deg);transform: rotate(135deg);}
	100% {-webkit-transform: rotate(-45deg);transform: rotate(-45deg);}
}
@media print, screen and (max-width:767px){
	#s04 .crBox .titleBox.arrowDown:after {
		width: 10px;
		height: 10px;
		border-width: 3px;
		right: 1em;
	}
}

/***********************************
footer
************************************/

footer{
}



/*PC CSS -Templates-*/
@media print, screen and (min-width:768px){
/***********************************
main container
************************************/

.pc{
	display: block;
}

.sp{
	display: none;
}

#mainContainer{
	font-size: 18px;
	letter-spacing: .01em;
}


/***********************************
header
************************************/

header{
	width: 100%;
	background-color: #ffffff;
	position: fixed;
	z-index: 9999;
}

header a:hover{
	opacity:0.5;
}

header .inhbox{
	margin: 0 auto;
	padding: 0 1%;
	overflow: hidden;
	position: relative;
}

header h1{
	float: left;
	width: 30%;
	padding-top: 15px;
	padding-bottom: 15px;
}

header nav{
	width: 68%;
	float: right;
	display: block!important;
}

header nav ul#mNavi{
	display: block;
	float: right;
	padding-top: 25px;
	padding-bottom: 25px;
}

header nav ul#mNavi li{
	display: block;
	float: left;
}

header nav ul#mNavi li{
}

header nav ul#mNavi li a{
	display: block;
	line-height: 40px;
	height: 40px;
	font-size: 14px;
	text-decoration: none;
	color: #707070;
	padding: 0 1em;
}

header nav ul#mNavi li.mark a{
	display: block;
	background-color: #ff5672;
	color: #FFF;
	-moz-border-radius: 20px;/* Firefox用 */
	-webkit-border-radius: 20px;/* Safari,Google Chrome用 */
	-khtml-border-radius: 20px;/* for Old Safari, KHTML */
	border-radius: 20px;/* for CSS3 */
	position:relative;/* PIEを動作させるために追加 */
}

/***********************************
content
************************************/

.inbox{
	max-width: 1168px;
	width: 88%;
	margin-right: auto;
	margin-left: auto;
	overflow: hidden;
	position: relative;
}

.googleLink{
	display: block;
	background-image: url(../images/icon_map.png);
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 15px;
}

article#content{
}

/*タイトルスタイル*/
#s01 h1,
#s02 h1,
#s03 h1,
#s04 h1,
#s05 h1{
	display: block;
	font-size: 30px;
	padding-bottom: 35px;
	line-height: 30px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 30px;
}

span.shoulder{
	margin-bottom: 75px;
	display: block;
	text-align: center;
	font-weight: bold;
}

p {
	text-align: justify;
}

.fl{
	float: left;
}

.fr{
	float: right;
}

#s01 h1{
	padding-top: 110px;
	background-image: url(../images/st01.png);
	background-repeat: no-repeat;
	background-position: center bottom;
}

#s02 h1{
	padding-top: 110px;
	background-image: url(../images/st02.png);
	background-repeat: no-repeat;
	background-position: center bottom;
}

#s03 h1{
	padding-top: 110px;
	background-image: url(../images/st03.png);
	background-repeat: no-repeat;
	background-position: center bottom;
}

#s04 h1{
	padding-top: 110px;
	background-image: url(../images/st04.png);
	background-repeat: no-repeat;
	background-position: center bottom;
}

#s05 h1{
	background-image: url(../images/st05.png);
	background-repeat: no-repeat;
	background-position: center bottom;
}

/*#s00*/
#s00{
	padding-top: 90px;
}

/*#s01*/
#s01{
	background-image: url(../images/s01_btm_bg.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size:100% auto;
	padding-bottom: 150px;
}

#s01 .infoBox{
	font-size: 18px;
	line-height: 30px;
	overflow: hidden;
	position: relative;
}

#s01 .infoBox .fl{
	float: left;
	width: 40%;
	text-align: center;
}
#s01 .infoBox .fl img{
	max-width: 100%;
	height: auto;
}
#s01 .infoBox .fr{
	float: right;
	width: 58%;
}
#s01 .infoBox .fr p{
	margin-bottom: 1em;
}

/*#s02*/
#s02{
	padding-bottom: 50px;
	background-image: url(../images/bg_s02.png);
	background-position: left top;
}

#s02 .infoBox{
	font-size: 18px;
	line-height: 30px;
	overflow: hidden;
	position: relative;
}

#s02 .infoBox .fl{
	float: left;
	width: 48%;
}

#s02 .infoBox .fr{
	float: right;
	width: 48%;
}

#s02 .infoBox span{
	color: #fc5874;
}

#s02 .linkBox{
	width: 20%;
	margin-right: auto;
	margin-left: auto;
	padding-top: 100px;
}

#s02 .linkBox a{
	min-width: 245px;
	width: 100%;
	display: block;
	color: #ffffff;
	background-color: #ff5672;
	line-height: 50px;
	text-align: center;
	border-radius: 25px;/* for CSS3 */
	position:relative;/* PIEを動作させるために追加 */
	background-image: url(../images/icon_bw.png);
	background-repeat: no-repeat;
	background-position: right 30px center;
}

#s02 .linkBox a:hover{
	opacity:0.5;
}


/*#s03*/
#s03{
	background-image: url(../images/s02_btm_bg.png);
	background-repeat: no-repeat;
	background-position: center top;
	background-size:100% auto;
}

#s03 .crBox{
	overflow: hidden;
	position: relative;
	border: 5px solid #acdfde;
	margin-bottom: 60px;
}

#s03 .crBox .titleCBox{
}

#s03 .crBox .titleCBox .titleInBox{
	text-align: center;
	width: 60%;
	margin-right: auto;
	margin-left: auto;
	padding-top: 40px;
	padding-bottom: 50px;
}

#s03 .crBox .titleCBox .titleInBox h3{
	font-size: 24px;
	line-height: 24px;
	display: block;
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #acdfde;
	font-weight: bold;
	letter-spacing: 5px;
}

#s03 .crBox .titleCBox span{
	display: block;
}

#s03 .crBox .infoBox{
	font-size: 18px;
}

#s03 .crBox .infoBox a:hover{
	opacity:0.5;
}

#s03 .crBox .infoBox .fl{
	float: left;
	width: 48%;
}

#s03 .crBox .infoBox .fr{
	float: right;
	width: 48%;
}

#s03 .crBox .infoBox p.nameBox{
	display: block;
	text-align: center;
	line-height: 130px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #acdfde;
	margin-bottom: 50px;
	width: 100%;
	float: left;
}

/*#s04*/
#s04{
}

#s04 span.notes{
	text-align: center;
	display: block;
	padding-top: 70px;
	padding-bottom: 90px;
}

#s04 .crBox{
	overflow: hidden;
	position: relative;
	border: 5px solid #ff6780;
	margin-bottom: 60px;
}

#s04 .crBox .titleBox .titleInBox{
	margin: 0 auto;
	padding: 40px 4.5em 50px;
	text-align: center;
}

#s04 .crBox .titleBox .titleInBox h3{
	width: 500px;
	margin-bottom: 20px;
	border-bottom: 1px solid #ff6780;
	padding-bottom: 20px;
	font-size: 24px;
	display: inline-block;
	font-weight: bold;
	letter-spacing: 5px;
}

#s04 .crBox .titleBox span{
	display: block;
}

#s04 .crBox .infoBox{
	max-width: 958px;
	width: 95%;
	margin: 0 auto 50px;
	display: none;
	overflow: hidden;
	position: relative;
	font-size: 16px;
}

#s04 .crBox .fl{
	width: 50%;
	border-right: 1px solid #ccc;
	box-sizing: border-box;
}
#s04 .crBox .fl .infoBoxInner{
	max-width: 410px;
	width: 95%;
}

#s04 .crBox table.add{
	width: 100%;
	margin-bottom: 15px;
}

#s04 .crBox table.add th{
	text-align: left;
	vertical-align: top;
}

#s04 .crBox table.add td{
	text-align: left;
	vertical-align: top;
}

#s04 .crBox .fl p{
}

#s04 .crBox .fl p span{
	display: block;
	float: left;
	padding-bottom: 15px;
}

#s04 .crBox .fr{
	width: 50%;
	box-sizing: border-box;
}
#s04 .crBox .fr .infoBoxInner{
	max-width: 410px;
	width: 95%;
	float: right;
}

#s04 .crBox table.lessonList th{
	background-color: #f8f5f9;
	text-align: center;
	line-height: 55px;
}

#s04 .crBox table.lessonList td{
	text-align: center;
	line-height: 45px;
}

#s04 .crBox table.lessonList td:nth-child(odd){
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #cccccc;
}

#s04 .crBox table.lessonList tr:nth-child(odd){
	background-color: #f5eebb;
}

#s04 .crBox .fl .s04_i05_01{
	padding-right: 10px;
}

#s04 .crBox .fr .s04_i06_02{
	padding-top: 15px;
}

/*#s05*/
#s05{
	background-color: #e2deeb;
	padding-top: 60px;
	padding-bottom: 60px;
}

#s05 ul{
	display: block;
	text-align: center;
}

#s05 ul li{
	display: inline-block;
	padding-right: 25px;
	padding-left: 25px;
}

#s05 ul li .pc {
	display: inline-block;
}

#s05 ul li a{
	font-size: 24px;
	line-height: 24px;
}

#s05 ul li a:hover{
	opacity:0.5;
}

/***********************************
footer
************************************/

footer{
	position: relative;
}

footer ul{
	overflow: hidden;
	position: relative;
	padding-top: 50px;
	padding-bottom: 50px;
}

footer ul li{
	float: left;
	font-size: 13px;
	line-height: 15px;
	margin-right: 30px;
}

footer ul li small{
	display: block;
	padding-left: 40px;
	font-size: 13px;
}

footer ul li small span{
	color: #fc5975;
}

footer #backTopLink{
	position: absolute;
	top: 0px;
	right: 0px !important;
	width: 20%;
	z-index: 9999;
}

footer #backTopLink a{
	position: absolute;
	top: 0px;
	right: 0px;
	width: 80%;
	font-size: 16px;
	line-height: 120px;
	background-color: #ffa7b4;
	color: #FFF;
	text-align: center;
	background-image: url(../images/icon_note03.png);
	background-repeat: no-repeat;
	background-position: left 12% center;
	background-size: 10% auto;
	display: block;
	padding-left: 20%;
}

footer #backTopLink a:hover{
	background-color: #fd6982;
}

}

/*SmartPhone CSS -Templates-*/
@media print, screen and (max-width:768px){


/***********************************
main container
************************************/

.pc{
	display: none;
}

.sp{
	display: block;
}

#mainContainer{
	font-size: 14px;
}
p.read{
	width: 95%;
	margin: 0 auto 2em;
}
/***********************************
header
************************************/

header{
	width: 100%;
	background-color: #fff;
	z-index: 9998;
	top: 0px;
	position: fixed;
	height: 50px;
}

header nav{
	display: none;
	width: 100%;
	z-index: 9999;
	top: 0px;
	position: fixed;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}

header .inhbox{
	min-width: 100%;
	margin-right: auto;
	margin-left: auto;
	overflow: hidden;
	position: relative;
}

header h1{
	float: left;
	width: 80%;
	padding-top: 7px;
	padding-left: 5px;
}

header h1 img{
	width: auto;
	max-height: 30px;
}

header nav ul#mNavi{
	display: block;
	float: none;
	padding-top: 60px;
	padding-bottom: 25px;
	width: 95%;
	margin-right: 2.5%;
	margin-left: 2.5%;
}

header nav ul#mNavi li{
	display: block;
	float: none;
}

header nav ul#mNavi li{
}

header nav ul#mNavi li a{
	display: block;
	color: #ffffff;
	font-size: 14px;
	padding-top: 5px;
	padding-right: 5px;
	padding-bottom: 5px;
	padding-left: 10px;
	background-color: #ff5672;
	color: #FFF;
	-moz-border-radius: 20px;/* Firefox用 */
	-webkit-border-radius: 20px;/* Safari,Google Chrome用 */
	-khtml-border-radius: 20px;/* for Old Safari, KHTML */
	border-radius: 20px;/* for CSS3 */
	position:relative;/* PIEを動作させるために追加 */
	margin-bottom: 1px;
}

header nav ul#mNavi li.mark a{
	display: block;
	background-color: #ff5672;
	color: #FFF;
	-moz-border-radius: 20px;/* Firefox用 */
	-webkit-border-radius: 20px;/* Safari,Google Chrome用 */
	-khtml-border-radius: 20px;/* for Old Safari, KHTML */
	border-radius: 20px;/* for CSS3 */
	position:relative;/* PIEを動作させるために追加 */
}
/***********************************
content
************************************/

.inbox{
	width: 98%;
	margin-right: auto;
	margin-left: auto;
	overflow: hidden;
	position: relative;
}

.googleLink{
	display: block;
	background-image: url(../images/icon_map.png);
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 15px;
}

.googleLink:hover{
	opacity:0.5;
}

article#content{
}

/*タイトルスタイル*/
#s00{
}

#s01 h1,
#s02 h1,
#s03 h1,
#s04 h1{
	display: block;
	text-align: center;
	margin-bottom: 15px;
	padding-top: 60px !important;
	padding-bottom: 20px;
}

#s05 h1{
	display: block;
	text-align: center;
	margin-bottom: 15px;
	padding-bottom: 20px;
}

#s01 h1 img,
#s02 h1 img,
#s03 h1 img,
#s04 h1 img,
#s05 h1 img{
	width: 80%;
	margin-bottom: 10px;
}

span.shoulder{
	margin-bottom: 20px;
	display: block;
	text-align: center;
}

.fl{
	float: left;
}

.fr{
	float: right;
}

#s01 h1{
	padding-top: 20px;
	background-image: url(../images/st01.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size:20% auto;
}

#s02 h1{
	padding-top: 20px;
	background-image: url(../images/st02.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size:20% auto;
}

#s03 h1{
	padding-top: 20px;
	background-image: url(../images/st03.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size:20% auto;
}

#s04 h1{
	padding-top: 20px;
	background-image: url(../images/st04.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size:20% auto;
}

#s05 h1{
	background-image: url(../images/st05.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size:20% auto;
}

article#content{
}

/*#s00*/
#s00{
	padding-top: 50px;
	position: relative;
}

.pc_var #s00 a{
	bottom: 1% !important;
}

#s00 li{
	position: relative;
}

#s00 .txtBox{
	position: absolute;
	text-align: center;
	top: 12%;
	width: 100%;
}

#s00 .txtBox h1{
	display: block;
}

/*#s01*/
#s01{
	background-image: url(../images/s01_btm_bg.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size:100% auto;
	padding-bottom: 40px;
	position: relative;
}

#s01 .infoBox{
	overflow: hidden;
	position: relative;
	width: 95%;
	margin-right: auto;
	margin-left: auto;
}

#s01 .infoBox .fl{
	margin-bottom: 1.5em;
	float: none;
	text-align: center;
}

#s01 .infoBox .fl img {
	max-width: 100%;
}

#s01 .infoBox .fr{
	float: none;
}

/*#s02*/
#s02{
	padding-bottom: 30px;
	background-image: url(../images/bg_s02.png);
	background-position: left top;
}

#s02 .infoBox{
	overflow: hidden;
	position: relative;
	width: 95%;
	margin-right: auto;
	margin-left: auto;
}

#s02 .infoBox .fl{
	float: none;
}

#s02 .infoBox .fr{
	float: none;
}

#s02 .infoBox span{
	color: #fc5874;
}

#s02 .linkBox{
	width: 55%;
	margin-right: auto;
	margin-left: auto;
	padding-top: 20px;
}

#s02 .linkBox a{
	display: block;
	color: #ffffff;
	background-color: #ff5672;
	line-height: 3;
	text-align: center;
	width: 100%;
	-moz-border-radius: 25px;/* Firefox用 */
	-webkit-border-radius: 25px;/* Safari,Google Chrome用 */
	-khtml-border-radius: 25px;/* for Old Safari, KHTML */
	border-radius: 25px;/* for CSS3 */
	position:relative;/* PIEを動作させるために追加 */
	background-image: url(../images/icon_bw.png);
	background-repeat: no-repeat;
	background-position: right 9% center;
}

#s02 .linkBox a:hover{
	opacity:0.5;
}

/*#s03*/
#s03{
	background-image: url(../images/s02_btm_bg.png);
	background-repeat: no-repeat;
	background-position: center top;
	background-size:100% auto;
	padding-top: 20px;
}

#s03 .crBox{
	overflow: hidden;
	position: relative;
	border: 3px solid #acdfde;
	margin-bottom: 30px;
}

#s03 .crBox .titleCBox{
}

#s03 .crBox .titleCBox .titleInBox{
	text-align: center;
	width: 60%;
	margin-right: auto;
	margin-left: auto;
	padding-top: 20px;
	padding-bottom: 20px;
}

#s03 .crBox .titleCBox .titleInBox h3{
	font-size: 1.25em;
	display: block;
	margin-bottom: 10px;
	border-bottom:  1px solid #acdfde;
	padding-bottom: 10px;
	font-weight: bold;
	letter-spacing: 3px;
}

#s03 .crBox .titleCBox span{
	display: block;
}

#s03 .crBox .infoBox .fl{
	float: none;
}

#s03 .crBox .infoBox .fr{
	float: none;
}

#s03 .crBox .infoBox p.nameBox{
	width: 100%;
	display: block;
	text-align: center;
	line-height: 5em;
	border-bottom:  1px solid #acdfde;
	margin-bottom: 20px;
}

#s03 .crBox .infoBox table{
}

#s03 .crBox .infoBox table th{
	padding-right: 20px;
	white-space: nowrap;
}

#s03 .crBox .infoBox table td{
}

#s03 .crBox .infoBox table td.icon_facebook{
	padding-top: 10px;
}

/*#s04*/
#s04{
}

#s04 span.notes{
	width: 95%;
	margin: 0 auto;
	display: block;
	padding-top: 10px;
	padding-bottom: 20px;
}

#s04 .crBox{
	overflow: hidden;
	position: relative;
	border: 2px solid #ff6780;
	margin-bottom: 20px;
}

#s04 .crBox .titleBox .titleInBox{
	margin: 0 auto;
	padding: 1em 3em;
	text-align: center;
}

#s04 .crBox .titleBox .titleInBox h3{
	font-size: 1.25em;
	display: block;
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom:  1px solid #ff6780;
	font-weight: bold;
}

#s04 .crBox .titleBox span{
	font-size: 1.125em;
	letter-spacing: .03em;
	display: block;
}

#s04 .crBox .infoBox{
	width: 95%;
	display: none;
	padding-bottom: 10px;
	overflow: hidden;
	position: relative;
	font-size: 14px;
	margin-right: auto;
	margin-left: auto;
}

#s04 .crBox .fl{
	float: none;
	margin-bottom: 10px;
}

#s04 .crBox img{
	max-width: 100%;
	margin: 0 auto .5em;
	display: block;
}

#s04 .crBox table.add{
	width: 100%;
	margin-bottom: 5px;
}

#s04 .crBox table.add th{
	text-align: left;
	vertical-align: top;
	padding-right: 20px;
	white-space: nowrap;
}

#s04 .crBox table.add td{
	text-align: left;
	vertical-align: top;
	padding-bottom: 5px;
}

#s04 .crBox .fl p{
}

#s04 .crBox .fl p span{
	display: block;
	float: left;
	padding-bottom: 5px;
}

#s04 .crBox .fl p span.i01s,
#s04 .crBox .fl p span.i02s,
#s04 .crBox .fl p span.i03s,
#s04 .crBox .fl p span.i04s{
	width: 100%;
}

#s04 .crBox .fr{
	float: none;
	margin-bottom: 10px;
}

#s04 .crBox table.lessonList{
	width: 100%;
	border: 1px solid #cccccc;
	margin-bottom: 20px;
}

#s04 .crBox table.lessonList th{
	background-color: #f8f5f9;
	text-align: center;
	line-height: 30px;
}

#s04 .crBox table.lessonList td{
	text-align: center;
	line-height: 30px;
}

#s04 .crBox table.lessonList td:nth-child(odd){
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #cccccc;
}

#s04 .crBox table.lessonList tr:nth-child(odd){
	background-color: #f5eebb;
}

#s04 .crBox .fl .ib{
	margin-right: 15px;
	display: block;
}

/*#s05*/
#s05{
	background-color: #e2deeb;
	padding-top: 20px;
	padding-bottom: 20px;
}

#s05 ul{
	display: block;
	text-align: center;
}

#s05 ul li{
	padding-right: 25px;
	padding-left: 25px;
}

#s05 ul li a{
	font-size: 14px;
	line-height: 24px;
}

#s05 ul li a:hover{
	opacity:0.5;
}


/***********************************
footer
************************************/

footer{
	position: relative;
}

footer ul{
	overflow: hidden;
	position: relative;
	padding-top: 20px;
	padding-bottom: 20px;
}

footer ul li{
	line-height: 15px;
	text-align: center;
	margin-bottom: 15px;
}

footer ul li small{
	display: block;
	font-size: 10px;
}

footer ul li small span{
	color: #fc5975;
}

footer ul li a{
}

footer #backTopLink{
	position: relative;
	top: 0px;
	right: 0px !important;
	width: 100%;
}

footer #backTopLink a{
	top: 0px;
	right: 0px;
	width: 100%;
	line-height: 40px;
	background-color: #ffa7b4;
	color: #FFF;
	text-align: center;
	background-image: url(../images/icon_note03.png);
	background-repeat: no-repeat;
	background-position: left 30% center;
	background-size: auto 80%;
	display: block;
}

}

.raum-text{
	position: relative;
	display: inline-block !important;
}

.furikana{
	position: absolute;
    right: 33px;
    top: -11px;
    font-size: 12px !important;
    letter-spacing: 1px !important;
	white-space: nowrap;
}

@media print, screen and (max-width:768px){
	.furikana{
		right: 2.5vw;
	}
}