@charset "UTF-8";
/* CSS Document */
html {
  font-size: 62.5%; /* 16px * 62.5% = 10px */
  width: 100%;
  scroll-padding-top: 80px;
  scroll-behavior: smooth;
}
body {
  color: #fff; 
  font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体',serif;  
  font-weight: 500;
  font-size: 1.6em;
  line-height: 2.4rem;
  text-align: center;
  background-color: #1f3439;
}
section h2 {
  font-size: max(4vw,2.4rem);
  font-family: 'Georgia',serif;
  color: #866f28;
  letter-spacing: 0.5rem;
}
@media (min-width: 500px) {
  section h2 {
  font-size: 2.4rem;
}
}

a:hover {
  opacity: 0.5;
}
*, *:before, *:after {
  box-sizing: border-box;
}

@media (min-width: 500px) {
  body {
    background-color: #18282c;
    width: 500px;
    margin: 0 auto;
  }
  main {
    width: 500px;
    background-color: #1f3439;
    position: relative;
  }
}


/* header */
.header_pc {
  display: none;
}
.header_logo {
  z-index: 999;
  position: fixed;
  margin: 14px;
  height: 40px;
}
.header_logo img {
  height: 100%;
}
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 13px;
  top   : 12px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 1px ;
  left    : 6px;
  background : #fff;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  background :#fff;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  background :#fff;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

nav.globalMenuSp {
  position: fixed;
  z-index : -1;
  top  : 0;
  left : 0;
  color: #fff;
  background: rgba(24,40,44,0.8);
  text-align: center;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity .6s ease, visibility .6s ease;
}

nav.globalMenuSp ul {
  margin: 60px auto;
  padding: 0;
  width: 100%;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: .4s all;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
}
nav.globalMenuSp ul li:hover{
  background :#ddd;
}
nav.globalMenuSp ul li a {
  display: none;
  color: #fff;
  padding: 1em 0;
  text-decoration :none;
}
/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  opacity: 100;
  z-index: 2;
}
nav.globalMenuSp.active ul li a {
  display: block;
  color: #fff;
  padding: 1em 0;
  text-decoration :none;
  letter-spacing: 0.3rem;
}

@media (min-width: 1150px) {
  .header_sp {
    display: none;
  }
}
@media (min-width: 1150px) {
  .header_pc {
    position: fixed;
    display: flex;
    width: 100vw;
    left: 0;
    top: 50%;
    transform: translate(0%,-50%);
    justify-content: space-between;
    align-items: center;
  }
  .header_pc ul {
    width: 30vw;
  }
  .header_pc ul li {
    margin-bottom: 20px;
  }
  .header_pc ul li a{
    font-family: 'Georgia',serif;
    letter-spacing: 4px;
    color: #f19ec2;
    font-size: 2.4rem;
    text-decoration: none;
  }
  .background-logo {
    width: 30vw;
  }
  .background-logo a {
    text-decoration: none;
  }
  .background-logo img {
    width: 80px;
  }
  .background-logo p {
    color: #f19ec2;
    width: 80px;
    margin: 0 auto;
  }
}
  

/* viewmore_button */
.viewmore_button-div {
  display: flex;
  justify-content: flex-end;
  padding-right: 25px;
}
.viewmore_button {
	position: relative;
  font-size: max(2vw,1.2rem);
  text-align: left;
  color: #866f28;
	border-bottom: 1px solid #866f28;
	min-width: 70px;
  padding-right: 5%;
}
.viewmore_button::before {
	content: "";
	display: block;
	width: 10px;
	height: 1px;
	background: #866f28;
	rotate: 40deg;
	position: absolute;
	right: 0px;
	bottom: 3px;
}
.viewmore_button a {
  color: #866f28;
  text-decoration: none;
}
@media (min-width: 500px) {
  .viewmore_button {
  font-size: 1.2rem;
}
}


/* page_top */
.page-top {
  position: relative;
  margin-bottom: 60px;
}
.page-top_image {
  width: 83vw;
}
.page-top_image img {
  width: 100%;
}
.page-top h1 {
  position: absolute;
  font-family: 'Georgia',serif;
  font-size: max(3.5vw,2.8rem);
  font-weight: 400;
  letter-spacing: 1rem;
  color: #866f28;
  text-shadow: 2px 2px 3px #18282c;
  right: 3%;
  top: 93%;
}
@media (min-width: 500px) {
  .page-top_image {
    width: 83%;
  }
  .page-top h1 {
  font-size: 2.8rem;
}
}


/* information */
.section-information {
  margin: 100px 0 40px;
}
.section-information h2 {
  margin-bottom: 30px;
}
.section-information iframe {
  width: 100vw;
  height: 130px;
  margin-bottom: 20px;
  filter:invert(80%);
  -webkit-filter:invert(80%);
}
.section-information ul {
  font-size: 1.2rem;
  line-height: normal;
  list-style: none;
}
.section-information ul li {
  margin-bottom: 10px;
}
.section-information ul li h3 {
  font-weight: 500;
}
.section-information p a {
  text-decoration: none;
  color: #fff;
}
@media (min-width: 500px) {
  .section-information iframe {
    width: 100%;
    height: 20%;
  }
  .section-information {
    padding-bottom: 60px;
    margin-bottom: 0;
  }
}


/* footer */
.footer_area {
  background-color: #18282c;
  padding: 20px 0 60px;
}
.footer_logo {
  margin: 0 auto;
  width: 30vw;
}
.footer_logo img {
  display: block;
  width: 100%;
}
.footer_area p {
  font-size: 1.2rem;
}
@media (min-width: 500px) {
  footer {
    background-color: #1f3439;
    position: relative;
  }
  .footer_area {
  padding-top: 40px;
}
  .footer_logo {
    width: 30%;
  }
}


/* トップスクロールボタン */
.pagetop {
    height: 40px;
    width: 40px;
    position: fixed;
    right: 20px;
    bottom: 50px;
    background: #f19ec2;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}
.pagetop__arrow {
    height: 10px;
    width: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: translateY(20%) rotate(-45deg);
}
@media (min-width: 1150px) {
  .pagetop {
    display: none;
  }
}


/* 予約ボタン */
.footer_reservation-button {
  z-index: 999;
  position: fixed;
  display: flex;
  width: 100%;
  height: 40px;
  bottom: 0;
  left: 0;
  background-color: #f19ec2;
}
.footer_reservation-button p {
  color: #fff;
  letter-spacing: 2px;
  font-family: 'Georgia',serif;
}
.footer_reservation-button_p1 {
  position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.footer_reservation-button_p2 {
  position: absolute;
  top: 50%;
  right: 10%;
  transform: translate(-50%, -50%);
}
@media (min-width: 1150px) {
  .footer_reservation-button {
    display: none;
  }
}
  