@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400&display=swap&subset=japanese');
/* ----------------------------------------------------------------------------------------------------
*  基本情報
* --------------------------------------------------------------------------------------------------*/
html, body {
   height: 100%;
}
html {
   font-size: 62.5%;
   overflow-y: scroll;
}
body, h1, h2, h3, h4, h5, h6, p, address, ul, ol, li, dl, dt, dd, table, th, td, img, form, figure {
   margin: 0;
   padding: 0;
   border: none;
   line-height: 100%;
   list-style-type: none;
   font-style: normal;
   font-weight: normal;
   font-family: "Tsukushi B Round Gothic", "筑紫B丸ゴシック", 'M PLUS Rounded 1c', sans-serif;
   text-align: left;
   color: #0f653a;
}
input, button, textarea, select {
   margin: 0;
   padding: 0;
   background: none;
   border: none;
   border-radius: 0;
   outline: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
}
iframe {
   border: none;
}
*, *:before, *:after {
   box-sizing: border-box;
}
a {
   color: #0f653a;
}
.hover {
   transition: opacity 0.3s ease-out;
}
.hover:hover {
   opacity: 0.7;
}
img {
   max-width: 100%;
   height: auto;
}
#container {
   display: block;
   min-width: 1260px;
   overflow-x: hidden;
   margin-top: 173px;
}
@media screen and (min-width: 768px) {
   .sp {
      display: none !important;
   }
   .inner {
      width: 1200px;
      margin: auto;
   }
}
@media screen and (max-width: 768px) {
   .pc {
      display: none !important;
   }
   #container {
      min-width: 0;
      margin-top: 50px;
   }
   .inner {
      width: 90%;
      margin: auto;
   }
}
/* ------------------------------
    header
------------------------------ */
.anchor{
margin-top: -174px;
padding-top: 173px;
display: block;
}
#header {
   width: 100%;
   min-width: 1260px;
   position: fixed;
   z-index: 100;
   top: 0;
   left: 0;
}
#header .header01 {
   background-color: #fff;
}
#header .header01 .inner {
   display: -webkit-flex;
   display: -moz-flex;
   display: -ms-flex;
   display: -o-flex;
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 10px 50px;
}
#header .ttl_site {
   width: 380px;
}
#header .txt_tel {
   width: 290px;
   margin: 0 5px 0 auto;
}
#header .txt_tel img {
   width: 300px;
   display: block;
}
#header .txt_tel img + img {
   margin-top: 12px;
}
#header .txt_tel span {
   font-size: 2rem;
   display: flex;
   align-items: center;
   margin-top: 10px;
   font-weight: 700;
}
#header .txt_tel span small {
   font-size: 1.6rem;
}
#header .btn_form {
   display: block;
   width: 234px;
}
#header .header02 {
   background-color: #0f653a;
}
#header .header02 .inner {
   padding: 0 50px;
}
#header .list_nav {
   display: -webkit-flex;
   display: -moz-flex;
   display: -ms-flex;
   display: -o-flex;
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 23px 0 18px;
}
#header .list_nav li {
   position: relative;
}
#header .list_nav li:before {
   content: "";
   position: absolute;
   top: 50%;
   left: -1px;
   display: block;
   width: 1px;
   height: 100%;
   transform: translateY(-50%);
   background: url(../img/common/line_nav.png) 50% 50% no-repeat;
}
#header .list_nav .nav01:before {
   display: none;
}
#header .list_nav li a {
   display: block;
   padding: 0 20px;
}
#header .list_nav .nav01 a {
   padding-left: 0;
}
#header .list_nav .nav07 a {
   padding-right: 0;
}
#header .list_nav .nav01 img {
   width: 63px;
}
#header .list_nav .nav02 img {
   width: 263px;
}
#header .list_nav .nav03 img {
   width: 144px;
}
#header .list_nav .nav04 img {
   width: 90px;
}
#header .list_nav .nav05 img {
   width: 90px;
}
#header .list_nav .nav06 img {
   width: 88px;
}
#header .list_nav .nav07 img {
   width: 89px;
}
#header .btn_area-header {
  display: flex;
}
#header .btn_area-header .btn {
  width: 218px;
}
#header .btn_area-header .btn:last-of-type {
  margin-left: 15px;
}

@media screen and (max-width: 768px) {
 .anchor{
margin-top: -50px;
padding-top: 50px;
display: block;
}
   #header {
      min-width: 0;
   }
   #header .header01 {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 50px;
      z-index: 10000;
   }
   #header .header01 .inner {
      padding: 0;
   }
   #header .ttl_site {
      position: absolute;
      top: 50%;
      left: 5%;
      width: 70%;
      max-width: 300px;
      transform: translateY(-50%);
   }
   #header .btn_menu {
      position: fixed;
      top: 15px;
      right: 15px;
      width: 30px;
      height: 20px;
      z-index: 10000;
   }
   #header .btn_menu span {
      position: absolute;
      left: 0;
      display: block;
      width: 100%;
      height: 4px;
      border-radius: 2px;
      background-color: #0f653a;
      transition: transform 0.3s ease-out;
   }
   #header .btn_menu span:nth-of-type(1) {
      top: 0;
   }
   #header .btn_menu span:nth-of-type(2) {
      top: 8px;
   }
   #header .btn_menu span:nth-of-type(3) {
      top: 16px;
   }
   #header .btn_menu.active span:nth-of-type(1) {
      -webkit-transform: translateY(8px) rotate(145deg);
      transform: translateY(8px) rotate(45deg);
   }
   #header .btn_menu.active span:nth-of-type(2) {
      opacity: 0;
      -webkit-animation: active-menu-bar .8s forwards;
      animation: active-menu-bar .8s forwards;
   }
   @-webkit-keyframes active-menu-bar {
      100% {
         height: 0;
      }
   }
   @keyframes active-menu-bar {
      100% {
         height: 0;
      }
   }
   #header .btn_menu.active span:nth-of-type(3) {
      -webkit-transform: translateY(-8px) rotate(-45deg);
      transform: translateY(-8px) rotate(-45deg);
   }
   body.fixed {
      position: fixed;
      width: 100%;
      height: 100vh;
      top: 0;
   }
   #header .header02 {
      position: fixed;
      top: 50px;
      left: 0;
      width: 100%;
      display: none;
      max-height: calc(100% - 50px);
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      z-index: 100;
   }
   #header .header02 .inner {
      padding: 0 0 8%;
      overflow-y: auto;
   }
   #header .box_btn {
      margin: 0;
      padding: 7% 5% 3%;
      background-color: #fff;
      border-radius: 10px;
   }
   #header .sp-col-btn {
      display: flex;
      justify-content: space-between;
   }
   #header .sp-col-btn a {
      margin: 0 auto;
      width: 53vw;
   }
   #header .box_btn .txt_tel {
      width: 80%;
      margin: 0 auto 5%;
   }
   #header .box_btn .btn_form {
      width: 80%;
      margin: 0 auto;
   }
   #header .list_nav {
      display: block;
      padding: 8% 0;
   }
   #header .list_nav li + li {
      margin-top: 30px;
   }
   #header .list_nav li:before {
      display: none;
   }
   #header .list_nav li a {
      padding: 0;
      text-align: center;
   }
   #header .btn_area-header {
     display: none;
   }
}
/* ------------------------------
    pagetop
------------------------------ */
.btn_pagetop {
   position: fixed;
   bottom: 50px;
   right: 50px;
   display: block;
   width: 98px;
   height: 178px;
   white-space: nowrap;
   text-indent: 100%;
   overflow: hidden;
   background: url(../img/common/btn_pagetop.png) 50% 50% no-repeat;
   background-size: auto 100%;
   transition: background 0.3s ease-out;
   z-index: 100;
}
.btn_pagetop:hover {
   background-image: url(../img/common/btn_pagetop_on.png);
}
@media screen and (max-width: 768px) {
   .btn_pagetop {
      bottom: 80px;
      right: 15px;
      width: 50px;
      height: 90px;
   }
   .btn_reservation {
      bottom: 10px;
      right: 10px;
      width: 60px;
      height: 60px;
      position: fixed;
   }
}
/* ------------------------------
    footer
------------------------------ */
#footer {
   min-width: 1260px;
   background: url(../img/common/bg_dot.png);
}
#footer .footer01 .inner {
   width: 1000px;
   padding: 50px 0;
}
#footer .ft_info {
   width: 1000px;
   display: flex;
   justify-content: space-between;
}
#footer .ttl_ft {
   margin: 0 auto 27px auto;
   width: 458px;
}
#footer .sns_area {
   display: flex;
   width: 220px;
   margin: 0 auto 55px auto;
   justify-content: space-between;
}
#footer .sns_area li img {
   width: 60px;
}
#footer .ft_phone {
   width: 558px;
   font-weight: 700;
}
#footer .ft_phone p {
   width: 454px;
}
#footer .ft_contact {
   display: flex;
   align-items: center;
   margin: 20px 0;
}
#footer .ft_hour {
   width: 218px;
   padding-top: 1rem;
}
#footer .btn_area {
  display: flex;
}
#footer .btn_area .btn {
   width: 218px;
   margin-left: 15px;
}
#footer .ft_phone .note {
   width: 100%;
   font-size: 1.2rem;
}
#footer .ft_phone .note ul {
   display: flex;
   justify-content: space-between;
}
#footer .ft_phone .note li {
   line-height: 1.4;
   font-family: 'Noto Sans JP', sans-serif;
   letter-spacing: 0.06rem;
}
#footer .ft_info .tbl_info {
   border-spacing: 0;
}
#footer .ft_info .tbl_info th {
   width: 104px;
   border-right: 2px solid #0f653a;
}
#footer .ft_info .tbl_info td {
   padding-left: 25px;
}
#footer .ft_info .tbl_info th, #footer .ft_info .tbl_info td {
   padding-bottom: 0.7em;
   font-weight: 700;
   font-size: 1.8rem;
}
#footer .ft_fb, .fb-container {
   width: 500px;
}
#footer .footer02 {
   height: 50px;
   background: url(../img/common/bg_ft.png) 50% 50% no-repeat;
   background-size: cover;
}
#footer .footer02 .txt_copy {
   line-height: 50px;
   text-align: center;
   font-weight: 700;
   font-size: 1.4rem;
   color: #fff;
}
@media screen and (max-width: 768px) {
   #footer {
      min-width: 0;
   }
   #footer .footer01 .inner {
      display: block;
      width: 90%;
      padding: 5% 0;
   }
   #footer .ft_info {
      width: 100%;
      flex-wrap: wrap;
   }
   #footer .ft_fb {
      width: 100%;
   }
   #footer .ttl_ft {
      width: 80%;
      margin: 0 auto 8%;
   }
   #footer .sns_area {
      width: 130px;
      margin-bottom: 30px;
   }
   #footer .sns_area li {
      width: 30px;
   }
   #footer .ft_phone {
      width: 80%;
      text-align: center;
      margin: 0 auto;
   }
   #footer .ft_phone p {
      width: 100%;
   }
   #footer .ft_phone span {
      font-size: 1.6rem;
   }
   #footer .ft_phone span small {
      font-size: 1.4rem;
   }
   #footer .ft_contact {
      flex-wrap: wrap;
   }
   #footer .ft_hour {
      margin: 0 auto 20px auto;
      width: 80%;
   }
   #footer .btn_area {
      flex-wrap: wrap;
      width: 100%;
   }
   #footer .btn_area .btn {
      width: 80%;
      margin: 0 auto 10px;
   }
   #footer .btn_area .note {
      width: 80%;
      margin: 20px auto 0 auto;
   }
   #footer .ft_phone .note ul {
      flex-wrap: wrap;
   }
   #footer .btn_area .note li {
      font-size: 1.1rem;
      letter-spacing: 0;
   }
   #footer .ft_info .tbl_info {
      margin: 20px auto 0 auto;
   }
   #footer .ft_info .tbl_info th {
      width: 6em;
   }
   #footer .ft_info .tbl_info td {
      padding-left: 2em;
   }
   #footer .ft_info .tbl_info th, #footer .ft_info .tbl_info td {
      font-size: 1.2rem;
   }
   .fb-container {
      width: 100%;
      max-width: 500px;
      margin: auto;
   }
   #footer .footer02 {
      height: auto;
      padding: 5% 0;
   }
   #footer .footer02 .txt_copy {
      line-height: 1.6;
      font-size: 1.2rem;
   }
   #footer .footer02 .txt_copy span {
      display: inline-block;
   }
}
/* ------------------------------
    clearfix
------------------------------ */
.cf:after {
   content: ".";
   display: block;
   height: 0;
   font-size: 0;
   clear: both;
   visibility: hidden;
}
.cf {
   display: inline-block;
}
/* Hides from IE Mac */
* html .cf {
   height: 1%;
}
.cf {
   display: block;
}
/* End Hack */
