schelistschelistschelist<br>display:flex; justify-content:center; align-items:center; flex-wrap: wrap;display:flex; justify-content:center; align-items:center; flex-wrap: wrap;display:flex; justify-content:center; align-items:center; flex-wrap: wrap;@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&family=Noto+Sans+JP:wght@100..900&family=Shippori+Mincho+B1&display=swap');
*,*::before,*::after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:none;text-size-adjust:none}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit}ul,ol{list-style:none}a{text-decoration:none;color:inherit}textarea{resize:vertical}
html{font-size: 18px; line-height: 1.7em;}
/*Base Color */
:root{--green:#46562e;--brown:#42210b;--bg_green:#e6efda;--bg_gray:#f4f4f4;--bg_white:rgba(255,255,255,0.77); --grd:linear-gradient(to left, #bcd8e4, #c3d8ab, #c3d8ab); --bg_yellow:#f4f4ed; --red:#990000; }
/*fonts*/
.en { font-family: "EB Garamond", serif; font-optical-sizing: auto; font-weight: normal;}
.jn { font-family: "Shippori Mincho B1", serif; font-weight: 400; font-style: normal;}
html{font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; font-weight: weight; font-style: normal;}


#calender{width:100%; margin: 0 auto 40px auto; max-width: 1040px; padding: 0; box-sizing: border-box;}
#calender p{padding: 0 20px;}
.calender,.schelist{display: block; background-color: #fff; margin: 40px auto; padding:20px;}
.w100{width: 100%; }
.hensyu{text-align: right; margin-top: 40px; padding-right: 20px;}
.nextback{width:100%; display:flex; justify-content:space-between; align-items:center;}
.next{width:4em; display:flex; justify-content:flex-end; align-items:center; }
.back{width:4em; display:flex; justify-content:flex-start; align-items:center;}
.yearmonth{width:calc(100% - 8em); text-align: center;}
.calender table{margin-top: 40px;}
.maincal,.maincal td{border: 1px solid #46562e;}
.maincal td{height: 4em; position: relative;}
.maincal td font{position:absolute; top: 0; left:calc(50% - 0.5em);}
.maincal td.daytit{height: 2em; }
.maincal td.daytit font{top: 0.5em;}
.schelist table td{padding: 0.5em;}
.daytd{width:6em; box-sizing: border-box; padding: 0.5em;}
.subtd{width:calc(100% - 6em); box-sizing: border-box; padding: 0.5em;}
.maincal td a{width:100%; height:100%; display:block; background-image: url("/img/schedule.svg"); background-size: 50% auto; background-repeat: no-repeat; background-position: center bottom 5px;}
.maincal td:has(font[color="#ff0000"]) {
  background-color: #ffe5ee;
}
.maincal td:has(font[color="#0000ff"]) {
  background-color: #e5f0ff;
}

/*text*/
.center{text-align: center;}
small{font-size: 0.8em;}
.fr{font-weight: normal;}
.mt20{margin: 20px 0 0 0;}

body{background-image: url("/img/bg.webp"); background-size: 400px 400px; background-position: left top; background-repeat: repeat; color: #000; position: relative; }

/*header*/
header{display: flex; justify-content: flex-start; align-items: flex-start; flex-wrap: wrap; position: relative; top:0; margin: 0; padding: 0; }
#h1_head{display: flex; justify-content: flex-start; align-items: center; flex-wrap: wrap; position: relative; top: 0; margin: 0;}
#h1_head::before{content: ""; position: absolute; bottom: 0; left: 0; right: 0; background: var(--grd); width: 100%; height: 30%; z-index: 0;}
#h1_head #logo{width: 7vmax; height: auto; position: absolute; left: 50px; top: 40px; z-index: 2;}
#h1_head h1{background: var(--bg_white); width: 39vw; border-radius:0 12vw 12vw 0 ; height: 24vw; max-height: 500px; margin: 0; display: flex; justify-content: top; align-items: flex-end; flex-wrap: wrap; flex-direction: column-reverse; position: relative; z-index: 2; padding-top: 0px; color: var(--green);}
#h1_head h1 .jn{font-size: 3vw; display: block; margin-right: 10%; line-height: 1em;}
#h1_head h1 .en{font-size: 8vw; display: block; margin-right: 10%; line-height: 1em;}
#h1_head p{max-width: 1200px; width: 70vw; border-radius:12vw 0 0 12vw ; height: 24vw; max-height: 500px; margin: 0; display: block;  position: absolute; top: 20px; right: 0; z-index: 1; margin-top: 40px; background-image: url("/img/title/tit_lesson.webp"); background-size: cover; background-repeat: no-repeat;background-position: left 0 center; color: #fff; line-height: 1em; }
#h1_head p span{display: inline-block; position: absolute; right: 50px; bottom: 0; padding-bottom: 20px; font-size:2rem; }
.breadcrumb{display: block; margin: 20px 0 0 50px;}
.breadcrumb ol{ color: var(--green); display: flex; justify-content: start; align-items: center; flex-wrap: wrap; }
.breadcrumb ol li a{text-decoration: underline; display: inline-block; position: relative;}
.breadcrumb li + li::before { content: ">"; margin: 0 0.5em; color: #666; }
.breadcrumb ol li span{background-color: var(--green); color:#fff;  border-radius: 5px; line-height: 1em; padding: 0 0.5em; font-size: 0.8em; margin-right: 0.5em;}

/*main*/
#page_main{margin-top: 80px;}

/*SNSICON*/
.sns{cursor: pointer; width: 70px; height: 70px; margin:0; padding: 2px 5px; border-radius: 50%; z-index: 10; position: fixed; right: 50px; top: 140px;  background-color: #fff; caret-color: transparent; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; padding: 0; margin: 0;  background-image: url("../../img/sns_icon.svg"); background-size: 60% auto; background-repeat: no-repeat; background-position: center; }

#nav-toggle{display:block; cursor: pointer; width: 70px; height: 70px; margin:0; padding: 0; border-radius: 50%; z-index: 10; position: fixed; right: 50px; top: 50px;  background-color: #fff; caret-color: transparent; }
body.open #nav-toggle{position: fixed; right: 50px; top: 50px;}
body.open #hamburger{ animation: toggleanime .3s linear; min-width: 40%; box-shadow: 3px 3px 6px #b2b2b2;}
@keyframes toggleanime{ 0% { opacity: 0; transform: translateX(10em); }  100% {opacity: 1; transform: translateX(0);}}
.hb-menu {width:50px; height: 30px; margin:20px 10px; position: relative; right: 0; top: 0; display: block;}
.line {height: 4px; width: 100%; position: absolute; transition: all 0.3s; background-color: var(--green); border-radius: 2px; }
.line:nth-of-type(1) {top: 0;}
.line:nth-of-type(2) {top: 50%; transform: translateY(-50%);}
.line:nth-of-type(3) {bottom: 0;}
.hb-menu.active > .line{height: 4px; }
.hb-menu.active > .line:nth-of-type(1) { top: 50%; transform: translateY(-50%) translateX(0px) rotate(45deg);}
.hb-menu.active > .line:nth-of-type(2) { display: none;}
.hb-menu.active > .line:nth-of-type(3) { top: 50%; transform: translateY(-50%) translateX(0px) rotate(-45deg);}

#hamburger {position: fixed; top: 0; right: 0; bottom: 0; left:0; z-index: 7; text-align: left; opacity: 0; padding:0 0 0 calc(100% - 600px); margin: 0; overflow-y: auto; overflow-x: hidden; display: none; background-color:var(--bg_white); font-family: "EB Garamond", serif; font-optical-sizing: auto; }
#hamburger ul{background: var(--grd); border-left: 2px solid #fff; color:var(--green); padding:50px 150px 50px 50px; min-height: 100dvh;  box-shadow: -4px -4px 3px #666;}
#hamburger ul li,footer ul li{line-height: 1.4em; margin:0; position: relative;}
#hamburger li.home,footer li.home{min-height:80px; background-image: url("../../img/logo.svg");  background-size: 80px auto; background-repeat: no-repeat; background-position: left center; display: flex; justify-content: flex-start; align-items: center; margin-bottom: 20px; font-size: 1.4rem; font-weight: bold; width: 100%; }
#hamburger li.home a,footer li.home a{ display: inline-block; width: auto; min-height:80px; padding-left: 100px;  border: none; padding-top: 1em;}
#hamburger li.home a::before,footer li.home a::before{display: none;}
#hamburger a,footer nav a{position: relative; padding:0 30px 5px 0px; display: inline-block; font-weight:bold; background-position: bottom 0.2em left;  }
footer nav a{border: none; font-weight: normal; padding: 0 2em 0 0; }
#hamburger a::before{content: ""; background-image: url("../../img/arrow.svg"); background-size: auto 70%; background-repeat: no-repeat; background-position: center; width: 20px; height: 20px; position: absolute; right:5px; top: 7px; border-radius: 5px;}
footer nav a::before{content: ""; background-image: url("../../img/arrow02.svg"); background-size: auto 70%; background-repeat: no-repeat; background-position: center; width: 20px; height: 20px; position: absolute; right:5px; top: 2px; border-radius: 5px;}
#hamburger dl,footer dl{display: flex; justify-content: flex-start; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 20px;}
#hamburger dt,footer dt{font-size: 1.4rem; font-weight: bold; width: 100%; border-bottom: 1px solid var(--green);  }
footer dt .en{font-size: 1.4rem; margin-right: 0.5em; } 
footer dt small{color: var(--bg_green);}
footer nav dt{margin-top: 20px;}
footer nav dt span{border:1px solid #697655; border-radius: 5px; padding: 0.1em 1em; display: inline-block; }
#hamburger dd,footer dd{margin: 0; width: auto; font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; font-weight: normal; font-style: normal; font-size: 0.9rem;}
footer dd{line-height: 1em; margin: 0;}

#hamburger .cafe a,footer .cafe a{font-size: 1.1rem; font-weight: bold; background-image: url("../../img/cafelogo.webp"); background-size: 80px auto ; background-repeat: no-repeat; background-position: left center; min-height: 80px; padding:10px 20px 0 90px; background-color: #fff; margin-top: 40px;  color:var(--brown); border: none;}
#hamburger .cafe a span,footer .cafe a span{display: block; margin: 0;}
#hamburger .cafe a::before,footer .cafe a::before{display: none;}
#hamburger dt small{font-size: 1rem; font-weight: normal; margin-left: 1em;}


main{ line-height: 170%;}

p.btn{display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; padding: 20px 20px 0 20px;}
p.btn a{display: inline-block; line-height: 1.4em; text-align: left; min-width: 9em; margin: 5px 0 5px 20px;}
.green_btn{background-color: var(--green); color: #fff; padding: 0.2em 2em 0.2em 0.5em; border-radius: 5px; background-image: url("../../img/arrow02.svg"); 
background-size: auto 50%; background-repeat: no-repeat; background-position: right 5px top 5px; border: 1px solid var(--green);}
.white_btn{background-color: #fff; color: var(--green); padding: 0.2em 2em 0.2em 0.5em; border-radius: 5px; background-image: url("../../img/arrow.svg"); background-size: auto 50%; background-repeat: no-repeat; background-position: right 5px top 5px; border: 1px solid var(--green);}
.gaibu_btn{background-color: #fff; color: var(--green); padding: 0.2em 2em 0.2em 0.5em; border-radius: 5px; background-image: url("../../img/arrow03.svg"); background-size: auto 50%; background-repeat: no-repeat; background-position: right 5px top 5px; border: 1px solid var(--green);}
.green_btn span,.white_btn span,.gaibu_btn span{font-size: 0.8rem; display: block; line-height: 1em; margin-bottom: 0.2em;}


footer{font-size:0.9em; background: var(--green); color: #fff; padding: 80px 40px 0 40px; position: relative; display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap;}
address{font-style: normal; font-weight: normal; width: calc(50% - 15px);  }
address dl{margin: 0 0 40px 0; display: block;}
address dt{margin-bottom: 20px;}
address dd{margin-bottom: 5px;}
address dt .en{font-size:1.6rem; border: none; margin-left: 0.5em;}
footer nav{width: calc(50% - 15px); }

.copy{width: 100%; position: relative; font-size: 0.9rem; font-weight: normal; text-align: right; margin-top: 120px;}


@media screen and (orientation: portrait){
html{font-size: 16px;}
#calender{margin-top:80px; }	
	
#page_main{margin-top: -40px; }
  #nav-toggle{ height: 70px; right: 20px; top: 20px; }
  body.open #nav-toggle{right: 20px; top: 20px;}
.sns{right: 20px; top: 110px; }
#hamburger { padding:0 0 0 20%;}
#hamburger ul{ padding:50px;}
#hamburger a::before{ background-size: auto 1em; top: 2px; }
header{display: flex; justify-content: flex-start; align-items: flex-start; flex-wrap: wrap; position: relative; top:0; margin: 0; padding: 50px 0;}

#h1_head{display: block;}
#h1_head::before{height: 40%; z-index: 0;}
#h1_head #logo{width: 70px; left: 20px; top: 20px;}
#h1_head h1{width: 46vw; margin-bottom: 50px; align-items: flex-start; padding: 20px 0 0 40px;}
#h1_head h1 .jn{font-size: 3.5vw; margin-right: 0; }
#h1_head h1 .en{font-size: 9vw; margin-right: 0;}
#h1_head p{ top: 60px;}
#h1_head p span{right: 40px; padding-bottom: 20px;}

footer{display: block;}
footer nav{display: none;}
footer address{width: 100%;}

p.btn a{margin: 5px 0 5px 10px;}
.green_btn{background-color: var(--green); color: #fff; padding: 0.2em 1.5em 0.2em 0.5em; border-radius: 5px; background-image: url("../../img/arrow02.svg"); 
background-size: auto 35%; background-repeat: no-repeat; background-position: right 5px top 5px; border: 1px solid var(--green);}
.white_btn{background-color: #fff; color: var(--green); padding: 0.2em 1.5em 0.2em 0.5em; border-radius: 5px; background-image: url("../../img/arrow.svg"); background-size: auto 35%; background-repeat: no-repeat; background-position: right 5px top 5px; border: 1px solid var(--green);}
.gaibu_btn{background-color: #fff; color: var(--green); padding: 0.2em 1.5em 0.2em 0.5em; border-radius: 5px; background-image: url("../../img/arrow03.svg"); background-size: auto 35%; background-repeat: no-repeat; background-position: right 5px top 5px; border: 1px solid var(--green);}
.green_btn span,.white_btn span,.gaibu_btn span{font-size: 0.8rem; display: block; line-height: 1em; margin-bottom: 0.2em;}

}

/*******SP*******/
@media screen and (max-width:600px){
p.btn a{ min-width: auto;}
.maincal td a{ background-size: 80% auto;}
.sns{width: 50px; height: 50px; right: 20px; top: 80px; }
#nav-toggle{ width: 50px; height: 50px; padding: 0; right: 20px; top: 20px; }
#hamburger { padding:0 0 0 10%;}
#hamburger ul{ padding:20px;}
body.open #nav-toggle{right: 20px; top: 20px;}
#nav-toggle{width:50px; height: 50px; position: fixed; right: 20px; top: 20px; }
.hb-menu {width:36px; height: 26px; margin:12px 7px; }
#h1_head #logo{width: 50px; left: 20px; top: 20px;}
#h1_head::before{height: 60%;}
#h1_head h1{width:66vw; margin-top: 35px; margin-bottom: 20px; padding: 0 0 0 20px; height: 100px; border-radius: 0 50px 50px 0;}
#h1_head h1 .jn{font-size: 24px; margin-right: 0; }
#h1_head h1 .en{font-size: 33px; margin-right: 0;}
#h1_head p{ width: 100%; border-radius:0; height: 200px; display: block;  top: 0px; right: 0; margin-top: 30px; background-size:  130% auto; background-position: right bottom; font-size: 22px; color: #fff; border-radius: 50px 0 0 50px; font-size: 20px;  }
#h1_head p span{right: 20px; font-size: 1.4rem; }
.breadcrumb{display: block; margin: 20px 0 0 20px;}

footer{ padding-left:20px; padding-right:20px;}


}

/*******Wide*******/
@media screen and (min-width:1260px){
#h1_head h1{width: 39vw; border-radius:0 9.5vw 9.5vw 0 ; height: 19vw;}
#h1_head h1 .jn{font-size: 2.5vw;}
#h1_head h1 .en{font-size: 6vw;}
#h1_head p{width: 70vw; border-radius:9.5vw 0 0 9.5vw ; height: 19vw; }
#h1_head p span{ position: absolute; right: 50px; }
footer{justify-content: space-between; padding-left:calc(50% - 630px) ; padding-right:calc(50% - 630px) ; }
footer nav,address{width: 600px; }
}