@charset "utf-8";
/* CSS Document */


.main {
	width: 1000px;
	margin: 0px auto;
	padding: 0;
}

.block01{
width: 100%;
height: 90vh;
background: #fff;
margin: 0px;
overflow: hidden;
position: relative;
}

.block01 .obi{
position: absolute;
background: #af1d32;
font-size: 20px;
text-align: center;
color: #fff;
width: 100%;
padding: 10px 0px;
font-weight: bold;
letter-spacing: 2px;
}

.block01 .logo{
	background: url("../commonImage/logo03.png") no-repeat center;
	background-size: 100%;
	height: 80px;
	margin: 100px auto 30px;
	width: 530px;
    }
.block01 .logo a{
	display: block;
	width: 100%;
	height: 100%;
}

.block01 .top_image{
width: 80%;
max-width: 1000px;
height:65vh;
background: url("../topImage/top_bg01_01.jpg") center center;
background-size: cover;
margin: 0px auto;
overflow: hidden;
position: relative;
}

.block01 .inst_link{
	background: url("../commonImage/inst_link.png") no-repeat;
	margin: 0px auto 0px;
    position: relative;
    top: 30vh;
	width: 240px;
    height: 105px;
    }
.block01 .inst_link a{
	display: block;
	width: 100%;
	height: 100%;
}



.main_menu{
	width: 100%;
    height: 10vh;
	padding: 0px;
	margin: 0px auto;
    display: flex;
	justify-content: center;
	-ms-flex-line-pack: center;
       align-content: center;
	-webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
        overflow: hidden;
}
.main_menu li{
	width: 20%;
	height: 10vh;
	margin: 2px 2px;
	display: flex;
    font-size: 18px;
    letter-spacing: 2px;
color: #4d4d4d;
    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
    display: flex; /* 子要素をflexboxで揃える */
    flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
    justify-content: center; /* 子要素をflexboxにより中央に配置する */
    align-items: center;  /* 子要素をflexboxにより中央に配置する */
}
.main_menu li a{
	text-decoration: none;
	line-height: 120%;
    color: #4d4d4d;
    }
.main_menu li a:hover{
color: #af1d32;
}


.block02{
width: 100%;
margin: 80px auto 50px;
padding: 0px 0px;
}
.block02 .img01{
width: 350px;
height: 250px;
position: relative;
top: 0;
left: 0;
bottom: 0px;
z-index: 3;
margin-bottom: -250px;
}
.block02 h2{
float: right;
font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
	margin: 20px 20px;
	padding: 0;
	font-weight: bold;
    font-size:28px;
    line-height: 200%;
    color: #000;
}
.block02 .main_img{
width: 60%;
margin: 0px auto 50px;
overflow: hidden;
}
.block02 .main_img img{
width: 100%;
}

.block02 p{
margin: 30px auto 30px auto;
	padding: 0;
	color: #000;
	font-size: 17px;
    font-weight: bold;
	line-height: 220%;
}



.block03{
width: 100%;
height: 800px;
margin: 0px auto;
overflow: hidden;
}
.block03 .main{
display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
}

.block03 .left{
width: 47%;
background: url("../topImage/hd_img_02.png") top right no-repeat;
}
.block03 .left img{
width: 100%;
}

.block03 .left .img01{
height: 350px;
width: 310px;
position: relative;
left: 0;
top:50px;
z-index: 2;
}
.block03 .left .img02{
height: 350px;
width: 310px;
position: relative;
left: auto;
right: 10px;
top:-50px;
float: right;
z-index: 0;
}
.block03 .left .img03{
height: 350px;
width: 240px;
position: relative;
left: 50px;
top:-150px;
}


.block03 .right{
width: 48%;
}
.block03 .right h2{
text-align: left;
font-size: 28px;
font-weight: bold;
line-height: 200%;
font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
margin: 40px 0px 30px 0px;
}
.block03 .right p{
text-align: left;
line-height: 240%;
font-size: 18px;
font-weight: bold;
}


/* 基本のスタイル */
.block03 .flower01{
transform:translate(0%); opacity:0; transition: all 3.75s ease-out;
	position:relative;
	top: -1800px;
    left: 0%;
	z-index: 0;
    text-align: left;
    width: 100%;
    height: 760px;
}
.block03 .flower02{
transform:translate(0%); opacity:0; transition: all 3.75s ease-out;
	position:relative;
	top: -1900px;
	right:0%;
	z-index: 0;
    text-align: right;
    width: 100%;
    height: 760px;
}
.block03 .flower03{
transform:translate(0%); opacity:0; transition: all 3.75s ease-out;
	position:relative;
	top: -2000px;
	left:0%;
	z-index: 0;
    text-align: left;
    width: 100%;
    height: 760px;
}
.block03 .flower04{
transform:translate(0%); opacity:0; transition: all 3.75s ease-out;
	position:relative;
	top: -2700px;
	left:40%;
	z-index: 0;
    text-align: left;
    width: 100%;
    height: 760px;
}
/* スタート時のスタイル */
.block03 .flower01.started {
      transform: none;
      opacity: 1;
   }
.block03 .flower02.started {
      transform: none;
      opacity: 1;
   }
.block03 .flower03.started {
      transform: none;
      opacity: 1;
   }
.block03 .flower04.started {
      transform: none;
      opacity: 1;
}

/* エンド時のスタイル */
   .block03 .flower01.started.ended {
   }
   .block03 .flower02.started.ended {
   }
   .block03 .flower03.started.ended {
   }
   .block03 .flower04.started.ended {
   }
/*
.block03 .flower01 img,
.block03 .flower02 img,
.block03 .flower03 img,
.block03 .flower04 img{
	width: 100%;
}*/



.block04{
width: 100%;
margin: 0px auto 50px;
overflow: hidden;
}
.block04 h2{
position: relative;
background: url("../topImage/menu_hd.png") no-repeat;
background-size: 100%;
height: 300px;
width: 640px;
margin: 0px 0px -140px 0px;
font-weight: bold;
z-index: -1;
}
.block04 .main_img{
width: 100%;
margin: 0px auto 50px;
}
.block04 .main_img img{
width: 100%;
}
.block04 h3{
text-align: center;
margin: 0px 0px 10px;
color: #af1d32;
font-weight: bold;
font-size: 30px;
letter-spacing: 2px;
}
.block04 p{
text-align: left;
font-size: 18px;
line-height: 200%;
font-weight: bold;
}
.block04 .left{
width: 45%;
float: left;
overflow: hidden;
margin: 50px 0px 0px;
}
.block04 h4{
text-align: left;
background: url("../topImage/menu_hd_bg.png") repeat-x;
margin: 0px 0px 5px;
}
.block04 .menu_list{
text-align: left;
margin: 30px auto 30px;
padding: 0;
width: 100%;
display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
-ms-flex-wrap: wrap;
      flex-wrap: wrap;
	  justify-content: space-between;
  font-size: 18px;
font-weight: bold;
}
.block04 .menu_list li{
list-style: none;
text-align: center;
margin: 0px 0px 5px 0px;
padding: 0px;
width: 19%;
}
.block04 .menu_list li a{
color: #000;
}
.block04 .menu_list li img{
width: 100%;
}
.block04 .menu_list li p{
margin: 0px auto 30px auto;
padding: 0;
font-size: 14px;
line-height: 140%;
text-align: center;
}

.block04 .more_btn{
width: 50%;
margin: 20px auto 30px auto;
padding: 0;
}
.block04 .more_btn a{
display: block;
font-size: 20px;
color: #fff;
background: #40210E;
padding: 20px;
border-radius: 10px;
font-weight: bold;
}
.block04 .more_btn a:hover{
background: #AF1E32;
}


.block05{
width: 100%;
margin: 0 auto;
padding: 0px 0px;
overflow: hidden;
}
.block05 h2{
position: relative;
background: url("../topImage/access_hd.png") no-repeat;
height: 300px;
width: 640px;
margin: 0px 0px -140px 0px;
font-weight: bold;
z-index: 3;
}
.block05 .main_img{
width: 1000px;
margin: 0px auto 30px;
}
.block05 h3{
text-align: left;
margin: 30px 0px 30px;
color: #af1d32;
font-weight: bold;
font-size: 30px;
letter-spacing: 2px;
}
.block05 h3 span{
font-size: 17px;
}

.block05 .shop_info{
margin: 0px auto 40px;
padding: 0;
}
.block05 .shop_info li{
margin: 0px 0px 5px 0px;
padding: 0;
text-align: left;
font-size: 18px;
line-height: 200%;
font-weight: bold;
}

.block05 .google-map {
    position: relative;
    width: 100%;    /* 左右に余白が必要なら値を変更してもOK */
    height: 0;
    padding-bottom: 56.25%;    /* padding-topでもOK */
    overflow: hidden;
}
.block05 .google-map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;    /* 必要であれば!importantを付けてください */
    height: 100%;    /* 必要であれば!importantを付けてください */
}
