@charset "UTF-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@300;400;500;600;700&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Cabin:wght@400;500;600;700&display=swap');

main{
width:100%;
overflow-x: hidden !important;
}

#staff,
#about,
#info,
#style,
#campaign{
    width:1000px;
	margin: 0 auto;
	padding:100px 0;
	overflow: hidden;
}

#header_img{
	width: 100vw;	
}
#header_img img{
	width: 100%;
	height: auto;
}

.rec_h3{
	font-size: 190%;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-indent:0.2em;	
	text-align: center;
	margin-bottom: 40px;
	font-family: 'Josefin Sans', sans-serif;
}

/*マーカー*/
.marker-animation.active{
    background-position: -100% .2em;
}

.marker-animation {
    background-image: -webkit-linear-gradient(left, transparent 50%, rgb(173,140,98,0.4) 50%);
    background-image: -moz-linear-gradient(left, transparent 50%, rgb(173,140,98,0.4) 50%);
    background-image: -ms-linear-gradient(left, transparent 50%, rgb(173,140,98,0.4) 50%);
    background-image: -o-linear-gradient(left, transparent 50%, rgb(173,140,98,0.4) 50%);
    background-image: linear-gradient(left, transparent 50%, rgb(173,140,98,0.4) 50%);
    background-repeat: repeat-x;
    background-size: 200% .8em;
    background-position: 0 .5em;
    transition: all 2s ease;
}

.Text-Span {
  position: relative;
  z-index: 1;
}

.Text-Span:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0%;
  height: 3px;
  background: #000;
  z-index: -1;
  transition: all 0.8s;
}

.Text-Span.isActive:after {
  width: 100%;
}

.border{
	display: inline-block;
	background: linear-gradient(transparent 50%,  rgb(173,140,98,0.4) 50%);	
}

/*マーカーここまで*/

/*背景*/
.back{
     width:100vw; 
     position: relative;
     left: 50%;
     right: 50%;
     margin-left: -50vw;
     margin-right: -50vw;
	background-color: #F0F0F0;
	padding-top: 0px;
	padding-bottom: 20px;
}

#about{
	position: relative;
}

#about .rec_h3{
	margin-bottom: 60px;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	font-weight: 600;
}

#about h3{
	font-size: 150%;
	color: #94712B;
	margin-bottom: 13px;
}

#about .about_box{
	display: flex;
	width: 100%;
	margin: 0 auto 70px auto;
}

#about .about_box:last-of-type{
	margin-bottom: 0px;
}

#about .about_left{
	width:55%;
}

#about .about_left img{
width:90%;
	margin-right: 10%;
}

#about .about_right img{
width:90%;
	margin-left: 10%;
}

#about .about_right{
	width:55%;
	margin: 0;
}

#about .text{
    line-height: 1.8em;
	margin-bottom: 10px;
}

.btn{
	width:400px;
	box-sizing: border-box;
	font-size:120%;
	padding: 10px 0 10px 0;
	font-weight: 500;
	text-align: center;
	background: #161616;
	border: 2px solid #161616;
	margin-top: 20px;
}

a .btn{
	color: #ffffff;
}

a .btn:hover{
	background: none;
}

a .btn:hover{
	color: #161616;
	font-weight: 700;
}

#menu{
	padding: 100px 0 80px 0;
	width:800px;
	margin: 0 auto ;
}

#menu table {
    text-align:left;
	font-size:140%;
	line-height:1.7em;
	margin:10px 0 80px 0;
	width:100%;
	font-weight: 600;
}

#menu table th{
	text-align:left;
	border-bottom:dotted 1px #999999;
	padding: 15px 0 12px 0;
	font-weight: 600;
}

#menu table td{
	text-align:right;
	letter-spacing:0.1em;
	border-bottom:dotted 1px #999999;
	padding: 15px 0 12px 0;
}

#menu #couse_menu{
	border:7px solid #3A3A3A;	
	box-sizing: border-box;
	padding: 60px 60px 60px 60px;
	overflow: hidden;
	margin-bottom: 160px;
	width:800px;
	margin: 0 auto;
	background: #FFFFFF;
}

#menu #couse_menu p{
	margin-bottom: 30px;
	margin-top: -20px;
}

#menu #couse_menu dl{
	border-bottom: 1px dotted #3A3A3A;
	padding-bottom: 15px;
	margin-bottom: 15px;
	font-size: 140%;
	width:100%;
	line-height: 1.7em;
	overflow: hidden;
	font-weight: 600;	
}

#menu #couse_menu dl dt{
	float: left;
	width:60%;
}

#menu #couse_menu dl dd{
	float: right;
	width:40%;
	text-align: right;
	font-size: 70%;
}

#menu #couse_menu dl dd .red{
	font-size: 160%;
	margin-left: 3px;
	text-align: right;
}


#menu #couse_menu .red{
	font-weight: bold;
	font-size: 110%;
}

#menu #couse_menu dl dd .s_font{
color: rgba(224,23,73,1.00);
}

#menu #couse_menu .btn{
	width:400px;
	letter-spacing: 0.1em;
	margin: 50px auto 0 auto;
}


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

#info {
	width:800px;
	font-size: 110%;
	margin: 0 auto;
}

#info .right{
	margin-top: 60px;
}

#info h3{
	font-size:140%;
	letter-spacing: 0.05em;
}

#info .tel {
	font-size:140%;
	letter-spacing: 0.05em;
	font-weight: 600;
	margin-bottom:15px;
	margin-top: 15px;
}

#info .line  {	
  padding: 5px 0;
	width:46%;
	float: left;
	margin: 7px 2% 0 0;
	text-align: center;
	background-color:#129415;
	border: 2px solid #129415;
}

#info .button  {	
  padding: 5px 0;
	width:46%;
	float: left;
	margin: 7px 0 20px 0;
	text-align: center;
	background-color:#CB4483;
	border: 2px solid #CB4483;
}

#info a .button,
#info a .line{
	color: #ffffff;
	letter-spacing: 0.1em;
}

#info a .button:hover {
	background-color: #ffffff;
	color:#CB4483;
	transition-duration:all 3s ease-out;
}

#info a .line:hover {
	background-color: #ffffff;
	color:#129415;
	transition-duration:all 3s ease-out;
}

#info table{
	text-align:left;
	line-height: 1.4em;
}

#info table tr {
	border-bottom: 1px dotted #999;
	line-height: 1.5em;
}

#info table tr th{
	width:90px;
	font-weight: 500;
	padding: 23px 0 20px 0;
}

#info table tr td{
	padding: 23px 0 20px 0;
}

#info .access{
	font-size: 80%;
	margin-top:5px;
	line-height: 1.3em;
	padding-bottom: 12px;
}

#staff{
	overflow: hidden;
	padding-bottom:80px;
	width: 800px;
}

#style{
	width: 1000px;
}

#staff ul,
#style ul{
	overflow: hidden;
}

#staff ul li,
#style ul li{
	float:left;
	width:32%;
	margin-right: 2%;
	margin-bottom: 30px;
	text-align: center;
	font-weight: 600;
	line-height: 1.4em;
}

#staff ul li .position{
	font-size: 80%;
	margin-top: 10px;
}

#staff ul li .name{
	letter-spacing: 0.2em;
}

#staff ul li:nth-child(3n),
#style ul li:nth-child(3n){
	margin-right: 0;
}

#style .btn{
	margin: 0 auto;
	width: 247px;
}

#style p{
	text-align: center;
	margin-bottom: 30px;
}


#color{
	overflow: hidden;
	width: 760px;
	margin: 0 auto;
	padding: 120px 0 100px 0;
}

#Copyright{
	text-align: center;
	line-height: 2.5em;
	font-size: 90%;
	padding-top: 5px;
	
}


@media screen and (max-width:1024px) {	
#staff,
#about,
#info,
#couse_menu,
#style,
#campaign,
#color{
    width:94%;
	padding:80px 0;
	font-size: 80%;
}
	
#about .rec_h3{
	font-size: 180%;
	margin-bottom: 50px;	
}	

#about h3{
	margin-bottom: 10px;
	line-height: 1.6em;
}
	
#about .about_box{
	margin: 0 auto 30px auto;
}

#about .text{
    line-height: 1.5em;
	margin-bottom: 10px;
}

.btn{
	width:390px;
	font-size:110%;
	padding: 8px 0;
	font-weight: 500;
	margin-top: 15px;
}
	
#menu{
	padding: 80px 0;
	width:92%;
	margin: 0 auto ;
}

#menu table {
	font-size:120%;
	line-height:1.5em;
	margin:10px 0 60px 0;
}

#menu #couse_menu{
	border:5px solid #3A3A3A;	
	box-sizing: border-box;
	padding: 50px 5%;
	margin-bottom: 80px;
	width:100%;
	font-size:100%;
}

#menu #couse_menu p{
	margin-bottom: 30px;
	margin-top: -20px;
}

#menu #couse_menu dl{
	border-bottom: 1px dotted #3A3A3A;
	padding-bottom: 10px;
	margin-bottom: 17px;
	width:100%;
	line-height: 1.5em;	
}

#info {
	width:94%;
	font-size:100%;
}

#staff{
	font-size:100%;
	width: 94%;
}
}


@media screen and (max-width:768px) {
#staff,
#about,
#info,
#couse_menu,
#style
#campaign{
	padding:60px 0;
}
	
#header_img {
	width: 100%;
	height: auto;
}
	
.rec_h3{
	font-size: 140%;
	margin-bottom: 20px;
}
	
#about .rec_h3{
	margin-bottom: 10px;
	font-size: 140%;
}
	
#about .about_box{
 flex-direction: column;
}
	
#about .about_left {
    width: 100%;
    margin-right:0%; 
	margin-top: 15px;
}
#about .about_right {
    width: 100%;
    margin-top: 15px;
}
	
#about .about_box{
	margin-bottom: 20px;
}
	
#about .about_box img{
 width: 100%;
	margin: 0;
}
	
#about h3{
	font-size: 130%;	
}
	
#about h3 br{
	display: none;	
}
	
.box01{
	order: 1;
	margin-top: 20px;
}
	
.box02{
	order: 2;
}
	
#menu{
	padding: 50px 0;
}

#menu table {
	font-size:110%;
	margin:10px 0 40px 0;
}

#menu #couse_menu{
	border:4px solid #3A3A3A;	
	padding: 40px 4%;
	margin-bottom: 60px;
	font-size:80%;
}

#menu #couse_menu .rec_h3{
	font-size:180%;
}

#menu #couse_menu p{
	margin-bottom: 30px;
	margin-top: -10px;
	font-size:100%;
}

#menu #couse_menu dl{
	padding-bottom: 7px;
	margin-bottom: 12px;
}
	
#menu #couse_menu dl dt{
	width:65%;
}

#menu #couse_menu dl dd{
	width:35%;
}
	
#menu #couse_menu .btn{
	width:300px;
	margin: 30px auto 0 auto;
}

#info {
	font-size:90%;
}
	
#info .tel{
	font-size:140%;	
}
	
#info .tel .m_font{
	font-size:60%;
	letter-spacing: 0;
}	


#staff{
	font-size:90%;
	width: 94%;
}
	
#Copyright{
	font-size: 80%;
	padding-top: 3px;
	
}	
}

@media screen and (max-width:600px) {
	
#staff,
#about,
#info,
#couse_menu,
#style,
#campaign,
#color{
	padding:40px 0;
}
	
#about .rec_h3{
		font-size:130%;
	}
	
#about h3{
	line-height: 1.3em;
	}
	
#menu table {
	font-size:90%;
}

#menu #couse_menu{
	padding: 30px 4%;
	margin-bottom: 0;
}
	
#menu #couse_menu dl{
	font-size: 130%;
	line-height: 1.5em;	
}
	
#menu #couse_menu dl dt{
	float: none;
	width:100%;
}

#menu #couse_menu dl dd{
	float: none;
	width:100%;
}
	
#menu #couse_menu dl dd br{
	display: none;

}
#menu #couse_menu dl dd .red{
	font-size: 150%;
	margin-left: 1px;
}
	
#menu #couse_menu .red{
	font-size: 80%;
	line-height: 1.3em;
}
	
#menu #couse_menu .btn{
	width:90%;
	margin: 20px auto 0 auto;
}
	
#staff{
	padding-bottom: 0;
}	
#staff ul li,
#style ul li{
	width:48%;
	margin-right:4%;
	margin-bottom: 30px;
}
	
#staff ul li:nth-child(3n),
#style ul li:nth-child(3n){
	margin-right: 4%;;
}
	
#staff ul li:nth-child(2n),
#style ul li:nth-child(2n){
	margin-right: 0;
}
	
#style p{
margin-bottom: 20px;
	}
#style p br{
display: none;
	}
	
#info table tr th{
	width:70px;
	padding: 18px 0 15px 0;
}

#color{
		margin-bottom: 0;
	}
	
	
  }

