* {
  color: #422b1c;
  font-family: 'Noto Sans JP', sans-serif, YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  box-sizing: border-box;
}

html{
  scroll-behavior: smooth;
}

body,ul,li,h1,h2,h3,h4,h5 {
  padding: 0;
  margin: 0;
}

p {
  font-size: 16px;
  line-height: 190%;
}

li {
  list-style: none;
}

a {
  text-decoration: none;
}

img {
  max-width: 100%;
}

.key-visual-style {
  width: 100vw;
    height: 100vh;
    background: #5E412F;
    display: flex;
    justify-content: center;
    align-items: center;
    /**background: url("../img/laguna 2019.11.25/_V2A0936.jpg");**/
    background-size: cover;
    background-position: center;
}

#slider_keyVisual img  {
  width: 100vw;
    height: 100vh;
object-fit: cover;
}

.tablet-sp-menu {
  display: none;
  position: relative;
}

.tablet-sp-menu .contact {
  font-size: 12px;
  background: #EC9B3B;
  padding: 6px 12px;
  border-radius: 20px;
  margin: 0 16px 3px;
  height: 20px;
}

.tablet-sp-menu .menu-trigger {
  margin: 0;
  text-align: center;
}

.tablet-sp-menu .menu-trigger {
  font-size: 22px;
}


.tablet-sp-menu .menu-trigger span {
  display: block;
  font-size: 10px;
  position: relative;
  top: -8px;
  line-height: 1;
}

header {
  align-items: center;
  background-color: #5E412F;
  color: #fff;
  display: flex;
  justify-content: space-between;
  height: 80px;
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 100;
}

header ul li {
  display: inline-block;
  text-align: center;
  height: 80px;
  padding-top: 16px;
  box-sizing: border-box;
}

header ul li span {
  display: block;
  color: #9a9a9a;
  font-size: 12px;
}

header ul li a {
  color: #fff;
  text-decoration: none;
  display: block;
  padding: 0 16px 0;
}

header ul li.contact a {
  font-size: 12px;
  background: #EC9B3B;
  padding: 6px 12px;
  border-radius: 20px;
  margin: 0 16px 3px;
}

header .logo-wrap {
  padding-left: 16px;
}

header .logo-wrap a {
  text-decoration: none;
}

header .logo-wrap a img {
  width: 25px;
}

header .logo-wrap a p {
  font-size: 32px;
  color: #fff;
  padding: 0 0 0 8px;
  margin: 0;
  font-family: 'Frank Ruhl Libre', serif;
  letter-spacing: 6px;
  display: inline-block;
}

.contact-position-wrap {
  position: relative;
    top: 6px;
}

.section-title {
  position: relative;
}

.section-title-line {
  position: absolute;
  top: 0;
  left: -30px;
  width: 60px;
  height: 400px;
  background: #F0D8A8;
  z-index: 1;
}

.section-center-layout .section-title-line {
  height: 130px;
  left: 170px;
  top: 44px;
}

.section-description p {
  position: relative;
    z-index: 10;
    letter-spacing: 1px;
    padding: 24px 0;
    font-weight: 500;
}

.key-visual-style h1 {
  font-family: 'Frank Ruhl Libre', serif;
  font-weight: normal;
  letter-spacing: 16px;
  font-size: 128px;
  text-align: center;
  color: #fff;
  position: absolute;
  z-index: 99;
  top: calc(45% - 100px);
  line-height: 1;
}

.key-visual-style h1 span {
  display: block;
  font-size: 16px;
  color: #fff;
  margin-top: 40px;
}

.key-visual-style h1 img {
  width: 100px;
  display: block;
  margin: 0 auto;
}

h2 {
  font-size: 52px;
  color: #422b1c;
  letter-spacing: 8px;
  position: relative;
  z-index: 10;
}

.flexslider {
  background: none!important;
}

.section-flex {
  display: flex;
  justify-content: space-between;
}

.section-between-layout {
  padding: 128px 0 96px;
}

#room_space.section-between-layout,
#around_laguna.section-wrap,
#rules {
  background: #F0D8A8;
}

#room_space .section-title-line,
#around_laguna.section-wrap .section-title-line {
  background: #fff;
}

#for_family.section-between-layout,
#price.section-wrap {
  background: #fff5e0;
}

.section-center-layout {
  max-width: 1080px;
  margin: 0 auto;
  padding: 64px 24px;
}

#rules .section-center-layout {
  padding: 24px 0 64px;
}

#rules .section-center-layout li {
  list-style-type: disc;
}

#rules .section-center-layout ul {
  margin-left: 24px;
}

.section-between-layout .section-text,
.section-between-layout .section-image {
  flex: 1;
}

.section-text-block {
  max-width: 640px;
  padding: 24px 48px;
  float: right;
  width: 100%;
}

.section-between-layout .section-text {
  position: relative;
}

.section-header-line {
  border-bottom: 1px solid;
  position: absolute;
  top: 108px;
  width: 94%;
  z-index: 10;
}

.section-image-pict {
  background-image: url("../img/_V2A0389.jpg");
  height: 460px;
  background-size: cover;
}

.section-image {
  position: relative;
}

.flex-caption {
  margin: 0;
}

.section-title-caption {
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 3px;
  text-align: right;
}

.movie-img-wrap {
  background-image: url("../img/laguna\ 2019.11.25/_V2A1047.jpg");
  width: 125px;
  height: 125px;
  border-radius: 60px;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
}

.movie-img-wrap i {
  color: #fff;
  font-size: 44px;
}

.play-movie {
  margin-top: 40px;
}

.play-movie-image {
  display: flex;
  align-items: center;
}

.play-movie-image p {
  background: #422b1c;
  color: #fff;
  font-weight: bold;
  letter-spacing: 2px;
  padding: 16px 24px;
  line-height: 1;
  display: inline-block;
  margin-left: 24px;
}

body .flexslider {
  border: none!important;
  margin: 0;
}

body .section-between-layout .flexslider {
  margin-bottom: 24px;
}

#carousel_aboutLaguna li.flex-active-slide,
#carousel_roomSpace li.flex-active-slide ,
#carousel_forFamily li.flex-active-slide {
  border-bottom: 3px solid;
  padding-bottom: 6px;
}

#for_family h2{
  font-size: 34px;
}

#for_family .section-header-line  {
  top: 131px;
}

.section-center-layout .section-title {
  max-width: 670px;
  margin: 0 auto;
  padding: 24px;
  text-align: center;
}

.section-center-layout .section-title h2 {
  border-bottom: 1px solid #422b1c;
  padding-bottom: 10px;
}

.section-center-layout .section-title-caption {
  text-align: center;
}

#facility .section-flex .facility-item:first-child {
  padding-right: 32px;
}

#facility .section-flex .facility-item:last-child {
  padding-left: 32px;
}

#facility .section-flex .facility-item {
  padding-bottom: 24px;
  flex: 1;
}

h4 {
  font-size: 24px;
  padding-top: 8px;
}

h3.sub_heading {
  font-size: 24px;
  border-bottom: 1px solid #422b1c;
  padding-bottom: 8px;
  margin-bottom: 24px;
  margin-top: 48px;
}

#around_laguna .section-description p {
  padding-bottom: 0;
}

.amenity-item {
  background: #eee;
  padding: 16px;
  margin-bottom: 16px;
  width: 32%;
  display: flex;
  justify-content: space-between;
}

.around-item,
.around-item-tag-wrap {
  display: flex;
}

.around-item {
  flex: 1;
  margin: 32px 0;
}

.around-item a {
text-decoration: underline;
}

.section-flex .around-item img {
  margin-right: 16px;
}

.section-flex .around-item:first-child {
  margin-right: 16px;
}

.section-flex .around-item:last-child {
  margin-left: 16px;
}

.around-item-tag-wrap {
  margin-bottom: 16px;
}

.around-item-tag {
  display: flex;
  background: #422b1c;
  width: 100px;
  padding: 8px;
}

.around-item-tag i {
  color: #fff;
  padding-right: 8px;
}

.around-item-tag p {
  font-size: 14px;
  line-height: 1;
  margin: 0;
  color: #fff;
}

.around-item-tag + .around-item-tag {
  margin-left: 8px;
}

.around-item img {
  object-fit: cover;
  border-radius: 50%;
}

footer {
  background-color: #422b1c;
  padding: 80px 24px;
}

footer p {
  color: #fff;
}

#price .section-flex {
  justify-content: space-between;
}

.price-subtext {
  color: #F0D8A8;
  font-weight: bold;
}

.price-text {
  font-size: 40px;
  font-weight: bold;
  line-height: 1;
  margin: 24px;
}

.price-card-wrap {
  max-width: 380px;
  text-align: center;
  width: 100%;
  padding: 32px 0;
    background: #FFF;
    border-radius: 3px;
    box-shadow: 0 0px 20px rgb(82 84 86 / 20%);
}

.price-section-wrap {
  max-width: 800px;
  margin: 32px auto;
}

.price-description {
  padding-top: 24px;
}

.contact-btn-item {
  width: 300px;
  text-align: center;
}

#contact .section-flex {
  max-width: 680px;
  width: 100%;
  margin: 0 auto;
}

.contact-btn {
  text-decoration: none;
  font-weight: bold;
  display: block;
  text-align: center;
  padding: 34px;
  border-radius: 54px;
  font-size: 20px;
}

.airbnb-style {
  background-color: #EC9B3B;
  color: #fff;
}

.contact-style {
  color: #EC9B3B;
  border: 3px solid #EC9B3B;
  box-sizing: border-box;
}

.contact-btn-item span {
  color: #EC9B3B;
  padding-top: 8px;
  display: inline-block;
}

.around-item-wrap {
  flex-basis: 35%;
}

.around-item-right {
  flex-basis: 65%;
  margin-left: 24px;
}

.access-trigger {
  background: #422b1c;
  color: #fff;
  padding: 8px 24px;
  padding: 8px 16px;
  display: inline;
  margin-right: 8px;
  position: relative;
  z-index: 10;
}

.google-maps {
  position: relative;
  padding-bottom: 75%;
  height: 0;
  overflow: hidden;
  }

  .google-maps iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  }

  .section-description-sp {
    display: none;
  }

  .menu-list {
    position: absolute;
    background: #fff;
    right:0;
    display: none;
    top: 50px;
    width: 180px;
    border-radius: 3px;
    box-shadow: 0 0px 20px rgba(9,43,80,0.2);
}

.menu-list li {
  display: block;
  height: auto;
  text-align: left;
}

.menu-list li span {
  display: none;
}

.menu-list li a {
  color: #444;
}

.tablet-sp-menu .menu-list .contact a {
  font-size: 15px;
  background: none!important;
  padding: inherit;
  margin: auto;
}

.tablet-sp-menu .menu-list .contact {
  background: none!important;
  padding: 16px 0;
  margin-bottom: 16px;
}

.section-description {
  text-align: left;
}

.pagetop {
    display: none;
    position: fixed;
    bottom: 5px;
    right: 15px;
    z-index: 1000;
        line-height: 1;
}
.pagetop a {
    display: block;
    background-color: #ccc;
    text-align: center;
    color: #222;
    font-size: 32px;
    text-decoration: none;
    padding: 5px 10px;
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}
.pagetop a:hover {
    display: block;
    background-color: #b2d1fb;
    text-align: center;
    color: #fff;
    font-size: 32px;
    text-decoration: none;
    padding:5px 10px;
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}

.point-name {
  background: #422b1c;
  max-width: 230px;
  width: 100%;
  text-align: center;
  color: #fff;
  padding: 10px;
  line-height: 1;
}

.point-route {
  padding: 8px 0 8px 8px;
  border-left: 1px solid #422b1c;
  margin-left: 115px;
  font-size: 12px;
}

.access-flex-wrap {
  display: flex;
  justify-content: space-around;
}

.access-flex-wrap h5 {
  font-size: 16px;
  padding-bottom: 8px;
}

.modaal-content-container h3 {
  margin-top: 0;
  margin-bottom: 0;

}

.container {
  max-width: 720px;
  margin: 0 auto;
}

.bbq-space-flex {
  display: flex;
  background-color: #f5ebd4;
  padding: 20px 0;
  justify-content: space-around;
  border: 1px solid #e2c990;
  background-image: -webkit-gradient(linear, 0 0, 100% 100%,color-stop(.25, #F9F9F9), color-stop(.25, transparent),color-stop(.5, transparent), color-stop(.5, #F9F9F9),color-stop(.75, #F9F9F9), color-stop(.75, transparent),to(transparent));
  -webkit-background-size: 7px 7px;
}

.bbq-space-flex img {
  height: 90px;
}

.bbq-text-title {
  font-size: 24px;
  font-weight: bold;
}

.bbq-tag {
  display: inline-block;
  background: #fff;
  padding: 8px 24px;
  border-radius: 26px;
  margin-top: 16px;
  /* text-align: right; */
  float: right;
  font-weight: bold;
  border: 1px solid #e2c990;
}

.bbq-link {
  display: block;
  max-width: 510px;
}

.sns-wrap {
  flex: 1;
}

.sns-wrap figure {
  text-align: center;
}

.facebook-text {
  width: 50%;
}

.instagram-text {
  width: 50%;
  position: relative;
  top: -10px;
}

#sns .price-section-wrap {
  margin-top: 0;
}

#sns.section-wrap {
  background-image: url(../img/sns_wall.png);
  background-size: cover;
}

#sns .section-flex {
  display: flex;
}

#contact .contact-btn-wrap {
  margin-bottom: 40px;
}

.other-wrap {
  max-width: 700px;
  object-fit: contain;
  display: flex;
  margin: 64px auto;
}

.other-wrap img {
  object-fit: cover;
  width: 150px;
  border-radius: 80px;
  height: 150px;
}

.other-description {
  text-align: left;
  padding-left: 16px;
}

.other-description h4 {
  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 400;
  font-style: normal;
  font-size: 26px;
  margin: 0;
  line-height: 1.4em;
}

.other-description h4 span {
  font-size: 16px;
}

.other-description p {
  margin: 4px 0;
  font-size: 14px;
}

.vogue-mini-button {
  background: #422b1c;
  color: #fff;
  text-decoration: none;
  padding: 4px 16px;
  font-size: 14px;
  border-radius: 16px;
  /* text-align: right; */
  float: right;
  font-family: HiraKakuPro-W6;
}

#fellow .section-center-layout {
  max-width: 640px;
}

#fellow .section-center-layout h2 {
  text-align: center;
}

@media screen and (max-width: 960px) {
  nav ul {
    display: none;
  }

  nav .menu-list ul {
    display: block;
  }

  nav .tablet-sp-menu {
    align-items: center;
    display: flex;
    margin-right: 16px;
  }

  header {
    height: 50px;
  }
}

@media screen and (max-width: 768px) {
  .bbq-space-flex img {
    padding-right: 16px;
}

  .bbq-text-title {
    font-size: 20px;
    font-weight: bold;
  }
  #around_laguna .section-flex {
    display: block;
  }
  #facility .section-flex .facility-item:first-child {
    padding-right: 16px;
  }
  #facility .section-flex .facility-item:last-child {
    padding-left: 16px;
  }
  .section-flex .around-item:first-child {
    margin-right: 0;
  }
  .section-flex .around-item:last-child {
    margin-left: 0;
  }
  .tablet-sp-menu .contact {
    margin: 0 16px;
    height: auto;
    color: #fff;
  }
  .menu-trigger i,.menu-trigger span {
    color: #fff;
  }
}

@media screen and (max-width: 768px) {
  #around_laguna .section-flex {
    display: block;
  }
  .key-visual-style h1 {
    font-size: 60px;
    top: calc(50% - 70px);
    letter-spacing: 8px;
    line-height: inherit;
  }
  .key-visual-style h1 img {
    width: 50px;
  }
  .key-visual-style h1 span {
    margin-top: 10px;
  }
  .section-flex {
    display: block;
  }
  header .logo-wrap a img {
    width: 15px;
  }
  .section-text-block {
    float: inherit;
  }

  #carousel_aboutLaguna.flexslider .slides > li,
  #carousel_roomSpace.flexslider .slides > li,
  #carousel_forFamily.flexslider .slides > li {
    width: 80px!important;
  }

  h2 {
    font-size: 32px;
    letter-spacing: 4px;
  }

  .section-text-block {
    padding: 16px 0;
    margin-bottom: 24px;
  }

  .section-between-layout {
    padding: 32px 16px;
  }

  .section-title-caption {
    font-size: 14px;
    letter-spacing: 2px;
  }

  .section-header-line {
    top: 68px;
    width: 100%;
  }

  .section-title-line {
    top: 0;
    left: 10px;
    width: 40px;
    height: 100px;
  }

  #for_family h2 {
    font-size: 24px;
  }

  #for_family .section-header-line {
    top: 94px;
  }

  .section-description-sp {
    display: block;
    margin-top: 24px;
  }

  .hidden-sp {
    display: none;
  }

  body .section-between-layout .flexslider {
    margin-bottom: 8px;
  }

  .flex-caption {
    font-size: 12px;
    margin-top: 4px;
  }

  .section-center-layout {
    padding: 24px 16px;
  }

  #facility .section-flex .facility-item {
    padding-left: 0!important;
    padding-right: 0!important;
  }

  .section-center-layout .section-title {
    padding: 24px 0;
  }

  .section-center-layout .section-title-line {
    height: 70px;
    left: 40px;
    top: 44px;
  }

  .section-description p {
    text-align: left;
    font-weight: inherit;
  }

  h4 {
    font-size: 18px;
  }

  p {
    font-size: 15px;
    margin-top: 8px;
    line-height: 160%;
  }

  h3.sub_heading {
    font-size: 18px;
    border-bottom: 1px solid #422b1c;
    padding-bottom: 4px;
    margin-bottom: 8px;
    margin-top: 0px;
  }

  .amenity-item {
    width: 100%;
    margin-bottom: 8px;
  }

  .price-section-wrap {
    margin: 24px auto;
  }

  .price-card-wrap {
    margin-bottom: 24px;
    max-width: 100%;
  }

  .price-description li {
    font-size: 12px;
    padding-bottom: 8px;
  }

  .contact-btn-item {
    width: auto;
  }

  .contact-btn {
    padding: 24px;
    font-size: 16px;
  }

  .contact-btn-item span {
    padding-top: 4px;
    font-size: 14px;
  }

  .contact-btn-item {
    margin-bottom: 24px;
  }

  .section-description p {
    padding: 8px 0 0;
  }

  #rules .section-center-layout {
    padding: 24px 16px;
  }

  footer {
    background-color: #422b1c;
    padding: 40px 16px;
  }

  .around-item h4 {
    font-size: 15px;
  }

  #access .section-description p {
    margin-top: 40px;
  }

  .tablet-sp-menu .menu-trigger span {
    top: -5px;
  }

  header .logo-wrap a p {
    letter-spacing: 3px;
    font-size: 20px;
  }

  form#mail_form input#form_submit_button {
    width: 100%;
  }

  .point-name {
    max-width: 130px;
  }

  .point-route {
    margin-left: 15px;
  }

  .around-item {
    margin: 32px 0 64px;
  }

  .sp-phrase {
    display: block;
  }

  .section-text-block {
    max-width: initial;
  }

  form#mail_form input#name_1, form#mail_form input#name_2, form#mail_form input#read_1, form#mail_form input#read_2, form#mail_form input#postal, form#mail_form input#phone, form#mail_form input#schedule,form#mail_form input#mail_address, form#mail_form input#mail_address_confirm {
    width: 80%!important;
  }

  body form#mail_form textarea {
    width: 100%;
    max-width: 100%;
  }
}


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

  .bbq-space-flex {
    padding: 16px;
    margin: 32px 0 24px;
  }

  #rules {
    padding: 24px 0;
  }
  .facebook-text {
    width: 90%;
  }
  .instagram-text {
    width: 100%;
    top: -1px;
  }
}
