@charset "utf-8";
/* CSS Document */

/*----------------------------------

  共通
 
 ----------------------------------- */
body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
 }
.content_a,
.content_b,
.content_c {
	margin-right: auto;
	margin-left: auto;
	overflow: hidden;
	text-align: center;
	padding-top: 100px;
	padding-bottom: 100px;
}
.content_a {
	width: 1000px;
}
.content_b {
	width: 100%;
}
.content_c {
	width: 1000px;
	margin-top: 100px;
}
.back_white {
	background-color: #FFFFFF;
}
.back_gray {
	background-color: #F1F1F1;
}
h2 {
	font-family: "Times New Roman", Times, serif;
	font-size: 50px;
	text-align: center;
	margin-bottom: 80px;
	letter-spacing: 0.05em;
	color: #333;
}
.mgt15 {
	margin-top: 15px;
}
.mgb50 {
	margin-bottom: 50px;
}
.mgb80 {
	margin-bottom: 80px;
}
a {
	cursor: pointer;
	text-decoration: none;
	color: #333;
}
.both {
	clear: both;
}
a:hover {
	opacity: 0.7 ;
}
a.btn {
	font-size: 16px;
	text-align: center;
	text-decoration: none;
	color: #fff;
	width: 350px;
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 3px;
	margin-right: auto;
	margin-left: auto;
	color: #666;
	border:1px solid #666;
	padding-top: 10px;
	padding-bottom: 10px;
}
a.btn:before {
	content:"";
	position: absolute;
	top: 0px;
	left: -350px;
	height: 100%;
	width: 350px;
	transition: 0.3s;
	opacity: 0.2;
	background-color: #000;
}
a.btn:hover:before {
	left:0;
}
.in890{
	width: 890px;
}
.in710{
	width: 710px;
}
.main_ttl {
	font-size: 25px;
	margin-bottom: 30px;
	letter-spacing: 0.1em;
}
.main_text {
	font-size: 16px;
	letter-spacing: 0.1em;
	margin-bottom: 30px;
	width: 730px;
	line-height: 180%;
	margin-right: auto;
	margin-left: auto;
}
.ttl {
	font-size: 18px;
	margin-bottom: 10px;
}
.text {
	font-size: 14px;
	margin-bottom: 30px;
}
.map {
	width: 700px;
	height: 450px;
	margin-right: auto;
	margin-left: auto;
}
.ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
.ggmap iframe,
.ggmap object,
.ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.critical {
	width: 820px;
	margin: 20px auto;
}
.critical_ttl {
	font-size: 16px;
	text-align: center;
	margin-bottom: 5px;
	font-weight: bold;
	color: #F00;
}
.critical_sub_ttl {
	font-size: 13px;
	line-height: 150%;
	text-align: center;
	font-weight: bold;
	margin-top: 10px;
	margin-bottom: 30px;
}
.critical_text {
	font-size: 14px;
	line-height: 130%;
	text-align: center;
}
.critical_bold {
	font-weight: bold;
}
.critical_ak {
	font-size: 12px;
	font-weight: normal;
}
.news{
	color: #FFF;
	text-align: left;
	background-color: #666;
	margin-bottom: 15px;
	padding-top: 15px;
	padding-bottom: 15px;
	width: 100%;
	overflow: hidden;
}
.news_in {
	width: 740px;
	margin-right: auto;
	margin-left: auto;
	overflow: hidden;
}
.news_left {
	font-size: 14px;
	float: left;
	border: 1px solid #FFF;
	padding-right: 1%;
	padding-left: 1%;
	margin-right: 4%;
	width: 14%;
}
.news_right {
	float: right;
	width: 78%;
}
.news_day {
	font-size: 14px;
	float: left;
	margin-right: 4%;
	width: 15%;
	clear: both;
}
.news_data {
	font-size: 13px;
	width: 80%;
	float: left;
}


/*----------------------------------

  parallax header
 
 ----------------------------------- */
 
.knowledgeside-sample {
  margin: 0;
}
.parallax {
	min-height: 100vh;
	width: 100%;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	text-align: center;
}
.content {
	min-height: 500px;
	width: 100%;
	background-color: #fff;
	text-align: center;
}
.parallax.bg-01 {
	background-image: url(../img/main01.jpg);
}
 
 
 
 
 
 
 
 

.parallax01 {
	width: 100%;
    min-height: 100vh;
    background-position: center top;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;    
}
.parallax01.bg-01 {
	background-image: url(../img/main01.jpg);
}
.parallax01.bg-02 {
    background-image: url(../img/sample-02.jpg);
}



.wrap {
    overflow: hidden;
    position: relative;
	}
.head {
	position: absolute;
	top: 0%;
	width: 100%;
	height: 85px;
	position: fixed;
	background-image: url(../img/back_w.jpg);
	opacity: 0.6;
	z-index: 90;
}
h1 {
	background-image:url(../img/logo_b.png);
	width: 180px;
	height: 94px;
	position: absolute;
	top: 0%;
	left: 1.5%;
	background-repeat: no-repeat;
	z-index: 100;
	position: fixed;
}
.reservation {
	position: absolute;
	top: 1.5%;
	right: 1.5%;
	font-size: 14px;
	position: fixed;
	z-index: 100;
	color: #333;
	line-height: 180%;
}
.tel {
	font-size: 42px;
	font-family: Georgia, "Times New Roman", Times, serif;
	color: #333;
}
.opne01 {
	position: absolute;
	top: 70%;
	left: 50%;
	color: #fff;
	font-size: 3em;
	font-weight: bold;
	text-align: center;
	margin: -330px 0 0 -310px;
	}
.opne02 {
	font-size: 1.8em;
	}
.notice {
	position: absolute;
	top: 70%;
	left: 50%;
	color: #fff;
	font-size: 18px;
	text-align: center;
	margin: 100px 0 0 -160px;
}
.scro {
	position: absolute;
	bottom: 3%;
	left: 50%;
	color: #fff;
	font-size: 12px;
	margin: 0 0 0 -20px;
}

/*----------------------------------

  nav
 
 ----------------------------------- */
 
.nav {
	font-size: 16px;
	margin-right: auto;
	margin-left: auto;
	letter-spacing: 0.1em;
	margin-top: 20px;
}
.nav ul {
	display: flex;
	justify-content: center;
}
.nav li {
	text-align: center;
	padding-right: 30px;
	padding-left: 30px;
}
.arrow{
	position: relative;
	display: inline-block;
}
.arrow::before{
	content: '';
	width: 6px;
	height: 6px;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	margin-top: -18px;
	margin-left: -2px;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-left-width: 0px;
	border-right-style: solid;
	border-bottom-style: solid;
	border-right-color: #000;
	border-bottom-color: #000;
}


/*----------------------------------

  staff
 
 ----------------------------------- */
 
.staff {
	flex: 0 0 300px;
	background-color: #FFF;
	white-space: normal;
	word-wrap: break-word;
	margin-right: 30px;
	box-shadow: 0 2px 5px rgba(0, 0, 0, .10);
}
.staff_pc {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	grid-auto-rows: 1fr;
	grid-gap: 1.5em;
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 30px;
	margin-left: 0;
	padding-right: 15px;
	padding-left: 15px;
}
.staff_box {
	background-color: #FFF;
}
.name_e,
.name_j,
.level,
.merit {
	padding-left: 15px;
	padding-right: 15px;
}
.name_e {
	font-size: 18px;
}
.name_j{
	font-size: 14px;
	margin-bottom: 15px;
}
.level {
	font-size: 12px;
	margin-bottom: 10px;
}
.merit {
	font-size: 12px;
	margin-bottom: 15px;
}
.holiday {
	font-size: 12px;
	margin-right: 15px;
	margin-left: 15px;
	margin-bottom: 20px;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 7px;
	padding-right: 7px;
	color: #FFF;
	background-color: #999;
}
.staff_sp {
	display: none;
}

/*----------------------------------

  menu
 
 ----------------------------------- */
 
.menu01 {
	flex: 0 0 175px;
	white-space: normal;
	word-wrap: break-word;
	line-height: 30px;
	border-top-width: 1px;
	border-bottom-width: 1px;
	border-left-width: 1px;
	border-top-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-top-color: #999;
	border-bottom-color: #999;
	border-left-color: #999;
}
.menu02{
	width: 400px;
	margin-right: auto;
	margin-left: auto;
	font-size: 18px;
	margin-bottom: 20px;
	text-align: left;
}
.item {
	color: #FFF;
	width: 175px;
	background-color: #666;
	height: 30px;
	font-size: 13px;
	letter-spacing: 0.2em;
}
.price {
	font-size: 15px;
}
.line_right {
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #999;
}
.menu_left {
	float: left;
	width: 300px;
}
.menu_rigth {
	float: right;
	width: 100px;
}
.student {
	color: #FFF;
	background-color: #666;
	height: 40px;
	line-height: 40px;
	width: 300px;
	margin-right: auto;
	margin-left: auto;
}

/*----------------------------------

  slide
 
 ----------------------------------- */
 
.slide_menu {
	white-space: nowrap;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	padding-right: 0;
	padding-left: 0px;
}
.slide_menu {
	margin-bottom: 80px;
}
.slide {
	display: flex;
	margin-left: -10px;
	margin-right: auto;
	margin-left: auto;
}

/*----------------------------------

  fadein
 
 ----------------------------------- */

.fadein {
  opacity: 0;
  transform : translate(0, 50px);
  transition : all 1500ms;
}

.fadein.scroll {
  opacity: 1;
  transform: translate(0, 0);
}

.open_fadein {
  animation: fadeIn 3s ease 0s 1 normal;
}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

/*----------------------------------

  footer
 
 ----------------------------------- */
 
#footer {
	background-color: #333;
}
.footer_in {
	width: 1000px;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
	padding-top: 50px;
	padding-bottom: 50px;
}
.footer_text {
	font-size: 10px;
	color: #FFF;
	letter-spacing: 0.2em;
	margin-top: 10px;
}

/*----------------------------------

  page-top
 
 ----------------------------------- */
 
#page-top {
	position: fixed;
	z-index: 9999;
	bottom: 50px;
	right: 50px;
	line-height: 120%;
}
#page-top a {
	width: 35px;
	height: 35px;
	background: #fff;
	text-decoration: none;
	color: #000000;
	display: block;
	border-radius: 50%;
	-moz-box-shadow: 0 0 5px #ccc;
	-webkit-box-shadow: 0 0 5px #ccc;
	-moz-opacity: 0.8;
	opacity: 0.8;
	letter-spacing: 0.1em;
	padding: 30px;
	font-size: 14px;
}
#page-top a:hover {
	opacity: 0.5;
}

/*----------------------------------

  CONTACT
 
 ----------------------------------- */
 
#form {
	width: 850px;
	margin-right: auto;
	margin-left: auto;
	letter-spacing: 0.1em;
	padding-top: 20px;
}
.formpart01 dt,
.formpart02 dt {
	width: 200px;
	height: 35px;
	float: left;
	font-size: 14px;
	text-align: right;
	margin-right: 20px;
	margin-top: 15px;
}
.formpart03 dt {
	width: 200px;
	float: left;
	font-size: 14px;
	text-align: right;
	margin-right: 20px;
	margin-top: 15px;
}
.formpart01 dd {
	width: 250px;
	height: 50px;
	float: left;
	text-align: left;
	margin-right: 20px;
	margin-bottom: 30px;
}
.formpart02 dd {
	width: 510px;
	height: 50px;
	float: left;
	text-align: left;
	margin-right: 20px;
	margin-bottom: 30px;
}
.formpart03 dd {
	width: 510px;
	height: 200px;
	font-size: 14px;
	float: left;
	text-align: left;
	margin-right: 20px;
}
.required01 {
	width: 240px;
	height: 50px;
	float: left;
	font-size: 13px;
	text-align: left;
	border: 1px solid #999;
	margin-right: 20px;
	padding-left: 10px;
}
.required02 {
	width: 510px;
	height: 50px;
	float: left;
	font-size: 13px;
	text-align: left;
	border: 1px solid #999;
	margin-right: 20px;
	padding-left: 10px;
}
.required03 {
	width: 510px;
	height: 200px;
	line-height: 130%;
	float: left;
	font-size: 13px;
	text-align: left;
	border: 1px solid #999;
	margin-right: 20px;
	padding-left: 10px;
	padding-top: 10px;
}
#form .btn {
	margin-top: 50px;
	font-size: 16px;
	height: 50px;
	width: 300px;
	letter-spacing: 0.1em;
	cursor: pointer;
	color: #333;
	margin-right: 25px;
	margin-left: 25px;
}
.gray {
	color: #999;
}
.error {
	color: #F00;
	font-size: 14px;
}
