@charset "Utf-8";
@import url("reset.css");

body{}
/* ************************************************ 
 *	common
 * ************************************************ */

.wrap{
	max-width: 1000px;
	margin: 0 auto
}

@media screen and (max-width: 768px) {
	.wrap{width: 94%;}
}	

@media print, screen and (min-width: 769px) {
	.wrap{width: 90%;}
}


.qs{font-family: 'Quicksand';font-size: 1.1em}






#tohoku{margin: 3em auto;
	text-align: center;
}

#tohoku dt{text-align: left;
	font-family: "Ryumin Regular KL";
}

@media screen and (max-width: 768px) {
	#tohoku{width: 92%;max-width: 620px}
	#tohoku dt{margin-bottom: .6em;font-size: 1.5em;}
}	

@media print, screen and (min-width: 769px) {
	#tohoku{
		display: flex;
		justify-content: center;
		align-items: center
	}
	#tohoku dt{font-size: 1.4em;
		margin-right: 1em;
		letter-spacing: .1em;
	}
}	


/* ************************************************ 
 *	サブコンテンツ共通スタイル
 * ************************************************ */


h1#pagetitle{
	margin: 1em 0;
	text-align: left;
	font-size: 1.8em;
	color: #28639B;
	font-weight: 400
}

#header_img{
	display: flex;
	align-items: center;
	height: 200px;
	margin-bottom: 2em
}
#header_img h1{
	text-align: left;
	margin-left: 10%;
	line-height: 1.8em;
	font-size: 1.5em;
	color: #28639B;
	font-weight: 400
}
#header_img h1 span{
	display: block;
	font-family: 'Quicksand';
	font-size: 1.8em
}

@media screen and (max-width: 667px) {
	h1#pagetitle{margin: 1em;
		line-height: 1.5em
	}
}	

@media print, screen and (min-width: 668px) {
	#header_img{height: 260px;margin-bottom: 3em}
	#header_img h1{font-size: 2em;}
}	

@media print, screen and (min-width: 1000px) {
	#header_img{height: 360px;margin-bottom: 5em}
}	

/* h3{color: #423133;} */

/*サブコンテンツ用囲み*/




	

/*ヘッダー*/

#header {z-index: 500;}
#sitetitle{}
#header #sitepick{color: #c4000b}
#logo a{display: block}



#sitepick ul{
	display: flex;
	justify-content: flex-end;
	margin-bottom: 5px;
}

#sitepick li{padding-left: 5px}
#sitepick li#fbook a:before{
	font-family: icomoon;
	content: "\e93d";
	font-size: 19px;
	margin-right: 8px;
	color: #1777f1
}

#sitepick li#fbook a:hover{}

#sitepick li#insta a:before{
	font-family: icomoon;
	content: "\ea92";
	font-size: 18px;
	margin: 0 8px 0 0;
	color: #d93176
}

#sitepick li#insta a:hover{}


#sitepick li#line a:before{
	font-family: icomoon;
	content: "\e937";
	font-size: 20px;
	margin: 0 8px 0 0;
	color: #00b900
}




@media screen and (max-width: 667px) {
	#sitetitle{
		position: fixed;
		top: 0;
		width: 100%;
		height: 60px;
		display: flex;
		align-items: center;
		background: #fff;
		z-index: 100;
		box-shadow: 0px 5px 5px -5px rgba(0,0,0,0.3);}
	#logo{padding: 10px}
	#contents{padding-top: 60px;}
	#sitepick #re_btn,
	#sitepick ul{display: none}
}	

@media print, screen and (min-width: 668px) {
/* 	#header{width: 96%;margin: 0 auto} */
	#sitetitle{
		display: flex;
		justify-content: space-between;
		padding: 40px 0 20px;
		align-items: flex-end;
		margin: 0 auto;
		max-width: 1000px;
		width: 90%;
	}
	#sitepick br{display: none}

	#sitepick #re_btn{text-align:center;
	margin-bottom: 8px;
	font-size: 1.1em
	}
	#sitepick #re_btn a{color: #c4000a;
		display: block;
		border: solid 2px #c4000a;
		border-radius: 50px;
		padding: .4em 1em;
		position: relative;
		font-weight: bold;
		-webkit-transition: all .3s;
		transition: all .3s;
	}
	#sitepick #re_btn a:before{
		font-family: ionicons;
		content: "\f27a";
		padding-right: 5px
	}
	#sitepick #re_btn a:hover{
		background: #c4000a;
		color: #fff
	}
	#re_btn_fix{display: none}
}	

@media print, screen and (min-width: 1000px) {}	


/* ------------------------------
 gnav
------------------------------ */


.nav a {text-decoration: none;color: #444;}
.nav li {}
.nav-wrap.open {display: block;}
.nav-wrap.close {display: none;}

@media screen and (max-width: 667px) {
	#gnav{padding: 1em;
	position: fixed;
	top: 0;
	right: 0;
	height: 60px;
	z-index: 200;
	}
	
  /*メニューボタン*/	
  .nav-button {cursor: pointer;}

  .nav-button,
  .nav-button span {
    display: inline-block;
    transition: all 0.4s;
    box-sizing: border-box;
  }

  .nav-button {
    z-index: 1000;
    position: absolute;
    top:15px;
    right: 15px;
    width: 30px;
    height: 26px;
  }

  .nav-button span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #000;
    border-radius: 4px;
  }
  .nav-button span:nth-of-type(1) {top: 0;}
  .nav-button span:nth-of-type(2) {top: 11px;}
  .nav-button span:nth-of-type(3) {bottom: 0;}

  .nav-button.active span:nth-of-type(1) {
    -webkit-transform: translateY(12px) rotate(-45deg);
    transform: translateY(12px) rotate(-45deg);
  }

  .nav-button.active span:nth-of-type(2) {
    opacity: 0;
  }

  .nav-button.active span:nth-of-type(3) {
    -webkit-transform: translateY(-12px) rotate(45deg);
    transform: translateY(-12px) rotate(45deg);
  }
   
   .nav-wrap {
    position: fixed;
    left: 0;
    top: 0;
    display: none;
    background: rgba(255, 255, 255, 1);
    width: 100%;
    height: 100%;
    z-index: 10
  }
  .nav-wrap .nav {
    height: 100%;
    position: relative;
    overflow-x: hidden;
    overflow-y: auto;
    width: 90%;
    margin: 0 auto;
    padding: 80px 0
  }
  .nav-wrap li {}
   ul.nav > li > a {
    display: block;
    padding: 1em .5em;
    font-weight: bold
  }

  ul.nav > li > a{display: block;border-bottom: solid 1px #ccc;font-size: 1.2em;
	  color: #c4000a
  }
  ul.nav > li > a:before{
  	font-family: icomoon;
  	content: "\e974";
  	padding-right: .5em;
  	color: #000
  }
  
  ul.nav > li > a span{font-size: .8em;padding-left: .5em;}
  ul.nav > li > ul.normal-sub{margin: 1em 0 1.5em}
   ul.nav > li > ul.normal-sub a{display: block;padding:.3em 1em .5em 3em;font-size: 1.1em}
   
   	ul#info_nav{
	   	display: flex;
	   	justify-content: space-around;
	   	flex-wrap: wrap;
	   	width: 100%;
	   	position: fixed;
	   	top: 0;
	   	z-index: 500;
	   	text-align: center;
	   	margin-top: 60px
   	}
   	
   	ul#info_nav li{width: 50%}
	ul#info_nav li a{
		background: #9a221e;
		color: #fff;
		display: block;
		padding: .6em;
		text-decoration: none;
		-webkit-transition: all .3s;
		transition: all .3s;
		border-right: solid 1px #fff;
	}
	ul#info_nav li:last-child a{
		border-right: none
	}
}






@media print, screen and (min-width: 668px) {
	#gnav {
	  display: flex;
	  justify-content: space-between;
	  z-index: 500;
	  background: #c3000b;
	  }

	.nav-button {display: none;}
	
	.nav-wrap {
    display: block !important;
    width: 100%;
	}
  
	ul.nav {
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: center;
    flex-wrap:wrap;
    
	}
	
	ul.nav > li > a {
		color: #fff;
	    text-decoration: none;
	    padding: .5em 1.2em .6em;
	    text-align: center;
	    display: block;
	    font-size: 1.2em;
		-webkit-transition: all .3s;
		transition: all .3s;
		line-height: 1.3em;
		letter-spacing: 1px;
		height: 100%;}
		
	ul.nav > li > a span {display: block;font-size: .6em}
	  
    ul.nav > li:first-child > a{}   
  	
	ul.nav > li > a:hover {background: #b0000a;color: #fff}
	
	ul.nav > li > ul {
	    display: none;
	    width: 100%;
	    background: #fff;
	    position: absolute;
	    z-index: 99;
	    left: 0;
	}
	
	ul.nav > li > ul.normal-sub {
	    width: 300px;
	    left: auto;
	}
	
	ul.nav > li > ul.normal-sub > li {
	    width: 100%;
	    border-bottom: dotted 1px rgba(46, 105, 58, 0.3);
	}
	ul.nav > li > ul.normal-sub > li:last-child{
		border-bottom: none
	}
	ul.nav > li > ul.normal-sub > li a {
		color: #2e693a;
		display: block;
	    padding: .7em 1em;
	    background: #fff;
	}
	
	ul.nav > li > ul.normal-sub > li a:before{
		font-family: icomoon;
		content: "\e974";
	}
	
	
	ul.nav > li > ul.normal-sub > li a:hover{
		background: #035322;
		color: #fff
	}
	

	
	.top-fixed  ul.nav > li:first-child > a{border-left: none}
	.top-fixed  ul.nav > li:last-child > a{border-right: none}
}


@media print, screen and (min-width: 1025px) {
	ul.nav {width: 90%;max-width: 1200px;}
	ul.nav > li > a {
	    padding: .8em 1.5em .8em;
	    font-size: 1.4em;
	}
}




/*サブコンテンツ用囲み*/
#sub_contens{
	line-height: 1.4em;
	color: #4B4B4B;
	background: url(../img/common/sub_bg.gif) repeat-y right;
	margin-right: auto;
	margin-left: auto;
	}
	


/* ************************************************ 
*	.bread_crumb
* ************************************************ */

#bread{
	padding: 1.5em .5em;
	margin: 0 auto
}

#bread a{text-decoration: none;
	color: #c4000a
}

ul.bread_crumb{
	text-align: left
}
	
ul.bread_crumb li{
line-height: 1.6em;
font-size:.8em;
list-style:none;
display: inline-block
}

ul.bread_crumb li br{display: none}

ul.bread_crumb li + li:before {
	margin: 0 .6em;
	font-size: 1.1em;
	color: #999;
	font-family: icomoon;
	content: "\e977";
}

@media screen and (max-width: 667px) {
	#bread{
		width: 94%
	}
}	

@media print, screen and (min-width: 668px) {
	#bread{
	width: 96%;
	max-width: 1000px;
	padding: 1.5em .5em 3em;}
}	

/* ************************************************ 
*	prevnext
* ************************************************ */

.pagenav{
	display: flex;
	justify-content: space-between;
	flex-wrap:wrap;
	max-width: 1000px;
	margin: 2em auto;
}

.pagenav li {}

.pagenav li a{
	display: block;
	text-decoration: none;
	padding: .3em .8em;
	background: #f2f2f2;
	border-radius: 50px;
	position: relative;
	color: #444;
	-webkit-transition: all .3s;
	transition: all .3s;
	}

	
.pagenav li a:hover{background: rgba(238, 148, 162, 0.6)}	
.pagenav li.prev{text-align: left;}

.pagenav li.prev a{}

.pagenav li.prev a:before{
		font-family: icomoon;
		content: "\e973";
		padding-right: .5em}
	
.pagenav li.next{text-align: right;}

.pagenav li.next a:after{
	font-family: icomoon;
	content: "\e974";
	padding-left: .5em}

@media screen and (max-width: 667px) {}	

@media print, screen and (min-width: 668px) {
	.pagenav li{}
}	
	




/* ************************************************ 
*	Pager
* ************************************************ */

#pager{overflow: hidden;
    position: relative;}
    
    
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 2em 0;
    position: relative;
}

.pagination span, .pagination a {
    display: block;
    width: auto;
    margin: 4px;
    padding: 8px 10px;
    color: #9e3f3f;
    border: 2px solid #9e3f3f;
    background-color: #fff;
    text-decoration: none;
    text-align: center;
    line-height: 16px;
    border-radius: 4px;
    position: relative;
}

/* ページ番号 */
.pagination .pager{
    width: 32px;
}

/* ホバー時 & 現在のページ */
.pagination a:hover,
.pagination .current  {
    color: #fff;
    border-color: #9e3f3f;
    background-color: #9e3f3f;
}

/* 前へ */
.pagination a.before {
    margin-right: 16px;
}
/* 次へ */
.pagination a.next {
    margin-left: 16px;
}
/* 最初へ */
.pagination a.first {}
/* 最後へ */
.pagination a.last {}

/* Page x / y */
.pagination span.page_num {
    display: none;
}


/* =Layout
-------------------------------------------------------------- */

.plus{
	font: bold larger "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	padding-left: 2px;
}


#sub_contens{
	padding-bottom: 30px;
	color: #444444;
	padding-top: 10px;
	margin-bottom: 20px;
}



#flex_wrap{text-align: left;}
#info_main{}

@media screen and (max-width: 667px) {}	

@media print, screen and (min-width: 668px) {
	#flex_wrap{
	display: flex;
	justify-content: space-between;
	flex-wrap:wrap;
	max-width: 1000px;
	margin: 0 auto;
	width: 90%;
	}
	
	#info_main {
		width: 70%
	}
	
	#sidebar{
		width: 25%
	}
}	

@media print, screen and (min-width: 1000px) {}	

#no_post{
	text-align: center;
}

/* =Sidebar
-------------------------------------------------------------- */
#sidebar{
	text-align: left;
	font-size: .9em;
}

#sidebar .date{
	padding-left: 5px;
	color: #666;
	font: smaller Verdana, Geneva, sans-serif;
}

ul#lesson_info{margin-bottom: 2em}
ul#lesson_info li{margin-bottom: 5px}
ul#lesson_info li a{
	display: block;
	color: #222;
	background: rgba(255, 217, 204, 0.76);
	padding: .5em 1em;
}

ul#lesson_info li a:before{
	font-family: icomoon;
	content: "\e974";
	padding-right: 5px;
}



#sidebar a:hover img{
	opacity:0.8;
	filter: alpha(opacity=80);
}

@media screen and (max-width: 667px) {
	#sidebar{width: 90%;
		margin: 0 auto
	}
	#lesson_sc{display: none}
}	

@media print, screen and (min-width: 668px) {}	

@media print, screen and (min-width: 1000px) {}	


#entry{
	margin-bottom: 15px;
}
#entry dl{margin-bottom: 2em}
#entry dt{
	color: #c4000b;
	font-size: 1.3em;
	letter-spacing: 1px;
	padding: .8em .5em;
	border-bottom: 1px solid #c4000b;
	margin-bottom: 1em;
}


#entry dd ul li{
	border-bottom: 1px dotted #c4000b;
	padding: 1.2em 0;
	font-size: .9em;
}

ul.iconlist li{
	display: flex;
	justify-content: space-between;
	flex-wrap:wrap;
}

ul.iconlist li div:nth-child(1){width:25%}
ul.iconlist li div:nth-child(2){width:70%}
ul.iconlist li div:nth-child(2) span{
	display: block
}
/* newsアーカイブ */

dl.archive dt{
	color: #c4000b;
	font-size: 1.3em;
	letter-spacing: 1px;
	padding: .8em .5em;
	border-bottom: 1px solid #c4000b;
	margin-bottom: 1em;
}

dl.archive dt a{
	color: #c4000b;
    display:inline-block;
}

dl.archive dt:first-child{
    border-top:none;
    margin-top:0;
    padding-top:0;
}

dl.archive dd{
    margin-bottom:10px;
}

dl.archive dd ul:before,
dl.archive dd ul:after{
    content:"";display:table;
}


dl.archive dd ul:after{
    clear:both;
}


dl.archive dd ul{
	display: flex;
	flex-wrap:wrap;
}


dl.archive dd ul li{
width: calc( ( 100% - 10px ) / 3 );
margin-right: 5px;
margin-bottom: 5px;
}


dl.archive dd ul li:nth-child( 3n ) {margin-right: 0;}


dl.archive dd ul li a{
    display:block;
    padding:.3em 0;
    text-align:center;
    background:rgba(246, 246, 246, 0.84);
    border-radius:4px;
    text-decoration: underline
}


dl.archive dd ul li.current a{
    background:#006599;
    color:#fff;
}

dl.archive dd ul li a:hover,
dl.archive dd ul li a:focus{
    text-decoration:none;
}


.morearc{margin-right: 1em}
.morearc a{display: block;
	text-align: center;
	padding: .5em;
	border: solid 2px #c4000b;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	position: relative;
	background: #fff;
}

.morearc a:before{
	content: "▼";
	font-size: .8em;
	padding-right: .6em
}


/*LESSON サイドバー*/

#lesson_sc{
	margin-bottom: 25px;
}




#lesson_sc h3{
	margin:1em 0;
	color:#7B6A6D;
	font-family: 'Quicksand';
	letter-spacing:.1em;
	font-size: 1.5em;
	border-left:none}
	
	
#lesson_sc p{
	font-weight: bold;
	text-align: left;
	margin-bottom: 10px;
}

#lesson_sc dl{
	border-bottom: 1px dotted #ccc;
	padding-bottom: 1.5em;
	margin-bottom: 1.5em;
}
#lesson_sc dt{
	margin-bottom: .8em;
	font-weight: bold;
	color: #005000;
	font-size: 1.1em
}

#lesson_sc dt a{
	color: #005000;
}

#lesson_sc dt:before{
	font-family: icomoon;
	content: "\e9e3";
	color: #d6d67e;
	padding-right: 5px
}




#lesson_sc dd a{
	color: #444;
}

#lesson_sc dd.prezent{
	font-size: 85%;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	-webkit-box-shadow:0px 2px 3px #999;
	-moz-box-shadow:0px 2px 3px #999;
	box-shadow: 0px 2px 3px #999;
	background: #FFE0DD;
	position: relative;
	padding: 5px 7px;
	color: #D42F82;
	margin-bottom: 10px;
	display: block;
}

@media screen and (max-width: 667px) {
	#lesson_sc dd{font-size: 1.1em}
}	

@media print, screen and (min-width: 668px) {}	

@media print, screen and (min-width: 1000px) {
	#lesson_sc dd{font-size: .9em;}
}	

/* ------------------------------
 footer
------------------------------ */


#footer{
	border-top: 1px solid #c3000b;
	font-size: 10px;
	padding: 1em;
	margin: 0 auto;
}

#footer .about_site{
	letter-spacing: 0.1em;
	color: #666666;
	text-align: left;
	line-height: 1.6em;
}

.about_site ul{}

.about_site ul li{
	display: inline;
	font-size: 93%;
	color: #333;
}

.about_site ul li a{text-decoration: none}


#footer .cr{
	letter-spacing: 0.1em;
	color: #c4000a
}


@media screen and (max-width: 667px) {
	#footer{padding-bottom: 60px;}
	
	
	
	#re_btn_fix{
	position: fixed;
	bottom: 0;
	width: 100%;
	padding-bottom: calc(env(safe-area-inset-bottom));
	background: #a20009;
	height: calc(45px + env(safe-area-inset-bottom));
	line-height: 45px;
	padding-bottom: calc(env(safe-area-inset-bottom));
	padding-top: calc(env(safe-area-inset-bottom) - 35px);
	}
	
	#re_btn_fix ul{
		display: flex;
		flex-wrap:wrap;
	}
	
	#re_btn_fix ul li:first-child{
		width: calc(100% - 100px);
	}
	
	
	#re_btn_fix li#fbook,
	#re_btn_fix li#insta{
		width: 50px;
		border-left: solid 1px #e57479
	}
	
	
	#re_btn_fix ul li:first-child a:before{
		font-family: ionicons;
		content: "\f27a";
		padding-right: 5px
	}
	
	#re_btn_fix ul li:first-child a:after{
		font-family: icomoon;
		content: "\e974";
		padding-left: 5px
	}
	
	
	
	#re_btn_fix a{
		display: block;
		color: #fff;
		text-align: center;
		font-weight: bold;
		font-size: 1.2em
	}
	
	
	
	#re_btn_fix li#fbook a:before{
		font-family: icomoon;
		content: "\e93d";
		font-size: 19px;
	}
	
	#re_btn_fix li#insta a:before{
		font-family: icomoon;
		content: "\ea92";
		font-size: 18px;
	}
	
}	

@media print, screen and (min-width: 668px) {
	#footer{
		display: flex;
		justify-content: space-between;
		flex-wrap:wrap;
		padding: 2em;
	}
	#footer .cr{text-align: right;}
}	







.acf-map {
	width: 100%;
	height: 400px;
	border: #ccc solid 1px;
	margin: 20px 0;
}








/* =archive
-------------------------------------------------------------- */

h2#ac,
h2#ac a{
	color: #039;
	font: normal 18px "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	margin-bottom: 20px;
	margin-left: 10px;
}

#ac_list{
	margin-left: 10px;
}
#ac_list ul{}
#ac_list li{
	margin-bottom: 5px;
	padding-bottom: 5px;
	border-bottom: 1px dotted #F99;
	padding-right: 5px;
	padding-left: 5px;
}

#ac_list li:before{
	content:"》 ";
	color: #955;
	padding-right: 3px;
}



