					
/*************************
共通
*************************/
html{
  font-size: 0.85em !important;
}


a { display: block; cursor:pointer; text-decoration: underline #FF3028;;}
.sp-only,.sp-br{
  display: block !important;
}
.pc-only{
  display: none !important;
}
.pc-br{
  display: inline-block;
}

.block{
  display: block;/*ブロック要素にしたい時に囲う*/
  clear: both;
}
.i-style,.i-style-home{
  font-size: 3em;
  display:block;
  margin-bottom: 5px;
}


body{
  max-width: 100%;
  font-size: 1em;
  position: relative;
  font-family: sans-serif;
  line-height: 1.6em;
}
header{
  position: relative;
}
.wrap10{
  width: 100%;
}
h2{
  font-size: 1em;
  padding: 10px 0;
  line-height: 1.6em;
}
h2.h2-left{
  text-align: center;
  position: relative;
  background-size: cover;
  background-position: right;
}
h2.h2-center{
  text-align: center;
}
h2.h2-center span{
  text-shadow: 2px 2px 1px #fff,
  -2px 2px 1px #fff,
  2px -2px 1px #fff,
  -2px -2px 1px #fff;
}
h2.h2-center img,
h2.h2-center span{
  display: block;
  margin: 0 auto;
}
h2.h2-center span:last-child{
  font-size: 0.65em;
}
h2.about-tit{
  background-image: url(../images/about-tit-bg_sp.jpg);
  background-repeat: no-repeat;
  background-color: #f6f6f6;
}
h2.seasonal-tit{
  background-image: url(../images/seasonal-tit-bg.png);
}
h2 span > span{
  text-shadow: 2px 2px 1px #fff,
  -2px 2px 1px #fff,
  2px -2px 1px #fff,
  -2px -2px 1px #fff;
}
h2 span > span:nth-of-type(1),
.product-tit > span:nth-of-type(1),
h2.h2-center span:nth-of-type(1){
  font-family: 'Tenor Sans', sans-serif;
  font-size: 1.4em;
  display: block;
  margin: 0;
  letter-spacing: 0.04em;
}
h2 span > span:last-child{
  /*font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif;*/
  font-size: 0.65em;
  display: block;
}
h2 img{
  width: 35px;
  height: auto;
  vertical-align: bottom;
}

 /* ヘッダー */

#main{
  padding: 0;
  margin: 0;
  overflow: hidden;
  background-color: #FFF5F5;
}




#header01{
  background-color: rgba( 255, 255, 255, 1 );
  display: none !important;
  width: 100%;
  height: 150px;
  display:-webkit-box;
  display:-moz-box;
  display:-webkit-flexbox;
  display:-moz-flexbox;
  display:-ms-flexbox;
  display:-webkit-flex;
  display:-moz-flex;
  display:flex;
  -webkit-box-align:center;
  -moz-box-align:center;
  -ms-flex-align:center;
  -webkit-align-items:center;
  -moz-align-items:center;
  align-items:center;
}
#header02{
  /*background-color: rgba( 222, 63, 71, 0.8 );*/
  background-color: rgba( 255, 255, 255, 0.8 );
  color: #000;
  width: 100%;
  height: 550px;
  display: none;
  /*box-shadow: 1px 1px 2px #d2d2d2;*/
}

.sp-gnavi-open{
  display: block;
  width: 26px;
  height: 26px;
}
input[type="checkbox"].on-off{
  display: none;
}
#sub-gnavi {
  background-color: rgba( 255, 255, 255, 0.8 );
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
  margin: 0;
  padding: 0;
  margin: 0 0 10px;
  z-index: 1;
}
#sub-gnavi li a{
  width: 47%;
  padding: 0 0 11px;
  float: left;
  color: #5d5d5d;
  background: #fff;
  text-align: center;
  font-size: 0.85em;
  line-height: 1.3em;
  border: 1px solid #bbb;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
}
#sub-gnavi li:nth-child(odd) a{
  margin: 10px 1% 0 2%;
}
#sub-gnavi li:nth-child(even) a{
  margin: 10px 2% 0 1%;
}
#sub-gnavi li a img{
  width: 30%;
  margin: 0 auto;
}
#sub-gnavi li:nth-child(2) a,
#sub-gnavi li:nth-child(4) a{
  float: right;
}
input[type="checkbox"].on-off + ul{
  height: 0;
  overflow: hidden;
}
input[type="checkbox"].on-off:checked + ul{
  height: 100vh;
  display: block;
  margin: 15px 0 10px !important;
}
#sp-gnavi-open {
  display: block;
  width: 42px;
  height:42px;
  position: fixed;
  top: 2px;
  right: 10px;
  z-index: 3;
}
#sp-gnavi-open span {
  display: block;
  background: #000;
  width: 24px;
  height: 2px;
  position: absolute;
  left: 9px;
  transition: all 0.4s;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
}
#sp-gnavi-open span:first-child {
  top: 12px;
}
#sp-gnavi-open span:nth-child(2) {
  margin-top: -1px;
  top: 50%;
}
#sp-gnavi-open span:last-child {
  bottom: 12px;
}

.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999999999;
  display: block !important;
}
.h-logo{
  width: 20%;
  margin-left: 15px;
  font-weight: normal;
}
.sp-logo{
  color: #000;
  padding: 14px 0 0 0;
  font-size: 0.8em;
  font-weight: bold;
}
.h-nav{
    background-color: rgba( 255, 255, 255, 0.55 );
  display: block;
  height: 20%;
  position: absolute;
  bottom: 0;
  width: 100%;
}
#gnavi{
  padding: 0 15px;
  position: absolute;
  z-index: 1;
  bottom: 5px;
  display:-webkit-box;/*--- Android ブラウザ用 ---*/
  display:-ms-flexbox;/*--- IE10 ---*/
  display:-webkit-flex;/*--- safari（PC）用 ---*/
  display:flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap; /* Safari 6.1+ */
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
#gnavi li{
  width: 23%;
}
#top-btn{
  width: 45px;
  margin: 0 15px 15px;
}
/*------- スライドショーCSSアニメーション -------*/
#css-slider {
  position: relative;
  width:100%;
  height: auto;
  margin: 0 auto;
  /*background: url('../images/top-slide_bg.jpg');
  background-color: #000;*/
}
.photo {
  width: 100%;
  height: auto;
  position: absolute;
}
.padding-b{
  padding-bottom: 66.4%;
}


/* フッター */
footer{
  clear: both;
}



/* フッター */
#footer-top{
  width: 100%;
  height: 55px;
  background: #ceddf4 url('../images/footer-bg.png') repeat-x;
}
footer{
  padding: 20px 0;
  text-align: center;
}
.f-logo{
  width: 100px;
  margin: 0 auto;
}
small{
  display: block;
  margin: 10px 0 0;
}

.top_fluid {
  position: relative;
  }

.top_fluid p {
 position: absolute;
  color:antiquewhite;/*文字は白に*/
  font-weight: bold; /*太字に*/
  font-size: 6vw;/*サイズ2倍*/
  content: 100%;  /*文字の装飾は省略*/
  top: 25%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
    }

.top_fluid img {
	object-position:50% 50%;
  overflow-y: hidden;
  width: 100%;
    max-height: 100%;
  height: 100%;
    position:relative;
  object-fit:cover;
}

.catch_major {
  position: relative;
  }

.catch_major h2 {
 position: relative;
  color:white;/*文字は白に*/
  font-weight: bold; /*太字に*/
  font-size: 200%;/*サイズ2倍*/
  margin:0;
  padding:0;
    }

.catch_major img {
  width: 100%;
  height: 100%;
  object-fit:cover;
  position: bottom;
}

/*
.bg-image-mib_rightupper {
  background-image: url("images/soai_orch.jpg");
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: bottom;
  background-size:cover;
  background: rgba(255 255 255 1);
}
*/


.lineh-20em {
    line-height: 2.0em;
    letter-spacing: 0em;
}
.lineh-15em {
    line-height: 1.5em;
    letter-spacing: 0em;
}
.lineh-12em {
    line-height: 1.2em;
    letter-spacing: 0em;
}
.lineh-11em {
    line-height: 1.1em;
    letter-spacing: 0em;
}
.lineh-08em {
    line-height: 0.8em;
    letter-spacing: 0em;
}
.img-round{
    display: inline-block;
    border-radius: 20%;
    width:100%;
}

.img_trim_teacher{
    width: 300px;
    height: 330px;
    object-fit:cover;
	object-position:50% 50%;
/*    margin-right: 3%;*/
}
    

.modal-middle {		/*モーダルウィンドウの縦表示位置を調整*/
	margin: 5% auto;
}

.modal-img_footer {	/*表示予定のテキストとボタンを中央揃え*/
	padding: .5em;
	text-align: center;
}
/* modal-1 */
#modal-1 .modal-content {
  background-color: transparent;
  border: none;
  border-radius: 0;
}
#modal-1 .close {
  color: #fff;
  opacity: 1;
}
#modal-1 .modal-body {
  background-color: #fff;
}

/* modal-2 */
.modal.left.fade .modal-dialog {
  -webkit-transform: translate(-25%,0);
  transform: translate(-25%,0);
}
.modal.left.show .modal-dialog {
  -webkit-transform: translate(0,0);
  transform: translate(0,0);
}
#modal-2 .modal-dialog {
  max-width: 200px;
  margin: 0;
  height: 100%;
}
#modal-2 .modal-content {
  height: 100%;
  border: none;
  border-radius: 0;
}
#modal-2 .modal-header {
  display: block;
}
#modal-2 .modal-title {
  display: inline-block;
}
#modal-2 .modal-body {
  overflow-y: scroll;
}
    
.button_transp{
    background-color:transparent;
}

.navfont{
    font-family: 'Dancing Script', cursive;
}

.nav>li>a {
    padding: 10px 3px;
}

/*---------------*/
/***** Duke *****/
/*---------------*/

figure.effect-duke {
	background: -webkit-linear-gradient(-45deg, #aaaaaa 0%,#ffffff 100%);
	background: linear-gradient(-45deg, #aaaaaa 0%,#ffffff 0%);
}
