@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&family=Roboto:wght@400;700&display=swap');


/*---------------menu共通--------------*/

*{
	box-sizing: border-box;
}

.menu-box{
		display: flex;
	    flex-wrap: wrap; /* 折返し指定 */
	    gap: 2% 2%; /* 余白 */
	    justify-content: center;
	}
	.menu-box img{
		width:95%;
		margin-bottom: -10%;
	}
#menu div h2{
 border: none;
  color: #fff;
  position:relative;
  bottom: 53%;
  left: 0;
  text-shadow: 1px 1px 10px #555555;
	font-size: 30px;
}
#menu a img:hover{
	opacity: 0.6;
	transition: .5s;
}
#menu {
	padding:180px 0 100px;
	margin-top:-120px;
}
.menu-image{
	overflow: hidden;
	width:200px;
	height:200px;
}
.menu-image img {
  height: auto;
  transition: transform .6s ease;/* ゆっくり変化させる */
  width: 100%;
}
.menu-image:hover img {
  transform: scale(1.1);/* 拡大 */
}
/*--menu_PC---*/
@media (min-width: 821px) {


}
/*--menu_SP---*/
@media (max-width: 820px) {
.menu-image{
	overflow: hidden;
	width:160px;
	height:160px;
	margin:0 5% 5% 0;
}
}

/*========= ボタンのためのCSS ===============*/
#top-header {
  position: fixed;
  top: 0;
  width: 100%;
  height: 65px;
  background-color: #4167ae;
  z-index: 9990;
  display: flex;
}
#top-header h2 img {
  width: auto;
  height: 50px;
  margin-top: -10px;
  margin-left: 10px;
}
@media (max-width: 820px) {
  .openbtn1 {
    position: fixed;
    z-index: 9999; /*ボタンを最前面に*/
    top: 10px;
    right: 10px;
    cursor: pointer;
    width: 50px;
    height: 50px;
  }
  /*×に変化*/
  .openbtn1 span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background-color: #fff;
    width: 45%;
  }
  .openbtn1 span:nth-of-type(1) {
    top: 15px;
  }
  .openbtn1 span:nth-of-type(2) {
    top: 23px;
  }
  .openbtn1 span:nth-of-type(3) {
    top: 31px;
  }
  .openbtn1.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
  }
  .openbtn1.active span:nth-of-type(2) {
    opacity: 0;
  }
  .openbtn1.active span:nth-of-type(3) {
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
  }
  /*========= フッター固定バナー ===============*/
  /*メニューをページ下部に固定*/
  #sp-fixed-menu {
    position: fixed;
    width: 100%;
    bottom: 0px;
    font-size: 0;
    opacity: 0.9;
    z-index: 99999;
  }
  /*メニューを横並びにする*/
  #sp-fixed-menu ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
  }
  #sp-fixed-menu li {
    justify-content: center;
    align-items: center;
    width: 50%;
    padding: 0;
    margin: 0;
    font-size: 14px;
    border-right: 1px solid #fff;
  }
	#sp-fixed-menu li:last-child {
    border-right:none;
  }

  /*ボタンを調整*/
  #sp-fixed-menu li{
    width:50%;
  }
  #sp-fixed-menu li a {
    color: #fff;
    text-align: center;
    display: block;
    width: 100%;
    padding: 10px 0 22px;
    text-decoration: none;
  }
}

#sp-fixed-menu span{
	font-family: semplicitapro, sans-serif;
	font-size:14px;
	letter-spacing:0.1em;

}
/*========= レイアウトのためのCSS ===============*/
h1 {
  font-size: 1.2rem;
}
p {
  margin-top: 20px;
}
small {
  color: #fff;
  display: block;
  text-align: center;
}
#header {
  width: 100%;
  background: #333;
  color: #fff;
  text-align: center;
  padding: 20px;
}
.innerbox {
  padding: 20px 3%;
  /*width: 100%;*/
  max-width: 1000px;
  margin: 0 auto;
}
/*---section:nth-child(2n){
  background:#f3f3f3;
}
--*/
#footer {
  background: #333;
  padding: 20px;
}
/*----------------------------------
------------フッター共通----------------
----------------------------------*/
footer {
  background-color: #29416E;
  color: #ffffff;
	font-size:13px;
}
.footer-il-list{
		display: flex;
		margin-top:0;
	}

footer .footer-inner {
  width: 100%;
	padding:3% 0 0 5%;
}
footer section {
  display: inline-block;
}
footer section div {
  display: inline-block;
	width: 100%;
}
footer h3 {
  font-size: 18px;
  border-bottom: solid 1px;
  display: inline-block;
  padding-bottom: 0.7rem;
  margin-bottom: 3%;
	margin-top: 3%;
	color:#fff!important;
}
footer h4 {
  line-height: 2rem;
}
footer .copyright {
  text-align: center;
  width: 100%;
  margin: 0 auto;
  background-color: #000000;
  padding-bottom: 20px;
  font-size: 10px;
}
footer ul li {
  list-style: none;
	line-height: 2rem;
	text-indent: 1rem;
}
.footer-other-list li{
	text-indent: 0;
	margin-right:20px;
}
footer .footer-other-list{
display: flex
}

footer ul{
	width:100%;
	max-width: 600px;
	float: left;
}
.footer-sns-list ul{
	display:flex;
}
.footer-sns-list ul li{
	text-indent: initial;
	font-size:20px;
}
	.res-info h3.map{
		border: solid 1px #fff;
		padding:5%;
		margin:5% auto;
		font-family: semplicitapro, sans-serif;
		font-weight: normal;
	}
footer .res-info ul li {
    text-indent: 0rem;
}
@media (max-width: 820px) {
	footer .copyright{
		padding-bottom: 90px;
	}

}

/*--------------予約ボタン PC----------------*/
/*========= ナビゲーションのためのCSS ===============*/
@media (min-width: 821px) {
  #g-nav02 {
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position: fixed;
    z-index: 9;
    /*ナビのスタート位置と形状*/
    bottom: 120%;
    left: 0;
    width: 100%;
    height: 100vh; /*ナビの高さ*/
    background: #000000;
    color: #ffffff;
    /*動き*/
    transition: all 0.6s;
  }
  /*アクティブクラスがついたら位置を0に*/
  #g-nav02.panelactive {
    bottom: 0;
  }
  /*ナビゲーションの縦スクロール*/
  #g-nav02.panelactive #g-nav-list {
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100vh; /*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  /*ナビゲーション*/
  #g-nav02 ul {
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: semplicitapro, sans-serif;
    font-weight: 700;
    font-size: 22px;
    display: block;
  }
  /*リストのレイアウト設定*/
  #g-nav02 h3 {
    text-align: right;
    padding-top: 70px;
    margin-right: 50px;
  }
  #g-nav02 li {
    list-style: none;
    text-align: center;
  }
  #g-nav02 li a {
    color: #ffffff;
    text-decoration: none;
    padding: 10px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: bold;
  }
  #g-nav-list02 a:hover {
    color: #4167ae;
  }

  /*========= ボタンのためのCSS ===============*/
  .openbtn2 {
    position: fixed;
    z-index: 9999; /*ボタンを最前面に*/
    bottom: 10px;
    left: 10px;
    cursor: pointer;
    width: 50px;
    height: 50px;
  }
  /*×に変化*/
  .openbtn2 span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background-color: #fff;
    width: 45%;
  }
  .openbtn2 span:nth-of-type(1) {
    top: 15px;
  }
  .openbtn2 span:nth-of-type(2) {
    top: 23px;
  }
  .openbtn2 span:nth-of-type(3) {
    top: 31px;
  }
  .openbtn2.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
  }
  .openbtn2.active span:nth-of-type(2) {
    opacity: 0;
  }
  .openbtn2.active span:nth-of-type(3) {
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
  }
}
/*--------------予約ボタン SP ipad----------------*/
/*========= ナビゲーションのためのCSS ===============*/
@media (max-width: 820px) {
  #g-nav02 {
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position: fixed;
    z-index: 9;
    /*ナビのスタート位置と形状*/
    bottom: -120%;
    left: 0;
    width: 100%;
    height: 100vh; /*ナビの高さ*/
    background: #000000;
    color: #ffffff;
    /*動き*/
    transition: all 0.6s;
  }
  /*アクティブクラスがついたら位置を0に*/
  #g-nav02.panelactive {
    bottom: 0;
  }
  /*ナビゲーションの縦スクロール*/
  #g-nav02.panelactive #g-nav-list {
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100vh; /*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  /*ナビゲーション*/
  #g-nav02 ul {
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: semplicitapro, sans-serif;
    font-weight: 700;
    font-size: 22px;
    display: block;
  }
  /*リストのレイアウト設定*/
  #g-nav02 h3 {
    text-align: right;
    padding-top: 70px;
    margin-right: 50px;
  }
  #g-nav02 li {
    list-style: none;
    text-align: center;
  }
  #g-nav02 li a {
    color: #ffffff;
    text-decoration: none;
    padding: 10px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: bold;
  }
  #g-nav-list02 a:hover {
    color: #4167ae;
  }

	#g-nav-list ul li .forSP span{
		font-weight: normal;
		font-size:18px;
	}

  /*========= ボタンのためのCSS ===============*/
  .openbtn2 {
    position: fixed;
    z-index: 9999; /*ボタンを最前面に*/
    bottom: 10px;
    left: 10px;
    cursor: pointer;
    width: 50px;
    height: 50px;
  }
  /*×に変化*/
  .openbtn2 span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background-color: #fff;
    width: 45%;
  }
  .openbtn2 span:nth-of-type(1) {
    top: 15px;
  }
  .openbtn2 span:nth-of-type(2) {
    top: 23px;
  }
  .openbtn2 span:nth-of-type(3) {
    top: 31px;
  }
  .openbtn2.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
  }
  .openbtn2.active span:nth-of-type(2) {
    opacity: 0;
  }
  .openbtn2.active span:nth-of-type(3) {
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
  }
}
/*-------------------------------
コンセプト
---------------------------*/
#concept {
  background-color: #ffffff;
  margin-bottom:10%;
}
#img-concept1 {
  background-image: url("../img/347/cpt_img_01.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  height: 600px;
  background-position: center center;
}
#img-concept2 {
  background-image: url("../img/347/cpt_img_03.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  height: 600px;
  background-position: center center;
}
#img-concept3 {
  background-image: url("../img/347/cpt_img_02_2.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  height: 600px;
  background-position: center center;
}
#img-concept4 {
  background-image: url("../img/347/cpt_img_04.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  height: 600px;
  background-position: center center;
}
.img-concept{

  margin-bottom:80px;
}
#concept .img-concept p{
	display:inline-block;
	padding:2% 5%;
	background-color:rgba(27, 32, 49, .5);
	font-size:18px;
	color:#fff;
	font-weight: normal;
	position: absolute; /*自由に配置する指定*/
  bottom: 0; /*下寄せの指定*/
  margin: 0;
	width:100%;
	box-sizing:border-box;
}
@media (max-width: 820px) {
  .img-concept {
    height: 410px;

  }
/*-----SP用コンセプト画像-----*/
#img-concept1 {
  background-image: url("../img/347/cpt_img_sp_01.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  height: 500px;
  background-position: center center;
}
#img-concept2 {
  background-image: url("../img/347/cpt_img_sp_03.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  height: 500px;
  background-position: center center;
}
#img-concept3 {
  background-image: url("../img/347/cpt_img_sp_02_2.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  height: 500px;
  background-position: center center;
}
#img-concept4 {
  background-image: url("../img/347/cpt_img_sp_04.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  height: 500px;
  background-position: center center;
}
}


/*-----------新着情報--------------*/
#news {
  background-color: #E3E3E3;
	}
@media (max-width:767px){
	#news {
	padding-top: 70px;
    margin-top: 0px;
		padding-bottom: 30px;}

}
#news dl dd p{
  font-size: 14px;
	line-height: 1.5rem;
}
#news dd span{
	background-color:#4167ae;
	font-size:14px;
    color:#fff;
	padding:0 2%;
	font-weight: 600;
	margin-left:5%;
}
#news dt {
  float: left;
}
#news dd {
  margin-left: 120px;
}
#news dl div {
  padding: 15px 0;
  border-bottom: #ffffff 1px solid;
}


#news dl{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width:100%;
}
/*---news二項目以上
#news dl div{
	width:45%;
	margin:0 2%;
}--*/
/*---newsー項目のみ--*/
#news dl div{
	width:100%;
	max-width: 650px;
	margin:0 2%;
}
#news a {
		color:#000;
	}

@media (max-width:767px){
	#news dl div{
		width:100%;
}
#news dl div:last-child {

  border-bottom:none;
}
}


/*----------footer_iPad-------------*/
@media (min-width:768px) and (max-width:820px){
	footer{
		padding-bottom: 0;
	}
	footer .innerbox{
		display:flex;
		padding:0;
	}

	.footer-il-list{
		display: flex;
		margin-top:0;
	}


	footer ul.list-padding li:nth-child(odd) {
    padding-left: 0;
}

	.footer-inner div h4:first-of-type{
		margin:10px auto;
	}
	.footer-inner div{
		margin-bottom:30px;
		font-size: 12px;

	}
	.footer-inner h3{
		font-size: 18px;
	}

	.res-info h4{
		font-weight: normal;
	}
	footer .innerbox .flex-item1 {
flex-basis: 35%; /* flexアイテムの幅を割合で指定 */
}
	footer .innerbox .flex-item2 {
flex-basis: 40%; /* flexアイテムの幅を割合で指定 */
}
	footer .innerbox .flex-item3 {
flex-basis: 25%; /* flexアイテムの幅を割合で指定 */
}

.foriPad{
		display:block;
	}
}
@media (max-width:767px){
	.foriPad{
		display:none;
	}
}
@media (min-width:821px){
	.foriPad{
		display:none;
	}
}



/*---------Google Map-------*/
#access div iframe{
	width:100%;
	max-width: 1000px;
	height: 350px;
	margin:0 auto;
	 -webkit-filter: grayscale(00%);
  -moz-filter: grayscale(00%);
  -ms-filter: grayscale(00%);
  -o-filter: grayscale(00%);
  filter: grayscale(00%);
	border-style: none;
	margin-bottom:20%;
}
div.access-googlemap{
	height: 350px;
}
#access{
	padding-top:150px;
	margin-top:-150px;
	margin-bottom:150px;
}
