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

/* reset styles */
html, body, div, h1, h2, h3, h4, h5, h6,
p, blockquote, pre, address,
ul, ol, li, dl, dt, dd,
table, th, td,
form, fieldset {
	margin: 0;
	padding: 0;
	font-family:"Sawarabi Gothic","ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;

	/*font-family:YuMincho,'Yu Mincho',"ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro",serif;*/
	/*font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*
	/*font-family:"メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
}

/* HTML5の新要素 */
section, nav, article, aside, header, footer, 
hgroup, figure, figcaption, summary {
	display: block;
	margin: 0;
	padding: 0;
	font-family:"Sawarabi Gothic","ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;

	/*font-family:YuMincho,'Yu Mincho',"ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro",serif;*/
	/*font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*
	/*font-family:"メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
/*------------------------------------------------------------------
共通スタイル
-------------------------------------------------------------------*/
html,body{
    width: 100%;
	height:100%;
}
body{
	font-size:1rem;	
	text-align:center;
	color:#000;
	background:#c70000;
	line-height:2rem;
}
.clear{
	overflow:hidden;	
}
ul{
	list-style:none;	
}
img{
    vertical-align:bottom;
	border:none;
	max-width:100%;
}
span.red{
	color:red;	
}
span.underline{
	text-decoration:underline;	
}
*:focus {
   outline:none;
}
a{
	color:#221815;
}
a:hover{
	color:#B5B5B5;
}
a:hover img{
	opacity: 0.8;	
}


@media screen and (min-width:768px){
	a[href^="tel:"] {
		pointer-events: none;
	}
}



/*menu*/
.menu{
    height: 40px;
    position: absolute;
    right: 20px;
    top: 60px;
    width: 50px;
    z-index: 99;
}
.menu__line{
    background: #fff;
    display: block;
    height: 5px;
    position: absolute;
    transition:transform .3s;
    width: 100%;
}
.menu__line--center{
    top: 18px;
}
.menu__line--bottom{
    bottom: 0;
}
.menu__line--top.active{
    top: 16px;
    transform: rotate(45deg);
}
.menu__line--center.active{
    transform:scaleX(0);
}
.menu__line--bottom.active{
    bottom: 20px;
    transform: rotate(135deg);
}

/*gnav*/
/*gnav*/
.gnav{
    background: rgba(0,0,0,0.8);
    display: none;
    height: 100%;
    position: fixed;
    width: 100%;
    z-index: 98;
}
.gnav__wrap{
    align-items:center;
    display: flex;
    height: 100%;
    justify-content: center;
    position: absolute;
    width: 100%;
}
.gnav__menu__item{
    /*margin: 40px 0;*/
}
.gnav__menu__item a{
    color: #fff;
    font-size: 1.6em;
    font-weight: bold;
    padding: 20px 0;
    text-decoration: none;
    transition: .5s;
	display: block;
}
.gnav__menu__item a:hover{
    color: #666;
}
@media screen and (max-width:450px){
	.menu{
		right: 20px;
		top: 40px;
		width: 50px;
	}
}
a.food__menu{
	pointer-events:none;
	padding-bottom: 5px;
	opacity: 0.6;
}
.submenu{
	display: flex;
    flex-wrap: wrap;
	justify-content:space-between;
	padding-bottom: 20px;
}
.submenu__item a{
	padding: 0 1rem;
	font-size: 1.2rem;
	display: block;
}
/*------------------------------------------------------------------
共通スタイルheader
-------------------------------------------------------------------*/


/**mac用リセットCSS**/
/*input{
	-webkit-appearance: none;	
}*/
/*------------------------------------------------------------------
共通スタイルcontainer
-------------------------------------------------------------------*/
/*.container{
	width:900px;
	margin:0 auto;*/
	/* box-shadow */
	/*-moz-box-shadow:0px 0px 6px 3px #cccccc;
	-webkit-box-shadow:0px 0px 6px 3px #cccccc;	
	box-shadow:0px 0px 6px 3px #cccccc;
}
.container{
	background:url(../images/bg.png) repeat-y center top;
}*/
/*------------------------------------------------------------------
共通スタイルbox
-------------------------------------------------------------------*/
/*.box{
	min-width:1200px;
	_display: inline;
	_zoom:1;
}*/
/*------------------------------------------------------------------
共通スタイルheader
-------------------------------------------------------------------*/
header{
	padding: 20px 0;
}
header h1{
	text-align: left;
	max-width: 400px;
	padding-bottom: 20px;
}
header ul{
	display: flex;
    flex-wrap: wrap;
	justify-content: flex-end;
	padding-right: 10px;
}
header ul li{
	padding: 0 3px;
}
header a{
	display: inline-block;
}
@media screen and (max-width:900px){
	header ul{
		justify-content: center;
		padding-right: 0;
	}
}
@media screen and (max-width:800px){
	header ul li{
		width: 33%;
	}
}
@media screen and (max-width:630px){
	header{
		padding-bottom: 0;	
	}
	header ul{
		display: block;
		text-align: right;
	}
	header ul li{
		width: 100%;
		padding-bottom: 10px;
	}
}
@media screen and (max-width:520px){
	header h1{
		width: 80%	
	}
}
@media screen and (max-width:450px){
	header{
		padding-top: 10px;
	}
	header h1{
		padding-bottom: 10px;
	}
	header ul li{
		text-align: center;
	}
}
/*------------------------------------------------------------------
共通スタイルfooter
-------------------------------------------------------------------*/
footer{
	background: #000000;
	padding: 70px 1rem 10px;
}
footer .inner{
	color: #fff;
	max-width: 500px;
	margin: 0 auto;
}
footer .inner h1{
	max-width: 400px;
	margin: 0 auto;
}
footer .inner ul:first-of-type{
	display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
	margin: 20px 0 40px;
}
footer .inner ul:first-of-type a{
	color: #fff;
	text-decoration: none;
}
footer .inner ul:last-of-type{
	display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
	max-width: 250px;
	margin: 0 auto 70px;
}
footer .inner ul:last-of-type li{
	width: 48%;
}
footer .inner ul:last-of-type a{
	display: block;
}
@media screen and (max-width:480px){
	footer{
		padding: 50px 1rem 10px;
	}
	footer .inner ul:first-of-type{
		display: block;
	}
	footer .inner ul:first-of-type li{
		padding: 10px 0;
		border-bottom:1px #fff solid;
	}
	footer .inner ul:first-of-type li:first-of-type{
		border-top:1px #fff solid;
	}
	footer .inner ul:first-of-type a{
		display: block;
	}
}

/*------------------------------------------------------------------
共通スタイルパーツ
-------------------------------------------------------------------*/
.block00{
	padding: 30px 0 50px;
}
.block01{
	background: url("../images/bg_02.png");
	padding: 30px 0 50px;
}
.block02{
	background: url("../images/bg_03.png");
	padding: 30px 0 50px;
}
.bg_white{
	background: #fff;
	border: 5px #000 solid;
	border-radius: 20px;
	padding: 70px;
	margin: 0 1rem;
}
@media screen and (max-width:640px){
	.bg_white{
		padding: 30px;
	}
}
@media screen and (max-width:480px){
	.block00,
	.block01,
	.block02{
		padding: 10px 0 20px;
	}
}
@media screen and (max-width:380px){
	.bg_white{
		padding: 20px 1rem;
	}
}
section:last-of-type{
	padding-bottom: 80px;
}
@media screen and (max-width:480px){
	section:last-of-type{
		padding-bottom: 50px;
	}
}
#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 20px;
  bottom:30px;
  background: #000;
  opacity: 0.6;
  border-radius: 50%;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f106';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -14px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
/*------------------------------------------------------------------
共通スタイルindex>main_v
-------------------------------------------------------------------*/
#index #main_v{
	background: url("../images/bg_01.png");
}

#index #main_v div{
	background: url("../images/bg_01_over.png") no-repeat left bottom;
	background-size: contain;
	padding: 0 1rem;
}
#index #main_v div .sp{
	display: none;
}
#index #main_v div img{
	max-width: 1300px;
	margin: 0 auto;
}
@media screen and (max-width:1350px){
	#index #main_v div img{
		max-width: 100%;
	}
}
@media screen and (max-width:620px){
	#index #main_v div .pc{
		display: none;
	}
	#index #main_v div .sp{
		display: block;
	}
}
/*------------------------------------------------------------------
共通スタイルsub>main_v
-------------------------------------------------------------------*/
.sub #main_v{
	padding-top: 50px;
}
.sub #main_v div{
	padding: 0 1rem;
}
.sub #main_v div.main_ttl{
	max-width: 480px;
	text-align: left;
	padding-bottom: 30px;
}
.sub #main_v div#main_img img{
	max-width: 1300px;
	margin: 0 auto;
}
@media screen and (max-width:1350px){
	.sub #main_v div#main_img img{
		max-width: 100%;
	}
}
@media screen and (max-width:480px){
	.sub #main_v{
		padding-top: 20px;
	}
}

/*------------------------------------------------------------------
共通スタイルindex
-------------------------------------------------------------------*/
#index #index01 .inner{
	max-width: 650px;
	margin: 50px auto 30px;
	padding: 0 1rem;
}
#index #index01 .inner h1{
	max-width: 550px;
	margin: 0 auto 20px;
}
#index #index01 .inner .youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
#index #index01 .inner .youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
/*#index #index01 .inner .youtube::before{
	content: url("../images/index/ceo.png");
	position: absolute;
	top:0;
	right: -150px;
	z-index: 100;
}*/
@media screen and (max-width:480px){
	#index #index01{
		margin: 0 auto 0;
	}
}

#index #index02{
	max-width: 1000px;
	margin: 50px auto 30px;
}
#index #index02 h1{
	max-width: 500px;
	margin: 0 auto 0;
}
#index #index02 .inner{
	margin-top: 40px;
}
#index #index02 h2{
	max-width: 400px;
	margin: 0 auto;
}
#index #index02 #index02_01 div,
#index #index02 #index02_02 div{
	display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
}
#index #index02 #index02_01 div dl{
	width: 30%;
	padding-top: 50px;
}
#index #index02 #index02_01 div dl dd{
	text-align: left;
	padding-top: 20px;
}
#index #index02 #index02_02 div dl{
	width: 48%;
	padding-top: 50px;
}
#index #index02 #index02_02 div dl dd{
	text-align: left;
	padding-top: 20px;
}
#index #index02 #index02_03 div dl{
	display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
	padding-top: 50px;
}
#index #index02 #index02_03 div dl dt{
	width: 48%;
}
#index #index02 #index02_03 div dl dd{
	width: 48%;
	text-align: left;
	padding-top: 30px;
}
@media screen and (max-width:840px){
	#index #index02 #index02_01 div{
		display: block;
	}
	#index #index02 #index02_01 div dl{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#index #index02 #index02_01 div dl dt{
		width: 48%;
	}
	#index #index02 #index02_01 div dl dd{
		width: 48%;
		padding-top: 50px;
	}
	#index #index02 #index02_03 div dl dd{
		padding-top: 0;
	}
}
@media screen and (max-width:640px){
	#index #index02 #index02_01 div dl dd{
		padding-top: 0;
	}
}
@media screen and (max-width:480px){
	#index #index02{
		margin: 30px auto 20px;
	}
	#index #index02 .inner{
		margin-top: 20px;
	}
	#index #index02 #index02_02 div,
	#index #index02 #index02_01 div dl,
	#index #index02 #index02_03 div dl{
		display: block;
		width: 100%;
	}
	#index #index02 #index02_02 div dl{
		width: 100%;
	}
	#index #index02 #index02_01 div dl dt,
	#index #index02 #index02_01 div dl dd,
	#index #index02 #index02_03 div dl dt,
	#index #index02 #index02_03 div dl dd{
		width: 100%;
	}
	#index #index02 #index02_01 div dl,
	#index #index02 #index02_02 div dl,
	#index #index02 #index02_03 div dl{
		padding-top: 20px;
	}
}
#index #index03 .inner{
	max-width: 500px;
	margin: 50px auto 30px;
}
#index #index03 .inner h1{
	margin: 0 auto 50px;
}
#index #index03 .inner p{
	color: #fff;
	padding: 30px 1rem 0;
}
#index #index03 .inner p a{
	color: #fff;
}
@media screen and (max-width:480px){
	#index #index03 .inner{
		margin: 30px auto 20px;
	}
	#index #index03 .inner h1{
		margin: 0 auto 20px;
	}
	#index #index03 .inner p{
		padding: 10px 1rem 0;
	}
}

/*------------------------------------------------------------------
共通スタイルsub
-------------------------------------------------------------------*/
.sub .bg_white_inner{
	max-width: 800px;
	margin: 0 auto;
}
.sub .bg_white{
	text-align: left;
}
.sub .bg_white h1{
	padding-bottom: 30px;
	font-size: 2.2rem;
	line-height: 2.5rem;
}
.sub .bg_white img{
	padding-bottom: 30px;
}
.sub .bg_white p{
	padding-bottom: 30px;
}
.sub .bg_white h2{
	padding-bottom: 30px;
	font-size: 1.6rem;
}
.sub .bg_white .last{
	padding-bottom: 0;
}
@media screen and (max-width:640px){
	.sub .bg_white h1{
		font-size: 1.8rem;
	}
	.sub .bg_white h2{
		font-size: 1.4rem;
	}
}
/*------------------------------------------------------------------
共通スタイルsub>about
-------------------------------------------------------------------*/

#about04 dl{
	display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
	padding-bottom: 30px;
}

#about04 dl dt,
#about04 dl dd{
	width: 48%;
}
@media screen and (max-width:580px){
	#about04 dl{
		display: block;
	}
	#about04 dl dt,
	#about04 dl dd{
		width: 100%;
	}
	#about04 dl dt{
		padding-bottom: 30px;
	}
}
/*------------------------------------------------------------------
共通スタイルsub>access
-------------------------------------------------------------------*/
#access .bg_white h2{
	padding-bottom: 20px;
}
#access .bg_white .ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
#access .bg_white .ggmap iframe,
#access .bg_white .ggmap object,
#access .bg_white .ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
#access .bg_white .yellow_address{
	background: #fff7db;
	padding: 20px;
	margin-bottom: 40px;
}
#access .bg_white .yellow_address.last{
	margin-bottom: 0;
}
#access .bg_white .yellow_address dl{
	display: flex;
    flex-wrap: wrap;
	margin-bottom: 7px;
	line-height: 1.5rem;
}
#access #access02 dl{
	display: flex;
    flex-wrap: wrap;
	line-height: 1.5rem;
}
#access .bg_white .yellow_address dl dt,
#access #access02 dl dt{
	background: #c70000;
	color: #fff;
	padding: 0 10px;
}
#access .bg_white .yellow_address dl dd,
#access #access02 dl dd{
	margin-left: 20px;
}
#access .bg_white .yellow_address a,
#access #access02 dl a{
	color: #215edb;
}
#access #access02 p{
	padding-bottom: 15px;
}
@media screen and (max-width:730px){
	#access .bg_white .yellow_address dl,
	#access #access02 dl{
		display: block;	
	}
	#access .bg_white .yellow_address dl dt,
	#access #access02 dl dt{
		width: 100%;
		text-align: center;
	}
	#access .bg_white .yellow_address dl dd,
	#access #access02 dl dd{
		width: 100%;
		margin-left:0;
	}
}

/*------------------------------------------------------------------
menu モーダル
-------------------------------------------------------------------*/
#menu h2{
	font-size: 1.2rem;
	font-weight: normal;
}
#menu h2 a{
	color: #215edb;
}
#menu h2 a:first-of-type{
	padding-right: 1.5rem;
}
#menu .box02{
	display : flex ;
	flex-wrap : wrap ;
	justify-content : space-between ;
}
#menu .box02 a{
	position : relative ;
	display : block ;
	width : calc(50% - 8px);
	margin : 0 0 30px 0 ;
}
#menu .box02 a:last-of-type,
#menu .box02 a:nth-last-of-type(2){
	margin : 0 0 0 0 ;
}
#menu .box02 a::before{
	content : "" ;
	position : absolute ;
	top : 0 ;
	left : 0 ;
	width : 100% ;
	height : 100% ;
	transition : .4s ;
	background : rgba(199,0,0,.6) url('../images/scale_up.svg') center / 50px no-repeat ;
	opacity : 0 ;
}
#menu .box02 a:hover::before{
	opacity : 1 ;
}
#menu .box02 a:hover img{
	opacity : 1 ;
}
#menu .box02 a img{
	width : 100% ;
	border : solid 3px #fff ;
	box-sizing : border-box ;
	padding-bottom: 0;
}
@media screen and (max-width:450px){
	#menu h2 a{
		display: block;
	}
}
@media screen and (max-width:360px){
	#menu .box02{
		flex-direction : column ;
		justify-content : center ;
	}
	#menu .box02 a,
	#menu .box02 a:nth-last-of-type(2){
		width : 100% ;
		margin : 0 0 20px 0 ;
	}
	
}

/*------------------------------------------------------------------
menu entame
-------------------------------------------------------------------*/
#entame01 p a,
#entame02 p a{
	color: #215edb;
}


/*------------------------------------------------------------------
共通スタイルパーツ
-------------------------------------------------------------------*/
@media screen and (max-width:768px){
	
}

/*------------------------------------------------------------------
共通スタイルbox09
-------------------------------------------------------------------*/
/*.box09 .wrap01{
	position: relative;
}
.box09 .wrap01:after{
	display: block;
	width: 303px;
	content: url(../images/box_06_01.png);
	position: absolute;
	top: -25px;
	left: 0;
	right: 0;
	margin: 0 auto;
	
}*/



