html{
	font-size: 10px;
}
body{
	color: rgb(49, 49, 49); font-family: "�����", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "�l�r ����", serif; -webkit-text-size-adjust: 100%;
}
.pc{
	display: none !important;
}
.gothic{
	font-family: "��S�V�b�N", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "�l�r �S�V�b�N", sans-serif;
}
a{
	color: rgb(147, 36, 19); text-decoration: none;
}
a:hover{
	color: rgb(147, 36, 19); text-decoration: underline;
}
*{
	font-weight: normal;
}
.zoomOnTap {
	transition:transform 0.2s linear;
}
.zoom.zoomOnTap {
	transform: scale(1.1);
}
.sp_snav{
	overflow: hidden; border-bottom-color: rgb(228, 228, 228); border-bottom-width: 1px; border-bottom-style: solid; background-color: white;
}
.sp_snav li{
	width: 50%; margin-bottom: -1px; border-bottom-color: rgb(228, 228, 228); border-bottom-width: 1px; border-bottom-style: solid; float: left; box-sizing: border-box;
}
.sp_snav li:nth-child(2n+1){
	border-right-color: rgb(228, 228, 228); border-right-width: 1px; border-right-style: solid;
}
.sp_snav li a{
	background : url(../../image/site/footer_arw_sp.png) 10px center / 5px auto no-repeat scroll padding-box border-box transparent; padding: 13px 0px 13px 25px; color: rgb(49, 49, 49); font-size: 1.4rem; text-decoration: none; display: block; white-space: nowrap;
}
.sp_gnav{
	margin: 0px 0px 15px; background-color: white;
}
.sp_gnav > li > a{
	background : url(../../image/site/footercontents_bg_sp.png) 12px center / 12px auto no-repeat scroll padding-box border-box transparent; padding: 15px 0px 15px 35px; color: rgb(49, 49, 49); font-size: 1.8rem; text-decoration: none; display: block; position: relative;
}
.sp_gnav > li > a::after{
	transition:transform 0.3s ease-out; top: 19px; width: 19px; height: 11px; right: 17px; display: block; position: absolute; content: ""; background-image : url(../../image/site/menu_arw_sp.png); background-repeat: no-repeat; background-size: 19px;
}
.sp_gnav li{
	border-bottom-color: rgb(228, 228, 228); border-bottom-width: 1px; border-bottom-style: solid;
}
.sp_gnav li.open > a::after {
	transform: rotate(180deg);
}
.sp_gnav li:first-child > a::after{
	background: none;
}
.sp_gnav li ul{
	padding-bottom: 10px; display: none;
}
.sp_gnav li ul li {
	border: currentColor; border-image: none;
}
.sp_gnav li ul li a{
	background : url(../../image/site/footercontents_arw_sp.png) 35px center / 6px auto no-repeat scroll padding-box border-box transparent; padding: 10px 0px 10px 50px; color: rgb(49, 49, 49); font-size: 1.6rem; text-decoration: none; display: block;
}
.sp_gnav li ul li.current_page_item > a{
	color: rgb(147, 36, 19);
}
.sp_gnav li ul li.current-page-item > a{
	color: rgb(147, 36, 19);
}
.sp_gnav li.current_page_ancestor > a::after {
	transform: rotate(180deg);
}
.sp_gnav li.current-page-ancestor > a::after {
	transform: rotate(180deg);
}
.sp_gnav li.close.current_page_ancestor > a::after {
	transform: rotate(0deg);
}
.sp_gnav li.close.current-page-ancestor > a::after {
	transform: rotate(0deg);
}
.sp_gnav li.current_page_ancestor ul{
	display: block;
}
.sp_gnav li.current-page-ancestor ul{
	display: block;
}
#sp_header{
	left: 0px; top: 0px; width: 100%; height: 13vw; position: fixed; z-index: 100; background-color: rgb(255, 255, 255);
}
#gnav{
	background: rgb(246, 246, 246); padding: 15px; overflow: hidden; display: none; box-sizing: border-box;
}
#header{
	height: 13vw; position: relative;
}
#header .logo{
	padding: 2.5% 0px 2.5% 2.5%; width: 60%;
}
#header .logo img{
	width: 100%;
}
#header dl{
	display: none;
}
#header ul{
	display: none;
}
#header .search{
	display: none;
}
#header #menu{
	background : url(../../image/site/menu_sp.png) 0px 0px / 100% auto no-repeat scroll padding-box border-box transparent; margin: 2.5% 2.5% 0px 0px; top: 0px; width: 7%; height: 0px; right: 0px; text-indent: -9999px; padding-bottom: 9%; position: absolute;
}
body.menu_open #header #menu{
	background-image : url(../../image/site/menu_open_sp.png);
}
#header #menu img{
	width: 100%;
}
#pagetop{
	text-align: center; padding-top: 40px; padding-bottom: 20px; margin-top: 15px;
}
#pagetop a{
	background-position: top; padding: 30px 0px 15px; color: rgb(49, 49, 49); font-size: 1.6rem; text-decoration: none; background-image : url(../../image/site/pagetop.png); background-repeat: no-repeat;
}
#footer{
	background : url(../../image/site/footer_top_bg_sp.gif) center top / 500px auto repeat-x scroll padding-box border-box #f6f6f6; padding: 25px 15px 0px;
}
#footer .footer_btm_data{
	margin: 25px 0px; padding: 0px 0px 0px 75px;
}
#footer .footer_btm_data .school{
	font-size: 2.2rem; font-weight: bold; margin-bottom: 10px;
}
#footer .footer_btm_data .school a{
	color: rgb(49, 49, 49);
}
#footer .footer_btm_data .addr{
	line-height: 1.5; font-size: 1.4rem;
}
#footer .footer_btm_data .tel{
	line-height: 1.5; font-size: 1.4rem;
}
#footer .footer_btm_data .tel a{
	color: rgb(49, 49, 49);
}
#footer .footer_btm{
	position: relative;
}
#footer .footer_btm .copyright{
	margin: 0px -15px; padding: 20px 0px; text-align: center; font-size: 1.2rem; display: block; background-color: white;
}
#footer .footer_btm .logo{
	background : url(../../image/site/footer_logo_sp.png) left center / 60px auto no-repeat scroll padding-box border-box transparent; left: 0px; top: -5px; width: 60px; height: 80px; position: absolute;
}
#footer .footer_btm .logo img {
	opacity: 0;
}
#footer .fnav1{
	margin-bottom: 15px;
}
#footer .fgnav li.home{
	display: none;
}
.top_heading{
	background-position: left top, right top; padding: 20px 0px 10px; text-align: center; line-height: 1.3; font-size: 2.4rem; position: relative; background-image : url(../../image/site/sp_h2_lt),url(../../image/site/sp_h2_rt); background-repeat: no-repeat; background-size: 50px auto, 50px auto;
}
.top_heading::before{
	left: 0px; top: 10px; width: 100%; border-top-color: rgb(160, 160, 160); border-top-width: 1px; border-top-style: solid; position: absolute; content: "";
}
.top_golist{
	margin-top: 15px;
}
.top_golist a{
	padding: 14px 0px; text-align: center; color: rgb(49, 49, 49); font-size: 19px; text-decoration: none; border-bottom-color: rgb(221, 221, 221); border-bottom-width: 1px; border-bottom-style: solid; display: block; background-color: rgb(246, 246, 246);
}
.top_golist a::before{
	background-position: left top; width: 19px; height: 15px; margin-right: 10px; display: inline-block; content: ""; background-image : url(../../image/site/top_icon_sp.png); background-repeat: no-repeat; background-size: 19px;
}
#main{
	margin-top: 13vw; margin-bottom: 25px; position: relative;
}
#main .bxslider img{
	width: 100%;
}
.bx-wrapper .bx-controls{
	text-align: left !important; padding-top: 15px; padding-left: 10px;
}
.bx-wrapper .bx-default-pager.bx-pager a{
	margin: 0px 8px; width: 14px; height: 14px;
}
.bx-wrapper .bx-default-pager.bx-pager bx-pager-item:first-child a{
	margin-left: 0px;
}
.bx-wrapper .bx-pager{
	padding-top: 0px !important;
}
.bx-wrapper .bx-controls-auto .bx-stop{
	background-position: center; margin: 0px 3px; outline: 0px; top: 1px; width: 14px; height: 14px; text-indent: -9999px; display: block; position: relative; background-repeat: no-repeat; background-size: contain;
}
.bx-wrapper .bx-controls-auto .bx-start{
	background-position: center; margin: 0px 3px; outline: 0px; top: 1px; width: 14px; height: 14px; text-indent: -9999px; display: block; position: relative; background-repeat: no-repeat; background-size: contain;
}
.bx-wrapper .bx-pager{
	margin-right: 7px;
}
.bx-wrapper .bx-controls-auto .bx-stop{
	background-image : url(../../image/site/top_main_pause.png);
}
.bx-wrapper .bx-controls-auto .bx-start{
	background-image : url(../../image/site/top_main_play.png);
}
.bx-wrapper .bx-controls-auto .bx-stop:hover{
	background-position: center; background-image : url(../../image/site/top_main_pause_hover.png);
}
.bx-wrapper .bx-controls-auto .bx-start:hover{
	background-position: center; background-image : url(../../image/site/top_main_play_hover.png);
}
#main .circle{
	width: 35%; right: 3%; bottom: -5%; position: absolute;
}
#main .circle img{
	width: 100%;
}
#main .circle a{
	color: rgb(255, 255, 255); text-decoration: none;
}
#main .circle .text1{
	left: 0px; width: 100%; text-align: center; position: absolute;
}
#main .circle .text2{
	left: 0px; width: 100%; text-align: center; position: absolute;
}
#main .circle .text3{
	left: 0px; width: 100%; text-align: center; position: absolute;
}
#main .circle .text1{
	bottom: 70%; line-height: 1.3; font-size: 3.2vw;
}
#main .circle .text2{
	top: 33%; font-size: 11vw; font-style: italic; margin-left: -0.12em;
}
#main .circle .text3{
	top: 67%; font-size: 2.8vw; font-style: italic; margin-left: -0.12em;
}
#main .circle .text3::after{
	background : url(../../image/site/top_main_circle_arw.png) center center / 80% auto no-repeat scroll padding-box border-box transparent; width: 1em; height: 1em; margin-left: 0.3em; vertical-align: top; display: inline-block; content: "";
}
#top_news{
	padding: 0px 15px;
}
#top_news .news_list li:nth-child(n+4){
	display: none;
}
#top_diary{
	padding: 0px 15px; margin-top: 28px;
}
#top_diary .item{
	background : url(../../image/site/item_arw_sp.png) 0% 0% / auto auto no-repeat scroll padding-box border-box transparent; overflow: hidden; margin-bottom: 1px;
}
#top_diary .item:nth-child(n+4){
	display: none;
}
#top_diary .item a{
	color: rgb(49, 49, 49); text-decoration: none;
}
#top_diary .item .pic{
	width: 33%; overflow: hidden; float: left;
}
#top_diary .item .pic img{
	width: 100%; vertical-align: bottom;
}
#top_diary .cont p{
	display: none;
}
#top_diary .cont{
	padding: 15px 30px 0px 15px; width: 67%; float: right; box-sizing: border-box;
}
#top_diary .cont time{
	font-size: 1.4rem; font-style: italic;
}
#top_diary .cont .h{
	color: rgb(147, 36, 19); line-height: 1.3; font-size: 1.8rem; text-decoration: none; margin-top: 0.3em; display: block;
}
#top_site{
	padding: 0px 15px; overflow: hidden;
}
#top_site > .h{
	margin: 42px 0px 24px; text-align: center; font-size: 2.4rem;
}
#top_site > .h span{
	background-position: left, right; padding: 0px 60px; white-space: nowrap; background-image : url(../../image/site/sitecontents_l_sp.png),url(../../image/site/sitecontents_r_sp.png); background-repeat: no-repeat, no-repeat; background-size: 46px;
}
#top_site li{
	width: 50%; box-sizing: border-box;
}
#top_site li a{
	overflow: hidden; display: block; position: relative;
}
#top_site li img{
	width: 100%;
}
#top_site li .h{
	background : url(../../image/site/sitecontents_pic_u_sp.png) center bottom / 100% auto no-repeat scroll padding-box border-box transparent; left: 0px; width: 100%; text-align: center; bottom: 0px; color: rgb(147, 36, 19); padding-top: 36px; padding-bottom: 1.5vw; font-size: 4vw; position: absolute; box-sizing: border-box;
}
#top_site li{
	margin-bottom: 14px; float: left;
}
#top_site li:nth-child(2n+1){
	border-right-color: white; border-right-width: 7px; border-right-style: solid;
}
#top_site li:nth-child(2n){
	border-left-color: white; border-left-width: 7px; border-left-style: solid;
}
#pagetitle{
	background : url(../../image/site/sp_title_cmn.jpg) center center / cover no-repeat scroll padding-box border-box transparent; height: 18vw; color: rgb(255, 255, 255); margin-top: 13vw; position: relative;
}
#pagetitle > div {
	
}
#pagetitle .ja{
	left: 15px; top: 50%; line-height: 1; font-size: 2.5rem; font-weight: normal; position: absolute; transform: translateY(-50%);
}
#pagetitle .en{
	display: none;
}
#bread{
	margin: 10px 15px;
}
#bread li{
	font-size: 1.2rem; margin-left: 1em; display: inline;
}
#bread li a{
	background : url(../../image/site/bread_arw.png) right center / auto auto no-repeat scroll padding-box border-box transparent; color: rgb(147, 36, 19); padding-right: 1.5em; text-decoration: none; display: inline-block;
}
#bread li a:hover{
	text-decoration: underline;
}
#bread li:first-child{
	margin-left: 0px;
}
#container{
	padding: 0px 15px;
}
#left{
	display: none;
}
#right .archive_title{
	background-position: left top, right top; padding: 25px 0px 0px; text-align: center; line-height: 1.3; font-size: 2.4rem; margin-bottom: 20px; position: relative; background-image : url(../../image/site/sp_h2_lt),url(../../image/site/sp_h2_rt); background-repeat: no-repeat; background-size: 50px auto, 50px auto;
}
#right .archive_title::before{
	left: 0px; top: 10px; width: 100%; border-top-color: rgb(160, 160, 160); border-top-width: 1px; border-top-style: solid; position: absolute; content: "";
}
.news_list{
	border-top-color: rgb(204, 204, 204); border-top-width: 1px; border-top-style: dotted;
}
.news_list li{
	border-bottom-color: rgb(204, 204, 204); border-bottom-width: 1px; border-bottom-style: dotted;
}
.news_list li a{
	padding: 1.5em 0px 1.3em; color: rgb(49, 49, 49); text-decoration: none; display: block;
}
.news_list li time{
	top: 0.1em; font-size: 1.5rem; font-style: italic; position: relative;
}
.news_list li span.cat{
	margin: 0px 0px 0px 1em; padding: 0.3em 0px; width: 5em; text-align: center; color: white; line-height: 1; font-size: 1.1em; display: inline-block; box-sizing: border-box;
}
.news_list li span.txt{
	line-height: 1.4; font-size: 1.8rem; text-decoration: none; margin-top: 0.4em; display: block;
}
#right .news_detail .title{
	background-position: left top, right top; padding: 0.8em 0px 0px; text-align: left; line-height: 1.3; font-size: 2.4rem; margin-bottom: 5px; position: relative; background-image : url(../../image/site/sp_h2_lt),url(../../image/site/sp_h2_rt); background-repeat: no-repeat; background-size: 50px auto, 50px auto;
}
#right .news_detail .title::before{
	left: 0px; top: 10px; width: 100%; border-top-color: rgb(160, 160, 160); border-top-width: 1px; border-top-style: solid; position: absolute; content: "";
}
#right .news_detail .date{
	margin: 0px 0px 15px 10px; padding: 0px; text-align: right; font-size: 1.3rem; font-style: italic; display: block;
}
#right .news_detail .content{
	line-height: 1.8; font-size: 1.4rem;
}
#right .pagenavi{
	margin: 25px 0px; text-align: center;
}
#right .pagenavi span{
	margin: 0px 4px; padding: 6px 0px; width: 35px; font-size: 2rem; border-bottom-color: rgb(220, 215, 215); border-bottom-width: 1px; border-bottom-style: solid; display: inline-block; background-color: rgb(246, 245, 245);
}
#right .pagenavi a{
	margin: 0px 4px; padding: 6px 0px; width: 35px; font-size: 2rem; border-bottom-color: rgb(220, 215, 215); border-bottom-width: 1px; border-bottom-style: solid; display: inline-block; background-color: rgb(246, 245, 245);
}
#right .pagenavi *.current{
	color: rgb(255, 255, 255); border-bottom-color: rgb(79, 17, 8); border-bottom-width: 1px; border-bottom-style: solid; background-color: rgb(147, 36, 19);
}
#right .notfound{
	margin: 30px 0px; text-align: center;
}
#right .notfound .notfound_title{
	margin: 0px 0px 30px; text-align: center; color: rgb(141, 38, 35); font-size: 3rem; font-weight: normal; display: inline-block; box-sizing: border-box;
}
#right .notfound .notfound_title::before{
	background : url(../../image/site/notfound_bg_sp.png) left bottom / 100% auto no-repeat scroll padding-box border-box transparent; margin: 0px 15px 0px 0px; top: 0.3em; width: 1.2em; height: 1.2em; text-align: center; color: rgb(141, 38, 35); font-size: 3rem; font-weight: normal; display: inline-block; position: relative; content: ""; box-sizing: border-box;
}
#right .notfound p{
	line-height: 1.5; font-size: 1.5rem;
}
#right .notfound .notfound_btn a{
	margin: 35px auto auto; padding: 14px 0px; width: 100%; color: rgb(147, 36, 19); font-size: 2rem; text-decoration: none; border-bottom-color: rgb(220, 215, 215); border-bottom-width: 1px; border-bottom-style: solid; display: block; box-sizing: border-box; background-color: rgb(246, 245, 245);
}
#right .notfound .notfound_btn a::before{
	background : url(../../image/site/btn_icon_03_sp.png) left 5px / auto 75% no-repeat scroll padding-box border-box transparent; width: 1em; height: 1em; display: inline-block; content: "";
}
#right .qa{
	position: relative;
}
#right .qa::after{
	clear: both; display: table; content: "";
}
#right .qa > li > span{
	margin-bottom: 5px; user-select: none;
}
#right .qa > li:last-child{
	margin-right: 0px;
}
#right .qa > li > span{
	background: rgb(246, 245, 245); padding: 14px 0px 14px 15px; color: rgb(147, 36, 19); font-size: 1.6rem; text-decoration: none; border-bottom-color: rgb(220, 215, 215); border-bottom-width: 1px; border-bottom-style: solid; display: block; cursor: pointer; box-sizing: border-box;
}
#right .qa > li > span:hover{
	background-color: rgb(235, 229, 229);
}
#right .qa > li > span.active {
	
}
#right .qa > li > ul{
	border-width: 6px 5px; border-style: solid; border-color: rgb(232, 230, 230); padding: 18px 0px 5px 18px; border-image: none; margin-bottom: 10px; display: none; z-index: 10; box-sizing: border-box; box-shadow: inset 0px 0px 0px 1px rgba(220,215,215,1); background-color: rgb(255, 255, 255);
}
#right .qa > li > ul li a{
	color: rgb(147, 36, 19); line-height: 1.3; padding-left: 1.5em; font-size: 1.4rem; text-decoration: none; margin-bottom: 12px; display: block; position: relative;
}
#right .qa > li > ul a:hover{
	text-decoration: underline;
}
#right .qa > li > ul li a::before{
	left: 0px; top: 0px; position: absolute; content: "Q.";
}
.audiobtn{
	background : url(../../image/site/cmn_icon_sound.png) 0% 0% / auto auto no-repeat scroll padding-box border-box transparent; margin: 0px auto; padding: 15px 0px; text-align: center; color: rgb(147, 36, 19); font-size: 16px; border-bottom-color: rgb(220, 215, 215); border-bottom-width: 1px; border-bottom-style: solid; cursor: pointer;
}
.audiobtn:hover{
	background-color: rgb(235, 229, 229);
}
.auth_form{
	margin: 70px auto; padding: 15px; border: 5px solid rgb(238, 238, 238); border-image: none; width: 360px; font-size: 14px;
}
.auth_form_row{
	margin: 0px 0px 15px;
}
.auth_form_row div{
	display: inline;
}
.auth_form_row input{
	width: 200px; margin-left: 10px;
}
.auth_form_title{
	margin: 0px 0px 15px; text-align: center;
}
.auth_form_err{
	margin: 0px 0px 15px; text-align: center; color: rgb(255, 0, 0);
}
.auth_form_btn{
	margin: 0px; text-align: center;
}
