@charset "UTF-8";
/*------------------------------
RESET STYLE スタイルシート初期化
------------------------------*/

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font: inherit;
	font-size: 100%;
	vertical-align: baseline;
	background-color: transparent;
}

html,
body {
	height: 100%;
}

html {
	-ms-text-size-adjust: 100%;
	/* 2 */
	-webkit-text-size-adjust: 100%;
	/* 2 */
}

body {
	line-height: 1;
	font-family: /*"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",*/
	"メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
	min-width: 960px;
	/*背景切れ防止,全体のwidthと同一にする*/
	font-size: 14px;
}

@media screen and (max-width:1023px) {
	@media screen and (max-width: 767px) {
		:root {
			font-size: 16px;
		}

		@media screen and (max-width: 414px) {
			:root {
				font-size: 15px;
			}
		}
		@media screen and (max-width: 400px) {
			:root {
				font-size: 14px;
			}
		}
		@media screen and (max-width: 335px) {
			:root {
				font-size: 12.5px;
			}
		}
		html {
			font-size: 1.0rem;
			color: #2b0d0d;
		}
	}

	body {
		width: 100%;
		height: 100%;
		margin: 0;
		padding: 0;
		border: none;
		min-width: 100%;
		overflow-x: hidden;
	}
}

ol,
ul {
	list-style: none;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

br {
	letter-spacing: 0;
}

img {
	line-height: 0;
	vertical-align: bottom;
}

/* change colours to suit your needs */

ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}

/* change colours to suit your needs */

mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

del {
	text-decoration: line-through;
}

abbr[title],
dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

/* change border colour to suit your needs */

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}

input,
select {
	vertical-align: middle;
}

/*------------------------------
TIPS
------------------------------*/

/*float解除*/

.clearfix {
	overflow: hidden;
	zoom: 1;
}

.clear {
	clear: both;
}

/*画像置き換え*/

.sprite,
#hd_contact li,
#hd_btn p,
#gnav span,
#topcont_btn a,
#tnav a,
#topcont_btn02 a,
.btn,
#snav a,
#return a,
#ft_area a,
#bnav a {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

/*CSS3 Animation*/

a,
a>span,
.anime {
	text-decoration: none;
	-webkit-transition: all 200ms linear;
	-moz-transition: all 200ms linear;
	-o-transition: all 200ms linear;
	-ms-transition: all 200ms linear;
	transition: all 200ms linear;
}

/*HighLight*/

.highlight:hover,
#bnav a:hover {
	display: block;
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
	zoom: 1;
}

.highlight {
	-webkit-transition: all 200ms linear;
	-moz-transition: all 200ms linear;
	-o-transition: all 200ms linear;
	-ms-transition: all 200ms linear;
	transition: all 200ms linear;
}

.fleft {
	float: left;
}

.fright {
	float: right;
}

.ileft {
	float: left;
	margin-right: 20px;
}

.iright {
	float: right;
	margin-left: 20px;
}

.tcenter {
	text-align: center;
}

.tleft {
	text-align: left;
}

.tright {
	text-align: right;
}

.tleft a:hover,
.tright a:hover {
	text-decoration: underline;
}

.mauto {
	margin: auto;
}

.mb10 {
	margin-bottom: 10px;
}

.mb20 {
	margin-bottom: 20px;
}

.mb30 {
	margin-bottom: 30px;
}

.mb40 {
	margin-bottom: 40px;
}

.mb50 {
	margin-bottom: 50px;
}

.mb60 {
	margin-bottom: 60px;
}

.mb70 {
	margin-bottom: 70px;
}

.mt10 {
	margin-top: 10px;
}

.mt20 {
	margin-top: 20px;
}

.mt30 {
	margin-top: 30px;
}

.mt40 {
	margin-top: 40px;
}

.mt50 {
	margin-top: 50px;
}

.ml10 {
	margin-left: 10px;
}

.ml20 {
	margin-left: 20px;
}

.ml30 {
	margin-left: 30px;
}

.ml40 {
	margin-left: 40px;
}

.ml50 {
	margin-left: 50px;
}

.mr10 {
	margin-right: 10px;
}

.mr20 {
	margin-right: 20px;
}

.mr30 {
	margin-right: 30px;
}

.mr40 {
	margin-right: 40px;
}

.mr50 {
	margin-right: 50px;
}

.pink {
	color: #eb6f86;
	font-weight: bold;
}

.green {
	color: #86bf24;
	font-weight: bold;
}

.blue {
	color: #1377b6;
	font-weight: bold;
}

.red {
	color: #f21521;
}

.brown {
	color: #402720;
}

.black {
	color: #231815;
}

.bold {
	font-weight: bold;
}

.none {
	display: none;
}

.pore {
	position: relative;
}

.t_link {
	color: #ee4363;
	font-weight: bold;
}

.t_link:hover {
	text-decoration: underline;
}

.small {
	font-size: 11px;
	line-height: 1.6;
	display: block;
}

@media screen and (max-width:767px) {
	.small {
		font-size: 9px !important;
		line-height: 1.2;
		display: block;
	}

	.mb50 {
		margin-bottom: 25px;
	}
}

#content .title .small {
	display: inline;
	font-size: 16px;
}

a:hover span {
	filter: alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
	zoom: 1;
}

a {
	color: #126dbb;
}

/*------------------------------
COMMON 共通スタイル
------------------------------*/

/*---共通ボタンデザイン---*/

.btnL {
	width: 280px;
	height: 44px;
	line-height: 44px;
	font-size: 18px;
	font-weight: bold;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	cursor: pointer;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;
	margin-top: 1px;
	text-align: center;
	border: none;
}

.btnL:hover {
	-webkit-transform: translate(0px, -1px);
	-moz-transform: translate(0px, -1px);
	-ms-transform: translate(0px, -1px);
	-o-transform: translate(0px, -1px);
	transform: translate(0px, -1px);
	-webkit-filter: brightness(140%);
}

.btnL a {
	display: block;
	width: 100%;
	height: 100%;
	color: #2b0d0d;
}

.btnS {
	width: 70px;
	height: 32px;
	line-height: 32px;
	font-size: 15px;
	font-weight: bold;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	cursor: pointer;
	text-align: center;
	border: none;
}

.btnS:hover {
	-webkit-transform: translate(0px, -1px);
	-moz-transform: translate(0px, -1px);
	-ms-transform: translate(0px, -1px);
	-o-transform: translate(0px, -1px);
	transform: translate(0px, -1px);
	-webkit-filter: brightness(140%)
}

.orangeBtn {
	background-color: #F58220;
	color: #fff;
}

.greyBtn {
	background-color: #959595;
	color: #fff;
}

.greenBtn {
	background-color: #88CD1B;
	color: #fff;
}

.whiteBtn_orange {
	background-color: #fff;
	color: #402720;
	border: 1px solid #F58200;
}

.whiteBtn_green {
	background-color: #fff;
	color: #88cd1b;
	border: 1px solid #88CD1B;
}

.next {
	background-image: url("../images/icon/ic_go.png");
	background-repeat: no-repeat;
	background-position: right 3px top 50%;
	background-size: 18px;
}

.back {
	background-image: url("../images/icon/ic_back.png");
	background-repeat: no-repeat;
	background-position: left 3px top 50%;
	background-size: 18px;
}

/*-----[共通ページ用]-----*/

.ttl02 {
	line-height: 32px;
	font-size: 18px;
	font-weight: normal;
	color: #fff;
	text-align: center;
	margin-bottom: 10px;
	background: url(../images/common/ttl02.png) no-repeat;
}

.ttl02.pink {
	background-position: 0 0;
}

.ttl02.green {
	background-position: 0 -60px;
}

.ttl02.blue {
	background-position: 0 -120px;
}

.ttl02.purple {
	background-position: 0 -180px;
}

.ttl02.yellow {
	background-position: 0 -240px;
}

.ttl03 {
	font-weight: bold;
	font-size: 17px;
	color: #402720;
	letter-spacing: 0.05em;
}

.ttl03 span {
	margin-right: 4px;
	position: relative;
	top: -1px;
}

.ttl03 .pink {
	color: #ff95b3;
}

.ttl04 {
	border-top: dashed 1px #402720;
	border-bottom: dashed 1px #402720;
	margin: 0 0 20px;
	padding: 13px 0 11px;
	text-align: center;
	font-size: 17px;
	font-weight: bold;
	letter-spacing: 0.05em;
}

.read_text {
	width: 690px;
	resize: vertical;
	text-align: left;
	padding: 10px;
}

.table01 {
	width: 100%;
	font-size: 13px;
}

.table01 th,
.table01 td {
	padding: 7px 10px;
	border: solid 1px #402720;
	vertical-align: middle;
	line-height: 1.6;
}

.table01 th {
	background: #E8E0D6;
	font-weight: bold;
}

/*-----[緊急時メッセージ]-----*/

.notice_area {
	width: 960px;
	margin: 0 auto;
	padding-top: 20px;
}

.notice_area p,
.err_msg {
	font-size: 13px;
	color: #fff;
	letter-spacing: 0.05em;
	line-height: 1.4;
	background: #ff95b3;
	padding: 3px 10px;
}

.err_msg {
	margin-bottom: 30px;
}

/*-----[緊急時メッセージ ここまで]-----*/

#wrapper {
	position: relative;
	padding-top: 20px;
	margin-bottom: -30px;
}

p {
	color: #502009;
	background: url(../images/common/clear.png);
}

/*-----[CSS SPRITE]-----*/

#hd_contact ul,
#hd_contact li:first-child a,
#hd_contact li a,
#hd_contact li:first-child span,
#hd_contact li span,
#ft_contact ul,
#ft_contact li:first-child a,
#ft_contact li:first-child span,
#ft_contact li a,
#ft_contact li span,
#ft_btn a,
#ft_btn span {
	background-image: url(../images/common/sprite03.png);
	background-repeat: no-repeat;
}

#hd_contact.supportOpen ul,
#hd_contact.supportOpen li:first-child a,
#hd_contact.supportOpen li a,
#hd_contact.supportOpen li:first-child span,
#hd_contact.supportOpen li span,
#ft_contact.supportOpen ul,
#ft_contact.supportOpen li:first-child a,
#ft_contact.supportOpen li:first-child span,
#ft_contact.supportOpen li a,
#ft_contact.supportOpen li span {
	background-image: url(../images/common/sprite_nowon.png);
	background-repeat: no-repeat;
}

#hd_contact.supportClose ul,
#hd_contact.supportClose li:first-child a,
#hd_contact.supportClose li a,
#hd_contact.supportClose li:first-child span,
#hd_contact.supportClose li span,
#ft_contact.supportClose ul,
#ft_contact.supportClose li:first-child a,
#ft_contact.supportClose li:first-child span,
#ft_contact.supportClose li a,
#ft_contact.supportClose li span {
	background-image: url(../images/common/sprite_nowoff.png);
	background-repeat: no-repeat;
}

#lesson_count,
#hd_btn p:first-child a,
#hd_btn p:first-child span,
#hd_btn p a,
#gnav ul,
.fnav a {
	#background-image: url(../images/common/sprite02.png);
	#background-repeat: no-repeat;
}

#sidebar .login,
#snav a {
	background-image: url(../images/common/side_sprite.png);
	background-repeat: no-repeat;
}

/*-----[CSS SPRITE ここまで]-----*/

/*-----[下層ページ]-----*/

#top_area {
	position: relative;
	z-index: 1;
	margin-top: -45px;
	padding-top: 70px;
	background: url(../images/common/topimage.png) no-repeat center top;
}

#main_ttl {
	text-align: center;
	font-size: 36px;
	font-weight: bold;
	color: #402720;
}

#bread {
	text-align: center;
}

#bread ul {
	display: inline-block;
	margin: 10px auto 0;
	font-size: 12px;
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	border-radius: 20px;
	letter-spacing: -0.4em;
	padding: 0 15px;
}

#bread li {
	display: inline-block;
	letter-spacing: normal;
	padding: 2px 0;
}

#bread a {
	color: #402720;
}

#bread a:hover {
	text-decoration: underline;
}

#bread a:hover span {
	opacity: 1;
}

#content {
	width: 960px;
	margin: 10px auto 0;
	height: 500px;
	padding: 50px;
	background: url(../images/common/sub_bg.png) no-repeat;
}

/* 2016.02.22 追記 */

#bnav,
#in_bnav {
	margin: 30px 0 0;
	overflow: hidden;
	zoom: 1;
}

#bnav li,
#in_bnav li {
	float: left;
	margin-left: 15px;
}

#bnav li:first-child,
#in_bnav li:first-child {
	margin-left: 0;
}

#bnav a {
	display: block;
	width: 226px;
	height: 50px;
	background-image: url(../images/common/bmenu.png);
	background-repeat: no-repeat;
}

#in_bnav a {
	display: block;
	width: 226px;
	height: 50px;
}

/* 2016.02.22 追記 */

#bmenu02 a {
	background-position: 0 -70px;
}

#bmenu03 a {
	background-position: 0 -140px;
}

#bmenu04 a {
	background-position: 0 -210px;
}

#bmenu05 a {
	background-position: 0 -280px;
}

#bmenu06 a {
	background-position: 0 -350px;
}

#bmenu07 a {
	background-position: 0 -420px;
}

#bmenu08 a {
	background-position: 0 -490px;
}

#bmenu09 a {
	background-position: 0 -560px;
}

/*-----[下層ページ ここまで]-----*/

/*-----[コンテンツ]-----*/

#content.home {
	background: none;
	height: auto;
	padding: 0;
}

#main,
#sidebar {
	margin-bottom: 60px;
}

#main {
	width: 710px;
	float: left;
}

#main section {
	margin: 0 0 60px;
}

#main section .title {
	background: url(../images/common/bar.png) no-repeat;
	line-height: 70px;
	margin: 0 0 25px;
	padding: 0 20px;
	font-size: 20px;
	font-weight: bold;
	color: #402720;
	letter-spacing: 0.05em;
}

#main section .title.small {
	font-size: 18px;
}

#main section p {
	font-size: 14px;
	line-height: 1.7;
	letter-spacing: 0.02em;
}

#main .btn {
	width: 210px;
	height: 35px;
	border-radius: 2px;
	margin: 0 0 0 auto;
}

#main .btn a {
	background: url(../images/common/more02.png) no-repeat center 10px #402720;
}

.btn a {
	display: block;
	width: 100%;
	height: 100%;
}

#main .btn a:hover {
	background-color: #7a6962;
}

#sidebar {
	width: 220px;
	float: right;
}

#sidebar p,
#sidebar #pv {
	margin: 0 0 25px;
}

#sidebar .login {
	background-position: 0 0;
	height: 200px;
	position: relative;
}

#sidebar .login a {
	display: block;
	position: absolute;
	bottom: 19px;
	left: 25px;
	width: 170px;
	padding: 8px 0;
	color: #fff;
	background: #402720;
	border-radius: 3px;
	text-align: center;
	font-size: 16px;
	letter-spacing: 0.05em;
}

#sidebar .login a:hover {
	background-color: #eb6f86;
}

#snav li {
	margin: 0 0 25px;
}

#snav a {
	display: block;
	height: 75px;
}

#smenu01 a {
	background-position: 0 -230px;
}

#smenu02 a {
	background-position: 0 -335px;
}

#smenu03 a {
	background-position: 0 -440px;
}

#fb {
	margin-bottom: 25px;
	height: 300px;
}

#login_nav {
	background: #402720;
	border-radius: 8px;
	padding: 10px;
	margin-bottom: 25px;
}

#login_nav h1 {
	background: url(../images/common/login_nav.png) no-repeat;
	height: 21px;
	margin-bottom: 10px;
}

#login_nav ul {
	padding: 8px;
	border-radius: 5px;
	background: #fff;
}

#login_nav li:first-child {
	margin-bottom: 8px;
}

#login_nav a {
	display: block;
	width: 100%;
	height: 100%;
	color: #fff;
	padding: 6px 0;
	text-align: center;
	font-size: 16px;
	background: #7a6962;
	border-radius: 2px;
}

#login_nav a:hover {
	background: #eb6f86;
}

/*-----[コンテンツ ここまで]-----*/

/*-----[フッター]-----*/

#footer {
	width: 100%;
	clear: both;
	background: url(../images/common/ft_bg.png) repeat-x;
	position: relative;
}

#footer>div:first-child:not(#page_top) {
	background: url(../images/common/ft_bg02.png) no-repeat center top;
	padding-top: 65px;
	height: 83px;
}

#ft_area,
#return {
	width: 960px;
	margin: 0 auto;
	position: relative;
}

#return {
	position: absolute;
	top: -30px;
	width: 960px;
	height: 95px;
	background: url(../images/common/return_bg.png) no-repeat right top;
	left: 50%;
	margin-left: -480px;
}

#return a,
#return span {
	display: block;
	width: 213px;
	height: 95px;
	position: absolute;
	bottom: 0;
	right: 0;
}

#return a {
	background: url(../images/common/return02.png) no-repeat 10px 10px;
}

#return span {
	background: url(../images/common/return01.png) no-repeat 10px 10px;
}

#return a:hover span {
	filter: alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
	zoom: 1;
}

#ft_area p {
	position: absolute;
	top: -10px;
}

#ft_area a {
	display: block;
}

#ft_contact {
	margin-top: 5px;
	float: left;
	padding-left: 80px;
}

#ft_contact ul {
	float: left;
	background-position: 0 -563px;
	width: 147px;
	padding-left: 410px;
	height: 65px;
	padding-top: 5px;
}

#ft_contact li:first-child a {
	background-position: 0 -223px;
	width: 147px;
	height: 29px;
	margin-bottom: 7px;
}

#ft_contact li:first-child span {
	background-position: 0 -174px;
}

#ft_contact li a {
	background-position: 0 -317px;
	height: 25px;
}

#ft_contact li span {
	display: block;
	width: 100%;
	height: 100%;
	background-position: 0 -272px;
}

#ft_area #ft_btn {
	float: right;
	position: static;
	margin: 3px 0 0 40px;
}

#ft_btn a,
#ft_btn span {
	display: block;
	width: 270px;
	height: 62px;
}

#ft_btn a {
	background-position: 0 -82px;
}

#ft_btn span {
	background-position: 0 0;
}

#footer>div {
	background: url(../images/common/ft_bg03.png);
}

.fnav a {
	color: #402720;
	font-size: 12px;
	background-position: 0 -79px;
	padding: 0 0 0 10px;
}

.fnav {
	width: 960px;
	margin: 0 auto;
}

.fnav a {
	position: relative;
}

.fnav a:hover {
	left: 3px;
}

#fnav01 {
	padding: 35px 0 15px;
	margin-bottom: 25px;
	text-align: center;
}

#fnav01 li {
	display: inline;
	margin: 0 0 0 20px;
	position: relative;
}

#fnav01 li:first-child {
	margin: 0;
}

#fnav02 {
	overflow: hidden;
	zoom: 1;
}

#fnav02 section {
	float: left;
	margin: 0 0 40px 25px;
}

#fnav02 section:first-child {
	margin: 0 0 40px 0;
}

#fnav02 p {
	font-size: 13px;
	font-weight: bold;
	margin: 0 0 6px;
	line-height: 1.4;
}

#fnav02 li {
	margin: 5px 0 0;
}

small {
	display: block;
	text-align: center;
	font-size: 12px;
	padding: 0 0 25px;
}

#page_top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    display: block;
    text-align: center;
    height: 70px;
    width: 70px;
    border-radius: 50px;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    overflow: hidden;
    z-index: 2;
}

#page_top p {
    color: #ffffff;
    background-color: rgba(245, 130, 32, 0.7);
    width: 100%;
    height: 100%;
}

#page_top:hover {
    animation: pon 1s infinite;
}

#page_top p:hover {
    background-color: rgba(245, 130, 32, 0.4);
}

/*-----[フッター ここまで]-----*/