@charset "utf-8";
/*------base------------------------------------*/
body {
	background-image:url(../images/chalkboard.jpg);
	background-repeat:repeat;
	background-color: #343434;
	color: #FFF;
}
html { scroll-behavior: smooth;}
h1,
p,
input,
textarea{
    font-family: "Ubuntu", "Avenir Next", Verdana, "YuGothic", "Yu Gothic", "游ゴシック", "noto", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, "メイリオ", Osaka, sans-serif;
    font-size: 14px;
    line-height: 24px;
}
h2,
h3,
h4,
h5{
    font-family: "YuMincho", "Yu Mincho", "游明朝", "游明朝体", "游明朝", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif, "noto";
}

h3{
    font-size: 28px;
    line-height: 70px;
    letter-spacing: -.05rem;
	margin-bottom: 0px;
}

h4{
    letter-spacing: -.05rem;
	margin: 0px auto;
	font-size: 20px;
}

h3 img{
	width: 90%;
	max-width: 800px;
	height: auto;
}

h5{
	margin-top: 0px;
    font-size: 12px;
    line-height: 15px;
    color: #CCC;
}

hr {width: 60%;
	height: 1px;
	margin: 50px auto;
	background-color: #575757;
	text-align: center;
	border: none;
}

a {
color:#4F9FB1;
text-decoration:underline;
}

#contact a {
    color: #2b7bb9 !important;
    text-decoration: underline !important;
}

#topwrapper{
    max-width: 1280px;
    margin:auto;
}

#bottomwrapper{
    max-width: 1280px;
    margin: 40px auto 0 auto;
    padding-bottom: 55px;
}

.clearfix{
    overflow: hidden;
}

.clear_box {
	clear: both; /* 回り込みを解除する */
	text-align: center;
	color: #FFF;
	font-weight: bold;
}

.archive2nd {
	padding-top: 80px;
}

.title{
    margin-top: 120px;
	font-size: 15px;
}

.title:after{
    display: block;
    width: 37px;
    height: 4px;
    margin: 20px auto 60px auto;
    content: "";
    background-color: #8F8708;
}

.justify{
    width: 30%;
    margin: 40px auto 0 auto;
    text-align: justify;
}

.text-center{
    text-align: center;
}
.tablefont{
    font-size: 80%;
}

/*------topimage--------------------------------*/
#topimage{
	width: 100%;
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
}

#innertitle{
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
}

#page-title{
    font-family: "Lato";
    font-size: 72px;
    font-weight: 100;
    position: relative;
    top: 50%;
    letter-spacing: .02rem;
}

/*------navi------------------------------------*/
.navi{
    z-index: 1;
    top: 0;
    width: 100%;
    height: 70px;
	position: fixed;
	background-color: rgb(16 57 59 / 70%);
	
}

h1{
    position: absolute;
    top: -1000px;
}

.navi ul{
    display: table;
    margin: auto;
    text-align: center;
}

.navi li{
    line-height: 75px;
    display: table-cell;
    padding: 0 30px;
}

.navi li a{
    font-size: 23px;
    position: relative;
    padding-bottom: 1px;
    color: #fafafa;
	text-decoration: none;
}

.navi li a::before{
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 100%;
    height: 1px;
    content: "";
    -webkit-transition: all .2s ease-in-out 0s;
            transition: all .2s ease-in-out 0s;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    background-color: #fff;
}

.navi li a:hover::before{
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
}

.fixnavi{
    position: fixed;
    z-index: 3;
    display: none;
    height: 50px;
    opacity: 1;
    background-color: #333;
    border-bottom: 4px solid #276375;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .3), 0 0 20px rgba(0, 0, 0, .1) inset;
}
.navi.fixnavi li a{
	font-size: 20px;
}

.fixnavi li{
    line-height: 50px;
}

.fixnavi li a{
    font-size: 14px;
}
/*------about------------------------------------*/
#about h3{
    margin-top: 60px;
}

.aba{
    margin-top: 8px;
}

#about .plast{
    margin-top: 60px;
}

/*------images------------------------------------*/
#images{
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
}

#images img{
    width: 100%;
    height: 100%;
    vertical-align: bottom;
}

.set{
    width: 15%;
}

.big{
    width: 14.75%;
    margin-right: .125%;
    margin-left: .125%;
}
.wide{
    width: 39.75%;
}

.left{
    float: left;
}

.tops{
    margin-bottom: .8%;
}
/*------profile------------------------------------*/
#teacherimage{
    overflow: hidden;
    width: 300px;
    height: auto;
    margin: 0 auto;
    margin-bottom: 30px;
}

#teacherimage img{
    width: 100%;
    height: 100%;
    vertical-align: bottom;
}
/*------y miura addition-------------------------------*/
li li{
	list-style-type: none;
	margin-left: 50px;
}

.rasa-nav {
  font-family: "Rasa", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

.info_ul{
	text-align: center;
    margin: 100 auto;
	font-size: 17px;
	font-weight: 600;
	list-style: none;
}

.sns img{
	overflow: hidden;
    width: 48px;
    height: 48px;
    margin: 15px;
}

.info {
	text-align: center;
	max-width: 800px;
	margin: auto;
}
.concert {
	width: 80%;
	margin-top: 40px;
}
.info img{
    width: 180px;
	height: auto;
	float: left;
	margin-right: 20px;
}
.info p{
	text-align: left;
	margin-bottom: 0;
	overflow: hidden;
}

.idate p{
	text-align: left;
	margin-bottom: 0;
	font-size: 20px;
}

.info h4{
	border-bottom: solid 1px #000;
	text-align: left;
	font-size: 16px;
    white-space: nowrap;
	margin-top: 0px;
}
.info h5{
	text-align: left;
	font-size: 12px;
	margin-top: 5px;
	margin-bottom: 8px;
}
#footer{
	margin-bottom: 100px;
}

#footer img{overflow: hidden;
    width: 15px;
    height: 15px;
	margin-right: 3px;
	margin-bottom: 0px;
}

.copyright {
    font-size: 12px;
    margin-top: 15px;
    color: #b3b3b3;
    font-family: "YuMincho", "Yu Mincho", "游明朝", "游明朝体", "游明朝", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif, "noto";}

/*メニューをページ下部に固定*/
#sp-fixed-menu{
   position: fixed;
   width: 100%;
   bottom: 0px;
   font-size: 0;
   opacity: 0.9;
   z-index: 99;
}

/*メニューを横並びにする*/
#sp-fixed-menu ul{
   display: flex;
   list-style: none;
   padding:0;
   margin:0;
   width:100%;
}

#sp-fixed-menu li{
   justify-content: center;
   align-items: center;
   width: 33%;
   padding:0;
   margin:0;
   font-size: 18px;
   border-right: 1px solid #2F2F2F;
}
#sp-fixed-menu img{
    overflow: hidden;
    width: 16px;
    height: 16px;
	margin-bottom: 0px;
	margin-right: 3px;
}
/*左側メニュー色*/
#sp-fixed-menu li:first-child{
   background: #8F8708;
}
/*中央メニュー色*/
#sp-fixed-menu li:nth-child(2){
   background: #27736b;
}
/*右側メニュー色*/
#sp-fixed-menu li:last-child{
   background: #0E333B;
}

/*ボタンを調整*/
#sp-fixed-menu li a{
   text-align: center;
   display:block;
   width: 100%;
   padding: 16px 0px;
   color:#FFF;
}
/*PCの場合にはメニューを表示させない*/
@media (min-width: 768px) {
   .for-sp{
      display:none;
    }
}

