header{
background:url(../img/header_bg_r.jpg) no-repeat left center,
url(../img/header_bg_l.jpg) no-repeat right top;
background-size:30% auto,30% auto;
padding:15px 0;
}
header div.section{
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;
align-items: center;
}
header .logo{
}
header .logo h1 span.title{
font-family: 'Shippori Mincho', serif;
font-size:35px;
}
header .logo h1 span.title span.small{
font-family: 'Shippori Mincho', serif;
font-size:24px;
}
header .logo h1 span.catch{
font-size:13px;
font-weight:bold;
display:block;
}

header .weather{
}
header .weather .weather_wrap{
display: flex;
    flex-flow: wrap;
    margin-top: 15px;
}

header .weather .weather_wrap .today img,
header .weather .weather_wrap .tommorow img{
max-height:30px;
}

header .weather .weather_wrap .label,
header .weather .weather_wrap .today,
header .weather .weather_wrap .tommorow{
position:relative;
}

header .weather .weather_wrap span.title{
display:inline-block;
}

header .weather .weather_wrap .label{
    background: #CCCC99;
    display: flex;
    align-items: center;
    color: #fff;
    font-weight: bold;
    padding: 5px 30px;
border-top-right-radius: 100px;
    border-bottom-right-radius: 100px;
    border-bottom-left-radius: 70px;
border:1px solid #CCCC99;
z-index:3;
    margin-right: -50px;
text-align: center;
}
header .weather .weather_wrap .label span.sub{
display:block;
font-size:80%;
font-weight:normal;
}


header .weather .weather_wrap .today,
header .weather .weather_wrap .tommorow{
    color: #CCCC99;
    /*display: flex;
    align-items: center;*/
    font-weight: bold;
    padding:5px 30px 5px 60px;
border:1px solid #CCCC99;
}

header .weather .weather_wrap .today{
    border-radius: 100px;
}

header .weather .weather_wrap .tommorow{
border-top-right-radius: 40px;
    border-bottom-right-radius: 0px;
}



header .weather .weather_wrap .today .wrap1,
header .weather .weather_wrap .today .wrap2,
header .weather .weather_wrap .tommorow .wrap1,
header .weather .weather_wrap .tommorow .wrap2{
display: flex;
    align-items: center;
justify-content: center;
}

header .weather .weather_wrap .wrap2{
font-size:90%;
}


header .weather .weather_wrap .today{
background:#fff;
z-index:2;
    margin-right: -50px;
}
header .weather .weather_wrap .tommorow{
background:#F8F8F8;
z-index:1;
}

header .weather .weather_wrap .today span.title,
header .weather .weather_wrap .tommorow span.title{
margin-right:5px;
}
header .weather .weather_wrap .today span.icon,
header .weather .weather_wrap .tommorow span.icon{
display:inline-block;
position:relative;
}
header .weather .weather_wrap .today p,
header .weather .weather_wrap .tommorow p{
margin:0;
}

header .weather .weather_wrap span.min{
color:#0a6cff;
font-weight:normal;
}
header .weather .weather_wrap .wrap2 p:last-child:before{
content:'/';
margin:0 5px;
color:#222;
}
header .weather .weather_wrap span.max{
color:#eb0013;
font-weight:normal;
}





#page_mainimg{
background:url(../img/main_bg.jpg) no-repeat center center;
background-size:cover;
min-height:400px;
}

footer{
background:#CCCC99;
color:#fff;
text-align:center;
padding:50px 0;
}

footer p{
margin:0;
}



html {
    scroll-behavior: smooth;
}
























nav#gmenu{
background:#CCCC99;
color:#fff;
}
nav#gmenu a{
color:#fff;
}


/******************
メガメニュー挙動
******************/


nav#gmenu .menu_wrap ul {
	display: flex;
	flex-flow: wrap;
}
nav#gmenu .menu_wrap ul li {
	width: calc( 100% / 5 );
}
nav#gmenu .menu_wrap ul li a {
	color: #fff;
	display: block;
	text-align:center;
	padding:15px 0;
	position: relative;
	-webkit-transition-property:background-color;
	-webkit-transition-duration:0.1s;
	-webkit-transition-timing-function:linear;
}
nav#gmenu .menu_wrap ul li a span.line{
	border-left:1px solid #fff;
	display:block;
	width:100%;
	padding:5px 0;
}
nav#gmenu .menu_wrap ul li a.expanded {
background:url(../img/common/menu_acitve-line.svg) no-repeat center bottom;
background-size:50px 5px;
}

/*メガメニューサブエリア装飾*/

nav#gmenu .menu_wrap ul li:first-child a span.line{
	border-left:none;
}
nav#gmenu .menu_wrap ul li .gmega {
	background:rgba(255,255,255,0.98);
	display: none;
	position: absolute;
	padding: 0;
	width: 100%;
	left: 0;
	margin: 0 auto;
	text-align: center;
	z-index: 995;
}

nav#gmenu .menu_wrap ul li .gmega .submenu_wrap{
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
}
nav#gmenu .menu_wrap ul li .gmega .submenu_wrap .submenu{
	width:27%;
padding:30px 0;
}
nav#gmenu .menu_wrap ul li .gmega .submenu_wrap .submenu h3{
border-bottom:2px solid #CCCC99;
font-size:18px;
font-weight:bold;
margin-bottom:20px;
}
nav#gmenu .menu_wrap ul li .gmega .submenu_wrap .submenu ul{
margin-bottom:20px;
}
nav#gmenu .menu_wrap ul li .gmega .submenu_wrap .submenu ul li{
width:100%;
margin-bottom:10px;
}
nav#gmenu .menu_wrap ul li .gmega .submenu_wrap .submenu a{
	color:#333;
	text-align:left;
	padding:0;
	background:none;
}
nav#gmenu .menu_wrap ul li .gmega .submenu_wrap .submenu a span.icon{
background:url(../img/common/icon_arrow-orange-circle.svg) no-repeat left top 6px;
background-size:16px 16px;
display:inline-block;
padding-left:19px;
}





/******************
パンくず
******************/

#pankz{
	margin:10px 0 30px 0;
}
#pankz ul{
	display:flex;
	font-size:14px;
}
#pankz ul li a{
	display:inline-block;
	padding:3px;
text-decoration:underline;
}
#pankz ul li:after{
content:'>';
margin:0 10px;
}

#pankz ul li.home{
margin-right:23px;
}
#pankz ul li.home a{
	display:inline-block;
	background:#F3F3F3;
	position: relative;
	padding:3px 15px;
}

#pankz ul li:last-child a,
#pankz ul li.home a{
text-decoration:none;
}
#pankz ul li:last-child a{
    pointer-events: none;
}
#pankz ul li:last-child:after,
#pankz ul li.home:after{
content:none;
}
#pankz ul li.home a::after {
	content: "";
    position: absolute;
    right: -25px;
    border-left: 13px solid #F3F3F3;
    border-top: 13px solid #fff;
    border-right: 13px solid #fff;
    border-bottom: 13px solid #fff;
    top: 0px;
text-decoration:none;
}







/******************
フッターインフォメーション
******************/

#foot_info{
background:#F7F6F5;
padding:40px 0;
}


#foot_info .wrap{
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
}
#foot_info .wrap .box{
width:29%;
    position: relative;
}
#foot_info .wrap .box .icon{
text-align:center;
z-index:2;
position:relative;
}

#foot_info .wrap .box .white{
border-radius:10px;
background:#fff;
padding:45px 25px 20px 25px;
z-index:1;
position:relative;
top:-40px;
}

#foot_info .wrap .box .white h3{
  position: relative;
display:block;
border-bottom:1px solid #CCCCCC;
font-size:22px;
font-weight:bold;
margin-bottom:20px;
text-align:center;
padding: 0 0 5px 0;
}
#foot_info .wrap .box .white h3:before {
  content: '';
  position: absolute;
  bottom: -5px;
  display: inline-block;
  width: 60px;
  height: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #CCCC99;
  border-radius: 2px;
}

#foot_info .wrap .box.contact .white div.tel{
margin-bottom:10px;
}

#foot_info .wrap .box .white dl.info_dl dt{
border:1px solid #ccc;
display:inline-block;
min-width:75px;
text-align:center;
padding:0 10px;
margin-bottom:5px;
}
#foot_info .wrap .box .white dl.info_dl dd{
margin-bottom:5px;
}

#foot_info .wrap .box.time .white dl.info_dl dt,
#foot_info .wrap .box.time .white dl.info_dl dd{
display:inline-block;
vertical-align: top;
}
#foot_info .wrap .box.time .white dl.info_dl dd{
padding-left:10px;
}
#foot_info .wrap .box .white dl.info_dl dd.holiday{
font-size:90%;
}

#foot_info .wrap .box .white .inwrap{
margin-bottom:20px;
}


/******************
フッター
******************/

div#footer{
padding:40px 0;
}

div#footer .section .right dl{
text-align:left;
}
div#footer .section .right p.address{
margin-bottom:5px;
}
div#footer .section .right dl dd.tel a.sub {
    font-size: 16px;
    margin-left: 10px;
    margin-top: 8px;
    display: inline-block;
}

div#footer .section .logo dl.batch{
margin-top:20px;
	display: flex;
	flex-flow: wrap;
}
div#footer .section .logo dl.batch dt{
width:15%;
}
div#footer .section .logo dl.batch dd{
width:32%;
padding: 10px 1.5%;
}
div#footer .section .logo dl.batch dd a{
text-decoration:underline;
}


/******************
フッターリンク
******************/

div#footer_link{
background:#F7F6F5;
padding:40px 0;
text-align:center;
}

div#footer_link ul{
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
margin-bottom:30px;
}
div#footer_link ul li{
	width: calc( 100% / 4 );
border-left:1px solid #CCCCCC;
}
div#footer_link ul li:last-child{
border-right:1px solid #CCCCCC;
}
div#footer_link ul li a:hover{
opacity:0.8;
}

div#footer_link p.copy{
font-size:12px;
margin:0 auto;
}


/******************
ボタン
******************/


.btn_link a{
text-align:center;
display:block;
padding:15px;
-webkit-transition-property:background;  
-webkit-transition-duration:0.2s;  
-webkit-transition-timing-function:linear; 
}
.btn_link a.border_orange{
border:1px solid #CCCC99;
}
.btn_link a.border_gray{
border:1px solid #ccc;
}
.btn_link a.radius{
border-radius:5px;
}

.btn_link a.arrow-orange span.icon{
background:url(../img/common/icon_arrow-orange-circle.svg) no-repeat right center;
background-size:16px 16px;
display:inline-block;
padding-right:19px;
}

.btn_link a.border_orange:hover{
background:#CCCC99;
color:#fff;
}
.btn_link a.border_orange:hover span.icon{
background:url(../img/common/icon_arrow-white-circle.svg) no-repeat right center;
background-size:16px 16px;
display:inline-block;
padding-right:19px;
}









/******************
新着リスト
******************/



.newslist_list{
}
.newslist_list dl{
border-bottom:1px dotted #CCCCCC;
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
padding:10px 0;
}
.newslist_list dl dt{
width:140px;
font-weight:normal;
}
.newslist_list dl dd{
width:calc(100% - 160px);
}
.newslist_list dl dd a{
text-decoration:underline;
}



/******************
科目リスト
******************/


.kamoku_list_wrap ul{
	display: flex;
	flex-flow: wrap;
}
.kamoku_list_wrap ul li{
width:calc(100% / 5);
text-align:center;
}
.kamoku_list_wrap ul li .img{
margin-bottom:10px;
}
.kamoku_list_wrap ul li .img span.icon{
border:3px solid #CCCC99;
padding:20px;
display:inline-block;
border-radius:5px;
min-width:110px;
}
.kamoku_list_wrap ul li .img span.icon img{
max-height:50px;
}
.kamoku_list_wrap ul li p.title span{
    position: relative;
    padding-right: 20px;
display:inline-block;
font-size:15px;
}
.kamoku_list_wrap ul li p.title span.icon:before {
    font-family: "Font Awesome 5 Free";
    content: "\f0a9";
    font-weight: 900;
    position: absolute;
    font-size: 15px;
    right: 0em;
    top: 0.3em;
    color: #CCCC99;
}
.kamoku_list_wrap ul li a:hover p.title span.icon{
    color: #CCCC99;
}






/**********************************************************************/

/* for TB & SP CSS   */

/**********************************************************************/








/******************/
/* TB    */
/******************/

@media only screen and (min-width: 600px) and (max-width: 1019px) {






}









/******************
SP
******************/
@media only screen and (max-width: 599px) {

header {
    padding: 10px 0;
}


div#header .section .logo {
width: 50%;
    position: relative;
    top: -7px;
}
header .logo h1 span.title {
    font-size: 22px;
}
header .logo h1 span.title span.small {
    font-size: 13px;
display:block;
}

header .logo h1 span.catch {
    display: none;
}


#page_mainimg {
    min-height: 150px;
}

footer{
padding:20px 0;
font-size:14px;
}


#sp_hamburger .logo{
}
#sp_hamburger .logo h1 span.title{
font-family: 'Shippori Mincho', serif;
font-size:30px;
}
#sp_hamburger .logo h1 span.title span.small{
font-family: 'Shippori Mincho', serif;
font-size:18px;
}
#sp_hamburger .logo h1 span.catch{
font-size:13px;
font-weight:bold;
display:block;
}


header .weather .weather_wrap {
    margin-top: 0;
}
header .weather .weather_wrap .label{
    display: none;
}

/*
header .weather .weather_wrap .tommorow{
    display: none;
}
*/

header .weather .weather_wrap .tommorow,
header .weather .weather_wrap .today{
padding: 0px 5px;
    margin-right: 0px;
    border-radius: 5px;
font-size:90%;
}
header .weather .weather_wrap .today{
margin-right:5px;
}
header .weather .weather_wrap .wrap1 {
    font-size: 90%;
}
header .weather .weather_wrap .wrap2 {
    font-size: 83%;
}

/******************
SP追従メニュー
******************/

#sp_menu{
background:#CCCC99;
color:#fff;
	display: flex;
	flex-flow: wrap;
	bottom: 0;
    left: 0;
    width: 100%;
    position: fixed;
    z-index: 2;
}

#sp_menu .box.tel{
width:60%;
}
#sp_menu .box.access,
#sp_menu .box.kamoku{
width:20%;
}

#sp_menu .box a{
display:block;
padding:10px 10px;
}
#sp_menu .box.access a,
#sp_menu .box.kamoku a{
text-align:center;
border-left:1px solid #fff;
}

#sp_menu .box.access span.icon,
#sp_menu .box.kamoku span.icon{
display:block;
}
#sp_menu .box span.icon img{
width:70%;
}

#sp_menu .box.access span.icon img{
margin-top:5px;
}
#sp_menu .box.access span.label,
#sp_menu .box.kamoku span.label{
display:blcok;
font-size:13px;
font-weight:bold;
}

#sp_menu .box.tel dl{
	display: flex;
	flex-flow: wrap;
}
#sp_menu .box.tel dl dt img{
width:35px;
}

#sp_menu .box.tel dl dd{
margin-left: 5px;
}
#sp_menu .box.tel dl dd span{
display:block;
}
#sp_menu .box.tel dl dd span.number{
font-size:23px;
font-weight:bold;
}
#sp_menu .box.tel dl dd span.info{
font-size:12px;
}
#sp_menu .box.tel a{
padding-top:10px;
}
























/******************
SPハンバーガーメニュー
******************/


/*挙動*/

body {
  animation: bugfix infinite 1s;
  -webkit-animation: bugfix infinite 1s;
}

@keyframes bugfix {
  from {
    padding: 0;
  }
  to {
    padding: 0;
  }
}
@-webkit-keyframes bugfix {
  from {
    padding: 0;
  }
  to {
    padding: 0;
  }
}
#overlay-button {
    position: absolute;
    right: 0;
    top: 0;
    padding: 20px 10px;
    z-index: 5;
    cursor: pointer;
    user-select: none;
}
#overlay-button span {
  height: 4px;
  width: 35px;
  border-radius: 2px;
  background-color: #000;
  position: relative;
  display: block;
  transition: all .2s ease-in-out;
}
#overlay-button span:before {
  top: -10px;
  visibility: visible;
}
#overlay-button span:after {
  top: 10px;
}
#overlay-button span:before,
#overlay-button span:after {
  height: 4px;
  width: 35px;
  border-radius: 2px;
  background-color: #000;
  position: absolute;
  content: "";
  transition: all .2s ease-in-out;
}
#overlay-button:hover span,
#overlay-button:hover span:before,
#overlay-button:hover span:after {
  background:  #000;
}

input[type=checkbox] {
  display: none; 
  
}

input[type=checkbox]:checked ~ #overlay {
  visibility: visible; 
}




input[type=checkbox]:checked ~ #overlay-button:hover span,
input[type=checkbox]:checked ~ #overlay-button span {
  background: transparent;
}



input[type=checkbox]:checked ~ #overlay-button span:before {
  transform: rotate(45deg) translate(7px, 7px);
}
input[type=checkbox]:checked ~ #overlay-button span:after {
  transform: rotate(-45deg) translate(7px, -7px);
}

#overlay {
  height: 100vh;
  width: 100vw;
	background:rgba(255,255,255,0.98);
  z-index: 4;
  visibility: hidden;
  position: fixed;
display:flex;
  justify-content: center;
  align-items: center;
align-items:stretch;
}



#overlay .box{
padding:0;
width:100%;
overflow: auto;
    scrollbar-gutter: stable;
}
#overlay .box a{
color:#000;
padding:15px 0;
display: inline-block;
}
#overlay .box ul{
margin:20px 0 10px;
padding:0;
}
#overlay .box ul li{
margin:0;
padding:0 5%;
list-style:none;
}


/*メニュー処理*/

#sp_hamburger .gmega{
	max-height: 0;
	overflow-y: hidden;
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -ms-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
}
#sp_hamburger .gmega.expanded{
	max-height:1000px;
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -ms-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
}

#sp_hamburger a.first_rank{
background:#fff;
border:3px solid #CCCC99;
border-radius:5px;
display:block;
margin-bottom:15px;
padding:15px 20px;
font-weight:bold;
    box-shadow: 2px 2px #efefef;
}
#sp_hamburger a.first_rank span.line{
display:block;
background:url(../img/common/icon_arrow-orange-circle.svg) no-repeat right center;
background-size:20px 20px;
padding-right:20px;
}

#sp_hamburger a.first_rank.expanded{
background:#F7FFE2;
}
#sp_hamburger a.first_rank.expanded span.line{
background:url(../img/common/icon_arrow-orange-circle_down.svg) no-repeat right center;
background-size:20px 20px;
}
#sp_hamburger .gmega ul {
    margin: 0 0 20px 0;
    padding: 0;
}

#sp_hamburger .gmega ul li{
margin-bottom:10px;
}

#sp_hamburger .gmega ul li a{
    margin: 0 0 0 0;
    padding: 0;
display:block;
    text-decoration: underline;
}
#sp_hamburger .gmega ul li a span.icon{
display:block;
background:url(../img/common/icon_arrow-orange-circle.svg) no-repeat left center;
background-size:16px 16px;
padding-left:20px;
}

#sp_hamburger .gmega h3{
border-bottom:2px solid #CCCC99;
background:url(../img/common/icon_arrow-orange-circle_down.svg) no-repeat left center;
background-size:16px 16px;
padding-left:20px;
font-weight:bold;
padding-bottom:10px;
margin-bottom:10px;
}
#sp_hamburger .gmega h3 a{
padding:0;
}

#sp_hamburger .logo{
text-align:center;
margin:5px 0;
}
#sp_hamburger .logo img{
width:35%;
}

#sp_hamburger .box_large{
    padding: 0 5%;
margin-bottom:20px;
}
#sp_hamburger .box_large dl{
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
}
#sp_hamburger .box_large dl dd{
width:47%;
}
#sp_hamburger .box_large dl dd a{
text-align:center;
border-radius:5px;
width:100%;
padding:15px;
}
#sp_hamburger .box_large dl dd a span{
display:block;
margin-top:10px;
}

#sp_hamburger .box_large dl dd.recruit a{
background:#37A34A;
color:#fff;
}
#sp_hamburger .box_large dl dd.kango a{
background:#F5ECF4;
color:#333;
}

#sp_hamburger .box_contact{
width:90%;
margin:0 auto 20px auto;
border:1px solid #ccc;
border-radius:5px;
padding:20px;
}
#sp_hamburger .box_contact h3{
    position: relative;
    display: block;
    border-bottom: 1px solid #CCCCCC;
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 20px;
    text-align: center;
    padding: 0 0 5px 0;
}
#sp_hamburger .box_contact h3:before {
    content: '';
    position: absolute;
    bottom: -5px;
    display: inline-block;
    width: 60px;
    height: 5px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #CCCC99;
    border-radius: 2px;
}

#sp_hamburger .box_contact div.tel{
text-align:center;
}
#sp_hamburger .box_contact div.tel a{
padding:0;
margin-bottom:10px;
}


#sp_hamburger .box_contact p{
text-align:center;
margin-bottom:15px;
}
#sp_hamburger .box_contact dl{
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
}
#sp_hamburger .box_contact dl dd{
width:47%;
font-size:13px;
}
#sp_hamburger .box_contact dl dd a{
display:block;
}

#sp_hamburger .box_link ul{
    display: flex;
    flex-flow: wrap;
margin:20px 0 0px;
}
#sp_hamburger .box_link ul li{
width:50%;
border-top: 1px solid #CCCCCC;
padding: 0 0;
}
#sp_hamburger .box_link ul li:nth-child(odd) {
    border-right: 1px solid #CCCCCC;
}

#sp_hamburger .box_link ul li a {
    padding: 10px 10px;
    display: block;
text-align:center;
font-size:13px;
}

body.hamcheck.expanded{
overflow:hidden;
}

input[type=checkbox]:checked ~ #overlay.clear{
visibility: hidden;
}
input[type=checkbox]:checked ~ #overlay-button.clear span{
background-color: #000;
}
input[type=checkbox]:checked ~ #overlay-button.clear span:before {
    transform: unset;
}
input[type=checkbox]:checked ~ #overlay-button.clear span:after {
    transform: unset;
}


}