@charset "UTF-8";
/* -----------------------------------------------------
	variables
----------------------------------------------------- */
/* -----------------------------------------------------
	detail-ttl
----------------------------------------------------- */
#detail-ttl {
  padding: 70px 50px;
  background-image: url("../img/taberu/detail-ttl_bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  #detail-ttl {
    background-image: url("../img/taberu/detail-ttl_bg_sp.jpg");
    padding: 7.8125vw 0;
  }
}
#detail-ttl h2 {
  text-align: center;
}
@media screen and (max-width: 768px) {
  #detail-ttl h2 {
    width: 80%;
    margin-inline: auto;
  }
}

/* -----------------------------------------------------
	lead_text
----------------------------------------------------- */
#lead_text {
  padding: 80px 50px 0 50px;
}
@media screen and (max-width: 768px) {
  #lead_text {
    padding: 10.4166666667vw 6.5104166667vw 0 6.5104166667vw;
  }
}
#lead_text .inner p {
  font-size: 2rem;
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #lead_text .inner p {
    font-size: 1.8rem;
  }
}

/* -----------------------------------------------------
	section
----------------------------------------------------- */
section .inner h3 {
  position: relative;
  font-size: 3.6rem;
  font-weight: 700;
  margin: 0 0 60px 0;
  text-align: center;
  color: #313131;
}
@media screen and (max-width: 768px) {
  section .inner h3 {
    margin: 0 0 7.8125vw 0;
    font-size: 3rem;
  }
}
section .inner h3 small {
  display: block;
  font-size: 60%;
}
section .inner h3 span {
  display: inline-block;
  padding: 0 0.5em 0.5em 0.5em;
  border-bottom: solid 1px;
}
@media screen and (max-width: 768px) {
  section .inner h3 span {
    padding: 0 0 0.5em 0;
  }
}
section .inner h3:nth-of-type(n+2) {
  margin: 120px 0 60px 0;
}
@media screen and (max-width: 768px) {
  section .inner h3:nth-of-type(n+2) {
    margin: 15.625vw 0 7.8125vw 0;
  }
}
section .inner h4 {
  font-size: 2.6rem;
  font-weight: 700;
  margin-bottom: 40px;
  text-align: center;
  color: #313131;
}
@media screen and (max-width: 768px) {
  section .inner h4 {
    font-size: 2rem;
    margin-bottom: 5.2083333333vw;
  }
}
section .inner p {
  line-height: 2;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  section .inner p {
    font-size: 1.6rem;
  }
}
section .inner p:not(:last-child) {
  margin-bottom: 0.5em;
}
section .inner p a {
  text-decoration: underline;
}
section .inner .reels {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
section .inner .reels:not(:last-child) {
  margin-bottom: 1em;
}
section .inner .reels > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 49%;
  margin-left: 2%;
}
@media screen and (max-width: 768px) {
  section .inner .reels > div {
    width: 100%;
    margin-left: 0;
    margin-top: 3.90625vw;
  }
}
section .inner .reels > div:nth-of-type(2n+1) {
  margin-left: 0;
}
@media screen and (max-width: 768px) {
  section .inner .reels > div:nth-of-type(2n+1) {
    margin-top: 0;
  }
}
section .inner .links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: 40px 0 0 0;
}
@media screen and (max-width: 768px) {
  section .inner .links {
    margin: 5.2083333333vw 0 0 0;
  }
}
section .inner .links a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 40.9090909091%;
  height: 90px;
  position: relative;
  background-color: #171e27;
  color: #fff;
  text-align: center;
  padding: 0 50px;
  margin-left: 1.3636363636%;
  margin-right: 1.3636363636%;
  font-size: 16px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  section .inner .links a {
    width: 84.6354166667vw;
    height: 19.53125vw;
    font-size: 3.6458333333vw;
    padding: 0 8.4635416667vw;
    margin-left: 0;
    margin-right: 0;
    margin-top: 2.6041666667vw;
  }
}
section .inner .links a.pdf:after {
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  background-image: url("../img/i-pdf.svg");
  background-repeat: no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  section .inner .links a.pdf:after {
    width: 3.90625vw;
    height: 3.90625vw;
    right: 3.90625vw;
  }
}
section .inner .links a small {
  display: block;
  font-size: 80%;
}
@media screen and (max-width: 768px) {
  section .inner .links a:first-of-type {
    margin-top: 0;
  }
}
section .inner .pic-clm1 {
  text-align: center;
}
section .inner .pic-clm1 > div {
  display: inline-block;
  width: 68.1818181818%;
}
@media screen and (max-width: 768px) {
  section .inner .pic-clm1 > div {
    width: 100%;
  }
}
section .inner .pic-clm1:not(:last-child) {
  margin-bottom: 1em;
}
section .inner .pic-clm2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
section .inner .pic-clm2 > div {
  text-align: center;
  width: 49.0909090909%;
  margin-left: 1.8181818182%;
}
@media screen and (max-width: 768px) {
  section .inner .pic-clm2 > div {
    width: 100%;
    margin-left: 0;
  }
}
@media screen and (min-width: 769px) {
  section .inner .pic-clm2 > div:nth-of-type(odd) {
    margin-left: 0;
  }
}
@media screen and (max-width: 768px) {
  section .inner .pic-clm2 > div:nth-of-type(n+2) {
    margin-top: 3.90625vw;
  }
}
@media screen and (min-width: 769px) {
  section .inner .pic-clm2 > div:nth-of-type(n+3) {
    margin-top: 1.8181818182%;
  }
}
section .inner .pic-clm2:not(:last-child) {
  margin-bottom: 1em;
}
section .inner .pic-clm2.vertical {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
section .inner .pic-clm2.vertical > div {
  width: 34.0909090909%;
}
@media screen and (max-width: 768px) {
  section .inner .pic-clm2.vertical > div {
    width: 48%;
  }
}
@media screen and (max-width: 768px) {
  section .inner .pic-clm2.vertical > div:nth-of-type(even) {
    margin-left: 4%;
  }
}
@media screen and (max-width: 768px) {
  section .inner .pic-clm2.vertical > div:nth-of-type(n+2) {
    margin-top: inherit;
  }
}
@media screen and (max-width: 768px) {
  section .inner .pic-clm2.vertical > div:nth-of-type(n+3) {
    margin-top: 4%;
  }
}
section .inner .pic-clm2.vertical > div video {
  max-width: 100%;
}
section .inner .pic-clm3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
section .inner .pic-clm3 > div {
  text-align: center;
  width: 32.1212121212%;
  margin-left: 1.8181818182%;
}
@media screen and (max-width: 768px) {
  section .inner .pic-clm3 > div {
    width: 100%;
    margin-left: 0;
  }
}
@media screen and (min-width: 769px) {
  section .inner .pic-clm3 > div:nth-of-type(3n+1) {
    margin-left: 0;
  }
}
@media screen and (max-width: 768px) {
  section .inner .pic-clm3 > div:nth-of-type(n+2) {
    margin-top: 3.90625vw;
  }
}
@media screen and (min-width: 769px) {
  section .inner .pic-clm3 > div:nth-of-type(n+4) {
    margin-top: 1.8181818182%;
  }
}
section .inner .pic-clm3:not(:last-child) {
  margin-bottom: 1em;
}
section.bg {
  background-size: cover;
  background-image: url("../img/tanoshimu/bg.jpg");
}
@media screen and (max-width: 768px) {
  section.bg {
    background-image: url("../img/tanoshimu/bg_sp.jpg");
  }
}
section.bg .inner h3 {
  color: #e8e5dd;
}
section.bg .inner p {
  color: #e8e5dd;
}

#instagram {
  background-color: #1d4b62;
}
#instagram .inner h2 {
  font-size: 3.6rem;
  font-weight: 700;
  text-align: center;
  color: #fff;
  margin: 0 0 60px;
}
@media screen and (max-width: 768px) {
  #instagram .inner h2 {
    font-size: 3rem;
    margin: 0 0 7.8125vw;
  }
}
#instagram .inner .box_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#instagram .inner .box_wrap .box {
  width: 23.6363636364%;
  margin-left: 1.8181818182%;
}
@media screen and (max-width: 768px) {
  #instagram .inner .box_wrap .box {
    width: 47%;
    margin-left: 3%;
  }
}
@media screen and (max-width: 768px) {
  #instagram .inner .box_wrap .box:nth-of-type(2n+1) {
    margin-left: 0;
  }
}
@media screen and (min-width: 769px) {
  #instagram .inner .box_wrap .box:nth-of-type(4n+1) {
    margin-left: 0;
  }
}
@media screen and (max-width: 768px) {
  #instagram .inner .box_wrap .box:nth-of-type(n+3) {
    margin-top: 3%;
  }
}
@media screen and (min-width: 769px) {
  #instagram .inner .box_wrap .box:nth-of-type(n+5) {
    margin-top: 1.8181818182%;
  }
}

#contents .inner h3 {
  text-align: center;
  margin: 30px 0 24px 0;
}
@media screen and (max-width: 768px) {
  #contents .inner h3 {
    margin: 3.90625vw 0 3.125vw 0;
  }
}
#contents .inner h3 span {
  display: inline-block;
  font-size: 3.6rem;
  font-weight: 700;
  padding: 0 0.5em 0.5em 0.5em;
  border-bottom: solid 1px;
}
@media screen and (max-width: 768px) {
  #contents .inner h3 span {
    font-size: 3rem;
  }
}
#contents .inner h3:nth-of-type(n+2) {
  margin: 120px 0 60px 0;
}
@media screen and (max-width: 768px) {
  #contents .inner h3:nth-of-type(n+2) {
    margin: 19.53125vw 0 7.8125vw 0;
  }
}
#contents .inner h4 {
  font-size: 2.6rem;
  font-weight: 500;
  margin: 0 0 40px 0;
  color: #313131;
}
@media screen and (max-width: 768px) {
  #contents .inner h4 {
    font-size: 2.6rem;
    margin: 0 0 5.2083333333vw 0;
  }
}
#contents .inner p {
  line-height: 2;
}
#contents .inner p.lead {
  text-align: center;
  font-size: 2rem;
  margin: 0 0 120px 0;
}
@media screen and (max-width: 768px) {
  #contents .inner p.lead {
    font-size: 1.8rem;
    margin: 0 0 15.625vw 0;
  }
}
#contents .inner p.lead small {
  font-size: 80%;
  display: block;
}
#contents .inner .box_type_01 .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#contents .inner .box_type_01 .box picture {
  max-width: 756px;
}
@media screen and (max-width: 768px) {
  #contents .inner .box_type_01 .box picture {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #contents .inner .box_type_01 .box picture:nth-of-type(n+2) {
    margin-top: 3.90625vw;
  }
}
#contents .inner .box_type_01 .box .text {
  width: 100%;
  margin: 50px 0 0 0;
}
@media screen and (max-width: 768px) {
  #contents .inner .box_type_01 .box .text {
    margin: 7.8125vw 0 0 0;
  }
}
#contents .inner .box_type_02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#contents .inner .box_type_02 .box {
  width: 49.0909090909%;
  margin-left: 1.8181818182%;
}
@media screen and (max-width: 768px) {
  #contents .inner .box_type_02 .box {
    width: 100%;
    margin-left: 0;
  }
}
@media screen and (min-width: 769px) {
  #contents .inner .box_type_02 .box:nth-of-type(odd) {
    margin-left: 0;
  }
}
@media screen and (max-width: 768px) {
  #contents .inner .box_type_02 .box:nth-of-type(n+2) {
    margin-top: 7.8125vw;
  }
}
@media screen and (min-width: 769px) {
  #contents .inner .box_type_02 .box:nth-of-type(n+3) {
    margin-top: 60px;
  }
}
#contents .inner .box_type_02 .box h4 {
  text-align: center;
  margin: 0 0 30px 0;
}
@media screen and (max-width: 768px) {
  #contents .inner .box_type_02 .box h4 {
    margin: 0 0 3.90625vw 0;
  }
}
#contents .inner .box_type_02 .box p {
  margin: 30px 25px 0 25px;
}
@media screen and (max-width: 768px) {
  #contents .inner .box_type_02 .box p {
    margin: 3.90625vw 3.2552083333vw 0 3.2552083333vw;
  }
}
#contents .inner .box_type_03 .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#contents .inner .box_type_03 .box picture {
  width: 49.0909090909%;
}
@media screen and (max-width: 768px) {
  #contents .inner .box_type_03 .box picture {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #contents .inner .box_type_03 .box picture:nth-of-type(n+2) {
    margin-top: 3.90625vw;
  }
}
#contents .inner .box_type_03 .box .text {
  width: 100%;
  margin: 50px 0 0 0;
}
@media screen and (max-width: 768px) {
  #contents .inner .box_type_03 .box .text {
    margin: 7.8125vw 0 0 0;
  }
}
#contents .inner .box_type_04 .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#contents .inner .box_type_04 .box picture {
  width: 32.1212121212%;
}
@media screen and (max-width: 768px) {
  #contents .inner .box_type_04 .box picture {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #contents .inner .box_type_04 .box picture:nth-of-type(n+2) {
    margin-top: 3.90625vw;
  }
}
#contents .inner .box_type_04 .box .text {
  width: 100%;
  margin: 50px 0 0 0;
}
@media screen and (max-width: 768px) {
  #contents .inner .box_type_04 .box .text {
    margin: 7.8125vw 0 0 0;
  }
}
#contents .inner .box_type_05 {
  background-color: #FFFFFF;
  padding: 35px 10% 60px 10%;
}
@media screen and (max-width: 768px) {
  #contents .inner .box_type_05 {
    padding: 6.5104166667vw;
  }
}
#contents .inner .box_type_05 h4 {
  text-align: center;
  border-bottom: solid 1px #dcd8cd;
  padding: 0 0 36px 0;
}
@media screen and (max-width: 768px) {
  #contents .inner .box_type_05 h4 {
    padding: 0 0 6.5104166667vw 0;
  }
}
#contents .inner .box_type_05 p:nth-of-type(n+2) {
  margin-top: 2em;
}
#contents .inner .box_type_05 p.notes {
  padding-left: 1em;
  text-indent: -1em;
  margin-top: 0;
}
#contents .inner .box_type_05 p.notes:before {
  content: "※";
}
#contents .inner .box_type_05 p a {
  text-decoration: underline;
}
#contents .inner .box_type_05 p a.link {
  text-decoration: none;
}
#contents .inner .box_type_05 span.notes {
  display: block;
  padding-left: 1em;
  text-indent: -1em;
  margin-top: 0;
}
#contents .inner .box_type_05 span.notes:before {
  content: "※";
}
#contents .inner .hours {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#contents .inner .hours img {
  padding-right: 0.5em;
}
#contents.eat {
  padding-block: 10rem;
}
@media screen and (max-width: 768px) {
  #contents.eat {
    padding-block: 13.0208333333vw;
  }
}
#contents.eat .eat_box:not(:last-child) {
  margin-bottom: 10rem;
}
@media screen and (max-width: 768px) {
  #contents.eat .eat_box:not(:last-child) {
    margin-bottom: 13.0208333333vw;
  }
}
#contents.eat .sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2rem;
}
#contents.eat .sns img {
  width: 50px;
}
@media screen and (max-width: 768px) {
  #contents.eat .sns img {
    width: min(40px, 9.1145833333vw);
    gap: 2.6041666667vw;
  }
}

#instagram.instagram-c .inner .box_wrap {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/* -----------------------------------------------------
	common
----------------------------------------------------- */
.text-l {
  text-align: left;
}

.text-c {
  text-align: center;
}

.text-r {
  text-align: right;
}

.mt-10 {
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .mt-10 {
    margin-top: 1.3020833333vw;
  }
}

.mt-20 {
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .mt-20 {
    margin-top: 2.6041666667vw;
  }
}

.mt-30 {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .mt-30 {
    margin-top: 3.90625vw;
  }
}

.mt-40 {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .mt-40 {
    margin-top: 5.2083333333vw;
  }
}

.mt-50 {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .mt-50 {
    margin-top: 6.5104166667vw;
  }
}

.mt-60 {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .mt-60 {
    margin-top: 1.3020833333vw;
  }
}

.mt-60 {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .mt-60 {
    margin-top: 7.8125vw;
  }
}

.mt-70 {
  margin-top: 70px;
}
@media screen and (max-width: 768px) {
  .mt-70 {
    margin-top: 9.1145833333vw;
  }
}

.mt-80 {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .mt-80 {
    margin-top: 10.4166666667vw;
  }
}

.mt-90 {
  margin-top: 90px;
}
@media screen and (max-width: 768px) {
  .mt-90 {
    margin-top: 11.71875vw;
  }
}

.mt-100 {
  margin-top: 100px;
}
@media screen and (max-width: 768px) {
  .mt-100 {
    margin-top: 13.0208333333vw;
  }
}

.mt-120 {
  margin-top: 120px;
}
@media screen and (max-width: 768px) {
  .mt-120 {
    margin-top: 15.625vw;
  }
}