@charset "utf-8";

@font-face {
font-family: "irohamaru";
src: url("../font/irohamaru-Light.ttf") format("truetype");
}
/*--------------------------------------------------------
	reset 
---------------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td { margin: 0; padding: 0; }
address,caption,cite,code,dfn,em,strong,th,var { font-style: normal; }
ul,ol { list-style-type: none; }
em,strong,th,address { font-style: normal; font-weight: normal; text-align: left; }
h1,h2,h3,h4,h5,h6 { font-weight: normal; font-size: 100%; }
img,
object,
embed { border: 0; vertical-align: top; }
img { max-width: 100%; height: auto; vertical-align: bottom; }
a{ outline: none; text-decoration: none; color: #2f2f2f;}
a:hover{ opacity: .75;}
hr { border: none;}
table { border-collapse: collapse; border-spacing: 0; font-size: 100%; }
li { list-style-type: none; }
strong { font-weight: bold; }
/*-------------------------------------------------
	base
--------------------------------------------------*/
body {position: relative; background: #fff; color: #2f2f2f;  font-size: 18px; line-height: 1.6; -webkit-text-size-adjust: 100%;overflow-x: hidden }
.wrapper{ position: relative; overflow: hidden;}
/*-------------------------------------------------
	txt
--------------------------------------------------*/
body{ font-family: "mamelon", sans-serif; font-weight: 500; }

.txt_l { font-size: 30px; letter-spacing: 4px; line-height: 1.3; font-weight: 500;}
.txt_m { font-size: 19px;letter-spacing: 2.1px; line-height: 1.65; font-weight: 500;}
.txt_s { font-size: 18px; letter-spacing: 2px; line-height: 1.5; font-weight: 500;}

@media screen and (max-width: 1400px) {
}/*END*/
/*-------------------------------------------------
	header
--------------------------------------------------*/
header{z-index: 100; width: 100%; height: 85px;display: flex; align-items: center;position: relative; color: #0e0062;}
header a{ color: #0e0062;}
header .header_wrap{ display: flex; margin: 0 auto; white-space: nowrap; width: 100%;}
/* ロゴ */
header .header_wrap .h_logo .h_inner{ position: absolute; top: 13%;left: 2.5%;display: flex; align-items: center; }
header .header_wrap .h_logo img{ width: 66px; }
header .header_wrap .h_logo .h_logo_txt { text-align: center; margin-left: 16px;}
header .header_wrap .h_logo .h_logo_txt h3{ font-size: 13.6px; line-height: 1; margin-top: 5px;}
header .header_wrap .h_logo .h_logo_txt h1{ font-size: 34px; line-height: 1.1; letter-spacing: 1px; font-weight: 400;}
/* リスト */
header .header_wrap .page_list{ position: absolute; top: 15%; right: 0%; display: flex; align-items: flex-end;}
header .header_wrap .page_list a{ text-align: center; margin-right: 69px;}
/* アイコン */
header .header_wrap .page_list .about img{ width: 38px; }
header .header_wrap .page_list .kyoiku img{ width: 53px; }
header .header_wrap .page_list .annai img{ width: 49px; }
header .header_wrap .page_list .news img{ width: 31px; }
/* テキスト */
header .header_wrap .page_list p{ font-size: 14px; line-height: 1; margin-top: 6px; letter-spacing: .2px;}
/*-------- hum --------*/
.openbtn{margin-right: 31px;cursor: pointer;width: 30px;height:13px;z-index: 9999;display: inline-block;position: absolute; right: 10px; top: 35px;}
/*×に変化*/	
.openbtn span{display: inline-block;transition: all .4s;position: absolute;left: -1px;height: 2px;width: 30px;background: #000;background-blend-mode: difference;}
.openbtn span:nth-of-type(2) { top: 8px;}
.openbtn span:nth-of-type(3) { top: 16px;}
.openbtn.active {height:30px; margin-top: -7px;}
.openbtn.active span{background: #000;z-index: 9999;}
.openbtn.active span:nth-of-type(1) {top: 13px;left: -1px;transform: translateY(6px) rotate(-45deg);}
.openbtn.active span:nth-of-type(2) { display: none;}
.openbtn.active span:nth-of-type(3) {top: 25px;left: -1px;transform: translateY(-6px) rotate(45deg);}
.hum { display: none;}

@media screen and (max-width: 1000px) {
/* ロゴ */
header .header_wrap .h_logo .h_inner{ position: absolute; top: 16%;left: 2.5%;display: flex; align-items: center; }
header .header_wrap .h_logo img{ width: 60px;}
header .header_wrap .h_logo .h_logo_txt {  margin-left: 10px;}
header .header_wrap .h_logo .h_logo_txt h3{ font-size: 12px;}
header .header_wrap .h_logo .h_logo_txt h1{ font-size: 30px; }
/* リスト */
header .header_wrap .page_list a{ margin-right: 40px;}
}/*END*/
@media screen and (max-width: 800px) {
/* リスト */
header .header_wrap .page_list{ display: none;}
.hum { display: block;}
}/*END*/
@media screen and (max-width: 500px) {
header{z-index: 100; width: 100%; height: 70px;}
/* ロゴ */
header .header_wrap .h_logo .h_inner{ position: absolute; top: 16%;left: 2.5%;display: flex; align-items: center; }
header .header_wrap .h_logo img{ width: 50px;}
header .header_wrap .h_logo .h_logo_txt {  margin-left: 10px;}
header .header_wrap .h_logo .h_logo_txt h3{ font-size: 10px;}
header .header_wrap .h_logo .h_logo_txt h1{ font-size: 24px; }
.openbtn{ right: 0px; top: 27px;}
}/*END*/


/*-------------------------------------------------
	nav
--------------------------------------------------*/
#g-nav a{text-decoration: none;}
#g-nav a:hover{ opacity: 1; }
#g-nav{position:fixed;z-index: 999;top:-300%;left:0;width:100%;height: 100vh;/*ナビの高さ*/background-color: #fff; transition: all 0.6s;}
/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{top: 0;}
/*ナビゲーションの縦スクロール*/
#g-nav.panelactive .g_nav_inner{/*ナビの数が増えた場合縦スクロール*/ position: fixed;z-index: 999; width: 100%;height: 100vh;/*表示する高さ*/overflow-y: hidden; -webkit-overflow-scrolling: touch;overflow-x: hidden;}
.g_nav_inner{ width: 100%; height: 100vh;}
.g_nav_inner .inner p, 
.g_nav_inner .inner a{color: #000; font-size: 24px; }
.g_nav_inner .inner ul{ display: block;}
.g_nav_inner .inner li{ margin-top: 30px;}
.g_nav_inner .inner li:nth-child(1){ margin-top: 0px;}
header .link_box_sp { width: 230px; height: 48px; background: #1e3b8d;  border-radius: 15px; display: flex; align-items: center;}
header .link_box_sp:hover { opacity: 0.9;}
header .link_box_sp a{ color: #fff;  display: flex; align-items: center;}
header .link_box_sp a img{ width: 23px; height: 25px; margin-left: 19px;}
header .link_box_sp a p{ margin-left: 15px;font-weight: 400;}
.g_nav_inner .link_box_sp p{color: #fff; font-size: 20px; }
.g_nav_inner .nav_wrap{display: flex; align-items: center; justify-content: center; height: 100vh; position: relative; overflow-y: hidden;}
.g_nav_inner .inner{ width: 100%; max-width: 1600px; z-index: 999;display: flex; align-items: center; justify-content: center;margin: 0 auto;}
/*ここについてなぜ必要か必ずチャック！！！！！！
@media (max-width: 400px) {
#g-nav,
#g-nav.panelactive .g_nav_inner,
.g_nav_inner,
.g_nav_inner .nav_wrap,
#main .inner{ height: -webkit-fill-available; }
}/*END*/ 
/* ロゴ */
#g-nav .nav_top { margin-bottom: 30px;}
#g-nav .nav_top .nav_img_box img{ width: 66px;}
#g-nav .nav_top .nav_logo_txt { text-align: center; margin-left: 16px; margin-top: 10px;}
#g-nav .nav_top .nav_logo_txt h3{ font-size: 13.6px; line-height: 1;}
#g-nav .nav_top .nav_logo_txt h1{ font-size: 30px; line-height: 1.2; letter-spacing: 1px; font-weight: 400;}
/* リスト */

#g-nav li a{ margin-top: 20px; display: flex; align-items: center;}
/* アイコン */
#g-nav .nav_about img{ width: 38px; margin-left: 7px; margin-right: 17px;}
#g-nav .nav_kyoiku img{ width: 53px; margin-right: 10px;}
#g-nav .nav_annai img{ width: 49px; margin-left: 2px; margin-right: 12px;}
#g-nav .nav_news img{ width: 31px; margin-left: 11px; margin-right: 22px;}

#g-nav .nav_about,
#g-nav .nav_kyoiku,
#g-nav .nav_annai,
#g-nav .nav_news { width: 180px;  margin: 50px auto 0;}


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

}/*END*/
/*-------------------------------------------------
	banner
--------------------------------------------------*/
#banner { height: 18.1vw; width: 100%; position: relative; z-index: -10; overflow: hidden;}
#banner .ban_inner .bg_img img{ width: 100%;}
#banner .ban_inner .bg_img{ position: absolute; top: 0px; z-index: -1; width: 100%;}
#banner .ban_inner .title { position: absolute;top: 50%; left: 50%; transform: translate(-50%, -50%); }
#banner .ban_inner h1{ font-size: 48px; font-weight: 400;text-align: center; color: #fff;}
@media screen and (max-width: 1600px) {
#banner .ban_inner h1{ font-size: 3vw;}
}/*END*/
@media screen and (max-width: 1000px) {
#banner .ban_inner h1{ font-size: 4vw;}
}/*END*/
@media screen and (max-width: 750px) {
#banner { height: 20vw;}
#banner .ban_inner .bg_img{ scale: 1.2;}
#banner .ban_inner h1{ font-size: 5vw;}
}/*END*/
@media screen and (max-width: 500px) {
#banner { height: 24vw;}
#banner .ban_inner .bg_img{ scale: 1.5;}
#banner .ban_inner h1{ font-size: 6vw;}
}/*END*/

/*-------------------------------------------------
	footer 
--------------------------------------------------*/
footer { position: relative; color: #0e0062; width: 100%; height: 612px; z-index: 10;}
footer .footer_bg  img { width: 100%; z-index: -1; }
footer .footer_bg { position: absolute; top: 0px; z-index: -1; width: 100%;}
.bg_whi { position: absolute; top: 50px; background: #fff;}
footer .footer_box { width: 982px; margin: 0 auto; display: flex; padding-left: 40px;}
footer .footer_box .footer_l { width: 390px; margin-top: 130px;}
footer .footer_box .footer_l .logo_box{ display: flex; align-items: center;}
footer .footer_box .footer_l .logo_box img{ width: 111px;}
footer .footer_box .footer_l .logo_box .txt_box { margin-left: 25px;}
footer .footer_box .footer_l .logo_box .txt_box h3{ font-size: 16px; }
footer .footer_box .footer_l .logo_box .txt_box h2{ font-size: 34.6px; line-height: 1;letter-spacing: 1px;}
footer .footer_box .footer_l .jusyo { font-size: 18px; margin-top: 40px; line-height: 1.2;}
footer .footer_box .footer_l h3 { font-size: 36px; font-weight: 500; line-height: 1.9; letter-spacing: 1px;}
footer .footer_box .footer_l .bosyu { font-size: 16px; line-height: 1.4;}
footer .footer_box .footer_m { width: 1px; height: 340px; margin-top: 122px; margin-left: 80px; border-left: dotted 3px #dddddd;}
footer .footer_box iframe { width: 430px; height: 310px; margin-left: 77px; margin-top: 135px;border-radius: 10px;}
.right { font-size: 12px; text-align: center; margin-top: 70px;}
@media screen and (max-width: 1600px) {
footer .footer_bg  img { width: 1600px;}
footer .footer_bg { position: absolute;left: 50%; transform: translate(-50%, -50%); top: 306px; width: 1600px;}
}
@media screen and (max-width: 1200px) {
footer { height: 550px;}
footer .footer_box { width: 800px; margin: 0 auto; display: flex; padding-left: 40px;}
footer .footer_box .footer_l {  margin-top: 130px;}
footer .footer_box .footer_l .logo_box{ display: flex; align-items: center;}
footer .footer_box .footer_l .logo_box img{ width: 80px;}
footer .footer_box .footer_l .logo_box .txt_box { margin-left: 15px;}
footer .footer_box .footer_l .logo_box .txt_box h3{ font-size: 14px; }
footer .footer_box .footer_l .logo_box .txt_box h2{ font-size: 28px; line-height: 1;letter-spacing: 1px;}
footer .footer_box .footer_l .jusyo { font-size: 16px; margin-top: 40px; line-height: 1.2;}
footer .footer_box .footer_l h3 { font-size: 28px; font-weight: 500; line-height: 1.9; letter-spacing: 1px;}
footer .footer_box .footer_l .bosyu { font-size: 15px; line-height: 1.4;}
footer .footer_box .footer_m { width: 1px; height: 300px; margin-top: 122px; margin-left: 0px; }
footer .footer_box iframe { width: 380px; height: 260px; margin-left: 40px; margin-top: 135px; }
.right { font-size: 12px; text-align: center; margin-top: 50px;}
}
@media screen and (max-width: 1000px) {
footer .footer_box iframe { width: 330px; height: 200px; margin-left: 40px; margin-top: 170px; }
}
@media screen and (max-width: 840px) {
footer { height: 800px;}
footer .footer_box { width: 370px; margin: 0 auto; display: block;}
footer .footer_box .footer_l { width: 370px; margin: 0 auto; padding-top: 80px;}
footer .footer_box .footer_l .logo_box{ display: flex; align-items: center;}
footer .footer_box .footer_l .logo_box img{ width: 90px;}
footer .footer_box .footer_l .logo_box .txt_box { margin-left: 25px;}
footer .footer_box .footer_l .logo_box .txt_box h3{ font-size: 16px; }
footer .footer_box .footer_l .logo_box .txt_box h2{ font-size: 34.6px; line-height: 1;letter-spacing: 1px;}
footer .footer_box .footer_l .jusyo { font-size: 18px; margin-top: 40px; line-height: 1.2;}
footer .footer_box .footer_l h3 { font-size: 36px; font-weight: 500; line-height: 1.9; letter-spacing: 1px;}
footer .footer_box .footer_l .bosyu { font-size: 16px; line-height: 1.4;}
footer .footer_box .footer_m { display: none;}
footer .footer_box .footer_r { display: flex; align-items: center; justify-content: center;}
footer .footer_box iframe { width: 370px; height: 260px; margin: 50px auto 0; }
.right { font-size: 12px; text-align: center; margin-top: 50px;}
}
@media screen and (max-width: 600px) {
footer { height: 770px;}
footer .footer_bg { position: absolute;left: 50%; transform: translate(-50%, -50%); top: 270px; width: 1600px;}
footer .footer_box { width: 370px; margin: 0 auto; display: block; padding-right: 40px;}
footer .footer_box .footer_l { width: 370px; margin: 0 auto; padding-top: 50px;}
footer .footer_box .footer_l .logo_box{ display: flex; align-items: center;}
footer .footer_box .footer_l .logo_box img{ width: 90px;}
footer .footer_box .footer_l .logo_box .txt_box { margin-left: 15px;}
footer .footer_box .footer_l .logo_box .txt_box h3{ font-size: 16px; }
footer .footer_box .footer_l .logo_box .txt_box h2{ font-size: 34.6px; line-height: 1;letter-spacing: 1px;}
footer .footer_box .footer_l .jusyo { font-size: 18px; margin-top: 40px; line-height: 1.2;}
footer .footer_box .footer_l h3 { font-size: 36px; font-weight: 500; line-height: 1.9; letter-spacing: 1px;}
footer .footer_box .footer_l .bosyu { font-size: 16px; line-height: 1.4;}
footer .footer_box .footer_m { display: none;}
footer .footer_box .footer_r { display: flex; align-items: center; justify-content: center;}
footer .footer_box iframe { width: 370px; height: 260px; margin: 50px auto 0; }
.right { font-size: 12px; text-align: center; margin-top: 50px;}
}
@media screen and (max-width: 450px) {
footer { height: 670px;}
footer .footer_box { width: 330px; margin: 0 auto; display: block; padding-right: 40px;}
footer .footer_box .footer_l { width: 330px; margin: 0 auto; padding-top: 50px;}
footer .footer_box .footer_l .logo_box{ display: flex; align-items: center;}
footer .footer_box .footer_l .logo_box img{ width: 70px;}
footer .footer_box .footer_l .logo_box .txt_box { margin-left: 10px;}
footer .footer_box .footer_l .logo_box .txt_box h3{ font-size: 14px; }
footer .footer_box .footer_l .logo_box .txt_box h2{ font-size: 32px;  line-height: .8;letter-spacing: 1px;}
footer .footer_box .footer_l .jusyo { font-size: 16px; margin-top: 40px; line-height: 1.2;}
footer .footer_box .footer_l h3 { font-size: 32px; font-weight: 500; line-height: 1.9; letter-spacing: 1px;}
footer .footer_box .footer_l .bosyu { font-size: 14px; line-height: 1.4;}
footer .footer_box .footer_m { display: none;}
footer .footer_box .footer_r { display: flex; align-items: center; justify-content: center;}
footer .footer_box iframe { width: 330px; height: 210px; margin: 50px auto 0; }
.right { font-size: 11px; text-align: center; margin-top: 50px;}
}
@media screen and (max-width: 400px) {
footer { height: 650px;}
footer .footer_box { width: 290px; margin: 0 auto; display: block; padding-right: 40px;}
footer .footer_box .footer_l { width: 290px; margin: 0 auto; padding-top: 50px;}
footer .footer_box .footer_l .logo_box{ display: flex; align-items: center;}
footer .footer_box .footer_l .logo_box img{ width: 50px;}
footer .footer_box .footer_l .logo_box .txt_box { margin-left: 10px;}
footer .footer_box .footer_l .logo_box .txt_box h3{ font-size: 13px; }
footer .footer_box .footer_l .logo_box .txt_box h2{ font-size: 28px; line-height: .8;letter-spacing: 1px;}
footer .footer_box .footer_l .jusyo { font-size: 16px; margin-top: 40px; line-height: 1.2;}
footer .footer_box .footer_l h3 { font-size: 28px; font-weight: 500; line-height: 1.9; letter-spacing: 1px;}
footer .footer_box .footer_l .bosyu { font-size: 14px; line-height: 1.4;}
footer .footer_box .footer_m { display: none;}
footer .footer_box .footer_r { display: flex; align-items: center; justify-content: center;}
footer .footer_box iframe { width: 290px; height: 180px; margin: 50px auto 0; }
.right { font-size: 10px; text-align: center; margin-top: 50px;}
}
@media screen and (max-width: 370px) {
footer { height: 620px;}
footer .footer_box { width: 78.3vw; margin: 0 auto; display: block; padding-right: 40px;}
footer .footer_box .footer_l { width: 78.3vw; margin: 0 auto; padding-top: 50px;}
footer .footer_box .footer_l .logo_box{ display: flex; align-items: center;}
footer .footer_box .footer_l .logo_box img{ width: 50px;}
footer .footer_box .footer_l .logo_box .txt_box { margin-left: 10px;}
footer .footer_box .footer_l .logo_box .txt_box h3{ font-size: 13px; }
footer .footer_box .footer_l .logo_box .txt_box h2{ font-size: 26px; line-height: .8;letter-spacing: 1px;}
footer .footer_box .footer_l .jusyo { font-size: 14.5px; margin-top: 40px; line-height: 1.2;}
footer .footer_box .footer_l h3 { font-size: 24px; font-weight: 500; line-height: 1.9; letter-spacing: 1px;}
footer .footer_box .footer_l .bosyu { font-size: 14px; line-height: 1.4;}
footer .footer_box .footer_m { display: none;}
footer .footer_box .footer_r { display: flex; align-items: center; justify-content: center;}
footer .footer_box iframe { width: 78.3vw; height: 180px; margin: 50px auto 0; }
.right { font-size: 9px; text-align: center; margin-top: 50px;}
}

footer .footer_color_bg { position: absolute; top: 0px;  width: 100%; height: 400px;background: url(../img/bg.gif) center top; z-index: -3;}

@media screen and (max-width: 600px) {
footer .footer_color_bg {  top: -90px;  height: 400px;}
}