@charset "utf-8";

.topimg{
	display:block;
	width:100%;
	height:850px;
}

.mv {
	display:inline-block;
	float:right;
}
.mv img{
	width: 700px;
	height: 880px;
	object-fit: cover;
	float:right;
	animation: slide 25s normal;
}
@keyframes slide {
	0% { object-position: 0% ;}
}

/*---------mv スライドイン----------------*/
.img-wrap {
  overflow: hidden;
  position: relative;
}

.img-wrap:before {
	animation: img-wrap 4s cubic-bezier(.4, 0, .2, 1) forwards;
	background:#fff;
	bottom: 0;
	content: '';
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

@keyframes img-wrap {
  100% {
    transform: translateX(100%);
  }
}


/*--------------------------------------------*/

.msg{
	display:inline-block;
	float:left;
	position:relative;
	width:20%;
	height:100%;
	background-color:#FFF;
}
h1{
	/* 游明朝体 */
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	writing-mode: vertical-rl;
	position:absolute;
	top:30%;
	left:80%;
	margin-top:130px;
	font-size:29px;
	color:#000;
	
}
main nav {
	clear:both;
	display: block;
	text-align: center;
	width: 100%;
	margin-bottom: 120px;
}
main nav li{
	margin-top:50px;
	display: inline-block;
	padding: 5px 20px;
	border-left: 1px solid #878787;
	border-top-color: #878787;
	border-bottom-color: #878787;

}
main nav li:last-child{
	border-right: 1px solid #878787;
}

main nav a{
position: relative;
  display: inline-block;
  text-decoration: none;
}
main nav a::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #878787;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}
main nav a:hover::after {
  transform: scale(1, 1);
}


.box {
  width: 550px;
  height: 300px;
  border-radius: 5px;
  box-shadow: 0 2px 30px rgba(black, .2);
  background: lighten(#f0f4c3, 10%);
  position: relative;
  overflow: hidden;
  transform: translate3d(0, 0, 0);
  margin-left:auto;
  margin-right:auto;
}

.wave {
  opacity: .4;
  position: absolute;
  top: 3%;
  left: 50%;
  background: #0af;
  width: 500px;
  height: 500px;
  margin-left: -250px;
  margin-top: -250px;
  transform-origin: 50% 48%;
  border-radius: 43%;
  animation: drift 3000ms infinite linear;
}

.wave.-three {
  animation: drift 5000ms infinite linear;
}

.wave.-two {
  animation: drift 7000ms infinite linear;
  opacity: .1;
  background: yellow;
}

.box:after {
  content: '';
  display: block;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(#e8a, 1), rgba(#def, 0) 80%, rgba(white, .5));
  z-index: 11;
  transform: translate3d(0, 0, 0);
}

.title {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 1;
  line-height: 300px;
  text-align: center;
  transform: translate3d(0, 0, 0);
  color: white;
  font-family: 'Playfair Display', serif;
  letter-spacing: .4em;
  font-size: 24px;
  text-shadow: 0 1px 0 rgba(black, .1);
  text-indent: .3em;
}
@keyframes drift {
  from { transform: rotate(0deg); }
  from { transform: rotate(360deg); }
}



.info {
	margin-bottom:300px;

}
.info h3 {
	text-align: center;
	width: 400px;
	margin-left:auto;
	margin-right:auto;
}
h3:after {
  content: "";
  display: block;
  height: 4px;
  background: -webkit-linear-gradient(to right, #0fdeb6, transparent);
  background: linear-gradient(to right, #0fdeb6, transparent);
}
.info .news{
	width:400px;
	margin-top: 20px;
	margin-left:auto;
	margin-right:auto;
}
.info p{
	display: inline-block;
	width:30%;
	float:left;
}
.info span{
	display: inline-block;
	width:70%;
	float:right;
}
.link{
	font-size:18px;
	font-weight:bold;
	width: 380px;
	border-style: solid;
	border-color: #0fdeb6;
	border-radius: 15px;
	text-align:center;
	padding-top:10px;
	padding-bottom:10px;
	margin-left:2rem;
	margin-bottom:30px;
	position: relative;
	z-index: 3;
}

.link a{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-indent:-999px;
	z-index: 2;
}

.about, .menu, .chara{
	margin-bottom:150px;

}

.about h3 {
	text-align: left;
	width: 200px;
	padding-left:1.5rem;
}
.about p{
	width:520px;
	margin-top:30px;
	margin-left:2rem;
	margin-bottom:50px;
}
.about #about1 {
	width:64%;
	display:inline-block;
}
.about #about2 {
	width: 35%;
	height: 234px;
	object-fit: cover;
}
.menu h3 {
	text-align: center;
	width: 200px;
	margin-left:auto;
	margin-right:auto;
}
.menu p{
	width: 520px;
	display: block;
	margin: 30px auto 50px;
}
.menu .link{
	margin-left:auto;
	margin-right:auto;
}
.menu #menu1 {
	display:inline-block;
	width:20%;
	height:234px;
	object-fit:cover;
}
.menu #menu2 {
	display:inline-block;
	width:60%;
	height:234px;
	object-fit:cover;
}
.menu #menu3 {
	display:inline-block;
	width:19%;
	height:234px;
	object-fit:cover;
	object-position: 100% 100%;
}

.chara{
	display:block;
	float:right;
}
.chara h3 {
	display:block;
	float:right;
	width: 200px;
	padding-right:3rem;
	padding-left:1.7rem;
	
}
.chara p{
	clear: both;
	float: right;
	width: 520px;
	display: block;
	margin: 30px 2rem 50px auto;
}
.chara .link{
	clear:both;
	margin: 0 2rem 30px auto;
}
.chara #chara1 {
	display:inline-block;
	height:234px;
	width:30%;
	object-fit:cover;
}

.chara #chara2 {
	display:inline-block;
	width:69%;
	object-fit:cover;
}

/*----------------------レスポンシブ------------------------------------*/
@media screen and (max-width: 640px){
.tel img {
	margin-left: 9px;
	width: 15%
}
.mv img {
	width: 100%;
}
.msg{
	position:absolute;
	width:0;
	margin-left:10px;
}
main nav {
	width: 99%;
}
main nav li{
	margin-top:50px;
	display: inline-block;
	padding: 0px 20px;
	border-left: 1px solid #878787;
	border-top-color: #878787;
	border-bottom-color: #878787;

}
main nav li:nth-child(4){
	border-right: 1px solid #878787;
}
@media screen and (max-width: 503px){
main nav li:nth-child(4){
	border-right: none;
}
main nav li:nth-child(3){
	border-right: 1px solid #878787;
}

}
@media screen and (max-width: 393px){
main nav li:nth-child(3){
	border-right: none;
}
main nav li:nth-child(2){
	border-right: 1px solid #878787;
}
main nav li:nth-child(5){
	border-right: 1px solid #878787;
}
}
@media screen and (max-width: 312px){
main nav li:nth-child(2){
	border-right: none;
}
main nav li:nth-child(5){
	border-right: none;
}
}
.info .news {
	width: 100%;
}
.menu #menu1 {
	width: 19%;
}
.menu #menu3 {
	float: right;
}
.chara #chara2 {
	width: 68%;
}
.about #about1 {
	width: 63%;
	display: inline-block;
	object-fit: cover;
}
.link{
	width:100%;
	margin-left:0;
}
.box{
	width:100%;
}
.about p ,.menu p ,.chara p{
	width: 100%;
}
.about p{
	margin-left:0;
}
.chara h3{
	padding-right:0;
	margin-bottom: 50px;
}
.chara p{
	float:none;
}
.tel{
	width:50%
}
.tel #tel_num {
    font-size: 1.7rem;

}