@charset "utf-8";


/* スマホ用CSS */



@media screen and (max-width: 767px) {
  /* 767pxまでの設定 */


  img{
    max-width: 100%;
    height: auto;
  }
  header,main,#main_content,#banner,header nav ul{
    width: 100%;
  }

  header nav ul li{
    margin-right: 0;
    width: 50%;
    border: 2px solid #fff;
    box-sizing: border-box;
  }

  main{
    padding: 0 15px;
    box-sizing: border-box;
  }

  .site-menu{
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
  } */




}




/* PC他用 */
body {
  font-family: "yu mincho","Yumincho","serif";
}




/* header #top */

#top{

  border-top: 10px solid #044668;
  /* display: flex; */
	width:100%;
	height: 250px;
	left:0;
	top:0;
	margin:0;
	background-color: #FFF;
	z-index:1001;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.05); /*これを付け足し*/

}


header h1{
  margin: 50px 0 30px 0;
  text-align: center;
}


/* TOPページのグローバルナビ */

header nav ul{
  display: block;
  overflow:hidden;
  position: relative;
  padding: 0;
  width:100%;
  text-align: center; 

}


header nav ul li{
  width: 120px;/* 幅120px */
  margin-right: 2px;
  float: left;
  list-style-type: none;
  text-align: center;

}

header nav ul li:last-child{
  margin-right: 0;/* 右マージン */
}

.clearfix:after{  /* clearfix */
  content: "";
  display: block;
  clear: both;

}

header nav ul li a{
  text-decoration: none;
  background-color: #044668;
  color: #FFF;
  padding: 10px 0;
  display: block;

}

header nav ul li a:hover,
header nav ul li a:active,
header nav ul li .current a{
  background-color: #81c0db;
}




/* main */

main{
  width: 930px;
  margin: 0 auto;
}

/*  パンくずリスト */

#topic_path{
  padding-left: 0;
  margin-top: 10px;

}

#topic_path li{
  list-style-type: none;
  display: inline;
  font-size: 90%;
}

#topic_path li:after{
  padding: 0 10px;
  content: "\003E"/* 大なり小なり記号を挿入 */

}

#topic_path li:last-child::after{
  content: none;
}

main a:link,
main a:visited{
  color:#044668;
}

/* TOPのキャッチフレーズ */
#top_catch{
  text-align: center;
  font-size: 30px;
  margin-bottom: 20px;
}



/* topイメージ */

#top_img{
  display: flex;
  margin: 0 auto;
  text-align: center;
}


/* メインの見出し */
main h2{

  border-left: 10px solid #044668;
  border-bottom: 1px solid #044668;
  padding: 5px 10px;
  margin-bottom: 30px;
  font-size: 1.8em;
}


main h3{
  font-size: 1.5em;
  text-align: center;
  position: relative;
  margin-bottom: 20px;
}

#concept {
  padding-top: 3em;
}

#concept p{
  line-height: 1.8em;
  margin-bottom: 3em;
  font-size: 110%;


}

.head p{
  margin-bottom: 20px;
}



/* 記事ページのタイトル */

#top_title{
  border-top: 2px solid #044668;
  border-bottom: 2px solid #044668;
  border-left: none;
  padding: 5px 10px;
  text-align: center;
  font-size: 1.5em;
  margin-bottom: 40px;
}



/* ACCESS */

#shop_ent{
  text-align: center;
  margin-bottom: 2em;
}


/* お知らせ */


#news dl{
  margin-left: 5px;
  margin-bottom: 30px;
}


#news dl,#news dt{
  line-height: 1.5em;
  font-size: 20px;

}
#news dt{
  width: 10em;
  float: left;
}

#news dd{
  margin-left: 5em;
}

/* menu */

#menu{
margin-top: 2em;
}



#menu p{
  margin: 0 50px;
  text-align: center;
  line-height: 1.8em;
  margin-bottom: 1em;
}

/* 営業時間 */

#busi_h p{
  font-size: 50px;
  text-align: center;


}

/* ご予約・お問い合わせ */

address p{
  font-size: 110%;
  text-align: center;
  font-weight: bold;
  color: #044668;

}



address p a:link,
address p a:visited
{
  font-size: 50px;
  text-decoration: none;
  color: #044668;
}


.adress01{
  font-size: 25px;
}




/* ページトップへ戻る */
.page_top{
  text-align: center;
  margin-top: 50px;
  margin-bottom: 20px;
}

.page_top a{
  padding-top: 6px;
  border-top: 4px solid #044668;

}

.page_top a::before{
  content:"↑"; /* 上向きの矢印 */
}

.page_top a:link,
.page_top a:visited{
  color:#044668;
  text-decoration: none;
}
/* Facebookページ */

.fp-page{
  margin-bottom: 10px;
  height: 700px;
}


/* 写真ギャラリーページ */

/* Tiles */

.tiles {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -moz-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
  margin: -2.5em 0 0 -2.5em;
}

  .tiles article {
    -moz-transition: -moz-transform 0.5s ease, opacity 0.5s ease;
    -webkit-transition: -webkit-transform 0.5s ease, opacity 0.5s ease;
    -ms-transition: -ms-transform 0.5s ease, opacity 0.5s ease;
    transition: transform 0.5s ease, opacity 0.5s ease;
    position: relative;
    width: calc(33.33333% - 2.5em);
    margin: 2.5em 0 0 2.5em;
  }

    .tiles article > .image {
      -moz-transition: -moz-transform 0.5s ease;
      -webkit-transition: -webkit-transform 0.5s ease;
      -ms-transition: -ms-transform 0.5s ease;
      transition: transform 0.5s ease;
      position: relative;
      display: block;
      width: 100%;
      border-radius: 4px;
      overflow: hidden;
    }

      .tiles article > .image img {
        display: block;
        width: 100%;
      }

      .tiles article > .image:before {
        pointer-events: none;
        -moz-transition: background-color 0.5s ease, opacity 0.5s ease;
        -webkit-transition: background-color 0.5s ease, opacity 0.5s ease;
        -ms-transition: background-color 0.5s ease, opacity 0.5s ease;
        transition: background-color 0.5s ease, opacity 0.5s ease;
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 1.0;
        z-index: 1;
        opacity: 0.8;
      }

      .tiles article > .image:after {
        pointer-events: none;
        -moz-transition: opacity 0.5s ease;
        -webkit-transition: opacity 0.5s ease;
        -ms-transition: opacity 0.5s ease;
        transition: opacity 0.5s ease;
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cstyle%3Eline %7B stroke-width: 0.25px%3B stroke: %23ffffff%3B %7D%3C/style%3E%3Cline x1='0' y1='0' x2='100' y2='100' /%3E%3Cline x1='100' y1='0' x2='0' y2='100' /%3E%3C/svg%3E");
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100% 100%;
        opacity: 0.25;
        z-index: 2;
      }

    .tiles article > a {
      display: -moz-flex;
      display: -webkit-flex;
      display: -ms-flex;
      display: flex;
      -moz-flex-direction: column;
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      -moz-align-items: center;
      -webkit-align-items: center;
      -ms-align-items: center;
      align-items: center;
      -moz-justify-content: center;
      -webkit-justify-content: center;
      -ms-justify-content: center;
      justify-content: center;
      -moz-transition: background-color 0.5s ease, -moz-transform 0.5s ease;
      -webkit-transition: background-color 0.5s ease, -webkit-transform 0.5s ease;
      -ms-transition: background-color 0.5s ease, -ms-transform 0.5s ease;
      transition: background-color 0.5s ease, transform 0.5s ease;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      padding: 1em;
      border-radius: 4px;
      border-bottom: 0;
      color: #ffffff;
      text-align: center;
      text-decoration: none;
      z-index: 3;
    }

      .tiles article > a > :last-child {
        margin: 0;
      }

      .tiles article > a:hover {
        color: #ffffff !important;
      }

      .tiles article > a h2 {
        margin: 0;
      }

      .tiles article > a .content {
        -moz-transition: max-height 0.5s ease, opacity 0.5s ease;
        -webkit-transition: max-height 0.5s ease, opacity 0.5s ease;
        -ms-transition: max-height 0.5s ease, opacity 0.5s ease;
        transition: max-height 0.5s ease, opacity 0.5s ease;
        width: 100%;
        max-height: 0;
        line-height: 1.5;
        margin-top: 0.35em;
        opacity: 0;
      }

        .tiles article > a .content > :last-child {
          margin-bottom: 0;
        }

    .tiles article.style1 > .image:before {
      background-color: #f2849e;
    }

    .tiles article.style2 > .image:before {
      background-color: #7ecaf6;
    }

    .tiles article.style3 > .image:before {
      background-color: #7bd0c1;
    }

    .tiles article.style4 > .image:before {
      background-color: #c75b9b;
    }

    .tiles article.style5 > .image:before {
      background-color: #ae85ca;
    }

    .tiles article.style6 > .image:before {
      background-color: #8499e7;
    }

    body:not(.is-touch) .tiles article:hover > .image {
      -moz-transform: scale(1.1);
      -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
      transform: scale(1.1);
    }

      body:not(.is-touch) .tiles article:hover > .image:before {
        background-color: #333333;
        opacity: 0.35;
      }

      body:not(.is-touch) .tiles article:hover > .image:after {
        opacity: 0;
      }

    body:not(.is-touch) .tiles article:hover .content {
      max-height: 15em;
      opacity: 1;
    }

  * + .tiles {
    margin-top: 2em;
  }

  body.is-preload .tiles article {
    -moz-transform: scale(0.9);
    -webkit-transform: scale(0.9);
    -ms-transform: scale(0.9);
    transform: scale(0.9);
    opacity: 0;
  }

  body.is-touch .tiles article .content {
    max-height: 15em;
    opacity: 1;
  }

  @media screen and (max-width: 1280px) {

    .tiles {
      margin: -1.25em 0 0 -1.25em;
    }

      .tiles article {
        width: calc(33.33333% - 1.25em);
        margin: 1.25em 0 0 1.25em;
      }

  }

  @media screen and (max-width: 980px) {

    .tiles {
      margin: -2.5em 0 0 -2.5em;
    }

      .tiles article {
        width: calc(50% - 2.5em);
        margin: 2.5em 0 0 2.5em;
      }

  }

  @media screen and (max-width: 736px) {

    .tiles {
      margin: -1.25em 0 0 -1.25em;
    }

      .tiles article {
        width: calc(50% - 1.25em);
        margin: 1.25em 0 0 1.25em;
      }

        .tiles article:hover > .image {
          -moz-transform: scale(1.0);
          -webkit-transform: scale(1.0);
          -ms-transform: scale(1.0);
          transform: scale(1.0);
        }

  }

  @media screen and (max-width: 480px) {

    .tiles {
      margin: 0;
    }

      .tiles article {
        width: 100%;
        margin: 1.25em 0 0 0;
      }

  }






/* footer */

footer{
  background-color: #044668;
  color: #ffffff;
  padding: 30px 0;
  text-align: center;
  margin-top: 10px;
}

footer p{
  font-size: medium;
}


/* faqページ */

.faq h2{


font-size: 1.2em; 

}

.faq p{
  line-height: 1.8em;
  margin-bottom: 3em;
  font-size: 110%;

}

#top_img_faq img{
  width: 100%;
}

.faq .answer{
  font-size: 1em;
}

/* 回答の文字頭 */
.color01{
  color: #81c0db;
  font-size: 150%;
}


/* ABOUT このサイトについて */


.owner_photo{
  text-align: center;
}

.owner_photo img{
  width: 40%;
  height: 40%;

}

/* 各種サービス */

.serv01{
  text-align: center;
  margin-bottom: 10px;
}


/* お問合せフォーム */

#formWrap {
	width:800px;
	margin:0 auto;
	color:#555;
	line-height:120%;
	font-size:90%;
}
table.formTable{
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
}
table.formTable td,table.formTable th{
	border:1px solid #ccc;
	padding:10px;
}
table.formTable th{
	width:30%;
	font-weight:normal;
	background:#efefef;
	text-align:left;
}
/*　簡易版レスポンシブ用CSS（必要最低限のみとしています。ブレークポイントも含め自由に設定下さい）　*/
@media screen and (max-width:572px) {
#formWrap {
	width:95%;
	margin:0 auto;
}
table.formTable th, table.formTable td {
	width:auto;
	display:block;
}
table.formTable th {
	margin-top:5px;
	border-bottom:0;
}
input[type="text"], textarea {
	width:80%;
	padding:5px;
	font-size:110%;
	display:block;
}
input[type="submit"], input[type="reset"], input[type="button"] {
	display:block;
	width:100%;
	height:40px;
}
}

.btn{
  text-align: center;
}

/*Google Map*/

.g-map {

  position: relative;
}

.g-map::before{
  content: "";
  display: block;
  padding-top: calc(600/940 * 100%);
}


.g-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*facebook*/

#facebook
{
  position: absolute;
  top: 0;
  left: 0;

  margin-top: 2em;
}
