@charset "UTF-8";
/* CSS Document */
	
body{
	margin:0px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	color:#444;
	height:100%;
}

html{
	height:100%;
}

img { border-style:none;
	vertical-align: bottom;}

a img { border-style:none;}

a:hover img { border-style:none; }

*{
margin: 0;
padding: 0;
box-sizing: border-box;
}

ol, ul {
	list-style: none;
}

.cf:before,
.cf:after {
  content: "";
  display: table;}
.cf:after {
  clear: both;}
.cf {
  *zoom: 1;}


/* 非表示 */
.is-hide {
    display: none;
}
/* ローディング画面をフェードアウト */
.fadeout-bg {
    transition-property: opacity;
    transition-delay: .9s;
    transition-duration: .8s;
    opacity: 0;
    pointer-events: none;
}
/* ローダーをフェードアウト */
.fadeout-loader {
    transition-property: opacity;
    transition-delay: .9s;
    transition-duration: .3s;
    opacity: 0;
    pointer-events: none;
}
/* ローディング画面 */
#loader-bg {
	background-color:#fff;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 105;
}
#loader {
    height: 196px;
    left: 50%;
    margin-left: -100px;
    margin-top: -88px;
    position: fixed;
    top: 50%;
    width: 200px;
}

#spmain{
	display:none;
}

#sptrailerarea{
	display:none;
}

#contents_wrapper{
	width:100%;
	height: 100%;
	margin:0 auto;
	font-size: 14px;
	text-align: justify;
	word-break: break-all;
	line-height: 180%;
}

#contents_wrapper img{
	width:100%;
	height: auto;
	margin-left:auto;margin-right:auto;display:table;
}

#header {
    position: relative;
	height: auto;
}

.header{
	width:100%;
    height: auto;
	padding:4% 6%;
	background-color: #fff;
	overflow: hidden;
    z-index: 102;
}

.sticky-header {
  position: fixed;
  background: #fff;
  width: 100%;
  height: 140px;
  padding: 2% 6%;
  top: 0;
  left: 0;
  transition: all 0.25s ease 0s;
  z-index: 999;
  overflow: hidden;
}


#fixed_logo{
	width:15%;
	float: left;
}

#fixed_logo:hover {
	opacity: 0.5 ;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

#fixed_right{
	width:70%;
	float: right;
	overflow: hidden;
}

#fixed_sns_wrapper{
	width:23%;
	float: right;
	overflow: hidden;
	margin-left: 2%;
	padding-top:1%;
}

.fixed_sns{
	width:14%;
	float: right;
	margin-left: 19.3333%;
}

.fixed_sns:hover {
	opacity: 0.5 ;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

#fixed_menu_wrapper{
	width:70%;
	float: right;
	overflow: hidden;
}

#inner-header {
	width: 100%;
	padding:4% 6%;
	overflow: hidden;
	background-color: #fff;
}

#top_logo{
	width:13%;
	float: left;
}

#top_right{
	width:60%;
	float: right;
}

#top_sns_wrapper{
	width:240px;
	float: right;
	overflow: hidden;
	margin-bottom: 10%;
}

.top_sns{
	width:30px;
	float: right;
	margin-left: 50px;
}

.top_sns:hover {
	opacity: 0.5 ;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

#top_menu_wrapper{
	width:100%;
	overflow: hidden;
}

.top_menu{
	width:21%;
  position: relative;
  overflow: hidden;
	float: right;
	margin-left: 4%;
}


.top_menu a{
  display: block;
  position: relative;
	outline: none;
}
  
.top_menu .hoverimg{
  position: absolute;
  top:0;
  left:-100%;
  -webkit-transition: .6s;
     -moz-transition: .6s;
      -ms-transition: .6s;
       -o-transition: .6s;
          transition: .6s;
  z-index: 301;
	outline: none;
}

.top_menu a:hover .hoverimg{
  	left: 0%;
	outline: none;
}



#top_wrapper{
    width:100%;
	overflow: hidden;
	box-sizing: border-box;
}


.slider_wrapper {
  position: relative;
  overflow: hidden;
  height: 500px;
}
.slider{
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
.slider .image{
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  animation: anime 15s 0s infinite; /* ②で設定したanimation-delayをスライド数で割った時間をdelay(15s)に入れる */
  opacity: 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
/*
  ②画像の数ごとに animation-delay を設定します。
　下記では、5秒間隔で切り替わるように設定しています。
*/
.slider .image:nth-of-type(1){
  background-image:url("images/topslide/01.jpg");
}
.slider .image:nth-of-type(2){
  animation-delay: 5s;
  background-image: url("images/topslide/02.jpg");
}
.slider .image:nth-of-type(3){
  animation-delay: 10s;
  background-image: url("images/topslide/03.jpg");
}
.slider .image:nth-of-type(4){
  animation-delay: 10s;
  background-image: url("images/topslide/04.jpg");
}
@keyframes anime {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: scale(1.18);
  }
}



.pcview{
	width:100%;
}

.spview{
	display: none;
}


.scrollShowEffect {
	-webkit-transition-delay: 1.5s;
	   -moz-transition-delay: 1.5s;
	    -ms-transition-delay: 1.5s;
	     -o-transition-delay: 1.5s;
	        transition-delay: 1.5s;
	-webkit-transition: all 1.5s ease-in-out;
	   -moz-transition: all 1.5s ease-in-out;
	    -ms-transition: all 1.5s ease-in-out;
	     -o-transition: all 1.5s ease-in-out;
	        transition: all 1.5s ease-in-out;
	opacity:0;
}

.scrollShowEffect-R {
	-webkit-transform: translate3d(60%, 0%, 0);
	   -moz-transform: translate3d(60%, 0%, 0);
	    -ms-transform: translate3d(60%, 0%, 0);
	     -o-transform: translate3d(60%, 0%, 0);
	        transform: translate3d(60%, 0%, 0);
}
.scrollShowEffect-L {
	-webkit-transform: translate3d(-60%, 0%, 0);
	   -moz-transform: translate3d(-60%, 0%, 0);
	    -ms-transform: translate3d(-60%, 0%, 0);
	     -o-transform: translate3d(-60%, 0%, 0);
	        transform: translate3d(-60%, 0%, 0);
}
.scrollShowEffect-B {
	-webkit-transform: translate3d(0, 50%, 0);
	   -moz-transform: translate3d(0, 50%, 0);
	    -ms-transform: translate3d(0, 50%, 0);
	     -o-transform: translate3d(0, 50%, 0);
	        transform: translate3d(0, 50%, 0);
}

.scrollShowEffect-T {
	-webkit-transform: translate3d(0, -15%, 0);
	   -moz-transform: translate3d(0, -15%, 0);
	    -ms-transform: translate3d(0, -15%, 0);
	     -o-transform: translate3d(0, -15%, 0);
	        transform: translate3d(0, -15%, 0);
}

.scrollShowEffect-Z {
	-webkit-transform: scale( 0.2,  0.2);
	transform: scale( 0.2,  0.2);
}

.scrollShowEffect.showItem {
	opacity:1;
	-webkit-transform: translate3d(0, 0, 0);
	   -moz-transform: translate3d(0, 0, 0);
	    -ms-transform: translate3d(0, 0, 0);
	     -o-transform: translate3d(0, 0, 0);
	        transform: translate3d(0, 0, 0);
}


.mb0{
	width:100%;
	overflow: hidden; /* heightを戻す */
}

.mb5{
	width:100%;
	overflow: hidden; /* heightを戻す */
	margin-bottom: 5px;
	line-height: 140%;
}

.mb10{
	width:100%;
	overflow: hidden; /* heightを戻す */
	margin-bottom: 10px;
}

.mb20{
	width:100%;
	overflow: hidden; /* heightを戻す */
	margin-bottom: 20px;
}

.mb30{
	width:100%;
	overflow: hidden; /* heightを戻す */
	margin-bottom: 30px;
}

.mb50{
	width:100%;
	overflow: hidden; /* heightを戻す */
	margin-bottom: 50px;
}


#about_wrapper{
	width:100%;
	background: url("images/about/bg.jpg") 100% 0 no-repeat fixed;
	background-size:cover;
	overflow: hidden; /* heightを戻す */
	padding-bottom: 40%;
}

#about_inner{
	width:100%;
	margin:0 auto;
	padding:10% 25%;
	box-sizing: border-box;
	background-color: #fff;
}

.pagetitle_wrapper{
	width:200px;
    margin:0 auto;
    position: relative;
	margin-bottom: 60px;
}

.pagetitle{
	width:100%;
}

.pagetitle_line{
	width:100%;
    position: absolute;
    left:0;
    top:0;
}

.add3{
	width:31%;
	float: left;
	margin:1.1666666%;
}

.about_photo{
	width:80%;
	margin:0 auto;
	margin-bottom: 40px;
	overflow: hidden;
}

.text{
	width:100%;
}

.text a{
	color: #6c6c4f;
	text-decoration: underline;
}

.text a:hover{
	color: #999;
	text-decoration: underline;
}

.about_midashi{
	width:100%;
	margin-bottom: 30px;
	font-size: 24px;
	font-weight: bold;
	color: #6c6c4f;
	text-align: center;
}


#works_wrapper{
	width:100%;
	background: url("images/works/bg.jpg") 100% 0 no-repeat fixed;
	background-size:cover;
	overflow: hidden; /* heightを戻す */
	padding-bottom: 40%;
}

#works_inner{
	width:100%;
	margin:0 auto;
	padding:10% 20%;
	box-sizing: border-box;
	background-color: #fff;
}

.worksbox{
	width:31%;
	height: auto;
    overflow: hidden;
	float: left;
	margin:1.166666%;
}

.worksbox:hover {
	opacity: 0.5 ;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.works-popup>div{
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 100%;
	background-color:rgba(255,255,255,0.9);
  overflow: auto;
}
.works-pop-box{
  z-index: 10;
  width:50%;
  margin-top: 12%;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 30px;
	color: #527586;
}

body.modal-open {
  height: 100vh;
  overflow-y: hidden;
}

.works_text{
	width:100%;
	text-align: center;
	margin-bottom: 20px;
}

.removebtn{
  position: fixed;
  top: 2%;
  right: 2%;
  width: 100px;
  cursor: pointer;
}

.toinsta{
	width:12%;
	margin:0 auto;
	margin-top:50px;
}

.toinsta:hover {
	opacity: 0.5 ;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

#howto_wrapper{
	width:100%;
	background: url("images/howto/bg.jpg") 100% 0 no-repeat fixed;
	background-size:cover;
	overflow: hidden; /* heightを戻す */
	padding-bottom: 40%;
}

#howto_inner{
	width:100%;
	margin:0 auto;
	padding:10% 25%;
	box-sizing: border-box;
	background-color: #fff;
}

.howtomidashi{
	width:100%;
	font-size: 13px;
	font-weight: bold;
	padding-bottom: 5px;
	border-bottom: 1px solid #ddd;
	margin-bottom: 10px;
}

.orderbtn{
	width:100%;
	margin:0 auto;
	text-align: center;
	font-weight: bold;
	font-size: 12px;
}


.orderbtn a{
    display:block;
	width: 100%; /* 横幅 */
	box-sizing: border-box;
	text-decoration: none;
	outline: none;
	padding:1%;
	color:#6c6c4f;
	background-color: #fff;
	border:3px double #6c6c4f;
}

.orderbtn a:hover {
	text-decoration: none;
	outline: none;
	box-sizing: border-box;
	background-color: #6c6c4f;
	color: #fff;
	border:3px double #fff;
}

#lesson_wrapper{
	width:100%;
	background: url("images/lesson/bg.jpg") 100% 0 no-repeat fixed;
	background-size:cover;
	overflow: hidden; /* heightを戻す */
	padding-bottom: 40%;
}

#lesson_inner{
	width:100%;
	margin:0 auto;
	padding:10% 25%;
	box-sizing: border-box;
	background-color: #fff;
}

#footer_wrapper{
	width:100%;
	overflow: hidden; /* heightを戻す */
	background-color: #6c6c4f;
}

#footer_inner{
	width:60%;
	margin:0 auto;
	padding:50px 0 50px 0;
}

.footer_logo{
	width:12%;
	margin:0 auto;
	margin-bottom: 10px;
}

.footer_copy{
	width:100%;
	color: #ddd;
	font-size: 11px;
	text-align: center;
}

#spheader{
	display: none;
}

#spmenu{
	display: none;
}

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

#header{
	display: none;
}
	
#spheader{
	display: inherit;
	width:100%;
	background-color: #fff;
	padding:15% 0 ;
}

	#spmenu{
		display: inherit;
	}

.menuarea{
	position: fixed;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
  	-webkit-transition: .4s;
  	transition: .4s;
  	-webkit-transform: translate3d(0, -100%, 0);
  	transform: translate3d(0, -100%, 0);
	z-index: 100;
    background-color:rgba(255,255,255,0.9);
}

.imgresponsive img{
	width: 100%;
	height: auto;
}
.menubtn{
	z-index: 101;
	position: fixed;
	top:1.1%;
	right:2%;
	width: 12%;
	cursor: pointer;
}

.showMenu .menuarea{
  	-webkit-transform: translate3d(0, 0, 0);
  	transform: translate3d(0, 0, 0);
}

#menu{
	width:100%;
	z-index: 99;
	overflow: hidden; /* heightを戻す */
	box-sizing: border-box;
	padding:15% 30%;
}

.menu-box img{
  width: 100%;
}

.menu-box li{
  overflow: hidden;
  float: left;
  width: 100%;
  margin-bottom: 3%;
}
	
#splogo{
	width:35%;
	margin:0 auto;
}
	


.pcview{
	display: none;
}

.spview{
	display: inherit;
	width:100%;
}
	

.slider_wrapper {
  position: relative;
  overflow: hidden;
  height: 200px;
}

.pagetitle_wrapper{
	width:150px;
    margin:0 auto;
    position: relative;
	margin-bottom: 60px;
}

#about_wrapper{
	width:100%;
	background:none;
	overflow: hidden; /* heightを戻す */
	padding-bottom: 0%;
}

#about_inner{
	width:100%;
	margin:0 auto;
	padding:15% 10%;
	box-sizing: border-box;
	background-color: #fff;
}

.about_midashi{
	width:100%;
	margin-bottom: 30px;
	font-size: 20px;
	font-weight: bold;
	color: #6c6c4f;
	text-align: left;
}

.about_photo{
	width:100%;
	margin:0 auto;
	margin-bottom: 40px;
	overflow: hidden;
}

.text{
	width:100%;
	text-align: left;
}
	

#works_wrapper{
	width:100%;
	background:none;
	overflow: hidden; /* heightを戻す */
	padding-bottom: 0%;
}

#works_inner{
	width:100%;
	margin:0 auto;
	padding:15% 10%;
	box-sizing: border-box;
	background-color: #fff;
}

.worksbox{
	width:32%;
	height: auto;
    overflow: hidden;
	float: left;
	margin:0.666666%;
}
	
.works-pop-box{
  z-index: 10;
  width:80%;
  margin-top:40%;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 30px;
	color: #527586;
}
	

#howto_wrapper{
	width:100%;
	background:none;
	overflow: hidden; /* heightを戻す */
	padding-bottom: 0%;
}

#howto_inner{
	width:100%;
	margin:0 auto;
	padding:15% 10%;
	box-sizing: border-box;
	background-color: #fff;
}

#lesson_wrapper{
	width:100%;
	background:none;
	overflow: hidden; /* heightを戻す */
	padding-bottom: 0%;
}

#lesson_inner{
	width:100%;
	margin:0 auto;
	padding:15% 10%;
	box-sizing: border-box;
	background-color: #fff;
}


#footer_inner{
	width:60%;
	margin:0 auto;
	padding:50px 0 50px 0;
}

.footer_logo{
	width:50%;
	margin:0 auto;
	margin-bottom: 10px;
}

.footer_copy{
	width:100%;
	color: #ddd;
	font-size: 11px;
	text-align: center;
}

.toinsta{
	width:40%;
	margin:0 auto;
	margin-top:50px;
}
	
	.spsns_wrapper{
		width:100%;
		overflow: hidden;
		padding:20px 0;
	}
	
	.spsns{
		width:20%;
		float: left;
		margin:6.666%;
	}
	
}