/*========================

// id #title

===========================*/

@media screen and (min-width: 1921px) {
  #title {
    background: url(../img/top/bg_title_4.jpg) no-repeat top center;
    background-size: contain;
  }
}

@media screen and (max-width: 1920px) {
  #title {
    background: url(../img/top/bg_title_4.jpg) no-repeat top center;
  }
}

#title .bg_title_1 {
  width: 100%;
  max-width: 1700px;
  margin: auto;
  background: url(../img/top/bg_title_inst.png) no-repeat top center;
  text-align: center;
}

@media screen and (max-width: 1280px) {
  #title .bg_title_1 {
    background: url(../img/top/bg_title_inst_1280.png) no-repeat top center;
    background-size: contain;
  }
}

#title .inner {
  max-width: 1260px;
  margin: auto auto 15px;
  /* padding-top: 80px; */
  padding-top: 60px;
  padding-bottom: 15px;
  position: relative;
}

h1 {
  color: #999;
  /* font-size: 4.0rem; */
}

#h1_pc {
  /* width: 72%;
    max-width: 907px; */
  width: 90%;
  max-width: 687px;
  display: block;
  margin: auto auto auto;
}

#h1_mob {
  display: none;
}

#title p.hidetxt {
  margin: 0;
}

#title .leadtxt {
  font-size: 18px;
  margin-bottom: 15px;
  margin-left: 15px;
  line-height: 2;
}

#title .anniv_logo {
  width: 210px;
  height: auto;
  margin: auto auto 30px;
}

#title .leadtxt br.size640,
#title .leadtxt br.size320 {
  display: none;
}

#title .inner .to-sr-top {
  top: 0;
  left: 0;
  position: absolute;
  z-index: 200;
}

.to-sr-top a {
  font-size: 1.3rem;
  color: #fff;
  text-align: center;
  padding: 0.3em 2em 0.25em;
  /*    background: #9b090d;*/
  background: #c8373c;
  display: block;
}

.tax {
  font-size: 1.3rem;
  text-align: right;
  margin-bottom: 0;
  margin-right: 2.5%;
}

/* @media screen and (max-width: 1360px) {

    #title .inner {
        padding-top: 180px;
    }


    #title .bg_title_1 {
        background: url(../img/top/mv.png) no-repeat top right;
        background-size: 75%;
    }
} */

@media screen and (max-width: 1024px) {
  #title .leadtxt {
    width: 100%;
    max-width: 100%;
    margin-bottom: 45px;
  }
}

@media print, screen and (max-width: 768px) {
  #title .anniv_logo {
    display: none;
  }

  #title .inner {
    padding-top: 0;
  }

  #title .inner .to-sr-top {
    top: 0;
    top: 20px;
    left: auto;
    right: 0;
    position: absolute;
    z-index: 200;
  }

  #title .inner .to-sr-top a {
    padding-left: 10px;
    padding-right: 10px;
  }

  #title .bg_title_1 {
    width: 100%;
    background: none;
  }

  #h1_pc {
    display: none;
  }

  #h1_mob {
    display: block;
    margin-top: -20px;
    /* margin-bottom: 30px; */
    margin-bottom: 0;
  }

  #title {
    background: url(../img/top/bg_title_768.jpg) no-repeat top center;
    background-size: contain;
  }

  #title .inner {
    padding: 0;
  }

  .to-sr-top a {
    font-size: 1.1rem;
    padding: 0.5em 0.5em;
  }

  /* 
  #title h1 {
    width: 98%;
    margin: auto auto 0;
  } */

  #title .leadtxt {
    width: 85% !important;
    font-size: 1.5rem;
    font-weight: normal;
    text-align: center;
    margin: auto auto;
    padding: 0;
    line-height: 1.6;
    text-align: center;

    /*        background: rgba(255, 255, 255, 0.8);*/
  }
}

@media print, screen and (max-width: 640px) {
  #title .leadtxt br.size640 {
    display: block;
  }
}

@media screen and (max-width: 320px) {
  #title .leadtxt {
    font-size: 1.3rem;
  }

  #title .leadtxt br.size640 {
    display: none;
  }

  #title .leadtxt br.size320 {
    display: block;
  }
}

/*========================
 // id #reservation
===========================*/

/*
#reservation {
    width: 80%;
    max-width: 860px;
    min-height: 470px;
    margin: auto;
    margin-bottom: 45px;
    font-size: 1.6rem;
    text-align: center;
    background: url(../img/top/bg_reserve.svg) no-repeat top center;
}
*/

#reservation {
  width: 70%;
  margin: auto;
  margin-bottom: 60px;
  font-size: 1.6rem;
  text-align: center;
  /* background: url(../img/top/bg_reserve.svg) no-repeat top center; */
  /* border: #dbbe96 2px solid; */
}

#reservation .title {
  font-size: 1.8rem;
  font-weight: bold;
  padding-bottom: 0.25em;
  border-bottom: #dbbe96 thin solid;
}

#reservation .deco {
  display: none;
}

#reservation .inside {
  padding: 35px 5% 0;
}

#icon_reserve {
  width: 300px;
  margin: auto auto 15px;
}

#reservation .how h6 {
  margin-bottom: 0.25em;
}


#reservation h4 {
  width: 90%;
  margin: auto auto 0.5em;
  padding-bottom: 0.25em;
  font-family: "Noto Serif JP", serif;
  font-size: 3rem;
  font-weight: normal;
  /* color: #ffad65; */
  color: #ccaf8d;
  border-bottom: #ccaf8d 1px solid;
}

/* #reservation p {
  font-size: 1.5rem;
  margin-bottom: 1em;
} */

/*
#reservation .link_btn a {
    width: 70%;
    margin: auto;
    font-size: 2.0rem;
    padding: .75em 0;
}
*/

#reservation .link {
  margin-bottom: 30px;
}

#reservation .link a {
  width: 60%;
  max-width: 480px;
  /* width: 80%; */
  margin: auto;
  font-size: 2rem;
  /*    padding: .75em 0;*/
  padding: 10px 0;
  position: relative;
  border-radius: 3px;
  /* box-shadow: 0 3px 0 0 #de9e9e; */
}

#reservation .link a::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 5px;
  margin-bottom: 1px;
  background: url(../img/arrow-white.svg) no-repeat 0 0;
  background-size: contain;
  vertical-align: middle;
}

/*
#reservation .link a::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-bottom: 18px solid #de9e9e;
    border-left: 18px solid transparent;
}
*/

@media screen and (max-width: 1024px) {
  #reservation {
    width: 90%;
    max-width: 860px;
    /*        min-height: 470px;*/
  }
}

@media screen and (max-width: 900px) {
  #reservation {
    width: 85%;
    background: #fff;
    padding: 10px;
    border: #d5b78d thin solid;
  }

  #reservation .title {
    padding: 10px 0 10px;
  }

  #reservation .how .tel_link {
    padding-top: 1.5em;
  }

  #reservation .how .tel_link a {
    color: #000;
  }

  #reservation .deco {
    display: block;
  }

  #reservation .inside {
    /* margin-top: -3em;
        margin-bottom: -6em; */
    padding: 0 5% 0;
  }

  #reservation .link a {
    width: auto;
  }
}

@media screen and (max-width: 320px) {
  #reservation p {
    font-size: 1.4rem;
  }
}

/*========================
 // id #title_nav
===========================*/
#title_nav {
  width: 90%;
  margin: auto auto 15px;
  font-family: "Noto Serif JP", serif;
}

#title_nav ul.local_nav {
  margin: auto auto 10px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

#title_nav ul.local_nav li {
  width: 23%;
  font-size: 1.8rem;
  height: 80px;
  margin: 0 1% 15px;
  background: #f6eada;
  position: relative;
}

#title_nav ul.local_nav li a {
  height: 100%;
  display: block;
  color: #5d2a1f;
  text-align: center;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* 
#title_nav .banner.event {
  width: 90%;
  max-width: 500px;
  margin: auto;

} */

/* 
#title_nav ul.local_nav li::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
  border-bottom: 18px solid #ecb869;
  border-left: 18px solid transparent;
} */


/* #title_nav .banner li {
  width: 40%;
  font-size: 1.8rem;
  height: 80px;
  margin: auto;
  background: #f6eada;
  position: relative;
}

#title_nav .banner li a {
  height: 100%;
  display: block;
  color: #5d2a1f;
  text-align: center;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
} */


@media screen and (max-width: 1100px) {
  #title_nav {
    margin: auto auto 30px;
  }
}

@media screen and (max-width: 900px) {
  #title_nav {
    width: 98%;
    margin: auto;
  }
}

@media screen and (min-width: 769px) {
  #title_nav ul.local_nav.first li:first-child em {
    margin: 0;
  }
}

@media screen and (max-width: 768px) {
  #title_nav {
    width: 95%;
    margin: auto;
  }

  #title_nav ul {
    /* width: 92%; */
    width: 98%;
  }

  #title_nav ul.local_nav {
    justify-content: space-between;
  }

  #title_nav ul.local_nav li {
    width: 48%;
    max-width: inherit;
    margin-bottom: 10px;
    font-size: 1.6rem;
  }

  #title_nav ul.local_nav li em {
    padding-top: 10px;
  }

  #title_nav ul.local_nav li:first-child em,
  #title_nav ul.local_nav li:last-child em {
    padding-top: 10px;
  }

  #title_nav ul.local_nav .break_1 {
    display: none;
  }

  #title_nav ul.local_nav.first {
    margin: auto auto 0;
  }

  #title_nav ul.local_nav li a {
    /* height: auto; */
    text-align: center;
    /* padding: .25em 0 1em; */
    position: relative;
    /*        border: #f00 thin solid;*/
  }
}

/*========================
 // class .category_outer
===========================*/

.category_outer .row {
  width: 90%;
  margin: auto auto 15px;
  padding-bottom: 60px;
}

@media print, screen and (max-width: 768px) {
  .category_outer .row {
    width: 95%;
    padding-bottom: 30px;
  }
}

/*========================
 // id #present
===========================*/

/* #present h4 {
    margin: auto auto 1em;
    padding: 20px 0;
    font-family: 'Noto Serif JP', serif;
    color: #fff;
    font-size: 3.0rem;
    font-weight: normal;
    text-align: center;
    color: #5d2a1f;
    background: #f6eada;
} 

#present .row {
    padding-bottom: 5px;
}
*/

#present .br1 {
  display: none;
}

#present .lead {
  text-align: center;
  margin-bottom: 60px;
}

#present .lead span {
  font-family: "Noto Serif JP", serif;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.8;
  display: block;
}

#present .lead small {
  font-size: 1.2rem;
  padding-top: 10px;
  display: block;
}

.list_container {
  width: 85%;
  margin-left: auto;
  margin-right: auto;
}

.present_box {
  margin-bottom: 60px;
}

.present_box .flexbox {
  justify-content: flex-start;
}

.present_box.even .flexbox {
  flex-direction: row-reverse;
}

.present_box h5 {
  width: 200px;
  height: 200px;
}

.present_box .inner_box {
  width: auto;
  margin-left: 20px;
}

.present_box.even .inner_box {
  width: auto;
  margin-right: 20px;
}

.present_box.ten {
  align-items: center;
  background: url(../img/top/present/bg_1.jpg) top right no-repeat;
}

.present_box.fifty {
  align-items: center;
  background: url(../img/top/present/bg_2.jpg) top left no-repeat;
}

.present_box.hundred {
  background: url(../img/top/present/bg_3.jpg) top right no-repeat;
}

.present_box.last {
  background: url(../img/top/present/bg_4.jpg) top left no-repeat;
}

.present_box.hundred .inner_box {
  margin-top: 20px;
}

.present_box.last .inner_box {
  margin-top: 20px;
}

.present_box ul {
  line-height: 1.4;
}

.present_box li {
  font-size: 1.6rem;
  margin-bottom: 15px;
  position: relative;
  margin-left: 20px;
  /* border: #f00 thin solid; */
}

.present_box li::before {
  content: "\25CF";
  margin-right: 8px;
  position: absolute;
  top: 0;
  left: -20px;
}

.present_box li small {
  font-size: 1.3rem;
}

.present_box.ten li::before {
  color: #b77706;
}

.present_box.fifty li::before {
  color: #ad8c5c;
}

.present_box.hundred li::before {
  color: #b77706;
}

.present_box.last li::before {
  color: #ad8c5c;
}

.present_box li span {
  font-size: 1.4rem;
  display: block;
  margin-left: 1.5em;
}

.present_img_mob {
  display: none;
}

@media screen and (max-width: 1080px) {

  .present_box.hundred .flexbox,
  .present_box.last .flexbox {
    margin-bottom: 30px;
  }

  .present_box.ten,
  .present_box.fifty,
  .present_box.hundred,
  .present_box.last {
    background: none;
  }

  .present_box.ten .inner_box {
    margin-top: 20px;
  }

  .present_box.fifty .inner_box {
    margin-top: 20px;
  }

  .present_img_mob {
    width: 50%;
    max-width: 648px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 90px;
    display: block;
  }
}

@media print, screen and (max-width: 1024px) {
  #present .br1 {
    display: block;
  }
}

@media print, screen and (max-width: 768px) {
  #present .lead {
    margin-bottom: 30px;
    font-size: 1.6rem;
  }

  #present .lead span {
    font-size: 1.5rem;
  }

  #present .present_box .flexbox {
    display: block;
  }

  .present_box {
    margin-bottom: 90px;
  }

  .present_box h5 {
    width: 60%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px;
  }

  .present_box .inner_box {
    width: auto;
    margin: 0;
  }

  .present_img_mob {
    width: 90%;
    max-width: initial;
    margin: auto;
  }
}